axis2c-src-1.6.0/0000777000175000017500000000000011172017606014641 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/0000777000175000017500000000000011172017544015431 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/0000777000175000017500000000000011172017537016363 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/addr/0000777000175000017500000000000011172017536017274 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/addr/svc_name.c0000644000175000017500000000723711166304457021244 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_svc_name { /** service QName */ axutil_qname_t *qname; /** service endpoint name */ axis2_char_t *endpoint_name; }; axis2_svc_name_t *AXIS2_CALL axis2_svc_name_create( const axutil_env_t * env, const axutil_qname_t * qname, const axis2_char_t * endpoint_name) { axis2_svc_name_t *svc_name = NULL; svc_name = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_name_t)); if (!svc_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } svc_name->qname = NULL; svc_name->endpoint_name = NULL; if (qname) { svc_name->qname = axutil_qname_clone((axutil_qname_t *) qname, env); if (!(svc_name->qname)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_svc_name_free(svc_name, env); return NULL; } } if (endpoint_name) { svc_name->endpoint_name = axutil_strdup(env, endpoint_name); if (!(svc_name->endpoint_name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_svc_name_free(svc_name, env); return NULL; } } return svc_name; } const axutil_qname_t *AXIS2_CALL axis2_svc_name_get_qname( const axis2_svc_name_t * svc_name, const axutil_env_t * env) { return svc_name->qname; } axis2_status_t AXIS2_CALL axis2_svc_name_set_qname( struct axis2_svc_name * svc_name, const axutil_env_t * env, const axutil_qname_t * qname) { if (svc_name->qname) { axutil_qname_free(svc_name->qname, env); } if (qname) { svc_name->qname = axutil_qname_clone((axutil_qname_t *) qname, env); if (!(svc_name->qname)) return AXIS2_FAILURE; } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_svc_name_get_endpoint_name( const axis2_svc_name_t * svc_name, const axutil_env_t * env) { return svc_name->endpoint_name; } axis2_status_t AXIS2_CALL axis2_svc_name_set_endpoint_name( struct axis2_svc_name * svc_name, const axutil_env_t * env, const axis2_char_t * endpoint_name) { if (svc_name->endpoint_name) { AXIS2_FREE(env->allocator, svc_name->endpoint_name); } if (endpoint_name) { svc_name->endpoint_name = axutil_strdup(env, endpoint_name); if (!(svc_name->endpoint_name)) return AXIS2_FAILURE; } return AXIS2_SUCCESS; } void AXIS2_CALL axis2_svc_name_free( struct axis2_svc_name *svc_name, const axutil_env_t * env) { if (svc_name->qname) { axutil_qname_free(svc_name->qname, env); } if (svc_name->endpoint_name) { AXIS2_FREE(env->allocator, svc_name->endpoint_name); } AXIS2_FREE(env->allocator, svc_name); return; } axis2c-src-1.6.0/src/core/addr/endpoint_ref.c0000644000175000017500000002354311166304457022123 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_endpoint_ref { /** endpoint address */ axis2_char_t *address; /** interface qname */ axutil_qname_t *interface_qname; /** reference parameters */ axutil_array_list_t *ref_param_list; /** meta data */ axutil_array_list_t *metadata_list; /** reference parameter attribute list */ axutil_array_list_t *ref_attribute_list; /** meta data attribute list */ axutil_array_list_t *meta_attribute_list; /** extensible element list */ axutil_array_list_t *extension_list; /** service name */ axis2_svc_name_t *svc_name; }; axis2_endpoint_ref_t *AXIS2_CALL axis2_endpoint_ref_create( const axutil_env_t * env, const axis2_char_t * address) { axis2_endpoint_ref_t *endpoint_ref = NULL; AXIS2_ENV_CHECK(env, NULL); endpoint_ref = AXIS2_MALLOC(env->allocator, sizeof(axis2_endpoint_ref_t)); if (!endpoint_ref) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } endpoint_ref->address = NULL; endpoint_ref->interface_qname = NULL; endpoint_ref->ref_param_list = NULL; endpoint_ref->metadata_list = NULL; endpoint_ref->ref_attribute_list = NULL; endpoint_ref->meta_attribute_list = NULL; endpoint_ref->extension_list = NULL; endpoint_ref->svc_name = NULL; if (address) { endpoint_ref->address = axutil_strdup(env, address); if (!(endpoint_ref->address)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_endpoint_ref_free(endpoint_ref, env); return NULL; } } return endpoint_ref; } const axis2_char_t *AXIS2_CALL axis2_endpoint_ref_get_address( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->address; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_set_address( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, const axis2_char_t * address) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (endpoint_ref->address) { AXIS2_FREE(env->allocator, endpoint_ref->address); } endpoint_ref->address = axutil_strdup(env, address); return AXIS2_SUCCESS; } const axutil_qname_t *AXIS2_CALL axis2_endpoint_ref_get_interface_qname( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->interface_qname; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_set_interface_qname( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, const axutil_qname_t * interface_qname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); endpoint_ref->interface_qname = axutil_qname_clone((axutil_qname_t *) interface_qname, env); return AXIS2_SUCCESS; } axis2_svc_name_t *AXIS2_CALL axis2_endpoint_ref_get_svc_name( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->svc_name; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_set_svc_name( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axis2_svc_name_t * svc_name) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); endpoint_ref->svc_name = svc_name; return AXIS2_SUCCESS; } void AXIS2_CALL axis2_endpoint_ref_free_void_arg( void *endpoint_ref, const axutil_env_t * env) { axis2_endpoint_ref_t *endpoint_ref_l = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); endpoint_ref_l = (axis2_endpoint_ref_t *) endpoint_ref; axis2_endpoint_ref_free(endpoint_ref_l, env); return; } void AXIS2_CALL axis2_endpoint_ref_free( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (endpoint_ref->address) { AXIS2_FREE(env->allocator, endpoint_ref->address); } if (endpoint_ref->ref_param_list) { axutil_array_list_free(endpoint_ref->ref_param_list, env); } if (endpoint_ref->metadata_list) { axutil_array_list_free(endpoint_ref->metadata_list, env); } if (endpoint_ref->ref_attribute_list) { axutil_array_list_free(endpoint_ref->ref_attribute_list, env); } if (endpoint_ref->meta_attribute_list) { axutil_array_list_free(endpoint_ref->meta_attribute_list, env); } if (endpoint_ref->extension_list) { axutil_array_list_free(endpoint_ref->extension_list, env); } AXIS2_FREE(env->allocator, endpoint_ref); return; } axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_ref_param_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->ref_param_list; } axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_metadata_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->metadata_list; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_ref_param( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_node_t * ref_param_node) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(endpoint_ref->ref_param_list)) { endpoint_ref->ref_param_list = axutil_array_list_create(env, 0); if (!(endpoint_ref->ref_param_list)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } if (endpoint_ref->ref_param_list && ref_param_node) { return axutil_array_list_add(endpoint_ref->ref_param_list, env, ref_param_node); } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_metadata( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_node_t * meta_data_node) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(endpoint_ref->metadata_list)) { endpoint_ref->metadata_list = axutil_array_list_create(env, 0); if (!(endpoint_ref->metadata_list)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } if (endpoint_ref->metadata_list && meta_data_node) { return axutil_array_list_add(endpoint_ref->metadata_list, env, meta_data_node); } return AXIS2_FAILURE; } axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_ref_attribute_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->ref_attribute_list; } axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_metadata_attribute_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->meta_attribute_list; } axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_extension_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env) { return endpoint_ref->extension_list; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_ref_attribute( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_attribute_t * attr) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(endpoint_ref->ref_attribute_list)) { endpoint_ref->ref_attribute_list = axutil_array_list_create(env, 0); if (!(endpoint_ref->ref_attribute_list)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } if (endpoint_ref->ref_attribute_list && attr) { return axutil_array_list_add(endpoint_ref->ref_attribute_list, env, attr); } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_metadata_attribute( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_attribute_t * attr) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(endpoint_ref->meta_attribute_list)) { endpoint_ref->meta_attribute_list = axutil_array_list_create(env, 0); if (!(endpoint_ref->meta_attribute_list)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } if (endpoint_ref->meta_attribute_list && attr) { return axutil_array_list_add(endpoint_ref->meta_attribute_list, env, attr); } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_extension( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_node_t * extension_node) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(endpoint_ref->extension_list)) { endpoint_ref->extension_list = axutil_array_list_create(env, 0); if (!(endpoint_ref->extension_list)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } if (endpoint_ref->extension_list && extension_node) { return axutil_array_list_add(endpoint_ref->extension_list, env, extension_node); } return AXIS2_FAILURE; } axis2c-src-1.6.0/src/core/addr/relates_to.c0000644000175000017500000001025311166304457021602 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_relates_to { /** value string */ axis2_char_t *value; /** relationship type string */ axis2_char_t *relationship_type; }; axis2_relates_to_t *AXIS2_CALL axis2_relates_to_create( const axutil_env_t * env, const axis2_char_t * value, const axis2_char_t * relationship_type) { axis2_relates_to_t *relates_to = NULL; AXIS2_ENV_CHECK(env, NULL); relates_to = AXIS2_MALLOC(env->allocator, sizeof(axis2_relates_to_t)); if (!relates_to) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } relates_to->value = NULL; relates_to->relationship_type = NULL; if (value) { relates_to->value = axutil_strdup(env, value); if (!(relates_to->value)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_relates_to_free(relates_to, env); return NULL; } } if (relationship_type) { relates_to->relationship_type = axutil_strdup(env, relationship_type); if (!(relates_to->relationship_type)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_relates_to_free(relates_to, env); return NULL; } } return relates_to; } const axis2_char_t *AXIS2_CALL axis2_relates_to_get_value( const axis2_relates_to_t * relates_to, const axutil_env_t * env) { return relates_to->value; } axis2_status_t AXIS2_CALL axis2_relates_to_set_value( struct axis2_relates_to * relates_to, const axutil_env_t * env, const axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (relates_to->value) { AXIS2_FREE(env->allocator, relates_to->value); } if (value) { relates_to->value = (axis2_char_t *) axutil_strdup(env, value); if (!(relates_to->value)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_relates_to_get_relationship_type( const axis2_relates_to_t * relates_to, const axutil_env_t * env) { return relates_to->relationship_type; } axis2_status_t AXIS2_CALL axis2_relates_to_set_relationship_type( struct axis2_relates_to * relates_to, const axutil_env_t * env, const axis2_char_t * relationship_type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (relates_to->relationship_type) { AXIS2_FREE(env->allocator, relates_to->relationship_type); } if (relationship_type) { relates_to->relationship_type = (axis2_char_t *) axutil_strdup(env, relationship_type); if (!(relates_to->relationship_type)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } void AXIS2_CALL axis2_relates_to_free( struct axis2_relates_to *relates_to, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (relates_to->value) { AXIS2_FREE(env->allocator, relates_to->value); } if (relates_to->relationship_type) { AXIS2_FREE(env->allocator, relates_to->relationship_type); } AXIS2_FREE(env->allocator, relates_to); return; } axis2c-src-1.6.0/src/core/addr/any_content_type.c0000644000175000017500000000701711166304457023027 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_any_content_type { /** map of values in the any content type */ axutil_hash_t *value_map; }; AXIS2_EXTERN axis2_any_content_type_t *AXIS2_CALL axis2_any_content_type_create( const axutil_env_t * env) { axis2_any_content_type_t *any_content_type = NULL; AXIS2_ENV_CHECK(env, NULL); any_content_type = AXIS2_MALLOC(env->allocator, sizeof(axis2_any_content_type_t)); if (!any_content_type) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } any_content_type->value_map = NULL; any_content_type->value_map = axutil_hash_make(env); if (!(any_content_type->value_map)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_any_content_type_free(any_content_type, env); return NULL; } return any_content_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_any_content_type_add_value( axis2_any_content_type_t * any_content_type, const axutil_env_t * env, const axutil_qname_t * qname, const axis2_char_t * value) { axis2_char_t *temp = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (any_content_type->value_map) { axis2_char_t *name = NULL; name = axutil_qname_to_string((axutil_qname_t *) qname, env); axutil_hash_set(any_content_type->value_map, name, AXIS2_HASH_KEY_STRING, value); temp = axutil_hash_get(any_content_type->value_map, name, AXIS2_HASH_KEY_STRING); if (temp) return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_any_content_type_get_value( const axis2_any_content_type_t * any_content_type, const axutil_env_t * env, const axutil_qname_t * qname) { if (any_content_type->value_map) { axis2_char_t *name = NULL; name = axutil_qname_to_string((axutil_qname_t *) qname, env); return axutil_hash_get(any_content_type->value_map, name, AXIS2_HASH_KEY_STRING); } return NULL; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_any_content_type_get_value_map( const axis2_any_content_type_t * any_content_type, const axutil_env_t * env) { return any_content_type->value_map; } AXIS2_EXTERN void AXIS2_CALL axis2_any_content_type_free( axis2_any_content_type_t * any_content_type, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (any_content_type->value_map) { axutil_hash_free(any_content_type->value_map, env); } AXIS2_FREE(env->allocator, any_content_type); return; } axis2c-src-1.6.0/src/core/addr/Makefile.am0000644000175000017500000000067211166304457021335 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_addr.la libaxis2_addr_la_SOURCES = relates_to.c \ svc_name.c \ any_content_type.c \ endpoint_ref.c \ msg_info_headers.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/addr/Makefile.in0000644000175000017500000003404511172017203021332 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/addr DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_addr_la_LIBADD = am_libaxis2_addr_la_OBJECTS = relates_to.lo svc_name.lo \ any_content_type.lo endpoint_ref.lo msg_info_headers.lo libaxis2_addr_la_OBJECTS = $(am_libaxis2_addr_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_addr_la_SOURCES) DIST_SOURCES = $(libaxis2_addr_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_addr.la libaxis2_addr_la_SOURCES = relates_to.c \ svc_name.c \ any_content_type.c \ endpoint_ref.c \ msg_info_headers.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/addr/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/addr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_addr.la: $(libaxis2_addr_la_OBJECTS) $(libaxis2_addr_la_DEPENDENCIES) $(LINK) $(libaxis2_addr_la_OBJECTS) $(libaxis2_addr_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/any_content_type.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/endpoint_ref.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_info_headers.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relates_to.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_name.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/addr/msg_info_headers.c0000644000175000017500000003036311166304457022741 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_msg_info_headers { /** The address of the intended receiver of the message. This is mandatory */ axis2_endpoint_ref_t *to; /** Reference of the endpoint where the message originated from */ axis2_endpoint_ref_t *from; /** Pair of values that indicate how this message relate to another message */ axis2_relates_to_t *relates_to; /** Identifies the intended receiver for replies to the message, if this is set, none and anonymous settings are ignored */ axis2_endpoint_ref_t *reply_to; /** reply to should be none */ axis2_bool_t reply_to_none; /** reply to should be anonymous, this is overridden by none*/ axis2_bool_t reply_to_anonymous; /** identifies the intended receiver for faults related to the message if this is set, none and anonymous settings are ignored */ axis2_endpoint_ref_t *fault_to; /** fault to should be none */ axis2_bool_t fault_to_none; /** fault to should be anonymous, this is overridden by none*/ axis2_bool_t fault_to_anonymous; /** action */ axis2_char_t *action; /** message Id */ axis2_char_t *message_id; /** reference parameters */ axutil_array_list_t *ref_params; }; AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL axis2_msg_info_headers_create( const axutil_env_t * env, axis2_endpoint_ref_t * to, const axis2_char_t * action) { axis2_msg_info_headers_t *msg_info_headers = NULL; msg_info_headers = AXIS2_MALLOC(env->allocator, sizeof(axis2_msg_info_headers_t)); if (!msg_info_headers) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } msg_info_headers->to = NULL; msg_info_headers->from = NULL; msg_info_headers->relates_to = NULL; msg_info_headers->reply_to_none = AXIS2_FALSE; msg_info_headers->reply_to_anonymous = AXIS2_FALSE; msg_info_headers->reply_to = NULL; msg_info_headers->fault_to_none = AXIS2_FALSE; msg_info_headers->fault_to_anonymous = AXIS2_FALSE; msg_info_headers->fault_to = NULL; msg_info_headers->action = NULL; msg_info_headers->message_id = NULL; msg_info_headers->ref_params = NULL; if (to) { msg_info_headers->to = to; } if (action) { msg_info_headers->action = axutil_strdup(env, action); if (!(msg_info_headers->action)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_msg_info_headers_free(msg_info_headers, env); return NULL; } } return msg_info_headers; } /** * Method getTo * * @return */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->to; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_to( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * to) { if (msg_info_headers->to && to) /* if the incoming to is NULL, we consider that to be a reset, so don't free */ { axis2_endpoint_ref_free(msg_info_headers->to, env); msg_info_headers->to = NULL; } msg_info_headers->to = to; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_from( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->from; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_from( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * from) { msg_info_headers->from = from; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_reply_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->reply_to; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_reply_to( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * reply_to) { msg_info_headers->reply_to = reply_to; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_fault_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->fault_to; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_fault_to( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * fault_to) { msg_info_headers->fault_to = fault_to; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_info_headers_get_action( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->action; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_action( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_char_t * action) { if (msg_info_headers->action) { AXIS2_FREE(env->allocator, msg_info_headers->action); msg_info_headers->action = NULL; } if (action) { msg_info_headers->action = axutil_strdup(env, action); } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_info_headers_get_message_id( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->message_id; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_message_id( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_char_t * message_id) { if (msg_info_headers->message_id) { AXIS2_FREE(env->allocator, msg_info_headers->message_id); msg_info_headers->message_id = NULL; } if (message_id) { msg_info_headers->message_id = axutil_stracat(env, AXIS2_MESSAGE_ID_PREFIX, message_id); if (!(msg_info_headers->message_id)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_in_message_id( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_char_t * message_id) { if (msg_info_headers->message_id) { AXIS2_FREE(env->allocator, msg_info_headers->message_id); msg_info_headers->message_id = NULL; } if (message_id) { msg_info_headers->message_id = axutil_strdup(env, message_id); if (!(msg_info_headers->message_id)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL axis2_msg_info_headers_get_relates_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->relates_to; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_relates_to( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, axis2_relates_to_t * relates_to) { if (msg_info_headers->relates_to) { axis2_relates_to_free (msg_info_headers->relates_to, env); } msg_info_headers->relates_to = relates_to; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_info_headers_get_all_ref_params( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->ref_params; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_add_ref_param( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, axiom_node_t * ref_param) { if (!(msg_info_headers->ref_params)) { msg_info_headers->ref_params = axutil_array_list_create(env, 10); if (!(msg_info_headers->ref_params)) return AXIS2_FAILURE; } if (ref_param) { return axutil_array_list_add(msg_info_headers->ref_params, env, ref_param); } return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_msg_info_headers_free( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env) { if (msg_info_headers->to) { axis2_endpoint_ref_free(msg_info_headers->to, env); } if (msg_info_headers->from) { axis2_endpoint_ref_free(msg_info_headers->from, env); } if (msg_info_headers->reply_to) { axis2_endpoint_ref_free(msg_info_headers->reply_to, env); } if (msg_info_headers->relates_to) { axis2_relates_to_free(msg_info_headers->relates_to, env); } if (msg_info_headers->fault_to) { axis2_endpoint_ref_free(msg_info_headers->fault_to, env); } if (msg_info_headers->ref_params) { axutil_array_list_free(msg_info_headers->ref_params, env); } if (msg_info_headers->action) { AXIS2_FREE(env->allocator, msg_info_headers->action); } if (msg_info_headers->message_id) { AXIS2_FREE(env->allocator, msg_info_headers->message_id); } AXIS2_FREE(env->allocator, msg_info_headers); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_reply_to_none( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_bool_t none) { msg_info_headers->reply_to_none = none; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_reply_to_none( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->reply_to_none; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_reply_to_anonymous( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_bool_t anonymous) { msg_info_headers->reply_to_anonymous = anonymous; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_reply_to_anonymous( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->reply_to_anonymous; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_fault_to_none( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_bool_t none) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); msg_info_headers->fault_to_none = none; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_fault_to_none( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->fault_to_none; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_fault_to_anonymous( struct axis2_msg_info_headers * msg_info_headers, const axutil_env_t * env, const axis2_bool_t anonymous) { msg_info_headers->fault_to_anonymous = anonymous; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_fault_to_anonymous( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env) { return msg_info_headers->fault_to_anonymous; } axis2c-src-1.6.0/src/core/util/0000777000175000017500000000000011172017537017340 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/util/Makefile.am0000644000175000017500000000046111166304472021371 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_core_utils.la #noinst_HEADERS = axis2_core_utils.h libaxis2_core_utils_la_SOURCES = core_utils.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/util/Makefile.in0000644000175000017500000003313711172017205021400 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_core_utils_la_LIBADD = am_libaxis2_core_utils_la_OBJECTS = core_utils.lo libaxis2_core_utils_la_OBJECTS = $(am_libaxis2_core_utils_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_core_utils_la_SOURCES) DIST_SOURCES = $(libaxis2_core_utils_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_core_utils.la #noinst_HEADERS = axis2_core_utils.h libaxis2_core_utils_la_SOURCES = core_utils.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_core_utils.la: $(libaxis2_core_utils_la_OBJECTS) $(libaxis2_core_utils_la_DEPENDENCIES) $(LINK) $(libaxis2_core_utils_la_OBJECTS) $(libaxis2_core_utils_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/core_utils.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/util/core_utils.c0000644000175000017500000016201511166304472021655 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include /* internal structure to keep the rest map in a multi level hash */ typedef struct { /* the structure will keep as many as following fields */ /* if the mapped value is directly the operation */ axis2_op_t *op_desc; /* if the mapped value is a constant, this keeps a hash map of possible constants => corrosponding map_internal structure */ axutil_hash_t *consts_map; /* if the mapped value is a param, this keeps a hash map of possible param_values => corrosponding_map_internal structre */ axutil_hash_t *params_map; } axutil_core_utils_map_internal_t; /* some functions to use internally in handling rest map */ /* infer op from the live url */ axis2_op_t * axis2_core_utils_infer_op_from_parent_rest_map( const axutil_env_t *env, axutil_hash_t *rest_map, axis2_char_t *live_url, axutil_array_list_t *param_keys, axutil_array_list_t *param_values); /* build the restmap recursively - internal function*/ axis2_status_t AXIS2_CALL axis2_core_utils_internal_build_rest_map_recursively( const axutil_env_t * env, axis2_char_t * url, axutil_core_utils_map_internal_t *mapping_struct, axis2_op_t *op_desc); /* infer op from the live url recursively */ axis2_op_t *AXIS2_CALL axis2_core_utils_internal_infer_op_from_rest_map_recursively( const axutil_env_t *env, const axutil_core_utils_map_internal_t *parent_mapping_struct, axis2_char_t *live_url, axutil_array_list_t *param_keys, axutil_array_list_t *param_values); /* match a pattern with a url component */ axis2_status_t axis2_core_utils_match_url_component_with_pattern(const axutil_env_t *env, axis2_char_t *pattern, axis2_char_t *url_component, axutil_array_list_t *param_keys, axutil_array_list_t *param_values); AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_core_utils_create_out_msg_ctx( const axutil_env_t * env, axis2_msg_ctx_t * in_msg_ctx) { axis2_ctx_t *ctx = NULL; axis2_msg_ctx_t *new_msg_ctx = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_transport_in_desc_t *transport_in = NULL; axis2_transport_out_desc_t *transport_out = NULL; axis2_msg_info_headers_t *old_msg_info_headers = NULL; axis2_msg_info_headers_t *msg_info_headers = NULL; axis2_endpoint_ref_t *reply_to = NULL; axis2_endpoint_ref_t *fault_to = NULL; axis2_endpoint_ref_t *to = NULL; const axis2_char_t *msg_id = NULL; axis2_relates_to_t *relates_to = NULL; const axis2_char_t *action = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_bool_t doing_rest = AXIS2_FALSE; axis2_bool_t doing_mtom = AXIS2_FALSE; axis2_bool_t server_side = AXIS2_FALSE; axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; axis2_char_t *msg_uuid = NULL; axutil_stream_t *out_stream = NULL; axutil_param_t *expose_headers_param = NULL; axis2_bool_t expose_headers = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, in_msg_ctx, NULL); conf_ctx = axis2_msg_ctx_get_conf_ctx(in_msg_ctx, env); transport_in = axis2_msg_ctx_get_transport_in_desc(in_msg_ctx, env); transport_out = axis2_msg_ctx_get_transport_out_desc(in_msg_ctx, env); new_msg_ctx = axis2_msg_ctx_create(env, conf_ctx, transport_in, transport_out); if (!new_msg_ctx) { return NULL; } if (transport_in) { expose_headers_param = axutil_param_container_get_param( axis2_transport_in_desc_param_container(transport_in, env), env, AXIS2_EXPOSE_HEADERS); } if (expose_headers_param) { axis2_char_t *expose_headers_value = NULL; expose_headers_value = axutil_param_get_value(expose_headers_param, env); if (expose_headers_value && 0 == axutil_strcasecmp (expose_headers_value, AXIS2_VALUE_TRUE)) { expose_headers = AXIS2_TRUE; } } if (expose_headers) { axis2_msg_ctx_set_transport_headers(new_msg_ctx, env, axis2_msg_ctx_extract_transport_headers(in_msg_ctx, env)); } axis2_msg_ctx_set_http_accept_record_list(new_msg_ctx, env, axis2_msg_ctx_extract_http_accept_record_list(in_msg_ctx, env)); axis2_msg_ctx_set_http_accept_charset_record_list(new_msg_ctx, env, axis2_msg_ctx_extract_http_accept_charset_record_list(in_msg_ctx, env)); axis2_msg_ctx_set_http_accept_language_record_list(new_msg_ctx, env, axis2_msg_ctx_extract_http_accept_language_record_list(in_msg_ctx, env)); old_msg_info_headers = axis2_msg_ctx_get_msg_info_headers(in_msg_ctx, env); if (!old_msg_info_headers) { return NULL; } msg_info_headers = axis2_msg_ctx_get_msg_info_headers(new_msg_ctx, env); if (!msg_info_headers) { /* if there is no msg info header in ew msg ctx, then create one */ msg_info_headers = axis2_msg_info_headers_create(env, NULL, NULL); if (!msg_info_headers) return NULL; axis2_msg_ctx_set_msg_info_headers(new_msg_ctx, env, msg_info_headers); } msg_uuid = axutil_uuid_gen(env); axis2_msg_info_headers_set_message_id(msg_info_headers, env, msg_uuid); if (msg_uuid) { AXIS2_FREE(env->allocator, msg_uuid); msg_uuid = NULL; } reply_to = axis2_msg_info_headers_get_reply_to(old_msg_info_headers, env); axis2_msg_info_headers_set_to(msg_info_headers, env, reply_to); fault_to = axis2_msg_info_headers_get_fault_to(old_msg_info_headers, env); axis2_msg_info_headers_set_fault_to(msg_info_headers, env, fault_to); to = axis2_msg_info_headers_get_to(old_msg_info_headers, env); axis2_msg_info_headers_set_from(msg_info_headers, env, to); msg_id = axis2_msg_info_headers_get_message_id(old_msg_info_headers, env); /* we can create with default Relates to namespace. Actual namespace based on addressing version will be created in addressing out handler */ relates_to = axis2_relates_to_create(env, msg_id, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE); axis2_msg_info_headers_set_relates_to(msg_info_headers, env, relates_to); action = axis2_msg_info_headers_get_action(old_msg_info_headers, env); axis2_msg_info_headers_set_action(msg_info_headers, env, action); op_ctx = axis2_msg_ctx_get_op_ctx(in_msg_ctx, env); axis2_msg_ctx_set_op_ctx(new_msg_ctx, env, op_ctx); svc_ctx = axis2_msg_ctx_get_svc_ctx(in_msg_ctx, env); axis2_msg_ctx_set_svc_ctx(new_msg_ctx, env, svc_ctx); ctx = axis2_msg_ctx_get_base(in_msg_ctx, env); if (ctx) { axis2_ctx_t *new_ctx = axis2_msg_ctx_get_base(new_msg_ctx, env); if (new_ctx) { axis2_ctx_set_property_map(new_ctx, env, axis2_ctx_get_property_map(ctx, env)); } } out_stream = axis2_msg_ctx_get_transport_out_stream(in_msg_ctx, env); axis2_msg_ctx_set_transport_out_stream(new_msg_ctx, env, out_stream); axis2_msg_ctx_set_out_transport_info(new_msg_ctx, env, axis2_msg_ctx_get_out_transport_info (in_msg_ctx, env)); /* Setting the charater set encoding */ doing_rest = axis2_msg_ctx_get_doing_rest(in_msg_ctx, env); axis2_msg_ctx_set_doing_rest(new_msg_ctx, env, doing_rest); doing_mtom = axis2_msg_ctx_get_doing_mtom(in_msg_ctx, env); axis2_msg_ctx_set_doing_mtom(new_msg_ctx, env, doing_mtom); server_side = axis2_msg_ctx_get_server_side(in_msg_ctx, env); axis2_msg_ctx_set_server_side(new_msg_ctx, env, server_side); svc_grp_ctx = axis2_msg_ctx_get_svc_grp_ctx(in_msg_ctx, env); axis2_msg_ctx_set_svc_grp_ctx(new_msg_ctx, env, svc_grp_ctx); axis2_msg_ctx_set_is_soap_11(new_msg_ctx, env, axis2_msg_ctx_get_is_soap_11(in_msg_ctx, env)); axis2_msg_ctx_set_keep_alive(new_msg_ctx, env, axis2_msg_ctx_is_keep_alive(in_msg_ctx, env)); axis2_msg_ctx_set_charset_encoding(new_msg_ctx, env, axis2_msg_ctx_get_charset_encoding (in_msg_ctx, env)); return new_msg_ctx; } AXIS2_EXTERN void AXIS2_CALL axis2_core_utils_reset_out_msg_ctx( const axutil_env_t * env, axis2_msg_ctx_t * out_msg_ctx) { axis2_msg_info_headers_t *msg_info_headers = NULL; if (!out_msg_ctx) return; msg_info_headers = axis2_msg_ctx_get_msg_info_headers(out_msg_ctx, env); if (msg_info_headers) { axis2_msg_info_headers_set_to(msg_info_headers, env, NULL); axis2_msg_info_headers_set_fault_to(msg_info_headers, env, NULL); axis2_msg_info_headers_set_from(msg_info_headers, env, NULL); axis2_msg_info_headers_set_reply_to(msg_info_headers, env, NULL); } axis2_msg_ctx_set_op_ctx(out_msg_ctx, env, NULL); axis2_msg_ctx_set_svc_ctx(out_msg_ctx, env, NULL); axis2_msg_ctx_reset_transport_out_stream(out_msg_ctx, env); axis2_msg_ctx_reset_out_transport_info(out_msg_ctx, env); axis2_msg_ctx_set_svc_grp_ctx(out_msg_ctx, env, NULL); return; } AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axis2_core_utils_get_module_qname( const axutil_env_t * env, const axis2_char_t * name, const axis2_char_t * version) { axutil_qname_t *ret_qname = NULL; AXIS2_PARAM_CHECK(env->error, name, NULL); if (version && 0 != axutil_strlen(version)) { axis2_char_t *mod_name1 = NULL; axis2_char_t *mod_name = NULL; mod_name1 = axutil_stracat(env, name, "-"); if (!mod_name1) { return NULL; } mod_name = axutil_stracat(env, mod_name1, version); if (!mod_name) { AXIS2_FREE(env->allocator, mod_name1); mod_name1 = NULL; return NULL; } ret_qname = axutil_qname_create(env, mod_name, NULL, NULL); AXIS2_FREE(env->allocator, mod_name); AXIS2_FREE(env->allocator, mod_name1); return ret_qname; } ret_qname = axutil_qname_create(env, name, NULL, NULL); return ret_qname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_core_utils_calculate_default_module_version( const axutil_env_t * env, axutil_hash_t * modules_map, axis2_conf_t * axis_conf) { axutil_hash_t *default_modules = NULL; axutil_hash_index_t *hi = NULL; void *val = NULL; AXIS2_PARAM_CHECK(env->error, modules_map, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, axis_conf, AXIS2_FAILURE); default_modules = axutil_hash_make(env); if (!default_modules) { return AXIS2_FAILURE; } for (hi = axutil_hash_first(modules_map, env); hi; hi = axutil_hash_next(env, hi)) { axis2_module_desc_t *mod_desc = NULL; axutil_hash_this(hi, NULL, NULL, &val); mod_desc = (axis2_module_desc_t *) val; if (mod_desc) { const axutil_qname_t *module_qname = NULL; module_qname = axis2_module_desc_get_qname(mod_desc, env); if (module_qname) { axis2_char_t *mod_name_with_ver = NULL; mod_name_with_ver = axutil_qname_get_localpart(module_qname, env); if (mod_name_with_ver) { axis2_char_t *module_name_str = NULL; axis2_char_t *module_ver_str = NULL; axis2_char_t *current_def_ver = NULL; module_name_str = axis2_core_utils_get_module_name(env, mod_name_with_ver); if (!module_name_str) { return AXIS2_FAILURE; } module_ver_str = axis2_core_utils_get_module_version(env, mod_name_with_ver); current_def_ver = axutil_hash_get(default_modules, module_name_str, AXIS2_HASH_KEY_STRING); if (current_def_ver) { if (module_ver_str && AXIS2_TRUE == axis2_core_utils_is_latest_mod_ver(env, module_ver_str, current_def_ver)) { axutil_hash_set(default_modules, module_name_str, AXIS2_HASH_KEY_STRING, module_ver_str); } else { if (module_name_str) { AXIS2_FREE(env->allocator, module_name_str); } if (module_ver_str) { AXIS2_FREE(env->allocator, module_ver_str); } } } else { axutil_hash_set(default_modules, module_name_str, AXIS2_HASH_KEY_STRING, module_ver_str); } if (module_name_str) { AXIS2_FREE(env->allocator, module_name_str); } } } } val = NULL; } hi = NULL; val = NULL; for (hi = axutil_hash_first(default_modules, env); hi; hi = axutil_hash_next(env, hi)) { void *key_string = NULL; axutil_hash_this(hi, (const void **) &key_string, NULL, &val); if (key_string && NULL != val) { axis2_conf_add_default_module_version(axis_conf, env, (axis2_char_t *) key_string, (axis2_char_t *) val); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Added default module" " version : %s for module : %s", (axis2_char_t *) val, (axis2_char_t *) key_string); } } if (default_modules) { axutil_hash_free(default_modules, env); default_modules = NULL; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_core_utils_get_module_name( const axutil_env_t * env, axis2_char_t * module_name) { axis2_char_t version_seperator = '-'; axis2_char_t *name = NULL; axis2_char_t *version_sep_loc = NULL; AXIS2_PARAM_CHECK(env->error, module_name, NULL); name = axutil_strdup(env, module_name); if (!name) { return NULL; } version_sep_loc = axutil_rindex(name, version_seperator); if (version_sep_loc) { *version_sep_loc = '\0'; } return name; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_core_utils_get_module_version( const axutil_env_t * env, axis2_char_t * module_name) { axis2_char_t version_seperator = '-'; axis2_char_t *version_sep_loc = NULL; AXIS2_PARAM_CHECK(env->error, module_name, NULL); version_sep_loc = axutil_rindex(module_name, version_seperator); if (version_sep_loc) { return axutil_strdup(env, version_sep_loc + sizeof(axis2_char_t)); } return NULL; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_core_utils_is_latest_mod_ver( const axutil_env_t * env, axis2_char_t * module_ver, axis2_char_t * current_def_ver) { double cur_ver = 0.0; double mod_ver = 0.0; AXIS2_PARAM_CHECK(env->error, module_ver, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, current_def_ver, AXIS2_FALSE); cur_ver = atof(current_def_ver); mod_ver = atof(module_ver); if (mod_ver > cur_ver) { return AXIS2_TRUE; } return AXIS2_FAILURE; } /* build the rest map - external function */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_core_utils_prepare_rest_mapping ( const axutil_env_t * env, axis2_char_t * url, axutil_hash_t *rest_map, axis2_op_t *op_desc) { axis2_char_t *first_delimitter = NULL; axis2_char_t *next_level_url = NULL; axis2_char_t *mapping_key = NULL; axutil_core_utils_map_internal_t *mapping_struct = NULL; axis2_status_t status = AXIS2_SUCCESS; axis2_char_t *bracket_start = NULL; first_delimitter = axutil_strchr(url, '/'); if(first_delimitter) { /* if there is another recursive level, this will get the url of that level */ next_level_url = first_delimitter + 1; *first_delimitter = '\0'; } if((bracket_start = axutil_strchr(url, '{'))) { /* we support multiple param per url component, but we validate only one param */ if(axutil_strchr(bracket_start, '}')) { /* this is validated */ } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid URL Format, no closing bracket in declaring parameters"); return AXIS2_FAILURE; } } /* only constants are allowed in this level, so here url become the mapping_key */ mapping_key = url; if(*mapping_key == '\0') /* empty mapping key */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid URL Format: empty mapping key"); return AXIS2_FAILURE; } /* retrieve or create the mapping structure for the key*/ mapping_struct = axutil_hash_get(rest_map, mapping_key, AXIS2_HASH_KEY_STRING); if(!mapping_struct) { mapping_struct = (axutil_core_utils_map_internal_t*)AXIS2_MALLOC (env->allocator, sizeof(axutil_core_utils_map_internal_t)); if(!mapping_struct) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); return AXIS2_FAILURE; } memset(mapping_struct, 0, sizeof(axutil_core_utils_map_internal_t)); mapping_key = axutil_strdup(env, mapping_key); axutil_hash_set(rest_map, mapping_key, AXIS2_HASH_KEY_STRING, mapping_struct); } if(!next_level_url) { /* if no next level url, put the op_desc in right this level */ if(mapping_struct->op_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DUPLICATE_URL_REST_MAPPING, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Duplicate URL Mapping found"); return AXIS2_FAILURE; } mapping_struct->op_desc = op_desc; } else { /* we have to build the map_internal structure recursively */ status = axis2_core_utils_internal_build_rest_map_recursively(env, next_level_url, mapping_struct, op_desc); } return status; } /* build the restmap recursively - internal function*/ axis2_status_t AXIS2_CALL axis2_core_utils_internal_build_rest_map_recursively( const axutil_env_t * env, axis2_char_t * url, axutil_core_utils_map_internal_t *parent_mapping_struct, axis2_op_t *op_desc) { /* Here url is expected to be in the form {student}/marks/{subject} or marks/{subject} */ axis2_char_t *first_delimitter = NULL; axis2_char_t *next_level_url = NULL; axis2_char_t *mapping_key = NULL; axutil_core_utils_map_internal_t *mapping_struct = NULL; axutil_hash_t *cur_level_rest_map = NULL; axis2_status_t status = AXIS2_SUCCESS; axis2_char_t *bracket_start = NULL; axis2_bool_t is_key_a_param = AXIS2_FALSE; first_delimitter = axutil_strchr(url, '/'); if(first_delimitter) { /* if there is another recurisive level, this will get the url of that level */ next_level_url = first_delimitter + 1; *first_delimitter = '\0'; } if((bracket_start = axutil_strchr(url, '{'))) { /* we support multiple param per url component, but we validate only one param */ if(axutil_strchr(bracket_start, '}')) { is_key_a_param = AXIS2_TRUE; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid URL Format, no closing bracket in declaring parameters"); return AXIS2_FAILURE; } } /* here the url become the mapping_key */ mapping_key = url; if(*mapping_key == '\0') /* empty mappng key */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid URL Format: empty mapping key"); return AXIS2_FAILURE; } if(is_key_a_param) { /* set the rest map as the params_map */ if(parent_mapping_struct->params_map == NULL) { parent_mapping_struct->params_map = axutil_hash_make(env); if(!parent_mapping_struct->params_map) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); return AXIS2_FAILURE; } } cur_level_rest_map = parent_mapping_struct->params_map; } else { /* set the rest map as the consts_map */ if(parent_mapping_struct->consts_map == NULL) { parent_mapping_struct->consts_map = axutil_hash_make(env); if(!parent_mapping_struct->consts_map) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); return AXIS2_FAILURE; } } cur_level_rest_map = parent_mapping_struct->consts_map; } /* retrieve or create the maping structure for the key*/ mapping_struct = axutil_hash_get(cur_level_rest_map, mapping_key, AXIS2_HASH_KEY_STRING); if(!mapping_struct) { mapping_struct = (axutil_core_utils_map_internal_t*)AXIS2_MALLOC (env->allocator, sizeof(axutil_core_utils_map_internal_t)); if(!mapping_struct) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); return AXIS2_FAILURE; } memset(mapping_struct, 0, sizeof(axutil_core_utils_map_internal_t)); mapping_key = axutil_strdup(env, mapping_key); axutil_hash_set(cur_level_rest_map, mapping_key, AXIS2_HASH_KEY_STRING, mapping_struct); } if(!next_level_url) { /* if no next level url, put the op_desc in right this level */ if(mapping_struct->op_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DUPLICATE_URL_REST_MAPPING, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Duplicate URL Mapping found"); return AXIS2_FAILURE; } mapping_struct->op_desc = op_desc; } else { /* we have to build the map_internal structure recursively */ status = axis2_core_utils_internal_build_rest_map_recursively(env, next_level_url, mapping_struct, op_desc); } return status; } /* free the rest map recursively */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_core_utils_free_rest_map ( const axutil_env_t *env, axutil_hash_t *rest_map) { axutil_hash_index_t *hi = NULL; const void *key = NULL; void *val = NULL; axis2_status_t status = AXIS2_SUCCESS; for (hi = axutil_hash_first(rest_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, &val); if (val) { axutil_core_utils_map_internal_t *mapping_struct = NULL; mapping_struct = (axutil_core_utils_map_internal_t*)val; /* freeing the consts_map and params_map */ if(mapping_struct->consts_map) { axis2_core_utils_free_rest_map(env, mapping_struct->consts_map); } if(mapping_struct->params_map) { axis2_core_utils_free_rest_map(env, mapping_struct->params_map); } AXIS2_FREE(env->allocator, mapping_struct); } if (key) { AXIS2_FREE(env->allocator, (axis2_char_t *) key); key = NULL; } } axutil_hash_free(rest_map, env); return status; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_core_utils_get_rest_op_with_method_and_location(axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *location, axutil_array_list_t *param_keys, axutil_array_list_t *param_values) { axis2_char_t *addition_params_str = NULL; axis2_char_t *adjusted_local_url = NULL; axis2_char_t *live_mapping_url = NULL; axis2_char_t *local_url = NULL; axis2_op_t *op = NULL; int key_len = 0; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for operation using " "REST HTTP Location fragment : %s", location); /* we are creating a dup of the location */ local_url = (axis2_char_t*)axutil_strdup(env, location); if(!local_url) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the live rest mapping url"); return NULL; } /* checking the existence of the addition parameters after the question mark '?' */ addition_params_str = strchr(local_url, '?'); if(addition_params_str) { *addition_params_str = '\0'; addition_params_str ++; } /* if the first character is '/' ignore that */ if(*local_url == '/') { adjusted_local_url = local_url + 1; } else { adjusted_local_url = local_url; } /* now create the mapping url */ key_len = axutil_strlen(method) + axutil_strlen(adjusted_local_url) + 2; live_mapping_url = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * key_len)); if(!live_mapping_url) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the live rest mapping url"); AXIS2_FREE(env->allocator, local_url); return NULL; } sprintf(live_mapping_url, "%s:%s", method, adjusted_local_url); op = axis2_core_utils_infer_op_from_parent_rest_map( env, axis2_svc_get_rest_map(svc, env), live_mapping_url, param_keys, param_values); if (op) { axis2_char_t *params_str; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Operation found using target endpoint uri fragment"); /* here we are going to extract out the additional parameters * put after '?' mark */ params_str = addition_params_str; while(params_str && *params_str != '\0') { axis2_char_t *next_params_str = NULL; axis2_char_t *key_value_seperator = NULL; axis2_char_t *key = NULL; axis2_char_t *value= NULL; /* we take one parameter pair to the params_str */ next_params_str = strchr(params_str, '&'); if(next_params_str) { *next_params_str = '\0'; } key_value_seperator = strchr(params_str, '='); if(key_value_seperator) { /* devide the key value pair */ *key_value_seperator = '\0'; key = params_str; value = key_value_seperator + 1; } else { /* there is no '=' symbol, that mean only the key exist */ key = params_str; } if(key) { key = axutil_strdup(env, key); axutil_array_list_add(param_keys, env, key); } if(value) { value = axutil_strdup(env, value); axutil_array_list_add(param_values, env, value); } if(next_params_str) { /* if there was an '&' character then */ params_str = next_params_str + 1; } else { params_str = NULL; /* just to end the loop */ } } } if (live_mapping_url) { AXIS2_FREE (env->allocator, live_mapping_url); } if(local_url) { AXIS2_FREE(env->allocator, local_url); } return op; } /* infer op from the live url */ axis2_op_t * axis2_core_utils_infer_op_from_parent_rest_map( const axutil_env_t *env, axutil_hash_t *rest_map, axis2_char_t *live_url, axutil_array_list_t *param_keys, axutil_array_list_t *param_values) { axis2_char_t *first_delimitter = NULL; axis2_char_t *next_level_url = NULL; axis2_char_t *url_component = NULL; axis2_op_t *op_desc = NULL; axutil_core_utils_map_internal_t *mapping_struct = NULL; first_delimitter = axutil_strchr(live_url, '/'); if(first_delimitter) { /* if there is another recursive level, this will get the url of that level */ next_level_url = first_delimitter + 1; *first_delimitter = '\0'; } /* so live url is the url_component */ url_component = live_url; /* check it in the hash map */ mapping_struct = (axutil_core_utils_map_internal_t*)axutil_hash_get(rest_map, url_component, AXIS2_HASH_KEY_STRING); if(mapping_struct) { if(!next_level_url) { /* if no level exists, find it here */ op_desc = mapping_struct->op_desc; } else { op_desc = axis2_core_utils_internal_infer_op_from_rest_map_recursively( env, mapping_struct, next_level_url, param_keys, param_values); } } if(!op_desc) { /* if the url is not mapped to the given constant url * we have to match it with the url pattern */ axutil_hash_index_t *hi = NULL; const void *key = NULL; void *val = NULL; axis2_status_t matched_status = AXIS2_FAILURE; for (hi = axutil_hash_first(rest_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, &val); if(key == url_component) { continue; /* skip the already checked key */ } if (key && val) { axis2_char_t *hash_key = (axis2_char_t*)key; axis2_char_t *dup_url_component = NULL; axis2_char_t *dup_pattern = NULL; /* temporary param keys and values for each entry */ axutil_array_list_t *tmp_param_keys = NULL; axutil_array_list_t *tmp_param_values = NULL; tmp_param_keys = axutil_array_list_create(env, 10); if(!tmp_param_keys) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); return NULL; } tmp_param_values = axutil_array_list_create(env, 10); if(!tmp_param_values) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); axutil_array_list_free(tmp_param_keys, env); return NULL; } dup_url_component = axutil_strdup(env, url_component); if(!dup_url_component) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); return NULL; } dup_pattern = axutil_strdup(env, hash_key); if(!dup_pattern) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); AXIS2_FREE(env->allocator, dup_url_component); return NULL; } matched_status = axis2_core_utils_match_url_component_with_pattern(env, dup_pattern, dup_url_component, tmp_param_keys, tmp_param_values); AXIS2_FREE(env->allocator, dup_url_component); AXIS2_FREE(env->allocator, dup_pattern); if(matched_status == AXIS2_SUCCESS && val) { mapping_struct = (axutil_core_utils_map_internal_t*)val; if(!next_level_url) { op_desc = mapping_struct->op_desc; } else { op_desc = axis2_core_utils_internal_infer_op_from_rest_map_recursively( env, mapping_struct, next_level_url, tmp_param_keys, tmp_param_values); } if(op_desc) { /* we are done, the url is matched with a pattern */ /* but before leaving should merge the param arrays */ int i = 0; void *param_key = NULL; void *param_value = NULL; for(i = 0; i < axutil_array_list_size(tmp_param_keys, env); i ++) { /* size(tmp_param_keys) == size(tmp_param_values) */ param_key = axutil_array_list_get(tmp_param_keys, env, i); param_value = axutil_array_list_get(tmp_param_values, env, i); /* add it to original array */ axutil_array_list_add(param_keys, env, param_key); axutil_array_list_add(param_values, env, param_value); } /* since of is found, no more searches needed */ break; } } /* freeing the temporary arrays */ axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); } } } if(!op_desc) { /* no more to look up */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "REST maping structure is NULL for the accessed URL"); return NULL; } return op_desc; } /* infer op from the live url recursively */ axis2_op_t *AXIS2_CALL axis2_core_utils_internal_infer_op_from_rest_map_recursively( const axutil_env_t *env, const axutil_core_utils_map_internal_t *parent_mapping_struct, axis2_char_t *live_url, axutil_array_list_t *param_keys, axutil_array_list_t *param_values) { axis2_char_t *first_delimitter = NULL; axis2_char_t *next_level_url = NULL; axis2_char_t *url_component = NULL; axis2_op_t *op_desc = NULL; axutil_core_utils_map_internal_t *child_mapping_struct = NULL; axutil_hash_index_t *hi = NULL; const void *key = NULL; void *val = NULL; first_delimitter = axutil_strchr(live_url, '/'); if(first_delimitter) { /* if there is another recurisive level, this will get the url of that level */ next_level_url = first_delimitter + 1; *first_delimitter = '\0'; } /* so live url is the url_component */ url_component = live_url; /* first check the url component in the constants array list */ if(parent_mapping_struct->consts_map) { child_mapping_struct = axutil_hash_get(parent_mapping_struct->consts_map, url_component, AXIS2_HASH_KEY_STRING); } /* if the url component exists in the consts_map, go through it inside */ if(child_mapping_struct) { if(!next_level_url) { /* there is no another level, so the op should be here */ op_desc = child_mapping_struct->op_desc; if(!op_desc) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "The operation descriptor not found constant given in the url"); } /* rather than returning NULL we continue to search params_map */ } else { op_desc = axis2_core_utils_internal_infer_op_from_rest_map_recursively( env, child_mapping_struct, next_level_url, param_keys, param_values); } } if(op_desc) { /* if the op for the accessed url found, no further searching is needed */ return op_desc; } /* if it is not found in the consts_map we have to assume it is in a params_map */ if(!parent_mapping_struct->params_map) { /* wrong operation, abort to continue to let calling function to check other operations */ if(first_delimitter) { /* restore the delimmiters */ *first_delimitter = '/'; } return NULL; } for (hi = axutil_hash_first(parent_mapping_struct->params_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, &val); if (key && val) { int i = 0; axis2_char_t *hash_key = (axis2_char_t*)key; axis2_status_t matched_status = AXIS2_SUCCESS; axis2_char_t *dup_url_component = NULL; axis2_char_t *dup_pattern = NULL; /* temporary param keys and values for each entry */ axutil_array_list_t *tmp_param_keys; axutil_array_list_t *tmp_param_values; tmp_param_keys = axutil_array_list_create(env, 10); if(!tmp_param_keys) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); return NULL; } tmp_param_values = axutil_array_list_create(env, 10); if(!tmp_param_values) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); axutil_array_list_free(tmp_param_keys, env); return NULL; } dup_url_component = axutil_strdup(env, url_component); if(!dup_url_component) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); return NULL; } dup_pattern = axutil_strdup(env, hash_key); if(!dup_pattern) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); AXIS2_FREE(env->allocator, dup_url_component); return NULL; } matched_status = axis2_core_utils_match_url_component_with_pattern(env, dup_pattern, dup_url_component, tmp_param_keys, tmp_param_values); AXIS2_FREE(env->allocator, dup_url_component); AXIS2_FREE(env->allocator, dup_pattern); if(matched_status == AXIS2_SUCCESS) { child_mapping_struct = (axutil_core_utils_map_internal_t*)val; if(!next_level_url) { /* there is no another level, so the op should be here */ op_desc = child_mapping_struct->op_desc; } else { /* if there is next level, we should check that level too */ op_desc = axis2_core_utils_internal_infer_op_from_rest_map_recursively( env, child_mapping_struct, next_level_url, tmp_param_keys, tmp_param_values); } if(op_desc) { /* the operation is found */ /* but before leaving should merge the param arrays */ int i = 0; void *param_key = NULL; void *param_value = NULL; for(i = 0; i < axutil_array_list_size(tmp_param_keys, env); i ++) { /* size(tmp_param_keys) == size(tmp_param_values) */ param_key = axutil_array_list_get(tmp_param_keys, env, i); param_value = axutil_array_list_get(tmp_param_values, env, i); /* add it to original array */ axutil_array_list_add(param_keys, env, param_key); axutil_array_list_add(param_values, env, param_value); } /* freeing the temporary arrays */ axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); /* since of is found, no more searches needed */ break; } } /* if we come here => op is not yet found */ /* just freeing the temp key and value arrays */ for(i = 0; i < axutil_array_list_size(tmp_param_keys, env); i ++) { void *value = axutil_array_list_get(tmp_param_keys, env, i); if(value) { AXIS2_FREE(env->allocator, value); } } for(i = 0; i < axutil_array_list_size(tmp_param_values, env); i ++) { void *value = axutil_array_list_get(tmp_param_values, env, i); if(value) { AXIS2_FREE(env->allocator, value); } } axutil_array_list_free(tmp_param_keys, env); axutil_array_list_free(tmp_param_values, env); } } if(!op_desc) { /* this is not an error, since the calling function may find another opertion match with the url */ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "The operation descriptor not found for the accessed URL"); if(first_delimitter) { /* restore the delimmiters */ *first_delimitter = '/'; } } return op_desc; } /* match a pattern with a url component */ axis2_status_t axis2_core_utils_match_url_component_with_pattern(const axutil_env_t *env, axis2_char_t *pattern, axis2_char_t *url_component, axutil_array_list_t *param_keys, axutil_array_list_t *param_values) { axutil_array_list_t *const_components = NULL; axis2_char_t *c = NULL; axis2_char_t *url_c = NULL; axis2_char_t *pattern_c = NULL; axis2_char_t *const_part = NULL; axis2_char_t *param_part = NULL; axis2_char_t *param_value = NULL; axis2_status_t status = AXIS2_SUCCESS; /* here the state can have following values 0 - inside a constant 1 - inside a param */ int loop_state = 0; int i = 0; int pattern_ending_with_param = 0; /* the constant that undergoing matching */ int matching_constant_index = 0; axis2_char_t *matching_constant = NULL; /* dividing the pattern to consts */ const_components = axutil_array_list_create(env, 10); if(!const_components) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); } /* check whether the pattern ending with a param */ if(*(pattern + axutil_strlen(pattern) -1) == '}') { pattern_ending_with_param = 1; } const_part = pattern; /* a parse to fil the const array and key array */ for(c = pattern; c && *c != '\0'; c ++) { if(loop_state == 0) { /* inside a constant */ if(*c == '{') { if(const_part == c) { /* no const part */ } else { /* add the constant */ *c = '\0'; const_part = axutil_strdup(env, const_part); if(!const_part) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); status = AXIS2_FAILURE; break; } axutil_array_list_add(const_components, env, const_part); } param_part = c + 1; /* start the param */ loop_state = 1; /* moving to the param from next iteration */ } else if(*c == '}') { /* invalid state */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing the url for %s", url_component); status = AXIS2_FAILURE; break; } } else { /* inside a param */ if(*c == '}') { if(*(c + 1) == '{') /* you can not have two params without a constant in between */ { /* invalid state */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing the url for %s, Please put constant between 2 parameters", url_component); status = AXIS2_FAILURE; break; } if(param_part == c) { /* no param part */ } else { /* add the param */ *c = '\0'; param_part = axutil_strdup(env, param_part); if(param_part == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); status = AXIS2_FAILURE; break; } axutil_array_list_add(param_keys, env, param_part); const_part = c + 1; /* start the const */ } loop_state = 0; /* moving to the const from next iteration */ } else if(*c == '{') { /* invalid state */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing the url for %s", url_component); status = AXIS2_FAILURE; break; } } } /* loop should stop in state 0 */ if(loop_state != 0) { status = AXIS2_FAILURE; } if(const_part != c) { /* add the tailing const */ const_part = axutil_strdup(env, const_part); if(!const_part) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); status = AXIS2_FAILURE; } axutil_array_list_add(const_components, env, const_part); } if(axutil_array_list_size(const_components, env) == 0 && status == AXIS2_SUCCESS) { /* no constants mean, the url componenent itself is the value */ url_component = axutil_strdup(env, url_component); if(url_component) { axutil_array_list_add(param_values, env, url_component); /* free the empty const array */ axutil_array_list_free(const_components, env); return AXIS2_SUCCESS; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); status = AXIS2_FAILURE; } if(status == AXIS2_FAILURE) { /* invalid state */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing the url for %s", url_component); /* free the const array */ for(i = 0; i < axutil_array_list_size(const_components, env); i ++) { void *value; value = axutil_array_list_get(const_components, env, i); AXIS2_FREE(env->allocator, value); } axutil_array_list_free(const_components, env); return status; } /* we are tracking the loop_state here too - this is useful only to track start*/ /* we are using the param_value part to track the matching param value */ if(*pattern != '{') { /* starting_with_constant */ loop_state = 0; param_value = NULL; } else { /* starting_with_param */ loop_state = 1; param_value = url_component; } matching_constant_index = 0; matching_constant = axutil_array_list_get(const_components, env, 0); /* now parse the url component */ for(url_c = url_component; *url_c != '\0' && status == AXIS2_SUCCESS && matching_constant != NULL; url_c ++ ) { axis2_char_t *tmp_url_c = url_c; pattern_c = matching_constant; while(*tmp_url_c == *pattern_c && *tmp_url_c != '\0' && *pattern_c != '\0') { tmp_url_c ++; pattern_c ++; } if(*pattern_c == '\0') { /* we finised matching the constant pattern successfuly*/ if(loop_state == 0) { /* loop_state => we expected there is a constant */ } else { /* we expected a param, but the constant is found => url_c should mark the end of the param */ if(param_value == NULL) { /* unexpected invalid state */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_URL_FORMAT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing the url for %s", url_component); status = AXIS2_FAILURE; } *url_c = '\0'; param_value = axutil_strdup(env, param_value); if(param_value == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); status = AXIS2_FAILURE; break; } axutil_array_list_add(param_values, env, param_value); } /* next the param part is starting */ param_value = tmp_url_c; loop_state = 1; /* the end of the constant expects, start of a variable */ /* so we found one constant, go for the other */ matching_constant_index ++; matching_constant = axutil_array_list_get(const_components, env, matching_constant_index); tmp_url_c --; /* increment the url_c to tmp_url_c */ url_c = tmp_url_c; } else { /* pattern not matched */ if(loop_state == 0) { /* we are expected this to be a constant, but it has not happend * mean: the pattern match failed */ status = AXIS2_FAILURE; break; } } } if(matching_constant_index != axutil_array_list_size(const_components, env)) { status = AXIS2_FAILURE; } if(pattern_ending_with_param) { if(param_value) { param_value = axutil_strdup(env, param_value); if(param_value == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create internal rest mapping structure"); status = AXIS2_FAILURE; } else { axutil_array_list_add(param_values, env, param_value); } } } else if(*url_c != '\0') { /* here the pattern ending is a constant (not a param), and matches all are already made * but some url part left => this is a not mach */ status = AXIS2_FAILURE; } /* finally freeing the const array */ for(i = 0; i < axutil_array_list_size(const_components, env); i ++) { void *value; value = axutil_array_list_get(const_components, env, i); AXIS2_FREE(env->allocator, value); } axutil_array_list_free(const_components, env); return status; } axis2c-src-1.6.0/src/core/context/0000777000175000017500000000000011172017536020046 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/context/ctx.c0000644000175000017500000001257111166304450021007 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_ctx { /** non persistent map */ axutil_hash_t *property_map; /** non persistent map is a deep copy */ axis2_bool_t property_map_deep_copy; }; AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_ctx_create( const axutil_env_t * env) { axis2_ctx_t *ctx = NULL; AXIS2_ENV_CHECK(env, NULL); ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_ctx_t)); if (!ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } ctx->property_map = NULL; ctx->property_map = axutil_hash_make(env); ctx->property_map_deep_copy = AXIS2_TRUE; if (!(ctx->property_map)) { axis2_ctx_free(ctx, env); return NULL; } return ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ctx_set_property( struct axis2_ctx * ctx, const axutil_env_t * env, const axis2_char_t * key, axutil_property_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (value) { /* handle the case where we are setting a new value with the same key, we would have to free the existing value */ axutil_property_t *temp_value = axutil_hash_get(ctx->property_map, key, AXIS2_HASH_KEY_STRING); if (temp_value) { void *temp_value_value = axutil_property_get_value(temp_value, env); void *value_value = axutil_property_get_value(value, env); if (temp_value_value != value_value) { axutil_property_free(temp_value, env); } } } if (ctx->property_map) { axutil_hash_set(ctx->property_map, key, AXIS2_HASH_KEY_STRING, value); } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_property_t *AXIS2_CALL axis2_ctx_get_property( const axis2_ctx_t * ctx, const axutil_env_t * env, const axis2_char_t * key) { axutil_property_t *ret = NULL; if (ctx->property_map) { ret = axutil_hash_get(ctx->property_map, key, AXIS2_HASH_KEY_STRING); } /** it is the responsibility of the caller to look-up parent if key is not found here Note that in C implementation it is the responsibility of the deriving struct to handle the parent as we do not have the inheritance facility. In case of context it is not worth trying to mimic inheritance. */ return ret; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_ctx_get_all_properties( const axis2_ctx_t * ctx, const axutil_env_t * env) { return ctx->property_map; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_ctx_get_property_map( const axis2_ctx_t * ctx, const axutil_env_t * env) { return ctx->property_map; } AXIS2_EXTERN void AXIS2_CALL axis2_ctx_free( struct axis2_ctx *ctx, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (ctx->property_map && ctx->property_map_deep_copy) { axutil_hash_index_t *hi = NULL; void *val = NULL; const void *key = NULL; for (hi = axutil_hash_first(ctx->property_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_property_t *property = NULL; axutil_hash_this(hi, &key, NULL, &val); property = (axutil_property_t *) val; if (property) { axutil_property_free(property, env); } } axutil_hash_free(ctx->property_map, env); } AXIS2_FREE(env->allocator, ctx); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ctx_set_property_map( struct axis2_ctx * ctx, const axutil_env_t * env, axutil_hash_t * map) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (ctx->property_map && ctx->property_map_deep_copy) { axutil_hash_index_t *hi = NULL; void *val = NULL; const void *key = NULL; for (hi = axutil_hash_first(ctx->property_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_property_t *property = NULL; axutil_hash_this(hi, &key, NULL, &val); property = (axutil_property_t *) val; if (property) { axutil_property_free(property, env); } } if (ctx->property_map != map) /* handle repeated invocation case */ { axutil_hash_free(ctx->property_map, env); } } ctx->property_map = map; ctx->property_map_deep_copy = AXIS2_FALSE; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/context/svc_grp_ctx.c0000644000175000017500000001576111166304450022536 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axis2_svc_grp_ctx { /** base context struct */ axis2_ctx_t *base; /** parent of service group context is a configuration context instance */ struct axis2_conf_ctx *parent; /** service group context ID */ axis2_char_t *id; /** map of service contexts belonging to this service context group */ axutil_hash_t *svc_ctx_map; /** service group associated with this service group context */ axis2_svc_grp_t *svc_grp; /** name of the service group associated with this context */ axis2_char_t *svc_grp_name; }; AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_svc_grp_ctx_create( const axutil_env_t * env, axis2_svc_grp_t * svc_grp, struct axis2_conf_ctx *conf_ctx) { axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; svc_grp_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_grp_ctx_t)); if (!svc_grp_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } svc_grp_ctx->base = NULL; svc_grp_ctx->parent = NULL; svc_grp_ctx->id = NULL; svc_grp_ctx->svc_ctx_map = NULL; svc_grp_ctx->svc_grp = NULL; svc_grp_ctx->svc_grp_name = NULL; svc_grp_ctx->base = axis2_ctx_create(env); if (!(svc_grp_ctx->base)) { axis2_svc_grp_ctx_free(svc_grp_ctx, env); return NULL; } if (svc_grp) { svc_grp_ctx->svc_grp = svc_grp; svc_grp_ctx->svc_grp_name = (axis2_char_t *) axis2_svc_grp_get_name(svc_grp_ctx->svc_grp, env); svc_grp_ctx->id = axutil_strdup(env, svc_grp_ctx->svc_grp_name); } if (conf_ctx) { svc_grp_ctx->parent = conf_ctx; } svc_grp_ctx->svc_ctx_map = axutil_hash_make(env); if (!(svc_grp_ctx->svc_ctx_map)) { axis2_svc_grp_ctx_free(svc_grp_ctx, env); return NULL; } axis2_svc_grp_ctx_fill_svc_ctx_map((svc_grp_ctx), env); return svc_grp_ctx; } AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_svc_grp_ctx_get_base( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env) { return svc_grp_ctx->base; } AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL axis2_svc_grp_ctx_get_parent( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env) { return svc_grp_ctx->parent; } AXIS2_EXTERN void AXIS2_CALL axis2_svc_grp_ctx_free( struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t * env) { if (svc_grp_ctx->id) { AXIS2_FREE(env->allocator, svc_grp_ctx->id); } if (svc_grp_ctx->base) { axis2_ctx_free(svc_grp_ctx->base, env); } if (svc_grp_ctx->svc_ctx_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(svc_grp_ctx->svc_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axis2_svc_ctx_t *svc_ctx = NULL; svc_ctx = (axis2_svc_ctx_t *) val; axis2_svc_ctx_free(svc_ctx, env); } } axutil_hash_free(svc_grp_ctx->svc_ctx_map, env); svc_grp_ctx->base = NULL; } AXIS2_FREE(env->allocator, svc_grp_ctx); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_ctx_init( struct axis2_svc_grp_ctx * svc_grp_ctx, const axutil_env_t * env, axis2_conf_t * conf) { if (svc_grp_ctx->svc_grp_name) { svc_grp_ctx->svc_grp = axis2_conf_get_svc_grp(conf, env, svc_grp_ctx->svc_grp_name); } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_grp_ctx_get_id( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env) { return svc_grp_ctx->id; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_ctx_set_id( struct axis2_svc_grp_ctx * svc_grp_ctx, const axutil_env_t * env, const axis2_char_t * id) { if (svc_grp_ctx->id) { AXIS2_FREE(env->allocator, svc_grp_ctx->id); svc_grp_ctx->id = NULL; } if (id) { svc_grp_ctx->id = axutil_strdup(env, id); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_svc_grp_ctx_get_svc_ctx( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env, const axis2_char_t * svc_name) { return (axis2_svc_ctx_t *) axutil_hash_get(svc_grp_ctx->svc_ctx_map, svc_name, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_ctx_fill_svc_ctx_map( struct axis2_svc_grp_ctx * svc_grp_ctx, const axutil_env_t * env) { axutil_hash_index_t *hi = NULL; void *next_svc = NULL; if (svc_grp_ctx->svc_grp) { axutil_hash_t *service_map = axis2_svc_grp_get_all_svcs(svc_grp_ctx->svc_grp, env); if (service_map) { for (hi = axutil_hash_first(service_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &next_svc); if (next_svc) { axis2_svc_t *svc = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_char_t *svc_name = NULL; svc = (axis2_svc_t *) next_svc; svc_ctx = axis2_svc_ctx_create(env, svc, svc_grp_ctx); svc_name = axutil_qname_get_localpart(axis2_svc_get_qname (svc, env), env); if (svc_name) axutil_hash_set(svc_grp_ctx->svc_ctx_map, svc_name, AXIS2_HASH_KEY_STRING, svc_ctx); } } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_svc_grp_ctx_get_svc_grp( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env) { return svc_grp_ctx->svc_grp; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_grp_ctx_get_svc_ctx_map( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env) { return svc_grp_ctx->svc_ctx_map; } axis2c-src-1.6.0/src/core/context/msg_ctx.c0000644000175000017500000021503611166304450021656 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct axis2_msg_ctx { /** base context struct */ axis2_ctx_t *base; /** parent of message context is an op context instance */ struct axis2_op_ctx *parent; /** process fault enabled? */ axis2_bool_t process_fault; /** * Addressing Information for Axis 2 * Following Properties will be kept inside this, these fields will be initially filled by * the transport. Then later an addressing handler will make relevant changes to this, if addressing * information is present in the SOAP header. */ axis2_msg_info_headers_t *msg_info_headers; axis2_bool_t msg_info_headers_deep_copy; struct axis2_op_ctx *op_ctx; struct axis2_svc_ctx *svc_ctx; struct axis2_svc_grp_ctx *svc_grp_ctx; struct axis2_conf_ctx *conf_ctx; /** op */ axis2_op_t *op; /** service */ axis2_svc_t *svc; /** service group */ axis2_svc_grp_t *svc_grp; axis2_transport_in_desc_t *transport_in_desc; axis2_transport_out_desc_t *transport_out_desc; /** SOAP envelope */ axiom_soap_envelope_t *soap_envelope; /** Response SOAP envelope */ axiom_soap_envelope_t *response_soap_envelope; /** SOAP Fault envelope */ axiom_soap_envelope_t *fault_soap_envelope; /** in fault flow? */ axis2_bool_t in_fault_flow; /** is this server side? */ axis2_bool_t server_side; /** message ID */ axis2_char_t *message_id; /** new thread required? */ axis2_bool_t new_thread_required; /** paused */ axis2_bool_t paused; axis2_bool_t keep_alive; /** output written? */ axis2_bool_t output_written; /** service context ID */ axis2_char_t *svc_ctx_id; /** paused phase name */ axis2_char_t *paused_phase_name; /** paused handler name */ axutil_string_t *paused_handler_name; /** SOAP action */ axutil_string_t *soap_action; /** REST HTTP Method */ axis2_char_t *rest_http_method; /** * Supported REST HTTP Methods * Made use of in a 405 Error Scenario */ axutil_array_list_t *supported_rest_http_methods; /** are we doing MTOM now? */ axis2_bool_t doing_mtom; /** are we doing REST now? */ axis2_bool_t doing_rest; /** Rest through HTTP POST? */ axis2_bool_t do_rest_through_post; /** Session management enabled? */ axis2_bool_t manage_session; /* http status code */ int status_code; /** use SOAP 1.1? */ axis2_bool_t is_soap_11; /** service group context id */ axutil_string_t *svc_grp_ctx_id; /** qname of transport in */ AXIS2_TRANSPORT_ENUMS transport_in_desc_enum; /** qname of transport out */ AXIS2_TRANSPORT_ENUMS transport_out_desc_enum; /** service group id */ axis2_char_t *svc_grp_id; /** service description qname */ axutil_qname_t *svc_qname; /** op qname */ axutil_qname_t *op_qname; /* To keep track of the direction */ int flow; /** The chain of Handlers/Phases for processing this message */ axutil_array_list_t *execution_chain; /** Index into the execution chain of the currently executing handler */ int current_handler_index; /** Index of the paused handler */ int paused_handler_index; /** Index of the paused phase */ int paused_phase_index; /** Index into the current Phase of the currently executing handler (if any)*/ int current_phase_index; /* axis2 options container */ axis2_options_t *options; /** * Finds the service to be invoked. This function is used by dispatchers * to locate the service to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to service to be invoked */ struct axis2_svc *( AXIS2_CALL * find_svc) ( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Finds the operation to be invoked in the given service. This function * is used by dispatchers to locate the operation to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param svc pointer to service to whom the operation belongs * @return pointer to the operation to be invoked */ struct axis2_op *( AXIS2_CALL * find_op) ( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc * svc); axutil_string_t *charset_encoding; axutil_stream_t *transport_out_stream; axis2_out_transport_info_t *out_transport_info; axutil_hash_t *transport_headers; axutil_array_list_t *output_headers; axutil_array_list_t *accept_record_list; axutil_array_list_t *accept_charset_record_list; axutil_array_list_t *accept_language_record_list; axis2_char_t *transfer_encoding; axis2_char_t *content_language; axis2_char_t *transport_url; axis2_bool_t is_auth_failure; axis2_bool_t required_auth_is_http; axis2_char_t *auth_type; axis2_bool_t no_content; axutil_array_list_t *mime_parts; int ref; }; AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_msg_ctx_create( const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in_desc, struct axis2_transport_out_desc *transport_out_desc) { axis2_msg_ctx_t *msg_ctx = NULL; msg_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_msg_ctx_t)); if (!msg_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)msg_ctx, 0, sizeof (axis2_msg_ctx_t)); msg_ctx->base = NULL; msg_ctx->process_fault = AXIS2_FALSE; msg_ctx->msg_info_headers = NULL; msg_ctx->op_ctx = NULL; msg_ctx->svc_ctx = NULL; msg_ctx->svc_grp_ctx = NULL; msg_ctx->conf_ctx = NULL; msg_ctx->op = NULL; msg_ctx->svc = NULL; msg_ctx->svc_grp = NULL; msg_ctx->transport_in_desc = NULL; msg_ctx->transport_out_desc = NULL; msg_ctx->soap_envelope = NULL; msg_ctx->fault_soap_envelope = NULL; msg_ctx->in_fault_flow = AXIS2_FALSE; msg_ctx->server_side = AXIS2_FALSE; msg_ctx->message_id = NULL; msg_ctx->new_thread_required = AXIS2_FALSE; msg_ctx->paused = AXIS2_FALSE; msg_ctx->keep_alive = AXIS2_FALSE; msg_ctx->output_written = AXIS2_FALSE; msg_ctx->svc_ctx_id = NULL; msg_ctx->paused_phase_name = NULL; msg_ctx->paused_handler_name = NULL; msg_ctx->soap_action = NULL; msg_ctx->rest_http_method = NULL; msg_ctx->supported_rest_http_methods = NULL; msg_ctx->doing_mtom = AXIS2_FALSE; msg_ctx->doing_rest = AXIS2_FALSE; msg_ctx->do_rest_through_post = AXIS2_FALSE; msg_ctx->manage_session = AXIS2_FALSE; msg_ctx->is_soap_11 = AXIS2_FALSE; msg_ctx->svc_grp_ctx_id = NULL; msg_ctx->transport_in_desc_enum = AXIS2_TRANSPORT_ENUM_MAX; msg_ctx->transport_out_desc_enum = AXIS2_TRANSPORT_ENUM_MAX; msg_ctx->svc_grp_id = NULL; msg_ctx->svc_qname = NULL; msg_ctx->op_qname = NULL; msg_ctx->flow = AXIS2_IN_FLOW; msg_ctx->execution_chain = NULL; msg_ctx->current_handler_index = -1; msg_ctx->paused_handler_index = -1; msg_ctx->current_phase_index = 0; msg_ctx->paused_phase_index = 0; msg_ctx->charset_encoding = NULL; msg_ctx->transport_out_stream = NULL; msg_ctx->out_transport_info = NULL; msg_ctx->transport_headers = NULL; msg_ctx->accept_record_list = NULL; msg_ctx->accept_charset_record_list = NULL; msg_ctx->output_headers = NULL; msg_ctx->accept_language_record_list = NULL; msg_ctx->transfer_encoding = NULL; msg_ctx->content_language = NULL; msg_ctx->transport_url = NULL; msg_ctx->response_soap_envelope = NULL; msg_ctx->is_auth_failure = AXIS2_FALSE; msg_ctx->required_auth_is_http = AXIS2_FALSE; msg_ctx->auth_type = NULL; msg_ctx->no_content = AXIS2_FALSE; msg_ctx->status_code = 0; msg_ctx->options = NULL; msg_ctx->mime_parts = NULL; msg_ctx->base = axis2_ctx_create(env); if (!(msg_ctx->base)) { axis2_msg_ctx_free(msg_ctx, env); return NULL; } if (transport_in_desc) msg_ctx->transport_in_desc = transport_in_desc; if (transport_out_desc) msg_ctx->transport_out_desc = transport_out_desc; if (conf_ctx) msg_ctx->conf_ctx = conf_ctx; if (msg_ctx->transport_in_desc) msg_ctx->transport_in_desc_enum = axis2_transport_in_desc_get_enum(transport_in_desc, env); if (msg_ctx->transport_out_desc) msg_ctx->transport_out_desc_enum = axis2_transport_out_desc_get_enum(transport_out_desc, env); msg_ctx->msg_info_headers = axis2_msg_info_headers_create(env, NULL, NULL); if (!(msg_ctx->msg_info_headers)) { axis2_msg_ctx_free(msg_ctx, env); return NULL; } msg_ctx->msg_info_headers_deep_copy = AXIS2_TRUE; msg_ctx->ref = 1; return msg_ctx; } /******************************************************************************/ struct axis2_ctx *AXIS2_CALL axis2_msg_ctx_get_base( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { return msg_ctx->base; } struct axis2_op_ctx *AXIS2_CALL axis2_msg_ctx_get_parent( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->parent; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_parent( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_op_ctx * parent) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (parent) { msg_ctx->parent = parent; } return AXIS2_SUCCESS; } void AXIS2_CALL axis2_msg_ctx_free( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (--(msg_ctx->ref) > 0) { return; } if (msg_ctx->keep_alive) { return; } if (msg_ctx->base) { axis2_ctx_free(msg_ctx->base, env); } if (msg_ctx->msg_info_headers && msg_ctx->msg_info_headers_deep_copy) { axis2_msg_info_headers_free(msg_ctx->msg_info_headers, env); } if (msg_ctx->message_id) { AXIS2_FREE(env->allocator, msg_ctx->message_id); } if (msg_ctx->svc_ctx_id) { AXIS2_FREE(env->allocator, msg_ctx->svc_ctx_id); } if (msg_ctx->soap_action) { axutil_string_free(msg_ctx->soap_action, env); } if (msg_ctx->rest_http_method) { AXIS2_FREE(env->allocator, msg_ctx->rest_http_method); } if (msg_ctx->svc_grp_ctx_id) { axutil_string_free(msg_ctx->svc_grp_ctx_id, env); } if (msg_ctx->soap_envelope) { axiom_soap_envelope_free(msg_ctx->soap_envelope, env); } if (msg_ctx->fault_soap_envelope) { axiom_soap_envelope_free(msg_ctx->fault_soap_envelope, env); } if (msg_ctx->charset_encoding) { axutil_string_free(msg_ctx->charset_encoding, env); } if (msg_ctx->transport_out_stream) { axutil_stream_free(msg_ctx->transport_out_stream, env); } if (msg_ctx->out_transport_info) { AXIS2_OUT_TRANSPORT_INFO_FREE(msg_ctx->out_transport_info, env); } if (msg_ctx->transport_headers) { axutil_hash_free(msg_ctx->transport_headers, env); } if (msg_ctx->accept_charset_record_list) { axis2_http_accept_record_t *rec = NULL; while (axutil_array_list_size(msg_ctx->accept_charset_record_list, env)) { rec = (axis2_http_accept_record_t *) axutil_array_list_remove(msg_ctx->accept_charset_record_list, env, 0); if (rec) { axis2_http_accept_record_free(rec, env); } } axutil_array_list_free(msg_ctx->accept_charset_record_list, env); } if (msg_ctx->output_headers) { axis2_http_header_t *header = NULL; while (axutil_array_list_size(msg_ctx->output_headers, env)) { header = (axis2_http_header_t *) axutil_array_list_remove(msg_ctx->output_headers, env, 0); if (header) { axis2_http_header_free(header, env); } } axutil_array_list_free(msg_ctx->output_headers, env); } if (msg_ctx->accept_language_record_list) { axis2_http_accept_record_t *rec = NULL; while (axutil_array_list_size(msg_ctx->accept_language_record_list, env)) { rec = (axis2_http_accept_record_t *) axutil_array_list_remove(msg_ctx->accept_language_record_list, env, 0); if (rec) { axis2_http_accept_record_free(rec, env); } } axutil_array_list_free(msg_ctx->accept_language_record_list, env); } if (msg_ctx->accept_record_list) { axis2_http_accept_record_t *rec = NULL; while (axutil_array_list_size(msg_ctx->accept_record_list, env)) { rec = (axis2_http_accept_record_t *) axutil_array_list_remove(msg_ctx->accept_record_list, env, 0); if (rec) { axis2_http_accept_record_free(rec, env); } } axutil_array_list_free(msg_ctx->accept_record_list, env); } if (msg_ctx->transfer_encoding) { AXIS2_FREE(env->allocator, msg_ctx->transfer_encoding); } if (msg_ctx->content_language) { AXIS2_FREE(env->allocator, msg_ctx->content_language); } if (msg_ctx->auth_type) { AXIS2_FREE(env->allocator, msg_ctx->auth_type); } if (msg_ctx->supported_rest_http_methods) { int i = 0; int size = 0; size = axutil_array_list_size(msg_ctx->supported_rest_http_methods, env); for (i = 0; i < size; i++) { axis2_char_t *rest_http_method = NULL; rest_http_method = axutil_array_list_get(msg_ctx->supported_rest_http_methods, env, i); if (rest_http_method) { AXIS2_FREE(env->allocator, rest_http_method); } } axutil_array_list_free(msg_ctx->supported_rest_http_methods, env); } if (msg_ctx->options) { /* freeing only axis2_options_t allocated space, should not * call axis2_options_free because it will free internal * properties as well. */ AXIS2_FREE (env->allocator, msg_ctx->options); } AXIS2_FREE(env->allocator, msg_ctx); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_increment_ref( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { msg_ctx->ref++; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_init( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_conf * conf) { AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->transport_in_desc = axis2_conf_get_transport_in(conf, env, msg_ctx-> transport_in_desc_enum); msg_ctx->transport_out_desc = axis2_conf_get_transport_out(conf, env, msg_ctx-> transport_out_desc_enum); if (msg_ctx->svc_grp_id) { msg_ctx->svc_grp = axis2_conf_get_svc_grp(conf, env, msg_ctx->svc_grp_id); } if (msg_ctx->svc_qname) { msg_ctx->svc = axis2_conf_get_svc(conf, env, axutil_qname_get_localpart(msg_ctx-> svc_qname, env)); } if (msg_ctx->op_qname) { if (msg_ctx->svc) msg_ctx->op = axis2_svc_get_op_with_qname(msg_ctx->svc, env, msg_ctx->op_qname); } return AXIS2_SUCCESS; } axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_fault_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_fault_to(msg_ctx->msg_info_headers, env); } return NULL; } axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_from( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_from(msg_ctx->msg_info_headers, env); } return NULL; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_in_fault_flow( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->in_fault_flow; } axiom_soap_envelope_t *AXIS2_CALL axis2_msg_ctx_get_soap_envelope( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->soap_envelope; } axiom_soap_envelope_t *AXIS2_CALL axis2_msg_ctx_get_response_soap_envelope( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->response_soap_envelope; } axiom_soap_envelope_t *AXIS2_CALL axis2_msg_ctx_get_fault_soap_envelope( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->fault_soap_envelope; } const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_msg_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_message_id(msg_ctx->msg_info_headers, env); } return NULL; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_msg_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * msg_id) { AXIS2_PARAM_CHECK (env->error, msg_id, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_message_id(msg_ctx->msg_info_headers, env, msg_id); } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_process_fault( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->process_fault; } axis2_relates_to_t *AXIS2_CALL axis2_msg_ctx_get_relates_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_relates_to(msg_ctx->msg_info_headers, env); } return NULL; } axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_reply_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_reply_to(msg_ctx->msg_info_headers, env); } return NULL; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_server_side( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->server_side; } axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_to(msg_ctx->msg_info_headers, env); } return NULL; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_fault_to( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_to(msg_ctx->msg_info_headers, env, reference); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_from( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_from(msg_ctx->msg_info_headers, env, reference); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_in_fault_flow( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t in_fault_flow) { msg_ctx->in_fault_flow = in_fault_flow; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_soap_envelope( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axiom_soap_envelope_t * soap_envelope) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (soap_envelope) { int soap_v = AXIOM_SOAP12; soap_v = axiom_soap_envelope_get_soap_version(soap_envelope, env); msg_ctx->is_soap_11 = (soap_v == AXIOM_SOAP12) ? AXIS2_FALSE : AXIS2_TRUE; msg_ctx->soap_envelope = soap_envelope; } else { msg_ctx->soap_envelope = NULL; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_response_soap_envelope( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axiom_soap_envelope_t * soap_envelope) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (soap_envelope) { int soap_v = AXIOM_SOAP12; soap_v = axiom_soap_envelope_get_soap_version(soap_envelope, env); msg_ctx->response_soap_envelope = soap_envelope; } else { msg_ctx->response_soap_envelope = NULL; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_fault_soap_envelope( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axiom_soap_envelope_t * soap_envelope) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->fault_soap_envelope = soap_envelope; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_message_id( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * message_id) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_message_id(msg_ctx->msg_info_headers, env, message_id); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_process_fault( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t process_fault) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->process_fault = process_fault; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_relates_to( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_relates_to_t * reference) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_relates_to(msg_ctx->msg_info_headers, env, reference); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_reply_to( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_reply_to(msg_ctx->msg_info_headers, env, reference); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_server_side( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t server_side) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->server_side = server_side; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_to( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_to(msg_ctx->msg_info_headers, env, reference); } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_new_thread_required( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); return msg_ctx->new_thread_required; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_new_thread_required( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t new_thread_required) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->new_thread_required = new_thread_required; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_wsa_action( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * action_uri) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_action(msg_ctx->msg_info_headers, env, action_uri); } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_wsa_action( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_action(msg_ctx->msg_info_headers, env); } return NULL; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_wsa_message_id( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * message_id) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_set_message_id(msg_ctx->msg_info_headers, env, message_id); } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_wsa_message_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->msg_info_headers) { return axis2_msg_info_headers_get_message_id(msg_ctx->msg_info_headers, env); } return NULL; } axis2_msg_info_headers_t *AXIS2_CALL axis2_msg_ctx_get_msg_info_headers( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->msg_info_headers; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_paused( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->paused; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_paused( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t paused) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->paused = paused; msg_ctx->paused_phase_index = msg_ctx->current_phase_index; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_keep_alive( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t keep_alive) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->keep_alive = keep_alive; return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_is_keep_alive( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->keep_alive; } struct axis2_transport_in_desc *AXIS2_CALL axis2_msg_ctx_get_transport_in_desc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->transport_in_desc; } struct axis2_transport_out_desc *AXIS2_CALL axis2_msg_ctx_get_transport_out_desc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->transport_out_desc; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_in_desc( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_transport_in_desc * transport_in_desc) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (transport_in_desc) { msg_ctx->transport_in_desc = transport_in_desc; msg_ctx->transport_in_desc_enum = axis2_transport_in_desc_get_enum(transport_in_desc, env); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_out_desc( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_transport_out_desc * transport_out_desc) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (transport_out_desc) { msg_ctx->transport_out_desc = transport_out_desc; msg_ctx->transport_out_desc_enum = axis2_transport_out_desc_get_enum(transport_out_desc, env); } return AXIS2_SUCCESS; } struct axis2_op_ctx *AXIS2_CALL axis2_msg_ctx_get_op_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->op_ctx; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_op_ctx( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_op_ctx * op_ctx) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (op_ctx) { msg_ctx->op_ctx = op_ctx; if (msg_ctx->svc_ctx) { if (!(axis2_op_ctx_get_parent(msg_ctx->op_ctx, env))) { axis2_op_ctx_set_parent(msg_ctx->op_ctx, env, msg_ctx->svc_ctx); } } axis2_msg_ctx_set_parent(msg_ctx, env, op_ctx); axis2_msg_ctx_set_op(msg_ctx, env, axis2_op_ctx_get_op(op_ctx, env)); } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_output_written( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->output_written; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_output_written( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t output_written) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->output_written = output_written; return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_rest_http_method( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->rest_http_method; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_rest_http_method( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * rest_http_method) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->rest_http_method) { AXIS2_FREE(env->allocator, msg_ctx->rest_http_method); msg_ctx->rest_http_method = NULL; } if (rest_http_method) { msg_ctx->rest_http_method = axutil_strdup(env, rest_http_method); if (!(msg_ctx->rest_http_method)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_svc_ctx_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->svc_ctx_id; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_ctx_id( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * svc_ctx_id) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->svc_ctx_id) { AXIS2_FREE(env->allocator, msg_ctx->svc_ctx_id); msg_ctx->svc_ctx_id = NULL; } if (svc_ctx_id) { msg_ctx->svc_ctx_id = axutil_strdup(env, svc_ctx_id); if (!(msg_ctx->svc_ctx_id)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } struct axis2_conf_ctx *AXIS2_CALL axis2_msg_ctx_get_conf_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->conf_ctx; } struct axis2_svc_ctx *AXIS2_CALL axis2_msg_ctx_get_svc_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->svc_ctx; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_conf_ctx( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_conf_ctx * conf_ctx) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (conf_ctx) { msg_ctx->conf_ctx = conf_ctx; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_ctx( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_svc_ctx * svc_ctx) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (svc_ctx) { msg_ctx->svc_ctx = svc_ctx; if (msg_ctx->op_ctx) { if (!axis2_op_ctx_get_parent(msg_ctx->op_ctx, env)) axis2_op_ctx_set_parent(msg_ctx->op_ctx, env, svc_ctx); } axis2_msg_ctx_set_svc(msg_ctx, env, axis2_svc_ctx_get_svc(svc_ctx, env)); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_msg_info_headers( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_msg_info_headers_t * msg_info_headers) { AXIS2_PARAM_CHECK (env->error, msg_info_headers, AXIS2_FAILURE); if (msg_info_headers) { if (msg_ctx->msg_info_headers && msg_ctx->msg_info_headers_deep_copy) { axis2_msg_info_headers_free(msg_ctx->msg_info_headers, env); msg_ctx->msg_info_headers = NULL; } msg_ctx->msg_info_headers = msg_info_headers; msg_ctx->msg_info_headers_deep_copy = AXIS2_FALSE; } return AXIS2_SUCCESS; } axutil_param_t *AXIS2_CALL axis2_msg_ctx_get_parameter( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * key) { axutil_param_t *param = NULL; AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx->op) { param = axis2_op_get_param(msg_ctx->op, env, key); if (param) { return param; } } if (msg_ctx->svc) { param = axis2_svc_get_param(msg_ctx->svc, env, key); if (param) { return param; } } if (msg_ctx->svc_grp) { param = axis2_svc_grp_get_param(msg_ctx->svc_grp, env, key); if (param) { return param; } } if (msg_ctx->conf_ctx) { axis2_conf_t *conf = axis2_conf_ctx_get_conf(msg_ctx->conf_ctx, env); param = axis2_conf_get_param(conf, env, key); } return param; } AXIS2_EXTERN void *AXIS2_CALL axis2_msg_ctx_get_property_value( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * property_str) { axutil_property_t *property; void *property_value = NULL; AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); property = axis2_msg_ctx_get_property(msg_ctx, env, property_str); if (!property) { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "%s not set in message context", property_str); return NULL; } property_value = axutil_property_get_value(property, env); if (!property_value) { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "%s properties not set in message context", property_str); return NULL; } return property_value; } axutil_property_t *AXIS2_CALL axis2_msg_ctx_get_property( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * key) { void *obj = NULL; axis2_ctx_t *ctx = NULL; /* Don't use AXIS2_PARAM_CHECK to verify msg_ctx, as it clobbers env->error->status_code destroying the information therein that an error has already occurred. */ if (!msg_ctx) { if (axutil_error_get_status_code(env->error) == AXIS2_SUCCESS) { AXIS2_ERROR_SET (env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); } return obj; } /* search in message context */ obj = axis2_ctx_get_property(msg_ctx->base, env, key); if (obj) { return obj; } if (msg_ctx->op_ctx) { ctx = axis2_op_ctx_get_base(msg_ctx->op_ctx, env); if (ctx) { obj = axis2_ctx_get_property(ctx, env, key); if (obj) { return obj; } } } if (msg_ctx->svc_ctx) { ctx = axis2_svc_ctx_get_base(msg_ctx->svc_ctx, env); if (ctx) { obj = axis2_ctx_get_property(ctx, env, key); if (obj) { return obj; } } } if (msg_ctx->svc_grp_ctx) { ctx = axis2_svc_grp_ctx_get_base(msg_ctx->svc_grp_ctx, env); if (ctx) { obj = axis2_ctx_get_property(ctx, env, key); if (obj) { return obj; } } } if (msg_ctx->conf_ctx) { ctx = axis2_conf_ctx_get_base(msg_ctx->conf_ctx, env); if (ctx) { obj = axis2_ctx_get_property(ctx, env, key); if (obj) { return obj; } } } return NULL; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_property( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * key, axutil_property_t * value) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); return axis2_ctx_set_property(msg_ctx->base, env, key, value); } const axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_paused_handler_name( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->paused_handler_name; } const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_paused_phase_name( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->paused_phase_name; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_paused_phase_name( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * paused_phase_name) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); /* a shallow copy is sufficient as phase lives beyond message */ msg_ctx->paused_phase_name = (axis2_char_t *) paused_phase_name; return AXIS2_SUCCESS; } axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_soap_action( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->soap_action; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_soap_action( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axutil_string_t * soap_action) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->soap_action) { axutil_string_free(msg_ctx->soap_action, env); } if (soap_action) { msg_ctx->soap_action = axutil_string_clone(soap_action, env); if (!(msg_ctx->soap_action)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_doing_mtom( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); if (!(msg_ctx->doing_mtom) && msg_ctx->conf_ctx) { axis2_conf_t *conf = axis2_conf_ctx_get_conf(msg_ctx->conf_ctx, env); msg_ctx->doing_mtom = axis2_conf_get_enable_mtom(conf, env); } return msg_ctx->doing_mtom; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_doing_mtom( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t doing_mtom) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->doing_mtom = doing_mtom; return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_doing_rest( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { /* Don't use AXIS2_PARAM_CHECK to verify msg_ctx, as it clobbers env->error->status_code destroying the information therein that an error has already occurred. */ if (!msg_ctx) { if (axutil_error_get_status_code(env->error) == AXIS2_SUCCESS) { AXIS2_ERROR_SET (env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); } return AXIS2_FALSE; } return msg_ctx->doing_rest; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_doing_rest( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t doing_rest) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->doing_rest = doing_rest; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_do_rest_through_post( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t do_rest_through_post) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->do_rest_through_post = do_rest_through_post; return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_do_rest_through_post( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->do_rest_through_post; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_manage_session( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->manage_session; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_manage_session( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t manage_session) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->manage_session = manage_session; return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_is_soap_11( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->is_soap_11; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_is_soap_11( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_bool_t is_soap11) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->is_soap_11 = is_soap11; return AXIS2_SUCCESS; } struct axis2_svc_grp_ctx *AXIS2_CALL axis2_msg_ctx_get_svc_grp_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->svc_grp_ctx; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_grp_ctx( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, struct axis2_svc_grp_ctx * svc_grp_ctx) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (svc_grp_ctx) { msg_ctx->svc_grp_ctx = svc_grp_ctx; } return AXIS2_SUCCESS; } axis2_op_t *AXIS2_CALL axis2_msg_ctx_get_op( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->op; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_op( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_op_t * op) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (op) { msg_ctx->op = op; msg_ctx->op_qname = (axutil_qname_t *) axis2_op_get_qname(op, env); } return AXIS2_SUCCESS; } axis2_svc_t *AXIS2_CALL axis2_msg_ctx_get_svc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->svc; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (svc) { axis2_svc_grp_t *svc_grp = NULL; msg_ctx->svc = svc; msg_ctx->svc_qname = (axutil_qname_t *) axis2_svc_get_qname(svc, env); svc_grp = axis2_svc_get_parent(svc, env); if (svc_grp) { msg_ctx->svc_grp = svc_grp; msg_ctx->svc_grp_id = (axis2_char_t *) axis2_svc_grp_get_name(svc_grp, env); } } return AXIS2_SUCCESS; } axis2_svc_grp_t *AXIS2_CALL axis2_msg_ctx_get_svc_grp( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->svc_grp; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_grp( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axis2_svc_grp_t * svc_grp) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (svc_grp) { msg_ctx->svc_grp = svc_grp; msg_ctx->svc_grp_id = (axis2_char_t *) axis2_svc_grp_get_name(svc_grp, env); } return AXIS2_SUCCESS; } const axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_svc_grp_ctx_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->svc_grp_ctx_id; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_grp_ctx_id( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, axutil_string_t * svc_grp_ctx_id) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx->svc_grp_ctx_id) { axutil_string_free(msg_ctx->svc_grp_ctx_id, env); msg_ctx->svc_grp_ctx_id = NULL; } if (svc_grp_ctx_id) { msg_ctx->svc_grp_ctx_id = axutil_string_clone(svc_grp_ctx_id, env); } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_msg_ctx_is_paused( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->paused; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, AXIS2_MSG_CTX_FIND_SVC func) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->find_svc = func; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, AXIS2_MSG_CTX_FIND_OP func) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->find_op = func; return AXIS2_SUCCESS; } axis2_options_t *AXIS2_CALL axis2_msg_ctx_get_options( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axutil_hash_t *properties = NULL; AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (!msg_ctx->options) { msg_ctx->options = axis2_options_create(env); if (!msg_ctx->options) { return NULL; } } axis2_options_set_msg_info_headers(msg_ctx->options, env, msg_ctx->msg_info_headers); properties = axis2_ctx_get_property_map(msg_ctx->base, env); axis2_options_set_properties(msg_ctx->options, env, properties); return msg_ctx->options; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_options( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_options_t * options) { axutil_property_t *rest_val = NULL; axis2_char_t *value; axutil_string_t *soap_action = NULL;; AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, options, AXIS2_FAILURE); if (msg_ctx->msg_info_headers && msg_ctx->msg_info_headers_deep_copy) { axis2_msg_info_headers_free(msg_ctx->msg_info_headers, env); } msg_ctx->msg_info_headers = axis2_options_get_msg_info_headers(options, env); msg_ctx->msg_info_headers_deep_copy = AXIS2_FALSE; msg_ctx->doing_mtom = axis2_options_get_enable_mtom(options, env); msg_ctx->manage_session = axis2_options_get_manage_session(options, env); axis2_ctx_set_property_map(msg_ctx->base, env, axis2_options_get_properties(options, env)); rest_val = (axutil_property_t *) axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_ENABLE_REST); if (rest_val) { value = (axis2_char_t *) axutil_property_get_value(rest_val, env); if (value) { if (axutil_strcmp(value, AXIS2_VALUE_TRUE) == 0) axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_TRUE); } } if (msg_ctx->soap_action) { axutil_string_free(msg_ctx->soap_action, env); } soap_action = axis2_options_get_soap_action(options, env); if (soap_action) { msg_ctx->soap_action = axutil_string_clone(soap_action, env); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_flow( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, int flow) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->flow = flow; return AXIS2_SUCCESS; } int AXIS2_CALL axis2_msg_ctx_get_flow( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, 0); return msg_ctx->flow; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_execution_chain( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * execution_chain) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->execution_chain = execution_chain; msg_ctx->current_handler_index = -1; msg_ctx->paused_handler_index = -1; msg_ctx->current_phase_index = 0; return AXIS2_SUCCESS; } axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_execution_chain( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->execution_chain; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_supported_rest_http_methods( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * supported_rest_http_methods) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->supported_rest_http_methods = supported_rest_http_methods; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_supported_rest_http_methods( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->supported_rest_http_methods; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_current_handler_index( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const int index) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->current_handler_index = index; if (msg_ctx->execution_chain) { axis2_handler_t *handler = (axis2_handler_t *) axutil_array_list_get(msg_ctx->execution_chain, env, index); if (handler) { msg_ctx->paused_handler_name = (axutil_string_t *) axis2_handler_get_name(handler, env); } } return AXIS2_SUCCESS; } int AXIS2_CALL axis2_msg_ctx_get_current_handler_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, 0); return msg_ctx->current_handler_index; } int AXIS2_CALL axis2_msg_ctx_get_paused_handler_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, 0); return msg_ctx->paused_handler_index; } axis2_status_t AXIS2_CALL axis2_msg_ctx_set_current_phase_index( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const int index) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->current_phase_index = index; return AXIS2_SUCCESS; } int AXIS2_CALL axis2_msg_ctx_get_current_phase_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, 0); return msg_ctx->current_phase_index; } int AXIS2_CALL axis2_msg_ctx_get_paused_phase_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, 0); return msg_ctx->paused_phase_index; } AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_msg_ctx_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->find_svc(msg_ctx, env); } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_msg_ctx_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); return msg_ctx->find_op(msg_ctx, env, svc); } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_charset_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx) return msg_ctx->charset_encoding; else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_charset_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_string_t * str) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx) { if (msg_ctx->charset_encoding) { axutil_string_free(msg_ctx->charset_encoding, env); msg_ctx->charset_encoding = NULL; } if (str) { msg_ctx->charset_encoding = axutil_string_clone(str, env); } } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_msg_ctx_get_transport_out_stream( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx) { return msg_ctx->transport_out_stream; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_out_stream( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_stream_t * stream) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx) { if (msg_ctx->transport_out_stream) { axutil_stream_free(msg_ctx->transport_out_stream, env); } msg_ctx->transport_out_stream = stream; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_reset_transport_out_stream( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx) { msg_ctx->transport_out_stream = NULL; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_out_transport_info_t *AXIS2_CALL axis2_msg_ctx_get_out_transport_info( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); if (msg_ctx) { return msg_ctx->out_transport_info; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_out_transport_info( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_out_transport_info_t * out_transport_info) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx) { if (msg_ctx->out_transport_info) { AXIS2_OUT_TRANSPORT_INFO_FREE(msg_ctx->out_transport_info, env); } msg_ctx->out_transport_info = out_transport_info; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_reset_out_transport_info( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); if (msg_ctx) { msg_ctx->out_transport_info = NULL; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_msg_ctx_get_transport_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) { return msg_ctx->transport_headers; } else { return NULL; } } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_msg_ctx_extract_transport_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axutil_hash_t *temp = NULL; if (msg_ctx) { temp = msg_ctx->transport_headers; msg_ctx->transport_headers = NULL; return temp; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_hash_t * transport_headers) { if (msg_ctx) { if (msg_ctx->transport_headers) { axutil_hash_free(msg_ctx->transport_headers, env); } msg_ctx->transport_headers = transport_headers; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_accept_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) { return msg_ctx->accept_record_list; } else { return NULL; } } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_accept_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axutil_array_list_t *temp = NULL; if (msg_ctx) { temp = msg_ctx->accept_record_list; msg_ctx->accept_record_list = NULL; return temp; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_accept_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * accept_record_list) { if (msg_ctx) { if (msg_ctx->accept_record_list && msg_ctx->accept_record_list != accept_record_list) { axis2_http_accept_record_t *rec = NULL; while (axutil_array_list_size(msg_ctx->accept_record_list, env)) { rec = (axis2_http_accept_record_t *) axutil_array_list_remove(msg_ctx->accept_record_list, env, 0); if (rec) { axis2_http_accept_record_free(rec, env); } } axutil_array_list_free(msg_ctx->accept_record_list, env); } msg_ctx->accept_record_list = accept_record_list; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_accept_charset_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) { return msg_ctx->accept_charset_record_list; } else { return NULL; } } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_accept_charset_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axutil_array_list_t *temp = NULL; if (msg_ctx) { temp = msg_ctx->accept_charset_record_list; msg_ctx->accept_charset_record_list = NULL; return temp; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_accept_charset_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * accept_charset_record_list) { if (msg_ctx) { if (msg_ctx->accept_charset_record_list && msg_ctx->accept_charset_record_list != accept_charset_record_list) { axis2_http_accept_record_t *rec = NULL; while (axutil_array_list_size(msg_ctx->accept_charset_record_list, env)) { rec = (axis2_http_accept_record_t *) axutil_array_list_remove(msg_ctx->accept_charset_record_list, env, 0); if (rec) { axis2_http_accept_record_free(rec, env); } } axutil_array_list_free(msg_ctx->accept_charset_record_list, env); } msg_ctx->accept_charset_record_list = accept_charset_record_list; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_output_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) { return msg_ctx->output_headers; } else { return NULL; } } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_output_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) { axutil_array_list_t *temp = NULL; temp = msg_ctx->output_headers; msg_ctx->output_headers = NULL; return temp; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_output_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * output_headers) { if (msg_ctx) { if (msg_ctx->output_headers && msg_ctx->output_headers != output_headers) { axis2_http_header_t *header = NULL; while (axutil_array_list_size(msg_ctx->output_headers, env)) { header = (axis2_http_header_t *) axutil_array_list_remove(msg_ctx->output_headers, env, 0); if (header) { axis2_http_header_free(header, env); } } axutil_array_list_free(msg_ctx->output_headers, env); } msg_ctx->output_headers = output_headers; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_accept_language_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) { return msg_ctx->accept_language_record_list; } else { return NULL; } } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_accept_language_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axutil_array_list_t *temp = NULL; if (msg_ctx) { temp = msg_ctx->accept_language_record_list; msg_ctx->accept_language_record_list = NULL; return temp; } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_accept_language_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * accept_language_record_list) { if (msg_ctx) { if (msg_ctx->accept_language_record_list && msg_ctx->accept_language_record_list != accept_language_record_list) { axis2_http_accept_record_t *rec = NULL; while (axutil_array_list_size(msg_ctx->accept_language_record_list, env)) { rec = (axis2_http_accept_record_t *) axutil_array_list_remove(msg_ctx->accept_language_record_list, env, 0); if (rec) { axis2_http_accept_record_free(rec, env); } } axutil_array_list_free(msg_ctx->accept_language_record_list, env); } msg_ctx->accept_language_record_list = accept_language_record_list; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_transfer_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) return msg_ctx->transfer_encoding; else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transfer_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * str) { if (msg_ctx) { if (msg_ctx->transfer_encoding) { AXIS2_FREE(env->allocator, msg_ctx->transfer_encoding); msg_ctx->transfer_encoding = NULL; } if (str) { msg_ctx->transfer_encoding = str; } } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_content_language( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) return msg_ctx->content_language; else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_content_language( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * str) { if (msg_ctx) { if (msg_ctx->content_language) { AXIS2_FREE(env->allocator, msg_ctx->content_language); msg_ctx->content_language = NULL; } if (str) { msg_ctx->content_language = str; } } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_transport_url( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (msg_ctx) return msg_ctx->transport_url; else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_url( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * str) { if (msg_ctx) { /* this is a shallow copy, no need to free */ msg_ctx->transport_url = str; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_status_code( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, 0); return msg_ctx->status_code; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_status_code( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const int status_code) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->status_code = status_code; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_auth_failed( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->is_auth_failure; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_auth_failed( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t status) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->is_auth_failure = status; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_no_content( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->no_content; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_no_content( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t no_content) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->no_content = no_content; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_required_auth_is_http( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FALSE); return msg_ctx->required_auth_is_http; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_required_auth_is_http( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t status) { AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); msg_ctx->required_auth_is_http = status; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_auth_type( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * auth_type) { if (msg_ctx->auth_type) { AXIS2_FREE(env->allocator, msg_ctx->auth_type); } msg_ctx->auth_type = NULL; if (auth_type) { msg_ctx->auth_type = axutil_strdup(env, auth_type); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_auth_type( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { return msg_ctx->auth_type; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_mime_parts( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { return msg_ctx->mime_parts; } AXIS2_EXTERN void AXIS2_CALL axis2_msg_ctx_set_mime_parts( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t *mime_parts) { if(msg_ctx->mime_parts) { axutil_array_list_free(mime_parts, env); msg_ctx->mime_parts = NULL; } msg_ctx->mime_parts = mime_parts; } axis2c-src-1.6.0/src/core/context/conf_ctx.c0000644000175000017500000004247111166304450022016 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axis2_conf_ctx { /** base context struct */ axis2_ctx_t *base; /** engine configuration */ axis2_conf_t *conf; /** root directory */ /* should be handled as a URL string ? */ axis2_char_t *root_dir; /** * axutil_hash_t *containing message ID to * operation context mapping. */ axutil_hash_t *op_ctx_map; axutil_hash_t *svc_ctx_map; axutil_hash_t *svc_grp_ctx_map; /* Mutex to synchronize the read/write operations */ axutil_thread_mutex_t *mutex; }; AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_conf_ctx_create( const axutil_env_t * env, axis2_conf_t * conf) { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_conf_ctx_t)); if (!conf_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } conf_ctx->base = NULL; conf_ctx->conf = NULL; conf_ctx->root_dir = NULL; conf_ctx->op_ctx_map = NULL; conf_ctx->svc_ctx_map = NULL; conf_ctx->svc_grp_ctx_map = NULL; conf_ctx->mutex = axutil_thread_mutex_create(env->allocator, AXIS2_THREAD_MUTEX_DEFAULT); if (!conf_ctx->mutex) { axis2_conf_ctx_free(conf_ctx, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create thread mutex"); return NULL; } if (conf) conf_ctx->conf = conf; conf_ctx->base = axis2_ctx_create(env); if (!(conf_ctx->base)) { axis2_conf_ctx_free(conf_ctx, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create base context"); return NULL; } conf_ctx->op_ctx_map = axutil_hash_make(env); if (!(conf_ctx->op_ctx_map)) { axis2_conf_ctx_free(conf_ctx, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create operation context map"); return NULL; } conf_ctx->svc_ctx_map = axutil_hash_make(env); if (!(conf_ctx->svc_ctx_map)) { axis2_conf_ctx_free(conf_ctx, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create service context map"); return NULL; } conf_ctx->svc_grp_ctx_map = axutil_hash_make(env); if (!(conf_ctx->svc_grp_ctx_map)) { axis2_conf_ctx_free(conf_ctx, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create service group context map"); return NULL; } return conf_ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_set_conf( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, axis2_conf_t * conf) { conf_ctx->conf = conf; /* We just maintain a shallow copy here */ return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_conf_ctx_get_base( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { return conf_ctx->base; } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_conf_ctx_get_conf( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { return conf_ctx->conf; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_ctx_get_op_ctx_map( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { return conf_ctx->op_ctx_map; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_ctx_get_svc_ctx_map( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { return conf_ctx->svc_ctx_map; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_ctx_get_svc_grp_ctx_map( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { return conf_ctx->svc_grp_ctx_map; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_register_op_ctx( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * message_id, axis2_op_ctx_t * op_ctx) { axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->op_ctx_map) { axutil_hash_set(conf_ctx->op_ctx_map, message_id, AXIS2_HASH_KEY_STRING, op_ctx); } axutil_thread_mutex_unlock(conf_ctx->mutex); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_conf_ctx_get_op_ctx( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * message_id) { axis2_op_ctx_t *rv = NULL; AXIS2_PARAM_CHECK(env->error, message_id, NULL); axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->op_ctx_map) { rv = (axis2_op_ctx_t *) axutil_hash_get(conf_ctx->op_ctx_map, message_id, AXIS2_HASH_KEY_STRING); } axutil_thread_mutex_unlock(conf_ctx->mutex); return rv; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_register_svc_ctx( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_id, axis2_svc_ctx_t * svc_ctx) { axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->svc_ctx_map) { axutil_hash_set(conf_ctx->svc_ctx_map, svc_id, AXIS2_HASH_KEY_STRING, svc_ctx); } axutil_thread_mutex_unlock(conf_ctx->mutex); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_conf_ctx_get_svc_ctx( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_id) { axis2_svc_ctx_t *rv = NULL; axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->svc_ctx_map) { rv = (axis2_svc_ctx_t *) axutil_hash_get(conf_ctx->svc_ctx_map, svc_id, AXIS2_HASH_KEY_STRING); } axutil_thread_mutex_unlock(conf_ctx->mutex); return rv; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_register_svc_grp_ctx( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_grp_id, axis2_svc_grp_ctx_t * svc_grp_ctx) { axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->svc_grp_ctx_map) { axutil_hash_set(conf_ctx->svc_grp_ctx_map, svc_grp_id, AXIS2_HASH_KEY_STRING, svc_grp_ctx); } axutil_thread_mutex_unlock(conf_ctx->mutex); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_conf_ctx_get_svc_grp_ctx( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_grp_id) { axis2_svc_grp_ctx_t *rv = NULL; axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->svc_grp_ctx_map) { rv = (axis2_svc_grp_ctx_t *) axutil_hash_get(conf_ctx->svc_grp_ctx_map, svc_grp_id, AXIS2_HASH_KEY_STRING); } axutil_thread_mutex_unlock(conf_ctx->mutex); return rv; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_ctx_get_root_dir( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { axis2_char_t *rv = NULL; axutil_thread_mutex_lock(conf_ctx->mutex); rv = conf_ctx->root_dir; axutil_thread_mutex_unlock(conf_ctx->mutex); return rv; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_set_root_dir( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * path) { axutil_thread_mutex_lock(conf_ctx->mutex); if (conf_ctx->root_dir) { AXIS2_FREE(env->allocator, conf_ctx->root_dir); conf_ctx->root_dir = NULL; } if (path) { conf_ctx->root_dir = axutil_strdup(env, path); if (!(conf_ctx->root_dir)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axutil_thread_mutex_unlock(conf_ctx->mutex); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } } axutil_thread_mutex_unlock(conf_ctx->mutex); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_init( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, axis2_conf_t * conf) { axutil_hash_index_t *hi = NULL; void *ctx = NULL; axutil_thread_mutex_lock(conf_ctx->mutex); conf_ctx->conf = conf; for (hi = axutil_hash_first(conf_ctx->op_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &ctx); if (ctx) { axis2_op_ctx_t *op_ctx = (axis2_op_ctx_t *) ctx; axis2_op_ctx_init(op_ctx, env, conf); } } for (hi = axutil_hash_first(conf_ctx->svc_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &ctx); if (ctx) { axis2_svc_ctx_t *svc_ctx = (axis2_svc_ctx_t *) ctx; axis2_svc_ctx_init(svc_ctx, env, conf); } } for (hi = axutil_hash_first(conf_ctx->svc_grp_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &ctx); if (ctx) { axis2_svc_grp_ctx_t *svc_grp_ctx = (axis2_svc_grp_ctx_t *) ctx; axis2_svc_grp_ctx_init(svc_grp_ctx, env, conf); } } axutil_thread_mutex_unlock(conf_ctx->mutex); return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_conf_ctx_free( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env) { if (conf_ctx->base) { axis2_ctx_free(conf_ctx->base, env); } if (conf_ctx->op_ctx_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf_ctx->op_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axis2_op_ctx_t *op_ctx = NULL; axutil_hash_this(hi, NULL, NULL, &val); op_ctx = (axis2_op_ctx_t *) val; if (op_ctx) axis2_op_ctx_free(op_ctx, env); val = NULL; op_ctx = NULL; } axutil_hash_free(conf_ctx->op_ctx_map, env); } if (conf_ctx->svc_ctx_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf_ctx->svc_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axis2_svc_ctx_t *svc_ctx = NULL; axutil_hash_this(hi, NULL, NULL, &val); svc_ctx = (axis2_svc_ctx_t *) val; if (svc_ctx) axis2_svc_ctx_free(svc_ctx, env); val = NULL; svc_ctx = NULL; } axutil_hash_free(conf_ctx->svc_ctx_map, env); } if (conf_ctx->svc_grp_ctx_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf_ctx->svc_grp_ctx_map, env); hi; hi = axutil_hash_next(env, hi)) { axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; axutil_hash_this(hi, NULL, NULL, &val); svc_grp_ctx = (axis2_svc_grp_ctx_t *) val; if (svc_grp_ctx) axis2_svc_grp_ctx_free(svc_grp_ctx, env); val = NULL; svc_grp_ctx = NULL; } axutil_hash_free(conf_ctx->svc_grp_ctx_map, env); } if (conf_ctx->conf) { axis2_conf_free(conf_ctx->conf, env); } if (conf_ctx->mutex) { axutil_thread_mutex_destroy(conf_ctx->mutex); } AXIS2_FREE(env->allocator, conf_ctx); return; } AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_conf_ctx_fill_ctxs( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_char_t *svc_grp_ctx_id = NULL; axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_svc_t *svc = NULL; axis2_svc_grp_t *svc_grp = NULL; const axutil_qname_t *qname = NULL; axis2_char_t *svc_id = NULL; axis2_op_ctx_t *op_ctx = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); svc = axis2_msg_ctx_get_svc(msg_ctx, env); if (!svc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SERVICE_NOT_YET_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service not yet found in message context. Cannot proceed"); return NULL; } qname = axis2_svc_get_qname(svc, env); if (!qname) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service found in message context has no name."); return NULL; } svc_id = axutil_qname_get_localpart(qname, env); if (!svc_id) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service found in message context has no name."); return NULL; } svc_grp = axis2_svc_get_parent(svc, env); if (svc_grp) { svc_grp_ctx_id = (axis2_char_t *) axis2_svc_grp_get_name(svc_grp, env); } if (!svc_grp_ctx_id) { svc_grp_ctx_id = (axis2_char_t *) axutil_string_get_buffer(axis2_msg_ctx_get_svc_grp_ctx_id( msg_ctx, env), env); } /* By this time service group context id must have a value, either from transport or from * addressing */ if (svc_grp_ctx_id) { svc_grp_ctx = (axis2_svc_grp_ctx_t *) axutil_hash_get(conf_ctx->svc_grp_ctx_map, svc_grp_ctx_id, AXIS2_HASH_KEY_STRING); if (svc_grp_ctx) { svc_ctx = axis2_svc_grp_ctx_get_svc_ctx(svc_grp_ctx, env, svc_id); if (!svc_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC_GRP, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service group context has no servie context set for service %s", svc_id); return NULL; } } } if (!svc_grp_ctx_id) { svc_grp_ctx_id = axutil_uuid_gen(env); if (svc_grp_ctx_id) { axutil_string_t *svc_grp_ctx_id_str = axutil_string_create_assume_ownership(env, &svc_grp_ctx_id); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, svc_grp_ctx_id_str); axutil_string_free(svc_grp_ctx_id_str, env); } } if (!svc_grp_ctx) { axis2_svc_grp_t *svc_grp = NULL; svc_grp = axis2_svc_get_parent(svc, env); svc_grp_ctx = axis2_svc_grp_get_svc_grp_ctx(svc_grp, env, conf_ctx); svc_ctx = axis2_svc_grp_ctx_get_svc_ctx(svc_grp_ctx, env, svc_id); if (!svc_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC_GRP, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service group context has no servie context set for service %s", svc_id); return NULL; } axis2_svc_grp_ctx_set_id(svc_grp_ctx, env, svc_grp_ctx_id); axis2_conf_ctx_register_svc_grp_ctx(conf_ctx, env, svc_grp_ctx_id, svc_grp_ctx); } /* When you come here operation context MUST have already been assigned to the message context */ op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (!op_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_MSG_CTX, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Operation context not set for message context"); return NULL; } axis2_op_ctx_set_parent(op_ctx, env, svc_ctx); axis2_msg_ctx_set_svc_ctx(msg_ctx, env, svc_ctx); axis2_msg_ctx_set_svc_grp_ctx(msg_ctx, env, svc_grp_ctx); return svc_grp_ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_set_property( axis2_conf_ctx_t *conf_ctx, const axutil_env_t * env, const axis2_char_t * key, axutil_property_t * value) { axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, key, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); axutil_thread_mutex_lock(conf_ctx->mutex); status = axis2_ctx_set_property(conf_ctx->base, env, key, value); axutil_thread_mutex_unlock(conf_ctx->mutex); return status; } AXIS2_EXTERN axutil_property_t *AXIS2_CALL axis2_conf_ctx_get_property( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * key) { axutil_property_t* property = NULL; AXIS2_PARAM_CHECK(env->error, conf_ctx, NULL); AXIS2_PARAM_CHECK(env->error, key, NULL); axutil_thread_mutex_lock(conf_ctx->mutex); property = axis2_ctx_get_property(conf_ctx->base, env, key); axutil_thread_mutex_unlock(conf_ctx->mutex); return property; } axis2c-src-1.6.0/src/core/context/Makefile.am0000644000175000017500000000071311166304450022074 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_context.la libaxis2_context_la_SOURCES = ctx.c \ msg_ctx.c \ op_ctx.c \ svc_ctx.c \ svc_grp_ctx.c \ conf_ctx.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/context/Makefile.in0000644000175000017500000003417611172017203022111 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/context DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_context_la_LIBADD = am_libaxis2_context_la_OBJECTS = ctx.lo msg_ctx.lo op_ctx.lo \ svc_ctx.lo svc_grp_ctx.lo conf_ctx.lo libaxis2_context_la_OBJECTS = $(am_libaxis2_context_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_context_la_SOURCES) DIST_SOURCES = $(libaxis2_context_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_context.la libaxis2_context_la_SOURCES = ctx.c \ msg_ctx.c \ op_ctx.c \ svc_ctx.c \ svc_grp_ctx.c \ conf_ctx.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/context/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/context/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_context.la: $(libaxis2_context_la_OBJECTS) $(libaxis2_context_la_DEPENDENCIES) $(LINK) $(libaxis2_context_la_OBJECTS) $(libaxis2_context_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conf_ctx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_ctx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_ctx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_ctx.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_grp_ctx.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/context/op_ctx.c0000644000175000017500000002340111166304450021477 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include struct axis2_op_ctx { /** base context struct */ axis2_ctx_t *base; /** parent of operation context is a service context instance */ struct axis2_svc_ctx *parent; /** message context map */ axis2_msg_ctx_t *msg_ctx_array[AXIS2_WSDL_MESSAGE_LABEL_MAX]; /** * the operation of which this is a running instance. The MEP of this * operation must be one of the 8 predefined ones in WSDL 2.0. */ axis2_op_t *op; /** operation Message Exchange Pattern (MEP) */ int op_mep; /** is complete? */ axis2_bool_t is_complete; /** the global message_id -> op_ctx map which is stored in * the axis2_conf_ctx. We are caching it here for faster access. */ axutil_hash_t *op_ctx_map; /** op qname */ axutil_qname_t *op_qname; /** service qname */ axutil_qname_t *svc_qname; /* mutex to synchronize the read/write operations */ axutil_thread_mutex_t *mutex; axis2_bool_t response_written; axis2_bool_t is_in_use; int ref; }; AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_op_ctx_create( const axutil_env_t * env, axis2_op_t * op, struct axis2_svc_ctx *svc_ctx) { axis2_op_ctx_t *op_ctx = NULL; int i = 0; op_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_op_ctx_t)); if (!op_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } op_ctx->base = NULL; op_ctx->parent = NULL; op_ctx->op = NULL; op_ctx->op_mep = 0; op_ctx->is_complete = AXIS2_FALSE; op_ctx->is_in_use = AXIS2_FALSE; op_ctx->op_ctx_map = NULL; op_ctx->op_qname = NULL; op_ctx->svc_qname = NULL; op_ctx->response_written = AXIS2_FALSE; op_ctx->mutex = axutil_thread_mutex_create(env->allocator, AXIS2_THREAD_MUTEX_DEFAULT); if (!op_ctx->mutex) { axis2_op_ctx_free(op_ctx, env); return NULL; } op_ctx->base = axis2_ctx_create(env); if (!(op_ctx->base)) { axis2_op_ctx_free(op_ctx, env); return NULL; } if (op) { op_ctx->op = op; } for (i = 0; i < AXIS2_WSDL_MESSAGE_LABEL_MAX; i++) { op_ctx->msg_ctx_array[i] = NULL; } if (op_ctx->op) { op_ctx->op_qname = (axutil_qname_t *) axis2_op_get_qname(op_ctx->op, env); op_ctx->op_mep = axis2_op_get_axis_specific_mep_const(op_ctx->op, env); } axis2_op_ctx_set_parent(op_ctx, env, svc_ctx); op_ctx->ref = 1; return op_ctx; } AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_op_ctx_get_base( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { return op_ctx->base; } AXIS2_EXTERN void AXIS2_CALL axis2_op_ctx_free( struct axis2_op_ctx *op_ctx, const axutil_env_t * env) { int i = 0; if (--(op_ctx->ref) > 0) { return; } if(op_ctx->is_in_use) { return; } if (op_ctx->base) { axis2_ctx_free(op_ctx->base, env); } for (i = 0; i < AXIS2_WSDL_MESSAGE_LABEL_MAX; i++) { if (op_ctx->msg_ctx_array[i]) { axis2_msg_ctx_free(op_ctx->msg_ctx_array[i], env); op_ctx->msg_ctx_array[i] = NULL; } } if (op_ctx->mutex) { axutil_thread_mutex_destroy(op_ctx->mutex); } AXIS2_FREE(env->allocator, op_ctx); return; } AXIS2_EXTERN void AXIS2_CALL axis2_op_ctx_destroy_mutex( struct axis2_op_ctx *op_ctx, const axutil_env_t * env) { if (op_ctx->mutex) { axutil_thread_mutex_destroy(op_ctx->mutex); op_ctx->mutex = NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_init( struct axis2_op_ctx *op_ctx, const axutil_env_t * env, struct axis2_conf *conf) { int i = 0; if (op_ctx->op_qname && op_ctx->svc_qname) { axis2_svc_t *svc = NULL; axis2_char_t *svc_name = NULL; svc_name = axutil_qname_get_localpart(op_ctx->svc_qname, env); if (svc_name) { svc = axis2_conf_get_svc(conf, env, svc_name); if (svc) { op_ctx->op = axis2_svc_get_op_with_qname(svc, env, op_ctx->op_qname); } } } for (i = 0; i < AXIS2_WSDL_MESSAGE_LABEL_MAX; i++) { if (op_ctx->msg_ctx_array[i]) { axis2_msg_ctx_init(op_ctx->msg_ctx_array[i], env, conf); } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_ctx_get_op( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { return op_ctx->op; } AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL axis2_op_ctx_get_parent( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { return op_ctx->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_add_msg_ctx( struct axis2_op_ctx * op_ctx, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axutil_thread_mutex_lock(op_ctx->mutex); out_msg_ctx = op_ctx->msg_ctx_array[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = op_ctx->msg_ctx_array[AXIS2_WSDL_MESSAGE_LABEL_IN]; if (out_msg_ctx && in_msg_ctx) { axutil_thread_mutex_unlock(op_ctx->mutex); return AXIS2_FAILURE; } if (!out_msg_ctx) { op_ctx->msg_ctx_array[AXIS2_WSDL_MESSAGE_LABEL_OUT] = msg_ctx; } else { op_ctx->msg_ctx_array[AXIS2_WSDL_MESSAGE_LABEL_IN] = msg_ctx; } axutil_thread_mutex_unlock(op_ctx->mutex); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_ctx_get_msg_ctx( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env, const axis2_wsdl_msg_labels_t message_id) { axutil_thread_mutex_lock(op_ctx->mutex); if (op_ctx->msg_ctx_array) { axis2_msg_ctx_t *rv = NULL; rv = op_ctx->msg_ctx_array[message_id]; axutil_thread_mutex_unlock(op_ctx->mutex); return rv; } axutil_thread_mutex_unlock(op_ctx->mutex); return NULL; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_ctx_get_is_complete( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { return op_ctx->is_complete; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_complete( struct axis2_op_ctx * op_ctx, const axutil_env_t * env, axis2_bool_t is_complete) { op_ctx->is_complete = is_complete; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_ctx_is_in_use( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { return op_ctx->is_in_use; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_in_use( struct axis2_op_ctx * op_ctx, const axutil_env_t * env, axis2_bool_t is_in_use) { op_ctx->is_in_use = is_in_use; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_cleanup( struct axis2_op_ctx * op_ctx, const axutil_env_t * env) { int i = 0; for (i = 0; i < AXIS2_WSDL_MESSAGE_LABEL_MAX; i++) { if (op_ctx->msg_ctx_array[i]) { axis2_msg_ctx_free(op_ctx->msg_ctx_array[i], env); op_ctx->msg_ctx_array[i] = NULL; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_parent( struct axis2_op_ctx * op_ctx, const axutil_env_t * env, struct axis2_svc_ctx * svc_ctx) { if (svc_ctx) { op_ctx->parent = svc_ctx; } if (op_ctx->parent) /* that is if there is a service context associated */ { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = axis2_svc_ctx_get_conf_ctx(op_ctx->parent, env); if (conf_ctx) { op_ctx->op_ctx_map = axis2_conf_ctx_get_op_ctx_map(conf_ctx, env); } op_ctx->svc_qname = (axutil_qname_t *) axis2_svc_get_qname(axis2_svc_ctx_get_svc(op_ctx->parent, env), env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_ctx_t **AXIS2_CALL axis2_op_ctx_get_msg_ctx_map( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { return (axis2_msg_ctx_t **) (op_ctx->msg_ctx_array); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_ctx_get_response_written( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { if (op_ctx) return op_ctx->response_written; else return AXIS2_FALSE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_response_written( axis2_op_ctx_t * op_ctx, const axutil_env_t * env, const axis2_bool_t written) { if (op_ctx) { op_ctx->response_written = written; } else { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_increment_ref( axis2_op_ctx_t * op_ctx, const axutil_env_t * env) { op_ctx->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/context/svc_ctx.c0000644000175000017500000001130011166304450021647 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axis2_svc_ctx { /** base context struct */ axis2_ctx_t *base; /** parent of op context is a service context instance */ struct axis2_svc_grp_ctx *parent; /** service associated with this service context */ axis2_svc_t *svc; /** id of the service associated with this context */ axis2_char_t *svc_id; /** service qname */ axutil_qname_t *svc_qname; }; AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_svc_ctx_create( const axutil_env_t * env, axis2_svc_t * svc, struct axis2_svc_grp_ctx *svc_grp_ctx) { axis2_svc_ctx_t *svc_ctx = NULL; svc_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_ctx_t)); if (!svc_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } svc_ctx->base = NULL; svc_ctx->parent = NULL; svc_ctx->svc = NULL; svc_ctx->svc_id = NULL; svc_ctx->svc_qname = NULL; svc_ctx->base = axis2_ctx_create(env); if (!(svc_ctx->base)) { axis2_svc_ctx_free(svc_ctx, env); return NULL; } if (svc) { svc_ctx->svc = svc; svc_ctx->svc_qname = (axutil_qname_t *) axis2_svc_get_qname(svc, env); if (svc_ctx->svc_qname) { svc_ctx->svc_id = axutil_qname_get_localpart(svc_ctx->svc_qname, env); } } if (svc_grp_ctx) { svc_ctx->parent = svc_grp_ctx; } return svc_ctx; } axis2_ctx_t *AXIS2_CALL axis2_svc_ctx_get_base( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env) { return svc_ctx->base; } struct axis2_svc_grp_ctx *AXIS2_CALL axis2_svc_ctx_get_parent( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env) { return svc_ctx->parent; } axis2_status_t AXIS2_CALL axis2_svc_ctx_set_parent( axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env, axis2_svc_grp_ctx_t * parent) { svc_ctx->parent = parent; return AXIS2_SUCCESS; } void AXIS2_CALL axis2_svc_ctx_free( struct axis2_svc_ctx *svc_ctx, const axutil_env_t * env) { if (svc_ctx->base) { axis2_ctx_free(svc_ctx->base, env); } AXIS2_FREE(env->allocator, svc_ctx); return; } axis2_status_t AXIS2_CALL axis2_svc_ctx_init( struct axis2_svc_ctx * svc_ctx, const axutil_env_t * env, axis2_conf_t * conf) { if (svc_ctx->svc_qname) { axis2_char_t *svc_name = axutil_qname_get_localpart(svc_ctx->svc_qname, env); svc_ctx->svc = axis2_conf_get_svc(conf, env, svc_name); } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_svc_ctx_get_svc_id( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env) { return svc_ctx->svc_id; } axis2_svc_t *AXIS2_CALL axis2_svc_ctx_get_svc( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env) { return svc_ctx->svc; } axis2_status_t AXIS2_CALL axis2_svc_ctx_set_svc( axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env, axis2_svc_t * svc) { AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE); svc_ctx->svc = svc; svc_ctx->svc_qname = (axutil_qname_t *) axis2_svc_get_qname(svc, env); if (svc_ctx->svc_qname) { svc_ctx->svc_id = axutil_qname_get_localpart(svc_ctx->svc_qname, env); } return AXIS2_SUCCESS; } struct axis2_conf_ctx *AXIS2_CALL axis2_svc_ctx_get_conf_ctx( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env) { return axis2_svc_grp_ctx_get_parent(svc_ctx->parent, env); } axis2_op_ctx_t *AXIS2_CALL axis2_svc_ctx_create_op_ctx( struct axis2_svc_ctx * svc_ctx, const axutil_env_t * env, const axutil_qname_t * qname) { axis2_op_t *op = NULL; if (svc_ctx->svc) { op = axis2_svc_get_op_with_qname(svc_ctx->svc, env, qname); return axis2_op_ctx_create(env, op, svc_ctx); } return NULL; } axis2c-src-1.6.0/src/core/transport/0000777000175000017500000000000011172017540020411 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/tcp/0000777000175000017500000000000011172017540021177 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/tcp/axis2_tcp_worker.h0000644000175000017500000000526411166304471024645 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TCP_WORKER_H #define AXIS2_TCP_WORKER_H /** * @defgroup axis2_tcp_worker tcp worker * @ingroup axis2_core_trans_tcp * @{ */ /** * @file axis2_tcp_worker.h * @brief axis2 TCP Worker */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_tcp_worker */ typedef struct axis2_tcp_worker axis2_tcp_worker_t; /** * @param tcp_worker pointer to tcp worker * @param env pointer to environment struct * @param svr_conn pointer to svr conn * @param simple_request pointer to simple request */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_tcp_worker_process_request( axis2_tcp_worker_t * tcp_worker, const axutil_env_t * env, axis2_simple_tcp_svr_conn_t * svr_conn, axis2_char_t * simple_request); /** * @param tcp_worker pointer to tcp worker * @param env pointer to environment struct * @param port * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_worker_set_svr_port( axis2_tcp_worker_t * tcp_worker, const axutil_env_t * env, int port); /** * @param tcp_worker pointer to tcp worker * @param env pointer to environment strut * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_tcp_worker_free( axis2_tcp_worker_t * tcp_worker, const axutil_env_t * env); /** * @param env pointer to environment struct * @param conf_ctx pointer to configuration context */ AXIS2_EXTERN axis2_tcp_worker_t *AXIS2_CALL axis2_tcp_worker_create( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); #ifdef __cplusplus } #endif #endif /* AXIS2_TCP_WORKER_H */ axis2c-src-1.6.0/src/core/transport/tcp/axis2_tcp_server.h0000644000175000017500000000313611166304471024636 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TCP_SERVER_H #define AXIS2_TCP_SERVER_H /** * @defgroup axis2_tcp_server tcp server * @ingroup axis2_core_trans_tcp * @{ */ /** * @file axis2_tcp_server.h * @brief axis2 TCP Server implementation */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_tcp_server_create( const axutil_env_t * env, const axis2_char_t * repo, const int port); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TCP_SERVER_H */ axis2c-src-1.6.0/src/core/transport/tcp/axis2_tcp_transport.h0000644000175000017500000000352411166304471025365 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TCP_TRANSPORT_H #define AXIS2_TCP_TRANSPORT_H #include #ifdef __cplusplus extern "C" { #endif /** @defgroup axis2_core_trans_tcp tcp transport * @ingroup axis2_transport * Description. * @{ */ /** * @defgroup axis2_core_transport_tcp core tcp transport * @ingroup axis2_core_trans_tcp * @{ */ /** * @brief TCP protocol and message context constants. * */ #define AXIS2_TCP_OUT_TRANSPORT_INFO "TCPOutTransportInfo" /** * PROTOCOL_VERSION */ #define AXIS2_TCP_PROTOCOL_VERSION "PROTOCOL" /** * SOCKET */ #define AXIS2_SOCKET "SOCKET" /** * HEADER_HOST */ #define AXIS2_TCP_HOST "Host" /** * SO_TIMEOUT */ #define AXIS2_TCP_SO_TIMEOUT "SO_TIMEOUT" /** * CONNECTION_TIMEOUT */ #define AXIS2_TCP_CONNECTION_TIMEOUT "CONNECTION_TIMEOUT" /** * DEFAULT_SO_TIMEOUT */ #define AXIS2_TCP_DEFAULT_SO_TIMEOUT 60000 /** * DEFAULT_CONNECTION_TIMEOUT */ #define AXIS2_TCP_DEFAULT_CONNECTION_TIMEOUT 60000 /** * Field TRANSPORT_TCP */ #define AXIS2_TRANSPORT_TCP "tcp" #ifdef __cplusplus } #endif #endif /* AXIS2_TCP_TRANSPORT_H */ axis2c-src-1.6.0/src/core/transport/tcp/axis2_tcp_transport_sender.h0000644000175000017500000000316111166304471026722 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TCP_TRANSPORT_SENDER_H #define AXIS2_TCP_TRANSPORT_SENDER_H /** * @defgroup axis2_tcp_transport_sender tcp transport sender * @ingroup axis2_core_trans_tcp * @{ */ /** * @file axis2_tcp_transport_sender.h * @brief axis2 TCP Transport Sender (Handler) implementation */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @param env pointer to environment struct */ AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL axis2_tcp_transport_sender_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TCP_TRANSPORT_SENDER_H */ axis2c-src-1.6.0/src/core/transport/tcp/Makefile.am0000644000175000017500000000027111166304471023234 0ustar00manjulamanjula00000000000000SUBDIRS = sender receiver server EXTRA_DIST=axis2_simple_tcp_svr_conn.h axis2_tcp_svr_thread.h axis2_tcp_transport_sender.h axis2_tcp_server.h axis2_tcp_transport.h axis2_tcp_worker.h axis2c-src-1.6.0/src/core/transport/tcp/Makefile.in0000644000175000017500000003517511172017205023251 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/tcp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = sender receiver server EXTRA_DIST = axis2_simple_tcp_svr_conn.h axis2_tcp_svr_thread.h axis2_tcp_transport_sender.h axis2_tcp_server.h axis2_tcp_transport.h axis2_tcp_worker.h all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/tcp/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/tcp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/tcp/axis2_tcp_svr_thread.h0000644000175000017500000000643411166304471025475 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TCP_SVR_THREAD_H #define AXIS2_TCP_SVR_THREAD_H /** * @defgroup axis2_tcp_svr_thread tcp server thread * @ingroup axis2_core_trans_tcp * @{ */ /** * @file axis2_tcp_svr_thread.h * @brief axis2 TCP server listning thread implementation */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axist_tcp_svr_thread */ typedef struct axis2_tcp_svr_thread axis2_tcp_svr_thread_t; /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_svr_thread_run( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_svr_thread_destroy( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_tcp_svr_thread_get_local_port( const axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_tcp_svr_thread_is_running( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct * @param worker pointer to worker */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_svr_thread_set_worker( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env, axis2_tcp_worker_t * worker); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_tcp_svr_thread_free( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param env pointer to environment struct * @param port */ AXIS2_EXTERN axis2_tcp_svr_thread_t *AXIS2_CALL axis2_tcp_svr_thread_create( const axutil_env_t * env, int port); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TCP_SVR_THREAD_H */ axis2c-src-1.6.0/src/core/transport/tcp/sender/0000777000175000017500000000000011172017540022457 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/tcp/sender/tcp_transport_sender.c0000644000175000017500000003737211166304470027101 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #define RES_BUFF 50 /** * TCP Transport Sender struct impl * Axis2 TCP Transport Sender impl */ typedef struct axis2_tcp_transport_sender_impl { axis2_transport_sender_t transport_sender; int connection_timeout; int so_timeout; } axis2_tcp_transport_sender_impl_t; #define AXIS2_INTF_TO_IMPL(transport_sender) \ ((axis2_tcp_transport_sender_impl_t *) \ (transport_sender)) /***************************** Function headers *******************************/ axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_invoke( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_clean_up( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_init( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_out_desc_t * out_desc); axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_write_message( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_endpoint_ref_t * epr, axiom_soap_envelope_t * out, axiom_output_t * om_output); void AXIS2_CALL axis2_tcp_transport_sender_free( axis2_transport_sender_t * transport_sender, const axutil_env_t * env); static const axis2_transport_sender_ops_t tcp_transport_sender_ops_var = { axis2_tcp_transport_sender_init, axis2_tcp_transport_sender_invoke, axis2_tcp_transport_sender_clean_up, axis2_tcp_transport_sender_free }; axis2_transport_sender_t *AXIS2_CALL axis2_tcp_transport_sender_create( const axutil_env_t * env) { axis2_tcp_transport_sender_impl_t *transport_sender_impl = NULL; AXIS2_ENV_CHECK(env, NULL); transport_sender_impl = (axis2_tcp_transport_sender_impl_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_tcp_transport_sender_impl_t)); if (!transport_sender_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } transport_sender_impl->connection_timeout = AXIS2_TCP_DEFAULT_CONNECTION_TIMEOUT; transport_sender_impl->so_timeout = AXIS2_TCP_DEFAULT_SO_TIMEOUT; transport_sender_impl->transport_sender.ops = &tcp_transport_sender_ops_var; return &(transport_sender_impl->transport_sender); } void AXIS2_CALL axis2_tcp_transport_sender_free( axis2_transport_sender_t * transport_sender, const axutil_env_t * env) { axis2_tcp_transport_sender_impl_t *transport_sender_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); transport_sender_impl = AXIS2_INTF_TO_IMPL(transport_sender); AXIS2_FREE(env->allocator, transport_sender_impl); return; } axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_invoke( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_op_t *op = NULL; const axis2_char_t *mep_uri = NULL; axis2_bool_t is_server = AXIS2_TRUE; axiom_soap_envelope_t *soap_envelope = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; axutil_stream_t *out_stream = NULL; int buffer_size = 0; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *write_xml_declaration_param = NULL; axutil_hash_t *transport_attrs = NULL; axis2_bool_t write_xml_declaration = AXIS2_FALSE; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "start:tcp transport sender invoke"); op = axis2_msg_ctx_get_op(msg_ctx, env); mep_uri = axis2_op_get_msg_exchange_pattern(op, env); is_server = axis2_msg_ctx_get_server_side(msg_ctx, env); soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[tcp]Failed to create XML writer"); return AXIS2_FAILURE; } om_output = axiom_output_create(env, xml_writer); if (!om_output) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[tcp]Failed to create OM output"); axiom_xml_writer_free(xml_writer, env); xml_writer = NULL; return AXIS2_FAILURE; } conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); } if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_TCP); } if (trans_desc) { write_xml_declaration_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_XML_DECLARATION); } if (write_xml_declaration_param) { transport_attrs = axutil_param_get_attributes (write_xml_declaration_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *write_xml_declaration_attr = NULL; axis2_char_t *write_xml_declaration_attr_value = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_ADD_XML_DECLARATION, AXIS2_HASH_KEY_STRING); if (obj) { write_xml_declaration_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (write_xml_declaration_attr) { write_xml_declaration_attr_value = axiom_attribute_get_value (write_xml_declaration_attr, env); } if (write_xml_declaration_attr_value && 0 == axutil_strcasecmp (write_xml_declaration_attr_value, AXIS2_VALUE_TRUE)) { write_xml_declaration = AXIS2_TRUE; } } } if (write_xml_declaration) { axiom_output_write_xml_version_encoding (om_output, env); } axiom_soap_envelope_serialize(soap_envelope, env, om_output, AXIS2_FALSE); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); if (!buffer) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[tcp]Failed to serialize the SOAP envelope"); return AXIS2_FAILURE; } buffer_size = axiom_xml_writer_get_xml_size(xml_writer, env); buffer[buffer_size] = 0; if (is_server) { out_stream = axis2_msg_ctx_get_transport_out_stream(msg_ctx, env); axutil_stream_write(out_stream, env, buffer, buffer_size); } else { axis2_endpoint_ref_t *to = NULL; axutil_url_t *to_url = NULL; const axis2_char_t *to_str = NULL; const axis2_char_t *host = NULL; int port = 0; int socket = -1; axutil_stream_t *stream; int write = -1; int read = -1; axis2_char_t buff[1]; axis2_char_t *res_buffer = (axis2_char_t *) AXIS2_MALLOC(env->allocator, RES_BUFF); int res_size = 0; int size = 0; axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_soap_builder_t *soap_builder = NULL; axiom_soap_envelope_t *soap_envelope = NULL; to = axis2_msg_ctx_get_to(msg_ctx, env); if (!to) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "To epr not presant"); return AXIS2_FAILURE; } to_str = axis2_endpoint_ref_get_address(to, env); if (!to_str) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "unable to convert epr to string"); return AXIS2_FAILURE; } to_url = axutil_url_parse_string(env, to_str); if (!to_url) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "unable to parser string to url"); return AXIS2_FAILURE; } host = axutil_url_get_host(to_url, env); if (!host) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "retrieving host failed"); return AXIS2_FAILURE; } port = axutil_url_get_port(to_url, env); if (!port) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "retrieving port failed"); return AXIS2_FAILURE; } socket = (int)axutil_network_handler_open_socket(env, (char *) host, port); if (!socket) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "socket creation failed"); return AXIS2_FAILURE; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "open socket for host:%s port:%d", host, port); stream = axutil_stream_create_socket(env, socket); if (!stream) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "stream creation failed"); return AXIS2_FAILURE; } write = axutil_stream_write(stream, env, buffer, buffer_size); if (write < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "stream write error"); return AXIS2_FAILURE; } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "stream wrote soap msg: %s", buffer); write = axutil_stream_write(stream, env, "\r\n\r\n", 4); size = RES_BUFF; while ((read = axutil_stream_read(stream, env, &buff, 1)) > 0) { if (res_size >= size) { axis2_char_t *tmp_buff = NULL; size <<= 2; tmp_buff = AXIS2_MALLOC(env->allocator, size); memcpy(tmp_buff, res_buffer, res_size); AXIS2_FREE(env->allocator, res_buffer); res_buffer = tmp_buff; } memcpy(res_buffer + res_size, buff, 1); res_size++; } axutil_network_handler_close_socket(env, stream->socket); axutil_stream_close(stream, env); axutil_stream_free(stream, env); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "%s", res_buffer); reader = axiom_xml_reader_create_for_memory(env, res_buffer, (res_size - 1), NULL, AXIS2_XML_PARSER_TYPE_BUFFER); if (!reader) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create XML reader"); return AXIS2_FAILURE; } builder = axiom_stax_builder_create(env, reader); if (!builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create Stax builder"); return AXIS2_FAILURE; } soap_builder = axiom_soap_builder_create(env, builder, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI); if (!soap_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create SOAP builder"); return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (!soap_envelope) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create SOAP envelope"); return AXIS2_FAILURE; } axis2_msg_ctx_set_response_soap_envelope(msg_ctx, env, soap_envelope); } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "end:tcp transport sender invoke"); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_clean_up( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); /* * Clean up is not used. If the tcp sender needs * to be cleaned up it should be done here. */ return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_init( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_out_desc_t * out_desc) { axis2_char_t *temp = NULL; axutil_param_t *temp_param = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, out_desc, AXIS2_FAILURE); temp_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container(out_desc, env), env, AXIS2_TCP_SO_TIMEOUT); if (temp_param) { temp = axutil_param_get_value(temp_param, env); } if (temp) { AXIS2_INTF_TO_IMPL(transport_sender)->so_timeout = AXIS2_ATOI(temp); } temp = (axis2_char_t *) axutil_param_container_get_param (axis2_transport_out_desc_param_container(out_desc, env), env, AXIS2_TCP_CONNECTION_TIMEOUT); if (temp_param) { temp = axutil_param_get_value(temp_param, env); } if (temp) { AXIS2_INTF_TO_IMPL(transport_sender)->connection_timeout = AXIS2_ATOI(temp); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_tcp_transport_sender_write_message( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_endpoint_ref_t * epr, axiom_soap_envelope_t * out, axiom_output_t * om_output) { return AXIS2_TRUE; } /** * Following block distinguish the exposed part of the dll. */ /* When building for static deployment, give the get and remove methods * unique names. This avoids having the linker fail with duplicate symbol * errors. */ AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_get_instance( #else axis2_tcp_transport_sender_get_instance( #endif struct axis2_transport_sender **inst, const axutil_env_t * env) { *inst = axis2_tcp_transport_sender_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_remove_instance( #else axis2_tcp_transport_sender_remove_instance( #endif axis2_transport_sender_t * inst, const axutil_env_t * env) { if (inst) { AXIS2_TRANSPORT_SENDER_FREE(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/tcp/sender/Makefile.am0000644000175000017500000000206311166304470024514 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_tcp_sender.la libaxis2_tcp_sender_la_SOURCES = tcp_transport_sender.c libaxis2_tcp_sender_la_LIBADD = $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la\ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la\ $(top_builddir)/axiom/src/om/libaxis2_axiom.la\ $(top_builddir)/util/src/libaxutil.la\ $(LIBCURL_LIBS)\ $(SSL_LIBS) libaxis2_tcp_sender_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/tcp \ -I$(top_builddir)/src/core/transport/tcp/sender/libcurl \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I.. \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/tcp/sender/Makefile.in0000644000175000017500000004010211172017205024513 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/tcp/sender DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_tcp_sender_la_DEPENDENCIES = $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la am_libaxis2_tcp_sender_la_OBJECTS = tcp_transport_sender.lo libaxis2_tcp_sender_la_OBJECTS = $(am_libaxis2_tcp_sender_la_OBJECTS) libaxis2_tcp_sender_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_tcp_sender_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_tcp_sender_la_SOURCES) DIST_SOURCES = $(libaxis2_tcp_sender_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_tcp_sender.la libaxis2_tcp_sender_la_SOURCES = tcp_transport_sender.c libaxis2_tcp_sender_la_LIBADD = $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la\ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la\ $(top_builddir)/axiom/src/om/libaxis2_axiom.la\ $(top_builddir)/util/src/libaxutil.la\ $(LIBCURL_LIBS)\ $(SSL_LIBS) libaxis2_tcp_sender_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/tcp \ -I$(top_builddir)/src/core/transport/tcp/sender/libcurl \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I.. \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/tcp/sender/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/tcp/sender/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_tcp_sender.la: $(libaxis2_tcp_sender_la_OBJECTS) $(libaxis2_tcp_sender_la_DEPENDENCIES) $(libaxis2_tcp_sender_la_LINK) -rpath $(libdir) $(libaxis2_tcp_sender_la_OBJECTS) $(libaxis2_tcp_sender_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_transport_sender.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/tcp/server/0000777000175000017500000000000011172017540022505 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/tcp/server/simple_tcp_server/0000777000175000017500000000000011172017540026232 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/tcp/server/simple_tcp_server/tcp_server_main.c0000644000175000017500000002004011166304470031552 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #ifndef AXIS2_TCP_SERVER_LOG_FILE_NAME #define AXIS2_TCP_SERVER_LOG_FILE_NAME "axis2_tcp_server.log" #endif #ifndef AXIS2_TCP_SERVER_PORT #define AXIS2_TCP_SERVER_PORT 9091 #endif #ifndef AXIS2_TCP_SERVER_REPO_PATH #define AXIS2_TCP_SERVER_REPO_PATH "../" #endif axutil_env_t *system_env = NULL; axis2_transport_receiver_t *server = NULL; int axis2_tcp_socket_read_timeout = 60000; /***************************** Function headers *******************************/ axutil_env_t *init_syetem_env( axutil_allocator_t * allocator, const axis2_char_t * log_file); void system_exit( axutil_env_t * env, int status); void usage( axis2_char_t * prog_name); void sig_handler( int signal); /***************************** End of function headers ************************/ axutil_env_t * init_syetem_env( axutil_allocator_t * allocator, const axis2_char_t * log_file) { axutil_error_t *error = axutil_error_create(allocator); axutil_log_t *log = axutil_log_create(allocator, NULL, log_file); axutil_thread_pool_t *thread_pool = axutil_thread_pool_init(allocator); /* We need to init the parser in main thread before spawning child * threads */ axiom_xml_reader_init(); return axutil_env_create_with_error_log_thread_pool(allocator, error, log, thread_pool); } void system_exit( axutil_env_t * env, int status) { axutil_allocator_t *allocator = NULL; if (server) { axis2_transport_receiver_free(server, system_env); } if (env) { allocator = env->allocator; axutil_env_free(env); } axiom_xml_reader_cleanup(); exit(status); } int main( int argc, char *argv[]) { axutil_allocator_t *allocator = NULL; axutil_env_t *env = NULL; extern char *optarg; extern int optopt; int c; int log_file_size = AXUTIL_LOG_FILE_SIZE; axutil_log_levels_t log_level = AXIS2_LOG_LEVEL_DEBUG; const axis2_char_t *log_file = AXIS2_TCP_SERVER_LOG_FILE_NAME; int port = AXIS2_TCP_SERVER_PORT; const axis2_char_t *repo_path = AXIS2_TCP_SERVER_REPO_PATH; while ((c = AXIS2_GETOPT(argc, argv, ":p:r:ht:l:s:f:")) != -1) { switch (c) { case 'p': port = AXIS2_ATOI(optarg); break; case 'r': repo_path = optarg; break; case 't': axis2_tcp_socket_read_timeout = AXIS2_ATOI(optarg) * 1000; break; case 'l': log_level = AXIS2_ATOI(optarg); if (log_level < AXIS2_LOG_LEVEL_CRITICAL) log_level = AXIS2_LOG_LEVEL_CRITICAL; if (log_level > AXIS2_LOG_LEVEL_TRACE) log_level = AXIS2_LOG_LEVEL_TRACE; break; case 's': log_file_size = 1024 * 1024 * AXIS2_ATOI(optarg); break; case 'f': log_file = optarg; break; case 'h': usage(argv[0]); return 0; case ':': fprintf(stderr, "\nOption -%c requires an operand\n", optopt); usage(argv[0]); return -1; case '?': if (isprint(optopt)) fprintf(stderr, "\nUnknown option `-%c'.\n", optopt); usage(argv[0]); return -1; } } allocator = axutil_allocator_init(NULL); if (!allocator) { system_exit(NULL, -1); } env = init_syetem_env(allocator, log_file); env->log->level = log_level; env->log->size = log_file_size; axutil_error_init(); system_env = env; #ifndef WIN32 signal(SIGINT, sig_handler); signal(SIGPIPE, sig_handler); #endif AXIS2_LOG_INFO(env->log, "Starting Axis2 TCP server...."); AXIS2_LOG_INFO(env->log, "Server port : %d", port); AXIS2_LOG_INFO(env->log, "Repo location : %s", repo_path); AXIS2_LOG_INFO(env->log, "Read Timeout : %d ms", axis2_tcp_socket_read_timeout); server = axis2_tcp_server_create(env, repo_path, port); if (!server) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Server creation failed: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); system_exit(env, -1); } printf("Started Simple Axis2 TCP Server ...\n"); if (axis2_transport_receiver_start(server, env) == AXIS2_FAILURE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Server start failed: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); system_exit(env, -1); } return 0; } void usage( axis2_char_t * prog_name) { fprintf(stdout, "\n Usage : %s", prog_name); fprintf(stdout, " [-p PORT]"); fprintf(stdout, " [-t TIMEOUT]"); fprintf(stdout, " [-r REPO_PATH]"); fprintf(stdout, " [-l LOG_LEVEL]"); fprintf(stdout, " [-f LOG_FILE]\n"); fprintf(stdout, " [-s LOG_FILE_SIZE]\n"); fprintf(stdout, " Options :\n"); fprintf(stdout, "\t-p PORT \t port number to use, default port is %d\n", AXIS2_TCP_SERVER_PORT); fprintf(stdout, "\t-r REPO_PATH \t repository path, default is ../\n"); fprintf(stdout, "\t-t TIMEOUT\t socket read timeout, default is 30 seconds\n"); fprintf(stdout, "\t-l LOG_LEVEL\t log level, available log levels:" "\n\t\t\t 0 - critical 1 - errors 2 - warnings" "\n\t\t\t 3 - information 4 - debug 5- user 6 - trace" "\n\t\t\t Default log level is 4(debug).\n"); #ifndef WIN32 fprintf(stdout, "\t-f LOG_FILE\t log file, default is $AXIS2C_HOME/logs/axis2.log" "\n\t\t\t or axis2.log in current folder if AXIS2C_HOME not set\n"); #else fprintf(stdout, "\t-f LOG_FILE\t log file, default is %%AXIS2C_HOME%%\\logs\\axis2.log" "\n\t\t\t or axis2.log in current folder if AXIS2C_HOME not set\n"); #endif fprintf(stdout, "\t-s LOG_FILE_SIZE\t Maximum log file size in mega bytes, default maximum size is 1MB.\n"); fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n"); } /** * Signal handler */ #ifndef WIN32 void sig_handler( int signal) { switch (signal) { case SIGINT: { AXIS2_LOG_INFO(system_env->log, "Received signal SIGINT. Server " "shutting down"); axis2_tcp_server_stop(server, system_env); AXIS2_LOG_INFO(system_env->log, "Shutdown complete ..."); system_exit(system_env, 0); } case SIGPIPE: { AXIS2_LOG_INFO(system_env->log, "Received signal SIGPIPE. Client " "request serve aborted"); return; } case SIGSEGV: { fprintf(stderr, "Received deadly signal SIGSEGV. Terminating\n"); _exit(-1); } } } #endif axis2c-src-1.6.0/src/core/transport/tcp/server/simple_tcp_server/Makefile.am0000644000175000017500000000266011166304470030272 0ustar00manjulamanjula00000000000000prgbindir=$(bindir) prgbin_PROGRAMS = axis2_tcp_server SUBDIRS = AM_CFLAGS = -g -pthread axis2_tcp_server_SOURCES = tcp_server_main.c axis2_tcp_server_LDADD = $(LDFLAGS) \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/tcp/sender/libaxis2_tcp_sender.la \ $(top_builddir)/src/core/transport/tcp/receiver/libaxis2_tcp_receiver.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description\ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deployment\ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I../.. \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/tcp/server/simple_tcp_server/Makefile.in0000644000175000017500000005072111172017205030276 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = axis2_tcp_server$(EXEEXT) subdir = src/core/transport/tcp/server/simple_tcp_server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_axis2_tcp_server_OBJECTS = tcp_server_main.$(OBJEXT) axis2_tcp_server_OBJECTS = $(am_axis2_tcp_server_OBJECTS) am__DEPENDENCIES_1 = axis2_tcp_server_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/tcp/sender/libaxis2_tcp_sender.la \ $(top_builddir)/src/core/transport/tcp/receiver/libaxis2_tcp_receiver.la \ $(top_builddir)/neethi/src/libneethi.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(axis2_tcp_server_SOURCES) DIST_SOURCES = $(axis2_tcp_server_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(bindir) SUBDIRS = AM_CFLAGS = -g -pthread axis2_tcp_server_SOURCES = tcp_server_main.c axis2_tcp_server_LDADD = $(LDFLAGS) \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/tcp/sender/libaxis2_tcp_sender.la \ $(top_builddir)/src/core/transport/tcp/receiver/libaxis2_tcp_receiver.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description\ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deployment\ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I../.. \ -I$(top_builddir)/axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/tcp/server/simple_tcp_server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/tcp/server/simple_tcp_server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done axis2_tcp_server$(EXEEXT): $(axis2_tcp_server_OBJECTS) $(axis2_tcp_server_DEPENDENCIES) @rm -f axis2_tcp_server$(EXEEXT) $(LINK) $(axis2_tcp_server_OBJECTS) $(axis2_tcp_server_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_server_main.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prgbinPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/tcp/server/Makefile.am0000644000175000017500000000003211166304470024534 0ustar00manjulamanjula00000000000000SUBDIRS=simple_tcp_server axis2c-src-1.6.0/src/core/transport/tcp/server/Makefile.in0000644000175000017500000003476411172017205024562 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/tcp/server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = simple_tcp_server all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/tcp/server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/tcp/server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/tcp/receiver/0000777000175000017500000000000011172017540023003 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/tcp/receiver/Makefile.am0000644000175000017500000000166611166304470025050 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_tcp_receiver.la libaxis2_tcp_receiver_la_LIBADD=$(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la libaxis2_tcp_receiver_la_SOURCES = tcp_svr_thread.c \ tcp_worker.c \ simple_tcp_svr_conn.c \ tcp_receiver.c libaxis2_tcp_receiver_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/tcp \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/tcp/receiver/Makefile.in0000644000175000017500000004022211172017205025042 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/tcp/receiver DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_tcp_receiver_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la am_libaxis2_tcp_receiver_la_OBJECTS = tcp_svr_thread.lo tcp_worker.lo \ simple_tcp_svr_conn.lo tcp_receiver.lo libaxis2_tcp_receiver_la_OBJECTS = \ $(am_libaxis2_tcp_receiver_la_OBJECTS) libaxis2_tcp_receiver_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_tcp_receiver_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_tcp_receiver_la_SOURCES) DIST_SOURCES = $(libaxis2_tcp_receiver_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_tcp_receiver.la libaxis2_tcp_receiver_la_LIBADD = $(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la libaxis2_tcp_receiver_la_SOURCES = tcp_svr_thread.c \ tcp_worker.c \ simple_tcp_svr_conn.c \ tcp_receiver.c libaxis2_tcp_receiver_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/tcp \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/tcp/receiver/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/tcp/receiver/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_tcp_receiver.la: $(libaxis2_tcp_receiver_la_OBJECTS) $(libaxis2_tcp_receiver_la_DEPENDENCIES) $(libaxis2_tcp_receiver_la_LINK) -rpath $(libdir) $(libaxis2_tcp_receiver_la_OBJECTS) $(libaxis2_tcp_receiver_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_tcp_svr_conn.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_receiver.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_svr_thread.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcp_worker.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/tcp/receiver/tcp_svr_thread.c0000644000175000017500000002145511166304470026165 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include AXIS2_EXPORT int axis2_tcp_socket_read_timeout = AXIS2_TCP_DEFAULT_SO_TIMEOUT; struct axis2_tcp_svr_thread { int listen_socket; axis2_bool_t stopped; axis2_tcp_worker_t *worker; int port; }; typedef struct axis2_tcp_svr_thd_args { axutil_env_t *env; axis2_socket_t socket; axis2_tcp_worker_t *worker; axutil_thread_t *thread; } axis2_tcp_svr_thd_args_t; AXIS2_EXTERN const axutil_env_t *AXIS2_CALL init_thread_env( const axutil_env_t ** system_env); void *AXIS2_THREAD_FUNC axis2_svr_thread_worker_func( axutil_thread_t * thd, void *data); axis2_tcp_svr_thread_t *AXIS2_CALL axis2_tcp_svr_thread_create( const axutil_env_t * env, int port) { axis2_tcp_svr_thread_t *svr_thread = NULL; AXIS2_ENV_CHECK(env, NULL); svr_thread = (axis2_tcp_svr_thread_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_tcp_svr_thread_t)); if (!svr_thread) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } svr_thread->worker = NULL; svr_thread->stopped = AXIS2_FALSE; svr_thread->port = port; svr_thread->listen_socket = (int)axutil_network_handler_create_server_socket (env, svr_thread->port); if (-1 == svr_thread->listen_socket) { axis2_tcp_svr_thread_free((axis2_tcp_svr_thread_t *) svr_thread, env); return NULL; } return svr_thread; } void AXIS2_CALL axis2_tcp_svr_thread_free( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (svr_thread->worker) { axis2_tcp_worker_free(svr_thread->worker, env); svr_thread->worker = NULL; } if (-1 != svr_thread->listen_socket) { axutil_network_handler_close_socket(env, svr_thread->listen_socket); svr_thread->listen_socket = -1; } svr_thread->stopped = AXIS2_TRUE; AXIS2_FREE(env->allocator, svr_thread); return; } axis2_status_t AXIS2_CALL axis2_tcp_svr_thread_run( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); while (AXIS2_FALSE == svr_thread->stopped) { int socket = -1; axis2_tcp_svr_thd_args_t *arg_list = NULL; #ifdef AXIS2_SVR_MULTI_THREADED axutil_thread_t *worker_thread = NULL; #endif socket = (int)axutil_network_handler_svr_socket_accept(env, svr_thread-> listen_socket); if (!svr_thread->worker) { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Worker not ready yet." " Cannot serve the request"); axutil_network_handler_close_socket(env, socket); continue; } arg_list = AXIS2_MALLOC(env->allocator, sizeof(axis2_tcp_svr_thd_args_t)); if (!arg_list) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Memory allocation error in the svr thread loop"); continue; } arg_list->env = (axutil_env_t *) env; arg_list->socket = socket; arg_list->worker = svr_thread->worker; #ifdef AXIS2_SVR_MULTI_THREADED worker_thread = axutil_thread_pool_get_thread(env->thread_pool, axis2_svr_thread_worker_func, (void *) arg_list); if (!worker_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread creation failed" "server thread loop"); continue; } axutil_thread_pool_thread_detach(env->thread_pool, worker_thread); #else axis2_svr_thread_worker_func(NULL, (void *) arg_list); #endif } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_tcp_svr_thread_destroy( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); if (AXIS2_TRUE == svr_thread->stopped) { return AXIS2_SUCCESS; } svr_thread->stopped = AXIS2_TRUE; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Terminating TCP server " "thread."); if (svr_thread->listen_socket) { axutil_network_handler_close_socket(env, svr_thread->listen_socket); svr_thread->listen_socket = -1; } return AXIS2_SUCCESS; } int AXIS2_CALL axis2_tcp_svr_thread_get_local_port( const axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env) { return svr_thread->port; } axis2_bool_t AXIS2_CALL axis2_tcp_svr_thread_is_running( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env) { return svr_thread->port; } axis2_status_t AXIS2_CALL axis2_tcp_svr_thread_set_worker( axis2_tcp_svr_thread_t * svr_thread, const axutil_env_t * env, axis2_tcp_worker_t * worker) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, worker, AXIS2_FAILURE); svr_thread->worker = worker; return AXIS2_SUCCESS; } /** * Thread worker function. */ void *AXIS2_THREAD_FUNC axis2_svr_thread_worker_func( axutil_thread_t * thd, void *data) { struct AXIS2_PLATFORM_TIMEB t1, t2; axis2_simple_tcp_svr_conn_t *svr_conn = NULL; axis2_char_t *request = NULL; int millisecs = 0; double secs = 0; axis2_tcp_worker_t *tmp = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_env_t *env = NULL; axis2_socket_t socket; axutil_env_t *thread_env = NULL; axis2_tcp_svr_thd_args_t *arg_list = NULL; #ifndef WIN32 #ifdef AXIS2_SVR_MULTI_THREADED signal(SIGPIPE, SIG_IGN); #endif #endif arg_list = (axis2_tcp_svr_thd_args_t *) data; if (!arg_list) { return NULL; } AXIS2_PLATFORM_GET_TIME_IN_MILLIS(&t1); env = arg_list->env; thread_env = axutil_init_thread_env(env); socket = arg_list->socket; svr_conn = axis2_simple_tcp_svr_conn_create(thread_env, (int)socket); axis2_simple_tcp_svr_conn_set_rcv_timeout(svr_conn, thread_env, axis2_tcp_socket_read_timeout); request = axis2_simple_tcp_svr_conn_read_request(svr_conn, thread_env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "tcp request %s", request); tmp = arg_list->worker; status = axis2_tcp_worker_process_request(tmp, thread_env, svr_conn, request); axis2_simple_tcp_svr_conn_free(svr_conn, thread_env); AXIS2_PLATFORM_GET_TIME_IN_MILLIS(&t2); millisecs = t2.millitm - t1.millitm; secs = difftime(t2.time, t1.time); if (millisecs < 0) { millisecs += 1000; secs--; } secs += millisecs / 1000.0; if (status == AXIS2_SUCCESS) { #if defined(WIN32) AXIS2_LOG_INFO(thread_env->log, "Request served successfully"); #else AXIS2_LOG_INFO(thread_env->log, "Request served in %.3f seconds", secs); #endif } else { #if defined(WIN32) AXIS2_LOG_WARNING(thread_env->log, AXIS2_LOG_SI, "Error occured in processing request "); #else AXIS2_LOG_WARNING(thread_env->log, AXIS2_LOG_SI, "Error occured in processing request (%.3f seconds)", secs); #endif } AXIS2_FREE(thread_env->allocator, arg_list); if (thread_env) { /* There is a persistant problem: Uncomment this after fix * the issue */ /* axutil_free_thread_env(thread_env); */ thread_env = NULL; } #ifdef AXIS2_SVR_MULTI_THREADED axutil_thread_pool_exit_thread(env->thread_pool, thd); #endif return NULL; } axis2c-src-1.6.0/src/core/transport/tcp/receiver/tcp_receiver.c0000644000175000017500000002233211166304470025623 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include /** * @brief TCP Client struct impl * Axis2 TCP Client impl */ typedef struct axis2_tcp_server_impl { axis2_transport_receiver_t tcp_server; axis2_tcp_svr_thread_t *svr_thread; int port; axis2_conf_ctx_t *conf_ctx; axis2_conf_ctx_t *conf_ctx_private; axis2_conf_t *conf; } axis2_tcp_server_impl_t; #define AXIS2_INTF_TO_IMPL(tcp_server) \ ((axis2_tcp_server_impl_t *)(tcp_server)) /***************************** Function headers *******************************/ axis2_status_t AXIS2_CALL axis2_tcp_server_init( axis2_transport_receiver_t * server, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_in_desc_t * in_desc); axis2_status_t AXIS2_CALL axis2_tcp_server_start( axis2_transport_receiver_t * server, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_tcp_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env); axis2_conf_ctx_t *AXIS2_CALL axis2_tcp_server_get_conf_ctx( axis2_transport_receiver_t * server, const axutil_env_t * env); axis2_endpoint_ref_t *AXIS2_CALL axis2_tcp_server_get_reply_to_epr( axis2_transport_receiver_t * server, const axutil_env_t * env, const axis2_char_t * svc_name); axis2_bool_t AXIS2_CALL axis2_tcp_server_is_running( axis2_transport_receiver_t * server, const axutil_env_t * env); void AXIS2_CALL axis2_tcp_server_free( axis2_transport_receiver_t * server, const axutil_env_t * env); static const axis2_transport_receiver_ops_t tcp_transport_receiver_ops_var = { axis2_tcp_server_init, axis2_tcp_server_start, axis2_tcp_server_get_reply_to_epr, axis2_tcp_server_get_conf_ctx, axis2_tcp_server_is_running, axis2_tcp_server_stop, axis2_tcp_server_free }; AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_tcp_server_create( const axutil_env_t * env, const axis2_char_t * repo, const int port) { axis2_tcp_server_impl_t *server_impl = NULL; AXIS2_ENV_CHECK(env, NULL); server_impl = (axis2_tcp_server_impl_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_tcp_server_impl_t)); if (!server_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } server_impl->svr_thread = NULL; server_impl->conf_ctx = NULL; server_impl->conf_ctx_private = NULL; server_impl->port = port; server_impl->tcp_server.ops = &tcp_transport_receiver_ops_var; if (repo) { /** * We first create a private conf ctx which is owned by this server * we only free this private conf context. We should never free the * server_impl->conf_ctx because it may own to any other object which * may lead to double free */ server_impl->conf_ctx_private = axis2_build_conf_ctx(env, repo); if (!server_impl->conf_ctx_private) { axis2_tcp_server_free((axis2_transport_receiver_t *) server_impl, env); return NULL; } server_impl->conf_ctx = server_impl->conf_ctx_private; } return &(server_impl->tcp_server); } void AXIS2_CALL axis2_tcp_server_free( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_tcp_server_impl_t *server_impl = NULL; AXIS2_ENV_CHECK(env, void); server_impl = AXIS2_INTF_TO_IMPL(server); if (server_impl->svr_thread) { axis2_tcp_svr_thread_destroy(server_impl->svr_thread, env); axis2_tcp_svr_thread_free(server_impl->svr_thread, env); server_impl->svr_thread = NULL; } if (server_impl->conf_ctx_private) { axis2_conf_ctx_free(server_impl->conf_ctx_private, env); server_impl->conf_ctx_private = NULL; } /** * Do not free this. It may own to some other object */ server_impl->conf_ctx = NULL; AXIS2_FREE(env->allocator, server_impl); return; } axis2_status_t AXIS2_CALL axis2_tcp_server_init( axis2_transport_receiver_t * server, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_in_desc_t * in_desc) { axis2_tcp_server_impl_t *server_impl = NULL; axis2_char_t *port_str = NULL; axutil_param_t *param = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); server_impl = AXIS2_INTF_TO_IMPL(server); server_impl->conf_ctx = conf_ctx; param = (axutil_param_t *) axutil_param_container_get_param(axis2_transport_in_desc_param_container (in_desc, env), env, "port"); if (param) { port_str = axutil_param_get_value(param, env); } if (port_str) { server_impl->port = atoi(port_str); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_tcp_server_start( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_tcp_server_impl_t *server_impl = NULL; axis2_tcp_worker_t *worker = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); server_impl = AXIS2_INTF_TO_IMPL(server); server_impl->svr_thread = axis2_tcp_svr_thread_create(env, server_impl->port); if (!server_impl->svr_thread) { return AXIS2_FAILURE; } worker = axis2_tcp_worker_create(env, server_impl->conf_ctx); axis2_tcp_worker_set_svr_port(worker, env, server_impl->port); if (!worker) { axis2_tcp_svr_thread_free(server_impl->svr_thread, env); return AXIS2_FAILURE; } AXIS2_LOG_INFO(env->log, "Starting TCP server thread"); axis2_tcp_svr_thread_set_worker(server_impl->svr_thread, env, worker); axis2_tcp_svr_thread_run(server_impl->svr_thread, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Terminating TCP server thread"); if (AXIS2_INTF_TO_IMPL(server)->svr_thread) { axis2_tcp_svr_thread_destroy(AXIS2_INTF_TO_IMPL(server)->svr_thread, env); } AXIS2_LOG_INFO(env->log, "Successfully terminated TCP server" " thread"); return AXIS2_SUCCESS; } axis2_conf_ctx_t *AXIS2_CALL axis2_tcp_server_get_conf_ctx( axis2_transport_receiver_t * server, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return AXIS2_INTF_TO_IMPL(server)->conf_ctx; } axis2_endpoint_ref_t *AXIS2_CALL axis2_tcp_server_get_reply_to_epr( axis2_transport_receiver_t * server, const axutil_env_t * env, const axis2_char_t * svc_name) { axis2_endpoint_ref_t *epr = NULL; const axis2_char_t *host_address = NULL; axis2_char_t *svc_path = NULL; axutil_url_t *url = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, svc_name, NULL); host_address = "127.0.0.1"; /* TODO : get from axis2.xml */ svc_path = axutil_stracat(env, "/axis2/services/", svc_name); url = axutil_url_create(env, "tcp", host_address, AXIS2_INTF_TO_IMPL(server)->port, svc_path); AXIS2_FREE(env->allocator, svc_path); if (!url) { return NULL; } epr = axis2_endpoint_ref_create(env, axutil_url_to_external_form(url, env)); axutil_url_free(url, env); return epr; } axis2_bool_t AXIS2_CALL axis2_tcp_server_is_running( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_tcp_server_impl_t *server_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); server_impl = AXIS2_INTF_TO_IMPL(server); if (!server_impl->svr_thread) { return AXIS2_FALSE; } return axis2_tcp_svr_thread_is_running(server_impl->svr_thread, env); } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_transport_receiver **inst, const axutil_env_t * env) { *inst = axis2_tcp_server_create(env, NULL, -1); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_transport_receiver_t * inst, const axutil_env_t * env) { if (inst) { axis2_transport_receiver_free(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/tcp/receiver/simple_tcp_svr_conn.c0000644000175000017500000001231511166304470027217 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include struct axis2_simple_tcp_svr_conn { int socket; axutil_stream_t *stream; axis2_char_t *buffer; }; AXIS2_EXTERN axis2_simple_tcp_svr_conn_t *AXIS2_CALL axis2_simple_tcp_svr_conn_create( const axutil_env_t * env, int sockfd) { axis2_simple_tcp_svr_conn_t *svr_conn = NULL; AXIS2_ENV_CHECK(env, NULL); svr_conn = (axis2_simple_tcp_svr_conn_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_simple_tcp_svr_conn_t)); if (!svr_conn) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } svr_conn->socket = sockfd; svr_conn->stream = NULL; svr_conn->buffer = NULL; if (-1 != svr_conn->socket) { svr_conn->stream = axutil_stream_create_socket(env, svr_conn->socket); if (!svr_conn->stream) { axis2_simple_tcp_svr_conn_free((axis2_simple_tcp_svr_conn_t *) svr_conn, env); return NULL; } } return svr_conn; } AXIS2_EXTERN void AXIS2_CALL axis2_simple_tcp_svr_conn_free( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { axis2_simple_tcp_svr_conn_close(svr_conn, env); AXIS2_FREE(env->allocator, svr_conn); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_tcp_svr_conn_close( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); axutil_stream_free(svr_conn->stream, env); if (-1 != svr_conn->socket) { axutil_network_handler_close_socket(env, svr_conn->socket); svr_conn->socket = -1; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_simple_tcp_svr_conn_is_open( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (-1 != svr_conn->socket) { return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_simple_tcp_svr_conn_get_stream( const axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { return svr_conn->stream; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_tcp_svr_conn_read_request( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { int size = 32000; axis2_char_t str_line[32000]; axis2_char_t tmp_buf[32000]; int read = -1; AXIS2_ENV_CHECK(env, NULL); memset(str_line, 0, size); while ((read = axutil_stream_peek_socket(svr_conn->stream, env, tmp_buf, size - 1)) > 0) { tmp_buf[read] = '\0'; if (read > 0) { read = axutil_stream_read(svr_conn->stream, env, tmp_buf, size - 1); if (read > 0) { tmp_buf[read] = '\0'; strcat(str_line, tmp_buf); break; } else { break; } } } if (str_line > 0) { svr_conn->buffer = str_line; } return svr_conn->buffer; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_tcp_svr_conn_set_rcv_timeout( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout) { return axutil_network_handler_set_sock_option(env, svr_conn->socket, SO_RCVTIMEO, timeout); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_tcp_svr_conn_set_snd_timeout( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout) { return axutil_network_handler_set_sock_option(env, svr_conn->socket, SO_SNDTIMEO, timeout); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_tcp_svr_conn_get_svr_ip( const axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { return axutil_network_handler_get_svr_ip(env, svr_conn->socket); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_tcp_svr_conn_get_peer_ip( const axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env) { return axutil_network_handler_get_peer_ip(env, svr_conn->socket); } axis2c-src-1.6.0/src/core/transport/tcp/receiver/tcp_worker.c0000644000175000017500000001352411166304470025333 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct axis2_tcp_worker { axis2_conf_ctx_t *conf_ctx; int svr_port; }; AXIS2_EXTERN axis2_tcp_worker_t *AXIS2_CALL axis2_tcp_worker_create( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axis2_tcp_worker_t *tcp_worker = NULL; AXIS2_ENV_CHECK(env, NULL); tcp_worker = (axis2_tcp_worker_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_tcp_worker_t)); if (!tcp_worker) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } tcp_worker->conf_ctx = conf_ctx; tcp_worker->svr_port = 9090; /* default - must set later */ return tcp_worker; } AXIS2_EXTERN void AXIS2_CALL axis2_tcp_worker_free( axis2_tcp_worker_t * tcp_worker, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); tcp_worker->conf_ctx = NULL; AXIS2_FREE(env->allocator, tcp_worker); return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_tcp_worker_process_request( axis2_tcp_worker_t * tcp_worker, const axutil_env_t * env, axis2_simple_tcp_svr_conn_t * svr_conn, axis2_char_t * simple_request) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_transport_out_desc_t *out_desc = NULL; axis2_transport_in_desc_t *in_desc = NULL; axis2_msg_ctx_t *msg_ctx = NULL; axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_soap_builder_t *soap_builder = NULL; axiom_soap_envelope_t *soap_envelope = NULL; axis2_engine_t *engine = NULL; axis2_status_t status = AXIS2_FALSE; axutil_stream_t *svr_stream = NULL; axis2_char_t *buffer = NULL; int len = 0; int write = -1; axutil_stream_t *out_stream = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "start:axis2_tcp_worker_process_request"); out_stream = axutil_stream_create_basic(env); reader = axiom_xml_reader_create_for_memory(env, simple_request, axutil_strlen(simple_request), NULL, AXIS2_XML_PARSER_TYPE_BUFFER); if (!reader) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create XML reader"); return AXIS2_FAILURE; } builder = axiom_stax_builder_create(env, reader); if (!builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create Stax builder"); return AXIS2_FAILURE; } soap_builder = axiom_soap_builder_create(env, builder, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI); if (!soap_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to create SOAP builder"); return AXIS2_FAILURE; } conf_ctx = tcp_worker->conf_ctx; if (!conf_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "conf ctx not available"); return AXIS2_FAILURE; } out_desc = axis2_conf_get_transport_out(axis2_conf_ctx_get_conf(conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_TCP); if (!out_desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport out not set"); return AXIS2_FAILURE; } in_desc = axis2_conf_get_transport_in(axis2_conf_ctx_get_conf(conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_TCP); msg_ctx = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_transport_out_stream(msg_ctx, env, out_stream); soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); engine = axis2_engine_create(env, conf_ctx); status = axis2_engine_receive(engine, env, msg_ctx); svr_stream = axis2_simple_tcp_svr_conn_get_stream(svr_conn, env); buffer = out_stream->buffer; len = out_stream->len; buffer[len] = 0; if (svr_stream && buffer) { write = axutil_stream_write(svr_stream, env, buffer, len + 1); if (write < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "stream write failed"); return AXIS2_FAILURE; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "stream wrote:%s", buffer); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "end:axis2_tcp_worker_process_request"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_tcp_worker_set_svr_port( axis2_tcp_worker_t * worker, const axutil_env_t * env, int port) { worker->svr_port = port; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/tcp/axis2_simple_tcp_svr_conn.h0000644000175000017500000001100211166304471026517 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SIMPLE_HTTP_SVR_CONN_H #define AXIS2_SIMPLE_HTTP_SVR_CONN_H /** * @ingroup axis2_core_transport_tcp * @{ */ /** * @file axis2_simple_tcp_svr_conn.h * @brief Axis2 simple tcp server connection */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axis2_simple_tcp_svr_conn axis2_simple_tcp_svr_conn_t; /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_tcp_svr_conn_close( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_simple_tcp_svr_conn_is_open( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_simple_tcp_svr_conn_get_stream( const axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_tcp_svr_conn_read_request( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @param timeout timeout * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_tcp_svr_conn_set_rcv_timeout( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @param timeout timeout * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_tcp_svr_conn_set_snd_timeout( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_tcp_svr_conn_get_svr_ip( const axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_tcp_svr_conn_get_peer_ip( const axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_simple_tcp_svr_conn_free( axis2_simple_tcp_svr_conn_t * svr_conn, const axutil_env_t * env); /** * creates axis2_simple_tcp_svr_conn struct * @param env pointer to environment struct * @param sockfd sockfd */ AXIS2_EXTERN axis2_simple_tcp_svr_conn_t *AXIS2_CALL axis2_simple_tcp_svr_conn_create( const axutil_env_t * env, int sockfd); #ifdef __cplusplus } #endif #endif /* AXIS2_SIMPLE_HTTP_SVR_CONN_H */ axis2c-src-1.6.0/src/core/transport/amqp/0000777000175000017500000000000011172017542021351 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/util/0000777000175000017500000000000011172017543022327 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/util/axis2_amqp_defines.h0000644000175000017500000000526711166304471026251 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_AMQP_DEFINES_H #define AXIS2_AMQP_DEFINES_H #include #define AXIS2_AMQP_EXCHANGE_DIRECT "amq.direct" #define AXIS2_AMQP_CONF_QPID_BROKER_IP "qpid_broker_ip" #define AXIS2_AMQP_CONF_QPID_BROKER_PORT "qpid_broker_port" #define AXIS2_AMQP_CONF_QPID_REQUEST_TIMEOUT "request_timeout" #define AXIS2_QPID_DEFAULT_BROKER_IP "127.0.0.1" #define AXIS2_QPID_DEFAULT_BROKER_PORT 5672 #define AXIS2_QPID_DEFAULT_REQUEST_TIMEOUT 500 #define AXIS2_QPID_NULL_CONF_INT -1 #define AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_IP "qpid_broker_ip" #define AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_PORT "qpid_broker_port" #define AXIS2_AMQP_CONF_CTX_PROPERTY_REQUEST_TIMEOUT "request_timeout" #define AXIS2_AMQP_CONF_CTX_PROPERTY_QUEUE_NAME "queue_name" #define AXIS2_AMQP_MSG_CTX_PROPERTY_REPLY_TO "qpid_reply_to" #define AXIS2_AMQP_HEADER_ACCEPT_TEXT_XML "text/xml" #define AXIS2_AMQP_HEADER_ACCEPT_APPL_SOAP "application/soap+xml" #define AXIS2_AMQP_HEADER_ACCEPT_MULTIPART_RELATED AXIOM_MIME_TYPE_MULTIPART_RELATED #define AXIS2_AMQP_HEADER_CONTENT_TYPE_MIME_BOUNDARY "boundary" #define AXIS2_AMQP_HEADER_SOAP_ACTION "SOAPAction" #define AXIS2_AMQP_HEADER_CONTENT_TYPE "Content-Type" #define AXIS2_AMQP_TEMP_QUEUE_NAME_PREFIX "TempQueue" #define AXIS2_AMQP_SERVER_LOG_FILE_NAME "axis2_amqp_server.log" #define AXIS2_AMQP_SERVER_REPO_PATH "../" #define AXIS2_AMQP_EPR_PREFIX "amqp:" #define AXIS2_AMQP_EPR_SERVICE_PREFIX "services" #define AXIS2_AMQP_EPR_ANON_SERVICE_NAME "__ANONYMOUS_SERVICE__" #define AXIS2_AMQP_EQ '=' #define AXIS2_AMQP_SEMI_COLON ';' #define AXIS2_AMQP_ESC_NULL '\0' #define AXIS2_AMQP_DOUBLE_QUOTE '"' #define AXIS2_AMQP_B_SLASH '\\' #define AXIS2_AMQP_NANOSEC_PER_MILLISEC 1000*1000 #endif axis2c-src-1.6.0/src/core/transport/amqp/util/Makefile.am0000644000175000017500000000124411166304471024362 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_amqp_util.la libaxis2_amqp_util_la_SOURCES = axis2_amqp_util.c libaxis2_amqp_util_la_LIBADD = $(top_builddir)/util/src/libaxutil.la libaxis2_amqp_util_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/amqp/util/Makefile.in0000644000175000017500000003673111172017204024374 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_amqp_util_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la am_libaxis2_amqp_util_la_OBJECTS = axis2_amqp_util.lo libaxis2_amqp_util_la_OBJECTS = $(am_libaxis2_amqp_util_la_OBJECTS) libaxis2_amqp_util_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_amqp_util_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_amqp_util_la_SOURCES) DIST_SOURCES = $(libaxis2_amqp_util_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_amqp_util.la libaxis2_amqp_util_la_SOURCES = axis2_amqp_util.c libaxis2_amqp_util_la_LIBADD = $(top_builddir)/util/src/libaxutil.la libaxis2_amqp_util_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_amqp_util.la: $(libaxis2_amqp_util_la_OBJECTS) $(libaxis2_amqp_util_la_DEPENDENCIES) $(libaxis2_amqp_util_la_LINK) -rpath $(libdir) $(libaxis2_amqp_util_la_OBJECTS) $(libaxis2_amqp_util_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_amqp_util.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/util/axis2_amqp_util.c0000644000175000017500000005440111166304471025576 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_get_in_desc_conf_value_string( axis2_transport_in_desc_t* in_desc, const axutil_env_t* env, const axis2_char_t* param_name) { axutil_param_t* param = NULL; axis2_char_t* value = NULL; param = (axutil_param_t*) axutil_param_container_get_param( axis2_transport_in_desc_param_container(in_desc, env), env, param_name); if (param) { value = axutil_param_get_value(param, env); } return value; } AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_get_in_desc_conf_value_int( axis2_transport_in_desc_t* in_desc, const axutil_env_t* env, const axis2_char_t* param_name) { axis2_char_t* value_str = NULL; int value = AXIS2_QPID_NULL_CONF_INT; value_str = axis2_amqp_util_get_in_desc_conf_value_string( in_desc, env, param_name); if (value_str) { value = atoi(value_str); } return value; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_get_out_desc_conf_value_string( axis2_transport_out_desc_t* out_desc, const axutil_env_t* env, const axis2_char_t* param_name) { axutil_param_t* param = NULL; axis2_char_t* value = NULL; param = (axutil_param_t*) axutil_param_container_get_param( axis2_transport_out_desc_param_container(out_desc, env), env, param_name); if (param) { value = axutil_param_get_value(param, env); } return value; } AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_get_out_desc_conf_value_int( axis2_transport_out_desc_t* out_desc, const axutil_env_t* env, const axis2_char_t* param_name) { axis2_char_t* value_str = NULL; int value = AXIS2_QPID_NULL_CONF_INT; value_str = axis2_amqp_util_get_out_desc_conf_value_string( out_desc, env, param_name); if (value_str) { value = atoi(value_str); } return value; } AXIS2_EXTERN axiom_soap_envelope_t* AXIS2_CALL axis2_amqp_util_get_soap_envelope( axis2_amqp_response_t* response, const axutil_env_t* env, axis2_msg_ctx_t* msg_ctx) { axiom_xml_reader_t* xml_reader = NULL; axiom_stax_builder_t* stax_builder = NULL; axiom_soap_builder_t* soap_builder = NULL; axiom_soap_envelope_t* soap_envelope = NULL; const axis2_char_t* soap_ns_uri = NULL; axis2_char_t *soap_body_str = NULL; int soap_body_len = 0; axis2_bool_t is_mtom = AXIS2_FALSE; axutil_hash_t *binary_data_map = NULL; axis2_bool_t is_soap_11 = AXIS2_FALSE; if (!response || !response->data || !response->content_type) { return NULL; } is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); /* Handle MTOM */ if (strstr(response->content_type, AXIS2_AMQP_HEADER_ACCEPT_MULTIPART_RELATED)) { axis2_char_t* mime_boundary = axis2_amqp_util_get_value_from_content_type(env, response->content_type, AXIS2_AMQP_HEADER_CONTENT_TYPE_MIME_BOUNDARY); if (mime_boundary) { axiom_mime_parser_t *mime_parser = NULL; int soap_body_len = 0; axutil_param_t *buffer_size_param = NULL; axutil_param_t *max_buffers_param = NULL; axutil_param_t *attachment_dir_param = NULL; axis2_char_t *value_size = NULL; axis2_char_t *value_num = NULL; axis2_char_t *value_dir = NULL; int size = 0; int num = 0; mime_parser = axiom_mime_parser_create(env); buffer_size_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_MTOM_BUFFER_SIZE); if (buffer_size_param) { value_size = (axis2_char_t *)axutil_param_get_value(buffer_size_param, env); if (value_size) { size = atoi(value_size); axiom_mime_parser_set_buffer_size(mime_parser, env, size); } } max_buffers_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_MTOM_MAX_BUFFERS); if (max_buffers_param) { value_num = (axis2_char_t*)axutil_param_get_value(max_buffers_param, env); if(value_num) { num = atoi(value_num); axiom_mime_parser_set_max_buffers(mime_parser, env, num); } } attachment_dir_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_ATTACHMENT_DIR); if (attachment_dir_param) { value_dir = (axis2_char_t*)axutil_param_get_value(attachment_dir_param, env); if (value_dir) { axiom_mime_parser_set_attachment_dir(mime_parser, env, value_dir); } } if (mime_parser) { axis2_callback_info_t* callback_ctx = NULL; axutil_stream_t* stream = NULL; callback_ctx = (axis2_callback_info_t*) AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_info_t)); stream = axutil_stream_create_basic(env); if (stream) { axutil_stream_write(stream, env, response->data, response->length); callback_ctx->env = env; callback_ctx->in_stream = stream; callback_ctx->content_length = response->length; callback_ctx->unread_len = response->length; callback_ctx->chunked_stream = NULL; } binary_data_map = axiom_mime_parser_parse(mime_parser, env, axis2_amqp_util_on_data_request, (void*)callback_ctx, mime_boundary); if (!binary_data_map) { return AXIS2_FAILURE; } soap_body_len = axiom_mime_parser_get_soap_body_len(mime_parser, env); soap_body_str = axiom_mime_parser_get_soap_body_str(mime_parser, env); axutil_stream_free(stream, env); AXIS2_FREE(env->allocator, callback_ctx); axiom_mime_parser_free(mime_parser, env); } AXIS2_FREE(env->allocator, mime_boundary); } is_mtom = AXIS2_TRUE; } else { soap_body_str = response->data; soap_body_len = axutil_strlen(response->data); } soap_body_len = axutil_strlen(soap_body_str); xml_reader = axiom_xml_reader_create_for_memory(env, soap_body_str, soap_body_len, NULL, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_reader) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create XML Reader"); return NULL; } stax_builder = axiom_stax_builder_create(env, xml_reader); if (!stax_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create StAX Builder"); return NULL; } soap_ns_uri = is_soap_11 ? AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI : AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; soap_builder = axiom_soap_builder_create(env, stax_builder, soap_ns_uri); if (!soap_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create SOAP Builder"); return NULL; } if (binary_data_map) { axiom_soap_builder_set_mime_body_parts(soap_builder, env, binary_data_map); } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (soap_envelope) { /* hack to get around MTOM problem */ axiom_soap_body_t *soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (soap_body) { axiom_soap_body_has_fault(soap_body, env); } } return soap_envelope; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_util_conf_ctx_get_server_side( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env) { axutil_property_t* property = NULL; axis2_char_t* value = NULL; property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_IS_SVR_SIDE); if (!property) return AXIS2_TRUE; value = (axis2_char_t*)axutil_property_get_value(property, env); if (!value) return AXIS2_TRUE; return (axutil_strcmp(value, AXIS2_VALUE_TRUE) == 0) ? AXIS2_TRUE : AXIS2_FALSE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_amqp_util_get_value_from_content_type( const axutil_env_t * env, const axis2_char_t * content_type, const axis2_char_t * key) { axis2_char_t *tmp = NULL; axis2_char_t *tmp_content_type = NULL; axis2_char_t *tmp2 = NULL; AXIS2_PARAM_CHECK(env->error, content_type, NULL); AXIS2_PARAM_CHECK(env->error, key, NULL); tmp_content_type = axutil_strdup(env, content_type); if (!tmp_content_type) { return NULL; } tmp = strstr(tmp_content_type, key); if (!tmp) { AXIS2_FREE(env->allocator, tmp_content_type); return NULL; } tmp = strchr(tmp, AXIS2_AMQP_EQ); tmp2 = strchr(tmp, AXIS2_AMQP_SEMI_COLON); if (tmp2) { *tmp2 = AXIS2_AMQP_ESC_NULL; } if (!tmp) { AXIS2_FREE(env->allocator, tmp_content_type); return NULL; } tmp2 = axutil_strdup(env, tmp + 1); AXIS2_FREE(env->allocator, tmp_content_type); if (*tmp2 == AXIS2_AMQP_DOUBLE_QUOTE) { tmp = tmp2; tmp2 = axutil_strdup(env, tmp + 1); tmp2[strlen(tmp2) - 1] = AXIS2_AMQP_ESC_NULL; if(tmp) { AXIS2_FREE(env->allocator, tmp); tmp = NULL; } } /* handle XOP */ if(*tmp2 == AXIS2_AMQP_B_SLASH && *(tmp2 + 1) == '\"') { tmp = tmp2; tmp2 = axutil_strdup(env, tmp + 2); tmp2[strlen(tmp2) - 3] = AXIS2_AMQP_ESC_NULL; if(tmp) { AXIS2_FREE(env->allocator, tmp); tmp = NULL; } } return tmp2; } AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_on_data_request( char* buffer, int size, void* ctx) { const axutil_env_t* env = NULL; int len = -1; axis2_callback_info_t* cb_ctx = (axis2_callback_info_t*)ctx; axutil_stream_t* in_stream = NULL; if (!buffer || !ctx) { return 0; } if (cb_ctx->unread_len <= 0 && -1 != cb_ctx->content_length) { return 0; } env = ((axis2_callback_info_t*)ctx)->env; in_stream = (axutil_stream_t*)((axis2_callback_info_t *) ctx)->in_stream; --size; /* reserve space to insert trailing null */ len = axutil_stream_read(in_stream, env, buffer, size); if (len > 0) { buffer[len] = AXIS2_AMQP_ESC_NULL; ((axis2_callback_info_t*)ctx)->unread_len -= len; } else if(len == 0) { ((axis2_callback_info_t*)ctx)->unread_len = 0; } return len; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_conf_ctx_get_dual_channel_queue_name( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env) { axutil_property_t* property = NULL; axis2_char_t* queue_name = NULL; axis2_char_t* value = NULL; /* Get property */ property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_QUEUE_NAME); if (!property) /* Very first call */ { property = axutil_property_create(env); axis2_conf_ctx_set_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_QUEUE_NAME, property); } /* Get queue name */ value = (axis2_char_t*)axutil_property_get_value(property, env); /* AMQP listener and the sender are the two parties that are * interested in the queue. Either party can create the queue. * If the queue is already created by one party, "value" is * not NULL. If "value" is NULL, that mean the caller of * this method is supposed to create the queue */ if (value) { queue_name = (axis2_char_t*) AXIS2_MALLOC(env->allocator, axutil_strlen(value) + 1); strcpy(queue_name, value); /*axutil_property_set_value(property, env, NULL);*/ } else { /* Create new queue name */ queue_name = axutil_stracat(env, AXIS2_AMQP_TEMP_QUEUE_NAME_PREFIX, axutil_uuid_gen(env)); /* Put queue name in the conf_ctx so that the sender will know */ axutil_property_set_value(property, env, (void*)queue_name); } return queue_name; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_conf_ctx_get_qpid_broker_ip( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env) { axutil_property_t* property = NULL; void* value = NULL; axis2_char_t* broker_ip = AXIS2_QPID_DEFAULT_BROKER_IP; property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_IP); if (property) { value = axutil_property_get_value(property, env); if (value) { broker_ip = (axis2_char_t*)value; } } return broker_ip; } AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_conf_ctx_get_qpid_broker_port( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env) { axutil_property_t* property = NULL; void* value = NULL; int broker_port = AXIS2_QPID_DEFAULT_BROKER_PORT; property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_PORT); if (property) { value = axutil_property_get_value(property, env); if (value) { broker_port = *(int*)value; } } return broker_port; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_util_msg_ctx_get_use_separate_listener( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env) { axutil_property_t* property = NULL; axis2_char_t* value = NULL; axis2_bool_t use_separate_listener = AXIS2_FALSE; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_USE_SEPARATE_LISTENER); if (property) { value = (axis2_char_t*)axutil_property_get_value(property, env); if (value && (axutil_strcmp(AXIS2_VALUE_TRUE, value) == 0)) { use_separate_listener = AXIS2_TRUE; } } return use_separate_listener; } AXIS2_EXTERN axis2_amqp_destination_info_t* AXIS2_CALL axis2_amqp_util_msg_ctx_get_destination_info( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env) { /* The destination URI that is expected by this method * should be of one of the following formats * 1. amqp://IP:PORT/services/SERVICE_NAME * 2. jms:/SERVICE_NAME?java.naming.provider.url=tcp://IP:PORT... * 3. TempQueue... */ axis2_endpoint_ref_t* endpoint_ref = NULL; axis2_amqp_destination_info_t* destination_info = NULL; destination_info = (axis2_amqp_destination_info_t*) AXIS2_MALLOC(env->allocator, sizeof(axis2_amqp_destination_info_t)); destination_info->broker_ip = NULL; destination_info->broker_port = AXIS2_QPID_NULL_CONF_INT; destination_info->queue_name = NULL; endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { const axis2_char_t* endpoint_address_original = NULL; axis2_char_t* endpoint_address = NULL; char* substr = NULL; char* token = NULL; endpoint_address_original = axis2_endpoint_ref_get_address(endpoint_ref, env); if (!endpoint_address_original) return NULL; endpoint_address = (axis2_char_t*)AXIS2_MALLOC(env->allocator, (sizeof(axis2_char_t) * axutil_strlen(endpoint_address_original)) + 1); strcpy((char*)endpoint_address, (char*)endpoint_address_original); if ((substr = strstr(endpoint_address, AXIS2_AMQP_EPR_PREFIX))) /* Start with amqp: */ { if (strstr(endpoint_address, AXIS2_AMQP_EPR_ANON_SERVICE_NAME)) { /* Server reply to dual-channel client */ axutil_property_t* property = NULL; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_AMQP_MSG_CTX_PROPERTY_REPLY_TO); if (property) { axis2_char_t* queue_name = (axis2_char_t*) axutil_property_get_value(property, env); if (queue_name) { destination_info->queue_name = (axis2_char_t*)AXIS2_MALLOC( env->allocator, (sizeof(axis2_char_t) * strlen(queue_name)) + 1); strcpy(destination_info->queue_name, queue_name); } } } else { substr+= strlen(AXIS2_AMQP_EPR_PREFIX) + 2; /* 2 -> "//" */ if (substr) /* IP:PORT/services/SERVICE_NAME */ { token = strtok(substr, ":"); if (token) /* IP */ { axis2_char_t* broker_ip = (axis2_char_t*)AXIS2_MALLOC(env->allocator, (sizeof(axis2_char_t) * strlen(token)) + 1); strcpy(broker_ip, token); destination_info->broker_ip = broker_ip; token = strtok(NULL, "/"); /* PORT */ if (token) { destination_info->broker_port = atoi(token); token = strtok(NULL, "#"); /* ... services/SERVICE_NAME */ if (token) { if ((substr = strstr(token, AXIS2_AMQP_EPR_SERVICE_PREFIX))) { substr+= strlen(AXIS2_AMQP_EPR_SERVICE_PREFIX) + 1; /* 1 -> "/" */ if (substr) { axis2_char_t* queue_name = (axis2_char_t*)AXIS2_MALLOC(env->allocator, (sizeof(axis2_char_t) * strlen(substr)) + 1); strcpy(queue_name, substr); destination_info->queue_name = queue_name; } } } } } } } } else if (0 == strcmp(endpoint_address, AXIS2_WSA_ANONYMOUS_URL)) /* Required to work with Sandesha2 */ { axutil_property_t* property = NULL; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_AMQP_MSG_CTX_PROPERTY_REPLY_TO); if (property) { axis2_char_t* queue_name = (axis2_char_t*) axutil_property_get_value(property, env); if (queue_name) { destination_info->queue_name = (axis2_char_t*)AXIS2_MALLOC( env->allocator, (sizeof(axis2_char_t) * strlen(queue_name)) + 1); strcpy(destination_info->queue_name, queue_name); } } } else if ((substr = strstr(endpoint_address, "jms:/")) && (substr == endpoint_address)) { } AXIS2_FREE(env->allocator, endpoint_address); } else { /* Single-channel blocking */ axutil_property_t* property = NULL; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_AMQP_MSG_CTX_PROPERTY_REPLY_TO); if (property) { axis2_char_t* queue_name = (axis2_char_t*) axutil_property_get_value(property, env); if (queue_name) { destination_info->queue_name = (axis2_char_t*)AXIS2_MALLOC( env->allocator, (sizeof(axis2_char_t) * strlen(queue_name)) + 1); strcpy(destination_info->queue_name, queue_name); } } } /* Get broker IP/Port from conf_ctx if they are not * found in the destination URI */ if (!destination_info->broker_ip) { axis2_conf_ctx_t* conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axutil_property_t* property = NULL; property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_IP); if (property) { axis2_char_t* broker_ip = (axis2_char_t*) axutil_property_get_value(property, env); if (broker_ip) { destination_info->broker_ip = (axis2_char_t*)AXIS2_MALLOC( env->allocator, (sizeof(axis2_char_t) * strlen(broker_ip)) + 1); strcpy(destination_info->broker_ip, broker_ip); } } } } if (AXIS2_QPID_NULL_CONF_INT == destination_info->broker_port) { axis2_conf_ctx_t* conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axutil_property_t* property = NULL; property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_PORT); if (property) { void* value = axutil_property_get_value(property, env); if (value) { destination_info->broker_port = *(int*)value; } } } } return destination_info; } AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_msg_ctx_get_request_timeout( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env) { axis2_conf_ctx_t* conf_ctx = NULL; axutil_property_t* property = NULL; void* value = NULL; int request_timeout = AXIS2_QPID_DEFAULT_REQUEST_TIMEOUT; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { property = axis2_conf_ctx_get_property(conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_REQUEST_TIMEOUT); if (property) { value = axutil_property_get_value(property, env); if (value) { request_timeout = *(int*)value; } } } return request_timeout; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_util_msg_ctx_get_server_side( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env) { axis2_conf_ctx_t* conf_ctx = NULL; axis2_bool_t is_server = AXIS2_FALSE; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { is_server = axis2_amqp_util_conf_ctx_get_server_side( conf_ctx, env); } return is_server; } AXIS2_EXTERN void AXIS2_CALL axis2_amqp_response_free( axis2_amqp_response_t* response, const axutil_env_t* env) { if (response) { if (response->data) { AXIS2_FREE(env->allocator, response->data); } if (response->content_type) { AXIS2_FREE(env->allocator, response->content_type); } AXIS2_FREE(env->allocator, response); } } AXIS2_EXTERN void AXIS2_CALL axis2_amqp_destination_info_free( axis2_amqp_destination_info_t* destination_info, const axutil_env_t* env) { if (destination_info) { if (destination_info->broker_ip) { AXIS2_FREE(env->allocator, destination_info->broker_ip); } if (destination_info->queue_name) { AXIS2_FREE(env->allocator, destination_info->queue_name); } AXIS2_FREE(env->allocator, destination_info); } } axis2c-src-1.6.0/src/core/transport/amqp/util/axis2_amqp_util.h0000644000175000017500000001007411166304471025601 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_AMQP_UTIL_H #define AXIS2_AMQP_UTIL_H #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axis2_amqp_response { void* data; int length; axis2_char_t* content_type; } axis2_amqp_response_t; typedef struct axis2_amqp_destination_info { axis2_char_t* broker_ip; int broker_port; axis2_char_t* queue_name; } axis2_amqp_destination_info_t; AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_get_in_desc_conf_value_string( axis2_transport_in_desc_t* in_desc, const axutil_env_t* env, const axis2_char_t* param_name); AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_get_in_desc_conf_value_int( axis2_transport_in_desc_t* in_desc, const axutil_env_t* env, const axis2_char_t* param_name); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_get_out_desc_conf_value_string( axis2_transport_out_desc_t* out_desc, const axutil_env_t* env, const axis2_char_t* param_name); AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_get_out_desc_conf_value_int( axis2_transport_out_desc_t* out_desc, const axutil_env_t* env, const axis2_char_t* param_name); AXIS2_EXTERN axiom_soap_envelope_t* AXIS2_CALL axis2_amqp_util_get_soap_envelope( axis2_amqp_response_t* response, const axutil_env_t* env, axis2_msg_ctx_t* msg_ctx); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_util_conf_ctx_get_server_side( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_get_value_from_content_type( const axutil_env_t * env, const axis2_char_t * content_type, const axis2_char_t * key); AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_on_data_request( char *buffer, int size, void *ctx); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_conf_ctx_get_dual_channel_queue_name( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_amqp_util_conf_ctx_get_qpid_broker_ip( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env); AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_conf_ctx_get_qpid_broker_port( axis2_conf_ctx_t* conf_ctx, const axutil_env_t* env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_util_msg_ctx_get_use_separate_listener( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env); AXIS2_EXTERN axis2_amqp_destination_info_t* AXIS2_CALL axis2_amqp_util_msg_ctx_get_destination_info( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env); AXIS2_EXTERN int AXIS2_CALL axis2_amqp_util_msg_ctx_get_request_timeout( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_util_msg_ctx_get_server_side( axis2_msg_ctx_t* msg_ctx, const axutil_env_t* env); AXIS2_EXTERN void AXIS2_CALL axis2_amqp_response_free( axis2_amqp_response_t* response, const axutil_env_t* env); AXIS2_EXTERN void AXIS2_CALL axis2_amqp_destination_info_free( axis2_amqp_destination_info_t* destination_info, const axutil_env_t* env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/src/core/transport/amqp/Makefile.am0000644000175000017500000000007411166304471023405 0ustar00manjulamanjula00000000000000SUBDIRS = util \ receiver \ server \ sender axis2c-src-1.6.0/src/core/transport/amqp/Makefile.in0000644000175000017500000003477711172017203023426 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = util \ receiver \ server \ sender all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/sender/0000777000175000017500000000000011172017544022633 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/sender/axis2_amqp_sender.c0000644000175000017500000002305111166304471026401 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include static const axis2_transport_sender_ops_t amqp_sender_ops = { axis2_amqp_sender_init, axis2_amqp_sender_invoke, axis2_amqp_sender_clean_up, axis2_amqp_sender_free}; AXIS2_EXTERN axis2_transport_sender_t* AXIS2_CALL axis2_amqp_sender_create(const axutil_env_t* env) { AXIS2_ENV_CHECK(env, NULL); axis2_amqp_sender_resource_pack_t* sender_resource_pack = NULL; sender_resource_pack = (axis2_amqp_sender_resource_pack_t*) AXIS2_MALLOC(env->allocator, sizeof(axis2_amqp_sender_resource_pack_t)); if (!sender_resource_pack) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } sender_resource_pack->sender.ops = &amqp_sender_ops; sender_resource_pack->conf_ctx = NULL; return &(sender_resource_pack->sender); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_sender_init( axis2_transport_sender_t* sender, const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx, axis2_transport_out_desc_t* out_desc) { axis2_amqp_sender_resource_pack_t* sender_resource_pack = NULL; axutil_property_t* property = NULL; int* request_timeout = (int*)AXIS2_MALLOC(env->allocator, sizeof(int)); *request_timeout = AXIS2_QPID_NULL_CONF_INT; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); sender_resource_pack = AXIS2_AMQP_SENDER_TO_RESOURCE_PACK(sender); sender_resource_pack->conf_ctx = conf_ctx; /* Set request timeout */ *request_timeout = axis2_amqp_util_get_out_desc_conf_value_int( out_desc, env, AXIS2_AMQP_CONF_QPID_REQUEST_TIMEOUT); if (*request_timeout == AXIS2_QPID_NULL_CONF_INT) { *request_timeout = AXIS2_QPID_DEFAULT_REQUEST_TIMEOUT; } property = axutil_property_create_with_args( env, AXIS2_SCOPE_APPLICATION, 0, 0, (void*)request_timeout); axis2_conf_ctx_set_property(sender_resource_pack->conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_REQUEST_TIMEOUT, property); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_sender_invoke( axis2_transport_sender_t* sender, const axutil_env_t* env, axis2_msg_ctx_t* msg_ctx) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); axiom_soap_envelope_t* request_soap_envelope = NULL; axiom_xml_writer_t* xml_writer = NULL; axiom_output_t* request_om_output = NULL; axis2_char_t* request_content = NULL; axis2_bool_t is_server = AXIS2_TRUE; axis2_bool_t is_soap_11 = AXIS2_FALSE; axutil_string_t* content_type = NULL; const axis2_char_t* soap_action = NULL; axis2_bool_t do_mtom = AXIS2_FALSE; axis2_bool_t status = AXIS2_FAILURE; request_soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create XML Writer"); return AXIS2_FAILURE; } request_om_output = axiom_output_create(env, xml_writer); if (!request_om_output) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create OM Output"); axiom_xml_writer_free(xml_writer, env); xml_writer = NULL; return AXIS2_FAILURE; } is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); /* Set SOAP version */ axiom_output_set_soap11(request_om_output, env, is_soap_11); /* Content-Type */ if (AXIS2_TRUE == is_soap_11) { /* SOAP1.1 */ content_type = axutil_string_create(env, AXIS2_AMQP_HEADER_ACCEPT_TEXT_XML); } else { /* SOAP1.2 */ content_type = axutil_string_create(env, AXIS2_AMQP_HEADER_ACCEPT_APPL_SOAP); } /* SOAP action */ soap_action = axutil_string_get_buffer(axis2_msg_ctx_get_soap_action(msg_ctx, env), env); if (!soap_action) soap_action = ""; /* Handle MTOM */ do_mtom = axis2_msg_ctx_get_doing_mtom(msg_ctx, env); axiom_output_set_do_optimize(request_om_output, env, do_mtom); axiom_soap_envelope_serialize(request_soap_envelope, env, request_om_output, AXIS2_FALSE); if (do_mtom) { axis2_status_t mtom_status = AXIS2_FAILURE; axutil_array_list_t* mime_parts = NULL; mtom_status = axiom_output_flush(request_om_output, env); if (mtom_status == AXIS2_SUCCESS) { mime_parts = axiom_output_get_mime_parts(request_om_output, env); if (!mime_parts) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to create the mime part list from request_om_output"); return AXIS2_FAILURE; } else { axis2_msg_ctx_set_mime_parts(msg_ctx, env, mime_parts); } } content_type = axutil_string_create(env, axiom_output_get_content_type(request_om_output, env)); } request_content = (axis2_char_t*)axiom_xml_writer_get_xml(xml_writer, env); if (!request_content) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Serialize the SOAP Envelope"); return AXIS2_FAILURE; } is_server = axis2_amqp_util_msg_ctx_get_server_side(msg_ctx, env); if (is_server) { status = axis2_qpid_send(request_content, env, axutil_string_get_buffer(content_type, env), soap_action, msg_ctx); } else { if (AXIS2_TRUE == axis2_amqp_util_msg_ctx_get_use_separate_listener( msg_ctx, env)) /* Dual Channel */ { status = axis2_qpid_send(request_content, env, axutil_string_get_buffer(content_type, env), soap_action, msg_ctx); } else { axis2_op_t* op = NULL; const axis2_char_t* mep = NULL; op = axis2_msg_ctx_get_op(msg_ctx, env); if (op) { mep = axis2_op_get_msg_exchange_pattern(op, env); } axis2_amqp_response_t* response = NULL; response = axis2_qpid_send_receive(request_content, env, axutil_string_get_buffer(content_type, env), soap_action, msg_ctx); if (response) { /* Create in stream */ if (response->data) { axutil_stream_t* in_stream = NULL; axutil_property_t* property = NULL; in_stream = axutil_stream_create_basic(env); axutil_stream_write(in_stream, env, response->data, response->length); property = axutil_property_create(env); axutil_property_set_scope(property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_free_func(property, env, axutil_stream_free_void_arg); axutil_property_set_value(property, env, in_stream); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, property); } if (mep) { if (0 == axutil_strcmp(mep, AXIS2_MEP_URI_OUT_IN)) /* Out-In */ { axiom_soap_envelope_t* response_soap_envelope = NULL; response_soap_envelope = axis2_amqp_util_get_soap_envelope(response, env, msg_ctx); if (response_soap_envelope) { axis2_msg_ctx_set_response_soap_envelope(msg_ctx, env, response_soap_envelope); } } } status = AXIS2_SUCCESS; axis2_msg_ctx_set_status_code(msg_ctx, env, status); axis2_amqp_response_free(response, env); } else { if (mep) { if (axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY) == 0 || axutil_strcmp(mep, AXIS2_MEP_URI_ROBUST_OUT_ONLY) == 0) /* One-way */ { status = AXIS2_SUCCESS; /* Set status code in msg_ctx */ axis2_msg_ctx_set_status_code(msg_ctx, env, status); } } } } } if (content_type) axutil_string_free(content_type, env); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_sender_clean_up( axis2_transport_sender_t* sender, const axutil_env_t* env, axis2_msg_ctx_t* msg_ctx) { return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_amqp_sender_free( axis2_transport_sender_t* sender, const axutil_env_t* env) { AXIS2_ENV_CHECK(env, void); axis2_amqp_sender_resource_pack_t* sender_resource_pack = NULL; sender_resource_pack = AXIS2_AMQP_SENDER_TO_RESOURCE_PACK(sender); AXIS2_FREE(env->allocator, sender_resource_pack); } /* Library Exports */ AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_get_instance( #else axis2_amqp_sender_get_instance( #endif struct axis2_transport_sender** inst, const axutil_env_t* env) { int status = AXIS2_SUCCESS; *inst = axis2_amqp_sender_create(env); if (!(*inst)) { status = AXIS2_FAILURE; } return status; } AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_remove_instance( #else axis2_amqp_sender_remove_instance( #endif axis2_transport_sender_t* inst, const axutil_env_t* env) { if (inst) { axis2_transport_sender_free(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/amqp/sender/axis2_amqp_sender.h0000644000175000017500000000400311166304471026402 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_AMQP_SENDER_H #define AXIS2_AMQP_SENDER_H #include #include #include #include typedef struct axis2_amqp_sender_resource_pack { axis2_transport_sender_t sender; axis2_conf_ctx_t* conf_ctx; } axis2_amqp_sender_resource_pack_t; #define AXIS2_AMQP_SENDER_TO_RESOURCE_PACK(amqp_sender) \ ((axis2_amqp_sender_resource_pack_t*)(amqp_sender)) AXIS2_EXTERN axis2_transport_sender_t* AXIS2_CALL axis2_amqp_sender_create(const axutil_env_t* env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_sender_init( axis2_transport_sender_t* sender, const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx, axis2_transport_out_desc_t* out_desc); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_sender_invoke( axis2_transport_sender_t* sender, const axutil_env_t* env, axis2_msg_ctx_t* msg_ctx); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_sender_clean_up( axis2_transport_sender_t* sender, const axutil_env_t* env, axis2_msg_ctx_t* msg_ctx); AXIS2_EXTERN void AXIS2_CALL axis2_amqp_sender_free( axis2_transport_sender_t* sender, const axutil_env_t* env); #endif axis2c-src-1.6.0/src/core/transport/amqp/sender/Makefile.am0000644000175000017500000000220411166304471024662 0ustar00manjulamanjula00000000000000SUBDIRS = qpid_sender lib_LTLIBRARIES = libaxis2_amqp_sender.la libaxis2_amqp_sender_la_SOURCES = axis2_amqp_sender.c libaxis2_amqp_sender_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/sender/qpid_sender/libaxis2_qpid_sender.la libaxis2_amqp_sender_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/receiver \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/transport/amqp/sender \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/amqp/sender/Makefile.in0000644000175000017500000004776411172017203024706 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/sender DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_amqp_sender_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/sender/qpid_sender/libaxis2_qpid_sender.la am_libaxis2_amqp_sender_la_OBJECTS = axis2_amqp_sender.lo libaxis2_amqp_sender_la_OBJECTS = \ $(am_libaxis2_amqp_sender_la_OBJECTS) libaxis2_amqp_sender_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_amqp_sender_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_amqp_sender_la_SOURCES) DIST_SOURCES = $(libaxis2_amqp_sender_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = qpid_sender lib_LTLIBRARIES = libaxis2_amqp_sender.la libaxis2_amqp_sender_la_SOURCES = axis2_amqp_sender.c libaxis2_amqp_sender_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/sender/qpid_sender/libaxis2_qpid_sender.la libaxis2_amqp_sender_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/receiver \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/transport/amqp/sender \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/sender/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/sender/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_amqp_sender.la: $(libaxis2_amqp_sender_la_OBJECTS) $(libaxis2_amqp_sender_la_DEPENDENCIES) $(libaxis2_amqp_sender_la_LINK) -rpath $(libdir) $(libaxis2_amqp_sender_la_OBJECTS) $(libaxis2_amqp_sender_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_amqp_sender.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/0000777000175000017500000000000011172017544025130 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.h0000644000175000017500000000327111166304471030704 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_QPID_SENDER_H #define AXIS2_QPID_SENDER_H #include #include #include using std::string; class Axis2QpidSender { public: Axis2QpidSender(string qpidBrokerIP, int qpidBrokerPort, const axutil_env_t* env); ~Axis2QpidSender(void); bool SendReceive(string messageContent, string toQueueName, bool isSOAP11, string contentType, string soapAction, axutil_array_list_t* mime_parts, int timeout); bool Send(string messageContent, string toQueueName, string replyToQueueName, bool isSOAP11, string contentType, string soapAction, axutil_array_list_t* mime_parts); string responseContent; string responseContentType; private: void GetMimeBody(axutil_array_list_t* mime_parts, string& mimeBody); string qpidBrokerIP; int qpidBrokerPort; const axutil_env_t* env; }; #endif axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender_interface.cpp0000644000175000017500000001024611166304471033257 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_amqp_response_t* AXIS2_CALL axis2_qpid_send_receive( const axis2_char_t* request_content, const axutil_env_t* env, const axis2_char_t* content_type, const axis2_char_t* soap_action, axis2_msg_ctx_t* msg_ctx) { axis2_amqp_destination_info_t* destination_info = NULL; destination_info = axis2_amqp_util_msg_ctx_get_destination_info(msg_ctx, env); if (!destination_info || !destination_info->broker_ip || !destination_info->broker_port || !destination_info->queue_name) { return NULL; } axis2_bool_t is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); axutil_array_list_t* mime_parts = axis2_msg_ctx_get_mime_parts(msg_ctx, env); int timeout = axis2_amqp_util_msg_ctx_get_request_timeout(msg_ctx, env); /* Get Response */ Axis2QpidSender qpid_sender(destination_info->broker_ip, destination_info->broker_port, env); bool status = qpid_sender.SendReceive(request_content, destination_info->queue_name, is_soap_11, content_type, soap_action, mime_parts, timeout); axis2_amqp_destination_info_free(destination_info, env); if (!status) { return NULL; } /* Create response */ axis2_amqp_response_t* response = (axis2_amqp_response_t*)AXIS2_MALLOC( env->allocator, sizeof(axis2_amqp_response_t)); /* Data */ response->data = AXIS2_MALLOC(env->allocator, qpid_sender.responseContent.size()); memcpy(response->data, qpid_sender.responseContent.c_str(), qpid_sender.responseContent.size()); /* Length */ response->length = qpid_sender.responseContent.size(); /* ContentType */ response->content_type = (axis2_char_t*)AXIS2_MALLOC( env->allocator, qpid_sender.responseContentType.size() + 1); strcpy(response->content_type, qpid_sender.responseContentType.c_str()); return response; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_qpid_send( const axis2_char_t* request_content, const axutil_env_t* env, const axis2_char_t* content_type, const axis2_char_t* soap_action, axis2_msg_ctx_t* msg_ctx) { axis2_amqp_destination_info_t* destination_info = NULL; axis2_status_t status = AXIS2_FAILURE; string reply_to_queue_name = ""; destination_info = axis2_amqp_util_msg_ctx_get_destination_info(msg_ctx, env); if (!destination_info || !destination_info->broker_ip || !destination_info->broker_port || !destination_info->queue_name) { return AXIS2_FAILURE; } axis2_bool_t is_soap_11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); axutil_array_list_t* mime_parts = axis2_msg_ctx_get_mime_parts(msg_ctx, env); /* If client side, find reply_to_queue_name */ if (!axis2_msg_ctx_get_server_side(msg_ctx, env)) { axis2_conf_ctx_t* conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); axis2_char_t* queue_name = axis2_amqp_util_conf_ctx_get_dual_channel_queue_name(conf_ctx, env); if (queue_name) reply_to_queue_name = queue_name; } Axis2QpidSender qpid_sender(destination_info->broker_ip, destination_info->broker_port, env); status = qpid_sender.Send(request_content, destination_info->queue_name, reply_to_queue_name, is_soap_11, content_type, soap_action, mime_parts); axis2_amqp_destination_info_free(destination_info, env); return status; } #ifdef __cplusplus } #endif axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/Makefile.am0000644000175000017500000000170611166304471027165 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_qpid_sender.la libaxis2_qpid_sender_la_SOURCES = axis2_qpid_sender.cpp \ axis2_qpid_sender_interface.cpp libaxis2_qpid_sender_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(QPID_HOME)/lib/libqpidclient.la libaxis2_qpid_sender_la_LDFLAGS = g++ -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include \ -I$(QPID_HOME)/include axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/Makefile.in0000644000175000017500000004017211172017204027166 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/sender/qpid_sender DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_qpid_sender_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(QPID_HOME)/lib/libqpidclient.la am_libaxis2_qpid_sender_la_OBJECTS = axis2_qpid_sender.lo \ axis2_qpid_sender_interface.lo libaxis2_qpid_sender_la_OBJECTS = \ $(am_libaxis2_qpid_sender_la_OBJECTS) libaxis2_qpid_sender_la_LINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CXXLD) $(AM_CXXFLAGS) \ $(CXXFLAGS) $(libaxis2_qpid_sender_la_LDFLAGS) $(LDFLAGS) -o \ $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_qpid_sender_la_SOURCES) DIST_SOURCES = $(libaxis2_qpid_sender_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_qpid_sender.la libaxis2_qpid_sender_la_SOURCES = axis2_qpid_sender.cpp \ axis2_qpid_sender_interface.cpp libaxis2_qpid_sender_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(QPID_HOME)/lib/libqpidclient.la libaxis2_qpid_sender_la_LDFLAGS = g++ -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include \ -I$(QPID_HOME)/include all: all-am .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/sender/qpid_sender/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/sender/qpid_sender/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_qpid_sender.la: $(libaxis2_qpid_sender_la_OBJECTS) $(libaxis2_qpid_sender_la_DEPENDENCIES) $(libaxis2_qpid_sender_la_LINK) -rpath $(libdir) $(libaxis2_qpid_sender_la_OBJECTS) $(libaxis2_qpid_sender_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_qpid_sender.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_qpid_sender_interface.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender.cpp0000644000175000017500000001377411166304471031250 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include using namespace std; using namespace qpid::client; using namespace qpid::framing; Axis2QpidSender::Axis2QpidSender(string qpidBrokerIP, int qpidBrokerPort, const axutil_env_t* env) { this->qpidBrokerIP = qpidBrokerIP; this->qpidBrokerPort = qpidBrokerPort; this->env = env; this->responseContent = ""; this->responseContentType = ""; } Axis2QpidSender::~Axis2QpidSender(void) {} bool Axis2QpidSender::SendReceive(string messageContent, string toQueueName, bool isSOAP11, string contentType, string soapAction, axutil_array_list_t* mime_parts, int timeout) { bool status = false; this->responseContent = ""; this->responseContentType = ""; try { Connection connection; connection.open(qpidBrokerIP, qpidBrokerPort); Session session = connection.newSession(); /* Declare Private Queue */ string replyToQueueName = AXIS2_AMQP_TEMP_QUEUE_NAME_PREFIX; replyToQueueName.append(axutil_uuid_gen(env)); session.queueDeclare(arg::queue = replyToQueueName, arg::autoDelete = true); session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue = replyToQueueName, arg::bindingKey = replyToQueueName); /* Create Message */ Message reqMessage; reqMessage.getDeliveryProperties().setRoutingKey(toQueueName); reqMessage.getMessageProperties().setReplyTo(ReplyTo(AXIS2_AMQP_EXCHANGE_DIRECT, replyToQueueName)); reqMessage.getHeaders().setString(AXIS2_AMQP_HEADER_CONTENT_TYPE, contentType); reqMessage.getHeaders().setString(AXIS2_AMQP_HEADER_SOAP_ACTION, soapAction); if (mime_parts) { string mimeBody; GetMimeBody(mime_parts, mimeBody); messageContent.clear();/* MIME parts include SOAP envelop */ messageContent.append(mimeBody); } reqMessage.setData(messageContent); async(session).messageTransfer(arg::content = reqMessage, arg::destination = AXIS2_AMQP_EXCHANGE_DIRECT); /* Create subscription manager */ SubscriptionManager subscriptionManager(session); Message resMessage; qpid::sys::Duration reqTimeout(timeout * AXIS2_AMQP_NANOSEC_PER_MILLISEC); if (subscriptionManager.get(resMessage, replyToQueueName, reqTimeout)) { responseContent = resMessage.getData(); responseContentType = resMessage.getHeaders().getString(AXIS2_AMQP_HEADER_CONTENT_TYPE); status = true; } connection.close(); } catch (const std::exception& e) { } return status; } bool Axis2QpidSender::Send(string messageContent, string toQueueName, string replyToQueueName, bool isSOAP11, string contentType, string soapAction, axutil_array_list_t* mime_parts) { bool status = false; try { Connection connection; connection.open(qpidBrokerIP, qpidBrokerPort); Session session = connection.newSession(); /* Create Message */ Message message; message.getDeliveryProperties().setRoutingKey(toQueueName); if (!replyToQueueName.empty()) /* Client dual-channel */ { message.getMessageProperties().setReplyTo(ReplyTo(AXIS2_AMQP_EXCHANGE_DIRECT, replyToQueueName)); session.queueDeclare(arg::queue = replyToQueueName); session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue = replyToQueueName, arg::bindingKey = replyToQueueName); } message.getHeaders().setString(AXIS2_AMQP_HEADER_CONTENT_TYPE, contentType); message.getHeaders().setString(AXIS2_AMQP_HEADER_SOAP_ACTION, soapAction); if (mime_parts) { string mimeBody; GetMimeBody(mime_parts, mimeBody); messageContent.clear();/* MIME parts include SOAP envelop */ messageContent.append(mimeBody); } message.setData(messageContent); async(session).messageTransfer(arg::content = message, arg::destination = AXIS2_AMQP_EXCHANGE_DIRECT); connection.close(); status = true; } catch (const std::exception& e) { } return status; } void Axis2QpidSender::GetMimeBody(axutil_array_list_t* mime_parts, string& mimeBody) { int i = 0; axiom_mime_part_t *mime_part = NULL; axis2_status_t status = AXIS2_SUCCESS; if (!mime_parts) return; for (i = 0; i < axutil_array_list_size(mime_parts, env); i++) { mime_part = (axiom_mime_part_t *)axutil_array_list_get(mime_parts, env, i); if (mime_part->type == AXIOM_MIME_PART_BUFFER) { mimeBody.append(mime_part->part, mime_part->part_size); } else if (mime_part->type == AXIOM_MIME_PART_FILE) { int length; char* buffer; ifstream file; file.open(mime_part->file_name, ios::binary); file.seekg(0, ios::end); length = file.tellg(); file.seekg(0, ios::beg); buffer = new char[length]; file.read(buffer, length); file.close(); mimeBody.append(buffer, length); delete [] buffer; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unknown mime type"); return; } if (status == AXIS2_FAILURE) { break; } } } axis2c-src-1.6.0/src/core/transport/amqp/sender/qpid_sender/axis2_qpid_sender_interface.h0000644000175000017500000000276711166304471032735 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_QPID_SENDER_INTERFACE_H #define AXIS2_QPID_SENDER_INTERFACE_H #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_amqp_response_t* AXIS2_CALL axis2_qpid_send_receive( const axis2_char_t* request_content, const axutil_env_t* env, const axis2_char_t* content_type, const axis2_char_t* soap_action, axis2_msg_ctx_t* msg_ctx); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_qpid_send( const axis2_char_t* request_content, const axutil_env_t* env, const axis2_char_t* content_type, const axis2_char_t* soap_action, axis2_msg_ctx_t* msg_ctx); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/src/core/transport/amqp/server/0000777000175000017500000000000011172017544022661 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/server/Makefile.am0000644000175000017500000000003511166304471024710 0ustar00manjulamanjula00000000000000SUBDIRS = axis2_amqp_server axis2c-src-1.6.0/src/core/transport/amqp/server/Makefile.in0000644000175000017500000003476711172017204024734 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = axis2_amqp_server all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/server/axis2_amqp_server/0000777000175000017500000000000011172017544026313 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/server/axis2_amqp_server/axis2_amqp_server.c0000644000175000017500000001530711166304471032114 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include axis2_transport_receiver_t* receiver = NULL; axutil_env_t* server_env = NULL; axutil_env_t* init_server_env(axutil_allocator_t* allocator, const axis2_char_t* log_file_name) { axutil_error_t* error = axutil_error_create(allocator); axutil_log_t* log = axutil_log_create(allocator, NULL, log_file_name); axutil_thread_pool_t* thread_pool = axutil_thread_pool_init(allocator); axutil_env_t* env = axutil_env_create_with_error_log_thread_pool(allocator, error, log, thread_pool); axiom_xml_reader_init(); return env; } void server_exit(int status) { if (receiver) { axis2_transport_receiver_free(receiver, server_env); } if (server_env) { axutil_env_free(server_env); } axiom_xml_reader_cleanup(); exit(status); } void show_usage(axis2_char_t* prog_name) { fprintf(stdout, "\n Usage : %s", prog_name); fprintf(stdout, " [-i QPID_BROKER_IP]"); fprintf(stdout, " [-p QPID_BROKER_PORT]"); fprintf(stdout, " [-r REPO_PATH]"); fprintf(stdout, " [-l LOG_LEVEL]"); fprintf(stdout, " [-f LOG_FILE]\n"); fprintf(stdout, " [-s LOG_FILE_SIZE]\n"); fprintf(stdout, " Options :\n"); fprintf(stdout, "\t-i QPID_BROKER_IP \t Qpid broker IP, default is 127.0.0.1\n"); fprintf(stdout, "\t-p QPID_BROKER_PORT \t the port on which the Qpid broker listens, default is 5672\n"); fprintf(stdout, "\t-r REPO_PATH \t\t repository path, default is ../\n"); fprintf(stdout, "\t-l LOG_LEVEL\t\t log level, available log levels:" "\n\t\t\t\t\t 0 - critical 1 - errors 2 - warnings" "\n\t\t\t\t\t 3 - information 4 - debug 5- user 6 - trace" "\n\t\t\t\t\t Default log level is 4(debug).\n"); #ifndef WIN32 fprintf(stdout, "\t-f LOG_FILE\t\t log file, default is $AXIS2C_HOME/logs/axis2.log" "\n\t\t\t\t or axis2.log in current folder if AXIS2C_HOME not set\n"); #else fprintf(stdout, "\t-f LOG_FILE\t\t log file, default is %%AXIS2C_HOME%%\\logs\\axis2.log" "\n\t\t\t\t or axis2.log in current folder if AXIS2C_HOME not set\n"); #endif fprintf(stdout, "\t-s LOG_FILE_SIZE\t Maximum log file size in mega bytes, default maximum size is 1MB.\n"); fprintf(stdout, " Help :\n\t-h \t\t\t display this help screen.\n\n"); } #ifndef WIN32 void sig_handler(int signal) { switch (signal) { case SIGINT: AXIS2_LOG_INFO(server_env->log, "Received signal SIGINT.Server shutting down"); axis2_amqp_receiver_stop(receiver, server_env); AXIS2_LOG_INFO(server_env->log, "Shutdown complete ..."); server_exit(0); case SIGPIPE: AXIS2_LOG_INFO(server_env->log, "Received signal SIGPIPE.Client request serve aborted"); return; case SIGSEGV: fprintf(stderr, "Received deadly signal SIGSEGV. Terminating ...\n"); _exit(-1); } } #endif int main(int argc, char* argv[]) { axutil_allocator_t* allocator = NULL; extern char* optarg; extern int optopt; int c; const axis2_char_t* qpid_broker_ip = NULL; int qpid_broker_port = AXIS2_QPID_NULL_CONF_INT; const axis2_char_t* repo_path = AXIS2_AMQP_SERVER_REPO_PATH; axutil_log_levels_t log_level = AXIS2_LOG_LEVEL_DEBUG; const axis2_char_t* log_file_name = AXIS2_AMQP_SERVER_LOG_FILE_NAME; int log_file_size = AXUTIL_LOG_FILE_SIZE; while ((c = AXIS2_GETOPT(argc, argv, "i:p:r:l:f:s:h")) != -1) { switch (c) { case 'i': qpid_broker_ip = optarg; break; case 'p': qpid_broker_port = AXIS2_ATOI(optarg); break; case 'r': repo_path = optarg; break; case 'l': log_level = AXIS2_ATOI(optarg); if (log_level < AXIS2_LOG_LEVEL_CRITICAL) log_level = AXIS2_LOG_LEVEL_CRITICAL; if (log_level > AXIS2_LOG_LEVEL_TRACE) log_level = AXIS2_LOG_LEVEL_TRACE; break; case 'f': log_file_name = optarg; break; case 's': log_file_size = 1024 * 1024 * AXIS2_ATOI(optarg); break; case 'h': show_usage(argv[0]); return 0; case ':': fprintf(stderr, "\nOption -%c requires an operand\n", optopt); show_usage(argv[0]); return -1; case '?': if (isprint(optopt)) fprintf(stderr, "\nUnknown option `-%c'.\n", optopt); show_usage(argv[0]); return -1; } } allocator = axutil_allocator_init(NULL); if (!allocator) { server_exit(-1); } server_env = init_server_env(allocator, log_file_name); server_env->log->level = log_level; server_env->log->size = log_file_size; axutil_error_init(); #ifndef WIN32 signal(SIGINT, sig_handler); signal(SIGPIPE, sig_handler); #endif AXIS2_LOG_INFO(server_env->log, "Starting Axis2 AMQP Server ..."); AXIS2_LOG_INFO(server_env->log, "Repo Location : %s", repo_path); receiver = axis2_amqp_receiver_create(server_env, repo_path, qpid_broker_ip, qpid_broker_port); if (!receiver) { AXIS2_LOG_ERROR(server_env->log, AXIS2_LOG_SI, "Server creation failed: Error code:" " %d :: %s", server_env->error->error_number, AXIS2_ERROR_GET_MESSAGE(server_env->error)); server_exit(-1); } if (axis2_amqp_receiver_start(receiver, server_env) == AXIS2_FAILURE) { AXIS2_LOG_ERROR(server_env->log, AXIS2_LOG_SI, "Server start failed: Error code:" " %d :: %s", server_env->error->error_number, AXIS2_ERROR_GET_MESSAGE(server_env->error)); server_exit(-1); } return 0; } axis2c-src-1.6.0/src/core/transport/amqp/server/axis2_amqp_server/axis2_amqp_server.h0000644000175000017500000000230411166304471032112 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_AMQP_SERVER_H #define AXIS2_AMQP_SERVER_H #include #include axutil_env_t* init_server_env(axutil_allocator_t* allocator, const axis2_char_t* log_file_name); void server_exit(int status); void show_usage(axis2_char_t* prog_name); #ifndef WIN32 void sig_handler(int signal); #endif #endif axis2c-src-1.6.0/src/core/transport/amqp/server/axis2_amqp_server/Makefile.am0000644000175000017500000000302311166304471030342 0ustar00manjulamanjula00000000000000prgbindir = $(bindir) prgbin_PROGRAMS = axis2_amqp_server AM_CFLAGS = -g -pthread axis2_amqp_server_SOURCES = axis2_amqp_server.c axis2_amqp_server_LDADD = $(LDFLAGS) \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/transport/amqp/receiver/libaxis2_amqp_receiver.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deploymenti \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/transport/amqp/receiver \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/amqp/server/axis2_amqp_server/Makefile.in0000644000175000017500000004106711172017204030355 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = axis2_amqp_server$(EXEEXT) subdir = src/core/transport/amqp/server/axis2_amqp_server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_axis2_amqp_server_OBJECTS = axis2_amqp_server.$(OBJEXT) axis2_amqp_server_OBJECTS = $(am_axis2_amqp_server_OBJECTS) am__DEPENDENCIES_1 = axis2_amqp_server_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/transport/amqp/receiver/libaxis2_amqp_receiver.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(axis2_amqp_server_SOURCES) DIST_SOURCES = $(axis2_amqp_server_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(bindir) AM_CFLAGS = -g -pthread axis2_amqp_server_SOURCES = axis2_amqp_server.c axis2_amqp_server_LDADD = $(LDFLAGS) \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/transport/amqp/receiver/libaxis2_amqp_receiver.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deploymenti \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/transport/amqp/receiver \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/server/axis2_amqp_server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/server/axis2_amqp_server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done axis2_amqp_server$(EXEEXT): $(axis2_amqp_server_OBJECTS) $(axis2_amqp_server_DEPENDENCIES) @rm -f axis2_amqp_server$(EXEEXT) $(LINK) $(axis2_amqp_server_OBJECTS) $(axis2_amqp_server_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_amqp_server.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/receiver/0000777000175000017500000000000011172017544023157 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/receiver/axis2_amqp_receiver.c0000644000175000017500000002112311166304471027247 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include static const axis2_transport_receiver_ops_t amqp_receiver_ops = { axis2_amqp_receiver_init, axis2_amqp_receiver_start, axis2_amqp_receiver_get_reply_to_epr, axis2_amqp_receiver_get_conf_ctx, axis2_amqp_receiver_is_running, axis2_amqp_receiver_stop, axis2_amqp_receiver_free}; AXIS2_EXTERN axis2_transport_receiver_t* AXIS2_CALL axis2_amqp_receiver_create( const axutil_env_t* env, const axis2_char_t* repo, const axis2_char_t* qpid_broker_ip, int qpid_broker_port) { AXIS2_ENV_CHECK (env, NULL); axis2_amqp_receiver_resource_pack_t* receiver_resource_pack = NULL; receiver_resource_pack = (axis2_amqp_receiver_resource_pack_t*) AXIS2_MALLOC(env->allocator, sizeof(axis2_amqp_receiver_resource_pack_t)); if (!receiver_resource_pack) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } receiver_resource_pack->receiver.ops = &amqp_receiver_ops; receiver_resource_pack->qpid_receiver = NULL; receiver_resource_pack->conf_ctx = NULL; receiver_resource_pack->conf_ctx_private = NULL; if (repo) { /** * 1. We first create a private conf ctx which is owned by this server * we only free this private conf context. We should never free the * receiver_impl->conf_ctx because it may be owned by any other object which * may lead to double free. * * 2. The Qpid broker IP and port are set in conf_ctx at two different places. * If the repo is specified, they are set here. Otherwise, they are set * in axis2_amqp_receiver_init method. */ axutil_property_t* property = NULL; const axis2_char_t* broker_ip = NULL; int* broker_port = (int*)AXIS2_MALLOC(env->allocator, sizeof(int)); *broker_port = AXIS2_QPID_NULL_CONF_INT; receiver_resource_pack->conf_ctx_private = axis2_build_conf_ctx(env, repo); if (!receiver_resource_pack->conf_ctx_private) { axis2_amqp_receiver_free((axis2_transport_receiver_t *)receiver_resource_pack, env); return NULL; } /* Set broker IP */ broker_ip = qpid_broker_ip ? qpid_broker_ip : AXIS2_QPID_DEFAULT_BROKER_IP; property = axutil_property_create_with_args(env, AXIS2_SCOPE_APPLICATION, 0, 0, (void*)broker_ip); axis2_conf_ctx_set_property(receiver_resource_pack->conf_ctx_private, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_IP, property); /* Set broker port */ *broker_port = (qpid_broker_port != AXIS2_QPID_NULL_CONF_INT) ? qpid_broker_port : AXIS2_QPID_DEFAULT_BROKER_PORT; property = axutil_property_create_with_args(env, AXIS2_SCOPE_APPLICATION, 0, 0, (void*)broker_port); axis2_conf_ctx_set_property(receiver_resource_pack->conf_ctx_private, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_PORT, property); receiver_resource_pack->conf_ctx = receiver_resource_pack->conf_ctx_private; } return &(receiver_resource_pack->receiver); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_receiver_init( axis2_transport_receiver_t* receiver, const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx, axis2_transport_in_desc_t* in_desc) { axis2_amqp_receiver_resource_pack_t* receiver_resource_pack = NULL; axutil_property_t* property = NULL; const axis2_char_t* broker_ip = NULL; int* broker_port = (int*)AXIS2_MALLOC(env->allocator, sizeof(int)); *broker_port = AXIS2_QPID_NULL_CONF_INT; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); receiver_resource_pack = AXIS2_AMQP_RECEIVER_TO_RESOURCE_PACK(receiver); receiver_resource_pack->conf_ctx = conf_ctx; /* Set broker IP */ broker_ip = axis2_amqp_util_get_in_desc_conf_value_string( in_desc, env, AXIS2_AMQP_CONF_QPID_BROKER_IP); if (!broker_ip) { broker_ip = AXIS2_QPID_DEFAULT_BROKER_IP; } property = axutil_property_create_with_args( env, AXIS2_SCOPE_APPLICATION, 0, 0, (void*)broker_ip); axis2_conf_ctx_set_property(receiver_resource_pack->conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_IP, property); /* Set broker port */ *broker_port = axis2_amqp_util_get_in_desc_conf_value_int( in_desc, env, AXIS2_AMQP_CONF_QPID_BROKER_PORT); if (*broker_port == AXIS2_QPID_NULL_CONF_INT) { *broker_port = AXIS2_QPID_DEFAULT_BROKER_PORT; } property = axutil_property_create_with_args( env, AXIS2_SCOPE_APPLICATION, 0, 0, (void*)broker_port); axis2_conf_ctx_set_property(receiver_resource_pack->conf_ctx, env, AXIS2_AMQP_CONF_CTX_PROPERTY_BROKER_PORT, property); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_receiver_start( axis2_transport_receiver_t* receiver, const axutil_env_t* env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); axis2_status_t status = AXIS2_FAILURE; axis2_amqp_receiver_resource_pack_t* amqp_receiver_resource_pack = NULL; axis2_qpid_receiver_resource_pack_t* qpid_receiver_resource_pack = NULL; amqp_receiver_resource_pack = AXIS2_AMQP_RECEIVER_TO_RESOURCE_PACK(receiver); /* Create Qpid Receiver */ qpid_receiver_resource_pack = axis2_qpid_receiver_create(env, amqp_receiver_resource_pack->conf_ctx); if (qpid_receiver_resource_pack) { amqp_receiver_resource_pack->qpid_receiver = qpid_receiver_resource_pack; status = axis2_qpid_receiver_start(qpid_receiver_resource_pack, env); } return status; } AXIS2_EXTERN axis2_endpoint_ref_t* AXIS2_CALL axis2_amqp_receiver_get_reply_to_epr( axis2_transport_receiver_t* receiver, const axutil_env_t* env, const axis2_char_t* svc_name) { return NULL; } AXIS2_EXTERN axis2_conf_ctx_t* AXIS2_CALL axis2_amqp_receiver_get_conf_ctx( axis2_transport_receiver_t* receiver, const axutil_env_t* env) { AXIS2_ENV_CHECK(env, NULL); return AXIS2_AMQP_RECEIVER_TO_RESOURCE_PACK(receiver)->conf_ctx; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_receiver_is_running( axis2_transport_receiver_t* receiver, const axutil_env_t* env) { return AXIS2_TRUE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_receiver_stop( axis2_transport_receiver_t* receiver, const axutil_env_t* env) { return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_amqp_receiver_free( axis2_transport_receiver_t* receiver, const axutil_env_t* env) { AXIS2_ENV_CHECK(env, void); axis2_amqp_receiver_resource_pack_t* receiver_resource_pack = NULL; receiver_resource_pack = AXIS2_AMQP_RECEIVER_TO_RESOURCE_PACK(receiver); if (receiver_resource_pack->qpid_receiver) { axis2_qpid_receiver_free(receiver_resource_pack->qpid_receiver, env); receiver_resource_pack->qpid_receiver = NULL; } if (receiver_resource_pack->conf_ctx_private) { axis2_conf_ctx_free(receiver_resource_pack->conf_ctx_private, env); receiver_resource_pack->conf_ctx_private = NULL; } receiver_resource_pack->conf_ctx = NULL; /* Do not free this. It may be owned by some other object */ AXIS2_FREE(env->allocator, receiver_resource_pack); } /* Library Exports */ AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_get_instance( #else axis2_amqp_receiver_get_instance( #endif struct axis2_transport_receiver** inst, const axutil_env_t* env) { int status = AXIS2_SUCCESS; *inst = axis2_amqp_receiver_create(env, NULL, NULL, AXIS2_QPID_NULL_CONF_INT); if (!(*inst)) { status = AXIS2_FAILURE; } return status; } AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_remove_instance( #else axis2_amqp_receiver_remove_instance( #endif axis2_transport_receiver_t* inst, const axutil_env_t* env) { if (inst) { axis2_transport_receiver_free(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/amqp/receiver/axis2_amqp_receiver.h0000644000175000017500000000524011166304471027256 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_AMQP_RECEIVER_H #define AXIS2_AMQP_RECEIVER_H #include #include #include typedef struct axis2_amqp_receiver_resource_pack { axis2_transport_receiver_t receiver; axis2_qpid_receiver_resource_pack_t* qpid_receiver; axis2_conf_ctx_t* conf_ctx; axis2_conf_ctx_t* conf_ctx_private; } axis2_amqp_receiver_resource_pack_t; #define AXIS2_AMQP_RECEIVER_TO_RESOURCE_PACK(amqp_receiver) \ ((axis2_amqp_receiver_resource_pack_t*)(amqp_receiver)) AXIS2_EXTERN axis2_transport_receiver_t* AXIS2_CALL axis2_amqp_receiver_create( const axutil_env_t* env, const axis2_char_t* repo, const axis2_char_t* qpid_broker_ip, int qpid_broker_port); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_receiver_init( axis2_transport_receiver_t* receiver, const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx, axis2_transport_in_desc_t* in_desc); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_receiver_start( axis2_transport_receiver_t* receiver, const axutil_env_t* env); AXIS2_EXTERN axis2_endpoint_ref_t* AXIS2_CALL axis2_amqp_receiver_get_reply_to_epr( axis2_transport_receiver_t* receiver, const axutil_env_t* env, const axis2_char_t* svc_name); AXIS2_EXTERN axis2_conf_ctx_t* AXIS2_CALL axis2_amqp_receiver_get_conf_ctx( axis2_transport_receiver_t* receiver, const axutil_env_t* env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_amqp_receiver_is_running( axis2_transport_receiver_t* receiver, const axutil_env_t* env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_amqp_receiver_stop( axis2_transport_receiver_t* receiver, const axutil_env_t* env); AXIS2_EXTERN void AXIS2_CALL axis2_amqp_receiver_free( axis2_transport_receiver_t* receiver, const axutil_env_t* env); #endif axis2c-src-1.6.0/src/core/transport/amqp/receiver/Makefile.am0000644000175000017500000000213611166304471025212 0ustar00manjulamanjula00000000000000SUBDIRS = qpid_receiver lib_LTLIBRARIES = libaxis2_amqp_receiver.la libaxis2_amqp_receiver_la_SOURCES = axis2_amqp_receiver.c libaxis2_amqp_receiver_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/libaxis2_qpid_receiver.la libaxis2_amqp_receiver_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/receiver \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/amqp/receiver/Makefile.in0000644000175000017500000004777611172017203025235 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/receiver DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_amqp_receiver_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/libaxis2_qpid_receiver.la am_libaxis2_amqp_receiver_la_OBJECTS = axis2_amqp_receiver.lo libaxis2_amqp_receiver_la_OBJECTS = \ $(am_libaxis2_amqp_receiver_la_OBJECTS) libaxis2_amqp_receiver_la_LINK = $(LIBTOOL) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libaxis2_amqp_receiver_la_LDFLAGS) \ $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_amqp_receiver_la_SOURCES) DIST_SOURCES = $(libaxis2_amqp_receiver_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = qpid_receiver lib_LTLIBRARIES = libaxis2_amqp_receiver.la libaxis2_amqp_receiver_la_SOURCES = axis2_amqp_receiver.c libaxis2_amqp_receiver_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/libaxis2_qpid_receiver.la libaxis2_amqp_receiver_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/receiver \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/receiver/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/receiver/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_amqp_receiver.la: $(libaxis2_amqp_receiver_la_OBJECTS) $(libaxis2_amqp_receiver_la_DEPENDENCIES) $(libaxis2_amqp_receiver_la_LINK) -rpath $(libdir) $(libaxis2_amqp_receiver_la_OBJECTS) $(libaxis2_amqp_receiver_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_amqp_receiver.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/0000777000175000017500000000000011172017544026000 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/axis2_qpid_receiver.h0000644000175000017500000000231311166304471032074 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_QPID_RECEIVER_H #define AXIS2_QPID_RECEIVER_H #include #include class Axis2QpidReceiver { public: Axis2QpidReceiver(const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx); ~Axis2QpidReceiver(void); bool start(void); bool shutdown(void); private: const axutil_env_t* env; axis2_conf_ctx_t* conf_ctx; }; #endif axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/request_processor/0000777000175000017500000000000011172017544031567 5ustar00manjulamanjula00000000000000axis2_amqp_request_processor.c0000644000175000017500000002575311166304471037600 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/request_processor/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include void* AXIS2_THREAD_FUNC axis2_amqp_request_processor_thread_function( axutil_thread_t* thread, void* request_data) { axis2_status_t status = AXIS2_FAILURE; axutil_env_t* env = NULL; axutil_env_t* thread_env = NULL; axis2_amqp_request_processor_resource_pack_t* request_resource_pack = NULL; #ifndef WIN32 #ifdef AXIS2_SVR_MULTI_THREADED signal(SIGPIPE, SIG_IGN); #endif #endif request_resource_pack = (axis2_amqp_request_processor_resource_pack_t*)request_data; env = request_resource_pack->env; thread_env = axutil_init_thread_env(env); /* Process Request */ status = axis2_amqp_process_request(thread_env, request_resource_pack); if (status == AXIS2_SUCCESS) { AXIS2_LOG_INFO(thread_env->log, "Request Processed Successfully"); } else { AXIS2_LOG_WARNING(thread_env->log, AXIS2_LOG_SI, "Error while Processing Request"); } AXIS2_FREE(thread_env->allocator, request_resource_pack->request_content); AXIS2_FREE(thread_env->allocator, request_resource_pack->reply_to); AXIS2_FREE(thread_env->allocator, request_resource_pack->content_type); AXIS2_FREE(thread_env->allocator, request_resource_pack->soap_action); AXIS2_FREE(thread_env->allocator, request_resource_pack); if (thread_env) { thread_env = NULL; } #ifdef AXIS2_SVR_MULTI_THREADED axutil_thread_pool_exit_thread(env->thread_pool, thread); #endif return NULL; } axis2_status_t axis2_amqp_process_request( const axutil_env_t* env, axis2_amqp_request_processor_resource_pack_t* request_resource_pack) { axiom_xml_reader_t* xml_reader = NULL; axiom_stax_builder_t* stax_builder = NULL; axiom_soap_builder_t* soap_builder = NULL; axis2_transport_out_desc_t* out_desc = NULL; axis2_transport_in_desc_t* in_desc = NULL; axis2_msg_ctx_t* msg_ctx = NULL; axiom_soap_envelope_t* soap_envelope = NULL; axis2_engine_t* engine = NULL; const axis2_char_t* soap_ns_uri = NULL; axis2_bool_t is_soap_11 = AXIS2_FALSE; axis2_char_t *soap_body_str = NULL; int soap_body_len = 0; axis2_bool_t is_mtom = AXIS2_FALSE; axis2_status_t status = AXIS2_FAILURE; axutil_hash_t *binary_data_map = NULL; axiom_soap_body_t *soap_body = NULL; axutil_property_t* reply_to_property = NULL; /* Create msg_ctx */ if (!request_resource_pack->conf_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Conf Context not Available"); return AXIS2_FAILURE; } out_desc = axis2_conf_get_transport_out( axis2_conf_ctx_get_conf(request_resource_pack->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_AMQP); if (!out_desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport Out Descriptor not Found"); return AXIS2_FAILURE; } in_desc = axis2_conf_get_transport_in( axis2_conf_ctx_get_conf(request_resource_pack->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_AMQP); if (!in_desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport In Descriptor not Found"); return AXIS2_FAILURE; } /* Create msg_ctx */ msg_ctx = axis2_msg_ctx_create(env, request_resource_pack->conf_ctx, in_desc, out_desc); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); /* Handle MTOM */ if (strstr(request_resource_pack->content_type, AXIS2_AMQP_HEADER_ACCEPT_MULTIPART_RELATED)) { axis2_char_t* mime_boundary = axis2_amqp_util_get_value_from_content_type(env, request_resource_pack->content_type, AXIS2_AMQP_HEADER_CONTENT_TYPE_MIME_BOUNDARY); if (mime_boundary) { axiom_mime_parser_t *mime_parser = NULL; int soap_body_len = 0; axutil_param_t *buffer_size_param = NULL; axutil_param_t *max_buffers_param = NULL; axutil_param_t *attachment_dir_param = NULL; axis2_char_t *value_size = NULL; axis2_char_t *value_num = NULL; axis2_char_t *value_dir = NULL; int size = 0; int num = 0; mime_parser = axiom_mime_parser_create(env); buffer_size_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_MTOM_BUFFER_SIZE); if (buffer_size_param) { value_size = (axis2_char_t*)axutil_param_get_value(buffer_size_param, env); if (value_size) { size = atoi(value_size); axiom_mime_parser_set_buffer_size(mime_parser, env, size); } } max_buffers_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_MTOM_MAX_BUFFERS); if (max_buffers_param) { value_num = (axis2_char_t*)axutil_param_get_value(max_buffers_param, env); if (value_num) { num = atoi(value_num); axiom_mime_parser_set_max_buffers(mime_parser, env, num); } } /* If this paramter is there mime_parser will cached the attachment * using to the directory for large attachments. */ attachment_dir_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_ATTACHMENT_DIR); if (attachment_dir_param) { value_dir = (axis2_char_t*)axutil_param_get_value(attachment_dir_param, env); if (value_dir) { axiom_mime_parser_set_attachment_dir(mime_parser, env, value_dir); } } if (mime_parser) { axis2_callback_info_t *callback_ctx = NULL; axutil_stream_t *stream = NULL; callback_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_info_t)); stream = axutil_stream_create_basic(env); if (stream) { axutil_stream_write(stream, env, request_resource_pack->request_content, request_resource_pack->content_length); callback_ctx->env = env; callback_ctx->in_stream = stream; callback_ctx->content_length = request_resource_pack->content_length; callback_ctx->unread_len = request_resource_pack->content_length; callback_ctx->chunked_stream = NULL; } binary_data_map = axiom_mime_parser_parse(mime_parser, env, axis2_amqp_util_on_data_request, (void*)callback_ctx, mime_boundary); if (!binary_data_map) { return AXIS2_FAILURE; } soap_body_str = axiom_mime_parser_get_soap_body_str(mime_parser, env); soap_body_len = axiom_mime_parser_get_soap_body_len(mime_parser, env); axutil_stream_free(stream, env); AXIS2_FREE(env->allocator, callback_ctx); axiom_mime_parser_free(mime_parser, env); } AXIS2_FREE(env->allocator, mime_boundary); } is_mtom = AXIS2_TRUE; } else { soap_body_str = request_resource_pack->request_content; soap_body_len = request_resource_pack->content_length; } soap_body_len = axutil_strlen(soap_body_str); xml_reader = axiom_xml_reader_create_for_memory(env, soap_body_str, soap_body_len, NULL, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_reader) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create XML Reader"); return AXIS2_FAILURE; } stax_builder = axiom_stax_builder_create(env, xml_reader); if (!stax_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create StAX Builder"); return AXIS2_FAILURE; } soap_ns_uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; if (request_resource_pack->content_type) { if (strstr(request_resource_pack->content_type, AXIS2_AMQP_HEADER_ACCEPT_TEXT_XML)) { is_soap_11 = AXIS2_TRUE; soap_ns_uri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } /*if (strstr(request_resource_pack->content_type, AXIS2_AMQP_HEADER_ACCEPT_APPL_SOAP)) { is_soap_11 = AXIS2_FALSE; soap_ns_uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } else if (strstr(request_resource_pack->content_type, AXIS2_AMQP_HEADER_ACCEPT_TEXT_XML)) { is_soap_11 = AXIS2_TRUE; soap_ns_uri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; }*/ } soap_builder = axiom_soap_builder_create(env, stax_builder, soap_ns_uri); if (!soap_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create SOAP Builder"); return AXIS2_FAILURE; } if (binary_data_map) { axiom_soap_builder_set_mime_body_parts(soap_builder, env, binary_data_map); } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) { return AXIS2_FAILURE; } /* SOAPAction */ if (request_resource_pack->soap_action) { axis2_msg_ctx_set_soap_action(msg_ctx, env, axutil_string_create(env, request_resource_pack->soap_action)); } /* SOAP version */ axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap_11); /* Set ReplyTo in the msg_ctx as a property. This is used by the server when * 1. WS-A is not in use * 2. ReplyTo is an anonymous EPR - Sandesha2/Dual-channel */ reply_to_property = axutil_property_create_with_args(env, AXIS2_SCOPE_REQUEST, 0, 0, (void*)request_resource_pack->reply_to); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_AMQP_MSG_CTX_PROPERTY_REPLY_TO, reply_to_property); engine = axis2_engine_create(env, request_resource_pack->conf_ctx); if (AXIS2_TRUE == axiom_soap_body_has_fault(soap_body, env)) { status = axis2_engine_receive_fault(engine, env, msg_ctx); } else { status = axis2_engine_receive(engine, env, msg_ctx); } if (engine) { axis2_engine_free(engine, env); } if (soap_body_str && is_mtom) { AXIS2_FREE(env->allocator, soap_body_str); } return status; } axis2_amqp_request_processor.h0000644000175000017500000000321111166304471037566 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/request_processor/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_AMQP_REQUEST_PROCESSOR_H #define AXIS2_AMQP_REQUEST_PROCESSOR_H #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axis2_amqp_request_processor_resource_pack { axutil_env_t* env; axis2_conf_ctx_t* conf_ctx; axis2_char_t* request_content; int content_length; axis2_char_t* reply_to; axis2_char_t* content_type; axis2_char_t* soap_action; } axis2_amqp_request_processor_resource_pack_t; /* The worker thread function */ void* AXIS2_THREAD_FUNC axis2_amqp_request_processor_thread_function( axutil_thread_t* thread, void* request_data); axis2_status_t axis2_amqp_process_request( const axutil_env_t* env, axis2_amqp_request_processor_resource_pack_t* request_resource_pack); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile.am0000644000175000017500000000162511166304471033624 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_amqp_request_processor.la libaxis2_amqp_request_processor_la_SOURCES = axis2_amqp_request_processor.c libaxis2_amqp_request_processor_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la libaxis2_amqp_request_processor_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile.in0000644000175000017500000004010411172017203033617 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/receiver/qpid_receiver/request_processor DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_amqp_request_processor_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la am_libaxis2_amqp_request_processor_la_OBJECTS = \ axis2_amqp_request_processor.lo libaxis2_amqp_request_processor_la_OBJECTS = \ $(am_libaxis2_amqp_request_processor_la_OBJECTS) libaxis2_amqp_request_processor_la_LINK = $(LIBTOOL) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_amqp_request_processor_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_amqp_request_processor_la_SOURCES) DIST_SOURCES = $(libaxis2_amqp_request_processor_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_amqp_request_processor.la libaxis2_amqp_request_processor_la_SOURCES = axis2_amqp_request_processor.c libaxis2_amqp_request_processor_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la libaxis2_amqp_request_processor_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_amqp_request_processor.la: $(libaxis2_amqp_request_processor_la_OBJECTS) $(libaxis2_amqp_request_processor_la_DEPENDENCIES) $(libaxis2_amqp_request_processor_la_LINK) -rpath $(libdir) $(libaxis2_amqp_request_processor_la_OBJECTS) $(libaxis2_amqp_request_processor_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_amqp_request_processor.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/axis2_qpid_receiver_interface.cpp0000644000175000017500000000530511166304471034453 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_qpid_receiver_resource_pack_t* AXIS2_CALL axis2_qpid_receiver_create( const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx) { AXIS2_ENV_CHECK(env, NULL); axis2_qpid_receiver_resource_pack_t* resource_pack = NULL; resource_pack = (axis2_qpid_receiver_resource_pack_t*)AXIS2_MALLOC (env->allocator, sizeof(axis2_qpid_receiver_resource_pack_t)); if (!resource_pack) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } /* Create Qpid Receiver */ Axis2QpidReceiver* qpid_receiver = new Axis2QpidReceiver(env, conf_ctx); resource_pack->qpid_receiver = qpid_receiver; return resource_pack; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_qpid_receiver_start( axis2_qpid_receiver_resource_pack_t* receiver_resource_pack, const axutil_env_t* env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); axis2_status_t status = AXIS2_FAILURE; /* Start Qpid Receiver */ Axis2QpidReceiver* qpid_receiver = (Axis2QpidReceiver*)receiver_resource_pack->qpid_receiver; if ((qpid_receiver) && (qpid_receiver->start())) { status = AXIS2_SUCCESS; } return status; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_qpid_receiver_is_running( axis2_qpid_receiver_resource_pack_t* receiver_resource_pack, const axutil_env_t* env) { return AXIS2_TRUE; } AXIS2_EXTERN void AXIS2_CALL axis2_qpid_receiver_free( axis2_qpid_receiver_resource_pack_t* receiver_resource_pack, const axutil_env_t* env) { AXIS2_ENV_CHECK(env, void); if (receiver_resource_pack) { Axis2QpidReceiver* qpid_receiver = (Axis2QpidReceiver*)receiver_resource_pack->qpid_receiver; if (qpid_receiver) delete qpid_receiver; AXIS2_FREE(env->allocator, receiver_resource_pack); } } #ifdef __cplusplus } #endif axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/axis2_qpid_receiver.cpp0000644000175000017500000001104511166304471032431 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include Axis2QpidReceiver::Axis2QpidReceiver(const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx) { this->env = env; this->conf_ctx = conf_ctx; } Axis2QpidReceiver::~Axis2QpidReceiver(void) {} bool Axis2QpidReceiver::start(void) { if (!conf_ctx) return false; Connection connection; axis2_bool_t serverSide = AXIS2_TRUE; serverSide = axis2_amqp_util_conf_ctx_get_server_side(conf_ctx, env); while (true) { try { std::list queueNameList; string qpidBrokerIP = axis2_amqp_util_conf_ctx_get_qpid_broker_ip( conf_ctx, env); int qpidBrokerPort = axis2_amqp_util_conf_ctx_get_qpid_broker_port( conf_ctx, env); /* Check if Client Side and Resolve Dynamic Queue Name */ if (serverSide == AXIS2_TRUE) /* Server side */ { std::cout << "Connecting to Qpid Broker on " << qpidBrokerIP << ":" << qpidBrokerPort << " ... "; } /* Create Connection to Qpid Broker */ connection.open(qpidBrokerIP, qpidBrokerPort); if (serverSide == AXIS2_TRUE) /* Server side */ { /* Create queue for each service. Queue name is equal to service name */ axis2_conf_t* conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (!conf) return false; axutil_hash_t* serviceMap = axis2_conf_get_all_svcs(conf, env); if (!serviceMap) return false; axutil_hash_index_t* serviceHI = NULL; void* serviceValue = NULL; for (serviceHI = axutil_hash_first(serviceMap, env); serviceHI; serviceHI = axutil_hash_next(env, serviceHI)) { axutil_hash_this(serviceHI, NULL, NULL, &serviceValue); axis2_svc_t* service = (axis2_svc_t*)serviceValue; if (!service) return false; axis2_char_t* serviceName = axutil_qname_get_localpart( axis2_svc_get_qname(service, env), env); if (!serviceName) return false; queueNameList.push_back(serviceName); } std::cout << "CONNECTED" << std::endl; } else /* Client side separate listener in dual-channel case */ { string queueName = axis2_amqp_util_conf_ctx_get_dual_channel_queue_name( conf_ctx, env); queueNameList.push_back(queueName); } /* Create new session */ Session session = connection.newSession(); /* Create Subscription manager */ SubscriptionManager subscriptionManager(session); Axis2QpidReceiverListener qpidReceiverListener(env, conf_ctx); /* Subscribe to queues */ while (!queueNameList.empty()) { string queueName = queueNameList.front(); session.queueDeclare(arg::queue = queueName, arg::autoDelete = true); session.exchangeBind(arg::exchange = AXIS2_AMQP_EXCHANGE_DIRECT, arg::queue = queueName, arg::bindingKey = queueName); subscriptionManager.subscribe(qpidReceiverListener, queueName); queueNameList.pop_front(); } /* Listen and Wait */ if (serverSide == AXIS2_TRUE) /* Server side */ { std::cout << "Started Axis2 AMQP Server ..." << std::endl; } subscriptionManager.run(); return true; } catch (const std::exception& e) { connection.close(); if (serverSide == AXIS2_TRUE) /* Server side */ { std::cout << "FAILED" << std::endl; } sleep(5); } } connection.close(); return false; } bool Axis2QpidReceiver::shutdown(void) { return true; } axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/axis2_qpid_receiver_interface.h0000644000175000017500000000340711166304471034121 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_QPID_RECEIVER_INTERFACE_H #define AXIS2_QPID_RECEIVER_INTERFACE_H #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axis2_qpid_receiver_resource_pack { void* qpid_receiver; }axis2_qpid_receiver_resource_pack_t; AXIS2_EXTERN axis2_qpid_receiver_resource_pack_t* AXIS2_CALL axis2_qpid_receiver_create( const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_qpid_receiver_start( axis2_qpid_receiver_resource_pack_t* receiver_resource_pack, const axutil_env_t* env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_qpid_receiver_is_running( axis2_qpid_receiver_resource_pack_t* receiver_resource_pack, const axutil_env_t* env); AXIS2_EXTERN void AXIS2_CALL axis2_qpid_receiver_free( axis2_qpid_receiver_resource_pack_t* receiver_resource_pack, const axutil_env_t* env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/Makefile.am0000644000175000017500000000251511166304471030034 0ustar00manjulamanjula00000000000000SUBDIRS = request_processor lib_LTLIBRARIES = libaxis2_qpid_receiver.la libaxis2_qpid_receiver_la_SOURCES = axis2_qpid_receiver.cpp \ axis2_qpid_receiver_interface.cpp \ axis2_qpid_receiver_listener.cpp libaxis2_qpid_receiver_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(QPID_HOME)/lib/libqpidclient.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor/libaxis2_amqp_request_processor.la libaxis2_qpid_receiver_la_LDFLAGS = g++ -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include \ -I$(QPID_HOME)/include axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/Makefile.in0000644000175000017500000005126011172017203030035 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/amqp/receiver/qpid_receiver DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_qpid_receiver_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(QPID_HOME)/lib/libqpidclient.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor/libaxis2_amqp_request_processor.la am_libaxis2_qpid_receiver_la_OBJECTS = axis2_qpid_receiver.lo \ axis2_qpid_receiver_interface.lo \ axis2_qpid_receiver_listener.lo libaxis2_qpid_receiver_la_OBJECTS = \ $(am_libaxis2_qpid_receiver_la_OBJECTS) libaxis2_qpid_receiver_la_LINK = $(LIBTOOL) --tag=CXX \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CXXLD) \ $(AM_CXXFLAGS) $(CXXFLAGS) \ $(libaxis2_qpid_receiver_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) LTCXXCOMPILE = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) CXXLD = $(CXX) CXXLINK = $(LIBTOOL) --tag=CXX $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_qpid_receiver_la_SOURCES) DIST_SOURCES = $(libaxis2_qpid_receiver_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = request_processor lib_LTLIBRARIES = libaxis2_qpid_receiver.la libaxis2_qpid_receiver_la_SOURCES = axis2_qpid_receiver.cpp \ axis2_qpid_receiver_interface.cpp \ axis2_qpid_receiver_listener.cpp libaxis2_qpid_receiver_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(QPID_HOME)/lib/libqpidclient.la \ $(top_builddir)/src/core/transport/amqp/util/libaxis2_amqp_util.la \ $(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor/libaxis2_amqp_request_processor.la libaxis2_qpid_receiver_la_LDFLAGS = g++ -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver \ -I$(top_builddir)/src/core/transport/amqp/receiver/qpid_receiver/request_processor \ -I$(top_builddir)/src/core/transport/amqp/util \ -I$(top_builddir)/src/core/transport/amqp/sender/qpid_sender \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include \ -I$(QPID_HOME)/include all: all-recursive .SUFFIXES: .SUFFIXES: .cpp .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/amqp/receiver/qpid_receiver/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/amqp/receiver/qpid_receiver/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_qpid_receiver.la: $(libaxis2_qpid_receiver_la_OBJECTS) $(libaxis2_qpid_receiver_la_DEPENDENCIES) $(libaxis2_qpid_receiver_la_LINK) -rpath $(libdir) $(libaxis2_qpid_receiver_la_OBJECTS) $(libaxis2_qpid_receiver_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_qpid_receiver.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_qpid_receiver_interface.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_qpid_receiver_listener.Plo@am__quote@ .cpp.o: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $< .cpp.obj: @am__fastdepCXX_TRUE@ $(CXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'` .cpp.lo: @am__fastdepCXX_TRUE@ $(LTCXXCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCXX_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/amqp/receiver/qpid_receiver/axis2_qpid_receiver_listener.cpp0000644000175000017500000000772111166304471034344 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * tcp://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include Axis2QpidReceiverListener::Axis2QpidReceiverListener( const axutil_env_t* env, axis2_conf_ctx_t* conf_ctx) { this->env = env; this->conf_ctx = conf_ctx; } Axis2QpidReceiverListener::~Axis2QpidReceiverListener(void) {} void Axis2QpidReceiverListener::received(Message& message) { AXIS2_ENV_CHECK(env, void); axis2_amqp_request_processor_resource_pack_t* request_data = NULL; #ifdef AXIS2_SVR_MULTI_THREADED axutil_thread_t* worker_thread = NULL; #endif request_data = (axis2_amqp_request_processor_resource_pack_t*) AXIS2_MALLOC(env->allocator, sizeof(axis2_amqp_request_processor_resource_pack_t)); if (!request_data) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Memory Allocation Error"); return; } request_data->env = (axutil_env_t*)env; request_data->conf_ctx = conf_ctx; /* Create a Local Copy of Request Content */ std::string message_data = message.getData(); axis2_char_t* request_content = (axis2_char_t*)AXIS2_MALLOC(env->allocator, message_data.size()); memcpy(request_content, message_data.c_str(), message_data.size()); request_data->request_content = request_content; request_data->content_length = message_data.size(); /* Set ReplyTo */ request_data->reply_to = NULL; if (message.getMessageProperties().hasReplyTo()) { /* Create a Local Copy of ReplyTo */ std::string reply_to_tmp = message.getMessageProperties().getReplyTo().getRoutingKey(); axis2_char_t* reply_to = (axis2_char_t*)AXIS2_MALLOC(env->allocator, reply_to_tmp.size() + 1); strcpy(reply_to, reply_to_tmp.c_str()); request_data->reply_to = reply_to; } /* Copy AMQP headers */ /* Content-Type */ request_data->content_type = NULL; std::string content_type_tmp = message.getHeaders().getString(AXIS2_AMQP_HEADER_CONTENT_TYPE); if (!content_type_tmp.empty()) { axis2_char_t* content_type = (axis2_char_t*)AXIS2_MALLOC(env->allocator, content_type_tmp.size() + 1); strcpy(content_type, content_type_tmp.c_str()); request_data->content_type = content_type; } /* SOAPAction */ request_data->soap_action = NULL; std::string soap_action_tmp = message.getHeaders().getString(AXIS2_AMQP_HEADER_SOAP_ACTION); if (!soap_action_tmp.empty()) { axis2_char_t* soap_action = (axis2_char_t*)AXIS2_MALLOC(env->allocator, soap_action_tmp.size() + 1); strcpy(soap_action, soap_action_tmp.c_str()); request_data->soap_action = soap_action; } #ifdef AXIS2_SVR_MULTI_THREADED worker_thread = axutil_thread_pool_get_thread(env->thread_pool, axis2_amqp_request_processor_thread_function, (void*)request_data); if (!worker_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Failed to Create Thread"); return; } axutil_thread_pool_thread_detach(env->thread_pool, worker_thread); #else axis2_amqp_request_processor_thread_function(NULL, (void*)request_data); #endif } axis2c-src-1.6.0/src/core/transport/http/0000777000175000017500000000000011172017540021370 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/util/0000777000175000017500000000000011172017537022353 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/util/http_transport_utils.c0000644000175000017500000035517011166304467027045 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define AXIOM_MIME_BOUNDARY_BYTE 45 /** Size of the buffer to be used when reading a file */ #ifndef AXIS2_FILE_READ_SIZE #define AXIS2_FILE_READ_SIZE 2048 #endif /** Content length value to be used in case of chunked content */ #ifndef AXIS2_CHUNKED_CONTENT_LENGTH #define AXIS2_CHUNKED_CONTENT_LENGTH 100000000 #endif const axis2_char_t *AXIS2_TRANS_UTIL_DEFAULT_CHAR_ENCODING = AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING; /***************************** Function headers *******************************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_http_post_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, const int content_length, axutil_string_t * soap_action_header, const axis2_char_t * request_uri); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_http_put_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, const int content_length, axutil_string_t * soap_action_header, const axis2_char_t * request_uri); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_get_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_head_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_delete_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params); AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axis2_http_transport_utils_select_builder_for_mime( const axutil_env_t * env, axis2_char_t * request_uri, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axis2_char_t * content_type); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_is_optimized( const axutil_env_t * env, axiom_element_t * om_element); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_do_write_mtom( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_strdecode( const axutil_env_t * env, axis2_char_t * dest, axis2_char_t * src); AXIS2_EXTERN int AXIS2_CALL axis2_http_transport_utils_hexit( axis2_char_t c); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_services_html( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_services_static_wsdl( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_char_t * request_url); AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_http_transport_utils_get_charset_enc( const axutil_env_t * env, const axis2_char_t * content_type); int AXIS2_CALL axis2_http_transport_utils_on_data_request( char *buffer, int size, void *ctx); AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_http_transport_utils_create_soap_msg( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, const axis2_char_t * soap_ns_uri); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_value_from_content_type( const axutil_env_t * env, const axis2_char_t * content_type, const axis2_char_t * key); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_dispatch_and_verify( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_http_transport_utils_handle_media_type_url_encoded( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_hash_t * param_map, axis2_char_t * method); static axis2_status_t axis2_http_transport_utils_send_attachment_using_file( const axutil_env_t * env, axutil_http_chunked_stream_t *chunked_stream, FILE *fp, axis2_byte_t *buffer, int buffer_size); static axis2_status_t axis2_http_transport_utils_send_attachment_using_callback( const axutil_env_t * env, axutil_http_chunked_stream_t *chunked_stream, axiom_mtom_sending_callback_t *callback, void *handler, void *user_param); /***************************** End of function headers ************************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_out_init(axis2_http_transport_out_t *response, const axutil_env_t *env) { response->http_status_code_name = NULL; response->http_status_code = 0; response->msg_ctx = NULL; response->response_data = NULL; response->content_type = NULL; response->response_data_length = 0; response->content_language = NULL; response->output_headers = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_out_uninit(axis2_http_transport_out_t *response, const axutil_env_t *env) { if (response->msg_ctx) { axis2_msg_ctx_free(response->msg_ctx, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_in_init(axis2_http_transport_in_t *request, const axutil_env_t *env) { request->content_type = NULL; request->content_length = 0; request->msg_ctx = NULL; request->soap_action = NULL; request->request_uri = NULL; request->in_stream = NULL; request->remote_ip = NULL; request->svr_port = NULL; request->transfer_encoding = NULL; request->accept_header = NULL; request->accept_language_header = NULL; request->accept_charset_header = NULL; request->request_method = 0; request->out_transport_info = NULL; request->request_url_prefix = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_in_uninit(axis2_http_transport_in_t *request, const axutil_env_t *env) { if (request->msg_ctx) { axis2_msg_ctx_reset_out_transport_info(request->msg_ctx, env); axis2_msg_ctx_free(request->msg_ctx, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_http_post_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, const int content_length, axutil_string_t * soap_action_header, const axis2_char_t * request_uri) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_builder_t *soap_builder = NULL; axiom_stax_builder_t *om_builder = NULL; axis2_bool_t is_soap11 = AXIS2_FALSE; axiom_xml_reader_t *xml_reader = NULL; axutil_string_t *char_set_str = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_callback_info_t *callback_ctx = NULL; axis2_callback_info_t *mime_cb_ctx = NULL; axutil_hash_t *headers = NULL; axis2_engine_t *engine = NULL; axiom_soap_body_t *soap_body = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_hash_t *binary_data_map = NULL; axis2_char_t *soap_body_str = NULL; axutil_stream_t *stream = NULL; axis2_bool_t do_rest = AXIS2_FALSE; axis2_bool_t run_as_get = AXIS2_FALSE; axis2_char_t *soap_action = NULL; unsigned int soap_action_len = 0; axutil_property_t *http_error_property = NULL; axiom_mime_parser_t *mime_parser = NULL; axis2_bool_t is_svc_callback = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, in_stream, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, out_stream, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, request_uri, AXIS2_FAILURE); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); callback_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_info_t)); /* Note: the memory created above is freed in xml reader free function as this is passed on to the reader */ callback_ctx->in_stream = in_stream; callback_ctx->env = env; callback_ctx->content_length = content_length; callback_ctx->unread_len = content_length; callback_ctx->chunked_stream = NULL; soap_action = (axis2_char_t *) axutil_string_get_buffer(soap_action_header, env); soap_action_len = axutil_string_get_length(soap_action_header, env); if (soap_action && (soap_action_len > 0)) { /* remove leading and trailing " s */ if (AXIS2_DOUBLE_QUOTE == soap_action[0]) { memmove(soap_action, soap_action + sizeof(char), soap_action_len - 1 + sizeof(char)); } if (AXIS2_DOUBLE_QUOTE == soap_action[soap_action_len - 2]) { soap_action[soap_action_len - 2] = AXIS2_ESC_NULL; } }else{ /** soap action is null, check whether soap action is in content_type header */ soap_action = axis2_http_transport_utils_get_value_from_content_type(env, content_type, AXIS2_ACTION); } headers = axis2_msg_ctx_get_transport_headers(msg_ctx, env); if (headers) { axis2_http_header_t *encoding_header = NULL; encoding_header = (axis2_http_header_t *) axutil_hash_get( headers, AXIS2_HTTP_HEADER_TRANSFER_ENCODING, AXIS2_HASH_KEY_STRING); if (encoding_header) { axis2_char_t *encoding_value = NULL; encoding_value = axis2_http_header_get_value(encoding_header, env); if (encoding_value && 0 == axutil_strcasecmp(encoding_value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { callback_ctx->chunked_stream = axutil_http_chunked_stream_create(env, in_stream); if (!callback_ctx->chunked_stream) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occurred in" " creating in chunked stream."); return AXIS2_FAILURE; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "HTTP" " stream chunked"); } } } else { /* Encoding header is not available */ /* check content encoding from msg ctx property */ axis2_char_t *value = axis2_msg_ctx_get_transfer_encoding(msg_ctx, env); if (value && axutil_strstr(value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { /* In case Transfer encoding is set to message context, some streams strip chunking meta data, so chunked streams should not be created */ callback_ctx->content_length = -1; callback_ctx->unread_len = -1; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[chunked ] setting length to -1"); } } /* when the message contains does not contain pure XML we can't send it * directly to the parser, First we need to separate the SOAP part from * the attachment */ if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED)) { /* get mime boundary */ axis2_char_t *mime_boundary = axis2_http_transport_utils_get_value_from_content_type( env, content_type, AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY); if (mime_boundary) { /*axiom_mime_parser_t *mime_parser = NULL;*/ int soap_body_len = 0; axutil_param_t *buffer_size_param = NULL; axutil_param_t *max_buffers_param = NULL; axutil_param_t *attachment_dir_param = NULL; axutil_param_t *callback_name_param = NULL; axutil_param_t *enable_service_callback_param = NULL; axis2_char_t *value_size = NULL; axis2_char_t *value_num = NULL; axis2_char_t *value_dir = NULL; axis2_char_t *value_callback = NULL; axis2_char_t *value_enable_service_callback = NULL; int size = 0; int num = 0; mime_parser = axiom_mime_parser_create(env); /* This is the size of the buffer we keep inside mime_parser * when parsing. */ enable_service_callback_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_ENABLE_MTOM_SERVICE_CALLBACK); if(enable_service_callback_param) { value_enable_service_callback = (axis2_char_t *) axutil_param_get_value (enable_service_callback_param, env); if(value_enable_service_callback) { if(!axutil_strcmp(value_enable_service_callback, AXIS2_VALUE_TRUE)) { is_svc_callback = AXIS2_TRUE; } } } buffer_size_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_BUFFER_SIZE); if (buffer_size_param) { value_size = (axis2_char_t *) axutil_param_get_value (buffer_size_param, env); if(value_size) { size = atoi(value_size); axiom_mime_parser_set_buffer_size(mime_parser, env, size); } } /* We create an array of buffers in order to conatin SOAP data inside * mime_parser. This is the number of sucj buffers */ max_buffers_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_MAX_BUFFERS); if (max_buffers_param) { value_num = (axis2_char_t *) axutil_param_get_value (max_buffers_param, env); if(value_num) { num = atoi(value_num); axiom_mime_parser_set_max_buffers(mime_parser, env, num); } } /* If this paramter is there mime_parser will cached the attachment * using to the directory for large attachments. */ callback_name_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_CACHING_CALLBACK); if(callback_name_param) { value_callback = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); if(value_callback) { axiom_mime_parser_set_caching_callback_name(mime_parser, env, value_callback); } } attachment_dir_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_ATTACHMENT_DIR); if(attachment_dir_param) { value_dir = (axis2_char_t *) axutil_param_get_value (attachment_dir_param, env); if(value_dir) { axiom_mime_parser_set_attachment_dir(mime_parser, env, value_dir); } } axiom_mime_parser_set_mime_boundary(mime_parser, env, mime_boundary); if(axiom_mime_parser_parse_for_soap(mime_parser, env, axis2_http_transport_utils_on_data_request, (void *) callback_ctx, mime_boundary) == AXIS2_FAILURE) { return AXIS2_FAILURE; } if(!is_svc_callback) { binary_data_map = axiom_mime_parser_parse_for_attachments(mime_parser, env, axis2_http_transport_utils_on_data_request, (void *) callback_ctx, mime_boundary, NULL); if(!binary_data_map) { return AXIS2_FAILURE; } } soap_body_len = axiom_mime_parser_get_soap_body_len(mime_parser, env); soap_body_str = axiom_mime_parser_get_soap_body_str(mime_parser, env); if(!is_svc_callback) { if(callback_ctx->chunked_stream) { axutil_http_chunked_stream_free(callback_ctx->chunked_stream, env); callback_ctx->chunked_stream = NULL; } } else { mime_cb_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_info_t)); if(mime_cb_ctx) { mime_cb_ctx->in_stream = callback_ctx->in_stream; mime_cb_ctx->env = callback_ctx->env; mime_cb_ctx->content_length = callback_ctx->content_length; mime_cb_ctx->unread_len = callback_ctx->unread_len; mime_cb_ctx->chunked_stream = callback_ctx->chunked_stream; } } stream = axutil_stream_create_basic(env); if (stream) { axutil_stream_write(stream, env, soap_body_str, soap_body_len); callback_ctx->in_stream = stream; callback_ctx->chunked_stream = NULL; callback_ctx->content_length = soap_body_len; callback_ctx->unread_len = soap_body_len; } /*axiom_mime_parser_free(mime_parser, env); mime_parser = NULL;*/ /*AXIS2_FREE(env->allocator, mime_boundary);*/ } /*AXIS2_FREE(env->allocator, mime_boundary);*/ } if(soap_action_header) { axis2_msg_ctx_set_soap_action(msg_ctx, env, soap_action_header); }else if (soap_action) { axutil_string_t *soap_action_str = NULL; soap_action_str = axutil_string_create(env,soap_action); axis2_msg_ctx_set_soap_action(msg_ctx, env, soap_action_str); axutil_string_free(soap_action_str, env); } axis2_msg_ctx_set_to(msg_ctx, env, axis2_endpoint_ref_create(env, request_uri)); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); char_set_str = axis2_http_transport_utils_get_charset_enc(env, content_type); xml_reader = axiom_xml_reader_create_for_io(env, axis2_http_transport_utils_on_data_request, NULL, (void *) callback_ctx, axutil_string_get_buffer(char_set_str, env)); if (!xml_reader) { return AXIS2_FAILURE; } axis2_msg_ctx_set_charset_encoding(msg_ctx, env, char_set_str); om_builder = axiom_stax_builder_create(env, xml_reader); if (!om_builder) { axiom_xml_reader_free(xml_reader, env); xml_reader = NULL; return AXIS2_FAILURE; } if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP)) { is_soap11 = AXIS2_FALSE; soap_builder = axiom_soap_builder_create(env, om_builder, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI); if (!soap_builder) { /* We should not be freeing om_builder here as it is done by axiom_soap_builder_create in case of error - Samisa */ om_builder = NULL; xml_reader = NULL; axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap11); return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (!soap_envelope) { axiom_stax_builder_free(om_builder, env); om_builder = NULL; xml_reader = NULL; axiom_soap_builder_free(soap_builder, env); soap_builder = NULL; axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap11); return AXIS2_FAILURE; } } else if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML)) { is_soap11 = AXIS2_TRUE; if (soap_action_header) { soap_builder = axiom_soap_builder_create(env, om_builder, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI); if (!soap_builder) { /* We should not be freeing om_builder here as it is done by axiom_soap_builder_create in case of error - Samisa */ om_builder = NULL; xml_reader = NULL; axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap11); return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (!soap_envelope) { axiom_soap_builder_free(soap_builder, env); om_builder = NULL; xml_reader = NULL; soap_builder = NULL; axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap11); return AXIS2_FAILURE; } } else { /* REST support */ do_rest = AXIS2_TRUE; } } else if (strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODED)) { /* REST support */ do_rest = AXIS2_TRUE; run_as_get = AXIS2_TRUE; } else { http_error_property = axutil_property_create(env); axutil_property_set_value(http_error_property, env, AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPE); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_HTTP_TRANSPORT_ERROR, http_error_property); } if(soap_builder) { if(mime_parser) { axiom_soap_builder_set_mime_parser(soap_builder, env, mime_parser); if(mime_cb_ctx) { axiom_soap_builder_set_callback_ctx(soap_builder, env, mime_cb_ctx); axiom_soap_builder_set_callback_function(soap_builder, env, axis2_http_transport_utils_on_data_request); } else if(is_svc_callback) { return AXIS2_FAILURE; } } } if (do_rest) { /* REST support */ axutil_param_t *rest_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_ENABLE_REST); if (rest_param && 0 == axutil_strcmp(AXIS2_VALUE_TRUE, axutil_param_get_value(rest_param, env))) { axiom_soap_body_t *def_body = NULL; axiom_document_t *om_doc = NULL; axiom_node_t *root_node = NULL; if (!run_as_get) { soap_envelope = axiom_soap_envelope_create_default_soap_envelope (env, AXIOM_SOAP11); def_body = axiom_soap_envelope_get_body(soap_envelope, env); om_doc = axiom_stax_builder_get_document(om_builder, env); root_node = axiom_document_build_all(om_doc, env); axiom_soap_body_add_child(def_body, env, root_node); } axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_rest_http_method(msg_ctx, env, AXIS2_HTTP_POST); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); } else { return AXIS2_FAILURE; } if (AXIS2_SUCCESS != axis2_http_transport_utils_dispatch_and_verify(env, msg_ctx)) { return AXIS2_FAILURE; } } if (run_as_get) { axis2_char_t *buffer = NULL; axis2_char_t *new_url = NULL; buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (content_length + 1)); if (!buffer) { return AXIS2_FAILURE; } axis2_http_transport_utils_on_data_request(buffer, content_length, (void *) callback_ctx); new_url = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ((int)(strlen(request_uri) + strlen(buffer)) + 2)); if (!new_url) { return AXIS2_FAILURE; } sprintf(new_url, "%s?%s", request_uri, buffer); AXIS2_FREE(env->allocator, buffer); soap_envelope = axis2_http_transport_utils_handle_media_type_url_encoded(env, msg_ctx, axis2_http_transport_utils_get_request_params(env, new_url), AXIS2_HTTP_POST); } if (binary_data_map) { axiom_soap_builder_set_mime_body_parts(soap_builder, env, binary_data_map); } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); engine = axis2_engine_create(env, conf_ctx); if (!soap_envelope) return AXIS2_FAILURE; soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) return AXIS2_FAILURE; if(!is_svc_callback) { if (AXIS2_TRUE == axiom_soap_body_has_fault(soap_body, env)) { status = axis2_engine_receive_fault(engine, env, msg_ctx); } else { status = axis2_engine_receive(engine, env, msg_ctx); } } else { status = axis2_engine_receive(engine, env, msg_ctx); } if (!axis2_msg_ctx_get_soap_envelope(msg_ctx, env) && AXIS2_FALSE == is_soap11) { axiom_soap_envelope_t *def_envelope = axiom_soap_envelope_create_default_soap_envelope(env, AXIOM_SOAP12); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, def_envelope); } if (engine) { axis2_engine_free(engine, env); } if (soap_body_str) { AXIS2_FREE(env->allocator, soap_body_str); } if (stream) { axutil_stream_free(stream, env); } if (char_set_str) { axutil_string_free(char_set_str, env); } if (!soap_builder && om_builder) { axiom_stax_builder_free_self(om_builder, env); om_builder = NULL; } if(!axutil_string_get_buffer(soap_action_header, env) && soap_action) { AXIS2_FREE(env->allocator, soap_action); soap_action = NULL; } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_http_put_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, const int content_length, axutil_string_t * soap_action_header, const axis2_char_t * request_uri) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_builder_t *soap_builder = NULL; axiom_stax_builder_t *om_builder = NULL; axis2_bool_t is_soap11 = AXIS2_FALSE; axiom_xml_reader_t *xml_reader = NULL; axutil_string_t *char_set_str = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_callback_info_t *callback_ctx; axutil_hash_t *headers = NULL; axis2_engine_t *engine = NULL; axiom_soap_body_t *soap_body = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_hash_t *binary_data_map = NULL; axis2_char_t *soap_body_str = NULL; axutil_stream_t *stream = NULL; axis2_bool_t do_rest = AXIS2_FALSE; axis2_bool_t run_as_get = AXIS2_FALSE; axutil_property_t *http_error_property = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, in_stream, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, out_stream, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, request_uri, AXIS2_FAILURE); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); callback_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_info_t)); /* Note: the memory created above is freed in xml reader free function as this is passed on to the reader */ callback_ctx->in_stream = in_stream; callback_ctx->env = env; callback_ctx->content_length = content_length; callback_ctx->unread_len = content_length; callback_ctx->chunked_stream = NULL; headers = axis2_msg_ctx_get_transport_headers(msg_ctx, env); if (headers) { axis2_http_header_t *encoding_header = NULL; encoding_header = (axis2_http_header_t *) axutil_hash_get( headers, AXIS2_HTTP_HEADER_TRANSFER_ENCODING, AXIS2_HASH_KEY_STRING); if (encoding_header) { axis2_char_t *encoding_value = NULL; encoding_value = axis2_http_header_get_value(encoding_header, env); if (encoding_value && 0 == axutil_strcasecmp(encoding_value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { callback_ctx->chunked_stream = axutil_http_chunked_stream_create(env, in_stream); if (!callback_ctx->chunked_stream) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occured in" " creating in chunked stream."); return AXIS2_FAILURE; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "HTTP" " stream chunked"); } } } else { /* check content encoding from msg ctx property */ axis2_char_t *value = axis2_msg_ctx_get_transfer_encoding(msg_ctx, env); if (value && axutil_strstr(value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { /* this is an UGLY hack to get some of the transports working e.g. PHP transport where it strips the chunking info in case of chunking and also gives out a content lenght of 0. We need to fix the transport design to fix sutuations like this. */ callback_ctx->content_length = AXIS2_CHUNKED_CONTENT_LENGTH; callback_ctx->unread_len = callback_ctx->content_length; } } if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED)) { /* get mime boundry */ axis2_char_t *mime_boundary = axis2_http_transport_utils_get_value_from_content_type( env, content_type, AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY); if (mime_boundary) { axiom_mime_parser_t *mime_parser = NULL; int soap_body_len = 0; axutil_param_t *buffer_size_param = NULL; axutil_param_t *max_buffers_param = NULL; axutil_param_t *attachment_dir_param = NULL; axutil_param_t *callback_name_param = NULL; axis2_char_t *value_size = NULL; axis2_char_t *value_num = NULL; axis2_char_t *value_dir = NULL; axis2_char_t *value_callback = NULL; int size = 0; int num = 0; mime_parser = axiom_mime_parser_create(env); buffer_size_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_BUFFER_SIZE); if (buffer_size_param) { value_size = (axis2_char_t *) axutil_param_get_value (buffer_size_param, env); if(value_size) { size = atoi(value_size); axiom_mime_parser_set_buffer_size(mime_parser, env, size); } } max_buffers_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_MAX_BUFFERS); if (max_buffers_param) { value_num = (axis2_char_t *) axutil_param_get_value (max_buffers_param, env); if(value_num) { num = atoi(value_num); axiom_mime_parser_set_max_buffers(mime_parser, env, num); } } callback_name_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_CACHING_CALLBACK); if(callback_name_param) { value_callback = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); if(value_callback) { axiom_mime_parser_set_caching_callback_name(mime_parser, env, value_callback); } } attachment_dir_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_ATTACHMENT_DIR); if(attachment_dir_param) { value_dir = (axis2_char_t *) axutil_param_get_value (attachment_dir_param, env); if(value_dir) { axiom_mime_parser_set_attachment_dir(mime_parser, env, value_dir); } } if (mime_parser) { /*binary_data_map = axiom_mime_parser_parse(mime_parser, env, axis2_http_transport_utils_on_data_request, (void *) callback_ctx, mime_boundary);*/ if (!binary_data_map) { return AXIS2_FAILURE; } soap_body_len = axiom_mime_parser_get_soap_body_len(mime_parser, env); soap_body_str = axiom_mime_parser_get_soap_body_str(mime_parser, env); } stream = axutil_stream_create_basic(env); if (stream) { axutil_stream_write(stream, env, soap_body_str, soap_body_len); callback_ctx->in_stream = stream; callback_ctx->chunked_stream = NULL; callback_ctx->content_length = soap_body_len; callback_ctx->unread_len = soap_body_len; } axiom_mime_parser_free(mime_parser, env); mime_parser = NULL; } AXIS2_FREE(env->allocator, mime_boundary); } axis2_msg_ctx_set_to(msg_ctx, env, axis2_endpoint_ref_create(env, request_uri)); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); char_set_str = axis2_http_transport_utils_get_charset_enc(env, content_type); xml_reader = axiom_xml_reader_create_for_io(env, axis2_http_transport_utils_on_data_request, NULL, (void *) callback_ctx, axutil_string_get_buffer(char_set_str, env)); if (!xml_reader) { return AXIS2_FAILURE; } axis2_msg_ctx_set_charset_encoding(msg_ctx, env, char_set_str); om_builder = axiom_stax_builder_create(env, xml_reader); if (!om_builder) { axiom_xml_reader_free(xml_reader, env); xml_reader = NULL; return AXIS2_FAILURE; } if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP)) { is_soap11 = AXIS2_FALSE; soap_builder = axiom_soap_builder_create(env, om_builder, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI); if (!soap_builder) { /* We should not be freeing om_builder here as it is done by axiom_soap_builder_create in case of error - Samisa */ om_builder = NULL; xml_reader = NULL; axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap11); return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (!soap_envelope) { axiom_stax_builder_free(om_builder, env); om_builder = NULL; xml_reader = NULL; axiom_soap_builder_free(soap_builder, env); soap_builder = NULL; axis2_msg_ctx_set_is_soap_11(msg_ctx, env, is_soap11); return AXIS2_FAILURE; } } else if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML)) { do_rest = AXIS2_TRUE; if (soap_action_header) { return AXIS2_FAILURE; } else { /* REST support */ do_rest = AXIS2_TRUE; } } else if (strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODED)) { /* REST support */ do_rest = AXIS2_TRUE; run_as_get = AXIS2_TRUE; } else { http_error_property = axutil_property_create(env); axutil_property_set_value(http_error_property, env, AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPE); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_HTTP_TRANSPORT_ERROR, http_error_property); } if (do_rest) { /* REST support */ axutil_param_t *rest_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_ENABLE_REST); if (rest_param && 0 == axutil_strcmp(AXIS2_VALUE_TRUE, axutil_param_get_value(rest_param, env))) { axiom_soap_body_t *def_body = NULL; axiom_document_t *om_doc = NULL; axiom_node_t *root_node = NULL; if (!run_as_get) { soap_envelope = axiom_soap_envelope_create_default_soap_envelope (env, AXIOM_SOAP11); def_body = axiom_soap_envelope_get_body(soap_envelope, env); om_doc = axiom_stax_builder_get_document(om_builder, env); root_node = axiom_document_build_all(om_doc, env); axiom_soap_body_add_child(def_body, env, root_node); } axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_rest_http_method(msg_ctx, env, AXIS2_HTTP_PUT); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); } else { return AXIS2_FAILURE; } if (AXIS2_SUCCESS != axis2_http_transport_utils_dispatch_and_verify(env, msg_ctx)) { return AXIS2_FAILURE; } } if (run_as_get) { axis2_char_t *buffer = NULL; axis2_char_t *new_url = NULL; buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (content_length + 1)); if (!buffer) { return AXIS2_FAILURE; } axis2_http_transport_utils_on_data_request(buffer, content_length, (void *) callback_ctx); new_url = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ((int)(strlen(request_uri) + strlen(buffer)) + 2)); if (!new_url) { return AXIS2_FAILURE; } sprintf(new_url, "%s?%s", request_uri, buffer); AXIS2_FREE(env->allocator, buffer); soap_envelope = axis2_http_transport_utils_handle_media_type_url_encoded(env, msg_ctx, axis2_http_transport_utils_get_request_params(env, new_url), AXIS2_HTTP_POST); } if (binary_data_map) { axiom_soap_builder_set_mime_body_parts(soap_builder, env, binary_data_map); } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); engine = axis2_engine_create(env, conf_ctx); if (!soap_envelope) return AXIS2_FAILURE; soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) return AXIS2_FAILURE; if (AXIS2_TRUE == axiom_soap_body_has_fault(soap_body, env)) { status = axis2_engine_receive_fault(engine, env, msg_ctx); } else { status = axis2_engine_receive(engine, env, msg_ctx); } if (!axis2_msg_ctx_get_soap_envelope(msg_ctx, env) && AXIS2_FALSE == is_soap11) { axiom_soap_envelope_t *def_envelope = axiom_soap_envelope_create_default_soap_envelope(env, AXIOM_SOAP12); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, def_envelope); } if (engine) { axis2_engine_free(engine, env); } if (soap_body_str) { AXIS2_FREE(env->allocator, soap_body_str); } if (stream) { axutil_stream_free(stream, env); } if (char_set_str) { axutil_string_free(char_set_str, env); } if (!soap_builder && om_builder) { axiom_stax_builder_free_self(om_builder, env); om_builder = NULL; } return status; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_head_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params) { axiom_soap_envelope_t *soap_envelope = NULL; axis2_engine_t *engine = NULL; axis2_bool_t do_rest = AXIS2_TRUE; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, in_stream, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, out_stream, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, request_uri, AXIS2_FALSE); axis2_msg_ctx_set_to(msg_ctx, env, axis2_endpoint_ref_create(env, request_uri)); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML)) { if (soap_action_header) { do_rest = AXIS2_FALSE; } } else if (strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP)) { do_rest = AXIS2_FALSE; } if (do_rest) { axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_rest_http_method(msg_ctx, env, AXIS2_HTTP_HEAD); } else { axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_FALSE); } if (AXIS2_SUCCESS != axis2_http_transport_utils_dispatch_and_verify(env, msg_ctx)) { return AXIS2_FALSE; } soap_envelope = axis2_http_transport_utils_handle_media_type_url_encoded(env, msg_ctx, request_params, AXIS2_HTTP_HEAD); if (!soap_envelope) { return AXIS2_FALSE; } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); engine = axis2_engine_create(env, conf_ctx); axis2_engine_receive(engine, env, msg_ctx); return AXIS2_TRUE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_get_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params) { axiom_soap_envelope_t *soap_envelope = NULL; axis2_engine_t *engine = NULL; axis2_bool_t do_rest = AXIS2_TRUE; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, in_stream, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, out_stream, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, request_uri, AXIS2_FALSE); axis2_msg_ctx_set_to(msg_ctx, env, axis2_endpoint_ref_create(env, request_uri)); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); if (content_type && strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML)) { if (soap_action_header) { do_rest = AXIS2_FALSE; } } else if (content_type && strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP)) { do_rest = AXIS2_FALSE; } if (do_rest) { axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_rest_http_method(msg_ctx, env, AXIS2_HTTP_GET); } else { axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_FALSE); } if (AXIS2_SUCCESS != axis2_http_transport_utils_dispatch_and_verify(env, msg_ctx)) { return AXIS2_FALSE; } soap_envelope = axis2_http_transport_utils_handle_media_type_url_encoded(env, msg_ctx, request_params, AXIS2_HTTP_GET); if (!soap_envelope) { return AXIS2_FALSE; } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); engine = axis2_engine_create(env, conf_ctx); axis2_engine_receive(engine, env, msg_ctx); return AXIS2_TRUE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_delete_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params) { axiom_soap_envelope_t *soap_envelope = NULL; axis2_engine_t *engine = NULL; axis2_bool_t do_rest = AXIS2_TRUE; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, in_stream, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, out_stream, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, request_uri, AXIS2_FALSE); axis2_msg_ctx_set_to(msg_ctx, env, axis2_endpoint_ref_create(env, request_uri)); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML)) { if (soap_action_header) { do_rest = AXIS2_FALSE; } } else if (strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP)) { do_rest = AXIS2_FALSE; } if (do_rest) { axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_rest_http_method(msg_ctx, env, AXIS2_HTTP_DELETE); } else { axis2_msg_ctx_set_doing_rest(msg_ctx, env, AXIS2_FALSE); } soap_envelope = axis2_http_transport_utils_handle_media_type_url_encoded(env, msg_ctx, request_params, AXIS2_HTTP_DELETE); if (!soap_envelope) { return AXIS2_FALSE; } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); if (AXIS2_SUCCESS != axis2_http_transport_utils_dispatch_and_verify(env, msg_ctx)) { return AXIS2_FALSE; } engine = axis2_engine_create(env, conf_ctx); axis2_engine_receive(engine, env, msg_ctx); return AXIS2_TRUE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_do_write_mtom( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); return (axis2_msg_ctx_get_doing_mtom(msg_ctx, env)); } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_http_transport_utils_get_request_params( const axutil_env_t * env, axis2_char_t * request_uri) { axis2_char_t *query_str = NULL; axis2_char_t *tmp = strchr(request_uri, AXIS2_Q_MARK); axis2_char_t *tmp2 = NULL; axis2_char_t *tmp_name = NULL; axis2_char_t *tmp_value = NULL; axutil_hash_t *ret = NULL; AXIS2_PARAM_CHECK(env->error, request_uri, NULL); if (!tmp || AXIS2_ESC_NULL == *(tmp + 1)) { return NULL; } query_str = axutil_strdup(env, tmp + 1); for (tmp2 = tmp = query_str; *tmp != AXIS2_ESC_NULL; ++tmp) { if (AXIS2_EQ == *tmp) { *tmp = AXIS2_ESC_NULL; tmp_name = axutil_strdup(env, tmp2); axis2_http_transport_utils_strdecode(env, tmp_name, tmp_name); tmp2 = tmp + 1; } if (AXIS2_AND == *tmp) { *tmp = AXIS2_ESC_NULL; tmp_value = axutil_strdup(env, tmp2); axis2_http_transport_utils_strdecode(env, tmp_value, tmp_value); tmp2 = tmp + 1; } if (tmp_name && NULL != tmp_value) { if (!ret) { ret = axutil_hash_make(env); } axutil_hash_set(ret, tmp_name, AXIS2_HASH_KEY_STRING, tmp_value); tmp_name = NULL; tmp_value = NULL; } } if (tmp_name && AXIS2_ESC_NULL != *tmp2) { if (!ret) { ret = axutil_hash_make(env); } tmp_value = axutil_strdup(env, tmp2); axis2_http_transport_utils_strdecode(env, tmp_value, tmp_value); axutil_hash_set(ret, tmp_name, AXIS2_HASH_KEY_STRING, tmp_value); } return ret; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_strdecode( const axutil_env_t * env, axis2_char_t * dest, axis2_char_t * src) { AXIS2_PARAM_CHECK(env->error, dest, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, src, AXIS2_FAILURE); for (; *src != AXIS2_ESC_NULL; ++dest, ++src) { if (src[0] == AXIS2_PERCENT && isxdigit((int)src[1]) && isxdigit((int)src[2])) { *dest = (axis2_char_t)(axis2_http_transport_utils_hexit(src[1]) * 16 + axis2_http_transport_utils_hexit(src[2])); /* We are sure that the conversion is valid */ src += 2; } else { *dest = *src; } } *dest = AXIS2_ESC_NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axis2_http_transport_utils_hexit( axis2_char_t c) { if (c >= '0' && c <= '9') { return c - '0'; } if (c >= 'a' && c <= 'f') { return c - 'a' + 10; } if (c >= 'A' && c <= 'F') { return c - 'A' + 10; } return 0; /* shouldn't happen, we're guarded by isxdigit() */ } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_not_found( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_NOT_FOUND; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_not_implemented( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_NOT_IMPLEMENTED; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_internal_server_error( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_INTERNAL_SERVER_ERROR; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_method_not_allowed( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_METHOD_NOT_ALLOWED; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_not_acceptable( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_NOT_ACCEPTABLE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_bad_request( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_BAD_REQUEST; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_request_timeout( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_REQUEST_TIMEOUT; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_conflict( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_CONFLICT; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_gone( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_GONE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_precondition_failed( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_PRECONDITION_FAILED; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_request_entity_too_large( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_TOO_LARGE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_service_unavailable( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { return AXIS2_HTTP_SERVICE_UNAVILABLE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_services_html( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axutil_hash_t *services_map = NULL; axutil_hash_t *errorneous_svc_map = NULL; axis2_char_t *ret = NULL; axis2_char_t *tmp2 = (axis2_char_t *) "

Deployed Services

"; axutil_hash_index_t *hi = NULL; axis2_bool_t svcs_exists = AXIS2_FALSE; axis2_conf_t *conf = NULL; AXIS2_PARAM_CHECK(env->error, conf_ctx, NULL); conf = axis2_conf_ctx_get_conf(conf_ctx, env); services_map = axis2_conf_get_all_svcs(conf, env); errorneous_svc_map = axis2_conf_get_all_faulty_svcs(conf, env); if (services_map && 0 != axutil_hash_count(services_map)) { void *service = NULL; axis2_char_t *sname = NULL; axutil_hash_t *ops = NULL; svcs_exists = AXIS2_TRUE; for (hi = axutil_hash_first(services_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &service); sname = axutil_qname_get_localpart(axis2_svc_get_qname(((axis2_svc_t *) service), env), env); ret = axutil_stracat(env, tmp2, "

"); tmp2 = ret; ret = axutil_stracat(env, tmp2, sname); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; ret = axutil_stracat(env, tmp2, "

"); tmp2 = ret; ret = axutil_stracat(env, tmp2, "

"); tmp2 = ret; /** *setting services description */ ret = axutil_stracat(env, tmp2, axis2_svc_get_svc_desc((axis2_svc_t *) service, env)); tmp2 = ret; ret = axutil_stracat(env, tmp2, "

"); tmp2 = ret; ops = axis2_svc_get_all_ops(((axis2_svc_t *) service), env); if (ops && 0 != axutil_hash_count(ops)) { axutil_hash_index_t *hi2 = NULL; void *op = NULL; axis2_char_t *oname = NULL; ret = axutil_stracat(env, tmp2, "Available Operations
    "); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; for (hi2 = axutil_hash_first(ops, env); hi2; hi2 = axutil_hash_next(env, hi2)) { axutil_hash_this(hi2, NULL, NULL, &op); oname = axutil_qname_get_localpart( axis2_op_get_qname(((axis2_op_t *) op), env), env); ret = axutil_stracat(env, tmp2, "
  • "); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; ret = axutil_stracat(env, tmp2, oname); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; ret = axutil_stracat(env, tmp2, "
  • "); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; } ret = axutil_stracat(env, tmp2, "
"); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; } else { ret = axutil_stracat(env, tmp2, "No operations Available"); tmp2 = ret; } } } if (errorneous_svc_map && 0 != axutil_hash_count(errorneous_svc_map)) { void *fsname = NULL; svcs_exists = AXIS2_TRUE; ret = axutil_stracat(env, tmp2, "

Faulty \ Services

"); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; for (hi = axutil_hash_first(errorneous_svc_map, env); hi; axutil_hash_next(env, hi)) { axutil_hash_this(hi, (const void **) &fsname, NULL, NULL); ret = axutil_stracat(env, tmp2, "

"); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; ret = axutil_stracat(env, tmp2, (axis2_char_t *) fsname); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; ret = axutil_stracat(env, tmp2, "

"); AXIS2_FREE(env->allocator, tmp2); tmp2 = ret; } } if (AXIS2_FALSE == svcs_exists) { ret = axutil_strdup(env, "

There are no services deployed

"); } ret = axutil_stracat(env, "Axis2C :: Services" "", tmp2); tmp2 = ret; ret = axutil_stracat(env, tmp2, "\r\n"); return ret; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_services_static_wsdl( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_char_t * request_url) { axis2_char_t *wsdl_string = NULL; axis2_char_t *wsdl_path = NULL; axis2_char_t **url_tok = NULL; unsigned int len = 0; axis2_char_t *svc_name = NULL; axis2_conf_t *conf = NULL; axutil_hash_t *services_map = NULL; axutil_hash_index_t *hi = NULL; AXIS2_PARAM_CHECK(env->error, conf_ctx, NULL); AXIS2_PARAM_CHECK(env->error, request_url, NULL); url_tok = axutil_parse_request_url_for_svc_and_op(env, request_url); if (url_tok[0]) { len = (int)strlen(url_tok[0]); /* We are sure that the difference lies within the int range */ url_tok[0][len - 5] = 0; svc_name = url_tok[0]; } conf = axis2_conf_ctx_get_conf(conf_ctx, env); services_map = axis2_conf_get_all_svcs(conf, env); if (services_map && 0 != axutil_hash_count(services_map)) { void *service = NULL; axis2_char_t *sname = NULL; for (hi = axutil_hash_first(services_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &service); sname = axutil_qname_get_localpart(axis2_svc_get_qname(((axis2_svc_t *) service), env), env); if (!axutil_strcmp(svc_name, sname)) { wsdl_path = (axis2_char_t *) axutil_strdup(env, axis2_svc_get_svc_wsdl_path((axis2_svc_t *) service, env)); if (!wsdl_path) { wsdl_path = axutil_strcat(env, axis2_svc_get_svc_folder_path((axis2_svc_t *) service, env), AXIS2_PATH_SEP_STR, svc_name, ".wsdl", NULL); } break; } } } if (wsdl_path) { FILE *wsdl_file; axis2_char_t *content = NULL; int c; int size = AXIS2_FILE_READ_SIZE; axis2_char_t *tmp; int i = 0; content = (axis2_char_t *) AXIS2_MALLOC(env->allocator, size); wsdl_file = fopen(wsdl_path, "r"); if (wsdl_file) { c = fgetc(wsdl_file); while (c != EOF) { if (i >= size) { size = size * 3; tmp = (axis2_char_t *) AXIS2_MALLOC(env->allocator, size); memcpy(tmp, content, i); AXIS2_FREE(env->allocator, content); content = tmp; } content[i++] = (axis2_char_t)c; c = fgetc(wsdl_file); } content[i] = AXIS2_ESC_NULL; wsdl_string = (axis2_char_t *)content; } AXIS2_FREE(env->allocator, wsdl_path); } else { wsdl_string = axutil_strdup(env, "Unable to retrieve wsdl for this service"); } return wsdl_string; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_http_transport_utils_get_charset_enc( const axutil_env_t * env, const axis2_char_t * content_type) { axis2_char_t *tmp = NULL; axis2_char_t *tmp_content_type = NULL; axis2_char_t *tmp2 = NULL; axutil_string_t *str = NULL; AXIS2_PARAM_CHECK(env->error, content_type, NULL); tmp_content_type = (axis2_char_t *) content_type; if (!tmp_content_type) { return axutil_string_create_const(env, (axis2_char_t **) & AXIS2_TRANS_UTIL_DEFAULT_CHAR_ENCODING); } tmp = strstr(tmp_content_type, AXIS2_HTTP_CHAR_SET_ENCODING); if (tmp) { tmp = strchr(tmp, AXIS2_EQ); if (tmp) { tmp2 = strchr(tmp, AXIS2_SEMI_COLON); if (!tmp2) { tmp2 = tmp + strlen(tmp); } } if (tmp2) { if ('\'' == *(tmp2 - sizeof(axis2_char_t)) || '\"' == *(tmp2 - sizeof(axis2_char_t))) { tmp2 -= sizeof(axis2_char_t); } *tmp2 = AXIS2_ESC_NULL; } } if (tmp) { /* Following formats are acceptable * charset="UTF-8" * charser='UTF-8' * charset=UTF-8 * But for our requirements charset we get should be UTF-8 */ if (AXIS2_ESC_SINGLE_QUOTE == *(tmp + sizeof(axis2_char_t)) || AXIS2_ESC_DOUBLE_QUOTE == *(tmp + sizeof(axis2_char_t))) { tmp += 2 * sizeof(axis2_char_t); } else { tmp += sizeof(axis2_char_t); } } if (tmp) { str = axutil_string_create(env, tmp); } else { str = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_TRANS_UTIL_DEFAULT_CHAR_ENCODING); } return str; } int AXIS2_CALL axis2_http_transport_utils_on_data_request( char *buffer, int size, void *ctx) { const axutil_env_t *env = NULL; int len = -1; axis2_callback_info_t *cb_ctx = (axis2_callback_info_t *) ctx; if (!buffer || !ctx) { return 0; } env = ((axis2_callback_info_t *) ctx)->env; if (cb_ctx->unread_len <= 0 && -1 != cb_ctx->content_length) { return 0; } if (cb_ctx->chunked_stream) { --size; /* reserve space to insert trailing null */ len = axutil_http_chunked_stream_read(cb_ctx->chunked_stream, env, buffer, size); if (len >= 0) { buffer[len] = AXIS2_ESC_NULL; } } else { axutil_stream_t *in_stream = NULL; in_stream = (axutil_stream_t *) ((axis2_callback_info_t *) ctx)->in_stream; --size; /* reserve space to insert trailing null */ len = axutil_stream_read(in_stream, env, buffer, size); if (len > 0) { buffer[len] = AXIS2_ESC_NULL; ((axis2_callback_info_t *) ctx)->unread_len -= len; } else if(len == 0) { ((axis2_callback_info_t *) ctx)->unread_len = 0; } } return len; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_http_transport_utils_create_soap_msg( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, const axis2_char_t * soap_ns_uri) { axis2_op_ctx_t *op_ctx = NULL; const axis2_char_t *char_set_enc = NULL; axis2_char_t *content_type = NULL; axutil_stream_t *in_stream = NULL; axis2_callback_info_t *callback_ctx = NULL; axis2_char_t *trans_enc = NULL; int *content_length = NULL; axutil_property_t *property = NULL; axutil_hash_t *binary_data_map = NULL; axiom_soap_envelope_t *soap_envelope = NULL; axutil_stream_t *stream = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); AXIS2_PARAM_CHECK(env->error, soap_ns_uri, NULL); property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_TRANSPORT_IN); if (property) { in_stream = axutil_property_get_value(property, env); property = NULL; } callback_ctx = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_info_t)); /* Note: the memory created above is freed in xml reader free function as this is passed on to the reader */ if (!callback_ctx) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } callback_ctx->in_stream = in_stream; callback_ctx->env = env; callback_ctx->content_length = -1; callback_ctx->unread_len = -1; callback_ctx->chunked_stream = NULL; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH); if (property) { content_length = axutil_property_get_value(property, env); property = NULL; } if (content_length) { callback_ctx->content_length = *content_length; callback_ctx->unread_len = *content_length; } if (!in_stream) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX, AXIS2_FAILURE); AXIS2_FREE(env->allocator, callback_ctx); return NULL; } trans_enc = axis2_msg_ctx_get_transfer_encoding(msg_ctx, env); if (trans_enc && 0 == axutil_strcmp(trans_enc, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { callback_ctx->chunked_stream = axutil_http_chunked_stream_create(env, in_stream); if (!callback_ctx->chunked_stream) { return NULL; } } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_ctx_t *ctx = axis2_op_ctx_get_base(op_ctx, env); if (ctx) { property = axis2_ctx_get_property(ctx, env, AXIS2_CHARACTER_SET_ENCODING); if (property) { char_set_enc = axutil_property_get_value(property, env); property = NULL; } property = axis2_ctx_get_property(ctx, env, MTOM_RECIVED_CONTENT_TYPE); if (property) { content_type = axutil_property_get_value(property, env); property = NULL; } } } if (!char_set_enc) { char_set_enc = AXIS2_DEFAULT_CHAR_SET_ENCODING; } if (content_type) { axis2_char_t *mime_boundary = NULL; axis2_msg_ctx_set_doing_mtom(msg_ctx, env, AXIS2_TRUE); /* get mime boundry */ mime_boundary = axis2_http_transport_utils_get_value_from_content_type( env, content_type, AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY); if (mime_boundary) { axiom_mime_parser_t *mime_parser = NULL; int soap_body_len = 0; axis2_char_t *soap_body_str = NULL; axutil_param_t *buffer_size_param = NULL; axutil_param_t *max_buffers_param = NULL; axutil_param_t *attachment_dir_param = NULL; axutil_param_t *callback_name_param = NULL; axis2_char_t *value_size = NULL; axis2_char_t *value_num = NULL; axis2_char_t *value_dir = NULL; axis2_char_t *value_callback = NULL; int size = 0; int num = 0; mime_parser = axiom_mime_parser_create(env); /* Following are the parameters in the axis2.xml regarding MTOM */ buffer_size_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_BUFFER_SIZE); if (buffer_size_param) { value_size = (axis2_char_t *) axutil_param_get_value (buffer_size_param, env); if(value_size) { size = atoi(value_size); axiom_mime_parser_set_buffer_size(mime_parser, env, size); } } max_buffers_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_MAX_BUFFERS); if(max_buffers_param) { value_num = (axis2_char_t *) axutil_param_get_value (max_buffers_param, env); if(value_num) { num = atoi(value_num); axiom_mime_parser_set_max_buffers(mime_parser, env, num); } } callback_name_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_CACHING_CALLBACK); if(callback_name_param) { value_callback = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); if(value_callback) { axiom_mime_parser_set_caching_callback_name(mime_parser, env, value_callback); } } attachment_dir_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_ATTACHMENT_DIR); if(attachment_dir_param) { value_dir = (axis2_char_t *) axutil_param_get_value (attachment_dir_param, env); if(value_dir) { axiom_mime_parser_set_attachment_dir(mime_parser, env, value_dir); } } if (mime_parser) { if(axiom_mime_parser_parse_for_soap(mime_parser, env, axis2_http_transport_utils_on_data_request, (void *) callback_ctx, mime_boundary) == AXIS2_FAILURE) { return NULL; } binary_data_map = axiom_mime_parser_parse_for_attachments(mime_parser, env, axis2_http_transport_utils_on_data_request, (void *) callback_ctx, mime_boundary, NULL); if(!binary_data_map) { return NULL; } if(!binary_data_map) { return NULL; } soap_body_len = axiom_mime_parser_get_soap_body_len(mime_parser, env); soap_body_str = axiom_mime_parser_get_soap_body_str(mime_parser, env); } if(callback_ctx->chunked_stream) { axutil_http_chunked_stream_free(callback_ctx->chunked_stream, env); callback_ctx->chunked_stream = NULL; } stream = axutil_stream_create_basic(env); if (stream) { axutil_stream_write(stream, env, soap_body_str, soap_body_len); callback_ctx->in_stream = stream; callback_ctx->chunked_stream = NULL; callback_ctx->content_length = soap_body_len; callback_ctx->unread_len = soap_body_len; } axiom_mime_parser_free(mime_parser, env); mime_parser = NULL; if(mime_boundary) { AXIS2_FREE(env->allocator, mime_boundary); } if(soap_body_str) { AXIS2_FREE(env->allocator, soap_body_str); } } } if (AXIS2_TRUE != axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { axiom_xml_reader_t *xml_reader = NULL; axiom_stax_builder_t *om_builder = NULL; axiom_soap_builder_t *soap_builder = NULL; xml_reader = axiom_xml_reader_create_for_io(env, axis2_http_transport_utils_on_data_request, NULL, (void *) callback_ctx, char_set_enc); if (!xml_reader) { return NULL; } om_builder = axiom_stax_builder_create(env, xml_reader); if (!om_builder) { axiom_xml_reader_free(xml_reader, env); xml_reader = NULL; return NULL; } soap_builder = axiom_soap_builder_create(env, om_builder, soap_ns_uri); if (!soap_builder) { /* We should not be freeing om_builder here as it is done by axiom_soap_builder_create in case of error - Samisa */ om_builder = NULL; xml_reader = NULL; return NULL; } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (binary_data_map) { axiom_soap_builder_set_mime_body_parts(soap_builder, env, binary_data_map); } if (soap_envelope) { /* hack to get around MTOM problem */ axiom_soap_body_t *soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (soap_body) { axiom_soap_body_has_fault(soap_body, env); } } if(stream) { axutil_stream_free(stream, env); callback_ctx->in_stream = NULL; } if(callback_ctx->chunked_stream) { axutil_http_chunked_stream_free(callback_ctx->chunked_stream, env); callback_ctx->chunked_stream = NULL; } } else { /* REST processing */ axiom_xml_reader_t *xml_reader = NULL; axiom_stax_builder_t *om_builder = NULL; axiom_soap_body_t *def_body = NULL; axiom_document_t *om_doc = NULL; axiom_node_t *root_node = NULL; xml_reader = axiom_xml_reader_create_for_io(env, axis2_http_transport_utils_on_data_request, NULL, (void *) callback_ctx, char_set_enc); if (!xml_reader) { return NULL; } om_builder = axiom_stax_builder_create(env, xml_reader); if (!om_builder) { axiom_xml_reader_free(xml_reader, env); xml_reader = NULL; return NULL; } soap_envelope = axiom_soap_envelope_create_default_soap_envelope (env, AXIOM_SOAP11); def_body = axiom_soap_envelope_get_body(soap_envelope, env); om_doc = axiom_stax_builder_get_document(om_builder, env); root_node = axiom_document_build_all(om_doc, env); axiom_soap_body_add_child(def_body, env, root_node); axiom_stax_builder_free_self(om_builder, env); } return soap_envelope; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_value_from_content_type( const axutil_env_t * env, const axis2_char_t * content_type, const axis2_char_t * key) { axis2_char_t *tmp = NULL; axis2_char_t *tmp_content_type = NULL; axis2_char_t *tmp2 = NULL; AXIS2_PARAM_CHECK(env->error, content_type, NULL); AXIS2_PARAM_CHECK(env->error, key, NULL); tmp_content_type = axutil_strdup(env, content_type); if (!tmp_content_type) { return NULL; } tmp = strstr(tmp_content_type, key); if (!tmp) { AXIS2_FREE(env->allocator, tmp_content_type); return NULL; } tmp = strchr(tmp, AXIS2_EQ); tmp2 = strchr(tmp, AXIS2_SEMI_COLON); if (tmp2) { *tmp2 = AXIS2_ESC_NULL; } if (!tmp) { AXIS2_FREE(env->allocator, tmp_content_type); return NULL; } tmp2 = axutil_strdup(env, tmp + 1); AXIS2_FREE(env->allocator, tmp_content_type); if (*tmp2 == AXIS2_DOUBLE_QUOTE) { tmp = tmp2; tmp2 = axutil_strdup(env, tmp + 1); tmp2[strlen(tmp2) - 1] = AXIS2_ESC_NULL; if(tmp) { AXIS2_FREE(env->allocator, tmp); tmp = NULL; } } /* handle XOP */ if(*tmp2 == AXIS2_B_SLASH && *(tmp2 + 1) == '\"') { tmp = tmp2; tmp2 = axutil_strdup(env, tmp + 2); tmp2[strlen(tmp2) - 3] = AXIS2_ESC_NULL; if(tmp) { AXIS2_FREE(env->allocator, tmp); tmp = NULL; } } return tmp2; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_http_transport_utils_handle_media_type_url_encoded( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_hash_t * param_map, axis2_char_t * method) { axiom_soap_envelope_t *soap_env = NULL; axiom_soap_body_t *soap_body = NULL; axiom_element_t *body_child = NULL; axiom_node_t *body_child_node = NULL; axiom_node_t *body_element_node = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); AXIS2_PARAM_CHECK(env->error, method, NULL); soap_env = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (!soap_env) { soap_env = axiom_soap_envelope_create_default_soap_envelope(env, AXIOM_SOAP11); } soap_body = axiom_soap_envelope_get_body(soap_env, env); if (!soap_body) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, AXIS2_FAILURE); return NULL; } body_element_node = axiom_soap_body_get_base_node(soap_body, env); if (body_element_node) { body_child_node = axiom_node_get_first_child(body_element_node, env); } if (!body_child_node) { if (!axis2_msg_ctx_get_op(msg_ctx, env)) { return NULL; } body_child = axiom_element_create_with_qname(env, NULL, axis2_op_get_qname (axis2_msg_ctx_get_op (msg_ctx, env), env), &body_child_node); axiom_soap_body_add_child(soap_body, env, body_child_node); } if (param_map) { axutil_hash_index_t *hi = NULL; for (hi = axutil_hash_first(param_map, env); hi; hi = axutil_hash_next(env, hi)) { void *name = NULL; void *value = NULL; axiom_node_t *node = NULL; axiom_element_t *element = NULL; axutil_hash_this(hi, (const void **) &name, NULL, (void **) &value); element = axiom_element_create(env, NULL, (axis2_char_t *) name, NULL, &node); axiom_element_set_text(element, env, (axis2_char_t *) value, node); axiom_node_add_child(body_child_node, env, node); } } return soap_env; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_dispatch_and_verify( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_disp_t *rest_disp = NULL; axis2_handler_t *handler = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { rest_disp = axis2_rest_disp_create(env); handler = axis2_disp_get_base(rest_disp, env); axis2_handler_invoke(handler, env, msg_ctx); if (!axis2_msg_ctx_get_svc(msg_ctx, env) || !axis2_msg_ctx_get_op(msg_ctx, env)) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SVC_OR_OP_NOT_FOUND, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_transport_utils_process_accept_headers( const axutil_env_t *env, axis2_char_t *accept_value ) { axutil_array_list_t *accept_field_list = NULL; axutil_array_list_t *accept_record_list = NULL; accept_field_list = axutil_tokenize(env, accept_value, ','); if (accept_field_list && axutil_array_list_size(accept_field_list, env) > 0) { axis2_char_t *token = NULL; accept_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_field_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *)axutil_array_list_remove(accept_field_list, env, 0); } while(token); } if (accept_record_list && axutil_array_list_size(accept_record_list, env) > 0) { return accept_record_list; } return NULL; } int axis2_http_transport_utils_check_status_code(int status_code) { int status = AXIS2_HTTP_RESPONSE_OK_CODE_VAL; switch (status_code) { case AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL: status = AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_ACK_CODE_VAL: status = AXIS2_HTTP_RESPONSE_ACK_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL: status = AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL: status = AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL: status = AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: status = AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL: status = AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL: status = AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL: status = AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL: status = AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_GONE_CODE_VAL: status = AXIS2_HTTP_RESPONSE_GONE_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL: status = AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL: status = AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL: status = AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL; break; } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_request( const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx, axis2_http_transport_in_t *request, axis2_http_transport_out_t *response) { axis2_status_t status = AXIS2_FAILURE; axis2_msg_ctx_t *msg_ctx = NULL; axutil_stream_t *out_stream = NULL; axutil_string_t *soap_action = NULL; axis2_bool_t processed = AXIS2_FALSE; axis2_char_t *body_string = NULL; axis2_char_t *ctx_uuid = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_char_t *peer_ip = NULL; axutil_property_t *peer_property = NULL; axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); AXIS2_PARAM_CHECK(env->error, request, AXIS2_CRITICAL_FAILURE); AXIS2_PARAM_CHECK(env->error, request->request_uri, AXIS2_FALSE); if (!conf_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT, AXIS2_FAILURE); return AXIS2_CRITICAL_FAILURE; } if (!request->content_type) { request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN; } /** creating the out stream */ out_stream = axutil_stream_create_basic(env); if(request->transfer_encoding) axis2_msg_ctx_set_transfer_encoding(request->msg_ctx, env, request->transfer_encoding); axis2_msg_ctx_set_server_side(request->msg_ctx , env, AXIS2_TRUE); msg_ctx = request->msg_ctx; peer_ip = request->remote_ip; if (peer_ip) { peer_property = axutil_property_create(env); axutil_property_set_value(peer_property, env, axutil_strdup(env, peer_ip)); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_SVR_PEER_IP_ADDR, peer_property); } axis2_msg_ctx_set_transport_out_stream(msg_ctx, env, out_stream); ctx_uuid = axutil_uuid_gen(env); if (ctx_uuid) { axutil_string_t *uuid_str = axutil_string_create_assume_ownership(env, &ctx_uuid); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, uuid_str); axutil_string_free(uuid_str, env); } axis2_msg_ctx_set_out_transport_info(msg_ctx, env, &(request->out_transport_info->out_transport)); if (request->accept_header) { axutil_array_list_t *accept_record_list = NULL; accept_record_list = axis2_http_transport_utils_process_accept_headers(env, request->accept_header); if (accept_record_list && axutil_array_list_size(accept_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_record_list(msg_ctx, env, accept_record_list); } } if(request->accept_charset_header) { axutil_array_list_t *accept_charset_record_list = NULL; accept_charset_record_list = axis2_http_transport_utils_process_accept_headers(env, request->accept_charset_header); if(accept_charset_record_list) { axis2_msg_ctx_set_http_accept_charset_record_list(msg_ctx, env, accept_charset_record_list); } } if(request->accept_language_header) { axutil_array_list_t *accept_language_record_list = NULL; accept_language_record_list = axis2_http_transport_utils_process_accept_headers(env, request->accept_language_header); if(accept_language_record_list) { axis2_msg_ctx_set_http_accept_language_record_list(msg_ctx, env, accept_language_record_list); } } if(request->soap_action) { soap_action = axutil_string_create(env, request->soap_action); } if (request->request_method == AXIS2_HTTP_METHOD_GET || request->request_method == AXIS2_HTTP_METHOD_DELETE || request->request_method == AXIS2_HTTP_METHOD_HEAD) { if (request->request_method == AXIS2_HTTP_METHOD_DELETE) { processed = axis2_http_transport_utils_process_http_delete_request (env, request->msg_ctx, request->in_stream, out_stream, request->content_type, soap_action, request->request_uri, conf_ctx, axis2_http_transport_utils_get_request_params(env, request->request_uri)); } else if (request->request_method == AXIS2_HTTP_METHOD_HEAD) { processed = axis2_http_transport_utils_process_http_head_request (env, request->msg_ctx, request->in_stream, out_stream, request->content_type, soap_action, request->request_uri, conf_ctx, axis2_http_transport_utils_get_request_params(env, request->request_uri)); } else if(request->request_method == AXIS2_HTTP_METHOD_GET) { processed = axis2_http_transport_utils_process_http_get_request (env, request->msg_ctx, request->in_stream, out_stream, request->content_type, soap_action, request->request_uri , conf_ctx, axis2_http_transport_utils_get_request_params(env, request->request_uri)); } if (AXIS2_FALSE == processed) { axis2_bool_t is_services_path = AXIS2_FALSE; int msg_ctx_status_code = axis2_msg_ctx_get_status_code(msg_ctx, env); if (request->request_method != AXIS2_HTTP_METHOD_DELETE && request->request_url_prefix) { axis2_char_t *temp = NULL; temp = strstr(request->request_uri, request->request_url_prefix); if (temp) { temp += strlen(request->request_url_prefix); if (*temp == '/') { temp++; } if (!*temp || *temp == '?' || *temp == '#') { is_services_path = AXIS2_TRUE; } } } if (is_services_path) { body_string = axis2_http_transport_utils_get_services_html(env, conf_ctx); response->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; response->http_status_code = AXIS2_HTTP_RESPONSE_OK_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_OK_CODE_NAME; } else if (AXIS2_HTTP_METHOD_DELETE != request->request_method) { axis2_char_t *wsdl = NULL; wsdl = strstr(request->request_uri, AXIS2_REQUEST_WSDL); if(wsdl) { body_string = axis2_http_transport_utils_get_services_static_wsdl(env, conf_ctx, request->request_uri); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML; response->http_status_code = AXIS2_HTTP_RESPONSE_OK_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_OK_CODE_NAME; } } else if (env->error->error_number == AXIS2_ERROR_SVC_OR_OP_NOT_FOUND) { axutil_array_list_t *method_list = NULL; int size = 0; method_list = axis2_msg_ctx_get_supported_rest_http_methods(msg_ctx, env); size = axutil_array_list_size(method_list, env); if (method_list && size) { /** 405 */ body_string = axis2_http_transport_utils_get_method_not_allowed(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME; }else { /** 404 */ body_string = axis2_http_transport_utils_get_not_found(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME; } } else if (msg_ctx_status_code == AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL) { /* 400, Bad Request */ body_string = axis2_http_transport_utils_get_bad_request(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME; } else if (msg_ctx_status_code == AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL) { /* 408, Request Timeout */ body_string = axis2_http_transport_utils_get_request_timeout(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME; } else if (msg_ctx_status_code == AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL) { /* 409, Conflict Types */ body_string = axis2_http_transport_utils_get_conflict(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME; } else if(msg_ctx_status_code == AXIS2_HTTP_RESPONSE_GONE_CODE_VAL) { /* 410, Gone. Resource no longer available */ body_string = axis2_http_transport_utils_get_gone(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_GONE_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_GONE_CODE_NAME; } else if(msg_ctx_status_code == AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL) { /*410, Precondition for the url failed */ body_string = axis2_http_transport_utils_get_precondition_failed(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME; } else if(msg_ctx_status_code == AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL) { /* 413, Request entity too large */ body_string = axis2_http_transport_utils_get_request_entity_too_large(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME; } else if(msg_ctx_status_code == AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL) { /* 513, Service Unavailable */ body_string = axis2_http_transport_utils_get_service_unavailable(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME; } else { /* 500, Internal Server Error */ body_string = axis2_http_transport_utils_get_internal_server_error(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME; } if (body_string) { response->response_data = body_string; response->response_data_length = axutil_strlen(body_string); } status = AXIS2_SUCCESS; } } else if (AXIS2_HTTP_METHOD_POST == request->request_method || AXIS2_HTTP_METHOD_PUT == request->request_method) { if (AXIS2_HTTP_METHOD_POST == request->request_method) { processed = axis2_http_transport_utils_process_http_post_request (env, request->msg_ctx, request->in_stream, out_stream, request->content_type, request->content_length, soap_action, request->request_uri); } else { processed = axis2_http_transport_utils_process_http_put_request (env, request->msg_ctx, request->in_stream, out_stream, request->content_type, request->content_length, soap_action, request->request_uri); } if (AXIS2_FAILURE == processed && (AXIS2_HTTP_METHOD_PUT == request->request_method || axis2_msg_ctx_get_doing_rest(msg_ctx, env))) { if (env->error->error_number == AXIS2_ERROR_SVC_OR_OP_NOT_FOUND) { axutil_array_list_t *method_list = NULL; int size = 0; method_list = axis2_msg_ctx_get_supported_rest_http_methods(msg_ctx, env); size = axutil_array_list_size(method_list, env); if (method_list && size) { /** 405 */ body_string = axis2_http_transport_utils_get_method_not_allowed(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME; } else { /** 404 */ body_string = axis2_http_transport_utils_get_not_found(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME; } request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; } else { /* 500, Internal Server Error */ body_string = axis2_http_transport_utils_get_internal_server_error(env, conf_ctx); response->http_status_code = AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME; } if (body_string) { response->response_data = body_string; response->response_data_length = axutil_strlen(body_string); } status = AXIS2_SUCCESS; } else if (processed == AXIS2_FAILURE) { axis2_msg_ctx_t *fault_ctx = NULL; axis2_char_t *fault_code = NULL; axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); if (!engine) { /* Critical error, cannot proceed, send defaults document for 500 */ return AXIS2_CRITICAL_FAILURE; } if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP11_FAULT_CODE_SENDER; } else { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP12_SOAP_FAULT_VALUE_SENDER; } fault_ctx = axis2_engine_create_fault_msg_ctx(engine, env, request->msg_ctx, fault_code, axutil_error_get_message(env->error)); axis2_engine_send_fault(engine, env, fault_ctx); if (out_stream) { response->response_data = axutil_stream_get_buffer(out_stream, env); response->response_data_length = axutil_stream_get_len (out_stream, env); } /* In case of a SOAP Fault, we have to set the status to 500, but still return */ status = AXIS2_SUCCESS; response->http_status_code = AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME; } } else { response->response_data = axis2_http_transport_utils_get_not_implemented(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (response->response_data) { response->response_data_length = axutil_strlen(response->response_data); } response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME; status = AXIS2_SUCCESS; } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; response->msg_ctx = out_msg_ctx; } if (status == AXIS2_FAILURE) { axis2_bool_t do_rest = AXIS2_FALSE; if (AXIS2_HTTP_METHOD_POST != request->request_method || axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { do_rest = AXIS2_TRUE; } if ((request->accept_header || request->accept_charset_header || request->accept_language_header) && do_rest) { axis2_char_t *content_type_header_value = NULL; axis2_char_t *temp = NULL; axis2_char_t *language_header_value = NULL; content_type_header_value = (axis2_char_t *) request->content_type; language_header_value = axis2_msg_ctx_get_content_language(out_msg_ctx,env); if (content_type_header_value) { temp = axutil_strdup(env, content_type_header_value); } if (temp) { axis2_char_t *content_type = NULL; axis2_char_t *char_set = NULL; axis2_char_t *temp2 = NULL; temp2 = strchr(temp, ';'); if (temp2) { *temp2 = '\0'; temp2++; char_set = axutil_strcasestr(temp2, AXIS2_HTTP_CHAR_SET_ENCODING); } if (char_set) { char_set = axutil_strltrim(env, char_set, " \t="); } if (char_set) { temp2 = strchr(char_set, ';'); } if (temp2) { *temp2 = '\0'; } content_type = axutil_strtrim(env, temp, NULL); if (temp) { AXIS2_FREE(env->allocator, temp); temp = NULL; } if (content_type && request->accept_header && !axutil_strcasestr(request->accept_header, content_type)) { temp2 = strchr(content_type, '/'); if (temp2) { *temp2 = '\0'; temp = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ((int)strlen(content_type) + 3)); if (!temp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FALSE; } sprintf(temp, "%s/*", content_type); if (!axutil_strcasestr(request->accept_header, temp) && !strstr(request->accept_header, AXIS2_HTTP_HEADER_ACCEPT_ALL)) { response->response_data = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); response->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (response->response_data) { response->response_data_length = axutil_strlen(response->response_data); } response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME; status = AXIS2_TRUE; } AXIS2_FREE(env->allocator, temp); } } if (content_type) { AXIS2_FREE(env->allocator, content_type); } if (char_set && request->accept_charset_header && !axutil_strcasestr(request->accept_charset_header , char_set)) { response->response_data = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); response->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (response->response_data) { response->response_data_length= axutil_strlen(response->response_data); } status = AXIS2_SUCCESS; response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME; } if (char_set) { AXIS2_FREE(env->allocator, char_set); } } if (language_header_value) { if (request->accept_language_header && !axutil_strcasestr(request->accept_language_header , language_header_value)) { response->response_data = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); response->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (response->response_data) { response->response_data_length = axutil_strlen(response->response_data); } response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME; } } } } if (status == AXIS2_FAILURE) { axis2_bool_t do_rest = AXIS2_FALSE; if (AXIS2_HTTP_METHOD_POST != request->request_method || axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { do_rest = AXIS2_TRUE; } if (op_ctx && axis2_op_ctx_get_response_written(op_ctx, env)) { if (do_rest) { if (out_msg_ctx) { int size = 0; axutil_array_list_t *output_header_list = NULL; output_header_list = axis2_msg_ctx_get_http_output_headers(out_msg_ctx, env); if (output_header_list) { size = axutil_array_list_size(output_header_list, env); response->output_headers = output_header_list; } if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); response->http_status_code = axis2_http_transport_utils_check_status_code(status_code); status = AXIS2_SUCCESS; } } } if (status == AXIS2_FAILURE) { status = AXIS2_SUCCESS; if (out_stream) { response->response_data = axutil_stream_get_buffer(out_stream, env); response->response_data_length = axutil_stream_get_len(out_stream, env); response->http_status_code = AXIS2_HTTP_RESPONSE_OK_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_OK_CODE_NAME; } } } else if (op_ctx) { if (do_rest) { if (out_msg_ctx) { int size = 0; axutil_array_list_t *output_header_list = NULL; output_header_list = axis2_msg_ctx_get_http_output_headers(out_msg_ctx, env); if (output_header_list) { size = axutil_array_list_size(output_header_list, env); response->output_headers = output_header_list; } if (axis2_msg_ctx_get_no_content(out_msg_ctx, env)) { if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); switch (status_code) { case AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL: response->http_status_code = AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: response->http_status_code = AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL; break; default: response->http_status_code = AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL; break; } } else { response->http_status_code = AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL; } status = AXIS2_SUCCESS; } else if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); response->http_status_code = axis2_http_transport_utils_check_status_code(status_code); status = AXIS2_SUCCESS; } } } if (status == AXIS2_FAILURE) { response->http_status_code = AXIS2_HTTP_RESPONSE_ACK_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_ACK_CODE_NAME; status = AXIS2_SUCCESS; } } else { status = AXIS2_SUCCESS; response->http_status_code = AXIS2_HTTP_RESPONSE_ACK_CODE_VAL; response->http_status_code_name = AXIS2_HTTP_RESPONSE_ACK_CODE_NAME; } } axutil_string_free(soap_action, env); msg_ctx = NULL; return status; } /* This method takes an array_list as the input. It has items some may be buffers and some may be files. This will send these part one by one to the wire using the chunked stream.*/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_send_mtom_message( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env, axutil_array_list_t *mime_parts, axis2_char_t *sending_callback_name) { int i = 0; axiom_mime_part_t *mime_part = NULL; axis2_status_t status = AXIS2_SUCCESS; int written = 0; int len = 0; if(mime_parts) { for(i = 0; i < axutil_array_list_size (mime_parts, env); i++) { mime_part = (axiom_mime_part_t *)axutil_array_list_get( mime_parts, env, i); /* If it is a buffer just write it to the wire. This includes mime_bounadaries, * mime_headers and SOAP */ if((mime_part->type) == AXIOM_MIME_PART_BUFFER) { written = 0; while(written < mime_part->part_size) { len = 0; len = axutil_http_chunked_stream_write(chunked_stream, env, mime_part->part + written, mime_part->part_size - written); if (len == -1) { status = AXIS2_FAILURE; break; } else { written += len; } } } /* If it is a file we load a very little portion to memory * and send it as chunked , we keep on doing this until we find * the end of the file */ else if((mime_part->type) == AXIOM_MIME_PART_FILE) { FILE *f = NULL; axis2_byte_t *output_buffer = NULL; int output_buffer_size = 0; f = fopen(mime_part->file_name, "rb"); if (!f) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error opening file %s for reading", mime_part->file_name); return AXIS2_FAILURE; } /*If the part_size is less than the defined buffer size then *from the first write to the wire we can send the file */ if(mime_part->part_size > AXIS2_MTOM_OUTPUT_BUFFER_SIZE) { output_buffer_size = AXIS2_MTOM_OUTPUT_BUFFER_SIZE; } else { output_buffer_size = mime_part->part_size; } output_buffer = AXIS2_MALLOC(env->allocator, (output_buffer_size + 1) * sizeof(axis2_char_t)); /*This is the method responsible for writing to the wire */ status = axis2_http_transport_utils_send_attachment_using_file(env, chunked_stream, f, output_buffer, output_buffer_size); if(status == AXIS2_FAILURE) { return status; } } else if((mime_part->type) == AXIOM_MIME_PART_CALLBACK) { void *handler = NULL; axiom_mtom_sending_callback_t *callback = NULL; handler = axis2_http_transport_utils_initiate_callback(env, sending_callback_name, mime_part->user_param, &callback); if(handler) { status = axis2_http_transport_utils_send_attachment_using_callback(env, chunked_stream, callback, handler, mime_part->user_param); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "MTOM Sending Callback loading failed"); status = AXIS2_FAILURE; } if(callback) { axutil_param_t *param = NULL; param = callback->param; AXIOM_MTOM_SENDING_CALLBACK_FREE(callback, env); callback = NULL; if(param) { axutil_param_free(param, env); param = NULL; } } if(status == AXIS2_FAILURE) { return status; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unknown mime_part."); return AXIS2_FAILURE; } if(status == AXIS2_FAILURE) { break; } } if(status == AXIS2_SUCCESS) { /* send the end of chunk */ axutil_http_chunked_stream_write_last_chunk(chunked_stream, env); return AXIS2_SUCCESS; } else { return status; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot send the attachment.Mime" "Parts are not set properly."); return AXIS2_FAILURE; } } static axis2_status_t axis2_http_transport_utils_send_attachment_using_file( const axutil_env_t * env, axutil_http_chunked_stream_t *chunked_stream, FILE *fp, axis2_byte_t *buffer, int buffer_size) { int count = 0; int len = 0; int written = 0; axis2_status_t status = AXIS2_SUCCESS; /*We do not load the whole file to memory. Just load a buffer_size portion *and send it. Keep on doing this until the end of file */ do { count = (int)fread(buffer, 1, buffer_size + 1, fp); if (ferror(fp)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in reading file containg the attachment"); if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_FAILURE; } /*Writing the part we loaded to memory to the wire*/ if(count > 0) { written = 0; while(written < count) { len = 0; len = axutil_http_chunked_stream_write(chunked_stream, env, buffer + written, count - written); if (len == -1) { status = AXIS2_FAILURE; break; } else { written += len; } } } else { if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_FAILURE; } /*We keep on loading the next part to the same buffer. So need to reset * te buffer */ memset(buffer, 0, buffer_size); if(status == AXIS2_FAILURE) { if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_FAILURE; } } while(!feof(fp)); if(buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_http_transport_utils_destroy_mime_parts( axutil_array_list_t *mime_parts, const axutil_env_t *env) { if (mime_parts) { int i = 0; for (i = 0; i < axutil_array_list_size(mime_parts, env); i++) { axiom_mime_part_t *mime_part = NULL; mime_part = (axiom_mime_part_t *) axutil_array_list_get(mime_parts, env, i); if (mime_part) { axiom_mime_part_free(mime_part, env); } } axutil_array_list_free(mime_parts, env); } } AXIS2_EXTERN void *AXIS2_CALL axis2_http_transport_utils_initiate_callback( const axutil_env_t *env, axis2_char_t *callback_name, void *user_param, axiom_mtom_sending_callback_t **callback) { axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; void *ptr = NULL; if(callback_name) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Trying to load module = %s", callback_name); dll_desc = axutil_dll_desc_create(env); axutil_dll_desc_set_name(dll_desc, env, callback_name); impl_info_param = axutil_param_create(env, NULL, dll_desc); /*Set the free function*/ axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); axutil_class_loader_init(env); ptr = axutil_class_loader_create_dll(env, impl_info_param); if (!ptr) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to load the module %s. ERROR", callback_name); return NULL; } *callback = (axiom_mtom_sending_callback_t *)ptr; (*callback)->param = impl_info_param; return AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLER(*callback, env, user_param); } else { return NULL; } } static axis2_status_t axis2_http_transport_utils_send_attachment_using_callback( const axutil_env_t * env, axutil_http_chunked_stream_t *chunked_stream, axiom_mtom_sending_callback_t *callback, void *handler, void *user_param) { int count = 0; int len = 0; int written = 0; axis2_status_t status = AXIS2_SUCCESS; axis2_char_t *buffer = NULL; /* Keep on loading the data in a loop until * all the data is sent */ while((count = AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(callback, env, handler, &buffer)) > 0) { written = 0; while(written < count) { len = 0; len = axutil_http_chunked_stream_write(chunked_stream, env, buffer + written, count - written); if(len == -1) { status = AXIS2_FAILURE; break; } else { written += len; } } } if (status == AXIS2_FAILURE) { AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(callback, env, handler); return status; } status = AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(callback, env, handler); return status; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_is_callback_required( const axutil_env_t *env, axutil_array_list_t *mime_parts) { int size = 0; int i = 0; axiom_mime_part_t *mime_part = NULL; axis2_bool_t is_required = AXIS2_FALSE; size = axutil_array_list_size(mime_parts, env); for(i = 0; i < size; i++) { mime_part = (axiom_mime_part_t *)axutil_array_list_get(mime_parts, env, i); if(mime_part) { if(mime_part->type == AXIOM_MIME_PART_CALLBACK) { is_required = AXIS2_TRUE; break; } } } return is_required; } axis2c-src-1.6.0/src/core/transport/http/util/Makefile.am0000644000175000017500000000074111166304467024411 0ustar00manjulamanjula00000000000000NSUBDIRS = noinst_LTLIBRARIES = libaxis2_http_util.la libaxis2_http_util_la_SOURCES = http_transport_utils.c libaxis2_http_util_la_LIBADD=$(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/${WRAPPER_DIR}/libaxis2_parser.la\ $(top_builddir)/axiom/src/om/libaxis2_axiom.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/http/util/Makefile.in0000644000175000017500000003375611172017204024421 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_http_util_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/${WRAPPER_DIR}/libaxis2_parser.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la am_libaxis2_http_util_la_OBJECTS = http_transport_utils.lo libaxis2_http_util_la_OBJECTS = $(am_libaxis2_http_util_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_http_util_la_SOURCES) DIST_SOURCES = $(libaxis2_http_util_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ NSUBDIRS = noinst_LTLIBRARIES = libaxis2_http_util.la libaxis2_http_util_la_SOURCES = http_transport_utils.c libaxis2_http_util_la_LIBADD = $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/${WRAPPER_DIR}/libaxis2_parser.la\ $(top_builddir)/axiom/src/om/libaxis2_axiom.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_http_util.la: $(libaxis2_http_util_la_OBJECTS) $(libaxis2_http_util_la_DEPENDENCIES) $(LINK) $(libaxis2_http_util_la_OBJECTS) $(libaxis2_http_util_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_transport_utils.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/common/0000777000175000017500000000000011172017537022666 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/common/http_status_line.c0000644000175000017500000001527411166304467026434 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include struct axis2_http_status_line { axis2_char_t *line; axis2_char_t *http_version; axis2_char_t *status_code; axis2_char_t *reason_phrase; }; AXIS2_EXTERN axis2_http_status_line_t *AXIS2_CALL axis2_http_status_line_create( const axutil_env_t * env, const axis2_char_t * str) { axis2_char_t *tmp_status_line = NULL; axis2_char_t *reason_phrase = NULL; axis2_char_t *status_code = NULL; axis2_char_t *http_version = NULL; int i = 0; axis2_char_t *tmp = NULL; axis2_http_status_line_t *status_line = NULL; status_line = (axis2_http_status_line_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_status_line_t)); if (!status_line) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)status_line, 0, sizeof (axis2_http_status_line_t)); status_line->line = (axis2_char_t *) axutil_strdup(env, str); status_line->http_version = NULL; status_line->reason_phrase = NULL; status_line->status_code = NULL; tmp = strstr(str, AXIS2_HTTP_CRLF); if (!tmp) { axis2_http_status_line_free((axis2_http_status_line_t *) status_line, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } i = (int)(tmp - str); /* We are sure that the difference lies within the int range */ tmp_status_line = AXIS2_MALLOC(env->allocator, i * sizeof(axis2_char_t) + 1); if (!tmp_status_line) { axis2_http_status_line_free((axis2_http_status_line_t *) status_line, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memcpy(tmp_status_line, str, i * sizeof(axis2_char_t)); tmp_status_line[i] = AXIS2_ESC_NULL; tmp = tmp_status_line; http_version = tmp; tmp = strchr(tmp, AXIS2_SPACE); if (!tmp) { AXIS2_FREE(env->allocator, tmp_status_line); axis2_http_status_line_free((axis2_http_status_line_t *) status_line, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } *tmp++ = AXIS2_ESC_NULL; status_code = tmp; tmp = strchr(tmp, AXIS2_SPACE); if (!tmp) { AXIS2_FREE(env->allocator, tmp_status_line); axis2_http_status_line_free((axis2_http_status_line_t *) status_line, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } *tmp++ = AXIS2_ESC_NULL; reason_phrase = tmp; status_line->http_version = (axis2_char_t *) axutil_strdup(env, http_version); status_line->status_code = (axis2_char_t *) axutil_strdup(env, status_code); status_line->reason_phrase = (axis2_char_t *) axutil_strdup(env, reason_phrase); if (!status_line->http_version || !status_line->reason_phrase) { AXIS2_FREE(env->allocator, tmp_status_line); axis2_http_status_line_free((axis2_http_status_line_t *) status_line, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } AXIS2_FREE(env->allocator, tmp_status_line); return status_line; } AXIS2_EXTERN void AXIS2_CALL axis2_http_status_line_free( axis2_http_status_line_t * status_line, const axutil_env_t * env) { if (!status_line) { return; } if (status_line->line) { AXIS2_FREE(env->allocator, status_line->line); } if (status_line->http_version) { AXIS2_FREE(env->allocator, status_line->http_version); } if (status_line->status_code) { AXIS2_FREE(env->allocator, status_line->status_code); } if (status_line->reason_phrase) { AXIS2_FREE(env->allocator, status_line->reason_phrase); } AXIS2_FREE(env->allocator, status_line); return; } AXIS2_EXTERN int AXIS2_CALL axis2_http_status_line_get_status_code( const axis2_http_status_line_t * status_line, const axutil_env_t * env) { if (status_line->status_code) { return AXIS2_ATOI(status_line->status_code); } else { return AXIS2_CRITICAL_FAILURE; } } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_status_line_get_http_version( const axis2_http_status_line_t * status_line, const axutil_env_t * env) { return status_line->http_version; } AXIS2_EXTERN void AXIS2_CALL axis2_http_status_line_set_http_version( axis2_http_status_line_t * status_line, const axutil_env_t * env, axis2_char_t *http_version) { if(status_line->http_version) { AXIS2_FREE(env->allocator, status_line->http_version); status_line->http_version = NULL; } status_line->http_version = (axis2_char_t *) axutil_strdup(env, http_version); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_status_line_get_reason_phrase( const axis2_http_status_line_t * status_line, const axutil_env_t * env) { return status_line->reason_phrase; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_status_line_starts_with_http( axis2_http_status_line_t * status_line, const axutil_env_t * env) { if (0 == axutil_strncasecmp(status_line->line, AXIS2_HTTP, 4)) { return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_status_line_to_string( axis2_http_status_line_t * status_line, const axutil_env_t * env) { return status_line->line; } axis2c-src-1.6.0/src/core/transport/http/common/http_out_transport_info.c0000644000175000017500000002343111166304467030032 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #define AXIS2_INTF_TO_IMPL(out_transport_info) \ ((axis2_http_out_transport_info_t *) \ (out_transport_info)) axis2_status_t AXIS2_CALL axis2_out_transport_info_impl_set_content_type( axis2_out_transport_info_t * out_transport_info, const axutil_env_t * env, const axis2_char_t * content_type) { axis2_http_out_transport_info_t *http_transport_info = NULL; http_transport_info = AXIS2_INTF_TO_IMPL(out_transport_info); return axis2_http_out_transport_info_set_content_type(http_transport_info, env, content_type); } axis2_status_t AXIS2_CALL axis2_out_transport_info_impl_set_char_encoding( axis2_out_transport_info_t * out_transport_info, const axutil_env_t * env, const axis2_char_t * encoding) { axis2_http_out_transport_info_t *http_transport_info = NULL; http_transport_info = AXIS2_INTF_TO_IMPL(out_transport_info); return axis2_http_out_transport_info_set_char_encoding(http_transport_info, env, encoding); } void AXIS2_CALL axis2_out_transport_info_impl_free( axis2_out_transport_info_t * out_transport_info, const axutil_env_t * env) { axis2_http_out_transport_info_t *http_transport_info = NULL; http_transport_info = AXIS2_INTF_TO_IMPL(out_transport_info); axis2_http_out_transport_info_free(http_transport_info, env); return; } static const axis2_out_transport_info_ops_t ops_var = { axis2_out_transport_info_impl_set_content_type, axis2_out_transport_info_impl_set_char_encoding, axis2_out_transport_info_impl_free }; AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_out_transport_info_impl_set_content_type( axis2_http_out_transport_info_t * http_out_transport_info, const axutil_env_t * env, const axis2_char_t * content_type) { axis2_char_t *tmp1 = NULL; axis2_char_t *tmp2 = NULL; AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE); if (http_out_transport_info->encoding) { axis2_char_t *charset_pos = axutil_strcasestr(content_type, AXIS2_CHARSET); if (!charset_pos) { /* if "charset" not found in content_type string */ tmp1 = axutil_stracat(env, content_type, AXIS2_CONTENT_TYPE_CHARSET); tmp2 = axutil_stracat(env, tmp1, http_out_transport_info->encoding); axis2_http_simple_response_set_header(http_out_transport_info-> response, env, axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONTENT_TYPE, tmp2)); AXIS2_FREE(env->allocator, tmp1); AXIS2_FREE(env->allocator, tmp2); } else { /* "charset" is found in content_type string */ axis2_http_simple_response_set_header(http_out_transport_info-> response, env, axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONTENT_TYPE, content_type)); } } else { /* no http_out_transport_info->encoding */ if (http_out_transport_info->response) { axis2_http_simple_response_set_header(http_out_transport_info-> response, env, axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONTENT_TYPE, content_type)); } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_out_transport_info_impl_set_char_encoding( axis2_http_out_transport_info_t * http_out_transport_info, const axutil_env_t * env, const axis2_char_t * encoding) { AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE); if (http_out_transport_info->encoding) { AXIS2_FREE(env->allocator, http_out_transport_info->encoding); } http_out_transport_info->encoding = axutil_strdup(env, encoding); return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_impl_free( axis2_http_out_transport_info_t * http_out_transport_info, const axutil_env_t * env) { if (!http_out_transport_info) { return; } if (http_out_transport_info->response) { axis2_http_simple_response_free(http_out_transport_info->response, env); } if (http_out_transport_info->encoding) { AXIS2_FREE(env->allocator, http_out_transport_info->encoding); } AXIS2_FREE(env->allocator, http_out_transport_info); return; } AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL axis2_http_out_transport_info_create( const axutil_env_t * env, axis2_http_simple_response_t * response) { axis2_http_out_transport_info_t *http_out_transport_info = NULL; http_out_transport_info = (axis2_http_out_transport_info_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_out_transport_info_t)); if (!http_out_transport_info) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)http_out_transport_info, 0, sizeof (axis2_http_out_transport_info_t)); http_out_transport_info->out_transport.ops = &ops_var; http_out_transport_info->response = response; http_out_transport_info->encoding = NULL; http_out_transport_info->set_char_encoding = NULL; http_out_transport_info->set_content_type = NULL; http_out_transport_info->free_function = NULL; http_out_transport_info->set_char_encoding = axis2_http_out_transport_info_impl_set_char_encoding; http_out_transport_info->set_content_type = axis2_http_out_transport_info_impl_set_content_type; http_out_transport_info->free_function = axis2_http_out_transport_info_impl_free; return http_out_transport_info; } AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_free( axis2_http_out_transport_info_t * http_out_transport_info, const axutil_env_t * env) { http_out_transport_info->free_function(http_out_transport_info, env); return; } AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env) { axis2_http_out_transport_info_t *transport_info_l = NULL; transport_info_l = AXIS2_INTF_TO_IMPL(transport_info); axis2_http_out_transport_info_free(transport_info_l, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_out_transport_info_set_content_type( axis2_http_out_transport_info_t * http_out_transport_info, const axutil_env_t * env, const axis2_char_t * content_type) { return http_out_transport_info->set_content_type(http_out_transport_info, env, content_type); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_out_transport_info_set_char_encoding( axis2_http_out_transport_info_t * http_out_transport_info, const axutil_env_t * env, const axis2_char_t * encoding) { return http_out_transport_info->set_char_encoding(http_out_transport_info, env, encoding); } AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_set_char_encoding_func( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, axis2_status_t(AXIS2_CALL * set_char_encoding) (axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *)) { out_transport_info->set_char_encoding = set_char_encoding; } AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_set_content_type_func( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, axis2_status_t(AXIS2_CALL * set_content_type) (axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *)) { out_transport_info->set_content_type = set_content_type; } AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_set_free_func( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, void (AXIS2_CALL * free_function) (axis2_http_out_transport_info_t *, const axutil_env_t *)) { out_transport_info->free_function = free_function; } axis2c-src-1.6.0/src/core/transport/http/common/http_response_writer.c0000644000175000017500000001312011166304467027320 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axis2_http_response_writer { axutil_stream_t *stream; axis2_char_t *encoding; }; AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL axis2_http_response_writer_create( const axutil_env_t * env, axutil_stream_t * stream) { return axis2_http_response_writer_create_with_encoding(env, stream, AXIS2_HTTP_DEFAULT_CONTENT_CHARSET); } AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL axis2_http_response_writer_create_with_encoding( const axutil_env_t * env, axutil_stream_t * stream, const axis2_char_t * encoding) { axis2_http_response_writer_t *response_writer = NULL; AXIS2_PARAM_CHECK(env->error, encoding, NULL); response_writer = (axis2_http_response_writer_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_response_writer_t)); if (!response_writer) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)response_writer, 0, sizeof (axis2_http_response_writer_t)); response_writer->stream = stream; response_writer->encoding = (axis2_char_t *) axutil_strdup(env, encoding); return response_writer; } AXIS2_EXTERN void AXIS2_CALL axis2_http_response_writer_free( axis2_http_response_writer_t * response_writer, const axutil_env_t * env) { if (!response_writer) { return; } AXIS2_FREE(env->allocator, response_writer->encoding); AXIS2_FREE(env->allocator, response_writer); return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_response_writer_get_encoding( const axis2_http_response_writer_t * response_writer, const axutil_env_t * env) { return response_writer->encoding; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_write_char( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, char c) { int write = -1; AXIS2_PARAM_CHECK(env->error, response_writer, AXIS2_FAILURE); if (!response_writer->stream) { return AXIS2_FAILURE; } write = axutil_stream_write(response_writer->stream, env, &c, 1); if (write < 0) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_write_buf( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, char *buf, int offset, axis2_ssize_t len) { int write = -1; AXIS2_PARAM_CHECK(env->error, response_writer, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, buf, AXIS2_FAILURE); if (!response_writer->stream) { return AXIS2_FAILURE; } write = axutil_stream_write(response_writer->stream, env, buf, len); if (write < 0) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_print_str( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, const char *str) { int write = -1; int len = -1; AXIS2_PARAM_CHECK(env->error, response_writer, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, str, AXIS2_FAILURE); len = axutil_strlen(str); if (!response_writer->stream) { return AXIS2_FAILURE; } write = axutil_stream_write(response_writer->stream, env, str, len); if (write < 0) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "failed to write to stream\ string %s of length %d", str, len); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_print_int( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, int i) { axis2_char_t int_str[10]; sprintf(int_str, "%10d", i); return axis2_http_response_writer_print_str(response_writer, env, int_str); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_println_str( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, const char *str) { AXIS2_PARAM_CHECK(env->error, str, AXIS2_FAILURE); if (AXIS2_SUCCESS == axis2_http_response_writer_print_str(response_writer, env, str)) { return axis2_http_response_writer_print_str(response_writer, env, AXIS2_HTTP_CRLF); } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_println( axis2_http_response_writer_t * response_writer, const axutil_env_t * env) { return axis2_http_response_writer_print_str(response_writer, env, AXIS2_HTTP_CRLF); } axis2c-src-1.6.0/src/core/transport/http/common/Makefile.am0000644000175000017500000000243511166304467024726 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_http_common.la libaxis2_http_common_la_LIBADD=$(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la libaxis2_http_common_la_SOURCES = http_header.c\ http_out_transport_info.c\ http_request_line.c\ http_simple_request.c\ http_simple_response.c\ http_status_line.c\ http_accept_record.c\ http_response_writer.c\ simple_http_svr_conn.c\ http_worker.c libaxis2_http_common_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/http/common/Makefile.in0000644000175000017500000004217311172017204024725 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/common DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_http_common_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la am_libaxis2_http_common_la_OBJECTS = http_header.lo \ http_out_transport_info.lo http_request_line.lo \ http_simple_request.lo http_simple_response.lo \ http_status_line.lo http_accept_record.lo \ http_response_writer.lo simple_http_svr_conn.lo http_worker.lo libaxis2_http_common_la_OBJECTS = \ $(am_libaxis2_http_common_la_OBJECTS) libaxis2_http_common_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_http_common_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_http_common_la_SOURCES) DIST_SOURCES = $(libaxis2_http_common_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_http_common.la libaxis2_http_common_la_LIBADD = $(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la libaxis2_http_common_la_SOURCES = http_header.c\ http_out_transport_info.c\ http_request_line.c\ http_simple_request.c\ http_simple_response.c\ http_status_line.c\ http_accept_record.c\ http_response_writer.c\ simple_http_svr_conn.c\ http_worker.c libaxis2_http_common_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/common/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/common/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_http_common.la: $(libaxis2_http_common_la_OBJECTS) $(libaxis2_http_common_la_DEPENDENCIES) $(libaxis2_http_common_la_LINK) -rpath $(libdir) $(libaxis2_http_common_la_OBJECTS) $(libaxis2_http_common_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_accept_record.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_header.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_out_transport_info.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_request_line.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_response_writer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_simple_request.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_simple_response.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_status_line.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_worker.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/simple_http_svr_conn.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/common/http_worker.c0000644000175000017500000030134011166304467025403 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct axis2_http_worker { axis2_conf_ctx_t *conf_ctx; int svr_port; }; static axis2_status_t axis2_http_worker_set_response_headers( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_simple_http_svr_conn_t * svr_conn, axis2_http_simple_request_t * simple_request, axis2_http_simple_response_t * simple_response, axis2_ssize_t content_length); static axis2_status_t axis2_http_worker_set_transport_out_config( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_http_simple_response_t * simple_response); static axutil_hash_t *axis2_http_worker_get_headers( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_http_simple_request_t * request); static axis2_char_t *axis2_http_worker_get_server_time( axis2_http_worker_t * http_worker, const axutil_env_t * env); AXIS2_EXTERN axis2_http_worker_t *AXIS2_CALL axis2_http_worker_create( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axis2_http_worker_t *http_worker = NULL; http_worker = (axis2_http_worker_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_http_worker_t)); if (!http_worker) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } http_worker->conf_ctx = conf_ctx; http_worker->svr_port = 9090; /* default - must set later */ return http_worker; } AXIS2_EXTERN void AXIS2_CALL axis2_http_worker_free( axis2_http_worker_t * http_worker, const axutil_env_t * env) { http_worker->conf_ctx = NULL; AXIS2_FREE(env->allocator, http_worker); return; } /* Each in-coming request is passed into this function for process. Basically http method to deliver * is deduced here and call appropriate http processing function. * eg. transport_utils_process_http_post_request() function. Once this fuction call done it will go * through engine inflow phases and finally hit the message receiver for the operation. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_worker_process_request( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_simple_http_svr_conn_t * svr_conn, axis2_http_simple_request_t * simple_request) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_msg_ctx_t *msg_ctx = NULL; axutil_stream_t *request_body = NULL; /* Creating out_stream as basic stream */ axutil_stream_t *out_stream = axutil_stream_create_basic(env); axis2_http_simple_response_t *response = NULL; /* Transport in and out descriptions */ axis2_transport_out_desc_t *out_desc = NULL; axis2_transport_in_desc_t *in_desc = NULL; axis2_char_t *http_version = NULL; axis2_char_t *soap_action = NULL; axutil_string_t *soap_action_str = NULL; axis2_bool_t processed = AXIS2_FALSE; axis2_status_t status = AXIS2_FAILURE; int content_length = -1; axis2_http_header_t *encoding_header = NULL; axis2_char_t *encoding_header_value = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_char_t *svr_ip = NULL; axis2_char_t *peer_ip = NULL; axutil_url_t *request_url = NULL; axis2_http_out_transport_info_t *http_out_transport_info = NULL; axutil_hash_t *headers = NULL; axis2_char_t *url_external_form = NULL; axis2_char_t *svc_grp_uuid = NULL; axis2_char_t *path = NULL; axutil_property_t *peer_property = NULL; /* REST processing variables */ axis2_bool_t is_get = AXIS2_FALSE; axis2_bool_t is_head = AXIS2_FALSE; axis2_bool_t is_put = AXIS2_FALSE; axis2_bool_t is_delete = AXIS2_FALSE; axis2_bool_t request_handled = AXIS2_FALSE; /* HTTP and Proxy authentication */ axis2_char_t *accept_header_value = NULL; axis2_http_header_t *accept_header = NULL; axis2_char_t *accept_charset_header_value = NULL; axis2_http_header_t *accept_charset_header = NULL; axis2_char_t *accept_language_header_value = NULL; axis2_http_header_t *accept_language_header = NULL; axis2_char_t *http_method = NULL; axis2_http_request_line_t *request_line = NULL; axutil_hash_t *request_params = NULL; axis2_char_t *request_uri = NULL; axis2_char_t *url_ext_form = NULL; const axis2_char_t *content_type = NULL; axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; AXIS2_PARAM_CHECK(env->error, svr_conn, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, simple_request, AXIS2_FALSE); conf_ctx = http_worker->conf_ctx; if (!conf_ctx) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT, AXIS2_FAILURE); return AXIS2_FALSE; } content_length = axis2_http_simple_request_get_content_length(simple_request, env); request_line = axis2_http_simple_request_get_request_line (simple_request, env); if (request_line) { http_method = axis2_http_request_line_get_method(request_line, env); } http_version = axis2_http_request_line_get_http_version (request_line, env); if (!http_version) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_HTTP_VERSION, AXIS2_FAILURE); return AXIS2_FALSE; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Client HTTP version %s", http_version); response = axis2_http_simple_response_create_default(env); encoding_header = axis2_http_simple_request_get_first_header( simple_request, env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING); if (response) { axis2_http_header_t *server = NULL; axis2_http_header_t *server_date = NULL; axis2_char_t *date_str = NULL; char *date_str_tmp = NULL; date_str_tmp = axis2_http_worker_get_server_time(http_worker, env); date_str = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (strlen(date_str_tmp) + 5)); if (!date_str) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FALSE; } sprintf(date_str, "%s GMT", date_str_tmp); server_date = axis2_http_header_create(env, AXIS2_HTTP_HEADER_DATE, date_str); if(date_str) { AXIS2_FREE(env->allocator, date_str); date_str = NULL; } axis2_http_simple_response_set_header(response, env, server_date); server = axis2_http_header_create(env, AXIS2_HTTP_HEADER_SERVER, AXIS2_HTTP_HEADER_SERVER_AXIS2C AXIS2_HTTP_SERVER); axis2_http_simple_response_set_header(response, env, server); } if (encoding_header) { encoding_header_value = axis2_http_header_get_value(encoding_header, env); } if (content_length < 0 && (encoding_header_value && 0 != axutil_strcmp (encoding_header_value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED))) { if (0 == axutil_strcasecmp(http_method, AXIS2_HTTP_POST) || 0 == axutil_strcasecmp(http_method, AXIS2_HTTP_PUT)) { axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VAL, AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAME); status = axis2_simple_http_svr_conn_write_response(svr_conn, env, response); axis2_http_simple_response_free(response, env); response = NULL; return status; } } request_body = axis2_http_simple_request_get_body(simple_request, env); out_desc = axis2_conf_get_transport_out(axis2_conf_ctx_get_conf (http_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); in_desc = axis2_conf_get_transport_in(axis2_conf_ctx_get_conf (http_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); msg_ctx = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); if (0 == axutil_strcasecmp(http_version, AXIS2_HTTP_HEADER_PROTOCOL_11)) { axis2_http_worker_set_transport_out_config(http_worker, env, conf_ctx, response); } /* Server and Peer IP's */ svr_ip = axis2_simple_http_svr_conn_get_svr_ip(svr_conn, env); peer_ip = axis2_simple_http_svr_conn_get_peer_ip(svr_conn, env); if (peer_ip) { peer_property = axutil_property_create(env); axutil_property_set_value(peer_property, env, axutil_strdup(env, peer_ip)); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_SVR_PEER_IP_ADDR, peer_property); } path = axis2_http_request_line_get_uri (request_line, env); request_url = axutil_url_create(env, AXIS2_HTTP_PROTOCOL, svr_ip, http_worker->svr_port, path); if (request_url) { url_external_form = axutil_url_to_external_form(request_url, env); } if (!url_external_form) { axis2_http_simple_response_set_status_line(response, env, http_version, AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL, AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME); status = axis2_simple_http_svr_conn_write_response(svr_conn, env, response); axis2_http_simple_response_free(response, env); response = NULL; return status; } accept_header = axis2_http_simple_request_get_first_header( simple_request, env, AXIS2_HTTP_HEADER_ACCEPT); if (accept_header) { accept_header_value = axis2_http_header_get_value(accept_header, env); } if (accept_header_value) { axutil_array_list_t *accept_header_field_list = NULL; axutil_array_list_t *accept_record_list = NULL; accept_header_field_list = axutil_tokenize(env, accept_header_value, AXIS2_COMMA); if (accept_header_field_list && axutil_array_list_size(accept_header_field_list, env) > 0) { axis2_char_t *token = NULL; accept_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_header_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_record_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *) axutil_array_list_remove(accept_header_field_list, env, 0); } while(token); } if (accept_record_list && axutil_array_list_size(accept_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_record_list(msg_ctx, env, accept_record_list); } } accept_charset_header = axis2_http_simple_request_get_first_header( simple_request, env, AXIS2_HTTP_HEADER_ACCEPT_CHARSET); if (accept_charset_header) { accept_charset_header_value = axis2_http_header_get_value(accept_charset_header, env); } if (accept_charset_header_value) { axutil_array_list_t *accept_charset_header_field_list = NULL; axutil_array_list_t *accept_charset_record_list = NULL; accept_charset_header_field_list = axutil_tokenize(env, accept_charset_header_value, AXIS2_COMMA); if (accept_charset_header_field_list && axutil_array_list_size(accept_charset_header_field_list, env) > 0) { axis2_char_t *token = NULL; accept_charset_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_charset_header_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_charset_record_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *) axutil_array_list_remove(accept_charset_header_field_list, env, 0); } while(token); } if (accept_charset_record_list && axutil_array_list_size(accept_charset_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_charset_record_list(msg_ctx, env, accept_charset_record_list); } } accept_language_header = axis2_http_simple_request_get_first_header( simple_request, env, AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE); if (accept_language_header) { accept_language_header_value = axis2_http_header_get_value(accept_language_header, env); } if (accept_language_header_value) { axutil_array_list_t *accept_language_header_field_list = NULL; axutil_array_list_t *accept_language_record_list = NULL; accept_language_header_field_list = axutil_tokenize(env, accept_language_header_value, AXIS2_COMMA); if (accept_language_header_field_list && axutil_array_list_size(accept_language_header_field_list, env) > 0) { axis2_char_t *token = NULL; accept_language_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_language_header_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_language_record_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *) axutil_array_list_remove(accept_language_header_field_list, env, 0); } while(token); } if (accept_language_record_list && axutil_array_list_size(accept_language_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_language_record_list(msg_ctx, env, accept_language_record_list); } } /* Here out_stream is set into the in message context. out_stream is copied from in message context * into the out message context later in core_utils_create_out_msg_ctx() function. The buffer in * out_stream is finally filled with the soap envelope in http_transport_sender_invoke() function. * To avoid double freeing of out_stream we reset the out message context at the end of engine * receive function. */ axis2_msg_ctx_set_transport_out_stream(msg_ctx, env, out_stream); headers = axis2_http_worker_get_headers(http_worker, env, simple_request); axis2_msg_ctx_set_transport_headers(msg_ctx, env, headers); svc_grp_uuid = axutil_uuid_gen(env); if (svc_grp_uuid) { axutil_string_t *svc_grp_uuid_str = axutil_string_create_assume_ownership(env, &svc_grp_uuid); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, svc_grp_uuid_str); axutil_string_free(svc_grp_uuid_str, env); } http_out_transport_info = axis2_http_out_transport_info_create(env, response); axis2_msg_ctx_set_out_transport_info(msg_ctx, env, &(http_out_transport_info->out_transport)); if (axis2_http_simple_request_get_first_header(simple_request, env, AXIS2_HTTP_HEADER_SOAP_ACTION)) { soap_action = axis2_http_header_get_value (axis2_http_simple_request_get_first_header (simple_request, env, AXIS2_HTTP_HEADER_SOAP_ACTION), env); soap_action_str = axutil_string_create(env, soap_action); } if (0 == axutil_strcasecmp(http_method, AXIS2_HTTP_GET)) { is_get = AXIS2_TRUE; } else if (0 == axutil_strcasecmp(http_method, AXIS2_HTTP_HEAD)) { is_head = AXIS2_TRUE; } else if (0 == axutil_strcasecmp(http_method, AXIS2_HTTP_DELETE)) { is_delete = AXIS2_TRUE; } else if (0 == axutil_strcasecmp(http_method, AXIS2_HTTP_PUT)) { is_put = AXIS2_TRUE; } request_uri = axis2_http_request_line_get_uri (request_line, env); request_params = axis2_http_transport_utils_get_request_params(env, request_uri); url_ext_form = axutil_url_to_external_form(request_url, env); content_type = axis2_http_simple_request_get_content_type(simple_request, env); if (is_get || is_head || is_delete) { if (is_get) { /* HTTP GET */ processed = axis2_http_transport_utils_process_http_get_request (env, msg_ctx, request_body, out_stream, content_type, soap_action_str, url_ext_form, conf_ctx, request_params); } else if (is_delete) { /* HTTP DELETE */ processed = axis2_http_transport_utils_process_http_delete_request (env, msg_ctx, request_body, out_stream, content_type, soap_action_str, url_ext_form, conf_ctx, request_params); } else if (is_head) { /* HTTP HEAD */ processed = axis2_http_transport_utils_process_http_head_request (env, msg_ctx, request_body, out_stream, content_type, soap_action_str, url_ext_form, conf_ctx, request_params); } if (AXIS2_FALSE == processed) { axis2_http_header_t *cont_len = NULL; axis2_http_header_t *cont_type = NULL; axis2_char_t *body_string = NULL; axis2_char_t *wsdl = NULL; axis2_bool_t is_services_path = AXIS2_FALSE; if (!is_delete) { axis2_char_t *temp = NULL; /* check whether request url have "/services" */ temp = strstr(axutil_url_get_path(request_url, env), AXIS2_REQUEST_URL_PREFIX); if (temp) { temp += strlen(AXIS2_REQUEST_URL_PREFIX); if (*temp == AXIS2_F_SLASH) { temp++; } if (!*temp || *temp == AXIS2_Q_MARK || *temp == AXIS2_H_MARK) { is_services_path = AXIS2_TRUE; } } } /* processing request for WSDL via "?wsdl" */ wsdl = strstr(url_external_form, AXIS2_REQUEST_WSDL); if (is_services_path) { /* request for service */ axis2_http_simple_response_set_status_line(response, env, http_version, AXIS2_HTTP_RESPONSE_OK_CODE_VAL, AXIS2_HTTP_RESPONSE_OK_CODE_NAME); body_string = axis2_http_transport_utils_get_services_html(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (!is_delete && wsdl) { /* Request is not for delete and ask for wsdl */ axis2_http_simple_response_set_status_line(response, env, http_version, AXIS2_HTTP_RESPONSE_OK_CODE_VAL, AXIS2_HTTP_RESPONSE_OK_CODE_NAME); body_string = axis2_http_transport_utils_get_services_static_wsdl(env, conf_ctx, url_external_form); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (env->error->error_number == AXIS2_ERROR_SVC_OR_OP_NOT_FOUND) { /* Processing SVC or Operation Not found case */ axutil_array_list_t *method_list = NULL; int size = 0; method_list = axis2_msg_ctx_get_supported_rest_http_methods(msg_ctx, env); size = axutil_array_list_size(method_list, env); if (method_list && size) { axis2_http_header_t *allow_header = NULL; axis2_char_t *method_list_str = NULL; axis2_char_t *temp; int i = 0; method_list_str = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 29); if (!method_list_str) { AXIS2_HANDLE_ERROR (env, AXIS2_ERROR_NO_MEMORY, AXIS2_FALSE); } temp = method_list_str; for (i = 0; i < size; i++) { if (i) { sprintf(temp, AXIS2_COMMA_SPACE_STR); temp += 2; } sprintf(temp, "%s", (axis2_char_t *) axutil_array_list_get(method_list, env, i)); temp += strlen(temp); } *temp = AXIS2_ESC_NULL; axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL, AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME); body_string = axis2_http_transport_utils_get_method_not_allowed(env, conf_ctx); allow_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_ALLOW, method_list_str); axis2_http_simple_response_set_header(response, env, allow_header); AXIS2_FREE(env->allocator, method_list_str); } else { /* 404 Not Found */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL, AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME); body_string = axis2_http_transport_utils_get_not_found(env, conf_ctx); } cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL) { /* 400 Bad Request */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL, AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME); body_string = axis2_http_transport_utils_get_bad_request(env, conf_ctx); cont_type = axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL) { /* 408 , Request Time Out */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL, AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME); body_string = axis2_http_transport_utils_get_request_timeout(env, conf_ctx); cont_type = axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL) { /* 409, Conflict */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL, AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME); body_string = axis2_http_transport_utils_get_conflict(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_GONE_CODE_VAL) { axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_GONE_CODE_VAL, AXIS2_HTTP_RESPONSE_GONE_CODE_NAME); body_string = axis2_http_transport_utils_get_gone(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL) { /* 412 Precondition failed */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL, AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME); body_string = axis2_http_transport_utils_get_precondition_failed(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL) { /* 413 entity too large */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL, AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME); body_string = axis2_http_transport_utils_get_request_entity_too_large(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL) { /* 503, Service Unavailable*/ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL, AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME); body_string = axis2_http_transport_utils_get_service_unavailable(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else { /* 500 Internal Server Error */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL, AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME); body_string = axis2_http_transport_utils_get_internal_server_error(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } if (body_string) { axis2_char_t str_len[10]; if (!is_head) { axis2_http_simple_response_set_body_string(response, env, body_string); } sprintf(str_len, "%d", axutil_strlen(body_string)); cont_len = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, str_len); axis2_http_simple_response_set_header(response, env, cont_len); } axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); axis2_simple_http_svr_conn_write_response(svr_conn, env, response); axis2_http_simple_response_free(response, env); request_handled = AXIS2_TRUE; status = AXIS2_TRUE; } } else if (0 == axutil_strcasecmp(http_method, AXIS2_HTTP_POST) || is_put) { if (is_put) { status = axis2_http_transport_utils_process_http_put_request (env, msg_ctx, request_body, out_stream, content_type, content_length, soap_action_str, url_ext_form); } else { status = axis2_http_transport_utils_process_http_post_request (env, msg_ctx, request_body, out_stream, content_type, content_length, soap_action_str, url_ext_form); } if(url_ext_form) AXIS2_FREE(env->allocator, url_ext_form); if (AXIS2_FAILURE == status && (is_put || axis2_msg_ctx_get_doing_rest(msg_ctx, env))) { /* Failure Occure while processing REST */ axis2_http_header_t *cont_len = NULL; axis2_http_header_t *cont_type = NULL; axis2_char_t *body_string = NULL; if (env->error->error_number == AXIS2_ERROR_SVC_OR_OP_NOT_FOUND) { axutil_array_list_t *method_list = NULL; int size = 0; method_list = axis2_msg_ctx_get_supported_rest_http_methods(msg_ctx, env); size = axutil_array_list_size(method_list, env); if (method_list && size) { axis2_http_header_t *allow_header = NULL; axis2_char_t *method_list_str = NULL; axis2_char_t *temp; int i = 0; method_list_str = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 29); if (!method_list_str) { AXIS2_HANDLE_ERROR (env, AXIS2_ERROR_NO_MEMORY, AXIS2_FALSE); } temp = method_list_str; for (i = 0; i < size; i++) { if (i) { sprintf(temp, AXIS2_COMMA_SPACE_STR); temp += 2; } sprintf(temp, "%s", (axis2_char_t *) axutil_array_list_get(method_list, env, i)); temp += strlen(temp); } *temp = AXIS2_ESC_NULL; /* 405 Method Not Allowed */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL, AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME); body_string = axis2_http_transport_utils_get_method_not_allowed(env, conf_ctx); allow_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_ALLOW, method_list_str); axis2_http_simple_response_set_header(response, env, allow_header); AXIS2_FREE(env->allocator, method_list_str); } else { /* 404 Not Found */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL, AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME); body_string = axis2_http_transport_utils_get_not_found(env, conf_ctx); } cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL) { /* 400, Bad Request */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL, AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME); body_string = axis2_http_transport_utils_get_bad_request(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL) { /* 408, Request Timeout */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL, AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME); body_string = axis2_http_transport_utils_get_request_timeout(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL) { /* 409, Conflict Types */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL, AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME); body_string = axis2_http_transport_utils_get_conflict(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_GONE_CODE_VAL) { /* 410, Gone. Resource no longer available */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_GONE_CODE_VAL, AXIS2_HTTP_RESPONSE_GONE_CODE_NAME); body_string = axis2_http_transport_utils_get_gone(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL) { /*410, Precondition for the url failed */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL, AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME); body_string = axis2_http_transport_utils_get_precondition_failed(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL) { /* 413, Request entity too large */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL, AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME); body_string = axis2_http_transport_utils_get_request_entity_too_large(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL) { /* 513, Service Unavailable */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL, AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME); body_string = axis2_http_transport_utils_get_service_unavailable(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } else { /* 500, Internal Server Error */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL, AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME); body_string = axis2_http_transport_utils_get_internal_server_error(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); } if (body_string) { axis2_char_t str_len[10]; if (!is_head) { axis2_http_simple_response_set_body_string(response, env, body_string); } sprintf(str_len, "%d", axutil_strlen(body_string)); cont_len = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, str_len); axis2_http_simple_response_set_header(response, env, cont_len); } axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); axis2_simple_http_svr_conn_write_response(svr_conn, env, response); axis2_http_simple_response_free(response, env); request_handled = AXIS2_TRUE; status = AXIS2_TRUE; } else if (status == AXIS2_FAILURE) { axis2_msg_ctx_t *fault_ctx = NULL; axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); axis2_http_request_line_t *req_line = NULL; axis2_http_status_line_t *tmp_stat_line = NULL; axis2_char_t status_line_str[100]; axutil_property_t *http_error_property = NULL; axis2_char_t *http_error_value = NULL; axis2_char_t *fault_code = NULL; int status_code = 0; axis2_char_t *reason_phrase = NULL; int stream_len = 0; if (!engine) { return AXIS2_FALSE; } http_error_property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HTTP_TRANSPORT_ERROR); if (http_error_property) http_error_value = (axis2_char_t *) axutil_property_get_value(http_error_property, env); if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX AXIS2_COLON_STR AXIOM_SOAP11_FAULT_CODE_SENDER; } else { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX AXIS2_COLON_STR AXIOM_SOAP12_SOAP_FAULT_VALUE_SENDER; } fault_ctx = axis2_engine_create_fault_msg_ctx(engine, env, msg_ctx, fault_code, axutil_error_get_message (env->error)); req_line = axis2_http_simple_request_get_request_line(simple_request, env); if (req_line) { if (!http_error_value) { sprintf(status_line_str, "%s %s\r\n", http_version, AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR); } else { sprintf(status_line_str, "%s %s", http_version, http_error_value); } } else { sprintf(status_line_str, "%s %s\r\n", AXIS2_HTTP_HEADER_PROTOCOL_11, AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR); } tmp_stat_line = axis2_http_status_line_create(env, status_line_str); if (!http_error_value) { axis2_engine_send_fault(engine, env, fault_ctx); } status_code = axis2_http_status_line_get_status_code(tmp_stat_line, env); reason_phrase = axis2_http_status_line_get_reason_phrase(tmp_stat_line, env); axis2_http_simple_response_set_status_line(response, env, http_version, status_code, reason_phrase); axis2_http_simple_response_set_body_stream(response, env, out_stream); stream_len = axutil_stream_get_len (out_stream, env); axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, stream_len); status = axis2_simple_http_svr_conn_write_response(svr_conn, env, response); request_handled = AXIS2_TRUE; if(tmp_stat_line) { axis2_http_status_line_free(tmp_stat_line, env); tmp_stat_line = NULL; } } } else { /* Other case than, PUT, DELETE, HEAD, GET and POST */ /* 501, Request method is not implemented */ axis2_http_header_t *cont_len = NULL; axis2_http_header_t *cont_type = NULL; axis2_char_t *body_string = NULL; axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VAL, AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME); body_string = axis2_http_transport_utils_get_not_implemented(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); if (body_string) { axis2_char_t str_len[10]; axis2_http_simple_response_set_body_string(response, env, body_string); sprintf(str_len, "%d", axutil_strlen(body_string)); cont_len = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, str_len); axis2_http_simple_response_set_header(response, env, cont_len); } axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); axis2_simple_http_svr_conn_write_response(svr_conn, env, response); axis2_http_simple_response_free(response, env); request_handled = AXIS2_TRUE; status = AXIS2_TRUE; } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { /*axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL;*/ axis2_char_t *language_str = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; if (out_msg_ctx) { language_str = axis2_msg_ctx_get_content_language(out_msg_ctx, env); } if (language_str && *language_str && !request_handled) { axis2_http_header_t *language = NULL; language = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LANGUAGE, language_str); axis2_http_simple_response_set_header(response, env, language); } } if (!request_handled) { axis2_bool_t do_rest = AXIS2_FALSE; axis2_bool_t response_written = AXIS2_FALSE; if (is_get || is_head || is_put || is_delete || axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { do_rest = AXIS2_TRUE; } if ((accept_header_value || accept_charset_header_value || accept_language_header_value) && do_rest) { axis2_char_t *content_type_header_value = NULL; axis2_http_header_t *content_type_header = NULL; axis2_char_t *temp = NULL; axis2_char_t *language_header_value = NULL; axis2_http_header_t *language_header = NULL; content_type_header = axis2_http_simple_response_get_first_header( response, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); language_header = axis2_http_simple_response_get_first_header( response, env, AXIS2_HTTP_HEADER_CONTENT_LANGUAGE); if (content_type_header) { content_type_header_value = axis2_http_header_get_value(content_type_header, env); } if (content_type_header_value) { temp = axutil_strdup(env, content_type_header_value); } if (language_header) { language_header_value = axis2_http_header_get_value(language_header, env); } if (temp) { axis2_char_t *content_type = NULL; axis2_char_t *char_set = NULL; axis2_char_t *temp2 = NULL; temp2 = strchr(temp, AXIS2_SEMI_COLON); if (temp2) { *temp2 = AXIS2_ESC_NULL; temp2++; char_set = axutil_strcasestr(temp2, AXIS2_HTTP_CHAR_SET_ENCODING); } if (char_set) { char_set = axutil_strltrim(env, char_set, AXIS2_SPACE_TAB_EQ); } content_type = axutil_strtrim(env, temp, NULL); if (temp) { AXIS2_FREE(env->allocator, temp); temp = NULL; } if (content_type && accept_header_value && !axutil_strcasestr(accept_header_value, content_type)) { temp2 = strchr(content_type, AXIS2_F_SLASH); if (temp2) { *temp2 = AXIS2_ESC_NULL; temp = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ((int)strlen(content_type) + 3)); if (!temp) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FALSE; } sprintf(temp, "%s/*", content_type); if (!axutil_strcasestr(accept_header_value, temp) && !strstr(accept_header_value, AXIS2_HTTP_HEADER_ACCEPT_ALL)) { /* 406, Not Acceptable */ axis2_http_header_t *cont_len = NULL; axis2_http_header_t *cont_type = NULL; axis2_char_t *body_string = NULL; axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL, AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME); body_string = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); if (body_string) { axis2_char_t str_len[10]; axis2_http_simple_response_set_body_string(response, env, body_string); sprintf(str_len, "%d", axutil_strlen(body_string)); cont_len = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, str_len); axis2_http_simple_response_set_header(response, env, cont_len); } axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); axis2_simple_http_svr_conn_write_response(svr_conn, env, response); axis2_http_simple_response_free(response, env); request_handled = AXIS2_TRUE; status = AXIS2_TRUE; response_written = AXIS2_TRUE; } AXIS2_FREE(env->allocator, temp); } } if (content_type) { AXIS2_FREE(env->allocator, content_type); } if (char_set) { temp2 = strchr(char_set, AXIS2_EQ); } if (temp2) { ++temp2; } if (char_set && accept_charset_header_value && !axutil_strcasestr(accept_charset_header_value, char_set) && !axutil_strcasestr(accept_charset_header_value, temp2)) { /* 406, Not Acceptable */ axis2_http_header_t *cont_len = NULL; axis2_http_header_t *cont_type = NULL; axis2_char_t *body_string = NULL; axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL, AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME); body_string = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); if (body_string) { axis2_char_t str_len[10]; axis2_http_simple_response_set_body_string(response, env, body_string); sprintf(str_len, "%d", axutil_strlen(body_string)); cont_len = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, str_len); axis2_http_simple_response_set_header(response, env, cont_len); } axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); axis2_simple_http_svr_conn_write_response(svr_conn, env, response); request_handled = AXIS2_TRUE; status = AXIS2_TRUE; response_written = AXIS2_TRUE; } if (char_set) { AXIS2_FREE(env->allocator, char_set); } } if (language_header_value) { if (accept_language_header_value && !axutil_strcasestr(accept_language_header_value, language_header_value)) { /* 406, Not acceptable */ axis2_http_header_t *cont_len = NULL; axis2_http_header_t *cont_type = NULL; axis2_char_t *body_string = NULL; axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL, AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME); body_string = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); cont_type = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML); axis2_http_simple_response_set_header(response, env, cont_type); axis2_http_simple_response_remove_headers( response, env, AXIS2_HTTP_HEADER_CONTENT_LANGUAGE); if (body_string) { axis2_char_t str_len[10]; axis2_http_simple_response_set_body_string(response, env, body_string); sprintf(str_len, "%d", axutil_strlen(body_string)); cont_len = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, str_len); axis2_http_simple_response_set_header(response, env, cont_len); } axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); axis2_simple_http_svr_conn_write_response(svr_conn, env, response); request_handled = AXIS2_TRUE; status = AXIS2_TRUE; response_written = AXIS2_TRUE; } } } if (!response_written) { /* If in there is a soap message is to to be sent in the back channel then we go inside this * block. Somewhere in the receiveing end axis2_op_ctx_set_response_written() function has * been called by this time to indicate to append the message into the http back channel. */ if (op_ctx && axis2_op_ctx_get_response_written(op_ctx, env)) { if (do_rest) { /*axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL;*/ /*msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT];*/ in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; if (in_msg_ctx) { /* TODO: Add neccessary handling */ } if (out_msg_ctx) { int size = 0; axutil_array_list_t *output_header_list = NULL; output_header_list = axis2_msg_ctx_get_http_output_headers(out_msg_ctx, env); if (output_header_list) { size = axutil_array_list_size(output_header_list, env); } while (size) { axis2_http_header_t *simple_header = NULL; size--; simple_header = (axis2_http_header_t *) axutil_array_list_get(output_header_list, env, size); axis2_http_simple_response_set_header(response, env, simple_header); } if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = 0; axis2_char_t *status_code_str = NULL; status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); switch (status_code) { case AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_ACK_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_ACK_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_GONE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_GONE_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME; break; default: status_code = AXIS2_HTTP_RESPONSE_OK_CODE_VAL; status_code_str = AXIS2_HTTP_RESPONSE_OK_CODE_NAME; break; } axis2_http_simple_response_set_status_line(response, env, http_version, status_code, status_code_str); request_handled = AXIS2_TRUE; } } } if (!request_handled) { axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_OK_CODE_VAL, AXIS2_HTTP_RESPONSE_OK_CODE_NAME); if (!is_head) { /* This is where we append the message into the http back channel.*/ axis2_http_simple_response_set_body_stream(response, env, out_stream); } } } else if (op_ctx) { /* If response is not written */ if (do_rest) { /*axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL;*/ msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; if (in_msg_ctx) { /* TODO: Add neccessary handling */ } if (out_msg_ctx) { int size = 0; axutil_array_list_t *output_header_list = NULL; output_header_list = axis2_msg_ctx_get_http_output_headers(out_msg_ctx, env); if (output_header_list) { size = axutil_array_list_size(output_header_list, env); } while (size) { axis2_http_header_t *simeple_header = NULL; size--; simeple_header = (axis2_http_header_t *) axutil_array_list_get(output_header_list, env, size); axis2_http_simple_response_set_header(response, env, simeple_header); } if (axis2_msg_ctx_get_no_content(out_msg_ctx, env)) { if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); axis2_char_t *status_code_str = NULL; switch (status_code) { case AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME; break; default: status_code = AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL; status_code_str = AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAME; break; } axis2_http_simple_response_set_status_line( response, env, http_version, status_code, status_code_str); } else { /* status code not available in msg_ctx */ axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL, AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAME); } request_handled = AXIS2_TRUE; } else if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); axis2_char_t *status_code_str = NULL; switch (status_code) { case AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_OK_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_OK_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_GONE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_GONE_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME; break; case AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL: status_code_str = AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME; break; default: status_code = AXIS2_HTTP_RESPONSE_ACK_CODE_VAL; status_code_str = AXIS2_HTTP_RESPONSE_ACK_CODE_NAME; break; } axis2_http_simple_response_set_status_line( response, env, http_version, status_code, status_code_str); request_handled = AXIS2_TRUE; } } } if (!request_handled) { axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_ACK_CODE_VAL, AXIS2_HTTP_RESPONSE_ACK_CODE_NAME); } } else { axis2_http_simple_response_set_status_line( response, env, http_version, AXIS2_HTTP_RESPONSE_ACK_CODE_VAL, AXIS2_HTTP_RESPONSE_ACK_CODE_NAME); } if (!response_written) { int stream_len = 0; stream_len = axutil_stream_get_len(out_stream, env); /*axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, stream_len);*/ /* This is where it actually write to the wire in the http back channel * append case. */ if(out_msg_ctx) { axutil_array_list_t *mime_parts = NULL; mime_parts = axis2_msg_ctx_get_mime_parts(out_msg_ctx, env); /* If mime_parts is there then that means we send MTOM. So * in order to send MTOM we are enabling HTTP1.1 and cunk transfer * encoding */ if(mime_parts) { axis2_http_header_t *transfer_enc_header = NULL; axutil_param_t *callback_name_param = NULL; axis2_char_t *mtom_sending_callback_name = NULL; /* Getting the sender callback name paramter if it is * specified in the configuration file */ callback_name_param = axis2_msg_ctx_get_parameter(out_msg_ctx, env , AXIS2_MTOM_SENDING_CALLBACK); if(callback_name_param) { mtom_sending_callback_name = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); if(mtom_sending_callback_name) { axis2_http_simple_response_set_mtom_sending_callback_name( response, env, mtom_sending_callback_name); } } axis2_http_simple_response_set_mime_parts(response, env, mime_parts); axis2_http_simple_response_set_http_version(response, env, AXIS2_HTTP_HEADER_PROTOCOL_11); transfer_enc_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED); axis2_http_simple_response_set_header(response, env, transfer_enc_header); /* In the chunking case content-lenght is zero */ axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, 0); } else { axis2_http_worker_set_response_headers(http_worker, env, svr_conn, simple_request, response, stream_len); } } status = axis2_simple_http_svr_conn_write_response(svr_conn, env, response); } } } if (url_external_form) { AXIS2_FREE(env->allocator, url_external_form); url_external_form = NULL; } if (op_ctx) { axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; axis2_char_t *msg_id = NULL; axis2_conf_ctx_t *conf_ctx = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; if (out_msg_ctx) { axis2_msg_ctx_free(out_msg_ctx, env); out_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = NULL; } if (in_msg_ctx) { msg_id = axutil_strdup(env, axis2_msg_ctx_get_msg_id(in_msg_ctx, env)); conf_ctx = axis2_msg_ctx_get_conf_ctx(in_msg_ctx, env); axis2_msg_ctx_free(in_msg_ctx, env); in_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN] = NULL; } if (!axis2_op_ctx_is_in_use(op_ctx, env)) { axis2_op_ctx_destroy_mutex(op_ctx, env); if (conf_ctx && msg_id) { axis2_conf_ctx_register_op_ctx(conf_ctx, env, msg_id, NULL); AXIS2_FREE(env->allocator, msg_id); } axis2_op_ctx_free(op_ctx, env); } } /* Done freeing message contexts */ msg_ctx = NULL; axutil_url_free(request_url, env); axutil_string_free(soap_action_str, env); request_url = NULL; return status; } static axis2_status_t axis2_http_worker_set_response_headers( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_simple_http_svr_conn_t * svr_conn, axis2_http_simple_request_t * simple_request, axis2_http_simple_response_t * simple_response, axis2_ssize_t content_length) { axis2_http_header_t *conn_header = NULL; AXIS2_PARAM_CHECK(env->error, svr_conn, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, simple_request, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, simple_response, AXIS2_FAILURE); if (AXIS2_FALSE == axis2_http_simple_response_contains_header (simple_response, env, AXIS2_HTTP_HEADER_CONNECTION)) { conn_header = axis2_http_simple_request_get_first_header(simple_request, env, AXIS2_HTTP_HEADER_CONNECTION); if (conn_header) { axis2_char_t *value = NULL; value = axis2_http_header_get_value(conn_header, env); if (0 == axutil_strcasecmp(value, AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVE)) { axis2_http_header_t *header = axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONNECTION, AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVE); axis2_http_simple_response_set_header(simple_response, env, header); axis2_simple_http_svr_conn_set_keep_alive(svr_conn, env, AXIS2_TRUE); } if (0 == axutil_strcasecmp(value, AXIS2_HTTP_HEADER_CONNECTION_CLOSE)) { axis2_http_header_t *header = axis2_http_header_create( env, AXIS2_HTTP_HEADER_CONNECTION, AXIS2_HTTP_HEADER_CONNECTION_CLOSE); axis2_http_simple_response_set_header(simple_response, env, header); axis2_simple_http_svr_conn_set_keep_alive(svr_conn, env, AXIS2_FALSE); } } else { /* Connection Header not available */ axis2_char_t *http_version = NULL; http_version = axis2_http_simple_response_get_http_version(simple_response, env); if (http_version && axutil_strcasecmp(http_version, AXIS2_HTTP_HEADER_PROTOCOL_11)) { axis2_simple_http_svr_conn_set_keep_alive(svr_conn, env, AXIS2_TRUE); } else { axis2_simple_http_svr_conn_set_keep_alive(svr_conn, env, AXIS2_FALSE); } } if(!axis2_http_simple_response_contains_header(simple_response, env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING)) { if (AXIS2_FALSE == axis2_http_simple_request_contains_header(simple_request, env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING)) { if (0 != content_length) { axis2_char_t content_len_str[10]; axis2_http_header_t *content_len_hdr = NULL; sprintf(content_len_str, "%d", content_length); content_len_hdr = axis2_http_header_create(env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, content_len_str); axis2_http_simple_response_set_header(simple_response, env, content_len_hdr); } } else { /* Having Transfer encoding Header */ axis2_http_header_t *transfer_enc_header = axis2_http_header_create(env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED); axis2_http_simple_response_set_header(simple_response, env, transfer_enc_header); } } } return AXIS2_SUCCESS; } /* * This is only called for HTTP/1.1 to enable 1.1 specific parameters. * */ static axis2_status_t axis2_http_worker_set_transport_out_config( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_http_simple_response_t * simple_response) { axis2_conf_t *config = NULL; AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, simple_response, AXIS2_FAILURE); config = axis2_conf_ctx_get_conf(conf_ctx, env); return AXIS2_SUCCESS; } static axutil_hash_t * axis2_http_worker_get_headers( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_http_simple_request_t * request) { axutil_array_list_t *header_list = NULL; int hdr_count = 0; int i = 0; axutil_hash_t *header_map = NULL; AXIS2_PARAM_CHECK(env->error, request, NULL); header_list = axis2_http_simple_request_get_headers(request, env); if (!header_list) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "http simple request" "doesn't contain a header list"); return NULL; } hdr_count = axutil_array_list_size(header_list, env); if (0 == hdr_count) { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "http simple request , " "header list contains zero headers"); return NULL; } for (i = 0; i < hdr_count; i++) { axis2_http_header_t *tmp_hdr = NULL; tmp_hdr = axutil_array_list_get(header_list, env, i); if (!tmp_hdr) { continue; } if (!header_map) { header_map = axutil_hash_make(env); if (!header_map) { return NULL; } } axutil_hash_set(header_map, axis2_http_header_get_name(tmp_hdr, env), AXIS2_HASH_KEY_STRING, tmp_hdr); } return header_map; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_worker_set_svr_port( axis2_http_worker_t * worker, const axutil_env_t * env, int port) { worker->svr_port = port; return AXIS2_SUCCESS; } static axis2_char_t *axis2_http_worker_get_server_time( axis2_http_worker_t * http_worker, const axutil_env_t * env) { time_t tp; char *time_str; tp = time(&tp); time_str = ctime(&tp); if (!time_str) { return NULL; } if (AXIS2_NEW_LINE == time_str[strlen(time_str) - 1]) { time_str[strlen(time_str) - 1] = AXIS2_ESC_NULL; } /* We use the ANSI C Date Format, which is Legal according to RFC2616, * Section 3.3.1. We are not a HTTP/1.1 only server, and thus, it suffices. */ return time_str; } axis2c-src-1.6.0/src/core/transport/http/common/http_request_line.c0000644000175000017500000001354311166304467026576 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include struct axis2_http_request_line { axis2_char_t *http_version; axis2_char_t *method; axis2_char_t *uri; }; AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL axis2_http_request_line_create( const axutil_env_t * env, const axis2_char_t * method, const axis2_char_t * uri, const axis2_char_t * http_version) { axis2_http_request_line_t *request_line = NULL; AXIS2_PARAM_CHECK(env->error, method, NULL); AXIS2_PARAM_CHECK(env->error, uri, NULL); AXIS2_PARAM_CHECK(env->error, http_version, NULL); request_line = (axis2_http_request_line_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_request_line_t)); if (!request_line) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)request_line, 0, sizeof (axis2_http_request_line_t)); request_line->method = (axis2_char_t *) axutil_strdup(env, method); request_line->uri = (axis2_char_t *) axutil_strdup(env, uri); request_line->http_version = (axis2_char_t *) axutil_strdup(env, http_version); return request_line; } void AXIS2_CALL axis2_http_request_line_free( axis2_http_request_line_t * request_line, const axutil_env_t * env) { if (!request_line) { return; } if (request_line->method) { AXIS2_FREE(env->allocator, request_line->method); } if (request_line->uri) { AXIS2_FREE(env->allocator, request_line->uri); } if (request_line->http_version) { AXIS2_FREE(env->allocator, request_line->http_version); } AXIS2_FREE(env->allocator, request_line); return; } AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL axis2_http_request_line_parse_line( const axutil_env_t * env, const axis2_char_t * str) { axis2_char_t *req_line = NULL; axis2_char_t *method = NULL; axis2_char_t *uri = NULL; axis2_char_t *http_version = NULL; axis2_http_request_line_t *ret = NULL; axis2_char_t *tmp = NULL; int i = 0; AXIS2_PARAM_CHECK(env->error, str, NULL); tmp = axutil_strstr(str, AXIS2_HTTP_CRLF); if (!tmp) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } i = (int)(tmp - str); /* We are sure that the difference lies within the int range */ req_line = AXIS2_MALLOC(env->allocator, i * sizeof(axis2_char_t) + 1); if (!req_line) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memcpy(req_line, str, i * sizeof(axis2_char_t)); req_line[i] = AXIS2_ESC_NULL; tmp = req_line; method = tmp; tmp = strchr(tmp, AXIS2_SPACE); if (!tmp) { AXIS2_FREE(env->allocator, req_line); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } *tmp++ = AXIS2_ESC_NULL; uri = tmp; tmp = strrchr(tmp, AXIS2_SPACE); if (!tmp) { AXIS2_FREE(env->allocator, req_line); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } *tmp++ = AXIS2_ESC_NULL; http_version = tmp; ret = axis2_http_request_line_create(env, method, uri, http_version); AXIS2_FREE(env->allocator, req_line); return ret; } axis2_char_t *AXIS2_CALL axis2_http_request_line_get_method( const axis2_http_request_line_t * request_line, const axutil_env_t * env) { return request_line->method; } axis2_char_t *AXIS2_CALL axis2_http_request_line_get_http_version( const axis2_http_request_line_t * request_line, const axutil_env_t * env) { return request_line->http_version; } axis2_char_t *AXIS2_CALL axis2_http_request_line_get_uri( const axis2_http_request_line_t * request_line, const axutil_env_t * env) { return request_line->uri; } axis2_char_t *AXIS2_CALL axis2_http_request_line_to_string( axis2_http_request_line_t * request_line, const axutil_env_t * env) { int alloc_len = 0; axis2_char_t *ret = NULL; alloc_len = axutil_strlen(request_line->method) + axutil_strlen(request_line->uri) + axutil_strlen(request_line->http_version) + 6; /* 5 = 2 * spaces + '/' +CR + LF + '\0' */ ret = AXIS2_MALLOC(env->allocator, alloc_len * sizeof(axis2_char_t)); if (!ret) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (request_line->uri[0] != AXIS2_F_SLASH) { sprintf(ret, "%s /%s %s%s", request_line->method, request_line->uri, request_line->http_version, AXIS2_HTTP_CRLF); } else { sprintf(ret, "%s %s %s%s", request_line->method, request_line->uri, request_line->http_version, AXIS2_HTTP_CRLF); } return ret; } axis2c-src-1.6.0/src/core/transport/http/common/http_accept_record.c0000644000175000017500000001051711166304467026672 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axis2_http_accept_record { axis2_char_t *name; float quality; int level; axis2_char_t *record; }; AXIS2_EXTERN axis2_http_accept_record_t *AXIS2_CALL axis2_http_accept_record_create( const axutil_env_t * env, const axis2_char_t * str) { axis2_char_t *tmp_accept_record = NULL; axis2_char_t *tmp = NULL; axis2_http_accept_record_t *accept_record = NULL; float quality = 1.0; int level = -1; axis2_char_t *name = NULL; AXIS2_PARAM_CHECK(env->error, str, NULL); tmp_accept_record = (axis2_char_t *) axutil_strdup(env, str); if (!tmp_accept_record) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to strdup string %s", str); return NULL; } accept_record = (axis2_http_accept_record_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_accept_record_t)); if (!accept_record) { AXIS2_HANDLE_ERROR (env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)accept_record, 0, sizeof (axis2_http_accept_record_t)); accept_record->record = axutil_strtrim(env, tmp_accept_record, AXIS2_SPACE_COMMA); tmp = strchr(tmp_accept_record, AXIS2_Q); if (tmp) { *tmp = AXIS2_ESC_NULL; tmp++; tmp = axutil_strtrim(env, tmp, AXIS2_EQ_N_SEMICOLON); if (tmp) { sscanf(tmp, "%f", &quality); AXIS2_FREE(env->allocator, tmp); } } tmp = strstr(tmp_accept_record, AXIS2_LEVEL); if (tmp) { *tmp = AXIS2_ESC_NULL; tmp++; tmp = axutil_strtrim(env, tmp, AXIS2_EQ_N_SEMICOLON); if (tmp) { sscanf(tmp, "%d", &level); AXIS2_FREE(env->allocator, tmp); } } tmp = axutil_strtrim(env, tmp_accept_record, AXIS2_SPACE_SEMICOLON); if (tmp) { name = tmp; } if (!name || quality > 1.0 || quality < 0.0) { axis2_http_accept_record_free(accept_record, env); return NULL; } accept_record->name = name; accept_record->quality = quality; accept_record->level = level; AXIS2_FREE(env->allocator, tmp_accept_record); return accept_record; } AXIS2_EXTERN void AXIS2_CALL axis2_http_accept_record_free( axis2_http_accept_record_t * accept_record, const axutil_env_t * env) { if (!accept_record) { return; } if (accept_record->name) { AXIS2_FREE(env->allocator, accept_record->name); } if (accept_record->record) { AXIS2_FREE(env->allocator, accept_record->record); } AXIS2_FREE(env->allocator, accept_record); return; } AXIS2_EXTERN float AXIS2_CALL axis2_http_accept_record_get_quality_factor( const axis2_http_accept_record_t * accept_record, const axutil_env_t * env) { return accept_record->quality; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_accept_record_get_name( const axis2_http_accept_record_t * accept_record, const axutil_env_t * env) { return accept_record->name; } AXIS2_EXTERN int AXIS2_CALL axis2_http_accept_record_get_level( const axis2_http_accept_record_t * accept_record, const axutil_env_t * env) { return accept_record->level; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_accept_record_to_string( axis2_http_accept_record_t * accept_record, const axutil_env_t * env) { return accept_record->record; } axis2c-src-1.6.0/src/core/transport/http/common/http_simple_response.c0000644000175000017500000005043011166304467027302 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #define AXIS2_HTTP_SIMPLE_RESPONSE_READ_SIZE 2048 struct axis2_http_simple_response { axis2_http_status_line_t *status_line; axutil_array_list_t *header_group; axutil_stream_t *stream; axutil_array_list_t *mime_parts; axis2_char_t *mtom_sending_callback_name; }; AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL axis2_http_simple_response_create( const axutil_env_t * env, axis2_http_status_line_t * status_line, const axis2_http_header_t ** http_headers, const axis2_ssize_t http_hdr_count, axutil_stream_t * content) { axis2_http_simple_response_t *ret = NULL; axis2_http_simple_response_t *simple_response = NULL; ret = axis2_http_simple_response_create_default(env); if (!ret) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 http simple response creation failed"); return NULL; } simple_response = ret; if (!simple_response) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } simple_response->status_line = status_line; if (http_hdr_count > 0 && http_headers) { int i = 0; simple_response->header_group = axutil_array_list_create(env, http_hdr_count); for (i = 0; i < (int)http_hdr_count; i++) /* We are sure that the difference lies within the int range */ { axutil_array_list_add(simple_response->header_group, env, (void *) http_headers[i]); } } simple_response->stream = content; return ret; } AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL axis2_http_simple_response_create_default( const axutil_env_t * env) { axis2_http_simple_response_t *simple_response = NULL; simple_response = (axis2_http_simple_response_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_simple_response_t)); if (!simple_response) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)simple_response, 0, sizeof(axis2_http_simple_response_t)); simple_response->status_line = NULL; simple_response->header_group = NULL; simple_response->stream = NULL; simple_response->mime_parts = NULL; simple_response->mtom_sending_callback_name = NULL; return simple_response; } void AXIS2_CALL axis2_http_simple_response_free( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { if (simple_response->status_line) { axis2_http_status_line_free(simple_response->status_line, env); } if (simple_response->header_group) { int i = 0; axis2_http_header_t *tmp = NULL; for (i = 0; i < axutil_array_list_size(simple_response->header_group, env); i++) { tmp = (axis2_http_header_t *) axutil_array_list_get(simple_response-> header_group, env, i); if (tmp) { axis2_http_header_free(tmp, env); } } axutil_array_list_free(simple_response->header_group, env); } if (simple_response->mime_parts) { int i = 0; for (i = 0; i < axutil_array_list_size(simple_response->mime_parts, env); i++) { axiom_mime_part_t *mime_part = NULL; mime_part = (axiom_mime_part_t *) axutil_array_list_get(simple_response->mime_parts, env, i); if (mime_part) { axiom_mime_part_free(mime_part, env); } } axutil_array_list_free(simple_response->mime_parts, env); } AXIS2_FREE(env->allocator, simple_response); /* * Stream is not freed * Assumption : stream doesn't belong to the response */ return; } axis2_status_t AXIS2_CALL axis2_http_simple_response_set_status_line( struct axis2_http_simple_response * simple_response, const axutil_env_t * env, const axis2_char_t * http_ver, const int status_code, const axis2_char_t * phrase) { axis2_char_t *tmp_status_line_str = NULL; AXIS2_PARAM_CHECK(env->error, http_ver, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, status_code, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phrase, AXIS2_FAILURE); tmp_status_line_str = AXIS2_MALLOC(env->allocator, (axutil_strlen(http_ver) + axutil_strlen(phrase) + 8) * sizeof(axis2_char_t *)); if (!tmp_status_line_str) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); } sprintf(tmp_status_line_str, "%s %3d %s%s", http_ver, status_code, phrase, AXIS2_HTTP_CRLF); if (simple_response->status_line) { axis2_http_status_line_free(simple_response->status_line, env); simple_response->status_line = NULL; } simple_response->status_line = axis2_http_status_line_create(env, tmp_status_line_str); AXIS2_FREE(env->allocator, tmp_status_line_str); if (!simple_response->status_line) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 http status line creation failed for tmp \ string %s", tmp_status_line_str); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_phrase( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { if (!(simple_response->status_line)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , status line is not available"); return NULL; } return axis2_http_status_line_get_reason_phrase(simple_response-> status_line, env); } int AXIS2_CALL axis2_http_simple_response_get_status_code( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { if (!(simple_response->status_line)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , status line is not available"); return -1; } return axis2_http_status_line_get_status_code(simple_response->status_line, env); } axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_http_version( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { if (!(simple_response->status_line)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , status line is not available"); return NULL; } return axis2_http_status_line_get_http_version(simple_response->status_line, env); } axis2_status_t AXIS2_CALL axis2_http_simple_response_set_http_version( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t *http_version) { if (!(simple_response->status_line)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , status line is not available"); return AXIS2_FAILURE; } axis2_http_status_line_set_http_version(simple_response->status_line, env, http_version); return AXIS2_SUCCESS; } axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_status_line( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { if (!(simple_response->status_line)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , status line is not available"); return NULL; } return axis2_http_status_line_to_string(simple_response->status_line, env); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_response_get_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { return simple_response->header_group; } axutil_array_list_t *AXIS2_CALL axis2_http_simple_response_extract_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { axutil_array_list_t *temp = NULL; temp = simple_response->header_group; if (temp) { simple_response->header_group = NULL; } return temp; } axis2_http_header_t *AXIS2_CALL axis2_http_simple_response_get_first_header( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, const axis2_char_t * str) { axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_name = NULL; int i = 0; int count = 0; axutil_array_list_t *header_group = NULL; AXIS2_PARAM_CHECK(env->error, str, NULL); header_group = simple_response->header_group; if (!simple_response->header_group) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , headers not available"); return NULL; } if (0 == axutil_array_list_size(header_group, env)) { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "axis2 simple response , contains zero headers"); return NULL; } count = axutil_array_list_size(header_group, env); for (i = 0; i < count; i++) { tmp_header = (axis2_http_header_t *) axutil_array_list_get(header_group, env, i); tmp_name = axis2_http_header_get_name(tmp_header, env); if (0 == axutil_strcasecmp(str, tmp_name)) { return tmp_header; } } return NULL; } axis2_status_t AXIS2_CALL axis2_http_simple_response_remove_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, const axis2_char_t * str) { axutil_array_list_t *header_group = NULL; axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_name = NULL; int i = 0; int count = 0; AXIS2_PARAM_CHECK(env->error, str, AXIS2_FAILURE); header_group = simple_response->header_group; if (!header_group) { /* Even though we couldn't complete the op, we are sure that the * requred header is no more in the request. So we can proceed without a * problem. */ return AXIS2_SUCCESS; } count = axutil_array_list_size(header_group, env); for (i = 0; i < count; i++) { tmp_header = (axis2_http_header_t *) axutil_array_list_get(header_group, env, i); tmp_name = axis2_http_header_get_name(tmp_header, env); if (0 == axutil_strcasecmp(str, tmp_name)) { axis2_http_header_free(tmp_header, env); axutil_array_list_remove(header_group, env, i); break; } } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_http_simple_response_set_header( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_http_header_t * header) { int i = 0; int count = 0; axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_name = NULL; axutil_array_list_t *header_group = NULL; AXIS2_PARAM_CHECK(env->error, header, AXIS2_FAILURE); if (!simple_response->header_group) { simple_response->header_group = axutil_array_list_create(env, 10); axutil_array_list_add(simple_response->header_group, env, header); return AXIS2_SUCCESS; } /* If a header with the same name exists * search and remove the old header */ header_group = simple_response->header_group; count = axutil_array_list_size(header_group, env); for (i = 0; i < count; i++) { tmp_header = (axis2_http_header_t *) axutil_array_list_get(header_group, env, i); tmp_name = axis2_http_header_get_name(tmp_header, env); if (0 == axutil_strcasecmp(axis2_http_header_get_name(header, env), tmp_name)) { axis2_http_header_free(tmp_header, env); axutil_array_list_remove(header_group, env, i); break; } } axutil_array_list_add(simple_response->header_group, env, (void *) header); return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_charset( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { axis2_http_header_t *tmp_header = NULL; tmp_header = axis2_http_simple_response_get_first_header (simple_response, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (tmp_header) { axis2_char_t *value = axis2_http_header_get_value(tmp_header, env); axis2_char_t *charset = (axis2_char_t *) strstr((char *) value, (char *) AXIS2_HTTP_CHAR_SET_ENCODING); if (charset) { charset = strchr((char *) charset, AXIS2_EQ); return charset; } } return AXIS2_HTTP_DEFAULT_CONTENT_CHARSET; } axis2_ssize_t AXIS2_CALL axis2_http_simple_response_get_content_length( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { axis2_http_header_t *tmp_header = NULL; int error_return = -1; tmp_header = axis2_http_simple_response_get_first_header (simple_response, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH); if (tmp_header) { return AXIS2_ATOI(axis2_http_header_get_value(tmp_header, env)); } return error_return; } const axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_content_type( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { axis2_http_header_t *tmp_header = NULL; tmp_header = axis2_http_simple_response_get_first_header (simple_response, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (tmp_header) { return axis2_http_header_get_value(tmp_header, env); } return AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN; } axis2_status_t AXIS2_CALL axis2_http_simple_response_set_body_string( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t * str) { axutil_stream_t *body_stream = NULL; AXIS2_PARAM_CHECK(env->error, str, AXIS2_FAILURE); body_stream = simple_response->stream; if (!body_stream) { body_stream = axutil_stream_create_basic(env); if (!body_stream) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to create basic stream for string %s", str); return AXIS2_FAILURE; } simple_response->stream = body_stream; } axutil_stream_write(body_stream, env, str, axutil_strlen(str)); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_http_simple_response_set_body_stream( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axutil_stream_t * stream) { /* * We don't free the stream * Problem in freeing is most of the time the stream doesn't belong * to the http_simple_response */ simple_response->stream = stream; return AXIS2_SUCCESS; } axutil_stream_t *AXIS2_CALL axis2_http_simple_response_get_body( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { return simple_response->stream; } axis2_ssize_t AXIS2_CALL axis2_http_simple_response_get_body_bytes( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t ** buffer) { axutil_stream_t *tmp_stream = NULL; axis2_bool_t loop_state = AXIS2_TRUE; int return_size = -1; if (!simple_response->stream) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_BODY, AXIS2_FAILURE); return return_size; } tmp_stream = axutil_stream_create_basic(env); while (loop_state) { int read = 0; int write = 0; char buf[AXIS2_HTTP_SIMPLE_RESPONSE_READ_SIZE]; read = axutil_stream_read(simple_response->stream, env, buf, AXIS2_HTTP_SIMPLE_RESPONSE_READ_SIZE); if (read < 0) { break; } write = axutil_stream_write(tmp_stream, env, buf, read); if (read < (AXIS2_HTTP_SIMPLE_RESPONSE_READ_SIZE - 1)) { break; } } return_size = axutil_stream_get_len(tmp_stream, env); if (return_size > 0) { *buffer = (char *) AXIS2_MALLOC(env->allocator, sizeof(char) * (return_size + 1)); if (!buffer) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return -1; } return_size = axutil_stream_read(tmp_stream, env, *buffer, return_size + 1); } axutil_stream_free(tmp_stream, env); return return_size; } axis2_bool_t AXIS2_CALL axis2_http_simple_response_contains_header( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, const axis2_char_t * name) { axis2_char_t *header_name = NULL; int count = 0; int i = 0; AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); if (!simple_response->header_group) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 simple response , headers not available"); return AXIS2_FALSE; } count = axutil_array_list_size(simple_response->header_group, env); if (0 == count) { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "axis2 simple response , contains zero headers"); return AXIS2_FALSE; } for (i = 0; i < count; i++) { header_name = axis2_http_header_get_name((axis2_http_header_t *) axutil_array_list_get (simple_response->header_group, env, i), env); if (0 == axutil_strcasecmp(name, header_name)) return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_response_get_mime_parts( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { return simple_response->mime_parts; } void AXIS2_EXTERN AXIS2_CALL axis2_http_simple_response_set_mime_parts( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axutil_array_list_t *mime_parts) { simple_response->mime_parts = mime_parts; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_mtom_sending_callback_name( axis2_http_simple_response_t * simple_response, const axutil_env_t * env) { return simple_response->mtom_sending_callback_name; } void AXIS2_EXTERN AXIS2_CALL axis2_http_simple_response_set_mtom_sending_callback_name( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t *mtom_sending_callback_name) { simple_response->mtom_sending_callback_name = mtom_sending_callback_name; } axis2c-src-1.6.0/src/core/transport/http/common/http_simple_request.c0000644000175000017500000003244611166304467027143 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axis2_http_simple_request { axis2_http_request_line_t *request_line; axutil_array_list_t *header_group; axutil_stream_t *stream; axis2_bool_t owns_stream; }; AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL axis2_http_simple_request_create( const axutil_env_t * env, axis2_http_request_line_t * request_line, axis2_http_header_t ** http_headers, axis2_ssize_t http_hdr_count, axutil_stream_t * content) { axis2_http_simple_request_t *simple_request = NULL; simple_request = (axis2_http_simple_request_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_simple_request_t)); if (!simple_request) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)simple_request, 0, sizeof (axis2_http_simple_request_t)); simple_request->request_line = request_line; simple_request->stream = content; simple_request->header_group = NULL; simple_request->owns_stream = AXIS2_FALSE; if (!(simple_request->stream)) { simple_request->stream = axutil_stream_create_basic(env); if (!simple_request->stream) { axis2_http_simple_request_free((axis2_http_simple_request_t *) simple_request, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } simple_request->owns_stream = AXIS2_TRUE; } if ((http_hdr_count > 0) && http_headers) { int i = 0; simple_request->header_group = axutil_array_list_create(env, http_hdr_count); for (i = 0; i < (int)http_hdr_count; i++) /* We are sure that the difference lies within the int range */ { axutil_array_list_add(simple_request->header_group, env, (void *) http_headers[i]); } } return simple_request; } AXIS2_EXTERN void AXIS2_CALL axis2_http_simple_request_free( axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { if (!simple_request) { return; } if (AXIS2_TRUE == simple_request->owns_stream) { axutil_stream_free(simple_request->stream, env); } /* Don't free the stream since it belongs to the socket */ if (simple_request->request_line) { axis2_http_request_line_free(simple_request->request_line, env); } if (simple_request->header_group) { int i = 0; axis2_http_header_t *tmp = NULL; for (i = 0; i < axutil_array_list_size(simple_request->header_group, env); i++) { tmp = (axis2_http_header_t *) axutil_array_list_get(simple_request-> header_group, env, i); axis2_http_header_free(tmp, env); } axutil_array_list_free(simple_request->header_group, env); } AXIS2_FREE(env->allocator, simple_request); return; } AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL axis2_http_simple_request_get_request_line( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { return simple_request->request_line; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_set_request_line( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, axis2_http_request_line_t * request_line) { AXIS2_PARAM_CHECK(env->error, request_line, AXIS2_FAILURE); simple_request->request_line = request_line; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_simple_request_contains_header( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, const axis2_char_t * name) { int i = 0; axis2_char_t *header_name = NULL; int count = 0; AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); if (!simple_request->header_group) { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "http simple request \ does not contain headers, unable to find: %s header", name); return AXIS2_FALSE; } count = axutil_array_list_size(simple_request->header_group, env); if (0 == count) { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "http simple request \ contains zero headers, unable to find: %s header", name); return AXIS2_FALSE; } for (i = 0; i < count; i++) { header_name = axis2_http_header_get_name((axis2_http_header_t *) axutil_array_list_get (simple_request->header_group, env, i), env); if (0 == axutil_strcasecmp(name, header_name)) { return AXIS2_TRUE; } } return AXIS2_FALSE; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_request_get_headers( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { return simple_request->header_group; } AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_simple_request_get_first_header( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env, const axis2_char_t * str) { axutil_array_list_t *header_group = NULL; int i = 0; int count = 0; axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_name = NULL; AXIS2_PARAM_CHECK(env->error, str, NULL); header_group = simple_request->header_group; if (!simple_request->header_group) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "http simple request \ does not contain headers, unable to find: %s header", str); return NULL; } if (0 == axutil_array_list_size(header_group, env)) { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "http simple request \ contain zero headers, unable to find: %s header", str); return NULL; } count = axutil_array_list_size(header_group, env); for (i = 0; i < count; i++) { tmp_header = (axis2_http_header_t *) axutil_array_list_get(header_group, env, i); tmp_name = axis2_http_header_get_name(tmp_header, env); if (0 == axutil_strcasecmp(str, tmp_name)) { return tmp_header; } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_remove_headers( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, const axis2_char_t * str) { axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_name = NULL; int i = 0; int count = 0; axutil_array_list_t *header_group = NULL; AXIS2_PARAM_CHECK(env->error, str, AXIS2_FAILURE); header_group = simple_request->header_group; if (!header_group) { /* Even though we couldn't complete the op, we are sure that the * requred header is no more in the request. So we can proceed without a * problem. */ return AXIS2_SUCCESS; } count = axutil_array_list_size(header_group, env); for (i = 0; i < count; i++) { tmp_header = (axis2_http_header_t *) axutil_array_list_get(header_group, env, i); tmp_name = axis2_http_header_get_name(tmp_header, env); if (0 == axutil_strcasecmp(str, tmp_name)) { axis2_http_header_free(tmp_header, env); axutil_array_list_remove(header_group, env, i); break; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_add_header( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, axis2_http_header_t * header) { AXIS2_PARAM_CHECK(env->error, header, AXIS2_FAILURE); if (!simple_request->header_group) { simple_request->header_group = axutil_array_list_create(env, 1); } return axutil_array_list_add(simple_request->header_group, env, header); } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_http_simple_request_get_content_type( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { axis2_http_header_t *tmp_header = NULL; tmp_header = axis2_http_simple_request_get_first_header (simple_request, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (tmp_header) { return axis2_http_header_get_value(tmp_header, env); } return AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_http_simple_request_get_charset( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { axis2_http_header_t *tmp_header = NULL; tmp_header = axis2_http_simple_request_get_first_header (simple_request, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (tmp_header) { axis2_char_t *value = axis2_http_header_get_value(tmp_header, env); axis2_char_t *charset = (axis2_char_t *) strstr((char *) value, (char *) AXIS2_HTTP_CHAR_SET_ENCODING); if (charset) { charset = strchr((char *) charset, AXIS2_EQ); return charset; } } return AXIS2_HTTP_DEFAULT_CONTENT_CHARSET; } AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axis2_http_simple_request_get_content_length( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { axis2_http_header_t *tmp_header = NULL; int error_return = -1; tmp_header = axis2_http_simple_request_get_first_header (simple_request, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH); if (tmp_header) { return AXIS2_ATOI(axis2_http_header_get_value(tmp_header, env)); } return error_return; } AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_http_simple_request_get_body( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env) { return simple_request->stream; } AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axis2_http_simple_request_get_body_bytes( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env, char **buf) { axutil_stream_t *body = NULL; char *tmp_buf = NULL; char *tmp_buf2 = NULL; char *tmp_buf3 = NULL; int length = 0; int read_len = 0; body = simple_request->stream; if (!body) { *buf = (char *) AXIS2_MALLOC(env->allocator, 1); *buf[0] = '\0'; return 0; } length = axis2_http_simple_request_get_content_length(simple_request, env); if (length > 0) { *buf = (char *) AXIS2_MALLOC(env->allocator, length + 1); read_len = axutil_stream_read(body, env, *buf, length + 1); return read_len; } tmp_buf2 = AXIS2_MALLOC(env->allocator, 128 * sizeof(char)); while (axutil_stream_read(body, env, tmp_buf2, 128) > 0) { tmp_buf3 = axutil_stracat(env, tmp_buf, tmp_buf2); if (tmp_buf) { AXIS2_FREE(env->allocator, tmp_buf); tmp_buf = NULL; } tmp_buf = tmp_buf3; } if(tmp_buf2) { AXIS2_FREE(env->allocator, tmp_buf2); tmp_buf2 = NULL; } if (tmp_buf) { *buf = tmp_buf; return axutil_strlen(tmp_buf); } *buf = (char *) AXIS2_MALLOC(env->allocator, 1); *buf[0] = AXIS2_ESC_NULL; return 0; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_set_body_string( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, void *str, unsigned int str_len) { axutil_stream_t *body_stream = NULL; AXIS2_PARAM_CHECK(env->error, str, AXIS2_FAILURE); body_stream = simple_request->stream; if (!body_stream) { body_stream = axutil_stream_create_basic(env); if (!body_stream) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to create stream\ for stream %s of %d length", (axis2_char_t *)str, str_len); return AXIS2_FAILURE; } simple_request->stream = body_stream; simple_request->owns_stream = AXIS2_TRUE; } axutil_stream_write(body_stream, env, str, str_len); return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/http/common/simple_http_svr_conn.c0000644000175000017500000004366511166304467027307 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include struct axis2_simple_http_svr_conn { int socket; axutil_stream_t *stream; axis2_bool_t keep_alive; }; AXIS2_EXTERN axis2_simple_http_svr_conn_t *AXIS2_CALL axis2_simple_http_svr_conn_create( const axutil_env_t * env, int sockfd) { axis2_simple_http_svr_conn_t *svr_conn = NULL; svr_conn = (axis2_simple_http_svr_conn_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_simple_http_svr_conn_t)); if (!svr_conn) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)svr_conn, 0, sizeof (axis2_simple_http_svr_conn_t)); svr_conn->socket = sockfd; svr_conn->stream = NULL; svr_conn->keep_alive = AXIS2_FALSE; if (-1 != svr_conn->socket) { svr_conn->stream = axutil_stream_create_socket(env, svr_conn->socket); if (!svr_conn->stream) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "socket creation failed, socket %d", (int)sockfd); axis2_simple_http_svr_conn_free((axis2_simple_http_svr_conn_t *) svr_conn, env); return NULL; } } return svr_conn; } AXIS2_EXTERN void AXIS2_CALL axis2_simple_http_svr_conn_free( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { if (!svr_conn) { return; } axis2_simple_http_svr_conn_close(svr_conn, env); AXIS2_FREE(env->allocator, svr_conn); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_close( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { axutil_stream_free(svr_conn->stream, env); if (-1 != svr_conn->socket) { axutil_network_handler_close_socket(env, svr_conn->socket); svr_conn->socket = -1; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_simple_http_svr_conn_is_open( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { if (-1 != svr_conn->socket) { return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_set_keep_alive( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, axis2_bool_t keep_alive) { svr_conn->keep_alive = keep_alive; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_simple_http_svr_conn_is_keep_alive( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { return svr_conn->keep_alive; } AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_simple_http_svr_conn_get_stream( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { return svr_conn->stream; } AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL axis2_simple_http_svr_conn_get_writer( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { return axis2_http_response_writer_create(env, svr_conn->stream); } AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL axis2_simple_http_svr_conn_read_request( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { axis2_char_t* str_line = NULL; axis2_char_t tmp_buf[2048]; int read = -1; axis2_bool_t end_of_line = AXIS2_FALSE; axis2_bool_t end_of_headers = AXIS2_FALSE; axis2_http_request_line_t *request_line = NULL; axis2_http_simple_request_t *request = NULL; while ((read = axutil_stream_peek_socket(svr_conn->stream, env, tmp_buf, 2048 - 1)) > 0) { axis2_char_t *start = tmp_buf; axis2_char_t *end = NULL; tmp_buf[read] = AXIS2_ESC_NULL; end = strstr(tmp_buf, AXIS2_HTTP_CRLF); if (end) { read = axutil_stream_read(svr_conn->stream, env, tmp_buf, end - start + 2); if (read > 0) { axis2_char_t* tmp_str_line = NULL; tmp_buf[read] = AXIS2_ESC_NULL; tmp_str_line = axutil_stracat(env, str_line, tmp_buf); if(tmp_str_line) { AXIS2_FREE(env->allocator, str_line); str_line = tmp_str_line; } break; } else { /* read returns 0 or negative value, this could be an error */ break; } } else { /* not reached end yet */ read = axutil_stream_read(svr_conn->stream, env, tmp_buf, 2048 - 1); if (read > 0) { axis2_char_t* tmp_str_line = NULL; tmp_buf[read] = AXIS2_ESC_NULL; tmp_str_line = axutil_stracat(env, str_line, tmp_buf); if(tmp_str_line) { AXIS2_FREE(env->allocator, str_line); str_line = tmp_str_line; } } } } request_line = axis2_http_request_line_parse_line(env, str_line); AXIS2_FREE(env->allocator, str_line); str_line = NULL; if (!request_line) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); return NULL; } request = axis2_http_simple_request_create(env, request_line, NULL, 0, svr_conn->stream); /* now read the headers */ end_of_line = AXIS2_FALSE; while (AXIS2_FALSE == end_of_headers) { axis2_bool_t is_read = AXIS2_FALSE; while ((read = axutil_stream_peek_socket(svr_conn->stream, env, tmp_buf, 2048 - 1)) > 0) { axis2_char_t *start = tmp_buf; axis2_char_t *end = NULL; is_read = AXIS2_TRUE; tmp_buf[read] = AXIS2_ESC_NULL; end = strstr(tmp_buf, AXIS2_HTTP_CRLF); if (end) { read = axutil_stream_read(svr_conn->stream, env, tmp_buf, end - start + 2); if (read > 0) { axis2_char_t* tmp_str_line = NULL; tmp_buf[read] = AXIS2_ESC_NULL; tmp_str_line = axutil_stracat(env, str_line, tmp_buf); if(tmp_str_line) { AXIS2_FREE(env->allocator, str_line); str_line = tmp_str_line; } end_of_line = AXIS2_TRUE; break; } else { break; } } else { read = axutil_stream_read(svr_conn->stream, env, tmp_buf, 2048 - 1); if (read > 0) { axis2_char_t* tmp_str_line = NULL; tmp_buf[read] = AXIS2_ESC_NULL; tmp_str_line = axutil_stracat(env, str_line, tmp_buf); if(tmp_str_line) { AXIS2_FREE(env->allocator, str_line); str_line = tmp_str_line; } } } } if (AXIS2_TRUE == end_of_line) { if (0 == axutil_strcmp(str_line, AXIS2_HTTP_CRLF)) { end_of_headers = AXIS2_TRUE; } else { axis2_http_header_t *tmp_header = axis2_http_header_create_by_str(env, str_line); AXIS2_FREE(env->allocator, str_line); str_line = NULL; if (tmp_header) { axis2_http_simple_request_add_header(request, env, tmp_header); } } } end_of_line = AXIS2_FALSE; if(!is_read) { /*if nothing is read, this loop should be broken. Otherwise, going to be endless loop */ break; } } return request; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_write_response( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, axis2_http_simple_response_t * response) { axis2_http_response_writer_t *response_writer = NULL; axutil_array_list_t *headers = NULL; axutil_stream_t *response_stream = NULL; axis2_char_t *response_body = NULL; int body_size = 0; int i = 0; axis2_http_header_t *enc_header = NULL; axis2_bool_t chuked_encoding = AXIS2_FALSE; axis2_char_t *status_line = NULL; axis2_bool_t binary_content = AXIS2_FALSE; axis2_char_t *content_type = NULL; AXIS2_PARAM_CHECK(env->error, response, AXIS2_FAILURE); response_writer = axis2_http_response_writer_create(env, svr_conn->stream); content_type = (axis2_char_t *) axis2_http_simple_response_get_content_type(response, env); if (content_type) { if (strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED) && strstr(content_type, AXIS2_HTTP_HEADER_ACCEPT_XOP_XML)) binary_content = AXIS2_TRUE; } if (!response_writer) { return AXIS2_FAILURE; } enc_header = axis2_http_simple_response_get_first_header(response, env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING); if (enc_header) { axis2_char_t *enc_value = axis2_http_header_get_value(enc_header, env); if (enc_value) { if (0 == axutil_strcmp(enc_value, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { chuked_encoding = AXIS2_TRUE; /* remove the content length header */ if (AXIS2_TRUE == axis2_http_simple_response_contains_header(response, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH)) { axis2_http_simple_response_remove_headers(response, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH); } } } } status_line = axis2_http_simple_response_get_status_line(response, env); if (!status_line) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); axis2_http_response_writer_free(response_writer, env); response_writer = NULL; return AXIS2_FAILURE; } axis2_http_response_writer_print_str(response_writer, env, status_line); headers = axis2_http_simple_response_get_headers(response, env); if (headers) { for (i = 0; i < axutil_array_list_size(headers, env); i++) { axis2_http_header_t *header = NULL; header = (axis2_http_header_t *) axutil_array_list_get(headers, env, i); if (header) { axis2_char_t *header_ext_form = axis2_http_header_to_external_form((axis2_http_header_t *) header, env); axis2_http_response_writer_print_str(response_writer, env, header_ext_form); AXIS2_FREE(env->allocator, header_ext_form); } } } axis2_http_response_writer_println(response_writer, env); response_stream = axis2_http_simple_response_get_body(response, env); if (response_stream) { body_size = axutil_stream_get_len(response_stream, env); response_body = axutil_stream_get_buffer(response_stream, env); axutil_stream_flush_buffer(response_stream, env); response_body[body_size] = AXIS2_ESC_NULL; } if (body_size <= 0 && !binary_content) { axis2_http_response_writer_free(response_writer, env); return AXIS2_SUCCESS; } /* This sending a normal SOAP response without chunk transfer encoding */ if (AXIS2_FALSE == chuked_encoding && !binary_content) { axis2_status_t write_stat = AXIS2_FAILURE; if (AXIS2_FALSE == binary_content) { write_stat = axis2_http_response_writer_println_str(response_writer, env, response_body); } else { write_stat = axis2_http_response_writer_write_buf(response_writer, env, response_body, 0, body_size); } if (AXIS2_SUCCESS != write_stat) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_RESPONSE, AXIS2_FAILURE); axis2_http_response_writer_free(response_writer, env); return AXIS2_FAILURE; } } /* In the MTOM case we enable chunking inorder to send the attachment */ else if(binary_content) { axutil_http_chunked_stream_t *chunked_stream = NULL; axis2_status_t write_stat = AXIS2_FAILURE; axutil_array_list_t *mime_parts = NULL; axis2_char_t *mtom_sending_callback_name = NULL; mime_parts = axis2_http_simple_response_get_mime_parts(response, env); mtom_sending_callback_name = axis2_http_simple_response_get_mtom_sending_callback_name( response, env); /* If the callback name is not there, then we will check whether there * is any mime_parts which has type callback. If we found then no point * of continuing we should return a failure */ if(!mtom_sending_callback_name) { if(axis2_http_transport_utils_is_callback_required( env, mime_parts)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Sender callback not specified"); return AXIS2_FAILURE; } } chunked_stream = axutil_http_chunked_stream_create(env, svr_conn->stream); if(mime_parts) { write_stat = axis2_http_transport_utils_send_mtom_message( chunked_stream, env, mime_parts, mtom_sending_callback_name); axutil_http_chunked_stream_free(chunked_stream, env); chunked_stream = NULL; if(write_stat == AXIS2_FAILURE) { return write_stat; } } else { return AXIS2_FAILURE; } } /* Sending a normal SOAP response enabling htpp chunking */ else { axutil_http_chunked_stream_t *chunked_stream = NULL; int left = body_size; chunked_stream = axutil_http_chunked_stream_create(env, svr_conn->stream); while (left > 0) { left -= axutil_http_chunked_stream_write(chunked_stream, env, response_body, body_size); } axutil_http_chunked_stream_write_last_chunk(chunked_stream, env); axutil_http_chunked_stream_free(chunked_stream, env); } axis2_http_response_writer_free(response_writer, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_set_rcv_timeout( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout) { return axutil_network_handler_set_sock_option(env, svr_conn->socket, SO_RCVTIMEO, timeout); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_set_snd_timeout( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout) { return axutil_network_handler_set_sock_option(env, svr_conn->socket, SO_SNDTIMEO, timeout); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_http_svr_conn_get_svr_ip( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { return axutil_network_handler_get_svr_ip(env, svr_conn->socket); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_http_svr_conn_get_peer_ip( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env) { return axutil_network_handler_get_peer_ip(env, svr_conn->socket); } axis2c-src-1.6.0/src/core/transport/http/common/http_header.c0000644000175000017500000001014511166304467025322 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include struct axis2_http_header { axis2_char_t *name; axis2_char_t *value; }; AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_header_create( const axutil_env_t * env, const axis2_char_t * name, const axis2_char_t * value) { axis2_http_header_t *http_header = NULL; http_header = (axis2_http_header_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_header_t)); if (!http_header) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)http_header, 0, sizeof (axis2_http_header_t)); http_header->name = (axis2_char_t *) axutil_strdup(env, name); http_header->value = (axis2_char_t *) axutil_strdup(env, value); return http_header; } AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_header_create_by_str( const axutil_env_t * env, const axis2_char_t * str) { axis2_char_t *tmp_str = NULL; axis2_char_t *ch = NULL; axis2_char_t *ch2 = NULL; axis2_http_header_t *ret = NULL; AXIS2_PARAM_CHECK (env->error, str, NULL); tmp_str = axutil_strdup(env, str); if (!tmp_str) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to strdup string, %s", str); return NULL; } /* remove trailing \r\n */ if ((axutil_strlen(tmp_str) >= 2) && (AXIS2_RETURN == tmp_str[axutil_strlen(tmp_str) - 2])) { tmp_str[axutil_strlen(tmp_str) - 2] = AXIS2_ESC_NULL; } ch = strchr((const char *) tmp_str, AXIS2_COLON); if (!ch) { AXIS2_FREE(env->allocator, tmp_str); return NULL; } ch2 = ch + sizeof(axis2_char_t); /* skip spaces */ while (AXIS2_SPACE == *ch2) { ch2 += sizeof(axis2_char_t); } *ch = AXIS2_ESC_NULL; ret = axis2_http_header_create(env, tmp_str, ch2); AXIS2_FREE(env->allocator, tmp_str); return ret; } AXIS2_EXTERN void AXIS2_CALL axis2_http_header_free( axis2_http_header_t * http_header, const axutil_env_t * env) { if (!http_header) { return; } if (http_header->name) { AXIS2_FREE(env->allocator, http_header->name); } if (http_header->value) { AXIS2_FREE(env->allocator, http_header->value); } AXIS2_FREE(env->allocator, http_header); return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_header_to_external_form( axis2_http_header_t * http_header, const axutil_env_t * env) { axis2_ssize_t len = 0; axis2_char_t *external_form = NULL; AXIS2_PARAM_CHECK(env->error, http_header, NULL); len = axutil_strlen(http_header->name) + axutil_strlen(http_header->value) + 8; external_form = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len); sprintf(external_form, "%s: %s%s", http_header->name, http_header->value, AXIS2_HTTP_CRLF); return external_form; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_header_get_name( const axis2_http_header_t * http_header, const axutil_env_t * env) { return http_header->name; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_header_get_value( const axis2_http_header_t * http_header, const axutil_env_t * env) { return http_header->value; } axis2c-src-1.6.0/src/core/transport/http/Makefile.am0000644000175000017500000000004111166304467023425 0ustar00manjulamanjula00000000000000SUBDIRS = sender receiver server axis2c-src-1.6.0/src/core/transport/http/Makefile.in0000644000175000017500000003474711172017204023445 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = sender receiver server all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/sender/0000777000175000017500000000000011172017537022656 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/sender/ssl/0000777000175000017500000000000011172017537023457 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/sender/ssl/Makefile.am0000644000175000017500000000007711166304462025512 0ustar00manjulamanjula00000000000000EXTRA_DIST= ssl_stream.c ssl_stream.h ssl_utils.c ssl_utils.h axis2c-src-1.6.0/src/core/transport/http/sender/ssl/Makefile.in0000644000175000017500000002214011172017204025506 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/sender/ssl DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = ssl_stream.c ssl_stream.h ssl_utils.c ssl_utils.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/sender/ssl/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/sender/ssl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/sender/ssl/ssl_stream.c0000644000175000017500000001461211166304462025776 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifdef AXIS2_SSL_ENABLED #include #include #include "ssl_stream.h" #include "ssl_utils.h" /** * @brief Stream struct impl * Streaming mechanisms for SSL */ typedef struct ssl_stream_impl ssl_stream_impl_t; struct ssl_stream_impl { axutil_stream_t stream; axutil_stream_type_t stream_type; SSL *ssl; SSL_CTX *ctx; axis2_socket_t socket; }; #define AXIS2_INTF_TO_IMPL(stream) ((ssl_stream_impl_t *)(stream)) void AXIS2_CALL axis2_ssl_stream_free( axutil_stream_t * stream, const axutil_env_t * env); axutil_stream_type_t AXIS2_CALL axis2_ssl_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env); int AXIS2_CALL axis2_ssl_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); int AXIS2_CALL axis2_ssl_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); int AXIS2_CALL axis2_ssl_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count); int AXIS2_CALL axis2_ssl_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_ssl( const axutil_env_t * env, axis2_socket_t socket, axis2_char_t * server_cert, axis2_char_t * key_file, axis2_char_t * ssl_pp) { ssl_stream_impl_t *stream_impl = NULL; stream_impl = (ssl_stream_impl_t *) AXIS2_MALLOC(env->allocator, sizeof(ssl_stream_impl_t)); if (!stream_impl) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)stream_impl, 0, sizeof (ssl_stream_impl_t)); stream_impl->socket = socket; stream_impl->ctx = NULL; stream_impl->ssl = NULL; stream_impl->ctx = axis2_ssl_utils_initialize_ctx(env, server_cert, key_file, ssl_pp); if (!stream_impl->ctx) { axis2_ssl_stream_free((axutil_stream_t *) stream_impl, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SSL_ENGINE, AXIS2_FAILURE); return NULL; } stream_impl->ssl = axis2_ssl_utils_initialize_ssl(env, stream_impl->ctx, stream_impl->socket); if (!stream_impl->ssl) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SSL_ENGINE, AXIS2_FAILURE); return NULL; } stream_impl->stream_type = AXIS2_STREAM_MANAGED; axutil_stream_set_read(&(stream_impl->stream), env, axis2_ssl_stream_read); axutil_stream_set_write(&(stream_impl->stream), env, axis2_ssl_stream_write); axutil_stream_set_skip(&(stream_impl->stream), env, axis2_ssl_stream_skip); return &(stream_impl->stream); } void AXIS2_CALL axis2_ssl_stream_free( axutil_stream_t * stream, const axutil_env_t * env) { ssl_stream_impl_t *stream_impl = NULL; stream_impl = AXIS2_INTF_TO_IMPL(stream); axis2_ssl_utils_cleanup_ssl(env, stream_impl->ctx, stream_impl->ssl); AXIS2_FREE(env->allocator, stream_impl); return; } int AXIS2_CALL axis2_ssl_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count) { ssl_stream_impl_t *stream_impl = NULL; int read = -1; int len = -1; stream_impl = AXIS2_INTF_TO_IMPL(stream); SSL_set_mode(stream_impl->ssl, SSL_MODE_AUTO_RETRY); read = SSL_read(stream_impl->ssl, buffer, (int)count); /* We are sure that the difference lies within the int range */ switch (SSL_get_error(stream_impl->ssl, read)) { case SSL_ERROR_NONE: len = read; break; case SSL_ERROR_ZERO_RETURN: len = -1; break; case SSL_ERROR_SYSCALL: AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SSL Error: Premature close"); len = -1; break; default: len = -1; break; } return len; } int AXIS2_CALL axis2_ssl_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buf, size_t count) { ssl_stream_impl_t *stream_impl = NULL; int write = -1; AXIS2_PARAM_CHECK(env->error, buf, AXIS2_FAILURE); stream_impl = AXIS2_INTF_TO_IMPL(stream); write = SSL_write(stream_impl->ssl, buf, (int)count); /* We are sure that the difference lies within the int range */ switch (SSL_get_error(stream_impl->ssl, write)) { case SSL_ERROR_NONE: if ((int)count != write) /* We are sure that the difference lies within the int range */ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Incomplete SSL write!"); break; default: return -1; } return write; } int AXIS2_CALL axis2_ssl_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count) { ssl_stream_impl_t *stream_impl = NULL; axis2_char_t *tmp_buffer = NULL; int len = -1; stream_impl = AXIS2_INTF_TO_IMPL(stream); tmp_buffer = AXIS2_MALLOC(env->allocator, count * sizeof(axis2_char_t)); if (tmp_buffer == NULL) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return -1; } len = SSL_read(stream_impl->ssl, tmp_buffer, count); AXIS2_FREE(env->allocator, tmp_buffer); return len; } int AXIS2_CALL axis2_ssl_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env) { int ret = -1; return ret; } axutil_stream_type_t AXIS2_CALL axis2_ssl_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env) { return AXIS2_INTF_TO_IMPL(stream)->stream_type; } #endif axis2c-src-1.6.0/src/core/transport/http/sender/ssl/ssl_stream.h0000644000175000017500000000247411166304462026006 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SSL_STREAM_H #define AXIS2_SSL_STREAM_H #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** \brief Constructor for creating ssl stream * @return axutil_stream (ssl) */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_ssl( const axutil_env_t * env, axis2_socket_t socket, axis2_char_t * server_cert, axis2_char_t * key_file, axis2_char_t * ssl_pp); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SSL_STREAM_H */ axis2c-src-1.6.0/src/core/transport/http/sender/ssl/ssl_utils.c0000644000175000017500000001445311166304462025646 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifdef AXIS2_SSL_ENABLED #include "ssl_utils.h" #include BIO *bio_err = 0; static int password_cb( char *buf, int size, int rwflag, void *passwd) { strncpy(buf, (char *) passwd, size); buf[size - 1] = '\0'; return (int)(strlen(buf)); /* We are sure that the difference lies within the int range */ } AXIS2_EXTERN SSL_CTX *AXIS2_CALL axis2_ssl_utils_initialize_ctx( const axutil_env_t * env, axis2_char_t * server_cert, axis2_char_t * key_file, axis2_char_t * ssl_pp) { SSL_METHOD *meth = NULL; SSL_CTX *ctx = NULL; axis2_char_t *ca_file = server_cert; if (!ca_file) { AXIS2_LOG_INFO(env->log, "[ssl client] CA certificate not specified"); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SSL_NO_CA_FILE, AXIS2_FAILURE); return NULL; } if (!bio_err) { /* Global system initialization */ SSL_library_init(); SSL_load_error_strings(); /* An error write context */ bio_err = BIO_new_fp(stderr, BIO_NOCLOSE); } /* Create our context */ meth = SSLv23_method(); ctx = SSL_CTX_new(meth); /* Load our keys and certificates * If we need client certificates it has to be done here */ if (key_file) /*can we check if the server needs client auth? */ { if (!ssl_pp) { AXIS2_LOG_INFO(env->log, "[ssl client] No passphrase specified for \ key file %s and server cert %s", key_file, server_cert); } SSL_CTX_set_default_passwd_cb_userdata(ctx, (void *) ssl_pp); SSL_CTX_set_default_passwd_cb(ctx, password_cb); if (!(SSL_CTX_use_certificate_chain_file(ctx, key_file))) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[ssl client] Loading client certificate failed \ , key file %s", key_file); SSL_CTX_free(ctx); return NULL; } if (!(SSL_CTX_use_PrivateKey_file(ctx, key_file, SSL_FILETYPE_PEM))) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[ssl client] Loading client key failed, key file \ %s", key_file); SSL_CTX_free(ctx); return NULL; } } else { AXIS2_LOG_INFO(env->log, "[ssl client] Client certificate chain file" "not specified"); } /* Load the CAs we trust */ if (!(SSL_CTX_load_verify_locations(ctx, ca_file, 0))) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[ssl client] Loading CA certificate failed, \ ca_file is %s", ca_file); SSL_CTX_free(ctx); return NULL; } return ctx; } AXIS2_EXTERN SSL *AXIS2_CALL axis2_ssl_utils_initialize_ssl( const axutil_env_t * env, SSL_CTX * ctx, axis2_socket_t socket) { SSL *ssl = NULL; BIO *sbio = NULL; AXIS2_PARAM_CHECK(env->error, ctx, NULL); ssl = SSL_new(ctx); if (!ssl) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "[ssl]unable to create new ssl context"); return NULL; } sbio = BIO_new_socket((int)socket, BIO_NOCLOSE); if (!sbio) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "[ssl]unable to create BIO new socket for socket %d", (int)socket); return NULL; } SSL_set_bio(ssl, sbio, sbio); if (SSL_connect(ssl) <= 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SSL_ENGINE, AXIS2_FAILURE); return NULL; } if (SSL_get_verify_result(ssl) != X509_V_OK) { char sslerror[128]; /** error buffer must be at least 120 bytes long */ X509 *peer_cert = NULL; X509_STORE *cert_store = NULL; X509_NAME *peer_name = NULL; X509_OBJECT *client_object = NULL; X509 *client_cert = NULL; peer_cert = SSL_get_peer_certificate(ssl); if (peer_cert && peer_cert->cert_info) { peer_name = (peer_cert->cert_info)->subject; } cert_store = SSL_CTX_get_cert_store(ctx); if (peer_name && cert_store) { client_object = X509_OBJECT_retrieve_by_subject(cert_store->objs, X509_LU_X509, peer_name); } if (client_object) { client_cert = (client_object->data).x509; if (client_cert && (M_ASN1_BIT_STRING_cmp(client_cert->signature, peer_cert->signature) == 0)) { if (peer_cert) { X509_free(peer_cert); } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[ssl client] SSL certificate verified against peer"); return ssl; } } if (peer_cert) { X509_free(peer_cert); } ERR_error_string(SSL_get_verify_result(ssl), sslerror); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[ssl client] SSL certificate verification failed (%s)", sslerror); return NULL; } return ssl; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ssl_utils_cleanup_ssl( const axutil_env_t * env, SSL_CTX * ctx, SSL * ssl) { if (ssl) { SSL_shutdown(ssl); } if (ctx) { SSL_CTX_free(ctx); } return AXIS2_SUCCESS; } #endif axis2c-src-1.6.0/src/core/transport/http/sender/ssl/ssl_utils.h0000644000175000017500000000314211166304462025644 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SSL_UTILS_H #define AXIS2_SSL_UTILS_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN SSL_CTX *AXIS2_CALL axis2_ssl_utils_initialize_ctx( const axutil_env_t * env, axis2_char_t * server_cert, axis2_char_t * key_file, axis2_char_t * ssl_pp); AXIS2_EXTERN SSL *AXIS2_CALL axis2_ssl_utils_initialize_ssl( const axutil_env_t * env, SSL_CTX * ctx, axis2_socket_t socket); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ssl_utils_cleanup_ssl( const axutil_env_t * env, SSL_CTX * ctx, SSL * ssl); #ifdef __cplusplus } #endif #endif /* AXIS2_SSL_UTILS_H */ axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/0000777000175000017500000000000011172017540024304 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/Makefile.am0000644000175000017500000000011711166304463026341 0ustar00manjulamanjula00000000000000EXTRA_DIST= axis2_libcurl.h axis2_libcurl.c libcurl_stream.h libcurl_stream.c axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/Makefile.in0000644000175000017500000002217411172017204026350 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/sender/libcurl DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ EXTRA_DIST = axis2_libcurl.h axis2_libcurl.c libcurl_stream.h libcurl_stream.c all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/sender/libcurl/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/sender/libcurl/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/libcurl_stream.c0000644000175000017500000001232711166304463027466 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifdef AXIS2_LIBCURL_ENABLED #include "libcurl_stream.h" #include typedef struct libcurl_stream_impl { axutil_stream_t stream; axutil_stream_type_t stream_type; axis2_char_t *buffer; int size; int read_len; } libcurl_stream_impl_t; #define AXIS2_INTF_TO_IMPL(stream) ((libcurl_stream_impl_t *)(stream)) /********************************Function headers******************************/ axutil_stream_type_t AXIS2_CALL libcurl_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env); int AXIS2_CALL libcurl_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); int AXIS2_CALL libcurl_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); int AXIS2_CALL libcurl_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count); int AXIS2_CALL libcurl_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env); /************************* End of function headers ****************************/ /* * Internal function. Not exposed to outside */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_libcurl( const axutil_env_t * env, axis2_char_t * buffer, unsigned int size) { libcurl_stream_impl_t *stream_impl = NULL; AXIS2_PARAM_CHECK(env->error, buffer, NULL); stream_impl = (libcurl_stream_impl_t *) AXIS2_MALLOC(env->allocator, sizeof(libcurl_stream_impl_t)); if (!stream_impl) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } stream_impl->buffer = buffer; stream_impl->size = size; stream_impl->read_len = 0; stream_impl->stream_type = AXIS2_STREAM_MANAGED; axutil_stream_set_read(&(stream_impl->stream), env, libcurl_stream_read); axutil_stream_set_write(&(stream_impl->stream), env, libcurl_stream_write); axutil_stream_set_skip(&(stream_impl->stream), env, libcurl_stream_skip); return &(stream_impl->stream); } void AXIS2_CALL libcurl_stream_free( void * stream, const axutil_env_t * env) { libcurl_stream_impl_t *stream_impl = NULL; stream_impl = AXIS2_INTF_TO_IMPL(stream); AXIS2_FREE(env->allocator, stream_impl); return; } int AXIS2_CALL libcurl_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count) { libcurl_stream_impl_t *stream_impl = NULL; int read = 0; int unread = 0; stream_impl = AXIS2_INTF_TO_IMPL(stream); if (stream_impl->size >= (int)count) /* We are sure that the difference lies within the int range */ { if (buffer && (stream_impl->size > stream_impl->read_len)) { unread = (stream_impl->size - stream_impl->read_len); if (unread > (int)count) /* We are sure that the difference lies within the int range */ { memcpy(buffer, &stream_impl->buffer[stream_impl->read_len], count); read = (int)count; /* We are sure that the difference lies within the int range */ stream_impl->read_len += read; } else { memcpy(buffer, &stream_impl->buffer[stream_impl->read_len], unread); read = unread; stream_impl->read_len += read; } } else read = 0; } else { if (buffer && (stream_impl->size > stream_impl->read_len)) { memcpy(buffer, &stream_impl->buffer[stream_impl->read_len], stream_impl->size - stream_impl->read_len); read = stream_impl->size - stream_impl->read_len; stream_impl->read_len += read; } else read = 0; } return read; } int AXIS2_CALL libcurl_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count) { return (int)count; /* We are sure that the difference lies within the int range */ } int AXIS2_CALL libcurl_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count) { return 0; } int AXIS2_CALL libcurl_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env) { return 0; } #endif /* AXIS2_LIBCURL_ENABLED */ axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/libcurl_stream.h0000644000175000017500000000270211166304463027467 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef LIBCURL_STREAM_H #define LIBCURL_STREAM_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** brief Constructor for creating apche2 stream * @return axutil_stream (libcurl) */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_libcurl( const axutil_env_t * env, axis2_char_t * buffer, unsigned int size); /** @} */ void AXIS2_CALL libcurl_stream_free( void * stream, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* LIBCURL_STREAM_H */ axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/axis2_libcurl.c0000644000175000017500000006711311166304463027224 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifdef AXIS2_LIBCURL_ENABLED #include "axis2_libcurl.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "libcurl_stream.h" static int ref = 0; struct axis2_libcurl { axis2_char_t *memory; axutil_array_list_t *alist; unsigned int size; const axutil_env_t *env; char errorbuffer[CURL_ERROR_SIZE]; CURL *handler; axis2_bool_t cookies; }; static size_t axis2_libcurl_write_memory_callback( void *ptr, size_t size, size_t nmemb, void *data); static size_t axis2_libcurl_header_callback( void *ptr, size_t size, size_t nmemb, void *data); static axis2_char_t * axis2_libcurl_get_content_type( axis2_libcurl_t *curl, const axutil_env_t * env); static int axis2_libcurl_get_content_length( axis2_libcurl_t *curl, const axutil_env_t * env); static axis2_http_header_t * axis2_libcurl_get_first_header( axis2_libcurl_t *curl, const axutil_env_t * env, const axis2_char_t * str); static void axis2_libcurl_free_headers( axis2_libcurl_t *curl, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libcurl_send( axis2_libcurl_t *data, axiom_output_t * om_output, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axiom_soap_envelope_t * out, const axis2_char_t * str_url, const axis2_char_t * soap_action) { struct curl_slist *headers = NULL; axiom_soap_body_t *soap_body; axis2_bool_t is_soap = AXIS2_TRUE; axis2_bool_t send_via_get = AXIS2_FALSE; axis2_bool_t send_via_head = AXIS2_FALSE; axis2_bool_t send_via_put = AXIS2_FALSE; axis2_bool_t send_via_delete = AXIS2_FALSE; axis2_bool_t doing_mtom = AXIS2_FALSE; axiom_node_t *body_node = NULL; axiom_node_t *data_out = NULL; axutil_property_t *method = NULL; axis2_char_t *method_value = NULL; axiom_xml_writer_t *xml_writer = NULL; axis2_char_t *buffer = NULL; unsigned int buffer_size = 0; int content_length = -1; axis2_char_t *content_type; axis2_char_t *content_len = AXIS2_HTTP_HEADER_CONTENT_LENGTH_; const axis2_char_t *char_set_enc = NULL; axis2_char_t *content = AXIS2_HTTP_HEADER_CONTENT_TYPE_; axis2_char_t *soap_action_header = AXIS2_HTTP_HEADER_SOAP_ACTION_; axutil_stream_t *in_stream; axutil_property_t *trans_in_property; axutil_string_t *char_set_enc_str; axis2_byte_t *output_stream = NULL; int output_stream_size = 0; CURL *handler; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *write_xml_declaration_param = NULL; axutil_hash_t *transport_attrs = NULL; axis2_bool_t write_xml_declaration = AXIS2_FALSE; axutil_property_t *property; int *response_length = NULL; axis2_http_status_line_t *status_line = NULL; axis2_char_t *status_line_str = NULL; axis2_char_t *tmp_strcat = NULL; int status_code = 0; AXIS2_PARAM_CHECK(env->error, data, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, data->handler, AXIS2_FAILURE); handler = data->handler; curl_easy_reset(handler); curl_easy_setopt(handler, CURLOPT_ERRORBUFFER, &data->errorbuffer); headers = curl_slist_append(headers, AXIS2_HTTP_HEADER_USER_AGENT_AXIS2C); headers = curl_slist_append(headers, AXIS2_HTTP_HEADER_ACCEPT_); headers = curl_slist_append(headers, AXIS2_HTTP_HEADER_EXPECT_); if (AXIS2_TRUE == axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { is_soap = AXIS2_FALSE; } else { is_soap = AXIS2_TRUE; } if (!is_soap) { soap_body = axiom_soap_envelope_get_body(out, env); if (!soap_body) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, AXIS2_FAILURE); return AXIS2_FAILURE; } body_node = axiom_soap_body_get_base_node(soap_body, env); if (!body_node) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, AXIS2_FAILURE); return AXIS2_FAILURE; } data_out = axiom_node_get_first_element(body_node, env); method = (axutil_property_t *) axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HTTP_METHOD); if (method) { method_value = (axis2_char_t *) axutil_property_get_value(method, env); } /* The default is POST */ if (method_value && 0 == axutil_strcmp(method_value, AXIS2_HTTP_GET)) { send_via_get = AXIS2_TRUE; } else if (method_value && 0 == axutil_strcmp(method_value, AXIS2_HTTP_HEAD)) { send_via_head = AXIS2_TRUE; } else if (method_value && 0 == axutil_strcmp(method_value, AXIS2_HTTP_PUT)) { send_via_put = AXIS2_TRUE; } else if (method_value && 0 == axutil_strcmp(method_value, AXIS2_HTTP_DELETE)) { send_via_delete = AXIS2_TRUE; } } conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); } if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } if (trans_desc) { write_xml_declaration_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_XML_DECLARATION); } if (write_xml_declaration_param) { transport_attrs = axutil_param_get_attributes (write_xml_declaration_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *write_xml_declaration_attr = NULL; axis2_char_t *write_xml_declaration_attr_value = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_ADD_XML_DECLARATION, AXIS2_HASH_KEY_STRING); if (obj) { write_xml_declaration_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (write_xml_declaration_attr) { write_xml_declaration_attr_value = axiom_attribute_get_value (write_xml_declaration_attr, env); } if (write_xml_declaration_attr_value && 0 == axutil_strcasecmp (write_xml_declaration_attr_value, AXIS2_VALUE_TRUE)) { write_xml_declaration = AXIS2_TRUE; } } } if (write_xml_declaration) { axiom_output_write_xml_version_encoding (om_output, env); } if (!send_via_get && !send_via_head && !send_via_delete) { xml_writer = axiom_output_get_xml_writer(om_output, env); char_set_enc_str = axis2_msg_ctx_get_charset_encoding(msg_ctx, env); if (!char_set_enc_str) { char_set_enc = AXIS2_DEFAULT_CHAR_SET_ENCODING; } else { char_set_enc = axutil_string_get_buffer(char_set_enc_str, env); } if (!send_via_put && is_soap) { doing_mtom = axis2_msg_ctx_get_doing_mtom(msg_ctx, env); axiom_output_set_do_optimize(om_output, env, doing_mtom); axiom_soap_envelope_serialize(out, env, om_output, AXIS2_FALSE); if (AXIS2_TRUE == axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { if (AXIS2_ESC_DOUBLE_QUOTE != *soap_action) { axis2_char_t *tmp_soap_action = NULL; tmp_soap_action = AXIS2_MALLOC(env->allocator, (axutil_strlen(soap_action) + 5) * sizeof(axis2_char_t)); sprintf(tmp_soap_action, "\"%s\"", soap_action); tmp_strcat = axutil_stracat(env, soap_action_header,tmp_soap_action); headers = curl_slist_append(headers, tmp_strcat); AXIS2_FREE(env->allocator, tmp_strcat); AXIS2_FREE(env->allocator, tmp_soap_action); } else { tmp_strcat = axutil_stracat(env, soap_action_header, soap_action); headers = curl_slist_append(headers, tmp_strcat ); AXIS2_FREE(env->allocator, tmp_strcat); } } if (doing_mtom) { /*axiom_output_flush(om_output, env, &output_stream, &output_stream_size);*/ axiom_output_flush(om_output, env); content_type = (axis2_char_t *) axiom_output_get_content_type(om_output, env); if (AXIS2_TRUE != axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { if (axutil_strcmp(soap_action, "")) { /* handle SOAP action for SOAP 1.2 case */ axis2_char_t *temp_content_type = NULL; temp_content_type = axutil_stracat (env, content_type, AXIS2_CONTENT_TYPE_ACTION); content_type = temp_content_type; temp_content_type = axutil_stracat (env, content_type, soap_action); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; temp_content_type = axutil_stracat (env, content_type, AXIS2_ESC_DOUBLE_QUOTE_STR); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; } } } else if (AXIS2_TRUE == axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { axis2_char_t *temp_content_type = NULL; content_type = (axis2_char_t *) AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML; content_type = axutil_stracat(env, content_type, AXIS2_CONTENT_TYPE_CHARSET); temp_content_type = axutil_stracat(env, content_type, char_set_enc); AXIS2_FREE(env->allocator, content_type); content_type = temp_content_type; } else { axis2_char_t *temp_content_type = NULL; content_type = (axis2_char_t *) AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP; content_type = axutil_stracat(env, content_type, AXIS2_CONTENT_TYPE_CHARSET); temp_content_type = axutil_stracat(env, content_type, char_set_enc); AXIS2_FREE(env->allocator, content_type); content_type = temp_content_type; if (axutil_strcmp(soap_action, "")) { temp_content_type = axutil_stracat(env, content_type, AXIS2_CONTENT_TYPE_ACTION); AXIS2_FREE(env->allocator, content_type); content_type = temp_content_type; temp_content_type = axutil_stracat(env, content_type, soap_action); AXIS2_FREE(env->allocator, content_type); content_type = temp_content_type; } temp_content_type = axutil_stracat(env, content_type, AXIS2_SEMI_COLON_STR); AXIS2_FREE(env->allocator, content_type); content_type = temp_content_type; } } else if (is_soap) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Attempt to send SOAP" "message using HTTP PUT failed"); return AXIS2_FAILURE; } else { axutil_property_t *content_type_property = NULL; axutil_hash_t *content_type_hash = NULL; axis2_char_t *content_type_value = NULL; axiom_node_serialize(data_out, env, om_output); content_type_property = (axutil_property_t *) axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPE); if (content_type_property) { content_type_hash = (axutil_hash_t *) axutil_property_get_value(content_type_property, env); if (content_type_hash) { content_type_value = (char *) axutil_hash_get(content_type_hash, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HASH_KEY_STRING); } } if (content_type_value) { content_type = content_type_value; } else { content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML; } } buffer = axiom_xml_writer_get_xml(xml_writer, env); if (!doing_mtom) { buffer_size = axiom_xml_writer_get_xml_size(xml_writer, env); } else buffer_size = output_stream_size; { char tmp_buf[10]; sprintf(tmp_buf, "%d", buffer_size); tmp_strcat = axutil_stracat(env, content_len, tmp_buf); headers = curl_slist_append(headers, tmp_strcat); AXIS2_FREE(env->allocator, tmp_strcat); tmp_strcat = NULL; tmp_strcat = axutil_stracat(env, content, content_type); headers = curl_slist_append(headers, tmp_strcat); AXIS2_FREE(env->allocator, tmp_strcat); tmp_strcat = NULL; } if (!doing_mtom) { curl_easy_setopt(handler, CURLOPT_POSTFIELDSIZE, buffer_size); curl_easy_setopt(handler, CURLOPT_POSTFIELDS, buffer); } else { curl_easy_setopt(handler, CURLOPT_POSTFIELDSIZE, output_stream_size); curl_easy_setopt(handler, CURLOPT_POSTFIELDS, output_stream); } if (send_via_put) { curl_easy_setopt(handler, CURLOPT_CUSTOMREQUEST, AXIS2_HTTP_PUT); } curl_easy_setopt(handler, CURLOPT_URL, str_url); } else { axis2_char_t *request_param; axis2_char_t *url_encode; request_param = (axis2_char_t *) axis2_http_sender_get_param_string(NULL, env, msg_ctx); url_encode = axutil_strcat(env, str_url, AXIS2_Q_MARK_STR, request_param, NULL); if (send_via_get) { curl_easy_setopt(handler, CURLOPT_HTTPGET, 1); } else if (send_via_head) { curl_easy_setopt(handler, CURLOPT_NOBODY, 1); } else if (send_via_delete) { curl_easy_setopt(handler, CURLOPT_CUSTOMREQUEST, AXIS2_HTTP_DELETE); } curl_easy_setopt(handler, CURLOPT_URL, url_encode); } { axis2_bool_t manage_session; manage_session = axis2_msg_ctx_get_manage_session(msg_ctx, env); if (manage_session == AXIS2_TRUE) { if (data->cookies == AXIS2_FALSE) { /* Ensure cookies enabled to manage session */ /* Pass empty cookie string to enable cookies */ curl_easy_setopt(handler, CURLOPT_COOKIEFILE, " "); data->cookies = AXIS2_TRUE; } } else if (data->cookies == AXIS2_TRUE) { /* Pass special string ALL to reset cookies if any have been enabled. */ /* If cookies have ever been enabled, we reset every time as long as manage_session is false, as there is no clear curl option to turn off the cookie engine once enabled. */ curl_easy_setopt(handler, CURLOPT_COOKIELIST, AXIS2_ALL); } } curl_easy_setopt(handler, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(handler, CURLOPT_WRITEFUNCTION, axis2_libcurl_write_memory_callback); curl_easy_setopt(handler, CURLOPT_WRITEDATA, data); curl_easy_setopt (handler, CURLOPT_HEADERFUNCTION, axis2_libcurl_header_callback); curl_easy_setopt (handler, CURLOPT_WRITEHEADER, data); /* Free response data from previous request */ if( data->size ) { if (data->memory) { AXIS2_FREE(data->env->allocator, data->memory); } data->size = 0; } if (curl_easy_perform(handler)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "%s", &data->errorbuffer); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); return AXIS2_FAILURE; } in_stream = axutil_stream_create_libcurl(env, data->memory, data->size); trans_in_property = axutil_property_create(env); axutil_property_set_scope(trans_in_property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_free_func(trans_in_property, env, libcurl_stream_free); axutil_property_set_value(trans_in_property, env, in_stream); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, trans_in_property); if (axutil_array_list_size(data->alist, env) > 0) { status_line_str = axutil_array_list_get(data->alist, env, 0); if (status_line_str) { status_line = axis2_http_status_line_create(env, status_line_str); } } if (status_line) { status_code = axis2_http_status_line_get_status_code(status_line, env); } axis2_msg_ctx_set_status_code (msg_ctx, env, status_code); AXIS2_FREE(data->env->allocator, content_type); content_type = axis2_libcurl_get_content_type(data, env); if (content_type) { if (strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED) && strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_XOP_XML)) { axis2_ctx_t *axis_ctx = axis2_op_ctx_get_base (axis2_msg_ctx_get_op_ctx (msg_ctx, env), env); property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value (property, env, axutil_strdup (env, content_type)); axis2_ctx_set_property (axis_ctx, env, MTOM_RECIVED_CONTENT_TYPE, property); } } content_length = axis2_libcurl_get_content_length(data, env); if (content_length >= 0) { response_length = AXIS2_MALLOC (env->allocator, sizeof (int)); memcpy (response_length, &content_length, sizeof (int)); property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value (property, env, response_length); axis2_msg_ctx_set_property (msg_ctx, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, property); } curl_slist_free_all (headers); /* release the read http headers. */ /* (commenting out the call below is a clever way to force a premature EOF condition in subsequent messages, as they will be read using the content-length of the first message.) */ axis2_libcurl_free_headers(data, env); AXIS2_FREE(data->env->allocator, content_type); axis2_http_status_line_free( status_line, env); return AXIS2_SUCCESS; } static size_t axis2_libcurl_write_memory_callback( void *ptr, size_t size, size_t nmemb, void *data) { size_t realsize = size * nmemb; axis2_libcurl_t *curl = (axis2_libcurl_t *) data; axis2_char_t *buffer = (axis2_char_t *) AXIS2_MALLOC(curl->env->allocator, curl->size + realsize + 1); if (buffer) { if (curl->size) { memcpy(&(buffer[0]), curl->memory, curl->size); AXIS2_FREE(curl->env->allocator, curl->memory); } memcpy(&(buffer[curl->size]), ptr, realsize); curl->size += (int)realsize; /* We are sure that the difference lies within the int range */ buffer[curl->size] = 0; curl->memory = buffer; } return realsize; } static size_t axis2_libcurl_header_callback( void *ptr, size_t size, size_t nmemb, void *data) { axis2_char_t *memory; size_t realsize = size * nmemb; axis2_libcurl_t *curl = (axis2_libcurl_t *) data; memory = (axis2_char_t *)AXIS2_MALLOC(curl->env->allocator, realsize + 1); if (memory) { memcpy(&(memory[0]), ptr, realsize); memory[realsize] = 0; axutil_array_list_add(curl->alist, curl->env, memory); } return realsize; } axis2_libcurl_t * AXIS2_CALL axis2_libcurl_create( const axutil_env_t * env) { axis2_libcurl_t *curl = NULL; CURLcode code; if (!ref) { /* curl_global_init is not thread-safe so it would be better to do this, as well as the test and increment of ref, under mutex if one is available, or as part of an axis2_initialize() if a global initialize is created. Otherwise the client application should perform the the curl_global_init itself in a thread-safe fashion. */ code = curl_global_init(CURL_GLOBAL_ALL); if (code) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "libcurl curl_global_init failed, error: %d", code); return NULL; } ref++; } curl = (axis2_libcurl_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_libcurl_t)); if (curl) { curl->memory = 0; curl->size = 0; curl->alist = axutil_array_list_create(env, 15); curl->env = env; curl->handler = curl_easy_init(); curl->cookies = AXIS2_FALSE; if ((!curl->alist) || (!curl->handler)) { axis2_libcurl_free(curl, env); curl = 0; } } return curl; } void AXIS2_CALL axis2_libcurl_free( axis2_libcurl_t *curl, const axutil_env_t * env) { if (!curl) { return; } if (curl->handler) { curl_easy_cleanup (curl->handler); } if (curl->alist) { axis2_libcurl_free_headers(curl, env); axutil_array_list_free(curl->alist, env); curl->alist = NULL; } if (curl->memory) { AXIS2_FREE(env->allocator, curl->memory); } AXIS2_FREE(env->allocator, curl); } static void axis2_libcurl_free_headers( axis2_libcurl_t *curl, const axutil_env_t * env) { int count = 0; axutil_array_list_t *header_group = curl->alist; if (header_group) { while ((count = axutil_array_list_size(header_group, env)) > 0) { axis2_char_t *header = axutil_array_list_remove(header_group, env, count-1); AXIS2_FREE(env->allocator, header); } } } static axis2_http_header_t * axis2_libcurl_get_first_header( axis2_libcurl_t *curl, const axutil_env_t * env, const axis2_char_t * str) { axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_header_str = NULL; axis2_char_t *tmp_name = NULL; int i = 0; int count = 0; axutil_array_list_t *header_group = NULL; AXIS2_PARAM_CHECK(env->error, curl, NULL); AXIS2_PARAM_CHECK(env->error, str, NULL); header_group = curl->alist; if (!header_group) { return NULL; } if (0 == axutil_array_list_size(header_group, env)) { return NULL; } count = axutil_array_list_size(header_group, env); for (i = 0; i < count; i++) { tmp_header_str = (axis2_char_t *) axutil_array_list_get(header_group, env, i); if(!tmp_header_str) { continue; } tmp_header = (axis2_http_header_t *) axis2_http_header_create_by_str(env, tmp_header_str); if(!tmp_header) { continue; } tmp_name = axis2_http_header_get_name(tmp_header, env); if (0 == axutil_strcasecmp(str, tmp_name)) { return tmp_header; } else { axis2_http_header_free( tmp_header, env ); } } return NULL; } static int axis2_libcurl_get_content_length( axis2_libcurl_t *curl, const axutil_env_t * env) { axis2_http_header_t *tmp_header; int rtn_value = -1; tmp_header = axis2_libcurl_get_first_header (curl, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH); if (tmp_header) { rtn_value = AXIS2_ATOI(axis2_http_header_get_value(tmp_header, env)); axis2_http_header_free( tmp_header, env ); } return rtn_value; } static axis2_char_t * axis2_libcurl_get_content_type( axis2_libcurl_t *curl, const axutil_env_t * env) { axis2_http_header_t *tmp_header; axis2_char_t *rtn_value = NULL; tmp_header = axis2_libcurl_get_first_header (curl, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (tmp_header) { rtn_value = axutil_strdup (env, axis2_http_header_get_value(tmp_header, env) ); axis2_http_header_free( tmp_header, env ); } else { rtn_value = axutil_strdup (env, AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN); } return rtn_value; } #endif /* AXIS2_LIBCURL_ENABLED */ axis2c-src-1.6.0/src/core/transport/http/sender/libcurl/axis2_libcurl.h0000644000175000017500000000335611166304463027230 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_LIBCURL_H #define AXIS2_LIBCURL_H #include #include #include #include #include #include #include #include #include #include /* typedef struct axis2_libcurl axis2_libcurl_t; */ /* actually defined in axis2_http_sender.h as it is part of axis2/include */ AXIS2_EXTERN axis2_libcurl_t *AXIS2_CALL axis2_libcurl_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axis2_libcurl_free( axis2_libcurl_t *data, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_libcurl_send( axis2_libcurl_t *data, axiom_output_t * om_output, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axiom_soap_envelope_t * out, const axis2_char_t * str_url, const axis2_char_t * soap_action); #endif /* AXIS2_LIBCURL_H */ axis2c-src-1.6.0/src/core/transport/http/sender/http_transport_sender.c0000644000175000017500000007476611166304463027475 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef AXIS2_LIBCURL_ENABLED #include "libcurl/axis2_libcurl.h" #endif /** * HTTP Transport Sender struct impl * Axis2 HTTP Transport Sender impl */ typedef struct axis2_http_transport_sender_impl { axis2_transport_sender_t transport_sender; axis2_char_t *http_version; axis2_bool_t chunked; int connection_timeout; int so_timeout; #ifdef AXIS2_LIBCURL_ENABLED axis2_libcurl_t *libcurl; #endif } axis2_http_transport_sender_impl_t; #define AXIS2_WS_RM_ANONYMOUS_URL "http://docs.oasis-open.org/ws-rx/wsmc/200702/anonymous?id=" #define AXIS2_INTF_TO_IMPL(transport_sender) \ ((axis2_http_transport_sender_impl_t *)\ (transport_sender)) /***************************** Function headers *******************************/ axis2_status_t AXIS2_CALL axis2_http_transport_sender_invoke( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); axis2_status_t AXIS2_CALL axis2_http_transport_sender_clean_up( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); axis2_status_t AXIS2_CALL axis2_http_transport_sender_init( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_out_desc_t * out_desc); axis2_status_t AXIS2_CALL axis2_http_transport_sender_write_message( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_endpoint_ref_t * epr, axiom_soap_envelope_t * out, axiom_output_t * om_output); void AXIS2_CALL axis2_http_transport_sender_free( axis2_transport_sender_t * transport_sender, const axutil_env_t * env); static const axis2_transport_sender_ops_t http_transport_sender_ops_var = { axis2_http_transport_sender_init, axis2_http_transport_sender_invoke, axis2_http_transport_sender_clean_up, axis2_http_transport_sender_free }; axis2_transport_sender_t *AXIS2_CALL axis2_http_transport_sender_create( const axutil_env_t * env) { axis2_http_transport_sender_impl_t *transport_sender_impl = NULL; transport_sender_impl = (axis2_http_transport_sender_impl_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_transport_sender_impl_t)); if (!transport_sender_impl) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)transport_sender_impl, 0, sizeof (axis2_http_transport_sender_impl_t)); transport_sender_impl->http_version = axutil_strdup(env, AXIS2_HTTP_HEADER_PROTOCOL_11); transport_sender_impl->chunked = AXIS2_TRUE; transport_sender_impl->connection_timeout = AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT; transport_sender_impl->so_timeout = AXIS2_HTTP_DEFAULT_SO_TIMEOUT; transport_sender_impl->transport_sender.ops = &http_transport_sender_ops_var; #ifdef AXIS2_LIBCURL_ENABLED transport_sender_impl->libcurl = axis2_libcurl_create(env); if (!transport_sender_impl->libcurl) { AXIS2_FREE(env->allocator, transport_sender_impl); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } #endif return &(transport_sender_impl->transport_sender); } void AXIS2_CALL axis2_http_transport_sender_free( axis2_transport_sender_t * transport_sender, const axutil_env_t * env) { axis2_http_transport_sender_impl_t *transport_sender_impl = NULL; if (!transport_sender) { return; } transport_sender_impl = AXIS2_INTF_TO_IMPL(transport_sender); if (transport_sender_impl->http_version) { AXIS2_FREE(env->allocator, transport_sender_impl->http_version); transport_sender_impl->http_version = NULL; } #ifdef AXIS2_LIBCURL_ENABLED if (transport_sender_impl->libcurl) { axis2_libcurl_free(transport_sender_impl->libcurl, env); } #endif AXIS2_FREE(env->allocator, transport_sender_impl); return; } axis2_status_t AXIS2_CALL axis2_http_transport_sender_invoke( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { const axis2_char_t *char_set_enc = NULL; axutil_string_t *char_set_enc_str = NULL; axis2_endpoint_ref_t *epr = NULL; axis2_char_t *transport_url = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; axiom_soap_envelope_t *soap_data_out = NULL; axis2_bool_t do_mtom; axutil_property_t *property = NULL; axiom_node_t *data_out = NULL; int buffer_size = 0; axis2_status_t status = AXIS2_SUCCESS; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *write_xml_declaration_param = NULL; axutil_hash_t *transport_attrs = NULL; axis2_bool_t write_xml_declaration = AXIS2_FALSE; axis2_bool_t fault = AXIS2_FALSE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_http_transport_sender_invoke"); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); char_set_enc_str = axis2_msg_ctx_get_charset_encoding(msg_ctx, env); if (char_set_enc_str) { char_set_enc = axutil_string_get_buffer(char_set_enc_str, env); } if (!char_set_enc) { axis2_op_ctx_t *op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_ctx_t *ctx = axis2_op_ctx_get_base(op_ctx, env); if (ctx) { property = axis2_ctx_get_property(ctx, env, AXIS2_CHARACTER_SET_ENCODING); if (property) { char_set_enc = axutil_property_get_value(property, env); property = NULL; } } } } /** * If we still can't find the char set enc we will * use default */ if (!char_set_enc) { char_set_enc = AXIS2_DEFAULT_CHAR_SET_ENCODING; } do_mtom = axis2_http_transport_utils_do_write_mtom(env, msg_ctx); transport_url = axis2_msg_ctx_get_transport_url(msg_ctx, env); if (transport_url) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "transport_url:%s", transport_url); epr = axis2_endpoint_ref_create(env, transport_url); } else { /* when transport url is not available in msg_ctx */ axis2_endpoint_ref_t *ctx_epr = axis2_msg_ctx_get_to(msg_ctx, env); if(ctx_epr) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "ctx_epr:%s", axis2_endpoint_ref_get_address(ctx_epr, env)); if (ctx_epr && axutil_strcmp(AXIS2_WSA_ANONYMOUS_URL_SUBMISSION, axis2_endpoint_ref_get_address( ctx_epr, env)) && axutil_strcmp(AXIS2_WSA_ANONYMOUS_URL, axis2_endpoint_ref_get_address( ctx_epr, env)) && !(axutil_strstr(axis2_endpoint_ref_get_address(ctx_epr, env), AXIS2_WS_RM_ANONYMOUS_URL))) { epr = ctx_epr; } } soap_data_out = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (!soap_data_out) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s", AXIS2_ERROR_GET_MESSAGE(env->error)); return AXIS2_SUCCESS; } xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create xml_writer for \ AXIS2_XML_PARSER_TYPE_BUFFER"); return AXIS2_FAILURE; } om_output = axiom_output_create(env, xml_writer); if (!om_output) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create om_output for xml writer of \ AXIS2_XML_PARSER_TYPE_BUFFER"); axiom_xml_writer_free(xml_writer, env); xml_writer = NULL; return AXIS2_FAILURE; } /* setting SOAP version for OM_OUTPUT. */ axiom_output_set_soap11(om_output, env, axis2_msg_ctx_get_is_soap_11(msg_ctx, env)); /* This is the case where normal client send the requet using a http_client*/ if (epr) { if (axutil_strcmp (AXIS2_WSA_NONE_URL_SUBMISSION, axis2_endpoint_ref_get_address(epr, env)) == 0 || axutil_strcmp(AXIS2_WSA_NONE_URL, axis2_endpoint_ref_get_address(epr, env)) == 0) { epr = NULL; } else { status = axis2_http_transport_sender_write_message(transport_sender, env, msg_ctx, epr, soap_data_out, om_output); } } /* If no endpoint reference could be derived from the the message context. It could well be the * single channel two way scenario in the application server side send. */ if (!epr) { axutil_stream_t *out_stream = axis2_msg_ctx_get_transport_out_stream(msg_ctx, env); if (AXIS2_TRUE == axis2_msg_ctx_get_server_side(msg_ctx, env)) { axis2_http_out_transport_info_t *out_info = NULL; axis2_bool_t is_soap11 = AXIS2_FALSE; axis2_op_ctx_t *op_ctx = NULL; out_info = (axis2_http_out_transport_info_t *) axis2_msg_ctx_get_out_transport_info(msg_ctx, env); if (!out_info) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL, AXIS2_FAILURE); axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; return AXIS2_FAILURE; } is_soap11 = axis2_msg_ctx_get_is_soap_11(msg_ctx, env); AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_info, env, char_set_enc); if (AXIS2_TRUE == is_soap11) { /* SOAP1.1 */ AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_info, env, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML); } else { /* SOAP1.2 */ AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_info, env, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP); } conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); } if (conf) { /* get access to HTTP transport for sending */ trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } if (trans_desc) { /* accessing parameter in axis2.xml which set to have * an ability to send xml versoin processing * instruction */ write_xml_declaration_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_XML_DECLARATION); } if (write_xml_declaration_param) { transport_attrs = axutil_param_get_attributes (write_xml_declaration_param, env); if (transport_attrs) { /* Accessing attribute values */ axutil_generic_obj_t *obj = NULL; axiom_attribute_t *write_xml_declaration_attr = NULL; axis2_char_t *write_xml_declaration_attr_value = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_ADD_XML_DECLARATION, AXIS2_HASH_KEY_STRING); if (obj) { write_xml_declaration_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj,env); } if (write_xml_declaration_attr) { write_xml_declaration_attr_value = axiom_attribute_get_value (write_xml_declaration_attr, env); } if (write_xml_declaration_attr_value && 0 == axutil_strcasecmp (write_xml_declaration_attr_value, AXIS2_VALUE_TRUE)) { write_xml_declaration = AXIS2_TRUE; } } } if (write_xml_declaration) { axiom_output_write_xml_version_encoding (om_output, env); } if (AXIS2_TRUE == axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { axiom_node_t *body_node = NULL; /* axis2_bool_t fault = AXIS2_FALSE;*/ axiom_soap_fault_t *soap_fault; axiom_soap_body_t *soap_body = axiom_soap_envelope_get_body(soap_data_out, env); axiom_soap_fault_detail_t *soap_fault_detial; if (!soap_body) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, AXIS2_FAILURE); axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; return AXIS2_FAILURE; } fault = axiom_soap_body_has_fault (soap_body, env); if (fault == AXIS2_TRUE) { soap_fault = axiom_soap_body_get_fault (soap_body, env); if (!soap_fault) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Rest fault has occur, error described below"); axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; return AXIS2_FAILURE; } soap_fault_detial = axiom_soap_fault_get_detail (soap_fault, env); if (!soap_fault_detial) { axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Returning failure to obtain soap_fault_detail from soap_fault"); return AXIS2_FAILURE; } body_node = axiom_soap_fault_detail_get_base_node(soap_fault_detial, env); if (!body_node) { axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "failure to get base node from soap_fault_detail."); return AXIS2_FAILURE; } } else { body_node = axiom_soap_body_get_base_node(soap_body, env); if (!body_node) { axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "failure to get base node from soap_body."); return AXIS2_FAILURE; } } data_out = axiom_node_get_first_element(body_node, env); if (!data_out || axiom_node_get_node_type(data_out, env)!= AXIOM_ELEMENT) { axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "unable to get first element from soap_body, base node."); return AXIS2_FAILURE; } axiom_node_serialize(data_out, env, om_output); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); buffer_size = axiom_xml_writer_get_xml_size(xml_writer, env); axutil_stream_write(out_stream, env, buffer, buffer_size); /* Finish Rest Processing */ } else { axiom_soap_body_t *body = NULL; body = axiom_soap_envelope_get_body(soap_data_out, env); fault = axiom_soap_body_has_fault (body, env); /* SOAP Processing */ axiom_output_set_do_optimize(om_output, env, do_mtom); axiom_soap_envelope_serialize(soap_data_out, env, om_output, AXIS2_FALSE); if (do_mtom && !fault) { axis2_status_t mtom_status = AXIS2_FAILURE; axis2_char_t *content_type = NULL; axutil_array_list_t *mime_parts = NULL; /*Create the attachment related data and put them to an *array_list */ mtom_status = axiom_output_flush(om_output, env); if(mtom_status == AXIS2_SUCCESS) { mime_parts = axiom_output_get_mime_parts(om_output, env); if(!mime_parts) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to create the mime_part list from om_output"); return AXIS2_FAILURE; } else { axis2_msg_ctx_set_mime_parts(msg_ctx, env, mime_parts); } } /*om_out put has the details of content_type */ content_type = (axis2_char_t *) axiom_output_get_content_type(om_output, env); AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_info, env, content_type); } else { buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); buffer_size = axiom_xml_writer_get_xml_size(xml_writer, env); /* This is where it actually fill the buffer in out_stream. In application server * side this is the out_stream passed to the in message context from http_worker * function and then copied to the out message context. */ axutil_stream_write(out_stream, env, buffer, buffer_size); } } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); axis2_op_ctx_set_response_written(op_ctx, env, AXIS2_TRUE); } } axiom_output_free(om_output, env); om_output = NULL; xml_writer = NULL; if (transport_url) { if (epr) { axis2_endpoint_ref_free(epr, env); epr = NULL; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_http_transport_sender_invoke"); return status; } axis2_status_t AXIS2_CALL axis2_http_transport_sender_clean_up( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, transport_sender, AXIS2_FAILURE); /* * Clean up is not used. If the http sender needs * to be cleaned up it should be done here. */ return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_http_transport_sender_init( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_out_desc_t * out_desc) { axutil_param_t *version_param = NULL; axis2_char_t *version = NULL; axis2_char_t *temp = NULL; axutil_param_t *temp_param = NULL; AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, out_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, transport_sender, AXIS2_FAILURE); /* Getting HTTP version from axis2.xml */ version_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container(out_desc, env), env, AXIS2_HTTP_PROTOCOL_VERSION); if (version_param) { version = axutil_param_get_value(version_param, env); } if (version) { /* handling HTTP 1.1 */ if (0 == axutil_strcmp(version, AXIS2_HTTP_HEADER_PROTOCOL_11)) { axis2_char_t *encoding = NULL; axutil_param_t *encoding_param = NULL; if (AXIS2_INTF_TO_IMPL(transport_sender)->http_version) { AXIS2_FREE(env->allocator, AXIS2_INTF_TO_IMPL(transport_sender)->http_version); } AXIS2_INTF_TO_IMPL(transport_sender)->http_version = axutil_strdup(env, version); encoding_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container(out_desc, env), env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING); if (encoding_param) { encoding = axutil_param_get_value(encoding_param, env); } if (encoding && 0 == axutil_strcmp(encoding, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { AXIS2_INTF_TO_IMPL(transport_sender)->chunked = AXIS2_TRUE; } else { AXIS2_INTF_TO_IMPL(transport_sender)->chunked = AXIS2_FALSE; } } else if (0 == axutil_strcmp(version, AXIS2_HTTP_HEADER_PROTOCOL_10)) { /* Handling HTTP 1.0 */ if (AXIS2_INTF_TO_IMPL(transport_sender)->http_version) { AXIS2_FREE(env->allocator, AXIS2_INTF_TO_IMPL(transport_sender)->http_version); } AXIS2_INTF_TO_IMPL(transport_sender)->http_version = axutil_strdup(env, version); AXIS2_INTF_TO_IMPL(transport_sender)->chunked = AXIS2_FALSE; } } else { /* HTTP version is not available in axis2.xml */ AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_HTTP_VERSION, AXIS2_FAILURE); return AXIS2_FAILURE; } /* Getting HTTP_SO_TIMEOUT value from axis2.xml */ temp_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container(out_desc, env), env, AXIS2_HTTP_SO_TIMEOUT); if (temp_param) { temp = axutil_param_get_value(temp_param, env); } if (temp) { AXIS2_INTF_TO_IMPL(transport_sender)->so_timeout = AXIS2_ATOI(temp); } /* Getting HTTP_CONNECTION_TIMEOUT from axis2.xml */ temp = (axis2_char_t *) axutil_param_container_get_param (axis2_transport_out_desc_param_container(out_desc, env), env, AXIS2_HTTP_CONNECTION_TIMEOUT); if (temp_param) { temp = axutil_param_get_value(temp_param, env); } /* set axis2.xml connection timeout value to http_sender */ if (temp) { AXIS2_INTF_TO_IMPL(transport_sender)->connection_timeout = AXIS2_ATOI(temp); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_http_transport_sender_write_message( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_endpoint_ref_t * epr, axiom_soap_envelope_t * out, axiom_output_t * om_output) { const axis2_char_t *soap_action = NULL; const axis2_char_t *url = NULL; axis2_http_sender_t *sender = NULL; axis2_status_t status = AXIS2_FAILURE; const axis2_char_t *soap_ns_uri = NULL; axiom_soap_envelope_t *response_envelope = NULL; axis2_op_t *op = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, epr, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, transport_sender, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, out, AXIS2_FAILURE); /* epr is already passed NULL checking */ url = axis2_endpoint_ref_get_address(epr, env); soap_action = axutil_string_get_buffer(axis2_msg_ctx_get_soap_action(msg_ctx, env), env); if (!soap_action) { soap_action = ""; } sender = axis2_http_sender_create(env); if (!sender) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "http sender creation failed"); return AXIS2_FAILURE; } /* For the MTOM case we should on chunking. And for chunking to work the * protocol should be http 1.1*/ if(axis2_msg_ctx_get_doing_mtom(msg_ctx, env)) { AXIS2_HTTP_SENDER_SET_CHUNKED(sender, env, AXIS2_TRUE); AXIS2_HTTP_SENDER_SET_HTTP_VERSION(sender, env, AXIS2_HTTP_HEADER_PROTOCOL_11); } else { AXIS2_HTTP_SENDER_SET_CHUNKED(sender, env, AXIS2_INTF_TO_IMPL(transport_sender)->chunked); AXIS2_HTTP_SENDER_SET_HTTP_VERSION(sender, env, AXIS2_INTF_TO_IMPL(transport_sender)->http_version); } AXIS2_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output); #ifdef AXIS2_LIBCURL_ENABLED AXIS2_LOG_DEBUG (env->log, AXIS2_LOG_SI, "using axis2 libcurl http sender."); status = axis2_libcurl_http_send(AXIS2_INTF_TO_IMPL(transport_sender)->libcurl, sender, env, msg_ctx, out, url, soap_action); #else AXIS2_LOG_DEBUG (env->log, AXIS2_LOG_SI, "using axis2 native http sender."); status = AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, out, url, soap_action); #endif AXIS2_HTTP_SENDER_FREE(sender, env); sender = NULL; /* if the send was not successful, do not process any response */ if (status != AXIS2_SUCCESS) return status; op = axis2_msg_ctx_get_op(msg_ctx, env); if (op) { /* handle one way case */ const axis2_char_t *mep = axis2_op_get_msg_exchange_pattern(op, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "OP name axutil_qname_get_localpart = %s", mep); if (axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY) == 0 || axutil_strcmp(mep, AXIS2_MEP_URI_ROBUST_OUT_ONLY) == 0 || axutil_strcmp(mep, AXIS2_MEP_URI_IN_ONLY) == 0) { return status; } else { /* AXIS2_MEP_URI_IN_OUT case , we have a response this * time */ soap_ns_uri = axis2_msg_ctx_get_is_soap_11(msg_ctx, env) ? AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI : AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; response_envelope = axis2_http_transport_utils_create_soap_msg(env, msg_ctx, soap_ns_uri); if (response_envelope) { axis2_msg_ctx_set_response_soap_envelope(msg_ctx, env, response_envelope); } } } return status; } /** * Following block distinguish the exposed part of the dll. */ /* When building for static deployment, give the get and remove methods * unique names. This avoids having the linker fail with duplicate symbol * errors. */ AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_get_instance( #else axis2_http_transport_sender_get_instance( #endif struct axis2_transport_sender **inst, const axutil_env_t * env) { *inst = axis2_http_transport_sender_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int #ifndef AXIS2_STATIC_DEPLOY axis2_remove_instance( #else axis2_http_transport_sender_remove_instance( #endif axis2_transport_sender_t * inst, const axutil_env_t * env) { if (inst) { AXIS2_TRANSPORT_SENDER_FREE(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/http/sender/Makefile.am0000644000175000017500000000317211166304463024711 0ustar00manjulamanjula00000000000000SUBDIRS=ssl libcurl lib_LTLIBRARIES = libaxis2_http_sender.la if AXIS2_LIBCURL_ENABLED LIBCURL_SOURCES=libcurl/axis2_libcurl.c\ libcurl/libcurl_stream.c LIBCURL_LIBS=-lssl -lcrypto -lcurl -ldl -lz else LIBCURL_SOURCES= LIBCURL_LIBS= endif if AXIS2_SSL_ENABLED SSL_SOURCES = ssl/ssl_stream.c\ ssl/ssl_utils.c SSL_LIBS = -lssl -lcrypto else SSL_SOURCES= SSL_LIBS= endif libaxis2_http_sender_la_SOURCES = http_transport_sender.c \ http_sender.c \ http_client.c \ $(SSL_SOURCES) \ $(LIBCURL_SOURCES) libaxis2_http_sender_la_LIBADD = $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la\ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la\ $(top_builddir)/axiom/src/om/libaxis2_axiom.la\ $(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/engine/libaxis2_engine.la\ $(LIBCURL_LIBS)\ $(SSL_LIBS) libaxis2_http_sender_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/transport/http/sender/libcurl \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/http/sender/Makefile.in0000644000175000017500000006271611172017204024722 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/sender DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = libaxis2_http_sender_la_DEPENDENCIES = $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) am__libaxis2_http_sender_la_SOURCES_DIST = http_transport_sender.c \ http_sender.c http_client.c ssl/ssl_stream.c ssl/ssl_utils.c \ libcurl/axis2_libcurl.c libcurl/libcurl_stream.c @AXIS2_SSL_ENABLED_TRUE@am__objects_1 = ssl_stream.lo ssl_utils.lo @AXIS2_LIBCURL_ENABLED_TRUE@am__objects_2 = axis2_libcurl.lo \ @AXIS2_LIBCURL_ENABLED_TRUE@ libcurl_stream.lo am_libaxis2_http_sender_la_OBJECTS = http_transport_sender.lo \ http_sender.lo http_client.lo $(am__objects_1) \ $(am__objects_2) libaxis2_http_sender_la_OBJECTS = \ $(am_libaxis2_http_sender_la_OBJECTS) libaxis2_http_sender_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_http_sender_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_http_sender_la_SOURCES) DIST_SOURCES = $(am__libaxis2_http_sender_la_SOURCES_DIST) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = ssl libcurl lib_LTLIBRARIES = libaxis2_http_sender.la @AXIS2_LIBCURL_ENABLED_FALSE@LIBCURL_SOURCES = @AXIS2_LIBCURL_ENABLED_TRUE@LIBCURL_SOURCES = libcurl/axis2_libcurl.c\ @AXIS2_LIBCURL_ENABLED_TRUE@ libcurl/libcurl_stream.c @AXIS2_LIBCURL_ENABLED_FALSE@LIBCURL_LIBS = @AXIS2_LIBCURL_ENABLED_TRUE@LIBCURL_LIBS = -lssl -lcrypto -lcurl -ldl -lz @AXIS2_SSL_ENABLED_FALSE@SSL_SOURCES = @AXIS2_SSL_ENABLED_TRUE@SSL_SOURCES = ssl/ssl_stream.c\ @AXIS2_SSL_ENABLED_TRUE@ ssl/ssl_utils.c @AXIS2_SSL_ENABLED_FALSE@SSL_LIBS = @AXIS2_SSL_ENABLED_TRUE@SSL_LIBS = -lssl -lcrypto libaxis2_http_sender_la_SOURCES = http_transport_sender.c \ http_sender.c \ http_client.c \ $(SSL_SOURCES) \ $(LIBCURL_SOURCES) libaxis2_http_sender_la_LIBADD = $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la\ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la\ $(top_builddir)/axiom/src/om/libaxis2_axiom.la\ $(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/engine/libaxis2_engine.la\ $(LIBCURL_LIBS)\ $(SSL_LIBS) libaxis2_http_sender_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/transport/http/sender/libcurl \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/sender/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/sender/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_http_sender.la: $(libaxis2_http_sender_la_OBJECTS) $(libaxis2_http_sender_la_DEPENDENCIES) $(libaxis2_http_sender_la_LINK) -rpath $(libdir) $(libaxis2_http_sender_la_OBJECTS) $(libaxis2_http_sender_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_libcurl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_client.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_sender.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_transport_sender.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libcurl_stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssl_stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ssl_utils.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< ssl_stream.lo: ssl/ssl_stream.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ssl_stream.lo -MD -MP -MF $(DEPDIR)/ssl_stream.Tpo -c -o ssl_stream.lo `test -f 'ssl/ssl_stream.c' || echo '$(srcdir)/'`ssl/ssl_stream.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ssl_stream.Tpo $(DEPDIR)/ssl_stream.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ssl/ssl_stream.c' object='ssl_stream.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ssl_stream.lo `test -f 'ssl/ssl_stream.c' || echo '$(srcdir)/'`ssl/ssl_stream.c ssl_utils.lo: ssl/ssl_utils.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT ssl_utils.lo -MD -MP -MF $(DEPDIR)/ssl_utils.Tpo -c -o ssl_utils.lo `test -f 'ssl/ssl_utils.c' || echo '$(srcdir)/'`ssl/ssl_utils.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/ssl_utils.Tpo $(DEPDIR)/ssl_utils.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='ssl/ssl_utils.c' object='ssl_utils.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o ssl_utils.lo `test -f 'ssl/ssl_utils.c' || echo '$(srcdir)/'`ssl/ssl_utils.c axis2_libcurl.lo: libcurl/axis2_libcurl.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT axis2_libcurl.lo -MD -MP -MF $(DEPDIR)/axis2_libcurl.Tpo -c -o axis2_libcurl.lo `test -f 'libcurl/axis2_libcurl.c' || echo '$(srcdir)/'`libcurl/axis2_libcurl.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/axis2_libcurl.Tpo $(DEPDIR)/axis2_libcurl.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libcurl/axis2_libcurl.c' object='axis2_libcurl.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o axis2_libcurl.lo `test -f 'libcurl/axis2_libcurl.c' || echo '$(srcdir)/'`libcurl/axis2_libcurl.c libcurl_stream.lo: libcurl/libcurl_stream.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT libcurl_stream.lo -MD -MP -MF $(DEPDIR)/libcurl_stream.Tpo -c -o libcurl_stream.lo `test -f 'libcurl/libcurl_stream.c' || echo '$(srcdir)/'`libcurl/libcurl_stream.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/libcurl_stream.Tpo $(DEPDIR)/libcurl_stream.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libcurl/libcurl_stream.c' object='libcurl_stream.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o libcurl_stream.lo `test -f 'libcurl/libcurl_stream.c' || echo '$(srcdir)/'`libcurl/libcurl_stream.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/sender/http_sender.c0000644000175000017500000037160511166304463025351 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef AXIS2_LIBCURL_ENABLED #include "libcurl/axis2_libcurl.h" #else #define CLIENT_NONCE_LENGTH 8 #endif struct axis2_http_sender { axis2_char_t *http_version; axis2_bool_t chunked; int so_timeout; axiom_output_t *om_output; axis2_http_client_t *client; axis2_bool_t is_soap; }; #ifndef AXIS2_LIBCURL_ENABLED static void axis2_http_sender_add_header_list (axis2_http_simple_request_t * request, const axutil_env_t * env, axutil_array_list_t * array_list); static axis2_status_t axis2_http_sender_configure_proxy (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); static axis2_status_t axis2_http_sender_configure_server_cert (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); static axis2_status_t axis2_http_sender_configure_key_file (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); static axis2_status_t axis2_http_sender_configure_http_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request); static axis2_status_t axis2_http_sender_configure_proxy_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request); static axis2_status_t axis2_http_sender_set_http_auth_type (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request); static axis2_status_t axis2_http_sender_set_proxy_auth_type (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request); static axis2_status_t axis2_http_sender_configure_http_basic_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request); static axis2_status_t axis2_http_sender_configure_proxy_basic_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request); static axis2_status_t axis2_http_sender_configure_http_digest_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request, axis2_char_t * header_data); static axis2_status_t axis2_http_sender_configure_proxy_digest_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request, axis2_char_t * header_data); #endif AXIS2_EXTERN axis2_http_sender_t *AXIS2_CALL axis2_http_sender_create (const axutil_env_t * env) { axis2_http_sender_t *sender = NULL; sender = (axis2_http_sender_t *) AXIS2_MALLOC (env->allocator, sizeof (axis2_http_sender_t)); if (!sender) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset (sender, 0, sizeof (axis2_http_sender_t)); sender->http_version = (axis2_char_t *) AXIS2_HTTP_HEADER_PROTOCOL_11; sender->so_timeout = AXIS2_HTTP_DEFAULT_SO_TIMEOUT; /* unlike the java impl we don't have a default om output * it should be explicitly set and it's a MUST */ sender->om_output = NULL; sender->chunked = AXIS2_FALSE; sender->client = NULL; return sender; } AXIS2_EXTERN void AXIS2_CALL axis2_http_sender_free (axis2_http_sender_t * sender, const axutil_env_t * env) { if (sender->http_version) { AXIS2_FREE (env->allocator, sender->http_version); } /* Do not free this here since it will be required in later processing * of the response soap message */ sender->client = NULL; AXIS2_FREE (env->allocator, sender); return; } #ifndef AXIS2_LIBCURL_ENABLED AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_send (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axiom_soap_envelope_t * out, const axis2_char_t * str_url, const axis2_char_t * soap_action) { axis2_http_simple_request_t *request = NULL; axis2_http_request_line_t *request_line = NULL; /* url is to hold url given in str_url */ axutil_url_t *url = NULL; axiom_xml_writer_t *xml_writer = NULL; axis2_char_t *buffer = NULL; unsigned int buffer_size = 0; const axis2_char_t *char_set_enc = NULL; axutil_string_t *char_set_enc_str = NULL; int status_code = -1; axis2_http_simple_response_t *response = NULL; axis2_char_t *content_type = NULL; axis2_bool_t content_type_deepl_copy = AXIS2_TRUE; axis2_byte_t *output_stream = NULL; int output_stream_size = 0; axis2_bool_t doing_mtom = AXIS2_FALSE; axutil_property_t *dump_property = NULL; axutil_param_t *ssl_pp_param = NULL; /* ssl passphrase */ axis2_char_t *ssl_pp = NULL; axutil_property_t *ssl_pp_property = NULL; axutil_property_t *test_auth_property = NULL; axis2_char_t *test_auth_property_value = NULL; axis2_bool_t test_proxy_auth = AXIS2_FALSE; axis2_bool_t test_http_auth = AXIS2_FALSE; /* http proxy authentication */ axutil_property_t *proxy_auth_property = NULL; axis2_char_t *proxy_auth_property_value = NULL; axis2_bool_t force_proxy_auth = AXIS2_FALSE; axis2_bool_t force_proxy_auth_with_head = AXIS2_FALSE; axutil_property_t *http_auth_property = NULL; axis2_char_t *http_auth_property_value = NULL; axis2_bool_t force_http_auth = AXIS2_FALSE; axis2_bool_t force_http_auth_with_head = AXIS2_FALSE; axutil_property_t *content_type_property = NULL; axutil_hash_t *content_type_hash = NULL; axis2_char_t *content_type_value = NULL; axutil_property_t *method = NULL; axis2_char_t *method_value = NULL; /* handling REST requests */ axis2_bool_t send_via_get = AXIS2_FALSE; axis2_bool_t send_via_head = AXIS2_FALSE; axis2_bool_t send_via_delete = AXIS2_FALSE; axis2_bool_t send_via_put = AXIS2_FALSE; axiom_node_t *data_out = NULL; axiom_node_t *body_node = NULL; axiom_soap_body_t *soap_body = NULL; axis2_bool_t is_soap = AXIS2_TRUE; /* http header property to get HTTP headers from msg_ctx and give * it to http_sender */ axutil_property_t *http_property = NULL; axutil_array_list_t *array_list; axis2_bool_t http_auth_header_added = AXIS2_FALSE; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *write_xml_declaration_param = NULL; axutil_hash_t *transport_attrs = NULL; axis2_bool_t write_xml_declaration = AXIS2_FALSE; axutil_property_t *property = NULL;/* Property for holding http client */ AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_http_sender_send"); soap_body = axiom_soap_envelope_get_body (out, env); AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, out, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, str_url, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, soap_action, AXIS2_FAILURE); if (AXIS2_TRUE == axis2_msg_ctx_get_doing_rest (msg_ctx, env)) { is_soap = AXIS2_FALSE; } else { is_soap = AXIS2_TRUE; } url = axutil_url_parse_string (env, str_url); if (!is_soap) { if(soap_body) { body_node = axiom_soap_body_get_base_node (soap_body, env); } if(body_node) { data_out = axiom_node_get_first_element (body_node, env); } method = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_METHOD); if (method) { method_value = (axis2_char_t *) axutil_property_get_value (method, env); } /* The default is POST */ if (method_value && 0 == axutil_strcmp (method_value, AXIS2_HTTP_GET)) { send_via_get = AXIS2_TRUE; } else if (method_value && 0 == axutil_strcmp (method_value, AXIS2_HTTP_HEAD)) { send_via_head = AXIS2_TRUE; } else if (method_value && 0 == axutil_strcmp (method_value, AXIS2_HTTP_PUT)) { send_via_put = AXIS2_TRUE; } else if (method_value && 0 == axutil_strcmp (method_value, AXIS2_HTTP_DELETE)) { send_via_delete = AXIS2_TRUE; } } if (!url) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "url is null for string %s", str_url); return AXIS2_FAILURE; } if (sender->client) { axis2_http_client_free (sender->client, env); sender->client = NULL; } sender->client = axis2_http_client_create (env, url); if (!sender->client) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "sender->client creation failed for url %s", url); return AXIS2_FAILURE; } /* We put the client into msg_ctx so that we can free it once the processing * is done at client side */ property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_free_func (property, env, axis2_http_client_free_void_arg); axutil_property_set_value (property, env, sender->client); axis2_msg_ctx_set_property (msg_ctx, env, AXIS2_HTTP_CLIENT, property); /* configure proxy settings if we have set so */ axis2_http_sender_configure_proxy (sender, env, msg_ctx); conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); } if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } if (trans_desc) { /* get xml declaration details from axis2.xml */ write_xml_declaration_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_XML_DECLARATION); } if (write_xml_declaration_param) { /* accessing attributes of the HTTP transport's , xml * declaration element from axis2.xml*/ transport_attrs = axutil_param_get_attributes (write_xml_declaration_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *write_xml_declaration_attr = NULL; axis2_char_t *write_xml_declaration_attr_value = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_ADD_XML_DECLARATION, AXIS2_HASH_KEY_STRING); if (obj) { write_xml_declaration_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (write_xml_declaration_attr) { write_xml_declaration_attr_value = axiom_attribute_get_value (write_xml_declaration_attr, env); } if (write_xml_declaration_attr_value && 0 == axutil_strcasecmp (write_xml_declaration_attr_value, AXIS2_VALUE_TRUE)) { write_xml_declaration = AXIS2_TRUE; } } } if (write_xml_declaration) { axiom_output_write_xml_version_encoding (sender->om_output, env); } if (!send_via_get && !send_via_head && !send_via_delete) { /* processing POST and PUT methods */ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "msg_ctx_id:%s", axis2_msg_ctx_get_msg_id(msg_ctx,env)); doing_mtom = axis2_msg_ctx_get_doing_mtom (msg_ctx, env); if (!sender->om_output) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_OM_OUTPUT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s", AXIS2_ERROR_GET_MESSAGE(env->error)); return AXIS2_FAILURE; } xml_writer = axiom_output_get_xml_writer (sender->om_output, env); char_set_enc_str = axis2_msg_ctx_get_charset_encoding (msg_ctx, env); if (!char_set_enc_str) { /* if there is no character encoding details available * use default one. * #define AXIS2_DEFAULT_CHAR_SET_ENCODING "UTF-8" */ char_set_enc = AXIS2_DEFAULT_CHAR_SET_ENCODING; } else { char_set_enc = axutil_string_get_buffer (char_set_enc_str, env); } if (!send_via_put && is_soap) { /* HTTP POST case */ /* dump property use to dump message without sending */ dump_property = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_DUMP_INPUT_MSG_TRUE); if (dump_property) { axis2_char_t *dump_true = axutil_property_get_value (dump_property, env); if (0 == axutil_strcmp (dump_true, AXIS2_VALUE_TRUE)) { axis2_http_client_set_dump_input_msg (sender->client, env, AXIS2_TRUE); } } axiom_output_set_do_optimize (sender->om_output, env, doing_mtom); axiom_soap_envelope_serialize (out, env, sender->om_output, AXIS2_FALSE); } else if (is_soap) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Attempt to send SOAP message using HTTP PUT failed"); return AXIS2_FAILURE; } else { if (!data_out) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "body node payload is NULL"); return AXIS2_FAILURE; } axiom_node_serialize (data_out, env, sender->om_output); } if (doing_mtom) { axutil_param_t *callback_name_param = NULL; axis2_status_t mtom_status = AXIS2_FAILURE; axutil_array_list_t *mime_parts = NULL; axis2_char_t *mtom_sending_callback_name = NULL; /* Getting the sender callback name paramter if it is * specified in the configuration file */ callback_name_param = axis2_msg_ctx_get_parameter(msg_ctx, env , AXIS2_MTOM_SENDING_CALLBACK); if(callback_name_param) { mtom_sending_callback_name = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); if(mtom_sending_callback_name) { axis2_http_client_set_mtom_sending_callback_name( sender->client, env, mtom_sending_callback_name); } } /* Here we put all the attachment related stuff in a array_list After this method we have the message in parts */ mtom_status = axiom_output_flush (sender->om_output, env); if(mtom_status == AXIS2_FAILURE) { return mtom_status; } /* HTTP client should distinguish an MTOM invocation because the way of sending the message in MTOM case is different */ axis2_http_client_set_doing_mtom(sender->client, env, doing_mtom); /* HTTP client will keep this mime_parts, which it will send in chunks at th end */ mime_parts = axiom_output_get_mime_parts(sender->om_output, env); if(mime_parts) { axis2_http_client_set_mime_parts(sender->client, env, mime_parts); } } else { buffer = axiom_xml_writer_get_xml (xml_writer, env); } if (!(buffer || doing_mtom)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "NULL xml returned from xml writer"); return AXIS2_FAILURE; } if (!send_via_put) { /* HTTP POST */ axis2_char_t *path_with_query = NULL; path_with_query = axutil_strcat(env, axutil_url_get_path (url, env), axutil_url_get_query(url, env), NULL); request_line = axis2_http_request_line_create (env, AXIS2_HTTP_POST, path_with_query, sender->http_version); AXIS2_FREE(env->allocator, path_with_query); } else { /* HTTP PUT */ request_line = axis2_http_request_line_create (env, AXIS2_HTTP_PUT, axutil_url_get_path (url, env), sender->http_version); } } else { /* Processing HTTP GET, HEAD and DELETE */ axis2_char_t *request_params = NULL; axis2_char_t *path = NULL; request_params = axis2_http_sender_get_param_string (sender, env, msg_ctx); if(request_params) { /* substituting AXIS2_Q_MARK for "?" */ path = axutil_strcat (env, axutil_url_get_path (url, env), AXIS2_Q_MARK_STR, request_params, NULL); AXIS2_FREE(env->allocator, request_params); request_params = NULL; } else { path = axutil_strdup(env,axutil_url_get_path(url, env)); } if (send_via_get) { request_line = axis2_http_request_line_create (env, AXIS2_HTTP_GET, path, sender->http_version); } else if (send_via_head) { request_line = axis2_http_request_line_create (env, AXIS2_HTTP_HEAD, path, sender->http_version); } else if (send_via_delete) { request_line = axis2_http_request_line_create (env, AXIS2_HTTP_DELETE, path, sender->http_version); } if(path) { AXIS2_FREE(env->allocator, path); path = NULL; } } request = axis2_http_simple_request_create (env, request_line, NULL, 0, NULL); /* User-Agent:Axis2/C header */ axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_USER_AGENT, AXIS2_USER_AGENT); http_property = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_TRANSPORT_HEADER_PROPERTY); if (http_property) { array_list = (axutil_array_list_t *) axutil_property_get_value (http_property, env); axis2_http_sender_add_header_list (request, env, array_list); } if (!send_via_get && !send_via_head && !send_via_put && !send_via_delete && AXIS2_TRUE == axis2_msg_ctx_get_is_soap_11 (msg_ctx, env)) { if (AXIS2_ESC_DOUBLE_QUOTE != *soap_action) { axis2_char_t *tmp_soap_action = NULL; tmp_soap_action = AXIS2_MALLOC (env->allocator, (axutil_strlen (soap_action) + 5) * sizeof (axis2_char_t)); sprintf (tmp_soap_action, "\"%s\"", soap_action); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_SOAP_ACTION, tmp_soap_action); AXIS2_FREE (env->allocator, tmp_soap_action); } else { axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_SOAP_ACTION, (const axis2_char_t *) soap_action); } } else if (AXIS2_TRUE == axis2_msg_ctx_get_is_soap_11 (msg_ctx, env)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Adding of SOAP Action Failed for REST request"); return AXIS2_FAILURE; } if (!send_via_get && !send_via_head && !send_via_delete) { /* processing PUT and POST */ buffer_size = axiom_xml_writer_get_xml_size (xml_writer, env); if (AXIS2_FALSE == sender->chunked) { axis2_char_t tmp_buf[10]; if (!buffer) { buffer_size = output_stream_size; } if (buffer_size) { sprintf (tmp_buf, "%d", buffer_size); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_CONTENT_LENGTH, tmp_buf); } } else { axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_TRANSFER_ENCODING, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED); } if (!send_via_put && is_soap) { /* HTTP POST */ if (doing_mtom) { content_type = (axis2_char_t *) axiom_output_get_content_type (sender-> om_output, env); if (AXIS2_TRUE != axis2_msg_ctx_get_is_soap_11 (msg_ctx, env) && axutil_strcmp (soap_action, "")) { /* handle SOAP action for SOAP 1.2 case */ axis2_char_t *temp_content_type = NULL; temp_content_type = axutil_stracat (env, content_type, AXIS2_CONTENT_TYPE_ACTION); content_type = temp_content_type; temp_content_type = axutil_stracat (env, content_type, soap_action); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; temp_content_type = axutil_stracat (env, content_type, AXIS2_ESC_DOUBLE_QUOTE_STR); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; } else { content_type_deepl_copy = AXIS2_FALSE; } } else if (AXIS2_TRUE == axis2_msg_ctx_get_is_soap_11 (msg_ctx, env)) { /* SOAP 1.1 without MTOM */ axis2_char_t *temp_content_type = NULL; content_type = (axis2_char_t *) AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML; content_type = axutil_stracat (env, content_type, AXIS2_CONTENT_TYPE_CHARSET); temp_content_type = axutil_stracat (env, content_type, char_set_enc); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; } else { /* SOAP 1.2 without MTOM */ axis2_char_t *temp_content_type = NULL; content_type = (axis2_char_t *) AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP; content_type = axutil_stracat (env, content_type, AXIS2_CONTENT_TYPE_CHARSET); temp_content_type = axutil_stracat (env, content_type, char_set_enc); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; if (axutil_strcmp (soap_action, "")) { temp_content_type = axutil_stracat (env, content_type, AXIS2_CONTENT_TYPE_ACTION); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; temp_content_type = axutil_stracat (env, content_type, soap_action); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; temp_content_type = axutil_stracat (env, content_type, AXIS2_ESC_DOUBLE_QUOTE_STR); AXIS2_FREE (env->allocator, content_type); content_type = temp_content_type; } } } else if (is_soap) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Attempt to send SOAP message using HTTP PUT failed"); return AXIS2_FAILURE; } else { content_type_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPE); if (content_type_property) { content_type_hash = (axutil_hash_t *) axutil_property_get_value (content_type_property, env); if (content_type_hash) { content_type_value = (char *) axutil_hash_get (content_type_hash, AXIS2_HTTP_HEADER_CONTENT_TYPE, AXIS2_HASH_KEY_STRING); } } if (content_type_value) { content_type = content_type_value; } else { content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML; } content_type_deepl_copy = AXIS2_FALSE; } axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_CONTENT_TYPE, content_type); if (content_type_deepl_copy && content_type) { AXIS2_FREE (env->allocator, content_type); content_type = NULL; } /* Finished Processing PUT and POST */ } if (0 == axutil_strcasecmp (sender->http_version, AXIS2_HTTP_HEADER_PROTOCOL_11)) { /* HTTP 1.1 */ axis2_char_t *header = NULL; int host_len = 0; host_len = axutil_strlen (axutil_url_get_host (url, env)); header = AXIS2_MALLOC (env->allocator, host_len + 10 * sizeof (axis2_char_t)); sprintf (header, "%s:%d", axutil_url_get_host (url, env), axutil_url_get_port (url, env)); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_HOST, header); AXIS2_FREE (env->allocator, header); header = NULL; } /* If this is a normal invocation the buffer has the full SOAP message which needs to be send. In the MTOM case instead of this buffer it has the mime_parts array_list */ if(!doing_mtom) { axis2_http_simple_request_set_body_string (request, env, buffer, buffer_size); } /* HTTPS request processing */ axis2_http_sender_configure_server_cert (sender, env, msg_ctx); axis2_http_sender_configure_key_file (sender, env, msg_ctx); axis2_http_sender_get_timeout_values (sender, env, msg_ctx); axis2_http_client_set_timeout (sender->client, env, sender->so_timeout); ssl_pp_property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_SSL_PASSPHRASE); if (ssl_pp_property) { ssl_pp = (axis2_char_t *) axutil_property_get_value(ssl_pp_property, env); } else { ssl_pp_param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_SSL_PASSPHRASE); if (ssl_pp_param) { ssl_pp = axutil_param_get_value(ssl_pp_param, env); } } test_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_TEST_PROXY_AUTH); if (test_auth_property) { test_auth_property_value = (axis2_char_t *) axutil_property_get_value (test_auth_property, env); } if (test_auth_property_value && 0 == axutil_strcmp (test_auth_property_value, AXIS2_VALUE_TRUE)) { test_proxy_auth = AXIS2_TRUE; } test_auth_property = NULL; test_auth_property_value = NULL; test_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_TEST_HTTP_AUTH); if (test_auth_property) { test_auth_property_value = (axis2_char_t *) axutil_property_get_value (test_auth_property, env); } if (test_auth_property_value && 0 == axutil_strcmp (test_auth_property_value, AXIS2_VALUE_TRUE)) { test_http_auth = AXIS2_TRUE; } if (!test_proxy_auth) { proxy_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_FORCE_PROXY_AUTH); } if (proxy_auth_property) { proxy_auth_property_value = (axis2_char_t *) axutil_property_get_value (proxy_auth_property, env); } if (proxy_auth_property_value && 0 == axutil_strcmp (proxy_auth_property_value, AXIS2_VALUE_TRUE)) { force_proxy_auth = AXIS2_TRUE; } proxy_auth_property = NULL; proxy_auth_property_value = NULL; if (force_proxy_auth) { proxy_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_PROXY_AUTH_TYPE); } if (proxy_auth_property) { proxy_auth_property_value = (axis2_char_t *) axutil_property_get_value (proxy_auth_property, env); } if (proxy_auth_property_value && 0 == axutil_strcmp (proxy_auth_property_value, AXIS2_PROXY_AUTH_TYPE_DIGEST)) { force_proxy_auth = AXIS2_FALSE; force_proxy_auth_with_head = AXIS2_TRUE; } if (!test_http_auth) { http_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_FORCE_HTTP_AUTH); } if (http_auth_property) { http_auth_property_value = (axis2_char_t *) axutil_property_get_value (http_auth_property, env); } if (http_auth_property_value && 0 == axutil_strcmp (http_auth_property_value, AXIS2_VALUE_TRUE)) { force_http_auth = AXIS2_TRUE; } http_auth_property = NULL; http_auth_property_value = NULL; if (force_http_auth) { http_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_AUTH_TYPE); } if (http_auth_property) { http_auth_property_value = (axis2_char_t *) axutil_property_get_value (http_auth_property, env); } if (http_auth_property_value && 0 == axutil_strcmp (http_auth_property_value, AXIS2_HTTP_AUTH_TYPE_DIGEST)) { force_http_auth = AXIS2_FALSE; force_http_auth_with_head = AXIS2_TRUE; } axis2_msg_ctx_set_auth_type(msg_ctx, env, NULL); if (force_proxy_auth || force_proxy_auth_with_head) { status_code = AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL; } else { /* NOT forcing proxy authentication */ if (force_http_auth) { axis2_status_t auth_status; auth_status = axis2_http_sender_configure_http_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting HTTP Authentication header"); } http_auth_header_added = AXIS2_TRUE; status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); } if (force_http_auth_with_head) { axis2_http_request_line_t *head_request_line = NULL; axis2_http_request_line_t *temp = NULL; temp = axis2_http_simple_request_get_request_line(request, env); head_request_line = axis2_http_request_line_create(env, AXIS2_HTTP_HEAD, axis2_http_request_line_get_uri(temp, env), axis2_http_request_line_get_http_version(temp, env)); axis2_http_simple_request_set_request_line(request, env, head_request_line); status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); axis2_http_simple_request_set_request_line(request, env, temp); axis2_http_request_line_free(head_request_line, env); if (status_code == AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL) { axis2_status_t auth_status; auth_status = axis2_http_sender_configure_http_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting HTTP Authentication\ header"); } http_auth_header_added = AXIS2_TRUE; } if (status_code != AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL) { status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); if (status_code == AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL) { http_auth_header_added = AXIS2_FALSE; force_http_auth_with_head = AXIS2_FALSE; } } } else { status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); } } if (AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL == status_code && !test_proxy_auth) { if (force_proxy_auth_with_head) { axis2_http_request_line_t *head_request_line = NULL; axis2_http_request_line_t *temp = NULL; temp = axis2_http_simple_request_get_request_line(request, env); head_request_line = axis2_http_request_line_create(env, AXIS2_HTTP_HEAD, axis2_http_request_line_get_uri(temp, env), axis2_http_request_line_get_http_version(temp, env)); axis2_http_simple_request_set_request_line(request, env, head_request_line); status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); axis2_http_simple_request_set_request_line(request, env, temp); axis2_http_request_line_free(head_request_line, env); if (status_code == AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL) { axis2_status_t auth_status; auth_status = axis2_http_sender_configure_proxy_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting Proxy Authentication\ header"); } if ((force_http_auth_with_head || force_http_auth) && !http_auth_header_added) { status_code = AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL; } else { status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); } } else if (status_code != AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL) { status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); } /* Proxies have no idea about HTTP Methods therefore, if * it fails no need to re-check */ if (AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL == status_code) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Proxy Authentication failed"); axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_FALSE); } } else { /* not forcing proxy auth with head */ axis2_status_t auth_status; auth_status = axis2_http_sender_configure_proxy_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting Proxy Authentication \ header"); } if ((force_http_auth_with_head || force_http_auth) && !http_auth_header_added) { status_code = AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL; } else { status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); if (AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL == status_code) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Proxy Authentication failed"); axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_FALSE); } } } } else if (AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL == status_code) { axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_FALSE); axis2_http_sender_set_proxy_auth_type (sender, env, msg_ctx, request); } if (AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL == status_code && !test_http_auth) { if (!http_auth_header_added) { if (force_proxy_auth_with_head) { axis2_http_request_line_t *head_request_line = NULL; axis2_http_request_line_t *temp = NULL; temp = axis2_http_simple_request_get_request_line(request, env); head_request_line = axis2_http_request_line_create(env, AXIS2_HTTP_HEAD, axis2_http_request_line_get_uri(temp, env), axis2_http_request_line_get_http_version( temp, env)); axis2_http_simple_request_set_request_line(request, env, head_request_line); status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); axis2_http_simple_request_set_request_line(request, env, temp); axis2_http_request_line_free(head_request_line, env); if (status_code == AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL) { axis2_status_t auth_status; auth_status = axis2_http_sender_configure_http_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting HTTP Authentication \ header"); } status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); if (status_code == AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL) { axis2_status_t auth_status; auth_status = axis2_http_sender_configure_http_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting HTTP \ Authentication header"); } status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); } } } else { axis2_status_t auth_status; auth_status = axis2_http_sender_configure_http_auth (sender, env, msg_ctx, request); if (auth_status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Error in setting HTTP Authentication \ header"); } status_code = axis2_http_client_send (sender->client, env, request, ssl_pp); status_code = axis2_http_client_recieve_header (sender->client, env); } if (AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL == status_code) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "HTTP Authentication failed"); axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_TRUE); } if (AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL == status_code) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Proxy Authentication failed"); axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_FALSE); } } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "HTTP Authentication failed"); axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_TRUE); } } else if (AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL == status_code) { axis2_msg_ctx_set_auth_failed(msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_required_auth_is_http(msg_ctx, env, AXIS2_TRUE); axis2_http_sender_set_http_auth_type (sender, env, msg_ctx, request); } axis2_http_simple_request_free (request, env); request = NULL; AXIS2_FREE (env->allocator, output_stream); output_stream = NULL; if (status_code < 0) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "status_code < 0"); return AXIS2_FAILURE; } axis2_msg_ctx_set_status_code (msg_ctx, env, status_code); /* Start processing response */ response = axis2_http_client_get_response (sender->client, env); if (!is_soap) { return axis2_http_sender_process_response (sender, env, msg_ctx, response); } else if (AXIS2_HTTP_RESPONSE_OK_CODE_VAL == status_code || AXIS2_HTTP_RESPONSE_ACK_CODE_VAL == status_code) { return axis2_http_sender_process_response (sender, env, msg_ctx, response); } else if (AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL == status_code) { axis2_http_header_t *tmp_header = NULL; axis2_char_t *tmp_header_val = NULL; axis2_op_t *op = NULL; op = axis2_msg_ctx_get_op (msg_ctx, env); if (op) { const axis2_char_t *mep = axis2_op_get_msg_exchange_pattern (op, env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); /* handle one way case */ if (!axutil_strcmp (mep, AXIS2_MEP_URI_OUT_ONLY)) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "mep is AXIS2_MEP_URI_OUT_ONLY"); return AXIS2_FAILURE; } } /* set an error to indicate error code status */ tmp_header = axis2_http_simple_response_get_first_header (response, env, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (tmp_header) { tmp_header_val = axis2_http_header_get_value (tmp_header, env); } if (tmp_header_val && (axutil_strstr (tmp_header_val, AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP) || axutil_strstr (tmp_header_val, AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML))) { return axis2_http_sender_process_response (sender, env, msg_ctx, response); } } AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_http_sender_send"); return AXIS2_FAILURE; } #endif AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_set_chunked (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_bool_t chunked) { sender->chunked = chunked; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_set_om_output (axis2_http_sender_t * sender, const axutil_env_t * env, axiom_output_t * om_output) { sender->om_output = om_output; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_get_header_info (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_response_t * response) { axutil_array_list_t *headers = NULL; axis2_char_t *charset = NULL; int i = 0; axis2_bool_t response_chunked = AXIS2_FALSE; int *content_length = NULL; axutil_property_t *property = NULL; axis2_char_t *content_type = NULL; int status_code = 0; AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, response, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, sender, AXIS2_FAILURE); headers = axis2_http_simple_response_get_headers (response, env); if (headers == NULL) { return AXIS2_SUCCESS; } for (i = 0; i < axutil_array_list_size (headers, env); i++) { axis2_http_header_t *header = axutil_array_list_get (headers, env, i); axis2_char_t *name = axis2_http_header_get_name ((axis2_http_header_t *) header, env); if (name) { if (0 == axutil_strcasecmp (name, AXIS2_HTTP_HEADER_TRANSFER_ENCODING) && 0 == axutil_strcasecmp (axis2_http_header_get_value (header, env), AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { axis2_char_t *transfer_encoding = NULL; transfer_encoding = axutil_strdup (env, AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED); response_chunked = AXIS2_TRUE; axis2_msg_ctx_set_transfer_encoding (msg_ctx, env, transfer_encoding); } if (0 != axutil_strcasecmp (name, AXIS2_HTTP_HEADER_CONTENT_TYPE)) { axis2_char_t *tmp_charset = NULL; axis2_char_t *content_type = axis2_http_header_get_value (header, env); tmp_charset = strstr (content_type, AXIS2_HTTP_CHAR_SET_ENCODING); if (charset) { charset = axutil_strdup (env, tmp_charset); break; } } } } content_type = (axis2_char_t *) axis2_http_simple_response_get_content_type (response, env); if (content_type) { if (strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED) && strstr (content_type, AXIS2_HTTP_HEADER_ACCEPT_XOP_XML)) { axis2_ctx_t *axis_ctx = axis2_op_ctx_get_base (axis2_msg_ctx_get_op_ctx (msg_ctx, env), env); property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value (property, env, axutil_strdup (env, content_type)); axis2_ctx_set_property (axis_ctx, env, MTOM_RECIVED_CONTENT_TYPE, property); } } if (charset) { axis2_ctx_t *axis_ctx = axis2_op_ctx_get_base (axis2_msg_ctx_get_op_ctx (msg_ctx, env), env); if (axis_ctx) { property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value (property, env, charset); axis2_ctx_set_property (axis_ctx, env, AXIS2_CHARACTER_SET_ENCODING, property); } } if (AXIS2_FALSE == response_chunked) { int tmp_len = 0; content_length = AXIS2_MALLOC (env->allocator, sizeof (int)); if (!content_length) { return AXIS2_FAILURE; } tmp_len = axis2_http_simple_response_get_content_length (response, env); memcpy (content_length, &tmp_len, sizeof (int)); property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value (property, env, content_length); axis2_msg_ctx_set_property (msg_ctx, env, AXIS2_HTTP_HEADER_CONTENT_LENGTH, property); } status_code = axis2_http_simple_response_get_status_code (response, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_process_response (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_response_t * response) { axutil_stream_t *in_stream = NULL; axutil_property_t *property = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_http_sender_process_response"); AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, response, AXIS2_FAILURE); in_stream = axis2_http_simple_response_get_body (response, env); if (!in_stream) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY, AXIS2_FAILURE); return AXIS2_FAILURE; } axis2_http_sender_get_header_info (sender, env, msg_ctx, response); axis2_msg_ctx_set_http_output_headers(msg_ctx, env, axis2_http_simple_response_extract_headers(response, env)); property = axutil_property_create (env); axutil_property_set_scope (property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_free_func (property, env, axutil_stream_free_void_arg); axutil_property_set_value (property, env, in_stream); axis2_msg_ctx_set_property (msg_ctx, env, AXIS2_TRANSPORT_IN, property); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_http_sender_process_response"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_get_timeout_values (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_char_t *so_str = NULL; axis2_char_t *connection_str = NULL; axutil_param_t *tmp_param = NULL; axutil_property_t *property = NULL; AXIS2_PARAM_CHECK (env->error, sender, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); /* check if timeout has been set by user using options * with axis2_options_set_timeout_in_milli_seconds */ property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HTTP_CONNECTION_TIMEOUT); if (property) { axis2_char_t *value = axutil_property_get_value(property, env); if (value) { sender->so_timeout = AXIS2_ATOI(value); return AXIS2_SUCCESS; } } tmp_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_HTTP_SO_TIMEOUT); if (tmp_param) { so_str = (axis2_char_t *) axutil_param_get_value (tmp_param, env); if (so_str) { sender->so_timeout = AXIS2_ATOI (so_str); return AXIS2_SUCCESS; } } tmp_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_HTTP_CONNECTION_TIMEOUT); if (tmp_param) { connection_str = (axis2_char_t *) axutil_param_get_value (tmp_param, env); if (connection_str) { sender->so_timeout = AXIS2_ATOI (connection_str); return AXIS2_SUCCESS; } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_set_http_version (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_char_t * version) { sender->http_version = axutil_strdup (env, version); if (!sender->http_version) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } #ifndef AXIS2_LIBCURL_ENABLED static void axis2_http_sender_add_header_list (axis2_http_simple_request_t * request, const axutil_env_t * env, axutil_array_list_t * array_list) { int ii = 0; int kk = 0; axis2_http_header_t *http_header = NULL; ii = axutil_array_list_size (array_list, env); for (; kk < ii; kk++) { http_header = (axis2_http_header_t *) axutil_array_list_get (array_list, env, kk); axis2_http_simple_request_add_header (request, env, http_header); } } static axis2_status_t axis2_http_sender_configure_proxy (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *proxy_param = NULL; axutil_hash_t *transport_attrs = NULL; axis2_char_t *proxy_host = NULL; axis2_char_t *proxy_port = NULL; AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (!conf_ctx) { return AXIS2_FAILURE; } conf = axis2_conf_ctx_get_conf (conf_ctx, env); if (!conf) { return AXIS2_FAILURE; } trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); if (!trans_desc) { return AXIS2_FAILURE; } proxy_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_PROXY_API); if (!proxy_param) { proxy_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_PROXY); } if (proxy_param) { transport_attrs = axutil_param_get_attributes (proxy_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *host_attr = NULL; axiom_attribute_t *port_attr = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_PROXY_HOST, AXIS2_HASH_KEY_STRING); if (!obj) { return AXIS2_FAILURE; } host_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); if (!host_attr) { return AXIS2_FAILURE; } proxy_host = axiom_attribute_get_value (host_attr, env); if (!proxy_host) { return AXIS2_FAILURE; } /* Now we get the port */ obj = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_PROXY_PORT, AXIS2_HASH_KEY_STRING); port_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); if (!port_attr) { return AXIS2_FAILURE; } proxy_port = axiom_attribute_get_value (port_attr, env); if (!proxy_port) { return AXIS2_FAILURE; } } } if (proxy_port && proxy_host) { axis2_http_client_set_proxy (sender->client, env, proxy_host, AXIS2_ATOI (proxy_port)); } return AXIS2_SUCCESS; } #endif #ifndef AXIS2_LIBCURL_ENABLED static axis2_status_t axis2_http_sender_configure_server_cert (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axutil_property_t *server_cert_property = NULL; axutil_param_t *server_cert_param = NULL; axis2_char_t *server_cert = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); server_cert_property = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_SSL_SERVER_CERT); if (server_cert_property) { server_cert = (axis2_char_t *) axutil_property_get_value (server_cert_property, env); } else { server_cert_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_SSL_SERVER_CERT); if (server_cert_param) { server_cert = (axis2_char_t *) axutil_param_get_value (server_cert_param, env); } } if (server_cert) { status = axis2_http_client_set_server_cert (sender->client, env, server_cert); } return status; } #endif #ifndef AXIS2_LIBCURL_ENABLED static axis2_status_t axis2_http_sender_configure_key_file (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axutil_property_t *key_file_property = NULL; axutil_param_t *key_file_param = NULL; axis2_char_t *key_file = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK (env->error, msg_ctx, AXIS2_FAILURE); key_file_property = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_SSL_KEY_FILE); if (key_file_property) { key_file = (axis2_char_t *) axutil_property_get_value (key_file_property, env); } else { key_file_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_SSL_KEY_FILE); if (key_file_param) { key_file = (axis2_char_t *) axutil_param_get_value (key_file_param, env); } } if (key_file) { status = axis2_http_client_set_key_file (sender->client, env, key_file); } return status; } #endif #ifndef AXIS2_LIBCURL_ENABLED static axis2_status_t axis2_http_sender_configure_http_basic_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request) { axutil_property_t *http_auth_un = NULL; axutil_property_t *http_auth_pw = NULL; axis2_char_t *uname = NULL; axis2_char_t *passwd = NULL; http_auth_un = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_AUTH_UNAME); http_auth_pw = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_AUTH_PASSWD); if (http_auth_un && http_auth_pw) { uname = (axis2_char_t *) axutil_property_get_value (http_auth_un, env); passwd = (axis2_char_t *) axutil_property_get_value (http_auth_pw, env); } if (!uname || !passwd) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *http_auth_param = NULL; axutil_hash_t *transport_attrs = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } } if (trans_desc) { http_auth_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_AUTHENTICATION); if (http_auth_param) { transport_attrs = axutil_param_get_attributes (http_auth_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *username_attr = NULL; axiom_attribute_t *password_attr = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_AUTHENTICATION_USERNAME, AXIS2_HASH_KEY_STRING); if (obj) { username_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (username_attr) { uname = axiom_attribute_get_value (username_attr, env); } obj = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_AUTHENTICATION_PASSWORD, AXIS2_HASH_KEY_STRING); if (obj) { password_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (password_attr) { passwd = axiom_attribute_get_value (password_attr, env); } } } } } if (uname && passwd) { int elen; int plen = axutil_strlen (uname) + axutil_strlen (passwd) + 1; axis2_char_t *to_encode = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * plen + 1)); axis2_char_t *encoded = NULL; axis2_char_t *auth_str = NULL; sprintf (to_encode, "%s:%s", uname, passwd); elen = axutil_base64_encode_len (plen); encoded = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * elen)); auth_str = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (elen + 6))); axutil_base64_encode (encoded, to_encode, plen); sprintf (auth_str, "%s %s", AXIS2_HTTP_AUTH_TYPE_BASIC, encoded); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_AUTHORIZATION, auth_str); AXIS2_FREE (env->allocator, to_encode); to_encode = NULL; AXIS2_FREE (env->allocator, encoded); encoded = NULL; AXIS2_FREE (env->allocator, auth_str); auth_str = NULL; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } static axis2_status_t axis2_http_sender_configure_proxy_basic_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request) { axutil_property_t *proxy_auth_un = NULL; axutil_property_t *proxy_auth_pw = NULL; axis2_char_t *uname = NULL; axis2_char_t *passwd = NULL; proxy_auth_un = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_PROXY_AUTH_UNAME); proxy_auth_pw = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_PROXY_AUTH_PASSWD); if (proxy_auth_un && proxy_auth_pw) { uname = (axis2_char_t *) axutil_property_get_value (proxy_auth_un, env); passwd = (axis2_char_t *) axutil_property_get_value (proxy_auth_pw, env); } if (!uname || !passwd) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *proxy_param = NULL; axutil_hash_t *transport_attrs = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } } if (trans_desc) { proxy_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_PROXY_API); if (!proxy_param) { proxy_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_PROXY); } if (proxy_param) { transport_attrs = axutil_param_get_attributes (proxy_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *username_attr = NULL; axiom_attribute_t *password_attr = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_PROXY_USERNAME, AXIS2_HASH_KEY_STRING); if (obj) { username_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (username_attr) { uname = axiom_attribute_get_value (username_attr, env); } obj = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_PROXY_PASSWORD, AXIS2_HASH_KEY_STRING); if (obj) { password_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (password_attr) { passwd = axiom_attribute_get_value (password_attr, env); } } } } } if (uname && passwd) { int elen; int plen = axutil_strlen (uname) + axutil_strlen (passwd) + 1; axis2_char_t *to_encode = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * plen + 1)); axis2_char_t *encoded = NULL; axis2_char_t *auth_str = NULL; sprintf (to_encode, "%s:%s", uname, passwd); elen = axutil_base64_encode_len (plen); encoded = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * elen)); auth_str = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (elen + 6))); axutil_base64_encode (encoded, to_encode, plen); sprintf (auth_str, "%s %s", AXIS2_PROXY_AUTH_TYPE_BASIC, encoded); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_PROXY_AUTHORIZATION, auth_str); AXIS2_FREE (env->allocator, to_encode); to_encode = NULL; AXIS2_FREE (env->allocator, encoded); encoded = NULL; AXIS2_FREE (env->allocator, auth_str); auth_str = NULL; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } #endif #ifndef AXIS2_LIBCURL_ENABLED static axis2_status_t axis2_http_sender_configure_http_digest_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request, axis2_char_t * header_data) { axutil_property_t *http_auth_un = NULL; axutil_property_t *http_auth_pw = NULL; axis2_char_t *uname = NULL; axis2_char_t *passwd = NULL; if (!header_data || !*header_data) return AXIS2_FAILURE; http_auth_un = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_AUTH_UNAME); http_auth_pw = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_AUTH_PASSWD); if (http_auth_un && http_auth_pw) { uname = (axis2_char_t *) axutil_property_get_value (http_auth_un, env); passwd = (axis2_char_t *) axutil_property_get_value (http_auth_pw, env); } if (!uname || !passwd) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *http_auth_param = NULL; axutil_hash_t *transport_attrs = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } } if (trans_desc) { http_auth_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_AUTHENTICATION); if (http_auth_param) { transport_attrs = axutil_param_get_attributes (http_auth_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *username_attr = NULL; axiom_attribute_t *password_attr = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_AUTHENTICATION_USERNAME, AXIS2_HASH_KEY_STRING); if (obj) { username_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (username_attr) { uname = axiom_attribute_get_value (username_attr, env); } obj = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_AUTHENTICATION_PASSWORD, AXIS2_HASH_KEY_STRING); if (obj) { password_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (password_attr) { passwd = axiom_attribute_get_value (password_attr, env); } } } } } if (uname && passwd) { int elen = 0; /* length of header content */ int print_const = 5; /* constant accounts for printing the quoatation marks, comma, and space */ int response_length = 32; axis2_char_t *temp = NULL; axis2_char_t *alloc_temp = NULL; axis2_char_t *algo = AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5; axis2_char_t *realm = NULL; axis2_char_t *qop = NULL; axis2_char_t *nonce = NULL; axis2_char_t *opaque = NULL; axis2_char_t *cnonce = NULL; axis2_char_t *nc = NULL; axutil_digest_hash_hex_t h_a1; axutil_digest_hash_hex_t h_a2; axutil_digest_hash_hex_t response; axis2_char_t *auth_str = NULL; axutil_property_t *method = NULL; axis2_char_t *method_value = NULL; axis2_char_t *url = NULL; url = axis2_http_request_line_get_uri( axis2_http_simple_request_get_request_line(request, env), env); if (!url) { return AXIS2_FAILURE; } elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI) + axutil_strlen(url); elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME) + axutil_strlen(uname); method = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_METHOD); if (method) { method_value = (axis2_char_t *) axutil_property_get_value (method, env); } else { method_value = AXIS2_HTTP_POST; } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM); if (temp) { realm = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (realm) { realm++; temp = axutil_strchr(realm, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-realm + 1))); strncpy(alloc_temp, realm, (temp-realm)); if (alloc_temp) alloc_temp[temp-realm] = AXIS2_ESC_NULL; realm = alloc_temp; alloc_temp = NULL; elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM)+ axutil_strlen(realm); } else { return AXIS2_FAILURE; } } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP); if (temp) { qop = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (qop) { qop++; temp = axutil_strchr(qop, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-qop + 1))); strncpy(alloc_temp, qop, (temp-qop)); if (alloc_temp) alloc_temp[temp-qop] = AXIS2_ESC_NULL; qop = alloc_temp; alloc_temp = NULL; } } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE); if (temp) { nonce = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (nonce) { nonce++; temp = axutil_strchr(nonce, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-nonce + 1))); strncpy(alloc_temp, nonce, (temp-nonce)); if (alloc_temp) alloc_temp[temp-nonce] = AXIS2_ESC_NULL; nonce = alloc_temp; alloc_temp = NULL; elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE)+ axutil_strlen(nonce); } else { if (realm) AXIS2_FREE (env->allocator, realm); return AXIS2_FAILURE; } } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE); if (temp) { opaque = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (opaque) { opaque++; temp = axutil_strchr(opaque, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-opaque + 1))); strncpy(alloc_temp, opaque, (temp-opaque)); if (alloc_temp) alloc_temp[temp-opaque] = AXIS2_ESC_NULL; opaque = alloc_temp; alloc_temp = NULL; elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE) + axutil_strlen(opaque); } else { if (realm) AXIS2_FREE (env->allocator, realm); if (nonce) AXIS2_FREE (env->allocator, nonce); return AXIS2_FAILURE; } } if (qop) { nc = AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE; temp = qop; if (!axutil_strstr(temp, AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH)) { return AXIS2_FAILURE; } AXIS2_FREE (env->allocator, qop); qop = AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH; temp = axutil_uuid_gen(env); cnonce = temp; temp += CLIENT_NONCE_LENGTH; if (temp) *temp = AXIS2_ESC_NULL; elen += 11 + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE) + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT) + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE) + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP) + CLIENT_NONCE_LENGTH + axutil_strlen(qop); } axutil_digest_calc_get_h_a1(env, algo, uname, realm, passwd, cnonce, nonce, h_a1); axutil_digest_calc_get_response(env, h_a1, nonce, nc, cnonce, qop, method_value, url, h_a2, response); elen += 4 + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE) + axutil_strlen(AXIS2_HTTP_AUTH_TYPE_DIGEST) + response_length; auth_str = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (elen + 1))); temp = auth_str; sprintf (temp, "%s %s=\"%s\", ", AXIS2_HTTP_AUTH_TYPE_DIGEST, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME, uname); temp += ((int)strlen(AXIS2_HTTP_AUTH_TYPE_DIGEST) + (int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME) + (int)strlen(uname) + 6); if (realm) { sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM, realm); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM) + (int)strlen(realm) + 5); } if (nonce) { sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE, nonce); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE) + (int)strlen(nonce) + 5); } sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI, url); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI) + (int)strlen(url) + 5); if (qop) { sprintf (temp, "%s=%s, %s=%s, %s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP, qop, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT, nc, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE, cnonce); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP) + (int)strlen(qop) + (int)strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT) + (int)strlen(nc) + (int)strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE) + (int)strlen(cnonce) + 11); } if (opaque) { sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE, opaque); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE)+ (int)strlen(opaque) + 5); } sprintf (temp, "%s=\"%s\"", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE, response); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_AUTHORIZATION, auth_str); if (realm) AXIS2_FREE (env->allocator, realm); if (nonce) AXIS2_FREE (env->allocator, nonce); if (cnonce) AXIS2_FREE (env->allocator, cnonce); if (opaque) AXIS2_FREE (env->allocator, opaque); if (auth_str) AXIS2_FREE (env->allocator, auth_str); auth_str = NULL; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } static axis2_status_t axis2_http_sender_configure_proxy_digest_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request, axis2_char_t * header_data) { axutil_property_t *proxy_auth_un = NULL; axutil_property_t *proxy_auth_pw = NULL; axis2_char_t *uname = NULL; axis2_char_t *passwd = NULL; if (!header_data || !*header_data) return AXIS2_FAILURE; proxy_auth_un = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_PROXY_AUTH_UNAME); proxy_auth_pw = axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_PROXY_AUTH_PASSWD); if (proxy_auth_un && proxy_auth_pw) { uname = (axis2_char_t *) axutil_property_get_value (proxy_auth_un, env); passwd = (axis2_char_t *) axutil_property_get_value (proxy_auth_pw, env); } if (!uname || !passwd) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_transport_out_desc_t *trans_desc = NULL; axutil_param_t *proxy_param = NULL; axutil_hash_t *transport_attrs = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf (conf_ctx, env); if (conf) { trans_desc = axis2_conf_get_transport_out (conf, env, AXIS2_TRANSPORT_ENUM_HTTP); } } if (trans_desc) { proxy_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_PROXY_API); if (!proxy_param) { proxy_param = axutil_param_container_get_param (axis2_transport_out_desc_param_container (trans_desc, env), env, AXIS2_HTTP_PROXY); } if (proxy_param) { transport_attrs = axutil_param_get_attributes (proxy_param, env); if (transport_attrs) { axutil_generic_obj_t *obj = NULL; axiom_attribute_t *username_attr = NULL; axiom_attribute_t *password_attr = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_PROXY_USERNAME, AXIS2_HASH_KEY_STRING); if (obj) { username_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (username_attr) { uname = axiom_attribute_get_value (username_attr, env); } obj = NULL; obj = axutil_hash_get (transport_attrs, AXIS2_HTTP_PROXY_PASSWORD, AXIS2_HASH_KEY_STRING); if (obj) { password_attr = (axiom_attribute_t *) axutil_generic_obj_get_value (obj, env); } if (password_attr) { passwd = axiom_attribute_get_value (password_attr, env); } } } } } if (uname && passwd) { int elen = 0; /* length of header content */ int print_const = 5; /* constant accounts for printing the quoatation marks, comma, and space */ int response_length = 32; axis2_char_t *temp = NULL; axis2_char_t *alloc_temp = NULL; axis2_char_t *algo = AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5; axis2_char_t *realm = NULL; axis2_char_t *qop = NULL; axis2_char_t *nonce = NULL; axis2_char_t *opaque = NULL; axis2_char_t *cnonce = NULL; axis2_char_t *nc = NULL; axutil_digest_hash_hex_t h_a1; axutil_digest_hash_hex_t h_a2; axutil_digest_hash_hex_t response; axis2_char_t *auth_str = NULL; axutil_property_t *method = NULL; axis2_char_t *method_value = NULL; axis2_char_t *url = NULL; url = axis2_http_request_line_get_uri( axis2_http_simple_request_get_request_line(request, env), env); if (!url) { return AXIS2_FAILURE; } elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI) + axutil_strlen(url); elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME) + axutil_strlen(uname); method = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_METHOD); if (method) { method_value = (axis2_char_t *) axutil_property_get_value (method, env); } else { method_value = AXIS2_HTTP_POST; } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM); if (temp) { realm = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (realm) { realm++; temp = axutil_strchr(realm, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-realm + 1))); strncpy(alloc_temp, realm, (temp-realm)); if (alloc_temp) alloc_temp[temp-realm] = AXIS2_ESC_NULL; realm = alloc_temp; alloc_temp = NULL; elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM) + axutil_strlen(realm); } else { return AXIS2_FAILURE; } } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP); if (temp) { qop = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (qop) { qop++; temp = axutil_strchr(qop, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-qop + 1))); strncpy(alloc_temp, qop, (temp-qop)); if (alloc_temp) alloc_temp[temp-qop] = AXIS2_ESC_NULL; qop = alloc_temp; alloc_temp = NULL; } } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE); if (temp) { nonce = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (nonce) { nonce++; temp = axutil_strchr(nonce, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-nonce + 1))); strncpy(alloc_temp, nonce, (temp-nonce)); if (alloc_temp) alloc_temp[temp-nonce] = AXIS2_ESC_NULL; nonce = alloc_temp; alloc_temp = NULL; elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE) + axutil_strlen(nonce); } else { if (realm) AXIS2_FREE (env->allocator, realm); return AXIS2_FAILURE; } } temp = axutil_strstr(header_data, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE); if (temp) { opaque = axutil_strchr(temp, AXIS2_ESC_DOUBLE_QUOTE); if (opaque) { opaque++; temp = axutil_strchr(opaque, AXIS2_ESC_DOUBLE_QUOTE); alloc_temp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (temp-opaque + 1))); strncpy(alloc_temp, opaque, (temp-opaque)); if (alloc_temp) alloc_temp[temp-opaque] = AXIS2_ESC_NULL; opaque = alloc_temp; alloc_temp = NULL; elen += print_const + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE) + axutil_strlen(opaque); } else { if (realm) AXIS2_FREE (env->allocator, realm); if (nonce) AXIS2_FREE (env->allocator, nonce); return AXIS2_FAILURE; } } if (qop) { nc = AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE; temp = qop; if (!axutil_strstr(temp, AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH)) { return AXIS2_FAILURE; } AXIS2_FREE (env->allocator, qop); qop = AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH; temp = axutil_uuid_gen(env); cnonce = temp; temp += CLIENT_NONCE_LENGTH; if (temp) *temp = AXIS2_ESC_NULL; elen += 11 + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE) + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT) + axutil_strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE) + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP) + CLIENT_NONCE_LENGTH + axutil_strlen(qop); } axutil_digest_calc_get_h_a1(env, algo, uname, realm, passwd, cnonce, nonce, h_a1); axutil_digest_calc_get_response(env, h_a1, nonce, nc, cnonce, qop, method_value, url, h_a2, response); elen += 4 + axutil_strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE) + axutil_strlen(AXIS2_PROXY_AUTH_TYPE_DIGEST) + response_length; auth_str = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (elen + 1))); temp = auth_str; sprintf (temp, "%s %s=\"%s\", ", AXIS2_PROXY_AUTH_TYPE_DIGEST, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME, uname); temp += ((int)strlen(AXIS2_HTTP_AUTH_TYPE_DIGEST) + (int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME) + (int)strlen(uname) + 6); if (realm) { sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM, realm); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM) + (int)strlen(realm) + 5); } if (nonce) { sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE, nonce); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE) + (int)strlen(nonce) + 5); } sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI, url); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI) + (int)strlen(url) + 5); if (qop) { sprintf (temp, "%s=%s, %s=%s, %s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP, qop, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT, nc, AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE, cnonce); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP) + (int)strlen(qop) + (int)strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT) + (int)strlen(nc) + (int)strlen( AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE) + (int)strlen(cnonce) + 11); } if (opaque) { sprintf (temp, "%s=\"%s\", ", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE, opaque); temp += ((int)strlen(AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE)+ (int)strlen(opaque) + 5); } sprintf (temp, "%s=\"%s\"", AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE, response); axis2_http_sender_util_add_header (env, request, AXIS2_HTTP_HEADER_PROXY_AUTHORIZATION, auth_str); if (realm) { AXIS2_FREE (env->allocator, realm); } if (nonce) { AXIS2_FREE (env->allocator, nonce); } if (cnonce) { AXIS2_FREE (env->allocator, cnonce); } if (opaque) { AXIS2_FREE (env->allocator, opaque); } if (auth_str) { AXIS2_FREE (env->allocator, auth_str); } auth_str = NULL; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } #endif #ifndef AXIS2_LIBCURL_ENABLED static axis2_status_t axis2_http_sender_configure_http_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request) { axis2_char_t *auth_type = NULL; axis2_status_t status = AXIS2_FALSE; axutil_property_t *http_auth_property = NULL; axis2_char_t *http_auth_property_value = NULL; axis2_bool_t force_http_auth = AXIS2_FALSE; axutil_property_t *http_auth_type_property = NULL; axis2_char_t *http_auth_type_property_value = NULL; axis2_char_t *auth_type_end = NULL; http_auth_property = (axutil_property_t *)axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_FORCE_HTTP_AUTH); if (http_auth_property) { http_auth_property_value = (axis2_char_t *) axutil_property_get_value (http_auth_property, env); } if (http_auth_property_value && 0 == axutil_strcmp (http_auth_property_value, AXIS2_VALUE_TRUE)) { force_http_auth = AXIS2_TRUE; } if (force_http_auth) { http_auth_type_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_HTTP_AUTH_TYPE); if (http_auth_type_property) { http_auth_type_property_value = (axis2_char_t *) axutil_property_get_value (http_auth_type_property, env); } if (http_auth_type_property_value) { auth_type = http_auth_type_property_value; } } if (!force_http_auth || axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_DIGEST) == 0) { axis2_http_header_t *auth_header = NULL; axis2_http_simple_response_t *response = NULL; response = axis2_http_client_get_response (sender->client, env); if (response) { auth_header = axis2_http_simple_response_get_first_header ( response, env, AXIS2_HTTP_HEADER_WWW_AUTHENTICATE); } if (auth_header) { auth_type = axis2_http_header_get_value (auth_header, env); } if (auth_type) { auth_type_end = axutil_strchr (auth_type, ' '); *auth_type_end = AXIS2_ESC_NULL; auth_type_end++; /*Read the realm and the rest stuff now from auth_type_end */ } if (force_http_auth && axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_DIGEST) != 0) { auth_type = NULL; } } if (auth_type) { if (axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_BASIC) == 0) { status = axis2_http_sender_configure_http_basic_auth (sender, env, msg_ctx, request); } else if (axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_DIGEST) == 0) { status = axis2_http_sender_configure_http_digest_auth (sender, env, msg_ctx, request, auth_type_end); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Authtype %s is not" "supported", auth_type); } } else { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); } return status; } static axis2_status_t axis2_http_sender_configure_proxy_auth (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request) { axis2_char_t *auth_type = NULL; axis2_status_t status = AXIS2_FALSE; axutil_property_t *proxy_auth_property = NULL; axis2_char_t *proxy_auth_property_value = NULL; axis2_bool_t force_proxy_auth = AXIS2_FALSE; axutil_property_t *proxy_auth_type_property = NULL; axis2_char_t *proxy_auth_type_property_value = NULL; axis2_char_t *auth_type_end = NULL; proxy_auth_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_FORCE_PROXY_AUTH); if (proxy_auth_property) { proxy_auth_property_value = (axis2_char_t *) axutil_property_get_value (proxy_auth_property, env); } if (proxy_auth_property_value && 0 == axutil_strcmp (proxy_auth_property_value, AXIS2_VALUE_TRUE)) { force_proxy_auth = AXIS2_TRUE; } if (force_proxy_auth) { proxy_auth_type_property = (axutil_property_t *) axis2_msg_ctx_get_property (msg_ctx, env, AXIS2_PROXY_AUTH_TYPE); if (proxy_auth_type_property) { proxy_auth_type_property_value = (axis2_char_t *) axutil_property_get_value (proxy_auth_type_property, env); } if (proxy_auth_type_property_value) { auth_type = proxy_auth_type_property_value; } } else { axis2_http_header_t *auth_header = NULL; axis2_http_simple_response_t *response = NULL; response = axis2_http_client_get_response (sender->client, env); if (response) { auth_header = axis2_http_simple_response_get_first_header ( response, env, AXIS2_HTTP_HEADER_PROXY_AUTHENTICATE); } if (auth_header) { auth_type = axis2_http_header_get_value (auth_header, env); } if (auth_type) { auth_type_end = axutil_strchr (auth_type, ' '); *auth_type_end = AXIS2_ESC_NULL; auth_type_end++; /*Read the realm and the rest stuff now from auth_type_end */ } } if (auth_type) { if (axutil_strcasecmp (auth_type, AXIS2_PROXY_AUTH_TYPE_BASIC) == 0) { status = axis2_http_sender_configure_proxy_basic_auth (sender, env, msg_ctx, request); } else if (axutil_strcasecmp (auth_type, AXIS2_PROXY_AUTH_TYPE_DIGEST) == 0) { status = axis2_http_sender_configure_proxy_digest_auth (sender, env, msg_ctx, request, auth_type_end); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Authtype %s is not supported", auth_type); } } else { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); } return status; } #endif #ifndef AXIS2_LIBCURL_ENABLED static axis2_status_t axis2_http_sender_set_http_auth_type (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request) { axis2_char_t *auth_type = NULL; axis2_status_t status = AXIS2_FALSE; axis2_char_t *auth_type_end = NULL; axis2_http_header_t *auth_header = NULL; axis2_http_simple_response_t *response = NULL; response = axis2_http_client_get_response (sender->client, env); if (response) { auth_header = axis2_http_simple_response_get_first_header ( response, env, AXIS2_HTTP_HEADER_WWW_AUTHENTICATE); } if (auth_header) { auth_type = axis2_http_header_get_value (auth_header, env); } if (auth_type) { auth_type_end = axutil_strchr (auth_type, ' '); *auth_type_end = AXIS2_ESC_NULL; auth_type_end++; /*Read the realm and the rest stuff now from auth_type_end */ } if (auth_type) { if (axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_BASIC) == 0) { status = axis2_msg_ctx_set_auth_type (msg_ctx, env, AXIS2_HTTP_AUTH_TYPE_BASIC); } else if (axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_DIGEST) == 0) { status = axis2_msg_ctx_set_auth_type (msg_ctx, env, AXIS2_HTTP_AUTH_TYPE_DIGEST); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Authtype %s is not supported", auth_type); } } else { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); } return status; } static axis2_status_t axis2_http_sender_set_proxy_auth_type (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_request_t * request) { axis2_char_t *auth_type = NULL; axis2_status_t status = AXIS2_FALSE; axis2_char_t *auth_type_end = NULL; axis2_http_header_t *auth_header = NULL; axis2_http_simple_response_t *response = NULL; response = axis2_http_client_get_response (sender->client, env); if (response) { auth_header = axis2_http_simple_response_get_first_header ( response, env, AXIS2_HTTP_HEADER_PROXY_AUTHENTICATE); } if (auth_header) { auth_type = axis2_http_header_get_value (auth_header, env); } if (auth_type) { auth_type_end = axutil_strchr (auth_type, ' '); *auth_type_end = AXIS2_ESC_NULL; auth_type_end++; /*Read the realm and the rest stuff now from auth_type_end */ } if (auth_type) { if (axutil_strcasecmp (auth_type, AXIS2_PROXY_AUTH_TYPE_BASIC) == 0) { status = axis2_msg_ctx_set_auth_type (msg_ctx, env, AXIS2_PROXY_AUTH_TYPE_BASIC); } else if (axutil_strcasecmp (auth_type, AXIS2_PROXY_AUTH_TYPE_DIGEST) == 0) { status = axis2_msg_ctx_set_auth_type (msg_ctx, env, AXIS2_PROXY_AUTH_TYPE_DIGEST); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Authtype %s is not supported", auth_type); } } else { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); } return status; } #endif #ifdef AXIS2_LIBCURL_ENABLED AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_libcurl_http_send (axis2_libcurl_t * curl, axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axiom_soap_envelope_t * out, const axis2_char_t * str_url, const axis2_char_t * soap_action) { return axis2_libcurl_send (curl, sender->om_output, env, msg_ctx, out, str_url, soap_action); } #endif AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_sender_get_param_string (axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axiom_soap_envelope_t *soap_env = NULL; axiom_soap_body_t *soap_body = NULL; axiom_node_t *body_node = NULL; axiom_node_t *data_node = NULL; axiom_element_t *data_element = NULL; axiom_child_element_iterator_t *iterator = NULL; axutil_array_list_t *param_list = NULL; axis2_char_t *param_string = NULL; int i = 0; AXIS2_PARAM_CHECK (env->error, msg_ctx, NULL); soap_env = axis2_msg_ctx_get_soap_envelope (msg_ctx, env); if (!soap_env) { return NULL; } soap_body = axiom_soap_envelope_get_body(soap_env, env); body_node = axiom_soap_body_get_base_node(soap_body, env); if(!body_node) { /* This could be the situation where service client does not provide * a xml payload and instead add url parameters to the endpoint url */ return NULL; } data_node = axiom_node_get_first_child (body_node, env); if (!data_node) { return NULL; } param_list = axutil_array_list_create (env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY); data_element = axiom_node_get_data_element (data_node, env); iterator = axiom_element_get_child_elements (data_element, env, data_node); if (iterator) { while (AXIS2_TRUE == AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT (iterator, env)) { axiom_node_t *node = NULL; axiom_element_t *element = NULL; axis2_char_t *name = NULL; axis2_char_t *value = NULL; axis2_char_t *encoded_value = NULL; node = AXIOM_CHILD_ELEMENT_ITERATOR_NEXT (iterator, env); element = axiom_node_get_data_element (node, env); name = axiom_element_get_localname (element, env); value = axiom_element_get_text (element, env, node); if (value) { encoded_value = (axis2_char_t *) AXIS2_MALLOC (env->allocator, strlen (value)); memset (encoded_value, 0, strlen (value)); encoded_value = axutil_url_encode (env, encoded_value, value, (int)strlen (value)); /* We are sure that the difference lies within the int range */ axutil_array_list_add (param_list, env, axutil_strcat (env, name, "=", encoded_value, NULL)); AXIS2_FREE(env->allocator, encoded_value); encoded_value = NULL; } } } for (i = 0; i < axutil_array_list_size (param_list, env); i++) { axis2_char_t *tmp_string = NULL; axis2_char_t *pair = NULL; pair = axutil_array_list_get (param_list, env, i); if (i == 0) { tmp_string = axutil_stracat (env, param_string, pair); } else { tmp_string = axutil_strcat (env, param_string, AXIS2_AND_SIGN, pair, NULL); } if (param_string) { AXIS2_FREE (env->allocator, param_string); param_string = NULL; } AXIS2_FREE (env->allocator, pair); param_string = tmp_string; } axutil_array_list_free (param_list, env); return param_string; } void AXIS2_CALL axis2_http_sender_util_add_header (const axutil_env_t * env, axis2_http_simple_request_t * request, axis2_char_t * header_name, const axis2_char_t * header_value) { axis2_http_header_t *http_header; http_header = axis2_http_header_create (env, header_name, header_value); axis2_http_simple_request_add_header (request, env, http_header); } axis2c-src-1.6.0/src/core/transport/http/sender/http_client.c0000644000175000017500000007530411166304463025344 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #ifdef AXIS2_SSL_ENABLED #include "ssl/ssl_stream.h" #endif struct axis2_http_client { int sockfd; axutil_stream_t *data_stream; axutil_url_t *url; axis2_http_simple_response_t *response; axis2_bool_t request_sent; int timeout; axis2_bool_t proxy_enabled; axis2_char_t *proxy_host; int proxy_port; axis2_char_t *proxy_host_port; axis2_bool_t dump_input_msg; axis2_char_t *server_cert; axis2_char_t *key_file; axis2_char_t *req_body; int req_body_size; /* These are for mtom case */ axutil_array_list_t *mime_parts; axis2_bool_t doing_mtom; axis2_char_t *mtom_sending_callback_name; }; AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL axis2_http_client_create( const axutil_env_t * env, axutil_url_t * url) { axis2_http_client_t *http_client = NULL; http_client = (axis2_http_client_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_client_t)); if (!http_client) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset(http_client, 0, sizeof(axis2_http_client_t)); http_client->url = url; http_client->data_stream = NULL; http_client->sockfd = -1; http_client->response = NULL; http_client->request_sent = AXIS2_FALSE; /* default timeout is 60000 milliseconds */ http_client->timeout = AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT; http_client->proxy_enabled = AXIS2_FALSE; http_client->proxy_port = 0; http_client->proxy_host = NULL; http_client->proxy_host_port = NULL; http_client->dump_input_msg = AXIS2_FALSE; http_client->server_cert = NULL; http_client->key_file = NULL; http_client->req_body = NULL; http_client->req_body_size = 0; http_client->mime_parts = NULL; http_client->doing_mtom = AXIS2_FALSE; http_client->mtom_sending_callback_name = NULL; return http_client; } AXIS2_EXTERN void AXIS2_CALL axis2_http_client_free( axis2_http_client_t * http_client, const axutil_env_t * env) { if (http_client->proxy_host) { AXIS2_FREE(env->allocator, http_client->proxy_host); } if (http_client->proxy_host_port) { AXIS2_FREE(env->allocator, http_client->proxy_host_port); } if (http_client->url) { axutil_url_free(http_client->url, env); } if (http_client->response) { axis2_http_simple_response_free(http_client->response, env); } if (-1 != http_client->sockfd) { axutil_network_handler_close_socket(env, http_client->sockfd); http_client->sockfd = -1; } if (http_client->req_body) { AXIS2_FREE(env->allocator, http_client->req_body); } /* There is no other appropriate place to free the mime_part list when a * particular client send requests. */ if (http_client->mime_parts) { int i = 0; for (i = 0; i < axutil_array_list_size(http_client->mime_parts, env); i++) { axiom_mime_part_t *mime_part = NULL; mime_part = (axiom_mime_part_t *) axutil_array_list_get(http_client->mime_parts, env, i); if (mime_part) { axiom_mime_part_free(mime_part, env); } } axutil_array_list_free(http_client->mime_parts, env); } AXIS2_FREE(env->allocator, http_client); return; } AXIS2_EXTERN void AXIS2_CALL axis2_http_client_free_void_arg( void *client, const axutil_env_t * env) { axis2_http_client_t *client_l = NULL; client_l = (axis2_http_client_t *) client; axis2_http_client_free(client_l, env); return; } /* This is the main method which writes to the socket in the case of a client * sends an http_request. Previously this method does not distinguish between a * mtom request and non mtom request. Because what finally it had was the * complete buffer with the request. But now MTOM invocations are done * differently in order to support large attachments so this method should * distinguish those invocations */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_send( axis2_http_client_t * client, const axutil_env_t * env, axis2_http_simple_request_t * request, axis2_char_t * ssl_pp) { char *wire_format = NULL; axutil_array_list_t *headers = NULL; char *str_header = NULL; char *str_request_line = NULL; int written = 0; axis2_status_t status = AXIS2_FAILURE; axis2_bool_t chunking_enabled = AXIS2_FALSE; axis2_char_t *host = NULL; unsigned int port = 0; /* In the MTOM case request body is not set. Instead mime_parts array_list is there */ if (!client->req_body && !(client->doing_mtom)) { client->req_body_size = axis2_http_simple_request_get_body_bytes(request, env, &client->req_body); } if (client->dump_input_msg == AXIS2_TRUE) { return AXIS2_SUCCESS; } if (!client->url) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NULL_URL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Request url not set"); return AXIS2_FAILURE; } host = axutil_url_get_host(client->url, env); port = axutil_url_get_port(client->url, env); if (client->proxy_enabled) { if (!client->proxy_host || client->proxy_port <= 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Proxy port or Host not set"); return AXIS2_FAILURE; } client->sockfd = (int)axutil_network_handler_open_socket(env, client->proxy_host, client->proxy_port); } else { /*Proxy is not enabled*/ client->sockfd = (int)axutil_network_handler_open_socket(env, host, port); } if (client->sockfd < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Socket Creation failed."); return AXIS2_FAILURE; } if (client->timeout > 0) { /*Set the receiving time out*/ axutil_network_handler_set_sock_option(env, client->sockfd, SO_RCVTIMEO, client->timeout); /*Set the sending time out*/ axutil_network_handler_set_sock_option(env, client->sockfd, SO_SNDTIMEO, client->timeout); } if (0 == axutil_strcasecmp(axutil_url_get_protocol(client->url, env), AXIS2_TRANSPORT_URL_HTTPS)) { #ifdef AXIS2_SSL_ENABLED if (client->proxy_enabled) { if (AXIS2_SUCCESS != axis2_http_client_connect_ssl_host(client, env, host, port)) { axutil_network_handler_close_socket(env, client->sockfd); client->sockfd = -1; AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "HTTPS connection creation failed"); return AXIS2_FAILURE; } } client->data_stream = axutil_stream_create_ssl(env, client->sockfd, axis2_http_client_get_server_cert(client, env), axis2_http_client_get_key_file(client, env), ssl_pp); #else axutil_network_handler_close_socket(env, client->sockfd); client->sockfd = -1; AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid Transport Protocol, HTTPS transport not enabled."); return AXIS2_FAILURE; #endif } else { client->data_stream = axutil_stream_create_socket(env, client->sockfd); } if (!client->data_stream) { axutil_network_handler_close_socket(env, client->sockfd); client->sockfd = -1; AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Data stream creation failed for Host %s and %d port", host, port); return AXIS2_FAILURE; } /*Accessing HTTP headers*/ headers = axis2_http_simple_request_get_headers(request, env); if (headers) { int header_count = axutil_array_list_size(headers, env); int i = 0; char *str_header2 = NULL; for (i = 0; i < header_count; i++) { axis2_char_t *header_ext_form = NULL; axis2_http_header_t *tmp_header = (axis2_http_header_t *) axutil_array_list_get(headers, env, i); if (!tmp_header) { /* This continue is added as a safey mechanism, * However I see a problem with this logic, AFAIC * see there can't be null headers in the headers * array list, because number of headers in "headers" * array list count with axutil_array_list_size, * therefore this check and continue might not have a * real effect.*/ continue; } /* check whether we have transfer encoding and then see whether the * value is "chunked" */ if (!axutil_strcmp(axis2_http_header_get_name(tmp_header, env), AXIS2_HTTP_HEADER_TRANSFER_ENCODING) && !axutil_strcmp(axis2_http_header_get_value(tmp_header, env), AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED)) { chunking_enabled = AXIS2_TRUE; } header_ext_form = axis2_http_header_to_external_form(tmp_header, env); /* str_header2 is to hold intermediate value of str_header */ str_header2 = axutil_stracat(env, str_header, header_ext_form); AXIS2_FREE(env->allocator, str_header); str_header = NULL; AXIS2_FREE(env->allocator, header_ext_form); header_ext_form = NULL; /* str_header has all HTTP headers to send. */ str_header = str_header2; } } if (AXIS2_FALSE == client->proxy_enabled) { str_request_line = axis2_http_request_line_to_string (axis2_http_simple_request_get_request_line(request, env), env); } else { /* proxy enabled case */ /* we need the request line in the format * POST http://host:port/path HTTP/1.x if we have enabled proxies */ axis2_char_t *host_port_str = NULL; axis2_char_t *host = axutil_url_get_host(client->url, env); axis2_http_request_line_t *request_line = axis2_http_simple_request_get_request_line(request, env); axis2_char_t *path = axis2_http_request_line_get_uri(request_line, env); host_port_str = AXIS2_MALLOC(env->allocator, axutil_strlen(host) + axutil_strlen(path) + 20 * sizeof(axis2_char_t)); if (!host_port_str) { axutil_network_handler_close_socket(env, client->sockfd); client->sockfd = -1; AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Memory allocation failed for host %s and %s path", host, path); return AXIS2_FAILURE; } sprintf(host_port_str, "http://%s:%d%s", host, axutil_url_get_port(client->url, env), path); str_request_line = AXIS2_MALLOC(env->allocator, axutil_strlen(host_port_str) + 20 * sizeof(axis2_char_t)); if (!str_request_line) { axutil_network_handler_close_socket(env, client->sockfd); client->sockfd = -1; AXIS2_FREE(env->allocator, host_port_str); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "memory allocation failed for host %s and %s path", host, path); return AXIS2_FAILURE; } sprintf(str_request_line, "%s %s %s\r\n", axis2_http_request_line_get_method(request_line, env), host_port_str, axis2_http_request_line_get_http_version(request_line, env)); AXIS2_FREE(env->allocator, host_port_str); host_port_str = NULL; } /* Here first we send the http header part */ wire_format = axutil_stracat(env, str_request_line, str_header); AXIS2_FREE(env->allocator, str_header); str_header = NULL; AXIS2_FREE(env->allocator, str_request_line); str_request_line = NULL; written = axutil_stream_write(client->data_stream, env, wire_format, axutil_strlen(wire_format)); AXIS2_FREE(env->allocator, wire_format); wire_format = NULL; /* Then we write the two new line charaters before the http body*/ written = axutil_stream_write(client->data_stream, env, AXIS2_HTTP_CRLF, 2); /* When sending MTOM it is bit different. We keep the attachment + other mime headers in an array_list and send them one by one */ if(client->doing_mtom) { axis2_status_t status = AXIS2_SUCCESS; axutil_http_chunked_stream_t *chunked_stream = NULL; /* If the callback name is not there, then we will check whether there * is any mime_parts which has type callback. If we found then no point * of continuing we should return a failure */ if(!(client->mtom_sending_callback_name)) { if(axis2_http_transport_utils_is_callback_required( env, client->mime_parts)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Sender callback not specified"); return AXIS2_FAILURE; } } /* For MTOM we automatically enabled chunking */ chunked_stream = axutil_http_chunked_stream_create(env, client->data_stream); /* This method will write the Attachment + data to the wire */ status = axis2_http_transport_utils_send_mtom_message(chunked_stream, env, client->mime_parts, client->mtom_sending_callback_name); axutil_http_chunked_stream_free(chunked_stream, env); chunked_stream = NULL; } /* Non MTOM case */ else if (client->req_body_size > 0 && client->req_body) { int len = 0; written = 0; /* Keep on writing data in a loop until we finised with all the data in the buffer */ if (!chunking_enabled) { status = AXIS2_SUCCESS; while (written < client->req_body_size) { len = 0; len = axutil_stream_write(client->data_stream, env, client->req_body + written, client->req_body_size - written); if (-1 == len) { status = AXIS2_FAILURE; break; } else { written += len; } } } else { /* Not MTOM but chunking is enabled */ axutil_http_chunked_stream_t *chunked_stream = NULL; chunked_stream = axutil_http_chunked_stream_create(env, client->data_stream); status = AXIS2_SUCCESS; if (!chunked_stream) { axutil_network_handler_close_socket(env, client->sockfd); client->sockfd = -1; AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creatoin of chunked stream failed"); return AXIS2_FAILURE; } while (written < client->req_body_size) { written = axutil_http_chunked_stream_write(chunked_stream, env, client->req_body, client->req_body_size); if (-1 == written) { status = AXIS2_FAILURE; break; } } if (AXIS2_SUCCESS == status) { /* Writing the trailing null charactor */ axutil_http_chunked_stream_write_last_chunk(chunked_stream, env); } axutil_http_chunked_stream_free(chunked_stream, env); } } client->request_sent = AXIS2_TRUE; return status; } AXIS2_EXTERN int AXIS2_CALL axis2_http_client_recieve_header( axis2_http_client_t * client, const axutil_env_t * env) { int status_code = -1; axis2_http_status_line_t *status_line = NULL; axis2_char_t str_status_line[512]; axis2_char_t tmp_buf[3]; axis2_char_t str_header[512]; int read = 0; int http_status = 0; axis2_bool_t end_of_line = AXIS2_FALSE; axis2_bool_t end_of_headers = AXIS2_FALSE; if (-1 == client->sockfd || !client->data_stream || AXIS2_FALSE == client->request_sent) { axis2_char_t *host; unsigned int port; host = axutil_url_get_host(client->url, env); port = axutil_url_get_port(client->url, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "client data stream null or socket error for host \ %s and %d port", host, port); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_HTTP_REQUEST_NOT_SENT, AXIS2_FAILURE); return -1; } /* read the status line */ do { memset(str_status_line, 0, 512); while ((read = axutil_stream_read(client->data_stream, env, tmp_buf, 1)) > 0) { /* "read" variable is number of characters read by stream */ tmp_buf[read] = '\0'; strcat(str_status_line, tmp_buf); if (0 != strstr(str_status_line, AXIS2_HTTP_CRLF)) { end_of_line = AXIS2_TRUE; break; } } if (read < 0) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "http client , response timed out"); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_RESPONSE_TIMED_OUT, AXIS2_FAILURE); return -1; } else if (read == 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_RESPONSE_SERVER_SHUTDOWN, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response error, Server Shutdown"); return 0; } status_line = axis2_http_status_line_create(env, str_status_line); if (!status_line) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2_http_status_line_create failed for \ str_status_line %s", str_status_line); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); http_status = 0; continue; } http_status = axis2_http_status_line_get_status_code(status_line, env); }while (AXIS2_HTTP_RESPONSE_OK_CODE_VAL > http_status); if (client->response) axis2_http_simple_response_free(client->response, env); client->response = axis2_http_simple_response_create_default(env); axis2_http_simple_response_set_status_line( client->response, env, axis2_http_status_line_get_http_version (status_line, env), axis2_http_status_line_get_status_code (status_line, env), axis2_http_status_line_get_reason_phrase (status_line, env)); /* now read the headers */ memset(str_header, 0, 512); end_of_line = AXIS2_FALSE; while (AXIS2_FALSE == end_of_headers) { while ((read = axutil_stream_read(client->data_stream, env, tmp_buf, 1)) > 0) { tmp_buf[read] = '\0'; strcat(str_header, tmp_buf); if (0 != strstr(str_header, AXIS2_HTTP_CRLF)) { end_of_line = AXIS2_TRUE; break; } } if (AXIS2_TRUE == end_of_line) { if (0 == axutil_strcmp(str_header, AXIS2_HTTP_CRLF)) { end_of_headers = AXIS2_TRUE; } else { axis2_http_header_t *tmp_header = axis2_http_header_create_by_str(env, str_header); memset(str_header, 0, 512); if (tmp_header) { axis2_http_simple_response_set_header(client->response, env, tmp_header); } } } end_of_line = AXIS2_FALSE; } axis2_http_simple_response_set_body_stream(client->response, env, client->data_stream); if (status_line) { status_code = axis2_http_status_line_get_status_code(status_line, env); axis2_http_status_line_free(status_line, env); status_line = NULL; } if (AXIS2_FALSE == axis2_http_simple_response_contains_header( client->response, env, AXIS2_HTTP_HEADER_CONTENT_TYPE) && 202 != status_code && axis2_http_simple_response_get_content_length(client->response, env) > 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response does not contain" " Content-Type"); return -1; } return status_code; } AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL axis2_http_client_get_response( const axis2_http_client_t * client, const axutil_env_t * env) { return client->response; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_url( axis2_http_client_t * client, const axutil_env_t * env, axutil_url_t * url) { AXIS2_PARAM_CHECK(env->error, url, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); if (client->url) { axutil_url_free(client->url, env); client->url = NULL; } client->url = url; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_url_t *AXIS2_CALL axis2_http_client_get_url( const axis2_http_client_t * client, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, client, NULL); return client->url; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_timeout( axis2_http_client_t * client, const axutil_env_t * env, int timeout_ms) { AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); client->timeout = timeout_ms; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axis2_http_client_get_timeout( const axis2_http_client_t * client, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); return client->timeout; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_proxy( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * proxy_host, int proxy_port) { AXIS2_PARAM_CHECK(env->error, proxy_host, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); if (proxy_port <= 0) { return AXIS2_FAILURE; } client->proxy_port = proxy_port; if (client->proxy_host) { AXIS2_FREE(env->allocator, client->proxy_host); client->proxy_host = NULL; } if (client->proxy_host_port) { AXIS2_FREE(env->allocator, client->proxy_host_port); client->proxy_host_port = NULL; } client->proxy_host = axutil_strdup(env, proxy_host); if (!client->proxy_host) { return AXIS2_FAILURE; } client->proxy_host_port = AXIS2_MALLOC(env->allocator, axutil_strlen(proxy_host) + 10 * sizeof(axis2_char_t)); sprintf(client->proxy_host_port, "%s:%d", proxy_host, proxy_port); client->proxy_enabled = AXIS2_TRUE; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_client_get_proxy( const axis2_http_client_t * client, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, client, NULL); return client->proxy_host_port; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_connect_ssl_host( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * host, int port) { axutil_stream_t *tmp_stream = NULL; axis2_char_t *connect_string = NULL; axis2_char_t str_status_line[512]; axis2_char_t tmp_buf[3]; int read = 0; axis2_bool_t end_of_line = AXIS2_FALSE; axis2_bool_t end_of_response = AXIS2_FALSE; axis2_http_status_line_t *status_line = NULL; AXIS2_PARAM_CHECK(env->error, host, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, client->url, AXIS2_FAILURE); /* This host and port will use for give undersandable log messages * */ if (port <= 0) { return AXIS2_FAILURE; } tmp_stream = axutil_stream_create_socket(env, client->sockfd); if (!tmp_stream) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to create open socket for ssl host %s and %d \ port", host, port); return AXIS2_FAILURE; } connect_string = AXIS2_MALLOC(env->allocator, axutil_strlen(host) * sizeof(axis2_char_t) + 30 * sizeof(axis2_char_t)); sprintf(connect_string, "CONNECT %s:%d HTTP/1.0\r\n\r\n", host, port); axutil_stream_write(tmp_stream, env, connect_string, axutil_strlen(connect_string) * sizeof(axis2_char_t)); memset(str_status_line, 0, 512); while ((read = axutil_stream_read(tmp_stream, env, tmp_buf, 1)) > 0) { tmp_buf[read] = '\0'; strcat(str_status_line, tmp_buf); if (0 != strstr(str_status_line, AXIS2_HTTP_CRLF)) { end_of_line = AXIS2_TRUE; break; } } if (read < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_RESPONSE_TIMED_OUT, AXIS2_FAILURE); AXIS2_FREE(env->allocator, connect_string); axutil_stream_free(tmp_stream, env); return AXIS2_FAILURE; } status_line = axis2_http_status_line_create(env, str_status_line); if (!status_line) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, AXIS2_FAILURE); AXIS2_FREE(env->allocator, connect_string); axutil_stream_free(tmp_stream, env); return AXIS2_FAILURE; } if (200 != axis2_http_status_line_get_status_code(status_line, env)) { AXIS2_FREE(env->allocator, connect_string); axutil_stream_free(tmp_stream, env); return AXIS2_FAILURE; } /* We need to empty the stream before we return */ memset(str_status_line, 0, 512); while (AXIS2_FALSE == end_of_response) { while ((read = axutil_stream_read(tmp_stream, env, tmp_buf, 1)) > 0) { tmp_buf[read] = '\0'; strcat(str_status_line, tmp_buf); if (0 != strstr(str_status_line, AXIS2_HTTP_CRLF)) { end_of_line = AXIS2_TRUE; break; } } if (AXIS2_TRUE == end_of_line) { if (0 == axutil_strcmp(str_status_line, AXIS2_HTTP_CRLF)) { end_of_response = AXIS2_TRUE; } } } AXIS2_FREE(env->allocator, connect_string); axutil_stream_free(tmp_stream, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_dump_input_msg( axis2_http_client_t * client, const axutil_env_t * env, axis2_bool_t dump_input_msg) { client->dump_input_msg = dump_input_msg; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_server_cert( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * server_cert) { AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, server_cert, AXIS2_FAILURE); client->server_cert = server_cert; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_client_get_server_cert( const axis2_http_client_t * client, const axutil_env_t * env) { return client->server_cert; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_key_file( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * key_file) { AXIS2_PARAM_CHECK(env->error, client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, key_file, AXIS2_FAILURE); client->key_file = key_file; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_client_get_key_file( const axis2_http_client_t * client, const axutil_env_t * env) { return client->key_file; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_mime_parts( axis2_http_client_t * client, const axutil_env_t * env, axutil_array_list_t *mime_parts) { client->mime_parts = mime_parts; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_client_get_mime_parts( const axis2_http_client_t * client, const axutil_env_t * env) { return client->mime_parts; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_doing_mtom( axis2_http_client_t * client, const axutil_env_t * env, axis2_bool_t doing_mtom) { client->doing_mtom = doing_mtom; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_client_get_doing_mtom( const axis2_http_client_t * client, const axutil_env_t * env) { return client->doing_mtom; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_mtom_sending_callback_name( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t *callback_name) { client->mtom_sending_callback_name = callback_name; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/http/server/0000777000175000017500000000000011172017540022676 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/server/CGI/0000777000175000017500000000000011172017546023306 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/server/CGI/axis2_cgi_stream.c0000644000175000017500000001024511166304463026673 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axis2_cgi_stream.h" /** * @brief Stream struct impl * Streaming mechanisms for cgi */ typedef struct cgi_stream_impl { axutil_stream_t stream; axutil_stream_type_t stream_type; unsigned int cur_pos; unsigned int content_length; } cgi_stream_impl_t; #define AXIS2_INTF_TO_IMPL(stream) ((cgi_stream_impl_t *)(stream)) axutil_stream_type_t AXIS2_CALL cgi_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env); int AXIS2_CALL cgi_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); int AXIS2_CALL cgi_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); int AXIS2_CALL cgi_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count); int AXIS2_CALL cgi_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env); axutil_stream_t *AXIS2_CALL axutil_stream_create_cgi( const axutil_env_t * env, unsigned int content_length) { cgi_stream_impl_t *stream_impl = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, content_length, NULL); stream_impl = (cgi_stream_impl_t *) AXIS2_MALLOC(env->allocator, sizeof(cgi_stream_impl_t)); if (!stream_impl) { return NULL; } stream_impl->cur_pos = 0; stream_impl->content_length = content_length; stream_impl->stream_type = AXIS2_STREAM_MANAGED; axutil_stream_set_read(&(stream_impl->stream), env, cgi_stream_read); axutil_stream_set_write(&(stream_impl->stream), env, cgi_stream_write); axutil_stream_set_skip(&(stream_impl->stream), env, cgi_stream_skip); return &(stream_impl->stream); } int AXIS2_CALL cgi_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count) { /*void *temp_buff = NULL;*/ /*unsigned int data_to_read = 0;*/ unsigned int read_bytes = 0; /*axis2_bool_t ret_ok = AXIS2_TRUE;*/ cgi_stream_impl_t *stream_impl = NULL; /*char *temp = NULL;*/ AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); stream_impl = (cgi_stream_impl_t *) stream; if (count < stream_impl->content_length) { read_bytes = fread(buffer, sizeof(char), count, stdin); } else { read_bytes = fread(buffer, sizeof(char), stream_impl->content_length, stdin); } return read_bytes; } int AXIS2_CALL cgi_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buf, size_t count) { /* Cannot write on cgi stdin, explicitly an input stream */ return -1; } int AXIS2_CALL cgi_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count) { cgi_stream_impl_t *stream_impl = NULL; int skipped = -1; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); stream_impl = AXIS2_INTF_TO_IMPL(stream); if (fseek(stdin, count, SEEK_CUR)==0) skipped = count; return skipped; } int AXIS2_CALL cgi_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env) { int ret = -1; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); return ret; } axutil_stream_type_t AXIS2_CALL cgi_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); return AXIS2_INTF_TO_IMPL(stream)->stream_type; } axis2c-src-1.6.0/src/core/transport/http/server/CGI/axis2_cgi_stream.h0000644000175000017500000000242011166304463026674 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CGI_STREAM_H #define CGI_STREAM_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** brief Constructor for creating CGI stream * @return axutil_stream (CGI) */ axutil_stream_t *AXIS2_CALL axutil_stream_create_cgi( const axutil_env_t * env, unsigned int content_length); #ifdef __cplusplus } #endif #endif /* CGI_STREAM_H */ axis2c-src-1.6.0/src/core/transport/http/server/CGI/Makefile.am0000644000175000017500000000300111166304463025330 0ustar00manjulamanjula00000000000000prgbindir=$(bindir) prgbin_PROGRAMS = axis2.cgi SUBDIRS = AM_CFLAGS = -g -pthread axis2_cgi_SOURCES = axis2_cgi_main.c \ axis2_cgi_out_transport_info.c \ axis2_cgi_stream.c axis2_cgi_LDADD = $(LDFLAGS) \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la \ $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description\ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deployment\ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/http/server/CGI/Makefile.in0000644000175000017500000005124511172017204025345 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = axis2.cgi$(EXEEXT) subdir = src/core/transport/http/server/CGI DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_axis2_cgi_OBJECTS = axis2_cgi_main.$(OBJEXT) \ axis2_cgi_out_transport_info.$(OBJEXT) \ axis2_cgi_stream.$(OBJEXT) axis2_cgi_OBJECTS = $(am_axis2_cgi_OBJECTS) am__DEPENDENCIES_1 = axis2_cgi_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la \ $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(axis2_cgi_SOURCES) DIST_SOURCES = $(axis2_cgi_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(bindir) SUBDIRS = AM_CFLAGS = -g -pthread axis2_cgi_SOURCES = axis2_cgi_main.c \ axis2_cgi_out_transport_info.c \ axis2_cgi_stream.c axis2_cgi_LDADD = $(LDFLAGS) \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la \ $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description\ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deployment\ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/server/CGI/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/server/CGI/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done axis2.cgi$(EXEEXT): $(axis2_cgi_OBJECTS) $(axis2_cgi_DEPENDENCIES) @rm -f axis2.cgi$(EXEEXT) $(LINK) $(axis2_cgi_OBJECTS) $(axis2_cgi_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_cgi_main.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_cgi_out_transport_info.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_cgi_stream.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prgbinPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/server/CGI/axis2_cgi_types.h0000644000175000017500000000233111166304463026546 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include typedef struct axis2_cgi_request { axis2_char_t *server_name; axis2_char_t *server_port; axis2_char_t *script_name; axis2_char_t *path_info; axis2_char_t *server_protocol; axis2_char_t *content_length; axis2_char_t *content_type; axis2_char_t *request_method; axis2_char_t *remote_addr; axis2_char_t *soap_action; axis2_char_t *query_string; } axis2_cgi_request_t; axis2c-src-1.6.0/src/core/transport/http/server/CGI/axis2_cgi_main.c0000644000175000017500000002330311166304463026323 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_cgi_out_transport_info.h" #include "axis2_cgi_stream.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include axis2_char_t *axis2_cgi_default_url_prefix = "/cgi-bin/axis2.cgi/"; /***************************** Function headers *******************************/ void axis2_cgi_system_exit( axutil_env_t * env, int status); void axis2_cgi_set_request_vars( axis2_cgi_request_t *cgi_request); axis2_status_t axis2_cgi_write_response( const void *buffer, unsigned int length); /***************************** End of function headers ************************/ int main( int argc, char *argv[]) { axutil_allocator_t *allocator = NULL; axutil_env_t *env = NULL; const axis2_char_t *repo_path; axis2_conf_ctx_t *conf_ctx; axis2_cgi_request_t *cgi_request = NULL; int content_length = 0; axis2_char_t *request_url = NULL; /* axutil_stream_t *request_body_stream = NULL; */ axutil_stream_t *out_stream = NULL; axis2_transport_in_desc_t *in_desc = NULL; axis2_transport_out_desc_t *out_desc = NULL; /* axis2_msg_ctx_t *msg_ctx = NULL; */ /* axis2_bool_t processed = AXIS2_FALSE; */ axis2_http_transport_in_t request; axis2_http_transport_out_t response; /*axis2_http_header_t* http_header = NULL; */ /*axutil_hash_t *headers = NULL; */ /* axis2_char_t *axis2_cgi_url_prefix = NULL; */ if (!(repo_path = AXIS2_GETENV("AXIS2C_HOME"))) { fprintf(stderr, "Error: AXIS2C_HOME environment variable not set!"); axis2_cgi_system_exit(env, -1); } allocator = axutil_allocator_init(NULL); env = axutil_env_create(allocator); if (axutil_file_handler_access (repo_path, AXIS2_R_OK) != AXIS2_SUCCESS) { fprintf(stderr, "Error reading repository: %s\nPlease check AXIS2C_HOME var", repo_path); axis2_cgi_system_exit(env, -1); } /* Set configuration */ conf_ctx = axis2_build_conf_ctx(env, repo_path); if (!conf_ctx) { fprintf(stderr, "Error: Configuration not builded propertly\n"); axis2_cgi_system_exit(env, -1); } axis2_http_transport_utils_transport_out_init(&response, env); axis2_http_transport_utils_transport_in_init(&request, env); /* Get input info */ cgi_request = AXIS2_MALLOC(allocator, sizeof(axis2_cgi_request_t)); axis2_cgi_set_request_vars(cgi_request); request_url = (axis2_char_t *) AXIS2_MALLOC(allocator, (7 + /* "http:" */ strlen(cgi_request->server_name) + ((strlen(cgi_request->server_port))?1:0) + /* ":"*/ strlen(cgi_request->server_port) + strlen(cgi_request->script_name) + strlen(cgi_request->path_info) + ((strlen(cgi_request->path_info))?1:0) + /* "?" */ strlen(cgi_request->query_string) ) * sizeof(axis2_char_t)); request_url[0] = '\0'; strcat(request_url, "http://"); strcat(request_url, cgi_request->server_name); if (strlen(cgi_request->server_port)) strcat(request_url, ":"); strcat(request_url, cgi_request->server_port); strcat(request_url, cgi_request->script_name); strcat(request_url, cgi_request->path_info); if (strlen(cgi_request->query_string)) strcat(request_url, "?"); strcat(request_url, cgi_request->query_string); if (cgi_request->content_length) content_length = axutil_atoi(cgi_request->content_length); else content_length = 0; /* Set streams */ out_stream = axutil_stream_create_basic(env); /* Set message contexts */ out_desc = axis2_conf_get_transport_out(axis2_conf_ctx_get_conf (conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); in_desc = axis2_conf_get_transport_in(axis2_conf_ctx_get_conf (conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); request.msg_ctx = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc); axis2_msg_ctx_set_server_side(request.msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_transport_out_stream(request.msg_ctx, env, out_stream); axis2_msg_ctx_set_transport_headers(request.msg_ctx, env, NULL); /* Set request parameters */ request.soap_action = cgi_request->soap_action; request.in_stream = axutil_stream_create_cgi(env, content_length); request.remote_ip = cgi_request->remote_addr; request.content_length = content_length; request.content_type = cgi_request->content_type; request.request_uri = request_url; request.svr_port = cgi_request->server_port; request.accept_header = AXIS2_GETENV("HTTP_ACCEPT"); request.accept_language_header = AXIS2_GETENV("HTTP_ACCEPT_LANGUAGE"); request.accept_charset_header = AXIS2_GETENV("HTTP_ACCEPT_CHARSET"); request.request_url_prefix = (AXIS2_GETENV("AXIS2C_URL_PREFIX"))? AXIS2_GETENV("AXIS2C_URL_PREFIX"): axis2_cgi_default_url_prefix; if (axutil_strcasecmp(cgi_request->request_method, "POST") == 0) { request.request_method = AXIS2_HTTP_METHOD_POST; } else if (axutil_strcasecmp(cgi_request->request_method, "GET") == 0) { request.request_method = AXIS2_HTTP_METHOD_GET; } else if (axutil_strcasecmp(cgi_request->request_method, "HEAD") == 0) { request.request_method = AXIS2_HTTP_METHOD_HEAD; } else if (axutil_strcasecmp(cgi_request->request_method, "PUT") == 0) { request.request_method = AXIS2_HTTP_METHOD_PUT; } else if (axutil_strcasecmp(cgi_request->request_method, "DELETE") == 0) { request.request_method = AXIS2_HTTP_METHOD_DELETE; } request.out_transport_info = axis2_cgi_out_transport_info_create(env, cgi_request); /*Process request */ fprintf(stderr, "ok\n"); axis2_http_transport_utils_process_request(env, conf_ctx, &request, &response); fprintf(stderr, "ok\n"); /*Send status */ fprintf(stdout, "Status: %d %s \r\n", response.http_status_code, response.http_status_code_name); if (response.content_type) { fprintf(stdout, "Content-type: %s \r\n", response.content_type); } else if (strlen(axis2_cgi_out_transport_get_content(request.out_transport_info)) && axis2_cgi_out_transport_get_content(request.out_transport_info)) { fprintf(stdout, "Content-type: %s \r\n", axis2_cgi_out_transport_get_content(request.out_transport_info)); } fprintf(stdout, "\r\n"); /* End of headers for server */ /* Write data body */ if (!axis2_cgi_write_response(response.response_data, response.response_data_length)) { fprintf(stderr, "Error writing output data\n"); } axis2_http_transport_utils_transport_in_uninit(&request, env); axis2_http_transport_utils_transport_out_uninit(&response, env); return 0; } axis2_status_t axis2_cgi_write_response( const void *buffer, unsigned int length) { if (buffer && length) { unsigned int completed = 0; unsigned int written = 0; while (completed < length) { written = fwrite(buffer, sizeof(char), length - completed, stdout); if (written < 0) return AXIS2_FALSE; completed += written; } } return AXIS2_TRUE; } void axis2_cgi_set_request_vars( axis2_cgi_request_t *cgi_request) { cgi_request->server_name = (AXIS2_GETENV("SERVER_NAME"))?AXIS2_GETENV("SERVER_NAME"):""; cgi_request->script_name = (AXIS2_GETENV("SCRIPT_NAME"))?AXIS2_GETENV("SCRIPT_NAME"):""; cgi_request->path_info = (AXIS2_GETENV("PATH_INFO"))?AXIS2_GETENV("PATH_INFO"):""; cgi_request->server_port = (AXIS2_GETENV("SERVER_PORT"))?AXIS2_GETENV("SERVER_PORT"):""; cgi_request->server_protocol = (AXIS2_GETENV("SERVER_PROTOCOL"))?AXIS2_GETENV("SERVER_PROTOCOL"):""; cgi_request->content_length = (AXIS2_GETENV("CONTENT_LENGTH"))?AXIS2_GETENV("CONTENT_LENGTH"):""; cgi_request->content_type = (AXIS2_GETENV("CONTENT_TYPE"))?AXIS2_GETENV("CONTENT_TYPE"):""; cgi_request->request_method = (AXIS2_GETENV("REQUEST_METHOD"))?AXIS2_GETENV("REQUEST_METHOD"):""; cgi_request->remote_addr = (AXIS2_GETENV("REMOTE_ADDR"))?AXIS2_GETENV("REMOTE_ADDR"):""; cgi_request->soap_action = (AXIS2_GETENV("HTTP_SOAPACTION"))?AXIS2_GETENV("HTTP_SOAPACTION"):NULL; cgi_request->query_string = (AXIS2_GETENV("QUERY_STRING"))?AXIS2_GETENV("QUERY_STRING"):""; } void axis2_cgi_system_exit( axutil_env_t * env, int status) { axutil_allocator_t *allocator = NULL; if (env) { allocator = env->allocator; axutil_env_free(env); } exit(status); } axis2c-src-1.6.0/src/core/transport/http/server/CGI/axis2_cgi_out_transport_info.c0000644000175000017500000001175211166304463031342 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_cgi_out_transport_info.h" #include #include /** * @brief CIG Out transport info impl structure * Axis2 cgi_out_transport_info_impl */ typedef struct axis2_cgi_out_transport_info_s { axis2_http_out_transport_info_t out_transport_info; axis2_cgi_request_t *request; axis2_char_t *encoding; } axis2_cgi_out_transport_info_t; #define AXIS2_INTF_TO_IMPL(out_transport_info) \ ((axis2_cgi_out_transport_info_t *)(out_transport_info)) void AXIS2_CALL axis2_cgi_out_transport_info_free( axis2_http_out_transport_info_t * info, const axutil_env_t * env) { axis2_cgi_out_transport_info_t *info_impl = NULL; AXIS2_ENV_CHECK(env, void); info_impl = AXIS2_INTF_TO_IMPL(info); info_impl->request = NULL; /* doesn't belong here so no need to free it here */ if (info_impl->encoding) { AXIS2_FREE(env->allocator, info_impl->encoding); info_impl->encoding = NULL; } AXIS2_FREE(env->allocator, info_impl); return; } void AXIS2_CALL axis2_cgi_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env) { axis2_http_out_transport_info_t *transport_info_l = NULL; AXIS2_ENV_CHECK(env, void); transport_info_l = (axis2_http_out_transport_info_t *) transport_info; axis2_http_out_transport_info_free(transport_info_l, env); return; } axis2_status_t AXIS2_CALL axis2_cgi_out_transport_info_set_content_type( axis2_http_out_transport_info_t *info, const axutil_env_t *env, const axis2_char_t *content_type) { axis2_cgi_out_transport_info_t *info_impl = NULL; axis2_char_t *temp1 = NULL; axis2_char_t *temp2 = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE); info_impl = AXIS2_INTF_TO_IMPL(info); if (info_impl->encoding) { temp1 = axutil_stracat(env, content_type, ";charset="); temp2 = axutil_stracat(env, temp1, info_impl->encoding); info_impl->request->content_type = axutil_strdup(env, temp2); AXIS2_FREE(env->allocator, temp1); AXIS2_FREE(env->allocator, temp2); } else { info_impl->request->content_type = axutil_strdup(env, content_type); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_cgi_out_transport_info_set_char_encoding( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * encoding) { axis2_cgi_out_transport_info_t *info_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE); info_impl = AXIS2_INTF_TO_IMPL(info); if (info_impl->encoding) { AXIS2_FREE(env->allocator, info_impl->encoding); } info_impl->encoding = axutil_strdup(env, encoding); return AXIS2_SUCCESS; } axis2_http_out_transport_info_t *AXIS2_CALL axis2_cgi_out_transport_info_create( const axutil_env_t * env, axis2_cgi_request_t * request) { axis2_cgi_out_transport_info_t *info = NULL; axis2_http_out_transport_info_t *out_transport_info = NULL; AXIS2_ENV_CHECK(env, NULL); info = (axis2_cgi_out_transport_info_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_cgi_out_transport_info_t)); if (!info) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } info->request = request; info->encoding = NULL; out_transport_info = &(info->out_transport_info); axis2_http_out_transport_info_set_char_encoding_func(out_transport_info, env, axis2_cgi_out_transport_info_set_char_encoding); axis2_http_out_transport_info_set_content_type_func(out_transport_info, env, axis2_cgi_out_transport_info_set_content_type); return out_transport_info; } axis2_char_t * axis2_cgi_out_transport_get_content( axis2_http_out_transport_info_t * info) { axis2_cgi_out_transport_info_t *info_impl = NULL; info_impl = AXIS2_INTF_TO_IMPL(info); return info_impl->request->content_type; } axis2c-src-1.6.0/src/core/transport/http/server/CGI/axis2_cgi_out_transport_info.h0000644000175000017500000000351611166304463031346 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CGI_OUT_TRANSPORT_INFO_H #define AXIS2_CGI_OUT_TRANSPORT_INFO_H /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_cgi_out_transport_info.h * @brief axis2 CGI Out Transport Info */ #include "axis2_cgi_types.h" #include #ifdef __cplusplus extern "C" { #endif axis2_http_out_transport_info_t *AXIS2_CALL axis2_cgi_out_transport_info_create( const axutil_env_t * env, axis2_cgi_request_t * request); /** * Free http_out_transport_info passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the http_out_transport_info structure's free method */ void AXIS2_CALL axis2_cgi_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env); axis2_char_t *axis2_cgi_out_transport_get_content( axis2_http_out_transport_info_t * out_transport_info); #ifdef __cplusplus } #endif #endif /* AXIS2_SGI_OUT_TRANSPORT_INFO_H */ axis2c-src-1.6.0/src/core/transport/http/server/IIS/0000777000175000017500000000000011172017546023330 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/server/IIS/README0000644000175000017500000000576411166304465024222 0ustar00manjulamanjula00000000000000How to Configure IIS Module for Axis2C ________________________________________ Use the Axis2/C VC project or makefile to build the component. In this document it is assumed that the mod_axis2_IIS.dll is in the directory c:\axis2c\lib\mod_axis2_IIS.dll and axis2c_home is c:\axis2c Add the following key to the registry. HKEY_LOCAL_MACHINE\SOFTWARE\Apache Axis2c\IIS ISAPI Redirector Add a string value with the name axis2c_home and a value of c:\axis2c Add a string value with the name log_file and a value of c:\axis2c\logs\axis2.log Add a string value with the name log_level. The value can be one of trace, error, info, critical, debug, warning You can add a string value with the name services_url_prefix. This is optional and defaults to "/services". As an example, if you have "/web_services" as the prefix, then all the services hosted would have the endpoint prefix of : http://localhost/axis2/web_services. Note: don't forget the / at the begining. If you wish, you can also change the location as well by adding a string value with the name axis2_location. This is also optional and defaults to /axis2. If you have /myserser as the value you can access your web services with a url like http://localhost/myserver/services. Note: Don't forget the / at the beginning. Now you can do all the registry editing using the JScript file axis2_iis_regedit.js provided with the distribution. When you build axis2/C with the IIS module the file is copied to the root directory of the binary distribution. Just double click it and everything will be set to the defaults. The axis2c_home is taken as the current directory, so make sure you run the file in the Axis2/C repository location (or root of the binary distribution). If you want to change the values you can manually edit the the .js file or give it as command line arguments to the script when running the script. To run the jscript from the command line use the command :\cscript axis2_iis_regedit.js optional arguments. We recomend the manual editing as it is the easiest way to specify the values IIS 5.1 or Below Using the IIS management console, add a new virtual directory to your IIS/PWS Web site. The name of the virtual directory must be axis2. Its physical path should be the directory where you placed mod_axis2_IIS.dll (in our example it is c:\axis2c\lib). When creating this new virtual directory, assign execute access to it. By Using the IIS management console, add mod_axis2_IIS.dll as a filter in your IIS/PWS web site and restart the IIS admin service. IIS 6 & 7 Using the IIS management console, add the mod_axis2_IIS.dll as a Wildcard Script Map. Executable should be the complete path to the mod_axis2_IIS.dll You can put any name as the name of the Wildcard Script Map Please don't add the mod_axis2_IIS.dll as a filter to IIS as in the IIS 5.1 case. Note: If the Axis2/C failed to load, verify that Axis2/C and its dependent DLLs are in the System Path (not the user path). axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_constants.h0000644000175000017500000000333311166304465027467 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_IIS_CONSTANTS_H #define AXIS2_IIS_CONSTANTS_H #define INTERNET_MAX_PATH_LENGTH 2048 #define INTERNET_MAX_SCHEME_LENGTH 32 /* longest protocol name length */ #define INTERNET_MAX_URL_LENGTH (INTERNET_MAX_SCHEME_LENGTH +sizeof("://") +INTERNET_MAX_PATH_LENGTH) #define URI_MATCHED 1 #define URI_UN_MATCHED 2 #define EXTENSION_URL "/axis2/mod_axis2_IIS.dll\? " #define EXTENSION_URL_AXIS2 "/axis2/" #define EXTENSION_URL_MODIIS "mod_axis2_IIS.dll\? " #define MAX_SERVERNAME 128 #define MAX_PORT_LEN 8 #define MAX_HTTP_VERSION_LEN 16 #define MAX_HTTP_CONTENT_TYPE_LEN 2048 #define MAX_CONTENT_ENCODING_LEN 16 #define MAX_HTTP_METHOD_LEN 8 #define MAX_TCP_PORT_LEN 8 #define MAX_CONTENT_LEN 16 #define OK 200 #define HTTP_INTERNAL_SERVER_ERROR 500 #define HTTP_ACCEPTED 202 #define AXIS2_STRICMP _stricmp #endif /*AXIS2_IIS_CONSTANTS_H*/ axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_out_transport_info.c0000644000175000017500000001133711166304465031407 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_iis_out_transport_info.h" #include #include #include #include "axis2_iis_constants.h" /** * @brief IIS Out transport info impl structure * Axis2 iis_out_transport_info_impl */ typedef struct axis2_iis_out_transport_info_s { axis2_http_out_transport_info_t out_transport_info; axis2_char_t *encoding; axis2_char_t content_type[MAX_HTTP_CONTENT_TYPE_LEN]; } axis2_iis_out_transport_info_t; #define AXIS2_INTF_TO_IMPL(out_transport_info) \ ((axis2_iis_out_transport_info_t *)(out_transport_info)) void AXIS2_CALL axis2_iis_out_transport_info_free( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env) { axis2_iis_out_transport_info_t *info = NULL; AXIS2_ENV_CHECK(env, void); info = AXIS2_INTF_TO_IMPL(out_transport_info); if (info->encoding) { AXIS2_FREE(env->allocator, info->encoding); info->encoding = NULL; } AXIS2_FREE(env->allocator, info); return; } void AXIS2_CALL axis2_iis_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env) { axis2_http_out_transport_info_t *transport_info_l = NULL; AXIS2_ENV_CHECK(env, void); transport_info_l = (axis2_http_out_transport_info_t *) transport_info; axis2_http_out_transport_info_free(transport_info_l, env); return; } axis2_status_t AXIS2_CALL axis2_iis_out_transport_info_set_content_type( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * content_type) { axis2_iis_out_transport_info_t *info_impl = NULL; info_impl = AXIS2_INTF_TO_IMPL(info); info_impl->content_type[0] = '\0'; if (info_impl->encoding) { sprintf(info_impl->content_type, "%s%s%s", content_type, ";charser:", info_impl->encoding); } else { strcat(info_impl->content_type, content_type); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_iis_out_transport_info_set_char_encoding( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * encoding) { axis2_iis_out_transport_info_t *info_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE); info_impl = AXIS2_INTF_TO_IMPL(info); if (info_impl->encoding) { AXIS2_FREE(env->allocator, info_impl->encoding); } info_impl->encoding = axutil_strdup(env, encoding); return AXIS2_SUCCESS; } axis2_http_out_transport_info_t *AXIS2_CALL axis2_iis_out_transport_info_create( const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB) { axis2_iis_out_transport_info_t *info = NULL; axis2_http_out_transport_info_t *http_out_info = NULL; AXIS2_ENV_CHECK(env, NULL); info = (axis2_iis_out_transport_info_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_iis_out_transport_info_t)); if (!info) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } info->encoding = NULL; http_out_info = &(info->out_transport_info); axis2_http_out_transport_info_set_content_type_func(http_out_info, env, axis2_iis_out_transport_info_set_content_type); axis2_http_out_transport_info_set_char_encoding_func(http_out_info, env, axis2_iis_out_transport_info_set_char_encoding); axis2_http_out_transport_info_set_free_func(http_out_info, env, axis2_iis_out_transport_info_free); return http_out_info; } axis2_char_t * axis2_iis_out_transport_get_content( axis2_http_out_transport_info_t * info) { axis2_iis_out_transport_info_t *info_impl = NULL; info_impl = AXIS2_INTF_TO_IMPL(info); return info_impl->content_type; } axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_out_transport_info.h0000644000175000017500000000350711166304465031414 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_IIS_OUT_TRANSPORT_INFO_H #define AXIS2_IIS_OUT_TRANSPORT_INFO_H /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_iis_out_transport_info.h * @brief axis2 IIS Out Transport Info */ #include #include #ifdef __cplusplus extern "C" { #endif axis2_http_out_transport_info_t *AXIS2_CALL axis2_iis_out_transport_info_create( const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB); /** * Free http_out_transport_info passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the http_out_transport_info structure's free method */ void AXIS2_CALL axis2_iis_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env); axis2_char_t *axis2_iis_out_transport_get_content( axis2_http_out_transport_info_t * out_transport_info); #ifdef __cplusplus } #endif #endif /* AXIS2_IIS_OUT_TRANSPORT_INFO_H */ axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_worker.c0000644000175000017500000004606711166304465026772 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include "axis2_iis_out_transport_info.h" #include "axis2_iis_stream.h" #include "axis2_iis_worker.h" /* Files from iis */ #include #include #include "axis2_iis_constants.h" #define READ_SIZE 2048 axis2_status_t AXIS2_CALL axis2_worker_get_original_url(char url[], char ret_url[]); axis2_char_t * AXIS2_CALL axis2_iis_worker_get_bytes(const axutil_env_t * env, axutil_stream_t * stream); axis2_status_t AXIS2_CALL start_response(const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB, int status, const char *reason, axutil_array_list_t *headers ); axis2_status_t write_response(LPEXTENSION_CONTROL_BLOCK lpECB, const void *b, unsigned int l); axutil_hash_t *axis2_iis_worker_read_http_headers(const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB); AXIS2_IMPORT extern axis2_char_t *axis2_request_url_prefix; static struct reasons { axis2_char_t * status_code; int status_len; } reasons[] = { {"200 OK", 6}, {"202 Accepted", 12}, {"500 Internal Server Error", 25} }; struct axis2_iis_worker { axis2_conf_ctx_t * conf_ctx; }; char *status_reason(int status); axis2_iis_worker_t * AXIS2_CALL axis2_iis_worker_create(const axutil_env_t * env, axis2_char_t * repo_path) { axis2_iis_worker_t * iis_worker = NULL; iis_worker = (axis2_iis_worker_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_iis_worker_t)); if (!iis_worker) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } iis_worker->conf_ctx = axis2_build_conf_ctx(env, repo_path); if (!iis_worker->conf_ctx) { axis2_iis_worker_free((axis2_iis_worker_t *) iis_worker, env); return NULL; } return iis_worker; } void AXIS2_CALL axis2_iis_worker_free(axis2_iis_worker_t * iis_worker, const axutil_env_t * env) { if (iis_worker->conf_ctx) { axis2_conf_ctx_free(iis_worker->conf_ctx, env); iis_worker->conf_ctx = NULL; } AXIS2_FREE(env->allocator, iis_worker); return; } int AXIS2_CALL axis2_iis_worker_process_request(axis2_iis_worker_t * iis_worker, const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB) { axis2_conf_ctx_t * conf_ctx = NULL; axutil_stream_t * out_stream = NULL; axis2_transport_out_desc_t * out_desc = NULL; axis2_transport_in_desc_t * in_desc = NULL; axis2_char_t soap_action[INTERNET_MAX_URL_LENGTH]; axis2_char_t original_url[INTERNET_MAX_URL_LENGTH]; axis2_char_t req_url[INTERNET_MAX_URL_LENGTH]; DWORD cbSize = 0; CHAR server_name[MAX_SERVERNAME]; axis2_char_t port[MAX_TCP_PORT_LEN]; axis2_char_t redirect_url[INTERNET_MAX_PATH_LENGTH]; axis2_char_t accept_language[INTERNET_MAX_PATH_LENGTH]; axutil_hash_t *headers = NULL; axis2_char_t peer_ip[50]; axis2_char_t accept_header[INTERNET_MAX_URL_LENGTH]; axis2_char_t accept_charset[INTERNET_MAX_URL_LENGTH]; /*axutil_property_t *peer_property = NULL;*/ axis2_http_header_t *content_type_header = NULL; axis2_http_header_t *content_length_header = NULL; /* New Code variables */ axis2_http_transport_in_t request; axis2_http_transport_out_t response; /* initialize tranport in structure */ axis2_http_transport_utils_transport_in_init(&request, env); /* initialize tranport out structure */ axis2_http_transport_utils_transport_out_init(&response, env); soap_action[0] = '\0'; /*Check the parameters*/ if (!lpECB) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_INVALID_NULL_PARAM); return AXIS2_FAILURE; } conf_ctx = iis_worker->conf_ctx; if (!conf_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT, AXIS2_FAILURE); return AXIS2_FAILURE; } cbSize = INTERNET_MAX_PATH_LENGTH; if (lpECB->GetServerVariable(lpECB->ConnID, "SERVER_NAME", server_name, &cbSize) == FALSE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot get server name from IIS."); return AXIS2_FAILURE; } cbSize = MAX_TCP_PORT_LEN; if (lpECB->GetServerVariable(lpECB->ConnID, "SERVER_PORT", port, &cbSize) == FALSE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot get server port from IIS."); return AXIS2_FAILURE; } request.svr_port = port; cbSize = INTERNET_MAX_PATH_LENGTH; if(lpECB->GetServerVariable(lpECB->ConnID, "HTTP_URL", redirect_url, &cbSize) == FALSE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot get server port from IIS."); return AXIS2_FAILURE; } /* We have a mapped URL only when the server version is 5 or less than that. */ if (server_version <= 5) { axis2_worker_get_original_url(redirect_url, original_url); /* create the url using the above variables */ sprintf(req_url, "%s%s%s%s%s", "http://", server_name, ":", port, original_url); } else { sprintf(req_url, "%s%s%s%s%s", "http://", server_name, ":", port, redirect_url); } /* Set the request url */ request.request_uri = req_url; out_stream = axutil_stream_create_basic(env); out_desc = axis2_conf_get_transport_out( axis2_conf_ctx_get_conf (iis_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); in_desc = axis2_conf_get_transport_in( axis2_conf_ctx_get_conf (iis_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); /* Create the in message context */ request.msg_ctx = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc); axis2_msg_ctx_set_server_side(request.msg_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_transport_out_stream(request.msg_ctx, env, out_stream); /* Get the SOAPAction Header */ cbSize = INTERNET_MAX_URL_LENGTH; if (lpECB->GetServerVariable(lpECB->ConnID, "HTTP_SOAPAction", soap_action, &cbSize)) { request.soap_action = soap_action; } /* Create the in stream */ request.in_stream = axutil_stream_create_iis(env, lpECB); if (!request.in_stream) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occured in creating input stream."); return AXIS2_FAILURE; } /* Get the Remote Adrress */ if (lpECB->GetServerVariable(lpECB->ConnID, "REMOTE_ADDR", peer_ip, &cbSize)) { request.remote_ip = peer_ip; } /* Set the http headers into the message context */ headers = axis2_iis_worker_read_http_headers(env, lpECB); if (axis2_msg_ctx_set_transport_headers(request.msg_ctx, env, headers) == AXIS2_FAILURE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "IIS: Error occured in setting transport headers."); } /* Set the content length */ request.content_length = lpECB->cbTotalBytes; /* Set the HTTP method */ if (axutil_strcasecmp(lpECB->lpszMethod, "POST") == 0) { request.request_method = AXIS2_HTTP_METHOD_POST; } else if (axutil_strcasecmp(lpECB->lpszMethod, "GET") == 0) { request.request_method = AXIS2_HTTP_METHOD_GET; } else if (axutil_strcasecmp(lpECB->lpszMethod, "HEAD") == 0) { request.request_method = AXIS2_HTTP_METHOD_HEAD; } else if (axutil_strcasecmp(lpECB->lpszMethod, "PUT") == 0) { request.request_method = AXIS2_HTTP_METHOD_PUT; } else if (axutil_strcasecmp(lpECB->lpszMethod, "DELETE") == 0) { request.request_method = AXIS2_HTTP_METHOD_DELETE; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "IIS: Unsupported HTTP Method."); return AXIS2_FAILURE; } /* Set the URL prefix. axis2_request_url_prefix is a global variable set at the init time */ request.request_url_prefix = axis2_request_url_prefix; /* Create the transport out info */ request.out_transport_info = axis2_iis_out_transport_info_create(env, lpECB); /* Set the content type */ request.content_type = lpECB->lpszContentType; /* Get accept headaer */ cbSize = INTERNET_MAX_PATH_LENGTH; if(lpECB->GetServerVariable(lpECB->ConnID, "HTTP_Accept", accept_header, &cbSize)) { request.accept_header = accept_header; } /* Get the accept langauge */ cbSize = INTERNET_MAX_PATH_LENGTH; if (lpECB->GetServerVariable(lpECB->ConnID, "HTTP_Accept-Language", accept_language, &cbSize)) { request.accept_language_header = accept_language; } cbSize = INTERNET_MAX_PATH_LENGTH; if (lpECB->GetServerVariable(lpECB->ConnID, "HTTP_Accept-Charset", accept_charset, &cbSize)) { request.accept_charset_header = accept_charset; } /* Now we have set everything. We can call process method to process the request */ if (axis2_http_transport_utils_process_request(env, conf_ctx, &request, &response) == AXIS2_FAILURE) { return AXIS2_FAILURE; } /* Write the response */ if (response.response_data && response.response_data_length > 0) { axis2_char_t content_length_str[16]={0}; axis2_bool_t is_out_headers_created = AXIS2_FALSE; if (!response.output_headers) { response.output_headers = axutil_array_list_create(env, 2); is_out_headers_created = AXIS2_TRUE; } sprintf(content_length_str, "%d", response.response_data_length); if (!response.content_type) { content_type_header = axis2_http_header_create(env, "Content-Type", axis2_iis_out_transport_get_content(request.out_transport_info)); } else { content_type_header = axis2_http_header_create(env, "Content-Type", response.content_type); } content_length_header = axis2_http_header_create(env, "Content-Length", content_length_str); axutil_array_list_add(response.output_headers, env, content_length_header); axutil_array_list_add(response.output_headers, env, content_type_header); /* Write the headers */ start_response(env, lpECB, response.http_status_code, response.http_status_code_name, response.output_headers); /* Write the response body */ if(write_response(lpECB, response.response_data, response.response_data_length) == AXIS2_FAILURE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "IIS: Writing data to IIS"); return AXIS2_FAILURE; } if (is_out_headers_created) { if (content_length_header) { axis2_http_header_free(content_length_header, env); } if (content_type_header) { axis2_http_header_free(content_type_header, env); } axutil_array_list_free(response.output_headers, env); } } else { /* If we don't have a body we should write the HTTP headers */ start_response(env, lpECB, response.http_status_code, response.http_status_code_name, response.output_headers); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Response is NULL"); } /* Do some cleaning */ axis2_http_transport_utils_transport_in_uninit(&request, env); axis2_http_transport_utils_transport_out_uninit(&response, env); return AXIS2_SUCCESS; } axis2_status_t write_response(LPEXTENSION_CONTROL_BLOCK lpECB, const void *b, unsigned int l) { if (lpECB && b) { if (l) { unsigned int written = 0; char *buf = (char *) b; /* If couldn't write the data at onece try again until all the data is written.*/ while (written < l) { DWORD try_to_write = l - written; if (!lpECB-> WriteClient(lpECB->ConnID, buf + written, &try_to_write, 0)) { return AXIS2_FAILURE; } written += try_to_write; } } return AXIS2_SUCCESS; } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL start_response(const axutil_env_t *env, LPEXTENSION_CONTROL_BLOCK lpECB, int status, const char *reason, axutil_array_list_t *headers ) { static char crlf[3] = { (char) 13, (char) 10, '\0' }; unsigned int num_of_headers = 0; if (status < 100 || status > 1000) { return AXIS2_FAILURE; } if (lpECB) { size_t len_of_status; char *status_str; char *headers_str; /* * Create the status line */ if (reason) { status_str = (char *) _alloca((6 + strlen(reason)) * sizeof(char)); sprintf(status_str, "%d %s", status, reason); len_of_status = strlen(status_str); } else { switch (status) { case 200: status_str = reasons[0].status_code; len_of_status = reasons[0].status_len; break; case 202: status_str = reasons[1].status_code; len_of_status = reasons[1].status_len; break; case 500: status_str = reasons[2].status_code; len_of_status = reasons[2].status_len; break; default: status_str = reasons[0].status_code; len_of_status = reasons[0].status_len; break; } } /* * Create response headers string */ if (headers && (num_of_headers = axutil_array_list_size(headers, env)) > 0) { size_t i, len_of_headers; axis2_http_header_t *header = NULL; for (i = 0, len_of_headers = 0; i < num_of_headers; i++) { header = axutil_array_list_get(headers, env, (int)i); len_of_headers += strlen(axis2_http_header_get_name(header, env)); len_of_headers += strlen(axis2_http_header_get_value(header, env)); len_of_headers += 4; /* extra for colon, space and crlf */ } len_of_headers += 3; /* crlf and terminating null char */ headers_str = (char *) _alloca(len_of_headers * sizeof(char)); headers_str[0] = '\0'; for (i = 0; i < num_of_headers; i++) { header = axutil_array_list_get(headers, env, (int)i); strcat(headers_str, axis2_http_header_get_name(header, env)); strcat(headers_str, ": "); strcat(headers_str, axis2_http_header_get_value(header, env)); strcat(headers_str, "\r\n"); } strcat(headers_str, "\r\n"); } else { headers_str = crlf; } if (!lpECB-> ServerSupportFunction(lpECB->ConnID, HSE_REQ_SEND_RESPONSE_HEADER, status_str, (LPDWORD) & len_of_status, (LPDWORD) headers_str)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_worker_get_original_url(char url[], char ret_url[]) { extern axis2_char_t *axis2_location; strcpy(ret_url, axis2_location); strcat(ret_url, &url[25]); return URI_MATCHED; } axis2_char_t * AXIS2_CALL axis2_iis_worker_get_bytes( const axutil_env_t * env, axutil_stream_t * stream) { axutil_stream_t * tmp_stream = NULL; int return_size = -1; axis2_char_t * buffer = NULL; axis2_bool_t loop_state = AXIS2_TRUE; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, stream, NULL); tmp_stream = axutil_stream_create_basic(env); while (loop_state) { int read = 0; int write = 0; char buf[READ_SIZE]; read = axutil_stream_read(stream, env, buf, READ_SIZE); if (read < 0) { break; } write = axutil_stream_write(tmp_stream, env, buf, read); if (read < (READ_SIZE - 1)) { break; } } return_size = axutil_stream_get_len(tmp_stream, env); if (return_size > 0) { buffer = (char *) AXIS2_MALLOC(env->allocator, sizeof(char) * (return_size + 2)); return_size = axutil_stream_read(tmp_stream, env, buffer, return_size + 1); buffer[return_size + 1] = '\0'; } axutil_stream_free(tmp_stream, env); return buffer; } /** Read all HTTP headers. */ axutil_hash_t *axis2_iis_worker_read_http_headers(const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB) { const char szHTTP_[] = "HTTP_"; char szBuffer[4096]; DWORD dwBufferSize = sizeof szBuffer; axutil_hash_t *headers = NULL; axis2_http_header_t* http_header = NULL; BOOL bGet = lpECB->GetServerVariable(lpECB->ConnID, "ALL_HTTP", szBuffer, &dwBufferSize); if (bGet) { /* Find lines, split key/data pair and write them as output */ LPTSTR pOpts = NULL; LPTSTR pEnd = NULL; LPTSTR pChar = NULL; char szTmpBuf[512]; char szTmpName[256]; headers = axutil_hash_make(env); szTmpBuf[0] = 0; for (pChar = szBuffer; '\0' != *pChar;) { if (*pChar == '\r' || *pChar == '\n') { pChar++; continue; } pOpts = strchr(pChar, ':');/* findseparator */ if (pOpts && *pOpts) { pEnd = pOpts; while (*pEnd && *pEnd != '\r' && *pEnd != '\n') { pEnd++; } *pOpts = '\0'; /* split the strings */ *pEnd = '\0'; if (0 == strncmp(pChar, szHTTP_, strlen(szHTTP_))) { pChar += strlen(szHTTP_); } strcpy(szTmpName, pChar); axutil_string_replace(szTmpName, '_', '-'); http_header = axis2_http_header_create(env, szTmpName, pOpts + 1); axutil_hash_set(headers, axutil_strdup(env, szTmpName), AXIS2_HASH_KEY_STRING, http_header); pChar = pEnd + 1; } } } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "axis2_iis_worker_read_http_headers: no http headers"); } return headers; } axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_worker.h0000644000175000017500000000314411166304465026764 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_APACHE2_WORKER_H #define AXIS2_APACHE2_WORKER_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /* */ typedef struct axis2_iis_worker axis2_iis_worker_t; int server_version; int AXIS2_CALL axis2_iis_worker_process_request( axis2_iis_worker_t * iis_worker, const axutil_env_t * env, void *r); void AXIS2_CALL axis2_iis_worker_free( axis2_iis_worker_t * iis_worker, const axutil_env_t * env); axis2_iis_worker_t * AXIS2_CALL axis2_iis_worker_create( const axutil_env_t * env, axis2_char_t * repo_path); #ifdef __cplusplus } #endif /* */ #endif /* AXIS2_IIS_WORKER_H */ axis2c-src-1.6.0/src/core/transport/http/server/IIS/mod_axis2.def0000644000175000017500000000016111166304465025671 0ustar00manjulamanjula00000000000000LIBRARY "mod_axis2_IIS" EXPORTS GetExtensionVersion HttpExtensionProc GetFilterVersion HttpFilterProc axis2c-src-1.6.0/src/core/transport/http/server/IIS/iis_iaspi_plugin_51/0000777000175000017500000000000011172017546027164 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/server/IIS/iis_iaspi_plugin_51/axis2_isapi_51.c0000644000175000017500000001060711166304465032052 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include "..\\axis2_iis_constants.h" #define REGISTRY_LOC "Software\\Apache Axis2c\\IIS ISAPI Redirector" #define AXIS2_IIS_AXIS2_LOC "axis2_location" static char *axis2_loc = "/axis2"; static axis2_char_t redirect_word[INTERNET_MAX_URL_LENGTH] = "/axis2/mod_axis2_IIS.dll\?"; /* * Search a given uri to find weather it matches a uri for the axis2 * The uri format for axis2 is of the form * scheme://server:port/axis2/other_parts * This function search a give uri for the /axis2/. If a match * is found it will replace the /axis2 part of the url with /axis2/mod_iis.dll? */ axis2_bool_t AXIS2_CALL get_extension_url(char url[], char ret_url[]); /* * This function is called by the IIS server at the server * initialization. So this is the ideal plcae for initializing * axis2c. */ BOOL WINAPI GetFilterVersion(PHTTP_FILTER_VERSION pVer) { DWORD type = 0, size = 0; LONG lrc = 0; char tmpbuf[INTERNET_MAX_URL_LENGTH]; HKEY hkey; ULONG http_filter_revision = HTTP_FILTER_REVISION; pVer->dwFilterVersion = pVer->dwServerFilterVersion; if (pVer->dwFilterVersion > http_filter_revision) { pVer->dwFilterVersion = http_filter_revision; } /* Receive notifictions when 1. Server preprocessed the headers. 2. Log 3. All the request coming in secure and none secure ports. */ pVer->dwFlags = (SF_NOTIFY_ORDER_HIGH | SF_NOTIFY_PREPROC_HEADERS | SF_NOTIFY_SECURE_PORT | SF_NOTIFY_NONSECURE_PORT | SF_NOTIFY_AUTH_COMPLETE ); /* Give a short discription about the module.*/ strcpy(pVer->lpszFilterDesc, "axis2c filter"); /* Get the axis2 location from the registry configuration */ lrc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGISTRY_LOC, (DWORD) 0, KEY_READ, &hkey); if (ERROR_SUCCESS != lrc) { return FALSE; } size = INTERNET_MAX_URL_LENGTH; lrc = RegQueryValueEx(hkey, AXIS2_IIS_AXIS2_LOC, (LPDWORD) 0, &type, (LPBYTE) tmpbuf, &size); if ((ERROR_SUCCESS == lrc) && (type == REG_SZ)) { tmpbuf[size] = '\0'; axis2_loc = _strdup(tmpbuf); } RegCloseKey(hkey); return TRUE; } /* When a notification happens this function is called by the IIS. */ DWORD WINAPI HttpFilterProc( PHTTP_FILTER_CONTEXT pfc, DWORD notificationType, LPVOID pvNotification) { DWORD bufferLength = INTERNET_MAX_URL_LENGTH; char url[INTERNET_MAX_URL_LENGTH]; char modified_url[INTERNET_MAX_URL_LENGTH]; if (notificationType == SF_NOTIFY_PREPROC_HEADERS) { pfc->GetServerVariable(pfc, "HTTP_URL", url, &bufferLength); if (get_extension_url(url, modified_url)) { ((PHTTP_FILTER_PREPROC_HEADERS) pvNotification)->SetHeader(pfc, "url", modified_url); return SF_STATUS_REQ_HANDLED_NOTIFICATION; } } return SF_STATUS_REQ_NEXT_NOTIFICATION; } axis2_bool_t AXIS2_CALL get_extension_url(char url[], char ret_url[]) { axis2_bool_t is_for_us = AXIS2_FALSE; int i = 0; /* Should contain "/axis2/"*/ ret_url[0] = '\0'; if (strlen(url) >= strlen(axis2_loc)) { is_for_us = AXIS2_TRUE; while (axis2_loc[i] != '\0') { if (axis2_loc[i] != (url)[i]) { is_for_us = AXIS2_FALSE; break; } i++; } if (url[i] != '/' && url[i] != '\0') { is_for_us = AXIS2_FALSE; } } if (is_for_us) { strcpy(ret_url, redirect_word); strcat(ret_url, &url[i]); } return is_for_us; }axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_regedit.js0000644000175000017500000000621411166304465027264 0ustar00manjulamanjula00000000000000var WshShell = WScript.CreateObject("WScript.Shell"); /* You can change the following values to suite your requirements */ /* Axis2/C repo location. axis2.xml, modules folder and services folder should be in this dir */ var axis2c_home = WshShell.CurrentDirectory; /* Log level. Possible values are trace, error, info, critical, user, debug and warning */ var log_level = "debug"; /* Full path to the log file */ var log_file = axis2c_home + "/logs/axis2.log"; /* Services URL prefix. This is the folder where services are hosted. Optional */ var services_url_prefix; /* Max log file size */ var max_log_file_size; /* Axis2 location */ var axis2_location; /* Don't change anything below */ var axis2c_home_str = "axis2c_home"; var log_level_str = "log_level"; var log_file_str = "log_file"; var services_url_prefix_str = "services_url_prefix"; var max_log_file_size_str = "max_log_file_size"; var axis2_location_str = "axis2_location" var reg_location = "HKLM\\Software\\Apache Axis2C\\IIS ISAPI Redirector\\" /* If specified get the values from the command prompt */ var args = WScript.Arguments; if (args.length > 0) { axis2c_home = args.Item(0); if (axis2c_home) { log_file = axis2c_home + "/logs/axis2.log"; } } if (args.length > 1) { log_level = args.Item(1); } if (args.length > 2) { log_file = args.Item(2); } if (args.length > 3) { services_url_prefix = args.Item(3); } if (args.length > 4) { max_log_file_size = args.Item(4); } if (args.length > 5) { axis2_location = args.Item(5); } /* Write the axis2c_home entry. This is used by Axis2/C to find the repo location */ WshShell.RegWrite (reg_location + axis2c_home_str, axis2c_home, "REG_SZ"); /* Write the log_level registry entry */ WshShell.RegWrite (reg_location + log_level_str, log_level, "REG_SZ"); /* Write the log file name */ WshShell.RegWrite (reg_location + log_file_str, log_file, "REG_SZ"); /* Write the services url prefix. We write this only if specified */ try { var services_url_prefix_key = WshShell.RegRead (reg_location + services_url_prefix_str); if (services_url_prefix_key) { WshShell.RegDelete (reg_location + services_url_prefix_str); } } catch (e) {} if (services_url_prefix) { WshShell.RegWrite (reg_location + services_url_prefix_str, services_url_prefix, "REG_SZ"); } /* We write max_log_file_size only if specified */ try { var max_log_file_size_key = WshShell.RegRead (reg_location + max_log_file_size_str); if (max_log_file_size_key) { WshShell.RegDelete (reg_location + max_log_file_size_str); } } catch (e) {} if (max_log_file_size) { WshShell.RegWrite (reg_location + max_log_file_size_str, max_log_file_size, "REG_SZ"); } try{ var axis2_location_key = WshShell.RegRead (reg_location + axis2_location_str); if (axis2_location_key) { WshShell.RegDelete (reg_location + axis2_location_str); } } catch (e) {} if (axis2_location) { WshShell.RegWrite (reg_location + axis2_location_str, axis2_location, "REG_SZ"); }axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_isapi_plugin.c0000644000175000017500000003340611166304465027271 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include "axis2_iis_constants.h" #include "axis2_iis_worker.h" /* Axis headers */ #include #include #include #include #include #ifndef _WIN32_WINNT #define _WIN32_WINNT 0x0500 #endif #define AXIS2_IIS_LOG_FILE_TAG "log_file" #define AXIS2_IIS_LOG_LEVEL_TAG "log_level" #define AXIS2_IIS_REPO_PATH_TAG "axis2c_home" #define AXIS2_IIS_EXTENSION_URI_TAG "extension_uri" #define AXIS2_IIS_REDIRECT_WORD_TAG "redirect_uri" #define AXIS2_IIS_AXIS2_LOCATION "axis2_location" #define AXIS2_IIS_SERVICE_URL_PREFIX "services_url_prefix" #define AXIS2_IIS_LOG_TRACE_VERB "trace" #define AXIS2_IIS_LOG_ERROR_VERB "error" #define AXIS2_IIS_LOG_INFO_VERB "info" #define AXIS2_IIS_LOG_USER_VERB "user" #define AXIS2_IIS_LOG_CRITICAL_VERB "critical" #define AXIS2_IIS_LOG_WARN_VERB "warning" #define AXIS2_IIS_LOG_DEBUG_VERB "debug" #define MAX_FILE_PATH 256 #define REGISTRY_LOCATION "Software\\Apache Axis2c\\IIS ISAPI Redirector" static int is_inited = FALSE; static axis2_iis_worker_t *axis2_worker = NULL; static const axutil_env_t *axutil_env = NULL; /* Configuration parameters */ axis2_char_t *axis2_location = "/axis2"; static axis2_char_t *axis2_service_url_prefix= "/services"; static axis2_char_t repo_path[MAX_FILE_PATH]; static axis2_char_t log_file[MAX_FILE_PATH]; static axutil_log_levels_t log_level = AXIS2_LOG_LEVEL_CRITICAL; /* Path variables */ static char szOriginalPath[_MAX_PATH + 1]; static char szPath[_MAX_PATH + 1]; axis2_char_t general_error[] = "\r\n" " An IIS server error occurred. \r\n" "

An IIS server error occurred

\r\n" "
\r\n" "An error occurred in IIS while processing this request."; axis2_char_t initializing_error[] = "\r\n" " An IIS server error occurred. \r\n" "

An IIS server error occurred

\r\n" "
\r\n" "An error occurred while initilizing Axis2/C."; /* * This is a utility functipn for reading configuration data from the registery. */ static axis2_status_t AXIS2_CALL read_registery_init_data(); /* * Utility function for reading */ static axis2_status_t AXIS2_CALL get_registry_config_parameter( HKEY hkey, const char *tag, char *b, DWORD sz); /* * Parse the given string and return the corresponding log_level */ axutil_log_levels_t AXIS2_CALL axis2_iis_parse_log_level(char level[]); /* * Initialize axis. This function is called in the begining of the module loading. * It initializes the axis by reading values from the configuration and creating the * required structures for the axis2c */ axis2_status_t AXIS2_CALL init_axis2(); /* * This is the function to be called after the processing * is over for non Axis2 requets */ VOID WINAPI ExecUrlCompletion ( EXTENSION_CONTROL_BLOCK * pecb, PVOID pContext, DWORD cbIO, DWORD dwError ); /* * If somethign went wrong in the IIS server when * we are proccessing we send this */ BOOL send_error( EXTENSION_CONTROL_BLOCK * pecb, CHAR error[]); axis2_status_t AXIS2_CALL init_axis2(); BOOL WINAPI GetExtensionVersion(HSE_VERSION_INFO * pVer) { pVer->dwExtensionVersion = MAKELONG( HSE_VERSION_MINOR, HSE_VERSION_MAJOR); strncpy( pVer->lpszExtensionDesc, "WildCardMap Sample ISAPI Extension", HSE_MAX_EXT_DLL_NAME_LEN ); pVer->lpszExtensionDesc[HSE_MAX_EXT_DLL_NAME_LEN-1] = '\0'; server_version = 5; return TRUE; } DWORD WINAPI HttpExtensionProc(EXTENSION_CONTROL_BLOCK * pecb) { HSE_EXEC_URL_INFO ExecUrlInfo; DWORD cbData = INTERNET_MAX_URL_LENGTH; char url[INTERNET_MAX_URL_LENGTH]; axis2_bool_t is_for_us = AXIS2_TRUE; /* Get the URL */ if ( pecb->GetServerVariable( pecb->ConnID, "URL", url, &cbData ) == FALSE ) { return HSE_STATUS_ERROR; } if (!is_inited) { DWORD dwBufferSize = 0; axis2_char_t server_software[256]; axis2_char_t *version = NULL; ZeroMemory(szOriginalPath, sizeof szOriginalPath); dwBufferSize = sizeof szOriginalPath; #if _WIN32_WINNT >= 0x0502 GetDllDirectory( dwBufferSize, szOriginalPath ); #else GetCurrentDirectory( dwBufferSize, szOriginalPath ); #endif ZeroMemory(szPath, sizeof szPath); dwBufferSize = sizeof szPath; /* Get the current physical paht */ if (pecb->GetServerVariable(pecb->ConnID, "APPL_PHYSICAL_PATH", szPath, &dwBufferSize) == FALSE) { send_error(pecb, initializing_error); return HSE_STATUS_ERROR; } /* Retrieve the server version */ dwBufferSize = 32; if (pecb->GetServerVariable(pecb->ConnID, "SERVER_SOFTWARE", server_software, &dwBufferSize) == FALSE) { send_error(pecb, initializing_error); return HSE_STATUS_ERROR; } version = axutil_strchr(server_software, '/'); if (version) { server_version = atoi(version + 1); } #if _WIN32_WINNT >= 0x0502 SetDllDirectory( szPath ); #else SetCurrentDirectory( szPath ); #endif /* If we haven't initialized axis2/c before initialization failed */ if (AXIS2_FAILURE == init_axis2()) { send_error(pecb, initializing_error); return HSE_STATUS_ERROR; } #if _WIN32_WINNT >= 0x0502 SetDllDirectory( szOriginalPath ); #else SetCurrentDirectory( szOriginalPath ); #endif } /* Check weather we have a request for Axis2/C */ if (server_version >= 6 && strlen(url) >= strlen(axis2_location)) { int i = 0; is_for_us = AXIS2_TRUE; while (axis2_location[i] != '\0') { if (axis2_location[i] != (url)[i]) { is_for_us = AXIS2_FALSE; break; } i++; } if (url[i] != '/' && url[i] != '\0') { is_for_us = AXIS2_FALSE; } } if (is_for_us) { /* Windows cannot find the correct dlls unless the path is set*/ #if _WIN32_WINNT >= 0x0502 SetDllDirectory( szPath ); #else SetCurrentDirectory( szPath ); #endif pecb->dwHttpStatusCode = HTTP_INTERNAL_SERVER_ERROR; /* We are sure that worker is not NULL since it is NULL init_axis2 would have failed */ axis2_iis_worker_process_request(axis2_worker, axutil_env, pecb); /* Windows cannot find the correct dlls unless the dir is set but we want to reset to previous dir after the load */ #if _WIN32_WINNT >= 0x0502 SetDllDirectory( szOriginalPath ); #else SetCurrentDirectory( szOriginalPath ); #endif return HSE_STATUS_SUCCESS; } else if (server_version >= 6) { /* For IIS 5.1 or earlier this code is never executed. Since the URL is redirected to Axis2/C by the Filter */ /* If not for Axis2/C let the request go to who ever wants it */ ExecUrlInfo.pszUrl = NULL; /* Use original request URL */ ExecUrlInfo.pszMethod = NULL; /* Use original request method */ ExecUrlInfo.pszChildHeaders = NULL; /* Use original request headers */ ExecUrlInfo.pUserInfo = NULL; /* Use original request user info */ ExecUrlInfo.pEntity = NULL; /* Use original request entity */ /* Provent recursion */ ExecUrlInfo.dwExecUrlFlags = HSE_EXEC_URL_IGNORE_CURRENT_INTERCEPTOR; /* Associate the completion routine and the current URL with this request. */ if ( pecb->ServerSupportFunction( pecb->ConnID, HSE_REQ_IO_COMPLETION, ExecUrlCompletion, NULL, NULL) == FALSE ) { return HSE_STATUS_ERROR; } /* Ok, now that everything is set up, let's call the child request */ if ( pecb->ServerSupportFunction( pecb->ConnID, HSE_REQ_EXEC_URL, &ExecUrlInfo, NULL, NULL ) == FALSE ) { return HSE_STATUS_ERROR; } /* Return pending and let the completion clean up */ return HSE_STATUS_PENDING; } return HSE_STATUS_ERROR; } VOID WINAPI ExecUrlCompletion ( EXTENSION_CONTROL_BLOCK * pecb, PVOID pContext, DWORD cbIO, DWORD dwError ) { /* We are done so notify */ pecb->ServerSupportFunction( pecb->ConnID, HSE_REQ_DONE_WITH_SESSION, NULL, NULL, NULL); } BOOL send_error( EXTENSION_CONTROL_BLOCK * pecb, axis2_char_t error[]) { DWORD cbData; pecb->dwHttpStatusCode = 500; /* Send headers and response */ pecb->ServerSupportFunction( pecb->ConnID, HSE_REQ_SEND_RESPONSE_HEADER, "500 Server Error", NULL, (LPDWORD)"Content-Type: text/html\r\n\r\n" ); cbData = axutil_strlen( error ); return pecb->WriteClient( pecb->ConnID, error, &cbData, HSE_IO_SYNC ); } axis2_status_t AXIS2_CALL read_registery_init_data() { long rc = 0; axis2_status_t ok = TRUE; char tmpbuf[INTERNET_MAX_URL_LENGTH]; HKEY hkey; AXIS2_IMPORT extern axis2_char_t *axis2_request_url_prefix; rc = RegOpenKeyEx(HKEY_LOCAL_MACHINE, REGISTRY_LOCATION, (DWORD) 0, KEY_READ, &hkey); if (ERROR_SUCCESS != rc) { return AXIS2_FAILURE; } if (get_registry_config_parameter(hkey, AXIS2_IIS_REPO_PATH_TAG, tmpbuf, sizeof(repo_path))) { strcpy(repo_path, tmpbuf); } else { return AXIS2_FAILURE; } if (get_registry_config_parameter(hkey, AXIS2_IIS_LOG_FILE_TAG, tmpbuf, sizeof(log_file))) { strcpy(log_file, tmpbuf); } else { return AXIS2_FAILURE; } if (get_registry_config_parameter(hkey, AXIS2_IIS_LOG_LEVEL_TAG, tmpbuf, sizeof(tmpbuf))) { log_level = axis2_iis_parse_log_level(tmpbuf); } else { return AXIS2_FAILURE; } if (get_registry_config_parameter(hkey, AXIS2_IIS_SERVICE_URL_PREFIX, tmpbuf, sizeof(tmpbuf))) { axis2_request_url_prefix = _strdup(tmpbuf); } if (get_registry_config_parameter(hkey, AXIS2_IIS_AXIS2_LOCATION, tmpbuf, sizeof(tmpbuf))) { axis2_location = _strdup(tmpbuf); } RegCloseKey(hkey); return ok; } axutil_log_levels_t AXIS2_CALL axis2_iis_parse_log_level(char level[]) { if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_TRACE_VERB)) { return AXIS2_LOG_LEVEL_TRACE; } if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_DEBUG_VERB)) { return AXIS2_LOG_LEVEL_DEBUG; } if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_INFO_VERB)) { return AXIS2_LOG_LEVEL_INFO; } if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_USER_VERB)) { return AXIS2_LOG_LEVEL_USER; } if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_WARN_VERB)) { return AXIS2_LOG_LEVEL_WARNING; } if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_ERROR_VERB)) { return AXIS2_LOG_LEVEL_ERROR; } if (0 == AXIS2_STRICMP(level, AXIS2_IIS_LOG_CRITICAL_VERB)) { return AXIS2_LOG_LEVEL_CRITICAL; } return AXIS2_LOG_LEVEL_DEBUG; } axis2_status_t AXIS2_CALL get_registry_config_parameter(HKEY hkey, const char *tag, char *b, DWORD sz) { DWORD type = 0; LONG lrc; lrc = RegQueryValueEx(hkey, tag, (LPDWORD) 0, &type, (LPBYTE) b, &sz); if ((ERROR_SUCCESS != lrc) || (type != REG_SZ)) { return FALSE; } b[sz] = '\0'; return TRUE; } /** * This method initializes the axis2 engine. All the required variables are set to * their initial values in this method. */ axis2_status_t AXIS2_CALL init_axis2() { /* * These are the varibles required to initialize axis. */ axis2_status_t status = FALSE; /* We need to init xml readers before we go into threaded env */ if (!is_inited) { axiom_xml_reader_init(); status = read_registery_init_data(); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } axutil_error_init(); /* Initialize the environement */ axutil_env = axutil_env_create_all(log_file, log_level); if (!axutil_env) { return AXIS2_FAILURE; } axis2_worker = axis2_iis_worker_create(axutil_env, repo_path); if (!axis2_worker) { return AXIS2_FAILURE; } is_inited = AXIS2_TRUE; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_stream.c0000644000175000017500000002437311166304465026750 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axis2_iis_stream.h" #include /** * @brief Stream struct impl * Streaming mechanisms for iis web server */ typedef struct iis_stream_impl { axutil_stream_t stream; axutil_stream_type_t stream_type; LPEXTENSION_CONTROL_BLOCK lpECB; unsigned int cur_pos; void *cur_position; } iis_stream_impl_t; #define AXIS2_INTF_TO_IMPL(stream) ((iis_stream_impl_t *)(stream)) axutil_stream_type_t AXIS2_CALL iis_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env); int AXIS2_CALL iis_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); int AXIS2_CALL iis_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); int AXIS2_CALL iis_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count); int AXIS2_CALL iis_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env); axutil_stream_t *AXIS2_CALL axutil_stream_create_iis( const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB) { iis_stream_impl_t *stream_impl = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, lpECB, NULL); stream_impl = (iis_stream_impl_t *) AXIS2_MALLOC(env->allocator, sizeof(iis_stream_impl_t)); if (!stream_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } stream_impl->cur_pos = 0; stream_impl->cur_position = NULL; stream_impl->lpECB = lpECB; stream_impl->stream_type = AXIS2_STREAM_MANAGED; axutil_stream_set_read(&(stream_impl->stream), env, iis_stream_read); axutil_stream_set_write(&(stream_impl->stream), env, iis_stream_write); axutil_stream_set_skip(&(stream_impl->stream), env, iis_stream_skip); return &(stream_impl->stream); } int AXIS2_CALL iis_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count) { void *temp_buff = NULL; unsigned int data_to_read = 0; DWORD ret_val = TRUE; DWORD read_bytes = (DWORD) count; iis_stream_impl_t *stream_impl = NULL; char *temp = NULL; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); stream_impl = (iis_stream_impl_t *) stream; if (stream_impl->cur_pos == 0) stream_impl->cur_position = stream_impl->lpECB->lpbData; /* If this is the case all the bytes are in the lpECB->lpbData buffer*/ if (stream_impl->lpECB->cbAvailable == stream_impl->lpECB->cbTotalBytes) { /* Cannot read more than in the buffer.*/ if (count + stream_impl->cur_pos <= stream_impl->lpECB->cbAvailable) data_to_read = (unsigned) count; else data_to_read = stream_impl->lpECB->cbTotalBytes - stream_impl->cur_pos; memcpy(buffer, stream_impl->cur_position, data_to_read); temp = (char *)(stream_impl->cur_position); temp += data_to_read; stream_impl->cur_position = temp; temp = NULL; stream_impl->cur_pos += data_to_read; read_bytes = data_to_read; } else if (stream_impl->lpECB->cbAvailable == -1) { ret_val = stream_impl->lpECB->ReadClient(stream_impl->lpECB->ConnID, buffer, &read_bytes); } else if (stream_impl->lpECB->cbAvailable < stream_impl->lpECB->cbTotalBytes) { if (stream_impl->cur_pos > stream_impl->lpECB->cbAvailable) { ret_val = stream_impl->lpECB->ReadClient(stream_impl->lpECB->ConnID, buffer, &read_bytes); } else if (stream_impl->cur_pos + count > stream_impl->lpECB->cbAvailable && stream_impl->cur_pos < stream_impl->lpECB->cbAvailable) { int read_length = 0; if (count + stream_impl->cur_pos <= stream_impl->lpECB->cbAvailable) read_length = (unsigned) count; else read_length = stream_impl->lpECB->cbTotalBytes - stream_impl->cur_pos; data_to_read = stream_impl->lpECB->cbAvailable - stream_impl->cur_pos; memcpy(buffer, stream_impl->cur_position, data_to_read); read_bytes = stream_impl->cur_pos + read_length - stream_impl->lpECB->cbAvailable; temp_buff = malloc(read_bytes); if (temp_buff == NULL) return data_to_read; ret_val = stream_impl->lpECB->ReadClient(stream_impl->lpECB->ConnID, temp_buff, &read_bytes); memcpy(((char *) buffer + data_to_read), temp_buff, read_bytes); read_bytes += data_to_read; temp = (char *)(stream_impl->cur_position); temp += read_bytes; stream_impl->cur_position = temp; stream_impl->cur_pos += (unsigned) read_bytes; } else { memcpy(buffer, stream_impl->cur_position, count); temp = (char *)(stream_impl->cur_position); temp += count; stream_impl->cur_position = temp; temp = NULL; stream_impl->cur_pos += (unsigned) count; read_bytes = (int) count; } } if (ret_val == TRUE) return read_bytes; else return -1; } int AXIS2_CALL iis_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buf, size_t count) { DWORD ret_val = NO_ERROR; unsigned long bytes_sent = 0; iis_stream_impl_t *stream_impl = NULL; axis2_char_t *buffer = NULL; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); AXIS2_PARAM_CHECK(env->error, buf, AXIS2_FAILURE); stream_impl = AXIS2_INTF_TO_IMPL(stream); buffer = (axis2_char_t *) buf; bytes_sent = (unsigned) strlen(buffer); if (count <= 0) { return (int) count; } /* assume that buffer is not null terminated */ ret_val = stream_impl->lpECB->WriteClient(stream_impl->lpECB->ConnID, buffer, &bytes_sent, HSE_IO_SYNC); if (ret_val == TRUE) return (int)bytes_sent; else return -1; } int AXIS2_CALL iis_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count) { DWORD ret_val = TRUE; iis_stream_impl_t *stream_impl = NULL; void *temp_buff = NULL; int data_to_read = 0; DWORD read_bytes = (DWORD) count; char *temp = NULL; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); stream_impl = (iis_stream_impl_t *) stream; if (stream_impl->cur_pos == 0) stream_impl->cur_position = stream_impl->lpECB->lpbData; if (stream_impl->lpECB->cbAvailable == stream_impl->lpECB->cbTotalBytes) { if (count + stream_impl->cur_pos <= stream_impl->lpECB->cbAvailable) data_to_read = count; else data_to_read = stream_impl->lpECB->cbAvailable - stream_impl->cur_pos; temp = (char *)(stream_impl->cur_position); temp += data_to_read; stream_impl->cur_position = temp; temp = NULL; stream_impl->cur_pos += data_to_read; read_bytes = data_to_read; } else if (stream_impl->lpECB->cbAvailable == -1) { temp_buff = malloc(read_bytes); ret_val = stream_impl->lpECB->ReadClient(stream_impl->lpECB->ConnID, temp_buff, &read_bytes); free(temp_buff); } else if (stream_impl->lpECB->cbAvailable < stream_impl->lpECB->cbTotalBytes) { if (stream_impl->cur_pos > stream_impl->lpECB->cbAvailable) { temp_buff = malloc(read_bytes); ret_val = stream_impl->lpECB->ReadClient(stream_impl->lpECB->ConnID, temp_buff, &read_bytes); free(temp_buff); } else if (stream_impl->cur_pos + count > stream_impl->lpECB->cbAvailable && stream_impl->cur_pos < stream_impl->lpECB->cbAvailable) { data_to_read = stream_impl->lpECB->cbAvailable - stream_impl->cur_pos; read_bytes = stream_impl->cur_pos + count - stream_impl->lpECB->cbAvailable; temp_buff = malloc(read_bytes); if (temp_buff == NULL) return data_to_read; ret_val = stream_impl->lpECB->ReadClient(stream_impl->lpECB->ConnID, temp_buff, &read_bytes); read_bytes += data_to_read; free(temp_buff); } else { temp = (char *)(stream_impl->cur_position); temp += count; stream_impl->cur_position = temp; temp = NULL; stream_impl->cur_pos += count; read_bytes = count; } } if (ret_val == FALSE) { return -1; } return read_bytes; } int AXIS2_CALL iis_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env) { int ret = -1; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); return ret; } axutil_stream_type_t AXIS2_CALL iis_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); return AXIS2_INTF_TO_IMPL(stream)->stream_type; } axis2c-src-1.6.0/src/core/transport/http/server/IIS/axis2_iis_stream.h0000644000175000017500000000245711166304465026754 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef IIS_STREAM_H #define IIS_STREAM_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** brief Constructor for creating IIS stream * @return axutil_stream (IIS) */ axutil_stream_t *AXIS2_CALL axutil_stream_create_iis( const axutil_env_t * env, LPEXTENSION_CONTROL_BLOCK lpECB); #ifdef __cplusplus } #endif #endif /* IIS_STREAM_H */ axis2c-src-1.6.0/src/core/transport/http/server/Makefile.am0000644000175000017500000000011111166304465024727 0ustar00manjulamanjula00000000000000SUBDIRS=@APACHE2BUILD@ simple_axis2_server ${CGI_DIR} EXTRA_DIST=IIS CGI axis2c-src-1.6.0/src/core/transport/http/server/Makefile.in0000644000175000017500000003505011172017204024737 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = @APACHE2BUILD@ simple_axis2_server ${CGI_DIR} EXTRA_DIST = IIS CGI all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/server/simple_axis2_server/0000777000175000017500000000000011172017540026663 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/server/simple_axis2_server/Makefile.am0000644000175000017500000000301111166304465030716 0ustar00manjulamanjula00000000000000prgbindir=$(bindir) prgbin_PROGRAMS = axis2_http_server SUBDIRS = AM_CFLAGS = -g -pthread axis2_http_server_SOURCES = http_server_main.c axis2_http_server_LDADD = $(LDFLAGS) \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la \ $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description\ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deployment\ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/http/server/simple_axis2_server/Makefile.in0000644000175000017500000005116711172017204030733 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = axis2_http_server$(EXEEXT) subdir = src/core/transport/http/server/simple_axis2_server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_axis2_http_server_OBJECTS = http_server_main.$(OBJEXT) axis2_http_server_OBJECTS = $(am_axis2_http_server_OBJECTS) am__DEPENDENCIES_1 = axis2_http_server_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la \ $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la \ $(top_builddir)/neethi/src/libneethi.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(axis2_http_server_SOURCES) DIST_SOURCES = $(axis2_http_server_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(bindir) SUBDIRS = AM_CFLAGS = -g -pthread axis2_http_server_SOURCES = http_server_main.c axis2_http_server_LDADD = $(LDFLAGS) \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la \ $(top_builddir)/src/core/transport/http/receiver/libaxis2_http_receiver.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description\ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/deployment\ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/server/simple_axis2_server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/server/simple_axis2_server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done axis2_http_server$(EXEEXT): $(axis2_http_server_OBJECTS) $(axis2_http_server_DEPENDENCIES) @rm -f axis2_http_server$(EXEEXT) $(LINK) $(axis2_http_server_OBJECTS) $(axis2_http_server_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_server_main.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prgbinPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/server/simple_axis2_server/http_server_main.c0000644000175000017500000002300511166304465032404 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include axutil_env_t *system_env = NULL; axis2_transport_receiver_t *server = NULL; AXIS2_IMPORT extern int axis2_http_socket_read_timeout; AXIS2_IMPORT extern axis2_char_t *axis2_request_url_prefix; #define DEFAULT_REPO_PATH "../" /***************************** Function headers *******************************/ axutil_env_t *init_syetem_env( axutil_allocator_t * allocator, const axis2_char_t * log_file); void system_exit( axutil_env_t * env, int status); void usage( axis2_char_t * prog_name); void sig_handler( int signal); /***************************** End of function headers ************************/ axutil_env_t * init_syetem_env( axutil_allocator_t * allocator, const axis2_char_t * log_file) { axutil_error_t *error = axutil_error_create(allocator); axutil_log_t *log = axutil_log_create(allocator, NULL, log_file); /* if (!log) */ /* log = axutil_log_create_default (allocator); */ axutil_thread_pool_t *thread_pool = axutil_thread_pool_init(allocator); /* We need to init the parser in main thread before spawning child * threads */ axiom_xml_reader_init(); return axutil_env_create_with_error_log_thread_pool(allocator, error, log, thread_pool); } void system_exit( axutil_env_t * env, int status) { axutil_allocator_t *allocator = NULL; if (server) { axis2_transport_receiver_free(server, system_env); } if (env) { allocator = env->allocator; axutil_env_free(env); } /*axutil_allocator_free(allocator); */ axiom_xml_reader_cleanup(); exit(status); } int main( int argc, char *argv[]) { axutil_allocator_t *allocator = NULL; axutil_env_t *env = NULL; extern char *optarg; extern int optopt; int c; unsigned int len; int log_file_size = AXUTIL_LOG_FILE_SIZE; unsigned int file_flag = 0; axutil_log_levels_t log_level = AXIS2_LOG_LEVEL_DEBUG; const axis2_char_t *log_file = "axis2.log"; const axis2_char_t *repo_path = DEFAULT_REPO_PATH; int port = 9090; axis2_status_t status; /* Set the service URL prefix to be used. This could default to services if not set with AXIS2_REQUEST_URL_PREFIX macro at compile time */ axis2_request_url_prefix = AXIS2_REQUEST_URL_PREFIX; while ((c = AXIS2_GETOPT(argc, argv, ":p:r:ht:l:s:f:")) != -1) { switch (c) { case 'p': port = AXIS2_ATOI(optarg); break; case 'r': repo_path = optarg; break; case 't': axis2_http_socket_read_timeout = AXIS2_ATOI(optarg) * 1000; break; case 'l': log_level = AXIS2_ATOI(optarg); if (log_level < AXIS2_LOG_LEVEL_CRITICAL) log_level = AXIS2_LOG_LEVEL_CRITICAL; if (log_level > AXIS2_LOG_LEVEL_TRACE) log_level = AXIS2_LOG_LEVEL_TRACE; break; case 's': log_file_size = 1024 * 1024 * AXIS2_ATOI(optarg); break; case 'f': log_file = optarg; break; case 'h': usage(argv[0]); return 0; case ':': fprintf(stderr, "\nOption -%c requires an operand\n", optopt); usage(argv[0]); return -1; case '?': if (isprint(optopt)) fprintf(stderr, "\nUnknown option `-%c'.\n", optopt); usage(argv[0]); return -1; } } allocator = axutil_allocator_init(NULL); if (!allocator) { system_exit(NULL, -1); } env = init_syetem_env(allocator, log_file); env->log->level = log_level; env->log->size = log_file_size; axutil_error_init(); system_env = env; signal(SIGINT, sig_handler); #ifndef WIN32 signal(SIGPIPE, sig_handler); #endif AXIS2_LOG_INFO(env->log, "Starting Axis2 HTTP server...."); AXIS2_LOG_INFO(env->log, "Apache Axis2/C version in use : %s", axis2_version_string()); AXIS2_LOG_INFO(env->log, "Server port : %d", port); AXIS2_LOG_INFO(env->log, "Repo location : %s", repo_path); AXIS2_LOG_INFO(env->log, "Read Timeout : %d ms", axis2_http_socket_read_timeout); status = axutil_file_handler_access (repo_path, AXIS2_R_OK); if (status == AXIS2_SUCCESS) { len = (unsigned int)strlen (repo_path); /* We are sure that the difference lies within the unsigned int range */ if ((len >= 9) && !strcmp ((repo_path + (len - 9)), "axis2.xml")) { file_flag = 1; } } else { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "provided repo path %s does " "not exist or no permissions to read, set " "repo_path to DEFAULT_REPO_PATH", repo_path); repo_path = DEFAULT_REPO_PATH; } if (!file_flag) server = axis2_http_server_create(env, repo_path, port); else server = axis2_http_server_create_with_file (env, repo_path, port); if (!server) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Server creation failed: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); system_exit(env, -1); } printf("Started Simple Axis2 HTTP Server ...\n"); if (axis2_transport_receiver_start(server, env) == AXIS2_FAILURE) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Server start failed: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); system_exit(env, -1); } return 0; } void usage( axis2_char_t * prog_name) { fprintf(stdout, "\n Usage : %s", prog_name); fprintf(stdout, " [-p PORT]"); fprintf(stdout, " [-t TIMEOUT]"); fprintf(stdout, " [-r REPO_PATH]"); fprintf(stdout, " [-l LOG_LEVEL]"); fprintf(stdout, " [-f LOG_FILE]\n"); fprintf(stdout, " [-s LOG_FILE_SIZE]\n"); fprintf(stdout, " Options :\n"); fprintf(stdout, "\t-p PORT \t port number to use, default port is 9090\n"); fprintf(stdout, "\t-r REPO_PATH \t repository path, default is ../\n"); fprintf(stdout, "\t-t TIMEOUT\t socket read timeout, default is 30 seconds\n"); fprintf(stdout, "\t-l LOG_LEVEL\t log level, available log levels:" "\n\t\t\t 0 - critical 1 - errors 2 - warnings" "\n\t\t\t 3 - information 4 - debug 5- user 6- trace" "\n\t\t\t Default log level is 4(debug).\n"); #ifndef WIN32 fprintf(stdout, "\t-f LOG_FILE\t log file, default is $AXIS2C_HOME/logs/axis2.log" "\n\t\t\t or axis2.log in current folder if AXIS2C_HOME not set\n"); #else fprintf(stdout, "\t-f LOG_FILE\t log file, default is %%AXIS2C_HOME%%\\logs\\axis2.log" "\n\t\t\t or axis2.log in current folder if AXIS2C_HOME not set\n"); #endif fprintf(stdout, "\t-s LOG_FILE_SIZE\t Maximum log file size in mega bytes, default maximum size is 1MB.\n"); fprintf(stdout, " Help :\n\t-h \t display this help screen.\n\n"); } /** * Signal handler */ void sig_handler( int signal) { if (!system_env) { AXIS2_LOG_ERROR(system_env->log, AXIS2_LOG_SI, "Received signal %d, unable to proceed system_env is NULL ,\ system exit with -1", signal); _exit (-1); } switch (signal) { case SIGINT: { /* Use of SIGINT in Windows is valid, since we have a console application * Thus, eventhough this may a single threaded application, it does work. */ AXIS2_LOG_INFO(system_env->log, "Received signal SIGINT. Server " "shutting down"); if (server) { axis2_http_server_stop(server, system_env); } AXIS2_LOG_INFO(system_env->log, "Shutdown complete ..."); system_exit(system_env, 0); } #ifndef WIN32 case SIGPIPE: { AXIS2_LOG_INFO(system_env->log, "Received signal SIGPIPE. Client " "request serve aborted"); return; } #endif case SIGSEGV: { fprintf(stderr, "Received deadly signal SIGSEGV. Terminating\n"); _exit(-1); } } } axis2c-src-1.6.0/src/core/transport/http/server/apache2/0000777000175000017500000000000011172017540024201 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/server/apache2/mod_axis2.c0000644000175000017500000005153111166304464026242 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include "axis2_apache2_worker.h" #include #include #include #include #include #include #include #include /* Configuration structure populated by apache2.conf */ typedef struct axis2_config_rec { char *axutil_log_file; char *axis2_repo_path; axutil_log_levels_t log_level; int max_log_file_size; int axis2_global_pool_size; } axis2_config_rec_t; axis2_apache2_worker_t *axis2_worker = NULL; const axutil_env_t *axutil_env = NULL; apr_rmm_t* rmm = NULL; apr_global_mutex_t *global_mutex = NULL; /******************************Function Headers********************************/ static void *axis2_create_svr( apr_pool_t * p, server_rec * s); static const char *axis2_set_repo_path( cmd_parms * cmd, void *dummy, const char *arg); static const char *axis2_set_log_file( cmd_parms * cmd, void *dummy, const char *arg); static const char * axis2_set_max_log_file_size( cmd_parms * cmd, void *dummy, const char *arg); static const char * axis2_set_global_pool_size( cmd_parms * cmd, void * dummy, const char *arg); static const char *axis2_set_log_level( cmd_parms * cmd, void *dummy, const char *arg); static const char *axis2_set_svc_url_prefix( cmd_parms * cmd, void *dummy, const char *arg); static int axis2_handler( request_rec * req); /* Shutdown Axis2 */ apr_status_t axis2_shutdown(void *tmp); void *AXIS2_CALL axis2_module_malloc( axutil_allocator_t * allocator, size_t size); void *AXIS2_CALL axis2_module_realloc( axutil_allocator_t * allocator, void *ptr, size_t size); void AXIS2_CALL axis2_module_free( axutil_allocator_t * allocator, void *ptr); static void axis2_module_init( apr_pool_t * p, server_rec * svr_rec); static void axis2_register_hooks( apr_pool_t * p); /***************************End of Function Headers****************************/ static const command_rec axis2_cmds[] = { AP_INIT_TAKE1("Axis2RepoPath", axis2_set_repo_path, NULL, RSRC_CONF, "Axis2/C repository path"), AP_INIT_TAKE1("Axis2LogFile", axis2_set_log_file, NULL, RSRC_CONF, "Axis2/C log file name"), AP_INIT_TAKE1("Axis2LogLevel", axis2_set_log_level, NULL, RSRC_CONF, "Axis2/C log level"), AP_INIT_TAKE1("Axis2MaxLogFileSize", axis2_set_max_log_file_size, NULL, RSRC_CONF, "Axis2/C maximum log file size"), AP_INIT_TAKE1("Axis2GlobalPoolSize", axis2_set_global_pool_size, NULL, RSRC_CONF, "Axis2/C global pool size"), AP_INIT_TAKE1("Axis2ServiceURLPrefix", axis2_set_svc_url_prefix, NULL, RSRC_CONF, "Axis2/C service URL prifix"), {NULL} }; /* Dispatch list for API hooks */ module AP_MODULE_DECLARE_DATA axis2_module = { STANDARD20_MODULE_STUFF, NULL, /* create per-dir config structures */ NULL, /* merge per-dir config structures */ axis2_create_svr, /* create per-server config structures */ NULL, /* merge per-server config structures */ axis2_cmds, /* table of config file commands */ axis2_register_hooks /* register hooks */ }; static void * axis2_create_svr( apr_pool_t * p, server_rec * s) { axis2_config_rec_t *conf = apr_palloc(p, sizeof(*conf)); conf->axutil_log_file = NULL; conf->axis2_repo_path = NULL; conf->log_level = AXIS2_LOG_LEVEL_DEBUG; conf->axis2_global_pool_size = 0; conf->max_log_file_size = 1; return conf; } static const char * axis2_set_repo_path( cmd_parms * cmd, void *dummy, const char *arg) { axis2_config_rec_t *conf = NULL; const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); if (err != NULL) { return err; } conf = (axis2_config_rec_t *) ap_get_module_config(cmd->server->module_config, &axis2_module); conf->axis2_repo_path = apr_pstrdup(cmd->pool, arg); return NULL; } static const char * axis2_set_log_file( cmd_parms * cmd, void *dummy, const char *arg) { axis2_config_rec_t *conf = NULL; const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); if (err != NULL) { return err; } conf = (axis2_config_rec_t *) ap_get_module_config(cmd->server->module_config, &axis2_module); conf->axutil_log_file = apr_pstrdup(cmd->pool, arg); return NULL; } static const char * axis2_set_max_log_file_size( cmd_parms * cmd, void *dummy, const char *arg) { axis2_config_rec_t *conf = NULL; const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); if (err != NULL) { return err; } conf = (axis2_config_rec_t *) ap_get_module_config(cmd->server->module_config, &axis2_module); conf->max_log_file_size = 1024 * 1024 * atoi(arg); return NULL; } static const char * axis2_set_global_pool_size( cmd_parms * cmd, void *dummy, const char *arg) { axis2_config_rec_t *conf = NULL; const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); if (err != NULL) { return err; } conf = (axis2_config_rec_t *) ap_get_module_config(cmd->server->module_config, &axis2_module); conf->axis2_global_pool_size = 1024 * 1024 * atoi(arg); return NULL; } static const char * axis2_set_log_level( cmd_parms * cmd, void *dummy, const char *arg) { char *str; axutil_log_levels_t level = AXIS2_LOG_LEVEL_DEBUG; axis2_config_rec_t *conf = NULL; const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); if (err != NULL) { return err; } conf = (axis2_config_rec_t *) ap_get_module_config(cmd->server->module_config, &axis2_module); str = ap_getword_conf(cmd->pool, &arg); if (str) { if (!strcasecmp(str, "crit")) { level = AXIS2_LOG_LEVEL_CRITICAL; } else if (!strcasecmp(str, "error")) { level = AXIS2_LOG_LEVEL_ERROR; } else if (!strcasecmp(str, "warn")) { level = AXIS2_LOG_LEVEL_WARNING; } else if (!strcasecmp(str, "info")) { level = AXIS2_LOG_LEVEL_INFO; } else if (!strcasecmp(str, "debug")) { level = AXIS2_LOG_LEVEL_DEBUG; } else if (!strcasecmp(str, "user")) { level = AXIS2_LOG_LEVEL_USER; } else if (!strcasecmp(str, "trace")) { level = AXIS2_LOG_LEVEL_TRACE; } } conf->log_level = level; return NULL; } static const char * axis2_set_svc_url_prefix( cmd_parms * cmd, void *dummy, const char *arg) { AXIS2_IMPORT extern axis2_char_t *axis2_request_url_prefix; const char *err = ap_check_cmd_context(cmd, GLOBAL_ONLY); axis2_request_url_prefix = AXIS2_REQUEST_URL_PREFIX; if (!err) { axis2_char_t *prefix = apr_pstrdup(cmd->pool, arg); if (prefix) axis2_request_url_prefix = prefix; } return NULL; } /* The sample content handler */ static int axis2_handler( request_rec * req) { int rv = 0; axutil_env_t *thread_env = NULL; axutil_allocator_t *allocator = NULL; axutil_error_t *error = NULL; apr_allocator_t *local_allocator = NULL; apr_pool_t *local_pool = NULL; if (strcmp(req->handler, "axis2_module")) { return DECLINED; } /* Set up the read policy from the client. */ if ((rv = ap_setup_client_block(req, REQUEST_CHUNKED_DECHUNK)) != OK) { return rv; } ap_should_client_block(req); apr_allocator_create(&local_allocator); apr_pool_create_ex(&local_pool, NULL, NULL, local_allocator); /*thread_env = axutil_init_thread_env(axutil_env);*/ /*axutil_env->allocator->current_pool = (void *) req->pool; rv = AXIS2_APACHE2_WORKER_PROCESS_REQUEST(axis2_worker, axutil_env, req);*/ /* create new allocator for this request */ /*allocator = (axutil_allocator_t *) apr_palloc(req->pool, sizeof(axutil_allocator_t));*/ allocator = (axutil_allocator_t *) apr_palloc(local_pool, sizeof(axutil_allocator_t)); if (!allocator) { return HTTP_INTERNAL_SERVER_ERROR; } allocator->malloc_fn = axis2_module_malloc; allocator->realloc = axis2_module_realloc; allocator->free_fn = axis2_module_free; allocator->local_pool = (void *)local_pool; allocator->current_pool = (void *)local_pool; allocator->global_pool = axutil_env->allocator->global_pool; error = axutil_error_create(allocator); thread_env = axutil_env_create_with_error_log_thread_pool(allocator, error, axutil_env->log, axutil_env-> thread_pool); thread_env->allocator = allocator; rv = AXIS2_APACHE2_WORKER_PROCESS_REQUEST(axis2_worker, thread_env, req); if (AXIS2_CRITICAL_FAILURE == rv) { return HTTP_INTERNAL_SERVER_ERROR; } apr_pool_destroy(local_pool); apr_allocator_destroy(local_allocator); return rv; } void *AXIS2_CALL axis2_module_malloc( axutil_allocator_t * allocator, size_t size) { #if APR_HAS_SHARED_MEMORY if (rmm == allocator->current_pool) { void* ptr = NULL; apr_rmm_off_t offset; apr_global_mutex_lock(global_mutex); offset = apr_rmm_malloc(rmm, size); if (offset) ptr = apr_rmm_addr_get(rmm, offset); apr_global_mutex_unlock(global_mutex); return ptr; } #endif return apr_palloc((apr_pool_t *) (allocator->current_pool), size); } void *AXIS2_CALL axis2_module_realloc( axutil_allocator_t * allocator, void *ptr, size_t size) { #if APR_HAS_SHARED_MEMORY if (rmm == allocator->current_pool) { void* ptr = NULL; apr_rmm_off_t offset; apr_global_mutex_lock(global_mutex); offset = apr_rmm_realloc(rmm, ptr, size); if (offset) ptr = apr_rmm_addr_get(rmm, offset); apr_global_mutex_unlock(global_mutex); return ptr; } #endif /* can't be easily implemented */ return NULL; } void AXIS2_CALL axis2_module_free( axutil_allocator_t * allocator, void *ptr) { #if APR_HAS_SHARED_MEMORY if (rmm == allocator->current_pool) { apr_rmm_off_t offset; apr_global_mutex_lock(global_mutex); offset = apr_rmm_offset_get(rmm, ptr); apr_rmm_free(rmm, offset); apr_global_mutex_unlock(global_mutex); } #endif } static int axis2_post_config(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t *ptemp, server_rec *svr_rec) { apr_status_t status = APR_SUCCESS; axutil_allocator_t *allocator = NULL; axutil_error_t *error = NULL; axutil_log_t *axutil_logger = NULL; axutil_thread_pool_t *thread_pool = NULL; void *data = NULL; const char *userdata_key = "axis2_init"; axis2_config_rec_t *conf = (axis2_config_rec_t *) ap_get_module_config(svr_rec->module_config, &axis2_module); /* axis2_post_config() will be called twice. Don't bother * going through all of the initialization on the first call * because it will just be thrown away.*/ ap_add_version_component(pconf, AXIS2_HTTP_HEADER_SERVER_AXIS2C); apr_pool_userdata_get(&data, userdata_key, svr_rec->process->pool); if (!data) { apr_pool_userdata_set((const void *)1, userdata_key, apr_pool_cleanup_null, svr_rec->process->pool); return OK; } #if APR_HAS_SHARED_MEMORY if (conf->axis2_global_pool_size > 0) { apr_shm_t *shm; apr_rmm_off_t offset; status = apr_shm_create(&shm, conf->axis2_global_pool_size, NULL, pconf); if (status != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, status, svr_rec, "[Axis2] Error creating shared memory pool"); exit(APEXIT_INIT); } status = apr_rmm_init(&rmm, NULL, apr_shm_baseaddr_get(shm), conf->axis2_global_pool_size, pconf); if (status != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, status, svr_rec, "[Axis2] Error creating relocatable memory pool"); exit(APEXIT_INIT); } status = apr_global_mutex_create(&global_mutex, NULL, APR_LOCK_DEFAULT, pconf); if (status != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, status, svr_rec, "[Axis2] Error creating global mutex"); exit(APEXIT_INIT); } /*status = unixd_set_global_mutex_perms(global_mutex); if (status != APR_SUCCESS) { ap_log_error(APLOG_MARK, APLOG_EMERG, status, svr_rec, "[Axis2] Permision cannot be set to global mutex"); exit(APEXIT_INIT); } */ offset = apr_rmm_malloc(rmm, sizeof(axutil_allocator_t)); if (!offset) { ap_log_error(APLOG_MARK, APLOG_EMERG, status, svr_rec, "[Axis2] Error in creating allocator in global pool"); exit(APEXIT_INIT); } allocator = apr_rmm_addr_get(rmm, offset); allocator->malloc_fn = axis2_module_malloc; allocator->realloc = axis2_module_realloc; allocator->free_fn = axis2_module_free; allocator->local_pool = (void *) rmm; allocator->current_pool = (void *) rmm; allocator->global_pool = (void *) rmm; /* We need to init xml readers before we go into threaded env */ axiom_xml_reader_init(); axutil_error_init(); error = axutil_error_create(allocator); if (!error) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 error structure"); exit(APEXIT_CHILDFATAL); } axutil_logger = axutil_log_create(allocator, NULL, conf->axutil_log_file); if (!axutil_logger) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 log structure"); exit(APEXIT_CHILDFATAL); } thread_pool = axutil_thread_pool_init(allocator); if (!thread_pool) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error initializing mod_axis2 thread pool"); exit(APEXIT_CHILDFATAL); } axutil_env = axutil_env_create_with_error_log_thread_pool(allocator, error, axutil_logger, thread_pool); if (!axutil_env) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 environment"); exit(APEXIT_CHILDFATAL); } if (axutil_logger) { axutil_logger->level = conf->log_level; axutil_logger->size = conf->max_log_file_size; AXIS2_LOG_INFO(axutil_env->log, "Apache Axis2/C version in use : %s", axis2_version_string()); AXIS2_LOG_INFO(axutil_env->log, "Starting log with log level %d and max log file size %d", conf->log_level, conf->max_log_file_size); } axis2_worker = axis2_apache2_worker_create(axutil_env, conf->axis2_repo_path); if (!axis2_worker) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 apache2 worker"); exit(APEXIT_CHILDFATAL); } } #endif return OK; } static void axis2_module_init( apr_pool_t * p, server_rec * svr_rec) { apr_pool_t *pool; apr_status_t status; axutil_allocator_t *allocator = NULL; axutil_error_t *error = NULL; axutil_log_t *axutil_logger = NULL; axutil_thread_pool_t *thread_pool = NULL; axis2_config_rec_t *conf = (axis2_config_rec_t*)ap_get_module_config( svr_rec->module_config, &axis2_module); if (conf->axis2_global_pool_size > 0) { /* If we are using shared memory, no need to init the child, as the worker has been created in post config. */ return; } /* We need to init xml readers before we go into threaded env */ axiom_xml_reader_init(); /* create an allocator that uses APR memory pools and lasts the * lifetime of the httpd server child process */ status = apr_pool_create(&pool, p); if (status) { ap_log_error(APLOG_MARK, APLOG_EMERG, status, svr_rec, "[Axis2] Error allocating mod_axis2 memory pool"); exit(APEXIT_CHILDFATAL); } allocator = (axutil_allocator_t*) apr_palloc(pool, sizeof(axutil_allocator_t)); if (! allocator) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_ENOMEM, svr_rec, "[Axis2] Error allocating mod_axis2 allocator"); exit(APEXIT_CHILDFATAL); } allocator->malloc_fn = axis2_module_malloc; allocator->realloc = axis2_module_realloc; allocator->free_fn = axis2_module_free; allocator->local_pool = (void*) pool; allocator->current_pool = (void*) pool; allocator->global_pool = (void*) pool; if (! allocator) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error initializing mod_axis2 allocator"); exit(APEXIT_CHILDFATAL); } axutil_error_init(); error = axutil_error_create(allocator); if (! error) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 error structure"); exit(APEXIT_CHILDFATAL); } axutil_logger = axutil_log_create(allocator, NULL, conf->axutil_log_file); if (! axutil_logger) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 log structure"); exit(APEXIT_CHILDFATAL); } thread_pool = axutil_thread_pool_init(allocator); if (! thread_pool) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error initializing mod_axis2 thread pool"); exit(APEXIT_CHILDFATAL); } axutil_env = axutil_env_create_with_error_log_thread_pool(allocator, error, axutil_logger, thread_pool); if (! axutil_env) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 environment"); exit(APEXIT_CHILDFATAL); } if (axutil_logger) { axutil_logger->level = conf->log_level; AXIS2_LOG_INFO(axutil_env->log, "Apache Axis2/C version in use : %s", axis2_version_string()); AXIS2_LOG_INFO(axutil_env->log, "Starting log with log level %d", conf->log_level); } axis2_worker = axis2_apache2_worker_create(axutil_env, conf->axis2_repo_path); if (! axis2_worker) { ap_log_error(APLOG_MARK, APLOG_EMERG, APR_EGENERAL, svr_rec, "[Axis2] Error creating mod_axis2 apache2 worker"); exit(APEXIT_CHILDFATAL); } /* If we are initialized we register a clean up as well */ /* apr_pool_cleanup_register(p, NULL, axis2_shutdown, apr_pool_cleanup_null);*/ } static void axis2_register_hooks( apr_pool_t * p) { ap_hook_post_config(axis2_post_config, NULL, NULL, APR_HOOK_MIDDLE); ap_hook_handler(axis2_handler, NULL, NULL, APR_HOOK_MIDDLE); ap_hook_child_init(axis2_module_init, NULL, NULL, APR_HOOK_MIDDLE); } apr_status_t axis2_shutdown(void *tmp) { if (axis2_worker) { axis2_apache2_worker_free(axis2_worker, axutil_env); } return APR_SUCCESS; } axis2c-src-1.6.0/src/core/transport/http/server/apache2/axis2_apache2_worker.h0000644000175000017500000000430211166304464030356 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_APACHE2_WORKER_H #define AXIS2_APACHE2_WORKER_H /** * @brief Apache2 Worker ops struct * Encapsulator struct for ops of axis2_apache2_worker */ /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_apache2_worker.h * @brief axis2 Apache2 Worker */ #include #include #include #include #include "apache2_stream.h" #ifdef __cplusplus extern "C" { #endif typedef struct axis2_apache2_worker axis2_apache2_worker_t; AXIS2_EXTERN int AXIS2_CALL axis2_apache2_worker_process_request( axis2_apache2_worker_t * apache2_worker, const axutil_env_t * env, request_rec * r); AXIS2_EXTERN void AXIS2_CALL axis2_apache2_worker_free( axis2_apache2_worker_t * apache2_worker, const axutil_env_t * env); AXIS2_EXTERN axis2_apache2_worker_t *AXIS2_CALL axis2_apache2_worker_create( const axutil_env_t * env, axis2_char_t * repo_path); #define AXIS2_APACHE2_WORKER_PROCESS_REQUEST(apache2_worker, env, request) \ axis2_apache2_worker_process_request(\ apache2_worker, env, request) #define AXIS2_APACHE2_WORKER_FREE(apache2_worker, env) \ axis2_apache2_worker_free(apache2_worker, env) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_APACHE2_WORKER_H */ axis2c-src-1.6.0/src/core/transport/http/server/apache2/apache2_worker.c0000644000175000017500000016730411166304464027257 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_apache2_worker.h" #include #include #include #include #include #include #include #include #include #include #include #include "axis2_apache2_out_transport_info.h" #include #include #include #include #include #include #include #include #define READ_SIZE 2048 static axis2_status_t apache2_worker_send_mtom_message( request_rec *request, const axutil_env_t * env, axutil_array_list_t *mime_parts, axis2_char_t *mtom_sending_callback_name); static axis2_status_t apache2_worker_send_attachment_using_file( const axutil_env_t * env, request_rec *request, FILE *fp, axis2_byte_t *buffer, int buffer_size); static axis2_status_t apache2_worker_send_attachment_using_callback( const axutil_env_t * env, request_rec *request, axiom_mtom_sending_callback_t *callback, void *handler, void *user_param); struct axis2_apache2_worker { axis2_conf_ctx_t *conf_ctx; }; AXIS2_EXTERN axis2_apache2_worker_t *AXIS2_CALL axis2_apache2_worker_create( const axutil_env_t * env, axis2_char_t * repo_path) { axis2_apache2_worker_t *apache2_worker = NULL; axutil_hash_t* svc_map = NULL; axis2_conf_t* conf = NULL; axutil_hash_index_t *hi = NULL; void* svc = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_LOG_INFO(env->log,"[Axis2] Axis2 worker created"); apache2_worker = (axis2_apache2_worker_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_apache2_worker_t)); if (!apache2_worker) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } apache2_worker->conf_ctx = axis2_build_conf_ctx(env, repo_path); if (!apache2_worker->conf_ctx) { axis2_apache2_worker_free((axis2_apache2_worker_t *) apache2_worker, env); return NULL; } /* * we have to load all the services. This is because, before the fork (in linux) * we should have a full code segment. Otherwise, we can't share function pointers of services * between processed. In fork, the code segment will be duplicated across processes */ conf = axis2_conf_ctx_get_conf(apache2_worker->conf_ctx, env); if (!conf) { axis2_apache2_worker_free((axis2_apache2_worker_t *) apache2_worker, env); return NULL; } svc_map = axis2_conf_get_all_svcs(conf, env); if (!svc_map) { axis2_apache2_worker_free((axis2_apache2_worker_t *) apache2_worker, env); return NULL; } for (hi = axutil_hash_first(svc_map, env); hi; hi = axutil_hash_next(env, hi)) { void *impl_class = NULL; axis2_msg_recv_t *msg_recv = NULL; axutil_hash_t *ops_hash = NULL; axutil_hash_this(hi, NULL, NULL, &svc); if (!svc) continue; impl_class = axis2_svc_get_impl_class(svc, env); if (impl_class) continue; ops_hash = axis2_svc_get_all_ops(svc, env); if(ops_hash) { axutil_hash_index_t *op_hi = NULL; void *op = NULL; op_hi = axutil_hash_first(ops_hash, env); if(op_hi) { axutil_hash_this(op_hi, NULL, NULL, &op); if(op) { msg_recv = axis2_op_get_msg_recv(op,env); if(msg_recv) axis2_msg_recv_load_and_init_svc(msg_recv, env, svc); } } } } AXIS2_LOG_INFO(env->log,"[Axis2] Axis2 worker created"); return apache2_worker; } AXIS2_EXTERN void AXIS2_CALL axis2_apache2_worker_free( axis2_apache2_worker_t * apache2_worker, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (apache2_worker->conf_ctx) { axis2_conf_ctx_free(apache2_worker->conf_ctx, env); apache2_worker->conf_ctx = NULL; } AXIS2_FREE(env->allocator, apache2_worker); return; } AXIS2_EXTERN int AXIS2_CALL axis2_apache2_worker_process_request( axis2_apache2_worker_t * apache2_worker, const axutil_env_t * env, request_rec * request) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_msg_ctx_t *msg_ctx = NULL; axutil_stream_t *request_body = NULL; axutil_stream_t *out_stream = NULL; axis2_transport_out_desc_t *out_desc = NULL; axis2_transport_in_desc_t *in_desc = NULL; axis2_char_t *http_version = NULL; axutil_string_t *soap_action = NULL; axis2_char_t *soap_action_header_txt = NULL; axis2_bool_t processed = AXIS2_FALSE; int content_length = -1; axis2_char_t *url_external_form = NULL; axis2_char_t *body_string = NULL; unsigned int body_string_len = 0; int send_status = DECLINED; axis2_char_t *content_type = NULL; axis2_http_out_transport_info_t *apache2_out_transport_info = NULL; axis2_char_t *ctx_uuid = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_char_t *peer_ip = NULL; axutil_property_t *peer_property = NULL; axutil_url_t *request_url = NULL; axis2_char_t *accept_header_value = NULL; axis2_char_t *accept_charset_header_value = NULL; axis2_char_t *accept_language_header_value = NULL; axis2_char_t *content_language_header_value = NULL; axis2_bool_t do_mtom = AXIS2_FALSE; axutil_array_list_t *mime_parts = NULL; axutil_param_t *callback_name_param = NULL; axis2_char_t *mtom_sending_callback_name = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); AXIS2_PARAM_CHECK(env->error, request, AXIS2_CRITICAL_FAILURE); conf_ctx = apache2_worker->conf_ctx; if (!conf_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT, AXIS2_FAILURE); return AXIS2_CRITICAL_FAILURE; } content_length = (int)request->remaining; /* We are sure that the difference lies within the int range */ http_version = request->protocol; request_url = axutil_url_create(env, "http", request->hostname, request->parsed_uri.port, request->unparsed_uri); if (request_url) { url_external_form = axutil_url_to_external_form(request_url, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, url_external_form); axutil_url_free(request_url, env); request_url = NULL; } else { send_status = OK; request->status = HTTP_BAD_REQUEST; return send_status; } content_type = (axis2_char_t *) apr_table_get(request->headers_in, AXIS2_HTTP_HEADER_CONTENT_TYPE); if (!content_type) { content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN; } request->content_type = content_type; out_desc = axis2_conf_get_transport_out(axis2_conf_ctx_get_conf (apache2_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); in_desc = axis2_conf_get_transport_in(axis2_conf_ctx_get_conf (apache2_worker->conf_ctx, env), env, AXIS2_TRANSPORT_ENUM_HTTP); msg_ctx = axis2_msg_ctx_create(env, conf_ctx, in_desc, out_desc); axis2_msg_ctx_set_server_side(msg_ctx, env, AXIS2_TRUE); if (request->read_chunked == AXIS2_TRUE && 0 == content_length) { content_length = -1; request->chunked = 1; } if (!http_version) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_HTTP_VERSION, AXIS2_FAILURE); return AXIS2_CRITICAL_FAILURE; } out_stream = axutil_stream_create_basic(env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Client HTTP version %s", http_version); peer_ip = request->connection->remote_ip; if (peer_ip) { peer_property = axutil_property_create(env); axutil_property_set_value(peer_property, env, axutil_strdup(env, peer_ip)); axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_SVR_PEER_IP_ADDR, peer_property); } axis2_msg_ctx_set_transport_out_stream(msg_ctx, env, out_stream); ctx_uuid = axutil_uuid_gen(env); if (ctx_uuid) { axutil_string_t *uuid_str = axutil_string_create_assume_ownership(env, &ctx_uuid); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, uuid_str); axutil_string_free(uuid_str, env); } apache2_out_transport_info = axis2_apache2_out_transport_info_create(env, request); axis2_msg_ctx_set_out_transport_info(msg_ctx, env, &(apache2_out_transport_info->out_transport)); accept_header_value = (axis2_char_t *) apr_table_get(request->headers_in, AXIS2_HTTP_HEADER_ACCEPT); if (accept_header_value) { axutil_array_list_t *accept_header_field_list = NULL; axutil_array_list_t *accept_record_list = NULL; accept_header_field_list = axutil_tokenize(env, accept_header_value, ','); if (accept_header_field_list && axutil_array_list_size(accept_header_field_list, env) > 0) { axis2_char_t *token = NULL; accept_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_header_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_record_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *) axutil_array_list_remove(accept_header_field_list, env, 0); } while(token); } if (accept_record_list && axutil_array_list_size(accept_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_record_list(msg_ctx, env, accept_record_list); } } accept_charset_header_value = (axis2_char_t *) apr_table_get(request->headers_in, AXIS2_HTTP_HEADER_ACCEPT_CHARSET); if (accept_charset_header_value) { axutil_array_list_t *accept_charset_header_field_list = NULL; axutil_array_list_t *accept_charset_record_list = NULL; accept_charset_header_field_list = axutil_tokenize(env, accept_charset_header_value, ','); if (accept_charset_header_field_list && axutil_array_list_size(accept_charset_header_field_list, env) > 0) { axis2_char_t *token = NULL; accept_charset_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_charset_header_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_charset_record_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *) axutil_array_list_remove(accept_charset_header_field_list, env, 0); } while(token); } if (accept_charset_record_list && axutil_array_list_size(accept_charset_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_charset_record_list(msg_ctx, env, accept_charset_record_list); } } accept_language_header_value = (axis2_char_t *) apr_table_get(request->headers_in, AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE); if (accept_language_header_value) { axutil_array_list_t *accept_language_header_field_list = NULL; axutil_array_list_t *accept_language_record_list = NULL; accept_language_header_field_list = axutil_tokenize(env, accept_language_header_value, ','); if (accept_language_header_field_list && axutil_array_list_size(accept_language_header_field_list, env) > 0) { axis2_char_t *token = NULL; accept_language_record_list = axutil_array_list_create(env, axutil_array_list_size(accept_language_header_field_list, env)); do { if (token) { axis2_http_accept_record_t *rec = NULL; rec = axis2_http_accept_record_create(env, token); if (rec) { axutil_array_list_add(accept_language_record_list, env, rec); } AXIS2_FREE(env->allocator, token); } token = (axis2_char_t *) axutil_array_list_remove(accept_language_header_field_list, env, 0); } while(token); } if (accept_language_record_list && axutil_array_list_size(accept_language_record_list, env) > 0) { axis2_msg_ctx_set_http_accept_language_record_list(msg_ctx, env, accept_language_record_list); } } soap_action_header_txt = (axis2_char_t *) apr_table_get(request->headers_in,AXIS2_HTTP_HEADER_SOAP_ACTION); if(soap_action_header_txt){ soap_action = axutil_string_create(env, soap_action_header_txt); } request_body = axutil_stream_create_apache2(env, request); if (!request_body) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error occured in" " creating input stream."); return AXIS2_CRITICAL_FAILURE; } if (M_GET == request->method_number || M_DELETE == request->method_number) { if (M_DELETE == request->method_number) { processed = axis2_http_transport_utils_process_http_delete_request (env, msg_ctx, request_body, out_stream, content_type, soap_action, url_external_form, conf_ctx, axis2_http_transport_utils_get_request_params(env, (axis2_char_t *) url_external_form)); } else if (request->header_only) { processed = axis2_http_transport_utils_process_http_head_request (env, msg_ctx, request_body, out_stream, content_type, soap_action, url_external_form, conf_ctx, axis2_http_transport_utils_get_request_params(env, (axis2_char_t *) url_external_form)); } else { processed = axis2_http_transport_utils_process_http_get_request (env, msg_ctx, request_body, out_stream, content_type, soap_action, url_external_form, conf_ctx, axis2_http_transport_utils_get_request_params(env, (axis2_char_t *) url_external_form)); } if (AXIS2_FALSE == processed) { axis2_char_t *wsdl = NULL; axis2_bool_t is_services_path = AXIS2_FALSE; if (M_DELETE != request->method_number) { axis2_char_t *temp = NULL; temp = strstr(url_external_form, AXIS2_REQUEST_URL_PREFIX); if (temp) { temp += strlen(AXIS2_REQUEST_URL_PREFIX); if (*temp == '/') { temp++; } if (!*temp || *temp == '?' || *temp == '#') { is_services_path = AXIS2_TRUE; } } } wsdl = strstr(url_external_form, AXIS2_REQUEST_WSDL); if (is_services_path) { body_string = axis2_http_transport_utils_get_services_html(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; } else if (M_DELETE != request->method_number && wsdl) { body_string = axis2_http_transport_utils_get_services_static_wsdl(env, conf_ctx, (axis2_char_t *) url_external_form); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML; } else if (env->error->error_number == AXIS2_ERROR_SVC_OR_OP_NOT_FOUND) { axutil_array_list_t *method_list = NULL; int size = 0; method_list = axis2_msg_ctx_get_supported_rest_http_methods(msg_ctx, env); size = axutil_array_list_size(method_list, env); if (method_list && size) { axis2_char_t *method_list_str = NULL; axis2_char_t *temp; int i = 0; method_list_str = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 29); temp = method_list_str; request->allowed_methods->method_mask = 0; for (i = 0; i < size; i++) { if (i) { sprintf(temp, ", "); temp += 2; } sprintf(temp, "%s", (axis2_char_t *) axutil_array_list_get(method_list, env, i)); temp += strlen(temp); /* Conditions below is to assist down-stream modules */ if (!strcasecmp(AXIS2_HTTP_PUT, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_PUT; } else if (!strcasecmp(AXIS2_HTTP_POST, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_POST; } else if (!strcasecmp(AXIS2_HTTP_GET, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_GET; } else if (!strcasecmp(AXIS2_HTTP_HEAD, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { /* Apache Can't differentiate between HEAD and GET */ request->allowed_methods->method_mask |= AP_METHOD_BIT << M_GET; } else if (!strcasecmp(AXIS2_HTTP_DELETE, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_DELETE; } } *temp = '\0'; apr_table_set(request->err_headers_out, AXIS2_HTTP_HEADER_ALLOW, method_list_str); AXIS2_FREE(env->allocator, method_list_str); body_string = axis2_http_transport_utils_get_method_not_allowed(env, conf_ctx); request->status = HTTP_METHOD_NOT_ALLOWED; } else { body_string = axis2_http_transport_utils_get_not_found(env, conf_ctx); request->status = HTTP_NOT_FOUND; } request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL) { body_string = axis2_http_transport_utils_get_bad_request(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_BAD_REQUEST; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL) { body_string = axis2_http_transport_utils_get_request_timeout(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_REQUEST_TIME_OUT; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL) { body_string = axis2_http_transport_utils_get_conflict(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_CONFLICT; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_GONE_CODE_VAL) { body_string = axis2_http_transport_utils_get_gone(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_GONE; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL) { body_string = axis2_http_transport_utils_get_precondition_failed(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_PRECONDITION_FAILED; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL) { body_string = axis2_http_transport_utils_get_request_entity_too_large(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_REQUEST_ENTITY_TOO_LARGE; } else if (axis2_msg_ctx_get_status_code(msg_ctx, env) == AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL) { body_string = axis2_http_transport_utils_get_service_unavailable(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_SERVICE_UNAVAILABLE; } else { body_string = axis2_http_transport_utils_get_internal_server_error(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_INTERNAL_SERVER_ERROR; } if (body_string) { body_string_len = axutil_strlen(body_string); } send_status = OK; } } else if (M_POST == request->method_number || M_PUT == request->method_number) { /*axis2_status_t status = AXIS2_FAILURE;*/ if (M_POST == request->method_number) { status = axis2_http_transport_utils_process_http_post_request (env, msg_ctx, request_body, out_stream, content_type, content_length, soap_action, (axis2_char_t *) url_external_form); } else { status = axis2_http_transport_utils_process_http_put_request (env, msg_ctx, request_body, out_stream, content_type, content_length, soap_action, (axis2_char_t *) url_external_form); } if (AXIS2_FAILURE == status && (M_PUT == request->method_number || axis2_msg_ctx_get_doing_rest(msg_ctx, env))) { if (env->error->error_number == AXIS2_ERROR_SVC_OR_OP_NOT_FOUND) { axutil_array_list_t *method_list = NULL; int size = 0; method_list = axis2_msg_ctx_get_supported_rest_http_methods(msg_ctx, env); size = axutil_array_list_size(method_list, env); if (method_list && size) { axis2_char_t *method_list_str = NULL; axis2_char_t *temp; int i = 0; method_list_str = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 29); temp = method_list_str; request->allowed_methods->method_mask = 0; for (i = 0; i < size; i++) { if (i) { sprintf(temp, ", "); temp += 2; } sprintf(temp, "%s", (axis2_char_t *) axutil_array_list_get(method_list, env, i)); temp += strlen(temp); /* Conditions below is to assist down-stream modules */ if (!strcasecmp(AXIS2_HTTP_PUT, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_PUT; } else if (!strcasecmp(AXIS2_HTTP_POST, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_POST; } else if (!strcasecmp(AXIS2_HTTP_GET, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_GET; } else if (!strcasecmp(AXIS2_HTTP_HEAD, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { /* Apache Can't differentiate between HEAD and GET */ request->allowed_methods->method_mask |= AP_METHOD_BIT << M_GET; } else if (!strcasecmp(AXIS2_HTTP_DELETE, (axis2_char_t *) axutil_array_list_get(method_list, env, i))) { request->allowed_methods->method_mask |= AP_METHOD_BIT << M_DELETE; } } *temp = '\0'; apr_table_set(request->err_headers_out, AXIS2_HTTP_HEADER_ALLOW, method_list_str); AXIS2_FREE(env->allocator, method_list_str); body_string = axis2_http_transport_utils_get_method_not_allowed(env, conf_ctx); request->status = HTTP_METHOD_NOT_ALLOWED; } else { body_string = axis2_http_transport_utils_get_not_found(env, conf_ctx); request->status = HTTP_NOT_FOUND; } request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; } else { body_string = axis2_http_transport_utils_get_internal_server_error(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; request->status = HTTP_INTERNAL_SERVER_ERROR; } if (body_string) { body_string_len = axutil_strlen(body_string); } send_status = OK; } else if (status == AXIS2_FAILURE) { axis2_msg_ctx_t *fault_ctx = NULL; axis2_char_t *fault_code = NULL; axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); if (!engine) { /* Critical error, cannot proceed, Apache will send default document for 500 */ return AXIS2_CRITICAL_FAILURE; } if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP11_FAULT_CODE_SENDER; } else { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP12_SOAP_FAULT_VALUE_SENDER; } fault_ctx = axis2_engine_create_fault_msg_ctx(engine, env, msg_ctx, fault_code, axutil_error_get_message (env->error)); axis2_engine_send_fault(engine, env, fault_ctx); if (out_stream) { body_string = axutil_stream_get_buffer(out_stream, env); body_string_len = axutil_stream_get_len(out_stream, env); } /* In case of a SOAP Fault, we have to set the status to 500, but still return OK because the module has handled the error */ send_status = OK; request->status = HTTP_INTERNAL_SERVER_ERROR; } } else { body_string = axis2_http_transport_utils_get_not_implemented(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (body_string) { body_string_len = axutil_strlen(body_string); } send_status = OK; request->status = HTTP_NOT_IMPLEMENTED; } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; if (out_msg_ctx) { content_language_header_value = axis2_msg_ctx_get_content_language(out_msg_ctx, env); } } if (send_status == DECLINED) { axis2_bool_t do_rest = AXIS2_FALSE; if (M_POST != request->method_number || axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { do_rest = AXIS2_TRUE; } if ((accept_header_value || accept_charset_header_value || accept_language_header_value) && do_rest) { axis2_char_t *content_type_header_value = NULL; axis2_char_t *temp = NULL; axis2_char_t *language_header_value = NULL; content_type_header_value = (axis2_char_t *) request->content_type; language_header_value = content_language_header_value; if (content_type_header_value) { temp = axutil_strdup(env, content_type_header_value); } if (temp) { axis2_char_t *content_type = NULL; axis2_char_t *char_set = NULL; axis2_char_t *temp2 = NULL; temp2 = strchr(temp, ';'); if (temp2) { *temp2 = '\0'; temp2++; char_set = axutil_strcasestr(temp2, AXIS2_HTTP_CHAR_SET_ENCODING); } if (char_set) { char_set = axutil_strltrim(env, char_set, " \t="); } if (char_set) { temp2 = strchr(char_set, ';'); } if (temp2) { *temp2 = '\0'; } content_type = axutil_strtrim(env, temp, NULL); if (temp) { AXIS2_FREE(env->allocator, temp); temp = NULL; } if (content_type && accept_header_value && !axutil_strcasestr(accept_header_value, content_type)) { temp2 = strchr(content_type, '/'); if (temp2) { *temp2 = '\0'; temp = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ((int)strlen(content_type) + 3)); if (!temp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FALSE; } sprintf(temp, "%s/*", content_type); if (!axutil_strcasestr(accept_header_value, temp) && !strstr(accept_header_value, AXIS2_HTTP_HEADER_ACCEPT_ALL)) { body_string = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (body_string) { body_string_len = axutil_strlen(body_string); } send_status = OK; request->status = HTTP_NOT_ACCEPTABLE; } AXIS2_FREE(env->allocator, temp); } } if (content_type) { AXIS2_FREE(env->allocator, content_type); } if (char_set && accept_charset_header_value && !axutil_strcasestr(accept_charset_header_value, char_set)) { body_string = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (body_string) { body_string_len = axutil_strlen(body_string); } send_status = OK; request->status = HTTP_NOT_ACCEPTABLE; } if (char_set) { AXIS2_FREE(env->allocator, char_set); } } if (language_header_value) { if (accept_language_header_value && !axutil_strcasestr(accept_language_header_value, language_header_value)) { body_string = axis2_http_transport_utils_get_not_acceptable(env, conf_ctx); request->content_type = AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML; if (body_string) { body_string_len = axutil_strlen(body_string); } send_status = OK; request->status = HTTP_NOT_ACCEPTABLE; } } } } if (send_status == DECLINED) { axis2_bool_t do_rest = AXIS2_FALSE; if (M_POST != request->method_number || axis2_msg_ctx_get_doing_rest(msg_ctx, env)) { do_rest = AXIS2_TRUE; } if (op_ctx && axis2_op_ctx_get_response_written(op_ctx, env)) { if (do_rest) { axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; if (in_msg_ctx) { /* TODO: Add necessary handling */ } if (out_msg_ctx) { int size = 0; axutil_array_list_t *output_header_list = NULL; output_header_list = axis2_msg_ctx_get_http_output_headers(out_msg_ctx, env); if (output_header_list) { size = axutil_array_list_size(output_header_list, env); } while (size) { axis2_http_header_t *output_header = NULL; size--; output_header = (axis2_http_header_t *) axutil_array_list_get(output_header_list, env, size); apr_table_set(request->err_headers_out, axis2_http_header_get_name(output_header, env), axis2_http_header_get_value(output_header, env)); } if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); switch (status_code) { case AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL: request->status = HTTP_CONTINUE; break; case AXIS2_HTTP_RESPONSE_ACK_CODE_VAL: request->status = HTTP_ACCEPTED; break; case AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL: request->status = HTTP_MULTIPLE_CHOICES; break; case AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL: request->status = HTTP_MOVED_PERMANENTLY; break; case AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL: request->status = HTTP_SEE_OTHER; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: request->status = HTTP_NOT_MODIFIED; break; case AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL: request->status = HTTP_TEMPORARY_REDIRECT; break; case AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL: request->status = HTTP_BAD_REQUEST; break; case AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL: request->status = HTTP_REQUEST_TIME_OUT; break; case AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL: request->status = HTTP_CONFLICT; break; case AXIS2_HTTP_RESPONSE_GONE_CODE_VAL: request->status = HTTP_GONE; break; case AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL: request->status = HTTP_PRECONDITION_FAILED; break; case AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL: request->status = HTTP_REQUEST_ENTITY_TOO_LARGE; break; case AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL: request->status = HTTP_SERVICE_UNAVAILABLE; break; default: request->status = HTTP_OK; break; } send_status = DONE; } } } if (send_status == DECLINED) { send_status = OK; if (out_stream) { body_string = axutil_stream_get_buffer(out_stream, env); body_string_len = axutil_stream_get_len(out_stream, env); } } } else if (op_ctx) { if (do_rest) { axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; if (in_msg_ctx) { /* TODO: Add necessary handling */ } if (out_msg_ctx) { int size = 0; axutil_array_list_t *output_header_list = NULL; output_header_list = axis2_msg_ctx_get_http_output_headers(out_msg_ctx, env); if (output_header_list) { size = axutil_array_list_size(output_header_list, env); } while (size) { axis2_http_header_t *output_header = NULL; size--; output_header = (axis2_http_header_t *) axutil_array_list_get(output_header_list, env, size); apr_table_set(request->err_headers_out, axis2_http_header_get_name(output_header, env), axis2_http_header_get_value(output_header, env)); } if (axis2_msg_ctx_get_no_content(out_msg_ctx, env)) { if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); switch (status_code) { case AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL: request->status = HTTP_RESET_CONTENT; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: request->status = HTTP_NOT_MODIFIED; break; default: request->status = HTTP_NO_CONTENT; break; } } else { request->status = HTTP_NO_CONTENT; } send_status = DONE; } else if (axis2_msg_ctx_get_status_code(out_msg_ctx, env)) { int status_code = axis2_msg_ctx_get_status_code(out_msg_ctx, env); switch (status_code) { case AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL: request->status = HTTP_CONTINUE; break; case AXIS2_HTTP_RESPONSE_OK_CODE_VAL: request->status = HTTP_OK; break; case AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL: request->status = HTTP_MULTIPLE_CHOICES; break; case AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL: request->status = HTTP_MOVED_PERMANENTLY; break; case AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL: request->status = HTTP_SEE_OTHER; break; case AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL: request->status = HTTP_NOT_MODIFIED; break; case AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL: request->status = HTTP_TEMPORARY_REDIRECT; break; case AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL: request->status = HTTP_BAD_REQUEST; break; case AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL: request->status = HTTP_REQUEST_TIME_OUT; break; case AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL: request->status = HTTP_CONFLICT; break; case AXIS2_HTTP_RESPONSE_GONE_CODE_VAL: request->status = HTTP_GONE; break; case AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL: request->status = HTTP_PRECONDITION_FAILED; break; case AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL: request->status = HTTP_REQUEST_ENTITY_TOO_LARGE; break; case AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL: request->status = HTTP_SERVICE_UNAVAILABLE; break; default: request->status = HTTP_ACCEPTED; break; } send_status = DONE; } } } if (send_status == DECLINED) { request->status = HTTP_ACCEPTED; send_status = DONE; } } else { send_status = DONE; request->status = HTTP_ACCEPTED; } } if (content_language_header_value) { apr_table_set(request->err_headers_out, AXIS2_HTTP_HEADER_CONTENT_LANGUAGE, content_language_header_value); } if (op_ctx) { axis2_msg_ctx_t *out_msg_ctx = NULL, *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; axis2_char_t *msg_id = NULL; axis2_conf_ctx_t *conf_ctx = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; /* In mtom case we send the attachment differently */ /* status = AXIS2_FAILURE means fault scenario. We are not * doing MTOM for fault cases. */ if(status != AXIS2_FAILURE) { do_mtom = axis2_msg_ctx_get_doing_mtom(out_msg_ctx, env); if(do_mtom) { mime_parts = axis2_msg_ctx_get_mime_parts(out_msg_ctx, env); if(!mime_parts) { return AXIS2_FAILURE; } callback_name_param = axis2_msg_ctx_get_parameter(msg_ctx, env , AXIS2_MTOM_SENDING_CALLBACK); if(callback_name_param) { mtom_sending_callback_name = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); } } } if (out_msg_ctx) { axis2_msg_ctx_free(out_msg_ctx, env); out_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = NULL; } if (in_msg_ctx) { msg_id = axutil_strdup(env, axis2_msg_ctx_get_msg_id(in_msg_ctx, env)); conf_ctx = axis2_msg_ctx_get_conf_ctx(in_msg_ctx, env); axis2_msg_ctx_reset_out_transport_info(in_msg_ctx, env); axis2_msg_ctx_free(in_msg_ctx, env); in_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN] = NULL; } if (!axis2_op_ctx_is_in_use(op_ctx, env)) { axis2_op_ctx_destroy_mutex(op_ctx, env); if (conf_ctx && msg_id) { axis2_conf_ctx_register_op_ctx(conf_ctx, env, msg_id, NULL); AXIS2_FREE(env->allocator, msg_id); } axis2_op_ctx_free(op_ctx, env); } } /* Done freeing message contexts */ /* We send the message in parts when doing MTOM */ if(do_mtom) { axis2_status_t mtom_status = AXIS2_FAILURE; if(!mtom_sending_callback_name) { /* If the callback name is not there, then we will check whether there * is any mime_parts which has type callback. If we found then no point * of continuing we should return a failure */ if(!mtom_sending_callback_name) { if(axis2_http_transport_utils_is_callback_required( env, mime_parts)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Sender callback not specified"); return AXIS2_FAILURE; } } } mtom_status = apache2_worker_send_mtom_message(request, env, mime_parts, mtom_sending_callback_name); if(mtom_status == AXIS2_SUCCESS) { send_status = DONE; } else { send_status = DECLINED; } axis2_http_transport_utils_destroy_mime_parts(mime_parts, env); mime_parts = NULL; } else if (body_string) { ap_rwrite(body_string, body_string_len, request); body_string = NULL; } if (request_body) { axutil_stream_free(request_body, env); request_body = NULL; } axutil_string_free(soap_action, env); msg_ctx = NULL; return send_status; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_apache2_worker_get_bytes( const axutil_env_t * env, axutil_stream_t * stream) { axutil_stream_t *tmp_stream = NULL; int return_size = -1; axis2_char_t *buffer = NULL; axis2_bool_t loop_status = AXIS2_TRUE; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, stream, NULL); tmp_stream = axutil_stream_create_basic(env); while (loop_status) { int read = 0; int write = 0; char buf[READ_SIZE]; read = axutil_stream_read(stream, env, buf, READ_SIZE); if (read < 0) { break; } write = axutil_stream_write(tmp_stream, env, buf, read); if (read < (READ_SIZE - 1)) { break; } } return_size = axutil_stream_get_len(tmp_stream, env); if (return_size > 0) { buffer = (char *) AXIS2_MALLOC(env->allocator, sizeof(char) * (return_size + 2)); return_size = axutil_stream_read(tmp_stream, env, buffer, return_size + 1); buffer[return_size + 1] = '\0'; } axutil_stream_free(tmp_stream, env); return buffer; } static axis2_status_t apache2_worker_send_mtom_message( request_rec *request, const axutil_env_t * env, axutil_array_list_t *mime_parts, axis2_char_t *mtom_sending_callback_name) { int i = 0; axiom_mime_part_t *mime_part = NULL; axis2_status_t status = AXIS2_SUCCESS; /*int written = 0;*/ int len = 0; if(mime_parts) { for(i = 0; i < axutil_array_list_size (mime_parts, env); i++) { mime_part = (axiom_mime_part_t *)axutil_array_list_get( mime_parts, env, i); if((mime_part->type) == AXIOM_MIME_PART_BUFFER) { len = 0; len = ap_rwrite(mime_part->part, mime_part->part_size, request); ap_rflush(request); if(len == -1) { status = AXIS2_FAILURE; break; } } else if((mime_part->type) == AXIOM_MIME_PART_FILE) { FILE *f = NULL; axis2_byte_t *output_buffer = NULL; int output_buffer_size = 0; f = fopen(mime_part->file_name, "rb"); if (!f) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error opening file %s for reading", mime_part->file_name); return AXIS2_FAILURE; } if(mime_part->part_size > AXIS2_MTOM_OUTPUT_BUFFER_SIZE) { output_buffer_size = AXIS2_MTOM_OUTPUT_BUFFER_SIZE; } else { output_buffer_size = mime_part->part_size; } output_buffer = AXIS2_MALLOC(env->allocator, (output_buffer_size + 1) * sizeof(axis2_char_t)); status = apache2_worker_send_attachment_using_file(env, request, f, output_buffer, output_buffer_size); if(status == AXIS2_FAILURE) { return status; } } else if((mime_part->type) == AXIOM_MIME_PART_CALLBACK) { void *handler = NULL; axiom_mtom_sending_callback_t *callback = NULL; handler = axis2_http_transport_utils_initiate_callback(env, mtom_sending_callback_name, mime_part->user_param, &callback); if(handler) { status = apache2_worker_send_attachment_using_callback(env, request, callback, handler, mime_part->user_param); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "MTOM Sending Callback loading failed"); status = AXIS2_FAILURE; } if(callback) { axutil_param_t *param = NULL; param = callback->param; AXIOM_MTOM_SENDING_CALLBACK_FREE(callback, env); callback = NULL; if(param) { axutil_param_free(param, env); param = NULL; } } if(status == AXIS2_FAILURE) { return status; } } else { return AXIS2_FAILURE; } if(status == AXIS2_FAILURE) { break; } } return status; } else { return AXIS2_FAILURE; } } static axis2_status_t apache2_worker_send_attachment_using_file( const axutil_env_t * env, request_rec *request, FILE *fp, axis2_byte_t *buffer, int buffer_size) { int count = 0; int len = 0; /*int written = 0;*/ axis2_status_t status = AXIS2_SUCCESS; do { count = (int)fread(buffer, 1, buffer_size + 1, fp); if (ferror(fp)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in reading file containg the attachment"); if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_FAILURE; } if(count > 0) { len = 0; len = ap_rwrite(buffer, count, request); ap_rflush(request); if(len == -1) { status = AXIS2_FAILURE; break; } } else { if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_FAILURE; } memset(buffer, 0, buffer_size); if(status == AXIS2_FAILURE) { if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } fclose(fp); return AXIS2_FAILURE; } } while(!feof(fp)); fclose(fp); AXIS2_FREE(env->allocator, buffer); buffer = NULL; return AXIS2_SUCCESS; } static axis2_status_t apache2_worker_send_attachment_using_callback( const axutil_env_t * env, request_rec *request, axiom_mtom_sending_callback_t *callback, void *handler, void *user_param) { int count = 0; int len = 0; axis2_status_t status = AXIS2_SUCCESS; axis2_char_t *buffer = NULL; /* Keep on loading the data in a loop until * all the data is sent */ while((count = AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(callback, env, handler, &buffer)) > 0) { len = 0; len = ap_rwrite(buffer, count, request); ap_rflush(request); if(len == -1) { status = AXIS2_FAILURE; break; } } if (status == AXIS2_FAILURE) { AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(callback, env, handler); return status; } status = AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(callback, env, handler); return status; } axis2c-src-1.6.0/src/core/transport/http/server/apache2/apache2_out_transport_info.c0000644000175000017500000001141611166304464031674 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_apache2_out_transport_info.h" #include #include #include #include typedef struct axis2_apache2_out_transport_info { axis2_http_out_transport_info_t out_transport_info; request_rec *request; axis2_char_t *encoding; } axis2_apache2_out_transport_info_t; #define AXIS2_INTF_TO_IMPL(out_transport_info) \ ((axis2_apache2_out_transport_info_t *)(out_transport_info)) void AXIS2_CALL axis2_apache2_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env) { axis2_http_out_transport_info_t *transport_info_l = NULL; AXIS2_ENV_CHECK(env, void); transport_info_l = (axis2_http_out_transport_info_t *) transport_info; axis2_http_out_transport_info_free(transport_info_l, env); return; } axis2_status_t AXIS2_CALL axis2_apache_out_transport_info_free( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env) { axis2_apache2_out_transport_info_t *info = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); info = AXIS2_INTF_TO_IMPL(out_transport_info); info->request = NULL; /* request doesn't belong to info */ if (info->encoding) { AXIS2_FREE(env->allocator, info->encoding); info->encoding = NULL; } AXIS2_FREE(env->allocator, info); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_apache_out_transport_info_set_content_type( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, const axis2_char_t * content_type) { axis2_apache2_out_transport_info_t *info = NULL; axis2_char_t *tmp1 = NULL; axis2_char_t *tmp2 = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, content_type, AXIS2_FAILURE); info = AXIS2_INTF_TO_IMPL(out_transport_info); if (info->encoding) { tmp1 = axutil_stracat(env, content_type, ";charset="); tmp2 = axutil_stracat(env, tmp1, info->encoding); info->request->content_type = apr_pstrdup(info->request->pool, tmp2); AXIS2_FREE(env->allocator, tmp1); AXIS2_FREE(env->allocator, tmp2); } else { info->request->content_type = apr_pstrdup(info->request->pool, content_type); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_apache_out_transport_info_set_char_encoding( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * encoding) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE); if (info->encoding) { AXIS2_FREE(env->allocator, info->encoding); } info->encoding = axutil_strdup(env, encoding); return AXIS2_SUCCESS; } axis2_http_out_transport_info_t *AXIS2_CALL axis2_apache2_out_transport_info_create( const axutil_env_t * env, request_rec * request) { axis2_apache2_out_transport_info_t *info = NULL; axis2_http_out_transport_info_t *out_transport_info = NULL; AXIS2_ENV_CHECK(env, NULL); info = (axis2_apache2_out_transport_info_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_apache2_out_transport_info_t)); if (!info) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } info->request = request; info->encoding = NULL; out_transport_info = &(info->out_transport_info); out_transport_info->encoding = NULL; out_transport_info->response = NULL; axis2_http_out_transport_info_set_char_encoding_func(out_transport_info, env, axis2_apache_out_transport_info_set_char_encoding); axis2_http_out_transport_info_set_content_type_func(out_transport_info, env, axis2_apache_out_transport_info_set_content_type); return out_transport_info; } axis2c-src-1.6.0/src/core/transport/http/server/apache2/Makefile.am0000644000175000017500000000255611166304464026250 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libmod_axis2.la libmod_axis2_la_SOURCES = mod_axis2.c\ apache2_stream.c\ apache2_out_transport_info.c\ apache2_worker.c AM_CFLAGS = -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE libmod_axis2_la_LIBADD = $(LDFLAGS) \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la\ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la\ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la\ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la\ -lpthread libmod_axis2_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/axiom/include\ -I$(top_builddir)/util/include\ @APACHE2INC@ \ @APRINC@ EXTRA_DIST=axis2_apache2_worker.h apache2_stream.h axis2_apache2_out_transport_info.h axis2c-src-1.6.0/src/core/transport/http/server/apache2/Makefile.in0000644000175000017500000004140111172017204026237 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/server/apache2 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) am__DEPENDENCIES_1 = libmod_axis2_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la am_libmod_axis2_la_OBJECTS = mod_axis2.lo apache2_stream.lo \ apache2_out_transport_info.lo apache2_worker.lo libmod_axis2_la_OBJECTS = $(am_libmod_axis2_la_OBJECTS) libmod_axis2_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libmod_axis2_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libmod_axis2_la_SOURCES) DIST_SOURCES = $(libmod_axis2_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libmod_axis2.la libmod_axis2_la_SOURCES = mod_axis2.c\ apache2_stream.c\ apache2_out_transport_info.c\ apache2_worker.c AM_CFLAGS = -DLINUX=2 -D_REENTRANT -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE libmod_axis2_la_LIBADD = $(LDFLAGS) \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la\ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la\ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la\ $(top_builddir)/axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la\ -lpthread libmod_axis2_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/axiom/include\ -I$(top_builddir)/util/include\ @APACHE2INC@ \ @APRINC@ EXTRA_DIST = axis2_apache2_worker.h apache2_stream.h axis2_apache2_out_transport_info.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/server/apache2/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/server/apache2/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmod_axis2.la: $(libmod_axis2_la_OBJECTS) $(libmod_axis2_la_DEPENDENCIES) $(libmod_axis2_la_LINK) -rpath $(libdir) $(libmod_axis2_la_OBJECTS) $(libmod_axis2_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apache2_out_transport_info.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apache2_stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/apache2_worker.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_axis2.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/server/apache2/apache2_stream.c0000644000175000017500000001213611166304464027231 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "apache2_stream.h" #include typedef struct apache2_stream_impl { axutil_stream_t stream; axutil_stream_type_t stream_type; request_rec *request; } apache2_stream_impl_t; #define AXIS2_INTF_TO_IMPL(stream) ((apache2_stream_impl_t *)(stream)) axutil_stream_type_t AXIS2_CALL apache2_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env); int AXIS2_CALL apache2_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); int AXIS2_CALL apache2_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); int AXIS2_CALL apache2_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count); int AXIS2_CALL apache2_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_apache2( const axutil_env_t * env, request_rec * request) { apache2_stream_impl_t *stream_impl = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, request, NULL); stream_impl = (apache2_stream_impl_t *) AXIS2_MALLOC(env->allocator, sizeof(apache2_stream_impl_t)); if (!stream_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset(&(stream_impl->stream), 0, sizeof(axutil_stream_t)); stream_impl->request = request; stream_impl->stream_type = AXIS2_STREAM_MANAGED; axutil_stream_set_read(&(stream_impl->stream), env, apache2_stream_read); axutil_stream_set_write(&(stream_impl->stream), env, apache2_stream_write); axutil_stream_set_skip(&(stream_impl->stream), env, apache2_stream_skip); return &(stream_impl->stream); } int AXIS2_CALL apache2_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count) { apache2_stream_impl_t *stream_impl = NULL; size_t read = 0; size_t len = 0; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); stream_impl = AXIS2_INTF_TO_IMPL(stream); while (count - len > 0) { read = ap_get_client_block(stream_impl->request, (char *) buffer + len, count - len); if (read > 0) { len += read; } else { break; } } return (int)len; /* We are sure that the difference lies within the int range */ } int AXIS2_CALL apache2_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buf, size_t count) { apache2_stream_impl_t *stream_impl = NULL; axis2_char_t *buffer = NULL; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); AXIS2_PARAM_CHECK(env->error, buf, AXIS2_FAILURE); stream_impl = AXIS2_INTF_TO_IMPL(stream); buffer = (axis2_char_t *) buf; if (count <= 0) { return (int)count; /* We are sure that the difference lies within the int range */ } /* assume that buffer is not null terminated */ return ap_rwrite(buffer, (int)count, stream_impl->request); /* We are sure that the difference lies within the int range */ } int AXIS2_CALL apache2_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count) { apache2_stream_impl_t *stream_impl = NULL; axis2_char_t *tmp_buffer = NULL; int len = -1; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); stream_impl = AXIS2_INTF_TO_IMPL(stream); tmp_buffer = AXIS2_MALLOC(env->allocator, count * sizeof(axis2_char_t)); if (tmp_buffer == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return -1; } len = ap_get_client_block(stream_impl->request, tmp_buffer, count); AXIS2_FREE(env->allocator, tmp_buffer); return len; } int AXIS2_CALL apache2_stream_get_char( axutil_stream_t * stream, const axutil_env_t * env) { int ret = -1; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); return ret; } axutil_stream_type_t AXIS2_CALL apache2_stream_get_type( axutil_stream_t * stream, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); return AXIS2_INTF_TO_IMPL(stream)->stream_type; } axis2c-src-1.6.0/src/core/transport/http/server/apache2/apache2_stream.h0000644000175000017500000000224111166304464027232 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef APACHE2_STREAM_H #define APACHE2_STREAM_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** \brief Constructor for creating apche2 stream * @return axutil_stream (apache2) */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_apache2( const axutil_env_t * env, request_rec * req); /** @} */ #ifdef __cplusplus } #endif #endif /* APACHE2_STREAM_H */ axis2c-src-1.6.0/src/core/transport/http/server/apache2/axis2_apache2_out_transport_info.h0000644000175000017500000000340411166304464033005 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_APACHE2_OUT_TRANSPORT_INFO_H #define AXIS2_APACHE2_OUT_TRANSPORT_INFO_H /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_apache2_out_transport_info.h * @brief axis2 Apache2 Out Transport Info */ #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL axis2_apache2_out_transport_info_create( const axutil_env_t * env, request_rec * r); /** * Free http_out_transport_info passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the http_out_transport_info structure's free method */ AXIS2_EXTERN void AXIS2_CALL axis2_apache2_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_APACHE2_OUT_TRANSPORT_INFO_H */ axis2c-src-1.6.0/src/core/transport/http/receiver/0000777000175000017500000000000011172017540023174 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/transport/http/receiver/http_svr_thread.c0000644000175000017500000002124711166304463026550 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include AXIS2_EXPORT int axis2_http_socket_read_timeout = AXIS2_HTTP_DEFAULT_SO_TIMEOUT; struct axis2_http_svr_thread { int listen_socket; axis2_bool_t stopped; axis2_http_worker_t *worker; int port; }; typedef struct axis2_http_svr_thd_args { axutil_env_t *env; axis2_socket_t socket; axis2_http_worker_t *worker; axutil_thread_t *thread; } axis2_http_svr_thd_args_t; AXIS2_EXTERN const axutil_env_t *AXIS2_CALL init_thread_env( const axutil_env_t ** system_env); void *AXIS2_THREAD_FUNC axis2_svr_thread_worker_func( axutil_thread_t * thd, void *data); axis2_http_svr_thread_t *AXIS2_CALL axis2_http_svr_thread_create( const axutil_env_t * env, int port) { axis2_http_svr_thread_t *svr_thread = NULL; svr_thread = (axis2_http_svr_thread_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_svr_thread_t)); if (!svr_thread) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)svr_thread, 0, sizeof (axis2_http_svr_thread_t)); svr_thread->worker = NULL; svr_thread->stopped = AXIS2_FALSE; svr_thread->port = port; svr_thread->listen_socket = (int) axutil_network_handler_create_server_socket (env, svr_thread->port); if (-1 == svr_thread->listen_socket) { axis2_http_svr_thread_free((axis2_http_svr_thread_t *) svr_thread, env); return NULL; } return svr_thread; } void AXIS2_CALL axis2_http_svr_thread_free( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env) { if (!svr_thread) { return; } if (svr_thread->worker) { axis2_http_worker_free(svr_thread->worker, env); svr_thread->worker = NULL; } if (-1 != svr_thread->listen_socket) { axutil_network_handler_close_socket(env, svr_thread->listen_socket); svr_thread->listen_socket = -1; } svr_thread->stopped = AXIS2_TRUE; AXIS2_FREE(env->allocator, svr_thread); return; } axis2_status_t AXIS2_CALL axis2_http_svr_thread_run( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env) { while (AXIS2_FALSE == svr_thread->stopped) { int socket = -1; axis2_http_svr_thd_args_t *arg_list = NULL; axutil_thread_t *worker_thread = NULL; socket = (int)axutil_network_handler_svr_socket_accept(env, svr_thread-> listen_socket); if (!svr_thread->worker) { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Worker not ready yet." " Cannot serve the request"); axutil_network_handler_close_socket(env, socket); continue; } arg_list = AXIS2_MALLOC(env->allocator, sizeof(axis2_http_svr_thd_args_t)); if (!arg_list) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Memory allocation error in the svr thread loop"); continue; } arg_list->env = (axutil_env_t *) env; arg_list->socket = socket; arg_list->worker = svr_thread->worker; #ifdef AXIS2_SVR_MULTI_THREADED worker_thread = axutil_thread_pool_get_thread(env->thread_pool, axis2_svr_thread_worker_func, (void *) arg_list); if (!worker_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread creation failed" "server thread loop"); continue; } axutil_thread_pool_thread_detach(env->thread_pool, worker_thread); #else axis2_svr_thread_worker_func(NULL, (void *) arg_list); #endif } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_http_svr_thread_destroy( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env) { if (AXIS2_TRUE == svr_thread->stopped) { return AXIS2_SUCCESS; } svr_thread->stopped = AXIS2_TRUE; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Terminating HTTP server " "thread."); if (svr_thread->listen_socket) { axutil_network_handler_close_socket(env, svr_thread->listen_socket); svr_thread->listen_socket = -1; } return AXIS2_SUCCESS; } int AXIS2_CALL axis2_http_svr_thread_get_local_port( const axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env) { return svr_thread->port; } axis2_bool_t AXIS2_CALL axis2_http_svr_thread_is_running( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env) { return !(svr_thread->stopped); } axis2_status_t AXIS2_CALL axis2_http_svr_thread_set_worker( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env, axis2_http_worker_t * worker) { AXIS2_PARAM_CHECK(env->error, worker, AXIS2_FAILURE); svr_thread->worker = worker; return AXIS2_SUCCESS; } /** * Thread worker function. */ void *AXIS2_THREAD_FUNC axis2_svr_thread_worker_func( axutil_thread_t * thd, void *data) { struct AXIS2_PLATFORM_TIMEB t1, t2; axis2_simple_http_svr_conn_t *svr_conn = NULL; axis2_http_simple_request_t *request = NULL; int millisecs = 0; double secs = 0; axis2_http_worker_t *tmp = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_env_t *env = NULL; axis2_socket_t socket; axutil_env_t *thread_env = NULL; axis2_http_svr_thd_args_t *arg_list = NULL; #ifndef WIN32 #ifdef AXIS2_SVR_MULTI_THREADED signal(SIGPIPE, SIG_IGN); #endif #endif arg_list = (axis2_http_svr_thd_args_t *) data; if (!arg_list) { return NULL; } AXIS2_PLATFORM_GET_TIME_IN_MILLIS(&t1); env = arg_list->env; thread_env = axutil_init_thread_env(env); socket = arg_list->socket; svr_conn = axis2_simple_http_svr_conn_create(thread_env, (int)socket); axis2_simple_http_svr_conn_set_rcv_timeout(svr_conn, thread_env, axis2_http_socket_read_timeout); request = axis2_simple_http_svr_conn_read_request(svr_conn, thread_env); tmp = arg_list->worker; status = axis2_http_worker_process_request(tmp, thread_env, svr_conn, request); axis2_simple_http_svr_conn_free(svr_conn, thread_env); if (request) axis2_http_simple_request_free(request, thread_env); AXIS2_PLATFORM_GET_TIME_IN_MILLIS(&t2); millisecs = t2.millitm - t1.millitm; secs = difftime(t2.time, t1.time); if (millisecs < 0) { millisecs += 1000; secs--; } secs += millisecs / 1000.0; if (status == AXIS2_SUCCESS) { #if defined(WIN32) AXIS2_LOG_INFO(thread_env->log, "Request served successfully"); #else AXIS2_LOG_INFO(thread_env->log, "Request served in %.3f seconds", secs); #endif } else { #if defined(WIN32) AXIS2_LOG_WARNING(thread_env->log, AXIS2_LOG_SI, "Error occured in processing request "); #else AXIS2_LOG_WARNING(thread_env->log, AXIS2_LOG_SI, "Error occured in processing request (%.3f seconds)", secs); #endif } AXIS2_FREE(thread_env->allocator, arg_list); if (thread_env) { axutil_free_thread_env(thread_env); thread_env = NULL; } #ifdef AXIS2_SVR_MULTI_THREADED axutil_thread_pool_exit_thread(env->thread_pool, thd); #endif return NULL; } axis2c-src-1.6.0/src/core/transport/http/receiver/Makefile.am0000644000175000017500000000167611166304463025244 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_http_receiver.la libaxis2_http_receiver_la_LIBADD=$(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la libaxis2_http_receiver_la_SOURCES = http_receiver.c\ http_svr_thread.c libaxis2_http_receiver_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/transport/http/receiver/Makefile.in0000644000175000017500000004004411172017204025234 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport/http/receiver DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_http_receiver_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la am_libaxis2_http_receiver_la_OBJECTS = http_receiver.lo \ http_svr_thread.lo libaxis2_http_receiver_la_OBJECTS = \ $(am_libaxis2_http_receiver_la_OBJECTS) libaxis2_http_receiver_la_LINK = $(LIBTOOL) --tag=CC \ $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \ $(AM_CFLAGS) $(CFLAGS) $(libaxis2_http_receiver_la_LDFLAGS) \ $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_http_receiver_la_SOURCES) DIST_SOURCES = $(libaxis2_http_receiver_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_http_receiver.la libaxis2_http_receiver_la_LIBADD = $(top_builddir)/util/src/libaxutil.la\ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la libaxis2_http_receiver_la_SOURCES = http_receiver.c\ http_svr_thread.c libaxis2_http_receiver_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/transport\ -I$(top_builddir)/src/core/transport/http \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/http/receiver/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/http/receiver/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_http_receiver.la: $(libaxis2_http_receiver_la_OBJECTS) $(libaxis2_http_receiver_la_DEPENDENCIES) $(libaxis2_http_receiver_la_LINK) -rpath $(libdir) $(libaxis2_http_receiver_la_OBJECTS) $(libaxis2_http_receiver_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_receiver.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_svr_thread.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/http/receiver/http_receiver.c0000644000175000017500000002705311166304463026214 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include /** * @brief HTTP Client struct impl * Axis2 HTTP Client impl */ typedef struct axis2_http_server_impl { axis2_transport_receiver_t http_server; axis2_http_svr_thread_t *svr_thread; int port; axis2_conf_ctx_t *conf_ctx; axis2_conf_ctx_t *conf_ctx_private; } axis2_http_server_impl_t; #define AXIS2_INTF_TO_IMPL(http_server) \ ((axis2_http_server_impl_t *)(http_server)) /***************************** Function headers *******************************/ axis2_status_t AXIS2_CALL axis2_http_server_init( axis2_transport_receiver_t * server, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_in_desc_t * in_desc); axis2_status_t AXIS2_CALL axis2_http_server_start( axis2_transport_receiver_t * server, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_http_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env); axis2_conf_ctx_t *AXIS2_CALL axis2_http_server_get_conf_ctx( axis2_transport_receiver_t * server, const axutil_env_t * env); axis2_endpoint_ref_t *AXIS2_CALL axis2_http_server_get_reply_to_epr( axis2_transport_receiver_t * server, const axutil_env_t * env, const axis2_char_t * svc_name); axis2_bool_t AXIS2_CALL axis2_http_server_is_running( axis2_transport_receiver_t * server, const axutil_env_t * env); void AXIS2_CALL axis2_http_server_free( axis2_transport_receiver_t * server, const axutil_env_t * env); static const axis2_transport_receiver_ops_t http_transport_receiver_ops_var = { axis2_http_server_init, axis2_http_server_start, axis2_http_server_get_reply_to_epr, axis2_http_server_get_conf_ctx, axis2_http_server_is_running, axis2_http_server_stop, axis2_http_server_free }; AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_http_server_create( const axutil_env_t * env, const axis2_char_t * repo, const int port) { axis2_http_server_impl_t *server_impl = NULL; server_impl = (axis2_http_server_impl_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_server_impl_t)); if (!server_impl) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } server_impl->svr_thread = NULL; server_impl->conf_ctx = NULL; server_impl->conf_ctx_private = NULL; server_impl->port = port; server_impl->http_server.ops = &http_transport_receiver_ops_var; if (repo) { /** * We first create a private conf ctx which is owned by this server * we only free this private conf context. We should never free the * server_impl->conf_ctx because it may own to any other object which * may lead to double free */ server_impl->conf_ctx_private = axis2_build_conf_ctx(env, repo); if (!server_impl->conf_ctx_private) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to create private configuration context\ for repo path %s", repo); axis2_http_server_free((axis2_transport_receiver_t *) server_impl, env); return NULL; } server_impl->conf_ctx = server_impl->conf_ctx_private; } return &(server_impl->http_server); } AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_http_server_create_with_file( const axutil_env_t * env, const axis2_char_t * file, const int port) { axis2_http_server_impl_t *server_impl = NULL; server_impl = (axis2_http_server_impl_t *) AXIS2_MALLOC (env->allocator, sizeof(axis2_http_server_impl_t)); if (!server_impl) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } server_impl->svr_thread = NULL; server_impl->conf_ctx = NULL; server_impl->conf_ctx_private = NULL; server_impl->port = port; server_impl->http_server.ops = &http_transport_receiver_ops_var; if (file) { /** * We first create a private conf ctx which is owned by this server * we only free this private conf context. We should never free the * server_impl->conf_ctx because it may own to any other object which * may lead to double free */ server_impl->conf_ctx_private = axis2_build_conf_ctx_with_file (env, file); if (!server_impl->conf_ctx_private) { axis2_http_server_free((axis2_transport_receiver_t *) server_impl, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to create\ configuration context for file %s", file); return NULL; } server_impl->conf_ctx = server_impl->conf_ctx_private; } return &(server_impl->http_server); } void AXIS2_CALL axis2_http_server_free( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_http_server_impl_t *server_impl = NULL; if (!server) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "failure, server value is null , nothing to free"); return; } server_impl = AXIS2_INTF_TO_IMPL(server); if (server_impl->svr_thread) { axis2_http_svr_thread_destroy(server_impl->svr_thread, env); axis2_http_svr_thread_free(server_impl->svr_thread, env); server_impl->svr_thread = NULL; } if (server_impl->conf_ctx_private) { axis2_conf_ctx_free(server_impl->conf_ctx_private, env); server_impl->conf_ctx_private = NULL; } /** * Do not free this. It may own to some other object */ server_impl->conf_ctx = NULL; AXIS2_FREE(env->allocator, server_impl); return; } axis2_status_t AXIS2_CALL axis2_http_server_init( axis2_transport_receiver_t * server, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_transport_in_desc_t * in_desc) { axis2_http_server_impl_t *server_impl = NULL; axis2_char_t *port_str = NULL; axutil_param_t *param = NULL; AXIS2_PARAM_CHECK (env->error, server, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, conf_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, in_desc, AXIS2_FAILURE); server_impl = AXIS2_INTF_TO_IMPL(server); server_impl->conf_ctx = conf_ctx; param = (axutil_param_t *) axutil_param_container_get_param(axis2_transport_in_desc_param_container (in_desc, env), env, AXIS2_PORT_STRING); if (param) { port_str = axutil_param_get_value(param, env); } if (port_str) { server_impl->port = atoi(port_str); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_http_server_start( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_http_server_impl_t *server_impl = NULL; axis2_http_worker_t *worker = NULL; AXIS2_PARAM_CHECK (env->error, server, AXIS2_FAILURE); server_impl = AXIS2_INTF_TO_IMPL(server); server_impl->svr_thread = axis2_http_svr_thread_create(env, server_impl->port); if (!server_impl->svr_thread) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "unable to create server thread for port %d", server_impl->port); return AXIS2_FAILURE; } worker = axis2_http_worker_create(env, server_impl->conf_ctx); if (!worker) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2 http worker creation failed"); axis2_http_svr_thread_free(server_impl->svr_thread, env); return AXIS2_FAILURE; } axis2_http_worker_set_svr_port(worker, env, server_impl->port); AXIS2_LOG_INFO(env->log, "Starting HTTP server thread"); axis2_http_svr_thread_set_worker(server_impl->svr_thread, env, worker); axis2_http_svr_thread_run(server_impl->svr_thread, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, server, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Terminating HTTP server thread"); if (AXIS2_INTF_TO_IMPL(server)->svr_thread) { axis2_http_svr_thread_destroy(AXIS2_INTF_TO_IMPL(server)->svr_thread, env); } AXIS2_LOG_INFO(env->log, "Successfully terminated HTTP server" " thread"); return AXIS2_SUCCESS; } axis2_conf_ctx_t *AXIS2_CALL axis2_http_server_get_conf_ctx( axis2_transport_receiver_t * server, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, server, NULL); return AXIS2_INTF_TO_IMPL(server)->conf_ctx; } axis2_endpoint_ref_t *AXIS2_CALL axis2_http_server_get_reply_to_epr( axis2_transport_receiver_t * server, const axutil_env_t * env, const axis2_char_t * svc_name) { axis2_endpoint_ref_t *epr = NULL; const axis2_char_t *host_address = NULL; axis2_char_t *svc_path = NULL; axutil_url_t *url = NULL; AXIS2_PARAM_CHECK(env->error, svc_name, NULL); AXIS2_PARAM_CHECK(env->error, server, NULL); host_address = AXIS2_DEFAULT_HOST_ADDRESS; /* TODO : get from axis2.xml */ svc_path = axutil_stracat(env, AXIS2_DEFAULT_SVC_PATH, svc_name); url = axutil_url_create(env, AXIS2_HTTP_PROTOCOL, host_address, AXIS2_INTF_TO_IMPL(server)->port, svc_path); AXIS2_FREE(env->allocator, svc_path); if (!url) { return NULL; } epr = axis2_endpoint_ref_create(env, axutil_url_to_external_form(url, env)); axutil_url_free(url, env); return epr; } axis2_bool_t AXIS2_CALL axis2_http_server_is_running( axis2_transport_receiver_t * server, const axutil_env_t * env) { axis2_http_server_impl_t *server_impl = NULL; AXIS2_PARAM_CHECK (env->error, server, AXIS2_FALSE); server_impl = AXIS2_INTF_TO_IMPL(server); if (server_impl->svr_thread) { return axis2_http_svr_thread_is_running(server_impl->svr_thread, env); } return AXIS2_FALSE; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_transport_receiver **inst, const axutil_env_t * env) { *inst = axis2_http_server_create(env, NULL, -1); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_transport_receiver_t * inst, const axutil_env_t * env) { if (inst) { axis2_transport_receiver_free(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/transport/Makefile.am0000644000175000017500000000105511166304471022447 0ustar00manjulamanjula00000000000000SUBDIRS=http $(TCP_DIR) $(AMQP_DIR) DIST_SUBDIRS=http tcp amqp EXTRA_DIST=Makefile.am amqp/server/axis2_amqp_server/axis2_amqp_server.h \ amqp/receiver/axis2_amqp_receiver.h amqp/receiver/qpid_receiver/axis2_qpid_receiver.h \ amqp/receiver/qpid_receiver/axis2_qpid_receiver_interface.h amqp/receiver/qpid_receiver/request_processor/axis2_amqp_request_processor.h \ amqp/util/axis2_amqp_defines.h amqp/util/axis2_amqp_util.h amqp/sender/qpid_sender/axis2_qpid_sender_interface.h \ amqp/sender/qpid_sender/axis2_qpid_sender.h amqp/sender/axis2_amqp_sender.h axis2c-src-1.6.0/src/core/transport/Makefile.in0000644000175000017500000003572011172017203022455 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/transport DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = http $(TCP_DIR) $(AMQP_DIR) DIST_SUBDIRS = http tcp amqp EXTRA_DIST = Makefile.am amqp/server/axis2_amqp_server/axis2_amqp_server.h \ amqp/receiver/axis2_amqp_receiver.h amqp/receiver/qpid_receiver/axis2_qpid_receiver.h \ amqp/receiver/qpid_receiver/axis2_qpid_receiver_interface.h amqp/receiver/qpid_receiver/request_processor/axis2_amqp_request_processor.h \ amqp/util/axis2_amqp_defines.h amqp/util/axis2_amqp_util.h amqp/sender/qpid_sender/axis2_qpid_sender_interface.h \ amqp/sender/qpid_sender/axis2_qpid_sender.h amqp/sender/axis2_amqp_sender.h all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/transport/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/transport/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/transport/transport_receiver.c0000644000175000017500000000526011166304471024501 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN void AXIS2_CALL axis2_transport_receiver_free( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env) { (transport_receiver->ops)->free(transport_receiver, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_receiver_init( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in) { return (transport_receiver->ops)->init(transport_receiver, env, conf_ctx, transport_in); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_receiver_start( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env) { return (transport_receiver->ops)->start(transport_receiver, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_receiver_stop( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env) { return (transport_receiver->ops)->stop(transport_receiver, env); } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_transport_receiver_get_reply_to_epr( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env, const axis2_char_t * svc_name) { return (transport_receiver->ops)->get_reply_to_epr(transport_receiver, env, svc_name); } AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL axis2_transport_receiver_get_conf_ctx( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env) { return (transport_receiver)->ops->get_conf_ctx(transport_receiver, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_transport_receiver_is_running( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env) { return (transport_receiver)->ops->is_running(transport_receiver, env); } axis2c-src-1.6.0/src/core/deployment/0000777000175000017500000000000011172017537020543 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/deployment/ws_info_list.c0000644000175000017500000003162511166304442023406 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_ws_info_list { /** * This is to store all the deployment info about the deployment files * for services or modules in a specified folder. */ axutil_array_list_t *ws_info_list; /** * All the curently updated deployment info list. */ axutil_array_list_t *current_info_list; /** * Referance to deployment engine to make update. */ struct axis2_dep_engine *dep_engine; }; AXIS2_EXTERN axis2_ws_info_list_t *AXIS2_CALL axis2_ws_info_list_create_with_dep_engine( const axutil_env_t * env, struct axis2_dep_engine *dep_engine) { axis2_ws_info_list_t *ws_info_list = NULL; ws_info_list = (axis2_ws_info_list_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_ws_info_list_t)); if (!ws_info_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)ws_info_list, 0, sizeof (axis2_ws_info_list_t)); ws_info_list->dep_engine = dep_engine; ws_info_list->ws_info_list = axutil_array_list_create(env, 0); if (!(ws_info_list->ws_info_list)) { axis2_ws_info_list_free(ws_info_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } ws_info_list->current_info_list = axutil_array_list_create(env, 0); if (!(ws_info_list->current_info_list)) { axis2_ws_info_list_free(ws_info_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return ws_info_list; } AXIS2_EXTERN void AXIS2_CALL axis2_ws_info_list_free( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env) { if (ws_info_list->current_info_list) { int list_size = 0; int i = 0; list_size = axutil_array_list_size(ws_info_list->current_info_list, env); for (i = 0; i < list_size; i++) { axis2_char_t *file_name = NULL; file_name = (axis2_char_t *) axutil_array_list_get(ws_info_list->current_info_list, env, i); AXIS2_FREE(env->allocator, file_name); } axutil_array_list_free(ws_info_list->current_info_list, env); } if (ws_info_list->ws_info_list) { int list_size = 0; int i = 0; list_size = axutil_array_list_size(ws_info_list->ws_info_list, env); for (i = 0; i < list_size; i++) { axis2_ws_info_t *ws_info = NULL; ws_info = (axis2_ws_info_t *) axutil_array_list_get(ws_info_list-> ws_info_list, env, i); axis2_ws_info_free(ws_info, env); } axutil_array_list_free(ws_info_list->ws_info_list, env); } if (ws_info_list) { AXIS2_FREE(env->allocator, ws_info_list); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_init( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env) { int size = 0; int i = 0; size = axutil_array_list_size(ws_info_list->ws_info_list, env); for (i = 0; i < size; i++) { axis2_ws_info_t *ws_info = NULL; ws_info = (axis2_ws_info_t *) axutil_array_list_get(ws_info_list->ws_info_list, env, i); axis2_ws_info_free(ws_info, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_add_ws_info_item( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env, axutil_file_t * file, int type) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *file_name = NULL; axis2_char_t *temp_name = NULL; AXIS2_PARAM_CHECK(env->error, file, AXIS2_FAILURE); temp_name = axutil_file_get_name(file, env); file_name = axutil_strdup(env, temp_name); if (!file_name) { return AXIS2_FAILURE; } switch (type) { case AXIS2_SVC: { axis2_ws_info_t *ws_info = NULL; long last_modified_date = 0; axis2_arch_file_data_t *file_data = NULL; last_modified_date = (long)axutil_file_get_timestamp(file, env); /* We are sure that the difference lies within the long range */ ws_info = axis2_ws_info_create_with_file_name_and_last_modified_date_and_type (env, file_name, last_modified_date, AXIS2_SVC); status = axutil_array_list_add(ws_info_list->ws_info_list, env, ws_info); if (AXIS2_SUCCESS != status) { return status; } file_data = axis2_arch_file_data_create_with_type_and_file(env, AXIS2_SVC, file); /* To inform that new web service is to be deployed */ status = axis2_dep_engine_add_ws_to_deploy(ws_info_list->dep_engine, env, file_data); if (AXIS2_SUCCESS != status) { return status; } break; } case AXIS2_MODULE: { axis2_ws_info_t *ws_info = NULL; long last_modified_date = 0; axis2_arch_file_data_t *file_data = NULL; last_modified_date = (long)axutil_file_get_timestamp(file, env); /* We are sure that the difference lies within the long range */ ws_info = axis2_ws_info_create_with_file_name_and_last_modified_date_and_type (env, file_name, last_modified_date, AXIS2_MODULE); status = axutil_array_list_add(ws_info_list->ws_info_list, env, ws_info); if (AXIS2_SUCCESS != status) { return status; } file_data = axis2_arch_file_data_create_with_type_and_file(env, AXIS2_MODULE, file); /* To inform that new module is to be deployed */ status = axis2_dep_engine_add_ws_to_deploy(ws_info_list->dep_engine, env, file_data); if (AXIS2_SUCCESS != status) { return status; } break; } } return axutil_array_list_add(ws_info_list->current_info_list, env, file_name); } AXIS2_EXTERN axis2_ws_info_t *AXIS2_CALL axis2_ws_info_list_get_file_item( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env, axis2_char_t * file_name) { int i = 0; int size = 0; AXIS2_PARAM_CHECK(env->error, file_name, NULL); size = axutil_array_list_size(ws_info_list->ws_info_list, env); for (i = 0; i < size; i++) { axis2_ws_info_t *ws_info = NULL; axis2_char_t *file_name_l = NULL; ws_info = (axis2_ws_info_t *) axutil_array_list_get(ws_info_list-> ws_info_list, env, i); file_name_l = axis2_ws_info_get_file_name(ws_info, env); if (!axutil_strcmp(file_name_l, file_name)) { return ws_info; } } return NULL; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_ws_info_list_is_modified( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env, axutil_file_t * file, axis2_ws_info_t * ws_info) { long last_modified_date = 0; AXIS2_PARAM_CHECK(env->error, file, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, ws_info, AXIS2_FAILURE); last_modified_date = axis2_ws_info_get_last_modified_date(ws_info, env); return (last_modified_date != axutil_file_get_timestamp(file, env)); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_ws_info_list_is_file_exist( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env, axis2_char_t * file_name) { axis2_ws_info_t *ws_info = NULL; AXIS2_PARAM_CHECK(env->error, file_name, AXIS2_FAILURE); ws_info = axis2_ws_info_list_get_file_item(ws_info_list, env, file_name); return !(ws_info == NULL); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_check_for_undeploy( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env) { int list_size = 0; axutil_array_list_t *temp_list = NULL; int i = 0; /* Create temp list */ temp_list = axutil_array_list_create(env, 0); if (!temp_list) { return AXIS2_FAILURE; } list_size = axutil_array_list_size(ws_info_list->ws_info_list, env); for (i = 0; i < list_size; i++) { /* For each ws_info item in the ws_info_list check whether it is also * in the current_info_list. If not mark it to be undeployed by adding * it to a temporarily list. Also add that item to the undeploy list of * deployment engine.*/ int current_lists_size = 0; axis2_ws_info_t *file_item = NULL; axis2_char_t *file_item_name = NULL; axis2_bool_t exist = AXIS2_FALSE; int j = 0; file_item = (axis2_ws_info_t *) axutil_array_list_get(ws_info_list-> ws_info_list, env, i); file_item_name = axis2_ws_info_get_file_name(file_item, env); current_lists_size = axutil_array_list_size(ws_info_list->current_info_list, env); for (j = 0; j < current_lists_size; j++) { axis2_char_t *file_name = NULL; file_name = (axis2_char_t *) axutil_array_list_get(ws_info_list-> current_info_list, env, j); if (!axutil_strcmp(file_name, file_item_name)) { exist = AXIS2_TRUE; break; } } if (!exist) { axis2_ws_info_t *ws_info = NULL; long last_modified_date = 0; last_modified_date = axis2_ws_info_get_last_modified_date(file_item, env); axutil_array_list_add(temp_list, env, file_item); ws_info = axis2_ws_info_create_with_file_name_and_last_modified_date(env, file_item_name, last_modified_date); /* This ws_info is to be undeployed */ axis2_dep_engine_add_ws_to_undeploy(ws_info_list->dep_engine, env, ws_info); } } list_size = axutil_array_list_size(temp_list, env); for (i = 0; i < list_size; i++) { /* Get each ws_info item from the temp list created and remove that * item from the ws_info_list */ axis2_ws_info_t *file_item = NULL; int index = 0; file_item = (axis2_ws_info_t *) axutil_array_list_get(temp_list, env, i); index = axutil_array_list_index_of(ws_info_list->ws_info_list, env, file_item); axutil_array_list_remove(ws_info_list->ws_info_list, env, index); } axutil_array_list_free(temp_list, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_update( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; status = axis2_ws_info_list_check_for_undeploy(ws_info_list, env); if (AXIS2_SUCCESS != status) { return AXIS2_FAILURE; } return axis2_dep_engine_do_deploy(ws_info_list->dep_engine, env); } axis2c-src-1.6.0/src/core/deployment/axis2_svc_builder.h0000644000175000017500000001112211166304442024311 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_BUILDER_H #define AXIS2_SVC_BUILDER_H /** * @defgroup axis2_svc_builder Service Builder * @ingroup axis2_deployment * @{ */ #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_dep_engine; /** Type name for struct axis2_svc_builder */ typedef struct axis2_svc_builder axis2_svc_builder_t; /** * De-allocate memory * @param svc_builder pointer to service builder * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_builder_free( axis2_svc_builder_t * svc_builder, const axutil_env_t * env); /** * top most method that is used to populate service from corresponding OM * @param svc_builder pointer to service builder * @param env pointer to environment struct * @param svc_node pointer to service node */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_builder_populate_svc( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_node_t * svc_node); /** * @param svc_builder pointer to service builder * @param env pointer to environment struct * @param module_confs pointer to module configurations * @param parent pointer to parent * @param svc pointer to service */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_builder_process_svc_module_conf( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_confs, axutil_param_container_t * parent, axis2_svc_t * svc); /** * To get the list og modules that is requird to be engage globally * @param svc_builder pointer to service builder * @param env pointer to environment struct * @param module_refs pointer to module refs */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_builder_process_module_refs( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs); AXIS2_EXTERN struct axis2_desc_builder *AXIS2_CALL axis2_svc_builder_get_desc_builder( const axis2_svc_builder_t * svc_builder, const axutil_env_t * env); /** * Creates svc builder struct * @param env pointer to environment struct * @return pointer to newly created service builder */ AXIS2_EXTERN axis2_svc_builder_t *AXIS2_CALL axis2_svc_builder_create( const axutil_env_t * env); /** * Creates svc builder struct * @param env pointer to environment struct * @param file_name pointer to file name * @param dep_engine pointer to deployment engine * @param svc pointer to service * @return pointer to newly created service builder */ AXIS2_EXTERN axis2_svc_builder_t *AXIS2_CALL axis2_svc_builder_create_with_file_and_dep_engine_and_svc( const axutil_env_t * env, axis2_char_t * file_name, struct axis2_dep_engine *dep_engine, axis2_svc_t * svc); /** * Creates svc builder struct * @param env pointer to environment struct * @param dep_engine pointer to deployment engine * @param svc pointer to service * @return pointer to newly created service builder */ AXIS2_EXTERN axis2_svc_builder_t *AXIS2_CALL axis2_svc_builder_create_with_dep_engine_and_svc( const axutil_env_t * env, struct axis2_dep_engine *dep_engine, axis2_svc_t * svc); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_BUILDER_H */ axis2c-src-1.6.0/src/core/deployment/ws_info.c0000644000175000017500000001022411166304442022343 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_ws_info.h" #include struct axis2_ws_info { axis2_char_t *file_name; long last_modified_date; /** * To check whether the file is a module or a servise */ int type; }; AXIS2_EXTERN axis2_ws_info_t *AXIS2_CALL axis2_ws_info_create_with_file_name_and_last_modified_date( const axutil_env_t * env, axis2_char_t * file_name, long last_modified_date) { axis2_ws_info_t *ws_info = NULL; AXIS2_PARAM_CHECK(env->error, file_name, NULL); ws_info = (axis2_ws_info_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_ws_info_t)); if (!ws_info) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } ws_info->file_name = NULL; ws_info->last_modified_date = 0; ws_info->type = 0; ws_info->file_name = axutil_strdup(env, file_name); if (!ws_info->file_name) { axis2_ws_info_free(ws_info, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } ws_info->last_modified_date = last_modified_date; return ws_info; } AXIS2_EXTERN axis2_ws_info_t *AXIS2_CALL axis2_ws_info_create_with_file_name_and_last_modified_date_and_type( const axutil_env_t * env, axis2_char_t * file_name, long last_modified_date, int type) { axis2_ws_info_t *ws_info = NULL; AXIS2_PARAM_CHECK(env->error, file_name, NULL); ws_info = (axis2_ws_info_t *) axis2_ws_info_create_with_file_name_and_last_modified_date(env, file_name, last_modified_date); if (!ws_info) { axis2_ws_info_free(ws_info, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } ws_info->type = type; return ws_info; } AXIS2_EXTERN void AXIS2_CALL axis2_ws_info_free( axis2_ws_info_t * ws_info, const axutil_env_t * env) { if (ws_info->file_name) { AXIS2_FREE(env->allocator, ws_info->file_name); } if (ws_info) { AXIS2_FREE(env->allocator, ws_info); } return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_ws_info_get_file_name( const axis2_ws_info_t * ws_info, const axutil_env_t * env) { return ws_info->file_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_set_file_name( axis2_ws_info_t * ws_info, const axutil_env_t * env, axis2_char_t * file_name) { AXIS2_PARAM_CHECK(env->error, file_name, AXIS2_FAILURE); if (ws_info->file_name) { AXIS2_FREE(env->allocator, ws_info->file_name); ws_info->file_name = NULL; } ws_info->file_name = file_name; return AXIS2_SUCCESS; } AXIS2_EXTERN long AXIS2_CALL axis2_ws_info_get_last_modified_date( const axis2_ws_info_t * ws_info, const axutil_env_t * env) { return ws_info->last_modified_date; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_set_last_modified_date( axis2_ws_info_t * ws_info, const axutil_env_t * env, long last_modified_date) { ws_info->last_modified_date = last_modified_date; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axis2_ws_info_get_type( const axis2_ws_info_t * ws_info, const axutil_env_t * env) { return ws_info->type; } axis2c-src-1.6.0/src/core/deployment/axis2_dep_engine.h0000644000175000017500000003304711166304442024117 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DEP_ENGINE_H #define AXIS2_DEP_ENGINE_H /** * @defgroup axis2_dep_engine Deployment Engine * @ingroup axis2_deployment * @{ */ /** * @file axis2_dep_engine.h * @brief Axis2 Deployment Engine interface */ #include #include #include #include #include #include "axis2_arch_file_data.h" #include "axis2_ws_info.h" #include "axis2_conf_builder.h" #include "axis2_repos_listener.h" #ifdef __cplusplus extern "C" { #endif struct axis2_arch_file_data; struct axis2_arch_reader; struct axis2_ws_info; struct axis2_phases_info; struct axis2_svc; /** Type name for struct axis2_dep_engine */ typedef struct axis2_dep_engine axis2_dep_engine_t; struct axis2_desc_builder; struct axis2_module_builder; struct axis2_svc_builder; struct axis2_grp_builder; struct axis2_svc_grp_builder; /** * De-allocate memory * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_dep_engine_free( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * while parsing the axis2.xml the module refferences have to be stored some * where , since at that time none of module availble (they load after parsing * the document) * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param module_qname QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_module( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axutil_qname_t * module_qname); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param module_name pointer to module name */ AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL axis2_dep_engine_get_module( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axutil_qname_t * module_name); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct */ AXIS2_EXTERN struct axis2_arch_file_data *AXIS2_CALL axis2_dep_engine_get_current_file_item( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param file pointer to file * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_ws_to_deploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_arch_file_data *file); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param file pointer to file * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_ws_to_undeploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_ws_info *file); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct */ AXIS2_EXTERN struct axis2_phases_info *AXIS2_CALL axis2_dep_engine_get_phases_info( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @return AxisConfiguration AxisConfiguration */ AXIS2_EXTERN struct axis2_conf *AXIS2_CALL axis2_dep_engine_get_axis_conf( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct */ AXIS2_EXTERN struct axis2_conf *AXIS2_CALL axis2_dep_engine_load( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct */ AXIS2_EXTERN struct axis2_conf *AXIS2_CALL axis2_dep_engine_load_client( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t * client_home); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param dll_name pointer to dll_name */ AXIS2_EXTERN void *AXIS2_CALL axis2_dep_engine_get_handler_dll( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_char_t * dll_name); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_do_deploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_undeploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_dep_engine_is_hot_update( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param phases_info pointer to phases info * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_phases_info( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_phases_info *phases_info); /** * This method is used to fill a axisservice object using services.xml , first it should create * an axisservice object using WSDL and then fill that using given servic.xml and load all the requed * class and build the chains , finally add the servicecontext to EngineContext and axisservice into * EngineConfiguration * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param svc pointer to service * @param file_name pointer to file name */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_dep_engine_build_svc( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_svc *svc, axis2_char_t * file_name); /** * This method can be used to build ModuleDescription for a given module archiev file * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param module_archive pointer to module archive * @param conf pointer to conf */ AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL axis2_dep_engine_build_module( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axutil_file_t * module_archive, struct axis2_conf *conf); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_dep_engine_get_repos_path( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to module directory * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_dep_engine_get_file_flag( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to module directory * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_dep_engine_get_module_dir( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); /** * @param dep_engine pointer to module directory * @param env pointer to environment struct * @param module_dir pointer of the directory path */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_module_dir( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t *module_dir); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_dep_engine_get_svc_dir( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_svc_dir( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t *svc_dir); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param file_data pointer to file data * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_current_file_item( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_arch_file_data *file_data); /** * @param dep_engine pointer to deployment engine * @param env pointer to environment struct * @param arch_reader pointer to arch reader * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_arch_reader( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_arch_reader *arch_reader); /** * No param constructor is need to deploye module and service programatically * @param env pointer to environment struct * @return pointer to newly created deployment engine */ AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create( const axutil_env_t * env); /** * Creates description builder struct * This the constructor which is used by Engine in order to start * Deployment module, * @param env pointer to environment struct * @param repos_path is the path to which Repositary Listner should listen. * @return pointer to newly created deployment engine */ AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_repos_name( const axutil_env_t * env, const axis2_char_t * repos_path); /** * Creates description builder struct using axis2 xml * This the constructor which is used by Engine in order to start * Deployment module, * @param env pointer to environment struct * @param axis2_xml is the path of the axis2.xml . * @return pointer to newly created deployment engine */ AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_axis2_xml( const axutil_env_t * env, const axis2_char_t * axis2_xml); /** * Creates deployment engine struct * @param env pointer to environment struct * @param repos_path is the path to which Repositary Listner should listen. * @param svr_xml_file pointer to service xml file * @return pointer to newly created deployment engine */ AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_repos_name_and_svr_xml_file( const axutil_env_t * env, const axis2_char_t * repos_path, const axis2_char_t * svr_xml_file); AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_svr_xml_file( const axutil_env_t * env, const axis2_char_t * svr_xml_file); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_desc_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_desc_builder *desc_builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_module_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_module_builder *module_builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_svc_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_svc_builder *svc_builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_svc_grp_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_svc_grp_builder *svc_grp_builder); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_DEP_ENGINE_H */ axis2c-src-1.6.0/src/core/deployment/svc_grp_builder.c0000644000175000017500000002455211166304442024061 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axis2_svc_grp_builder { axiom_node_t *svc_grp; axis2_desc_builder_t *desc_builder; }; AXIS2_EXTERN axis2_svc_grp_builder_t *AXIS2_CALL axis2_svc_grp_builder_create( const axutil_env_t * env) { axis2_svc_grp_builder_t *svc_grp_builder = NULL; AXIS2_ENV_CHECK(env, NULL); svc_grp_builder = (axis2_svc_grp_builder_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_svc_grp_builder_t)); if (!svc_grp_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } svc_grp_builder->svc_grp = NULL; svc_grp_builder->desc_builder = NULL; return svc_grp_builder; } AXIS2_EXTERN axis2_svc_grp_builder_t *AXIS2_CALL axis2_svc_grp_builder_create_with_svc_and_dep_engine( const axutil_env_t * env, axiom_node_t * svc_grp, axis2_dep_engine_t * dep_engine) { axis2_svc_grp_builder_t *svc_grp_builder = NULL; svc_grp_builder = (axis2_svc_grp_builder_t *) axis2_svc_grp_builder_create(env); if (!svc_grp_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); svc_grp_builder = NULL; } svc_grp_builder->desc_builder = axis2_desc_builder_create_with_dep_engine(env, dep_engine); if (!svc_grp_builder->desc_builder) { axis2_svc_grp_builder_free(svc_grp_builder, env); return NULL; } svc_grp_builder->svc_grp = svc_grp; return svc_grp_builder; } AXIS2_EXTERN void AXIS2_CALL axis2_svc_grp_builder_free( axis2_svc_grp_builder_t * svc_grp_builder, const axutil_env_t * env) { if (svc_grp_builder->desc_builder) { axis2_desc_builder_free(svc_grp_builder->desc_builder, env); } if (svc_grp_builder) { AXIS2_FREE(env->allocator, svc_grp_builder); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_builder_populate_svc_grp( axis2_svc_grp_builder_t * svc_grp_builder, const axutil_env_t * env, axis2_svc_grp_t * svc_grp) { axiom_children_qname_iterator_t *itr = NULL; axiom_children_qname_iterator_t *module_ref_itr = NULL; axiom_children_qname_iterator_t *svc_itr = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qmodulest = NULL; axutil_qname_t *qsvc_element = NULL; axiom_element_t *svc_grp_element = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_conf_t *parent = NULL; /* Processing service level paramters */ svc_grp_element = axiom_node_get_data_element(svc_grp_builder->svc_grp, env); qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); itr = axiom_element_get_children_with_qname(svc_grp_element, env, qparamst, svc_grp_builder->svc_grp); if (qparamst) { axutil_qname_free(qparamst, env); qparamst = NULL; } parent = axis2_svc_grp_get_parent(svc_grp, env); status = axis2_desc_builder_process_params(svc_grp_builder->desc_builder, env, itr, axis2_svc_grp_get_param_container (svc_grp, env), axis2_conf_get_param_container(parent, env)); /* Processing service modules required to be engaged globally */ qmodulest = axutil_qname_create(env, AXIS2_MODULEST, NULL, NULL); module_ref_itr = axiom_element_get_children_with_qname(svc_grp_element, env, qmodulest, svc_grp_builder-> svc_grp); if (qmodulest) { axutil_qname_free(qmodulest, env); qmodulest = NULL; } axis2_svc_grp_builder_process_module_refs(svc_grp_builder, env, module_ref_itr, svc_grp); qsvc_element = axutil_qname_create(env, AXIS2_SVC_ELEMENT, NULL, NULL); svc_itr = axiom_element_get_children_with_qname(svc_grp_element, env, qsvc_element, svc_grp_builder->svc_grp); if (qsvc_element) { axutil_qname_free(qsvc_element, env); qsvc_element = NULL; } while (axiom_children_qname_iterator_has_next(svc_itr, env)) { axiom_node_t *svc_node = NULL; axiom_element_t *svc_element = NULL; axiom_attribute_t *svc_name_att = NULL; axis2_char_t *svc_name = NULL; axutil_qname_t *qattname = NULL; svc_node = (axiom_node_t *) axiom_children_qname_iterator_next(svc_itr, env); svc_element = axiom_node_get_data_element(svc_node, env); qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); svc_name_att = axiom_element_get_attribute(svc_element, env, qattname); if (qattname) { axutil_qname_free(qattname, env); qattname = NULL; } svc_name = axiom_attribute_get_value(svc_name_att, env); if (!svc_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_NAME_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service name attribute has no value"); return AXIS2_FAILURE; } else { axis2_svc_t *axis_svc = NULL; axis2_arch_file_data_t *file_data = NULL; axutil_array_list_t *deployable_svcs = NULL; axis2_svc_builder_t *svc_builder = NULL; file_data = axis2_dep_engine_get_current_file_item (axis2_desc_builder_get_dep_engine (svc_grp_builder->desc_builder, env), env); axis_svc = axis2_arch_file_data_get_svc(file_data, env, svc_name); if (!axis_svc) { axutil_qname_t *qsvc_name = NULL; qsvc_name = axutil_qname_create(env, svc_name, NULL, NULL); axis_svc = axis2_svc_create_with_qname(env, qsvc_name); axutil_qname_free(qsvc_name, env); axis2_arch_file_data_add_svc(file_data, env, axis_svc); } /* Adding service to the deployable services list */ deployable_svcs = axis2_arch_file_data_get_deployable_svcs(file_data, env); axutil_array_list_add(deployable_svcs, env, axis_svc); axis2_svc_set_parent(axis_svc, env, svc_grp); svc_builder = axis2_svc_builder_create_with_dep_engine_and_svc(env, axis2_desc_builder_get_dep_engine (svc_grp_builder-> desc_builder, env), axis_svc); status = axis2_svc_builder_populate_svc(svc_builder, env, svc_node); axis2_svc_builder_free(svc_builder, env); } } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_builder_process_module_refs( axis2_svc_grp_builder_t * svc_grp_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs, axis2_svc_grp_t * svc_grp) { AXIS2_PARAM_CHECK(env->error, module_refs, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, svc_grp, AXIS2_FAILURE); while (axiom_children_qname_iterator_has_next(module_refs, env)) { axiom_node_t *module_ref_node = NULL; axiom_element_t *module_ref_element = NULL; axiom_attribute_t *module_ref_att = NULL; axutil_qname_t *qref = NULL; module_ref_node = (axiom_node_t *) axiom_children_qname_iterator_next(module_refs, env); module_ref_element = axiom_node_get_data_element(module_ref_node, env); qref = axutil_qname_create(env, AXIS2_REF, NULL, NULL); module_ref_att = axiom_element_get_attribute(module_ref_element, env, qref); if (module_ref_att) { axis2_char_t *ref_name = NULL; axutil_qname_t *qrefname = NULL; axis2_module_desc_t *module = NULL; ref_name = axiom_attribute_get_value(module_ref_att, env); qrefname = axutil_qname_create(env, ref_name, NULL, NULL); module = axis2_dep_engine_get_module(axis2_desc_builder_get_dep_engine (svc_grp_builder->desc_builder, env), env, qrefname); if (!module) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module %s not found in deployment engine.", ref_name); return AXIS2_FAILURE; } else { axis2_svc_grp_add_module_ref(svc_grp, env, qrefname); } axutil_qname_free(qrefname, env); } axutil_qname_free(qref, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_svc_grp_builder_get_desc_builder( const axis2_svc_grp_builder_t * svc_grp_builder, const axutil_env_t * env) { return svc_grp_builder->desc_builder; } axis2c-src-1.6.0/src/core/deployment/axis2_arch_reader.h0000644000175000017500000001167111166304442024260 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ARCH_READER_H #define AXIS2_ARCH_READER_H /** @defgroup axis2_arch_reader Arch Reader * @ingroup axis2_deployment * @{ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_conf; struct axis2_arch_file_data; struct axis2_dep_engine; /** Type name for struct axis2_arch_reader */ typedef struct axis2_arch_reader axis2_arch_reader_t; /** * De-allocate memory * @param arch_reader pointer to arch reader * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_arch_reader_free( axis2_arch_reader_t * arch_reader, const axutil_env_t * env); /** * To create a service descrption axis2_svc_t using given * deployment info file. * @param env pointer to environment struct * @param file pointer to file */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_arch_reader_create_svc( const axutil_env_t * env, struct axis2_arch_file_data *file); /** * Construct the path to the service group configuration file(services.xml) * using the passed file name and populate the passed service group * description. * @param arch_reader pointer to arch reader * @param env pointer to environment struct * @param file_name pointer to service group configuration file. * @param dep_engine pointer to deployment engine * @param svc_grp pointer to service group to be populated. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_reader_process_svc_grp( axis2_arch_reader_t * arch_reader, const axutil_env_t * env, axis2_char_t * file_name, struct axis2_dep_engine *dep_engine, axis2_svc_grp_t * svc_grp); /** * Populate the passed service group description using the service group * configuration file(services.xml). * @param arch_reader pointer to arch reader * @param env pointer to environment struct * @param file_path path to the service group configuration file(services.xml) * @param dep_engine pointer to deployment engine * @param svc_grp pointer to service group * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_reader_build_svc_grp( axis2_arch_reader_t * arch_reader, const axutil_env_t * env, axis2_char_t * file_path, struct axis2_dep_engine *dep_engine, struct axis2_svc_grp *svc_grp); /** * Construct the path to the module configuration file(module.xml) * using the passed file name and populate the passed module description. * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_reader_read_module_arch( const axutil_env_t * env, axis2_char_t * file_path, struct axis2_dep_engine *dep_engine, axis2_module_desc_t * module); /** * Create an axis2 file using the passed module name. * @param env pointer to environment struct * @param module_name pointer to module name */ AXIS2_EXTERN axutil_file_t *AXIS2_CALL axis2_arch_reader_create_module_arch( const axutil_env_t * env, axis2_char_t * module_name); /** * Creates arch reader struct * @param env pointer to environment struct * @return pointer to newly created arch reader */ AXIS2_EXTERN axis2_arch_reader_t *AXIS2_CALL axis2_arch_reader_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ARCH_READER_H */ axis2c-src-1.6.0/src/core/deployment/phases_info.c0000644000175000017500000004072511166304442023206 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axis2_phases_info { axutil_array_list_t *in_phases; axutil_array_list_t *out_phases; axutil_array_list_t *in_faultphases; axutil_array_list_t *out_faultphases; axutil_hash_t *op_in_phases; axutil_hash_t *op_out_phases; axutil_hash_t *op_in_faultphases; axutil_hash_t *op_out_faultphases; }; AXIS2_EXTERN axis2_phases_info_t *AXIS2_CALL axis2_phases_info_create( const axutil_env_t * env) { axis2_phases_info_t *phases_info = NULL; phases_info = (axis2_phases_info_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_phases_info_t)); if (!phases_info) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)phases_info, 0, sizeof (axis2_phases_info_t)); phases_info->op_in_phases = axutil_hash_make(env); phases_info->op_out_phases = axutil_hash_make(env); phases_info->op_in_faultphases = axutil_hash_make(env); phases_info->op_out_faultphases = axutil_hash_make(env); return phases_info; } AXIS2_EXTERN void AXIS2_CALL axis2_phases_info_free( axis2_phases_info_t * phases_info, const axutil_env_t * env) { if (phases_info->in_phases) { axutil_array_list_free(phases_info->in_phases, env); } if (phases_info->out_phases) { axutil_array_list_free(phases_info->out_phases, env); } if (phases_info->in_faultphases) { axutil_array_list_free(phases_info->in_faultphases, env); } if (phases_info->out_faultphases) { axutil_array_list_free(phases_info->out_faultphases, env); } if (phases_info->op_in_phases) { axutil_hash_free(phases_info->op_in_phases, env); } if (phases_info->op_out_phases) { axutil_hash_free(phases_info->op_out_phases, env); } if (phases_info->op_in_faultphases) { axutil_hash_free(phases_info->op_in_faultphases, env); } if (phases_info->op_out_faultphases) { axutil_hash_free(phases_info->op_out_faultphases, env); } if (phases_info) { AXIS2_FREE(env->allocator, phases_info); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_in_phases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * in_phases) { AXIS2_PARAM_CHECK(env->error, in_phases, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); if (phases_info->in_phases) { axutil_array_list_free(phases_info->in_phases, env); } phases_info->in_phases = in_phases; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_out_phases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * out_phases) { AXIS2_PARAM_CHECK(env->error, out_phases, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); if (phases_info->out_phases) { axutil_array_list_free(phases_info->out_phases, env); phases_info->out_phases = NULL; } phases_info->out_phases = out_phases; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_in_faultphases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * in_faultphases) { AXIS2_PARAM_CHECK(env->error, in_faultphases, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); if (phases_info->in_faultphases) { axutil_array_list_free(phases_info->in_faultphases, env); phases_info->in_faultphases = NULL; } phases_info->in_faultphases = in_faultphases; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_out_faultphases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * out_faultphases) { AXIS2_PARAM_CHECK(env->error, out_faultphases, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); if (phases_info->out_faultphases) { axutil_array_list_free(phases_info->out_faultphases, env); phases_info->out_faultphases = NULL; } phases_info->out_faultphases = out_faultphases; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_in_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, phases_info, NULL); return phases_info->in_phases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_out_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, phases_info, NULL); return phases_info->out_phases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_in_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, phases_info, NULL); return phases_info->in_faultphases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_out_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, phases_info, NULL); return phases_info->out_faultphases; } /* Here we create the operation inflow as an array list and create phases for phases defined in * inflow of axis2.xml and add them into the array list. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_in_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { struct axis2_phase *phase = NULL; int i = 0; int size = 0; axis2_char_t *phase_name = NULL; axutil_array_list_t *op_in_phases = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, phases_info, NULL); op_in_phases = axutil_array_list_create(env, 0); if (!op_in_phases) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (!phases_info->in_phases) { return op_in_phases; } /* For each inflow phase name create a phase instance and add into the inflow. */ size = axutil_array_list_size(phases_info->in_phases, env); for (i = 0; i < size; i++) { phase_name = (axis2_char_t *) axutil_array_list_get(phases_info->in_phases, env, i); if (!axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name) || !axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name) || !axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name) || !axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) { /* We are not concerned here with system phases. */ } else { /* This is the cause for jira AXIS2C-624. As solution I create new * phases for each operation specific flow making the operation * the owner of the flow and the phases contained within it*/ /*phase = axutil_hash_get(phases_info->op_in_phases, phase_name, AXIS2_HASH_KEY_STRING); if(!phase) { phase = axis2_phase_create(env, phase_name); axutil_hash_set(phases_info->op_in_phases, phase_name, AXIS2_HASH_KEY_STRING, phase); } */ phase = axis2_phase_create(env, phase_name); status = axutil_array_list_add(op_in_phases, env, phase); if (AXIS2_SUCCESS != status) { int i = 0; int size = 0; axis2_phase_free(phase, env); phase = NULL; size = axutil_array_list_size(op_in_phases, env); for (i = 0; i < size; i++) { phase = axutil_array_list_get(op_in_phases, env, i); axis2_phase_free(phase, env); phase = NULL; } axutil_array_list_free(op_in_phases, env); op_in_phases = NULL; return NULL; } } } return op_in_phases; } /* Here we create the operation outflow as an array list and create phases for phases defined in * outflow of axis2.xml and add them into the array list. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_out_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { struct axis2_phase *phase = NULL; int i = 0; int size = 0; axis2_char_t *phase_name = NULL; axutil_array_list_t *op_out_phases = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, phases_info, NULL); if (phases_info->out_phases) { size = axutil_array_list_size(phases_info->out_phases, env); } op_out_phases = axutil_array_list_create(env, 0); if (!op_out_phases) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } for (i = 0; i < size; i++) { phase_name = (axis2_char_t *) axutil_array_list_get(phases_info->out_phases, env, i); phase = axis2_phase_create(env, phase_name); status = axutil_array_list_add(op_out_phases, env, phase); if (AXIS2_SUCCESS != status) { int i = 0; int size = 0; axis2_phase_free(phase, env); phase = NULL; size = axutil_array_list_size(op_out_phases, env); for (i = 0; i < size; i++) { phase = axutil_array_list_get(op_out_phases, env, i); axis2_phase_free(phase, env); phase = NULL; } axutil_array_list_free(op_out_phases, env); op_out_phases = NULL; return NULL; } } return op_out_phases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_in_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { int i = 0; int size = 0; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *phase_name = NULL; axutil_array_list_t *op_in_faultphases = NULL; struct axis2_phase *phase = NULL; AXIS2_PARAM_CHECK(env->error, phases_info, NULL); if (!phases_info->in_faultphases) { return NULL; } size = axutil_array_list_size(phases_info->in_faultphases, env); if (0 == size) { return NULL; } op_in_faultphases = axutil_array_list_create(env, 0); if (!op_in_faultphases) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } for (i = 0; i < size; i++) { phase_name = (axis2_char_t *) axutil_array_list_get(phases_info->in_faultphases, env, i); phase = axis2_phase_create(env, phase_name); status = axutil_array_list_add(op_in_faultphases, env, phase); if (AXIS2_SUCCESS != status) { int i = 0; int size = 0; axis2_phase_free(phase, env); phase = NULL; size = axutil_array_list_size(op_in_faultphases, env); for (i = 0; i < size; i++) { phase = axutil_array_list_get(op_in_faultphases, env, i); axis2_phase_free(phase, env); phase = NULL; } axutil_array_list_free(op_in_faultphases, env); op_in_faultphases = NULL; return NULL; } } return op_in_faultphases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_out_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env) { int i = 0; int size = 0; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *phase_name = NULL; axutil_array_list_t *op_out_faultphases = NULL; struct axis2_phase *phase = NULL; AXIS2_PARAM_CHECK(env->error, phases_info, NULL); if (!phases_info->out_faultphases) { return NULL; } size = axutil_array_list_size(phases_info->out_faultphases, env); if (0 == size) { return NULL; } op_out_faultphases = axutil_array_list_create(env, 0); if (!op_out_faultphases) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } for (i = 0; i < size; i++) { phase_name = (axis2_char_t *) axutil_array_list_get(phases_info->out_faultphases, env, i); phase = axis2_phase_create(env, phase_name); status = axutil_array_list_add(op_out_faultphases, env, phase); if (AXIS2_SUCCESS != status) { int i = 0; int size = 0; axis2_phase_free(phase, env); phase = NULL; size = axutil_array_list_size(op_out_faultphases, env); for (i = 0; i < size; i++) { phase = axutil_array_list_get(op_out_faultphases, env, i); axis2_phase_free(phase, env); phase = NULL; } axutil_array_list_free(op_out_faultphases, env); op_out_faultphases = NULL; return NULL; } } return op_out_faultphases; } /* * Get user defined phase instances for each flow defined in axis2.xml in an array list and add it * into operation. This is called service builder, module builder and service client to add phases * into operations. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_op_phases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axis2_op_t * op_desc) { axis2_status_t status = AXIS2_FAILURE; axutil_array_list_t *op_in_phases = NULL; axutil_array_list_t *op_out_phases = NULL; axutil_array_list_t *op_in_faultphases = NULL; axutil_array_list_t *op_out_faultphases = NULL; AXIS2_PARAM_CHECK(env->error, op_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); op_in_phases = axis2_phases_info_get_op_in_phases(phases_info, env); if (!op_in_phases) { status = AXIS2_ERROR_GET_STATUS_CODE(env->error); /* op_in_phases cannot be NULL */ return status; } op_out_phases = axis2_phases_info_get_op_out_phases(phases_info, env); if (!op_out_phases) { status = AXIS2_ERROR_GET_STATUS_CODE(env->error); /* op_out_phases cannot be NULL */ return status; } op_in_faultphases = axis2_phases_info_get_op_in_faultphases(phases_info, env); op_out_faultphases = axis2_phases_info_get_op_out_faultphases(phases_info, env); status = axis2_op_set_in_flow(op_desc, env, op_in_phases); status = axis2_op_set_out_flow(op_desc, env, op_out_phases); if (op_in_faultphases) { status = axis2_op_set_fault_in_flow(op_desc, env, op_in_faultphases); } if (op_out_faultphases) { status = axis2_op_set_fault_out_flow(op_desc, env, op_out_faultphases); } return status; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_copy_flow( const axutil_env_t * env, const axutil_array_list_t * flow_to_copy) { int size = 0, i = 0; axutil_array_list_t *new_flow = NULL; if (flow_to_copy) { size = axutil_array_list_size((axutil_array_list_t *) flow_to_copy, env); } if (size > 0) { new_flow = axutil_array_list_create(env, 0); if (!new_flow) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } for (i = 0; i < size; i++) { void *item = axutil_array_list_get((axutil_array_list_t *) flow_to_copy, env, i); axis2_phase_increment_ref((axis2_phase_t *) item, env); axutil_array_list_add(new_flow, env, item); } return new_flow; } axis2c-src-1.6.0/src/core/deployment/conf_init.c0000644000175000017500000003431411166304442022655 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #define DEFAULT_REPO_PATH "." axis2_status_t AXIS2_CALL axis2_init_modules( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); static axis2_status_t AXIS2_CALL axis2_load_services( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); axis2_status_t AXIS2_CALL axis2_init_transports( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_build_conf_ctx( const axutil_env_t * env, const axis2_char_t * repo_name) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_dep_engine_t *dep_engine = NULL; axis2_conf_t *conf = NULL; axutil_property_t *property = NULL; axis2_ctx_t *conf_ctx_base = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_build_conf_ctx"); dep_engine = axis2_dep_engine_create_with_repos_name(env, repo_name); if (!dep_engine) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating deployment engine failed for repository %s", repo_name); return NULL; } conf = axis2_dep_engine_load(dep_engine, env); if (!conf) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading deployment engine failed for repository %s.", repo_name); axis2_dep_engine_free(dep_engine, env); return NULL; } axis2_conf_set_dep_engine(conf, env, dep_engine); conf_ctx = axis2_conf_ctx_create(env, conf); if (!conf_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating Axis2 configuration context failed."); return NULL; } conf_ctx_base = axis2_conf_ctx_get_base(conf_ctx, env); property = axutil_property_create_with_args(env, 2, 0, 0, AXIS2_VALUE_TRUE); axis2_ctx_set_property(conf_ctx_base, env, AXIS2_IS_SVR_SIDE, property); axis2_init_modules(env, conf_ctx); axis2_load_services(env, conf_ctx); axis2_init_transports(env, conf_ctx); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_build_conf_ctx"); return conf_ctx; } AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_build_conf_ctx_with_file( const axutil_env_t * env, const axis2_char_t * file) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_dep_engine_t *dep_engine = NULL; axis2_conf_t *conf = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_build_conf_ctx_with_file"); dep_engine = axis2_dep_engine_create_with_axis2_xml (env, file); if (!dep_engine) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating deployment engine for given Axis2 configuration file"\ "(axis2.xml) failed"); return NULL; } conf = axis2_dep_engine_load(dep_engine, env); if (!conf) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading deployment engine failed for given Axis2 configuration "\ "file(axis2.xml)"); axis2_dep_engine_free(dep_engine, env); return NULL; } axis2_conf_set_dep_engine(conf, env, dep_engine); conf_ctx = axis2_conf_ctx_create(env, conf); if (!conf_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating Axis2 configuration context failed"); return NULL; } axis2_init_modules(env, conf_ctx); axis2_load_services(env, conf_ctx); axis2_init_transports(env, conf_ctx); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_build_conf_ctx_with_file"); return conf_ctx; } axis2_conf_ctx_t *AXIS2_CALL axis2_build_client_conf_ctx( const axutil_env_t * env, const axis2_char_t * axis2_home) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_dep_engine_t *dep_engine = NULL; axis2_conf_t *conf = NULL; axutil_property_t *property = NULL; axis2_ctx_t *conf_ctx_base = NULL; axis2_status_t status; unsigned int len = 0; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_build_client_conf_ctx"); /* Building conf using axis2.xml, in that case we check whether * last 9 characters of the axis2_home equals to the "axis2.xml" * else treat it as a directory */ status = axutil_file_handler_access (axis2_home, AXIS2_R_OK); if (status == AXIS2_SUCCESS) { len = (int)strlen (axis2_home); /* We are sure that the difference lies within the int range */ if ((len >= 9) && !strcmp ((axis2_home + (len - 9)), "axis2.xml")) { dep_engine = axis2_dep_engine_create_with_axis2_xml (env, axis2_home); } else { dep_engine = axis2_dep_engine_create(env); } } else { AXIS2_LOG_WARNING (env->log, AXIS2_LOG_SI, "Provided client repository path %s does not exsist or no "\ "permission to read, therefore set axis2c home to DEFAULT_REPO_PATH.", axis2_home); axis2_home = DEFAULT_REPO_PATH; dep_engine = axis2_dep_engine_create(env); } if (!dep_engine) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating deployment engine for client repository %s failed." , axis2_home); return NULL; } conf = axis2_dep_engine_load_client(dep_engine, env, axis2_home); if (!conf) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading deployment engine failed for client repository %s", axis2_home); axis2_dep_engine_free(dep_engine, env); return NULL; } axis2_conf_set_dep_engine(conf, env, dep_engine); conf_ctx = axis2_conf_ctx_create(env, conf); if (!conf_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating Axis2 configuration context failed"); return NULL; } conf_ctx_base = axis2_conf_ctx_get_base(conf_ctx, env); property = axutil_property_create_with_args(env, 2, 0, 0, AXIS2_VALUE_FALSE); axis2_ctx_set_property(conf_ctx_base, env, AXIS2_IS_SVR_SIDE, property); axis2_init_modules(env, conf_ctx); axis2_init_transports(env, conf_ctx); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_build_client_conf_ctx"); return conf_ctx; } axis2_status_t AXIS2_CALL axis2_init_modules( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axis2_conf_t *conf = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_init_modules"); AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_hash_t *module_map = axis2_conf_get_all_modules(conf, env); if (module_map) { axutil_hash_index_t *hi = NULL; void *module = NULL; for (hi = axutil_hash_first(module_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &module); if (module) { axis2_module_desc_t *mod_desc = (axis2_module_desc_t *) module; if (mod_desc) { axis2_module_t *mod = axis2_module_desc_get_module(mod_desc, env); if (mod) { axis2_module_init(mod, env, conf_ctx, mod_desc); } } } } } status = AXIS2_SUCCESS; } else { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Retrieving Axis2 configuration from Axis2 configuration context "\ "failed. Initializing modules failed"); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_init_modules"); return status; } static axis2_status_t AXIS2_CALL axis2_load_services( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axis2_conf_t *conf = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_load_services"); AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_hash_t *svc_map = axis2_conf_get_all_svcs_to_load(conf, env); if (svc_map) { axutil_hash_index_t *hi = NULL; void *svc = NULL; for (hi = axutil_hash_first(svc_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &svc); if (svc) { axis2_svc_t *svc_desc = (axis2_svc_t *) svc; if (svc_desc) { axutil_param_t *impl_info_param = NULL; void *impl_class = NULL; const axis2_char_t *svc_name = axis2_svc_get_name(svc_desc, env); impl_info_param = axis2_svc_get_param( svc_desc, env, AXIS2_SERVICE_CLASS); if (!impl_info_param) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid state of the service %s", svc_name); return AXIS2_FAILURE; } axutil_allocator_switch_to_global_pool(env->allocator); axutil_class_loader_init(env); impl_class = axutil_class_loader_create_dll(env, impl_info_param); if(!impl_class) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service %s could not be loaded", svc_name); axutil_allocator_switch_to_local_pool(env->allocator); return AXIS2_FAILURE; } axis2_svc_set_impl_class(svc_desc, env, impl_class); status = AXIS2_SVC_SKELETON_INIT_WITH_CONF( (axis2_svc_skeleton_t *) impl_class, env, conf); axutil_allocator_switch_to_local_pool(env->allocator); if(!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Initialization failed for the service %s. "\ "Check the service's init_with_conf() "\ "function for errors and retry", svc_name); } } } } } status = AXIS2_SUCCESS; } else { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Retrieving Axis2 configuration from Axis2 configuration context "\ "failed, Loading services failed"); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_load_services"); return status; } axis2_status_t AXIS2_CALL axis2_init_transports( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axis2_conf_t *conf = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_init_transports"); AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axis2_transport_in_desc_t **transport_in_map = NULL; axis2_transport_out_desc_t **transport_out_map = NULL; int i = 0; transport_in_map = axis2_conf_get_all_in_transports(conf, env); for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { if (transport_in_map[i]) { axis2_transport_receiver_t *listener = axis2_transport_in_desc_get_recv(transport_in_map[i], env); if (listener) { status = axis2_transport_receiver_init(listener, env, conf_ctx, transport_in_map[i]); } } } transport_out_map = axis2_conf_get_all_out_transports(conf, env); for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { if (transport_out_map[i]) { axis2_transport_sender_t *sender = axis2_transport_out_desc_get_sender(transport_out_map[i], env); if (sender) { status = AXIS2_TRANSPORT_SENDER_INIT(sender, env, conf_ctx, transport_out_map[i]); } } } status = AXIS2_SUCCESS; } else { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Retrieving Axis2 configuration from Axis2 configuration context "\ "failed. Initializing transports failed"); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_init_transports"); return status; } axis2c-src-1.6.0/src/core/deployment/axis2_deployment.h0000644000175000017500000000704711166304442024203 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DEPLOYMENT_H #define AXIS2_DEPLOYMENT_H /** * @file axis2_axis2_deployment.h * @brief axis2 deployment */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /*********************************** Constansts********************************/ /** * DeployCons interface is to keep constent value required for Deployemnt */ #define AXIS2_SVC 0 /* if it is a service */ #define AXIS2_MODULE 1 /* if it is a module */ #define AXIS2_SVC_XML "services.xml" #define AXIS2_MODULE_XML "module.xml" #define AXIS2_PARAMETERST "parameter" /* paramater start tag */ #define AXIS2_HANDLERST "handler" #define AXIS2_MODULEST "module" #define AXIS2_PHASEST "phase" #define AXIS2_PHASE_ORDER "phaseOrder" #define AXIS2_OPERATIONST "operation" /* operation start tag */ #define AXIS2_IN_FLOW_START "inflow" /* inflow start tag */ #define AXIS2_OUT_FLOW_START "outflow" /* outflowr start tag */ #define AXIS2_IN_FAILTFLOW "INfaultflow" /* faultflow start tag */ #define AXIS2_OUT_FAILTFLOW "Outfaultflow" /* faultflow start tag */ #define AXIS2_MODULE_PATH "modules" #define AXIS2_SVC_PATH "services" /* for parameters */ #define AXIS2_ATTNAME "name" #define AXIS2_ATTLOCKED "locked" #define AXIS2_TYPE "type" /* for operations */ #define AXIS2_MEP "mep" /* for messages */ #define AXIS2_MESSAGE "message" #define AXIS2_LABEL "label" /* for handlers */ #define AXIS2_REF "ref" #define AXIS2_CLASSNAME "class" #define AXIS2_BEFORE "before" #define AXIS2_AFTER "after" #define AXIS2_PHASE "phase" #define AXIS2_PHASEFIRST "phaseFirst" #define AXIS2_PHASELAST "phaseLast" #define AXIS2_ORDER "order" /* to resolve the order tag */ #define AXIS2_DESCRIPTION "description" #define AXIS2_TRANSPORTSENDER "transportSender" #define AXIS2_TRANSPORTRECEIVER "transportReceiver" #define AXIS2_MESSAGERECEIVER "messageReceiver" #define AXIS2_HOTDEPLOYMENT "hotdeployment" #define AXIS2_HOTUPDATE "hotupdate" #define AXIS2_DISPATCH_ORDER "dispatchOrder" #define AXIS2_DISPATCHER "dispatcher" /* element in a services.xml */ #define AXIS2_SVC_ELEMENT "service" #define AXIS2_SVC_WSDL_PATH "wsdl_path" #define AXIS2_SVC_GRP_ELEMENT "serviceGroup" #define AXIS2_SERVER_XML_FILE "axis2.xml" #define AXIS2_MODULE_FOLDER "modules" #define AXIS2_SERVICE_FOLDER "services" #define AXIS2_LIB_FOLDER "lib" #define AXIS2_LIB_DIR "libDir" #define AXIS2_ATTRIBUTE_DEFAULT_VERSION "version" #define AXIS2_DEFAULT_MODULE_VERSION "defaultModuleVersions" /*********************************** Constants*********************************/ #ifdef __cplusplus } #endif #endif /* AXIS2_DEPLOYMENT_H */ axis2c-src-1.6.0/src/core/deployment/svc_builder.c0000644000175000017500000010521011166304442023200 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include struct axis2_svc_builder { axis2_svc_t *svc; struct axis2_desc_builder *desc_builder; }; static axutil_array_list_t *axis2_svc_builder_process_ops( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * op_itr); static void axis2_svc_builder_process_msgs( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * iterator, axis2_op_t * op); AXIS2_EXTERN axis2_svc_builder_t *AXIS2_CALL axis2_svc_builder_create( const axutil_env_t * env) { axis2_svc_builder_t *svc_builder = NULL; svc_builder = (axis2_svc_builder_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_svc_builder_t)); if (!svc_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Allocation to svc_builder failed"); return NULL; } svc_builder->desc_builder = NULL; svc_builder->svc = NULL; return svc_builder; } AXIS2_EXTERN axis2_svc_builder_t *AXIS2_CALL axis2_svc_builder_create_with_file_and_dep_engine_and_svc( const axutil_env_t * env, axis2_char_t * file_name, struct axis2_dep_engine * dep_engine, axis2_svc_t * svc) { axis2_svc_builder_t *svc_builder = NULL; AXIS2_PARAM_CHECK(env->error, file_name, NULL); AXIS2_PARAM_CHECK(env->error, dep_engine, NULL); AXIS2_PARAM_CHECK(env->error, svc, NULL); svc_builder = (axis2_svc_builder_t *) axis2_svc_builder_create(env); if (!svc_builder) { return NULL; } svc_builder->desc_builder = axis2_desc_builder_create_with_file_and_dep_engine(env, file_name, dep_engine); if (!svc_builder->desc_builder) { axis2_svc_builder_free(svc_builder, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating description builder for service builder %s failed", file_name); return NULL; } svc_builder->svc = svc; return svc_builder; } AXIS2_EXTERN axis2_svc_builder_t *AXIS2_CALL axis2_svc_builder_create_with_dep_engine_and_svc( const axutil_env_t * env, axis2_dep_engine_t * dep_engine, axis2_svc_t * svc) { axis2_svc_builder_t *svc_builder = NULL; AXIS2_PARAM_CHECK(env->error, dep_engine, NULL); AXIS2_PARAM_CHECK(env->error, svc, NULL); svc_builder = (axis2_svc_builder_t *) axis2_svc_builder_create(env); if (!svc_builder) { return NULL; } svc_builder->desc_builder = axis2_desc_builder_create_with_dep_engine(env, dep_engine); if (!svc_builder->desc_builder) { axis2_svc_builder_free(svc_builder, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating description builder for service builder failed"); return NULL; } svc_builder->svc = svc; return svc_builder; } AXIS2_EXTERN void AXIS2_CALL axis2_svc_builder_free( axis2_svc_builder_t * svc_builder, const axutil_env_t * env) { if (svc_builder->desc_builder) { axis2_desc_builder_free(svc_builder->desc_builder, env); } svc_builder->svc = NULL; if (svc_builder) { AXIS2_FREE(env->allocator, svc_builder); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_builder_populate_svc( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_node_t * svc_node) { axiom_element_t *svc_element = NULL; axiom_children_qname_iterator_t *itr = NULL; axiom_children_qname_iterator_t *operation_itr = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qdesc = NULL; axutil_qname_t *qmodulest = NULL; axutil_qname_t *qinflowst = NULL; axutil_qname_t *qoutflowst = NULL; axutil_qname_t *qin_faultflowst = NULL; axutil_qname_t *qout_faultflowst = NULL; axutil_qname_t *qopst = NULL; axutil_qname_t *qattname = NULL; axutil_qname_t *qpolicy = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_svc_grp_t *parent = NULL; axiom_element_t *desc_element = NULL; axiom_node_t *desc_node = NULL; axiom_children_qname_iterator_t *module_refs = NULL; axiom_node_t *in_flow_node = NULL; axiom_element_t *in_flow_element = NULL; axiom_node_t *out_flow_node = NULL; axiom_element_t *out_flow_element = NULL; axiom_node_t *in_faultflow_node = NULL; axiom_element_t *in_faultflow_element = NULL; axiom_node_t *out_faultflow_node = NULL; axiom_element_t *out_faultflow_element = NULL; axiom_attribute_t *name_attr = NULL; axutil_array_list_t *ops = NULL; axis2_char_t *svc_name = NULL; axis2_char_t *class_name = NULL; axis2_char_t *svc_dll_name = NULL; axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; axutil_param_t *wsdl_path_param = NULL; axis2_char_t *wsdl_path = NULL; axis2_arch_file_data_t *arch_file_data = NULL; axutil_file_t *svc_folder = NULL; axis2_char_t *dll_path = NULL; axis2_char_t *svc_folder_path = NULL; int i = 0; int size = 0; AXIS2_TIME_T timestamp = 0; axis2_desc_t *desc = NULL; axis2_policy_include_t *policy_include = NULL; axutil_qname_t *qname_addressing = NULL; axis2_bool_t addressing_engaged = AXIS2_FALSE; axutil_array_list_t *svc_module_qnames = NULL; int svc_module_qname_size = 0; AXIS2_PARAM_CHECK(env->error, svc_node, AXIS2_FAILURE); svc_element = axiom_node_get_data_element(svc_node, env); /* Processing service level paramters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); if (!qparamst) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } itr = axiom_element_get_children_with_qname(svc_element, env, qparamst, svc_node); axutil_qname_free(qparamst, env); qparamst = NULL; parent = axis2_svc_get_parent(svc_builder->svc, env); desc = axis2_svc_get_base(svc_builder->svc, env); policy_include = axis2_desc_get_policy_include(desc, env); status = axis2_desc_builder_process_params(svc_builder->desc_builder, env, itr, axis2_svc_get_param_container (svc_builder->svc, env), axis2_svc_grp_get_param_container (parent, env)); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Processing parameters failed"); return status; } /* process service description */ qdesc = axutil_qname_create(env, AXIS2_DESCRIPTION, NULL, NULL); desc_element = axiom_element_get_first_child_with_qname(svc_element, env, qdesc, svc_node, &desc_node); axutil_qname_free(qdesc, env); qdesc = NULL; if (desc_element) { axiom_element_t *desc_value_element = NULL; axiom_node_t *desc_value_node = NULL; axis2_char_t *description_text = NULL; desc_value_element = axiom_element_get_first_element(desc_element, env, desc_node, &desc_value_node); description_text = axiom_element_get_text(desc_element, env, desc_node); if (description_text) { axis2_svc_set_svc_desc(svc_builder->svc, env, description_text); } } /* wsdl path */ wsdl_path_param = axutil_param_container_get_param(axis2_svc_get_param_container (svc_builder->svc, env), env, AXIS2_SVC_WSDL_PATH); if (wsdl_path_param) { wsdl_path = axutil_param_get_value(wsdl_path_param, env); } if (wsdl_path) { axis2_svc_set_svc_wsdl_path(svc_builder->svc, env, wsdl_path); } qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); name_attr = axiom_element_get_attribute(svc_element, env, qattname); svc_name = axiom_attribute_get_value(name_attr, env); axis2_svc_set_name(svc_builder->svc, env, svc_name); axutil_qname_free(qattname, env); /* create dll_desc and set it in a parameter. then set that param in param * container taken from svc */ dll_desc = axutil_dll_desc_create(env); impl_info_param = axutil_param_container_get_param(axis2_svc_get_param_container (svc_builder->svc, env), env, AXIS2_SERVICE_CLASS); if (!impl_info_param) { axutil_dll_desc_free(dll_desc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s parameter not found", AXIS2_SERVICE_CLASS); return AXIS2_FAILURE; } class_name = axutil_strtrim(env, axutil_param_get_value(impl_info_param, env), NULL); svc_dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, class_name); if (class_name) { AXIS2_FREE(env->allocator, class_name); class_name = NULL; } arch_file_data = axis2_dep_engine_get_current_file_item(axis2_desc_builder_get_dep_engine (svc_builder->desc_builder, env), env); svc_folder = axis2_arch_file_data_get_file(arch_file_data, env); timestamp = axutil_file_get_timestamp(svc_folder, env); axutil_dll_desc_set_timestamp(dll_desc, env, timestamp); svc_folder_path = axutil_file_get_path(svc_folder, env); axis2_svc_set_svc_folder_path(svc_builder->svc, env, svc_folder_path); dll_path = axutil_strcat(env, svc_folder_path, AXIS2_PATH_SEP_STR, svc_dll_name, NULL); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "DLL path is : %s", dll_path); status = axutil_dll_desc_set_name(dll_desc, env, dll_path); if (AXIS2_SUCCESS != status) { axutil_dll_desc_free(dll_desc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name to %s dll description failed", dll_path); return status; } AXIS2_FREE(env->allocator, dll_path); dll_path = NULL; axutil_dll_desc_set_type(dll_desc, env, AXIS2_SVC_DLL); status = axutil_param_set_value(impl_info_param, env, dll_desc); axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); if (AXIS2_SUCCESS != status) { axutil_dll_desc_free(dll_desc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting dll_desc to parameter %s failed", class_name); return status; } /* processing service wide modules which required to engage globally */ qmodulest = axutil_qname_create(env, AXIS2_MODULEST, NULL, NULL); module_refs = axiom_element_get_children_with_qname(svc_element, env, qmodulest, svc_node); axutil_qname_free(qmodulest, env); qmodulest = NULL; status = axis2_svc_builder_process_module_refs(svc_builder, env, module_refs); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Processing module references failed"); return status; } if(!addressing_engaged) { svc_module_qnames = axis2_svc_get_all_module_qnames(svc_builder->svc, env); if (svc_module_qnames) { svc_module_qname_size = axutil_array_list_size(svc_module_qnames, env); qname_addressing = axutil_qname_create(env, AXIS2_MODULE_ADDRESSING, NULL, NULL); for (i = 0; i < svc_module_qname_size; i++) { if (axutil_qname_equals(axutil_array_list_get(svc_module_qnames, env, i), env, qname_addressing)) { addressing_engaged = AXIS2_TRUE; break; } } axutil_qname_free(qname_addressing, env); } svc_module_qnames = NULL; } /* process IN_FLOW */ qinflowst = axutil_qname_create(env, AXIS2_IN_FLOW_START, NULL, NULL); in_flow_element = axiom_element_get_first_child_with_qname(svc_element, env, qinflowst, svc_node, &in_flow_node); axutil_qname_free(qinflowst, env); qinflowst = NULL; qoutflowst = axutil_qname_create(env, AXIS2_OUT_FLOW_START, NULL, NULL); out_flow_element = axiom_element_get_first_child_with_qname(svc_element, env, qoutflowst, svc_node, &out_flow_node); axutil_qname_free(qoutflowst, env); qoutflowst = NULL; qin_faultflowst = axutil_qname_create(env, AXIS2_IN_FAILTFLOW, NULL, NULL); in_faultflow_element = axiom_element_get_first_child_with_qname(svc_element, env, qin_faultflowst, svc_node, &in_faultflow_node); axutil_qname_free(qin_faultflowst, env); qin_faultflowst = NULL; qout_faultflowst = axutil_qname_create(env, AXIS2_OUT_FAILTFLOW, NULL, NULL); out_faultflow_element = axiom_element_get_first_child_with_qname(svc_element, env, qoutflowst, svc_node, &out_faultflow_node); axutil_qname_free(qout_faultflowst, env); qout_faultflowst = NULL; /* processing operations */ qopst = axutil_qname_create(env, AXIS2_OPERATIONST, NULL, NULL); operation_itr = axiom_element_get_children_with_qname(svc_element, env, qopst, svc_node); axutil_qname_free(qopst, env); qopst = NULL; ops = axis2_svc_builder_process_ops(svc_builder, env, operation_itr); if (ops) { size = axutil_array_list_size(ops, env); } for (i = 0; i < size; i++) { axis2_op_t *op_desc = NULL; axutil_array_list_t *params = NULL; int j = 0; int sizej = 0; op_desc = (axis2_op_t *) axutil_array_list_get(ops, env, i); if (addressing_engaged) { params = axis2_op_get_all_params(op_desc, env); /* Adding wsa-mapping into service */ sizej = axutil_array_list_size(params, env); for (j = 0; j < sizej; j++) { axutil_param_t *param = NULL; axis2_char_t *param_name = NULL; param = axutil_array_list_get(params, env, j); param_name = axutil_param_get_name(param, env); if (0 == axutil_strcmp(param_name, AXIS2_WSA_MAPPING)) { axis2_char_t *key = NULL; key = (axis2_char_t *) axutil_param_get_value(param, env); axis2_svc_add_mapping(svc_builder->svc, env, key, op_desc); } } } axis2_svc_add_op(svc_builder->svc, env, op_desc); if (axis2_op_get_rest_http_method(op_desc, env) && axis2_op_get_rest_http_location(op_desc, env) ) { axis2_svc_add_rest_mapping(svc_builder->svc, env, axis2_op_get_rest_http_method(op_desc, env), axis2_op_get_rest_http_location(op_desc, env), op_desc); } } axutil_array_list_free(ops, env); /* setting the PolicyInclude processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(svc_element, env, qpolicy, svc_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(svc_element, env, qpolicy, svc_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_elements(env, AXIS2_SERVICE_POLICY, itr, policy_include); } /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(svc_element, env, qpolicy, svc_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(svc_element, env, qpolicy, svc_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_reference_elements(env, AXIS2_POLICY_REF, itr, policy_include); } return AXIS2_SUCCESS; } static axutil_array_list_t * axis2_svc_builder_process_ops( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * op_itr) { axutil_array_list_t *ops = NULL; AXIS2_PARAM_CHECK(env->error, op_itr, NULL); ops = axutil_array_list_create(env, 0); while (AXIS2_TRUE == axiom_children_qname_iterator_has_next(op_itr, env)) { axiom_element_t *op_element = NULL; axiom_node_t *op_node = NULL; axiom_attribute_t *op_name_att = NULL; axiom_attribute_t *op_mep_att = NULL; axutil_qname_t *qmep = NULL; axutil_qname_t *qopname = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qmsgrecv = NULL; axutil_qname_t *qmodulest = NULL; axutil_qname_t *qattname = NULL; axis2_char_t *mep_url = NULL; axis2_char_t *op_name = NULL; axis2_op_t *op_desc = NULL; axiom_children_qname_iterator_t *params_itr = NULL; axiom_children_qname_iterator_t *module_itr = NULL; axiom_element_t *recv_element = NULL; axiom_node_t *recv_node = NULL; axis2_status_t status = AXIS2_FAILURE; struct axis2_dep_engine *dep_engine = NULL; axis2_desc_t *desc = NULL; axis2_policy_include_t *policy_include = NULL; axiom_children_qname_iterator_t *itr = NULL; axutil_qname_t *qpolicy = NULL; axutil_qname_t *qmessage = NULL; op_node = axiom_children_qname_iterator_next(op_itr, env); /* getting operation name */ op_element = axiom_node_get_data_element(op_node, env); qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); op_name_att = axiom_element_get_attribute(op_element, env, qattname); axutil_qname_free(qattname, env); qattname = NULL; if (!op_name_att) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OP_NAME_MISSING, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return NULL; } op_name = axiom_attribute_get_value(op_name_att, env); qopname = axutil_qname_create(env, op_name, NULL, NULL); op_desc = axis2_op_create(env); axis2_op_set_qname(op_desc, env, qopname); axutil_qname_free(qopname, env); qopname = NULL; /* set the mep of the operation */ qmep = axutil_qname_create(env, AXIS2_MEP, NULL, NULL); op_mep_att = axiom_element_get_attribute(op_element, env, qmep); axutil_qname_free(qmep, env); qmep = NULL; op_name = axiom_attribute_get_value(op_name_att, env); if (op_mep_att) { mep_url = axiom_attribute_get_value(op_mep_att, env); if (mep_url) { axis2_op_set_msg_exchange_pattern(op_desc, env, mep_url); } } desc = axis2_op_get_base(op_desc, env); policy_include = axis2_desc_get_policy_include(desc, env); /* operation parameters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); params_itr = axiom_element_get_children_with_qname(op_element, env, qparamst, op_node); axutil_qname_free(qparamst, env); qparamst = NULL; status = axis2_desc_builder_process_params(svc_builder->desc_builder, env, params_itr, axis2_op_get_param_container (op_desc, env), axis2_svc_get_param_container (svc_builder->svc, env)); /* To process wsamapping */ axis2_desc_builder_process_action_mappings(svc_builder->desc_builder, env, op_node, op_desc); /* To process REST params */ axis2_desc_builder_process_rest_params(svc_builder->desc_builder, env, op_node, op_desc); /* loading the message receivers */ qmsgrecv = axutil_qname_create(env, AXIS2_MESSAGERECEIVER, NULL, NULL); recv_element = axiom_element_get_first_child_with_qname(op_element, env, qmsgrecv, op_node, &recv_node); axutil_qname_free(qmsgrecv, env); qmsgrecv = NULL; if (recv_element && NULL != recv_node) { axis2_msg_recv_t *msg_recv = NULL; msg_recv = axis2_desc_builder_load_msg_recv(svc_builder->desc_builder, env, recv_element); axis2_op_set_msg_recv(op_desc, env, msg_recv); } else { axis2_msg_recv_t *msg_recv = NULL; /* setting the default message receiver */ msg_recv = axis2_desc_builder_load_default_msg_recv(env); axis2_op_set_msg_recv(op_desc, env, msg_recv); } /* process module refs */ qmodulest = axutil_qname_create(env, AXIS2_MODULEST, NULL, NULL); module_itr = axiom_element_get_children_with_qname(op_element, env, qmodulest, op_node); axutil_qname_free(qmodulest, env); qmodulest = NULL; status = axis2_desc_builder_process_op_module_refs(svc_builder-> desc_builder, env, module_itr, op_desc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Processing module operation references failed for operation %s", op_name); return NULL; } /* setting the policy_include */ /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_elements(env, AXIS2_SERVICE_POLICY, itr, policy_include); } /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_reference_elements(env, AXIS2_POLICY_REF, itr, policy_include); } qmessage = axutil_qname_create(env, AXIS2_MESSAGE, NULL, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qmessage, op_node); axutil_qname_free(qmessage, env); qmessage = NULL; if (itr) { axis2_svc_builder_process_msgs(svc_builder, env, itr, op_desc); } /* setting operation phase */ dep_engine = axis2_desc_builder_get_dep_engine(svc_builder->desc_builder, env); if (dep_engine) { axis2_phases_info_t *info = axis2_dep_engine_get_phases_info(dep_engine, env); axis2_phases_info_set_op_phases(info, env, op_desc); } /* adding operation */ status = axutil_array_list_add(ops, env, op_desc); } return ops; } static void axis2_svc_builder_process_msgs( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * iterator, axis2_op_t * op) { while (axiom_children_qname_iterator_has_next(iterator, env)) { axiom_node_t *node = NULL; axiom_element_t *element = NULL; axutil_qname_t *qname = NULL; axis2_char_t *msg_label = NULL; axis2_msg_t *msg = NULL; axiom_children_qname_iterator_t *itr = NULL; axutil_qname_t *qpolicy = NULL; axis2_desc_t *desc = NULL; axis2_policy_include_t *policy_include = NULL; node = axiom_children_qname_iterator_next(iterator, env); element = axiom_node_get_data_element(node, env); qname = axutil_qname_create(env, AXIS2_LABEL, NULL, NULL); if (element) { msg_label = axiom_element_get_attribute_value(element, env, qname); } if (msg_label) { msg = axis2_op_get_msg(op, env, msg_label); } if (msg) { /* operation parameters */ axiom_children_qname_iterator_t *params_itr = NULL; axutil_qname_t *qparamst = NULL; qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); params_itr = axiom_element_get_children_with_qname(element, env, qparamst, node); axutil_qname_free(qparamst, env); qparamst = NULL; axis2_desc_builder_process_params(svc_builder->desc_builder, env, params_itr, axis2_msg_get_param_container(msg, env), axis2_op_get_param_container(op, env)); desc = axis2_msg_get_base(msg, env); policy_include = axis2_desc_get_policy_include(desc, env); /* setting the policy_include */ /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(element, env, qpolicy, node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(element, env, qpolicy, node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_elements(env, AXIS2_SERVICE_POLICY, itr, policy_include); /* axis2_process_policy_elements(env, AXIS2_MESSAGE_POLICY, itr, policy_include); */ } /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(element, env, qpolicy,node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(element, env, qpolicy,node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_reference_elements(env, AXIS2_POLICY_REF, itr, policy_include); } } } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_builder_process_svc_module_conf( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_confs, axutil_param_container_t * parent, axis2_svc_t * svc) { while (axiom_children_qname_iterator_has_next(module_confs, env)) { axiom_element_t *module_conf_element = NULL; axiom_node_t *module_conf_node = NULL; axiom_attribute_t *module_name_att = NULL; axutil_qname_t *qattname = NULL; module_conf_node = axiom_children_qname_iterator_next(module_confs, env); module_conf_element = axiom_node_get_data_element(module_conf_node, env); qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); module_name_att = axiom_element_get_attribute(module_conf_element, env, qattname); axutil_qname_free(qattname, env); qattname = NULL; if (!module_name_att) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODULE_CONF, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module name attribute not found for module node"); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_builder_process_module_refs( axis2_svc_builder_t * svc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs) { AXIS2_PARAM_CHECK(env->error, module_refs, AXIS2_FAILURE); while (axiom_children_qname_iterator_has_next(module_refs, env)) { axiom_element_t *module_ref_element = NULL; axiom_node_t *module_ref_node = NULL; axiom_attribute_t *module_ref_att = NULL; axutil_qname_t *qref = NULL; module_ref_node = axiom_children_qname_iterator_next(module_refs, env); module_ref_element = axiom_node_get_data_element(module_ref_node, env); qref = axutil_qname_create(env, AXIS2_REF, NULL, NULL); module_ref_att = axiom_element_get_attribute(module_ref_element, env, qref); axutil_qname_free(qref, env); if (module_ref_att) { axis2_char_t *ref_name = NULL; axutil_qname_t *qrefname = NULL; ref_name = axiom_attribute_get_value(module_ref_att, env); qrefname = axutil_qname_create(env, ref_name, NULL, NULL); if (!axis2_dep_engine_get_module (axis2_desc_builder_get_dep_engine (svc_builder->desc_builder, env), env, qrefname)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to find "\ "Module %s, in Service %s", ref_name, axis2_svc_get_name(svc_builder->svc, env)); return AXIS2_FAILURE; } else { axis2_svc_add_module_qname(svc_builder->svc, env, qrefname); } axutil_qname_free(qrefname, env); } } return AXIS2_SUCCESS; } AXIS2_EXTERN struct axis2_desc_builder *AXIS2_CALL axis2_svc_builder_get_desc_builder( const axis2_svc_builder_t * svc_builder, const axutil_env_t * env) { return svc_builder->desc_builder; } axis2c-src-1.6.0/src/core/deployment/axis2_module_builder.h0000644000175000017500000000605611166304442025015 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MODULE_BUILDER_H #define AXIS2_MODULE_BUILDER_H /** @defgroup axis2_module_builder Module Builder * @ingroup axis2_deployment * @{ */ #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_module_builder */ typedef struct axis2_module_builder axis2_module_builder_t; /** * De-allocate memory * @param module_builder pointer to module builder * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_module_builder_free( axis2_module_builder_t * module_builder, const axutil_env_t * env); /** * @param module_builder pointer to module builder * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_builder_populate_module( axis2_module_builder_t * module_builder, const axutil_env_t * env); /** * Creates module builder struct * @param env pointer to environment struct * @return pointer to newly created module builder */ AXIS2_EXTERN axis2_module_builder_t *AXIS2_CALL axis2_module_builder_create( const axutil_env_t * env); /** * Creates module builder struct * @param env pointer to environment struct * @param file_name pointer to file name * @param dep_engine pointer to deployment engine * @return pointer to newly created module builder */ AXIS2_EXTERN axis2_module_builder_t *AXIS2_CALL axis2_module_builder_create_with_file_and_dep_engine_and_module( const axutil_env_t * env, axis2_char_t * file_name, struct axis2_dep_engine *dep_engine, axis2_module_desc_t * module); /** Populates the module. #define AXIS2_MODULE_BUILDER_POPULATE_MODULE(module_builder, env) \ axis2_module_builder_populate_module (module_builder, env)*/ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MODULE_BUILDER_H */ axis2c-src-1.6.0/src/core/deployment/axis2_conf_builder.h0000644000175000017500000000675711166304442024465 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CONF_BUILDER_H #define AXIS2_CONF_BUILDER_H /** * @defgroup axis2_conf_builder Conf Builder * @ingroup axis2_deployment * @{ */ #include #include #include #include #include #include #include "axis2_desc_builder.h" #include #include "axis2_dep_engine.h" #include #ifdef __cplusplus extern "C" { #endif struct axis2_desc_builder; struct axis2_dep_engine; /** Type name for struct axis2_conf_builder */ typedef struct axis2_conf_builder axis2_conf_builder_t; /** * De-allocate memory * @param conf_builder pointer to configuration builder * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_conf_builder_free( axis2_conf_builder_t * conf_builder, const axutil_env_t * env); /** * @param conf_builder pointer to configuration builder * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_builder_populate_conf( axis2_conf_builder_t * conf_builder, const axutil_env_t * env); /** * To get the list og modules that is requird to be engage globally * @param conf_builder pointer to configuration builder * @param env pointer to environment struct * @param module_refs pointer to module refs * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_builder_process_module_refs( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs); /** * Creates conf builder struct * @param env pointer to environment struct * @return pointer to newly created conf builder */ AXIS2_EXTERN axis2_conf_builder_t *AXIS2_CALL axis2_conf_builder_create( const axutil_env_t * env); /** * Creates conf builder struct * @param env pointer to environment struct * @param file This is the full path to the server xml file * @param dep_engine pointer to dep engine * @param conf pointer to conf * @return pointer to newly created conf builder */ AXIS2_EXTERN axis2_conf_builder_t *AXIS2_CALL axis2_conf_builder_create_with_file_and_dep_engine_and_conf( const axutil_env_t * env, axis2_char_t * file, struct axis2_dep_engine *dep_engine, axis2_conf_t * conf); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CONF_BUILDER_H */ axis2c-src-1.6.0/src/core/deployment/module_builder.c0000644000175000017500000005256211166304442023705 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_module_builder { axis2_module_desc_t *module_desc; struct axis2_desc_builder *desc_builder; }; static axutil_array_list_t *AXIS2_CALL axis2_module_builder_process_ops( axis2_module_builder_t * module_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * op_itr); AXIS2_EXTERN axis2_module_builder_t *AXIS2_CALL axis2_module_builder_create( const axutil_env_t * env) { axis2_module_builder_t *module_builder = NULL; module_builder = (axis2_module_builder_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_module_builder_t)); if (!module_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory to create module builder"); return NULL; } return module_builder; } AXIS2_EXTERN axis2_module_builder_t *AXIS2_CALL axis2_module_builder_create_with_file_and_dep_engine_and_module( const axutil_env_t * env, axis2_char_t * file_name, axis2_dep_engine_t * dep_engine, axis2_module_desc_t * module_desc) { axis2_module_builder_t *module_builder = NULL; module_builder = (axis2_module_builder_t *) axis2_module_builder_create(env); if (!module_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory to create module builder %s", file_name); return NULL; } module_builder->desc_builder = axis2_desc_builder_create_with_file_and_dep_engine(env, file_name, dep_engine); if (!module_builder->desc_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Description builder creation failed for module builder %s", file_name); axis2_module_builder_free(module_builder, env); return NULL; } module_builder->module_desc = module_desc; return module_builder; } AXIS2_EXTERN void AXIS2_CALL axis2_module_builder_free( axis2_module_builder_t * module_builder, const axutil_env_t * env) { if (module_builder->desc_builder) { axis2_desc_builder_free(module_builder->desc_builder, env); } if (module_builder) { AXIS2_FREE(env->allocator, module_builder); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_builder_populate_module( axis2_module_builder_t * module_builder, const axutil_env_t * env) { axiom_element_t *module_element = NULL; axiom_node_t *module_node = NULL; axutil_qname_t *qdllname = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qinflowst = NULL; axutil_qname_t *qoutflowst = NULL; axutil_qname_t *qinfaultflow = NULL; axutil_qname_t *qoutfaultflow = NULL; axutil_qname_t *qopst = NULL; axiom_attribute_t *module_dll_att = NULL; axiom_children_qname_iterator_t *itr = NULL; axiom_children_qname_iterator_t *op_itr = NULL; axiom_element_t *in_flow_element = NULL; axiom_node_t *in_flow_node = NULL; axiom_element_t *out_flow_element = NULL; axiom_node_t *out_flow_node = NULL; axiom_element_t *in_fault_flow_element = NULL; axiom_node_t *in_fault_flow_node = NULL; axiom_element_t *out_fault_flow_element = NULL; axiom_node_t *out_fault_flow_node = NULL; axis2_conf_t *parent = NULL; axutil_array_list_t *ops = NULL; axutil_param_container_t *parent_container = NULL; int size = 0; int i = 0; axis2_arch_file_data_t *file_data = NULL; axis2_char_t *module_name = NULL; axutil_qname_t *module_qname = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_module_builder_populate_module"); module_node = axis2_desc_builder_build_om(module_builder->desc_builder, env); module_element = axiom_node_get_data_element(module_node, env); if (!module_element) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Data element not found for the module node, Unable to proceed"); return AXIS2_FAILURE; } file_data = axis2_dep_engine_get_current_file_item (axis2_desc_builder_get_dep_engine (module_builder->desc_builder, env), env); module_name = axis2_arch_file_data_get_module_name(file_data, env); module_qname = axutil_qname_create(env, module_name, NULL, NULL); axis2_module_desc_set_qname(module_builder->module_desc, env, module_qname); if (module_qname) { axutil_qname_free(module_qname, env); } /* Setting Module Dll Name , if it is there */ qdllname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); module_dll_att = axiom_element_get_attribute(module_element, env, qdllname); if (qdllname) { axutil_qname_free(qdllname, env); } if (module_dll_att) { axis2_char_t *class_name = NULL; class_name = axiom_attribute_get_value(module_dll_att, env); if (class_name && (axutil_strcmp("", class_name))) { axis2_dep_engine_t *dep_engine = axis2_desc_builder_get_dep_engine(module_builder->desc_builder, env); if (dep_engine) { axis2_arch_file_data_t *file_data = NULL; file_data = axis2_dep_engine_get_current_file_item(dep_engine, env); axis2_arch_file_data_set_module_dll_name(file_data, env, class_name); } } } /* Processing Paramters */ /* Processing service level paramters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); itr = axiom_element_get_children_with_qname(module_element, env, qparamst, module_node); if (qparamst) { axutil_qname_free(qparamst, env); } parent = axis2_module_desc_get_parent(module_builder->module_desc, env); if (parent) { parent_container = axis2_conf_get_param_container(parent, env); } axis2_desc_builder_process_params(module_builder->desc_builder, env, itr, axis2_module_desc_get_param_container (module_builder->module_desc, env), parent_container); /* Process IN_FLOW */ qinflowst = axutil_qname_create(env, AXIS2_IN_FLOW_START, NULL, NULL); in_flow_element = axiom_element_get_first_child_with_qname(module_element, env, qinflowst, module_node, &in_flow_node); if (qinflowst) { axutil_qname_free(qinflowst, env); } if (in_flow_element && in_flow_node) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(module_builder->desc_builder, env, in_flow_element, axis2_module_desc_get_param_container (module_builder->module_desc, env), in_flow_node); status = axis2_module_desc_set_in_flow(module_builder->module_desc, env, flow); if (!status) { if (flow) { axis2_flow_free(flow, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting in flow failed for module desc %s", module_name); return status; } } qoutflowst = axutil_qname_create(env, AXIS2_OUT_FLOW_START, NULL, NULL); out_flow_element = axiom_element_get_first_child_with_qname(module_element, env, qoutflowst, module_node, &out_flow_node); if (qoutflowst) { axutil_qname_free(qoutflowst, env); } if (out_flow_element && out_flow_node) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(module_builder->desc_builder, env, out_flow_element, axis2_module_desc_get_param_container (module_builder->module_desc, env), out_flow_node); status = axis2_module_desc_set_out_flow(module_builder->module_desc, env, flow); if (!status) { axis2_flow_free(flow, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting out flow failed for module desc %s", module_name); return status; } } qinfaultflow = axutil_qname_create(env, AXIS2_IN_FAILTFLOW, NULL, NULL); in_fault_flow_element = axiom_element_get_first_child_with_qname(module_element, env, qinfaultflow, module_node, &in_fault_flow_node); if (qinfaultflow) { axutil_qname_free(qinfaultflow, env); } if (in_fault_flow_element && NULL != in_fault_flow_node) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(module_builder->desc_builder, env, in_fault_flow_element, axis2_module_desc_get_param_container (module_builder->module_desc, env), in_fault_flow_node); status = axis2_module_desc_set_fault_in_flow(module_builder->module_desc, env, flow); if (!status) { axis2_flow_free(flow, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting fault in flow failed for module desc %s", module_name); return status; } } qoutfaultflow = axutil_qname_create(env, AXIS2_OUT_FAILTFLOW, NULL, NULL); out_fault_flow_element = axiom_element_get_first_child_with_qname(module_element, env, qoutfaultflow, module_node, &out_fault_flow_node); if (qoutfaultflow) { axutil_qname_free(qoutfaultflow, env); } if (out_fault_flow_element && NULL != out_fault_flow_node) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(module_builder->desc_builder, env, out_fault_flow_element, axis2_module_desc_get_param_container (module_builder->module_desc, env), out_fault_flow_node); status = axis2_module_desc_set_fault_out_flow(module_builder->module_desc, env, flow); if (AXIS2_SUCCESS != status) { axis2_flow_free(flow, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting fault out flow failed for module desc %s", module_name); return status; } } /* Processing Operations */ qopst = axutil_qname_create(env, AXIS2_OPERATIONST, NULL, NULL); op_itr = axiom_element_get_children_with_qname(module_element, env, qopst, module_node); if (qopst) { axutil_qname_free(qopst, env); } ops = axis2_module_builder_process_ops(module_builder, env, op_itr); size = axutil_array_list_size(ops, env); for (i = 0; i < size; i++) { axis2_op_t *op_desc = NULL; op_desc = (axis2_op_t *) axutil_array_list_get(ops, env, i); axis2_module_desc_add_op(module_builder->module_desc, env, op_desc); } axutil_array_list_free(ops, env); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_module_builder_populate_module"); return AXIS2_SUCCESS; } static axutil_array_list_t *AXIS2_CALL axis2_module_builder_process_ops( axis2_module_builder_t * module_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * op_itr) { axutil_array_list_t *ops = NULL; AXIS2_PARAM_CHECK(env->error, op_itr, NULL); ops = axutil_array_list_create(env, 0); while (axiom_children_qname_iterator_has_next(op_itr, env)) { axiom_element_t *op_element = NULL; axiom_node_t *op_node = NULL; axiom_attribute_t *op_name_att = NULL; axiom_attribute_t *op_mep_att = NULL; axutil_qname_t *qattname = NULL; axis2_char_t *mep_url = NULL; axis2_char_t *op_name = NULL; axutil_qname_t *qopname = NULL; axutil_qname_t *qmsgrecv = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qmodulest = NULL; axutil_qname_t *qmep = NULL; axiom_children_qname_iterator_t *params = NULL; axiom_children_qname_iterator_t *modules = NULL; axiom_element_t *recv_element = NULL; axiom_node_t *recv_node = NULL; axis2_phases_info_t *info = NULL; axis2_op_t *op_desc = NULL; axutil_qname_t *qpolicy = NULL; axiom_children_qname_iterator_t *itr = NULL; axis2_desc_t *desc = NULL; axis2_policy_include_t *policy_include = NULL; op_node = (axiom_node_t *) axiom_children_qname_iterator_next(op_itr, env); op_element = axiom_node_get_data_element(op_node, env); /* getting operation name */ qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); op_name_att = axiom_element_get_attribute(op_element, env, qattname); if (qattname) { axutil_qname_free(qattname, env); } if (!op_name_att) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OP_NAME_MISSING, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Operation name missing for module operation."); return NULL; } qmep = axutil_qname_create(env, AXIS2_MEP, NULL, NULL); op_mep_att = axiom_element_get_attribute(op_element, env, qmep); if (qmep) { axutil_qname_free(qmep, env); } if (op_mep_att) { mep_url = axiom_attribute_get_value(op_mep_att, env); } if (!mep_url) { /* Assuming in-out mep */ op_desc = axis2_op_create_from_module(env); } else { op_desc = axis2_op_create_from_module(env); axis2_op_set_msg_exchange_pattern(op_desc, env, mep_url); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "mep_url:%s", mep_url); } op_name = axiom_attribute_get_value(op_name_att, env); qopname = axutil_qname_create(env, op_name, NULL, NULL); axis2_op_set_qname(op_desc, env, qopname); if (qopname) { axutil_qname_free(qopname, env); } /* Operation parameters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); params = axiom_element_get_children_with_qname(op_element, env, qparamst, op_node); if (qparamst) { axutil_qname_free(qparamst, env); } axis2_desc_builder_process_params(module_builder->desc_builder, env, params, axis2_op_get_param_container(op_desc, env), axis2_module_desc_get_param_container (module_builder->module_desc, env)); /* To process wsamapping */ axis2_desc_builder_process_action_mappings(module_builder->desc_builder, env, op_node, op_desc); /* To process REST params */ axis2_desc_builder_process_rest_params(module_builder->desc_builder, env, op_node, op_desc); /* setting the policy_include */ desc = axis2_op_get_base(op_desc, env); policy_include = axis2_desc_get_policy_include(desc, env); /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_POLICY, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_elements(env, AXIS2_MODULE_OPERATION_POLICY, itr, policy_include); } /* processing .. elements */ qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; if((!itr) || (!axiom_children_qname_iterator_has_next(itr, env))) { qpolicy = axutil_qname_create(env, NEETHI_REFERENCE, NEETHI_POLICY_15_NAMESPACE, NULL); itr = axiom_element_get_children_with_qname(op_element, env, qpolicy, op_node); axutil_qname_free(qpolicy, env); qpolicy = NULL; } if (itr) { axis2_process_policy_reference_elements(env, AXIS2_POLICY_REF, itr, policy_include); } /* setting the mep of the operation */ /* loading the message receivers */ qmsgrecv = axutil_qname_create(env, AXIS2_MESSAGERECEIVER, NULL, NULL); recv_element = axiom_element_get_first_child_with_qname(op_element, env, qmsgrecv, op_node, &recv_node); if (qmsgrecv) { axutil_qname_free(qmsgrecv, env); } if (recv_element && NULL != recv_node) { axis2_msg_recv_t *msg_recv = NULL; msg_recv = axis2_desc_builder_load_msg_recv(module_builder-> desc_builder, env, recv_element); axis2_op_set_msg_recv(op_desc, env, msg_recv); } else { axis2_msg_recv_t *msg_recv = NULL; /* setting default message reciver */ msg_recv = axis2_desc_builder_load_default_msg_recv(env); axis2_op_set_msg_recv(op_desc, env, msg_recv); } /* Process Module Refs */ qmodulest = axutil_qname_create(env, AXIS2_MODULEST, NULL, NULL); modules = axiom_element_get_children_with_qname(op_element, env, qmodulest, op_node); if (qmodulest) { axutil_qname_free(qmodulest, env); } axis2_desc_builder_process_op_module_refs(module_builder->desc_builder, env, modules, op_desc); /* setting Operation phase */ info = axis2_dep_engine_get_phases_info(axis2_desc_builder_get_dep_engine (module_builder->desc_builder, env), env); axis2_phases_info_set_op_phases(info, env, op_desc); /* adding operation */ axutil_array_list_add(ops, env, op_desc); } return ops; } axis2c-src-1.6.0/src/core/deployment/arch_reader.c0000644000175000017500000002723611166304442023151 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axis2_arch_reader { axis2_desc_builder_t *desc_builder; }; AXIS2_EXTERN axis2_arch_reader_t *AXIS2_CALL axis2_arch_reader_create( const axutil_env_t * env) { axis2_arch_reader_t *arch_reader = NULL; arch_reader = (axis2_arch_reader_t *) AXIS2_MALLOC(env-> allocator, sizeof (axis2_arch_reader_t)); if (!arch_reader) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } arch_reader->desc_builder = NULL; return arch_reader; } AXIS2_EXTERN void AXIS2_CALL axis2_arch_reader_free( axis2_arch_reader_t * arch_reader, const axutil_env_t * env) { /* Description builder is owned by dep_engine, so do not free it here */ if (arch_reader) { AXIS2_FREE(env->allocator, arch_reader); } return; } AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_arch_reader_create_svc( const axutil_env_t * env, struct axis2_arch_file_data *file) { axis2_svc_t *svc = NULL; svc = axis2_svc_create(env); return svc; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_reader_process_svc_grp( axis2_arch_reader_t * arch_reader, const axutil_env_t * env, axis2_char_t * file_name, struct axis2_dep_engine * dep_engine, axis2_svc_grp_t * svc_grp) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *svc_grp_xml = NULL; axis2_char_t *repos_path = NULL; axis2_bool_t file_flag = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, file_name, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, dep_engine, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, svc_grp, AXIS2_FAILURE); file_flag = axis2_dep_engine_get_file_flag (dep_engine, env); if (!file_flag) { repos_path = axis2_dep_engine_get_repos_path(dep_engine, env); svc_grp_xml = axutil_strcat(env, repos_path, AXIS2_PATH_SEP_STR, AXIS2_SERVICE_FOLDER, AXIS2_PATH_SEP_STR, file_name, AXIS2_PATH_SEP_STR, AXIS2_SVC_XML, NULL); } else { repos_path = axis2_dep_engine_get_svc_dir (dep_engine, env); svc_grp_xml = axutil_strcat (env, repos_path, AXIS2_PATH_SEP_STR, file_name, AXIS2_PATH_SEP_STR, AXIS2_SVC_XML, NULL); } if (!svc_grp_xml) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service xml file not found for %s", file_name); return AXIS2_FAILURE; } status = axutil_file_handler_access(svc_grp_xml, AXIS2_F_OK); if (AXIS2_SUCCESS == status) { struct axis2_arch_file_data *arch_file_data = NULL; axis2_char_t *svc_name = NULL; status = axis2_arch_reader_build_svc_grp(arch_reader, env, svc_grp_xml, dep_engine, svc_grp); if (AXIS2_SUCCESS != status) { return status; } arch_file_data = axis2_dep_engine_get_current_file_item(dep_engine, env); svc_name = axis2_arch_file_data_get_svc_name(arch_file_data, env); axis2_svc_grp_set_name(svc_grp, env, svc_name); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SERVICE_XML_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Access to service configuration file %s failed", file_name); status = AXIS2_FAILURE; } AXIS2_FREE(env->allocator, svc_grp_xml); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_reader_build_svc_grp( axis2_arch_reader_t * arch_reader, const axutil_env_t * env, axis2_char_t * svc_xml, axis2_dep_engine_t * dep_engine, axis2_svc_grp_t * svc_grp) { axis2_char_t *root_element_name = NULL; axiom_node_t *svc_grp_node = NULL; axiom_element_t *svc_grp_element = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, svc_xml, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, dep_engine, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, svc_grp, AXIS2_FAILURE); arch_reader->desc_builder = axis2_desc_builder_create_with_file_and_dep_engine(env, svc_xml, dep_engine); if (!arch_reader->desc_builder) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating description builder for service file %s failed", svc_xml); return AXIS2_FAILURE; } axis2_dep_engine_add_desc_builder(dep_engine, env, arch_reader->desc_builder); svc_grp_node = axis2_desc_builder_build_om(arch_reader->desc_builder, env); if (svc_grp_node) { svc_grp_element = axiom_node_get_data_element(svc_grp_node, env); if (svc_grp_element) { root_element_name = axiom_element_get_localname(svc_grp_element, env); } } if (root_element_name && 0 == axutil_strcmp(AXIS2_SVC_ELEMENT, root_element_name)) { /* If service group is actually a service. In this case service group * contain only single service */ axis2_svc_t *svc = NULL; axis2_svc_builder_t *svc_builder = NULL; axis2_arch_file_data_t *file_data = NULL; axutil_array_list_t *dep_svcs = NULL; axis2_char_t *svc_name = NULL; file_data = axis2_dep_engine_get_current_file_item(dep_engine, env); svc_name = axis2_arch_file_data_get_name(file_data, env); svc = axis2_arch_file_data_get_svc(file_data, env, svc_name); if (!svc) { axutil_qname_t *svc_qname = NULL; svc_qname = axutil_qname_create(env, svc_name, NULL, NULL); svc = axis2_svc_create_with_qname(env, svc_qname); status = axis2_arch_file_data_add_svc(file_data, env, svc); axutil_qname_free(svc_qname, env); if (AXIS2_SUCCESS != status) { axis2_svc_free(svc, env); return status; } } axis2_svc_set_parent(svc, env, svc_grp); svc_builder = axis2_svc_builder_create_with_dep_engine_and_svc(env, dep_engine, svc); status = axis2_svc_builder_populate_svc(svc_builder, env, svc_grp_node); axis2_dep_engine_add_svc_builder(dep_engine, env, svc_builder); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Populating service failed for %s", svc_name); return AXIS2_FAILURE; } dep_svcs = axis2_arch_file_data_get_deployable_svcs(file_data, env); if (!dep_svcs) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Deployable services list is NULL within arch file data"); return AXIS2_FAILURE; } status = axutil_array_list_add(dep_svcs, env, svc); if (AXIS2_SUCCESS != status) { return AXIS2_FAILURE; } } else if (root_element_name && 0 == axutil_strcmp(AXIS2_SVC_GRP_ELEMENT, root_element_name)) { axis2_svc_grp_builder_t *grp_builder = NULL; grp_builder = axis2_svc_grp_builder_create_with_svc_and_dep_engine(env, svc_grp_node, dep_engine); status = axis2_svc_grp_builder_populate_svc_grp(grp_builder, env, svc_grp); axis2_dep_engine_add_svc_grp_builder(dep_engine, env, grp_builder); } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_reader_read_module_arch( const axutil_env_t * env, axis2_char_t * file_name, axis2_dep_engine_t * dep_engine, axis2_module_desc_t * module_desc) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *module_xml = NULL; axis2_char_t *repos_path = NULL; axis2_bool_t file_flag; AXIS2_PARAM_CHECK(env->error, file_name, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, dep_engine, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); file_flag = axis2_dep_engine_get_file_flag (dep_engine, env); if (!file_flag) { repos_path = axis2_dep_engine_get_repos_path(dep_engine, env); module_xml = axutil_strcat(env, repos_path, AXIS2_PATH_SEP_STR, AXIS2_MODULE_FOLDER, AXIS2_PATH_SEP_STR, file_name, AXIS2_PATH_SEP_STR, AXIS2_MODULE_XML, NULL); } else { repos_path = axis2_dep_engine_get_module_dir (dep_engine, env); module_xml = axutil_strcat (env, repos_path, AXIS2_PATH_SEP_STR, file_name, AXIS2_PATH_SEP_STR, AXIS2_MODULE_XML, NULL); } if (!module_xml) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } status = axutil_file_handler_access(module_xml, AXIS2_F_OK); if (AXIS2_SUCCESS == status) { axis2_module_builder_t *module_builder = NULL; module_builder = axis2_module_builder_create_with_file_and_dep_engine_and_module(env, module_xml, dep_engine, module_desc); status = axis2_module_builder_populate_module(module_builder, env); axis2_dep_engine_add_module_builder(dep_engine, env, module_builder); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module configuration file access failed for module file %s", module_xml); status = AXIS2_FAILURE; } AXIS2_FREE(env->allocator, module_xml); return status; } AXIS2_EXTERN axutil_file_t *AXIS2_CALL axis2_arch_reader_create_module_arch( const axutil_env_t * env, axis2_char_t * module_name) { axutil_file_t *file = NULL; file = axutil_file_create(env); if (!file) { return NULL; } axutil_file_set_name(file, env, module_name); return file; } axis2c-src-1.6.0/src/core/deployment/axis2_desc_builder.h0000644000175000017500000002241411166304442024442 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DESC_BUILDER_H #define AXIS2_DESC_BUILDER_H /** @defgroup axis2_desc_builder Description Builder * @ingroup axis2_deployment * @{ */ #include #include #include #include #include #include "axis2_deployment.h" #include "axis2_dep_engine.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_flow; struct axis2_phase; struct axis2_dep_engine; /** Type name for struct axis2_desc_builder */ typedef struct axis2_desc_builder axis2_desc_builder_t; /** * De-allocate memory * @param desc_builder pointer to desc builder * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_desc_builder_free( axis2_desc_builder_t * desc_builder, const axutil_env_t * env); /** * This will creat OMElemnt for a given descrition document (axis2.xml , * services.xml and module.xml) * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @return OMElement OMElement */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axis2_desc_builder_build_om( axis2_desc_builder_t * desc_builder, const axutil_env_t * env); /** * To process Flow elements in services.xml * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param flow_element axiom_element_t * @param parent pointer to parent * @param node pointer to node * @return flow */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_desc_builder_process_flow( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_element_t * flow_element, axutil_param_container_t * parent, axiom_node_t * node); /** * To process Handler element * @param handler_element OMElement * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param handler_element pointer to handler element * @param parent pointer to parent */ AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL axis2_desc_builder_process_handler( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_node_t * handler_element, axutil_param_container_t * parent); /** * To get the Param out from the OM * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param params axutil_param_t * @param param_container axutil_param_container_t * @param parent axutil_param_container_t */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_params( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * params, axutil_param_container_t * param_container, axutil_param_container_t * parent); /** * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param module_refs pointer to module refs * @param op pointer to op */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_op_module_refs( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs, axis2_op_t * op); /** * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param recv_element pointer to recv element */ AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_desc_builder_load_msg_recv( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_element_t * recv_element); /** * This method is used to retrive service name form the arechive file name * if the archive file name is service1.aar , then axis service name would be service1 * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param file_name pointer to file name */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_desc_builder_get_short_file_name( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axis2_char_t * file_name); /** * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param short_file_name pointer to short file name */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_desc_builder_get_file_name_without_prefix( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axis2_char_t * short_file_name); /** * this method is to get the value of attribue * eg xsd:anyVal --> anyVal * @param desc_builder pointer to desc builder * @param env pointer to environment struct * @param in pointer to in */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_desc_builder_get_value( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axis2_char_t * in); /** * Populate the Axis2 Operation with details from the actionMapping, * outputActionMapping and faultActionMapping elements from the operation * element. * @param operation * @param op_desc */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_action_mappings( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_node_t * op_node, axis2_op_t * op_desc); /** * Populate the Axis2 Operation with details from the RESTLocation, * RESTMethod elements from the operation element. * @param operation * @param op_desc */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_rest_params( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_node_t * op_node, axis2_op_t * op_desc); /** * @param env pointer to environment struct */ AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL axis2_desc_builder_load_default_msg_recv( const axutil_env_t * env); AXIS2_EXTERN struct axis2_dep_engine *AXIS2_CALL axis2_desc_builder_get_dep_engine( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env); /** * Creates description builder struct * @param env pointer to environment struct * @return pointer to newly created description builder */ AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_desc_builder_create( const axutil_env_t * env); /** * Creates description builder struct * @param env pointer to environment struct * @param engine pointer to engine * @return pointer to newly created description builder */ AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_desc_builder_create_with_dep_engine( const axutil_env_t * env, struct axis2_dep_engine *engine); /** * Creates description builder struct * @param env pointer to environment struct * @param file_name pointer to file name * @param engine pointer to engine * @return pointer to newly created description builder */ AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_desc_builder_create_with_file_and_dep_engine( const axutil_env_t * env, axis2_char_t * file_name, struct axis2_dep_engine *engine); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_process_policy_elements( const axutil_env_t * env, int type, axiom_children_qname_iterator_t * iterator, axis2_policy_include_t * policy_include); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_process_policy_reference_elements( const axutil_env_t * env, int type, axiom_children_qname_iterator_t * iterator, axis2_policy_include_t * policy_include); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_DESC_BUILDER_H */ axis2c-src-1.6.0/src/core/deployment/conf_builder.c0000644000175000017500000016666611171531736023364 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include struct axis2_conf_builder { axis2_conf_t *conf; struct axis2_desc_builder *desc_builder; }; static axis2_status_t axis2_conf_builder_process_disp_order( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_node_t * disp_order_node); static axis2_status_t axis2_conf_builder_process_phase_orders( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * phase_orders); static axutil_array_list_t *axis2_conf_builder_get_phase_list( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_node_t * phase_orders_node); static axis2_status_t axis2_conf_builder_process_transport_senders( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * trs_senders); static axis2_status_t axis2_conf_builder_process_transport_recvs( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * trs_recvs); static axis2_status_t AXIS2_CALL axis2_conf_builder_process_default_module_versions( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_versions); AXIS2_EXTERN axis2_conf_builder_t *AXIS2_CALL axis2_conf_builder_create( const axutil_env_t * env) { axis2_conf_builder_t *conf_builder = NULL; AXIS2_ENV_CHECK(env, NULL); conf_builder = (axis2_conf_builder_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_conf_builder_t)); if (!conf_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } conf_builder->conf = NULL; return conf_builder; } AXIS2_EXTERN axis2_conf_builder_t *AXIS2_CALL axis2_conf_builder_create_with_file_and_dep_engine_and_conf( const axutil_env_t * env, axis2_char_t * file, axis2_dep_engine_t * engine, axis2_conf_t * conf) { axis2_conf_builder_t *conf_builder = NULL; conf_builder = (axis2_conf_builder_t *) axis2_conf_builder_create(env); if (!conf_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } conf_builder->desc_builder = axis2_desc_builder_create_with_file_and_dep_engine(env, file, engine); conf_builder->conf = conf; return conf_builder; } AXIS2_EXTERN void AXIS2_CALL axis2_conf_builder_free( axis2_conf_builder_t * conf_builder, const axutil_env_t * env) { if (conf_builder->desc_builder) { axis2_desc_builder_free(conf_builder->desc_builder, env); } if (conf_builder) { AXIS2_FREE(env->allocator, conf_builder); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_builder_populate_conf( axis2_conf_builder_t * conf_builder, const axutil_env_t * env) { axutil_qname_t *qparamst = NULL; axutil_qname_t *qmsgrecv = NULL; axutil_qname_t *qdisporder = NULL; axutil_qname_t *qmodulest = NULL; axutil_qname_t *qtransportsender = NULL; axutil_qname_t *qtransportrecv = NULL; axutil_qname_t *qphaseorder = NULL; axutil_qname_t *qdefmodver = NULL; axiom_children_qname_iterator_t *itr = NULL; axiom_children_qname_iterator_t *msg_recvs = NULL; axiom_children_qname_iterator_t *module_itr = NULL; axiom_children_qname_iterator_t *trs_senders = NULL; axiom_children_qname_iterator_t *trs_recvs = NULL; axiom_children_qname_iterator_t *phase_orders = NULL; axiom_children_qname_iterator_t *def_mod_versions = NULL; axiom_element_t *conf_element = NULL; axiom_node_t *conf_node = NULL; axiom_element_t *disp_order_element = NULL; axiom_node_t *disp_order_node = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_param_t *param = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_populate_conf"); conf_node = axis2_desc_builder_build_om(conf_builder->desc_builder, env); if (!conf_node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Building om tree failed. Unable to continue"); return AXIS2_FAILURE; } conf_element = axiom_node_get_data_element(conf_node, env); /* processing Paramters */ /* Processing service level paramters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); itr = axiom_element_get_children_with_qname(conf_element, env, qparamst, conf_node); axutil_qname_free(qparamst, env); axis2_desc_builder_process_params(conf_builder->desc_builder, env, itr, axis2_conf_get_param_container (conf_builder->conf, env), axis2_conf_get_param_container (conf_builder->conf, env)); /* process Message Reciver */ qmsgrecv = axutil_qname_create(env, AXIS2_MESSAGERECEIVER, NULL, NULL); msg_recvs = axiom_element_get_children_with_qname(conf_element, env, qmsgrecv, conf_node); axutil_qname_free(qmsgrecv, env); while (axiom_children_qname_iterator_has_next(msg_recvs, env)) { axiom_node_t *msg_recv_node = NULL; axiom_element_t *msg_recv_element = NULL; axis2_msg_recv_t *msg_recv = NULL; axiom_attribute_t *recv_name = NULL; axutil_qname_t *class_qname = NULL; axis2_char_t *class_name = NULL; msg_recv_node = (axiom_node_t *) axiom_children_qname_iterator_next(msg_recvs, env); msg_recv_element = (axiom_element_t *) axiom_node_get_data_element(msg_recv_node, env); msg_recv = axis2_desc_builder_load_msg_recv(conf_builder->desc_builder, env, msg_recv_element); if (!msg_recv) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Message receiver loading failed. Unable to continue"); return AXIS2_FAILURE; } class_qname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); recv_name = axiom_element_get_attribute(msg_recv_element, env, class_qname); axutil_qname_free(class_qname, env); class_name = axiom_attribute_get_value(recv_name, env); axis2_conf_add_msg_recv(conf_builder->conf, env, class_name, msg_recv); } /* processing Dispatching Order */ qdisporder = axutil_qname_create(env, AXIS2_DISPATCH_ORDER, NULL, NULL); disp_order_element = axiom_element_get_first_child_with_qname(conf_element, env, qdisporder, conf_node, &disp_order_node); axutil_qname_free(qdisporder, env); if (disp_order_element) { axis2_conf_builder_process_disp_order(conf_builder, env, disp_order_node); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Found the custom disptaching"\ " order and continue with that order"); } else { status = axis2_conf_set_default_dispatchers(conf_builder->conf, env); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting default dispatchers to configuration failed, "\ "unable to continue."); return AXIS2_FAILURE; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No custom dispatching order"\ " found. Continue with the default dispatching order"); } /* Process Module refs */ qmodulest = axutil_qname_create(env, AXIS2_MODULEST, NULL, NULL); module_itr = axiom_element_get_children_with_qname(conf_element, env, qmodulest, conf_node); axutil_qname_free(qmodulest, env); status = axis2_conf_builder_process_module_refs(conf_builder, env, module_itr); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Processing module ref's failed, unable to continue."); return AXIS2_FAILURE; } /* Proccessing Transport Sennders */ qtransportsender = axutil_qname_create(env, AXIS2_TRANSPORTSENDER, NULL, NULL); trs_senders = axiom_element_get_children_with_qname(conf_element, env, qtransportsender, conf_node); axutil_qname_free(qtransportsender, env); status = axis2_conf_builder_process_transport_senders(conf_builder, env, trs_senders); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Processing transport senders failed, unable to continue"); return AXIS2_FAILURE; } /* Proccessing Transport Recivers */ qtransportrecv = axutil_qname_create(env, AXIS2_TRANSPORTRECEIVER, NULL, NULL); trs_recvs = axiom_element_get_children_with_qname(conf_element, env, qtransportrecv, conf_node); axutil_qname_free(qtransportrecv, env); status = axis2_conf_builder_process_transport_recvs(conf_builder, env, trs_recvs); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Processing transport receivers failed, unable to continue"); return AXIS2_FAILURE; } /* processing Phase orders */ qphaseorder = axutil_qname_create(env, AXIS2_PHASE_ORDER, NULL, NULL); phase_orders = axiom_element_get_children_with_qname(conf_element, env, qphaseorder, conf_node); axutil_qname_free(qphaseorder, env); status = axis2_conf_builder_process_phase_orders(conf_builder, env, phase_orders); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Processing phase orders failed, unable to continue"); return AXIS2_FAILURE; } /* Processing default module versions */ qdefmodver = axutil_qname_create(env, AXIS2_DEFAULT_MODULE_VERSION, NULL, NULL); def_mod_versions = axiom_element_get_children_with_qname(conf_element, env, qdefmodver, conf_node); axutil_qname_free(qdefmodver, env); if (def_mod_versions) { status = axis2_conf_builder_process_default_module_versions(conf_builder, env, def_mod_versions); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Processing default module versions failed, unable to continue"); return AXIS2_FAILURE; } } param = axutil_param_container_get_param(axis2_conf_get_param_container (conf_builder->conf, env), env, AXIS2_ENABLE_MTOM); if (param) { axis2_char_t *value = NULL; value = axutil_param_get_value(param, env); if (value) { axis2_conf_set_enable_mtom(conf_builder->conf, env, (!axutil_strcmp(value, AXIS2_VALUE_TRUE))); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_populate_conf"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_builder_process_module_refs( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs) { axis2_status_t status = AXIS2_SUCCESS; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_process_module_refs"); AXIS2_PARAM_CHECK(env->error, module_refs, AXIS2_FAILURE); while (axiom_children_qname_iterator_has_next(module_refs, env)) { axiom_node_t *module_ref_node = NULL; axiom_element_t *module_ref_element = NULL; axutil_qname_t *qref = NULL; axiom_attribute_t *module_ref_att = NULL; module_ref_node = (axiom_node_t *) axiom_children_qname_iterator_next(module_refs, env); if (!module_ref_node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module ref node is empty. Unable to continue"); return AXIS2_FAILURE; } module_ref_element = axiom_node_get_data_element(module_ref_node, env); qref = axutil_qname_create(env, AXIS2_REF, NULL, NULL); module_ref_att = axiom_element_get_attribute(module_ref_element, env, qref); if (qref) { axutil_qname_free(qref, env); } if (module_ref_att) { axutil_qname_t *qrefname = NULL; axis2_char_t *ref_name = NULL; ref_name = axiom_attribute_get_value(module_ref_att, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Module %s found in axis2.xml", ref_name); qrefname = axutil_qname_create(env, ref_name, NULL, NULL); status = axis2_dep_engine_add_module(axis2_desc_builder_get_dep_engine (conf_builder->desc_builder, env), env, qrefname); if (qrefname) { axutil_qname_free(qrefname, env); } } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_process_module_refs"); return status; } static axis2_status_t axis2_conf_builder_process_disp_order( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_node_t * disp_order_node) { axiom_element_t *disp_order_element = NULL; axiom_children_qname_iterator_t *disps = NULL; axutil_qname_t *qdisp = NULL; axis2_bool_t found_disp = AXIS2_FALSE; axis2_phase_t *disp_phase = NULL; int count = 0; axis2_bool_t qname_itr_has_next = AXIS2_FALSE; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_process_disp_order"); AXIS2_PARAM_CHECK(env->error, disp_order_node, AXIS2_FAILURE); disp_order_element = axiom_node_get_data_element(disp_order_node, env); qdisp = axutil_qname_create(env, AXIS2_DISPATCHER, NULL, NULL); disps = axiom_element_get_children_with_qname(disp_order_element, env, qdisp, disp_order_node); axutil_qname_free(qdisp, env); disp_phase = axis2_phase_create(env, AXIS2_PHASE_DISPATCH); if (!disp_phase) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Dispatch phase creation failed. Unable to continue"); return AXIS2_FAILURE; } if (disps) { qname_itr_has_next = axiom_children_qname_iterator_has_next(disps, env); } while (qname_itr_has_next) { axiom_node_t *disp_node = NULL; axiom_element_t *disp_element = NULL; axiom_attribute_t *disp_att = NULL; axis2_char_t *class_name = NULL; axis2_char_t *dll_name = NULL; axutil_qname_t *class_qname = NULL; axis2_disp_t *disp_dll = NULL; axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; axis2_handler_desc_t *handler_desc = NULL; axis2_handler_t *handler = NULL; found_disp = AXIS2_TRUE; disp_node = (axiom_node_t *) axiom_children_qname_iterator_next(disps, env); class_qname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); disp_att = axiom_element_get_attribute(disp_element, env, class_qname); axutil_qname_free(class_qname, env); if (!disp_att) { qname_itr_has_next = axiom_children_qname_iterator_has_next(disps, env); continue; } class_name = axiom_attribute_get_value(disp_att, env); dll_desc = axutil_dll_desc_create(env); dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, class_name); axutil_dll_desc_set_name(dll_desc, env, dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_HANDLER_DLL); impl_info_param = axutil_param_create(env, class_name, NULL); if (!impl_info_param) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter creation failed for %s. Unable to continue", class_name); axis2_phase_free(disp_phase, env); return AXIS2_FAILURE; } axutil_param_set_value(impl_info_param, env, dll_desc); axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); axutil_class_loader_init(env); disp_dll = (axis2_disp_t *) axutil_class_loader_create_dll(env, impl_info_param); handler = axis2_disp_get_base(disp_dll, env); handler_desc = axis2_handler_get_handler_desc(handler, env); axis2_handler_desc_add_param(handler_desc, env, impl_info_param); axis2_phase_add_handler_at(disp_phase, env, count, handler); count++; qname_itr_has_next = axiom_children_qname_iterator_has_next(disps, env); } if (!found_disp) { axis2_phase_free(disp_phase, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_DISPATCHER_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No dispatcher found. Unable to continue"); return AXIS2_FAILURE; } else { status = axis2_conf_set_dispatch_phase(conf_builder->conf, env, disp_phase); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting dispatch phase failed. Unable to continue"); axis2_phase_free(disp_phase, env); return status; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_process_disp_order"); return AXIS2_SUCCESS; } /** * To process all the phase orders which are defined in axis2.xml retrieve each phase order node * from the iterator passed as parameter and from each phase order node retrieve phases list * defined for that phase order. Add the phases names into a array list and set it into the * dep_engine->phases_info with the corresponding phase order name. * @param phase_orders */ static axis2_status_t axis2_conf_builder_process_phase_orders( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * phase_orders) { axis2_phases_info_t *info = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_process_phase_orders"); AXIS2_PARAM_CHECK(env->error, phase_orders, AXIS2_FAILURE); info = axis2_dep_engine_get_phases_info(axis2_desc_builder_get_dep_engine( conf_builder->desc_builder, env), env); while (axiom_children_qname_iterator_has_next(phase_orders, env)) { axiom_node_t *phase_orders_node = NULL; axiom_element_t *phase_orders_element = NULL; axiom_attribute_t *phase_orders_att = NULL; axutil_qname_t *qtype = NULL; axis2_char_t *flow_type = NULL; axutil_array_list_t *phase_list = NULL; phase_orders_node = (axiom_node_t *) axiom_children_qname_iterator_next(phase_orders, env); if (phase_orders_node) { phase_orders_element = axiom_node_get_data_element(phase_orders_node, env); } if (phase_orders_element) { qtype = axutil_qname_create(env, AXIS2_TYPE, NULL, NULL); phase_orders_att = axiom_element_get_attribute(phase_orders_element, env, qtype); axutil_qname_free(qtype, env); } if (phase_orders_att) { flow_type = axiom_attribute_get_value(phase_orders_att, env); } phase_list = axis2_conf_builder_get_phase_list(conf_builder, env, phase_orders_node); if (!phase_list) { axis2_status_t status_code = AXIS2_FAILURE; status_code = AXIS2_ERROR_GET_STATUS_CODE(env->error); if (AXIS2_SUCCESS != status_code) { return status_code; } return AXIS2_SUCCESS; } if (flow_type && !axutil_strcmp(AXIS2_IN_FLOW_START, flow_type)) { axis2_phases_info_set_in_phases(info, env, phase_list); } else if (flow_type && !axutil_strcmp(AXIS2_IN_FAILTFLOW, flow_type)) { axis2_phases_info_set_in_faultphases(info, env, phase_list); } else if (flow_type && !axutil_strcmp(AXIS2_OUT_FLOW_START, flow_type)) { axis2_phases_info_set_out_phases(info, env, phase_list); } else if (flow_type && !axutil_strcmp(AXIS2_OUT_FAILTFLOW, flow_type)) { axis2_phases_info_set_out_faultphases(info, env, phase_list); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_process_phase_orders"); return AXIS2_SUCCESS; } /* From the phase order node passed as parameter retrieve all phase element nodes. From them extract * the phase name and add it to a array list. Return the array list. */ static axutil_array_list_t * axis2_conf_builder_get_phase_list( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_node_t * phase_orders_node) { axutil_array_list_t *phase_list = NULL; axiom_children_qname_iterator_t *phases = NULL; axutil_qname_t *qphase = NULL; axiom_element_t *phase_orders_element; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_get_phase_list"); AXIS2_PARAM_CHECK(env->error, phase_orders_node, NULL); phase_orders_element = axiom_node_get_data_element(phase_orders_node, env); if (!phase_orders_element) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DATA_ELEMENT_IS_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Retrieving phase orders data element from phase orders node failed. Unable to continue"); return NULL; } phase_list = axutil_array_list_create(env, 0); qphase = axutil_qname_create(env, AXIS2_PHASE, NULL, NULL); phases = axiom_element_get_children_with_qname(phase_orders_element, env, qphase, phase_orders_node); axutil_qname_free(qphase, env); if (!phases) { axutil_array_list_free(phase_list, env); /* I guess this is not an error. So adding debug message*/ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No phase node found in the phase orders node"); return NULL; } while (axiom_children_qname_iterator_has_next(phases, env)) { axiom_node_t *phase_node = NULL; axiom_element_t *phase_element = NULL; axiom_attribute_t *phase_att = NULL; axutil_qname_t *qattname = NULL; axis2_char_t *att_value = NULL; phase_node = (axiom_node_t *) axiom_children_qname_iterator_next(phases, env); if (phase_node) { phase_element = (axiom_element_t *) axiom_node_get_data_element(phase_node, env); } qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); if (phase_element) { phase_att = axiom_element_get_attribute(phase_element, env, qattname); } if (phase_att) { att_value = axiom_attribute_get_value(phase_att, env); } if (att_value) { axutil_array_list_add(phase_list, env, att_value); } axutil_qname_free(qattname, env); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_get_phase_list"); return phase_list; } static axis2_status_t axis2_conf_builder_process_transport_senders( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * trs_senders) { axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_process_transport_senders"); while (axiom_children_qname_iterator_has_next(trs_senders, env)) { axis2_transport_out_desc_t *transport_out = NULL; axiom_node_t *transport_node = NULL; axiom_element_t *transport_element = NULL; axiom_attribute_t *trs_name = NULL; axutil_qname_t *qattname = NULL; transport_node = (axiom_node_t *) axiom_children_qname_iterator_next(trs_senders, env); if (transport_node) { transport_element = (axiom_element_t *) axiom_node_get_data_element(transport_node, env); if (!transport_element) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Retrieving data element failed from the transport node."\ " Unable to continue"); return AXIS2_FAILURE; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport node is empty. Unable to continue"); return AXIS2_FAILURE; } /* getting trsnport Name */ qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); if (transport_element) { trs_name = axiom_element_get_attribute(transport_element, env, qattname); } axutil_qname_free(qattname, env); if (trs_name) { axis2_char_t *name = NULL; axiom_attribute_t *trs_dll_att = NULL; axis2_char_t *dll_name = NULL; axis2_char_t *class_name = NULL; axiom_children_qname_iterator_t *itr = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qinflowst = NULL; axutil_qname_t *qoutflowst = NULL; axutil_qname_t *qinfaultflowst = NULL; axutil_qname_t *qoutfaultflowst = NULL; axutil_qname_t *qdllname = NULL; axiom_element_t *in_flow_element = NULL; axiom_node_t *in_flow_node = NULL; axiom_element_t *out_flow_element = NULL; axiom_node_t *out_flow_node = NULL; axiom_element_t *in_fault_flow_element = NULL; axiom_node_t *in_fault_flow_node = NULL; axiom_element_t *out_fault_flow_element = NULL; axiom_node_t *out_fault_flow_node = NULL; axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; void *transport_sender = NULL; axis2_char_t *path_qualified_dll_name = NULL; axis2_char_t *repos_name = NULL; axis2_char_t *temp_path = NULL; axis2_char_t *temp_path2 = NULL; axis2_char_t *temp_path3 = NULL; AXIS2_TRANSPORT_ENUMS transport_enum = AXIS2_TRANSPORT_ENUM_HTTP; /* AXIS2_TRANSPORT_ENUMS transport_enum = AXIS2_TRANSPORT_ENUM_HTTP * set to avoid C4701 on Windows */ axis2_bool_t axis2_flag = AXIS2_FALSE; axutil_param_t *libparam; axis2_char_t *libdir=NULL; axis2_conf_t *conf; conf = conf_builder->conf; axis2_flag = axis2_conf_get_axis2_flag (conf, env); name = axiom_attribute_get_value(trs_name, env); if (name) { if (!axutil_strcmp(name, AXIS2_TRANSPORT_HTTP)) { transport_enum = AXIS2_TRANSPORT_ENUM_HTTP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_SMTP)) { transport_enum = AXIS2_TRANSPORT_ENUM_SMTP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_XMPP)) { transport_enum = AXIS2_TRANSPORT_ENUM_XMPP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_TCP)) { transport_enum = AXIS2_TRANSPORT_ENUM_TCP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_HTTPS)) { transport_enum = AXIS2_TRANSPORT_ENUM_HTTPS; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_AMQP)) { transport_enum = AXIS2_TRANSPORT_ENUM_AMQP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_UDP)) { transport_enum = AXIS2_TRANSPORT_ENUM_UDP; } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport name %s doesn't match with transport enum. "\ "Unable to continue", name); return AXIS2_FAILURE; } transport_out = axis2_transport_out_desc_create(env, transport_enum); } if (!transport_out) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport_out value is NULL for transport %s", name); return AXIS2_FAILURE; } /* transport impl class */ qdllname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); trs_dll_att = axiom_element_get_attribute(transport_element, env, qdllname); axutil_qname_free(qdllname, env); if (!trs_dll_att) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_TRANSPORT_SENDER_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport dll name attribute is not set in the "\ "%s transport element node", name); return AXIS2_FAILURE; } class_name = axiom_attribute_get_value(trs_dll_att, env); impl_info_param = axutil_param_create(env, class_name, NULL); if (!impl_info_param) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Creating module dll name parameter failed for %s. Unable "\ "to continue", class_name); axis2_transport_out_desc_free(transport_out, env); return AXIS2_FAILURE; } dll_desc = axutil_dll_desc_create(env); dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, class_name); if (!axis2_flag) { repos_name = axis2_dep_engine_get_repos_path (axis2_desc_builder_get_dep_engine (conf_builder->desc_builder, env), env); temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR); temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER); temp_path3 = axutil_stracat(env, temp_path2, AXIS2_PATH_SEP_STR); path_qualified_dll_name = axutil_stracat(env, temp_path3, dll_name); AXIS2_FREE(env->allocator, temp_path); AXIS2_FREE(env->allocator, temp_path2); AXIS2_FREE(env->allocator, temp_path3); } else { libparam = axis2_conf_get_param (conf, env, AXIS2_LIB_DIR); if (libparam) { libdir = axutil_param_get_value (libparam, env); } if (!libdir) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Specifying" \ "services and modules directories using axis2.xml but"\ " path of the library directory is not present"); return AXIS2_FAILURE; } path_qualified_dll_name = axutil_strcat (env, libdir, AXIS2_PATH_SEP_STR, dll_name, NULL); } axutil_dll_desc_set_name(dll_desc, env, path_qualified_dll_name); AXIS2_FREE(env->allocator, path_qualified_dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_TRANSPORT_SENDER_DLL); axutil_param_set_value(impl_info_param, env, dll_desc); axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); axutil_class_loader_init(env); transport_sender = axutil_class_loader_create_dll(env, impl_info_param); axis2_transport_out_desc_add_param(transport_out, env, impl_info_param); if (!transport_sender) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport sender is NULL for transport %s, unable to "\ "continue", name); axis2_transport_out_desc_free(transport_out, env); return status; } status = axis2_transport_out_desc_set_sender(transport_out, env, transport_sender); if (!status) { axis2_transport_out_desc_free(transport_out, env); return status; } /* Process Parameters */ /* Processing service level paramters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); itr = axiom_element_get_children_with_qname(transport_element, env, qparamst, transport_node); axutil_qname_free(qparamst, env); status = axis2_desc_builder_process_params(conf_builder->desc_builder, env, itr, axis2_transport_out_desc_param_container (transport_out, env), axis2_conf_get_param_container (conf_builder->conf, env)); if (!status) { axis2_transport_out_desc_free(transport_out, env); return status; } /* process IN_FLOW */ qinflowst = axutil_qname_create(env, AXIS2_IN_FLOW_START, NULL, NULL); in_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qinflowst, transport_node, &in_flow_node); axutil_qname_free(qinflowst, env); if (in_flow_element) { axis2_transport_out_desc_free(transport_out, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport in flow element is not allowed in the out path"); return AXIS2_FAILURE; } qoutflowst = axutil_qname_create(env, AXIS2_OUT_FLOW_START, NULL, NULL); out_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qoutflowst, transport_node, &out_flow_node); axutil_qname_free(qoutflowst, env); if (out_flow_element) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(conf_builder->desc_builder, env, out_flow_element, axis2_conf_get_param_container (conf_builder->conf, env), out_flow_node); status = axis2_transport_out_desc_set_out_flow(transport_out, env, flow); if (!status) { axis2_transport_out_desc_free(transport_out, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting the out flow failed on the trasnport out "\ "description for the transport %s", name); return status; } } /* process IN FAULT FLOW */ qinfaultflowst = axutil_qname_create(env, AXIS2_IN_FAILTFLOW, NULL, NULL); in_fault_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qinfaultflowst, transport_node, &in_fault_flow_node); axutil_qname_free(qinfaultflowst, env); if (in_fault_flow_element) { axis2_transport_out_desc_free(transport_out, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "A soap fault has occured in the in flow while "\ "processing transport senders. Unable to continue"); return AXIS2_FAILURE; } qoutfaultflowst = axutil_qname_create(env, AXIS2_OUT_FAILTFLOW, NULL, NULL); out_fault_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qoutfaultflowst, transport_node, &out_fault_flow_node); axutil_qname_free(qoutfaultflowst, env); if (out_fault_flow_element) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(conf_builder->desc_builder, env, out_fault_flow_element, axis2_conf_get_param_container (conf_builder->conf, env), out_fault_flow_node); status = axis2_transport_out_desc_set_fault_out_flow(transport_out, env, flow); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting the fault out flow into the transport out "\ "failed"); axis2_transport_out_desc_free(transport_out, env); return status; } } /* adding to axis config */ status = axis2_conf_add_transport_out(conf_builder->conf, env, transport_out, transport_enum); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding transport out for %s into main configuration failed", name); axis2_transport_out_desc_free(transport_out, env); return status; } } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_process_transport_senders"); return AXIS2_SUCCESS; } static axis2_status_t axis2_conf_builder_process_transport_recvs( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * trs_recvs) { axis2_status_t status = AXIS2_FAILURE; axis2_conf_t *conf; axis2_bool_t axis2_flag = AXIS2_FALSE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_conf_builder_process_transport_recvs"); AXIS2_PARAM_CHECK(env->error, trs_recvs, AXIS2_FAILURE); conf = conf_builder->conf; axis2_flag = axis2_conf_get_axis2_flag (conf, env); while (axiom_children_qname_iterator_has_next(trs_recvs, env)) { axis2_transport_in_desc_t *transport_in = NULL; axiom_node_t *transport_node = NULL; axiom_element_t *transport_element = NULL; axiom_attribute_t *trs_name = NULL; axutil_qname_t *qattname = NULL; transport_node = (axiom_node_t *) axiom_children_qname_iterator_next(trs_recvs, env); if (transport_node) { transport_element = axiom_node_get_data_element(transport_node, env); if (!transport_element) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Retrieving data element from the transport node failed."); return AXIS2_FAILURE; } } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport node is NULL. Unable to continue"); return AXIS2_FAILURE; } /* getting transport Name */ qattname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); trs_name = axiom_element_get_attribute(transport_element, env, qattname); axutil_qname_free(qattname, env); if (trs_name) { axis2_char_t *name = NULL; axiom_attribute_t *trs_class_name = NULL; axiom_children_qname_iterator_t *itr = NULL; axutil_qname_t *class_qname = NULL; axutil_qname_t *qparamst = NULL; axutil_qname_t *qinflowst = NULL; axutil_qname_t *qoutflowst = NULL; axutil_qname_t *qinfaultflowst = NULL; axutil_qname_t *qoutfaultflowst = NULL; axiom_element_t *in_flow_element = NULL; axiom_node_t *in_flow_node = NULL; axiom_element_t *out_flow_element = NULL; axiom_node_t *out_flow_node = NULL; axiom_element_t *in_fault_flow_element = NULL; axiom_node_t *in_fault_flow_node = NULL; axiom_element_t *out_fault_flow_element = NULL; axiom_node_t *out_fault_flow_node = NULL; AXIS2_TRANSPORT_ENUMS transport_enum = AXIS2_TRANSPORT_ENUM_HTTP; /* AXIS2_TRANSPORT_ENUMS transport_enum = AXIS2_TRANSPORT_ENUM_HTTP * set to avoid C4701 on Windows */ name = axiom_attribute_get_value(trs_name, env); if (name) { if (!axutil_strcmp(name, AXIS2_TRANSPORT_HTTP)) { transport_enum = AXIS2_TRANSPORT_ENUM_HTTP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_SMTP)) { transport_enum = AXIS2_TRANSPORT_ENUM_SMTP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_TCP)) { transport_enum = AXIS2_TRANSPORT_ENUM_TCP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_HTTPS)) { transport_enum = AXIS2_TRANSPORT_ENUM_HTTPS; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_AMQP)) { transport_enum = AXIS2_TRANSPORT_ENUM_AMQP; } else if (!axutil_strcmp(name, AXIS2_TRANSPORT_UDP)) { transport_enum = AXIS2_TRANSPORT_ENUM_UDP; } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport %s could not be recognized.", name); return AXIS2_FAILURE; } transport_in = axis2_transport_in_desc_create(env, transport_enum); } if (!transport_in) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Creating trasport_in_desc for transport %s failed", name); return AXIS2_FAILURE; } /* transport impl class */ class_qname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); trs_class_name = axiom_element_get_attribute(transport_element, env, class_qname); axutil_qname_free(class_qname, env); if (trs_class_name) { axis2_char_t *class_name = NULL; axis2_char_t *dll_name = NULL; axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; axis2_transport_receiver_t *recv = NULL; axis2_status_t stat = AXIS2_FAILURE; axis2_char_t *path_qualified_dll_name = NULL; axis2_char_t *repos_name = NULL; axis2_char_t *temp_path = NULL; axis2_char_t *temp_path2 = NULL; axis2_char_t *temp_path3 = NULL; axutil_param_t *tnsparam; axis2_char_t *libpath; class_name = axiom_attribute_get_value(trs_class_name, env); impl_info_param = axutil_param_create(env, class_name, NULL); dll_desc = axutil_dll_desc_create(env); dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, class_name); if (!axis2_flag) { /* Axis2 Configuration is not built using axis2.xml */ repos_name = axis2_dep_engine_get_repos_path (axis2_desc_builder_get_dep_engine (conf_builder->desc_builder, env), env); temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR); temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER); temp_path3 = axutil_stracat(env, temp_path2, AXIS2_PATH_SEP_STR); path_qualified_dll_name = axutil_stracat(env, temp_path3, dll_name); AXIS2_FREE(env->allocator, temp_path); AXIS2_FREE(env->allocator, temp_path2); AXIS2_FREE(env->allocator, temp_path3); } else { /* Axis2 Configuration is built using axis2.xml */ tnsparam = axis2_conf_get_param (conf, env, AXIS2_LIB_DIR); if (tnsparam) { libpath = (axis2_char_t *)axutil_param_get_value (tnsparam, env); if (libpath) { path_qualified_dll_name = axutil_strcat (env, libpath, AXIS2_PATH_SEP_STR, dll_name, NULL); } } } axutil_dll_desc_set_name(dll_desc, env, path_qualified_dll_name); AXIS2_FREE(env->allocator, path_qualified_dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_TRANSPORT_RECV_DLL); axutil_param_set_value(impl_info_param, env, dll_desc); axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); axutil_class_loader_init(env); recv = (axis2_transport_receiver_t *) axutil_class_loader_create_dll(env, impl_info_param); axis2_transport_in_desc_add_param(transport_in, env, impl_info_param); if (!recv) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Transport receiver loading failed for %s, "\ "unable to continue", dll_name); axis2_transport_in_desc_free(transport_in, env); return status; } stat = axis2_transport_in_desc_set_recv(transport_in, env, recv); if (!stat) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting transport receiver for transport %s into "\ "transport in description failed, unable to continue", name); axis2_transport_in_desc_free(transport_in, env); return stat; } } /* process Parameters */ /* processing Paramters */ /* Processing service level paramters */ qparamst = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); itr = axiom_element_get_children_with_qname(transport_element, env, qparamst, transport_node); axutil_qname_free(qparamst, env); status = axis2_desc_builder_process_params(conf_builder->desc_builder, env, itr, axis2_transport_in_desc_param_container (transport_in, env), axis2_conf_get_param_container (conf_builder->conf, env)); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Processing transport receiver parameters failed. "\ "Unable to continue"); axis2_transport_in_desc_free(transport_in, env); return status; } /* process OUT_FLOW */ qoutflowst = axutil_qname_create(env, AXIS2_OUT_FLOW_START, NULL, NULL); out_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qoutflowst, transport_node, &out_flow_node); axutil_qname_free(qoutflowst, env); if (out_flow_element) { axis2_transport_in_desc_free(transport_in, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out flow element not allowed in transport in path"); return AXIS2_FAILURE; } qinflowst = axutil_qname_create(env, AXIS2_IN_FLOW_START, NULL, NULL); in_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qinflowst, transport_node, &in_flow_node); axutil_qname_free(qinflowst, env); if (in_flow_element) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(conf_builder->desc_builder, env, in_flow_element, axis2_conf_get_param_container (conf_builder->conf, env), in_flow_node); status = axis2_transport_in_desc_set_in_flow(transport_in, env, flow); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting in flow into transport_in_desc of transport "\ "%s failed", name); axis2_transport_in_desc_free(transport_in, env); return status; } } qinfaultflowst = axutil_qname_create(env, AXIS2_IN_FAILTFLOW, NULL, NULL); in_fault_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qinfaultflowst, transport_node, &in_fault_flow_node); axutil_qname_free(qinfaultflowst, env); if (in_fault_flow_element) { axis2_flow_t *flow = NULL; flow = axis2_desc_builder_process_flow(conf_builder->desc_builder, env, in_fault_flow_element, axis2_conf_get_param_container (conf_builder->conf, env), in_fault_flow_node); status = axis2_transport_in_desc_set_fault_in_flow(transport_in, env, flow); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting in fault flow into transport_in_desc of "\ "transport %s failed", name); axis2_transport_in_desc_free(transport_in, env); return status; } } qoutfaultflowst = axutil_qname_create(env, AXIS2_OUT_FAILTFLOW, NULL, NULL); out_fault_flow_element = axiom_element_get_first_child_with_qname(transport_element, env, qoutfaultflowst, transport_node, &out_fault_flow_node); if (out_fault_flow_element) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out flow element is not allowed in transport in path"); return AXIS2_FAILURE; } /* adding to axis config */ status = axis2_conf_add_transport_in(conf_builder->conf, env, transport_in, transport_enum); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding transport_in_desc for transport %s into main "\ "configuration failed.", name); axis2_transport_in_desc_free(transport_in, env); return status; } axutil_qname_free(qoutfaultflowst, env); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_conf_builder_process_transport_recvs"); return AXIS2_SUCCESS; } static axis2_status_t AXIS2_CALL axis2_conf_builder_process_default_module_versions( axis2_conf_builder_t * conf_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_versions) { AXIS2_PARAM_CHECK(env->error, module_versions, AXIS2_FAILURE); while (axiom_children_qname_iterator_has_next(module_versions, env)) { axiom_element_t *om_element = NULL; axis2_char_t *name = NULL; axis2_char_t *default_version = NULL; axutil_qname_t *attribute_qname = NULL; om_element = (axiom_element_t *) axiom_children_qname_iterator_next(module_versions, env); if (!om_element) { continue; } attribute_qname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); if (!attribute_qname) { continue; } name = axiom_element_get_attribute_value(om_element, env, attribute_qname); axutil_qname_free(attribute_qname, env); attribute_qname = NULL; if (!name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Attribute value is NULL for "\ "attribute %s", AXIS2_ATTNAME); return AXIS2_FAILURE; } attribute_qname = axutil_qname_create(env, AXIS2_ATTRIBUTE_DEFAULT_VERSION, NULL, NULL); if (!attribute_qname) { continue; } default_version = axiom_element_get_attribute_value(om_element, env, attribute_qname); axutil_qname_free(attribute_qname, env); attribute_qname = NULL; if (!default_version) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Attribute value is NULL for "\ "attribute %s", AXIS2_ATTRIBUTE_DEFAULT_VERSION); return AXIS2_FAILURE; } axis2_conf_add_default_module_version(conf_builder->conf, env, name, default_version); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/deployment/axis2_arch_file_data.h0000644000175000017500000002007111166304442024720 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ARCH_FILE_DATA_H #define AXIS2_ARCH_FILE_DATA_H /** @defgroup axis2_arch_file_data Arch File Data * @ingroup axis2_deployment * @{ */ /** * @file axis2_arch_file_data.h * @brief Axis2 Arch File Data interface. arch_file_data construct contain * deployment information retrieved from a module or service configuration file. */ #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_conf; /** Type name for struct axis2_arch_fila_data */ typedef struct axis2_arch_file_data axis2_arch_file_data_t; /** * De-allocate memory * @param arch_file_data pointer to arch_file_data * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_arch_file_data_free( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_msg_recv( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @param msg_recv pointer to message receiver * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_msg_recv( axis2_arch_file_data_t * file_data, const axutil_env_t * env, axis2_char_t * msg_recv); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @return the name of the contained file. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_name( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @return the service name. If contained file is not null this is the * file name. else this is the name property */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_svc_name( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_arch_file_data_get_type( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN axutil_file_t *AXIS2_CALL axis2_arch_file_data_get_file( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_module_name( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @param module_name pointer to module_name * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_module_name( axis2_arch_file_data_t * file_data, const axutil_env_t * env, axis2_char_t * module_name); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_module_dll_name( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_module_dll_name( axis2_arch_file_data_t * file_data, const axutil_env_t * env, axis2_char_t * module_dll_name); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_add_svc( axis2_arch_file_data_t * file_data, const axutil_env_t * env, struct axis2_svc *svc_desc); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_arch_file_data_get_svc( const axis2_arch_file_data_t * file_data, const axutil_env_t * env, axis2_char_t * svc_name); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_arch_file_data_get_svc_map( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_arch_file_data_get_deployable_svcs( const axis2_arch_file_data_t * file_data, const axutil_env_t * env); /** * @param file_data pointer to arch_file_data * @param env pointer to environment struct * @param deployable_svcs pointer to deployable services * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_deployable_svcs( axis2_arch_file_data_t * file_data, const axutil_env_t * env, axutil_array_list_t * deployable_svcs); /** * Creates arch file data struct * @param env pointer to environment struct * @return pointer to newly created arch file data */ AXIS2_EXTERN axis2_arch_file_data_t *AXIS2_CALL axis2_arch_file_data_create( const axutil_env_t * env); /** * Creates arch file data struct * @param env pointer to environment struct * @param type type * @param file folder name of service or module * @return pointer to newly created arch file data */ AXIS2_EXTERN axis2_arch_file_data_t *AXIS2_CALL axis2_arch_file_data_create_with_type_and_file( const axutil_env_t * env, int type, axutil_file_t * file); /** * Creates arch file data struct * @param env pointer to environment struct * @param type type * @param name pointer to name * @return pointer to newly created arch file data */ AXIS2_EXTERN axis2_arch_file_data_t *AXIS2_CALL axis2_arch_file_data_create_with_type_and_name( const axutil_env_t * env, int type, const axis2_char_t * name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ARCH_FILE_DATA_H */ axis2c-src-1.6.0/src/core/deployment/axis2_svc_grp_builder.h0000644000175000017500000000710511166304442025167 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not svc_grp this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_GRP_BUILDER_H #define AXIS2_SVC_GRP_BUILDER_H /** @defgroup axis2_svc_grp_builder Service Group Builder * @ingroup axis2_deployment * @{ */ /** * @file axis2_svc_grp_builder.h * @brief Axis2 Service Group Builder interface */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc_grp_builder */ typedef struct axis2_svc_grp_builder axis2_svc_grp_builder_t; /** * De-allocate memory * @param svc_grp_builder pointer to service group builder * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_grp_builder_free( axis2_svc_grp_builder_t * svc_grp_builder, const axutil_env_t * env); /** * @param grp_builder pointer to group builder * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_builder_populate_svc_grp( axis2_svc_grp_builder_t * grp_builder, const axutil_env_t * env, axis2_svc_grp_t * svc_grp); /** * To get the list og modules that is requird to be engage globally * @param grp_builder pointer to group builder * @param env pointer to environment struct * @param module_refs axiom_children_qname_iterator_t * @param svc_group pointer to service group * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_builder_process_module_refs( axis2_svc_grp_builder_t * grp_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs, axis2_svc_grp_t * svc_grp); AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_svc_grp_builder_get_desc_builder( const axis2_svc_grp_builder_t * svc_grp_builder, const axutil_env_t * env); /** * Creates svc_grp builder struct * @param env pointer to environment struct * @return pointer to newly created service group builder */ AXIS2_EXTERN axis2_svc_grp_builder_t *AXIS2_CALL axis2_svc_grp_builder_create( const axutil_env_t * env); /** * Creates svc_grp builder struct * @param env pointer to environment strut * @param svc pointer to service * @param dep_engine pointer to deployment engine * @return pointer to newly created service group builder */ AXIS2_EXTERN axis2_svc_grp_builder_t *AXIS2_CALL axis2_svc_grp_builder_create_with_svc_and_dep_engine( const axutil_env_t * env, axiom_node_t * svc, axis2_dep_engine_t * dep_engine); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_GRP_BUILDER_H */ axis2c-src-1.6.0/src/core/deployment/Makefile.am0000644000175000017500000000312011166304442022564 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_deployment.la noinst_HEADERS = axis2_deployment.h \ axis2_arch_file_data.h \ axis2_arch_reader.h \ axis2_conf_builder.h \ axis2_dep_engine.h \ axis2_desc_builder.h \ axis2_module_builder.h \ axis2_repos_listener.h \ axis2_svc_builder.h \ axis2_svc_grp_builder.h \ axis2_ws_info.h \ axis2_ws_info_list.h libaxis2_deployment_la_SOURCES =phases_info.c \ desc_builder.c \ arch_reader.c \ dep_engine.c \ arch_file_data.c \ ws_info.c \ ws_info_list.c \ svc_builder.c \ svc_grp_builder.c \ module_builder.c \ conf_builder.c \ repos_listener.c \ conf_init.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/util \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/neethi/include \ -I$(top_builddir)/util/include axis2c-src-1.6.0/src/core/deployment/Makefile.in0000644000175000017500000004006311172017203022575 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/deployment DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_deployment_la_LIBADD = am_libaxis2_deployment_la_OBJECTS = phases_info.lo desc_builder.lo \ arch_reader.lo dep_engine.lo arch_file_data.lo ws_info.lo \ ws_info_list.lo svc_builder.lo svc_grp_builder.lo \ module_builder.lo conf_builder.lo repos_listener.lo \ conf_init.lo libaxis2_deployment_la_OBJECTS = $(am_libaxis2_deployment_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_deployment_la_SOURCES) DIST_SOURCES = $(libaxis2_deployment_la_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_deployment.la noinst_HEADERS = axis2_deployment.h \ axis2_arch_file_data.h \ axis2_arch_reader.h \ axis2_conf_builder.h \ axis2_dep_engine.h \ axis2_desc_builder.h \ axis2_module_builder.h \ axis2_repos_listener.h \ axis2_svc_builder.h \ axis2_svc_grp_builder.h \ axis2_ws_info.h \ axis2_ws_info_list.h libaxis2_deployment_la_SOURCES = phases_info.c \ desc_builder.c \ arch_reader.c \ dep_engine.c \ arch_file_data.c \ ws_info.c \ ws_info_list.c \ svc_builder.c \ svc_grp_builder.c \ module_builder.c \ conf_builder.c \ repos_listener.c \ conf_init.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/util \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/neethi/include \ -I$(top_builddir)/util/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/deployment/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/deployment/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_deployment.la: $(libaxis2_deployment_la_OBJECTS) $(libaxis2_deployment_la_DEPENDENCIES) $(LINK) $(libaxis2_deployment_la_OBJECTS) $(libaxis2_deployment_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arch_file_data.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/arch_reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conf_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conf_init.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dep_engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/desc_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phases_info.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/repos_listener.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_grp_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ws_info.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ws_info_list.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(HEADERS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/deployment/desc_builder.c0000644000175000017500000012460511166304442023334 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include struct axis2_desc_builder { /** * Store the full path to configuration file. */ axis2_char_t *file_name; axiom_node_t *root; struct axis2_dep_engine *engine; }; static axis2_status_t set_attrs_and_value( axutil_param_t * param, const axutil_env_t * env, axiom_element_t * param_element, axiom_node_t * param_node); AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_desc_builder_create( const axutil_env_t * env) { axis2_desc_builder_t *desc_builder = NULL; desc_builder = (axis2_desc_builder_t *) AXIS2_MALLOC(env-> allocator, sizeof (axis2_desc_builder_t)); if (!desc_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot allocate memory to desc_builder"); return NULL; } desc_builder->file_name = NULL; desc_builder->engine = NULL; desc_builder->root = NULL; return desc_builder; } AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_desc_builder_create_with_file_and_dep_engine( const axutil_env_t * env, axis2_char_t * file_name, axis2_dep_engine_t * engine) { axis2_desc_builder_t *desc_builder = NULL; AXIS2_PARAM_CHECK(env->error, file_name, NULL); AXIS2_PARAM_CHECK(env->error, engine, NULL); desc_builder = (axis2_desc_builder_t *) axis2_desc_builder_create(env); if (!desc_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot allocate memory to desc_builder"); return NULL; } desc_builder->root = NULL; desc_builder->file_name = axutil_strdup(env, file_name); if (!desc_builder->file_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot allocate memory to desc_builder->file_name"); return NULL; } desc_builder->engine = engine; return desc_builder; } AXIS2_EXTERN axis2_desc_builder_t *AXIS2_CALL axis2_desc_builder_create_with_dep_engine( const axutil_env_t * env, struct axis2_dep_engine * engine) { axis2_desc_builder_t *desc_builder = NULL; AXIS2_PARAM_CHECK(env->error, engine, NULL); desc_builder = (axis2_desc_builder_t *) axis2_desc_builder_create(env); if (!desc_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot allocate memory to desc_builder"); return NULL; } desc_builder->engine = engine; return desc_builder; } AXIS2_EXTERN void AXIS2_CALL axis2_desc_builder_free( axis2_desc_builder_t * desc_builder, const axutil_env_t * env) { if (desc_builder->file_name) { AXIS2_FREE(env->allocator, desc_builder->file_name); } if (desc_builder->root) { axiom_node_free_tree(desc_builder->root,env); } /* we cannot free deployment engine here */ desc_builder->engine = NULL; if (desc_builder) { AXIS2_FREE(env->allocator, desc_builder); } return; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axis2_desc_builder_build_om( axis2_desc_builder_t * desc_builder, const axutil_env_t * env) { axiom_xml_reader_t *reader = NULL; axiom_document_t *document = NULL; axiom_stax_builder_t *builder = NULL; if (!desc_builder->file_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_DESC_BUILDER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid state desc builder. Unable to continue"); return NULL; } /** create pull parser using the file path to configuration file */ reader = axiom_xml_reader_create_for_file(env, desc_builder->file_name, NULL); if (!reader) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create xml reader for %s", desc_builder->file_name); return NULL; }; /** create axiom_stax_builder by parsing pull_parser struct */ builder = axiom_stax_builder_create(env, reader); if (!(builder)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create xml stream reader for desc builder %s. Unable "\ "to continue", desc_builder->file_name); return NULL; } /** get the om document form builder document is the container of om model created using builder */ document = axiom_stax_builder_get_document(builder, env); /** * In description building we don't want defferred building. So build * the whole tree at once */ axiom_document_build_all(document, env); /** get root element , building starts hear */ desc_builder->root = axiom_document_get_root_element(document, env); /** We have built the whole document. So no need of keeping the builder. */ axiom_stax_builder_free_self(builder, env); return desc_builder->root; } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_desc_builder_process_flow( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_element_t * flow_element, axutil_param_container_t * parent, axiom_node_t * flow_node) { axis2_flow_t *flow = NULL; axiom_children_qname_iterator_t *handlers = NULL; axutil_qname_t *qchild = NULL; AXIS2_PARAM_CHECK(env->error, parent, NULL); AXIS2_PARAM_CHECK(env->error, flow_node, NULL); flow = axis2_flow_create(env); if (!flow) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Could not allocate to flow"); return NULL; } if (!flow_element) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "There is no flow element to process"); return NULL; } qchild = axutil_qname_create(env, AXIS2_HANDLERST, NULL, NULL); handlers = axiom_element_get_children_with_qname(flow_element, env, qchild, flow_node); if (qchild) { axutil_qname_free(qchild, env); } while (axiom_children_qname_iterator_has_next(handlers, env)) { axiom_node_t *handler_node = NULL; axis2_handler_desc_t *handler_desc = NULL; axis2_status_t status = AXIS2_FAILURE; handler_node = (axiom_node_t *) axiom_children_qname_iterator_next(handlers, env); handler_desc = axis2_desc_builder_process_handler(desc_builder, env, handler_node, parent); status = axis2_flow_add_handler(flow, env, handler_desc); if (!status) { const axutil_string_t *handler_name = NULL; const axis2_char_t *hname = NULL; handler_name = axis2_handler_desc_get_name(handler_desc, env); hname = axutil_string_get_buffer(handler_name, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler %s to flow failed", hname); axis2_flow_free(flow, env); return NULL; } } return flow; } struct axis2_handler_desc *AXIS2_CALL axis2_desc_builder_process_handler( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_node_t * handler_node, struct axutil_param_container *parent) { axis2_handler_desc_t *handler_desc = NULL; axiom_attribute_t *name_attrib = NULL; axutil_qname_t *attr_qname = NULL; axiom_attribute_t *class_attrib = NULL; axutil_qname_t *class_qname = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *attrib_value = NULL; axiom_element_t *handler_element = NULL; axiom_node_t *order_node = NULL; axiom_element_t *order_element = NULL; axutil_qname_t *order_qname = NULL; axutil_string_t *handler_name = NULL; const axis2_char_t *hname = NULL; AXIS2_PARAM_CHECK(env->error, handler_node, NULL); AXIS2_PARAM_CHECK(env->error, parent, NULL); handler_desc = axis2_handler_desc_create(env, NULL); if (!handler_desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create handler description"); return NULL; } /* Setting Handler name */ attr_qname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); handler_element = axiom_node_get_data_element(handler_node, env); name_attrib = axiom_element_get_attribute(handler_element, env, attr_qname); if (attr_qname) { axutil_qname_free(attr_qname, env); } if (!name_attrib) { axis2_handler_desc_free(handler_desc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Name attribute not fould for handler."); return NULL; } else { axis2_char_t *value = NULL; value = axiom_attribute_get_value(name_attrib, env); handler_name = axutil_string_create(env, value); status = axis2_handler_desc_set_name(handler_desc, env, handler_name); if (handler_name) { axutil_string_free(handler_name, env); } if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name for handler description failed in %s", desc_builder->file_name); axis2_handler_desc_free(handler_desc, env); return NULL; } } hname = axutil_string_get_buffer(handler_name, env); /*Setting Handler Class name */ class_qname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); class_attrib = axiom_element_get_attribute(handler_element, env, class_qname); if (class_qname) { axutil_qname_free(class_qname, env); } if (!class_attrib) { axis2_handler_desc_free(handler_desc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Library name attribute not found for handler %s", hname); return NULL; } else { attrib_value = axiom_attribute_get_value(class_attrib, env); status = axis2_handler_desc_set_class_name(handler_desc, env, attrib_value); } /*processing phase Rules (order) */ order_qname = axutil_qname_create(env, AXIS2_ORDER, NULL, NULL); order_element = axiom_element_get_first_child_with_qname(handler_element, env, order_qname, handler_node, &order_node); if (order_qname) { axutil_qname_free(order_qname, env); } if (!order_element || !order_node) { axis2_handler_desc_free(handler_desc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Order node not found for handler description %s", hname); return NULL; } else { axutil_hash_t *order_itr = NULL; axiom_children_qname_iterator_t *params = NULL; axutil_qname_t *param_qname = NULL; axutil_hash_index_t *index_i = NULL; order_itr = axiom_element_get_all_attributes(order_element, env); if (!order_itr) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Order element for handler desc %s does not contain any "\ "attribute", hname); axis2_handler_desc_free(handler_desc, env); return NULL; } index_i = axutil_hash_first(order_itr, env); while (index_i) { axiom_attribute_t *order_attrib = NULL; axutil_qname_t *qname = NULL; axis2_char_t *name = NULL; axis2_char_t *value = NULL; void *v = NULL; axutil_hash_this(index_i, NULL, NULL, &v); order_attrib = (axiom_attribute_t *) v; qname = axiom_attribute_get_qname(order_attrib, env); name = axutil_qname_get_localpart(qname, env); value = axiom_attribute_get_value(order_attrib, env); if (!axutil_strcmp(AXIS2_AFTER, name)) { struct axis2_phase_rule *phase_rule = NULL; phase_rule = axis2_handler_desc_get_rules(handler_desc, env); status = axis2_phase_rule_set_after(phase_rule, env, value); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting %s phase rule failed for handler %s", AXIS2_AFTER, hname); axis2_handler_desc_free(handler_desc, env); return NULL; } } if (!axutil_strcmp(AXIS2_BEFORE, name)) { struct axis2_phase_rule *phase_rule = NULL; phase_rule = axis2_handler_desc_get_rules(handler_desc, env); status = axis2_phase_rule_set_before(phase_rule, env, value); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting %s phase rule failed for handler %s", AXIS2_BEFORE, hname); axis2_handler_desc_free(handler_desc, env); return NULL; } } if (!axutil_strcmp(AXIS2_PHASE, name)) { struct axis2_phase_rule *phase_rule = NULL; phase_rule = axis2_handler_desc_get_rules(handler_desc, env); status = axis2_phase_rule_set_name(phase_rule, env, value); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting phase rule name failed for handler %s", hname); axis2_handler_desc_free(handler_desc, env); return NULL; } } if (!axutil_strcmp(AXIS2_PHASEFIRST, name)) { axis2_char_t *bool_val = NULL; bool_val = axis2_desc_builder_get_value(desc_builder, env, value); if (!axutil_strcmp(bool_val, AXIS2_VALUE_TRUE)) { struct axis2_phase_rule *phase_rule = NULL; phase_rule = axis2_handler_desc_get_rules(handler_desc, env); status = axis2_phase_rule_set_first(phase_rule, env, AXIS2_TRUE); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting %s property for phase rules for handler "\ "%s failed", AXIS2_PHASEFIRST, hname); axis2_handler_desc_free(handler_desc, env); AXIS2_FREE(env->allocator, bool_val); return NULL; } } else if (!axutil_strcmp(bool_val, AXIS2_VALUE_FALSE)) { struct axis2_phase_rule *phase_rule = NULL; phase_rule = axis2_handler_desc_get_rules(handler_desc, env); status = axis2_phase_rule_set_first(phase_rule, env, AXIS2_FALSE); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting %s property for phase rules for handler "\ "%s failed", AXIS2_PHASEFIRST, hname); axis2_handler_desc_free(handler_desc, env); AXIS2_FREE(env->allocator, bool_val); return NULL; } } AXIS2_FREE(env->allocator, bool_val); } index_i = axutil_hash_next(env, index_i); } param_qname = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); params = axiom_element_get_children_with_qname(handler_element, env, param_qname, handler_node); axutil_qname_free(param_qname, env); status = axis2_desc_builder_process_params(desc_builder, env, params, axis2_handler_desc_get_param_container (handler_desc, env), parent); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Processing params failed for handler %s", hname); axis2_handler_desc_free(handler_desc, env); return NULL; } } status = axis2_handler_desc_set_parent(handler_desc, env, parent); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting parent failed for handler %s", hname); axis2_handler_desc_free(handler_desc, env); return NULL; } return handler_desc; } static axis2_status_t set_attrs_and_value( axutil_param_t * param, const axutil_env_t * env, axiom_element_t * param_element, axiom_node_t * param_node) { axis2_status_t status = AXIS2_FAILURE; axutil_hash_t *attrs = NULL; axiom_child_element_iterator_t *childs = NULL; AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, param_element, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, param_node, AXIS2_FAILURE); /* Setting attributes */ attrs = axiom_element_extract_attributes(param_element, env, param_node); if (attrs) { axutil_hash_index_t *i = NULL; for (i = axutil_hash_first(attrs, env); i; i = axutil_hash_next(env, i)) { void *v = NULL; axiom_attribute_t *value = NULL; axutil_generic_obj_t *obj = NULL; axutil_qname_t *attr_qname = NULL; axis2_char_t *attr_name = NULL; axutil_hash_this(i, NULL, NULL, &v); if (!v) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Attibute missing in the parameter element"); axutil_param_free(param, env); return AXIS2_FAILURE; } obj = axutil_generic_obj_create(env); if (!obj) { axutil_param_free(param, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } value = (axiom_attribute_t *) v; axutil_generic_obj_set_value(obj, env, value); axutil_generic_obj_set_free_func(obj, env, axiom_attribute_free_void_arg); attr_qname = axiom_attribute_get_qname(value, env); attr_name = axutil_qname_to_string(attr_qname, env); axutil_hash_set(attrs, attr_name, AXIS2_HASH_KEY_STRING, obj); } axutil_param_set_attributes(param, env, attrs); } childs = axiom_element_get_child_elements(param_element, env, param_node); if (childs) { axutil_array_list_t *value_list = NULL; value_list = axutil_array_list_create(env, 0); axutil_param_set_value_list(param, env, value_list); while (AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(childs, env)) { axiom_node_t *node = NULL; axiom_element_t *element = NULL; axutil_param_t *param = NULL; axis2_char_t *pname = NULL; node = AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(childs, env); element = axiom_node_get_data_element(node, env); param = axutil_param_create(env, NULL, NULL); pname = axiom_element_get_localname(element, env); status = axutil_param_set_name(param, env, pname); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name to parameter failed"); axutil_param_free(param, env); return status; } axutil_param_set_param_type(param, env, AXIS2_DOM_PARAM); set_attrs_and_value(param, env, element, node); axutil_array_list_add(value_list, env, param); } } else { axis2_char_t *para_test_value = NULL; axis2_char_t *temp = NULL; temp = axiom_element_get_text(param_element, env, param_node); para_test_value = axutil_strdup(env, temp); status = axutil_param_set_value(param, env, para_test_value); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting value to parameter failed"); axutil_param_free(param, env); AXIS2_FREE(env->allocator, para_test_value); return status; } axutil_param_set_param_type(param, env, AXIS2_TEXT_PARAM); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_rest_params( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_node_t * op_node, axis2_op_t * op_desc) { axiom_element_t *op_element = NULL; axutil_qname_t *qname = NULL; axutil_qname_t *param_qname = NULL; axiom_node_t *rest_node = NULL; axiom_element_t *rest_element = NULL; axiom_children_qname_iterator_t *rest_mappings = NULL; AXIS2_PARAM_CHECK(env->error, op_desc, AXIS2_FAILURE); op_element = axiom_node_get_data_element(op_node, env); param_qname = axutil_qname_create(env, AXIS2_PARAMETERST, NULL, NULL); qname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); if (op_element) { rest_mappings = axiom_element_get_children_with_qname(op_element, env, param_qname, op_node); } while (rest_mappings && axiom_children_qname_iterator_has_next(rest_mappings, env)) { axis2_char_t *param_value = NULL; rest_node = (axiom_node_t *) axiom_children_qname_iterator_next(rest_mappings, env); rest_element = axiom_node_get_data_element(rest_node, env); param_value = axiom_element_get_attribute_value(rest_element, env, qname); if (!strcmp(param_value, AXIS2_REST_HTTP_METHOD)) { axis2_op_set_rest_http_method(op_desc, env, axiom_element_get_text(rest_element, env, rest_node)); } param_value = axiom_element_get_attribute_value(rest_element, env, qname); if (!strcmp(param_value, AXIS2_REST_HTTP_LOCATION)) { axis2_op_set_rest_http_location(op_desc, env, axiom_element_get_text(rest_element, env, rest_node)); } if (axis2_op_get_rest_http_method(op_desc, env) && axis2_op_get_rest_http_location(op_desc, env)) { break; } } axutil_qname_free(qname, env); axutil_qname_free(param_qname, env); return AXIS2_SUCCESS; } /** * Populate the Axis2 Operation with details from the actionMapping, * outputActionMapping and faultActionMapping elements from the operation * element. * * @param operation * @param op_desc */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_action_mappings( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_node_t * op_node, axis2_op_t * op_desc) { axiom_element_t *op_element = NULL; axutil_qname_t *qname = NULL; axiom_children_qname_iterator_t *action_mappings = NULL; axutil_array_list_t *mapping_list = axutil_array_list_create(env, 0); AXIS2_PARAM_CHECK(env->error, op_desc, AXIS2_FAILURE); op_element = axiom_node_get_data_element(op_node, env); qname = axutil_qname_create(env, AXIS2_ACTION_MAPPING, NULL, NULL); if (op_element) { action_mappings = axiom_element_get_children_with_qname(op_element, env, qname, op_node); } axutil_qname_free(qname, env); qname = NULL; if (!action_mappings) { if (mapping_list) { axutil_array_list_free(mapping_list, env); mapping_list = NULL; } return AXIS2_SUCCESS; } while (axiom_children_qname_iterator_has_next(action_mappings, env)) { axiom_element_t *mapping_element = NULL; axiom_node_t *mapping_node = NULL; axis2_char_t *input_action_string = NULL; axis2_char_t *temp_str = NULL; /* This is to check whether some one has locked the parmter at the top * level */ mapping_node = (axiom_node_t *) axiom_children_qname_iterator_next(action_mappings, env); mapping_element = axiom_node_get_data_element(mapping_node, env); temp_str = axiom_element_get_text(mapping_element, env, mapping_node); input_action_string = axutil_strtrim(env, temp_str, NULL); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Input action mapping found %s", input_action_string); if (axutil_strcmp("", input_action_string)) { axutil_array_list_add(mapping_list, env, input_action_string); } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Zero length " "input_action_string found. Not added to the mapping list"); } } axis2_op_set_wsamapping_list(op_desc, env, mapping_list); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_params( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * params, axutil_param_container_t * param_container, axutil_param_container_t * parent) { axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, params, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, param_container, AXIS2_FAILURE); while (axiom_children_qname_iterator_has_next(params, env)) { axiom_element_t *param_element = NULL; axiom_node_t *param_node = NULL; axutil_param_t *param = NULL; axutil_param_t *parent_para = NULL; axiom_attribute_t *para_name = NULL; axiom_attribute_t *para_locked = NULL; axutil_qname_t *att_locked = NULL; axutil_qname_t *att_qname = NULL; axis2_char_t *pname = NULL; /* This is to check whether some one has locked the parmter at the top * level */ param_node = (axiom_node_t *) axiom_children_qname_iterator_next(params, env); param_element = axiom_node_get_data_element(param_node, env); param = axutil_param_create(env, NULL, NULL); /* Setting paramter name */ att_qname = axutil_qname_create(env, AXIS2_ATTNAME, NULL, NULL); para_name = axiom_element_get_attribute(param_element, env, att_qname); axutil_qname_free(att_qname, env); if (!para_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter name attribute not found for parameter"); axutil_param_free(param, env); return AXIS2_FAILURE; } pname = axiom_attribute_get_value(para_name, env); status = axutil_param_set_name(param, env, pname); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not set parameter name for parameter"); axutil_param_free(param, env); return status; } /* Setting paramter Value (the chiled elemnt of the paramter) */ set_attrs_and_value(param, env, param_element, param_node); /* Setting locking attrib */ att_locked = axutil_qname_create(env, AXIS2_ATTLOCKED, NULL, NULL); para_locked = axiom_element_get_attribute(param_element, env, att_locked); axutil_qname_free(att_locked, env); if (parent) { axis2_char_t *param_name = NULL; param_name = axutil_param_get_name(param, env); parent_para = axutil_param_container_get_param(parent, env, param_name); } if (para_locked) { axis2_char_t *locked_value = NULL; locked_value = axiom_attribute_get_value(para_locked, env); if (!axutil_strcmp(AXIS2_VALUE_TRUE, locked_value)) { axis2_char_t *param_name = NULL; axis2_bool_t is_param_locked = AXIS2_FALSE; /*if the parameter is locked at some level parameter value replace * by that */ param_name = axutil_param_get_name(param, env); is_param_locked = axutil_param_container_is_param_locked(parent, env, param_name); if (parent && is_param_locked) { axutil_param_free(param, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CONFIG_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter %s is locked", param_name); return AXIS2_FAILURE; } else { axutil_param_set_locked(param, env, AXIS2_TRUE); } } else { axutil_param_set_locked(param, env, AXIS2_FALSE); } } if (parent) { axis2_char_t *name = NULL; axis2_bool_t bvalue = AXIS2_FALSE; name = axutil_param_get_name(param, env); bvalue = axutil_param_container_is_param_locked(parent, env, name); if (parent_para || !bvalue) { status = axutil_param_container_add_param(param_container, env, param); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding parameter %s failed", name); axutil_param_free(param, env); return status; } } } else { status = axutil_param_container_add_param(param_container, env, param); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding parameter %s failed", pname); axutil_param_free(param, env); return status; } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_builder_process_op_module_refs( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axiom_children_qname_iterator_t * module_refs, axis2_op_t * op) { axiom_element_t *moduleref = NULL; axiom_attribute_t *module_ref_attrib = NULL; axutil_qname_t *qref = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, op, AXIS2_FAILURE); while (module_refs && axiom_children_qname_iterator_has_next(module_refs, env)) { axiom_node_t *moduleref_node = axiom_children_qname_iterator_next(module_refs, env); moduleref = (axiom_element_t *)axiom_node_get_data_element(moduleref_node, env); qref = axutil_qname_create(env, AXIS2_REF, NULL, NULL); module_ref_attrib = axiom_element_get_attribute(moduleref, env, qref); axutil_qname_free(qref, env); if (module_ref_attrib) { axis2_char_t *ref_name = NULL; axutil_qname_t *ref_qname = NULL; axis2_module_desc_t *module_desc = NULL; ref_name = axiom_attribute_get_value(module_ref_attrib, env); ref_qname = axutil_qname_create(env, ref_name, NULL, NULL); module_desc = axis2_dep_engine_get_module(desc_builder->engine, env, ref_qname); if (!module_desc) { axutil_qname_free(ref_qname, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module %s not found in the deployment engine", ref_name); return AXIS2_FAILURE; } else { status = axis2_op_add_module_qname(op, env, ref_qname); axutil_qname_free(ref_qname, env); if (AXIS2_SUCCESS != status) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding module ref %s to operation %s failed", ref_name, axutil_qname_get_localpart(axis2_op_get_qname(op, env), env)); return AXIS2_FAILURE; } } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_desc_builder_load_msg_recv( axis2_desc_builder_t * desc_builder, const axutil_env_t * env, struct axiom_element * recv_element) { axiom_attribute_t *recv_name = NULL; axis2_char_t *class_name = NULL; axis2_msg_recv_t *msg_recv = NULL; axutil_qname_t *class_qname = NULL; axutil_param_t *impl_info_param = NULL; axutil_dll_desc_t *dll_desc = NULL; axis2_char_t *repos_name = NULL; axis2_char_t *dll_name = NULL; axis2_char_t *temp_path = NULL; axis2_char_t *temp_path2 = NULL; axis2_char_t *temp_path3 = NULL; axis2_conf_t *conf = NULL; axis2_char_t *msg_recv_dll_name = NULL; AXIS2_PARAM_CHECK(env->error, recv_element, NULL); class_qname = axutil_qname_create(env, AXIS2_CLASSNAME, NULL, NULL); recv_name = axiom_element_get_attribute(recv_element, env, class_qname); axutil_qname_free(class_qname, env); class_name = axiom_attribute_get_value(recv_name, env); conf = axis2_dep_engine_get_axis_conf(desc_builder->engine, env); if (!conf) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Configuration not found in the deployment engine"); return NULL; } impl_info_param = axis2_conf_get_param(conf, env, class_name); if (!impl_info_param) { dll_desc = axutil_dll_desc_create(env); msg_recv_dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, class_name); repos_name = axis2_dep_engine_get_repos_path(desc_builder->engine, env); temp_path = axutil_stracat(env, repos_name, AXIS2_PATH_SEP_STR); temp_path2 = axutil_stracat(env, temp_path, AXIS2_LIB_FOLDER); temp_path3 = axutil_stracat(env, temp_path2, AXIS2_PATH_SEP_STR); dll_name = axutil_stracat(env, temp_path3, msg_recv_dll_name); AXIS2_FREE(env->allocator, temp_path); AXIS2_FREE(env->allocator, temp_path2); AXIS2_FREE(env->allocator, temp_path3); axutil_dll_desc_set_name(dll_desc, env, dll_name); AXIS2_FREE(env->allocator, dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_MSG_RECV_DLL); impl_info_param = axutil_param_create(env, class_name, NULL); axutil_param_set_value(impl_info_param, env, dll_desc); axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); /* set the impl_info_param(which contain dll_desc as value) so that * loaded msg_recv loader lib can be re-used in future */ axis2_conf_add_param(conf, env, impl_info_param); } axutil_class_loader_init(env); msg_recv = (axis2_msg_recv_t *) axutil_class_loader_create_dll(env, impl_info_param); return msg_recv; } AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL axis2_desc_builder_load_default_msg_recv( const axutil_env_t * env) { axis2_msg_recv_t *msg_recv = NULL; msg_recv = axis2_raw_xml_in_out_msg_recv_create(env); return msg_recv; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_desc_builder_get_short_file_name( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axis2_char_t * file_name) { const axis2_char_t *separator = NULL; axis2_char_t *value = NULL; axis2_char_t *file_name_l = NULL; axis2_char_t *short_name = NULL; AXIS2_PARAM_CHECK(env->error, file_name, NULL); file_name_l = axutil_strdup(env, file_name); if (!file_name_l) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return NULL; } separator = "."; value = axutil_strstr(file_name_l, separator); value[0] = AXIS2_EOLN; short_name = file_name_l; return short_name; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_desc_builder_get_file_name_without_prefix( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axis2_char_t * short_file_name) { axis2_char_t *file_name_l = NULL; axis2_char_t *short_name = NULL; int len = 0; AXIS2_PARAM_CHECK(env->error, short_file_name, NULL); file_name_l = axutil_strdup(env, short_file_name); if (!file_name_l) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return NULL; } len = axutil_strlen(AXIS2_LIB_PREFIX); short_name = &file_name_l[len]; return short_name; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_desc_builder_get_value( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env, axis2_char_t * in) { const axis2_char_t *separator = ":"; axis2_char_t *value = NULL; axis2_char_t *in_l = NULL; AXIS2_PARAM_CHECK(env->error, in, NULL); in_l = axutil_strdup(env, in); if (!in_l) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return NULL; } value = axutil_strstr(in_l, separator); value = value + 1; return value; } AXIS2_EXTERN struct axis2_dep_engine *AXIS2_CALL axis2_desc_builder_get_dep_engine( const axis2_desc_builder_t * desc_builder, const axutil_env_t * env) { return desc_builder->engine; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_process_policy_elements( const axutil_env_t * env, int type, axiom_children_qname_iterator_t * iterator, axis2_policy_include_t * policy_include) { while (axiom_children_qname_iterator_has_next(iterator, env)) { axiom_node_t *node = NULL; node = axiom_children_qname_iterator_next(iterator, env); if (node) { axiom_element_t *element = NULL; neethi_policy_t *policy = NULL; element = axiom_node_get_data_element(node, env); policy = neethi_engine_get_policy(env, node, element); if (!policy) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return AXIS2_FAILURE; } axis2_policy_include_add_policy_element(policy_include, env, type, policy); } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_process_policy_reference_elements( const axutil_env_t * env, int type, axiom_children_qname_iterator_t * iterator, axis2_policy_include_t * policy_include) { while (axiom_children_qname_iterator_has_next(iterator, env)) { axiom_node_t *node = NULL; node = axiom_children_qname_iterator_next(iterator, env); if (node) { axiom_element_t *element = NULL; neethi_reference_t *reference = NULL; element = axiom_node_get_data_element(node, env); /* TODO: add neethi_engine_get_policy_reference reference = neethi_engine_get_policy_reference(env, node, element); */ axis2_policy_include_add_policy_reference_element(policy_include, env, type, reference); } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/deployment/arch_file_data.c0000644000175000017500000002471011166304442023611 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_arch_file_data { axutil_file_t *file; int type; axis2_char_t *msg_recv; axis2_char_t *module_name; axis2_char_t *module_dll_name; axis2_char_t *name; /* * To store services in a service group. Those services are temporarily * stored in this table */ axutil_hash_t *svc_map; axutil_array_list_t *deployable_svcs; }; AXIS2_EXTERN axis2_arch_file_data_t *AXIS2_CALL axis2_arch_file_data_create( const axutil_env_t * env) { axis2_arch_file_data_t *arch_file_data = NULL; arch_file_data = (axis2_arch_file_data_t *) AXIS2_MALLOC(env-> allocator, sizeof (axis2_arch_file_data_t)); if (!arch_file_data) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } memset ((void *)arch_file_data, 0, sizeof (axis2_arch_file_data_t)); arch_file_data->deployable_svcs = axutil_array_list_create(env, 0); if (!arch_file_data->deployable_svcs) { axis2_arch_file_data_free(arch_file_data, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return arch_file_data; } AXIS2_EXTERN axis2_arch_file_data_t *AXIS2_CALL axis2_arch_file_data_create_with_type_and_file( const axutil_env_t * env, int type, axutil_file_t * file) { axis2_arch_file_data_t *arch_file_data = NULL; arch_file_data = (axis2_arch_file_data_t *) axis2_arch_file_data_create(env); if (!arch_file_data) { axis2_char_t *file_name = axutil_file_get_name(file, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create arch_file_data for file %s", file_name); return NULL; } arch_file_data->type = type; arch_file_data->file = axutil_file_clone(file, env); return arch_file_data; } AXIS2_EXTERN axis2_arch_file_data_t *AXIS2_CALL axis2_arch_file_data_create_with_type_and_name( const axutil_env_t * env, int type, const axis2_char_t * name) { axis2_arch_file_data_t *arch_file_data = NULL; arch_file_data = (axis2_arch_file_data_t *) axis2_arch_file_data_create(env); if (!arch_file_data) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create arch_file_data for %s", name); return NULL; } arch_file_data->type = type; arch_file_data->name = axutil_strdup(env, name); return arch_file_data; } AXIS2_EXTERN void AXIS2_CALL axis2_arch_file_data_free( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { if (arch_file_data->file) { axutil_file_free(arch_file_data->file, env); } if (arch_file_data->msg_recv) { AXIS2_FREE(env->allocator, arch_file_data->msg_recv); } if (arch_file_data->module_name) { AXIS2_FREE(env->allocator, arch_file_data->module_name); } if (arch_file_data->module_dll_name) { AXIS2_FREE(env->allocator, arch_file_data->module_dll_name); } if (arch_file_data->name) { AXIS2_FREE(env->allocator, arch_file_data->name); } if (arch_file_data->svc_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(arch_file_data->svc_map, env); hi; hi = axutil_hash_next(env, hi)) { axis2_svc_t *svc = NULL; axutil_hash_this(hi, NULL, NULL, &val); svc = (axis2_svc_t *) val; if (svc) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Service name :%s", axis2_svc_get_name(svc, env)); axis2_svc_free(svc, env); } } axutil_hash_free(arch_file_data->svc_map, env); } if (arch_file_data->deployable_svcs) { axutil_array_list_free(arch_file_data->deployable_svcs, env); } if (arch_file_data) { AXIS2_FREE(env->allocator, arch_file_data); } return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_msg_recv( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return arch_file_data->msg_recv; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_msg_recv( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env, axis2_char_t * msg_recv) { AXIS2_PARAM_CHECK(env->error, msg_recv, AXIS2_FAILURE); if (arch_file_data->msg_recv) { AXIS2_FREE(env->allocator, arch_file_data->msg_recv); arch_file_data->msg_recv = NULL; } arch_file_data->msg_recv = axutil_strdup(env, msg_recv); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_name( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return axutil_file_get_name(arch_file_data->file, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_svc_name( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { axis2_char_t *svc_name = NULL; if (arch_file_data->file) { svc_name = axutil_file_get_name(arch_file_data->file, env); } else { svc_name = arch_file_data->name; } return svc_name; } AXIS2_EXTERN int AXIS2_CALL axis2_arch_file_data_get_type( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return arch_file_data->type; } AXIS2_EXTERN axutil_file_t *AXIS2_CALL axis2_arch_file_data_get_file( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return arch_file_data->file; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_module_name( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { axis2_char_t *module_name = NULL; if (arch_file_data->file) { module_name = axutil_file_get_name(arch_file_data->file, env); } else { module_name = arch_file_data->module_name; } return module_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_module_name( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env, axis2_char_t * module_name) { AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); if (arch_file_data->module_name) { AXIS2_FREE(env->allocator, arch_file_data->module_name); arch_file_data->module_name = NULL; } arch_file_data->module_name = axutil_strdup(env, module_name); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_arch_file_data_get_module_dll_name( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return arch_file_data->module_dll_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_module_dll_name( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env, axis2_char_t * module_dll_name) { AXIS2_PARAM_CHECK(env->error, module_dll_name, AXIS2_FAILURE); if (arch_file_data->module_dll_name) { AXIS2_FREE(env->allocator, arch_file_data->module_dll_name); arch_file_data->module_dll_name = NULL; } arch_file_data->module_dll_name = axutil_strdup(env, module_dll_name); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_add_svc( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env, axis2_svc_t * svc_desc) { const axutil_qname_t *svc_qname = NULL; axis2_char_t *svc_name = NULL; AXIS2_PARAM_CHECK(env->error, svc_desc, AXIS2_FAILURE); svc_qname = axis2_svc_get_qname(svc_desc, env); svc_name = axutil_qname_to_string((axutil_qname_t *) svc_qname, env); if (!arch_file_data->svc_map) { arch_file_data->svc_map = axutil_hash_make(env); if (!arch_file_data->svc_map) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } axutil_hash_set(arch_file_data->svc_map, svc_name, AXIS2_HASH_KEY_STRING, svc_desc); return AXIS2_SUCCESS; } AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_arch_file_data_get_svc( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env, axis2_char_t * svc_name) { axis2_svc_t *svc = NULL; AXIS2_PARAM_CHECK(env->error, svc_name, NULL); if (arch_file_data->svc_map) { svc = (axis2_svc_t *) axutil_hash_get(arch_file_data->svc_map, svc_name, AXIS2_HASH_KEY_STRING); } else { return NULL; } return svc; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_arch_file_data_get_svc_map( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return arch_file_data->svc_map; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_arch_file_data_get_deployable_svcs( const axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env) { return arch_file_data->deployable_svcs; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_arch_file_data_set_deployable_svcs( axis2_arch_file_data_t * arch_file_data, const axutil_env_t * env, axutil_array_list_t * deployable_svcs) { AXIS2_PARAM_CHECK(env->error, deployable_svcs, AXIS2_FAILURE); if (arch_file_data->deployable_svcs) { AXIS2_FREE(env->allocator, arch_file_data->deployable_svcs); arch_file_data->deployable_svcs = NULL; } arch_file_data->deployable_svcs = deployable_svcs; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/deployment/axis2_repos_listener.h0000644000175000017500000001055311166304442025054 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_REPOS_LISTENER_H #define AXIS2_REPOS_LISTENER_H /** @defgroup axis2_repos_listener Repos Listener * @ingroup axis2_deployment * @{ */ #include #include #include #include #include #include #include #include "axis2_ws_info_list.h" #include "axis2_dep_engine.h" #ifdef __cplusplus extern "C" { #endif struct axis2_dep_engine; /** Type name for struct axis2_repos_listener */ typedef struct axis2_repos_listener axis2_repos_listener_t; /** * De-allocate memory * @param repos_listener pointer to repos listener * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_repos_listener_free( axis2_repos_listener_t * repos_listener, const axutil_env_t * env); /** * * @param repos_listener pointer to repos listener * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_check_modules( axis2_repos_listener_t * listener, const axutil_env_t * env); /** * * @param repos_listener pointer to repos listener * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_check_svcs( axis2_repos_listener_t * listener, const axutil_env_t * env); /** * * @param repos_listener pointer to repos listener * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_update( axis2_repos_listener_t * listener, const axutil_env_t * env); /** * * then it call to check_modules to load all the modules. * and then it call to update() method inorder to update the deployment engine and engine. * @param repos_listener pointer to repos listener * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_init( axis2_repos_listener_t * listener, const axutil_env_t * env); /** * @param env pointer to environment struct * @return pointer to newly created deployment engine */ AXIS2_EXTERN axis2_repos_listener_t *AXIS2_CALL axis2_repos_listener_create( const axutil_env_t * env); /** * @param env pointer to environment struct * @param folder_name this is the axis2 deployment root directory(repository path) * @param dep_engine pointer to deployment engine * @return pointer to newly created deployment engine */ AXIS2_EXTERN axis2_repos_listener_t *AXIS2_CALL axis2_repos_listener_create_with_folder_name_and_dep_engine( const axutil_env_t * env, axis2_char_t * folder_name, struct axis2_dep_engine *dep_engine); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_set_conf( axis2_repos_listener_t *repo_listener, const axutil_env_t * env, axis2_conf_t *conf); AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_repos_listener_get_conf( axis2_repos_listener_t *repo_listener, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_REPOS_LISTENER_H */ axis2c-src-1.6.0/src/core/deployment/axis2_ws_info.h0000644000175000017500000001002111166304442023451 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_WS_INFO_H #define AXIS2_WS_INFO_H /** * @defgroup axis2_ws_info Ws Info * @ingroup axis2_deployment * @{ */ /** * @file axis2_ws_info.h * @brief Axis2 Ws Info interface. ws_info construct contain file information * for module or service configuration file. */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_conf; /** Type name for struct axis2_ws_info */ typedef struct axis2_ws_info axis2_ws_info_t; /** * De-allocate memory * @param ws_info pointer to ws info * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_ws_info_free( axis2_ws_info_t * ws_info, const axutil_env_t * env); /** * @param ws_info pointer to ws info * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_ws_info_get_file_name( const axis2_ws_info_t * ws_info, const axutil_env_t * env); /** * @param ws_info pointer to ws info * @param env pointer to environment struct * @param file_name pointer to file name */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_set_file_name( axis2_ws_info_t * ws_info, const axutil_env_t * env, axis2_char_t * file_name); /** * @param ws_info pointer to ws info * @param env pointer to environment struct */ AXIS2_EXTERN long AXIS2_CALL axis2_ws_info_get_last_modified_date( const axis2_ws_info_t * ws_info, const axutil_env_t * env); /** * @param ws_info pointer to ws info * @param env pointer to environment struct * @param modified_data pointer to modified date */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_set_last_modified_date( axis2_ws_info_t * ws_info, const axutil_env_t * env, long last_modified_date); /** * @param ws_info pointer to ws info * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_ws_info_get_type( const axis2_ws_info_t * ws_info, const axutil_env_t * env); /** * Creates ws_info struct * @param env pointer to environment struct * @param file_name pointer to file name * @param last_modified_date pointer to last modified date * @return pointer to newly created ws info */ AXIS2_EXTERN axis2_ws_info_t *AXIS2_CALL axis2_ws_info_create_with_file_name_and_last_modified_date( const axutil_env_t * env, axis2_char_t * file_name, long last_modified_date); /** * @param env pointer to environment struct * @param file_name pointer to file name * @param last_modifile_date last modified date * @param type type */ AXIS2_EXTERN axis2_ws_info_t *AXIS2_CALL axis2_ws_info_create_with_file_name_and_last_modified_date_and_type( const axutil_env_t * env, axis2_char_t * file_name, long last_modified_date, int type); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_WS_INFO_H */ axis2c-src-1.6.0/src/core/deployment/repos_listener.c0000644000175000017500000003001111166304442023730 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_repos_listener { /** * Referance to a ws info list */ axis2_ws_info_list_t *info_list; /** * The parent directory of the modules and services directories * that the listener should listen */ axis2_char_t *folder_name; axis2_conf_t *conf; }; static axis2_status_t axis2_repos_listener_search( axis2_repos_listener_t * repos_listener, const axutil_env_t * env, axis2_char_t * folder_name, int type); AXIS2_EXTERN axis2_repos_listener_t *AXIS2_CALL axis2_repos_listener_create( const axutil_env_t * env) { axis2_repos_listener_t *repos_listener = NULL; repos_listener = (axis2_repos_listener_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_repos_listener_t)); if (!repos_listener) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } repos_listener->folder_name = NULL; repos_listener->info_list = NULL; repos_listener->folder_name = AXIS2_FALSE; return repos_listener; } /** * This constructor take two argumnets, folder name and referance to * deployment engine. Fisrt it initilize the sysetm , by loading all the * modules in the /modules directory and also create a ws info list to * keep info about available modules and services. * @param folderName path to parent directory that the repos_listener * should listens * @param deploy_engine refearnce to engine registry inorder to * inform the updates */ AXIS2_EXTERN axis2_repos_listener_t *AXIS2_CALL axis2_repos_listener_create_with_folder_name_and_dep_engine( const axutil_env_t * env, axis2_char_t * folder_name, axis2_dep_engine_t * dep_engine) { axis2_repos_listener_t *repos_listener = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_conf_t *conf; axis2_bool_t file_flag; repos_listener = (axis2_repos_listener_t *) axis2_repos_listener_create(env); if (!repos_listener) { return NULL; } file_flag = axis2_dep_engine_get_file_flag (dep_engine, env); if (!file_flag) { repos_listener->folder_name = axutil_strdup(env, folder_name); if (!repos_listener->folder_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } repos_listener->info_list = axis2_ws_info_list_create_with_dep_engine(env, dep_engine); if (!repos_listener->info_list) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating ws info list failed"); return NULL; } /* Here dep_engine's conf will set to repo_listner. Then we could get * details of the axis2.xml through axis2 configuration. */ conf = axis2_dep_engine_get_axis_conf (dep_engine, env); if (!conf) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Deployment engines axis2 configuration not available"); return NULL; } axis2_repos_listener_set_conf (repos_listener, env, conf); status = axis2_repos_listener_init(repos_listener, env); if (AXIS2_SUCCESS != status) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Repository listener initialization failed"); return NULL; } return repos_listener; } AXIS2_EXTERN void AXIS2_CALL axis2_repos_listener_free( axis2_repos_listener_t * repos_listener, const axutil_env_t * env) { if (!repos_listener) return; if (repos_listener->folder_name) { AXIS2_FREE(env->allocator, repos_listener->folder_name); } if (repos_listener->info_list) { axis2_ws_info_list_free(repos_listener->info_list, env); } AXIS2_FREE(env->allocator, repos_listener); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_check_modules( axis2_repos_listener_t * repos_listener, const axutil_env_t * env) { axis2_char_t *module_path = NULL; axis2_char_t *temp_path = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_bool_t axis2_flag = AXIS2_FALSE; axis2_conf_t *conf; axutil_param_t *module_param; axis2_char_t *module_dir; AXIS2_PARAM_CHECK (env->error, repos_listener, AXIS2_FAILURE); conf = axis2_repos_listener_get_conf (repos_listener, env); /* Configuration is needed only to decide we are using axis2.xml. Other * case we don't need. Hence even if conf is NULL we can continue. */ if (conf) { axis2_flag = axis2_conf_get_axis2_flag (conf, env); } if (!axis2_flag) { temp_path = axutil_stracat(env, repos_listener->folder_name, AXIS2_PATH_SEP_STR); module_path = axutil_stracat(env, temp_path, AXIS2_MODULE_PATH); AXIS2_FREE(env->allocator, temp_path); } else { module_param = axis2_conf_get_param (conf, env, AXIS2_MODULE_DIR); if (module_param) { module_dir = (axis2_char_t *)axutil_param_get_value (module_param, env); module_path = axutil_strdup (env, module_dir); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "While creating axis2 configuration using "\ "axis2.xml, modulesDir parameter not available."); } } status = axis2_repos_listener_search(repos_listener, env, module_path, AXIS2_MODULE); AXIS2_FREE(env->allocator, module_path); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_check_svcs( axis2_repos_listener_t * repos_listener, const axutil_env_t * env) { axis2_char_t *svc_path = NULL; axis2_char_t *temp_path = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_conf_t *conf; axis2_bool_t axis2_flag = AXIS2_FALSE; axutil_param_t *svc_param; axis2_char_t *svc_dir; AXIS2_PARAM_CHECK (env->error, repos_listener, AXIS2_FAILURE); conf = axis2_repos_listener_get_conf (repos_listener, env); if (conf) axis2_flag = axis2_conf_get_axis2_flag (conf, env); if (!axis2_flag) { temp_path = axutil_stracat(env, repos_listener->folder_name, AXIS2_PATH_SEP_STR); svc_path = axutil_stracat(env, temp_path, AXIS2_SVC_PATH); AXIS2_FREE(env->allocator, temp_path); } else { svc_param = axis2_conf_get_param (conf, env, AXIS2_SERVICE_DIR); if (svc_param) { svc_dir = axutil_param_get_value (svc_param, env); svc_path = axutil_strdup (env, svc_dir); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "While creating axis2 configuration using axis2.xml, servicesDir"\ " parameter not available."); } } status = axis2_repos_listener_search(repos_listener, env, svc_path, AXIS2_SVC); AXIS2_FREE(env->allocator, svc_path); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_update( axis2_repos_listener_t * repos_listener, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, repos_listener, AXIS2_FAILURE); return axis2_ws_info_list_update(repos_listener->info_list, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_init( axis2_repos_listener_t * repos_listener, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK (env->error, repos_listener, AXIS2_FAILURE); status = axis2_ws_info_list_init(repos_listener->info_list, env); if (AXIS2_SUCCESS != status) { return status; } /* if check_modules return AXIS2_FAILURE that means * there are no modules to load */ axis2_repos_listener_check_modules(repos_listener, env); /* if check_svcs return AXIS2_FAILURE that means * there are no services to load */ axis2_repos_listener_check_svcs(repos_listener, env); return axis2_repos_listener_update(repos_listener, env); } /** * Folder name could be a repository modules or services folder. If it is modules * folder then current_info_list contain the list of axis2 files corresponding to * the modules within it. For services folder it should be understood similarly. */ static axis2_status_t axis2_repos_listener_search( axis2_repos_listener_t * repos_listener, const axutil_env_t * env, axis2_char_t * folder_name, int type) { int size = 0; int i = 0; axutil_array_list_t *current_info_list = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK (env->error, repos_listener, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, folder_name, AXIS2_FAILURE); current_info_list = axutil_dir_handler_list_service_or_module_dirs(env, folder_name); if (!current_info_list) { axis2_status_t status_code = AXIS2_FAILURE; status_code = AXIS2_ERROR_GET_STATUS_CODE(env->error); if (AXIS2_SUCCESS != status) { return status; } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No %s in the folder.", folder_name); return AXIS2_SUCCESS; } size = axutil_array_list_size(current_info_list, env); for (i = 0; i < size; i++) /* Loop until empty */ { axutil_file_t *file = NULL; file = axutil_array_list_get(current_info_list, env, i); status = axis2_ws_info_list_add_ws_info_item(repos_listener->info_list, env, file, type); if (AXIS2_SUCCESS != status) { int size_j = 0; int j = 0; axis2_char_t* file_name = axutil_file_get_name(file ,env); size_j = axutil_array_list_size(current_info_list, env); for (j = 0; j < size_j; j++) { axutil_file_t *del_file = NULL; del_file = axutil_array_list_get(current_info_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(current_info_list, env); current_info_list = NULL; AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding file %s to ws info list failed", file_name); return status; } } for (i = 0; i < size; i++) { axutil_file_t *del_file = NULL; del_file = axutil_array_list_get(current_info_list, env, i); axutil_file_free(del_file, env); } axutil_array_list_free(current_info_list, env); current_info_list = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_repos_listener_set_conf( axis2_repos_listener_t *repo_listener, const axutil_env_t * env, axis2_conf_t *conf) { AXIS2_PARAM_CHECK (env->error, repo_listener, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, conf, AXIS2_FAILURE); repo_listener->conf = conf; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_repos_listener_get_conf ( axis2_repos_listener_t *repo_listener, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, repo_listener, NULL); return repo_listener->conf; } axis2c-src-1.6.0/src/core/deployment/axis2_ws_info_list.h0000644000175000017500000001476111166304442024523 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_WS_INFO_LIST_H #define AXIS2_WS_INFO_LIST_H /** @defgroup axis2_ws_info_list Ws Info List * @ingroup axis2_deployment * @{ */ /** * @file axis2_ws_info_list.h * @brief Axis2 Ws Info List interface. Ws Info List is the list of ws_info structs. * Each ws_info construct contain file information for module or service configuration file. */ #include #include #include #include #include #include #include #include "axis2_deployment.h" #include #include #include "axis2_ws_info.h" #include "axis2_arch_file_data.h" #include "axis2_dep_engine.h" #ifdef __cplusplus extern "C" { #endif struct axis2_ws_info; struct axis2_dep_engine; /** Type name for struct axis2_ws_info_list */ typedef struct axis2_ws_info_list axis2_ws_info_list_t; /** * De-allocate memory * @param ws_info_list pointer to ws info list * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_ws_info_list_free( axis2_ws_info_list_t * ws_info_list, const axutil_env_t * env); /** * This method is used to initialize the ws info list. * @param info_list pointer to ws info list * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_init( axis2_ws_info_list_t * info_list, const axutil_env_t * env); /** * This will add the deployment info struct(ws_info) into the deployment info * list and deployment info file to the deployment engine as new * service or module deployment info struct/file. * In doing this, it first create an deployment info struct called ws_info * to keep the file info that will be added to deployment info file * list and then create deployment info file called arch_file_data that will * be added to deployment engine for actual deployment of the service/module. * * This will add two entries to deployment engine one for new Deployment and * other for undeployment. * @param info_list pointer to ws info list * @param env pointer to environment struct * @param file actual axis2 configuration file for module/service. * @param type indicate either service or module * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_add_ws_info_item( axis2_ws_info_list_t * info_list, const axutil_env_t * env, axutil_file_t * file, int type); /** * This method is used to check whether the service/module configuration * file exist and if so it will return related ws_info object to the file, * else return NULL; * @param info_list pointer to ws info list * @param env pointer to environment struct * @param file_name pointer to file name */ AXIS2_EXTERN axis2_ws_info_t *AXIS2_CALL axis2_ws_info_list_get_file_item( axis2_ws_info_list_t * info_list, const axutil_env_t * env, axis2_char_t * file_name); /** * Compare the last update dates of both files and if those differ * it will be assumed as the file has been modified. * @param info_list pointer to ws info list * @param env pointer to environment struct * @param file pointer to servie/module configuration file. * @param ws_info pointer to ws info struct. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_ws_info_list_is_modified( axis2_ws_info_list_t * info_list, const axutil_env_t * env, axutil_file_t * file, struct axis2_ws_info *ws_info); /** * To check whether the deployment info file is alredy in the list. * @param info_list pointer to ws info list * @param env pointer to environment struct * @param file_name pointer to file name */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_ws_info_list_is_file_exist( axis2_ws_info_list_t * info_list, const axutil_env_t * env, axis2_char_t * file_name); /** * This is to check whether to undeploy ws info struct. * What this realy does is, it check ws_info list and current deployment * info name list. If ws_info exists in the ws_info_list but it's * corresponding file name does not exist in the current deploymet file * name list then, struct is deemed non existant. ie. that is hot * undeployment. * @param info_list pointer to ws info list * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_check_for_undeploy( axis2_ws_info_list_t * info_list, const axutil_env_t * env); /** * @param info_list pointer to ws info list * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ws_info_list_update( axis2_ws_info_list_t * info_list, const axutil_env_t * env); /** * Creates ws info list struct * @param env pointer to environment struct * @param dep_engine pointer to deployment engine * @return pointer to newly created ws info list */ AXIS2_EXTERN axis2_ws_info_list_t *AXIS2_CALL axis2_ws_info_list_create_with_dep_engine( const axutil_env_t * env, struct axis2_dep_engine *dep_engine); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_WS_INFO_LIST_H */ axis2c-src-1.6.0/src/core/deployment/dep_engine.c0000644000175000017500000017670111166304442023011 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_dep_engine.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct axis2_dep_engine { axis2_arch_file_data_t *curr_file; axis2_arch_reader_t *arch_reader; /** * To keep a reference to engine configuration. * This reference will pass to engine when it call start() * function */ axis2_conf_t *conf; axis2_char_t *axis2_repos; axis2_bool_t hot_dep; /* to do hot deployment or not */ axis2_bool_t hot_update; /* to do hot update or not */ /* Whether dep_engine built using axis2.xml */ axis2_bool_t file_flag; /** * This will store all the web services to deploy */ axutil_array_list_t *ws_to_deploy; /** * This will store all the web services to undeploy */ axutil_array_list_t *ws_to_undeploy; axis2_phases_info_t *phases_info; /* To store phases list in axis2.xml */ axis2_char_t *folder_name; /** * Module directory, dep_engine holds in the module build scenario. */ axis2_char_t *module_dir; /** * Services directory, services are avialble in services directory */ axis2_char_t *svc_dir; /** * Full path to the server xml file(axis2.xml) */ axis2_char_t *conf_name; /** * To store the module specified in the server.xml(axis2.xml) at the * document parsing time */ axutil_array_list_t *module_list; axis2_repos_listener_t *repos_listener; /*Added this here to help with freeing memory allocated for this - Samisa */ axis2_conf_builder_t *conf_builder; axis2_svc_builder_t *svc_builder; axutil_array_list_t *desc_builders; axutil_array_list_t *module_builders; axutil_array_list_t *svc_builders; axutil_array_list_t *svc_grp_builders; }; static axis2_status_t axis2_dep_engine_set_dep_features( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); static axis2_status_t axis2_dep_engine_check_client_home( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t * client_home); static axis2_status_t axis2_dep_engine_engage_modules( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); static axis2_status_t axis2_dep_engine_validate_system_predefined_phases( axis2_dep_engine_t * dep_engine, const axutil_env_t * env); static axis2_status_t axis2_dep_engine_add_new_svc( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_svc_grp_t * svc_metadata); static axis2_status_t axis2_dep_engine_load_module_dll( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_module_desc_t * module_desc); static axis2_status_t axis2_dep_engine_add_module_flow_handlers( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_flow_t * flow, axutil_hash_t * handler_create_func_map); static axis2_status_t axis2_dep_engine_add_new_module( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_module_desc_t * module_metadata); static axis2_char_t *axis2_dep_engine_get_axis_svc_name( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_char_t * file_name); static axis2_status_t axis2_dep_engine_set_svc_and_module_dir_path ( axis2_dep_engine_t *dep_engine, const axutil_env_t *env); AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create( const axutil_env_t * env) { axis2_dep_engine_t *dep_engine = NULL; AXIS2_ENV_CHECK(env, NULL); dep_engine = (axis2_dep_engine_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_dep_engine_t)); if (!dep_engine) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } dep_engine = (axis2_dep_engine_t *) memset (dep_engine, 0, sizeof (axis2_dep_engine_t)); dep_engine->curr_file = NULL; dep_engine->arch_reader = NULL; dep_engine->conf = NULL; dep_engine->axis2_repos = NULL; dep_engine->ws_to_deploy = NULL; dep_engine->ws_to_undeploy = NULL; dep_engine->phases_info = NULL; dep_engine->folder_name = NULL; dep_engine->module_dir = NULL; dep_engine->svc_dir = NULL; dep_engine->conf_name = NULL; dep_engine->module_list = NULL; dep_engine->repos_listener = NULL; dep_engine->conf_builder = NULL; dep_engine->svc_builder = NULL; dep_engine->desc_builders = NULL; dep_engine->module_builders = NULL; dep_engine->svc_builders = NULL; dep_engine->svc_grp_builders = NULL; dep_engine->ws_to_deploy = axutil_array_list_create(env, 0); if (!(dep_engine->ws_to_deploy)) { axis2_dep_engine_free(dep_engine, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } dep_engine->desc_builders = axutil_array_list_create(env, 0); dep_engine->module_builders = axutil_array_list_create(env, 0); dep_engine->svc_builders = axutil_array_list_create(env, 0); dep_engine->svc_grp_builders = axutil_array_list_create(env, 0); dep_engine->phases_info = axis2_phases_info_create(env); if (!(dep_engine->phases_info)) { axis2_dep_engine_free(dep_engine, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } return dep_engine; } AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_repos_name( const axutil_env_t * env, const axis2_char_t * repos_path) { axis2_dep_engine_t *dep_engine = NULL; AXIS2_ENV_CHECK(env, NULL); dep_engine = (axis2_dep_engine_t *) axis2_dep_engine_create_with_repos_name_and_svr_xml_file(env, repos_path, AXIS2_SERVER_XML_FILE); if (!dep_engine) { return NULL; } dep_engine->file_flag = AXIS2_FALSE; return dep_engine; } AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_axis2_xml( const axutil_env_t * env, const axis2_char_t * axis2_xml) { axis2_dep_engine_t *dep_engine = NULL; AXIS2_ENV_CHECK(env, NULL); dep_engine = (axis2_dep_engine_t *) axis2_dep_engine_create_with_svr_xml_file(env, axis2_xml); if (!dep_engine) { return NULL; } dep_engine->file_flag = AXIS2_TRUE; return dep_engine; } AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_repos_name_and_svr_xml_file( const axutil_env_t * env, const axis2_char_t * repos_path, const axis2_char_t * svr_xml_file) { axis2_dep_engine_t *dep_engine = NULL; axis2_char_t *conf_file_l = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, repos_path, NULL); AXIS2_PARAM_CHECK(env->error, svr_xml_file, NULL); if (!axutil_strcmp("", repos_path)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_REPO_CAN_NOT_BE_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Repository path cannot be empty"); return NULL; } dep_engine = (axis2_dep_engine_t *) axis2_dep_engine_create(env); if (!dep_engine) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } status = axutil_file_handler_access(repos_path, AXIS2_F_OK); if (AXIS2_SUCCESS != status) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_REPOSITORY_NOT_EXIST, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Repository path %s does not exist", repos_path); return NULL; } dep_engine->folder_name = axutil_strdup(env, repos_path); if (!dep_engine->folder_name) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } dep_engine->axis2_repos = axutil_strdup(env, repos_path); if (!dep_engine->axis2_repos) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } conf_file_l = axutil_stracat(env, repos_path, AXIS2_PATH_SEP_STR); dep_engine->conf_name = axutil_stracat(env, conf_file_l, svr_xml_file); AXIS2_FREE(env->allocator, conf_file_l); if (!dep_engine->conf_name) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_REPO_CAN_NOT_BE_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Axis2 Configuration file name cannot be NULL"); return NULL; } status = axutil_file_handler_access(dep_engine->conf_name, AXIS2_F_OK); if (AXIS2_SUCCESS != status) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CONFIG_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Axis2 Configuration file name not found"); return NULL; } return dep_engine; } AXIS2_EXTERN axis2_dep_engine_t *AXIS2_CALL axis2_dep_engine_create_with_svr_xml_file( const axutil_env_t * env, const axis2_char_t * svr_xml_file) { axis2_dep_engine_t *dep_engine = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, svr_xml_file, NULL); dep_engine = (axis2_dep_engine_t *) axis2_dep_engine_create(env); if (!dep_engine) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } dep_engine->conf_name = axutil_strdup (env, (axis2_char_t *)svr_xml_file); if (!dep_engine->conf_name) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_REPO_CAN_NOT_BE_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Axis2 Configuration file name cannot be NULL"); return NULL; } status = axutil_file_handler_access(dep_engine->conf_name, AXIS2_F_OK); if (AXIS2_SUCCESS != status) { axis2_dep_engine_free(dep_engine, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CONFIG_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Axis2 Configuration file name not found"); return NULL; } return dep_engine; } AXIS2_EXTERN void AXIS2_CALL axis2_dep_engine_free( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (!dep_engine) { return; } if (dep_engine->curr_file) { axis2_arch_file_data_free(dep_engine->curr_file, env); } if (dep_engine->phases_info) { axis2_phases_info_free(dep_engine->phases_info, env); } if (dep_engine->conf_builder) { axis2_conf_builder_free(dep_engine->conf_builder, env); } if (dep_engine->arch_reader) { axis2_arch_reader_free(dep_engine->arch_reader, env); } if (dep_engine->svc_builder) { axis2_svc_builder_free(dep_engine->svc_builder, env); } if (dep_engine->ws_to_deploy) { int i = 0; int size = 0; size = axutil_array_list_size(dep_engine->ws_to_deploy, env); for (i = 0; i < size; i++) { axis2_arch_file_data_t *file_data = NULL; file_data = (axis2_arch_file_data_t *) axutil_array_list_get(dep_engine->ws_to_deploy, env, i); axis2_arch_file_data_free(file_data, env); } axutil_array_list_free(dep_engine->ws_to_deploy, env); dep_engine->ws_to_deploy = NULL; } if (dep_engine->desc_builders) { int i = 0; int size = 0; size = axutil_array_list_size(dep_engine->desc_builders, env); for (i = 0; i < size; i++) { axis2_desc_builder_t *desc_builder = NULL; desc_builder = (axis2_desc_builder_t *) axutil_array_list_get(dep_engine->desc_builders, env, i); axis2_desc_builder_free(desc_builder, env); } axutil_array_list_free(dep_engine->desc_builders, env); } if (dep_engine->module_builders) { int i = 0; int size = 0; size = axutil_array_list_size(dep_engine->module_builders, env); for (i = 0; i < size; i++) { axis2_module_builder_t *module_builder = NULL; module_builder = (axis2_module_builder_t *) axutil_array_list_get( dep_engine->module_builders, env, i); axis2_module_builder_free(module_builder, env); } axutil_array_list_free(dep_engine->module_builders, env); } if (dep_engine->svc_builders) { int i = 0; int size = 0; size = axutil_array_list_size(dep_engine->svc_builders, env); for (i = 0; i < size; i++) { axis2_svc_builder_t *svc_builder = NULL; svc_builder = (axis2_svc_builder_t *) axutil_array_list_get(dep_engine->svc_builders, env, i); axis2_svc_builder_free(svc_builder, env); } axutil_array_list_free(dep_engine->svc_builders, env); } if (dep_engine->svc_grp_builders) { int i = 0; int size = 0; size = axutil_array_list_size(dep_engine->svc_grp_builders, env); for (i = 0; i < size; i++) { axis2_svc_grp_builder_t *svc_grp_builder = NULL; svc_grp_builder = (axis2_svc_grp_builder_t *) axutil_array_list_get( dep_engine->svc_grp_builders, env, i); axis2_svc_grp_builder_free(svc_grp_builder, env); } axutil_array_list_free(dep_engine->svc_grp_builders, env); } if (dep_engine->ws_to_undeploy) { int i = 0; int size = 0; size = axutil_array_list_size(dep_engine->ws_to_undeploy, env); for (i = 0; i < size; i++) { axis2_arch_file_data_t *file_data = NULL; file_data = (axis2_arch_file_data_t *) axutil_array_list_get(dep_engine->ws_to_undeploy, env, i); axis2_arch_file_data_free(file_data, env); } axutil_array_list_free(dep_engine->ws_to_undeploy, env); dep_engine->ws_to_undeploy = NULL; } if (dep_engine->module_list) { int size = 0; int i = 0; size = axutil_array_list_size(dep_engine->module_list, env); for (i = 0; i < size; i++) { axutil_qname_t *qname = NULL; qname = axutil_array_list_get(dep_engine->module_list, env, i); if (qname) { axutil_qname_free(qname, env); } } axutil_array_list_free(dep_engine->module_list, env); } if (dep_engine->folder_name) { AXIS2_FREE(env->allocator, dep_engine->folder_name); } if (dep_engine->conf_name) { AXIS2_FREE(env->allocator, dep_engine->conf_name); } if (dep_engine->axis2_repos) { AXIS2_FREE(env->allocator, dep_engine->axis2_repos); } if (dep_engine->repos_listener) { axis2_repos_listener_free(dep_engine->repos_listener, env); } if (dep_engine) { AXIS2_FREE(env->allocator, dep_engine); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_module( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axutil_qname_t * module_qname) { axutil_qname_t *qname = NULL; AXIS2_PARAM_CHECK(env->error, module_qname, AXIS2_FAILURE); qname = axutil_qname_clone(module_qname, env); if (!dep_engine->module_list) { dep_engine->module_list = axutil_array_list_create(env, 0); if (!dep_engine->module_list) { axutil_qname_free(qname, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } } return axutil_array_list_add(dep_engine->module_list, env, qname); } struct axis2_module_desc *AXIS2_CALL axis2_dep_engine_get_module( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axutil_qname_t * module_qname) { AXIS2_PARAM_CHECK(env->error, module_qname, NULL); AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return axis2_conf_get_module(dep_engine->conf, env, module_qname); } AXIS2_EXTERN struct axis2_arch_file_data *AXIS2_CALL axis2_dep_engine_get_current_file_item( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return dep_engine->curr_file; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_ws_to_deploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_arch_file_data_t * file) { AXIS2_PARAM_CHECK(env->error, file, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); return axutil_array_list_add(dep_engine->ws_to_deploy, env, file); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_ws_to_undeploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_ws_info_t * file) { AXIS2_PARAM_CHECK(env->error, file, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); if (!(dep_engine->ws_to_undeploy)) { dep_engine->ws_to_undeploy = axutil_array_list_create(env, 0); } return axutil_array_list_add(dep_engine->ws_to_undeploy, env, file); } AXIS2_EXTERN axis2_phases_info_t *AXIS2_CALL axis2_dep_engine_get_phases_info( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return dep_engine->phases_info; } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_dep_engine_get_axis_conf( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return dep_engine->conf; } /** * To set hot deployment and hot update */ static axis2_status_t axis2_dep_engine_set_dep_features( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { axis2_char_t *value = NULL; axutil_param_t *para_hot_dep = NULL; axutil_param_t *para_hot_update = NULL; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); para_hot_dep = axis2_conf_get_param(dep_engine->conf, env, AXIS2_HOTDEPLOYMENT); para_hot_update = axis2_conf_get_param(dep_engine->conf, env, AXIS2_HOTUPDATE); if (para_hot_dep) { value = (axis2_char_t *) axutil_param_get_value(para_hot_dep, env); if (0 == axutil_strcasecmp(AXIS2_VALUE_FALSE, value)) { dep_engine->hot_dep = AXIS2_FALSE; } } if (para_hot_update) { value = (axis2_char_t *) axutil_param_get_value(para_hot_update, env); if (0 == axutil_strcasecmp(AXIS2_VALUE_FALSE, value)) { dep_engine->hot_update = AXIS2_FALSE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_dep_engine_load( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; axutil_array_list_t *out_fault_phases = NULL; if (!dep_engine->conf_name) { AXIS2_ERROR_SET(env->error, AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Path to axis2 configuration file is NULL. Unable to continue"); return NULL; } dep_engine->conf = axis2_conf_create(env); if (!dep_engine->conf) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "No memory. Allocation to configuration failed"); return NULL; } /* Set a flag to mark that conf is created using axis2 xml. To find out that conf is build using * axis2 xml , this flag can be used. */ axis2_conf_set_axis2_flag (dep_engine->conf, env, dep_engine->file_flag); axis2_conf_set_axis2_xml (dep_engine->conf, env, dep_engine->conf_name); dep_engine->conf_builder = axis2_conf_builder_create_with_file_and_dep_engine_and_conf(env, dep_engine->conf_name, dep_engine, dep_engine->conf); if (!(dep_engine->conf_builder)) { axis2_conf_free(dep_engine->conf, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Configuration builder creation failed"); dep_engine->conf = NULL; } /* Populate the axis2 configuration from reading axis2.xml. */ status = axis2_conf_builder_populate_conf(dep_engine->conf_builder, env); if (AXIS2_SUCCESS != status) { axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Populating Axis2 Configuration failed"); return NULL; } status = axis2_dep_engine_set_svc_and_module_dir_path (dep_engine, env); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting service and module directory paths failed"); return NULL; } status = axis2_dep_engine_set_dep_features(dep_engine, env); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting deployment features failed"); return NULL; } if (dep_engine->repos_listener) { axis2_repos_listener_free(dep_engine->repos_listener, env); } dep_engine->repos_listener = axis2_repos_listener_create_with_folder_name_and_dep_engine(env, dep_engine->folder_name, dep_engine); if (!dep_engine->repos_listener) { axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "dep_engine repos listener creation failed, folder name is %s", dep_engine->folder_name); return NULL; } axis2_conf_set_repo(dep_engine->conf, env, dep_engine->axis2_repos); axis2_core_utils_calculate_default_module_version(env, axis2_conf_get_all_modules( dep_engine->conf, env), dep_engine->conf); status = axis2_dep_engine_validate_system_predefined_phases(dep_engine, env); if (AXIS2_SUCCESS != status) { axis2_repos_listener_free(dep_engine->repos_listener, env); axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_VALIDATION_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Validating system predefined phases failed"); return NULL; } status = axis2_conf_set_phases_info(dep_engine->conf, env, dep_engine->phases_info); if (AXIS2_SUCCESS != status) { axis2_repos_listener_free(dep_engine->repos_listener, env); axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting phases info into Axis2 Configuration failed"); return NULL; } out_fault_phases = axis2_phases_info_get_op_out_faultphases(dep_engine->phases_info, env); if (out_fault_phases) { axis2_conf_set_out_fault_phases(dep_engine->conf, env, out_fault_phases); } if (AXIS2_SUCCESS != status) { axis2_repos_listener_free(dep_engine->repos_listener, env); axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting out fault phases into Axis2 Configuratin failed"); return NULL; } status = axis2_dep_engine_engage_modules(dep_engine, env); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "dep engine failed to engaged_modules"); axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_VALIDATION_FAILED, AXIS2_FAILURE); return NULL; } return dep_engine->conf; } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_dep_engine_load_client( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t * client_home) { axis2_bool_t is_repos_exist = AXIS2_FALSE; axis2_status_t status = AXIS2_FAILURE; axis2_bool_t flag = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, client_home, NULL); flag = axis2_dep_engine_get_file_flag (dep_engine, env); if (!flag) { dep_engine->axis2_repos = axutil_strdup(env, client_home); if (!dep_engine->axis2_repos) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "No memory"); return NULL; } if (client_home && axutil_strcmp("", client_home)) { status = axis2_dep_engine_check_client_home(dep_engine, env, client_home); if (AXIS2_SUCCESS == status) { is_repos_exist = AXIS2_TRUE; } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "axis2.xml is not available in client repo %s ", client_home); AXIS2_ERROR_SET (env->error, AXIS2_ERROR_CONFIG_NOT_FOUND, AXIS2_FAILURE); return NULL; } } else { dep_engine->conf_name = axutil_strdup(env, AXIS2_CONFIGURATION_RESOURCE); if (!dep_engine->conf_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_REPO_CAN_NOT_BE_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Axis2 Configuration file name cannot be NULL"); return NULL; } } } else { is_repos_exist = AXIS2_TRUE; } dep_engine->conf = axis2_conf_create(env); if (!dep_engine->conf) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "No memory. Allocation for Axis2 Configuration failed"); return NULL; } dep_engine->conf_builder = axis2_conf_builder_create_with_file_and_dep_engine_and_conf(env, dep_engine->conf_name, dep_engine, dep_engine->conf); if (!(dep_engine->conf_builder)) { axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; } /** Very important: Only after populating we will be able to access parameters in axis2 xml. */ axis2_conf_set_axis2_flag (dep_engine->conf, env, dep_engine->file_flag); axis2_conf_set_axis2_xml (dep_engine->conf, env, dep_engine->conf_name); status = axis2_conf_builder_populate_conf(dep_engine->conf_builder, env); if (AXIS2_SUCCESS != status) { axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Populating Axis2 Configuration failed"); return NULL; } status = axis2_dep_engine_set_svc_and_module_dir_path (dep_engine, env); if (AXIS2_SUCCESS != status) { axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting service and module paths failed"); return NULL; } if (is_repos_exist) { dep_engine->hot_dep = AXIS2_FALSE; dep_engine->hot_update = AXIS2_FALSE; if (dep_engine->repos_listener) { axis2_repos_listener_free(dep_engine->repos_listener, env); } dep_engine->repos_listener = axis2_repos_listener_create_with_folder_name_and_dep_engine(env, dep_engine->folder_name, dep_engine); } axis2_conf_set_repo(dep_engine->conf, env, dep_engine->axis2_repos); axis2_core_utils_calculate_default_module_version(env, axis2_conf_get_all_modules( dep_engine->conf, env), dep_engine->conf); axis2_conf_set_phases_info(dep_engine->conf, env, dep_engine->phases_info); status = axis2_dep_engine_engage_modules(dep_engine, env); if (AXIS2_SUCCESS != status) { axis2_repos_listener_free(dep_engine->repos_listener, env); axis2_conf_free(dep_engine->conf, env); dep_engine->conf = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_VALIDATION_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Module engage failed for deployment engine"); return NULL; } return dep_engine->conf; } static axis2_status_t axis2_dep_engine_check_client_home( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t * client_home) { axis2_char_t *path_l = NULL; axis2_status_t status = AXIS2_FAILURE; dep_engine->folder_name = axutil_strdup(env, client_home); if (!dep_engine->folder_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } path_l = axutil_stracat(env, client_home, AXIS2_PATH_SEP_STR); dep_engine->conf_name = axutil_stracat(env, path_l, AXIS2_SERVER_XML_FILE); AXIS2_FREE(env->allocator, path_l); if (!dep_engine->conf_name) { dep_engine->conf_name = axutil_strdup(env, AXIS2_CONFIGURATION_RESOURCE); if (!dep_engine->conf_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CONFIG_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Axis2 Configuration file name cannot be NULL"); return AXIS2_FAILURE; } } status = axutil_file_handler_access(dep_engine->conf_name, AXIS2_F_OK); if (AXIS2_SUCCESS != status) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CONFIG_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Axis2 Configuration file name not found"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } static axis2_status_t axis2_dep_engine_engage_modules( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { int size = 0; int i = 0; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); if (!dep_engine->module_list) { /* There are no modules */ AXIS2_LOG_DEBUG (env->log, AXIS2_LOG_SI, "No modules configured"); return AXIS2_SUCCESS; } size = axutil_array_list_size(dep_engine->module_list, env); for (i = 0; i < size; i++) { axutil_qname_t *qname = NULL; qname = (axutil_qname_t *) axutil_array_list_get(dep_engine->module_list, env, i); if (qname && dep_engine->conf) { status = axis2_conf_engage_module(dep_engine->conf, env, qname); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Engaging module %s to Axis2 Configuration failed", axutil_qname_get_localpart(qname, env)); return status; } } } return AXIS2_SUCCESS; } static axis2_status_t axis2_dep_engine_validate_system_predefined_phases( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { axutil_array_list_t *in_phases = NULL; axis2_char_t *phase0 = NULL; axis2_char_t *phase1 = NULL; axis2_char_t *phase2 = NULL; axis2_char_t *phase3 = NULL; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); in_phases = axis2_phases_info_get_in_phases(dep_engine->phases_info, env); if (in_phases) { phase0 = (axis2_char_t *) axutil_array_list_get(in_phases, env, 0); phase1 = (axis2_char_t *) axutil_array_list_get(in_phases, env, 1); phase2 = (axis2_char_t *) axutil_array_list_get(in_phases, env, 2); phase3 = (axis2_char_t *) axutil_array_list_get(in_phases, env, 3); } if ((phase0 && 0 != axutil_strcmp(phase0, AXIS2_PHASE_TRANSPORT_IN)) || (phase1 && 0 != axutil_strcmp(phase1, AXIS2_PHASE_PRE_DISPATCH)) || (phase2 && 0 != axutil_strcmp(phase2, AXIS2_PHASE_DISPATCH)) || (phase3 && 0 != axutil_strcmp(phase3, AXIS2_PHASE_POST_DISPATCH))) { AXIS2_ERROR_SET(env->error, AXI2_ERROR_INVALID_PHASE, AXIS2_FAILURE); return AXIS2_SUCCESS; } return AXIS2_SUCCESS; } /* For each searvices belonging to the service group passed as parameter, * 1) Modules defined to be engaged to passed service group are engaged. * 2) Modules defined to be engaged to service are engaged. * * Then for each service operation modules defined to be engaged to that operation are engaged. */ static axis2_status_t axis2_dep_engine_add_new_svc( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_svc_grp_t * svc_metadata) { axutil_array_list_t *svcs = NULL; int sizei = 0; int i = 0; AXIS2_PARAM_CHECK(env->error, svc_metadata, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); svcs = axis2_arch_file_data_get_deployable_svcs(dep_engine->curr_file, env); if (svcs) { sizei = axutil_array_list_size(svcs, env); } for (i = 0; i < sizei; i++) { axis2_svc_t *svc = NULL; axutil_file_t *file = NULL; axutil_array_list_t *grp_modules = NULL; axutil_array_list_t *list = NULL; int sizej = 0; int j = 0; axutil_hash_t *ops = NULL; axutil_hash_index_t *index_i = NULL; axis2_char_t *file_name = NULL; svc = (axis2_svc_t *) axutil_array_list_get(svcs, env, i); file = axis2_arch_file_data_get_file(dep_engine->curr_file, env); file_name = axutil_file_get_name(file, env); axis2_svc_set_file_name(svc, env, file_name); /* Modules from service group */ grp_modules = axis2_svc_grp_get_all_module_qnames(svc_metadata, env); if (grp_modules) { sizej = axutil_array_list_size(grp_modules, env); } for (j = 0; j < sizej; j++) { axis2_module_desc_t *module_desc = NULL; axutil_qname_t *qmodulename = NULL; qmodulename = (axutil_qname_t *) axutil_array_list_get(grp_modules, env, j); module_desc = axis2_conf_get_module(dep_engine->conf, env, qmodulename); if (module_desc) { axis2_svc_engage_module(svc, env, module_desc, dep_engine->conf); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid module reference taken from conf"); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODUELE_REF, AXIS2_FAILURE); return AXIS2_FAILURE; } } /* Modules from service */ list = axis2_svc_get_all_module_qnames(svc, env); sizej = axutil_array_list_size(list, env); for (j = 0; j < sizej; j++) { axis2_module_desc_t *module_desc = NULL; axutil_qname_t *qmodulename = NULL; qmodulename = (axutil_qname_t *) axutil_array_list_get(list, env, j); module_desc = axis2_conf_get_module(dep_engine->conf, env, qmodulename); if (module_desc) { axis2_status_t status = AXIS2_FAILURE; status = axis2_svc_engage_module(svc, env, module_desc, dep_engine->conf); if (!status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Engaging module %s to service %s failed", axutil_qname_get_localpart(qmodulename, env), file_name); return status; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid module reference taken from conf"); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODUELE_REF, AXIS2_FAILURE); return AXIS2_FAILURE; } } ops = axis2_svc_get_all_ops(svc, env); for (index_i = axutil_hash_first(ops, env); index_i; index_i = axutil_hash_next(env, index_i)) { void *v = NULL; axis2_op_t *op_desc = NULL; axutil_array_list_t *modules = NULL; int sizek = 0; int k = 0; axutil_hash_this(index_i, NULL, NULL, &v); op_desc = (axis2_op_t *) v; modules = axis2_op_get_all_module_qnames(op_desc, env); if (modules) { sizek = axutil_array_list_size(modules, env); } for (k = 0; k < sizek; k++) { axutil_qname_t *module_qname = NULL; axis2_module_desc_t *module = NULL; module_qname = (axutil_qname_t *) axutil_array_list_get(modules, env, k); module = axis2_conf_get_module(dep_engine->conf, env, module_qname); if (module) { axis2_op_engage_module(op_desc, env, module, dep_engine->conf); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Module %s is not added to the Axis2 Configuration", axutil_qname_get_localpart(module_qname, env)); return AXIS2_FAILURE; } } } axis2_svc_grp_add_svc(svc_metadata, env, svc); } return axis2_conf_add_svc_grp(dep_engine->conf, env, svc_metadata); } /* Here we will load the actual module implementation dll using the class loader and store it in * module description. */ static axis2_status_t axis2_dep_engine_load_module_dll( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_module_desc_t * module_desc) { axis2_char_t *read_in_dll = NULL; axis2_module_t *module = NULL; axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; axutil_file_t *module_folder = NULL; AXIS2_TIME_T timestamp = 0; axis2_char_t *module_folder_path = NULL; axis2_char_t *temp_path = NULL; axis2_char_t *dll_path = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *dll_name = NULL; AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); read_in_dll = axis2_arch_file_data_get_module_dll_name(dep_engine->curr_file, env); dll_desc = axutil_dll_desc_create(env); dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, read_in_dll); module_folder = axis2_arch_file_data_get_file(dep_engine->curr_file, env); timestamp = axutil_file_get_timestamp(module_folder, env); axutil_dll_desc_set_timestamp(dll_desc, env, timestamp); module_folder_path = axutil_file_get_path(module_folder, env); temp_path = axutil_stracat(env, module_folder_path, AXIS2_PATH_SEP_STR); dll_path = axutil_stracat(env, temp_path, dll_name); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "axis2_dep_engine_load_module_dll: DLL path is : %s", dll_path); status = axutil_dll_desc_set_name(dll_desc, env, dll_path); if (AXIS2_SUCCESS != status) { axutil_dll_desc_free(dll_desc, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Setting dll path %s to the dll description failed", dll_path); return AXIS2_FAILURE; } /* Free all temp vars */ AXIS2_FREE(env->allocator, temp_path); temp_path = NULL; AXIS2_FREE(env->allocator, dll_path); dll_path = NULL; axutil_dll_desc_set_type(dll_desc, env, AXIS2_MODULE_DLL); impl_info_param = axutil_param_create(env, read_in_dll, NULL); axutil_param_set_value(impl_info_param, env, dll_desc); axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); axutil_class_loader_init(env); module = (axis2_module_t *) axutil_class_loader_create_dll(env, impl_info_param); /* We cannot free the created impl_info_param here because by freeing * so, it will free dll_desc which in turn unload the module. So we * add this as a param to module_desc */ axis2_module_desc_add_param(module_desc, env, impl_info_param); return axis2_module_desc_set_module(module_desc, env, module); } /* For each handler description of the module flow take the corresponding handler create function * from handler_create_func_map and create the handler instance for the handler description. */ static axis2_status_t axis2_dep_engine_add_module_flow_handlers( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_flow_t * flow, axutil_hash_t * handler_create_func_map) { int count = 0; int j = 0; AXIS2_PARAM_CHECK(env->error, flow, AXIS2_FAILURE); count = axis2_flow_get_handler_count(flow, env); for (j = 0; j < count; j++) { axis2_handler_desc_t *handlermd = NULL; axis2_handler_t *handler = NULL; const axutil_string_t *handler_name = NULL; AXIS2_HANDLER_CREATE_FUNC handler_create_func = NULL; handlermd = axis2_flow_get_handler(flow, env, j); handler_name = axis2_handler_desc_get_name(handlermd, env); handler_create_func = axutil_hash_get(handler_create_func_map, axutil_string_get_buffer( handler_name, env), AXIS2_HASH_KEY_STRING); handler = handler_create_func(env, handler_name); axis2_handler_init(handler, env, handlermd); axis2_handler_desc_set_handler(handlermd, env, handler); } return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axis2_dep_engine_get_handler_dll( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_char_t * class_name) { axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; axis2_handler_t *handler = NULL; axis2_char_t *dll_name = NULL; AXIS2_PARAM_CHECK(env->error, class_name, NULL); AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); dll_desc = axutil_dll_desc_create(env); dll_name = axutil_dll_desc_create_platform_specific_dll_name(dll_desc, env, class_name); axutil_dll_desc_set_name(dll_desc, env, dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_HANDLER_DLL); axutil_class_loader_init(env); impl_info_param = axutil_param_create(env, NULL, NULL); axutil_param_set_value(impl_info_param, env, dll_desc); handler = (axis2_handler_t *) axutil_class_loader_create_dll(env, impl_info_param); return handler; } /* Caller has module description filled with the information in module.xml by the time this * function is called. Now it will load the actual module implementation and fill the module * flows with the actual handler instances. Finally module description will be added into the * configuration module list. */ static axis2_status_t axis2_dep_engine_add_new_module( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_module_desc_t * module_metadata) { axis2_flow_t *in_flow = NULL; axis2_flow_t *out_flow = NULL; axis2_flow_t *in_fault_flow = NULL; axis2_flow_t *out_fault_flow = NULL; axis2_module_t *module = NULL; axis2_status_t status = AXIS2_FAILURE; const axutil_qname_t *module_qname = NULL; axis2_char_t *module_name = NULL; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); module_qname = axis2_module_desc_get_qname(module_metadata, env); module_name = axutil_qname_get_localpart(module_qname, env); status = axis2_dep_engine_load_module_dll(dep_engine, env, module_metadata); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Loading module description %s failed", module_name); return status; } module = axis2_module_desc_get_module(module_metadata, env); if (!module) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Retrieving module from module description %s failed", module_name); return AXIS2_FAILURE; } /* Module implementor will provide functions for creating his handlers and by calling this * function these function pointers will be stored in a hash map in the module. */ status = axis2_module_fill_handler_create_func_map(module, env); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Filling handler create function for module map %s failed", module_name); return status; } in_flow = axis2_module_desc_get_in_flow(module_metadata, env); if (in_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, in_flow, module->handler_create_func_map); } out_flow = axis2_module_desc_get_out_flow(module_metadata, env); if (out_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, out_flow, module->handler_create_func_map); } in_fault_flow = axis2_module_desc_get_fault_in_flow(module_metadata, env); if (in_fault_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, in_fault_flow, module->handler_create_func_map); } out_fault_flow = axis2_module_desc_get_fault_out_flow(module_metadata, env); if (out_fault_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, out_fault_flow, module->handler_create_func_map); } /* Add the module description into the axis2 configuration. Axis2 configuration will keep these * handlers in a hash_map called all_modules. */ axis2_conf_add_module(dep_engine->conf, env, module_metadata); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_do_deploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { int size = 0; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); size = axutil_array_list_size(dep_engine->ws_to_deploy, env); if (size > 0) { int i = 0; for (i = 0; i < size; i++) { int type = 0; axis2_svc_grp_t *svc_grp = NULL; axis2_char_t *file_name = NULL; axis2_module_desc_t *meta_data = NULL; dep_engine->curr_file = (axis2_arch_file_data_t *) axutil_array_list_get( dep_engine->ws_to_deploy, env, i); type = axis2_arch_file_data_get_type(dep_engine->curr_file, env); switch (type) { case AXIS2_SVC: { if (dep_engine->arch_reader) { axis2_arch_reader_free(dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; } dep_engine->arch_reader = axis2_arch_reader_create (env); svc_grp = axis2_svc_grp_create_with_conf(env, dep_engine->conf); file_name = axis2_arch_file_data_get_name(dep_engine->curr_file, env); status = axis2_arch_reader_process_svc_grp(dep_engine->arch_reader, env, file_name, dep_engine, svc_grp); if (AXIS2_SUCCESS != status) { axis2_arch_reader_free(dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; dep_engine->curr_file = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SVC, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Processing service group %s failed", file_name); return status; } status = axis2_dep_engine_add_new_svc(dep_engine, env, svc_grp); if (AXIS2_SUCCESS != status) { axis2_arch_reader_free(dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; dep_engine->curr_file = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SVC, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Adding new service %s to the deployment engine failed", file_name); return status; } dep_engine->curr_file = NULL; break; } case AXIS2_MODULE: { if (dep_engine->arch_reader) { axis2_arch_reader_free(dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; } dep_engine->arch_reader = axis2_arch_reader_create(env); meta_data = axis2_module_desc_create(env); file_name = axis2_arch_file_data_get_name(dep_engine->curr_file, env); status = axis2_arch_reader_read_module_arch(env, file_name, dep_engine, meta_data); if (AXIS2_SUCCESS != status) { axis2_arch_reader_free (dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; dep_engine->curr_file = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODULE, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Reading module archive for file %s failed", file_name); return AXIS2_FAILURE; } status = axis2_dep_engine_add_new_module(dep_engine, env, meta_data); if (AXIS2_SUCCESS != status) { axis2_arch_reader_free (dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; dep_engine->curr_file = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODULE, AXIS2_FAILURE); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Adding new module %s to the deployment engine failed", file_name); return AXIS2_FAILURE; } dep_engine->curr_file = NULL; break; } }; axis2_arch_reader_free (dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; dep_engine->curr_file = NULL; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_undeploy( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { int size = 0; axis2_char_t *svc_name = NULL; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); size = axutil_array_list_size(dep_engine->ws_to_undeploy, env); if (size > 0) { int i = 0; for (i = 0; i < size; i++) { int type = 0; axis2_ws_info_t *ws_info = NULL; axutil_hash_t *faulty_svcs = NULL; ws_info = (axis2_ws_info_t *) axutil_array_list_get(dep_engine->ws_to_undeploy, env, i); type = axis2_ws_info_get_type(ws_info, env); if (type == AXIS2_SVC) { axis2_char_t *file_name = NULL; file_name = axis2_ws_info_get_file_name(ws_info, env); svc_name = axis2_dep_engine_get_axis_svc_name(dep_engine, env, file_name); axis2_conf_remove_svc(dep_engine->conf, env, svc_name); } faulty_svcs = axis2_conf_get_all_faulty_svcs(dep_engine->conf, env); axutil_hash_set(faulty_svcs, svc_name, AXIS2_HASH_KEY_STRING, NULL); } } axutil_array_list_free(dep_engine->ws_to_undeploy, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_dep_engine_is_hot_update( axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { return dep_engine->hot_update; } static axis2_char_t * axis2_dep_engine_get_axis_svc_name( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_char_t * file_name) { axis2_char_t name_sep = '.'; axis2_char_t *temp_name = NULL; axis2_char_t *ptr = NULL; axis2_char_t *file_name_l = NULL; axis2_char_t *svc_name = NULL; int len = 0; file_name_l = axutil_strdup(env, file_name); ptr = AXIS2_STRRCHR(file_name_l, AXIS2_PATH_SEP_CHAR); temp_name = ptr + 1; ptr = AXIS2_STRRCHR(temp_name, name_sep); ptr[0] = '\0'; len = (int)strlen(temp_name); /* We are sure that the difference lies within the int range */ svc_name = AXIS2_MALLOC(env->allocator, len + 1); sscanf(temp_name, "%s", svc_name); AXIS2_FREE(env->allocator, file_name_l); return svc_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_phases_info( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_phases_info_t * phases_info) { AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); dep_engine->phases_info = phases_info; return AXIS2_SUCCESS; } /** * This method is used to fill a axis2 service instance using services.xml , * first it should create an axis service instance and then fill that using * given service.xml and load all the required class and build the chains , * finally add the service context to engine context and axis2 service into * Engine Configuration. */ AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_dep_engine_build_svc( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_svc_t * svc, axis2_char_t * file_name) { axiom_node_t *node = NULL; AXIS2_PARAM_CHECK(env->error, file_name, NULL); AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); dep_engine->curr_file = axis2_arch_file_data_create_with_type_and_name(env, AXIS2_SVC, ""); dep_engine->svc_builder = axis2_svc_builder_create_with_file_and_dep_engine_and_svc(env, file_name, dep_engine, svc); node = axis2_desc_builder_build_om(axis2_svc_builder_get_desc_builder(dep_engine->svc_builder, env), env); axis2_svc_builder_populate_svc(dep_engine->svc_builder, env, node); return svc; } /** * This function can be used to build Module Description for a given module * archieve file. */ AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_dep_engine_build_module( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axutil_file_t * module_archive, axis2_conf_t * conf) { axis2_module_desc_t *module_desc = NULL; axis2_module_t *module = NULL; axis2_phases_info_t *phases_info = NULL; axis2_arch_reader_t *arch_reader = NULL; axis2_flow_t *in_flow = NULL; axis2_flow_t *out_flow = NULL; axis2_flow_t *in_fault_flow = NULL; axis2_flow_t *out_fault_flow = NULL; axis2_char_t *file_name = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, module_archive, NULL); AXIS2_PARAM_CHECK(env->error, conf, NULL); AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); phases_info = axis2_conf_get_phases_info(conf, env); axis2_dep_engine_set_phases_info(dep_engine, env, phases_info); dep_engine->curr_file = axis2_arch_file_data_create_with_type_and_file(env, AXIS2_MODULE, module_archive); module_desc = axis2_module_desc_create(env); arch_reader = axis2_arch_reader_create(env); file_name = axutil_file_get_name(module_archive, env); status = axis2_arch_reader_read_module_arch(env, file_name, dep_engine, module_desc); axis2_arch_reader_free(arch_reader, env); if (AXIS2_SUCCESS != status) { axis2_module_desc_free(module_desc, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Reading module archive for file %s failed", file_name); return NULL; } status = axis2_dep_engine_load_module_dll(dep_engine, env, module_desc); if (AXIS2_SUCCESS != status) { axis2_module_desc_free(module_desc, env); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Loading module dll %s failed", file_name); return NULL; } module = axis2_module_desc_get_module(module_desc, env); /* Module implementor will provide functions for creating his handlers and by calling this * function these function pointers will be stored in a hash map in the module. */ axis2_module_fill_handler_create_func_map(module, env); in_flow = axis2_module_desc_get_in_flow(module_desc, env); if (in_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, in_flow, module->handler_create_func_map); } out_flow = axis2_module_desc_get_out_flow(module_desc, env); if (out_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, out_flow, module->handler_create_func_map); } in_fault_flow = axis2_module_desc_get_fault_in_flow(module_desc, env); if (in_fault_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, in_fault_flow, module->handler_create_func_map); } out_fault_flow = axis2_module_desc_get_fault_out_flow(module_desc, env); if (out_fault_flow) { axis2_dep_engine_add_module_flow_handlers(dep_engine, env, out_fault_flow, module->handler_create_func_map); } dep_engine->curr_file = NULL; return module_desc; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_dep_engine_get_repos_path( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return dep_engine->folder_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_current_file_item( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_arch_file_data_t * file_data) { AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); if (dep_engine->curr_file) { axis2_arch_file_data_free(dep_engine->curr_file, env); dep_engine->curr_file = NULL; } dep_engine->curr_file = file_data; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_arch_reader( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_arch_reader_t * arch_reader) { AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); if (dep_engine->arch_reader) { axis2_arch_reader_free(dep_engine->arch_reader, env); dep_engine->arch_reader = NULL; } dep_engine->arch_reader = arch_reader; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_module_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_module_builder_t * module_builder) { AXIS2_PARAM_CHECK(env->error, module_builder, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); return axutil_array_list_add(dep_engine->module_builders, env, module_builder); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_svc_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_svc_builder_t * svc_builder) { AXIS2_PARAM_CHECK(env->error, svc_builder, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); return axutil_array_list_add(dep_engine->svc_builders, env, svc_builder); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_svc_grp_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, axis2_svc_grp_builder_t * svc_grp_builder) { AXIS2_PARAM_CHECK(env->error, svc_grp_builder, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); return axutil_array_list_add(dep_engine->svc_grp_builders, env, svc_grp_builder); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_add_desc_builder( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, struct axis2_desc_builder * desc_builder) { AXIS2_PARAM_CHECK(env->error, desc_builder, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); return axutil_array_list_add(dep_engine->desc_builders, env, desc_builder); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_dep_engine_get_module_dir( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return axutil_strdup (env, dep_engine->module_dir); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_module_dir( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t *module_dir) { AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, module_dir, AXIS2_FAILURE); dep_engine->module_dir = axutil_strdup (env, module_dir); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_dep_engine_get_file_flag( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FALSE); return dep_engine->file_flag; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_dep_engine_get_svc_dir( const axis2_dep_engine_t * dep_engine, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, dep_engine, NULL); return axutil_strdup (env, dep_engine->svc_dir); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_dep_engine_set_svc_dir( axis2_dep_engine_t * dep_engine, const axutil_env_t * env, const axis2_char_t *svc_dir) { AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, svc_dir, AXIS2_FAILURE); dep_engine->svc_dir = axutil_strdup (env, svc_dir); return AXIS2_SUCCESS; } static axis2_status_t axis2_dep_engine_set_svc_and_module_dir_path ( axis2_dep_engine_t *dep_engine, const axutil_env_t *env) { axis2_bool_t flag; axis2_conf_t *conf; axis2_char_t *dirpath; axutil_param_t *dep_param; AXIS2_PARAM_CHECK (env->error, dep_engine, AXIS2_FAILURE); flag = dep_engine->file_flag; if (!flag) { return AXIS2_SUCCESS; } else { conf = dep_engine->conf; if (!conf) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Axis2 Configuration cannot be NULL"); return AXIS2_FAILURE; } dep_param = axis2_conf_get_param (conf, env, AXIS2_MODULE_DIR); if (dep_param) { dirpath = (axis2_char_t *)axutil_param_get_value(dep_param, env); if (dirpath) { dep_engine->module_dir = dirpath; dirpath = NULL; } } dep_param = NULL; dep_param = axis2_conf_get_param (conf, env, AXIS2_SERVICE_DIR); if (dep_param) { dirpath = (axis2_char_t *)axutil_param_get_value(dep_param, env); if (dirpath) { dep_engine->svc_dir = dirpath; dirpath = NULL; } } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/receivers/0000777000175000017500000000000011172017537020352 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/receivers/raw_xml_in_out_msg_recv.c0000644000175000017500000003324011166304453025426 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include static axis2_status_t AXIS2_CALL axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_msg_ctx_t * new_msg_ctx); AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_raw_xml_in_out_msg_recv_create( const axutil_env_t * env) { axis2_msg_recv_t *msg_recv = NULL; axis2_status_t status = AXIS2_FAILURE; msg_recv = axis2_msg_recv_create(env); if (!msg_recv) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } status = axis2_msg_recv_set_scope(msg_recv, env, AXIS2_APPLICATION_SCOPE); if (!status) { axis2_msg_recv_free(msg_recv, env); return NULL; } axis2_msg_recv_set_invoke_business_logic(msg_recv, env, axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync); return msg_recv; } static axis2_status_t AXIS2_CALL axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_msg_ctx_t * new_msg_ctx) { axis2_svc_skeleton_t *svc_obj = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_op_t *op_desc = NULL; const axis2_char_t *style = NULL; axiom_node_t *om_node = NULL; axiom_element_t *om_element = NULL; axis2_char_t *local_name = NULL; axiom_node_t *result_node = NULL; axiom_node_t *body_content_node = NULL; axiom_element_t *body_content_element = NULL; axiom_soap_envelope_t *default_envelope = NULL; axiom_soap_body_t *out_body = NULL; axiom_soap_header_t *out_header = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_node_t *out_node = NULL; axis2_status_t status = AXIS2_SUCCESS; axis2_bool_t skel_invoked = AXIS2_FALSE; const axis2_char_t *soap_ns = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; int soap_version = AXIOM_SOAP12; axiom_namespace_t *env_ns = NULL; axiom_node_t *fault_node = NULL; axiom_soap_fault_detail_t *fault_detail; axis2_bool_t is_fault = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, new_msg_ctx, AXIS2_FAILURE); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[axis2]Entry:axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync"); /* get the implementation class for the Web Service */ svc_obj = axis2_msg_recv_get_impl_obj(msg_recv, env, msg_ctx); if (!svc_obj) { const axis2_char_t *svc_name = NULL; axis2_svc_t *svc = axis2_msg_ctx_get_svc(msg_ctx, env); if (svc) { svc_name = axis2_svc_get_name(svc, env); } else { svc_name = "unknown"; } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Impl object for service '%s' not set in message receiver. %d :: %s", svc_name, env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); status = AXIS2_FAILURE; } else { op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); op_desc = axis2_op_ctx_get_op(op_ctx, env); style = axis2_op_get_style(op_desc, env); if (0 == axutil_strcmp(AXIS2_STYLE_DOC, style)) { axiom_soap_envelope_t *envelope = NULL; axiom_soap_body_t *body = NULL; envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); body = axiom_soap_envelope_get_body(envelope, env); om_node = axiom_soap_body_get_base_node(body, env); om_element = axiom_node_get_data_element(om_node, env); om_node = axiom_node_get_first_element(om_node, env); } else if (0 == axutil_strcmp(AXIS2_STYLE_RPC, style)) { axiom_soap_envelope_t *envelope = NULL; axiom_soap_body_t *body = NULL; axiom_node_t *op_node = NULL; axiom_element_t *op_element = NULL; envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); body = axiom_soap_envelope_get_body(envelope, env); op_node = axiom_soap_body_get_base_node(body, env); op_element = axiom_node_get_data_element(op_node, env); if (op_element) { local_name = axiom_element_get_localname(op_element, env); if (local_name) { axutil_array_list_t *function_arr = NULL; int i = 0; int size = 0; axis2_bool_t matches = AXIS2_FALSE; function_arr = svc_obj->func_array; if (function_arr) { size = axutil_array_list_size(function_arr, env); } for (i = 0; i < size; i++) { axis2_char_t *function_name = NULL; function_name = (axis2_char_t *) axutil_array_list_get(function_arr, env, i); if (!axutil_strcmp(function_name, local_name)) { matches = AXIS2_TRUE; } } if (matches) { om_node = axiom_node_get_first_child(op_node, env); om_element = axiom_node_get_data_element(om_node, env); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OM_ELEMENT_MISMATCH, AXIS2_FAILURE); status = AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_OM_ELEMENT_INVALID_STATE, AXIS2_FAILURE); status = AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_RPC_NEED_MATCHING_CHILD, AXIS2_FAILURE); status = AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_UNKNOWN_STYLE, AXIS2_FAILURE); status = AXIS2_FAILURE; } if (status == AXIS2_SUCCESS) { skel_invoked = AXIS2_TRUE; result_node = AXIS2_SVC_SKELETON_INVOKE(svc_obj, env, om_node, new_msg_ctx); } if (result_node) { if (0 == axutil_strcmp(style, AXIS2_STYLE_RPC)) { axiom_namespace_t *ns = NULL; axis2_char_t *res_name = NULL; res_name = axutil_stracat(env, local_name, "Response"); ns = axiom_namespace_create(env, "http://soapenc/", "res"); if (!ns) { status = AXIS2_FAILURE; } else { body_content_element = axiom_element_create(env, NULL, res_name, ns, &body_content_node); axiom_node_add_child(body_content_node, env, result_node); } } else { body_content_node = result_node; } } else { axis2_char_t *mep = (axis2_char_t *)axis2_op_get_msg_exchange_pattern(op_desc, env); if (axutil_strcmp(mep, AXIS2_MEP_URI_IN_ONLY) && axutil_strcmp(mep, AXIS2_MEP_URI_ROBUST_IN_ONLY)) { status = AXIS2_ERROR_GET_STATUS_CODE(env->error); if (status == AXIS2_SUCCESS) { axis2_msg_ctx_set_no_content(new_msg_ctx, env, AXIS2_TRUE); } else { axis2_msg_ctx_set_status_code(msg_ctx, env, axis2_msg_ctx_get_status_code(new_msg_ctx, env)); } /* The new_msg_ctx is passed to the service. The status code must * be taken from here and set to the old message context which is * used by the worker when the request processing fails. */ if (svc_obj->ops->on_fault) { fault_node = AXIS2_SVC_SKELETON_ON_FAULT(svc_obj, env, om_node); } is_fault = AXIS2_TRUE; } else { /* If we have a in only message result node is NULL. We create fault only if * an error is set */ status = AXIS2_ERROR_GET_STATUS_CODE(env->error); if (status == AXIS2_SUCCESS) { axis2_msg_ctx_set_no_content(new_msg_ctx, env, AXIS2_TRUE); } else { axis2_msg_ctx_set_status_code(msg_ctx, env, axis2_msg_ctx_get_status_code(new_msg_ctx, env)); if (!axutil_strcmp(mep, AXIS2_MEP_URI_ROBUST_IN_ONLY)) { /* The new_msg_ctx is passed to the service. The status code must * be taken from here and set to the old message context which is * used by the worker when the request processing fails. */ if (svc_obj->ops->on_fault) { fault_node = AXIS2_SVC_SKELETON_ON_FAULT(svc_obj, env, om_node); } is_fault = AXIS2_TRUE; } } } } } if (msg_ctx && axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { soap_ns = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; /* default is 1.2 */ soap_version = AXIOM_SOAP11; } if (axis2_msg_ctx_get_soap_envelope(new_msg_ctx, env)) { /* service implementation has set the envelope, useful when setting a SOAP fault. No need to further process */ return AXIS2_SUCCESS; } /* create the soap envelope here */ env_ns = axiom_namespace_create(env, soap_ns, "soapenv"); if (!env_ns) { return AXIS2_FAILURE; } default_envelope = axiom_soap_envelope_create(env, env_ns); if (!default_envelope) { return AXIS2_FAILURE; } out_header = axiom_soap_header_create_with_parent(env, default_envelope); if (!out_header) { return AXIS2_FAILURE; } out_body = axiom_soap_body_create_with_parent(env, default_envelope); if (!out_body) { return AXIS2_FAILURE; } out_node = axiom_soap_body_get_base_node(out_body, env); if (!out_node) { return AXIS2_FAILURE; } if (status != AXIS2_SUCCESS || is_fault) { /* something went wrong. set a SOAP Fault */ const axis2_char_t *fault_value_str = "soapenv:Sender"; const axis2_char_t *fault_reason_str = NULL; const axis2_char_t *err_msg = NULL; if (!skel_invoked) { if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { fault_value_str = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP11_FAULT_CODE_RECEIVER; } else { fault_value_str = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP12_SOAP_FAULT_VALUE_RECEIVER; } } err_msg = AXIS2_ERROR_GET_MESSAGE(env->error); if (err_msg) { fault_reason_str = err_msg; } else { fault_reason_str = "An error has occured, but could not determine exact details"; } soap_fault = axiom_soap_fault_create_default_fault(env, out_body, fault_value_str, fault_reason_str, soap_version); if (fault_node) { axiom_node_t *fault_detail_node = NULL; fault_detail = axiom_soap_fault_detail_create_with_parent(env, soap_fault); fault_detail_node = axiom_soap_fault_detail_get_base_node(fault_detail, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault_detail:%s", axiom_node_to_string( fault_detail_node, env)); axiom_soap_fault_detail_add_detail_entry(fault_detail, env, fault_node); } } if (body_content_node) { axiom_node_add_child(out_node, env, body_content_node); status = axis2_msg_ctx_set_soap_envelope(new_msg_ctx, env, default_envelope); } else if (soap_fault) { axis2_msg_ctx_set_soap_envelope(new_msg_ctx, env, default_envelope); status = AXIS2_SUCCESS; } else { /* we should free the memory as the envelope is not used, one way case */ axiom_soap_envelope_free(default_envelope, env); default_envelope = NULL; } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[axis2]Exit:axis2_raw_xml_in_out_msg_recv_invoke_business_logic_sync"); return status; } AXIS2_EXPORT int axis2_get_instance( struct axis2_msg_recv **inst, const axutil_env_t * env) { *inst = axis2_raw_xml_in_out_msg_recv_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( struct axis2_msg_recv *inst, const axutil_env_t * env) { if (inst) { axis2_msg_recv_free(inst, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/receivers/msg_recv.c0000644000175000017500000003735511166304453022333 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include struct axis2_msg_recv { axis2_char_t *scope; void *derived; /** * This contain in out synchronous business invoke logic * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param in_msg_ctx pointer to in message context * @param out_msg_ctx pointer to out message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * invoke_business_logic) ( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * in_msg_ctx, struct axis2_msg_ctx * out_msg_ctx); /** * This method is called from axis2_engine_receive method. This method's * actual implementation is decided from the create method of the * extended message receiver object. There depending on the synchronous or * asynchronous type, receive method is assigned with the synchronous or * asynchronous implementation of receive. * @see raw_xml_in_out_msg_recv_create method where receive is assigned * to receive_sync * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param in_msg_ctx pointer to in message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * receive) ( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * in_msg_ctx, void *callback_recv_param); axis2_status_t( AXIS2_CALL *load_and_init_svc)( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc); }; static axis2_status_t AXIS2_CALL axis2_msg_recv_receive_impl( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, void *callback_recv_param); static axis2_status_t AXIS2_CALL axis2_msg_recv_load_and_init_svc_impl( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc) { axutil_param_t *impl_info_param = NULL; void *impl_class = NULL; AXIS2_ENV_CHECK(env, NULL); if (!svc) { return AXIS2_FAILURE; } impl_class = axis2_svc_get_impl_class(svc, env); if (impl_class) { return AXIS2_SUCCESS; } /* When we load the DLL we have to make sure that only one thread will load it */ axutil_thread_mutex_lock(axis2_svc_get_mutex(svc, env)); /* If more than one thread tries to acquires the lock, first thread loads the DLL. Others should not load the DLL */ impl_class = axis2_svc_get_impl_class(svc, env); if (impl_class) { axutil_thread_mutex_unlock(axis2_svc_get_mutex(svc, env)); return AXIS2_SUCCESS; } impl_info_param = axis2_svc_get_param(svc, env, AXIS2_SERVICE_CLASS); if (!impl_info_param) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC, AXIS2_FAILURE); axutil_thread_mutex_unlock(axis2_svc_get_mutex(svc, env)); return AXIS2_FAILURE; } axutil_allocator_switch_to_global_pool(env->allocator); axutil_class_loader_init(env); impl_class = axutil_class_loader_create_dll(env, impl_info_param); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "loading the services from msg_recv_load_and_init_svc"); if (impl_class) { AXIS2_SVC_SKELETON_INIT((axis2_svc_skeleton_t *) impl_class, env); } axis2_svc_set_impl_class(svc, env, impl_class); axutil_allocator_switch_to_local_pool(env->allocator); axutil_thread_mutex_unlock(axis2_svc_get_mutex(svc, env)); return AXIS2_SUCCESS; } AXIS2_EXPORT axis2_msg_recv_t *AXIS2_CALL axis2_msg_recv_create( const axutil_env_t * env) { axis2_msg_recv_t *msg_recv = NULL; AXIS2_ENV_CHECK(env, NULL); msg_recv = (axis2_msg_recv_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_msg_recv_t)); if (!msg_recv) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } msg_recv->scope = axutil_strdup(env, "app*"); msg_recv->derived = NULL; msg_recv->load_and_init_svc = axis2_msg_recv_load_and_init_svc_impl; msg_recv->receive = axis2_msg_recv_receive_impl; return msg_recv; } AXIS2_EXPORT void AXIS2_CALL axis2_msg_recv_free( axis2_msg_recv_t * msg_recv, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (msg_recv->scope) { AXIS2_FREE(env->allocator, msg_recv->scope); } if (msg_recv) { AXIS2_FREE(env->allocator, msg_recv); } return; } AXIS2_EXPORT axis2_svc_skeleton_t *AXIS2_CALL axis2_msg_recv_make_new_svc_obj( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { struct axis2_svc *svc = NULL; struct axis2_op_ctx *op_ctx = NULL; struct axis2_svc_ctx *svc_ctx = NULL; axutil_param_t *impl_info_param = NULL; void *impl_class = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); svc = axis2_svc_ctx_get_svc(svc_ctx, env); if (!svc) { return NULL; } impl_class = axis2_svc_get_impl_class(svc, env); if (impl_class) { return impl_class; } else { /* When we load the DLL we have to make sure that only one thread will load it */ axutil_thread_mutex_lock(axis2_svc_get_mutex(svc, env)); /* If more than one thread tries to acquires the lock, first thread loads the DLL. Others should not load the DLL */ impl_class = axis2_svc_get_impl_class(svc, env); if (impl_class) { axutil_thread_mutex_unlock(axis2_svc_get_mutex(svc, env)); return impl_class; } impl_info_param = axis2_svc_get_param(svc, env, AXIS2_SERVICE_CLASS); if (!impl_info_param) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC, AXIS2_FAILURE); axutil_thread_mutex_unlock(axis2_svc_get_mutex(svc, env)); return NULL; } axutil_allocator_switch_to_global_pool(env->allocator); axutil_class_loader_init(env); impl_class = axutil_class_loader_create_dll(env, impl_info_param); if (impl_class) { AXIS2_SVC_SKELETON_INIT((axis2_svc_skeleton_t *) impl_class, env); } axis2_svc_set_impl_class(svc, env, impl_class); axutil_allocator_switch_to_local_pool(env->allocator); axutil_thread_mutex_unlock(axis2_svc_get_mutex(svc, env)); return impl_class; } } AXIS2_EXPORT axis2_svc_skeleton_t *AXIS2_CALL axis2_msg_recv_get_impl_obj( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { struct axis2_svc *svc = NULL; struct axis2_op_ctx *op_ctx = NULL; struct axis2_svc_ctx *svc_ctx = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); svc = axis2_svc_ctx_get_svc(svc_ctx, env); if (!svc) { return NULL; } return axis2_msg_recv_make_new_svc_obj(msg_recv, env, msg_ctx); } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_scope( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, const axis2_char_t * scope) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, scope, AXIS2_FAILURE); if (msg_recv->scope) { AXIS2_FREE(env->allocator, msg_recv->scope); } msg_recv->scope = axutil_strdup(env, scope); if (!msg_recv->scope) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT axis2_char_t *AXIS2_CALL axis2_msg_recv_get_scope( axis2_msg_recv_t * msg_recv, const axutil_env_t * env) { return msg_recv->scope; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_delete_svc_obj( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_svc_t *svc = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axutil_param_t *impl_info_param = NULL; axutil_param_t *scope_param = NULL; axis2_char_t *param_value = NULL; axutil_dll_desc_t *dll_desc = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); svc = axis2_svc_ctx_get_svc(svc_ctx, env); if (!svc) { return AXIS2_FAILURE; } scope_param = axis2_svc_get_param(svc, env, AXIS2_SCOPE); if (scope_param) { param_value = axutil_param_get_value(scope_param, env); } if (param_value && (0 == axutil_strcmp(AXIS2_APPLICATION_SCOPE, param_value))) { return AXIS2_SUCCESS; } impl_info_param = axis2_svc_get_param(svc, env, AXIS2_SERVICE_CLASS); if (!impl_info_param) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_SVC, AXIS2_FAILURE); return AXIS2_FAILURE; } dll_desc = axutil_param_get_value(impl_info_param, env); return axutil_class_loader_delete_dll(env, dll_desc); } static axis2_status_t AXIS2_CALL axis2_msg_recv_receive_impl( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, void *callback_recv_param) { axis2_msg_ctx_t *out_msg_ctx = NULL; axis2_engine_t *engine = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[axis2]Entry:axis2_msg_recv_receive_impl"); out_msg_ctx = axis2_core_utils_create_out_msg_ctx(env, msg_ctx); if (!out_msg_ctx) { return AXIS2_FAILURE; } op_ctx = axis2_msg_ctx_get_op_ctx(out_msg_ctx, env); if (!op_ctx) { axis2_core_utils_reset_out_msg_ctx(env, out_msg_ctx); axis2_msg_ctx_free(out_msg_ctx, env); return AXIS2_FAILURE; } status = axis2_op_ctx_add_msg_ctx(op_ctx, env, out_msg_ctx); if (!status) { axis2_core_utils_reset_out_msg_ctx(env, out_msg_ctx); axis2_msg_ctx_free(out_msg_ctx, env); return status; } status = axis2_op_ctx_add_msg_ctx(op_ctx, env, msg_ctx); if (!status) { return status; } status = axis2_msg_recv_invoke_business_logic(msg_recv, env, msg_ctx, out_msg_ctx); if (AXIS2_SUCCESS != status) { axis2_core_utils_reset_out_msg_ctx(env, out_msg_ctx); axis2_msg_ctx_free(out_msg_ctx, env); return status; } svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); conf_ctx = axis2_svc_ctx_get_conf_ctx(svc_ctx, env); engine = axis2_engine_create(env, conf_ctx); if (!engine) { axis2_msg_ctx_free(out_msg_ctx, env); return AXIS2_FAILURE; } if (axis2_msg_ctx_get_soap_envelope(out_msg_ctx, env)) { axiom_soap_envelope_t *soap_envelope = axis2_msg_ctx_get_soap_envelope(out_msg_ctx, env); if (soap_envelope) { axiom_soap_body_t *body = axiom_soap_envelope_get_body(soap_envelope, env); if (body) { /* in case of a SOAP fault, we got to return failure so that transport gets to know that it should send 500 */ if (axiom_soap_body_has_fault(body, env)) { status = AXIS2_FAILURE; axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, soap_envelope); axis2_msg_ctx_set_soap_envelope(out_msg_ctx, env, NULL); } else { /* if it is two way and not a fault then send through engine. if it is one way we do not need to do an engine send */ status = axis2_engine_send(engine, env, out_msg_ctx); } } } } axis2_engine_free(engine, env); /* Reset the out message context to avoid double freeing at http worker. For example if this is * not done here both in and out message context will try to free the transport out stream * which will result in memory corruption. */ if (!axis2_msg_ctx_is_paused(out_msg_ctx, env) && !axis2_msg_ctx_is_keep_alive(out_msg_ctx, env)) { axis2_core_utils_reset_out_msg_ctx(env, out_msg_ctx); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "[axis2]Exit:axis2_msg_recv_receive_impl"); return status; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_invoke_business_logic( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func) { msg_recv->invoke_business_logic = func; return AXIS2_SUCCESS; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_invoke_business_logic( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * in_msg_ctx, struct axis2_msg_ctx * out_msg_ctx) { return msg_recv->invoke_business_logic(msg_recv, env, in_msg_ctx, out_msg_ctx); } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_derived( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, void *derived) { msg_recv->derived = derived; return AXIS2_SUCCESS; } AXIS2_EXPORT void *AXIS2_CALL axis2_msg_recv_get_derived( const axis2_msg_recv_t * msg_recv, const axutil_env_t * env) { return msg_recv->derived; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_receive( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, AXIS2_MSG_RECV_RECEIVE func) { msg_recv->receive = func; return AXIS2_SUCCESS; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_receive( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, void *callback_recv_param) { return msg_recv->receive(msg_recv, env, msg_ctx, callback_recv_param); } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_load_and_init_svc( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func) { msg_recv->load_and_init_svc = func; return AXIS2_SUCCESS; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_load_and_init_svc( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc) { if(msg_recv->load_and_init_svc) { return msg_recv->load_and_init_svc(msg_recv, env, svc); } else { /* message receivers without physical service (e.g : programatical service injection) */ return AXIS2_SUCCESS; } } axis2c-src-1.6.0/src/core/receivers/Makefile.am0000644000175000017500000000064311166304453022404 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_receivers.la libaxis2_receivers_la_SOURCES = msg_recv.c \ raw_xml_in_out_msg_recv.c \ svr_callback.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/util \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/core/receivers/Makefile.in0000644000175000017500000003364511172017203022414 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/receivers DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_receivers_la_LIBADD = am_libaxis2_receivers_la_OBJECTS = msg_recv.lo \ raw_xml_in_out_msg_recv.lo svr_callback.lo libaxis2_receivers_la_OBJECTS = $(am_libaxis2_receivers_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_receivers_la_SOURCES) DIST_SOURCES = $(libaxis2_receivers_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_receivers.la libaxis2_receivers_la_SOURCES = msg_recv.c \ raw_xml_in_out_msg_recv.c \ svr_callback.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/util \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/receivers/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/receivers/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_receivers.la: $(libaxis2_receivers_la_OBJECTS) $(libaxis2_receivers_la_DEPENDENCIES) $(LINK) $(libaxis2_receivers_la_OBJECTS) $(libaxis2_receivers_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg_recv.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/raw_xml_in_out_msg_recv.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svr_callback.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/receivers/svr_callback.c0000644000175000017500000000631711166304453023146 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_svr_callback { axis2_char_t *scope; }; AXIS2_EXPORT axis2_svr_callback_t *AXIS2_CALL axis2_svr_callback_create( const axutil_env_t * env) { axis2_svr_callback_t *svr_callback = NULL; AXIS2_ENV_CHECK(env, NULL); svr_callback = (axis2_svr_callback_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_svr_callback_t)); if (!svr_callback) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return svr_callback; } AXIS2_EXPORT void AXIS2_CALL axis2_svr_callback_free( axis2_svr_callback_t * svr_callback, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (svr_callback) { AXIS2_FREE(env->allocator, svr_callback); } return; } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_svr_callback_handle_result( axis2_svr_callback_t * svr_callback, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_engine_t *engine = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_op_ctx_t *op_ctx = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); conf_ctx = axis2_svc_ctx_get_conf_ctx(svc_ctx, env); engine = axis2_engine_create(env, conf_ctx); if (!engine) { return AXIS2_FAILURE; } return axis2_engine_send(engine, env, msg_ctx); } AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_svr_callback_handle_fault( axis2_svr_callback_t * svr_callback, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_engine_t *engine = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_msg_ctx_t *fault_ctx = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); conf_ctx = axis2_svc_ctx_get_conf_ctx(svc_ctx, env); engine = axis2_engine_create(env, conf_ctx); if (!engine) { return AXIS2_FAILURE; } fault_ctx = axis2_engine_create_fault_msg_ctx(engine, env, msg_ctx, NULL, NULL); return axis2_engine_send_fault(engine, env, fault_ctx); } axis2c-src-1.6.0/src/core/description/0000777000175000017500000000000011172017537020706 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/description/flow_container.c0000644000175000017500000001104711166304446024063 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_flow_container { axis2_flow_t *in; axis2_flow_t *out; axis2_flow_t *in_fault; axis2_flow_t *out_fault; }; AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL axis2_flow_container_create( const axutil_env_t * env) { axis2_flow_container_t *flow_container = NULL; flow_container = (axis2_flow_container_t *) AXIS2_MALLOC(env-> allocator, sizeof (axis2_flow_container_t)); if (!flow_container) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } flow_container->in = NULL; flow_container->out = NULL; flow_container->in_fault = NULL; flow_container->out_fault = NULL; return flow_container; } AXIS2_EXTERN void AXIS2_CALL axis2_flow_container_free( axis2_flow_container_t * flow_container, const axutil_env_t * env) { if (flow_container->in) { axis2_flow_free(flow_container->in, env); } if (flow_container->out) { axis2_flow_free(flow_container->out, env); } if (flow_container->in_fault) { axis2_flow_free(flow_container->in_fault, env); } if (flow_container->out_fault) { axis2_flow_free(flow_container->out_fault, env); } if (flow_container) { AXIS2_FREE(env->allocator, flow_container); } return; } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_in_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env) { return flow_container->in; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_in_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * in_flow) { if (flow_container->in) { axis2_flow_free(flow_container->in, env); } flow_container->in = in_flow; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_out_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env) { return flow_container->out; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_out_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * out_flow) { if (flow_container->out) { axis2_flow_free(flow_container->out, env); } flow_container->out = out_flow; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_fault_in_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env) { return flow_container->in_fault; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_fault_in_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * falut_in_flow) { if (flow_container->in_fault) { axis2_flow_free(flow_container->in_fault, env); } flow_container->in_fault = falut_in_flow; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_fault_out_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env) { return flow_container->out_fault; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_fault_out_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * fault_out_flow) { AXIS2_PARAM_CHECK(env->error, fault_out_flow, AXIS2_FAILURE); if (flow_container->out_fault) { axis2_flow_free(flow_container->out_fault, env); } flow_container->out_fault = fault_out_flow; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/description/op.c0000644000175000017500000011261411166304446021472 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axis2_op { axis2_svc_t *parent; axis2_desc_t *base; axis2_msg_recv_t *msg_recv; int mep; /* To store deploy time modules */ axutil_array_list_t *module_qnames; axutil_array_list_t *engaged_module_list; axutil_array_list_t *wsamapping_list; axis2_bool_t from_module; axutil_qname_t *qname; axis2_char_t *msg_exchange_pattern; axis2_char_t *style; /* For REST support */ axis2_char_t *rest_http_method; axis2_char_t *rest_http_location; /** Parameter container to hold operation related parameters */ struct axutil_param_container *param_container; }; AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_create( const axutil_env_t * env) { axis2_op_t *op = NULL; axis2_msg_t *msg = NULL; op = (axis2_op_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_op_t)); if (!op) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return NULL; } op->parent = NULL; op->base = NULL; op->msg_recv = NULL; op->mep = AXIS2_MEP_CONSTANT_INVALID; op->param_container = NULL; op->module_qnames = axutil_array_list_create(env, 0); op->engaged_module_list = NULL; op->from_module = AXIS2_FALSE; op->wsamapping_list = NULL; op->qname = NULL; op->msg_exchange_pattern = NULL; op->style = NULL; op->rest_http_method = NULL; op->rest_http_location = NULL; op->style = axutil_strdup(env, AXIS2_STYLE_DOC); op->param_container = (axutil_param_container_t *) axutil_param_container_create(env); if (!op->param_container) { axis2_op_free(op, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Param container creation failed"); return NULL; } op->base = axis2_desc_create(env); if (!op->base) { axis2_op_free(op, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Operation base creation failed"); return NULL; } /* Create and set up children messages */ msg = axis2_msg_create(env); if (!msg) { axis2_op_free(op, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Child message creation failed"); return NULL; } axis2_msg_set_direction(msg, env, AXIS2_WSDL_MESSAGE_DIRECTION_IN); axis2_msg_set_parent(msg, env, op); axis2_op_add_msg(op, env, AXIS2_MSG_IN, msg); msg = axis2_msg_create(env); if (!msg) { axis2_op_free(op, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Child message creation failed"); return NULL; } axis2_msg_set_direction(msg, env, AXIS2_WSDL_MESSAGE_DIRECTION_OUT); axis2_msg_set_parent(msg, env, op); axis2_op_add_msg(op, env, AXIS2_MSG_OUT, msg); msg = axis2_msg_create(env); if (!msg) { axis2_op_free(op, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Child message creation failed"); return NULL; } axis2_msg_set_parent(msg, env, op); axis2_msg_set_flow(msg, env, NULL); axis2_op_add_msg(op, env, AXIS2_MSG_IN_FAULT, msg); msg = axis2_msg_create(env); if (!msg) { axis2_op_free(op, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Child message creation failed"); return NULL; } axis2_msg_set_parent(msg, env, op); axis2_msg_set_flow(msg, env, NULL); axis2_op_add_msg(op, env, AXIS2_MSG_OUT_FAULT, msg); axis2_op_set_msg_exchange_pattern(op, env, (axis2_char_t *) AXIS2_MEP_URI_IN_OUT); return op; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_create_from_module( const axutil_env_t * env) { axis2_op_t *op = NULL; op = (axis2_op_t *) axis2_op_create(env); op->from_module = AXIS2_TRUE; return op; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_create_with_qname( const axutil_env_t * env, const axutil_qname_t * qname) { axis2_op_t *op = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, qname, NULL); op = (axis2_op_t *) axis2_op_create(env); if (!op) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Operation creation failed for %s", axutil_qname_get_localpart(qname, env)); return NULL; } status = axis2_op_set_qname(op, env, qname); if (AXIS2_SUCCESS != status) { axis2_op_free(op, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name failed for operation %s", axutil_qname_get_localpart(qname, env)); return NULL; } return op; } AXIS2_EXTERN void AXIS2_CALL axis2_op_free( axis2_op_t * op, const axutil_env_t * env) { if (op->base) { axis2_desc_free(op->base, env); } if (op->param_container) { axutil_param_container_free(op->param_container, env); } op->parent = NULL; if (op->msg_recv) { axis2_msg_recv_free(op->msg_recv, env); } if (op->module_qnames) { int i = 0; for (i = 0; i < axutil_array_list_size(op->module_qnames, env); i++) { axutil_qname_t *module_ref = NULL; module_ref = axutil_array_list_get(op->module_qnames, env, i); if (module_ref) { axutil_qname_free(module_ref, env); } } axutil_array_list_free(op->module_qnames, env); } if (op->engaged_module_list) { axutil_array_list_free(op->engaged_module_list, env); } if (op->wsamapping_list) { int i = 0; int size = 0; size = axutil_array_list_size(op->wsamapping_list, env); for(i = 0; i < size; i++) { axis2_char_t *temp_str = axutil_array_list_get(op->wsamapping_list, env, i); if(temp_str) AXIS2_FREE(env->allocator, temp_str); } axutil_array_list_free(op->wsamapping_list, env); } if (op->qname) { axutil_qname_free(op->qname, env); } if (op->msg_exchange_pattern) { AXIS2_FREE(env->allocator, op->msg_exchange_pattern); } if (op->style) { AXIS2_FREE(env->allocator, op->style); } if (op->rest_http_method) { AXIS2_FREE(env->allocator, op->rest_http_method); } if (op->rest_http_location) { AXIS2_FREE(env->allocator, op->rest_http_location); } if (op) { AXIS2_FREE(env->allocator, op); } return; } AXIS2_EXTERN void AXIS2_CALL axis2_op_free_void_arg( void *op, const axutil_env_t * env) { axis2_op_t *op_l = NULL; op_l = (axis2_op_t *) op; axis2_op_free(op_l, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_param( axis2_op_t * op, const axutil_env_t * env, axutil_param_t * param) { axis2_char_t *param_name = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, param, AXIS2_FALSE); param_name = axutil_param_get_name(param, env); if (AXIS2_TRUE == axis2_op_is_param_locked(op, env, param_name)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter %s is locked, cannot override", param_name); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); return AXIS2_FAILURE; } else { status = axutil_param_container_add_param(op->param_container, env, param); } return status; } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_op_get_param( const axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * param_name) { axutil_param_t *param = NULL; AXIS2_PARAM_CHECK(env->error, param_name, NULL); param = axutil_param_container_get_param(op->param_container, env, param_name); if (!param && op->parent) { param = axis2_svc_get_param(op->parent, env, param_name); } return param; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_all_params( const axis2_op_t * op, const axutil_env_t * env) { return axutil_param_container_get_params(op->param_container, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_is_param_locked( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * param_name) { axis2_svc_t *parent = NULL; axutil_param_t *param = NULL; axis2_bool_t locked = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FALSE); /* Checking the locked value of parent */ parent = axis2_op_get_parent(op, env); if (parent) { locked = axis2_svc_is_param_locked(parent, env, param_name); } if (locked) { return AXIS2_TRUE; } param = axis2_op_get_param(op, env, param_name); return (param && AXIS2_TRUE == axutil_param_is_locked(param, env)); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_rest_http_method( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * rest_http_method) { AXIS2_PARAM_CHECK(env->error, rest_http_method, AXIS2_FAILURE); if (op->rest_http_method) { AXIS2_FREE(env->allocator, op->rest_http_method); } op->rest_http_method = NULL; if (rest_http_method) { op->rest_http_method = axutil_strdup(env, rest_http_method); return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_op_get_rest_http_method( const axis2_op_t * op, const axutil_env_t * env) { if (!op) { return NULL; } if (op->rest_http_method) { return op->rest_http_method; } else { axutil_param_t *param = NULL; param = axis2_op_get_param(op, env, AXIS2_DEFAULT_REST_HTTP_METHOD); if (!param) { return "POST"; /* Added hard-coded string to avoid inclusion of HTTP * Transport header */ } return (axis2_char_t *)axutil_param_get_value(param, env); } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_rest_http_location( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * rest_http_location) { axis2_char_t *opname = NULL; AXIS2_PARAM_CHECK(env->error, rest_http_location, AXIS2_FAILURE); opname = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); if (op->rest_http_location) { AXIS2_FREE(env->allocator, op->rest_http_location); } op->rest_http_location = NULL; if (rest_http_location) { op->rest_http_location = axutil_strdup(env, rest_http_location); return AXIS2_SUCCESS; } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting rest http location failed for operation %s", opname); return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_op_get_rest_http_location( const axis2_op_t * op, const axutil_env_t * env) { if (!op) { return NULL; } return op->rest_http_location; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_parent( axis2_op_t * op, const axutil_env_t * env, axis2_svc_t * svc) { AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE); if (op->parent) { op->parent = NULL; } op->parent = svc; if (svc) { axis2_desc_set_parent(op->base, env, axis2_svc_get_base(svc, env)); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_op_get_parent( const axis2_op_t * op, const axutil_env_t * env) { return op->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_msg_recv( axis2_op_t * op, const axutil_env_t * env, struct axis2_msg_recv * msg_recv) { AXIS2_PARAM_CHECK(env->error, msg_recv, AXIS2_FAILURE); if (op->msg_recv == msg_recv) { return AXIS2_SUCCESS; } if (op->msg_recv) { axis2_msg_recv_free(op->msg_recv, env); op->msg_recv = NULL; } op->msg_recv = msg_recv; return AXIS2_SUCCESS; } AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL axis2_op_get_msg_recv( const axis2_op_t * op, const axutil_env_t * env) { return op->msg_recv; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_qname( axis2_op_t * op, const axutil_env_t * env, const axutil_qname_t * qname) { if (op->qname) { axutil_qname_free(op->qname, env); op->qname = NULL; } if (qname) { op->qname = axutil_qname_clone((axutil_qname_t *) qname, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_op_get_qname( void *op, const axutil_env_t * env) { return ((axis2_op_t *) op)->qname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_msg_exchange_pattern( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * pattern) { AXIS2_PARAM_CHECK(env->error, pattern, AXIS2_FAILURE); if (op->msg_exchange_pattern) { AXIS2_FREE(env->allocator, op->msg_exchange_pattern); op->msg_exchange_pattern = NULL; } op->msg_exchange_pattern = axutil_strdup(env, pattern); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_op_get_msg_exchange_pattern( const axis2_op_t * op, const axutil_env_t * env) { return op->msg_exchange_pattern; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_op_get_style( const axis2_op_t * op, const axutil_env_t * env) { return op->style; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_style( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * style) { AXIS2_PARAM_CHECK(env->error, style, AXIS2_FAILURE); if (op->style) { AXIS2_FREE(env->allocator, op->style); op->style = NULL; } op->style = axutil_strdup(env, style); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_engage_module( axis2_op_t * op, const axutil_env_t * env, axis2_module_desc_t * moduleref, axis2_conf_t * conf) { int index = 0; int size = 0; axutil_array_list_t *collection_module = NULL; axis2_module_desc_t *module_desc = NULL; axis2_phase_resolver_t *pr = NULL; axis2_bool_t need_to_add = AXIS2_FALSE; axis2_char_t *opname = NULL; axis2_char_t *modname = NULL; AXIS2_PARAM_CHECK(env->error, moduleref, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); opname = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); collection_module = op->engaged_module_list; if (collection_module) { size = axutil_array_list_size(collection_module, env); } for (index = 0; index < size; index++) { const axutil_qname_t *qname1 = NULL; const axutil_qname_t *qname2 = NULL; module_desc = (axis2_module_desc_t *) axutil_array_list_get(collection_module, env, index); if (!module_desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Retrieving a module failed from operation %s engaged module"\ " list", opname); return AXIS2_FAILURE; } qname1 = axis2_module_desc_get_qname(module_desc, env); qname2 = axis2_module_desc_get_qname(moduleref, env); modname = axutil_qname_get_localpart(qname2, env); if (axutil_qname_equals(qname1, env, qname2)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module %s already engaged to operation %s", modname, opname); need_to_add = AXIS2_FALSE; return AXIS2_FAILURE; } } pr = axis2_phase_resolver_create_with_config(env, conf); if (pr) { axis2_module_t *module = NULL; axis2_status_t status = AXIS2_FAILURE; status = axis2_phase_resolver_engage_module_to_op(pr, env, op, moduleref); if (AXIS2_SUCCESS != status) { /* Ignore the status */ AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_SUCCESS); AXIS2_LOG_INFO(env->log, AXIS2_LOG_SI, "Engaging module %s to operaion %s failed. But ignore this.", modname, opname); } module = axis2_module_desc_get_module(moduleref, env); if (need_to_add) { axutil_array_list_add(collection_module, env, moduleref); } } else { return AXIS2_FAILURE; } axis2_phase_resolver_free(pr, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_to_engaged_module_list( axis2_op_t * op, const axutil_env_t * env, axis2_module_desc_t * module_desc) { axis2_module_desc_t *module_desc_l = NULL; int size = 0; int index = 0; const axutil_qname_t *module_qname = NULL; AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); if (!op->engaged_module_list) { op->engaged_module_list = axutil_array_list_create(env, 0); } size = axutil_array_list_size(op->engaged_module_list, env); module_qname = axis2_module_desc_get_qname(module_desc, env); for (index = 0; index < size; index++) { const axutil_qname_t *module_qname_l = NULL; module_desc_l = (axis2_module_desc_t *) axutil_array_list_get(op-> engaged_module_list, env, index); module_qname_l = axis2_module_desc_get_qname(module_desc_l, env); if (axutil_qname_equals(module_qname, env, module_qname_l)) { return AXIS2_SUCCESS; } } return axutil_array_list_add(op->engaged_module_list, env, module_desc); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_remove_from_engaged_module_list( axis2_op_t * op, const axutil_env_t * env, axis2_module_desc_t * module_desc) { axis2_module_desc_t *module_desc_l = NULL; int size = 0; int index = 0; const axutil_qname_t *module_qname = NULL; AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op->engaged_module_list, AXIS2_FAILURE); size = axutil_array_list_size(op->engaged_module_list, env); module_qname = axis2_module_desc_get_qname(module_desc, env); for (index = 0; index < size; index++) { const axutil_qname_t *module_qname_l = NULL; module_desc_l = (axis2_module_desc_t *) axutil_array_list_get(op-> engaged_module_list, env, index); module_qname_l = axis2_module_desc_get_qname(module_desc_l, env); if (axutil_qname_equals(module_qname, env, module_qname_l)) { axutil_array_list_remove(op->engaged_module_list, env, index); return AXIS2_SUCCESS; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_all_modules( const axis2_op_t * op, const axutil_env_t * env) { return op->engaged_module_list; } AXIS2_EXTERN int AXIS2_CALL axis2_op_get_axis_specific_mep_const( axis2_op_t * op, const axutil_env_t * env) { int temp = 0; axis2_char_t *opname = NULL; opname = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); if (op->mep != AXIS2_MEP_CONSTANT_INVALID) { return op->mep; } temp = AXIS2_MEP_CONSTANT_INVALID; if (axutil_strcmp(AXIS2_MEP_URI_IN_OUT, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_IN_OUT; } else if (axutil_strcmp(AXIS2_MEP_URI_IN_ONLY, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_IN_ONLY; } else if (axutil_strcmp(AXIS2_MEP_URI_IN_OPTIONAL_OUT, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_IN_OPTIONAL_OUT; } else if (axutil_strcmp(AXIS2_MEP_URI_OUT_IN, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_OUT_IN; } else if (axutil_strcmp(AXIS2_MEP_URI_OUT_ONLY, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_OUT_ONLY; } else if (axutil_strcmp(AXIS2_MEP_URI_OUT_OPTIONAL_IN, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_OUT_OPTIONAL_IN; } else if (axutil_strcmp(AXIS2_MEP_URI_ROBUST_IN_ONLY, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_ROBUST_IN_ONLY; } else if (axutil_strcmp(AXIS2_MEP_URI_ROBUST_OUT_ONLY, axis2_op_get_msg_exchange_pattern(op, env)) == 0) { temp = AXIS2_MEP_CONSTANT_ROBUST_OUT_ONLY; } if (temp == AXIS2_MEP_CONSTANT_INVALID) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not map the MEP URI %s to an Axis2/C MEP constant value "\ "in retrieving MEP for operation %s", axis2_op_get_msg_exchange_pattern(op, env), opname); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT, AXIS2_FAILURE); return AXIS2_FAILURE; } op->mep = temp; return op->mep; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_fault_in_flow( const axis2_op_t * op, const axutil_env_t * env) { if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_IN_FAULT); if (msg) { return axis2_msg_get_flow(msg, env); } } return NULL; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_fault_out_flow( const axis2_op_t * op, const axutil_env_t * env) { if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_OUT_FAULT); if (msg) { return axis2_msg_get_flow(msg, env); } } return NULL; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_out_flow( const axis2_op_t * op, const axutil_env_t * env) { if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_OUT); if (msg) { return axis2_msg_get_flow(msg, env); } } return NULL; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_in_flow( const axis2_op_t * op, const axutil_env_t * env) { if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_IN); if (msg) { return axis2_msg_get_flow(msg, env); } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_fault_in_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list) { AXIS2_PARAM_CHECK(env->error, list, AXIS2_FAILURE); if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_IN_FAULT); if (msg) { return axis2_msg_set_flow(msg, env, list); } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_fault_out_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list) { AXIS2_PARAM_CHECK(env->error, list, AXIS2_FAILURE); if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_OUT_FAULT); if (msg) { return axis2_msg_set_flow(msg, env, list); } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_out_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list) { AXIS2_PARAM_CHECK(env->error, list, AXIS2_FAILURE); if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_OUT); if (msg) { return axis2_msg_set_flow(msg, env, list); } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_in_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list) { AXIS2_PARAM_CHECK(env->error, list, AXIS2_FAILURE); if (op->base) { axis2_msg_t *msg = NULL; msg = axis2_desc_get_child(op->base, env, AXIS2_MSG_IN); if (msg) { return axis2_msg_set_flow(msg, env, list); } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_module_qname( axis2_op_t * op, const axutil_env_t * env, const axutil_qname_t * module_qname) { axutil_qname_t *module_qname_l = NULL; AXIS2_PARAM_CHECK(env->error, module_qname, AXIS2_FAILURE); module_qname_l = axutil_qname_clone((axutil_qname_t *) module_qname, env); return axutil_array_list_add(op->module_qnames, env, module_qname_l); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_all_module_qnames( const axis2_op_t * op, const axutil_env_t * env) { return op->module_qnames; } AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_op_find_op_ctx( axis2_op_t * op, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx, struct axis2_svc_ctx * svc_ctx) { axis2_op_ctx_t *op_ctx = NULL; axis2_relates_to_t *relates_to = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *opname = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); AXIS2_PARAM_CHECK(env->error, svc_ctx, NULL); opname = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); relates_to = axis2_msg_ctx_get_relates_to(msg_ctx, env); if (!relates_to) { op_ctx = axis2_op_ctx_create(env, op, svc_ctx); if (!op_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating operation context failed for operation %s", opname); return NULL; } } else { axis2_conf_ctx_t *conf_ctx = NULL; const axis2_char_t *value = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); value = axis2_relates_to_get_value(relates_to, env); op_ctx = axis2_conf_ctx_get_op_ctx(conf_ctx, env, value); if (!op_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot correlate message to %s for operation %s", value, opname); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CANNOT_CORRELATE_MSG, AXIS2_FAILURE); return NULL; } } status = axis2_op_register_op_ctx(op, env, msg_ctx, op_ctx); if (AXIS2_FAILURE == status) { axis2_op_ctx_free(op_ctx, env); return NULL; } else { return op_ctx; } } AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_op_find_existing_op_ctx( axis2_op_t * op, const axutil_env_t * env, const axis2_msg_ctx_t * msg_ctx) { axis2_op_ctx_t *op_ctx = NULL; axis2_relates_to_t *relates_to = NULL; axis2_char_t *opname = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, NULL); opname = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { return op_ctx; } relates_to = axis2_msg_ctx_get_relates_to(msg_ctx, env); if (!relates_to) { return NULL; } else { axis2_conf_ctx_t *conf_ctx = NULL; const axis2_char_t *value = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); value = axis2_relates_to_get_value(relates_to, env); op_ctx = axis2_conf_ctx_get_op_ctx(conf_ctx, env, value); if (!op_ctx) { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Cannot correlate message to %s for operation %s", value, opname); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CANNOT_CORRELATE_MSG, AXIS2_FAILURE); return NULL; } } return op_ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_register_op_ctx( axis2_op_t * op, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_op_ctx_t * op_ctx) { axis2_conf_ctx_t *conf_ctx = NULL; const axis2_char_t *msg_id = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *opname = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op_ctx, AXIS2_FAILURE); opname = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (!conf_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Configuration context not found for message context while "\ "registering operation context for operation %s", opname); return AXIS2_FAILURE; } status = axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_ctx); if (AXIS2_SUCCESS != status) { axutil_hash_t *op_ctx_map = NULL; msg_id = axis2_msg_ctx_get_msg_id(msg_ctx, env); if (msg_id) { op_ctx_map = (axutil_hash_t *) axis2_conf_ctx_get_op_ctx_map(conf_ctx, env); axutil_hash_set(op_ctx_map, msg_id, AXIS2_HASH_KEY_STRING, NULL); } else { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Message id not found for message context while registering operation context "\ "for operation %s. The reason could be that there is no addressing enabled for "\ "communication", opname); } } if (axis2_op_ctx_get_is_complete(op_ctx, env)) { axis2_op_ctx_cleanup(op_ctx, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_msg_ctx_in_only( axis2_op_t * op, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_op_ctx_t * op_ctx) { AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op_ctx, AXIS2_FAILURE); if (!axis2_op_ctx_get_is_complete(op_ctx, env)) { axis2_msg_ctx_t **msg_ctxs = NULL; msg_ctxs = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); msg_ctxs[AXIS2_WSDL_MESSAGE_LABEL_IN] = msg_ctx; axis2_op_ctx_set_complete(op_ctx, env, AXIS2_TRUE); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid message; adding operation context for the "\ "operation :%s is already completed", axutil_qname_get_localpart(axis2_op_get_qname(op, env), env)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MESSAGE_ADDITION, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_msg_ctx_out_only( axis2_op_t * op, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_op_ctx_t * op_ctx) { AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op_ctx, AXIS2_FAILURE); if (!axis2_op_ctx_get_is_complete(op_ctx, env)) { axis2_msg_ctx_t **msg_ctxs = NULL; msg_ctxs = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); msg_ctxs[AXIS2_WSDL_MESSAGE_LABEL_OUT] = msg_ctx; axis2_op_ctx_set_complete(op_ctx, env, AXIS2_TRUE); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid message; adding operation context for the "\ "operation :%s is already completed", axutil_qname_get_localpart(axis2_op_get_qname(op, env), env)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MESSAGE_ADDITION, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_msg_ctx_in_out( axis2_op_t * op, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_op_ctx_t * op_ctx) { axis2_msg_ctx_t **mep = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t *out_msg_ctx = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op_ctx, AXIS2_FAILURE); mep = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); in_msg_ctx = mep[AXIS2_WSDL_MESSAGE_LABEL_IN]; out_msg_ctx = mep[AXIS2_WSDL_MESSAGE_LABEL_OUT]; if (in_msg_ctx && out_msg_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid message; adding operation context for the "\ "operation :%s is invalid", axutil_qname_get_localpart(axis2_op_get_qname(op, env), env)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MESSAGE_ADDITION, AXIS2_FAILURE); return AXIS2_FAILURE; } if (!in_msg_ctx) { mep[AXIS2_WSDL_MESSAGE_LABEL_IN] = msg_ctx; } else { mep[AXIS2_WSDL_MESSAGE_LABEL_OUT] = msg_ctx; axis2_op_ctx_set_complete(op_ctx, env, AXIS2_TRUE); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_msg_ctx_out_in( axis2_op_t * op, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_op_ctx_t * op_ctx) { axis2_msg_ctx_t **mep = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axis2_msg_ctx_t *out_msg_ctx = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op_ctx, AXIS2_FAILURE); mep = axis2_op_ctx_get_msg_ctx_map(op_ctx, env); in_msg_ctx = mep[AXIS2_WSDL_MESSAGE_LABEL_IN]; out_msg_ctx = mep[AXIS2_WSDL_MESSAGE_LABEL_OUT]; if (in_msg_ctx && out_msg_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid message; adding operation context for the "\ "operation :%s is invalid", axutil_qname_get_localpart(axis2_op_get_qname(op, env), env)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MESSAGE_ADDITION, AXIS2_FAILURE); return AXIS2_FAILURE; } if (!out_msg_ctx) { mep[AXIS2_WSDL_MESSAGE_LABEL_OUT] = msg_ctx; } else { mep[AXIS2_WSDL_MESSAGE_LABEL_IN] = msg_ctx; axis2_op_ctx_set_complete(op_ctx, env, AXIS2_TRUE); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_t *AXIS2_CALL axis2_op_get_msg( const axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * label) { AXIS2_PARAM_CHECK(env->error, label, NULL); return (axis2_msg_t *) axis2_desc_get_child(op->base, env, label); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_msg( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * label, const axis2_msg_t * msg) { AXIS2_PARAM_CHECK(env->error, label, AXIS2_FAILURE); return axis2_desc_add_child(op->base, env, label, msg); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_is_from_module( const axis2_op_t * op, const axutil_env_t * env) { return op->from_module; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_wsamapping_list( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * mapping_list) { AXIS2_PARAM_CHECK(env->error, mapping_list, AXIS2_FAILURE); if (op->wsamapping_list) { int i = 0; int size = 0; size = axutil_array_list_size(op->wsamapping_list, env); for(i = 0; i < size; i++) { axis2_char_t *temp_str = axutil_array_list_get(op->wsamapping_list, env, i); if(temp_str) AXIS2_FREE(env->allocator, temp_str); } axutil_array_list_free(op->wsamapping_list, env); op->wsamapping_list = NULL; } op->wsamapping_list = mapping_list; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_wsamapping_list( axis2_op_t * op, const axutil_env_t * env) { return op->wsamapping_list; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_op_get_param_container( const axis2_op_t * op, const axutil_env_t * env) { return op->param_container; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_op_get_base( const axis2_op_t * op, const axutil_env_t * env) { return op->base; } axis2c-src-1.6.0/src/core/description/msg.c0000644000175000017500000002213111166304446021634 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_msg { /** parent operation */ axis2_op_t *parent; /** list of phases that represent the flow */ axutil_array_list_t *flow; /** name of the message */ axis2_char_t *name; /** XML schema element qname */ axutil_qname_t *element_qname; /** direction of message */ axis2_char_t *direction; /** parameter container to hold message parameters */ struct axutil_param_container *param_container; /** base description struct */ axis2_desc_t *base; /** reference count of this object*/ int ref; }; AXIS2_EXTERN axis2_msg_t *AXIS2_CALL axis2_msg_create( const axutil_env_t * env) { axis2_msg_t *msg = NULL; AXIS2_ENV_CHECK(env, NULL); msg = (axis2_msg_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_msg_t)); if (!msg) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } msg->param_container = NULL; msg->parent = NULL; msg->flow = NULL; msg->name = NULL; msg->element_qname = NULL; msg->direction = NULL; msg->base = NULL; msg->ref = 1; msg->param_container = (axutil_param_container_t *) axutil_param_container_create(env); if (!msg->param_container) { axis2_msg_free(msg, env); return NULL; } msg->flow = axutil_array_list_create(env, 0); if (!msg->flow) { axis2_msg_free(msg, env); return NULL; } msg->base = axis2_desc_create(env); if (!msg->base) { axis2_msg_free(msg, env); return NULL; } return msg; } AXIS2_EXTERN void AXIS2_CALL axis2_msg_free( axis2_msg_t * msg, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (--(msg->ref) > 0) { return; } if (msg->flow) { int i = 0, size = 0; size = axutil_array_list_size(msg->flow, env); for (i = 0; i < size; i++) { axis2_phase_t *phase = NULL; phase = axutil_array_list_get(msg->flow, env, i); if (phase) axis2_phase_free(phase, env); } axutil_array_list_free(msg->flow, env); } if (msg->name) { AXIS2_FREE(env->allocator, msg->name); } if (msg->element_qname) { axutil_qname_free(msg->element_qname, env); } if (msg->direction) { AXIS2_FREE(env->allocator, msg->direction); } if (msg->param_container) { axutil_param_container_free(msg->param_container, env); } if (msg->base) { axis2_desc_free(msg->base, env); } msg->parent = NULL; if (msg) { AXIS2_FREE(env->allocator, msg); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_add_param( axis2_msg_t * msg, const axutil_env_t * env, axutil_param_t * param) { axis2_char_t *param_name = NULL; AXIS2_ENV_CHECK(env, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, param, AXIS2_FALSE); param_name = axutil_param_get_name(param, env); if (AXIS2_TRUE == axis2_msg_is_param_locked(msg, env, param_name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); return AXIS2_FAILURE; } return axutil_param_container_add_param(msg->param_container, env, param); } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_msg_get_param( const axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * param_name) { AXIS2_PARAM_CHECK(env->error, param_name, NULL); return axutil_param_container_get_param(msg->param_container, env, param_name); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_get_all_params( const axis2_msg_t * msg, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, msg->param_container, AXIS2_FALSE); return axutil_param_container_get_params(msg->param_container, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_parent( axis2_msg_t * msg, const axutil_env_t * env, axis2_op_t * op) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); msg->parent = op; if (op) { axis2_desc_set_parent(msg->base, env, axis2_op_get_base(op, env)); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_msg_get_parent( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->parent; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_get_flow( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->flow; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_is_param_locked( axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * param_name) { axis2_op_t *parent_l = NULL; axutil_param_t *param_l = NULL; axis2_bool_t locked = AXIS2_FALSE; AXIS2_ENV_CHECK(env, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FALSE); /* checking the locked status in parent */ parent_l = axis2_msg_get_parent(msg, env); if (parent_l) { locked = axis2_op_is_param_locked(parent_l, env, param_name); } if (AXIS2_TRUE == locked) { return AXIS2_TRUE; } else { param_l = axis2_msg_get_param(msg, env, param_name); } return (param_l && axutil_param_is_locked(param_l, env)); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_flow( axis2_msg_t * msg, const axutil_env_t * env, axutil_array_list_t * flow) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (msg->flow) { axutil_array_list_free(msg->flow, env); msg->flow = NULL; } if (flow) { msg->flow = flow; } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_get_direction( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->direction; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_direction( axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * direction) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (msg->direction) { AXIS2_FREE(env->allocator, msg->direction); msg->direction = NULL; } if (direction) { msg->direction = axutil_strdup(env, direction); if (!(msg->direction)) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_msg_get_element_qname( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->element_qname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_element_qname( axis2_msg_t * msg, const axutil_env_t * env, const axutil_qname_t * element_qname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (msg->element_qname) { axutil_qname_free(msg->element_qname, env); msg->element_qname = NULL; } if (element_qname) { msg->element_qname = axutil_qname_clone((axutil_qname_t *) element_qname, env); if (!(msg->element_qname)) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_get_name( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_name( axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * name) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (msg->name) { AXIS2_FREE(env->allocator, msg->name); msg->name = NULL; } if (name) { msg->name = axutil_strdup(env, name); if (!(msg->name)) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_msg_get_base( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->base; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_msg_get_param_container( const axis2_msg_t * msg, const axutil_env_t * env) { return msg->param_container; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_increment_ref( axis2_msg_t * msg, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); msg->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/description/svc.c0000644000175000017500000012611111166304446021644 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include "../deployment/axis2_desc_builder.h" #include #include #include struct axis2_svc { axis2_svc_grp_t *parent; axis2_char_t *axis_svc_name; /** To keep last update time of the service */ long last_update; axis2_char_t *filename; /** To store module descriptions at deploy time parsing */ axutil_array_list_t *module_list; /** Service description */ axis2_char_t *svc_desc; /** wsdl file path */ axis2_char_t *wsdl_path; /** service folder path */ axis2_char_t *folder_path; /** * WSDL related stuff */ axutil_hash_t *ns_map; /* Count of the entries in the namespace map */ int ns_count; /* To keep the XML scheama either from WSDL or * C2WSDL(in the future) */ axutil_array_list_t *schema_list; /** * A table that keeps a mapping of unique XSD names (Strings) * against the schema objects. This is populated in the first * instance the schemas are asked for and then used to serve * the subsequent requests */ axutil_hash_t *schema_mapping_table; /** * This is where operations are kept */ axutil_hash_t *op_alias_map; /** * This is where action mappings are kept */ axutil_hash_t *op_action_map; /** * This is where REST mappings are kept */ axutil_hash_t *op_rest_map; /** * Keeps track whether the schema locations are adjusted */ axis2_bool_t schema_loc_adjusted; /** * A custom schema name prefix. if set this will be used to * modify the schema names */ axis2_char_t *custom_schema_name_prefix; /** * A custom schema name suffix. will be attached to the * schema file name when the files are uniquely named. * A good place to add a file extension if needed */ axis2_char_t *custom_schema_name_suffix; /* To store the target namespace for the schema */ axis2_char_t *schema_target_ns; axis2_char_t *schema_target_ns_prefix; /* To keep the service target name space */ axis2_char_t *target_ns; axis2_char_t *target_ns_prefix; /* Used for schema name calculations */ int sc_calc_count; void *impl_class; axutil_qname_t *qname; axis2_char_t *style; axutil_array_list_t *engaged_module_list; /** Parameter container to hold service related parameters */ struct axutil_param_container *param_container; /** Flow container that encapsulates the flow related data */ struct axis2_flow_container *flow_container; /** Base description struct */ axis2_desc_t *base; /* Mutex to avoid loading the same service dll twice */ axutil_thread_mutex_t *mutex; }; AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_create( const axutil_env_t * env) { axis2_svc_t *svc = NULL; svc = (axis2_svc_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_t)); if (!svc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } svc->parent = NULL; svc->axis_svc_name = NULL; svc->filename = NULL; svc->svc_desc = NULL; svc->wsdl_path = NULL; svc->folder_path = NULL; svc->last_update = 0; svc->param_container = NULL; svc->flow_container = NULL; svc->op_alias_map = NULL; svc->op_action_map = NULL; svc->op_rest_map = NULL; svc->module_list = NULL; svc->ns_map = NULL; svc->ns_count = 0; svc->schema_list = NULL; svc->schema_mapping_table = NULL; svc->schema_loc_adjusted = AXIS2_FALSE; svc->custom_schema_name_prefix = NULL; svc->custom_schema_name_suffix = NULL; svc->schema_target_ns = NULL; svc->schema_target_ns_prefix = NULL; svc->target_ns = NULL; svc->target_ns_prefix = NULL; svc->sc_calc_count = 0; svc->impl_class = NULL; svc->qname = NULL; svc->style = NULL; svc->base = NULL; svc->param_container = axutil_param_container_create(env); if (!svc->param_container) { axis2_svc_free(svc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service param container creation failed"); return NULL; } svc->flow_container = axis2_flow_container_create(env); if (!svc->flow_container) { axis2_svc_free(svc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service flow container creation failed"); return NULL; } svc->op_alias_map = axutil_hash_make(env); if (!svc->op_alias_map) { axis2_svc_free(svc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service operation alias map creation failed"); return NULL; } svc->op_action_map = axutil_hash_make(env); if (!svc->op_action_map) { axis2_svc_free(svc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service operation action map creation failed"); return NULL; } svc->op_rest_map = axutil_hash_make(env); if (!svc->op_rest_map) { axis2_svc_free(svc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service operation rest map creation failed"); return NULL; } /** Create module list of default size */ svc->module_list = axutil_array_list_create(env, 0); if (!svc->module_list) { axis2_svc_free(svc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service module list creation failed"); return NULL; } svc->schema_list = axutil_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY); if (!svc->schema_list) { axis2_svc_free(svc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service schema list creation failed"); return NULL; } svc->engaged_module_list = axutil_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY); if (!svc->engaged_module_list) { axis2_svc_free(svc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service engaged modules list creation failed"); return NULL; } svc->schema_loc_adjusted = AXIS2_FALSE; if (svc->schema_target_ns_prefix) { AXIS2_FREE(env->allocator, svc->schema_target_ns_prefix); svc->schema_target_ns_prefix = NULL; } svc->schema_target_ns_prefix = axutil_strdup(env, "ns"); if (svc->target_ns) { AXIS2_FREE(env->allocator, svc->target_ns); svc->target_ns = NULL; } svc->target_ns = axutil_strdup(env, "http://ws.apache.org/axis2"); if (svc->target_ns_prefix) { AXIS2_FREE(env->allocator, svc->target_ns_prefix); svc->target_ns_prefix = NULL; } svc->target_ns_prefix = axutil_strdup(env, "tns"); svc->sc_calc_count = 0; svc->base = axis2_desc_create(env); if (!svc->base) { axis2_svc_free(svc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service base creation failed"); return NULL; } svc->mutex = axutil_thread_mutex_create(env->allocator, AXIS2_THREAD_MUTEX_DEFAULT); if (!svc->mutex) { axis2_svc_free(svc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service mutex creation failed"); return NULL; } return svc; } AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_create_with_qname( const axutil_env_t * env, const axutil_qname_t * qname) { axis2_svc_t *svc = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, qname, NULL); svc = axis2_svc_create(env); if (!svc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service creation failed for name %s", axutil_qname_get_localpart(qname, env)); return NULL; } status = axis2_svc_set_qname(svc, env, qname); if (AXIS2_FAILURE == status) { axis2_svc_free(svc, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name %s to service failed", axutil_qname_get_localpart(qname, env)); return NULL; } return svc; } AXIS2_EXTERN void AXIS2_CALL axis2_svc_free( axis2_svc_t * svc, const axutil_env_t * env) { if (svc->impl_class) { AXIS2_SVC_SKELETON_FREE((axis2_svc_skeleton_t *) svc->impl_class, env); } if (svc->param_container) { axutil_param_container_free(svc->param_container, env); } if (svc->flow_container) { axis2_flow_container_free(svc->flow_container, env); } if (svc->filename) { AXIS2_FREE(env->allocator, svc->filename); svc->filename = NULL; } if (svc->svc_desc) { AXIS2_FREE(env->allocator, svc->svc_desc); svc->svc_desc = NULL; } svc->parent = NULL; if (svc->module_list) { int i = 0; int size = 0; size = axutil_array_list_size(svc->module_list, env); for (i = 0; i < size; i++) { axutil_qname_t *qname = NULL; qname = axutil_array_list_get(svc->module_list, env, i); if (qname) { axutil_qname_free(qname, env); } } axutil_array_list_free(svc->module_list, env); } if (svc->schema_list) { axutil_array_list_free(svc->schema_list, env); } if (svc->engaged_module_list) { axutil_array_list_free(svc->engaged_module_list, env); } if (svc->axis_svc_name) { AXIS2_FREE(env->allocator, svc->axis_svc_name); svc->axis_svc_name = NULL; } if (svc->op_alias_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(svc->op_alias_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { if (axis2_op_is_from_module((axis2_op_t *) val, env) == AXIS2_FALSE) { axis2_op_free((axis2_op_t *) val, env); } val = NULL; } } axutil_hash_free(svc->op_alias_map, env); } if (svc->op_action_map) { axutil_hash_index_t *hi = NULL; const void *key = NULL; for (hi = axutil_hash_first(svc->op_action_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, NULL); if (key) { AXIS2_FREE(env->allocator, (axis2_char_t *) key); key = NULL; } } axutil_hash_free(svc->op_action_map, env); } if (svc->op_rest_map) { axis2_core_utils_free_rest_map(env, svc->op_rest_map); } if (svc->schema_target_ns_prefix) { AXIS2_FREE(env->allocator, svc->schema_target_ns_prefix); svc->schema_target_ns_prefix = NULL; } if (svc->target_ns) { AXIS2_FREE(env->allocator, svc->target_ns); svc->target_ns = NULL; } if (svc->wsdl_path) { AXIS2_FREE(env->allocator, svc->wsdl_path); svc->wsdl_path = NULL; } if (svc->folder_path) { AXIS2_FREE(env->allocator, svc->folder_path); svc->folder_path = NULL; } if (svc->target_ns_prefix) { AXIS2_FREE(env->allocator, svc->target_ns_prefix); svc->target_ns_prefix = NULL; } if (svc->qname) { axutil_qname_free(svc->qname, env); } if (svc->style) { AXIS2_FREE(env->allocator, svc->style); } if (svc->base) { axis2_desc_free(svc->base, env); } if (svc->mutex) { axutil_thread_mutex_destroy(svc->mutex); } if (svc) { AXIS2_FREE(env->allocator, svc); svc = NULL; } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_op( axis2_svc_t * svc, const axutil_env_t * env, axis2_op_t * op) { axis2_status_t status = AXIS2_FAILURE; axis2_msg_recv_t *msg_recv = NULL; const axutil_qname_t *qname = NULL; axis2_char_t *key = NULL; const axis2_char_t *svcname = NULL; axutil_array_list_t *mappings_list = NULL; int size = 0; int j = 0; AXIS2_PARAM_CHECK(env->error, op, AXIS2_FAILURE); svcname = axis2_svc_get_name(svc, env); qname = axis2_op_get_qname(op, env); if (qname) key = axutil_qname_get_localpart(qname, env); mappings_list = axis2_op_get_wsamapping_list(op, env); /* Adding action mappings into service */ if (mappings_list) size = axutil_array_list_size(mappings_list, env); for (j = 0; j < size; j++) { axis2_char_t *mapping = NULL; mapping = (axis2_char_t *) axutil_array_list_get(mappings_list, env, j); status = axis2_svc_add_mapping(svc, env, mapping, op); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding operation %s to service %s mapping list failed", svcname, key); return status; } } status = axis2_op_set_parent(op, env, svc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting service %s as operation %s parent failed", svcname, key); return status; } msg_recv = axis2_op_get_msg_recv(op, env); if (msg_recv == NULL) { msg_recv = axis2_desc_builder_load_default_msg_recv(env); axis2_op_set_msg_recv(op, env, msg_recv); } if (key) { /* If service defines the operation, then we should not override with module level * operation. Module operations are global. If any setting to be modified, those operations * can be defined in service */ if(!axutil_hash_get(svc->op_alias_map, key, AXIS2_HASH_KEY_STRING)) { axutil_hash_set(svc->op_alias_map, key, AXIS2_HASH_KEY_STRING, op); } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_svc_get_op_with_qname( const axis2_svc_t * svc, const axutil_env_t * env, const axutil_qname_t * op_qname) { axis2_op_t *op = NULL; axis2_char_t *nc_name = NULL; axis2_char_t *nc_tmp = NULL; /* This is just for the sake of comparison, * and must not be used to change the passed value */ axis2_bool_t is_matched = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, op_qname, NULL); nc_name = axutil_qname_get_localpart(op_qname, env); nc_tmp = nc_name; op = axutil_hash_get(svc->op_alias_map, nc_tmp, AXIS2_HASH_KEY_STRING); if (op) { return op; } op = axutil_hash_get(svc->op_action_map, nc_tmp, AXIS2_HASH_KEY_STRING); if (op) { return op; } if (*nc_tmp && svc->op_action_map) { axutil_hash_index_t *hi = NULL; const void *key = NULL; for (hi = axutil_hash_first(svc->op_action_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, NULL); nc_tmp = nc_name; if (key) { axis2_char_t *search = NULL; axis2_bool_t match_start = AXIS2_TRUE; axis2_char_t *search_tmp = NULL; search = (axis2_char_t *)key; if (!axutil_strchr(search, '*')) { if (axutil_strstr(nc_tmp, search)) { axis2_char_t *comp_tmp = NULL; comp_tmp = axutil_strstr(nc_tmp, search); if (strlen(comp_tmp) == strlen (search)) { nc_tmp = (axis2_char_t *)key; is_matched = AXIS2_TRUE; break; } } continue; } if (search[0] == '*') { search++; if (!*search) { nc_tmp = (axis2_char_t *)key; is_matched = AXIS2_TRUE; break; } else if (axutil_strchr(search, '*')) { continue; } match_start = AXIS2_FALSE; } while (search && *search) { int length = 0; axis2_char_t *loc_tmp = NULL; if (search_tmp) { AXIS2_FREE(env->allocator, search_tmp); search_tmp = NULL; } loc_tmp = axutil_strchr(search, '*'); if (loc_tmp && *loc_tmp) { if (!loc_tmp[1]) { is_matched = AXIS2_TRUE; break; } length = (int)(loc_tmp - search); /* We are sure that the difference lies within the int range */ search_tmp = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * (length + 1))); strncpy(search_tmp, search, length); search_tmp[length] = '\0'; } else if (axutil_strstr(nc_tmp, search)) { axis2_char_t *comp_tmp = NULL; comp_tmp = axutil_strstr(nc_tmp, search); if (strlen(comp_tmp) == strlen (search)) { nc_tmp = (axis2_char_t *)key; is_matched = AXIS2_TRUE; break; } break; } else { break; } if (search_tmp && axutil_strstr(nc_tmp, search_tmp)) { if (match_start && !(axutil_strncmp(nc_tmp, search, length) == 0)) { break; } else if (!match_start) { match_start = AXIS2_TRUE; } } else { break; } search += axutil_strlen(search_tmp) + 1; nc_tmp = axutil_strstr(nc_tmp, search_tmp) + axutil_strlen(search_tmp); } if (search_tmp) { AXIS2_FREE(env->allocator, search_tmp); search_tmp = NULL; } if (is_matched || !*search) { nc_tmp = (axis2_char_t *)key; is_matched = AXIS2_TRUE; break; } } } } if (!is_matched) { nc_tmp = nc_name; } op = axutil_hash_get(svc->op_alias_map, nc_tmp, AXIS2_HASH_KEY_STRING); if (op) { return op; } return (axis2_op_t *)axutil_hash_get(svc->op_action_map, nc_tmp, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_rest_op_list_with_method_and_location( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * method, const axis2_char_t * location) { axutil_array_list_t *op_list = NULL; axis2_char_t *key = NULL; axis2_char_t *loc_str = NULL; axis2_char_t *loc_str_tmp = NULL; axis2_char_t *rindex = NULL; int plen; AXIS2_PARAM_CHECK(env->error, method, NULL); AXIS2_PARAM_CHECK(env->error, location, NULL); loc_str_tmp = (axis2_char_t *) location; /* Casted to facilitate loop */ if (loc_str_tmp[1] == '/') { loc_str_tmp++; } /* ignore any '/' at the beginning */ if (strchr(loc_str_tmp, '?')) { axis2_char_t *temp = NULL; temp = strchr(loc_str_tmp, '?'); temp[0] = '\0'; } /* ignore block after '?' */ do { axis2_char_t *temp = NULL; temp = strchr(loc_str_tmp, '{'); if (temp) { loc_str_tmp = temp; } else { loc_str_tmp += strlen(loc_str_tmp); break; } } while (loc_str_tmp[1] && loc_str_tmp[1] == '{'); loc_str = (axis2_char_t *) axutil_strmemdup(location, (loc_str_tmp - location), env); rindex = axutil_rindex(loc_str, '/'); if (rindex && *rindex) { loc_str_tmp = axutil_string_substring_ending_at(loc_str, (int)(rindex - loc_str)); /* We are sure that the difference lies within the int range */ } else { loc_str_tmp = loc_str; } plen = axutil_strlen (method) + axutil_strlen (loc_str_tmp) + 2; key = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * plen)); sprintf (key, "%s:%s", method, loc_str_tmp); AXIS2_FREE (env->allocator, loc_str); op_list = (axutil_array_list_t *) axutil_hash_get(svc->op_rest_map, key, AXIS2_HASH_KEY_STRING); AXIS2_FREE (env->allocator, key); return op_list; } AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_svc_get_op_with_name( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * nc_name) { AXIS2_PARAM_CHECK(env->error, nc_name, NULL); return (axis2_op_t *) axutil_hash_get(svc->op_alias_map, nc_name, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_get_all_ops( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->op_alias_map; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_parent( axis2_svc_t * svc, const axutil_env_t * env, axis2_svc_grp_t * svc_grp) { AXIS2_PARAM_CHECK(env->error, svc_grp, AXIS2_FAILURE); svc->parent = svc_grp; if (svc_grp) { axis2_desc_set_parent(svc->base, env, axis2_svc_grp_get_base(svc_grp, env)); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_svc_get_parent( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_qname( axis2_svc_t * svc, const axutil_env_t * env, const axutil_qname_t * qname) { AXIS2_PARAM_CHECK(env->error, qname, AXIS2_FAILURE); if (svc->qname) { axutil_qname_free(svc->qname, env); } if (qname) { svc->qname = axutil_qname_clone((axutil_qname_t *) qname, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_svc_get_qname( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->qname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_param( axis2_svc_t * svc, const axutil_env_t * env, axutil_param_t * param) { axis2_char_t *paramname = NULL; const axis2_char_t *svcname = axis2_svc_get_name(svc, env); AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); paramname = axutil_param_get_name(param, env); if (axis2_svc_is_param_locked(svc, env, axutil_param_get_name(param, env))) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter %s is locked for service %s", paramname, svcname); return AXIS2_FAILURE; } return axutil_param_container_add_param(svc->param_container, env, param); } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_svc_get_param( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * name) { axutil_param_t *param = NULL; AXIS2_PARAM_CHECK(env->error, name, NULL); param = axutil_param_container_get_param(svc->param_container, env, name); if (!param && svc->parent) { param = axis2_svc_grp_get_param(svc->parent, env, name); } return param; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_all_params( const axis2_svc_t * svc, const axutil_env_t * env) { return axutil_param_container_get_params(svc->param_container, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_is_param_locked( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * param_name) { axis2_bool_t locked = AXIS2_FALSE; axutil_param_t *param = NULL; axis2_svc_grp_t *parent = NULL; axis2_bool_t ret = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FALSE); /* Checking the locked value of parent */ parent = axis2_svc_get_parent(svc, env); if (parent) locked = axis2_svc_grp_is_param_locked(parent, env, param_name); if (parent && locked) { return AXIS2_TRUE; } param = axis2_svc_get_param(svc, env, param_name); if (param) { ret = axutil_param_is_locked(param, env); } return ret; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_engage_module( axis2_svc_t * svc, const axutil_env_t * env, axis2_module_desc_t * module_desc, axis2_conf_t * conf) { axis2_phase_resolver_t *phase_resolver = NULL; axis2_status_t status = AXIS2_FAILURE; const axis2_char_t *svcname = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_svc_engage_module"); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); svcname = axis2_svc_get_name(svc, env); phase_resolver = axis2_phase_resolver_create_with_config(env, conf); if (!phase_resolver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase resolver failed for service %s", svcname); return AXIS2_FAILURE; } status = axis2_phase_resolver_engage_module_to_svc(phase_resolver, env, svc, module_desc); if (status) { const axutil_qname_t *qname = NULL; status = axutil_array_list_add(svc->engaged_module_list, env, module_desc); qname = axis2_module_desc_get_qname(module_desc, env); axis2_svc_add_module_qname(svc, env, qname); } if (phase_resolver) { axis2_phase_resolver_free(phase_resolver, env); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_svc_engage_module"); return status; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_is_module_engaged( axis2_svc_t * svc, const axutil_env_t * env, axutil_qname_t * module_qname) { int i = 0, size = 0; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_svc_is_module_engaged"); size = axutil_array_list_size(svc->engaged_module_list, env); for (i = 0; i < size; i++) { const axutil_qname_t *module_qname_l = NULL; axis2_module_desc_t *module_desc_l = NULL; module_desc_l = (axis2_module_desc_t *) axutil_array_list_get(svc->engaged_module_list, env, i); module_qname_l = axis2_module_desc_get_qname(module_desc_l, env); if (axutil_qname_equals(module_qname, env, module_qname_l)) { return AXIS2_TRUE; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_svc_is_module_engaged"); return AXIS2_FALSE; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_engaged_module_list( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->engaged_module_list; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_disengage_module( axis2_svc_t * svc, const axutil_env_t * env, axis2_module_desc_t * module_desc, axis2_conf_t * conf) { axis2_phase_resolver_t *phase_resolver = NULL; axis2_status_t status = AXIS2_FAILURE; const axis2_char_t *svcname = NULL; AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); svcname = axis2_svc_get_name(svc, env); phase_resolver = axis2_phase_resolver_create_with_config(env, conf); if (!phase_resolver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase resolver failed for service %s", svcname); return AXIS2_FAILURE; } status = axis2_phase_resolver_disengage_module_from_svc(phase_resolver, env, svc, module_desc); axis2_phase_resolver_free(phase_resolver, env); return status; } /** * Here we extract all operations defined in module.xml and built execution * chains for them by calling axis2_phase_resolver_build_execution_chains_for_module_op() * function. Within that function handlers of the modules defined for that * operation are added to module operation chains appropriately. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_module_ops( axis2_svc_t * svc, const axutil_env_t * env, axis2_module_desc_t * module_desc, axis2_conf_t * conf) { axutil_hash_t *map = NULL; axutil_hash_index_t *index = NULL; axis2_phase_resolver_t *phase_resolver = NULL; axis2_op_t *op_desc = NULL; axis2_status_t status = AXIS2_FAILURE; const axis2_char_t *svcname = NULL; axis2_char_t *modname = NULL; axis2_char_t *opname = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_svc_add_module_ops"); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); svcname = axis2_svc_get_name(svc, env); modname = axutil_qname_get_localpart(axis2_module_desc_get_qname(module_desc, env), env); map = axis2_module_desc_get_all_ops(module_desc, env); phase_resolver = axis2_phase_resolver_create_with_config_and_svc(env, conf, svc); if (!phase_resolver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase resolver failed for service %s", svcname); return AXIS2_FAILURE; } for (index = axutil_hash_first(map, env); index; index = axutil_hash_next(env, index)) { void *v = NULL; axutil_hash_this(index, NULL, NULL, &v); op_desc = (axis2_op_t *) v; opname = axutil_qname_get_localpart(axis2_op_get_qname(op_desc, env), env); status = axis2_phase_resolver_build_execution_chains_for_module_op(phase_resolver, env, op_desc); if (AXIS2_SUCCESS != status) { if (phase_resolver) { axis2_phase_resolver_free(phase_resolver, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Builidng module operation %s failed for module %s", opname, modname); return status; } status = axis2_svc_add_op(svc, env, op_desc); if (AXIS2_SUCCESS != status) { if (phase_resolver) { axis2_phase_resolver_free(phase_resolver, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding operation %s to service %s failed", opname, svcname); return status; } } if (phase_resolver) { axis2_phase_resolver_free(phase_resolver, env); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_svc_add_module_ops"); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_name( const axis2_svc_t * svc, const axutil_env_t * env) { if (svc->qname) { return axutil_qname_get_localpart(svc->qname, env); } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_name( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * axis_svc_name) { AXIS2_PARAM_CHECK(env->error, axis_svc_name, AXIS2_FAILURE); if (svc->axis_svc_name) { AXIS2_FREE(env->allocator, svc->axis_svc_name); svc->axis_svc_name = NULL; } svc->axis_svc_name = axutil_strdup(env, axis_svc_name); if (!svc->axis_svc_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_last_update( axis2_svc_t * svc, const axutil_env_t * env) { return AXIS2_SUCCESS; } AXIS2_EXTERN long AXIS2_CALL axis2_svc_get_last_update( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->last_update; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_file_name( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->filename; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_file_name( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * filename) { AXIS2_PARAM_CHECK(env->error, filename, AXIS2_FAILURE); if (svc->filename) { AXIS2_FREE(env->allocator, svc->filename); svc->filename = NULL; } svc->filename = (axis2_char_t *) axutil_strdup(env, filename); if (!svc->filename) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_svc_desc( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->svc_desc; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_svc_desc( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * svc_desc) { AXIS2_PARAM_CHECK(env->error, svc_desc, AXIS2_FAILURE); if (svc->svc_desc) { AXIS2_FREE(env->allocator, svc->svc_desc); svc->svc_desc = NULL; } svc->svc_desc = (axis2_char_t *) axutil_strdup(env, svc_desc); if (!svc->svc_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_mapping( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * mapping_key, axis2_op_t * op_desc) { AXIS2_PARAM_CHECK(env->error, mapping_key, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op_desc, AXIS2_FAILURE); axutil_hash_set(svc->op_action_map, axutil_strdup(env, mapping_key), AXIS2_HASH_KEY_STRING, op_desc); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_rest_mapping( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * method, const axis2_char_t * location, axis2_op_t * op_desc) { axis2_char_t *mapping_url = NULL; int key_len = 0; axis2_char_t* question_char = NULL; axis2_char_t* local_location_str = NULL; axis2_status_t status = AXIS2_SUCCESS; local_location_str = (axis2_char_t *) location; /* Casted to facilitate loop */ /* skip the beginning '/' */ if(*local_location_str == '/') { local_location_str ++; } question_char = axutil_strchr(local_location_str, '?'); if(question_char) { *question_char = '\0'; } key_len = axutil_strlen(method) + axutil_strlen(local_location_str) + 2; mapping_url = (axis2_char_t *) (AXIS2_MALLOC (env->allocator, sizeof (axis2_char_t) * key_len)); if(!mapping_url) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the rest mapping url"); return AXIS2_FAILURE; } sprintf(mapping_url, "%s:%s", method, local_location_str); status = axis2_core_utils_prepare_rest_mapping(env, mapping_url, svc->op_rest_map, op_desc); if(mapping_url) { AXIS2_FREE(env->allocator, mapping_url); } /* restore the question character */ if(question_char) { *question_char = '?'; } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_module_qname( axis2_svc_t * svc, const axutil_env_t * env, const axutil_qname_t * module_qname) { axutil_qname_t *qmodule_qname_l = NULL; AXIS2_PARAM_CHECK(env->error, module_qname, AXIS2_FAILURE); qmodule_qname_l = axutil_qname_clone((axutil_qname_t *) module_qname, env); return axutil_array_list_add(svc->module_list, env, qmodule_qname_l); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_all_module_qnames( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->module_list; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_target_ns( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->target_ns; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_target_ns( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * ns) { AXIS2_PARAM_CHECK(env->error, ns, AXIS2_FAILURE); if (svc->target_ns) { AXIS2_FREE(env->allocator, svc->target_ns); svc->target_ns = NULL; } svc->target_ns = axutil_strdup(env, ns); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_target_ns_prefix( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->target_ns_prefix; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_target_ns_prefix( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * prefix) { AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); if (svc->target_ns_prefix) { AXIS2_FREE(env->allocator, svc->target_ns_prefix); svc->target_ns_prefix = NULL; } svc->target_ns_prefix = axutil_strdup(env, prefix); return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_get_ns_map( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->ns_map; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_ns_map( axis2_svc_t * svc, const axutil_env_t * env, axutil_hash_t * ns_map) { axutil_hash_index_t *hi = NULL; AXIS2_PARAM_CHECK(env->error, ns_map, AXIS2_FAILURE); if (svc->ns_map) { for (hi = axutil_hash_first(svc->ns_map, env); hi; hi = axutil_hash_next(env, hi)) { void *value = NULL; void *key = NULL; axutil_hash_this(hi, (const void **) &key, NULL, (void **) &value); if (key) { AXIS2_FREE(env->allocator, key); key = NULL; } if (value) { AXIS2_FREE(env->allocator, value); value = NULL; } } axutil_hash_free(svc->ns_map, env); } svc->ns_map = ns_map; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_swap_mapping_table( axis2_svc_t * svc, const axutil_env_t * env, axutil_hash_t * orig_table) { axutil_hash_t *new_table = NULL; axutil_hash_index_t *hi = NULL; AXIS2_PARAM_CHECK(env->error, orig_table, NULL); new_table = axutil_hash_make(env); for (hi = axutil_hash_first(orig_table, env); env; hi = axutil_hash_next(env, hi)) { void *value = NULL; void *key = NULL; axutil_hash_this(hi, (const void **) &key, NULL, (void **) &value); axutil_hash_set(new_table, value, AXIS2_HASH_KEY_STRING, key); } return new_table; } AXIS2_EXTERN void *AXIS2_CALL axis2_svc_get_impl_class( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->impl_class; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_impl_class( axis2_svc_t * svc, const axutil_env_t * env, void *impl_class) { svc->impl_class = impl_class; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_svc_get_param_container( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->param_container; } AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL axis2_svc_get_flow_container( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->flow_container; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_svc_wsdl_path( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->wsdl_path; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_svc_wsdl_path( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * wsdl_path) { AXIS2_PARAM_CHECK(env->error, wsdl_path, AXIS2_FAILURE); svc->wsdl_path = (axis2_char_t *) axutil_strdup(env, wsdl_path); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_svc_folder_path( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->folder_path; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_svc_folder_path( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * folder_path) { AXIS2_PARAM_CHECK(env->error, folder_path, AXIS2_FAILURE); svc->folder_path = (axis2_char_t *) axutil_strdup(env, folder_path); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_svc_get_base( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->base; } AXIS2_EXTERN axutil_thread_mutex_t * AXIS2_CALL axis2_svc_get_mutex( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->mutex; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_get_rest_map( const axis2_svc_t * svc, const axutil_env_t * env) { return svc->op_rest_map; } axis2c-src-1.6.0/src/core/description/transport_out_desc.c0000644000175000017500000002052411166304446024773 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axis2_transport_out_desc { axis2_flow_t *out_flow; axis2_flow_t *fault_out_flow; AXIS2_TRANSPORT_ENUMS trans_enum; axis2_transport_sender_t *sender; axis2_phase_t *out_phase; axis2_phase_t *fault_phase; /** parameter container that holds parameter */ axutil_param_container_t *param_container; }; AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_transport_out_desc_create( const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum) { axis2_transport_out_desc_t *transport_out = NULL; transport_out = (axis2_transport_out_desc_t *) AXIS2_MALLOC(env-> allocator, sizeof (axis2_transport_out_desc_t)); if (!transport_out) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } transport_out->trans_enum = trans_enum; transport_out->out_phase = NULL; transport_out->fault_phase = NULL; transport_out->out_flow = NULL; transport_out->fault_out_flow = NULL; transport_out->sender = NULL; transport_out->param_container = NULL; transport_out->param_container = axutil_param_container_create(env); if (!transport_out->param_container) { axis2_transport_out_desc_free(transport_out, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return transport_out; } void AXIS2_CALL axis2_transport_out_desc_free( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { if (transport_out->sender) { AXIS2_TRANSPORT_SENDER_FREE(transport_out->sender, env); } if (transport_out->param_container) { axutil_param_container_free(transport_out->param_container, env); } if (transport_out->out_flow) { axis2_flow_free(transport_out->out_flow, env); } if (transport_out->fault_out_flow) { axis2_flow_free(transport_out->fault_out_flow, env); } if (transport_out->out_phase) { axis2_phase_free(transport_out->out_phase, env); } if (transport_out->fault_phase) { axis2_phase_free(transport_out->fault_phase, env); } AXIS2_FREE(env->allocator, transport_out); return; } void AXIS2_CALL axis2_transport_out_desc_free_void_arg( void *transport_out, const axutil_env_t * env) { axis2_transport_out_desc_t *transport_out_l = NULL; transport_out_l = (axis2_transport_out_desc_t *) transport_out; axis2_transport_out_desc_free(transport_out_l, env); return; } AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_transport_out_desc_get_enum( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { return transport_out->trans_enum; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_enum( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum) { transport_out->trans_enum = trans_enum; return AXIS2_SUCCESS; } axis2_flow_t *AXIS2_CALL axis2_transport_out_desc_get_out_flow( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { return transport_out->out_flow; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_out_flow( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env, axis2_flow_t * out_flow) { AXIS2_PARAM_CHECK(env->error, out_flow, AXIS2_FAILURE); if (transport_out->out_flow) { axis2_flow_free(transport_out->out_flow, env); } transport_out->out_flow = out_flow; return AXIS2_SUCCESS; } axis2_flow_t *AXIS2_CALL axis2_transport_out_desc_get_fault_out_flow( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { return transport_out->fault_out_flow; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_fault_out_flow( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env, axis2_flow_t * fault_out_flow) { AXIS2_PARAM_CHECK(env->error, fault_out_flow, AXIS2_FAILURE); if (transport_out->fault_out_flow) { axis2_flow_free(transport_out->fault_out_flow, env); } transport_out->fault_out_flow = fault_out_flow; return AXIS2_SUCCESS; } axis2_transport_sender_t *AXIS2_CALL axis2_transport_out_desc_get_sender( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { return transport_out->sender; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_sender( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env, axis2_transport_sender_t * sender) { AXIS2_PARAM_CHECK(env->error, sender, AXIS2_FAILURE); if (transport_out->sender) { AXIS2_TRANSPORT_SENDER_FREE(transport_out->sender, env); } transport_out->sender = sender; return AXIS2_SUCCESS; } axis2_phase_t *AXIS2_CALL axis2_transport_out_desc_get_out_phase( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { return transport_out->out_phase; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_out_phase( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env, axis2_phase_t * out_phase) { AXIS2_PARAM_CHECK(env->error, out_phase, AXIS2_FAILURE); if (transport_out->out_phase) { axis2_phase_free(transport_out->out_phase, env); } transport_out->out_phase = out_phase; return AXIS2_SUCCESS; } axis2_phase_t *AXIS2_CALL axis2_transport_out_desc_get_fault_phase( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env) { return transport_out->fault_phase; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_fault_phase( axis2_transport_out_desc_t * transport_out, const axutil_env_t * env, axis2_phase_t * fault_phase) { AXIS2_PARAM_CHECK(env->error, fault_phase, AXIS2_FAILURE); if (transport_out->fault_phase) { axis2_phase_free(transport_out->fault_phase, env); } transport_out->fault_phase = fault_phase; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_transport_out_desc_add_param( axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env, axutil_param_t * param) { AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); return axutil_param_container_add_param(transport_out_desc-> param_container, env, param); } axutil_param_t *AXIS2_CALL axis2_transport_out_desc_get_param( const axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env, const axis2_char_t * param_name) { return axutil_param_container_get_param(transport_out_desc->param_container, env, param_name); } axis2_bool_t AXIS2_CALL axis2_transport_out_desc_is_param_locked( axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env, const axis2_char_t * param_name) { AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FAILURE); return axutil_param_container_is_param_locked(transport_out_desc-> param_container, env, param_name); } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_transport_out_desc_param_container( const axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env) { return transport_out_desc->param_container; } axis2c-src-1.6.0/src/core/description/transport_in_desc.c0000644000175000017500000002041111166304446024565 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_transport_in_desc { axis2_flow_t *in_flow; axis2_flow_t *fault_in_flow; AXIS2_TRANSPORT_ENUMS trans_enum; /** * transport receiver will have a shallow copy, but will be freed by * free function. */ axis2_transport_receiver_t *recv; axis2_phase_t *in_phase; axis2_phase_t *fault_phase; /** parameter container to hold transport in related parameters */ axutil_param_container_t *param_container; }; AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL axis2_transport_in_desc_create( const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum) { axis2_transport_in_desc_t *transport_in = NULL; transport_in = (axis2_transport_in_desc_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_transport_in_desc_t)); if (!transport_in) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } transport_in->trans_enum = trans_enum; transport_in->in_phase = NULL; transport_in->fault_phase = NULL; transport_in->in_flow = NULL; transport_in->fault_in_flow = NULL; transport_in->recv = NULL; transport_in->param_container = NULL; transport_in->param_container = axutil_param_container_create(env); if (!transport_in->param_container) { axis2_transport_in_desc_free(transport_in, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return transport_in; } void AXIS2_CALL axis2_transport_in_desc_free( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { if (transport_in->recv) { axis2_transport_receiver_free(transport_in->recv, env); } if (transport_in->param_container) { axutil_param_container_free(transport_in->param_container, env); } if (transport_in->in_flow) { axis2_flow_free(transport_in->in_flow, env); } if (transport_in->fault_in_flow) { axis2_flow_free(transport_in->fault_in_flow, env); } if (transport_in->in_phase) { axis2_phase_free(transport_in->in_phase, env); } if (transport_in->fault_phase) { axis2_phase_free(transport_in->fault_phase, env); } AXIS2_FREE(env->allocator, transport_in); return; } void AXIS2_CALL axis2_transport_in_desc_free_void_arg( void *transport_in, const axutil_env_t * env) { axis2_transport_in_desc_t *transport_in_l = NULL; transport_in_l = (axis2_transport_in_desc_t *) transport_in; axis2_transport_in_desc_free(transport_in_l, env); return; } AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_transport_in_desc_get_enum( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { return transport_in->trans_enum; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_enum( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum) { transport_in->trans_enum = trans_enum; return AXIS2_SUCCESS; } axis2_flow_t *AXIS2_CALL axis2_transport_in_desc_get_in_flow( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { return transport_in->in_flow; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_in_flow( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env, axis2_flow_t * in_flow) { AXIS2_PARAM_CHECK(env->error, in_flow, AXIS2_FAILURE); if (transport_in->in_flow) { axis2_flow_free(transport_in->in_flow, env); } transport_in->in_flow = in_flow; return AXIS2_SUCCESS; } axis2_flow_t *AXIS2_CALL axis2_transport_in_desc_get_fault_in_flow( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { return transport_in->fault_in_flow; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_fault_in_flow( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env, axis2_flow_t * fault_in_flow) { AXIS2_PARAM_CHECK(env->error, fault_in_flow, AXIS2_FAILURE); if (transport_in->fault_in_flow) { axis2_flow_free(transport_in->fault_in_flow, env); } transport_in->fault_in_flow = fault_in_flow; return AXIS2_SUCCESS; } axis2_transport_receiver_t *AXIS2_CALL axis2_transport_in_desc_get_recv( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { return transport_in->recv; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_recv( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env, axis2_transport_receiver_t * recv) { AXIS2_PARAM_CHECK(env->error, recv, AXIS2_FAILURE); if (transport_in->recv) { axis2_transport_receiver_free(transport_in->recv, env); } transport_in->recv = recv; return AXIS2_SUCCESS; } axis2_phase_t *AXIS2_CALL axis2_transport_in_desc_get_in_phase( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { return transport_in->in_phase; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_in_phase( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env, axis2_phase_t * in_phase) { AXIS2_PARAM_CHECK(env->error, in_phase, AXIS2_FAILURE); if (transport_in->in_phase) { axis2_phase_free(transport_in->in_phase, env); } transport_in->in_phase = in_phase; return AXIS2_SUCCESS; } axis2_phase_t *AXIS2_CALL axis2_transport_in_desc_get_fault_phase( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env) { return transport_in->fault_phase; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_fault_phase( axis2_transport_in_desc_t * transport_in, const axutil_env_t * env, axis2_phase_t * fault_phase) { AXIS2_PARAM_CHECK(env->error, fault_phase, AXIS2_FAILURE); if (transport_in->fault_phase) { axis2_phase_free(transport_in->fault_phase, env); } transport_in->fault_phase = fault_phase; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_transport_in_desc_add_param( axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env, axutil_param_t * param) { AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); return axutil_param_container_add_param(transport_in_desc-> param_container, env, param); } axutil_param_t *AXIS2_CALL axis2_transport_in_desc_get_param( const axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env, const axis2_char_t * param_name) { return axutil_param_container_get_param(transport_in_desc->param_container, env, param_name); } axis2_bool_t AXIS2_CALL axis2_transport_in_desc_is_param_locked( axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env, const axis2_char_t * param_name) { AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FAILURE); return axutil_param_container_is_param_locked(transport_in_desc-> param_container, env, param_name); } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_transport_in_desc_param_container( const axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env) { return transport_in_desc->param_container; } axis2c-src-1.6.0/src/core/description/desc.c0000644000175000017500000001467111166304446021776 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axis2_desc { /** parameter container */ axutil_param_container_t *param_container; /** children of this description */ axutil_hash_t *children; axis2_desc_t *parent; axis2_policy_include_t *policy_include; }; AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_desc_create( const axutil_env_t * env) { axis2_desc_t *desc = NULL; desc = (axis2_desc_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_desc_t)); if (!desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } desc->param_container = NULL; desc->children = NULL; desc->parent = NULL; desc->policy_include = NULL; desc->param_container = (axutil_param_container_t *) axutil_param_container_create(env); if (!(desc->param_container)) { axis2_desc_free(desc, env); return NULL; } desc->children = axutil_hash_make(env); if (!(desc->children)) { axis2_desc_free(desc, env); return NULL; } desc->policy_include = axis2_policy_include_create_with_desc(env, desc); return desc; } AXIS2_EXTERN void AXIS2_CALL axis2_desc_free( axis2_desc_t * desc, const axutil_env_t * env) { if (desc->children) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(desc->children, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axis2_msg_free((axis2_msg_t *) val, env); } } axutil_hash_free(desc->children, env); } if (desc->param_container) { axutil_param_container_free(desc->param_container, env); } if (desc->policy_include) { axis2_policy_include_free(desc->policy_include, env); } if (desc) { AXIS2_FREE(env->allocator, desc); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_add_param( axis2_desc_t * desc, const axutil_env_t * env, axutil_param_t * param) { AXIS2_PARAM_CHECK(env->error, param, AXIS2_FALSE); return axutil_param_container_add_param(desc->param_container, env, param); } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_desc_get_param( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * param_name) { AXIS2_PARAM_CHECK(env->error, param_name, NULL); return axutil_param_container_get_param(desc->param_container, env, param_name); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_desc_get_all_params( const axis2_desc_t * desc, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, desc->param_container, AXIS2_FALSE); return axutil_param_container_get_params(desc->param_container, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_desc_is_param_locked( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * param_name) { axutil_param_t *param_l = NULL; AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FALSE); param_l = axis2_desc_get_param(desc, env, param_name); return (param_l && axutil_param_is_locked(param_l, env)); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_add_child( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * key, const axis2_msg_t *child) { if (desc->children) { axis2_msg_t* msg = (axis2_msg_t *) axutil_hash_get(desc->children, key, AXIS2_HASH_KEY_STRING); if ( msg != NULL ) { axis2_msg_free(msg, env); msg = NULL; } axutil_hash_set(desc->children, key, AXIS2_HASH_KEY_STRING, (void *)child); return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_desc_get_all_children( const axis2_desc_t * desc, const axutil_env_t * env) { return desc->children; } AXIS2_EXTERN void *AXIS2_CALL axis2_desc_get_child( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * key) { return axutil_hash_get(desc->children, key, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_remove_child( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * key) { if (desc->children) { axutil_hash_set(desc->children, key, AXIS2_HASH_KEY_STRING, NULL); return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_desc_get_parent( const axis2_desc_t * desc, const axutil_env_t * env) { return desc->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_set_parent( axis2_desc_t * desc, const axutil_env_t * env, axis2_desc_t * parent) { desc->parent = parent; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_set_policy_include( axis2_desc_t * desc, const axutil_env_t * env, axis2_policy_include_t * policy_include) { if (desc->policy_include) { axis2_policy_include_free(desc->policy_include, env); desc->policy_include = NULL; } desc->policy_include = policy_include; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_desc_get_policy_include( axis2_desc_t * desc, const axutil_env_t * env) { if (!desc->policy_include) { /*desc->policy_include = axis2_policy_include_create(env); */ desc->policy_include = axis2_policy_include_create_with_desc(env, desc); } return desc->policy_include; } axis2c-src-1.6.0/src/core/description/flow.c0000644000175000017500000000644111166304446022023 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axis2_flow { axutil_array_list_t *list; }; AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_create( const axutil_env_t * env) { axis2_flow_t *flow = NULL; flow = (axis2_flow_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_flow_t)); if (!flow) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } flow->list = NULL; flow->list = axutil_array_list_create(env, 20); if (!(flow->list)) { axis2_flow_free(flow, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return flow; } AXIS2_EXTERN void AXIS2_CALL axis2_flow_free( axis2_flow_t * flow, const axutil_env_t * env) { if (flow->list) { int i = 0; int size = 0; size = axutil_array_list_size(flow->list, env); for (i = 0; i < size; i++) { axis2_handler_desc_t *handler_desc = NULL; handler_desc = (axis2_handler_desc_t *) axutil_array_list_get(flow->list, env, i); axis2_handler_desc_free(handler_desc, env); } axutil_array_list_free(flow->list, env); } if (flow) { AXIS2_FREE(env->allocator, flow); } return; } AXIS2_EXTERN void AXIS2_CALL axis2_flow_free_void_arg( void *flow, const axutil_env_t * env) { axis2_flow_t *flow_l = NULL; flow_l = (axis2_flow_t *) flow; axis2_flow_free(flow_l, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_add_handler( axis2_flow_t * flow, const axutil_env_t * env, axis2_handler_desc_t * handler) { AXIS2_PARAM_CHECK(env->error, handler, AXIS2_FAILURE); if (!flow->list) { flow->list = axutil_array_list_create(env, 0); if (!flow->list) { axis2_flow_free(flow, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } } return axutil_array_list_add(flow->list, env, handler); } AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL axis2_flow_get_handler( const axis2_flow_t * flow, const axutil_env_t * env, const int index) { return axutil_array_list_get(flow->list, env, index); } AXIS2_EXTERN int AXIS2_CALL axis2_flow_get_handler_count( const axis2_flow_t * flow, const axutil_env_t * env) { return axutil_array_list_size(flow->list, env); } axis2c-src-1.6.0/src/core/description/module_desc.c0000644000175000017500000003207611166304446023342 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_module_desc { axis2_module_t *module; axutil_qname_t *qname; axis2_conf_t *parent; /** * To store module operations , which are supposed to be added to a service * the module is engaged to a service */ axutil_hash_t *ops; /** * flow container that encapsulates the flows associated with the * module */ axis2_flow_container_t *flow_container; /** * parameter container that stores all the parameters associated with * the module */ axutil_param_container_t *params; }; AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_module_desc_create( const axutil_env_t * env) { axis2_module_desc_t *module_desc = NULL; AXIS2_ENV_CHECK(env, NULL); module_desc = (axis2_module_desc_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_module_desc_t)); if (!module_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } module_desc->qname = NULL; module_desc->module = NULL; module_desc->parent = NULL; module_desc->params = NULL; module_desc->flow_container = NULL; module_desc->ops = NULL; module_desc->params = axutil_param_container_create(env); if (!module_desc->params) { axis2_module_desc_free(module_desc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } module_desc->flow_container = axis2_flow_container_create(env); if (!module_desc->flow_container) { axis2_module_desc_free(module_desc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE) return NULL; } module_desc->ops = axutil_hash_make(env); if (!module_desc->ops) { axis2_module_desc_free(module_desc, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return module_desc; } AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_module_desc_create_with_qname( const axutil_env_t * env, const axutil_qname_t * qname) { axis2_module_desc_t *module_desc = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, qname, NULL); module_desc = axis2_module_desc_create(env); if (!module_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } module_desc->qname = (axutil_qname_t *) qname; return module_desc; } AXIS2_EXTERN void AXIS2_CALL axis2_module_desc_free( axis2_module_desc_t * module_desc, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (module_desc->module) { axis2_module_shutdown(module_desc->module, env); } if (module_desc->params) { axutil_param_container_free(module_desc->params, env); } if (module_desc->flow_container) { axis2_flow_container_free(module_desc->flow_container, env); } module_desc->parent = NULL; if (module_desc->qname) { axutil_qname_free(module_desc->qname, env); } if (module_desc->ops) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(module_desc->ops, env); hi; hi = axutil_hash_next(env, hi)) { struct axis2_op *op = NULL; axutil_hash_this(hi, NULL, NULL, &val); op = (struct axis2_op *) val; if (op) axis2_op_free(op, env); val = NULL; op = NULL; } axutil_hash_free(module_desc->ops, env); } if (module_desc) { AXIS2_FREE(env->allocator, module_desc); } return; } AXIS2_EXTERN void AXIS2_CALL axis2_module_desc_free_void_arg( void *module_desc, const axutil_env_t * env) { axis2_module_desc_t *module_desc_l = NULL; AXIS2_ENV_CHECK(env, void); module_desc_l = (axis2_module_desc_t *) module_desc; axis2_module_desc_free(module_desc_l, env); return; } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_in_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return axis2_flow_container_get_in_flow(module_desc->flow_container, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_in_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * in_flow) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, in_flow, AXIS2_FAILURE); return axis2_flow_container_set_in_flow(module_desc->flow_container, env, in_flow); } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_out_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return axis2_flow_container_get_out_flow(module_desc->flow_container, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_out_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * out_flow) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, out_flow, AXIS2_FAILURE); return axis2_flow_container_set_out_flow(module_desc->flow_container, env, out_flow); } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_fault_in_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return axis2_flow_container_get_fault_in_flow(module_desc->flow_container, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_fault_in_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * falut_in_flow) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, falut_in_flow, AXIS2_FAILURE); return axis2_flow_container_set_fault_in_flow(module_desc->flow_container, env, falut_in_flow); } AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_fault_out_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return axis2_flow_container_get_fault_out_flow(module_desc->flow_container, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_fault_out_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * fault_out_flow) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, fault_out_flow, AXIS2_FAILURE); return axis2_flow_container_set_fault_out_flow(module_desc->flow_container, env, fault_out_flow); } AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_module_desc_get_qname( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return module_desc->qname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_qname( axis2_module_desc_t * module_desc, const axutil_env_t * env, const axutil_qname_t * qname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, qname, AXIS2_FAILURE); if (module_desc->qname) { axutil_qname_free(module_desc->qname, env); } module_desc->qname = axutil_qname_clone((axutil_qname_t *) qname, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_add_op( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_op_t * op) { const axutil_qname_t *op_qname = NULL; axis2_char_t *op_name = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, op, AXIS2_FAILURE); if (!(module_desc->ops)) { module_desc->ops = axutil_hash_make(env); if (!module_desc->ops) return AXIS2_FAILURE; } op_qname = axis2_op_get_qname(op, env); if (!op_qname) { return AXIS2_FAILURE; } op_name = axutil_qname_to_string((axutil_qname_t *) op_qname, env); axutil_hash_set(module_desc->ops, op_name, AXIS2_HASH_KEY_STRING, op); return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_module_desc_get_all_ops( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return module_desc->ops; } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_module_desc_get_parent( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return module_desc->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_parent( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_conf_t * parent) { AXIS2_PARAM_CHECK(env->error, parent, AXIS2_FAILURE); module_desc->parent = parent; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_add_param( axis2_module_desc_t * module_desc, const axutil_env_t * env, axutil_param_t * param) { axis2_char_t *param_name_l = NULL; axis2_status_t ret_status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); param_name_l = axutil_param_get_name(param, env); if (!param_name_l) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_PARAM, AXIS2_FAILURE); return AXIS2_FAILURE; } if (AXIS2_TRUE == axis2_module_desc_is_param_locked(module_desc, env, param_name_l)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); return AXIS2_FAILURE; } else { ret_status = axutil_param_container_add_param(module_desc->params, env, param); } return ret_status; } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_module_desc_get_param( const axis2_module_desc_t * module_desc, const axutil_env_t * env, const axis2_char_t * name) { AXIS2_PARAM_CHECK(env->error, name, NULL); return axutil_param_container_get_param(module_desc->params, env, name); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_module_desc_get_all_params( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return axutil_param_container_get_params(module_desc->params, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_module_desc_is_param_locked( const axis2_module_desc_t * module_desc, const axutil_env_t * env, const axis2_char_t * param_name) { axis2_bool_t locked = AXIS2_FALSE; axis2_bool_t ret_state = AXIS2_FALSE; axutil_param_t *param_l = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FAILURE); /* checking the locked value of parent */ if (!module_desc->parent) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_MODULE_DESC, AXIS2_FAILURE); return AXIS2_FALSE; } locked = axis2_conf_is_param_locked(module_desc->parent, env, param_name); if (AXIS2_TRUE == locked) { ret_state = AXIS2_TRUE; } else { param_l = axis2_module_desc_get_param(module_desc, env, param_name); if (param_l && AXIS2_TRUE == axutil_param_is_locked(param_l, env)) ret_state = AXIS2_TRUE; else ret_state = AXIS2_FALSE; } return ret_state; } AXIS2_EXTERN axis2_module_t *AXIS2_CALL axis2_module_desc_get_module( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return module_desc->module; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_module( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_module_t * module) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module, AXIS2_FAILURE); module_desc->module = module; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_module_desc_get_param_container( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return module_desc->params; } AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL axis2_module_desc_get_flow_container( const axis2_module_desc_t * module_desc, const axutil_env_t * env) { return module_desc->flow_container; } axis2c-src-1.6.0/src/core/description/Makefile.am0000644000175000017500000000164611166304446022746 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_description.la libaxis2_description_la_SOURCES =desc.c \ op.c \ policy_include.c \ svc.c \ module_desc.c \ svc_grp.c \ phase_rule.c \ handler_desc.c \ flow.c \ flow_container.c \ transport_in_desc.c \ transport_out_desc.c \ msg.c libaxis2_description_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/neethi/include axis2c-src-1.6.0/src/core/description/Makefile.in0000644000175000017500000003675211172017203022752 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/description DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_description_la_LIBADD = am_libaxis2_description_la_OBJECTS = desc.lo op.lo policy_include.lo \ svc.lo module_desc.lo svc_grp.lo phase_rule.lo handler_desc.lo \ flow.lo flow_container.lo transport_in_desc.lo \ transport_out_desc.lo msg.lo libaxis2_description_la_OBJECTS = \ $(am_libaxis2_description_la_OBJECTS) libaxis2_description_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_description_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_description_la_SOURCES) DIST_SOURCES = $(libaxis2_description_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_description.la libaxis2_description_la_SOURCES = desc.c \ op.c \ policy_include.c \ svc.c \ module_desc.c \ svc_grp.c \ phase_rule.c \ handler_desc.c \ flow.c \ flow_container.c \ transport_in_desc.c \ transport_out_desc.c \ msg.c libaxis2_description_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/neethi/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/description/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/description/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_description.la: $(libaxis2_description_la_OBJECTS) $(libaxis2_description_la_DEPENDENCIES) $(libaxis2_description_la_LINK) $(libaxis2_description_la_OBJECTS) $(libaxis2_description_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/desc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flow.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flow_container.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handler_desc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/module_desc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/msg.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phase_rule.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/policy_include.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_grp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transport_in_desc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transport_out_desc.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/description/policy_include.c0000644000175000017500000004444611166304446024065 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_policy_include { neethi_policy_t *policy; neethi_policy_t *effective_policy; neethi_registry_t *registry; axis2_desc_t *desc; axutil_hash_t *wrapper_elements; }; typedef struct axis2_policy_wrapper { int type; void *value; } axis2_policy_wrapper_t; AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_policy_include_create( const axutil_env_t * env) { axis2_policy_include_t *policy_include = NULL; AXIS2_ENV_CHECK(env, NULL); policy_include = (axis2_policy_include_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_policy_include_t)); if (!policy_include) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } policy_include->policy = NULL; policy_include->effective_policy = NULL; policy_include->registry = NULL; policy_include->desc = NULL; policy_include->wrapper_elements = NULL; policy_include->registry = neethi_registry_create(env); if (!policy_include->registry) { axis2_policy_include_free(policy_include, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } policy_include->wrapper_elements = axutil_hash_make(env); if (!policy_include->wrapper_elements) { axis2_policy_include_free(policy_include, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return policy_include; } AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_policy_include_create_with_desc( const axutil_env_t * env, axis2_desc_t * desc) { axis2_policy_include_t *policy_include = NULL; axis2_desc_t *parent_desc = NULL; AXIS2_ENV_CHECK(env, NULL); policy_include = (axis2_policy_include_t *) axis2_policy_include_create(env); parent_desc = axis2_desc_get_parent(desc, env); if (policy_include->registry) { neethi_registry_free(policy_include->registry, env); policy_include->registry = NULL; } if (parent_desc) { axis2_policy_include_t *preant_policy_include = axis2_desc_get_policy_include(parent_desc, env); if (preant_policy_include) { policy_include->registry = neethi_registry_create_with_parent(env, axis2_policy_include_get_registry (preant_policy_include, env)); } else { policy_include->registry = neethi_registry_create(env); } } else { policy_include->registry = neethi_registry_create(env); } policy_include->desc = desc; return policy_include; } AXIS2_EXTERN void AXIS2_CALL axis2_policy_include_free( axis2_policy_include_t * policy_include, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (policy_include->registry) { neethi_registry_free(policy_include->registry, env); } if (policy_include->wrapper_elements) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(policy_include->wrapper_elements, env); hi; hi = axutil_hash_next(env, hi)) { axis2_policy_wrapper_t *wrapper = NULL; axutil_hash_this(hi, NULL, NULL, &val); wrapper = (axis2_policy_wrapper_t *) val; if (wrapper) AXIS2_FREE(env->allocator, wrapper); val = NULL; wrapper = NULL; } axutil_hash_free(policy_include->wrapper_elements, env); } if (policy_include) { AXIS2_FREE(env->allocator, policy_include); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_registry( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_registry_t * registry) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (policy_include->registry) { neethi_registry_free(policy_include->registry, env); } policy_include->registry = registry; return AXIS2_SUCCESS; } AXIS2_EXTERN neethi_registry_t *AXIS2_CALL axis2_policy_include_get_registry( axis2_policy_include_t * policy_include, const axutil_env_t * env) { return policy_include->registry; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_policy_t * policy) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (policy_include->wrapper_elements) { axutil_hash_free(policy_include->wrapper_elements, env); policy_include->wrapper_elements = NULL; } policy_include->wrapper_elements = axutil_hash_make(env); if (!neethi_policy_get_name(policy, env) && !neethi_policy_get_id(policy, env)) { neethi_policy_set_id(policy, env, axutil_uuid_gen(env)); } if (policy_include->wrapper_elements) { axis2_policy_wrapper_t *wrapper = NULL; wrapper = (axis2_policy_wrapper_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_policy_wrapper_t)); if (wrapper) { axis2_char_t *policy_name = NULL; wrapper->type = AXIS2_ANON_POLICY; wrapper->value = policy; policy_name = neethi_policy_get_name(policy, env); if (policy_name) { axutil_hash_set(policy_include->wrapper_elements, policy_name, AXIS2_HASH_KEY_STRING, wrapper); } else { axutil_hash_set(policy_include->wrapper_elements, neethi_policy_get_id(policy, env), AXIS2_HASH_KEY_STRING, wrapper); } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_update_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_policy_t * policy) { axis2_char_t *key; axis2_policy_wrapper_t *wrapper = NULL; key = neethi_policy_get_name(policy, env); if (!key) key = neethi_policy_get_id(policy, env); if (!key) { return AXIS2_FAILURE; } wrapper = axutil_hash_get(policy_include->wrapper_elements, key, AXIS2_HASH_KEY_STRING); if (wrapper) { wrapper->value = policy; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_effective_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_policy_t * effective_policy) { policy_include->effective_policy = effective_policy; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_desc( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_desc_t * desc) { policy_include->desc = desc; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_policy_include_get_desc( axis2_policy_include_t * policy_include, const axutil_env_t * env) { return policy_include->desc; } AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_policy_include_get_parent( axis2_policy_include_t * policy_include, const axutil_env_t * env) { if (policy_include->desc) { axis2_desc_t *parent = NULL; parent = axis2_desc_get_parent(policy_include->desc, env); if (parent) { return axis2_desc_get_policy_include(parent, env); } } return NULL; } static axis2_status_t axis2_policy_include_calculate_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env) { neethi_policy_t *result = NULL; axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(policy_include->wrapper_elements, env); hi; hi = axutil_hash_next(env, hi)) { axis2_policy_wrapper_t *wrapper = NULL; axutil_hash_this(hi, NULL, NULL, &val); wrapper = (axis2_policy_wrapper_t *) val; if (wrapper) { neethi_policy_t *policy = NULL; if (wrapper->type == AXIS2_POLICY_REF) { neethi_reference_t *reference = (neethi_reference_t *) wrapper->value; if (reference) { /* TOOD add neethi_reference_normalize policy = (neethi_policy_t*) neethi_reference_normalize( reference, env, policy_include->registry, AXIS2_FALSE); */ } } else { policy = (neethi_policy_t *) wrapper->value; } result = (result == NULL) ? (neethi_policy_t *) policy : (neethi_policy_t *) neethi_engine_merge(env, result, policy); } } policy_include->policy = result; return AXIS2_SUCCESS; } static neethi_policy_t * axis2_policy_include_calculate_effective_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env) { neethi_policy_t *result; axis2_policy_include_t *parent = NULL; parent = axis2_policy_include_get_parent(policy_include, env); if (parent) { neethi_policy_t *parent_policy = axis2_policy_include_get_effective_policy(parent, env); if (!parent_policy) { result = axis2_policy_include_get_policy(policy_include, env); } else { if (axis2_policy_include_get_policy(policy_include, env)) { neethi_policy_t *temp_policy = NULL; parent_policy = (neethi_policy_t *) neethi_engine_get_normalize(env, AXIS2_FALSE, parent_policy); temp_policy = axis2_policy_include_get_policy(policy_include, env); temp_policy = (neethi_policy_t *) neethi_engine_get_normalize(env, AXIS2_FALSE, temp_policy); /* result = (neethi_policy_t*) neethi_engine_merge(env, parent_policy, axis2_policy_include_get_policy(policy_include, env)); */ result = (neethi_policy_t *) neethi_engine_merge(env, parent_policy, temp_policy); } else { result = parent_policy; } } } else { result = axis2_policy_include_get_policy(policy_include, env); } return result; /*policy_include->effective_policy = result; return AXIS2_SUCCESS; */ } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL axis2_policy_include_get_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env) { axis2_policy_include_calculate_policy(policy_include, env); return policy_include->policy; } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL axis2_policy_include_get_effective_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env) { /*if (policy_include->effective_policy) return policy_include->effective_policy; */ return axis2_policy_include_calculate_effective_policy(policy_include, env); /*return policy_include->effective_policy; */ } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_policy_include_get_policy_elements( axis2_policy_include_t * policy_include, const axutil_env_t * env) { axutil_array_list_t *policy_elements_list = NULL; axutil_hash_index_t *hi = NULL; void *val = NULL; policy_elements_list = axutil_array_list_create(env, 10); for (hi = axutil_hash_first(policy_include->wrapper_elements, env); hi; hi = axutil_hash_next(env, hi)) { axis2_policy_wrapper_t *wrapper = NULL; axutil_hash_this(hi, NULL, NULL, &val); wrapper = (axis2_policy_wrapper_t *) val; if (wrapper) { axutil_array_list_add(policy_elements_list, env, wrapper->value); } } return policy_elements_list; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_policy_include_get_policy_elements_with_type( axis2_policy_include_t * policy_include, const axutil_env_t * env, int type) { axutil_array_list_t *policy_elements_list = NULL; axutil_hash_index_t *hi = NULL; void *val = NULL; policy_elements_list = axutil_array_list_create(env, 10); for (hi = axutil_hash_first(policy_include->wrapper_elements, env); hi; hi = axutil_hash_next(env, hi)) { axis2_policy_wrapper_t *wrapper = NULL; axutil_hash_this(hi, NULL, NULL, &val); wrapper = (axis2_policy_wrapper_t *) val; if (wrapper && wrapper->type == type) { axutil_array_list_add(policy_elements_list, env, wrapper->value); } } return policy_elements_list; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_register_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_char_t * key, neethi_policy_t * policy) { if (policy_include->registry) { return neethi_registry_register(policy_include->registry, env, key, policy); } return AXIS2_FAILURE; } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL axis2_policy_include_get_policy_with_key( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_char_t * key) { if (policy_include->registry) { return neethi_registry_lookup(policy_include->registry, env, key); } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_add_policy_element( axis2_policy_include_t * policy_include, const axutil_env_t * env, int type, neethi_policy_t * policy) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!neethi_policy_get_name(policy, env) && !neethi_policy_get_id(policy, env)) { axis2_char_t *uuid = axutil_uuid_gen(env); neethi_policy_set_id(policy, env, uuid); if (uuid) { AXIS2_FREE(env->allocator, uuid); uuid = NULL; } } if (policy_include->wrapper_elements) { axis2_policy_wrapper_t *wrapper = NULL; wrapper = (axis2_policy_wrapper_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_policy_wrapper_t)); if (wrapper) { axis2_char_t *policy_name = NULL; wrapper->type = type; wrapper->value = policy; policy_name = neethi_policy_get_name(policy, env); if (!policy_name) policy_name = neethi_policy_get_id(policy, env); if (policy_name) { axutil_hash_set(policy_include->wrapper_elements, policy_name, AXIS2_HASH_KEY_STRING, wrapper); if (policy_include->registry) { neethi_registry_register(policy_include->registry, env, policy_name, policy); } return AXIS2_SUCCESS; } } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_add_policy_reference_element( axis2_policy_include_t * policy_include, const axutil_env_t * env, int type, neethi_reference_t * reference) { axis2_policy_wrapper_t *wrapper = NULL; wrapper = (axis2_policy_wrapper_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_policy_wrapper_t)); if (wrapper) { wrapper->type = type; wrapper->value = reference; axutil_hash_set(policy_include->wrapper_elements, neethi_reference_get_uri(reference, env), AXIS2_HASH_KEY_STRING, wrapper); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_remove_policy_element( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_char_t * policy_uri) { if (policy_include->wrapper_elements) { axutil_hash_set(policy_include->wrapper_elements, policy_uri, AXIS2_HASH_KEY_STRING, NULL); } if (policy_include->registry) { neethi_registry_register(policy_include->registry, env, policy_uri, NULL); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_remove_all_policy_element( axis2_policy_include_t * policy_include, const axutil_env_t * env) { if (policy_include->wrapper_elements) { axutil_hash_free(policy_include->wrapper_elements, env); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/description/phase_rule.c0000644000175000017500000001431111166304446023176 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_phase_rule { /** name of phase or handler before */ axis2_char_t *before; /** name of phase or handler after */ axis2_char_t *after; /** phase name */ axis2_char_t *name; /** Is this first in phase? */ axis2_bool_t first; /** Is this last in phase? */ axis2_bool_t last; }; AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL axis2_phase_rule_create( const axutil_env_t * env, const axis2_char_t * name) { axis2_phase_rule_t *phase_rule = NULL; phase_rule = AXIS2_MALLOC(env->allocator, sizeof(axis2_phase_rule_t)); if (!phase_rule) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return NULL; } phase_rule->before = NULL; phase_rule->after = NULL; phase_rule->name = NULL; phase_rule->first = AXIS2_FALSE; phase_rule->last = AXIS2_FALSE; if (name) { phase_rule->name = axutil_strdup(env, name); } return phase_rule; } const axis2_char_t *AXIS2_CALL axis2_phase_rule_get_before( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { return phase_rule->before; } axis2_status_t AXIS2_CALL axis2_phase_rule_set_before( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, const axis2_char_t * before) { if (phase_rule->before) { AXIS2_FREE(env->allocator, phase_rule->before); } if (before) { phase_rule->before = axutil_strdup(env, before); if (!phase_rule->before) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_phase_rule_get_after( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { return phase_rule->after; } axis2_status_t AXIS2_CALL axis2_phase_rule_set_after( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, const axis2_char_t * after) { if (phase_rule->after) { AXIS2_FREE(env->allocator, phase_rule->after); } if (after) { phase_rule->after = axutil_strdup(env, after); if (!phase_rule->after) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } const axis2_char_t *AXIS2_CALL axis2_phase_rule_get_name( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { return phase_rule->name; } axis2_status_t AXIS2_CALL axis2_phase_rule_set_name( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, const axis2_char_t * name) { if (phase_rule->name) { AXIS2_FREE(env->allocator, phase_rule->name); } if (name) { phase_rule->name = axutil_strdup(env, name); if (!phase_rule->name) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_phase_rule_is_first( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { return phase_rule->first; } axis2_status_t AXIS2_CALL axis2_phase_rule_set_first( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, axis2_bool_t first) { phase_rule->first = first; return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axis2_phase_rule_is_last( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { return phase_rule->last; } axis2_status_t AXIS2_CALL axis2_phase_rule_set_last( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, axis2_bool_t last) { phase_rule->last = last; return AXIS2_SUCCESS; } void AXIS2_CALL axis2_phase_rule_free( axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { if (phase_rule->before) { AXIS2_FREE(env->allocator, phase_rule->before); } if (phase_rule->after) { AXIS2_FREE(env->allocator, phase_rule->after); } if (phase_rule->name) { AXIS2_FREE(env->allocator, phase_rule->name); } AXIS2_FREE(env->allocator, phase_rule); return; } axis2_phase_rule_t *AXIS2_CALL axis2_phase_rule_clone( axis2_phase_rule_t * phase_rule, const axutil_env_t * env) { axis2_phase_rule_t *phase_rule_new = NULL; phase_rule_new = axis2_phase_rule_create(env, NULL); if (!phase_rule_new) return NULL; axis2_phase_rule_set_before(phase_rule_new, env, axis2_phase_rule_get_before(phase_rule, env)); axis2_phase_rule_set_after(phase_rule_new, env, axis2_phase_rule_get_after(phase_rule, env)); axis2_phase_rule_set_name(phase_rule_new, env, axis2_phase_rule_get_name(phase_rule, env)); axis2_phase_rule_set_first(phase_rule_new, env, axis2_phase_rule_is_first(phase_rule, env)); axis2_phase_rule_set_last(phase_rule_new, env, axis2_phase_rule_is_last(phase_rule, env)); return phase_rule_new; } axis2c-src-1.6.0/src/core/description/handler_desc.c0000644000175000017500000002252011166304446023463 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axis2_handler_desc { /** name */ axutil_string_t *name; /** phase rules */ axis2_phase_rule_t *rules; /** handler represented by meta information*/ axis2_handler_t *handler; /** class name */ axis2_char_t *class_name; /** parent param container */ axutil_param_container_t *parent; /** parameter container */ axutil_param_container_t *param_container; }; AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL axis2_handler_desc_create( const axutil_env_t * env, axutil_string_t * name) { axis2_handler_desc_t *handler_desc = NULL; handler_desc = AXIS2_MALLOC(env->allocator, sizeof(axis2_handler_desc_t)); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } handler_desc->param_container = NULL; handler_desc->name = NULL; handler_desc->rules = NULL; handler_desc->handler = NULL; handler_desc->class_name = NULL; handler_desc->parent = NULL; handler_desc->param_container = axutil_param_container_create(env); if (!handler_desc->param_container) { /** error code is already set by last param container create */ axis2_handler_desc_free(handler_desc, env); return NULL; } handler_desc->rules = axis2_phase_rule_create(env, NULL); if (!handler_desc->rules) { /** error code is already set by last param container create */ axis2_handler_desc_free(handler_desc, env); return NULL; } if (name) { handler_desc->name = axutil_string_clone(name, env); } return handler_desc; } AXIS2_EXTERN const axutil_string_t *AXIS2_CALL axis2_handler_desc_get_name( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return handler_desc->name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_name( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axutil_string_t * name) { if (handler_desc->name) { axutil_string_free(handler_desc->name, env); handler_desc->name = NULL; } if (name) { handler_desc->name = axutil_string_clone(name, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL axis2_handler_desc_get_rules( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return handler_desc->rules; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_rules( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axis2_phase_rule_t * phase_rule) { const axutil_string_t *str_name = axis2_handler_desc_get_name(handler_desc, env); const axis2_char_t *name = axutil_string_get_buffer(str_name, env); if (handler_desc->rules) { axis2_phase_rule_free(handler_desc->rules, env); } if (phase_rule) { handler_desc->rules = axis2_phase_rule_clone(phase_rule, env); if (!(handler_desc->rules)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Phase rule cloning failed for handler description %s", name); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_handler_desc_get_param( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env, const axis2_char_t * name) { return axutil_param_container_get_param(handler_desc->param_container, env, name); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_add_param( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axutil_param_t * param) { const axutil_string_t *str_name = axis2_handler_desc_get_name(handler_desc, env); const axis2_char_t *name = axutil_string_get_buffer(str_name, env); axis2_char_t *param_name = axutil_param_get_name(param, env); if (axutil_param_container_is_param_locked(handler_desc->parent, env, param_name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter %s is locked for handler %s", param_name, name); return AXIS2_FAILURE; } return axutil_param_container_add_param(handler_desc->param_container, env, param); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_handler_desc_get_all_params( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return axutil_param_container_get_params(handler_desc->param_container, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_handler_desc_is_param_locked( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env, const axis2_char_t * param_name) { /* See if it is locked in parent */ if (axutil_param_container_is_param_locked(handler_desc->parent, env, param_name)) { return AXIS2_TRUE; } return axutil_param_container_is_param_locked(handler_desc->param_container, env, param_name); } AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_handler_desc_get_handler( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return handler_desc->handler; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_handler( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axis2_handler_t * handler) { /* Handler description is the place where the handler really lives. Hence this is a deep copy and should be freed by the free function. */ if (handler_desc->handler && (handler_desc->handler != handler)) { axis2_handler_free(handler_desc->handler, env); } if (handler) handler_desc->handler = handler; /* Shallow copy, but free method should free this */ return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_handler_desc_get_class_name( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return handler_desc->class_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_class_name( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, const axis2_char_t * class_name) { if (handler_desc->class_name) { AXIS2_FREE(env->allocator, handler_desc->class_name); } if (class_name) { handler_desc->class_name = axutil_strdup(env, class_name); if (!handler_desc->class_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_handler_desc_get_parent( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return handler_desc->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_parent( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axutil_param_container_t * parent) { handler_desc->parent = parent; /* Shallow copy, because the parent lives somewhere else */ return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_handler_desc_free( axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { if (handler_desc->param_container) { axutil_param_container_free(handler_desc->param_container, env); } if (handler_desc->name) { axutil_string_free(handler_desc->name, env); } if (handler_desc->rules) { axis2_phase_rule_free(handler_desc->rules, env); } if (handler_desc->handler) { axis2_handler_free(handler_desc->handler, env); } if (handler_desc->class_name) { AXIS2_FREE(env->allocator, handler_desc->class_name); } if (handler_desc) { AXIS2_FREE(env->allocator, handler_desc); } return; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_handler_desc_get_param_container( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env) { return handler_desc->param_container; } axis2c-src-1.6.0/src/core/description/svc_grp.c0000644000175000017500000004100511166304446022512 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_svc_grp { /** service group name */ axis2_char_t *svc_grp_name; /** map of services */ axutil_hash_t *svcs; /** to store service group modules QNames */ axutil_array_list_t *module_qname_list; /** to store module ref at deploy time parsing */ axis2_conf_t *parent; /** list of module references */ axutil_array_list_t *module_list; /** parameter container to hold service related parameters */ axutil_param_container_t *param_container; /** base description struct */ axis2_desc_t *base; }; AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_svc_grp_create( const axutil_env_t * env) { axis2_svc_grp_t *svc_grp = NULL; svc_grp = (axis2_svc_grp_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_grp_t)); if (!svc_grp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } svc_grp->param_container = NULL; svc_grp->module_qname_list = NULL; svc_grp->svcs = NULL; svc_grp->parent = NULL; svc_grp->svc_grp_name = NULL; svc_grp->module_list = NULL; svc_grp->base = NULL; svc_grp->param_container = axutil_param_container_create(env); if (!svc_grp->param_container) { axis2_svc_grp_free(svc_grp, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating parameter container failed"); return NULL; } svc_grp->module_qname_list = axutil_array_list_create(env, 20); if (!svc_grp->module_qname_list) { axis2_svc_grp_free(svc_grp, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating module qnames list failed"); return NULL; } svc_grp->module_list = axutil_array_list_create(env, 0); if (!svc_grp->module_list) { axis2_svc_grp_free(svc_grp, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating modules list failed"); return NULL; } svc_grp->svcs = axutil_hash_make(env); if (!svc_grp->svcs) { axis2_svc_grp_free(svc_grp, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating services map failed"); return NULL; } svc_grp->base = axis2_desc_create(env); if (!svc_grp->base) { axis2_svc_grp_free(svc_grp, env); return NULL; } return svc_grp; } AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_svc_grp_create_with_conf( const axutil_env_t * env, axis2_conf_t * conf) { axis2_svc_grp_t *svc_grp = NULL; AXIS2_PARAM_CHECK(env->error, conf, NULL); svc_grp = (axis2_svc_grp_t *) axis2_svc_grp_create(env); if (svc_grp) svc_grp->parent = conf; if (conf) { axis2_desc_set_parent(svc_grp->base, env, axis2_conf_get_base(conf, env)); } return svc_grp; } AXIS2_EXTERN void AXIS2_CALL axis2_svc_grp_free( axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { if (svc_grp->param_container) { axutil_param_container_free(svc_grp->param_container, env); } if (svc_grp->svc_grp_name) { AXIS2_FREE(env->allocator, svc_grp->svc_grp_name); } if (svc_grp->svcs) { /* services are freed by arch_file_data */ axutil_hash_free(svc_grp->svcs, env); } if (svc_grp->module_qname_list) { axutil_array_list_free(svc_grp->module_qname_list, env); } if (svc_grp->module_list) { axutil_array_list_free(svc_grp->module_list, env); } if (svc_grp->base) { axis2_desc_free(svc_grp->base, env); } if (svc_grp) { AXIS2_FREE(env->allocator, svc_grp); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_set_name( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axis2_char_t * name) { if (svc_grp->svc_grp_name) AXIS2_FREE(env->allocator, svc_grp->svc_grp_name); svc_grp->svc_grp_name = axutil_strdup(env, name); if (!svc_grp->svc_grp_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No Memory"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_grp_get_name( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->svc_grp_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_svc( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, axis2_svc_t * svc) { axis2_status_t status = AXIS2_FAILURE; const axutil_qname_t *svc_qname = NULL; axis2_char_t *svc_name = NULL; AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE); if (!svc_grp->svcs) { svc_grp->svcs = axutil_hash_make(env); if (!svc_grp->svcs) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating services list failed"); return AXIS2_FAILURE; } } svc_qname = axis2_svc_get_qname(svc, env); svc_name = axutil_qname_to_string((axutil_qname_t *) svc_qname, env); axutil_hash_set(svc_grp->svcs, svc_name, AXIS2_HASH_KEY_STRING, svc); status = axis2_svc_set_last_update(svc, env); if (AXIS2_SUCCESS != status) { /* remove the previously added service */ axutil_hash_set(svc_grp->svcs, svc_name, AXIS2_HASH_KEY_STRING, NULL); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting last update failed for service %s", svc_name); return status; } status = axis2_svc_set_parent(svc, env, svc_grp); if (AXIS2_SUCCESS != status) { /* remove the previously added service */ axutil_hash_set(svc_grp->svcs, svc_name, AXIS2_HASH_KEY_STRING, NULL); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting parent failed for service %s", svc_name); return status; } return status; } AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_grp_get_svc( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * qname) { axis2_char_t *name = NULL; AXIS2_PARAM_CHECK(env->error, qname, NULL); name = axutil_qname_to_string((axutil_qname_t *) qname, env); return (axis2_svc_t *) axutil_hash_get(svc_grp->svcs, name, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_grp_get_all_svcs( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->svcs; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_remove_svc( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * svc_qname) { axis2_svc_t *svc = NULL; axis2_char_t *svc_name = NULL; AXIS2_PARAM_CHECK(env->error, svc_name, AXIS2_FAILURE); svc = axis2_svc_grp_get_svc(svc_grp, env, svc_qname); svc_name = axutil_qname_to_string((axutil_qname_t *) svc_qname, env); axutil_hash_set(svc_grp->svcs, svc_name, AXIS2_HASH_KEY_STRING, NULL); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_param( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, axutil_param_t * param) { const axis2_char_t *svc_grp_name = axis2_svc_grp_get_name(svc_grp, env); axis2_char_t *param_name = axutil_param_get_name(param, env); AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); if (axis2_svc_grp_is_param_locked(svc_grp, env, param_name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter %s is locked for service group %s", param_name, svc_grp_name); return AXIS2_FAILURE; } return axutil_param_container_add_param(svc_grp->param_container, env, param); } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_svc_grp_get_param( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axis2_char_t * name) { axutil_param_t *param = NULL; AXIS2_PARAM_CHECK(env->error, name, NULL); param = axutil_param_container_get_param(svc_grp->param_container, env, name); if (!param && svc_grp->parent) { param = axis2_conf_get_param(svc_grp->parent, env, name); } return param; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_grp_get_all_params( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return axutil_param_container_get_params(svc_grp->param_container, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_grp_is_param_locked( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axis2_char_t * param_name) { axis2_bool_t locked = AXIS2_FALSE; axis2_conf_t *parent = NULL; axutil_param_t *param = NULL; axis2_bool_t ret = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FALSE); parent = axis2_svc_grp_get_parent(svc_grp, env); /* Checking the locked value of parent */ if (parent) { locked = axis2_conf_is_param_locked(parent, env, param_name); } if (locked) { ret = AXIS2_TRUE; } param = axis2_svc_grp_get_param(svc_grp, env, param_name); if (param && axutil_param_is_locked(param, env)) { ret = AXIS2_TRUE; } else { ret = AXIS2_FALSE; } return ret; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_module_qname( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * module_qname) { return axutil_array_list_add(svc_grp->module_qname_list, env, module_qname); } AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_svc_grp_get_parent( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_set_parent( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, axis2_conf_t * parent) { AXIS2_PARAM_CHECK(env->error, parent, AXIS2_FAILURE); if (svc_grp->parent) axis2_conf_free(svc_grp->parent, env); svc_grp->parent = parent; if (parent) { axis2_desc_set_parent(svc_grp->base, env, axis2_conf_get_base(parent, env)); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_engage_module( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * module_name) { int i = 0; axis2_status_t status = AXIS2_FAILURE; axutil_qname_t *modu = NULL; axis2_char_t *modu_local = NULL; axis2_char_t *module_name_local = NULL; axutil_hash_t *svc_map = NULL; axis2_phase_resolver_t *phase_resolver = NULL; axis2_module_desc_t *module = NULL; const axis2_char_t *svc_grp_name = axis2_svc_grp_get_name(svc_grp, env); int size = 0; AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); size = axutil_array_list_size(svc_grp->module_qname_list, env); for (i = 0; size; i++) { modu = axutil_array_list_get(svc_grp->module_qname_list, env, i); modu_local = axutil_qname_get_localpart(modu, env); module_name_local = axutil_qname_get_localpart(module_name, env); if (!axutil_strcmp(modu_local, module_name_local)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module %s is already engaged to service group %s", module_name_local, svc_grp_name); return AXIS2_FAILURE; } } svc_map = axis2_svc_grp_get_all_svcs(svc_grp, env); if (!svc_map) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service map not found for service group %s", svc_grp_name); return AXIS2_FAILURE; } phase_resolver = axis2_phase_resolver_create_with_config(env, svc_grp->parent); if (!phase_resolver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase resolver failed for service group %s", svc_grp_name); return AXIS2_FAILURE; } module = axis2_conf_get_module(svc_grp->parent, env, module_name); if (module) { axis2_svc_t *axis_svc = NULL; axutil_hash_index_t *index = NULL; index = axutil_hash_first(svc_map, env); while (index) { const axis2_char_t *svc_name = NULL; void *v = NULL; /* engage in per each service */ axutil_hash_this(index, NULL, NULL, &v); axis_svc = (axis2_svc_t *) v; svc_name = axis2_svc_get_name(axis_svc, env); status = axis2_phase_resolver_engage_module_to_svc(phase_resolver, env, axis_svc, module); if (!status) { if (phase_resolver) { axis2_phase_resolver_free(phase_resolver, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Engaging module %s to service %s failed", module_name_local, svc_name); return status; } index = axutil_hash_next(env, index); } } if (phase_resolver) { axis2_phase_resolver_free(phase_resolver, env); } return axis2_svc_grp_add_module_qname(svc_grp, env, module_name); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_grp_get_all_module_qnames( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->module_qname_list; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_module_ref( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * moduleref) { const axis2_char_t *svc_grp_name = NULL; AXIS2_PARAM_CHECK(env->error, moduleref, AXIS2_FAILURE); svc_grp_name = axis2_svc_grp_get_name(svc_grp, env); if (!svc_grp->module_list) { svc_grp->module_list = axutil_array_list_create(env, 0); if (!svc_grp->module_list) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating module list failed for service group %s", svc_grp_name); return AXIS2_FAILURE; } } return axutil_array_list_add(svc_grp->module_list, env, moduleref); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_grp_get_all_module_refs( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->module_list; } AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_svc_grp_get_svc_grp_ctx( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env, axis2_conf_ctx_t * parent) { axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; const axis2_char_t *svc_grp_name = NULL; AXIS2_PARAM_CHECK(env->error, parent, NULL); svc_grp_name = axis2_svc_grp_get_name(svc_grp, env); svc_grp_ctx = axis2_svc_grp_ctx_create(env, (axis2_svc_grp_t *) svc_grp, parent); if (!svc_grp_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating service group context failed for service group %s", svc_grp_name); return NULL; } return svc_grp_ctx; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_svc_grp_get_param_container( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->param_container; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_svc_grp_get_base( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env) { return svc_grp->base; } axis2c-src-1.6.0/src/core/engine/0000777000175000017500000000000011172017537017630 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/engine/soap_action_disp.c0000644000175000017500000001075611166304453023316 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include const axis2_char_t *AXIS2_SOAP_ACTION_DISP_NAME = "soap_action_based_dispatcher"; axis2_status_t AXIS2_CALL axis2_soap_action_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); axis2_svc_t *AXIS2_CALL axis2_soap_action_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); axis2_op_t *AXIS2_CALL axis2_soap_action_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc); axis2_disp_t *AXIS2_CALL axis2_soap_action_disp_create( const axutil_env_t * env) { axis2_disp_t *disp = NULL; axis2_handler_t *handler = NULL; axutil_string_t *name = NULL; name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_SOAP_ACTION_DISP_NAME); disp = axis2_disp_create(env, name); if (!disp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } handler = axis2_disp_get_base(disp, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); return NULL; } axis2_handler_set_invoke(handler, env, axis2_soap_action_disp_invoke); axutil_string_free(name, env); return disp; } axis2_svc_t *AXIS2_CALL axis2_soap_action_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for service using SOAPAction is not implemented"); return NULL; } axis2_op_t *AXIS2_CALL axis2_soap_action_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { const axis2_char_t *action = NULL; axutil_qname_t *name = NULL; axis2_op_t *op = NULL; AXIS2_PARAM_CHECK(env->error, svc, NULL); if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; action = axutil_string_get_buffer(axis2_msg_ctx_get_soap_action(msg_ctx, env), env); if (action) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for operation using SOAPAction : %s", action); if (!op) { const axis2_char_t *op_name = NULL; op_name = axutil_rindex(action, '/'); if (op_name) { op_name += 1; } else { op_name = action; } if (op_name) { op = axis2_svc_get_op_with_name(svc, env, op_name); } } if (!op) { name = axutil_qname_create(env, action, NULL, NULL); op = axis2_svc_get_op_with_qname(svc, env, name); axutil_qname_free(name, env); } if (op) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Operation found using SOAPAction"); } return op; } axis2_status_t AXIS2_CALL axis2_soap_action_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axis2_msg_ctx_set_find_svc(msg_ctx, env, axis2_soap_action_disp_find_svc); axis2_msg_ctx_set_find_op(msg_ctx, env, axis2_soap_action_disp_find_op); return axis2_disp_find_svc_and_op(handler, env, msg_ctx); } axis2c-src-1.6.0/src/core/engine/engine.c0000644000175000017500000010126311166304453021237 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include struct axis2_engine { /** Configuration context */ axis2_conf_ctx_t *conf_ctx; }; axis2_status_t axis2_engine_check_must_understand_headers( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); AXIS2_EXTERN axis2_engine_t *AXIS2_CALL axis2_engine_create( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx) { axis2_engine_t *engine = NULL; AXIS2_ENV_CHECK(env, NULL); engine = AXIS2_MALLOC(env->allocator, sizeof(axis2_engine_t)); if (!engine) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } engine->conf_ctx = NULL; if (conf_ctx) { engine->conf_ctx = conf_ctx; } return engine; } AXIS2_EXTERN void AXIS2_CALL axis2_engine_free( axis2_engine_t * engine, const axutil_env_t * env) { AXIS2_FREE(env->allocator, engine); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_send( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_status_t status = AXIS2_SUCCESS; axis2_op_ctx_t *op_ctx = NULL; axutil_array_list_t *phases = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "axis2_engine_send start"); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); /* Find and invoke the phases */ op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_op_t *op = axis2_op_ctx_get_op(op_ctx, env); if (op) { phases = axis2_op_get_out_flow(op, env); } } if (axis2_msg_ctx_is_paused(msg_ctx, env)) { /* Message has paused, so rerun it from the position it stopped. The handler which paused the message will be the first one to resume invocation */ status = axis2_engine_resume_invocation_phases(engine, env, phases, msg_ctx); if (status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Resuming invocation of phases failed"); return status; } conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_array_list_t *global_out_phase = axis2_conf_get_out_phases(conf, env); if (global_out_phase) { axis2_engine_invoke_phases(engine, env, global_out_phase, msg_ctx); } } } } else { status = axis2_engine_invoke_phases(engine, env, phases, msg_ctx); if (status != AXIS2_SUCCESS) { return status; } conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_array_list_t *global_out_phase = axis2_conf_get_out_phases(conf, env); if (global_out_phase) { axis2_engine_invoke_phases(engine, env, global_out_phase, msg_ctx); } } } } if (!(axis2_msg_ctx_is_paused(msg_ctx, env))) { /* Write the message to wire */ axis2_transport_sender_t *transport_sender = NULL; axis2_transport_out_desc_t *transport_out = axis2_msg_ctx_get_transport_out_desc(msg_ctx, env); if (transport_out) { transport_sender = axis2_transport_out_desc_get_sender(transport_out, env); if (!transport_sender) return AXIS2_FAILURE; status = AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx); if (status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport sender invoke failed"); return status; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport out is not set in message context"); return AXIS2_FAILURE; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "axis2_engine_send end successfully"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_receive( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_op_t *op = NULL; axutil_array_list_t *pre_calculated_phases = NULL; axutil_array_list_t *op_specific_phases = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Start:axis2_engine_receive"); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); conf = axis2_conf_ctx_get_conf(conf_ctx, env); pre_calculated_phases = axis2_conf_get_in_phases_upto_and_including_post_dispatch(conf, env); if (axis2_msg_ctx_is_paused(msg_ctx, env)) { /* The message has paused, so re-run them from the position they stopped. */ axis2_engine_resume_invocation_phases(engine, env, pre_calculated_phases, msg_ctx); if (axis2_msg_ctx_is_paused(msg_ctx, env)) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Message context is paused. So return here."); return AXIS2_SUCCESS; } /* Resume op specific phases */ op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { op = axis2_op_ctx_get_op(op_ctx, env); op_specific_phases = axis2_op_get_in_flow(op, env); axis2_engine_resume_invocation_phases(engine, env, op_specific_phases, msg_ctx); if (axis2_msg_ctx_is_paused(msg_ctx, env)) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Message context is paused. So return here."); return AXIS2_SUCCESS; } } } else { status = axis2_engine_invoke_phases(engine, env, pre_calculated_phases, msg_ctx); if (status != AXIS2_SUCCESS) { if (axis2_msg_ctx_get_server_side(msg_ctx, env)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invoking pre-calculated phases failed"); return status; } } if (axis2_msg_ctx_is_paused(msg_ctx, env)) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Message context is paused. So return here."); return AXIS2_SUCCESS; } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { op = axis2_op_ctx_get_op(op_ctx, env); op_specific_phases = axis2_op_get_in_flow(op, env); status = axis2_engine_invoke_phases(engine, env, op_specific_phases, msg_ctx); if (status != AXIS2_SUCCESS) { axis2_char_t *op_name = NULL; op_name = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invoking operation specific phases failed for operation %s", op_name); return status; } if (axis2_msg_ctx_is_paused(msg_ctx, env)) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Message context is paused. So return here."); return AXIS2_SUCCESS; } } } if ((axis2_msg_ctx_get_server_side(msg_ctx, env)) && !(axis2_msg_ctx_is_paused(msg_ctx, env))) { axis2_msg_recv_t *receiver = NULL; status = axis2_engine_check_must_understand_headers(env, msg_ctx); if (status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Check for must understand headers failed"); return status; } /* Invoke the message receivers */ if (!op) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Operation not found"); return AXIS2_FAILURE; } receiver = axis2_op_get_msg_recv(op, env); if (!receiver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Message receiver not set in operation description"); return AXIS2_FAILURE; } status = axis2_msg_recv_receive(receiver, env, msg_ctx, axis2_msg_recv_get_derived(receiver, env)); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_engine_receive"); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_send_fault( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_op_ctx_t *op_ctx = NULL; axis2_status_t status = AXIS2_SUCCESS; axutil_array_list_t *phases = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_op_t *op = axis2_op_ctx_get_op(op_ctx, env); if (op) { phases = axis2_op_get_fault_out_flow(op, env); } } if (axis2_msg_ctx_is_paused(msg_ctx, env)) { /* Message has paused, so rerun it from the position it stopped. The handler which paused the message will be the first one to resume invocation */ status = axis2_engine_resume_invocation_phases(engine, env, phases, msg_ctx); if (status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Resuming invoking the phases failed"); return status; } conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_array_list_t *global_out_fault_phase = axis2_conf_get_out_fault_flow(conf, env); if (global_out_fault_phase) { axis2_engine_invoke_phases(engine, env, global_out_fault_phase, msg_ctx); } } } } else { status = axis2_engine_invoke_phases(engine, env, phases, msg_ctx); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_array_list_t *global_out_fault_phase = axis2_conf_get_out_fault_flow(conf, env); if (global_out_fault_phase) { axis2_engine_invoke_phases(engine, env, global_out_fault_phase, msg_ctx); } } } } if (!(axis2_msg_ctx_is_paused(msg_ctx, env))) { /* Write the message to wire */ axis2_transport_sender_t *transport_sender = NULL; axis2_transport_out_desc_t *transport_out = axis2_msg_ctx_get_transport_out_desc(msg_ctx, env); if (transport_out) { transport_sender = axis2_transport_out_desc_get_sender(transport_out, env); if (transport_sender) { AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport sender not found"); return AXIS2_FAILURE; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Transport out is not set in message context"); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_receive_fault( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_op_ctx_t *op_ctx = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Start:axis2_engine_receive_fault"); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (!op_ctx) { /* If we do not have an op context that means this may be an incoming dual channel response. So try to dispatch the service */ axis2_conf_ctx_t *conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axis2_conf_t *conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { axutil_array_list_t *phases = axis2_conf_get_in_phases_upto_and_including_post_dispatch (conf, env); if (phases) { if (axis2_msg_ctx_is_paused(msg_ctx, env)) { axis2_engine_resume_invocation_phases(engine, env, phases, msg_ctx); } else { axis2_engine_invoke_phases(engine, env, phases, msg_ctx); } } } } } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); /* Find and execute the fault in flow handlers */ if (op_ctx) { axis2_op_t *op = axis2_op_ctx_get_op(op_ctx, env); axutil_array_list_t *phases = axis2_op_get_fault_in_flow(op, env); if (axis2_msg_ctx_is_paused(msg_ctx, env)) { axis2_engine_resume_invocation_phases(engine, env, phases, msg_ctx); } else { axis2_engine_invoke_phases(engine, env, phases, msg_ctx); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_engine_receive_fault"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_engine_create_fault_msg_ctx( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * processing_context, const axis2_char_t * code_value, const axis2_char_t * reason_text) { axis2_msg_ctx_t *fault_ctx = NULL; axis2_endpoint_ref_t *fault_to = NULL; axis2_endpoint_ref_t *reply_to = NULL; axutil_stream_t *stream = NULL; axiom_soap_envelope_t *envelope = NULL; const axis2_char_t *wsa_action = NULL; const axis2_char_t *msg_id = NULL; axis2_relates_to_t *relates_to = NULL; axis2_char_t *msg_uuid = NULL; axis2_msg_info_headers_t *msg_info_headers = NULL; axis2_bool_t doing_rest = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, processing_context, NULL); if (axis2_msg_ctx_get_process_fault(processing_context, env)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating fault message contex failed"); return NULL; } fault_ctx = axis2_msg_ctx_create(env, engine->conf_ctx, axis2_msg_ctx_get_transport_in_desc (processing_context, env), axis2_msg_ctx_get_transport_out_desc (processing_context, env)); axis2_msg_ctx_set_process_fault(fault_ctx, env, AXIS2_TRUE); fault_to = axis2_msg_ctx_get_fault_to(processing_context, env); if (fault_to) { const axis2_char_t *address = axis2_endpoint_ref_get_address(fault_to, env); if (!address) { fault_to = NULL; } else if (axutil_strcmp(AXIS2_WSA_NONE_URL, address) == 0 || axutil_strcmp(AXIS2_WSA_NONE_URL_SUBMISSION, address) == 0) { reply_to = axis2_msg_ctx_get_reply_to(processing_context, env); if (reply_to) { axis2_msg_ctx_set_fault_to(fault_ctx, env, reply_to); } else { axis2_msg_ctx_set_fault_to(fault_ctx, env, fault_to); } } else { axis2_msg_ctx_set_fault_to(fault_ctx, env, fault_to); } } stream = axis2_msg_ctx_get_transport_out_stream(processing_context, env); if (stream) { axis2_msg_ctx_set_transport_out_stream(fault_ctx, env, stream); } if (!fault_to && !stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NOWHERE_TO_SEND_FAULT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Soap fault target destination not found"); return NULL; } /* Set WSA action */ msg_info_headers = axis2_msg_ctx_get_msg_info_headers(processing_context, env); if (msg_info_headers) { wsa_action = axis2_msg_info_headers_get_action(msg_info_headers, env); if (wsa_action) { /* We have to use the action set by user, cannot use the default always. wsa_action = "http://www.w3.org/2005/08/addressing/fault"; */ axis2_msg_ctx_set_wsa_action(fault_ctx, env, wsa_action); } } /* Set relates to */ msg_id = axis2_msg_ctx_get_msg_id(processing_context, env); /* we can create with default Relates to namespace. Actual namespace based on addressing version will be created in addressing out handler */ relates_to = axis2_relates_to_create(env, msg_id, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE); axis2_msg_ctx_set_relates_to(fault_ctx, env, relates_to); /* Set msg id */ msg_uuid = axutil_uuid_gen(env); axis2_msg_ctx_set_message_id(fault_ctx, env, msg_uuid); if (msg_uuid) { AXIS2_FREE(env->allocator, msg_uuid); msg_uuid = NULL; } axis2_msg_ctx_set_op_ctx(fault_ctx, env, axis2_msg_ctx_get_op_ctx(processing_context, env)); axis2_msg_ctx_set_process_fault(fault_ctx, env, AXIS2_TRUE); axis2_msg_ctx_set_server_side(fault_ctx, env, AXIS2_TRUE); envelope = axis2_msg_ctx_get_fault_soap_envelope(processing_context, env); if (!envelope) { if (axis2_msg_ctx_get_is_soap_11(processing_context, env)) { envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, code_value, reason_text, AXIOM_SOAP11, NULL, NULL); } else { envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, code_value, reason_text, AXIOM_SOAP12, NULL, NULL); } if (!envelope) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Creating default soap envelope failed"); return NULL; } } doing_rest = axis2_msg_ctx_get_doing_rest (processing_context, env); axis2_msg_ctx_set_doing_rest (fault_ctx, env, doing_rest); axis2_msg_ctx_set_soap_envelope(fault_ctx, env, envelope); axis2_msg_ctx_set_out_transport_info(fault_ctx, env, axis2_msg_ctx_get_out_transport_info (processing_context, env)); return fault_ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_invoke_phases( axis2_engine_t * engine, const axutil_env_t * env, axutil_array_list_t * phases, axis2_msg_ctx_t * msg_ctx) { int i = 0; int count = 0; axis2_status_t status = AXIS2_SUCCESS; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Start:axis2_engine_invoke_phases"); AXIS2_PARAM_CHECK(env->error, phases, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); if (phases) count = axutil_array_list_size(phases, env); for (i = 0; (i < count && !(axis2_msg_ctx_is_paused(msg_ctx, env))); i++) { axis2_phase_t *phase = (axis2_phase_t *) axutil_array_list_get(phases, env, i); status = axis2_phase_invoke(phase, env, msg_ctx); if (status != AXIS2_SUCCESS) { const axis2_char_t *phase_name = axis2_phase_get_name(phase, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invoking phase %s failed", phase_name); return status; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "End:axis2_engine_invoke_phases"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_resume_invocation_phases( axis2_engine_t * engine, const axutil_env_t * env, axutil_array_list_t * phases, axis2_msg_ctx_t * msg_ctx) { int i = 0; int count = 0; axis2_bool_t found_match = AXIS2_FALSE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Start:axis2_engine_resume_invocation_phases"); AXIS2_PARAM_CHECK(env->error, phases, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); axis2_msg_ctx_set_paused(msg_ctx, env, AXIS2_FALSE); count = axutil_array_list_size(phases, env); for (i = 0; i < count && !(axis2_msg_ctx_is_paused(msg_ctx, env)); i++) { axis2_phase_t *phase = (axis2_phase_t *) axutil_array_list_get(phases, env, i); const axis2_char_t *phase_name = axis2_phase_get_name(phase, env); const axis2_char_t *paused_phase_name = axis2_msg_ctx_get_paused_phase_name(msg_ctx, env); /* Skip invoking handlers until we find the paused phase */ if (phase_name && paused_phase_name && 0 == axutil_strcmp(phase_name, paused_phase_name)) { int paused_handler_i = -1; found_match = AXIS2_TRUE; paused_handler_i = axis2_msg_ctx_get_current_handler_index(msg_ctx, env); /* Invoke the paused handler and rest of the handlers of the paused * phase */ axis2_phase_invoke_start_from_handler(phase, env, paused_handler_i, msg_ctx); } else { /* Now we have found the paused phase and invoked the rest of the * handlers of that phase, invoke all the phases after that */ if (found_match) { axis2_phase_invoke(phase, env, msg_ctx); } } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "End:axis2_engine_resume_invocation_phases"); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_engine_get_receiver_fault_code( const axis2_engine_t * engine, const axutil_env_t * env, const axis2_char_t * soap_namespace) { if (axutil_strcmp(AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI, soap_namespace)) return AXIOM_SOAP12_FAULT_CODE_RECEIVER; return AXIOM_SOAP11_FAULT_CODE_RECEIVER; } axis2_status_t axis2_engine_check_must_understand_headers( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_header_t *soap_header = NULL; axutil_hash_t *header_block_ht = NULL; axutil_hash_index_t *hash_index = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (!soap_envelope) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Soap envelope not found in message context"); return AXIS2_FAILURE; } soap_header = axiom_soap_envelope_get_header(soap_envelope, env); if (!soap_header) return AXIS2_SUCCESS; header_block_ht = axiom_soap_header_get_all_header_blocks(soap_header, env); if (!header_block_ht) return AXIS2_SUCCESS; for (hash_index = axutil_hash_first(header_block_ht, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { void *hb = NULL; axiom_soap_header_block_t *header_block = NULL; axis2_char_t *role = NULL; axutil_hash_this(hash_index, NULL, NULL, &hb); header_block = (axiom_soap_header_block_t *) hb; if (header_block) { if (axiom_soap_header_block_is_processed(header_block, env) || !axiom_soap_header_block_get_must_understand(header_block, env)) { continue; } /* If this header block is not targeted to me then its not my problem. Currently this code only supports the "next" role; we need to fix this to allow the engine/service to be in one or more additional roles and then to check that any headers targeted for that role too have been dealt with. */ role = axiom_soap_header_block_get_role(header_block, env); if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env) != AXIS2_TRUE) { /* SOAP 1.2 */ if (!role || axutil_strcmp(role, AXIOM_SOAP12_SOAP_ROLE_NEXT) != 0) { axiom_soap_envelope_t *temp_env = axiom_soap_envelope_create_default_soap_fault_envelope (env, "soapenv:MustUnderstand", "Header not understood", AXIOM_SOAP12, NULL, NULL); axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, temp_env); axis2_msg_ctx_set_wsa_action(msg_ctx, env, "http://www.w3.org/2005/08/addressing/fault"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Must understand soap fault occured"); return AXIS2_FAILURE; } } else { /* SOAP 1.1 */ if (!role || axutil_strcmp(role, AXIOM_SOAP11_SOAP_ACTOR_NEXT) != 0) { axiom_soap_envelope_t *temp_env = axiom_soap_envelope_create_default_soap_fault_envelope (env, "soapenv:MustUnderstand", "Header not understood", AXIOM_SOAP11, NULL, NULL); axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, temp_env); axis2_msg_ctx_set_wsa_action(msg_ctx, env, "http://www.w3.org/2005/08/addressing/fault"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Must understand soap fault occured"); return AXIS2_FAILURE; } } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_resume_receive( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_status_t status = AXIS2_FAILURE; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; axutil_array_list_t *phases = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Start:axis2_engine_resume_receive"); /* Find and invoke the phases */ conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); conf = axis2_conf_ctx_get_conf(conf_ctx, env); phases = axis2_conf_get_in_phases_upto_and_including_post_dispatch(conf, env); axis2_engine_resume_invocation_phases(engine, env, phases, msg_ctx); /* Invoking the message receiver */ if (axis2_msg_ctx_get_server_side(msg_ctx, env) && !axis2_msg_ctx_is_paused(msg_ctx, env)) { /* Invoke the message receivers */ axis2_op_ctx_t *op_ctx = NULL; status = axis2_engine_check_must_understand_headers(env, msg_ctx); if (status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Checking for must understand headers failed"); return status; } op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_op_t *op = axis2_op_ctx_get_op(op_ctx, env); if (op) { axis2_msg_recv_t *receiver = NULL; receiver = axis2_op_get_msg_recv(op, env); if (!receiver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Message receiver not set in operation description"); return AXIS2_FAILURE; } status = axis2_msg_recv_receive(receiver, env, msg_ctx, axis2_msg_recv_get_derived (receiver, env)); } } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_engine_resume_receive"); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_resume_send( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_op_ctx_t *op_ctx = NULL; axutil_array_list_t *phases = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Start:axis2_engine_resume_send"); /* Invoke the phases */ op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_op_t *op = axis2_op_ctx_get_op(op_ctx, env); if (op) { phases = axis2_op_get_out_flow(op, env); } } axis2_engine_resume_invocation_phases(engine, env, phases, msg_ctx); /* Invoking transport sender */ if (!axis2_msg_ctx_is_paused(msg_ctx, env)) { /* Write the message to the wire */ axis2_transport_out_desc_t *transport_out = NULL; axis2_transport_sender_t *sender = NULL; transport_out = axis2_msg_ctx_get_transport_out_desc(msg_ctx, env); if (transport_out) { sender = axis2_transport_out_desc_get_sender(transport_out, env); if (sender) { status = AXIS2_TRANSPORT_SENDER_INVOKE(sender, env, msg_ctx); } } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_engine_resume_send"); return status; } axis2c-src-1.6.0/src/core/engine/conf.c0000644000175000017500000016012711166304453020723 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axis2_disp_checker.h" #include #include #include #include #include struct axis2_conf { axutil_hash_t *svc_grps; axis2_transport_in_desc_t *transports_in[AXIS2_TRANSPORT_ENUM_MAX]; axis2_transport_out_desc_t *transports_out[AXIS2_TRANSPORT_ENUM_MAX]; /** * All the modules already engaged can be found here. */ axutil_array_list_t *engaged_module_list; /*To store all the available modules (including version) */ axutil_hash_t *all_modules; /*To store mapping between default version to module name */ axutil_hash_t *name_to_version_map; axutil_array_list_t *out_phases; axutil_array_list_t *in_fault_phases; axutil_array_list_t *out_fault_phases; /* All the system specific phases are stored here */ axutil_array_list_t *in_phases_upto_and_including_post_dispatch; axis2_phases_info_t *phases_info; axutil_hash_t *all_svcs; axutil_hash_t *all_init_svcs; axutil_hash_t *msg_recvs; axutil_hash_t *faulty_svcs; axutil_hash_t *faulty_modules; axis2_char_t *axis2_repo; axis2_char_t *axis2_xml; axis2_dep_engine_t *dep_engine; axutil_array_list_t *handlers; axis2_bool_t enable_mtom; /*This is used in rampart */ axis2_bool_t enable_security; /** Configuration parameter container */ axutil_param_container_t *param_container; /** Base description struct */ axis2_desc_t *base; /** Mark whether conf is built using axis2 xml*/ axis2_bool_t axis2_flag; /* This is a hack to keep rampart_context at client side */ void *security_context; }; AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_conf_create( const axutil_env_t * env) { axis2_conf_t *conf = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_phase_t *phase = NULL; int i = 0; AXIS2_ENV_CHECK(env, NULL); conf = (axis2_conf_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_conf_t)); if (!conf) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } memset ((void *)conf, 0, sizeof (axis2_conf_t)); conf->enable_mtom = AXIS2_FALSE; conf->enable_security = AXIS2_FALSE; conf->axis2_flag = AXIS2_FALSE; conf->param_container = (axutil_param_container_t *) axutil_param_container_create(env); if (!conf->param_container) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating parameter container failed"); return NULL; } conf->svc_grps = axutil_hash_make(env); if (!conf->svc_grps) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating service group map failed"); return NULL; } for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { conf->transports_in[i] = NULL; } for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { conf->transports_out[i] = NULL; } conf->engaged_module_list = axutil_array_list_create(env, 0); if (!conf->engaged_module_list) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating engaged module list failed"); return NULL; } conf->handlers = axutil_array_list_create(env, 0); if (!conf->handlers) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating handler list failed"); return NULL; } conf->in_phases_upto_and_including_post_dispatch = axutil_array_list_create(env, 0); if (!conf->in_phases_upto_and_including_post_dispatch) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating in phases list upto and including post dispatch failed"); return NULL; } else { axis2_disp_t *uri_dispatch = NULL; axis2_disp_t *add_dispatch = NULL; phase = axis2_phase_create(env, AXIS2_PHASE_TRANSPORT_IN); if (!phase) { axis2_conf_free(conf, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase %s failed", AXIS2_PHASE_TRANSPORT_IN); return NULL; } /* In case of using security we need to find the service/operation parameters before the * dispatch phase. This is required to give parameters to the security inflow.*/ uri_dispatch = axis2_req_uri_disp_create(env); if (uri_dispatch) { axis2_handler_t *handler = NULL; handler = axis2_disp_get_base(uri_dispatch, env); axis2_disp_free(uri_dispatch, env); axis2_phase_add_handler_at(phase, env, 0, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); } add_dispatch = axis2_addr_disp_create(env); if (add_dispatch) { axis2_handler_t *handler = NULL; handler = axis2_disp_get_base(add_dispatch, env); axis2_disp_free(add_dispatch, env); axis2_phase_add_handler_at(phase, env, 1, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); } status = axutil_array_list_add(conf-> in_phases_upto_and_including_post_dispatch, env, phase); if (AXIS2_FAILURE == status) { axis2_conf_free(conf, env); axis2_phase_free(phase, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding phase %s into in phases upto and including post "\ "dispatch list failed", AXIS2_PHASE_TRANSPORT_IN); return NULL; } phase = axis2_phase_create(env, AXIS2_PHASE_PRE_DISPATCH); if (!phase) { axis2_conf_free(conf, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase %s failed", AXIS2_PHASE_PRE_DISPATCH); return NULL; } status = axutil_array_list_add(conf-> in_phases_upto_and_including_post_dispatch, env, phase); if (AXIS2_FAILURE == status) { axis2_conf_free(conf, env); axis2_phase_free(phase, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding phase %s into in phases upto and including post "\ "dispatch list failed", AXIS2_PHASE_PRE_DISPATCH); return NULL; } } conf->all_svcs = axutil_hash_make(env); if (!conf->all_svcs) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating all services map failed"); return NULL; } conf->all_init_svcs = axutil_hash_make(env); if (!conf->all_init_svcs) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating all init services map failed"); return NULL; } conf->msg_recvs = axutil_hash_make(env); if (!conf->msg_recvs) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating message receivers map failed."); return NULL; } conf->faulty_svcs = axutil_hash_make(env); if (!conf->faulty_svcs) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating fault services map failed"); return NULL; } conf->faulty_modules = axutil_hash_make(env); if (!conf->faulty_modules) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating fault modules map failed"); return NULL; } conf->all_modules = axutil_hash_make(env); if (!conf->all_modules) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating all modules map failed"); return NULL; } conf->name_to_version_map = axutil_hash_make(env); if (!conf->name_to_version_map) { axis2_conf_free(conf, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating name to version map failed"); return NULL; } conf->base = axis2_desc_create(env); if (!conf->base) { axis2_conf_free(conf, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating Axis2 configuration base description failed"); return NULL; } return conf; } AXIS2_EXTERN void AXIS2_CALL axis2_conf_free( axis2_conf_t * conf, const axutil_env_t * env) { int i = 0; if (conf->param_container) { axutil_param_container_free(conf->param_container, env); } if (conf->svc_grps) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf->svc_grps, env); hi; hi = axutil_hash_next(env, hi)) { axis2_svc_grp_t *svc_grp = NULL; axutil_hash_this(hi, NULL, NULL, &val); svc_grp = (axis2_svc_grp_t *) val; if (svc_grp) axis2_svc_grp_free(svc_grp, env); } axutil_hash_free(conf->svc_grps, env); } for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { if (conf->transports_in[i]) { axis2_transport_in_desc_free(conf->transports_in[i], env); } } for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { if (conf->transports_out[i]) { axis2_transport_out_desc_free(conf->transports_out[i], env); } } if (conf->dep_engine) { axis2_dep_engine_free(conf->dep_engine, env); } if (conf->all_modules) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf->all_modules, env); hi; hi = axutil_hash_next(env, hi)) { axis2_module_desc_t *module_desc = NULL; axutil_hash_this(hi, NULL, NULL, &val); module_desc = (axis2_module_desc_t *) val; if (module_desc) { axis2_module_desc_free(module_desc, env); } } axutil_hash_free(conf->all_modules, env); } if (conf->name_to_version_map) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf->name_to_version_map, env); hi; hi = axutil_hash_next(env, hi)) { axis2_char_t *module_ver = NULL; axutil_hash_this(hi, NULL, NULL, &val); module_ver = (axis2_char_t *) val; if (module_ver) { AXIS2_FREE(env->allocator, module_ver); } } axutil_hash_free(conf->name_to_version_map, env); } if (conf->engaged_module_list) { int i = 0; for (i = 0; i < axutil_array_list_size(conf->engaged_module_list, env); i++) { axutil_qname_t *module_desc_qname = NULL; module_desc_qname = (axutil_qname_t *) axutil_array_list_get(conf->engaged_module_list, env, i); if (module_desc_qname) axutil_qname_free(module_desc_qname, env); } axutil_array_list_free(conf->engaged_module_list, env); } if (conf->out_phases) { int i = 0; for (i = 0; i < axutil_array_list_size(conf->out_phases, env); i++) { axis2_phase_t *phase = NULL; phase = (axis2_phase_t *) axutil_array_list_get(conf->out_phases, env, i); if (phase) axis2_phase_free(phase, env); } axutil_array_list_free(conf->out_phases, env); } if (conf->in_fault_phases) { int i = 0; for (i = 0; i < axutil_array_list_size(conf->in_fault_phases, env); i++) { axis2_phase_t *phase = NULL; phase = (axis2_phase_t *) axutil_array_list_get(conf->in_fault_phases, env, i); if (phase) axis2_phase_free(phase, env); } axutil_array_list_free(conf->in_fault_phases, env); } if (conf->out_fault_phases) { /*This is added because in a recent change this is cloned. */ int i = 0; for (i = 0; i < axutil_array_list_size(conf->out_fault_phases, env); i++) { axis2_phase_t *phase = NULL; phase = (axis2_phase_t *) axutil_array_list_get(conf->out_fault_phases, env, i); if (phase) axis2_phase_free(phase, env); } axutil_array_list_free(conf->out_fault_phases, env); } if (conf->in_phases_upto_and_including_post_dispatch) { int i = 0; for (i = 0; i < axutil_array_list_size(conf-> in_phases_upto_and_including_post_dispatch, env); i++) { axis2_phase_t *phase = NULL; phase = (axis2_phase_t *) axutil_array_list_get(conf-> in_phases_upto_and_including_post_dispatch, env, i); if (phase) axis2_phase_free(phase, env); } axutil_array_list_free(conf-> in_phases_upto_and_including_post_dispatch, env); } if (conf->all_svcs) { axutil_hash_free(conf->all_svcs, env); } if (conf->all_init_svcs) { axutil_hash_free(conf->all_init_svcs, env); } if (conf->msg_recvs) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf->msg_recvs, env); hi; hi = axutil_hash_next(env, hi)) { axis2_msg_recv_t *msg_recv = NULL; axutil_hash_this(hi, NULL, NULL, &val); msg_recv = (axis2_msg_recv_t *) val; if (msg_recv) { axis2_msg_recv_free(msg_recv, env); msg_recv = NULL; } } axutil_hash_free(conf->msg_recvs, env); } if (conf->faulty_svcs) { axutil_hash_free(conf->faulty_svcs, env); } if (conf->faulty_modules) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(conf->faulty_modules, env); hi; hi = axutil_hash_next(env, hi)) { axis2_module_desc_t *module_desc = NULL; axutil_hash_this(hi, NULL, NULL, &val); module_desc = (axis2_module_desc_t *) val; if (module_desc) axis2_module_desc_free(module_desc, env); } axutil_hash_free(conf->faulty_modules, env); } if (conf->handlers) { int i = 0; for (i = 0; i < axutil_array_list_size(conf->handlers, env); i++) { axis2_handler_desc_t *handler_desc = NULL; handler_desc = (axis2_handler_desc_t *) axutil_array_list_get(conf->handlers, env, i); if (handler_desc) axis2_handler_desc_free(handler_desc, env); } axutil_array_list_free(conf->handlers, env); } if (conf->axis2_repo) { AXIS2_FREE(env->allocator, conf->axis2_repo); } if (conf->base) { axis2_desc_free(conf->base, env); } if (conf->axis2_xml) { AXIS2_FREE (env->allocator, conf->axis2_xml); } if (conf) { AXIS2_FREE(env->allocator, conf); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_svc_grp( axis2_conf_t * conf, const axutil_env_t * env, axis2_svc_grp_t * svc_grp) { axutil_hash_t *svcs = NULL; axutil_hash_index_t *index_i = NULL; axis2_char_t *svc_name = NULL; const axis2_char_t *svc_grp_name = NULL; int k = 0; AXIS2_PARAM_CHECK(env->error, svc_grp, AXIS2_FAILURE); svcs = axis2_svc_grp_get_all_svcs(svc_grp, env); if (!conf->all_svcs) { conf->all_svcs = axutil_hash_make(env); if (!conf->all_svcs) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating all services map failed"); return AXIS2_FAILURE; } } k = axutil_hash_count(svcs); index_i = axutil_hash_first(svcs, env); while (index_i) { void *value = NULL; axis2_svc_t *desc = NULL; axis2_svc_t *temp_svc = NULL; const axutil_qname_t *svc_qname = NULL; axutil_hash_this(index_i, NULL, NULL, &value); desc = (axis2_svc_t *) value; svc_qname = axis2_svc_get_qname(desc, env); svc_name = axutil_qname_get_localpart(svc_qname, env); temp_svc = axutil_hash_get(conf->all_svcs, svc_name, AXIS2_HASH_KEY_STRING); /* No two service names deployed in the engine can be same */ if (temp_svc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "There is already a service called %s in the all services list of axis2 configuration.", svc_name); return AXIS2_FAILURE; } index_i = axutil_hash_next(env, index_i); } svcs = axis2_svc_grp_get_all_svcs(svc_grp, env); index_i = axutil_hash_first(svcs, env); while (index_i) { void *value = NULL; axis2_svc_t *desc = NULL; axutil_hash_this(index_i, NULL, NULL, &value); desc = (axis2_svc_t *) value; svc_name = axutil_qname_get_localpart(axis2_svc_get_qname(desc, env), env); axutil_hash_set(conf->all_svcs, svc_name, AXIS2_HASH_KEY_STRING, desc); index_i = axutil_hash_next(env, index_i); } svc_grp_name = axis2_svc_grp_get_name(svc_grp, env); if (!conf->svc_grps) { conf->svc_grps = axutil_hash_make(env); if (!conf->svc_grps) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating service group map failed"); return AXIS2_FAILURE; } } axutil_hash_set(conf->svc_grps, svc_grp_name, AXIS2_HASH_KEY_STRING, svc_grp); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_conf_get_svc_grp( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * svc_grp_name) { AXIS2_PARAM_CHECK(env->error, svc_grp_name, NULL); if (!conf->svc_grps) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_CONF, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Axis2 configuration does not contain a service group map"); return NULL; } return (axis2_svc_grp_t *) (axutil_hash_get(conf->svc_grps, svc_grp_name, AXIS2_HASH_KEY_STRING)); } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_svc_grps( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->svc_grps; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_svc( axis2_conf_t * conf, const axutil_env_t * env, axis2_svc_t * svc) { axis2_phase_resolver_t *phase_resolver = NULL; axis2_svc_grp_t *svc_grp = NULL; const axis2_char_t *svc_grp_name = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE); /* We need to first create a service group with the same name as the * service and make it the parent of service */ svc_grp_name = axis2_svc_get_name(svc, env); if (!svc_grp_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service has no name set"); return AXIS2_FAILURE; } svc_grp = axis2_svc_grp_create(env); if (!svc_grp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating service group as parent of service %s failed", svc_grp_name); return AXIS2_FAILURE; } status = axis2_svc_grp_set_name(svc_grp, env, svc_grp_name); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name to service group failed"); return status; } status = axis2_svc_grp_set_parent(svc_grp, env, conf); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting parent to service group %s failed", svc_grp_name); return status; } phase_resolver = axis2_phase_resolver_create_with_config_and_svc(env, conf, svc); if (!phase_resolver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase resolver failed for service %s", axis2_svc_get_name(svc, env)); return AXIS2_FAILURE; } status = axis2_phase_resolver_build_execution_chains_for_svc(phase_resolver, env); axis2_phase_resolver_free(phase_resolver, env); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Building chains failed within phase resolver for service %s", axis2_svc_get_name(svc, env)); return status; } status = axis2_svc_grp_add_svc(svc_grp, env, svc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding service %s to service group %s failed", svc_grp_name, svc_grp_name); return status; } status = axis2_conf_add_svc_grp(conf, env, svc_grp); return status; } AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_conf_get_svc( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * svc_name) { AXIS2_PARAM_CHECK(env->error, svc_name, NULL); return axutil_hash_get(conf->all_svcs, svc_name, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_remove_svc( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * svc_name) { AXIS2_PARAM_CHECK(env->error, svc_name, AXIS2_FAILURE); axutil_hash_set(conf->all_svcs, svc_name, AXIS2_HASH_KEY_STRING, NULL); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_param( axis2_conf_t * conf, const axutil_env_t * env, axutil_param_t * param) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *param_name = axutil_param_get_name(param, env); AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); if (axis2_conf_is_param_locked(conf, env, param_name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Parameter %s is locked for Axis2 configuration", param_name); return AXIS2_FAILURE; } else { status = axutil_param_container_add_param(conf->param_container, env, param); } return status; } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_conf_get_param( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * name) { AXIS2_PARAM_CHECK(env->error, name, NULL); if (!conf->param_container) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Param container is not set in axis2 configuraion"); return NULL; } return axutil_param_container_get_param(conf->param_container, env, name); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_all_params( const axis2_conf_t * conf, const axutil_env_t * env) { return axutil_param_container_get_params(conf->param_container, env); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_is_param_locked( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * param_name) { axutil_param_t *param = NULL; AXIS2_PARAM_CHECK(env->error, param_name, AXIS2_FALSE); param = axis2_conf_get_param(conf, env, param_name); return (param && axutil_param_is_locked(param, env)); } AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL axis2_conf_get_transport_in( const axis2_conf_t * conf, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum) { return (axis2_transport_in_desc_t *) conf->transports_in[trans_enum]; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_transport_in( axis2_conf_t * conf, const axutil_env_t * env, axis2_transport_in_desc_t * transport, const AXIS2_TRANSPORT_ENUMS trans_enum) { AXIS2_PARAM_CHECK(env->error, transport, AXIS2_FAILURE); conf->transports_in[trans_enum] = transport; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_conf_get_transport_out( const axis2_conf_t * conf, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum) { return conf->transports_out[trans_enum]; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_transport_out( axis2_conf_t * conf, const axutil_env_t * env, axis2_transport_out_desc_t * transport, const AXIS2_TRANSPORT_ENUMS trans_enum) { AXIS2_PARAM_CHECK(env->error, transport, AXIS2_FAILURE); conf->transports_out[trans_enum] = transport; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_transport_in_desc_t **AXIS2_CALL axis2_conf_get_all_in_transports( const axis2_conf_t * conf, const axutil_env_t * env) { return (axis2_transport_in_desc_t **) conf->transports_in; } AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_conf_get_module( const axis2_conf_t * conf, const axutil_env_t * env, const axutil_qname_t * qname) { axis2_char_t *name = NULL; axis2_module_desc_t *ret = NULL; axis2_char_t *module_name = NULL; axutil_qname_t *mod_qname = NULL; const axis2_char_t *def_mod_ver = NULL; AXIS2_PARAM_CHECK(env->error, qname, NULL); name = axutil_qname_to_string((axutil_qname_t *) qname, env); ret = (axis2_module_desc_t *) axutil_hash_get(conf->all_modules, name, AXIS2_HASH_KEY_STRING); if (ret) { return ret; } module_name = axutil_qname_get_localpart(qname, env); if (!module_name) { return NULL; } def_mod_ver = axis2_conf_get_default_module_version(conf, env, module_name); mod_qname = axis2_core_utils_get_module_qname(env, name, def_mod_ver); if (!mod_qname) { return NULL; } name = axutil_qname_to_string(mod_qname, env); ret = (axis2_module_desc_t *) axutil_hash_get(conf->all_modules, name, AXIS2_HASH_KEY_STRING); axutil_qname_free(mod_qname, env); mod_qname = NULL; return ret; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_all_engaged_modules( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->engaged_module_list; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_in_phases_upto_and_including_post_dispatch( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->in_phases_upto_and_including_post_dispatch; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_out_flow( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->out_phases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_in_fault_flow( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->in_fault_phases; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_out_fault_flow( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->out_fault_phases; } AXIS2_EXTERN axis2_transport_out_desc_t **AXIS2_CALL axis2_conf_get_all_out_transports( const axis2_conf_t * conf, const axutil_env_t * env) { return (axis2_transport_out_desc_t **) conf->transports_out; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_faulty_svcs( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->faulty_svcs; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_faulty_modules( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->faulty_modules; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_svcs( const axis2_conf_t * conf, const axutil_env_t * env) { axutil_hash_t *sgs = NULL; axutil_hash_index_t *index_i = NULL; axutil_hash_index_t *index_j = NULL; void *value = NULL; void *value2 = NULL; axis2_svc_grp_t *axis_svc_grp = NULL; axutil_hash_t *svcs = NULL; axis2_svc_t *svc = NULL; axis2_char_t *svc_name = NULL; /* Do we need to do all the following of retrieving all service groups and * then add all services from each group to conf->all_svcs and then finally * return conf->all_svcs?. We have already done this when * adding each service group to the conf, so just returning conf->all_svcs * here would be enough - Damitha */ sgs = axis2_conf_get_all_svc_grps(conf, env); index_i = axutil_hash_first(sgs, env); while (index_i) { axutil_hash_this(index_i, NULL, NULL, &value); axis_svc_grp = (axis2_svc_grp_t *) value; svcs = axis2_svc_grp_get_all_svcs(axis_svc_grp, env); index_j = axutil_hash_first(svcs, env); while (index_j) { axutil_hash_this(index_j, NULL, NULL, &value2); svc = (axis2_svc_t *) value2; svc_name = axutil_qname_get_localpart(axis2_svc_get_qname(svc, env), env); axutil_hash_set(conf->all_svcs, svc_name, AXIS2_HASH_KEY_STRING, svc); index_j = axutil_hash_next(env, index_j); } index_i = axutil_hash_next(env, index_i); } return conf->all_svcs; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_svcs_to_load( const axis2_conf_t * conf, const axutil_env_t * env) { axutil_hash_t *sgs = NULL; axutil_hash_index_t *index_i = NULL; axutil_hash_index_t *index_j = NULL; void *value = NULL; void *value2 = NULL; axis2_svc_grp_t *axis_svc_grp = NULL; axutil_hash_t *svcs = NULL; axis2_svc_t *svc = NULL; axis2_char_t *svc_name = NULL; sgs = axis2_conf_get_all_svc_grps(conf, env); index_i = axutil_hash_first(sgs, env); while (index_i) { axutil_hash_this(index_i, NULL, NULL, &value); axis_svc_grp = (axis2_svc_grp_t *) value; svcs = axis2_svc_grp_get_all_svcs(axis_svc_grp, env); index_j = axutil_hash_first(svcs, env); while (index_j) { axutil_param_t *param = NULL; axutil_hash_this(index_j, NULL, NULL, &value2); svc = (axis2_svc_t *) value2; svc_name = axutil_qname_get_localpart(axis2_svc_get_qname(svc, env), env); param = axis2_svc_get_param(svc, env, AXIS2_LOAD_SVC_STARTUP); if (param) axutil_hash_set(conf->all_init_svcs, svc_name, AXIS2_HASH_KEY_STRING, svc); index_j = axutil_hash_next(env, index_j); } index_i = axutil_hash_next(env, index_i); } return conf->all_init_svcs; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_is_engaged( axis2_conf_t * conf, const axutil_env_t * env, const axutil_qname_t * module_name) { const axutil_qname_t *def_mod_qname = NULL; axis2_module_desc_t *def_mod = NULL; int i = 0; int size = 0; AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FALSE); def_mod = axis2_conf_get_default_module(conf, env, axutil_qname_get_localpart(module_name, env)); if (def_mod) { def_mod_qname = axis2_module_desc_get_qname(def_mod, env); } size = axutil_array_list_size(conf->engaged_module_list, env); for (i = 0; i < size; i++) { axutil_qname_t *qname = NULL; qname = (axutil_qname_t *) axutil_array_list_get(conf->engaged_module_list, env, i); if (axutil_qname_equals(module_name, env, qname) || (def_mod_qname && axutil_qname_equals(def_mod_qname, env, qname))) { return AXIS2_TRUE; } } return AXIS2_FALSE; } AXIS2_EXTERN axis2_phases_info_t *AXIS2_CALL axis2_conf_get_phases_info( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->phases_info; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_phases_info( axis2_conf_t * conf, const axutil_env_t * env, axis2_phases_info_t * phases_info) { AXIS2_PARAM_CHECK(env->error, phases_info, AXIS2_FAILURE); if (conf->phases_info) { axis2_phases_info_free(phases_info, env); conf->phases_info = NULL; } conf->phases_info = phases_info; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_msg_recv( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * key, axis2_msg_recv_t * msg_recv) { AXIS2_PARAM_CHECK(env->error, key, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_recv, AXIS2_FAILURE); if (!conf->msg_recvs) { conf->msg_recvs = axutil_hash_make(env); if (!conf->msg_recvs) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating message receiver map failed"); return AXIS2_FAILURE; } } axutil_hash_set(conf->msg_recvs, key, AXIS2_HASH_KEY_STRING, msg_recv); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_conf_get_msg_recv( const axis2_conf_t * conf, const axutil_env_t * env, axis2_char_t * key) { return (axis2_msg_recv_t *) axutil_hash_get(conf->msg_recvs, key, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_out_phases( axis2_conf_t * conf, const axutil_env_t * env, axutil_array_list_t * out_phases) { AXIS2_PARAM_CHECK(env->error, out_phases, AXIS2_FAILURE); if (conf->out_phases) { axutil_array_list_free(conf->out_phases, env); conf->out_phases = NULL; } conf->out_phases = out_phases; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_out_phases( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->out_phases; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_in_fault_phases( axis2_conf_t * conf, const axutil_env_t * env, axutil_array_list_t * list) { AXIS2_PARAM_CHECK(env->error, list, AXIS2_FAILURE); if (conf->in_fault_phases) { axutil_array_list_free(conf->in_fault_phases, env); conf->in_fault_phases = NULL; } conf->in_fault_phases = list; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_out_fault_phases( axis2_conf_t * conf, const axutil_env_t * env, axutil_array_list_t * list) { AXIS2_PARAM_CHECK(env->error, list, AXIS2_FAILURE); if (conf->out_fault_phases) { axutil_array_list_free(conf->out_fault_phases, env); conf->out_fault_phases = NULL; } conf->out_fault_phases = list; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_modules( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->all_modules; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_module( axis2_conf_t * conf, const axutil_env_t * env, axis2_module_desc_t * module) { const axutil_qname_t *module_qname = NULL; AXIS2_PARAM_CHECK(env->error, module, AXIS2_FAILURE); axis2_module_desc_set_parent(module, env, conf); module_qname = axis2_module_desc_get_qname(module, env); if (module_qname) { axis2_char_t *module_name = NULL; module_name = axutil_qname_to_string((axutil_qname_t *) module_qname, env); axutil_hash_set(conf->all_modules, module_name, AXIS2_HASH_KEY_STRING, module); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_default_dispatchers( axis2_conf_t * conf, const axutil_env_t * env) { axis2_phase_t *dispatch = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_disp_t *rest_dispatch = NULL; axis2_disp_t *soap_action_based_dispatch = NULL; axis2_disp_t *soap_msg_body_based_dispatch = NULL; axis2_handler_t *handler = NULL; axis2_phase_t *post_dispatch = NULL; axis2_disp_checker_t *disp_checker = NULL; dispatch = axis2_phase_create(env, AXIS2_PHASE_DISPATCH); if (!dispatch) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase %s failed", AXIS2_PHASE_DISPATCH); return AXIS2_FAILURE; } rest_dispatch = axis2_rest_disp_create(env); if (!rest_dispatch) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating rest dispatcher failed"); return AXIS2_FAILURE; } handler = axis2_disp_get_base(rest_dispatch, env); axis2_disp_free(rest_dispatch, env); axis2_phase_add_handler_at(dispatch, env, 0, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); soap_msg_body_based_dispatch = axis2_soap_body_disp_create(env); if (!soap_msg_body_based_dispatch) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating soap body based dispatcher failed"); return AXIS2_FAILURE; } handler = axis2_disp_get_base(soap_msg_body_based_dispatch, env); axis2_disp_free(soap_msg_body_based_dispatch, env); axis2_phase_add_handler_at(dispatch, env, 1, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); soap_action_based_dispatch = axis2_soap_action_disp_create(env); if (!soap_action_based_dispatch) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating soap action based dispatcher failed"); return AXIS2_FAILURE; } handler = axis2_disp_get_base(soap_action_based_dispatch, env); axis2_disp_free(soap_action_based_dispatch, env); axis2_phase_add_handler_at(dispatch, env, 2, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); status = axutil_array_list_add(conf-> in_phases_upto_and_including_post_dispatch, env, dispatch); if (AXIS2_SUCCESS != status) { axis2_phase_free(dispatch, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding dispatcher into in phases upto and including post "\ "dispatch list failed"); return status; } post_dispatch = axis2_phase_create(env, AXIS2_PHASE_POST_DISPATCH); if (!post_dispatch) { axis2_phase_free(dispatch, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase %s failed", AXIS2_PHASE_POST_DISPATCH); return AXIS2_FAILURE; } disp_checker = axis2_disp_checker_create(env); handler = axis2_disp_checker_get_base(disp_checker, env); axis2_disp_checker_free(disp_checker, env); axis2_phase_add_handler_at(post_dispatch, env, 0, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); handler = axis2_ctx_handler_create(env, NULL); axis2_phase_add_handler_at(post_dispatch, env, 1, handler); axutil_array_list_add(conf->handlers, env, axis2_handler_get_handler_desc(handler, env)); status = axutil_array_list_add(conf-> in_phases_upto_and_including_post_dispatch, env, post_dispatch); if (AXIS2_SUCCESS != status) { axis2_phase_free(dispatch, env); axis2_phase_free(post_dispatch, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding post dispatcher into in phases upto and including post "\ "dispatch list failed"); return status; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_dispatch_phase( axis2_conf_t * conf, const axutil_env_t * env, axis2_phase_t * dispatch) { axis2_status_t status = AXIS2_FAILURE; axis2_handler_t *handler = NULL; axis2_phase_t *post_dispatch = NULL; axis2_disp_checker_t *disp_checker = NULL; AXIS2_PARAM_CHECK(env->error, dispatch, AXIS2_FAILURE); status = axutil_array_list_add(conf-> in_phases_upto_and_including_post_dispatch, env, dispatch); if (AXIS2_FAILURE == status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding dispatcher into in phases upto and including post "\ "dispatch list failed"); return AXIS2_FAILURE; } post_dispatch = axis2_phase_create(env, AXIS2_PHASE_POST_DISPATCH); if (!post_dispatch) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Creating phase %s failed", AXIS2_PHASE_POST_DISPATCH); axis2_phase_free(dispatch, env); return AXIS2_FAILURE; } disp_checker = axis2_disp_checker_create(env); handler = axis2_disp_checker_get_base(disp_checker, env); axis2_phase_add_handler_at(post_dispatch, env, 0, handler); status = axutil_array_list_add(conf-> in_phases_upto_and_including_post_dispatch, env, post_dispatch); if (AXIS2_FAILURE == status) { axis2_phase_free(dispatch, env); axis2_phase_free(post_dispatch, env); axis2_disp_checker_free(disp_checker, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding post dispatcher into in phases upto and including post "\ "dispatch list failed"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } /** * For each module reference qname stored in dep_engine this function is called. * All module_desc instances are stored in axis2_conf. So each module_desc * is retrieved from there by giving module_qname and engaged globally by * calling phase_resolvers engage_module_globally function. Modules are added * to axis2_conf's engaged module list. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_engage_module( axis2_conf_t * conf, const axutil_env_t * env, const axutil_qname_t * module_ref) { axis2_module_desc_t *module_desc = NULL; axis2_bool_t is_new_module = AXIS2_FALSE; axis2_bool_t to_be_engaged = AXIS2_TRUE; axis2_dep_engine_t *dep_engine = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *file_name = NULL; AXIS2_PARAM_CHECK(env->error, module_ref, AXIS2_FAILURE); AXIS2_PARAM_CHECK (env->error, conf, AXIS2_FAILURE); module_desc = axis2_conf_get_module(conf, env, module_ref); if (!module_desc) { axutil_file_t *file = NULL; const axis2_char_t *repos_path = NULL; axis2_arch_file_data_t *file_data = NULL; axis2_char_t *temp_path1 = NULL; axis2_char_t *temp_path2 = NULL; axis2_char_t *temp_path3 = NULL; axis2_char_t *path = NULL; axutil_param_t *module_dir_param = NULL; axis2_char_t *module_dir = NULL; axis2_bool_t flag; axis2_char_t *axis2_xml = NULL; file_name = axutil_qname_get_localpart(module_ref, env); file = (axutil_file_t *) axis2_arch_reader_create_module_arch(env, file_name); /* This flag is to check whether conf is built using axis2 * xml configuration file instead of a repository. */ flag = axis2_conf_get_axis2_flag (conf, env); if (!flag) { repos_path = axis2_conf_get_repo(conf, env); temp_path1 = axutil_stracat(env, repos_path, AXIS2_PATH_SEP_STR); temp_path2 = axutil_stracat(env, temp_path1, AXIS2_MODULE_FOLDER); temp_path3 = axutil_stracat(env, temp_path2, AXIS2_PATH_SEP_STR); path = axutil_stracat(env, temp_path3, file_name); AXIS2_FREE(env->allocator, temp_path1); AXIS2_FREE(env->allocator, temp_path2); AXIS2_FREE(env->allocator, temp_path3); } else { /** * This case is to obtain module path from the axis2.xml */ axis2_xml = (axis2_char_t *)axis2_conf_get_axis2_xml (conf, env); module_dir_param = axis2_conf_get_param (conf, env, AXIS2_MODULE_DIR); if (module_dir_param) { module_dir = (axis2_char_t *) axutil_param_get_value (module_dir_param, env); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "moduleDir parameter not available in axis2.xml."); return AXIS2_FAILURE; } temp_path1 = axutil_strcat (env, module_dir, AXIS2_PATH_SEP_STR, NULL); path = axutil_strcat (env, temp_path1, file_name, NULL); } axutil_file_set_path(file, env, path); file_data = axis2_arch_file_data_create_with_type_and_file(env, AXIS2_MODULE, file); if (!flag) { dep_engine = axis2_dep_engine_create_with_repos_name(env, repos_path); } else { dep_engine = axis2_dep_engine_create_with_axis2_xml (env, axis2_xml); } axis2_dep_engine_set_current_file_item(dep_engine, env, file_data); /* this module_dir set the path of the module directory * petaining to this module. This value will use inside the * axis2_dep_engine_build_module function */ axis2_dep_engine_set_module_dir (dep_engine, env, path); if (path) { AXIS2_FREE (env->allocator, path); } if (file_data) { axis2_arch_file_data_free(file_data, env); } module_desc = axis2_dep_engine_build_module(dep_engine, env, file, conf); axutil_file_free (file, env); is_new_module = AXIS2_TRUE; } if (module_desc) { int size = 0; int i = 0; const axutil_qname_t *module_qname = NULL; size = axutil_array_list_size(conf->engaged_module_list, env); module_qname = axis2_module_desc_get_qname(module_desc, env); for (i = 0; i < size; i++) { axutil_qname_t *qname = NULL; qname = (axutil_qname_t *) axutil_array_list_get(conf->engaged_module_list, env, i); if (axutil_qname_equals(module_qname, env, qname)) { to_be_engaged = AXIS2_FALSE; } } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODULE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Either module description not set or building"\ "module description failed for module %s", file_name); return AXIS2_FAILURE; } if (to_be_engaged) { axis2_phase_resolver_t *phase_resolver = NULL; axutil_qname_t *module_qref_l = NULL; const axutil_qname_t *module_qname = NULL; axis2_char_t *module_name = NULL; module_qname = axis2_module_desc_get_qname(module_desc, env); module_name = axutil_qname_get_localpart(module_qname, env); phase_resolver = axis2_phase_resolver_create_with_config(env, conf); if (!phase_resolver) { return AXIS2_FAILURE; } status = axis2_phase_resolver_engage_module_globally(phase_resolver, env, module_desc); axis2_phase_resolver_free(phase_resolver, env); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Engaging module %s globally failed", module_name); return status; } module_qref_l = axutil_qname_clone((axutil_qname_t *) module_qname, env); status = axutil_array_list_add(conf->engaged_module_list, env, module_qref_l); } if (is_new_module) { status = axis2_conf_add_module(conf, env, module_desc); } return status; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_get_repo( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->axis2_repo; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_repo( axis2_conf_t * conf, const axutil_env_t * env, axis2_char_t * repos_path) { if (conf->axis2_repo) { AXIS2_FREE(env->allocator, conf->axis2_repo); conf->axis2_repo = NULL; } conf->axis2_repo = axutil_strdup(env, repos_path); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_get_axis2_xml( const axis2_conf_t * conf, const axutil_env_t * env) { return axutil_strdup (env, conf->axis2_xml); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_axis2_xml( axis2_conf_t * conf, const axutil_env_t * env, axis2_char_t * axis2_xml) { AXIS2_PARAM_CHECK (env->error, axis2_xml, AXIS2_FAILURE); conf->axis2_xml = axutil_strdup(env, axis2_xml); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_dep_engine( axis2_conf_t * conf, const axutil_env_t * env, axis2_dep_engine_t * dep_engine) { conf->dep_engine = dep_engine; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_get_default_module_version( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name) { axutil_hash_t *def_ver_map = NULL; AXIS2_PARAM_CHECK(env->error, module_name, NULL); def_ver_map = conf->name_to_version_map; if (!def_ver_map) { return NULL; } return axutil_hash_get(def_ver_map, module_name, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_conf_get_default_module( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name) { axis2_module_desc_t *ret_mod = NULL; axis2_char_t *mod_name = NULL; const axis2_char_t *mod_ver = NULL; axutil_hash_t *all_modules = NULL; axutil_qname_t *mod_qname = NULL; AXIS2_PARAM_CHECK(env->error, module_name, NULL); all_modules = conf->all_modules; mod_ver = axis2_conf_get_default_module_version(conf, env, module_name); if (!mod_ver) { mod_name = axutil_strdup(env, module_name); } else { axis2_char_t *tmp_name = NULL; tmp_name = axutil_stracat(env, module_name, "-"); mod_name = axutil_stracat(env, tmp_name, mod_ver); AXIS2_FREE(env->allocator, tmp_name); } mod_qname = axutil_qname_create(env, mod_name, NULL, NULL); AXIS2_FREE(env->allocator, mod_name); mod_name = NULL; if (!mod_qname) { return NULL; } ret_mod = (axis2_module_desc_t *) axutil_hash_get(all_modules, axutil_qname_to_string (mod_qname, env), AXIS2_HASH_KEY_STRING); return ret_mod; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_default_module_version( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name, const axis2_char_t * module_version) { axutil_hash_t *name_to_ver_map = NULL; AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_version, AXIS2_FAILURE); /* * If we already have a default module version we don't put * it again */ name_to_ver_map = conf->name_to_version_map; if (!axutil_hash_get(name_to_ver_map, module_name, AXIS2_HASH_KEY_STRING)) { axis2_char_t *new_entry = axutil_strdup(env, module_version); if (!new_entry) { return AXIS2_FAILURE; } axutil_hash_set(name_to_ver_map, module_name, AXIS2_HASH_KEY_STRING, new_entry); return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_engage_module_with_version( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name, const axis2_char_t * version_id) { axutil_qname_t *module_qname = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); module_qname = axis2_core_utils_get_module_qname(env, module_name, version_id); if (!module_qname) { return AXIS2_FAILURE; } status = axis2_conf_engage_module(conf, env, module_qname); axutil_qname_free(module_qname, env); return status; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_get_enable_mtom( axis2_conf_t * conf, const axutil_env_t * env) { return conf->enable_mtom; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_enable_mtom( axis2_conf_t * conf, const axutil_env_t * env, axis2_bool_t enable_mtom) { conf->enable_mtom = enable_mtom; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_get_axis2_flag( axis2_conf_t * conf, const axutil_env_t * env) { return conf->axis2_flag; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_axis2_flag( axis2_conf_t * conf, const axutil_env_t * env, axis2_bool_t axis2_flag) { conf->axis2_flag = axis2_flag; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_get_enable_security( axis2_conf_t * conf, const axutil_env_t * env) { return conf->enable_security; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_enable_security( axis2_conf_t * conf, const axutil_env_t * env, axis2_bool_t enable_security) { AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); conf->enable_security = enable_security; return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axis2_conf_get_security_context( axis2_conf_t * conf, const axutil_env_t * env) { return conf->security_context; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_security_context( axis2_conf_t * conf, const axutil_env_t * env, void *security_context) { AXIS2_PARAM_CHECK(env->error, conf, AXIS2_FAILURE); conf->security_context = (void *) security_context; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_conf_get_param_container( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->param_container; } AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_conf_get_base( const axis2_conf_t * conf, const axutil_env_t * env) { return conf->base; } AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL axis2_conf_get_handlers(const axis2_conf_t * conf, const axutil_env_t * env) { return conf->handlers; } axis2c-src-1.6.0/src/core/engine/disp.c0000644000175000017500000001047511166304453020735 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include const axis2_char_t *AXIS2_DISP_NAME = "abstract_dispatcher"; struct axis2_disp { /** base class, inherits from handler */ axis2_handler_t *base; /** phase name */ axutil_string_t *name; /** derived struct */ void *derived; /* deep copy */ int derived_type; }; axis2_disp_t *AXIS2_CALL axis2_disp_create( const axutil_env_t * env, const axutil_string_t * name) { axis2_disp_t *disp = NULL; axis2_handler_desc_t *handler_desc = NULL; disp = AXIS2_MALLOC(env->allocator, sizeof(axis2_disp_t)); if (!disp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } disp->name = NULL; disp->base = NULL; if (name) { disp->name = axutil_string_clone((axutil_string_t *) name, env); if (!(disp->name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axis2_disp_free(disp, env); return NULL; } } else { /* create default name */ disp->name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_DISP_NAME); if (!(disp->name)) { axis2_disp_free(disp, env); return NULL; } } disp->base = axis2_handler_create(env); if (!disp->base) { axis2_disp_free(disp, env); return NULL; } /* handler desc of base handler */ handler_desc = axis2_handler_desc_create(env, disp->name); if (!handler_desc) { axis2_disp_free(disp, env); return NULL; } axis2_handler_init(disp->base, env, handler_desc); return disp; } axis2_handler_t *AXIS2_CALL axis2_disp_get_base( const axis2_disp_t * disp, const axutil_env_t * env) { return disp->base; } axutil_string_t *AXIS2_CALL axis2_disp_get_name( const axis2_disp_t * disp, const axutil_env_t * env) { return disp->name; } axis2_status_t AXIS2_CALL axis2_disp_set_name( struct axis2_disp * disp, const axutil_env_t * env, axutil_string_t * name) { if (disp->name) { axutil_string_free(disp->name, env); } if (name) { disp->name = axutil_string_clone(name, env); if (!(disp->name)) return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_disp_find_svc_and_op( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axis2_svc_t *axis_service = NULL; axis2_op_t *op = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); axis_service = axis2_msg_ctx_get_svc(msg_ctx, env); if (!axis_service) { axis_service = axis2_msg_ctx_find_svc(msg_ctx, env); if (axis_service) { axis2_msg_ctx_set_svc(msg_ctx, env, axis_service); } } op = axis2_msg_ctx_get_op(msg_ctx, env); if (!op) { op = axis2_msg_ctx_find_op(msg_ctx, env, axis_service); if (op) { axis2_msg_ctx_set_op(msg_ctx, env, op); } } return AXIS2_SUCCESS; } void AXIS2_CALL axis2_disp_free( struct axis2_disp *disp, const axutil_env_t * env) { if (disp->name) { axutil_string_free(disp->name, env); } AXIS2_FREE(env->allocator, disp); return; } axis2c-src-1.6.0/src/core/engine/Makefile.am0000644000175000017500000000403211166304453021656 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES=libaxis2_engine.la libaxis2_engine_la_SOURCES= ../transport/transport_receiver.c handler.c \ conf.c \ phase.c \ disp_checker.c \ addr_disp.c \ rest_disp.c \ req_uri_disp.c \ disp.c \ soap_action_disp.c \ soap_body_disp.c \ ctx_handler.c \ engine.c libaxis2_engine_la_LDFLAGS = -version-info $(VERSION_NO) libaxis2_engine_la_LIBADD=$(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/receivers/libaxis2_receivers.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/addr/libaxis2_addr.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/phaseresolver/libaxis2_phaseresolver.la \ $(top_builddir)/src/core/util/libaxis2_core_utils.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la libaxis2_engine_la_LIBADD+=$(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/wsdl \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/util \ -I$(top_builddir)/src/core/clientapi \ -I$(top_builddir)/util/include \ -I$(top_builddir)/neethi/include \ -I$(top_builddir)/axiom/include EXTRA_DIST=axis2_disp_checker.h axis2c-src-1.6.0/src/core/engine/Makefile.in0000644000175000017500000004670611172017203021674 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/engine DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_engine_la_DEPENDENCIES = \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/receivers/libaxis2_receivers.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/addr/libaxis2_addr.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/phaseresolver/libaxis2_phaseresolver.la \ $(top_builddir)/src/core/util/libaxis2_core_utils.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la am_libaxis2_engine_la_OBJECTS = transport_receiver.lo handler.lo \ conf.lo phase.lo disp_checker.lo addr_disp.lo rest_disp.lo \ req_uri_disp.lo disp.lo soap_action_disp.lo soap_body_disp.lo \ ctx_handler.lo engine.lo libaxis2_engine_la_OBJECTS = $(am_libaxis2_engine_la_OBJECTS) libaxis2_engine_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_engine_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_engine_la_SOURCES) DIST_SOURCES = $(libaxis2_engine_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_engine.la libaxis2_engine_la_SOURCES = ../transport/transport_receiver.c handler.c \ conf.c \ phase.c \ disp_checker.c \ addr_disp.c \ rest_disp.c \ req_uri_disp.c \ disp.c \ soap_action_disp.c \ soap_body_disp.c \ ctx_handler.c \ engine.c libaxis2_engine_la_LDFLAGS = -version-info $(VERSION_NO) libaxis2_engine_la_LIBADD = \ $(top_builddir)/src/core/description/libaxis2_description.la \ $(top_builddir)/src/core/receivers/libaxis2_receivers.la \ $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ $(top_builddir)/src/core/context/libaxis2_context.la \ $(top_builddir)/src/core/addr/libaxis2_addr.la \ $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ $(top_builddir)/src/core/phaseresolver/libaxis2_phaseresolver.la \ $(top_builddir)/src/core/util/libaxis2_core_utils.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/wsdl \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/util \ -I$(top_builddir)/src/core/clientapi \ -I$(top_builddir)/util/include \ -I$(top_builddir)/neethi/include \ -I$(top_builddir)/axiom/include EXTRA_DIST = axis2_disp_checker.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/engine/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/engine/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_engine.la: $(libaxis2_engine_la_OBJECTS) $(libaxis2_engine_la_DEPENDENCIES) $(libaxis2_engine_la_LINK) -rpath $(libdir) $(libaxis2_engine_la_OBJECTS) $(libaxis2_engine_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addr_disp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/conf.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ctx_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/disp_checker.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phase.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/req_uri_disp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rest_disp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_action_disp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_body_disp.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transport_receiver.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< transport_receiver.lo: ../transport/transport_receiver.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT transport_receiver.lo -MD -MP -MF $(DEPDIR)/transport_receiver.Tpo -c -o transport_receiver.lo `test -f '../transport/transport_receiver.c' || echo '$(srcdir)/'`../transport/transport_receiver.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/transport_receiver.Tpo $(DEPDIR)/transport_receiver.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../transport/transport_receiver.c' object='transport_receiver.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o transport_receiver.lo `test -f '../transport/transport_receiver.c' || echo '$(srcdir)/'`../transport/transport_receiver.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/engine/addr_disp.c0000644000175000017500000002141511166304453021723 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include const axis2_char_t *AXIS2_ADDR_DISP_NAME = "addressing_based_dispatcher"; static axis2_status_t AXIS2_CALL axis2_addr_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); static axis2_svc_t *AXIS2_CALL axis2_addr_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); static axis2_op_t *AXIS2_CALL axis2_addr_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc); axis2_disp_t *AXIS2_CALL axis2_addr_disp_create( const axutil_env_t * env) { axis2_disp_t *disp = NULL; axis2_handler_t *handler = NULL; axutil_string_t *name = NULL; name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_ADDR_DISP_NAME); if (!name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } disp = axis2_disp_create(env, name); if (!disp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axutil_string_free(name, env); return NULL; } handler = axis2_disp_get_base(disp, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); axutil_string_free(name, env); return NULL; } axis2_handler_set_invoke(handler, env, axis2_addr_disp_invoke); axutil_string_free(name, env); return disp; } static axis2_svc_t *AXIS2_CALL axis2_addr_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_svc_t *svc = NULL; if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { const axis2_char_t *address = NULL; address = axis2_endpoint_ref_get_address(endpoint_ref, env); if (address) { axis2_char_t **url_tokens = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for service using WSA enpoint address : %s", address); if ((axutil_strcmp(AXIS2_WSA_ANONYMOUS_URL, address) == 0) || (axutil_strcmp(AXIS2_WSA_NAMESPACE_SUBMISSION, address) == 0)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Endpoint address cannot be the same as WSA namespace : %s", address); return NULL; } url_tokens = axutil_parse_request_url_for_svc_and_op(env, address); if (url_tokens) { if (url_tokens[0]) { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axis2_conf_t *conf = NULL; conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { svc = axis2_conf_get_svc(conf, env, url_tokens[0]); if (svc) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Service found using WSA enpoint address"); } } } AXIS2_FREE(env->allocator, url_tokens[0]); } if (url_tokens[1]) { AXIS2_FREE(env->allocator, url_tokens[1]); } AXIS2_FREE(env->allocator, url_tokens); url_tokens = NULL; } } } return svc; } static axis2_op_t *AXIS2_CALL axis2_addr_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { const axis2_char_t *action = NULL; axutil_qname_t *name = NULL; axis2_op_t *op = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, svc, NULL); if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; action = axis2_msg_ctx_get_wsa_action(msg_ctx, env); if (action) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for operation using WSA Action : %s", action); name = axutil_qname_create(env, action, NULL, NULL); op = axis2_svc_get_op_with_qname(svc, env, name); if (op) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Operation found using WSA Action"); axutil_qname_free(name, env); } return op; } static axis2_status_t AXIS2_CALL axis2_addr_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx) { axis2_relates_to_t *relates_to = NULL; relates_to = axis2_msg_ctx_get_relates_to(msg_ctx, env); /** first check if we can dispatch using the relates_to */ if (relates_to) { const axis2_char_t *relates_to_value = NULL; relates_to_value = axis2_relates_to_get_value(relates_to, env); if (relates_to_value && axutil_strcmp(relates_to_value, "") != 0) { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axis2_op_ctx_t *op_ctx = NULL; const axis2_char_t *msg_id = axis2_msg_ctx_get_msg_id(msg_ctx, env); op_ctx = axis2_conf_ctx_get_op_ctx(conf_ctx, env, msg_id); if (op_ctx) { axis2_op_t *op = NULL; op = axis2_op_ctx_get_op(op_ctx, env); if (op) { axis2_svc_ctx_t *svc_ctx = NULL; axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_ctx); axis2_msg_ctx_set_op(msg_ctx, env, op); axis2_op_register_op_ctx(op, env, msg_ctx, op_ctx); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); if (svc_ctx) { axis2_svc_t *svc = NULL; axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; axis2_msg_ctx_set_svc_ctx(msg_ctx, env, svc_ctx); svc = axis2_svc_ctx_get_svc(svc_ctx, env); if (svc) { axis2_msg_ctx_set_svc(msg_ctx, env, svc); } svc_grp_ctx = axis2_svc_ctx_get_parent(svc_ctx, env); if (svc_grp_ctx) { axutil_string_t *svc_grp_ctx_id_str = axutil_string_create(env, axis2_svc_grp_ctx_get_id (svc_grp_ctx, env)); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, svc_grp_ctx_id_str); axutil_string_free(svc_grp_ctx_id_str, env); } return AXIS2_SUCCESS; } } } } } } axis2_msg_ctx_set_find_svc(msg_ctx, env, axis2_addr_disp_find_svc); axis2_msg_ctx_set_find_op(msg_ctx, env, axis2_addr_disp_find_op); return axis2_disp_find_svc_and_op(handler, env, msg_ctx); } axis2c-src-1.6.0/src/core/engine/ctx_handler.c0000644000175000017500000001470011166304453022264 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include const axis2_char_t *AXIS2_CTX_HANDLER_NAME = "context_handler"; /** * By the time the control comes to this handler, the dispatching must have * happened so that the message context contains the service group, service and * operation. This will then try to find the contexts for service group, service * and the operation. */ axis2_status_t AXIS2_CALL axis2_ctx_handler_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); axis2_handler_t *AXIS2_CALL axis2_ctx_handler_create( const axutil_env_t * env, const axutil_string_t * string) { axis2_handler_t *handler = NULL; axis2_handler_desc_t *handler_desc = NULL; axutil_string_t *handler_string = NULL; if (string) { handler_string = axutil_string_clone((axutil_string_t *) string, env); if (!(handler_string)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } else { /* create default string */ handler_string = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_CTX_HANDLER_NAME); if (!handler_string) { return NULL; } } handler = axis2_handler_create(env); if (!handler) { return NULL; } /* handler desc of base handler */ handler_desc = axis2_handler_desc_create(env, handler_string); axutil_string_free(handler_string, env); if (!handler_desc) { axis2_handler_free(handler, env); return NULL; } axis2_handler_init(handler, env, handler_desc); /* set the base struct's invoke op */ axis2_handler_set_invoke(handler, env, axis2_ctx_handler_invoke); return handler; } axis2_status_t AXIS2_CALL axis2_ctx_handler_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axis2_op_t *op = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_ctx_handler_invoke"); op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); svc_ctx = axis2_msg_ctx_get_svc_ctx(msg_ctx, env); if (op_ctx && svc_ctx) { svc_grp_ctx = axis2_svc_ctx_get_parent(svc_ctx, env); if (svc_grp_ctx) { axutil_string_t *svc_grp_ctx_id_str = axutil_string_create(env, axis2_svc_grp_ctx_get_id(svc_grp_ctx, env)); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, svc_grp_ctx_id_str); axutil_string_free(svc_grp_ctx_id_str, env); } return AXIS2_SUCCESS; } op = axis2_msg_ctx_get_op(msg_ctx, env); if (op) { op_ctx = axis2_op_find_existing_op_ctx(op, env, msg_ctx); } if (op_ctx) { axis2_op_register_op_ctx(op, env, msg_ctx, op_ctx); svc_ctx = axis2_op_ctx_get_parent(op_ctx, env); if (svc_ctx) { axutil_string_t *svc_grp_ctx_id_str = NULL; const axis2_char_t *grp_ctx_id = NULL; svc_grp_ctx = axis2_svc_ctx_get_parent(svc_ctx, env); axis2_msg_ctx_set_svc_ctx(msg_ctx, env, svc_ctx); axis2_msg_ctx_set_svc_grp_ctx(msg_ctx, env, svc_grp_ctx); grp_ctx_id = axis2_svc_grp_ctx_get_id(svc_grp_ctx, env); svc_grp_ctx_id_str = axutil_string_create(env, grp_ctx_id); axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, svc_grp_ctx_id_str); axutil_string_free(svc_grp_ctx_id_str, env); } return AXIS2_SUCCESS; } else if (op) /* 2. if no op_ctx, create new op_ctx */ { axis2_conf_ctx_t *conf_ctx = NULL; axis2_bool_t use_pools = AXIS2_FALSE; axutil_param_t *param = axis2_msg_ctx_get_parameter(msg_ctx, env, AXIS2_PERSIST_OP_CTX); use_pools = (param && 0 == axutil_strcmp(AXIS2_VALUE_TRUE, axutil_param_get_value(param, env))); if (use_pools) { axutil_allocator_switch_to_global_pool(env->allocator); } op_ctx = axis2_op_ctx_create(env, op, NULL); if (!op_ctx) { axis2_char_t *op_name = axutil_qname_get_localpart(axis2_op_get_qname(op, env), env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Could not create Operation context for operatoin %s", op_name); return AXIS2_FAILURE; } axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_ctx); axis2_op_register_op_ctx(op, env, msg_ctx, op_ctx); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { if (!use_pools) { axutil_allocator_switch_to_global_pool(env->allocator); } svc_grp_ctx = axis2_conf_ctx_fill_ctxs(conf_ctx, env, msg_ctx); if (!use_pools) { axutil_allocator_switch_to_local_pool(env->allocator); } } if (use_pools) { axutil_allocator_switch_to_local_pool(env->allocator); } } if (!svc_grp_ctx && (axis2_msg_ctx_get_server_side(msg_ctx, env))) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service group context not found"); return AXIS2_FAILURE; } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_ctx_handler_invoke"); return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/engine/req_uri_disp.c0000644000175000017500000001500111166304453022451 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include const axis2_char_t *AXIS2_REQ_URI_DISP_NAME = "request_uri_based_dispatcher"; axis2_status_t AXIS2_CALL axis2_req_uri_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); axis2_svc_t *AXIS2_CALL axis2_req_uri_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); axis2_op_t *AXIS2_CALL axis2_req_uri_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc); AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_req_uri_disp_create( const axutil_env_t * env) { axis2_disp_t *disp = NULL; axis2_handler_t *handler = NULL; axutil_string_t *name = NULL; name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_REQ_URI_DISP_NAME); disp = axis2_disp_create(env, name); if (!disp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } handler = axis2_disp_get_base(disp, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); return NULL; } axis2_handler_set_invoke(handler, env, axis2_req_uri_disp_invoke); axutil_string_free(name, env); return disp; } axis2_svc_t *AXIS2_CALL axis2_req_uri_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_svc_t *svc = NULL; if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { const axis2_char_t *address = NULL; address = axis2_endpoint_ref_get_address(endpoint_ref, env); if (address) { axis2_char_t **url_tokens = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for service using target endpoint address : %s", address); url_tokens = axutil_parse_request_url_for_svc_and_op(env, address); if (url_tokens) { if (url_tokens[0]) { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axis2_conf_t *conf = NULL; conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { svc = axis2_conf_get_svc(conf, env, url_tokens[0]); if (svc) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Service found using target endpoint address"); } } AXIS2_FREE(env->allocator, url_tokens[0]); if (url_tokens[1]) { AXIS2_FREE(env->allocator, url_tokens[1]); } } AXIS2_FREE(env->allocator, url_tokens); url_tokens = NULL; } } } return svc; } axis2_op_t *AXIS2_CALL axis2_req_uri_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_op_t *op = NULL; AXIS2_PARAM_CHECK(env->error, svc, NULL); if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { const axis2_char_t *address = NULL; address = axis2_endpoint_ref_get_address(endpoint_ref, env); if (address) { axis2_char_t **url_tokens = NULL; url_tokens = axutil_parse_request_url_for_svc_and_op(env, address); if (url_tokens) { if (url_tokens[1]) { axutil_qname_t *op_qname = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for operation using \ target endpoint uri fragment : %s", url_tokens[1]); op_qname = axutil_qname_create(env, url_tokens[1], NULL, NULL); op = axis2_svc_get_op_with_name(svc, env, axutil_qname_get_localpart (op_qname, env)); axutil_qname_free(op_qname, env); if (op) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Operation found using target endpoint uri fragment"); } if (url_tokens[0]) AXIS2_FREE(env->allocator, url_tokens[0]); if (url_tokens[1]) AXIS2_FREE(env->allocator, url_tokens[1]); AXIS2_FREE(env->allocator, url_tokens); } } } return op; } axis2_status_t AXIS2_CALL axis2_req_uri_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axis2_msg_ctx_set_find_svc(msg_ctx, env, axis2_req_uri_disp_find_svc); axis2_msg_ctx_set_find_op(msg_ctx, env, axis2_req_uri_disp_find_op); return axis2_disp_find_svc_and_op(handler, env, msg_ctx); } axis2c-src-1.6.0/src/core/engine/handler.c0000644000175000017500000000734611166304453021416 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axis2_handler { /** handler description. This is a reference, hence a shallow copy. */ axis2_handler_desc_t *handler_desc; /** * Invoke is called to do the actual work assigned to the handler. * The phase that owns the handler is responsible for calling invoke * on top of the handler. Those structs that implement the interface * of the handler should implement the logic for invoke and assign the * respective function pointer to invoke operation. * @param handler pointer to handler * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * invoke) ( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); }; AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_handler_create( const axutil_env_t * env) { axis2_handler_t *handler = NULL; handler = AXIS2_MALLOC(env->allocator, sizeof(axis2_handler_t)); if (!handler) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return NULL; } handler->handler_desc = NULL; return handler; } AXIS2_EXTERN void AXIS2_CALL axis2_handler_free( axis2_handler_t * handler, const axutil_env_t * env) { AXIS2_FREE(env->allocator, handler); return; } AXIS2_EXTERN const axutil_string_t *AXIS2_CALL axis2_handler_get_name( const axis2_handler_t * handler, const axutil_env_t * env) { if (!(handler->handler_desc)) return NULL; return axis2_handler_desc_get_name(handler->handler_desc, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { return handler->invoke(handler, env, msg_ctx); } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_handler_get_param( const axis2_handler_t * handler, const axutil_env_t * env, const axis2_char_t * name) { if (!(handler->handler_desc)) return NULL; return axis2_handler_desc_get_param(handler->handler_desc, env, name); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_init( axis2_handler_t * handler, const axutil_env_t * env, axis2_handler_desc_t * handler_desc) { handler->handler_desc = handler_desc; axis2_handler_desc_set_handler(handler_desc, env, handler); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL axis2_handler_get_handler_desc( const axis2_handler_t * handler, const axutil_env_t * env) { return handler->handler_desc; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_set_invoke( axis2_handler_t * handler, const axutil_env_t * env, AXIS2_HANDLER_INVOKE func) { handler->invoke = func; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/engine/soap_body_disp.c0000644000175000017500000002367311166304453023000 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include const axis2_char_t *AXIS2_SOAP_MESSAGE_BODY_DISP_NAME = "soap_message_body_based_dispatcher"; axis2_status_t AXIS2_CALL axis2_soap_body_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); axis2_svc_t *AXIS2_CALL axis2_soap_body_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); axis2_op_t *AXIS2_CALL axis2_soap_body_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc); axis2_disp_t *AXIS2_CALL axis2_soap_body_disp_create( const axutil_env_t * env) { axis2_disp_t *disp = NULL; axis2_handler_t *handler = NULL; axutil_string_t *name = NULL; name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_SOAP_MESSAGE_BODY_DISP_NAME); disp = axis2_disp_create(env, name); if (!disp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } handler = axis2_disp_get_base(disp, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); return NULL; } axis2_handler_set_invoke(handler, env, axis2_soap_body_disp_invoke); axutil_string_free(name, env); return disp; } axis2_svc_t *AXIS2_CALL axis2_soap_body_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; axis2_svc_t *svc = NULL; if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (soap_envelope) { axiom_soap_body_t *soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (soap_body) { axiom_node_t *body_node = axiom_soap_body_get_base_node(soap_body, env); if (body_node) { axiom_node_t *body_first_child_node = axiom_node_get_first_element(body_node, env); if (body_first_child_node) { if (axiom_node_get_node_type(body_first_child_node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(body_first_child_node, env); if (element) { axiom_namespace_t *ns = axiom_element_get_namespace(element, env, body_first_child_node); if (ns) { axis2_char_t *uri = axiom_namespace_get_uri(ns, env); if (uri) { axis2_char_t **url_tokens = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for service " "using SOAP message body's " "first child's namespace " "URI : %s", uri); url_tokens = axutil_parse_request_url_for_svc_and_op (env, uri); if (url_tokens) { if (url_tokens[0]) { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx (msg_ctx, env); if (conf_ctx) { axis2_conf_t *conf = NULL; conf = axis2_conf_ctx_get_conf (conf_ctx, env); if (conf) { svc = axis2_conf_get_svc(conf, env, url_tokens [0]); if (svc) AXIS2_LOG_DEBUG(env-> log, AXIS2_LOG_SI, "Service found "\ "using SOAP message"\ "body's first "\ "child's namespace URI"); } } AXIS2_FREE(env->allocator, url_tokens[0]); } AXIS2_FREE(env->allocator, url_tokens); url_tokens = NULL; } } } } } } } } } return svc; } axis2_op_t *AXIS2_CALL axis2_soap_body_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { axiom_soap_envelope_t *soap_envelope = NULL; axis2_op_t *op = NULL; AXIS2_PARAM_CHECK(env->error, svc, NULL); if (axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (soap_envelope) { axiom_soap_body_t *soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (soap_body) { axiom_node_t *body_node = axiom_soap_body_get_base_node(soap_body, env); if (body_node) { axiom_node_t *body_first_child_node = axiom_node_get_first_element(body_node, env); if (body_first_child_node) { if (axiom_node_get_node_type(body_first_child_node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(body_first_child_node, env); if (element) { axis2_char_t *element_name = axiom_element_get_localname(element, env); if (element_name) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for operation using SOAP message"\ "body's first child's local name : %s", element_name); op = axis2_svc_get_op_with_name(svc, env, element_name); if (op) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Operation found using SOAP message "\ "body's first child's local name"); } } } } } } } return op; } axis2_status_t AXIS2_CALL axis2_soap_body_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axis2_msg_ctx_set_find_svc(msg_ctx, env, axis2_soap_body_disp_find_svc); axis2_msg_ctx_set_find_op(msg_ctx, env, axis2_soap_body_disp_find_op); return axis2_disp_find_svc_and_op(handler, env, msg_ctx); } axis2c-src-1.6.0/src/core/engine/phase.c0000644000175000017500000013565611166304453021107 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include static axis2_status_t axis2_phase_add_unique( const axutil_env_t * env, axutil_array_list_t * list, axis2_handler_t * handler); static axis2_status_t axis2_phase_remove_unique( const axutil_env_t * env, axutil_array_list_t * list, axis2_handler_t * handler); struct axis2_phase { /** phase name */ axis2_char_t *name; /** array list of handlers */ axutil_array_list_t *handlers; /** first handler of phase */ axis2_handler_t *first_handler; /** first handler of phase set? */ axis2_bool_t first_handler_set; /** last handler of phase */ axis2_handler_t *last_handler; /** last handler of phase set? */ axis2_bool_t last_handler_set; /** * handler_first and handler_last are the same handler * that is for this phase there is only one handler */ axis2_bool_t is_one_handler; int ref; }; AXIS2_EXTERN axis2_phase_t *AXIS2_CALL axis2_phase_create( const axutil_env_t * env, const axis2_char_t * phase_name) { axis2_phase_t *phase = NULL; phase = AXIS2_MALLOC(env->allocator, sizeof(axis2_phase_t)); if (!phase) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return NULL; } phase->name = NULL; phase->handlers = NULL; phase->first_handler = NULL; phase->first_handler_set = AXIS2_FALSE; phase->last_handler = NULL; phase->last_handler_set = AXIS2_FALSE; phase->is_one_handler = AXIS2_FALSE; phase->ref = 1; phase->handlers = axutil_array_list_create(env, 10); if (!(phase->handlers)) { /** error is already set by last method array list container create */ axis2_phase_free(phase, env); return NULL; } if (phase_name) { phase->name = axutil_strdup(env, phase_name); if (!(phase->name)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); axis2_phase_free(phase, env); return NULL; } } return phase; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_add_handler_at( axis2_phase_t * phase, const axutil_env_t * env, const int index, axis2_handler_t * handler) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "axis2_handler_t *%s added to the index %d of the phase %s", axutil_string_get_buffer(axis2_handler_get_name (handler, env), env), index, phase->name); return axutil_array_list_add_at(phase->handlers, env, index, handler); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_add_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { AXIS2_LOG_INFO(env->log, "Handler %s added to phase %s", axutil_string_get_buffer(axis2_handler_get_name (handler, env), env), phase->name); return axis2_phase_add_unique(env, phase->handlers, handler); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_remove_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { AXIS2_LOG_INFO(env->log, "Handler %s romoved from phase %s", axutil_string_get_buffer(axis2_handler_get_name (handler, env), env), phase->name); return axis2_phase_remove_unique(env, phase->handlers, handler); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_invoke( axis2_phase_t * phase, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { int index = 0, size = 0; axis2_status_t status = AXIS2_SUCCESS; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_invoke"); axis2_msg_ctx_set_paused_phase_name(msg_ctx, env, phase->name); if (phase->first_handler) { if (axis2_msg_ctx_is_paused(msg_ctx, env)) { AXIS2_LOG_INFO(env->log, "Message context is paused in the phase %s", phase->name); return AXIS2_SUCCESS; } else { const axis2_char_t *handler_name = axutil_string_get_buffer( axis2_handler_get_name(phase->first_handler, env), env); AXIS2_LOG_INFO(env->log, "Invoke the first handler %s within the phase %s", handler_name, phase->name); status = axis2_handler_invoke(phase->first_handler, env, msg_ctx); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler %s invoke failed within phase %s", handler_name, phase->name); return status; } } } /* Invoking the rest of handlers except first_handler and last_handler */ size = axutil_array_list_size(phase->handlers, env); while (index < size) { if (axis2_msg_ctx_is_paused(msg_ctx, env)) { break; } else { axis2_handler_t *handler = (axis2_handler_t *) axutil_array_list_get(phase->handlers, env, index); if (handler) { const axis2_char_t *handler_name = axutil_string_get_buffer( axis2_handler_get_name(handler, env), env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Invoke the handler %s within the phase %s", handler_name, phase->name); /* Test code. This is used when valgrind is used to find leaks in Axis2/C modules.*/ /*if(!axutil_strcmp(handler_name, "SandeshaGlobalInHandler") || !axutil_strcmp( handler_name, "SandeshaInHandler")) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "dam_handler_name %s. dam_phase_name %s", handler_name, phase->name); if(!axutil_strcmp(handler_name, "SandeshaGlobalInHandler")) { status = sandesha2_global_in_handler_invoke(phase->first_handler, env, msg_ctx); } if(!axutil_strcmp(handler_name, "SandeshaInHandler")) { status = sandesha2_in_handler_invoke(phase->first_handler, env, msg_ctx); } } else*/ status = axis2_handler_invoke(handler, env, msg_ctx); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler %s invoke failed within phase %s", handler_name, phase->name); return status; } /* index increment should be done after the invoke function. If the invocation failed this handler is taken care of and no need to revoke again */ index++; axis2_msg_ctx_set_current_handler_index(msg_ctx, env, index); } } } /* If phase last handler is there invoke it here */ if (phase->last_handler) { if (axis2_msg_ctx_is_paused(msg_ctx, env)) { AXIS2_LOG_INFO(env->log, "Message context is paused in the phase %s", phase->name); return AXIS2_SUCCESS; } else { const axis2_char_t *handler_name = axutil_string_get_buffer( axis2_handler_get_name(phase->last_handler, env), env); AXIS2_LOG_INFO(env->log, "Invoke the last handler %s within the phase %s", handler_name, phase->name); status = axis2_handler_invoke(phase->last_handler, env, msg_ctx); if (!status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler %s invoke failed within phase %s", handler_name, phase->name); return status; } } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_invoke"); return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_phase_get_name( const axis2_phase_t * phase, const axutil_env_t * env) { return phase->name; } AXIS2_EXTERN int AXIS2_CALL axis2_phase_get_handler_count( const axis2_phase_t * phase, const axutil_env_t * env) { return axutil_array_list_size(phase->handlers, env); } AXIS2_EXTERN int AXIS2_CALL _axis2_phase_get_before_after( axis2_handler_t * handler, const axutil_env_t * env) { const axis2_char_t *before = NULL, *after = NULL; axis2_handler_desc_t *handler_desc = NULL; axis2_phase_rule_t *rules = NULL; const axis2_char_t *name = axutil_string_get_buffer(axis2_handler_get_name(handler, env), env); handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set for the Handler %s", name); return AXIS2_FAILURE; } rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler rules are not set for the Handler Description %s", name); return AXIS2_FAILURE; } before = axis2_phase_rule_get_before(rules, env); after = axis2_phase_rule_get_after(rules, env); if (before && after) { if (!axutil_strcmp(before, after)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Both before and after handlers cannot be the same"); return AXIS2_FAILURE; } return AXIS2_PHASE_BOTH_BEFORE_AFTER; } else if (before) { return AXIS2_PHASE_BEFORE; } else if (after) { return AXIS2_PHASE_AFTER; } else { return AXIS2_PHASE_ANYWHERE; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_set_first_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { const axis2_char_t *handler_name = axutil_string_get_buffer(axis2_handler_get_name(handler, env), env); const axis2_char_t *phase_name = axis2_phase_get_name(phase, env); if (phase->first_handler_set) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "First handler of phase already set, so cannot set handler %s "\ "in to the phase %s as first handler", handler_name, phase_name); return AXIS2_FAILURE; } else { if (_axis2_phase_get_before_after(handler, env) != AXIS2_PHASE_ANYWHERE) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid first handler %s set for the Phase %s", handler_name, phase_name); return AXIS2_FAILURE; } phase->first_handler = handler; phase->first_handler_set = AXIS2_TRUE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_set_last_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { const axis2_char_t *handler_name = axutil_string_get_buffer(axis2_handler_get_name(handler, env), env); const axis2_char_t *phase_name = axis2_phase_get_name(phase, env); if (phase->last_handler_set) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Last handler of phase already set, so cannot set handler %s "\ "in to the phase %s as last handler", handler_name, phase_name); return AXIS2_FAILURE; } else { if (_axis2_phase_get_before_after(handler, env) != AXIS2_PHASE_ANYWHERE) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid last handler %s set for the Phase %s", handler_name, phase_name); return AXIS2_FAILURE; } phase->last_handler = handler; phase->last_handler_set = AXIS2_TRUE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_add_handler_desc( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_desc_t * handler_desc) { axis2_phase_rule_t *rules = NULL; axis2_handler_t *handler = NULL; axis2_status_t status = AXIS2_SUCCESS; axis2_bool_t first = AXIS2_FALSE, last = AXIS2_FALSE; const axis2_char_t *handler_desc_name = axutil_string_get_buffer(axis2_handler_desc_get_name(handler_desc, env), env); if (phase->is_one_handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Only one handler allowed for phase %s, adding handler %s is not "\ "allowed", phase->name, handler_desc_name); return AXIS2_FAILURE; } else { rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler rules are not set for the Hanlder Description %s "\ "within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } first = axis2_phase_rule_is_first(rules, env); last = axis2_phase_rule_is_last(rules, env); if (first && last) { if (axutil_array_list_size(phase->handlers, env) > 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_RULES, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid handler rules, so unable to add handler %s to "\ "phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } handler = axis2_handler_desc_get_handler(handler_desc, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler is not set for the Handler Description %s "\ "within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } /*status = axutil_array_list_add(phase->handlers, env, handler); */ status = axis2_phase_add_unique(env, phase->handlers, handler); if (status) phase->is_one_handler = AXIS2_TRUE; return status; } else if (first) { handler = axis2_handler_desc_get_handler(handler_desc, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler is not set for the Handler Description %s "\ "within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } return axis2_phase_set_first_handler(phase, env, handler); } else if (last) { handler = axis2_handler_desc_get_handler(handler_desc, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler is not set for the Handler Description %s "\ "within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } return axis2_phase_set_last_handler(phase, env, handler); } else { handler = axis2_handler_desc_get_handler(handler_desc, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler is not set for the Handler Description %s "\ "within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } return axis2_phase_insert_handler_desc(phase, env, handler_desc); } } } AXIS2_EXTERN axis2_bool_t AXIS2_CALL _axis2_phase_is_valid_before( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { axis2_phase_rule_t *rules = NULL; axis2_handler_desc_t *handler_desc = NULL; const axis2_char_t *first_handler_name = NULL, *before = NULL; if (phase->first_handler) { handler_desc = axis2_handler_get_handler_desc(phase->first_handler, env); if (!handler_desc) return AXIS2_TRUE; first_handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!first_handler_name) return AXIS2_TRUE; handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) return AXIS2_TRUE; rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) return AXIS2_TRUE; before = axis2_phase_rule_get_before(rules, env); if (!before) return AXIS2_TRUE; if (!axutil_strcmp(first_handler_name, before)) return AXIS2_FALSE; else return AXIS2_TRUE; } return AXIS2_TRUE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL _axis2_phase_is_valid_after( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { axis2_phase_rule_t *rules = NULL; axis2_handler_desc_t *handler_desc = NULL; const axis2_char_t *last_handler_name = NULL, *after = NULL; if (phase->last_handler) { handler_desc = axis2_handler_get_handler_desc(phase->last_handler, env); if (!handler_desc) return AXIS2_TRUE; last_handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!last_handler_name) return AXIS2_TRUE; handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) return AXIS2_TRUE; rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) return AXIS2_TRUE; after = axis2_phase_rule_get_after(rules, env); if (!after) return AXIS2_TRUE; if (!axutil_strcmp(last_handler_name, after)) return AXIS2_FALSE; else return AXIS2_TRUE; } return AXIS2_TRUE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_before( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { axis2_phase_rule_t *rules = NULL; axis2_handler_desc_t *handler_desc = NULL; const axis2_char_t *handler_name = NULL, *before = NULL; int i = 0; int size = 0; const axis2_char_t *name = axutil_string_get_buffer(axis2_handler_get_name(handler, env), env); const axis2_char_t *handler_desc_name = NULL; handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the handler %s within phase %s", name, phase->name); return AXIS2_FAILURE; } handler_desc_name = axutil_string_get_buffer(axis2_handler_desc_get_name( handler_desc, env), env); rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler rules are not set in the handler description %s within "\ "phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } before = axis2_phase_rule_get_before(rules, env); if (!before) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Rule `before` is not set in the handler rules for handler %s "\ "within phase %s", name, phase->name); return AXIS2_FAILURE; } if (phase->last_handler) { const axis2_char_t *last_handler_name = axutil_string_get_buffer(axis2_handler_get_name(phase->last_handler, env), env); handler_desc = axis2_handler_get_handler_desc(phase->last_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the last handler %s of "\ "phase %s", last_handler_name, phase->name); return AXIS2_FAILURE; } handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler description for "\ "last handler %s within phase %s", last_handler_name, phase->name); return AXIS2_FAILURE; } if (!axutil_strcmp(before, handler_name)) { /*return axutil_array_list_add(phase->handlers, env, handler); */ return axis2_phase_add_unique(env, phase->handlers, handler); } } size = axutil_array_list_size(phase->handlers, env); for (i = 0; i < size; i++) { axis2_handler_t *temp_handler = (axis2_handler_t *) axutil_array_list_get(phase->handlers, env, i); if (temp_handler) { const axis2_char_t *temp_handler_name = axutil_string_get_buffer(axis2_handler_get_name(temp_handler, env), env); handler_desc = axis2_handler_get_handler_desc(temp_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler Description is not set for the Handler %s "\ "within phase %s", temp_handler_name, phase->name); return AXIS2_FAILURE; } handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler description for "\ "handler %s within phase %s", temp_handler_name, phase->name); return AXIS2_FAILURE; } if (!axutil_strcmp(before, handler_name)) { return axutil_array_list_add_at(phase->handlers, env, i, handler); } } } /* add as the last handler */ /* return axutil_array_list_add(phase->handlers, env, handler); */ return axis2_phase_add_unique(env, phase->handlers, handler); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_after( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { axis2_phase_rule_t *rules = NULL; axis2_handler_desc_t *handler_desc = NULL; const axis2_char_t *handler_name = NULL; const axis2_char_t *after = NULL; int i = 0; int size = 0; const axis2_char_t *name = axutil_string_get_buffer( axis2_handler_get_name(handler, env), env); const axis2_char_t *handler_desc_name = NULL; handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the handler %s within phase %s", name, phase->name); return AXIS2_FAILURE; } handler_desc_name = axutil_string_get_buffer( axis2_handler_desc_get_name(handler_desc, env), env); rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler rules are not set in the handler description %s within "\ "phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } after = axis2_phase_rule_get_after(rules, env); if (!after) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Rule `after` is not set in the handler rules for handler desc "\ "%s within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } if (phase->first_handler) { const axis2_char_t *first_handler_name = axutil_string_get_buffer( axis2_handler_get_name(phase->first_handler, env), env); handler_desc = axis2_handler_get_handler_desc(phase->first_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the first handler %s "\ "within phase %s", first_handler_name, phase->name); return AXIS2_FAILURE; } handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler description for "\ "handler %s within phase %s", name, phase->name); return AXIS2_FAILURE; } if (!axutil_strcmp(after, handler_name)) { return axutil_array_list_add_at(phase->handlers, env, 0, handler); } } size = axutil_array_list_size(phase->handlers, env); for (i = 0; i < size; i++) { axis2_handler_t *temp_handler = (axis2_handler_t *) axutil_array_list_get(phase->handlers, env, i); if (temp_handler) { const axis2_char_t *temp_handler_name = axutil_string_get_buffer( axis2_handler_get_name(temp_handler, env), env); handler_desc = axis2_handler_get_handler_desc(temp_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the handler %s within"\ " phase %s", temp_handler_name, phase->name); return AXIS2_FAILURE; } handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler description %s "\ "within phase %s", temp_handler_name, phase->name); return AXIS2_FAILURE; } if (!axutil_strcmp(after, handler_name)) { if (i == (size - 1)) { return axis2_phase_add_unique(env, phase->handlers, handler); } else return axutil_array_list_add_at(phase->handlers, env, i + 1, handler); } } } if (size > 0) return axutil_array_list_add_at(phase->handlers, env, 0, handler); else { return axis2_phase_add_unique(env, phase->handlers, handler); } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_before_and_after( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler) { int before = -1; int after = -1; axis2_phase_rule_t *rules = NULL; axis2_handler_desc_t *handler_desc = NULL; const axis2_char_t *before_handler_name = NULL, *after_handler_name = NULL, *after_name = NULL, *before_name = NULL, *handler_name = NULL; int i = 0; int size = 0; const axis2_char_t *name = axutil_string_get_buffer( axis2_handler_get_name(handler, env), env); const axis2_char_t *handler_desc_name = NULL; handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the handler %s within phase %s", name, phase->name); return AXIS2_FAILURE; } handler_desc_name = axutil_string_get_buffer( axis2_handler_desc_get_name(handler_desc, env), env); rules = axis2_handler_desc_get_rules(handler_desc, env); if (!rules) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler rules are not set in the handler description %s within "\ "phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } before_name = axis2_phase_rule_get_before(rules, env); if (!before_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Rule `before` is not set in the handler rules for handler desc "\ " %s within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } after_name = axis2_phase_rule_get_after(rules, env); if (!after_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Rule `after` is not set in the handler rules for handler desc "\ "%s within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } if (phase->first_handler) { const axis2_char_t *first_handler_name = axutil_string_get_buffer( axis2_handler_get_name(phase->first_handler, env), env); handler_desc = axis2_handler_get_handler_desc(phase->first_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the first handler %s "\ "within phase %s", first_handler_name, phase->name); return AXIS2_FAILURE; } before_handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!before_handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler description for the "\ "first handler %s within phase %s", first_handler_name, phase->name); return AXIS2_FAILURE; } } if (phase->last_handler) { const axis2_char_t *last_handler_name = axutil_string_get_buffer( axis2_handler_get_name(phase->last_handler, env), env); handler_desc = axis2_handler_get_handler_desc(phase->last_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description is not set in the last handler %s "\ "within phase %s", last_handler_name, phase->name); return AXIS2_FAILURE; } after_handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!after_handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler description for the "\ "last handler %s within phase %s", last_handler_name, phase->name); return AXIS2_FAILURE; } } if (before_handler_name && after_handler_name) { if (!axutil_strcmp(before_handler_name, before_name) && !axutil_strcmp(after_handler_name, after_name)) { return axis2_phase_add_unique(env, phase->handlers, handler); } } if (after_handler_name) { if (!axutil_strcmp(after_handler_name, after_name)) after = 0; } size = axutil_array_list_size(phase->handlers, env); if (after_handler_name) { if (!axutil_strcmp(before_handler_name, before_name)) before = size; } for (i = 0; i < size; i++) { axis2_handler_t *temp_handler = (axis2_handler_t *) axutil_array_list_get(phase->handlers, env, i); if (temp_handler) { const axis2_char_t *temp_handler_name = axutil_string_get_buffer( axis2_handler_get_name(temp_handler, env), env); handler_desc = axis2_handler_get_handler_desc(temp_handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler Description is not set for the Handler %s "\ "within phase %s", temp_handler_name, phase->name); return AXIS2_FAILURE; } handler_name = axutil_string_get_buffer(axis2_handler_desc_get_name (handler_desc, env), env); if (!handler_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler name is not set in the handler Description for "\ "handler %s within phase %s", temp_handler_name, phase->name); return AXIS2_FAILURE; } if (!axutil_strcmp(handler_name, after_name)) after = i; if (!axutil_strcmp(handler_name, before_name)) before = i; } if ((after >= 0) && (before >= 0)) { /*both the before and after indexes have been found */ if (after > before) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Both the before and after indexes have been found and "\ "`after` comes before `before` which is wrong within "\ "phase %s", phase->name); return AXIS2_FAILURE; } else { if (after + 1 < size) { return axutil_array_list_add_at(phase->handlers, env, after + 1, handler); } else { return axis2_phase_add_unique(env, phase->handlers, handler); } } } } return axis2_phase_add_unique(env, phase->handlers, handler); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_handler_desc( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_desc_t * handler_desc) { int type = 0; axis2_handler_t *handler = NULL; axis2_status_t status = AXIS2_FAILURE; const axis2_char_t *handler_desc_name = axutil_string_get_buffer( axis2_handler_desc_get_name(handler_desc, env), env); const axis2_char_t *handler_name = NULL; handler = axis2_handler_desc_get_handler(handler_desc, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler is not set in the handler description %s", handler_desc_name); return AXIS2_FAILURE; } handler_name = axutil_string_get_buffer( axis2_handler_get_name(handler, env), env); if (!_axis2_phase_is_valid_after(phase, env, handler)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid Handler State for the handler %s within the phase %s", handler_name, phase->name); return AXIS2_FAILURE; } if (!_axis2_phase_is_valid_before(phase, env, handler)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid Handler State for the handler %s within the phase %s", handler_name, phase->name); return AXIS2_FAILURE; } type = _axis2_phase_get_before_after(handler, env); switch (type) { case 0: /*AXIS2_BOTH_BEFORE_AFTER: */ status = axis2_phase_insert_before_and_after(phase, env, handler); break; case 1: /*AXIS2_BEFORE: */ status = axis2_phase_insert_before(phase, env, handler); break; case 2: /*AXIS2_AFTER: */ status = axis2_phase_insert_after(phase, env, handler); break; case 3: /*AXIS2_ANYWHERE: */ status = axis2_phase_add_unique(env, phase->handlers, handler); break; default: AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler description %s insertion failed within the phase %s", handler_desc_name, phase->name); status = AXIS2_FAILURE; break; } return status; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phase_get_all_handlers( const axis2_phase_t * phase, const axutil_env_t * env) { return phase->handlers; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_invoke_start_from_handler( axis2_phase_t * phase, const axutil_env_t * env, const int paused_handler_index, axis2_msg_ctx_t * msg_ctx) { int i = 0, size = 0; axis2_status_t status = AXIS2_SUCCESS; axis2_msg_ctx_set_paused_phase_name(msg_ctx, env, phase->name); size = axutil_array_list_size(phase->handlers, env); for (i = paused_handler_index; i < size; i++) { axis2_handler_t *handler = (axis2_handler_t *) axutil_array_list_get(phase->handlers, env, i); if (handler) { const axis2_char_t *handler_name = axutil_string_get_buffer( axis2_handler_get_name(handler, env), env); int index = -1; axis2_handler_desc_t *handler_desc = axis2_handler_get_handler_desc(handler, env); if (!handler_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid Handler State for the handler %s within phase %s", handler_name, phase->name); return AXIS2_FAILURE; } axis2_handler_invoke(handler, env, msg_ctx); index = axis2_msg_ctx_get_current_handler_index(msg_ctx, env); axis2_msg_ctx_set_current_handler_index(msg_ctx, env, (index + 1)); } } return status; } AXIS2_EXTERN void AXIS2_CALL axis2_phase_free( axis2_phase_t * phase, const axutil_env_t * env) { if (--(phase->ref) > 0) { return; } if (phase->name) { AXIS2_FREE(env->allocator, phase->name); } if (phase->handlers) { axutil_array_list_free(phase->handlers, env); } AXIS2_FREE(env->allocator, phase); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_remove_handler_desc( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_desc_t * handler_desc) { axis2_handler_t *handler; const axis2_char_t *handler_desc_name = axutil_string_get_buffer( axis2_handler_desc_get_name(handler_desc, env), env); handler = axis2_handler_desc_get_handler(handler_desc, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler is not set in the Handler Description %s within phase %s", handler_desc_name, phase->name); return AXIS2_FAILURE; } return axis2_phase_remove_unique(env, phase->handlers, handler); } static axis2_status_t axis2_phase_add_unique( const axutil_env_t * env, axutil_array_list_t * list, axis2_handler_t * handler) { int i = 0, size = 0; axis2_bool_t add_handler = AXIS2_TRUE; const axutil_string_t *handler_name = NULL; handler_name = axis2_handler_get_name(handler, env); size = axutil_array_list_size(list, env); for (i = 0; i < size; i++) { axis2_handler_t *obj = NULL; const axutil_string_t *obj_name = NULL; obj = (axis2_handler_t *) axutil_array_list_get(list, env, i); obj_name = axis2_handler_get_name(obj, env); if (obj == handler) { add_handler = AXIS2_FALSE; break; } else if (!axutil_strcmp(axutil_string_get_buffer(handler_name, env), axutil_string_get_buffer(obj_name, env))) { add_handler = AXIS2_FALSE; break; } } if (add_handler) axutil_array_list_add(list, env, handler); return AXIS2_SUCCESS; } static axis2_status_t axis2_phase_remove_unique( const axutil_env_t * env, axutil_array_list_t * list, axis2_handler_t * handler) { int i = 0, size = 0; axis2_bool_t remove_handler = AXIS2_FALSE; const axutil_string_t *handler_name = NULL; handler_name = axis2_handler_get_name(handler, env); size = axutil_array_list_size(list, env); for (i = 0; i < size; i++) { axis2_handler_t *obj = NULL; const axutil_string_t *obj_name = NULL; obj = (axis2_handler_t *) axutil_array_list_get(list, env, i); obj_name = axis2_handler_get_name(obj, env); if (obj == handler) { remove_handler = AXIS2_TRUE; break; } else if (!axutil_strcmp(axutil_string_get_buffer(handler_name, env), axutil_string_get_buffer(obj_name, env))) { remove_handler = AXIS2_TRUE; break; } } if (remove_handler) axutil_array_list_remove(list, env, i); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_increment_ref( axis2_phase_t * phase, const axutil_env_t * env) { phase->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/engine/axis2_disp_checker.h0000644000175000017500000000635211166304453023533 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DISP_CHECKER_H #define AXIS2_DISP_CHECKER_H /** * @defgroup axis2_disp_checker dispatcher checker * @ingroup axis2_engine * dispatcher checker is responsible of checking the status of the dispatchers. * @{ */ /** * @file axis2_disp_checker.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_disp_checker */ typedef struct axis2_disp_checker axis2_disp_checker_t; /** * Gets the base handler. * @param disp_checker pointer to dispatcher checker * @param env pointer to environment struct * @return pointer to base handler, returns a reference not a cloned copy */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_disp_checker_get_base( const axis2_disp_checker_t * disp_checker, const axutil_env_t * env); /** * Gets QName. * @param disp_checker pointer to dispatcher checker * @param env pointer to environment struct * @return returns a pointer to the QName, returns a reference not a * cloned copy */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_disp_checker_get_name( const axis2_disp_checker_t * disp_checker, const axutil_env_t * env); /** * Sets QName. * @param disp_checker pointer to dispatcher checker * @param env pointer to environment struct * @param name pointer to QName. A clone would be created within the method * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_disp_checker_set_name( axis2_disp_checker_t * disp_checker, const axutil_env_t * env, const axutil_string_t * name); /** * Frees dispatcher checker. * @param disp_checker pointer to dispatcher checker * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_disp_checker_free( axis2_disp_checker_t * disp_checker, const axutil_env_t * env); /** * Creates a dispatcher checker struct instance. * @param env pointer to environment struct * @return pointer to newly created dispatcher checker struct */ AXIS2_EXTERN axis2_disp_checker_t *AXIS2_CALL axis2_disp_checker_create( const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_DISP_CHECKER_H */ axis2c-src-1.6.0/src/core/engine/rest_disp.c0000644000175000017500000002661611166304453021776 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include const axis2_char_t *AXIS2_REST_DISP_NAME = "rest_dispatcher"; axis2_status_t AXIS2_CALL axis2_rest_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); axis2_svc_t *AXIS2_CALL axis2_rest_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); axis2_op_t *AXIS2_CALL axis2_rest_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc); axis2_op_t *AXIS2_CALL axis2_rest_disp_get_rest_op_with_method_and_location( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * method, const axis2_char_t * location, int * param_count, axis2_char_t **** params); AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_rest_disp_create( const axutil_env_t * env) { axis2_disp_t *disp = NULL; axis2_handler_t *handler = NULL; axutil_string_t *name = NULL; name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_REST_DISP_NAME); disp = axis2_disp_create(env, name); if (!disp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } handler = axis2_disp_get_base(disp, env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_HANDLER_STATE, AXIS2_FAILURE); return NULL; } axis2_handler_set_invoke(handler, env, axis2_rest_disp_invoke); axutil_string_free(name, env); return disp; } axis2_svc_t *AXIS2_CALL axis2_rest_disp_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env) { axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_svc_t *svc = NULL; if (!axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { const axis2_char_t *address = NULL; address = axis2_endpoint_ref_get_address(endpoint_ref, env); if (address) { axis2_char_t **url_tokens = NULL; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Checking for service using target endpoint address : %s", address); url_tokens = axutil_parse_request_url_for_svc_and_op(env, address); if (url_tokens) { if (url_tokens[0]) { axis2_conf_ctx_t *conf_ctx = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx) { axis2_conf_t *conf = NULL; conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { svc = axis2_conf_get_svc(conf, env, url_tokens[0]); if (svc) AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Service found using target endpoint address"); } } AXIS2_FREE(env->allocator, url_tokens[0]); if (url_tokens[1]) { AXIS2_FREE(env->allocator, url_tokens[1]); } } AXIS2_FREE(env->allocator, url_tokens); url_tokens = NULL; } } } return svc; } axis2_op_t *AXIS2_CALL axis2_rest_disp_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_svc_t * svc) { axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_op_t *op = NULL; axiom_soap_envelope_t *soap_env = NULL; axiom_soap_body_t *soap_body = NULL; axiom_element_t *body_child = NULL; axiom_node_t *body_child_node = NULL; axiom_node_t *body_element_node = NULL; axis2_bool_t soap_env_exists = AXIS2_TRUE; int i = 0; axutil_array_list_t *param_keys = NULL; axutil_array_list_t *param_values = NULL; AXIS2_PARAM_CHECK(env->error, svc, NULL); if (!axis2_msg_ctx_get_doing_rest(msg_ctx, env)) return NULL; endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { const axis2_char_t *address = NULL; address = axis2_endpoint_ref_get_address(endpoint_ref, env); if (address) { axis2_char_t **url_tokens = NULL; url_tokens = axutil_parse_request_url_for_svc_and_op(env, address); if (url_tokens) { if (url_tokens[0]) { axis2_char_t *location = NULL; location = strstr(address, url_tokens[0]); if (location) { const axis2_char_t *method = NULL; location += strlen(url_tokens[0]); param_keys = axutil_array_list_create(env, 10); if(!param_keys) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the live rest parameter maps"); return NULL; } param_values = axutil_array_list_create(env, 10); if(!param_values) { axutil_array_list_free(param_keys, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the live rest parameter maps"); return NULL; } method = axis2_msg_ctx_get_rest_http_method(msg_ctx, env); op = axis2_core_utils_get_rest_op_with_method_and_location(svc, env, method, location, param_keys, param_values); } } if (url_tokens[0]) AXIS2_FREE(env->allocator, url_tokens[0]); if (url_tokens[1]) AXIS2_FREE(env->allocator, url_tokens[1]); AXIS2_FREE(env->allocator, url_tokens); } } } if (!op) { if(param_keys) { for (i = 0; i < axutil_array_list_size(param_keys, env); i++) { void *value = axutil_array_list_get(param_keys, env, i); AXIS2_FREE(env->allocator, value); } axutil_array_list_free(param_keys, env); } if(param_values) { for (i = 0; i < axutil_array_list_size(param_values, env); i++) { void *value = axutil_array_list_get(param_values, env, i); AXIS2_FREE(env->allocator, value); } axutil_array_list_free(param_values, env); } return NULL; } soap_env = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (!soap_env) { soap_env_exists = AXIS2_FALSE; soap_env = axiom_soap_envelope_create_default_soap_envelope(env, AXIOM_SOAP11); } if (soap_env) { soap_body = axiom_soap_envelope_get_body(soap_env, env); } if (!soap_body) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, AXIS2_FAILURE); if(param_keys) { for (i = 0; i < axutil_array_list_size(param_keys, env); i++) { void *value = axutil_array_list_get(param_keys, env, i); AXIS2_FREE(env->allocator, value); } axutil_array_list_free(param_keys, env); } if(param_values) { for (i = 0; i < axutil_array_list_size(param_values, env); i++) { void *value = axutil_array_list_get(param_values, env, i); AXIS2_FREE(env->allocator, value); } axutil_array_list_free(param_values, env); } return NULL; } body_element_node = axiom_soap_body_get_base_node(soap_body, env); if (body_element_node) { body_child_node = axiom_node_get_first_child(body_element_node, env); } if (!body_child_node) { body_child = axiom_element_create_with_qname(env, NULL, axis2_op_get_qname( op, env), &body_child_node); axiom_soap_body_add_child(soap_body, env, body_child_node); } if(param_keys && param_values) { for (i = 0; i < axutil_array_list_size(param_keys, env); i++) { axis2_char_t *param_key = NULL; axis2_char_t *param_value = NULL; axiom_node_t *node = NULL; axiom_element_t *element = NULL; param_key = axutil_array_list_get(param_keys, env, i); param_value = axutil_array_list_get(param_values, env, i); element = axiom_element_create(env, NULL, param_key, NULL, &node); axiom_element_set_text(element, env, param_value, node); axiom_node_add_child(body_child_node, env, node); AXIS2_FREE(env->allocator, param_key); AXIS2_FREE(env->allocator, param_value); } axutil_array_list_free(param_keys, env); axutil_array_list_free(param_values, env); } if (!soap_env_exists) { axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_env); } return op; } axis2_status_t AXIS2_CALL axis2_rest_disp_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axis2_msg_ctx_set_find_svc(msg_ctx, env, axis2_rest_disp_find_svc); axis2_msg_ctx_set_find_op(msg_ctx, env, axis2_rest_disp_find_op); return axis2_disp_find_svc_and_op(handler, env, msg_ctx); } axis2c-src-1.6.0/src/core/engine/disp_checker.c0000644000175000017500000002100111166304453022404 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_disp_checker.h" #include #include #include #include #include #include #include #include #include #include #include const axis2_char_t *AXIS2_DISP_CHECKER_NAME = "dispatch_post_conditions_evaluator"; struct axis2_disp_checker { /** base class, inherits from handler */ axis2_handler_t *base; /** phase name */ axutil_string_t *name; }; axis2_status_t AXIS2_CALL axis2_disp_checker_invoke( axis2_handler_t * handler, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); axis2_disp_checker_t *AXIS2_CALL axis2_disp_checker_create( const axutil_env_t * env) { axis2_disp_checker_t *disp_checker = NULL; axis2_handler_desc_t *handler_desc = NULL; disp_checker = AXIS2_MALLOC(env->allocator, sizeof(axis2_disp_checker_t)); if (!disp_checker) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } disp_checker->name = NULL; disp_checker->base = NULL; /* create default name */ disp_checker->name = axutil_string_create_const(env, (axis2_char_t **) & AXIS2_DISP_CHECKER_NAME); if (!(disp_checker->name)) { axis2_disp_checker_free(disp_checker, env); return NULL; } disp_checker->base = axis2_handler_create(env); if (!disp_checker->base) { axis2_disp_checker_free(disp_checker, env); return NULL; } axis2_handler_set_invoke(disp_checker->base, env, axis2_disp_checker_invoke); /* handler desc of base handler */ handler_desc = axis2_handler_desc_create(env, disp_checker->name); if (!handler_desc) { axis2_disp_checker_free(disp_checker, env); return NULL; } axis2_handler_init(disp_checker->base, env, handler_desc); return disp_checker; } axis2_handler_t *AXIS2_CALL axis2_disp_checker_get_base( const axis2_disp_checker_t * disp_checker, const axutil_env_t * env) { return disp_checker->base; } axutil_string_t *AXIS2_CALL axis2_disp_checker_get_name( const axis2_disp_checker_t * disp_checker, const axutil_env_t * env) { return disp_checker->name; } axis2_status_t AXIS2_CALL axis2_disp_checker_set_name( axis2_disp_checker_t * disp_checker, const axutil_env_t * env, const axutil_string_t * name) { if (disp_checker->name) { axutil_string_free(disp_checker->name, env); disp_checker->name = NULL; } if (name) { disp_checker->name = axutil_string_clone((axutil_string_t *) name, env); if (!(disp_checker->name)) return AXIS2_FAILURE; } return AXIS2_SUCCESS; } void AXIS2_CALL axis2_disp_checker_free( axis2_disp_checker_t * disp_checker, const axutil_env_t * env) { if (disp_checker->name) { axutil_string_free(disp_checker->name, env); } AXIS2_FREE(env->allocator, disp_checker); return; } axis2_status_t AXIS2_CALL axis2_disp_checker_invoke( axis2_handler_t * handler, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_op_t *op = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_svc_t *svc = NULL; axis2_svc_ctx_t *svc_ctx = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; const axis2_char_t *address = NULL; axiom_soap_fault_t *soap_fault; axiom_soap_envelope_t *soap_envelope; axiom_soap_body_t *soap_body; int soap_version = AXIOM_SOAP12; axis2_char_t *fault_code = NULL; axis2_char_t exception[1024]; axis2_char_t *wsa_action; AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); /*if is client side, no point in proceeding */ if (!(axis2_msg_ctx_get_server_side(msg_ctx, env))) return AXIS2_SUCCESS; op = axis2_msg_ctx_get_op(msg_ctx, env); if (!op) { op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { axis2_op_t *op = axis2_op_ctx_get_op(op_ctx, env); if (op) axis2_msg_ctx_set_op(msg_ctx, env, op); } } svc = axis2_msg_ctx_get_svc(msg_ctx, env); if (!svc) { svc_ctx = axis2_msg_ctx_get_svc_ctx(msg_ctx, env); if (svc_ctx) { axis2_svc_t *tsvc = axis2_svc_ctx_get_svc(svc_ctx, env); if (tsvc) axis2_msg_ctx_set_svc(msg_ctx, env, tsvc); } } endpoint_ref = axis2_msg_ctx_get_to(msg_ctx, env); if (endpoint_ref) { address = axis2_endpoint_ref_get_address(endpoint_ref, env); } svc = axis2_msg_ctx_get_svc(msg_ctx, env); if (!svc) { AXIS2_LOG_INFO(env->log, "Service Not found. Endpoint reference is : %s", (address) ? address : "NULL"); if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { soap_version = AXIOM_SOAP11; fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP11_FAULT_CODE_RECEIVER; } else { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP12_SOAP_FAULT_VALUE_RECEIVER; } soap_envelope = axiom_soap_envelope_create_default_soap_envelope(env, soap_version); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); soap_fault = axiom_soap_fault_create_default_fault(env, soap_body, fault_code, "Service Not Found", soap_version); wsa_action = (axis2_char_t *)axis2_msg_ctx_get_wsa_action (msg_ctx, env); sprintf (exception, "Service Not Found, Endpoint referance address is %s and wsa\ actions is %s", address, wsa_action); axiom_soap_fault_set_exception (soap_fault, env, exception); axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, soap_envelope); return AXIS2_FAILURE; } op = axis2_msg_ctx_get_op(msg_ctx, env); if (!op) { AXIS2_LOG_INFO(env->log, "Operation Not found. Endpoint reference is : %s", (address) ? address : "NULL"); if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { soap_version = AXIOM_SOAP11; fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP11_FAULT_CODE_RECEIVER; } else { fault_code = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX ":" AXIOM_SOAP12_SOAP_FAULT_VALUE_RECEIVER; } soap_envelope = axiom_soap_envelope_create_default_soap_envelope(env, soap_version); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); soap_fault = axiom_soap_fault_create_default_fault(env, soap_body, fault_code, "Operation Not Found", soap_version); wsa_action = (axis2_char_t *)axis2_msg_ctx_get_wsa_action (msg_ctx, env); sprintf (exception, "Operation Not Found, Endpoint referance address is %s and wsa\ actions is %s", address, wsa_action); axiom_soap_fault_set_exception (soap_fault, env, exception); axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, soap_envelope); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/Makefile.am0000644000175000017500000000022011166304472020405 0ustar00manjulamanjula00000000000000SUBDIRS = addr context description phaseresolver receivers util clientapi deployment transport/http/util transport/http/common engine transport axis2c-src-1.6.0/src/core/Makefile.in0000644000175000017500000003505111172017202020415 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = addr context description phaseresolver receivers util clientapi deployment transport/http/util transport/http/common engine transport all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/phaseresolver/0000777000175000017500000000000011172017537021245 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/phaseresolver/phase_resolver.c0000644000175000017500000022302311166304443024426 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include /* * It is important to understand the following relationships between the * functions defined here and else where. * axis2_phase_resolver_engage_module_globally->axis2_svc_add_module_ops-> * ->axis2_phase_resolver_build_execution_chains_for_module_op->axis2_phase_resolver_build_execution_chains_for_op * and * axis2_phase_resolver_engage_module_to_svc->axis2_svc_add_module_ops-> * ->axis2_phase_resolver_build_execution_chains_for_module_op->axis2_phase_resolver_build_execution_chains_for_op */ struct axis2_phase_resolver { /** axis2 configuration */ axis2_conf_t *axis2_config; /** service */ axis2_svc_t *svc; }; static axis2_status_t axis2_phase_resolver_build_execution_chains_for_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, int type, axis2_op_t * op); static axis2_status_t axis2_phase_resolver_add_module_handlers_to_system_defined_phases( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_module_desc_t * module_desc); static axis2_status_t axis2_phase_resolver_add_module_handlers_to_user_defined_phases( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_svc *svc, struct axis2_module_desc *module_desc); /* Deprecated and no longer used */ static axis2_status_t axis2_phase_resolver_build_in_transport_chains( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_transport_in_desc_t * transport); /* Deprecated and no longer used */ static axis2_status_t axis2_phase_resolver_build_out_transport_chains( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_transport_out_desc_t * transport); static axis2_status_t axis2_phase_resolver_add_to_handler_list( const axutil_env_t * env, axutil_array_list_t *handler_list, axis2_op_t *op, axis2_module_desc_t * module_desc, int type); AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL axis2_phase_resolver_create( const axutil_env_t * env) { axis2_phase_resolver_t *phase_resolver = NULL; phase_resolver = (axis2_phase_resolver_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_phase_resolver_t)); if (!phase_resolver) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory."); return NULL; } phase_resolver->axis2_config = NULL; phase_resolver->svc = NULL; return phase_resolver; } AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL axis2_phase_resolver_create_with_config( const axutil_env_t * env, axis2_conf_t * axis2_config) { axis2_phase_resolver_t *phase_resolver = NULL; AXIS2_PARAM_CHECK(env->error, axis2_config, NULL); phase_resolver = (axis2_phase_resolver_t *) axis2_phase_resolver_create(env); phase_resolver->axis2_config = axis2_config; return phase_resolver; } AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL axis2_phase_resolver_create_with_config_and_svc( const axutil_env_t * env, axis2_conf_t * axis2_config, axis2_svc_t * svc) { axis2_phase_resolver_t *phase_resolver = NULL; AXIS2_PARAM_CHECK(env->error, axis2_config, NULL); phase_resolver = (axis2_phase_resolver_t *) axis2_phase_resolver_create(env); if (!phase_resolver) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No Memory."); return NULL; } phase_resolver->axis2_config = axis2_config; phase_resolver->svc = svc; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Service name is : %s", axis2_svc_get_name(phase_resolver->svc, env)); return phase_resolver; } AXIS2_EXTERN void AXIS2_CALL axis2_phase_resolver_free( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env) { if (phase_resolver) { AXIS2_FREE(env->allocator, phase_resolver); } return; } /** * This is in general called to engage a module to the axis2 engine. In other words modules handlers * are added into all global and operation specific phases appropriately. Where these handlers * should go is determined by the module handler specific descriptions in module.xml file. Also * module operations are added to service and built exeuction chains for those operations as well. * First add all the handlers defined for system phases are added into system phases. Then module * operations are added into each service. At the same time execution chains for these module * operations are built as well. Then handlers defined for user phases are added into user defined * pahses. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_engage_module_globally( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_module_desc_t * module_desc) { axis2_status_t status = AXIS2_FAILURE; axutil_qname_t *qname_addressing = NULL; axutil_hash_t *svcs = NULL; const axutil_qname_t *mod_qname = NULL; axis2_char_t *mod_name = NULL; axutil_hash_t *all_ops = NULL; axutil_hash_index_t *index_j = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_engage_module_globally"); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); mod_qname = axis2_module_desc_get_qname(module_desc, env); mod_name = axutil_qname_get_localpart(mod_qname, env); /* Add module handlers into global phases */ status = axis2_phase_resolver_add_module_handlers_to_system_defined_phases(phase_resolver, env, module_desc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Engaging module %s to global chain failed", mod_name); return status; } /* Module is engaged to all the services */ svcs = axis2_conf_get_all_svcs(phase_resolver->axis2_config, env); if (!svcs) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "There are no services in the axis2 configuration"); return AXIS2_FAILURE; } qname_addressing = axutil_qname_create(env, AXIS2_MODULE_ADDRESSING, NULL, NULL); for (index_j = axutil_hash_first(svcs, env); index_j; index_j = axutil_hash_next(env, index_j)) { axis2_svc_t *svc = NULL; void *w = NULL; axis2_svc_grp_t *parent = NULL; const axis2_char_t *svc_name = NULL; const axis2_char_t *svc_grp_name = NULL; axutil_hash_this(index_j, NULL, NULL, &w); svc = (axis2_svc_t *) w; svc_name = axis2_svc_get_name(svc, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "svc name is:%s", svc_name); /* Module operations are added to service and built execution chains for operations. */ status = axis2_svc_add_module_ops(svc, env, module_desc, phase_resolver->axis2_config); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding module operations for module %s to service %s failed", mod_name, svc_name); axutil_qname_free(qname_addressing, env); return status; } /* Call this function to add module handlers into service operation phases */ status = axis2_phase_resolver_add_module_handlers_to_user_defined_phases(phase_resolver, env, svc, module_desc); if (AXIS2_SUCCESS != status) { axutil_qname_free(qname_addressing, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Engaging module %s to service %s failed", mod_name, svc_name); return status; } if (axutil_qname_equals(mod_qname, env, qname_addressing)) { /* If addressing module then all operations which are not module * operations with a wsa mapping parameter is added to the * service's wsa-mapping list*/ all_ops = axis2_svc_get_all_ops(svc, env); if (all_ops) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(all_ops, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { if (!axis2_op_is_from_module((axis2_op_t *) val, env)) { axis2_op_t *op_desc = NULL; axutil_array_list_t *params = NULL; int j = 0; int sizej = 0; op_desc = (axis2_op_t *)val; params = axis2_op_get_all_params(op_desc, env); /* Adding wsa-mapping into service */ sizej = axutil_array_list_size(params, env); for (j = 0; j < sizej; j++) { axutil_param_t *param = NULL; axis2_char_t *param_name = NULL; param = axutil_array_list_get(params, env, j); param_name = axutil_param_get_name(param, env); if (!axutil_strcmp(param_name, AXIS2_WSA_MAPPING)) { axis2_char_t *key = NULL; key = (axis2_char_t *) axutil_param_get_value(param, env); axis2_svc_add_mapping(svc, env, key, op_desc); } } } val = NULL; } } } } parent = axis2_svc_get_parent(svc, env); if (parent) { axutil_array_list_t *modules = NULL; int j = 0; int sizej = 0; axis2_bool_t add_to_group = AXIS2_TRUE; svc_grp_name = axis2_svc_grp_get_name(parent, env); modules = axis2_svc_grp_get_all_module_qnames(parent, env); sizej = axutil_array_list_size(modules, env); for (j = 0; j < sizej; j++) { axutil_qname_t *module = NULL; module = (axutil_qname_t *) axutil_array_list_get(modules, env, j); if (axutil_qname_equals(mod_qname, env, module)) { add_to_group = AXIS2_FALSE; break; } } if (add_to_group) { status = axis2_svc_grp_add_module_qname(parent, env, mod_qname); } } if (AXIS2_SUCCESS != status) { axutil_qname_free(qname_addressing, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding module %s to service group %s failed", mod_name, svc_grp_name); return status; } } axutil_qname_free(qname_addressing, env); AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_engage_module_globally"); return status; } /** * This function is called to engage a module to a service specifically. In other words all module * handlers defined for user phases are added into user defined phases and all module handlers * defined for system defined phases are added into system defined phases. Note that user defined * phases are in the flows taken from operation and system defined phases are in the flows taken * from conf. Where each module handler should go is determined by module handler descriptions in * module.xml file. * First we add the operations defined in the module into the service and built execution chains for * them. Then for all the operations of the service we check whether the module * already engaged to operation. If not engage it to service operation. Also if the module is newly * engaged to operation add the module qnname to the engaged module list of the operation. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_engage_module_to_svc( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_svc_t * svc, axis2_module_desc_t * module_desc) { axutil_hash_t *ops = NULL; axutil_hash_index_t *index_i = NULL; axis2_status_t status = AXIS2_FAILURE; const axutil_qname_t *module_d_qname = NULL; axis2_char_t *modname_d = NULL; const axis2_char_t *svcname = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_engage_module_to_svc"); module_d_qname = axis2_module_desc_get_qname(module_desc, env); modname_d = axutil_qname_get_localpart(module_d_qname, env); svcname = axis2_svc_get_name(svc, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Module %s will be engaged to %s", modname_d, svcname); ops = axis2_svc_get_all_ops(svc, env); if (!ops) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service %s has no operation", svcname); return AXIS2_FAILURE; } /* Module operations are added to service and built execution chains */ status = axis2_svc_add_module_ops(svc, env, module_desc, phase_resolver->axis2_config); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding module operations from module %s into service %s failed", modname_d, svcname); return status; } for (index_i = axutil_hash_first(ops, env); index_i; index_i = axutil_hash_next(env, index_i)) { axutil_array_list_t *modules = NULL; axis2_op_t *op_desc = NULL; int size = 0; int j = 0; void *v = NULL; axis2_bool_t engaged = AXIS2_FALSE; axis2_char_t *opname = NULL; axutil_hash_this(index_i, NULL, NULL, &v); op_desc = (axis2_op_t *) v; opname = axutil_qname_get_localpart(axis2_op_get_qname(op_desc, env), env); modules = axis2_op_get_all_modules(op_desc, env); if (modules) { size = axutil_array_list_size(modules, env); } for (j = 0; j < size; j++) { axis2_module_desc_t *module_desc_l = NULL; const axutil_qname_t *module_d_qname_l = NULL; module_desc_l = axutil_array_list_get(modules, env, j); module_d_qname_l = axis2_module_desc_get_qname(module_desc_l, env); if (axutil_qname_equals(module_d_qname, env, module_d_qname_l)) { engaged = AXIS2_TRUE; status = AXIS2_SUCCESS; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Module %s already engaged to operation %s of service %s", modname_d, opname, svcname); break; } } if (!engaged) { status = axis2_phase_resolver_engage_module_to_op(phase_resolver, env, op_desc, module_desc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Engaging module %s to operation %s failed.", modname_d, opname); return status; } status = axis2_op_add_to_engaged_module_list(op_desc, env, module_desc); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_engage_module_to_svc"); return status; } /** * In this function all the handlers in each flow of the module description are added to the phases * of the operation(user define phases) and phases of the conf(system defined phases). First handlers * for system defined phases are added. Then handlers for operation specific phases are added. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_engage_module_to_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_op_t * axis_op, axis2_module_desc_t * module_desc) { int type = 0; axis2_phase_holder_t *phase_holder = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_engage_module_to_op"); AXIS2_PARAM_CHECK(env->error, axis_op, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); for (type = 1; type < 5; type++) { axis2_flow_t *flow = NULL; axis2_char_t *flowname = NULL; axutil_array_list_t *phases = NULL; switch (type) { case AXIS2_IN_FLOW: { phases = axis2_op_get_in_flow(axis_op, env); break; } case AXIS2_OUT_FLOW: { phases = axis2_op_get_out_flow(axis_op, env); break; } case AXIS2_FAULT_IN_FLOW: { phases = axis2_op_get_fault_in_flow(axis_op, env); break; } case AXIS2_FAULT_OUT_FLOW: { phases = axis2_op_get_fault_out_flow(axis_op, env); break; } } if (phases) { phase_holder = axis2_phase_holder_create_with_phases(env, phases); } switch (type) { case AXIS2_IN_FLOW: { flow = axis2_module_desc_get_in_flow(module_desc, env); flowname = "in flow"; break; } case AXIS2_OUT_FLOW: { flow = axis2_module_desc_get_out_flow(module_desc, env); flowname = "out flow"; break; } case AXIS2_FAULT_IN_FLOW: { flow = axis2_module_desc_get_fault_in_flow(module_desc, env); flowname = "fault in flow"; break; } case AXIS2_FAULT_OUT_FLOW: { flow = axis2_module_desc_get_fault_out_flow(module_desc, env); flowname = "fault out flow"; break; } } if (flow && phase_holder) { int j = 0; int handler_count = 0; handler_count = axis2_flow_get_handler_count(flow, env); for (j = 0; j < handler_count; j++) { /* For all handlers in the flow from the module description */ axis2_handler_desc_t *metadata = NULL; const axis2_char_t *phase_name = NULL; axis2_phase_rule_t *phase_rule = NULL; const axutil_string_t *handlersname = NULL; const axis2_char_t *handlername = NULL; axis2_status_t status = AXIS2_FAILURE; metadata = axis2_flow_get_handler(flow, env, j); handlersname = axis2_handler_desc_get_name(metadata, env); handlername = axutil_string_get_buffer(handlersname, env); phase_rule = axis2_handler_desc_get_rules(metadata, env); phase_name = axis2_phase_rule_get_name(phase_rule, env); /* For user/operation specific phases */ if ((axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) && (axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name)) && (axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) && (axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name))) { status = axis2_phase_holder_add_handler(phase_holder, env, metadata); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler %s inclusion failed for %s phase within flow %s. Phase might"\ "not available in axis2.xml", handlername, phase_name, phase_name, flowname); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); axis2_phase_holder_free(phase_holder, env); return status; } } /* For System defined phases */ if ((!axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name))) { axutil_array_list_t *phase_list = NULL; axis2_phase_holder_t *phase_holder = NULL; phase_list = axis2_conf_get_in_phases_upto_and_including_post_dispatch (phase_resolver->axis2_config, env); if (phase_holder) { axis2_phase_holder_free(phase_holder, env); phase_holder = NULL; } phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); status = axis2_phase_holder_add_handler(phase_holder, env, metadata); axis2_phase_holder_free(phase_holder, env); phase_holder = NULL; if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler %s to phase %s within flow %s failed", handlername, phase_name, flowname); return status; } } } } if (phase_holder) { axis2_phase_holder_free(phase_holder, env); phase_holder = NULL; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_engage_module_to_op"); return AXIS2_SUCCESS; } /** * The caller function first set the service into the phase resolver. Then call this function to * build execution chains for that services operations. Within this function it just call * axis2_phase_resolver_build_execution_chains_for_op() function to build exection chains for * each operation. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_build_execution_chains_for_svc( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env) { axutil_hash_index_t *index_i = 0; axis2_status_t status = AXIS2_FAILURE; axis2_op_t *op = NULL; axutil_hash_t *ops = NULL; if (!(phase_resolver->svc)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No service set to phase resolver"); return AXIS2_FAILURE; } ops = axis2_svc_get_all_ops(phase_resolver->svc, env); for (index_i = axutil_hash_first(ops, env); index_i; index_i = axutil_hash_next(env, index_i)) { void *v = NULL; int j = 0; axutil_hash_this(index_i, NULL, NULL, &v); op = (axis2_op_t *) v; for (j = 1; j < 5; j++) { status = axis2_phase_resolver_build_execution_chains_for_op(phase_resolver, env, j, op); } } return status; } /** * For operation passed as parameter, build execution chains. To do this get all engaged modules * from the axis2 configuration and for each module get the all handlers to be add to the operation * specific phases. Then for each operation specific phases add those handlers. It should be noted * that by the time this function is called the module handlers are already added to system specific * phases. This function is called from axis2_phase_resolver_build_execution_chains_for_svc() * function and axis2_phase_resolver_build_execution_chains_for_module_op() function. */ static axis2_status_t axis2_phase_resolver_build_execution_chains_for_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, int type, axis2_op_t *op) { axutil_array_list_t *handler_list = NULL; axutil_array_list_t *moduleqnames = NULL; int i = 0; int size = 0; int status = AXIS2_FAILURE; axis2_char_t *flowname = NULL; axis2_phase_holder_t *phase_holder = NULL; axutil_array_list_t *engaged_module_list_for_parent_svc = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_build_execution_chains_for_op"); handler_list = axutil_array_list_create(env, 0); if (!handler_list) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } /* Engage handlers from axis2.xml and from modules */ moduleqnames = axis2_conf_get_all_engaged_modules(phase_resolver->axis2_config, env); size = axutil_array_list_size(moduleqnames, env); for (i = 0; i < size; i++) { axis2_char_t *modulename = NULL; axutil_qname_t *moduleqname = NULL; axis2_module_desc_t *module_desc = NULL; moduleqname = (axutil_qname_t *) axutil_array_list_get(moduleqnames, env, i); modulename = axutil_qname_get_localpart(moduleqname, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Module name is:%s", modulename); module_desc = axis2_conf_get_module(phase_resolver->axis2_config, env, moduleqname); if(!module_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODULE_REF, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module description not found in axis2 configuration for name %s", modulename); if (handler_list) { axutil_array_list_free(handler_list, env); } return AXIS2_FAILURE; } status = axis2_phase_resolver_add_to_handler_list(env, handler_list, op, module_desc, type); if(AXIS2_SUCCESS != status) { if (handler_list) { axutil_array_list_free(handler_list, env); } return AXIS2_FAILURE; } axis2_op_add_to_engaged_module_list(op, env, module_desc); } engaged_module_list_for_parent_svc = axis2_svc_get_engaged_module_list(phase_resolver->svc, env); size = axutil_array_list_size(engaged_module_list_for_parent_svc, env); for (i = 0; i < size; i++) { axis2_char_t *modulename = NULL; axutil_qname_t *moduleqname = NULL; axis2_module_desc_t *module_desc = NULL; module_desc = axutil_array_list_get(engaged_module_list_for_parent_svc, env, i); if(!module_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_MODULE_REF, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Module description not found in engaged module list for service %s", axis2_svc_get_name(phase_resolver->svc, env)); if (handler_list) { axutil_array_list_free(handler_list, env); } return AXIS2_FAILURE; } moduleqname = (axutil_qname_t *) axis2_module_desc_get_qname(module_desc, env); modulename = axutil_qname_get_localpart(moduleqname, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Module name is:%s", modulename); status = axis2_phase_resolver_add_to_handler_list(env, handler_list, op, module_desc, type); if(AXIS2_SUCCESS != status) { if (handler_list) { axutil_array_list_free(handler_list, env); } return AXIS2_FAILURE; } axis2_op_add_to_engaged_module_list(op, env, module_desc); } if(0 == axutil_array_list_size(handler_list, env)) { /* No flows configured */ if (handler_list) { axutil_array_list_free(handler_list, env); } return AXIS2_SUCCESS; } switch (type) { case AXIS2_IN_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_in_flow(op, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); flowname = "in flow"; break; } case AXIS2_OUT_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_out_flow(op, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); flowname = "out flow"; break; } case AXIS2_FAULT_IN_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_fault_in_flow(op, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); flowname = "fault in flow"; break; } case AXIS2_FAULT_OUT_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_fault_out_flow(op, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); flowname = "fault out flow"; break; } } size = axutil_array_list_size(handler_list, env); for (i = 0; i < size; i++) { axis2_handler_desc_t *metadata = NULL; metadata = (axis2_handler_desc_t *) axutil_array_list_get(handler_list, env, i); if (phase_holder) { status = axis2_phase_holder_add_handler(phase_holder, env, metadata); if (!status) { break; } } } /* Free the locally created handler_list*/ if (handler_list) { axutil_array_list_free(handler_list, env); } if (phase_holder) { axis2_phase_holder_free(phase_holder, env); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_build_execution_chains_for_op"); return status; } /** * For module operation build execution chains. This is called by axis2_svc_add_module_ops() function. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_build_execution_chains_for_module_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_op_t * op) { int i = 0; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_build_execution_chains_for_module_op"); AXIS2_PARAM_CHECK(env->error, op, AXIS2_FAILURE); for (i = 1; i < 5; i++) { status = axis2_phase_resolver_build_execution_chains_for_op(phase_resolver, env, i, op); if (!status) { break; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_build_execution_chains_for_module_op"); return status; } /** * Take the phases for each flow from the axis2 configuration, take all the handlers of each flow * from the module description and then each handler is added into the corresponding global phase. * This function is called from function axis2_phase_resolver_engage_module_globally() to add * module handlers into global phases. */ static axis2_status_t axis2_phase_resolver_add_module_handlers_to_system_defined_phases( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_module_desc_t * module_desc) { int type = 0; axis2_status_t status = AXIS2_FAILURE; axis2_phase_holder_t *phase_holder = NULL; const axutil_qname_t *modqname = NULL; axis2_char_t *modname = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_add_module_handlers_to_system_defined_phases"); modqname = axis2_module_desc_get_qname(module_desc, env); modname = axutil_qname_get_localpart(modqname, env); for (type = 1; type < 5; type++) { axis2_flow_t *flow = NULL; axis2_char_t *flow_name = NULL; switch (type) { case AXIS2_IN_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_conf_get_in_phases_upto_and_including_post_dispatch (phase_resolver->axis2_config, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); if (!phase_holder) continue; break; } case AXIS2_OUT_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_conf_get_out_flow(phase_resolver->axis2_config, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); if (!phase_holder) continue; break; } case AXIS2_FAULT_IN_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_conf_get_in_fault_flow(phase_resolver-> axis2_config, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); if (!phase_holder) continue; break; } case AXIS2_FAULT_OUT_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_conf_get_out_fault_flow(phase_resolver-> axis2_config, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); if (!phase_holder) continue; break; } } /* Modules referred by axis2.xml */ switch (type) { case AXIS2_IN_FLOW: { flow = axis2_module_desc_get_in_flow(module_desc, env); flow_name = "in flow"; break; } case AXIS2_OUT_FLOW: { flow = axis2_module_desc_get_out_flow(module_desc, env); flow_name = "out flow"; break; } case AXIS2_FAULT_IN_FLOW: { flow = axis2_module_desc_get_fault_in_flow(module_desc, env); flow_name = "fault in flow"; break; } case AXIS2_FAULT_OUT_FLOW: { flow = axis2_module_desc_get_fault_out_flow(module_desc, env); flow_name = "fault out flow"; break; } } if (flow) { int j = 0; for (j = 0; j < axis2_flow_get_handler_count(flow, env); j++) { axis2_handler_desc_t *metadata = NULL; const axis2_char_t *phase_name = NULL; axis2_phase_rule_t *phase_rule = NULL; const axutil_string_t *handlersname = NULL; const axis2_char_t *handlername = NULL; metadata = axis2_flow_get_handler(flow, env, j); handlersname = axis2_handler_desc_get_name(metadata, env); handlername = axutil_string_get_buffer(handlersname, env); phase_rule = axis2_handler_desc_get_rules(metadata, env); if (phase_rule) { phase_name = axis2_phase_rule_get_name(phase_rule, env); } if (!phase_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Phase rules for handler %s has no name", handlername); return AXIS2_FAILURE; } if ((!axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name))) { /* If a global phase add the module handler*/ status = axis2_phase_holder_add_handler(phase_holder, env, metadata); if (!status) { axis2_phase_holder_free(phase_holder, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler %s of module %s to phase %s of "\ "flow %s failed", handlername, modname, phase_name, flow_name); return status; } } } } if (phase_holder) { axis2_phase_holder_free(phase_holder, env); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_add_module_handlers_to_system_defined_phases"); return AXIS2_SUCCESS; } /** * For each operation of the service first check whether module is already engaged to operation. * If not take each operations flows and add the module handlers into them appropriately. This * function is called from function axis2_phase_resolver_engage_module_globally() to add handlers * from module into each services all operations. */ static axis2_status_t axis2_phase_resolver_add_module_handlers_to_user_defined_phases( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_svc_t * svc, axis2_module_desc_t * module_desc) { axutil_hash_t *ops = NULL; axis2_bool_t engaged = AXIS2_FALSE; axutil_hash_index_t *index_i = NULL; int type = 0; axis2_status_t status = AXIS2_FAILURE; axis2_phase_holder_t *phase_holder = NULL; const axis2_char_t *svc_name = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_add_module_handlers_to_user_defined_phases"); AXIS2_PARAM_CHECK(env->error, svc, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); svc_name = axis2_svc_get_name(svc, env); ops = axis2_svc_get_all_ops(svc, env); if (!ops) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No operations for the service %s", svc_name); return AXIS2_FAILURE; } for (index_i = axutil_hash_first(ops, env); index_i; index_i = axutil_hash_next(env, index_i)) { void *v = NULL; axis2_op_t *op_desc = NULL; int j = 0; axutil_array_list_t *modules = NULL; axis2_flow_t *flow = NULL; axis2_char_t *flowname = NULL; const axutil_qname_t *module_desc_qname = NULL; axis2_char_t *module_desc_name = NULL; int size = 0; axis2_char_t *op_name = NULL; axutil_hash_this(index_i, NULL, NULL, &v); op_desc = (axis2_op_t *) v; op_name = axutil_qname_get_localpart(axis2_op_get_qname(op_desc, env), env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Operation name is : %s", op_name); /* Get all modules engaged to the operation */ modules = axis2_op_get_all_modules(op_desc, env); module_desc_qname = axis2_module_desc_get_qname(module_desc, env); module_desc_name = axutil_qname_get_localpart(module_desc_qname, env); if (modules) { size = axutil_array_list_size(modules, env); } /* Checking whether module is already engaged to operation */ for (j = 0; j < size; j++) { axis2_module_desc_t *module_desc_l = NULL; const axutil_qname_t *module_desc_qname_l = NULL; module_desc_l = (axis2_module_desc_t *) axutil_array_list_get(modules, env, j); module_desc_qname_l = axis2_module_desc_get_qname(module_desc_l, env); if (axutil_qname_equals(module_desc_qname_l, env, module_desc_qname)) { engaged = AXIS2_TRUE; break; } } if (engaged) { continue; } for (type = 1; type < 5; type++) { switch (type) { case AXIS2_IN_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_in_flow(op_desc, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); break; } case AXIS2_OUT_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_out_flow(op_desc, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); break; } case AXIS2_FAULT_IN_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_fault_in_flow(op_desc, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); break; } case AXIS2_FAULT_OUT_FLOW: { axutil_array_list_t *phase_list = NULL; phase_list = axis2_op_get_fault_out_flow(op_desc, env); phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); break; } } /* Process modules referred by axis2.xml */ switch (type) { case AXIS2_IN_FLOW: { flow = axis2_module_desc_get_in_flow(module_desc, env); flowname = "in flow"; break; } case AXIS2_OUT_FLOW: { flow = axis2_module_desc_get_out_flow(module_desc, env); flowname = "out flow"; break; } case AXIS2_FAULT_IN_FLOW: { flow = axis2_module_desc_get_fault_in_flow(module_desc, env); flowname = "fault in flow"; break; } case AXIS2_FAULT_OUT_FLOW: { flow = axis2_module_desc_get_fault_out_flow(module_desc, env); flowname = "fault out flow"; break; } } if (flow) { int handler_count = 0; handler_count = axis2_flow_get_handler_count(flow, env); for (j = 0; j < handler_count; j++) { axis2_handler_desc_t *metadata = NULL; const axis2_char_t *phase_name = NULL; axis2_phase_rule_t *phase_rule = NULL; const axutil_string_t *handlersname = NULL; const axis2_char_t *handlername = NULL; metadata = axis2_flow_get_handler(flow, env, j); handlersname = axis2_handler_desc_get_name(metadata, env); handlername = axutil_string_get_buffer(handlersname, env); phase_rule = axis2_handler_desc_get_rules(metadata, env); if (phase_rule) { phase_name = axis2_phase_rule_get_name(phase_rule, env); } if (!phase_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Handler rules for the handler description %s within flow %s has no name", handlername, flowname); return AXIS2_FAILURE; } /* If phase is not a system defined phase, add module handler to it */ if ((axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) && (axutil_strcmp( AXIS2_PHASE_DISPATCH, phase_name)) && (axutil_strcmp( AXIS2_PHASE_POST_DISPATCH, phase_name)) && (axutil_strcmp( AXIS2_PHASE_PRE_DISPATCH, phase_name))) { if (phase_holder) { status = axis2_phase_holder_add_handler(phase_holder, env, metadata); if (!status) { axis2_phase_holder_free(phase_holder, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler desc %s to"\ "phase %s within flow %s failed", handlername, phase_name, flowname); return status; } } } } } if (phase_holder) { axis2_phase_holder_free(phase_holder, env); } } status = axis2_op_add_to_engaged_module_list(op_desc, env, module_desc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding module description %s to engaged "\ "module list of operation %s failed", module_desc_name, op_name); return status; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_add_module_handlers_to_user_defined_phases"); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_disengage_module_from_svc( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_svc_t * svc, axis2_module_desc_t * module_desc) { axutil_hash_t *ops = NULL; axutil_hash_index_t *index_i = NULL; axis2_status_t status = AXIS2_FAILURE; const axutil_qname_t *module_d_qname = NULL; const axis2_char_t *svc_name = axis2_svc_get_name(svc, env); axis2_char_t *modname_d = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_disengage_module_from_svc"); ops = axis2_svc_get_all_ops(svc, env); if (!ops) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Service %s has no operation", svc_name); return AXIS2_FAILURE; } module_d_qname = axis2_module_desc_get_qname(module_desc, env); modname_d = axutil_qname_get_localpart(module_d_qname, env); for (index_i = axutil_hash_first(ops, env); index_i; index_i = axutil_hash_next(env, index_i)) { axutil_array_list_t *modules = NULL; axis2_op_t *op_desc = NULL; int size = 0; int j = 0; void *v = NULL; axis2_bool_t engaged = AXIS2_FALSE; const axutil_qname_t *opqname = NULL; axis2_char_t *opname = NULL; axutil_hash_this(index_i, NULL, NULL, &v); op_desc = (axis2_op_t *) v; opqname = axis2_op_get_qname(op_desc, env); opname = axutil_qname_get_localpart(opqname, env); modules = axis2_op_get_all_modules(op_desc, env); if (modules) { size = axutil_array_list_size(modules, env); } for (j = 0; j < size; j++) { axis2_module_desc_t *module_desc_l = NULL; const axutil_qname_t *module_d_qname_l = NULL; module_desc_l = axutil_array_list_get(modules, env, j); module_d_qname_l = axis2_module_desc_get_qname(module_desc_l, env); if (axutil_qname_equals(module_d_qname, env, module_d_qname_l)) { engaged = AXIS2_TRUE; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Module %s already engaged.", modname_d); break; } } if (engaged) { status = axis2_phase_resolver_disengage_module_from_op(phase_resolver, env, op_desc, module_desc); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Disengaging module %s from operation %s failed", modname_d, opname); return status; } status = axis2_op_remove_from_engaged_module_list(op_desc, env, module_desc); } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_disengage_module_from_svc"); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_disengage_module_from_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_op_t * axis_op, axis2_module_desc_t * module_desc) { int type = 0; axis2_phase_holder_t *phase_holder = NULL; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_disengage_module_from_op"); AXIS2_PARAM_CHECK(env->error, axis_op, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_desc, AXIS2_FAILURE); for (type = 1; type < 5; type++) { axis2_flow_t *flow = NULL; axis2_char_t *flowname = NULL; axutil_array_list_t *phases = NULL; switch (type) { case AXIS2_IN_FLOW: { phases = axis2_op_get_in_flow(axis_op, env); break; } case AXIS2_OUT_FLOW: { phases = axis2_op_get_out_flow(axis_op, env); break; } case AXIS2_FAULT_IN_FLOW: { phases = axis2_op_get_fault_in_flow(axis_op, env); break; } case AXIS2_FAULT_OUT_FLOW: { phases = axis2_op_get_fault_out_flow(axis_op, env); break; } } if (phases) { phase_holder = axis2_phase_holder_create_with_phases(env, phases); } switch (type) { case AXIS2_IN_FLOW: { flow = axis2_module_desc_get_in_flow(module_desc, env); flowname = "in flow"; break; } case AXIS2_OUT_FLOW: { flow = axis2_module_desc_get_out_flow(module_desc, env); flowname = "out flow"; break; } case AXIS2_FAULT_IN_FLOW: { flow = axis2_module_desc_get_fault_in_flow(module_desc, env); flowname = "fault in flow"; break; } case AXIS2_FAULT_OUT_FLOW: { flow = axis2_module_desc_get_fault_out_flow(module_desc, env); flowname = "fault out flow"; break; } } if (flow && phase_holder) { int j = 0; int handler_count = 0; handler_count = axis2_flow_get_handler_count(flow, env); for (j = 0; j < handler_count; j++) { axis2_handler_desc_t *metadata = NULL; const axis2_char_t *phase_name = NULL; axis2_phase_rule_t *phase_rule = NULL; const axutil_string_t *handlersname = NULL; const axis2_char_t *handlername = NULL; axis2_status_t status = AXIS2_FAILURE; metadata = axis2_flow_get_handler(flow, env, j); handlersname = axis2_handler_desc_get_name(metadata, env); handlername = axutil_string_get_buffer(handlersname, env); phase_rule = axis2_handler_desc_get_rules(metadata, env); phase_name = axis2_phase_rule_get_name(phase_rule, env); if ((axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) && (axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name)) && (axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) && (axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name))) { status = axis2_phase_holder_remove_handler(phase_holder, env, metadata); if (AXIS2_SUCCESS != status) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Handler %s Removal failed for %s phase within flow %s", handlername, phase_name, flowname); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); axis2_phase_holder_free(phase_holder, env); return status; } } if ((!axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) || (!axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name))) { axutil_array_list_t *phase_list = NULL; axis2_phase_holder_t *phase_holder = NULL; phase_list = axis2_conf_get_in_phases_upto_and_including_post_dispatch (phase_resolver->axis2_config, env); if (phase_holder) { axis2_phase_holder_free(phase_holder, env); phase_holder = NULL; } phase_holder = axis2_phase_holder_create_with_phases(env, phase_list); status = axis2_phase_holder_remove_handler(phase_holder, env, metadata); axis2_phase_holder_free(phase_holder, env); phase_holder = NULL; if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Removing handler %s from phase %s within flow %s failed", handlername, phase_name, flowname); return status; } } } } if (phase_holder) { axis2_phase_holder_free(phase_holder, env); phase_holder = NULL; } } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_disengage_module_from_op"); return AXIS2_SUCCESS; } /* This function is deprecated and no longer used */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_build_transport_chains( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env) { axis2_transport_in_desc_t **transports_in = NULL; axis2_transport_out_desc_t **transports_out = NULL; int index_i = 0; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_build_transport_chains"); transports_in = axis2_conf_get_all_in_transports(phase_resolver->axis2_config, env); if (!transports_in) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No transport in descriptions configured"); return AXIS2_SUCCESS; } transports_out = axis2_conf_get_all_out_transports(phase_resolver->axis2_config, env); if (!transports_out) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No transport out descriptions configured"); return AXIS2_SUCCESS; } for (index_i = 0; index_i < AXIS2_TRANSPORT_ENUM_MAX; index_i++) { if (transports_in[index_i]) { status = axis2_phase_resolver_build_in_transport_chains(phase_resolver, env, transports_in [index_i]); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Building transport in chains failed"); return status; } } } for (index_i = 0; index_i < AXIS2_TRANSPORT_ENUM_MAX; index_i++) { if (transports_out[index_i]) { status = axis2_phase_resolver_build_out_transport_chains(phase_resolver, env, transports_out [index_i]); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Building transport out chains failed"); return status; } } } /* If transport in or transport out maps are not null but still they don't * have chains configured then we return success, because there are no * chains to process. */ AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_build_transport_chains"); return AXIS2_SUCCESS; } /** * This function is called from function * axis2_phase_resolver_build_transport_chains(). * This function is deprecated and no longer used. */ static axis2_status_t axis2_phase_resolver_build_in_transport_chains( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_transport_in_desc_t * transport) { int type = 0; int j = 0; axis2_status_t status = AXIS2_FAILURE; axutil_array_list_t *handlers = NULL; AXIS2_TRANSPORT_ENUMS transport_enum = axis2_transport_in_desc_get_enum(transport, env);; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_build_in_transport_chains"); AXIS2_PARAM_CHECK(env->error, transport, AXIS2_FAILURE); for (type = 1; type < 4; type++) { axis2_flow_t *flow = NULL; axis2_char_t *flowname = NULL; axis2_phase_t *phase = NULL; switch (type) { case AXIS2_IN_FLOW: { flow = axis2_transport_in_desc_get_in_flow(transport, env); phase = axis2_transport_in_desc_get_in_phase(transport, env); flowname = "in flow"; break; } case AXIS2_FAULT_IN_FLOW: { flow = axis2_transport_in_desc_get_fault_in_flow(transport, env); phase = axis2_transport_in_desc_get_fault_phase(transport, env); flowname = "fault in flow"; break; } } if (flow) { axis2_phase_holder_t *phase_holder = NULL; int size = 0; size = axis2_flow_get_handler_count(flow, env); handlers = axutil_array_list_create(env, 0); for (j = 0; j < size; j++) { axis2_handler_desc_t *metadata = NULL; axis2_phase_rule_t *rule = NULL; const axis2_char_t *handlername = NULL; const axutil_string_t *handlersname = NULL; metadata = axis2_flow_get_handler(flow, env, j); handlersname = axis2_handler_desc_get_name(metadata, env); handlername = axutil_string_get_buffer(handlersname, env); rule = axis2_handler_desc_get_rules(metadata, env); if (rule) { status = axis2_phase_rule_set_name(rule, env, AXIS2_TRANSPORT_PHASE); } if (AXIS2_SUCCESS != status) { if (handlers) { axis2_handler_desc_t *handler_d = NULL; int i = 0; int size = 0; size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_d = axutil_array_list_get(handlers, env, i); axis2_handler_desc_free(handler_d, env); } axutil_array_list_free(handlers, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name %s to phase rules for handler %s failed"\ "for in transport %d within flow %s", AXIS2_TRANSPORT_PHASE, handlername, transport_enum, flowname); return status; } status = axutil_array_list_add(handlers, env, metadata); if (AXIS2_SUCCESS != status) { if (handlers) { axis2_handler_desc_t *handler_d = NULL; int i = 0; int size = 0; size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_d = axutil_array_list_get(handlers, env, i); axis2_handler_desc_free(handler_d, env); } axutil_array_list_free(handlers, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler %s from in transport %d to handler "\ "list failed within flow %s", handlername, transport_enum, flowname); return status; } } phase_holder = axis2_phase_holder_create(env); if (!phase_holder) { if (handlers) { axis2_handler_desc_t *handler_d = NULL; int i = 0; int size = 0; size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_d = axutil_array_list_get(handlers, env, i); axis2_handler_desc_free(handler_d, env); } axutil_array_list_free(handlers, env); } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } status = axis2_phase_holder_build_transport_handler_chain(phase_holder, env, phase, handlers); if (phase_holder) { axis2_phase_holder_free(phase_holder, env); } } else { /* Do nothing */ } } if (handlers) { axutil_array_list_free(handlers, env); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_build_in_transport_chains"); return status; } /** * This function is called from function * axis2_phase_resolver_build_transport_chains(). * This is deprecated and no longer used. */ static axis2_status_t axis2_phase_resolver_build_out_transport_chains( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, axis2_transport_out_desc_t * transport) { int type = 0; axis2_status_t status = AXIS2_FAILURE; axutil_array_list_t *handlers = NULL; AXIS2_TRANSPORT_ENUMS transport_enum = axis2_transport_out_desc_get_enum(transport, env);; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Entry:axis2_phase_resolver_build_out_transport_chains"); AXIS2_PARAM_CHECK(env->error, transport, AXIS2_FAILURE); for (type = 1; type < 5; type++) { axis2_flow_t *flow = NULL; axis2_char_t *flowname = NULL; axis2_phase_t *phase = NULL; switch (type) { case AXIS2_OUT_FLOW: { flow = axis2_transport_out_desc_get_out_flow(transport, env); phase = axis2_transport_out_desc_get_out_phase(transport, env); flowname = "out flow"; break; } case AXIS2_FAULT_OUT_FLOW: { flow = axis2_transport_out_desc_get_fault_out_flow(transport, env); phase = axis2_transport_out_desc_get_fault_phase(transport, env); flowname = "fault out flow"; break; } } if (flow) { axis2_phase_holder_t *phase_holder = NULL; int hndlr_count = 0; int j = 0; hndlr_count = axis2_flow_get_handler_count(flow, env); if (AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, ""); return AXIS2_ERROR_GET_STATUS_CODE(env->error); } handlers = axutil_array_list_create(env, 0); for (j = 0; j < hndlr_count; j++) { axis2_handler_desc_t *metadata = NULL; axis2_phase_rule_t *rule = NULL; const axis2_char_t *handlername = NULL; const axutil_string_t *handlersname = NULL; metadata = axis2_flow_get_handler(flow, env, j); handlersname = axis2_handler_desc_get_name(metadata, env); handlername = axutil_string_get_buffer(handlersname, env); rule = axis2_handler_desc_get_rules(metadata, env); if (rule) { status = axis2_phase_rule_set_name(rule, env, AXIS2_TRANSPORT_PHASE); } if (AXIS2_SUCCESS != status) { if (handlers) { axis2_handler_desc_t *handler_d = NULL; int i = 0; int size = 0; size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_d = axutil_array_list_get(handlers, env, i); axis2_handler_desc_free(handler_d, env); } axutil_array_list_free(handlers, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Setting name %s to phase rules for handler %s failed"\ "for out transport %d within flow %s", AXIS2_TRANSPORT_PHASE, handlername, transport_enum, flowname); return status; } status = axutil_array_list_add(handlers, env, metadata); if (AXIS2_FAILURE == status) { if (handlers) { axis2_handler_desc_t *handler_d = NULL; int i = 0; int size = 0; size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_d = axutil_array_list_get(handlers, env, i); axis2_handler_desc_free(handler_d, env); } axutil_array_list_free(handlers, env); } AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler %s from out transport %d to handler "\ "list failed within flow %s", handlername, transport_enum, flowname); return status; } } phase_holder = axis2_phase_holder_create(env); if (!phase_holder) { if (handlers) { axis2_handler_desc_t *handler_d = NULL; int i = 0; int size = 0; size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_d = axutil_array_list_get(handlers, env, i); axis2_handler_desc_free(handler_d, env); } axutil_array_list_free(handlers, env); } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory"); return AXIS2_FAILURE; } status = axis2_phase_holder_build_transport_handler_chain(phase_holder, env, phase, handlers); if (phase_holder) { axis2_phase_holder_free(phase_holder, env); } } else { /* Do nothing */ } } if (handlers) { axutil_array_list_free(handlers, env); } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "Exit:axis2_phase_resolver_build_out_transport_chains"); return status; } /** * This function is called from axis2_phase_resolver_build_execution_chains_for_op() function. */ static axis2_status_t axis2_phase_resolver_add_to_handler_list( const axutil_env_t * env, axutil_array_list_t *handler_list, axis2_op_t *op, axis2_module_desc_t * module_desc, int type) { axis2_flow_t *flow = NULL; axis2_char_t *flowname = NULL; const axutil_qname_t *opqname = NULL; axis2_char_t *opname = NULL; axis2_status_t status = AXIS2_FAILURE; opqname = axis2_op_get_qname(op, env); opname = axutil_qname_get_localpart(opqname, env); switch (type) { case AXIS2_IN_FLOW: { flow = axis2_module_desc_get_in_flow(module_desc, env); flowname = "in flow"; break; } case AXIS2_OUT_FLOW: { flow = axis2_module_desc_get_out_flow(module_desc, env); flowname = "out flow"; break; } case AXIS2_FAULT_IN_FLOW: { flow = axis2_module_desc_get_fault_in_flow(module_desc, env); flowname = "fault in flow"; break; } case AXIS2_FAULT_OUT_FLOW: { flow = axis2_module_desc_get_fault_out_flow(module_desc, env); flowname = "fault out flow"; break; } } if (flow) { int j = 0; int count = 0; count = axis2_flow_get_handler_count(flow, env); if (AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Getting hanlder count for the flow %s failed", flowname); return AXIS2_ERROR_GET_STATUS_CODE(env->error); } for (j = 0; j < count; j++) { axis2_handler_desc_t *metadata = NULL; const axis2_char_t *phase_name = NULL; axis2_phase_rule_t *phase_rule = NULL; const axutil_string_t *handlername = NULL; const axis2_char_t *handlername_buff = NULL; metadata = axis2_flow_get_handler(flow, env, j); handlername = axis2_handler_desc_get_name(metadata, env); handlername_buff = axutil_string_get_buffer(handlername, env); phase_rule = axis2_handler_desc_get_rules(metadata, env); phase_name = axis2_phase_rule_get_name(phase_rule, env); if (!phase_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Phase rules name null for the handler description %s within flow %s", handlername_buff, flowname); return AXIS2_FAILURE; } /* If user defined phases */ if ((axutil_strcmp(AXIS2_PHASE_TRANSPORT_IN, phase_name)) && (axutil_strcmp(AXIS2_PHASE_DISPATCH, phase_name)) && (axutil_strcmp(AXIS2_PHASE_POST_DISPATCH, phase_name)) && (axutil_strcmp(AXIS2_PHASE_PRE_DISPATCH, phase_name))) { status = axutil_array_list_add(handler_list, env, metadata); if (AXIS2_SUCCESS != status) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Adding handler description %s failed for phase %s within flow %s", handlername_buff, phase_name, flowname); return status; } } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Trying to add this handler %s to system pre defined phases , but those "\ "handlers are already added to global chain which run irrespective of the service", handlername_buff); } } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/phaseresolver/Makefile.am0000644000175000017500000000051011166304443023267 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_phaseresolver.la libaxis2_phaseresolver_la_SOURCES = phase_holder.c \ phase_resolver.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/util/include axis2c-src-1.6.0/src/core/phaseresolver/Makefile.in0000644000175000017500000003343711172017203023306 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/phaseresolver DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_phaseresolver_la_LIBADD = am_libaxis2_phaseresolver_la_OBJECTS = phase_holder.lo \ phase_resolver.lo libaxis2_phaseresolver_la_OBJECTS = \ $(am_libaxis2_phaseresolver_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_phaseresolver_la_SOURCES) DIST_SOURCES = $(libaxis2_phaseresolver_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_phaseresolver.la libaxis2_phaseresolver_la_SOURCES = phase_holder.c \ phase_resolver.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/util/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/phaseresolver/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/phaseresolver/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_phaseresolver.la: $(libaxis2_phaseresolver_la_OBJECTS) $(libaxis2_phaseresolver_la_DEPENDENCIES) $(LINK) $(libaxis2_phaseresolver_la_OBJECTS) $(libaxis2_phaseresolver_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phase_holder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/phase_resolver.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/phaseresolver/phase_holder.c0000644000175000017500000001760311166304443024047 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axis2_phase_holder { axutil_array_list_t *phase_list; }; AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL axis2_phase_holder_create( const axutil_env_t * env) { axis2_phase_holder_t *phase_holder = NULL; AXIS2_ENV_CHECK(env, NULL); phase_holder = (axis2_phase_holder_t *) AXIS2_MALLOC(env-> allocator, sizeof (axis2_phase_holder_t)); if (!phase_holder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } phase_holder->phase_list = NULL; return phase_holder; } AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL axis2_phase_holder_create_with_phases( const axutil_env_t * env, axutil_array_list_t * phases) { axis2_phase_holder_t *phase_holder = NULL; AXIS2_ENV_CHECK(env, NULL); if (!phases) { return NULL; } phase_holder = (axis2_phase_holder_t *) axis2_phase_holder_create(env); phase_holder->phase_list = phases; return phase_holder; } AXIS2_EXTERN void AXIS2_CALL axis2_phase_holder_free( axis2_phase_holder_t * phase_holder, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (phase_holder) { AXIS2_FREE(env->allocator, phase_holder); } return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_phase_holder_is_phase_exist( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, const axis2_char_t * phase_name) { int size = 0; int i = 0; axis2_phase_t *phase = NULL; AXIS2_ENV_CHECK(env, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, phase_name, AXIS2_FALSE); size = axutil_array_list_size(phase_holder->phase_list, env); for (i = 0; i < size; i++) { const axis2_char_t *phase_name_l = NULL; phase = (axis2_phase_t *) axutil_array_list_get(phase_holder-> phase_list, env, i); phase_name_l = axis2_phase_get_name(phase, env); if (0 == axutil_strcmp(phase_name_l, phase_name)) { return AXIS2_TRUE; } } return AXIS2_FALSE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_holder_add_handler( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, axis2_handler_desc_t * handler) { const axis2_char_t *phase_name = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "axis2_phase_holder_add_handler start"); AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, handler, AXIS2_FAILURE); phase_name = axis2_phase_rule_get_name(axis2_handler_desc_get_rules(handler, env), env); if (AXIS2_TRUE == axis2_phase_holder_is_phase_exist(phase_holder, env, phase_name)) { axis2_phase_t *phase = NULL; phase = axis2_phase_holder_get_phase(phase_holder, env, phase_name); status = axis2_phase_add_handler_desc(phase, env, handler); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Add handler %s to phase %s", axutil_string_get_buffer(axis2_handler_desc_get_name (handler, env), env), phase_name); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_PHASE, AXIS2_FAILURE); status = AXIS2_FAILURE; } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "axis2_phase_holder_add_handler end status = %s", status ? "SUCCESS" : "FAILURE"); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_holder_remove_handler( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, axis2_handler_desc_t * handler) { const axis2_char_t *phase_name = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "axis2_phase_holder_remove_handler start"); AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, handler, AXIS2_FAILURE); phase_name = axis2_phase_rule_get_name(axis2_handler_desc_get_rules(handler, env), env); if (AXIS2_TRUE == axis2_phase_holder_is_phase_exist(phase_holder, env, phase_name)) { axis2_phase_t *phase = NULL; phase = axis2_phase_holder_get_phase(phase_holder, env, phase_name); status = axis2_phase_remove_handler_desc(phase, env, handler); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Remove handler %s from phase %s", axutil_string_get_buffer(axis2_handler_desc_get_name (handler, env), env), phase_name); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_PHASE, AXIS2_FAILURE); status = AXIS2_FAILURE; } AXIS2_LOG_TRACE(env->log, AXIS2_LOG_SI, "axis2_phase_holder_remove_handler end status = %s", status ? "SUCCESS" : "FAILURE"); return status; } AXIS2_EXTERN axis2_phase_t *AXIS2_CALL axis2_phase_holder_get_phase( const axis2_phase_holder_t * phase_holder, const axutil_env_t * env, const axis2_char_t * phase_name) { int size = 0; int i = 0; axis2_phase_t *phase = NULL; AXIS2_PARAM_CHECK(env->error, phase_name, NULL); size = axutil_array_list_size(phase_holder->phase_list, env); for (i = 0; i < size; i++) { const axis2_char_t *phase_name_l = NULL; phase = (axis2_phase_t *) axutil_array_list_get(phase_holder-> phase_list, env, i); phase_name_l = axis2_phase_get_name(phase, env); if (0 == axutil_strcmp(phase_name_l, phase_name)) { return phase; } } return NULL; } /* This function is deprecated */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_holder_build_transport_handler_chain( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, axis2_phase_t * phase, axutil_array_list_t * handlers) { axis2_handler_t *handler = NULL; int size = 0; int status = AXIS2_FAILURE; int i = 0; axis2_handler_desc_t *handler_desc = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, phase, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, handlers, AXIS2_FAILURE); size = axutil_array_list_size(handlers, env); for (i = 0; i < size; i++) { handler_desc = (axis2_handler_desc_t *) axutil_array_list_get(handlers, env, i); status = axis2_handler_init(handler, env, handler_desc); if (AXIS2_FAILURE == status) { return status; } status = axis2_handler_desc_set_handler(handler_desc, env, handler); if (AXIS2_FAILURE == status) { return status; } status = axis2_phase_add_handler(phase, env, handler); } return status; } axis2c-src-1.6.0/src/core/clientapi/0000777000175000017500000000000011172017537020333 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/core/clientapi/callback.c0000644000175000017500000001446711166304457022246 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_callback { /** callback complete? */ axis2_bool_t complete; /** envelope corresponding to the result */ axiom_soap_envelope_t *envelope; /** error code */ int error; /** to store callback specific data */ void *data; axutil_thread_mutex_t *mutex; /** * This function is called by invoke_on_complete. * Users could provide this method so that they can define what to be * done when the callback returns on completion. * @param callback pointer to callback struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * on_complete) ( axis2_callback_t * callback, const axutil_env_t * env); /** * This function is called by report_error. * Users could provide this method so that they can define what to be done * when the callback returns an error. * @param callback pointer to callback struct * @param env pointer to environment struct * @param exception error code representing the error * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * on_error) ( axis2_callback_t * callback, const axutil_env_t * env, const int exception); }; static axis2_status_t AXIS2_CALL axis2_callback_on_complete( axis2_callback_t * callback, const axutil_env_t * env); static axis2_status_t AXIS2_CALL axis2_callback_on_error( axis2_callback_t * callback, const axutil_env_t * env, int exception); AXIS2_EXTERN axis2_callback_t *AXIS2_CALL axis2_callback_create( const axutil_env_t * env) { axis2_callback_t *callback = NULL; AXIS2_ENV_CHECK(env, NULL); callback = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_t)); if (!callback) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create callback."); return NULL; } callback->complete = AXIS2_FALSE; callback->envelope = NULL; callback->error = AXIS2_ERROR_NONE; callback->data = NULL; callback->mutex = NULL; callback->on_complete = axis2_callback_on_complete; callback->on_error = axis2_callback_on_error; callback->mutex = axutil_thread_mutex_create(env->allocator, AXIS2_THREAD_MUTEX_DEFAULT); return callback; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_invoke_on_complete( axis2_callback_t * callback, const axutil_env_t * env, axis2_async_result_t * result) { axis2_status_t status = AXIS2_FAILURE; axis2_callback_set_envelope(callback, env, axis2_async_result_get_envelope(result, env)); status = callback->on_complete(callback, env); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_report_error( axis2_callback_t * callback, const axutil_env_t * env, const int exception) { axis2_callback_set_error(callback, env, exception); return callback->on_error(callback, env, exception); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_callback_get_complete( const axis2_callback_t * callback, const axutil_env_t * env) { return callback->complete; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_complete( axis2_callback_t * callback, const axutil_env_t * env, const axis2_bool_t complete) { callback->complete = complete; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_callback_get_envelope( const axis2_callback_t * callback, const axutil_env_t * env) { return callback->envelope; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_envelope( axis2_callback_t * callback, const axutil_env_t * env, axiom_soap_envelope_t * envelope) { callback->envelope = envelope; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axis2_callback_get_error( const axis2_callback_t * callback, const axutil_env_t * env) { return callback->error; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_error( axis2_callback_t * callback, const axutil_env_t * env, const int error) { callback->error = error; return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axis2_callback_free( axis2_callback_t * callback, const axutil_env_t * env) { if (callback->mutex) { axutil_thread_mutex_destroy(callback->mutex); } AXIS2_FREE(env->allocator, callback); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_data( axis2_callback_t * callback, void *data) { callback->data = (void *) data; return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axis2_callback_get_data( const axis2_callback_t * callback) { return callback->data; } AXIS2_EXTERN void AXIS2_CALL axis2_callback_set_on_complete( axis2_callback_t * callback, axis2_on_complete_func_ptr func) { callback->on_complete = func; } AXIS2_EXTERN void AXIS2_CALL axis2_callback_set_on_error( axis2_callback_t * callback, axis2_on_error_func_ptr func) { callback->on_error = func; } static axis2_status_t AXIS2_CALL axis2_callback_on_complete( axis2_callback_t * callback, const axutil_env_t * env) { return AXIS2_SUCCESS; } static axis2_status_t AXIS2_CALL axis2_callback_on_error( axis2_callback_t * callback, const axutil_env_t * env, int exception) { return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/clientapi/callback_recv.c0000644000175000017500000001430311166304457023252 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_callback_recv.h" #include #include struct axis2_callback_recv { /** base context struct */ axis2_msg_recv_t *base; axis2_bool_t base_deep_copy; /** callback map */ axutil_hash_t *callback_map; axutil_thread_mutex_t *mutex; }; static axis2_status_t AXIS2_CALL axis2_callback_recv_receive( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, void *callback_recv_param); AXIS2_EXTERN axis2_callback_recv_t *AXIS2_CALL axis2_callback_recv_create( const axutil_env_t * env) { axis2_callback_recv_t *callback_recv = NULL; AXIS2_ENV_CHECK(env, NULL); callback_recv = AXIS2_MALLOC(env->allocator, sizeof(axis2_callback_recv_t)); if (!callback_recv) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create callback receive."); return NULL; } callback_recv->base = NULL; callback_recv->base_deep_copy = AXIS2_TRUE; callback_recv->callback_map = NULL; callback_recv->mutex = NULL; callback_recv->base = axis2_msg_recv_create(env); if (!callback_recv->base) { axis2_callback_recv_free(callback_recv, env); return NULL; } axis2_msg_recv_set_derived(callback_recv->base, env, callback_recv); axis2_msg_recv_set_receive(callback_recv->base, env, axis2_callback_recv_receive); callback_recv->callback_map = axutil_hash_make(env); if (!callback_recv->callback_map) { axis2_callback_recv_free(callback_recv, env); return NULL; } callback_recv->mutex = axutil_thread_mutex_create(env->allocator, AXIS2_THREAD_MUTEX_DEFAULT); return callback_recv; } AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_callback_recv_get_base( axis2_callback_recv_t * callback_recv, const axutil_env_t * env) { callback_recv->base_deep_copy = AXIS2_FALSE; return callback_recv->base; } AXIS2_EXTERN void AXIS2_CALL axis2_callback_recv_free( axis2_callback_recv_t * callback_recv, const axutil_env_t * env) { if (callback_recv->mutex) { axutil_thread_mutex_destroy(callback_recv->mutex); } if (callback_recv->callback_map) { axutil_hash_index_t *hi = NULL; const void *key = NULL; void *val = NULL; for (hi = axutil_hash_first(callback_recv->callback_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, &val); if (key) AXIS2_FREE(env->allocator, (char *) key); } axutil_hash_free(callback_recv->callback_map, env); } if (callback_recv->base && callback_recv->base_deep_copy) { axis2_msg_recv_free(callback_recv->base, env); } if (callback_recv) { AXIS2_FREE(env->allocator, callback_recv); } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_recv_add_callback( axis2_callback_recv_t * callback_recv, const axutil_env_t * env, const axis2_char_t * msg_id, axis2_callback_t * callback) { if (msg_id) { axis2_char_t *mid = axutil_strdup(env, msg_id); axutil_hash_set(callback_recv->callback_map, mid, AXIS2_HASH_KEY_STRING, callback); } return AXIS2_SUCCESS; } /* In the dual channel invocations client set a callback function to be invoked when a resonse * is received from the server. When the response is received by the listening port of the * listener manager, in the engine receive call the message is finally hit by callback receiver * which is an implementation of the axis2 message receiver. This is the function that is called * at that stage. The client set callback function is called from within here. */ static axis2_status_t AXIS2_CALL axis2_callback_recv_receive( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, void *callback_recv_param) { axis2_callback_recv_t *callback_recv = NULL; axis2_relates_to_t *relates_to = NULL; axis2_msg_info_headers_t *msg_info_headers = NULL; callback_recv = axis2_msg_recv_get_derived(msg_recv, env); msg_info_headers = axis2_msg_ctx_get_msg_info_headers(msg_ctx, env); if (msg_info_headers) { relates_to = axis2_msg_info_headers_get_relates_to(msg_info_headers, env); if (relates_to) { const axis2_char_t *msg_id = axis2_relates_to_get_value(relates_to, env); if (msg_id) { axis2_async_result_t *result = NULL; axis2_callback_t *callback = (axis2_callback_t *) axutil_hash_get(callback_recv->callback_map, msg_id, AXIS2_HASH_KEY_STRING); result = axis2_async_result_create(env, msg_ctx); if (callback && result) { axis2_callback_invoke_on_complete(callback, env, result); axis2_callback_set_complete(callback, env, AXIS2_TRUE); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, NULL); } axis2_async_result_free(result, env); if (callback && result) return AXIS2_SUCCESS; } } } return AXIS2_FAILURE; } axis2c-src-1.6.0/src/core/clientapi/async_result.c0000644000175000017500000000440211166304457023211 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_async_result { /** result message context */ axis2_msg_ctx_t *result; }; AXIS2_EXTERN axis2_async_result_t *AXIS2_CALL axis2_async_result_create( const axutil_env_t * env, axis2_msg_ctx_t * result) { axis2_async_result_t *async_result = NULL; AXIS2_ENV_CHECK(env, NULL); async_result = AXIS2_MALLOC(env->allocator, sizeof(axis2_async_result_t)); if (!async_result) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create asynchronous result."); return NULL; } async_result->result = NULL; if (result) { async_result->result = result; /* shallow copy */ } return async_result; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_async_result_get_envelope( axis2_async_result_t * async_result, const axutil_env_t * env) { if (async_result->result) { return axis2_msg_ctx_get_soap_envelope(async_result->result, env); } return NULL; } AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_async_result_get_result( axis2_async_result_t * async_result, const axutil_env_t * env) { return async_result->result; } AXIS2_EXTERN void AXIS2_CALL axis2_async_result_free( axis2_async_result_t * async_result, const axutil_env_t * env) { AXIS2_FREE(env->allocator, async_result); } axis2c-src-1.6.0/src/core/clientapi/Makefile.am0000644000175000017500000000123611166304457022370 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_clientapi.la libaxis2_clientapi_la_SOURCES = async_result.c \ callback.c \ listener_manager.c \ callback_recv.c \ stub.c \ options.c \ op_client.c \ svc_client.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/util/include/platforms \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/neethi/include axis2c-src-1.6.0/src/core/clientapi/Makefile.in0000644000175000017500000003506411172017203022372 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/core/clientapi DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_clientapi_la_LIBADD = am_libaxis2_clientapi_la_OBJECTS = async_result.lo callback.lo \ listener_manager.lo callback_recv.lo stub.lo options.lo \ op_client.lo svc_client.lo libaxis2_clientapi_la_OBJECTS = $(am_libaxis2_clientapi_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_clientapi_la_SOURCES) DIST_SOURCES = $(libaxis2_clientapi_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_clientapi.la libaxis2_clientapi_la_SOURCES = async_result.c \ callback.c \ listener_manager.c \ callback_recv.c \ stub.c \ options.c \ op_client.c \ svc_client.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/util/include/platforms \ -I$(top_builddir)/axiom/include \ -I$(top_builddir)/neethi/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/core/clientapi/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/core/clientapi/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_clientapi.la: $(libaxis2_clientapi_la_OBJECTS) $(libaxis2_clientapi_la_DEPENDENCIES) $(LINK) $(libaxis2_clientapi_la_OBJECTS) $(libaxis2_clientapi_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/async_result.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callback.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/callback_recv.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/listener_manager.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/op_client.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/options.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stub.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/svc_client.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/core/clientapi/options.c0000644000175000017500000007553311166304457022206 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include struct axis2_options { /** parent options */ axis2_options_t *parent; axutil_hash_t *properties; axis2_char_t *soap_version_uri; int soap_version; long timeout_in_milli_seconds; axis2_bool_t use_separate_listener; /** addressing specific properties */ axis2_msg_info_headers_t *msg_info_headers; axis2_transport_receiver_t *receiver; axis2_transport_in_desc_t *transport_in; AXIS2_TRANSPORT_ENUMS transport_in_protocol; /** for sending and receiving messages */ axis2_transport_out_desc_t *transport_out; AXIS2_TRANSPORT_ENUMS sender_transport_protocol; axis2_bool_t manage_session; axis2_bool_t enable_mtom; axutil_string_t *soap_action; axis2_bool_t xml_parser_reset; }; AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_options_create( const axutil_env_t * env) { axis2_options_t *options = NULL; AXIS2_ENV_CHECK(env, NULL); options = AXIS2_MALLOC(env->allocator, sizeof(axis2_options_t)); if (!options) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create options."); return NULL; } options->parent = NULL; options->properties = NULL; options->soap_version_uri = NULL; options->timeout_in_milli_seconds = -1; options->use_separate_listener = -1; options->receiver = NULL; options->transport_in = NULL; options->transport_in_protocol = AXIS2_TRANSPORT_ENUM_MAX; options->transport_out = NULL; options->sender_transport_protocol = AXIS2_TRANSPORT_ENUM_MAX; options->manage_session = -1; options->soap_version = AXIOM_SOAP12; options->enable_mtom = AXIS2_FALSE; options->soap_action = NULL; options->xml_parser_reset = AXIS2_TRUE; options->msg_info_headers = axis2_msg_info_headers_create(env, NULL, NULL); if (!options->msg_info_headers) { axis2_options_free(options, env); return NULL; } options->properties = axutil_hash_make(env); if (!options->properties) { axis2_options_free(options, env); return NULL; } return options; } AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_options_create_with_parent( const axutil_env_t * env, axis2_options_t * parent) { axis2_options_t *options = NULL; options = axis2_options_create(env); if (options) { options->parent = parent; } return options; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_options_get_action( const axis2_options_t * options, const axutil_env_t * env) { const axis2_char_t *action = NULL; action = axis2_msg_info_headers_get_action(options->msg_info_headers, env); if (!action && options->parent) { return axis2_options_get_action(options->parent, env); } return action; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_fault_to( const axis2_options_t * options, const axutil_env_t * env) { axis2_endpoint_ref_t *fault_to = NULL; fault_to = axis2_msg_info_headers_get_fault_to(options->msg_info_headers, env); if (!fault_to && options->parent) { return axis2_options_get_fault_to(options->parent, env); } return fault_to; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_from( const axis2_options_t * options, const axutil_env_t * env) { axis2_endpoint_ref_t *from = NULL; from = axis2_msg_info_headers_get_from(options->msg_info_headers, env); if (!from && options->parent) { return axis2_options_get_from(options->parent, env); } return from; } AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_options_get_transport_receiver( const axis2_options_t * options, const axutil_env_t * env) { if (!options->receiver && options->parent) { return axis2_options_get_transport_receiver(options->parent, env); } return options->receiver; } AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL axis2_options_get_transport_in( const axis2_options_t * options, const axutil_env_t * env) { if (!options->transport_in && options->parent) { return axis2_options_get_transport_in(options->parent, env); } return options->transport_in; } AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_options_get_transport_in_protocol( const axis2_options_t * options, const axutil_env_t * env) { if (options->parent) { return axis2_options_get_transport_in_protocol(options->parent, env); } return options->transport_in_protocol; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_options_get_message_id( const axis2_options_t * options, const axutil_env_t * env) { const axis2_char_t *message_id = NULL; message_id = axis2_msg_info_headers_get_message_id(options->msg_info_headers, env); if (!message_id && options->parent) { return axis2_options_get_message_id(options->parent, env); } return message_id; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_options_get_properties( const axis2_options_t * options, const axutil_env_t * env) { if (!axutil_hash_count(options->properties) && options->parent) { return axis2_options_get_properties(options->parent, env); } return options->properties; } AXIS2_EXTERN void *AXIS2_CALL axis2_options_get_property( const axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * key) { void *property = NULL; property = axutil_hash_get(options->properties, key, AXIS2_HASH_KEY_STRING); if (!property && options->parent) { return axis2_options_get_property(options->parent, env, key); } return property; } AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL axis2_options_get_relates_to( const axis2_options_t * options, const axutil_env_t * env) { axis2_relates_to_t *relates_to = NULL; relates_to = axis2_msg_info_headers_get_relates_to(options->msg_info_headers, env); if (!relates_to && options->parent) { return axis2_options_get_relates_to(options->parent, env); } return relates_to; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_reply_to( const axis2_options_t * options, const axutil_env_t * env) { axis2_endpoint_ref_t *reply_to = NULL; reply_to = axis2_msg_info_headers_get_reply_to(options->msg_info_headers, env); if (!reply_to && options->parent) { return axis2_options_get_reply_to(options->parent, env); } return reply_to; } AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_options_get_transport_out( const axis2_options_t * options, const axutil_env_t * env) { if (!options->transport_out && options->parent) { return axis2_options_get_transport_out(options->parent, env); } return options->transport_out; } AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_options_get_sender_transport_protocol( const axis2_options_t * options, const axutil_env_t * env) { if (options->parent) { return axis2_options_get_sender_transport_protocol(options->parent, env); } return options->sender_transport_protocol; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_options_get_soap_version_uri( const axis2_options_t * options, const axutil_env_t * env) { if (!options->soap_version_uri && options->parent) { return axis2_options_get_soap_version_uri(options->parent, env); } if (options->soap_version_uri) { return options->soap_version_uri; } return AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } AXIS2_EXTERN long AXIS2_CALL axis2_options_get_timeout_in_milli_seconds( const axis2_options_t * options, const axutil_env_t * env) { if (options->timeout_in_milli_seconds == -1) { if (options->parent) { return axis2_options_get_timeout_in_milli_seconds(options->parent, env); } else { return AXIS2_DEFAULT_TIMEOUT_MILLISECONDS; } } return options->timeout_in_milli_seconds; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_to( const axis2_options_t * options, const axutil_env_t * env) { axis2_endpoint_ref_t *to = NULL; to = axis2_msg_info_headers_get_to(options->msg_info_headers, env); if (!to && options->parent) { return axis2_options_get_to(options->parent, env); } return to; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_use_separate_listener( const axis2_options_t * options, const axutil_env_t * env) { if (options->use_separate_listener == -1) { if (options->parent) { return axis2_options_get_use_separate_listener(options->parent, env); } else { return AXIS2_FALSE; } } return options->use_separate_listener; } AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_options_get_parent( const axis2_options_t * options, const axutil_env_t * env) { return options->parent; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_parent( axis2_options_t * options, const axutil_env_t * env, const axis2_options_t * parent) { options->parent = (axis2_options_t *) parent; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_action( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * action) { axis2_msg_info_headers_set_action(options->msg_info_headers, env, action); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_fault_to( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * fault_to) { axis2_msg_info_headers_set_fault_to(options->msg_info_headers, env, fault_to); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_from( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * from) { axis2_msg_info_headers_set_from(options->msg_info_headers, env, from); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_to( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * to) { axis2_msg_info_headers_set_to(options->msg_info_headers, env, to); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_receiver( axis2_options_t * options, const axutil_env_t * env, axis2_transport_receiver_t * receiver) { options->receiver = receiver; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_in( axis2_options_t * options, const axutil_env_t * env, axis2_transport_in_desc_t * transport_in) { options->transport_in = transport_in; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_in_protocol( axis2_options_t * options, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS transport_in_protocol) { options->transport_in_protocol = transport_in_protocol; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_message_id( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * message_id) { axis2_msg_info_headers_set_message_id(options->msg_info_headers, env, message_id); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_properties( axis2_options_t * options, const axutil_env_t * env, axutil_hash_t * properties) { if (options->properties) { axutil_hash_free(options->properties, env); } options->properties = properties; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_property( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * property_key, const void *property) { axutil_hash_set(options->properties, property_key, AXIS2_HASH_KEY_STRING, property); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_relates_to( axis2_options_t * options, const axutil_env_t * env, axis2_relates_to_t * relates_to) { axis2_msg_info_headers_set_relates_to(options->msg_info_headers, env, relates_to); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_reply_to( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * reply_to) { axis2_msg_info_headers_set_reply_to(options->msg_info_headers, env, reply_to); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_out( axis2_options_t * options, const axutil_env_t * env, axis2_transport_out_desc_t * transport_out) { options->transport_out = transport_out; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_sender_transport( axis2_options_t * options, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS sender_transport, axis2_conf_t * conf) { options->transport_out = axis2_conf_get_transport_out(conf, env, sender_transport); if (!options->transport_out) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_soap_version_uri( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * soap_version_uri) { if (options->soap_version_uri) { AXIS2_FREE(env->allocator, options->soap_version_uri); options->soap_version_uri = NULL; } if (soap_version_uri) { options->soap_version_uri = axutil_strdup(env, soap_version_uri); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_timeout_in_milli_seconds( axis2_options_t * options, const axutil_env_t * env, const long timeout_in_milli_seconds) { options->timeout_in_milli_seconds = timeout_in_milli_seconds; /* set the property AXIS2_HTTP_CONNECTION_TIMEOUT, * to be picked up by http_sender */ if (options->timeout_in_milli_seconds > 0) { axis2_char_t time_str[19]; /* supports 18 digit timeout */ axutil_property_t *property = axutil_property_create(env); sprintf(time_str, "%ld", options->timeout_in_milli_seconds); if (property) { axutil_property_set_scope(property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value(property, env, axutil_strdup(env, time_str)); axis2_options_set_property(options, env, AXIS2_HTTP_CONNECTION_TIMEOUT, property); } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_info( axis2_options_t * options, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS sender_transport, const AXIS2_TRANSPORT_ENUMS receiver_transport, const axis2_bool_t use_separate_listener) { /* here we check for the legal combination */ if (!use_separate_listener) { if (sender_transport != receiver_transport) { return AXIS2_FAILURE; } } else { axis2_options_set_use_separate_listener(options, env, use_separate_listener); } axis2_options_set_transport_in_protocol(options, env, receiver_transport); options->sender_transport_protocol = sender_transport; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_use_separate_listener( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t use_separate_listener) { axutil_property_t *property = NULL; options->use_separate_listener = use_separate_listener; if (use_separate_listener) { property = axutil_property_create(env); axutil_property_set_value(property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_USE_SEPARATE_LISTENER, property); } else { property = axutil_property_create(env); axutil_property_set_value(property, env, axutil_strdup(env, AXIS2_VALUE_FALSE)); axis2_options_set_property(options, env, AXIS2_USE_SEPARATE_LISTENER, property); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_add_reference_parameter( axis2_options_t * options, const axutil_env_t * env, axiom_node_t * reference_parameter) { axis2_msg_info_headers_add_ref_param(options->msg_info_headers, env, reference_parameter); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_manage_session( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t manage_session) { options->manage_session = manage_session; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_manage_session( const axis2_options_t * options, const axutil_env_t * env) { if (options->manage_session == -1) { if (options->parent) { return axis2_options_get_manage_session(options->parent, env); } else { return AXIS2_FALSE; } } return options->manage_session; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_msg_info_headers( axis2_options_t * options, const axutil_env_t * env, axis2_msg_info_headers_t * msg_info_headers) { if (options->msg_info_headers) { axis2_msg_info_headers_free (options->msg_info_headers, env); } options->msg_info_headers = msg_info_headers; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL axis2_options_get_msg_info_headers( const axis2_options_t * options, const axutil_env_t * env) { return options->msg_info_headers; } AXIS2_EXTERN void AXIS2_CALL axis2_options_free( axis2_options_t * options, const axutil_env_t * env) { if (options->properties) { axutil_hash_index_t *hi = NULL; void *val = NULL; const void *key = NULL; for (hi = axutil_hash_first(options->properties, env); hi; hi = axutil_hash_next(env, hi)) { axutil_property_t *property = NULL; axutil_hash_this(hi, &key, NULL, &val); property = (axutil_property_t *) val; if (property) { axutil_property_free(property, env); } } axutil_hash_free(options->properties, env); } if (options->soap_version_uri) { AXIS2_FREE(env->allocator, options->soap_version_uri); } if (options->msg_info_headers) { axis2_msg_info_headers_free(options->msg_info_headers, env); } if (options->soap_action) { axutil_string_free(options->soap_action, env); } AXIS2_FREE(env->allocator, options); } AXIS2_EXTERN int AXIS2_CALL axis2_options_get_soap_version( const axis2_options_t * options, const axutil_env_t * env) { return options->soap_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_soap_version( axis2_options_t * options, const axutil_env_t * env, const int soap_version) { if (soap_version == AXIOM_SOAP11) { options->soap_version = soap_version; axis2_options_set_soap_version_uri(options, env, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI); } else { options->soap_version = AXIOM_SOAP12; axis2_options_set_soap_version_uri(options, env, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_enable_mtom( axis2_options_t * options, const axutil_env_t * env, axis2_bool_t enable_mtom) { options->enable_mtom = enable_mtom; if (enable_mtom) { axutil_property_t *property = axutil_property_create(env); if (property) { axutil_property_set_scope(property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value(property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_ENABLE_MTOM, property); } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_enable_mtom( const axis2_options_t * options, const axutil_env_t * env) { return options->enable_mtom; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_options_get_soap_action( const axis2_options_t * options, const axutil_env_t * env) { return options->soap_action; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_soap_action( axis2_options_t * options, const axutil_env_t * env, axutil_string_t * soap_action) { if (options->soap_action) { axutil_string_free(options->soap_action, env); options->soap_action = NULL; } if (soap_action) { options->soap_action = axutil_string_clone(soap_action, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_xml_parser_reset( const axis2_options_t * options, const axutil_env_t * env) { return options->xml_parser_reset; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_xml_parser_reset( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t xml_parser_reset) { options->xml_parser_reset = xml_parser_reset; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_enable_rest( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t enable_rest) { axutil_property_t *rest_property = NULL; if (enable_rest) { rest_property = axutil_property_create(env); axutil_property_set_value(rest_property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_ENABLE_REST, rest_property); } else { rest_property = axutil_property_create(env); axutil_property_set_value(rest_property, env, axutil_strdup(env, AXIS2_VALUE_FALSE)); axis2_options_set_property(options, env, AXIS2_ENABLE_REST, rest_property); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_test_http_auth( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t test_http_auth) { axutil_property_t *test_auth_property = NULL; if (test_http_auth) { test_auth_property = axutil_property_create(env); axutil_property_set_value(test_auth_property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_TEST_HTTP_AUTH, test_auth_property); } else { test_auth_property = axutil_property_create(env); axutil_property_set_value(test_auth_property, env, axutil_strdup(env, AXIS2_VALUE_FALSE)); axis2_options_set_property(options, env, AXIS2_TEST_HTTP_AUTH, test_auth_property); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_test_proxy_auth( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t test_proxy_auth) { axutil_property_t *test_auth_property = NULL; if (test_proxy_auth) { test_auth_property = axutil_property_create(env); axutil_property_set_value(test_auth_property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_TEST_PROXY_AUTH, test_auth_property); } else { test_auth_property = axutil_property_create(env); axutil_property_set_value(test_auth_property, env, axutil_strdup(env, AXIS2_VALUE_FALSE)); axis2_options_set_property(options, env, AXIS2_TEST_PROXY_AUTH, test_auth_property); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_http_method( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * http_method) { axutil_property_t *method_property = NULL; method_property = axutil_property_create(env); axutil_property_set_value(method_property, env, axutil_strdup(env, http_method)); axis2_options_set_property(options, env, AXIS2_HTTP_METHOD, method_property); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_http_headers( axis2_options_t * options, const axutil_env_t * env, axutil_array_list_t * http_header_list) { axutil_property_t *headers_property = NULL; headers_property = axutil_property_create(env); axutil_property_set_value(headers_property, env, http_header_list); axis2_options_set_property(options, env, AXIS2_TRANSPORT_HEADER_PROPERTY, headers_property); axutil_property_set_free_func(headers_property, env, axutil_array_list_free_void_arg); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_proxy_auth_info( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * username, const axis2_char_t * password, const axis2_char_t * auth_type) { axis2_bool_t force_proxy_auth = AXIS2_FALSE; axutil_property_t *prop_pw = NULL; axutil_property_t *prop_un = NULL; prop_un = axutil_property_create(env); axutil_property_set_value(prop_un, env, axutil_strdup(env, username)); axis2_options_set_property(options, env, AXIS2_PROXY_AUTH_UNAME, prop_un); prop_pw = axutil_property_create(env); axutil_property_set_value(prop_pw, env, axutil_strdup(env, password)); axis2_options_set_property(options, env, AXIS2_PROXY_AUTH_PASSWD, prop_pw); if(auth_type) { if ((axutil_strcasecmp (auth_type, AXIS2_PROXY_AUTH_TYPE_BASIC) == 0) || (axutil_strcasecmp (auth_type, AXIS2_PROXY_AUTH_TYPE_DIGEST) == 0)) { force_proxy_auth = AXIS2_TRUE; } } if (force_proxy_auth) { axutil_property_t *proxy_auth_property = axutil_property_create(env); axutil_property_t *proxy_auth_type_property = axutil_property_create(env); axutil_property_set_value(proxy_auth_property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_FORCE_PROXY_AUTH, proxy_auth_property); axutil_property_set_value(proxy_auth_type_property, env, axutil_strdup(env, auth_type)); axis2_options_set_property(options, env, AXIS2_PROXY_AUTH_TYPE, proxy_auth_type_property); } else { axutil_property_t *proxy_auth_property = axutil_property_create(env); axutil_property_set_value(proxy_auth_property, env, axutil_strdup(env, AXIS2_VALUE_FALSE)); axis2_options_set_property(options, env, AXIS2_FORCE_PROXY_AUTH, proxy_auth_property); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_http_auth_info( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * username, const axis2_char_t * password, const axis2_char_t * auth_type) { axis2_bool_t force_http_auth = AXIS2_FALSE; axutil_property_t *prop_un = NULL; axutil_property_t *prop_pw = NULL; prop_un = axutil_property_create(env); axutil_property_set_value(prop_un, env, axutil_strdup(env, username)); axis2_options_set_property(options, env, AXIS2_HTTP_AUTH_UNAME, prop_un); prop_pw = axutil_property_create(env); axutil_property_set_value(prop_pw, env, axutil_strdup(env, password)); axis2_options_set_property(options, env, AXIS2_HTTP_AUTH_PASSWD, prop_pw); if (auth_type) { if ((axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_BASIC) == 0) || (axutil_strcasecmp (auth_type, AXIS2_HTTP_AUTH_TYPE_DIGEST) == 0)) { force_http_auth = AXIS2_TRUE; } } if (force_http_auth) { axutil_property_t *http_auth_property = axutil_property_create(env); axutil_property_t *http_auth_type_property = axutil_property_create(env); axutil_property_set_value(http_auth_property, env, axutil_strdup(env, AXIS2_VALUE_TRUE)); axis2_options_set_property(options, env, AXIS2_FORCE_HTTP_AUTH, http_auth_property); axutil_property_set_value(http_auth_type_property, env, axutil_strdup(env, auth_type)); axis2_options_set_property(options, env, AXIS2_HTTP_AUTH_TYPE, http_auth_type_property); } else { axutil_property_t *http_auth_property = axutil_property_create(env); axutil_property_set_value(http_auth_property, env, axutil_strdup(env, AXIS2_VALUE_FALSE)); axis2_options_set_property(options, env, AXIS2_FORCE_HTTP_AUTH, http_auth_property); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/core/clientapi/stub.c0000644000175000017500000001337011166304457021457 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axis2_stub { axis2_svc_client_t *svc_client; axis2_options_t *options; }; AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create( const axutil_env_t * env) { axis2_stub_t *stub = NULL; AXIS2_ENV_CHECK(env, NULL); stub = (axis2_stub_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_stub_t)); if (!stub) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create stub."); return NULL; } stub->svc_client = NULL; stub->options = NULL; return stub; } AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * client_home) { axis2_stub_t *stub = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, endpoint_ref, NULL); stub = (axis2_stub_t *) axis2_stub_create(env); if (!stub) { return NULL; } stub->svc_client = axis2_svc_client_create(env, client_home); if (!stub->svc_client) { axis2_stub_free(stub, env); return NULL; } stub->options = axis2_options_create(env); if (!stub->options) { axis2_stub_free(stub, env); return NULL; } axis2_svc_client_set_options(stub->svc_client, env, stub->options); axis2_options_set_to(stub->options, env, endpoint_ref); return stub; } AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home) { axis2_stub_t *stub = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, endpoint_uri, NULL); endpoint_ref = axis2_endpoint_ref_create(env, endpoint_uri); if (!endpoint_ref) { return NULL; } stub = (axis2_stub_t *) axis2_stub_create_with_endpoint_ref_and_client_home(env, endpoint_ref, client_home); if (!stub) { return NULL; } return stub; } void AXIS2_CALL axis2_stub_free( axis2_stub_t * stub, const axutil_env_t * env) { if (stub) { if (stub->svc_client) { axis2_svc_client_free(stub->svc_client, env); } AXIS2_FREE(env->allocator, stub); } } axis2_status_t AXIS2_CALL axis2_stub_set_endpoint_ref( axis2_stub_t * stub, const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref) { AXIS2_PARAM_CHECK(env->error, endpoint_ref, AXIS2_FAILURE); axis2_options_set_to(stub->options, env, endpoint_ref); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_stub_set_endpoint_uri( axis2_stub_t * stub, const axutil_env_t * env, const axis2_char_t * endpoint_uri) { axis2_endpoint_ref_t *endpoint_ref = NULL; AXIS2_PARAM_CHECK(env->error, endpoint_uri, AXIS2_FAILURE); endpoint_ref = axis2_endpoint_ref_create(env, endpoint_uri); if (!endpoint_ref) { return AXIS2_FAILURE; } axis2_options_set_to(stub->options, env, endpoint_ref); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_stub_set_use_separate_listener( axis2_stub_t * stub, const axutil_env_t * env, const axis2_bool_t use_separate_listener) { return axis2_options_set_use_separate_listener(stub->options, env, use_separate_listener); } axis2_status_t AXIS2_CALL axis2_stub_engage_module( axis2_stub_t * stub, const axutil_env_t * env, const axis2_char_t * module_name) { AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); return axis2_svc_client_engage_module(stub->svc_client, env, module_name); } axis2_status_t AXIS2_CALL axis2_stub_set_soap_version( axis2_stub_t * stub, const axutil_env_t * env, const int soap_version) { if (!stub->options) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot set soap version. Stub option is not valid."); return AXIS2_FAILURE; } return axis2_options_set_soap_version(stub->options, env, soap_version); } const axis2_char_t *AXIS2_CALL axis2_stub_get_svc_ctx_id( const axis2_stub_t * stub, const axutil_env_t * env) { const axis2_svc_ctx_t *svc_ctx = NULL; const axis2_char_t *svc_ctx_id = NULL; AXIS2_PARAM_CHECK (env->error, stub, NULL); svc_ctx = axis2_svc_client_get_svc_ctx(stub->svc_client, env); svc_ctx_id = axis2_svc_ctx_get_svc_id(svc_ctx, env); return svc_ctx_id; } axis2_svc_client_t *AXIS2_CALL axis2_stub_get_svc_client( const axis2_stub_t * stub, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, stub, NULL); return stub->svc_client; } axis2_options_t *AXIS2_CALL axis2_stub_get_options( const axis2_stub_t * stub, const axutil_env_t * env) { return stub->options; } axis2c-src-1.6.0/src/core/clientapi/listener_manager.c0000644000175000017500000002276711166304457024033 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include /** * keep information about the listener for a given transport */ typedef struct axis2_transport_listener_state { int waiting_calls; axis2_transport_receiver_t *listener; } axis2_transport_listener_state_t; struct axis2_listener_manager { /** hash map of listeners */ axis2_transport_listener_state_t *listener_map[AXIS2_TRANSPORT_ENUM_MAX]; /** configuration context */ axis2_conf_ctx_t *conf_ctx; }; typedef struct axis2_listener_manager_worker_func_args { const axutil_env_t *env; axis2_listener_manager_t *listner_manager; axis2_transport_receiver_t *listener; } axis2_listener_manager_worker_func_args_t; void *AXIS2_THREAD_FUNC axis2_listener_manager_worker_func( axutil_thread_t * thd, void *data); AXIS2_EXTERN axis2_listener_manager_t *AXIS2_CALL axis2_listener_manager_create( const axutil_env_t * env) { axis2_listener_manager_t *listener_manager = NULL; int i = 0; AXIS2_ENV_CHECK(env, NULL); listener_manager = AXIS2_MALLOC(env->allocator, sizeof(axis2_listener_manager_t)); if (!listener_manager) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create listener manager."); return NULL; } listener_manager->conf_ctx = NULL; for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { listener_manager->listener_map[i] = NULL; } return listener_manager; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_listener_manager_make_sure_started( axis2_listener_manager_t * listener_manager, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS transport, axis2_conf_ctx_t * conf_ctx) { axis2_transport_listener_state_t *tl_state = NULL; AXIS2_PARAM_CHECK(env->error, conf_ctx, AXIS2_FAILURE); if (listener_manager->conf_ctx) { if (conf_ctx != listener_manager->conf_ctx) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Only one configuration context is supported at client side."); return AXIS2_FAILURE; } } else { listener_manager->conf_ctx = conf_ctx; } tl_state = listener_manager->listener_map[transport]; if (!tl_state) { /*means this transport not yet started, start the transport */ axis2_transport_in_desc_t *transport_in = NULL; axis2_conf_t *conf = NULL; axis2_transport_receiver_t *listener = NULL; conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { transport_in = axis2_conf_get_transport_in(conf, env, transport); if (transport_in) { listener = axis2_transport_in_desc_get_recv(transport_in, env); if (listener) { axutil_thread_t *worker_thread = NULL; axis2_listener_manager_worker_func_args_t *arg_list = NULL; arg_list = AXIS2_MALLOC(env->allocator, sizeof (axis2_listener_manager_worker_func_args_t)); if (!arg_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create listener manager worker function arguments."); return AXIS2_FAILURE; } arg_list->env = env; arg_list->listner_manager = listener_manager; arg_list->listener = listener; #ifdef AXIS2_SVR_MULTI_THREADED if (env->thread_pool) { worker_thread = axutil_thread_pool_get_thread(env->thread_pool, axis2_listener_manager_worker_func, (void *) arg_list); if (!worker_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread creation failed" "Invoke non blocking failed"); } else { axutil_thread_pool_thread_detach(env->thread_pool, worker_thread); } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread pool not set in environment." " Cannot invoke call non blocking"); } #else AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Threading not enabled." " Cannot start separate listener"); return AXIS2_FAILURE; #endif tl_state = AXIS2_MALLOC(env->allocator, sizeof (axis2_transport_listener_state_t)); if (!tl_state) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create transport listener state."); } else { tl_state->listener = listener; tl_state->waiting_calls = 0; listener_manager->listener_map[transport] = tl_state; } } } } } if (tl_state) { tl_state->waiting_calls++; return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_listener_manager_stop( axis2_listener_manager_t * listener_manager, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS transport) { axis2_transport_listener_state_t *tl_state = NULL; axis2_status_t status = AXIS2_FAILURE; tl_state = listener_manager->listener_map[transport]; if (tl_state) { tl_state->waiting_calls--; if (tl_state->waiting_calls == 0) { status = axis2_transport_receiver_stop(tl_state->listener, env); if (status == AXIS2_SUCCESS) listener_manager->listener_map[transport] = NULL; } } return status; } AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_listener_manager_get_reply_to_epr( const axis2_listener_manager_t * listener_manager, const axutil_env_t * env, const axis2_char_t * svc_name, const AXIS2_TRANSPORT_ENUMS transport) { axis2_transport_listener_state_t *tl_state = NULL; tl_state = listener_manager->listener_map[transport]; if (tl_state) { return axis2_transport_receiver_get_reply_to_epr(tl_state->listener, env, svc_name); } return NULL; } AXIS2_EXTERN void AXIS2_CALL axis2_listener_manager_free( axis2_listener_manager_t * listener_manager, const axutil_env_t * env) { int i = 0; for (i = 0; i < AXIS2_TRANSPORT_ENUM_MAX; i++) { if (listener_manager->listener_map[i]) AXIS2_FREE(env->allocator, listener_manager->listener_map[i]); } AXIS2_FREE(env->allocator, listener_manager); } AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_listener_manager_get_conf_ctx( const axis2_listener_manager_t * listener_manager, const axutil_env_t * env) { return listener_manager->conf_ctx; } void *AXIS2_THREAD_FUNC axis2_listener_manager_worker_func( axutil_thread_t * thd, void *data) { axis2_listener_manager_worker_func_args_t *args_list = NULL; const axutil_env_t *th_env = NULL; args_list = (axis2_listener_manager_worker_func_args_t *) data; if (!args_list) return NULL; th_env = axutil_init_thread_env(args_list->env); /* Start the protocol server. For examlle if protocol is http axis2_http_server_start function * of the axis2_http_receiver is called. */ if (args_list->listener) { axis2_transport_receiver_start(args_list->listener, th_env); } return NULL; } axis2c-src-1.6.0/src/core/clientapi/svc_client.c0000644000175000017500000014350111166304457022633 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include "axis2_callback_recv.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct axis2_svc_client { axis2_svc_t *svc; axis2_conf_t *conf; axis2_conf_ctx_t *conf_ctx; axis2_svc_ctx_t *svc_ctx; axis2_options_t *options; axis2_options_t *override_options; /* SOAP Headers */ axutil_array_list_t *headers; /* for receiving the async messages */ axis2_callback_recv_t *callback_recv; axis2_listener_manager_t *listener_manager; axis2_op_client_t *op_client; axiom_soap_envelope_t *last_response_soap_envelope; axis2_bool_t last_response_has_fault; axis2_bool_t reuse; axis2_bool_t auth_failed; axis2_bool_t required_auth_is_http; axis2_char_t *auth_type; axutil_array_list_t *http_headers; int http_status_code; axis2_bool_t keep_externally_passed_ctx_and_svc; }; static void axis2_svc_client_set_http_info( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); static axis2_svc_t *axis2_svc_client_create_annonymous_svc( axis2_svc_client_t * svc_client, const axutil_env_t * env); static axis2_bool_t axis2_svc_client_init_transports_from_conf_ctx( const axutil_env_t * env, axis2_svc_client_t * svc_client, axis2_conf_ctx_t * conf_ctx, const axis2_char_t * client_home); static axis2_bool_t axis2_svc_client_init_data( const axutil_env_t * env, axis2_svc_client_t * svc_client); static axis2_bool_t axis2_svc_client_fill_soap_envelope( const axutil_env_t * env, axis2_svc_client_t * svc_client, axis2_msg_ctx_t * msg_ctx, const axiom_node_t * payload); AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL axis2_svc_client_create( const axutil_env_t * env, const axis2_char_t * client_home) { axis2_svc_client_t *svc_client = NULL; AXIS2_ENV_CHECK(env, NULL); svc_client = axis2_svc_client_create_with_conf_ctx_and_svc(env, client_home, NULL, NULL); return svc_client; } AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL axis2_svc_client_create_with_conf_ctx_and_svc( const axutil_env_t * env, const axis2_char_t * client_home, axis2_conf_ctx_t * conf_ctx, axis2_svc_t * svc) { axis2_svc_client_t *svc_client = NULL; axis2_svc_grp_t *svc_grp = NULL; axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; const axis2_char_t *svc_grp_name = NULL; svc_client = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_client_t)); if (!svc_client) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create service client."); return NULL; } svc_client->svc = NULL; svc_client->conf = NULL; svc_client->conf_ctx = NULL; svc_client->svc_ctx = NULL; svc_client->options = NULL; svc_client->override_options = NULL; svc_client->headers = NULL; svc_client->callback_recv = NULL; svc_client->listener_manager = NULL; svc_client->op_client = NULL; svc_client->last_response_soap_envelope = NULL; svc_client->last_response_has_fault = AXIS2_FALSE; svc_client->reuse = AXIS2_FALSE; svc_client->auth_failed = AXIS2_FALSE; svc_client->required_auth_is_http = AXIS2_FALSE; svc_client->auth_type = NULL; svc_client->http_headers = NULL; svc_client->keep_externally_passed_ctx_and_svc = AXIS2_FALSE; if (!axis2_svc_client_init_data(env, svc_client)) { axis2_svc_client_free(svc_client, env); return NULL; } /*create the default conf_ctx if it is NULL */ if (!axis2_svc_client_init_transports_from_conf_ctx(env, svc_client, conf_ctx, client_home)) { axis2_svc_client_free(svc_client, env); return NULL; } svc_client->conf = axis2_conf_ctx_get_conf(svc_client->conf_ctx, env); if (svc) { svc_client->keep_externally_passed_ctx_and_svc = AXIS2_TRUE; svc_client->svc = svc; } else { svc_client->svc = axis2_svc_client_create_annonymous_svc(svc_client, env); if (!svc_client->svc) { axis2_svc_client_free(svc_client, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot create annonymous service."); return NULL; } } /** add the service to the config context if it isn't in there already */ if (!axis2_conf_get_svc(svc_client->conf, env, axis2_svc_get_name(svc_client->svc, env))) { axis2_conf_add_svc(svc_client->conf, env, svc_client->svc); } /** create a service context for myself: create a new service group context and then get the service context for myself as I'll need that later for stuff that I gotta do */ svc_grp = axis2_svc_get_parent(svc_client->svc, env); if (!svc_grp) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot access service group of service client."); return NULL; } svc_grp_ctx = axis2_svc_grp_get_svc_grp_ctx(svc_grp, env, svc_client->conf_ctx); if (!svc_grp_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot access service group context of service client."); return NULL; } svc_grp_name = axis2_svc_grp_get_name(svc_grp, env); if (!svc_grp_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot access service group name of service client."); return NULL; /* service group name is mandatory */ } axis2_conf_ctx_register_svc_grp_ctx(svc_client->conf_ctx, env, svc_grp_name, svc_grp_ctx); svc_client->svc_ctx = axis2_svc_grp_ctx_get_svc_ctx(svc_grp_ctx, env, axis2_svc_get_name (svc_client->svc, env)); return svc_client; } AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_client_get_svc( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->svc; } AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_svc_client_get_conf_ctx( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->conf_ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_options( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_options_t * options) { AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); if (svc_client->options) { axis2_options_free(svc_client->options, env); } svc_client->options = (axis2_options_t *) options; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_options_t *AXIS2_CALL axis2_svc_client_get_options( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->options; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_override_options( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_options_t * override_options) { AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); if (svc_client->override_options) { axis2_options_free(svc_client->override_options, env); } svc_client->override_options = (axis2_options_t *) override_options; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_options_t *AXIS2_CALL axis2_svc_client_get_override_options( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->override_options; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_engage_module( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_char_t * module_name) { axis2_module_desc_t *module = NULL; axutil_qname_t *mod_qname = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); mod_qname = axutil_qname_create(env, module_name, NULL, NULL); if (!mod_qname) { return AXIS2_FAILURE; } module = axis2_conf_get_module(svc_client->conf, env, mod_qname); axutil_qname_free(mod_qname, env); mod_qname = NULL; if (module) { return axis2_svc_engage_module(svc_client->svc, env, module, svc_client->conf); } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_disengage_module( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_char_t * module_name) { axis2_module_desc_t *module = NULL; axutil_qname_t *mod_qname = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module_name, AXIS2_FAILURE); mod_qname = axutil_qname_create(env, module_name, NULL, NULL); if (!mod_qname) { return AXIS2_FAILURE; } module = axis2_conf_get_module(svc_client->conf, env, mod_qname); axutil_qname_free(mod_qname, env); mod_qname = NULL; if (module) { return axis2_svc_disengage_module(svc_client->svc, env, module, svc_client->conf); } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_add_header( axis2_svc_client_t * svc_client, const axutil_env_t * env, axiom_node_t * header) { AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); if (!svc_client->headers) { svc_client->headers = axutil_array_list_create(env, 0); if (!svc_client->headers) { return AXIS2_FAILURE; } } axutil_array_list_add(svc_client->headers, env, header); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_remove_all_headers( axis2_svc_client_t * svc_client, const axutil_env_t * env) { int i = 0; int size = 0; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); if (!svc_client->headers) { return AXIS2_SUCCESS; } size = axutil_array_list_size(svc_client->headers, env); for (i = size-1; i >-1; i--) { axutil_array_list_remove(svc_client->headers, env, i); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_send_robust_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload) { axis2_msg_ctx_t *msg_ctx = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_bool_t qname_free_flag = AXIS2_FALSE; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); if (!op_qname) { op_qname = axutil_qname_create(env, AXIS2_ANON_ROBUST_OUT_ONLY_OP, NULL, NULL); if(!op_qname) { return AXIS2_FAILURE; } qname_free_flag = AXIS2_TRUE; } else { axis2_op_t *op = NULL; axis2_char_t *mep = NULL; axis2_svc_t *svc = NULL; svc = axis2_svc_client_get_svc(svc_client, env); if (!svc) { return AXIS2_FAILURE; } op = axis2_svc_get_op_with_qname(svc, env, op_qname); if (!op) { return AXIS2_FAILURE; } mep = (axis2_char_t *)axis2_op_get_msg_exchange_pattern(op, env); if (!mep || axutil_strcmp(AXIS2_MEP_URI_OUT_ONLY, mep) != 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s%s", "To use this method opeation uri should be", AXIS2_MEP_URI_OUT_ONLY); return AXIS2_FAILURE; } } svc_client->auth_failed = AXIS2_FALSE; svc_client->required_auth_is_http = AXIS2_FALSE; if (svc_client->auth_type) { AXIS2_FREE(env->allocator, svc_client->auth_type); } svc_client->auth_type = NULL; msg_ctx = axis2_msg_ctx_create(env, axis2_svc_ctx_get_conf_ctx(svc_client->svc_ctx, env), NULL, NULL); if (!axis2_svc_client_fill_soap_envelope(env, svc_client, msg_ctx, payload)) { return AXIS2_FAILURE; } if (!axis2_svc_client_create_op_client(svc_client, env, op_qname)) { return AXIS2_FAILURE; } axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx); status = axis2_op_client_execute(svc_client->op_client, env, AXIS2_TRUE); axis2_svc_client_set_http_info(svc_client, env, msg_ctx); svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env); svc_client->required_auth_is_http = axis2_msg_ctx_get_required_auth_is_http(msg_ctx, env); if (axis2_msg_ctx_get_auth_type(msg_ctx, env)) { svc_client->auth_type = axutil_strdup(env, axis2_msg_ctx_get_auth_type(msg_ctx, env)); } if (qname_free_flag) { axutil_qname_free((axutil_qname_t *) op_qname, env); } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_send_robust( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload) { return axis2_svc_client_send_robust_with_op_qname(svc_client, env, NULL, payload); } AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_fire_and_forget_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload) { axis2_msg_ctx_t *msg_ctx = NULL; axis2_bool_t qname_free_flag = AXIS2_FALSE; AXIS2_PARAM_CHECK_VOID(env->error, svc_client); if (!op_qname) { op_qname = axutil_qname_create(env, AXIS2_ANON_OUT_ONLY_OP, NULL, NULL); if(!op_qname) { return; } qname_free_flag = AXIS2_TRUE; } svc_client->auth_failed = AXIS2_FALSE; svc_client->required_auth_is_http = AXIS2_FALSE; if (svc_client->auth_type) { AXIS2_FREE(env->allocator, svc_client->auth_type); } svc_client->auth_type = NULL; msg_ctx = axis2_msg_ctx_create(env, axis2_svc_ctx_get_conf_ctx(svc_client->svc_ctx, env), NULL, NULL); if (!axis2_svc_client_fill_soap_envelope(env, svc_client, msg_ctx, payload)) { return; } if (!axis2_svc_client_create_op_client(svc_client, env, op_qname)) { return; } axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx); axis2_op_client_execute(svc_client->op_client, env, AXIS2_TRUE); axis2_svc_client_set_http_info(svc_client, env, msg_ctx); svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env); svc_client->required_auth_is_http = axis2_msg_ctx_get_required_auth_is_http(msg_ctx, env); if (axis2_msg_ctx_get_auth_type(msg_ctx, env)) { svc_client->auth_type = axutil_strdup(env, axis2_msg_ctx_get_auth_type(msg_ctx, env)); } if (qname_free_flag) { axutil_qname_free((axutil_qname_t *) op_qname, env); } } AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_fire_and_forget( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload) { axis2_svc_client_fire_and_forget_with_op_qname(svc_client, env, NULL, payload); } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axis2_svc_client_send_receive_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_node_t *soap_node = NULL; axis2_op_t *op = NULL; axutil_param_t *param = NULL; axutil_uri_t *action_uri = NULL; axis2_char_t *action_str = NULL; axis2_bool_t qname_free_flag = AXIS2_FALSE; axis2_msg_ctx_t *res_msg_ctx = NULL; axis2_msg_ctx_t *msg_ctx = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, NULL); svc_client->last_response_soap_envelope = NULL; svc_client->last_response_has_fault = AXIS2_FALSE; svc_client->auth_failed = AXIS2_FALSE; svc_client->required_auth_is_http = AXIS2_FALSE; if (svc_client->auth_type) { AXIS2_FREE(env->allocator, svc_client->auth_type); } svc_client->auth_type = NULL; op = axis2_svc_get_op_with_qname(svc_client->svc, env, op_qname); if (op) { param = axis2_op_get_param(op, env, AXIS2_SOAP_ACTION); if (param) { action_uri = (axutil_uri_t *) axutil_param_get_value(param, env); action_str = axutil_uri_to_string(action_uri, env, AXIS2_URI_UNP_OMITUSERINFO); axis2_options_set_action(svc_client->options, env, action_str); } } if (!op_qname) { op_qname = axutil_qname_create(env, AXIS2_ANON_OUT_IN_OP, NULL, NULL); if(!op_qname) return NULL; qname_free_flag = AXIS2_TRUE; } /* If dual channel blocking. We come to this block if the client indicate to use * a separate listener but don't provide a callback function to acted upon when * response is received in the listener thread. What we do here is we create a callback * and call axis2_svc_client_send_receive_non_blocking_with_op_qname with it. */ if (axis2_options_get_use_separate_listener(svc_client->options, env)) { axis2_callback_t *callback = NULL; axis2_msg_ctx_t *msg_ctx = NULL; long index = 0; /* This means doing a Request-Response invocation using two channels. If the transport is a two way transport (e.g. http), only one channel is used (e.g. in http cases 202 OK is sent to say no response available). Axis2 gets blocked and return when the response is available. */ callback = axis2_callback_create(env); if (!callback) { return NULL; } /* Call two channel non blocking invoke to do the work and wait on the callback. We don't * set a callback function for the callback. That functionality is handled here. */ axis2_svc_client_send_receive_non_blocking_with_op_qname(svc_client, env, op_qname, payload, callback); index = axis2_options_get_timeout_in_milli_seconds(svc_client->options, env) / 10; while(!axis2_callback_get_complete(callback, env)) { if (index-- >= 0) { AXIS2_USLEEP(10000); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_RESPONSE_TIMED_OUT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response time out."); return NULL; } } soap_envelope = axis2_callback_get_envelope(callback, env); /* start of hack to get rid of memory leak */ msg_ctx = axis2_msg_ctx_create(env, axis2_svc_ctx_get_conf_ctx(svc_client-> svc_ctx, env), NULL, NULL); if(!msg_ctx) return NULL; axis2_op_client_add_msg_ctx(svc_client->op_client, env, msg_ctx); axis2_msg_ctx_set_soap_envelope(msg_ctx, env, soap_envelope); /* end of hack to get rid of memory leak */ /* process the result of the invocation */ if (!soap_envelope) { if (axis2_callback_get_error(callback, env) != AXIS2_ERROR_NONE) { AXIS2_ERROR_SET(env->error, axis2_callback_get_error(callback, env), AXIS2_FAILURE); return NULL; } } } else { msg_ctx = axis2_msg_ctx_create(env, axis2_svc_ctx_get_conf_ctx(svc_client->svc_ctx, env), NULL, NULL); if(!msg_ctx) return NULL; if (!axis2_svc_client_fill_soap_envelope(env, svc_client, msg_ctx, payload)) { return NULL; } if (!axis2_svc_client_create_op_client(svc_client, env, op_qname)) { return NULL; } axis2_op_client_add_msg_ctx(svc_client->op_client, env, msg_ctx); axis2_op_client_execute(svc_client->op_client, env, AXIS2_TRUE); axis2_svc_client_set_http_info(svc_client, env, msg_ctx); svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env); svc_client->required_auth_is_http = axis2_msg_ctx_get_required_auth_is_http(msg_ctx, env); if (axis2_msg_ctx_get_auth_type(msg_ctx, env)) { svc_client->auth_type = axutil_strdup(env, axis2_msg_ctx_get_auth_type(msg_ctx, env)); } res_msg_ctx = (axis2_msg_ctx_t *) axis2_op_client_get_msg_ctx(svc_client-> op_client, env, AXIS2_WSDL_MESSAGE_LABEL_IN); if (res_msg_ctx) { soap_envelope = axis2_msg_ctx_get_soap_envelope(res_msg_ctx, env); } else { axis2_op_client_add_msg_ctx(svc_client->op_client, env, res_msg_ctx); /* set in msg_ctx to be NULL to reset */ } } if (qname_free_flag) { axutil_qname_free((axutil_qname_t *) op_qname, env); } if (!soap_envelope) { return NULL; } svc_client->last_response_soap_envelope = soap_envelope; soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) { axiom_node_t *node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (node) { axiom_element_t *envelope_element = (axiom_element_t *) axiom_node_get_data_element(node, env); axiom_util_get_first_child_element_with_localname(envelope_element, env, node, AXIOM_SOAP_BODY_LOCAL_NAME, &soap_node); if (soap_node) { return axiom_node_get_first_element(soap_node, env); } } return NULL; } if (axis2_msg_ctx_get_doing_rest (res_msg_ctx, env)) { /* All HTTP 4xx and 5xx status codes are treated as errors */ if (axis2_msg_ctx_get_status_code (res_msg_ctx, env) >= 400) { svc_client->last_response_has_fault = AXIS2_TRUE; } else { svc_client->last_response_has_fault = AXIS2_FALSE; } } else { svc_client->last_response_has_fault = axiom_soap_body_has_fault(soap_body, env); } if (AXIOM_SOAP11 == axiom_soap_envelope_get_soap_version(soap_envelope, env)) { axiom_soap_body_convert_fault_to_soap11(soap_body, env); } soap_node = axiom_soap_body_get_base_node(soap_body, env); if (!soap_node) { return NULL; } return axiom_node_get_first_element(soap_node, env); } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axis2_svc_client_send_receive( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload) { return axis2_svc_client_send_receive_with_op_qname(svc_client, env, NULL, payload); } AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_send_receive_non_blocking_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload, axis2_callback_t * callback) { axis2_msg_ctx_t *msg_ctx = NULL; AXIS2_TRANSPORT_ENUMS transport_in_protocol; axis2_bool_t qname_free_flag = AXIS2_FALSE; AXIS2_PARAM_CHECK_VOID(env->error, svc_client); if (!op_qname) { op_qname = axutil_qname_create(env, AXIS2_ANON_OUT_IN_OP, NULL, NULL); if(!op_qname) return; qname_free_flag = AXIS2_TRUE; } svc_client->auth_failed = AXIS2_FALSE; svc_client->required_auth_is_http = AXIS2_FALSE; if (svc_client->auth_type) { AXIS2_FREE(env->allocator, svc_client->auth_type); } svc_client->auth_type = NULL; msg_ctx = axis2_msg_ctx_create(env, axis2_svc_ctx_get_conf_ctx(svc_client-> svc_ctx, env), NULL, NULL); if(!msg_ctx) return; if (!axis2_svc_client_fill_soap_envelope(env, svc_client, msg_ctx, payload)) { return; } if (!axis2_svc_client_create_op_client(svc_client, env, op_qname)) { return; } axis2_op_client_set_callback(svc_client->op_client, env, callback); axis2_op_client_add_out_msg_ctx(svc_client->op_client, env, msg_ctx); /* If dual channel */ if (axis2_options_get_use_separate_listener(svc_client->options, env)) { axis2_op_t *op = NULL; transport_in_protocol = axis2_options_get_transport_in_protocol(svc_client->options, env); if (transport_in_protocol == AXIS2_TRANSPORT_ENUM_MAX) { axis2_options_set_transport_in_protocol(svc_client->options, env, AXIS2_TRANSPORT_ENUM_HTTP); transport_in_protocol = AXIS2_TRANSPORT_ENUM_HTTP; } axis2_listener_manager_make_sure_started(svc_client->listener_manager, env, transport_in_protocol, svc_client->conf_ctx); /* Following sleep is required to ensure the listner is ready to receive response. If it is missing, the response gets lost. - Samisa */ AXIS2_USLEEP(1); op = axis2_svc_get_op_with_qname(svc_client->svc, env, op_qname); /* At the end of the incoming flow this message receiver will be hit */ axis2_op_set_msg_recv(op, env, AXIS2_CALLBACK_RECV_GET_BASE(svc_client-> callback_recv, env)); axis2_op_client_set_callback_recv(svc_client->op_client, env, svc_client->callback_recv); } axis2_op_client_execute(svc_client->op_client, env, AXIS2_FALSE); axis2_svc_client_set_http_info(svc_client, env, msg_ctx); svc_client->auth_failed = axis2_msg_ctx_get_auth_failed(msg_ctx, env); svc_client->required_auth_is_http = axis2_msg_ctx_get_required_auth_is_http(msg_ctx, env); if (axis2_msg_ctx_get_auth_type(msg_ctx, env)) { svc_client->auth_type = axutil_strdup(env, axis2_msg_ctx_get_auth_type(msg_ctx, env)); } if (qname_free_flag) { axutil_qname_free((axutil_qname_t *) op_qname, env); op_qname = NULL; } } AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_send_receive_non_blocking( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload, axis2_callback_t * callback) { axis2_svc_client_send_receive_non_blocking_with_op_qname(svc_client, env, NULL, payload, callback); } AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL axis2_svc_client_create_op_client( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname) { axis2_op_t *op = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, NULL); op = axis2_svc_get_op_with_qname(svc_client->svc, env, op_qname); if (!op) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot find operation to create op client."); return NULL; } if (!(svc_client->op_client) || svc_client->reuse) { if ((svc_client->reuse) && (svc_client->op_client)) axis2_op_client_free(svc_client->op_client, env); svc_client->op_client = axis2_op_client_create(env, op, svc_client->svc_ctx, svc_client->options); } /** If override options have been set, that means we need to make sure those options override the options of even the operation client. So, what we do is switch the parents around to make that work. */ if (svc_client->override_options) { axis2_options_set_parent(svc_client->override_options, env, axis2_op_client_get_options(svc_client-> op_client, env)); axis2_op_client_set_options(svc_client->op_client, env, svc_client->override_options); } svc_client->reuse = AXIS2_TRUE; axis2_op_client_set_reuse(svc_client->op_client, env, svc_client->reuse); return svc_client->op_client; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_finalize_invoke( axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_TRANSPORT_ENUMS transport_in_protocol; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); transport_in_protocol = axis2_options_get_transport_in_protocol(svc_client->options, env); if (svc_client->listener_manager) { return axis2_listener_manager_stop(svc_client->listener_manager, env, transport_in_protocol); } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL axis2_svc_client_get_own_endpoint_ref( const axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_char_t * transport) { return NULL; } AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL axis2_svc_client_get_target_endpoint_ref( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_target_endpoint_ref( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_endpoint_ref_t * target_endpoint_ref) { return AXIS2_FAILURE; } AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_svc_client_get_svc_ctx( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->svc_ctx; } static axis2_bool_t axis2_svc_client_init_transports_from_conf_ctx( const axutil_env_t * env, axis2_svc_client_t * svc_client, axis2_conf_ctx_t * conf_ctx, const axis2_char_t * client_home) { svc_client->conf_ctx = conf_ctx; if (!svc_client->conf_ctx) { svc_client->conf_ctx = axis2_build_client_conf_ctx(env, client_home); if (!svc_client->conf_ctx) { return AXIS2_FALSE; } } else { svc_client->keep_externally_passed_ctx_and_svc = AXIS2_TRUE; } if (!svc_client->listener_manager) { svc_client->listener_manager = axis2_listener_manager_create(env); if (!svc_client->listener_manager) { return AXIS2_FALSE; } } return AXIS2_TRUE; } static axis2_bool_t axis2_svc_client_init_data( const axutil_env_t * env, axis2_svc_client_t * svc_client) { svc_client->svc = NULL; svc_client->conf_ctx = NULL; svc_client->svc_ctx = NULL; svc_client->options = axis2_options_create(env); if (!svc_client->options) { return AXIS2_FALSE; } svc_client->override_options = NULL; svc_client->headers = NULL; if (svc_client->callback_recv) { AXIS2_CALLBACK_RECV_FREE(svc_client->callback_recv, env); svc_client->callback_recv = NULL; } svc_client->callback_recv = axis2_callback_recv_create(env); if (!svc_client->callback_recv) { return AXIS2_FALSE; } return AXIS2_TRUE; } static axis2_svc_t * axis2_svc_client_create_annonymous_svc( axis2_svc_client_t * svc_client, const axutil_env_t * env) { /** now add anonymous operations to the axis2 service for use with the shortcut client API. NOTE: We only add the ones we know we'll use later in the convenience API; if you use this constructor then you can't expect any magic! */ axutil_qname_t *tmp_qname; axis2_svc_t *svc; axis2_op_t *op_out_in, *op_out_only, *op_robust_out_only; axis2_phases_info_t *info = NULL; tmp_qname = axutil_qname_create(env, AXIS2_ANON_SERVICE, NULL, NULL); if (!tmp_qname) { return NULL; } svc = axis2_svc_create_with_qname(env, tmp_qname); axutil_qname_free(tmp_qname, env); if (!svc) { return NULL; } tmp_qname = axutil_qname_create(env, AXIS2_ANON_OUT_IN_OP, NULL, NULL); if (!tmp_qname) { return NULL; } op_out_in = axis2_op_create_with_qname(env, tmp_qname); axutil_qname_free(tmp_qname, env); tmp_qname = axutil_qname_create(env, AXIS2_ANON_OUT_ONLY_OP, NULL, NULL); if (!tmp_qname) { return NULL; } op_out_only = axis2_op_create_with_qname(env, tmp_qname); axutil_qname_free(tmp_qname, env); tmp_qname = axutil_qname_create(env, AXIS2_ANON_ROBUST_OUT_ONLY_OP, NULL, NULL); if (!tmp_qname) { return NULL; } op_robust_out_only = axis2_op_create_with_qname(env, tmp_qname); axutil_qname_free(tmp_qname, env); if (!op_out_in || !op_out_only || !op_robust_out_only) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); if (op_out_in) { axis2_op_free(op_out_in, env); } if (op_out_only) { axis2_op_free(op_out_only, env); } if (op_robust_out_only) { axis2_op_free(op_robust_out_only, env); } return NULL; } axis2_op_set_msg_exchange_pattern(op_out_in, env, AXIS2_MEP_URI_OUT_IN); axis2_op_set_msg_exchange_pattern(op_out_only, env, AXIS2_MEP_URI_OUT_ONLY); axis2_op_set_msg_exchange_pattern(op_robust_out_only, env, AXIS2_MEP_URI_ROBUST_OUT_ONLY); /* Setting operation phase */ info = axis2_conf_get_phases_info(svc_client->conf, env); axis2_phases_info_set_op_phases(info, env, op_out_in); axis2_phases_info_set_op_phases(info, env, op_out_only); axis2_phases_info_set_op_phases(info, env, op_robust_out_only); axis2_svc_add_op(svc, env, op_out_in); axis2_svc_add_op(svc, env, op_out_only); axis2_svc_add_op(svc, env, op_robust_out_only); return svc; } AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_free( axis2_svc_client_t * svc_client, const axutil_env_t * env) { if (!svc_client) { return; } if (svc_client->headers) { axis2_svc_client_remove_all_headers(svc_client, env); axutil_array_list_free(svc_client->headers, env); svc_client->headers = NULL; } if (svc_client->svc && !svc_client->keep_externally_passed_ctx_and_svc) { axis2_svc_free(svc_client->svc, env); } if (svc_client->callback_recv) { AXIS2_CALLBACK_RECV_FREE(svc_client->callback_recv, env); } if (svc_client->op_client) { axis2_op_client_free(svc_client->op_client, env); svc_client->op_client = NULL; } if (svc_client->options) { axis2_options_free(svc_client->options, env); } if (svc_client->listener_manager) { axis2_listener_manager_free(svc_client->listener_manager, env); } if (svc_client->conf_ctx && !svc_client->keep_externally_passed_ctx_and_svc) { axis2_conf_ctx_free(svc_client->conf_ctx, env); } if (svc_client->auth_type) { AXIS2_FREE(env->allocator, svc_client->auth_type); } if (svc_client->http_headers) { axis2_svc_client_set_http_info(svc_client, env, NULL); } AXIS2_FREE(env->allocator, svc_client); return; } static axis2_bool_t axis2_svc_client_fill_soap_envelope( const axutil_env_t * env, axis2_svc_client_t * svc_client, axis2_msg_ctx_t * msg_ctx, const axiom_node_t * payload) { const axis2_char_t *soap_version_uri; int soap_version; axiom_soap_envelope_t *envelope = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); soap_version_uri = axis2_options_get_soap_version_uri(svc_client->options, env); if (!soap_version_uri) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot find soap version uri."); return AXIS2_FALSE; } if (axutil_strcmp (soap_version_uri, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI) == 0) { soap_version = AXIOM_SOAP11; } else { soap_version = AXIOM_SOAP12; } envelope = axiom_soap_envelope_create_default_soap_envelope(env, soap_version); if (!envelope) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot create default soap envelope."); return AXIS2_FALSE; } if (svc_client->headers) { axiom_soap_header_t *soap_header = NULL; soap_header = axiom_soap_envelope_get_header(envelope, env); if (soap_header) { axiom_node_t *header_node = NULL; header_node = axiom_soap_header_get_base_node(soap_header, env); if (header_node) { int size = 0; int i = 0; size = axutil_array_list_size(svc_client->headers, env); while (i < size) { axiom_node_t *node = NULL; node = axutil_array_list_remove(svc_client->headers, env, 0); /* This removes and retrieves data. The order of the * removal is chosen such that the headers are appended * in the order they were added. */ size--; if (node) { axiom_node_add_child(header_node, env, node); } } } } } if (payload) { axiom_soap_body_t *soap_body = NULL; soap_body = axiom_soap_envelope_get_body(envelope, env); if (soap_body) { axiom_node_t *node = NULL; node = axiom_soap_body_get_base_node(soap_body, env); if (node) { axiom_node_add_child(node, env, (axiom_node_t *) payload); } } } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, envelope); return AXIS2_TRUE; } AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL axis2_svc_client_get_op_client( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->op_client; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_svc_client_get_last_response_soap_envelope( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, NULL); return svc_client->last_response_soap_envelope; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_client_get_last_response_has_fault( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FALSE); return svc_client->last_response_has_fault; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_client_get_http_auth_required( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FALSE); if (svc_client->auth_failed && svc_client->required_auth_is_http) { return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_client_get_proxy_auth_required( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FALSE); if (svc_client->auth_failed && !svc_client->required_auth_is_http) { return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_svc_client_get_auth_type( const axis2_svc_client_t * svc_client, const axutil_env_t * env) { return svc_client->auth_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_proxy_with_auth( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_char_t * proxy_host, axis2_char_t * proxy_port, axis2_char_t * username, axis2_char_t * password) { axis2_transport_out_desc_t *trans_desc = NULL; axis2_conf_t *conf = NULL; axutil_param_container_t *param_container; axutil_param_t *param; axis2_char_t *proxy = AXIS2_HTTP_PROXY_API; axutil_hash_t *attribute; axutil_generic_obj_t *host_obj = NULL; axutil_generic_obj_t *port_obj = NULL; axutil_generic_obj_t *username_obj = NULL; axutil_generic_obj_t *password_obj = NULL; axiom_attribute_t *host_attr = NULL; axiom_attribute_t *port_attr = NULL; axiom_attribute_t *username_attr = NULL; axiom_attribute_t *password_attr = NULL; AXIS2_PARAM_CHECK(env->error, svc_client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, proxy_host, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, proxy_port, AXIS2_FAILURE); if (svc_client->conf) { conf = svc_client->conf; trans_desc = axis2_conf_get_transport_out(conf, env, AXIS2_TRANSPORT_ENUM_HTTP); if (!trans_desc) { return AXIS2_FAILURE; } param_container = axis2_transport_out_desc_param_container(trans_desc, env); param = axutil_param_create(env, proxy, (void *) NULL); if (!param) { return AXIS2_FAILURE; } attribute = axutil_hash_make(env); host_obj = axutil_generic_obj_create(env); port_obj = axutil_generic_obj_create(env); host_attr = axiom_attribute_create(env, AXIS2_HTTP_PROXY_HOST, proxy_host, NULL); port_attr = axiom_attribute_create(env, AXIS2_HTTP_PROXY_PORT, proxy_port, NULL); axutil_generic_obj_set_value(host_obj, env, host_attr); axutil_generic_obj_set_free_func(host_obj, env, axiom_attribute_free_void_arg); axutil_generic_obj_set_value(port_obj, env, port_attr); axutil_generic_obj_set_free_func(port_obj, env, axiom_attribute_free_void_arg); axutil_hash_set(attribute, AXIS2_HTTP_PROXY_HOST, AXIS2_HASH_KEY_STRING, host_obj); axutil_hash_set(attribute, AXIS2_HTTP_PROXY_PORT, AXIS2_HASH_KEY_STRING, port_obj); if (username && password) { username_obj = axutil_generic_obj_create(env); password_obj = axutil_generic_obj_create(env); username_attr = axiom_attribute_create(env, AXIS2_HTTP_PROXY_USERNAME, username, NULL); password_attr = axiom_attribute_create(env, AXIS2_HTTP_PROXY_PASSWORD, password, NULL); axutil_generic_obj_set_value(username_obj, env, username_attr); axutil_generic_obj_set_value(password_obj, env, password_attr); axutil_generic_obj_set_free_func(username_obj, env, axiom_attribute_free_void_arg); axutil_generic_obj_set_free_func(password_obj, env, axiom_attribute_free_void_arg); axutil_hash_set(attribute, AXIS2_HTTP_PROXY_USERNAME, AXIS2_HASH_KEY_STRING, username_obj); axutil_hash_set(attribute, AXIS2_HTTP_PROXY_PASSWORD, AXIS2_HASH_KEY_STRING, password_obj); } axutil_param_set_attributes(param, env, attribute); axutil_param_container_add_param(param_container, env, param); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_proxy( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_char_t * proxy_host, axis2_char_t * proxy_port) { return axis2_svc_client_set_proxy_with_auth(svc_client, env, proxy_host, proxy_port, NULL, NULL); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_policy_from_om( axis2_svc_client_t * svc_client, const axutil_env_t * env, axiom_node_t * root_node) { neethi_policy_t *neethi_policy = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); neethi_policy = neethi_util_create_policy_from_om(env, root_node); if (neethi_policy) { return axis2_svc_client_set_policy(svc_client, env, neethi_policy); } else { return AXIS2_FAILURE; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_policy( axis2_svc_client_t * svc_client, const axutil_env_t * env, neethi_policy_t * policy) { axis2_svc_t *svc = NULL; axis2_desc_t *desc = NULL; axis2_policy_include_t *policy_include = NULL; AXIS2_PARAM_CHECK (env->error, svc_client, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, policy, AXIS2_FAILURE); svc = axis2_svc_client_get_svc(svc_client, env); if (!svc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot find service of service client. Cannot set policy."); return AXIS2_FAILURE; } desc = axis2_svc_get_base(svc, env); if (!desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot find service description of service client. Cannot set policy."); return AXIS2_FAILURE; } policy_include = axis2_desc_get_policy_include(desc, env); if (!policy_include) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot find policy include. Cannot set policy."); return AXIS2_FAILURE; } axis2_policy_include_add_policy_element(policy_include, env, AXIS2_SERVICE_POLICY, policy); return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_client_get_http_headers( axis2_svc_client_t * svc_client, const axutil_env_t * env) { return svc_client->http_headers; } AXIS2_EXTERN int AXIS2_CALL axis2_svc_client_get_http_status_code( axis2_svc_client_t * svc_client, const axutil_env_t * env) { return svc_client->http_status_code; } void axis2_svc_client_set_http_info( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_transport_in_desc_t *transport_in = NULL; axutil_param_t *expose_headers_param = NULL; axis2_bool_t expose_headers = AXIS2_FALSE; if (msg_ctx) { transport_in = axis2_msg_ctx_get_transport_in_desc(msg_ctx, env); if (transport_in) { expose_headers_param = axutil_param_container_get_param( axis2_transport_in_desc_param_container(transport_in, env), env, AXIS2_EXPOSE_HEADERS); } if (expose_headers_param) { axis2_char_t *expose_headers_value = NULL; expose_headers_value = axutil_param_get_value(expose_headers_param, env); if (expose_headers_value && 0 == axutil_strcasecmp (expose_headers_value, AXIS2_VALUE_TRUE)) { expose_headers = AXIS2_TRUE; } } } if (expose_headers) { if (svc_client->http_headers == axis2_msg_ctx_get_http_output_headers(msg_ctx, env)) { svc_client->http_status_code = axis2_msg_ctx_get_status_code(msg_ctx, env); return; } } if (svc_client->http_headers) { axis2_http_header_t *header = NULL; while (axutil_array_list_size(svc_client->http_headers, env)) { header = (axis2_http_header_t *) axutil_array_list_remove(svc_client->http_headers, env, 0); if (header) { axis2_http_header_free(header, env); } } axutil_array_list_free(svc_client->http_headers, env); svc_client->http_headers = NULL; } svc_client->http_status_code = 0; if (msg_ctx) { if (expose_headers) { svc_client->http_headers = axis2_msg_ctx_extract_http_output_headers(msg_ctx, env); } svc_client->http_status_code = axis2_msg_ctx_get_status_code(msg_ctx, env); } } axis2c-src-1.6.0/src/core/clientapi/op_client.c0000644000175000017500000013207511166304457022462 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include "axis2_callback_recv.h" #include #include #include #include #include #include #include struct axis2_op_client { axis2_svc_ctx_t *svc_ctx; axis2_options_t *options; axis2_op_ctx_t *op_ctx; axis2_callback_t *callback; axis2_bool_t completed; /* to hold the locally created async result */ axis2_async_result_t *async_result; axis2_callback_recv_t *callback_recv; /** message exchange pattern */ axis2_char_t *mep; axis2_char_t *soap_version_uri; axutil_string_t *soap_action; axis2_char_t *wsa_action; axis2_bool_t reuse; }; typedef struct axis2_op_client_worker_func_args { const axutil_env_t *env; axis2_op_client_t *op_client; axis2_callback_t *callback; axis2_op_t *op; axis2_msg_ctx_t *msg_ctx; } axis2_op_client_worker_func_args_t; void *AXIS2_THREAD_FUNC axis2_op_client_worker_func( axutil_thread_t * thd, void *data); static axis2_char_t *AXIS2_CALL axis2_op_client_get_transport_from_url( const axis2_char_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL axis2_op_client_create( const axutil_env_t * env, axis2_op_t * op, axis2_svc_ctx_t * svc_ctx, axis2_options_t * options) { axis2_op_client_t *op_client = NULL; const axis2_char_t *mep_uri = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, op, NULL); AXIS2_PARAM_CHECK(env->error, svc_ctx, NULL); AXIS2_PARAM_CHECK(env->error, options, NULL); op_client = AXIS2_MALLOC(env->allocator, sizeof(axis2_op_client_t)); if (!op_client) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create op client."); return NULL; } /** initialize data */ op_client->callback = NULL; op_client->completed = AXIS2_FALSE; op_client->reuse = AXIS2_FALSE; op_client->async_result = NULL; op_client->callback_recv = NULL; op_client->options = options; op_client->svc_ctx = svc_ctx; op_client->mep = NULL; op_client->soap_version_uri = NULL; op_client->soap_action = NULL; op_client->wsa_action = NULL; op_client->op_ctx = axis2_op_ctx_create(env, op, op_client->svc_ctx); if (!(op_client->op_ctx)) { axis2_op_client_free(op_client, env); return NULL; } mep_uri = axis2_op_get_msg_exchange_pattern(op, env); if (!mep_uri) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot find message exchange pattern uri."); axis2_op_client_free(op_client, env); return NULL; } op_client->mep = axutil_strdup(env, mep_uri); op_client->soap_version_uri = axutil_strdup(env, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI); if (!(op_client->soap_version_uri)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create soap version uri."); axis2_op_client_free(op_client, env); return NULL; } /** initialize parser for thread safety */ axiom_xml_reader_init(); return op_client; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_options( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_options_t * options) { if (op_client->options) { axis2_options_free(op_client->options, env); } op_client->options = (axis2_options_t *) options; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_options_t *AXIS2_CALL axis2_op_client_get_options( const axis2_op_client_t * op_client, const axutil_env_t * env) { return op_client->options; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_add_msg_ctx( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_msg_ctx_t * mc) { axis2_msg_ctx_t *out_msg_ctx = NULL, *in_msg_ctx = NULL; axis2_msg_ctx_t **msg_ctx_map = NULL; /* Don't use AXIS2_PARAM_CHECK to verify op_client, as it clobbers env->error->status_code on no error destroying the information therein that an error has already occurred. */ if (!op_client) { if (axutil_error_get_status_code(env->error) == AXIS2_SUCCESS) { AXIS2_ERROR_SET (env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); } return AXIS2_FAILURE; } /* mc message context pointer may be NULL, e.g., when no response message is received */ if (op_client->op_ctx) { msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_client->op_ctx, env); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "op_ctx is NULL, unable to continue"); return AXIS2_FAILURE; } if (msg_ctx_map) { out_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT]; in_msg_ctx = msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN]; } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "msg_ctx_map is NULL, unable to continue"); return AXIS2_FAILURE; } if (op_client->reuse) { /* This is the second invocation using the same service client, so reset */ if (out_msg_ctx) { axis2_msg_ctx_free(out_msg_ctx, env); out_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = NULL; } if (in_msg_ctx) { axis2_msg_ctx_free(in_msg_ctx, env); in_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN] = NULL; } axis2_op_ctx_set_complete(op_client->op_ctx, env, AXIS2_FALSE); op_client->reuse = AXIS2_FALSE; } if (out_msg_ctx && in_msg_ctx) { /* may be this is the second invocation using the same service clinet, so reset */ axis2_msg_ctx_free(out_msg_ctx, env); out_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = NULL; axis2_msg_ctx_free(in_msg_ctx, env); in_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN] = NULL; axis2_op_ctx_set_complete(op_client->op_ctx, env, AXIS2_FALSE); } if (!out_msg_ctx) { msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = mc; } else { msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_IN] = mc; axis2_op_ctx_set_complete(op_client->op_ctx, env, AXIS2_TRUE); } if (out_msg_ctx && !mc) { axutil_property_t *dump_property; axis2_char_t *dump_value = NULL; if (!axis2_msg_ctx_get_doing_rest(out_msg_ctx, env)) { dump_property = axis2_msg_ctx_get_property(out_msg_ctx, env, AXIS2_DUMP_INPUT_MSG_TRUE); if (dump_property) { dump_value = (axis2_char_t *) axutil_property_get_value(dump_property, env); } } if (axutil_strcmp(dump_value, AXIS2_VALUE_TRUE)) { axis2_msg_ctx_free(out_msg_ctx, env); out_msg_ctx = NULL; msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = NULL; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_add_out_msg_ctx( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_msg_ctx_t * mc) { axis2_msg_ctx_t **msg_ctx_map = NULL; msg_ctx_map = axis2_op_ctx_get_msg_ctx_map(op_client->op_ctx, env); msg_ctx_map[AXIS2_WSDL_MESSAGE_LABEL_OUT] = mc; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_get_msg_ctx( const axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_wsdl_msg_labels_t message_label) { return axis2_op_ctx_get_msg_ctx(op_client->op_ctx, env, message_label); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_callback( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_callback_t * callback) { if (op_client->callback) { axis2_callback_free(op_client->callback, env); } op_client->callback = callback; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_callback_t *AXIS2_CALL axis2_op_client_get_callback( axis2_op_client_t * op_client, const axutil_env_t * env) { return op_client->callback; } /* This function is called from service client irrespective of the message exchange pattern * and whether one/two way channel used. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_execute( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_bool_t block) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_msg_ctx_t *msg_ctx = NULL; axis2_transport_out_desc_t *transport_out = NULL; axis2_transport_in_desc_t *transport_in = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_op_t *op = NULL; axis2_char_t *msg_id = NULL; if (op_client->completed) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed. Already completed."); return AXIS2_FAILURE; } conf_ctx = axis2_svc_ctx_get_conf_ctx(op_client->svc_ctx, env); msg_ctx = (axis2_msg_ctx_t *) axis2_op_client_get_msg_ctx(op_client, env, AXIS2_WSDL_MESSAGE_LABEL_OUT); if (!msg_ctx) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed. Message context is not valid."); return AXIS2_FAILURE; } axis2_msg_ctx_set_options(msg_ctx, env, op_client->options); /** if the transport to use for sending is not specified, try to find it from the URL or the client option. */ transport_out = axis2_options_get_transport_out(op_client->options, env); if (!transport_out) { axis2_endpoint_ref_t *to_epr = NULL; axutil_property_t *property = NULL; property = axis2_options_get_property(op_client->options, env, AXIS2_TARGET_EPR); if (property) { to_epr = axutil_property_get_value(property, env); } if (!to_epr) { to_epr = axis2_options_get_to(op_client->options, env); } if (!to_epr) { to_epr = axis2_msg_ctx_get_to(msg_ctx, env); } transport_out = axis2_op_client_infer_transport(op_client, env, to_epr); } if (!transport_out) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed. Cannot find transport out."); return AXIS2_FAILURE; } if (!(axis2_msg_ctx_get_transport_out_desc(msg_ctx, env))) { axis2_msg_ctx_set_transport_out_desc(msg_ctx, env, transport_out); } transport_in = axis2_options_get_transport_in(op_client->options, env); if (!transport_in) { axis2_conf_ctx_t *conf_ctx = axis2_svc_ctx_get_conf_ctx(op_client->svc_ctx, env); if (conf_ctx) { axis2_conf_t *conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { transport_in = axis2_conf_get_transport_in(conf, env, axis2_transport_out_desc_get_enum (transport_out, env)); } } } if (!transport_in) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed. Cannot find transport in."); return AXIS2_FAILURE; } if (!(axis2_msg_ctx_get_transport_in_desc(msg_ctx, env))) { axis2_msg_ctx_set_transport_in_desc(msg_ctx, env, transport_in); } op = axis2_op_ctx_get_op(op_client->op_ctx, env); if (!op) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed. Cannot find operation."); return AXIS2_FAILURE; } status = axis2_op_client_prepare_invocation(op_client, env, op, msg_ctx); if (status != AXIS2_SUCCESS) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed. Preparing for invocation failed."); return AXIS2_FAILURE; } msg_id = (axis2_char_t *) axutil_uuid_gen(env); axis2_msg_ctx_set_message_id(msg_ctx, env, msg_id); if (msg_id) { AXIS2_FREE(env->allocator, msg_id); msg_id = NULL; } /* If dual channel. */ if (axis2_options_get_use_separate_listener(op_client->options, env)) { axis2_engine_t *engine = NULL; if(op_client->callback) { AXIS2_CALLBACK_RECV_ADD_CALLBACK(op_client->callback_recv, env, axis2_msg_ctx_get_msg_id(msg_ctx, env), op_client->callback); } axis2_msg_ctx_set_op_ctx(msg_ctx, env, axis2_op_find_op_ctx(op, env, msg_ctx, op_client-> svc_ctx)); axis2_msg_ctx_set_svc_ctx(msg_ctx, env, op_client->svc_ctx); /* send the message */ engine = axis2_engine_create(env, conf_ctx); if (!engine) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Op client execute failed due to engine creation failure."); return AXIS2_FAILURE; } axis2_engine_send(engine, env, msg_ctx); axis2_engine_free(engine, env); } else /* Same channel will be used irrespective of message exchange pattern. */ { if (block) { axis2_msg_ctx_t *response_mc = NULL; axis2_msg_ctx_set_svc_ctx(msg_ctx, env, op_client->svc_ctx); axis2_msg_ctx_set_conf_ctx(msg_ctx, env, axis2_svc_ctx_get_conf_ctx(op_client-> svc_ctx, env)); axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_client->op_ctx); /*Send the SOAP Message and receive a response */ response_mc = axis2_op_client_two_way_send(env, msg_ctx); if (!response_mc) { const axis2_char_t *mep = axis2_op_get_msg_exchange_pattern(op, env); if (!(axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY)) || !(axutil_strcmp(mep, AXIS2_MEP_URI_ROBUST_OUT_ONLY))) { if (env->error) { return env->error->status_code; } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } axis2_op_client_add_msg_ctx(op_client, env, response_mc); } else { axutil_thread_t *worker_thread = NULL; axis2_op_client_worker_func_args_t *arg_list = NULL; arg_list = AXIS2_MALLOC(env->allocator, sizeof(axis2_op_client_worker_func_args_t)); if (!arg_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create op client worker function argument list."); return AXIS2_FAILURE; } arg_list->env = env; arg_list->op_client = op_client; arg_list->callback = op_client->callback; arg_list->op = op; arg_list->msg_ctx = msg_ctx; #ifdef AXIS2_SVR_MULTI_THREADED if (env->thread_pool) { worker_thread = axutil_thread_pool_get_thread(env->thread_pool, axis2_op_client_worker_func, (void *) arg_list); if (!worker_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread creation failed call invoke non blocking"); } else { axutil_thread_pool_thread_detach(env->thread_pool, worker_thread); } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread pool not set in environment" "Cannot invoke call non blocking"); } #else axis2_op_client_worker_func(NULL, (void *) arg_list); #endif } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_reset( axis2_op_client_t * op_client, const axutil_env_t * env) { if (!op_client->completed) return AXIS2_FAILURE; op_client->completed = AXIS2_FALSE; op_client->op_ctx = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_complete( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_msg_ctx_t * mc) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_listener_manager_t *listener_manager = NULL; AXIS2_TRANSPORT_ENUMS transport = AXIS2_TRANSPORT_ENUM_HTTP; conf_ctx = axis2_msg_ctx_get_conf_ctx(mc, env); if (!conf_ctx) return AXIS2_FAILURE; if (!listener_manager) return AXIS2_FAILURE; return axis2_listener_manager_stop(listener_manager, env, transport); } AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_op_client_get_operation_context( const axis2_op_client_t * op_client, const axutil_env_t * env) { return op_client->op_ctx; } AXIS2_EXTERN void AXIS2_CALL axis2_op_client_free( axis2_op_client_t * op_client, const axutil_env_t * env) { if(!op_client) return; if (op_client->callback) { axis2_callback_free(op_client->callback, env); } if (op_client->op_ctx) { axis2_op_ctx_free(op_client->op_ctx, env); op_client->op_ctx = NULL; } if (op_client->soap_version_uri) { AXIS2_FREE(env->allocator, op_client->soap_version_uri); } if (op_client->mep) { AXIS2_FREE(env->allocator, op_client->mep); } if (axis2_options_get_xml_parser_reset(op_client->options, env)) { axiom_xml_reader_cleanup(); } AXIS2_FREE(env->allocator, op_client); } /* This function is the thread worker function for the single channel non blocking case. Here * being non-blocking implies that message is two way. */ void *AXIS2_THREAD_FUNC axis2_op_client_worker_func( axutil_thread_t * thd, void *data) { axis2_op_client_worker_func_args_t *args_list = NULL; axis2_op_ctx_t *op_ctx = NULL; axis2_msg_ctx_t *response = NULL; axutil_env_t *th_env = NULL; axutil_thread_pool_t *th_pool = NULL; args_list = (axis2_op_client_worker_func_args_t *) data; if (!args_list) { return NULL; } th_env = axutil_init_thread_env(args_list->env); op_ctx = axis2_op_ctx_create(th_env, args_list->op, args_list->op_client->svc_ctx); if (!op_ctx) { return NULL; } axis2_msg_ctx_set_op_ctx(args_list->msg_ctx, th_env, op_ctx); axis2_msg_ctx_set_svc_ctx(args_list->msg_ctx, th_env, args_list->op_client->svc_ctx); /* send the request and wait for response */ response = axis2_op_client_two_way_send(th_env, args_list->msg_ctx); /* We do not need to handle the NULL response here because this thread function is called only * in the single channel non blocking case which, imply this is two way message by design. */ /* Here after the code is a subset of what callback receiver do in dual channel case.*/ axis2_op_client_add_msg_ctx(args_list->op_client, th_env, response); args_list->op_client->async_result = axis2_async_result_create(th_env, response); if (args_list->callback) { axis2_callback_invoke_on_complete(args_list->callback, th_env, args_list->op_client->async_result); axis2_callback_set_complete(args_list->callback, th_env, AXIS2_TRUE); } /* Clean up memory */ axis2_async_result_free(args_list->op_client->async_result, th_env); axis2_op_ctx_free(op_ctx, th_env); th_pool = th_env->thread_pool; AXIS2_FREE(th_env->allocator, args_list); if (th_env) { axutil_free_thread_env(th_env); th_env = NULL; } axutil_thread_pool_exit_thread(th_pool, thd); return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_callback_recv( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_callback_recv_t * callback_recv) { op_client->callback_recv = callback_recv; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_op_client_get_soap_action( const axis2_op_client_t * op_client, const axutil_env_t * env) { return op_client->soap_action; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_prepare_invocation( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_op_t * op, axis2_msg_ctx_t * msg_ctx) { axis2_svc_t *svc = NULL; AXIS2_PARAM_CHECK(env->error, op, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); /* make sure operation's MEP is the same as given MEP */ if (op_client->mep) { if (axutil_strcmp(op_client->mep, axis2_op_get_msg_exchange_pattern(op, env))) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Message exchange pattern of op client and operation are different."); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Message exchange pattern of op client is not valid."); return AXIS2_FAILURE; } /* If operation has a parent service get it */ svc = axis2_op_get_parent(op, env); if (svc) { axis2_svc_ctx_set_svc(op_client->svc_ctx, env, svc); } else { svc = axis2_svc_ctx_get_svc(op_client->svc_ctx, env); if (svc) { axis2_op_t *temp_op = NULL; const axutil_qname_t *op_qname = axis2_op_get_qname(op, env); temp_op = axis2_svc_get_op_with_qname(svc, env, op_qname); if (!temp_op) { axis2_svc_add_op(svc, env, op); } } } if (op_client->wsa_action) { axis2_msg_ctx_set_wsa_action(msg_ctx, env, op_client->wsa_action); } if (op_client->soap_action) { axis2_msg_ctx_set_soap_action(msg_ctx, env, op_client->soap_action); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_prepare_soap_envelope( axis2_op_client_t * op_client, const axutil_env_t * env, axiom_node_t * to_send) { axis2_msg_ctx_t *msg_ctx = NULL; axiom_soap_envelope_t *envelope = NULL; int soap_version = AXIOM_SOAP12; if (op_client->svc_ctx) { msg_ctx = axis2_msg_ctx_create(env, axis2_svc_ctx_get_conf_ctx(op_client-> svc_ctx, env), NULL, NULL); } if (!msg_ctx) { return NULL; } if (op_client->soap_version_uri) { if (!(axutil_strcmp(op_client->soap_version_uri, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI))) soap_version = AXIOM_SOAP11; else soap_version = AXIOM_SOAP12; } envelope = axiom_soap_envelope_create_default_soap_envelope(env, soap_version); if (!envelope) { return NULL; } if (to_send) { axiom_soap_body_t *soap_body = NULL; soap_body = axiom_soap_envelope_get_body(envelope, env); if (soap_body) { axiom_node_t *node = NULL; node = axiom_soap_body_get_base_node(soap_body, env); if (node) { axiom_node_add_child(node, env, to_send); } } } axis2_msg_ctx_set_soap_envelope(msg_ctx, env, envelope); return msg_ctx; } AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_op_client_infer_transport( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_endpoint_ref_t * epr) { axis2_char_t *transport = NULL; axis2_transport_out_desc_t *transport_out_desc = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; AXIS2_TRANSPORT_ENUMS transport_enum = AXIS2_TRANSPORT_ENUM_MAX; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Start:axis2_op_client_infer_transport"); /* We first try the client option */ transport_enum = axis2_options_get_sender_transport_protocol(op_client->options, env); if (transport_enum == AXIS2_TRANSPORT_ENUM_MAX) { /* If we couldn't find the transport we default to HTTP */ transport_enum = AXIS2_TRANSPORT_ENUM_HTTP; /* We try to infer transport from the url */ if (epr) { const axis2_char_t *to_url = axis2_endpoint_ref_get_address(epr, env); transport = axis2_op_client_get_transport_from_url(to_url, env); } if (transport) { if (!axutil_strcmp(transport, AXIS2_TRANSPORT_HTTP)) { transport_enum = AXIS2_TRANSPORT_ENUM_HTTP; } else if (!axutil_strcmp(transport, AXIS2_TRANSPORT_HTTPS)) { transport_enum = AXIS2_TRANSPORT_ENUM_HTTPS; } else if (!axutil_strcmp(transport, AXIS2_TRANSPORT_XMPP)) { transport_enum = AXIS2_TRANSPORT_ENUM_XMPP; } else if (!axutil_strcmp(transport, AXIS2_TRANSPORT_TCP)) { transport_enum = AXIS2_TRANSPORT_ENUM_TCP; } else if (!axutil_strcmp(transport, AXIS2_TRANSPORT_AMQP)) { transport_enum = AXIS2_TRANSPORT_ENUM_AMQP; } else if (!axutil_strcmp(transport, AXIS2_TRANSPORT_UDP)) { transport_enum = AXIS2_TRANSPORT_ENUM_UDP; } AXIS2_FREE(env->allocator, transport); transport = NULL; } } conf_ctx = axis2_svc_ctx_get_conf_ctx(op_client->svc_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { transport_out_desc = axis2_conf_get_transport_out(conf, env, transport_enum); } } if (!transport_out_desc) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot infer transport"); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CANNOT_INFER_TRANSPORT, AXIS2_FAILURE); } AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "End:axis2_op_client_infer_transport"); return transport_out_desc; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_op_client_create_default_soap_envelope( axis2_op_client_t * op_client, const axutil_env_t * env) { axiom_soap_envelope_t *envelope = NULL; if (!(axutil_strcmp(AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI, op_client->soap_version_uri))) { envelope = axiom_soap_envelope_create_with_soap_version_prefix(env, AXIOM_SOAP12, NULL); } if (!(axutil_strcmp(AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, op_client->soap_version_uri))) { envelope = axiom_soap_envelope_create_with_soap_version_prefix(env, AXIOM_SOAP11, NULL); } return envelope; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_engage_module( axis2_op_client_t * op_client, const axutil_env_t * env, const axutil_qname_t * qname) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_conf_t *conf = NULL; if (op_client->svc_ctx) { conf_ctx = axis2_svc_ctx_get_conf_ctx(op_client->svc_ctx, env); if (conf_ctx) { conf = axis2_conf_ctx_get_conf(conf_ctx, env); if (conf) { /*if it is already engaged do not engage it again */ if (!(axis2_conf_is_engaged(conf, env, qname))) { return axis2_conf_engage_module(conf, env, qname); } } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_soap_version_uri( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_char_t * soap_version_uri) { if (op_client->soap_version_uri) { AXIS2_FREE(env->allocator, op_client->soap_version_uri); op_client->soap_version_uri = NULL; } if (soap_version_uri) { op_client->soap_version_uri = axutil_strdup(env, soap_version_uri); if (!(op_client->soap_version_uri)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create soap version uri."); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_soap_action( axis2_op_client_t * op_client, const axutil_env_t * env, axutil_string_t * soap_action) { if (op_client->soap_action) { axutil_string_free(op_client->soap_action, env); op_client->soap_action = NULL; } if (soap_action) { op_client->soap_action = axutil_string_clone(soap_action, env); if (!(op_client->soap_action)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create soap action."); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_wsa_action( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_char_t * wsa_action) { if (op_client->wsa_action) { AXIS2_FREE(env->allocator, op_client->wsa_action); op_client->wsa_action = NULL; } if (wsa_action) { op_client->wsa_action = axutil_strdup(env, wsa_action); if (!(op_client->wsa_action)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create wsa action."); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } static axis2_char_t *AXIS2_CALL axis2_op_client_get_transport_from_url( const axis2_char_t * url, const axutil_env_t * env) { axis2_char_t *transport = NULL; const axis2_char_t *start = NULL; const axis2_char_t *end = NULL; AXIS2_PARAM_CHECK(env->error, url, NULL); start = url; end = url; while ((*end) && (*end) != ':') end++; if ((*end) == ':') { const axis2_char_t *c = NULL; transport = AXIS2_MALLOC(env->allocator, (end - start + 1) * sizeof(char)); if (!transport) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create transport protocol identifier."); return NULL; } for (c = start; c < end; c++) transport[c - start] = *c; transport[c - start] = '\0'; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "URL is malformed or does not contain a transport protocol"); } return transport; } AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_op_client_get_svc_ctx( const axis2_op_client_t * op_client, const axutil_env_t * env) { return op_client->svc_ctx; } /* This function is called only for single channel invocations */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_two_way_send( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_engine_t *engine = NULL; axis2_status_t status = AXIS2_SUCCESS; axis2_msg_ctx_t *response = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_op_t *op = NULL; axiom_soap_envelope_t *response_envelope = NULL; axutil_property_t *property = NULL; long index = -1; axis2_bool_t wait_indefinitely = AXIS2_FALSE; axis2_char_t *mep = NULL; conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); engine = axis2_engine_create(env, conf_ctx); if (!engine) return NULL; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_TIMEOUT_IN_SECONDS); if (property) { axis2_char_t *value = axutil_property_get_value(property, env); if (value) index = AXIS2_ATOI(value); if (index == -1) { wait_indefinitely = AXIS2_TRUE; index = 1; } } status = axis2_engine_send(engine, env, msg_ctx); axis2_engine_free(engine, env); engine = NULL; if (status != AXIS2_SUCCESS) { if (AXIS2_ERROR_GET_STATUS_CODE(env->error) == AXIS2_SUCCESS) { AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); } return NULL; } op = axis2_msg_ctx_get_op(msg_ctx, env); if (op) { mep = (axis2_char_t *)axis2_op_get_msg_exchange_pattern(op, env); } if (!mep) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot determine message exchange pattern."); return NULL; } /* handle one way non robust case */ if (!(axutil_strcmp(mep, AXIS2_MEP_URI_OUT_ONLY))) { return NULL; } /* create the response */ response = axis2_msg_ctx_create(env, conf_ctx, axis2_msg_ctx_get_transport_in_desc(msg_ctx, env), axis2_msg_ctx_get_transport_out_desc (msg_ctx, env)); if (!response) return NULL; axis2_msg_ctx_set_server_side(response, env, AXIS2_FALSE); axis2_msg_ctx_set_conf_ctx(response, env, axis2_msg_ctx_get_conf_ctx(msg_ctx, env)); axis2_msg_ctx_set_svc_grp_ctx(response, env, axis2_msg_ctx_get_svc_grp_ctx(msg_ctx, env)); /* If request is REST we assume the response is REST, so set the variable */ axis2_msg_ctx_set_doing_rest(response, env, axis2_msg_ctx_get_doing_rest(msg_ctx, env)); axis2_msg_ctx_set_status_code (response, env, axis2_msg_ctx_get_status_code (msg_ctx, env)); if (op) { axis2_op_register_op_ctx(op, env, response, axis2_msg_ctx_get_op_ctx(msg_ctx, env)); } /* set response envelope */ if (engine) { axis2_engine_free(engine, env); engine = NULL; } response_envelope = axis2_msg_ctx_get_response_soap_envelope(msg_ctx, env); if (response_envelope) { axis2_msg_ctx_set_soap_envelope(response, env, response_envelope); engine = axis2_engine_create(env, conf_ctx); if (engine) { property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HANDLER_ALREADY_VISITED); if (property) { axis2_char_t *value = axutil_property_get_value(property, env); if (!axutil_strcmp(AXIS2_VALUE_TRUE, value)) { if(engine) { axis2_engine_free(engine, env); } return response; } } status = axis2_engine_receive(engine, env, response); } } else { while (!response_envelope && index > 0) { /*wait till the response arrives */ AXIS2_SLEEP(1); if (!wait_indefinitely) index--; response_envelope = axis2_msg_ctx_get_response_soap_envelope(msg_ctx, env); } /* if it is a two way message, then the status should be in error, else it is a one way message */ if (response_envelope) { axis2_msg_ctx_set_soap_envelope(response, env, response_envelope); /* There could be a scenariao where the message has already passed * through the incoming phases. eg. Reliable Messaging 1.0 two * way single channel */ property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_HANDLER_ALREADY_VISITED); if (property) { axis2_char_t *value = axutil_property_get_value(property, env); if (!axutil_strcmp(AXIS2_VALUE_TRUE, value)) { return response; } } engine = axis2_engine_create(env, conf_ctx); if (engine) { status = axis2_engine_receive(engine, env, response); if (status != AXIS2_SUCCESS) return NULL; } } else { if (AXIS2_ERROR_GET_STATUS_CODE(env->error) != AXIS2_SUCCESS) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response is not valid. Blocking invocation expects response."); if (engine) { axis2_engine_free(engine, env); engine = NULL; } axis2_msg_ctx_free(response, env); return NULL; } } } /*following is no longer valid. Just keeping for others view*/ /* property is NULL, and we set null for AXIS2_TRANSPORT_IN in msg_ctx to avoid double free of this property */ /*axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, property);*/ if (engine) { axis2_engine_free(engine, env); engine = NULL; } if (!(axutil_strcmp(mep, AXIS2_MEP_URI_ROBUST_OUT_ONLY)) && response) { if (axis2_msg_ctx_get_doing_rest(response, env) && axis2_msg_ctx_get_status_code (response, env) >= 400) { /* All HTTP 4xx and 5xx status codes are treated as errors */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "HTTP client transport error."); return NULL; } switch(axis2_msg_ctx_get_status_code (response, env)) { /* In a SOAP request HTTP status code 500 is used for errors */ case 500: AXIS2_ERROR_SET(env->error, AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "HTTP client transport error."); break; case 0: AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response is not valid. Blocking invocation expects response."); break; case -1: AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Response is not valid. Blocking invocation expects response."); break; } if(response) { axis2_msg_ctx_free(response, env); } return NULL; } return response; } AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_receive( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_engine_t *engine = NULL; axis2_status_t status = AXIS2_SUCCESS; axis2_msg_ctx_t *response = NULL; axis2_conf_ctx_t *conf_ctx = NULL; axis2_op_t *op = NULL; axiom_soap_envelope_t *response_envelope = NULL; axutil_property_t *property = NULL; /* create the response */ response = axis2_msg_ctx_create(env, conf_ctx, axis2_msg_ctx_get_transport_in_desc(msg_ctx, env), axis2_msg_ctx_get_transport_out_desc (msg_ctx, env)); if (!response) return NULL; property = axis2_msg_ctx_get_property(msg_ctx, env, AXIS2_TRANSPORT_IN); if (property) { axis2_msg_ctx_set_property(response, env, AXIS2_TRANSPORT_IN, property); property = NULL; } op = axis2_msg_ctx_get_op(msg_ctx, env); if (op) { axis2_op_register_op_ctx(op, env, response, axis2_msg_ctx_get_op_ctx(msg_ctx, env)); } axis2_msg_ctx_set_server_side(response, env, AXIS2_FALSE); axis2_msg_ctx_set_conf_ctx(response, env, axis2_msg_ctx_get_conf_ctx(msg_ctx, env)); axis2_msg_ctx_set_svc_grp_ctx(response, env, axis2_msg_ctx_get_svc_grp_ctx(msg_ctx, env)); /* If request is REST we assume the response is REST, so set the variable */ axis2_msg_ctx_set_doing_rest(response, env, axis2_msg_ctx_get_doing_rest(msg_ctx, env)); response_envelope = axis2_msg_ctx_get_response_soap_envelope(msg_ctx, env); if (response_envelope) { axis2_msg_ctx_set_soap_envelope(response, env, response_envelope); if (engine) { axis2_engine_free(engine, env); engine = NULL; } engine = axis2_engine_create(env, conf_ctx); if (engine) { status = axis2_engine_receive(engine, env, response); if (status != AXIS2_SUCCESS) { return NULL; } } } else { /* if it is a two way message, then the status should be in error, else it is a one way message */ if (AXIS2_ERROR_GET_STATUS_CODE(env->error) != AXIS2_SUCCESS) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE, AXIS2_FAILURE); return NULL; } } /* property is NULL, and we set null for AXIS2_TRANSPORT_IN in msg_ctx to avoid double free of this property */ axis2_msg_ctx_set_property(msg_ctx, env, AXIS2_TRANSPORT_IN, property); if (engine) { axis2_engine_free(engine, env); engine = NULL; } return response; } AXIS2_EXTERN void AXIS2_CALL axis2_op_client_set_reuse( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_bool_t reuse) { op_client->reuse = reuse; } axis2c-src-1.6.0/src/modules/0000777000175000017500000000000011172017545017102 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/modules/mod_addr/0000777000175000017500000000000011172017545020653 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/modules/mod_addr/module.xml0000644000175000017500000000110011166304474022651 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/src/modules/mod_addr/Makefile.am0000644000175000017500000000161711166304474022713 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/modules/addressing prglib_LTLIBRARIES = libaxis2_mod_addr.la prglib_DATA= module.xml EXTRA_DIST = module.xml libaxis2_mod_addr_la_SOURCES = addr_in_handler.c \ addr_out_handler.c \ mod_addr.c libaxis2_mod_addr_la_LIBADD = $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la libaxis2_mod_addr_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/modules/mod_addr/Makefile.in0000644000175000017500000004150311172017205022710 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/modules/mod_addr DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libaxis2_mod_addr_la_DEPENDENCIES = \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la am_libaxis2_mod_addr_la_OBJECTS = addr_in_handler.lo \ addr_out_handler.lo mod_addr.lo libaxis2_mod_addr_la_OBJECTS = $(am_libaxis2_mod_addr_la_OBJECTS) libaxis2_mod_addr_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_mod_addr_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_mod_addr_la_SOURCES) DIST_SOURCES = $(libaxis2_mod_addr_la_SOURCES) prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/modules/addressing prglib_LTLIBRARIES = libaxis2_mod_addr.la prglib_DATA = module.xml EXTRA_DIST = module.xml libaxis2_mod_addr_la_SOURCES = addr_in_handler.c \ addr_out_handler.c \ mod_addr.c libaxis2_mod_addr_la_LIBADD = $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la libaxis2_mod_addr_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include \ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/mod_addr/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/modules/mod_addr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_mod_addr.la: $(libaxis2_mod_addr_la_OBJECTS) $(libaxis2_mod_addr_la_DEPENDENCIES) $(libaxis2_mod_addr_la_LINK) -rpath $(prglibdir) $(libaxis2_mod_addr_la_OBJECTS) $(libaxis2_mod_addr_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addr_in_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/addr_out_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_addr.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) installdirs: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prglibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-prglibDATA uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/modules/mod_addr/addr_out_handler.c0000644000175000017500000010743411166304474024325 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include axis2_status_t AXIS2_CALL axis2_addr_out_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); axis2_status_t axis2_addr_out_handler_add_to_soap_header( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * type, axiom_soap_header_t * soap_header, const axis2_char_t * addr_ns); axis2_status_t axis2_addr_out_handler_add_to_header( const axutil_env_t * env, axis2_endpoint_ref_t * epr, axiom_node_t ** parent_node, const axis2_char_t * addr_ns); axis2_status_t axis2_addr_out_handler_process_any_content_type( const axutil_env_t * env, axis2_any_content_type_t * reference_values, axiom_node_t * parent_ele_node, const axis2_char_t * addr_ns); axiom_node_t *axis2_addr_out_handler_process_string_info( const axutil_env_t * env, const axis2_char_t * value, const axis2_char_t * type, axiom_soap_header_t ** soap_header, const axis2_char_t * addr_ns); AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_addr_out_handler_create( const axutil_env_t * env, axutil_string_t * name) { axis2_handler_t *handler = NULL; AXIS2_ENV_CHECK(env, NULL); handler = axis2_handler_create(env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create addressing out handler"); return NULL; } axis2_handler_set_invoke(handler, env, axis2_addr_out_handler_invoke); return handler; } axis2_status_t AXIS2_CALL axis2_addr_out_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx) { axis2_char_t *addr_ver_from_msg_ctx = NULL; const axis2_char_t *addr_ns = NULL; axis2_msg_info_headers_t *msg_info_headers = NULL; axis2_ctx_t *ctx = NULL; axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_header_t *soap_header = NULL; axiom_node_t *soap_header_node = NULL; axiom_element_t *soap_header_ele = NULL; axis2_endpoint_ref_t *epr_to = NULL; axis2_endpoint_ref_t *epr_reply_to = NULL; axis2_endpoint_ref_t *epr_from = NULL; axis2_endpoint_ref_t *epr_fault_to = NULL; axutil_property_t *property = NULL; const axis2_char_t *wsa_action = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Starting addressing out handler"); soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (!soap_envelope) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No SOAP envelope. Stop processing addressing"); return AXIS2_SUCCESS; /* Can happen in case of ONE-WAY services/clients */ } msg_info_headers = axis2_msg_ctx_get_msg_info_headers(msg_ctx, env); if (msg_info_headers) { wsa_action = axis2_msg_info_headers_get_action(msg_info_headers, env); } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No addressing in use"); return AXIS2_SUCCESS; /* No addressing in use */ } if (!wsa_action || !*wsa_action) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No action present. Stop processing addressing"); return AXIS2_SUCCESS; /* If no action present, assume no addressing in use */ } ctx = axis2_msg_ctx_get_base(msg_ctx, env); property = axis2_ctx_get_property(ctx, env, AXIS2_WSA_VERSION); if (property) { addr_ver_from_msg_ctx = axutil_property_get_value(property, env); property = NULL; } /* Setting version 1.0 as the default addressing namespace */ addr_ns = AXIS2_WSA_NAMESPACE; if (addr_ver_from_msg_ctx) { if (!axutil_strcmp(AXIS2_WSA_NAMESPACE_SUBMISSION, addr_ver_from_msg_ctx)) { addr_ns = AXIS2_WSA_NAMESPACE_SUBMISSION; } } else if (axis2_msg_ctx_get_op_ctx(msg_ctx, env)) { axis2_op_ctx_t *op_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if (op_ctx) { in_msg_ctx = axis2_op_ctx_get_msg_ctx(op_ctx, env, AXIS2_WSDL_MESSAGE_LABEL_IN); } if (in_msg_ctx) { axis2_ctx_t *in_ctx = NULL; in_ctx = axis2_msg_ctx_get_base(in_msg_ctx, env); property = axis2_ctx_get_property(in_ctx, env, AXIS2_WSA_VERSION); if (property) { addr_ns = axutil_property_get_value(property, env); property = NULL; } if (!addr_ns || !*addr_ns) { addr_ns = AXIS2_WSA_NAMESPACE; } } } soap_header = axiom_soap_envelope_get_header(soap_envelope, env); if (!soap_header) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No SOAP header. Stop processing addressing"); return AXIS2_SUCCESS; /* No SOAP header, so no point proceeding */ } else { /* By this time, we definitely have some addressing information to be sent. This is because, * we have tested at the start of this whether msg_info_headers are null or not. * So rather than declaring addressing namespace in each and every addressing header, lets * define that in the Header itself. */ const axis2_char_t *action = NULL; const axis2_char_t *address = NULL; const axis2_char_t *svc_group_context_id = NULL; const axis2_char_t *message_id = NULL; axis2_relates_to_t *relates_to = NULL; axiom_node_t *relates_to_header_node = NULL; axiom_element_t *relates_to_header_ele = NULL; axiom_namespace_t *addressing_namespace = NULL; soap_header_node = axiom_soap_header_get_base_node(soap_header, env); soap_header_ele = (axiom_element_t *) axiom_node_get_data_element(soap_header_node, env); addressing_namespace = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); axiom_element_declare_namespace(soap_header_ele, env, soap_header_node, addressing_namespace); epr_to = axis2_msg_info_headers_get_to(msg_info_headers, env); if (epr_to) { axiom_soap_body_t *body = axiom_soap_envelope_get_body(soap_envelope, env); if (body) { /* In case of a SOAP fault, we got to send the response to the adress specified by FaultTo */ if (axiom_soap_body_has_fault(body, env)) { axis2_endpoint_ref_t *epr_fault_to = axis2_msg_info_headers_get_fault_to(msg_info_headers, env); if (epr_fault_to) { const axis2_char_t *fault_to_address = axis2_endpoint_ref_get_address(epr_fault_to, env); if (fault_to_address) { if (axutil_strcmp(AXIS2_WSA_NONE_URL, fault_to_address) && axutil_strcmp(AXIS2_WSA_NONE_URL_SUBMISSION, fault_to_address)) { axis2_endpoint_ref_set_address(epr_to, env, fault_to_address); } } } } } address = axis2_endpoint_ref_get_address(epr_to, env); if (address && *address) { axiom_node_t *to_header_block_node = NULL; axiom_soap_header_block_t *to_header_block = NULL; axutil_array_list_t *ref_param_list = NULL; int size = 0; to_header_block = axiom_soap_header_add_header_block(soap_header, env, AXIS2_WSA_TO, addressing_namespace); to_header_block_node = axiom_soap_header_block_get_base_node(to_header_block, env); if (to_header_block_node) { axiom_element_t *to_header_block_element = NULL; to_header_block_element = (axiom_element_t *) axiom_node_get_data_element(to_header_block_node, env); if (to_header_block_element) { axiom_element_set_text(to_header_block_element, env, address, to_header_block_node); } } ref_param_list = axis2_endpoint_ref_get_ref_param_list(epr_to, env); size = axutil_array_list_size(ref_param_list, env); if (ref_param_list && size > 0) { axiom_soap_header_block_t *reference_header_block = NULL; axiom_node_t *reference_node = NULL; int i = 0; for (i = 0; i < size; i++) { axiom_node_t *temp_node = NULL; temp_node = (axiom_node_t *) axutil_array_list_get(ref_param_list, env, i); if (temp_node) { axiom_element_t *temp_ele = NULL; temp_ele = axiom_node_get_data_element(temp_node, env); if (temp_ele) { reference_header_block = axiom_soap_header_add_header_block (soap_header, env, axiom_element_get_localname(temp_ele, env), axiom_element_get_namespace(temp_ele, env, temp_node)); reference_node = axiom_soap_header_block_get_base_node (reference_header_block, env); if (reference_node) { axiom_element_t *reference_ele = NULL; reference_ele = (axiom_element_t *) axiom_node_get_data_element (reference_node, env); if (reference_ele) { axiom_namespace_t *addr_ns_obj = NULL; axiom_attribute_t *reference_attr = NULL; addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); reference_attr = axiom_attribute_create(env, /*"isReferenceParameter"*/ AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE, "true", addr_ns_obj); axiom_element_add_attribute (reference_ele, env, reference_attr, reference_node); axiom_element_set_text(reference_ele, env, axiom_element_get_text (temp_ele, env, temp_node), reference_node); } } } } } } } }/* if(epr_to) */ action = axis2_msg_info_headers_get_action(msg_info_headers, env); if (action && *action) { axis2_addr_out_handler_process_string_info(env, action, AXIS2_WSA_ACTION, &soap_header, addr_ns); } epr_reply_to = axis2_msg_info_headers_get_reply_to(msg_info_headers, env); if (!epr_reply_to) { const axis2_char_t *anonymous_uri = NULL; axis2_bool_t anonymous = axis2_msg_info_headers_get_reply_to_anonymous(msg_info_headers, env); axis2_bool_t none = axis2_msg_info_headers_get_reply_to_none(msg_info_headers, env); if (!axutil_strcmp(addr_ns, AXIS2_WSA_NAMESPACE_SUBMISSION)) { if (none) { anonymous_uri = AXIS2_WSA_NONE_URL_SUBMISSION; } else if (anonymous) { anonymous_uri = AXIS2_WSA_ANONYMOUS_URL_SUBMISSION; } } else { if (none) { anonymous_uri = AXIS2_WSA_NONE_URL; } else if (anonymous) { anonymous_uri = AXIS2_WSA_ANONYMOUS_URL; } } if (anonymous_uri) { epr_reply_to = axis2_endpoint_ref_create(env, anonymous_uri); } if (epr_reply_to) { axis2_msg_info_headers_set_reply_to(msg_info_headers, env, epr_reply_to); } } /* add the service group id as a reference parameter */ svc_group_context_id = axutil_string_get_buffer(axis2_msg_ctx_get_svc_grp_ctx_id (msg_ctx, env), env); axis2_addr_out_handler_add_to_soap_header(env, epr_reply_to, AXIS2_WSA_REPLY_TO, soap_header, addr_ns); epr_from = axis2_msg_info_headers_get_from(msg_info_headers, env); if (epr_from) { axis2_addr_out_handler_add_to_soap_header(env, epr_from, AXIS2_WSA_FROM, soap_header, addr_ns); } epr_fault_to = axis2_msg_info_headers_get_fault_to(msg_info_headers, env); if (!epr_fault_to) { const axis2_char_t *anonymous_uri = NULL; axis2_bool_t anonymous = axis2_msg_info_headers_get_fault_to_anonymous(msg_info_headers, env); axis2_bool_t none = axis2_msg_info_headers_get_fault_to_none(msg_info_headers, env); if (!axutil_strcmp(addr_ns, AXIS2_WSA_NAMESPACE_SUBMISSION)) { if (none) { anonymous_uri = AXIS2_WSA_NONE_URL_SUBMISSION; } else if (anonymous) { anonymous_uri = AXIS2_WSA_ANONYMOUS_URL_SUBMISSION; } } else { if (none) anonymous_uri = AXIS2_WSA_NONE_URL; else if (anonymous) anonymous_uri = AXIS2_WSA_ANONYMOUS_URL; } if (anonymous_uri) { epr_fault_to = axis2_endpoint_ref_create(env, anonymous_uri); } } if (epr_fault_to) { /* optional */ axis2_addr_out_handler_add_to_soap_header(env, epr_fault_to, AXIS2_WSA_FAULT_TO, soap_header, addr_ns); } message_id = axis2_msg_info_headers_get_message_id(msg_info_headers, env); if (message_id) { axis2_addr_out_handler_process_string_info(env, message_id, AXIS2_WSA_MESSAGE_ID, &soap_header, addr_ns); } relates_to = axis2_msg_info_headers_get_relates_to(msg_info_headers, env); if (relates_to) { const axis2_char_t *value = NULL; value = axis2_relates_to_get_value(relates_to, env); relates_to_header_node = axis2_addr_out_handler_process_string_info(env, value, AXIS2_WSA_RELATES_TO, &soap_header, addr_ns); } if (relates_to_header_node) { const axis2_char_t *relationship_type = NULL; relationship_type = axis2_relates_to_get_relationship_type(relates_to, env); if (relationship_type && *relationship_type) { axiom_attribute_t *om_attr = NULL; axiom_namespace_t *addr_ns_obj = NULL; axiom_namespace_t *dec_ns = NULL; relates_to_header_ele = (axiom_element_t *) axiom_node_get_data_element(relates_to_header_node, env); if (relates_to_header_ele) { dec_ns = axiom_element_find_declared_namespace (relates_to_header_ele, env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); if (dec_ns) { addr_ns_obj = dec_ns; } else { addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); } if (!axutil_strcmp(addr_ns, AXIS2_WSA_NAMESPACE_SUBMISSION)) { om_attr = axiom_attribute_create(env, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION, addr_ns_obj); } else { om_attr = axiom_attribute_create(env, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE, addr_ns_obj); } axiom_element_add_attribute(relates_to_header_ele, env, om_attr, relates_to_header_node); dec_ns = axiom_element_find_declared_namespace (relates_to_header_ele, env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); if (!dec_ns) { dec_ns = axiom_element_find_namespace(relates_to_header_ele, env, relates_to_header_node, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); if (dec_ns) { axiom_namespace_free(addr_ns_obj, env); addr_ns_obj = NULL; axiom_attribute_set_namespace(om_attr, env, dec_ns); } } } } } } return AXIS2_SUCCESS; } axiom_node_t * axis2_addr_out_handler_process_string_info( const axutil_env_t * env, const axis2_char_t * value, const axis2_char_t * type, axiom_soap_header_t ** soap_header_p, const axis2_char_t * addr_ns) { axiom_soap_header_t *soap_header = NULL; axiom_soap_header_block_t *header_block = NULL; axiom_node_t *header_block_node = NULL; axiom_element_t *header_block_ele = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, value, NULL); AXIS2_PARAM_CHECK(env->error, type, NULL); AXIS2_PARAM_CHECK(env->error, soap_header_p, NULL); AXIS2_PARAM_CHECK(env->error, addr_ns, NULL); soap_header = *(soap_header_p); if (value && *value) { axiom_namespace_t *addr_ns_obj = NULL; addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); header_block = axiom_soap_header_add_header_block(soap_header, env, type, addr_ns_obj); header_block_node = axiom_soap_header_block_get_base_node(header_block, env); header_block_ele = (axiom_element_t *) axiom_node_get_data_element(header_block_node, env); if (header_block_ele) { axiom_namespace_t *dec_ns = NULL; axiom_element_set_text(header_block_ele, env, value, header_block_node); dec_ns = axiom_element_find_declared_namespace(header_block_ele, env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); if (!dec_ns) { axiom_namespace_free(addr_ns_obj, env); addr_ns_obj = NULL; } } } return header_block_node; } axis2_status_t axis2_addr_out_handler_add_to_soap_header( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * type, axiom_soap_header_t * soap_header, const axis2_char_t * addr_ns) { axiom_soap_header_block_t *header_block = NULL; const axis2_char_t *address = NULL; axutil_array_list_t *ref_param_list = NULL; axutil_array_list_t *meta_data_list = NULL; axutil_array_list_t *extension_list = NULL; axiom_node_t *header_block_node = NULL; axiom_node_t *header_node = NULL; axiom_namespace_t *addr_ns_obj = NULL; int size = 0; AXIS2_PARAM_CHECK(env->error, endpoint_ref, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, type, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, soap_header, AXIS2_FAILURE); header_node = axiom_soap_header_get_base_node(soap_header, env); addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); header_block = axiom_soap_header_add_header_block(soap_header, env, type, addr_ns_obj); if (addr_ns_obj) { axiom_namespace_free(addr_ns_obj, env); addr_ns_obj = NULL; } address = axis2_endpoint_ref_get_address(endpoint_ref, env); if (address && *address) { axiom_node_t *hb_node = NULL; axiom_element_t *hb_ele = NULL; axiom_node_t *address_node = NULL; axiom_element_t *address_ele = NULL; hb_node = axiom_soap_header_block_get_base_node(header_block, env); hb_ele = (axiom_element_t *) axiom_node_get_data_element(hb_node, env); addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); address_ele = axiom_element_create(env, hb_node, EPR_ADDRESS, addr_ns_obj, &address_node); if (address_ele) { axiom_namespace_t *dec_ns = NULL; axiom_element_set_text(address_ele, env, address, address_node); dec_ns = axiom_element_find_declared_namespace(address_ele, env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); } } header_block_node = axiom_soap_header_block_get_base_node(header_block, env); axis2_addr_out_handler_add_to_header(env, endpoint_ref, &header_block_node, addr_ns); ref_param_list = axis2_endpoint_ref_get_ref_param_list(endpoint_ref, env); if (ref_param_list && axutil_array_list_size(ref_param_list, env) > 0) { axiom_node_t *reference_node = NULL; axiom_element_t *reference_ele = NULL; axutil_array_list_t *ref_attribute_list = NULL; int i = 0; addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); reference_ele = axiom_element_create(env, header_block_node, EPR_REFERENCE_PARAMETERS, addr_ns_obj, &reference_node); ref_attribute_list = axis2_endpoint_ref_get_ref_attribute_list(endpoint_ref, env); if (ref_attribute_list) { int j = 0; size = axutil_array_list_size(ref_attribute_list, env); for (j = 0; j < size; j++) { axiom_attribute_t *attr = (axiom_attribute_t *) axutil_array_list_get(ref_attribute_list, env, j); if (attr) { axiom_element_add_attribute(reference_ele, env, attr, reference_node); } } } size = axutil_array_list_size(ref_param_list, env); for (i = 0; i < size; i++) { axiom_node_t *ref_node = (axiom_node_t *) axutil_array_list_get(ref_param_list, env, i); if (ref_node) { axiom_node_add_child(reference_node, env, ref_node); } } } meta_data_list = axis2_endpoint_ref_get_metadata_list(endpoint_ref, env); if (meta_data_list && axutil_array_list_size(meta_data_list, env) > 0) { axiom_node_t *reference_node = NULL; axiom_element_t *reference_ele = NULL; axutil_array_list_t *meta_attribute_list = NULL; int i = 0; if (!reference_node) /* may be we alredy created this in ref params block */ { addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); reference_ele = axiom_element_create(env, header_block_node, AXIS2_WSA_METADATA, addr_ns_obj, &reference_node); } meta_attribute_list = axis2_endpoint_ref_get_metadata_attribute_list(endpoint_ref, env); if (meta_attribute_list) { int j = 0; size = axutil_array_list_size(meta_attribute_list, env); for (j = 0; j < size; j++) { axiom_attribute_t *attr = (axiom_attribute_t *) axutil_array_list_get(meta_attribute_list, env, j); if (attr) { axiom_element_add_attribute(reference_ele, env, attr, reference_node); } } } size = axutil_array_list_size(meta_data_list, env); for (i = 0; i < size; i++) { axiom_node_t *ref_node = (axiom_node_t *) axutil_array_list_get(meta_data_list, env, i); if (ref_node) { axiom_node_add_child(reference_node, env, ref_node); } } } extension_list = axis2_endpoint_ref_get_extension_list(endpoint_ref, env); if (extension_list && axutil_array_list_size(extension_list, env) > 0) { int i = 0; size = axutil_array_list_size(extension_list, env); for (i = 0; i < size; i++) { axiom_node_t *ref_node = (axiom_node_t *) axutil_array_list_get(extension_list, env, i); if (ref_node) { axiom_node_add_child(header_block_node, env, ref_node); } } } return AXIS2_SUCCESS; } axis2_status_t axis2_addr_out_handler_add_to_header( const axutil_env_t * env, axis2_endpoint_ref_t * epr, axiom_node_t ** parent_node_p, const axis2_char_t * addr_ns) { axiom_node_t *parent_node = NULL; const axutil_qname_t *interface_qname = NULL; axiom_node_t *interface_node = NULL; axiom_element_t *interface_ele = NULL; const axis2_char_t *element_localname = NULL; axis2_svc_name_t *service_name = NULL; axiom_namespace_t *addr_ns_obj = NULL; AXIS2_PARAM_CHECK(env->error, epr, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, parent_node_p, AXIS2_FAILURE); parent_node = *(parent_node_p); interface_qname = axis2_endpoint_ref_get_interface_qname(epr, env); if (interface_qname) { axis2_char_t *text = NULL; axis2_char_t *qname_prefix = NULL; axis2_char_t *qname_localpart = NULL; addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); if (!axutil_strcmp(addr_ns, AXIS2_WSA_NAMESPACE_SUBMISSION)) { element_localname = EPR_PORT_TYPE; } else { element_localname = AXIS2_WSA_INTERFACE_NAME; } interface_ele = axiom_element_create(env, parent_node, element_localname, addr_ns_obj, &interface_node); qname_prefix = axutil_qname_get_prefix(interface_qname, env); qname_localpart = axutil_qname_get_localpart(interface_qname, env); text = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (axutil_strlen(qname_prefix) + axutil_strlen(qname_localpart) + 2)); sprintf(text, "%s:%s", qname_prefix, qname_localpart); axiom_element_set_text(interface_ele, env, text, interface_node); AXIS2_FREE(env->allocator, text); if (interface_ele) { axiom_namespace_t *dec_ns = NULL; dec_ns = axiom_element_find_declared_namespace(interface_ele, env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); if (!dec_ns) { axiom_namespace_free(addr_ns_obj, env); addr_ns_obj = NULL; } } } service_name = axis2_endpoint_ref_get_svc_name(epr, env); return AXIS2_SUCCESS; } axis2_status_t axis2_addr_out_handler_process_any_content_type( const axutil_env_t * env, axis2_any_content_type_t * reference_values, axiom_node_t * parent_ele_node, const axis2_char_t * addr_ns) { axutil_hash_t *value_ht = NULL; axutil_hash_index_t *hash_index = NULL; if (reference_values) { const void *key = NULL; void *val = NULL; axis2_ssize_t len = 0; value_ht = axis2_any_content_type_get_value_map(reference_values, env); if (!value_ht) { return AXIS2_FAILURE; } for (hash_index = axutil_hash_first(value_ht, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { axutil_hash_this(hash_index, &key, &len, &val); if (key) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; ele = axiom_element_create(env, parent_ele_node, key, NULL, &node); if (ele) { if (!axutil_strcmp(AXIS2_WSA_NAMESPACE, addr_ns)) { axiom_namespace_t *addr_ns_obj = NULL; axiom_attribute_t *att = NULL; addr_ns_obj = axiom_namespace_create(env, addr_ns, AXIS2_WSA_DEFAULT_PREFIX); att = axiom_attribute_create(env, AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE, AXIS2_WSA_TYPE_ATTRIBUTE_VALUE, addr_ns_obj); } axiom_element_set_text(ele, env, val, node); } } } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/modules/mod_addr/mod_addr.c0000644000175000017500000001064011166304474022570 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include axis2_status_t AXIS2_CALL axis2_mod_addr_shutdown( axis2_module_t * module, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_mod_addr_init( axis2_module_t * module, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_module_desc_t * module_desc); axis2_status_t AXIS2_CALL axis2_mod_addr_fill_handler_create_func_map( axis2_module_t * module, const axutil_env_t * env); static const axis2_module_ops_t addr_module_ops_var = { axis2_mod_addr_init, axis2_mod_addr_shutdown, axis2_mod_addr_fill_handler_create_func_map }; axis2_module_t * axis2_mod_addr_create( const axutil_env_t * env) { axis2_module_t *module = NULL; module = AXIS2_MALLOC(env->allocator, sizeof(axis2_module_t)); if(!module) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the addressing module"); return NULL; } module->ops = &addr_module_ops_var; module->handler_create_func_map = NULL; return module; } axis2_status_t AXIS2_CALL axis2_mod_addr_init( axis2_module_t * module, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_module_desc_t * module_desc) { /* Any initialization stuff of mod_addr goes here */ return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_mod_addr_shutdown( axis2_module_t * module, const axutil_env_t * env) { if (module->handler_create_func_map) { axutil_hash_free(module->handler_create_func_map, env); module->handler_create_func_map = NULL; } if (module) { AXIS2_FREE(env->allocator, module); module = NULL; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_mod_addr_fill_handler_create_func_map( axis2_module_t * module, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, module, AXIS2_FAILURE); module->handler_create_func_map = axutil_hash_make(env); if (!module->handler_create_func_map) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the function map"); return AXIS2_FAILURE; } axutil_hash_set(module->handler_create_func_map, ADDR_IN_HANDLER, AXIS2_HASH_KEY_STRING, axis2_addr_in_handler_create); axutil_hash_set(module->handler_create_func_map, ADDR_OUT_HANDLER, AXIS2_HASH_KEY_STRING, axis2_addr_out_handler_create); return AXIS2_SUCCESS; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( axis2_module_t ** inst, const axutil_env_t * env) { *inst = axis2_mod_addr_create(env); if (!(*inst)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create addressing module"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_module_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = axis2_mod_addr_shutdown(inst, env); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MODULE_NOT_FOUND, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Addressing module not found"); } return status; } axis2c-src-1.6.0/src/modules/mod_addr/addr_in_handler.c0000644000175000017500000007534011166304474024124 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include axis2_status_t AXIS2_CALL axis2_addr_in_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); axis2_bool_t axis2_addr_in_check_element( const axutil_env_t * env, axutil_qname_t * expected_qname, axutil_qname_t * actual_qname); axis2_status_t axis2_addr_in_extract_svc_grp_ctx_id( const axutil_env_t * env, axiom_soap_header_t * soap_header, axis2_msg_ctx_t * msg_ctx); axis2_status_t axis2_addr_in_extract_ref_params( const axutil_env_t * env, axiom_soap_header_t * soap_header, axis2_msg_info_headers_t * msg_info_headers); axis2_status_t axis2_addr_in_extract_to_epr_ref_params( const axutil_env_t * env, axis2_endpoint_ref_t * to_epr, axiom_soap_header_t * soap_header, const axis2_char_t * addr_ns); axis2_status_t axis2_addr_in_extract_epr_information( const axutil_env_t * env, axiom_soap_header_block_t * soap_header_block, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * addr_ns); axis2_status_t axis2_addr_in_extract_addr_params( const axutil_env_t * env, axiom_soap_header_t * soap_header, axis2_msg_info_headers_t ** msg_info_headers, axutil_array_list_t * addr_headers, const axis2_char_t * addr_ns, axis2_msg_ctx_t * msg_ctx); void axis2_addr_in_create_fault_envelope( const axutil_env_t * env, const axis2_char_t * header_name, const axis2_char_t * addr_ns_str, axis2_msg_ctx_t * msg_ctx); /******************************************************************************/ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_addr_in_handler_create( const axutil_env_t * env, axutil_string_t * name) { axis2_handler_t *handler = NULL; AXIS2_ENV_CHECK(env, NULL); handler = axis2_handler_create(env); if (!handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create addressing in handler"); return NULL; } /* Handler init is handled by conf loading, so no need to do it here */ axis2_handler_set_invoke(handler, env, axis2_addr_in_handler_invoke); return handler; } axis2_status_t AXIS2_CALL axis2_addr_in_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_header_t *soap_header = NULL; axutil_property_t *property = NULL; axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Starting addressing in handler"); soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (soap_envelope) { soap_header = axiom_soap_envelope_get_header(soap_envelope, env); if (soap_header) { axutil_array_list_t *addr_headers = NULL; axis2_ctx_t *ctx = NULL; axis2_char_t *addr_ns_str = NULL; axis2_msg_info_headers_t *msg_info_headers = axis2_msg_ctx_get_msg_info_headers(msg_ctx, env); addr_headers = axiom_soap_header_get_header_blocks_with_namespace_uri (soap_header, env, AXIS2_WSA_NAMESPACE_SUBMISSION); if (addr_headers) { addr_ns_str = axutil_strdup(env, AXIS2_WSA_NAMESPACE_SUBMISSION); /*status = axis2_addr_in_extract_addr_submission_info(env, soap_header, &msg_info_headers, addr_headers, msg_ctx);*/ status = axis2_addr_in_extract_addr_params(env, soap_header, &msg_info_headers, addr_headers, AXIS2_WSA_NAMESPACE_SUBMISSION, msg_ctx); } else { addr_headers = axiom_soap_header_get_header_blocks_with_namespace_uri (soap_header, env, AXIS2_WSA_NAMESPACE); if (addr_headers) { addr_ns_str = axutil_strdup(env, AXIS2_WSA_NAMESPACE); /*status = axis2_addr_in_extract_addr_final_info(env, soap_header, &msg_info_headers, addr_headers, msg_ctx);*/ status = axis2_addr_in_extract_addr_params(env, soap_header, &msg_info_headers, addr_headers, AXIS2_WSA_NAMESPACE, msg_ctx); axis2_addr_in_extract_ref_params(env, soap_header, axis2_msg_ctx_get_msg_info_headers (msg_ctx, env)); } else { /* addressing headers are not present in the SOAP message */ AXIS2_LOG_INFO(env->log, AXIS2_LOG_SI, "No Addressing Headers present in the IN message. Addressing In Handler cannot do anything."); return AXIS2_SUCCESS; /* no addressing heades means addressing not in use */ } } ctx = axis2_msg_ctx_get_base(msg_ctx, env); if (ctx) { property = axutil_property_create(env); axutil_property_set_scope(property, env, AXIS2_SCOPE_REQUEST); axutil_property_set_value(property, env, addr_ns_str); axis2_ctx_set_property(ctx, env, AXIS2_WSA_VERSION, property); } /* extract service group context, if available */ axis2_addr_in_extract_svc_grp_ctx_id(env, soap_header, msg_ctx); axutil_array_list_free(addr_headers, env); return status; } } return AXIS2_SUCCESS; } axis2_status_t axis2_addr_in_extract_svc_grp_ctx_id( const axutil_env_t * env, axiom_soap_header_t * soap_header, axis2_msg_ctx_t * msg_ctx) { axiom_node_t *node = NULL; axiom_element_t *element = NULL; node = axiom_soap_header_get_base_node(soap_header, env); if (node && axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axutil_qname_t *qname = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); qname = axutil_qname_create(env, AXIS2_SVC_GRP_ID, AXIS2_NAMESPACE_URI, AXIS2_NAMESPACE_PREFIX); if (qname) { axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; child_element = axiom_element_get_first_child_with_qname(element, env, qname, node, &child_node); if (child_element) { axis2_conf_ctx_t *conf_ctx = NULL; axis2_char_t *grp_id = axiom_element_get_text(child_element, env, child_node); conf_ctx = axis2_msg_ctx_get_conf_ctx(msg_ctx, env); if (conf_ctx && grp_id) { axutil_string_t *svc_grp_ctx_id_str = axutil_string_create(env, grp_id); axis2_svc_grp_ctx_t *svc_ctx_grp_ctx = axis2_conf_ctx_get_svc_grp_ctx(conf_ctx, env, grp_id); if (!svc_ctx_grp_ctx) { return AXIS2_FAILURE; } axis2_msg_ctx_set_svc_grp_ctx_id(msg_ctx, env, svc_grp_ctx_id_str); axutil_string_free(svc_grp_ctx_id_str, env); return AXIS2_SUCCESS; } } } axutil_qname_free(qname, env); } return AXIS2_FAILURE; } axis2_status_t axis2_addr_in_extract_addr_params( const axutil_env_t * env, axiom_soap_header_t * soap_header, axis2_msg_info_headers_t ** msg_info_headers_p, axutil_array_list_t * addr_headers, const axis2_char_t * addr_ns_str, axis2_msg_ctx_t * msg_ctx) { axutil_hash_t *header_block_ht = NULL; axutil_hash_index_t *hash_index = NULL; axis2_msg_info_headers_t *msg_info_headers = *(msg_info_headers_p); axis2_status_t status = AXIS2_SUCCESS; axis2_bool_t to_found = AXIS2_FALSE; axis2_bool_t reply_to_found = AXIS2_FALSE; axis2_bool_t fault_to_found = AXIS2_FALSE; axis2_bool_t action_found = AXIS2_FALSE; axis2_bool_t msg_id_found = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, soap_header, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_info_headers_p, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, addr_headers, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, addr_ns_str, AXIS2_FAILURE); if (!msg_info_headers) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No messgae info header. Creating new"); msg_info_headers = axis2_msg_info_headers_create(env, NULL, NULL); if (!msg_info_headers) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MSG_INFO_HEADERS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No message information headers available"); return AXIS2_FAILURE; } } header_block_ht = axiom_soap_header_get_all_header_blocks(soap_header, env); if (!header_block_ht) { return AXIS2_FAILURE; } /* Iterate thru header blocks */ for (hash_index = axutil_hash_first(header_block_ht, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { void *hb = NULL; axiom_soap_header_block_t *header_block = NULL; axiom_node_t *header_block_node = NULL; axiom_element_t *header_block_ele = NULL; axis2_char_t *ele_localname = NULL; axis2_endpoint_ref_t *epr = NULL; axis2_char_t *role = NULL; axutil_hash_this(hash_index, NULL, NULL, &hb); header_block = (axiom_soap_header_block_t *) hb; header_block_node = axiom_soap_header_block_get_base_node(header_block, env); header_block_ele = (axiom_element_t *) axiom_node_get_data_element(header_block_node, env); ele_localname = axiom_element_get_localname(header_block_ele, env); role = axiom_soap_header_block_get_role(header_block, env); if (role && !axutil_strcmp(role, AXIOM_SOAP12_SOAP_ROLE_NONE)) { /* Role is none, no need of processing */ continue; } if (!axutil_strcmp(ele_localname, AXIS2_WSA_TO)) { /* Here the addressing epr overidde what ever already there in the message context */ epr = axis2_endpoint_ref_create(env, axiom_element_get_text (header_block_ele, env, header_block_node)); if (AXIS2_TRUE == to_found) { /* Duplicate To */ axis2_addr_in_create_fault_envelope(env, AXIS2_WSA_PREFIX_TO, addr_ns_str, msg_ctx); status = AXIS2_FAILURE; continue; } axis2_msg_info_headers_set_to(msg_info_headers, env, epr); axis2_addr_in_extract_to_epr_ref_params(env, epr, soap_header, addr_ns_str); axiom_soap_header_block_set_processed(header_block, env); to_found = AXIS2_TRUE; } else if (!axutil_strcmp(ele_localname, AXIS2_WSA_FROM)) { epr = axis2_msg_info_headers_get_from(msg_info_headers, env); if (!epr) { /* The address is not known now. Pass the empty string and fill this once the element under this is processed. */ epr = axis2_endpoint_ref_create(env, ""); axis2_msg_info_headers_set_from(msg_info_headers, env, epr); } axis2_addr_in_extract_epr_information(env, header_block, epr, addr_ns_str); axiom_soap_header_block_set_processed(header_block, env); } else if (!axutil_strcmp(ele_localname, AXIS2_WSA_REPLY_TO)) { epr = axis2_msg_info_headers_get_reply_to(msg_info_headers, env); if (reply_to_found == AXIS2_TRUE) { /* Duplicate Reply To */ axis2_addr_in_create_fault_envelope(env, AXIS2_WSA_PREFIX_REPLY_TO, addr_ns_str, msg_ctx); status = AXIS2_FAILURE; continue; } if (!epr) { epr = axis2_endpoint_ref_create(env, ""); axis2_msg_info_headers_set_reply_to(msg_info_headers, env, epr); } axis2_addr_in_extract_epr_information(env, header_block, epr, addr_ns_str); axiom_soap_header_block_set_processed(header_block, env); reply_to_found = AXIS2_TRUE; } else if (!axutil_strcmp(ele_localname, AXIS2_WSA_FAULT_TO)) { epr = axis2_msg_info_headers_get_fault_to(msg_info_headers, env); if (fault_to_found == AXIS2_TRUE) { /* Duplicate Fault To */ axis2_addr_in_create_fault_envelope(env, AXIS2_WSA_PREFIX_FAULT_TO, addr_ns_str, msg_ctx); status = AXIS2_FAILURE; axis2_msg_info_headers_set_fault_to(msg_info_headers, env, NULL); continue; } if (!epr) { epr = axis2_endpoint_ref_create(env, ""); axis2_msg_info_headers_set_fault_to(msg_info_headers, env, epr); } axis2_addr_in_extract_epr_information(env, header_block, epr, addr_ns_str); axiom_soap_header_block_set_processed(header_block, env); fault_to_found = AXIS2_TRUE; } else if (!axutil_strcmp(ele_localname, AXIS2_WSA_MESSAGE_ID)) { axis2_char_t *text = NULL; if (msg_id_found == AXIS2_TRUE) { /* Duplicate Message ID */ axis2_addr_in_create_fault_envelope(env, AXIS2_WSA_PREFIX_MESSAGE_ID, addr_ns_str, msg_ctx); status = AXIS2_FAILURE; continue; } text = axiom_element_get_text(header_block_ele, env, header_block_node); axis2_msg_info_headers_set_in_message_id(msg_info_headers, env, text); axiom_soap_header_block_set_processed(header_block, env); msg_id_found = AXIS2_TRUE; } else if (!axutil_strcmp(ele_localname, AXIS2_WSA_ACTION)) { axis2_char_t *text = NULL; if (action_found == AXIS2_TRUE) { /* Duplicate Action */ axis2_addr_in_create_fault_envelope(env, AXIS2_WSA_PREFIX_ACTION, addr_ns_str, msg_ctx); status = AXIS2_FAILURE; continue; } text = axiom_element_get_text(header_block_ele, env, header_block_node); axis2_msg_info_headers_set_action(msg_info_headers, env, text); axiom_soap_header_block_set_processed(header_block, env); action_found = AXIS2_TRUE; } else if (!axutil_strcmp(ele_localname, AXIS2_WSA_RELATES_TO)) { axis2_char_t *address = NULL; axutil_qname_t *rqn = NULL; axiom_attribute_t *relationship_type = NULL; const axis2_char_t *relationship_type_default_value = NULL; const axis2_char_t *relationship_type_value = NULL; axis2_relates_to_t *relates_to = NULL; if (!axutil_strcmp(AXIS2_WSA_NAMESPACE_SUBMISSION, addr_ns_str)) { relationship_type_default_value = AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION; } else { relationship_type_default_value = AXIS2_WSA_ANONYMOUS_URL_SUBMISSION; } rqn = axutil_qname_create(env, AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE, NULL, NULL); relationship_type = axiom_element_get_attribute(header_block_ele, env, rqn); if (!relationship_type) { relationship_type_value = AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION; } else { relationship_type_value = axiom_attribute_get_value(relationship_type, env); } address = axiom_element_get_text(header_block_ele, env, header_block_node); relates_to = axis2_relates_to_create(env, address, relationship_type_value); axis2_msg_info_headers_set_relates_to(msg_info_headers, env, relates_to); axiom_soap_header_block_set_processed(header_block, env); axutil_qname_free(rqn, env); } } /* If an action is not found, it's a false*/ if (action_found == AXIS2_FALSE) { axis2_addr_in_create_fault_envelope(env, AXIS2_WSA_PREFIX_ACTION, addr_ns_str, msg_ctx); status = AXIS2_FAILURE; } return status; } axis2_status_t axis2_addr_in_extract_epr_information( const axutil_env_t * env, axiom_soap_header_block_t * soap_header_block, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * addr_ns_str) { axutil_qname_t *epr_addr_qn = NULL; axutil_qname_t *epr_ref_qn = NULL; axutil_qname_t *wsa_meta_qn = NULL; axiom_node_t *header_block_node = NULL; axiom_element_t *header_block_ele = NULL; axiom_child_element_iterator_t *child_ele_iter = NULL; AXIS2_PARAM_CHECK(env->error, soap_header_block, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, endpoint_ref, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, addr_ns_str, AXIS2_FAILURE); header_block_node = axiom_soap_header_block_get_base_node(soap_header_block, env); header_block_ele = (axiom_element_t *) axiom_node_get_data_element(header_block_node, env); child_ele_iter = axiom_element_get_child_elements(header_block_ele, env, header_block_node); if (!child_ele_iter) { return AXIS2_FAILURE; } epr_addr_qn = axutil_qname_create(env, EPR_ADDRESS, addr_ns_str, NULL); epr_ref_qn = axutil_qname_create(env, EPR_REFERENCE_PARAMETERS, addr_ns_str, NULL); wsa_meta_qn = axutil_qname_create(env, AXIS2_WSA_METADATA, addr_ns_str, NULL); while (AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(child_ele_iter, env)) { axiom_node_t *child_node = NULL; axiom_element_t *child_ele = NULL; axutil_qname_t *child_qn = NULL; child_node = AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(child_ele_iter, env); child_ele = (axiom_element_t *) axiom_node_get_data_element(child_node, env); child_qn = axiom_element_get_qname(child_ele, env, child_node); if (axis2_addr_in_check_element(env, epr_addr_qn, child_qn)) { axis2_endpoint_ref_set_address(endpoint_ref, env, axiom_element_get_text(child_ele, env, child_node)); } else if (axis2_addr_in_check_element(env, epr_ref_qn, child_qn)) { axiom_child_element_iterator_t *ref_param_iter = NULL; ref_param_iter = axiom_element_get_child_elements(child_ele, env, child_node); if (ref_param_iter) { while (AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT (ref_param_iter, env)) { axiom_node_t *om_node = NULL; axiom_element_t *om_ele = NULL; om_node = AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(ref_param_iter, env); om_ele = (axiom_element_t *) axiom_node_get_data_element(om_node, env); axis2_endpoint_ref_add_ref_param(endpoint_ref, env, om_node); } } } else if (axis2_addr_in_check_element(env, wsa_meta_qn, child_qn)) { /* FIXME : Can we remove this?*/ } } axutil_qname_free(epr_addr_qn, env); axutil_qname_free(epr_ref_qn, env); axutil_qname_free(wsa_meta_qn, env); return AXIS2_SUCCESS; } axis2_status_t axis2_addr_in_extract_ref_params( const axutil_env_t * env, axiom_soap_header_t * soap_header, axis2_msg_info_headers_t * msg_info_headers) { axutil_hash_t *header_block_ht = NULL; axutil_hash_index_t *hash_index = NULL; axutil_qname_t *wsa_qname = NULL; AXIS2_PARAM_CHECK(env->error, soap_header, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_info_headers, AXIS2_FAILURE); header_block_ht = axiom_soap_header_get_all_header_blocks(soap_header, env); if (!header_block_ht) { return AXIS2_FAILURE; } wsa_qname = axutil_qname_create(env, AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE, AXIS2_WSA_NAMESPACE, NULL); for (hash_index = axutil_hash_first(header_block_ht, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { void *hb = NULL; axiom_soap_header_block_t *header_block = NULL; axiom_node_t *header_block_node = NULL; axiom_element_t *header_block_ele = NULL; axutil_hash_this(hash_index, NULL, NULL, &hb); header_block = (axiom_soap_header_block_t *) hb; header_block_node = axiom_soap_header_block_get_base_node(header_block, env); if (header_block_node && (axiom_node_get_node_type(header_block_node, env) == AXIOM_ELEMENT)) { axiom_attribute_t *om_attr = NULL; axis2_char_t *attr_value = NULL; header_block_ele = (axiom_element_t *) axiom_node_get_data_element(header_block_node, env); om_attr = axiom_element_get_attribute(header_block_ele, env, wsa_qname); if (om_attr) { attr_value = axiom_attribute_get_value(om_attr, env); if (!axutil_strcmp(attr_value, AXIS2_WSA_TYPE_ATTRIBUTE_VALUE)) { axis2_msg_info_headers_add_ref_param(msg_info_headers, env, header_block_node); } } } } axutil_qname_free(wsa_qname, env); return AXIS2_SUCCESS; } axis2_status_t axis2_addr_in_extract_to_epr_ref_params( const axutil_env_t * env, axis2_endpoint_ref_t * to_epr, axiom_soap_header_t * soap_header, const axis2_char_t * addr_ns_str) { axutil_hash_t *header_blocks_ht = NULL; axutil_hash_index_t *hash_index = NULL; axutil_qname_t *is_ref_qn = NULL; AXIS2_PARAM_CHECK(env->error, to_epr, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, soap_header, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, addr_ns_str, AXIS2_FAILURE); header_blocks_ht = axiom_soap_header_get_all_header_blocks(soap_header, env); if (!header_blocks_ht) { return AXIS2_FAILURE; } is_ref_qn = axutil_qname_create(env, "IsReferenceParameter", addr_ns_str, NULL); if (!is_ref_qn) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create qname for %s", addr_ns_str); return AXIS2_FAILURE; } for (hash_index = axutil_hash_first(header_blocks_ht, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { axiom_element_t *header_block_ele = NULL; axiom_node_t *header_block_node = NULL; axiom_soap_header_block_t *header_block = NULL; void *hb = NULL; axiom_attribute_t *is_ref_param_attr = NULL; axis2_char_t *attr_value = NULL; axutil_hash_this(hash_index, NULL, NULL, &hb); if (hb) { header_block = (axiom_soap_header_block_t *) hb; header_block_node = axiom_soap_header_block_get_base_node(header_block, env); header_block_ele = (axiom_element_t *) axiom_node_get_data_element(header_block_node, env); is_ref_param_attr = axiom_element_get_attribute(header_block_ele, env, is_ref_qn); if (is_ref_param_attr) { attr_value = axiom_attribute_get_localname(is_ref_param_attr, env); if (!axutil_strcmp("true", attr_value)) { axis2_endpoint_ref_add_ref_param(to_epr, env, header_block_node); } } } } axutil_qname_free(is_ref_qn, env); return AXIS2_SUCCESS; } axis2_bool_t axis2_addr_in_check_element( const axutil_env_t * env, axutil_qname_t * expected_qname, axutil_qname_t * actual_qname) { axis2_char_t *exp_qn_lpart = NULL; axis2_char_t *act_qn_lpart = NULL; axis2_char_t *exp_qn_nsuri = NULL; axis2_char_t *act_qn_nsuri = NULL; AXIS2_PARAM_CHECK(env->error, expected_qname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, actual_qname, AXIS2_FAILURE); exp_qn_lpart = axutil_qname_get_localpart(expected_qname, env); act_qn_lpart = axutil_qname_get_localpart(actual_qname, env); exp_qn_nsuri = axutil_qname_get_localpart(expected_qname, env); act_qn_nsuri = axutil_qname_get_localpart(actual_qname, env); return ((!axutil_strcmp(exp_qn_lpart, act_qn_lpart)) && (!axutil_strcmp(exp_qn_nsuri, act_qn_nsuri))); } void axis2_addr_in_create_fault_envelope( const axutil_env_t * env, const axis2_char_t * header_name, const axis2_char_t * addr_ns_str, axis2_msg_ctx_t * msg_ctx) { axiom_soap_envelope_t *envelope = NULL; axutil_array_list_t *sub_codes = NULL; int soap_version = AXIOM_SOAP12; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns1 = NULL; if (axis2_msg_ctx_get_is_soap_11(msg_ctx, env)) { soap_version = AXIOM_SOAP11; } ns1 = axiom_namespace_create(env, addr_ns_str, AXIS2_WSA_DEFAULT_PREFIX); text_om_ele = axiom_element_create(env, NULL, "ProblemHeaderQName", ns1, &text_om_node); axiom_element_set_text(text_om_ele, env, header_name, text_om_node); sub_codes = axutil_array_list_create(env, 2); if (sub_codes) { axutil_array_list_add(sub_codes, env, "wsa:InvalidAddressingHeader"); axutil_array_list_add(sub_codes, env, "wsa:InvalidCardinality"); } envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, "soapenv:Sender", "A header representing a Message Addressing Property is not valid and the message cannot be processed", soap_version, sub_codes, text_om_node); axis2_msg_ctx_set_fault_soap_envelope(msg_ctx, env, envelope); axis2_msg_ctx_set_wsa_action(msg_ctx, env, "http://www.w3.org/2005/08/addressing/fault"); return; } axis2c-src-1.6.0/src/modules/mod_log/0000777000175000017500000000000011172017545020522 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/src/modules/mod_log/module.xml0000644000175000017500000000101511166304473022524 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/src/modules/mod_log/log_out_handler.c0000644000175000017500000000503611166304473024035 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include axis2_status_t AXIS2_CALL axutil_log_out_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axutil_log_out_handler_create( const axutil_env_t * env, axutil_string_t * name) { axis2_handler_t *handler = NULL; AXIS2_ENV_CHECK(env, NULL); handler = axis2_handler_create(env); if (!handler) { return NULL; } axis2_handler_set_invoke(handler, env, axutil_log_out_handler_invoke); return handler; } axis2_status_t AXIS2_CALL axutil_log_out_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *ret_node = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Starting logging out handler ........."); soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (soap_envelope) { ret_node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { AXIS2_LOG_INFO(env->log, "Output message: %s", om_str); } } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/modules/mod_log/mod_log.c0000644000175000017500000000731011166304473022305 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "mod_log.h" axis2_status_t AXIS2_CALL axis2_mod_log_shutdown( axis2_module_t * module, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_mod_log_init( axis2_module_t * module, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_module_desc_t * module_desc); axis2_status_t AXIS2_CALL axis2_mod_log_fill_handler_create_func_map( axis2_module_t * module, const axutil_env_t * env); /** * Module operations struct variable with functions assigned to members */ static const axis2_module_ops_t log_module_ops_var = { axis2_mod_log_init, axis2_mod_log_shutdown, axis2_mod_log_fill_handler_create_func_map }; axis2_module_t * axis2_mod_log_create( const axutil_env_t * env) { axis2_module_t *module = NULL; module = AXIS2_MALLOC(env->allocator, sizeof(axis2_module_t)); /* initialize operations */ module->ops = &log_module_ops_var; return module; } axis2_status_t AXIS2_CALL axis2_mod_log_init( axis2_module_t * module, const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_module_desc_t * module_desc) { /* Any initialization stuff related to this module can be here */ return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_mod_log_shutdown( axis2_module_t * module, const axutil_env_t * env) { if (module->handler_create_func_map) { axutil_hash_free(module->handler_create_func_map, env); } if (module) { AXIS2_FREE(env->allocator, module); } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_mod_log_fill_handler_create_func_map( axis2_module_t * module, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); module->handler_create_func_map = axutil_hash_make(env); if (!module->handler_create_func_map) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } /* add in handler */ axutil_hash_set(module->handler_create_func_map, "LoggingInHandler", AXIS2_HASH_KEY_STRING, axutil_log_in_handler_create); /* add out handler */ axutil_hash_set(module->handler_create_func_map, "LoggingOutHandler", AXIS2_HASH_KEY_STRING, axutil_log_out_handler_create); return AXIS2_SUCCESS; } /** * Following functions are expected to be there in the module lib * that helps to create and remove module instances */ AXIS2_EXPORT int axis2_get_instance( axis2_module_t ** inst, const axutil_env_t * env) { *inst = axis2_mod_log_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_module_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = axis2_mod_log_shutdown(inst, env); } return status; } axis2c-src-1.6.0/src/modules/mod_log/mod_log.h0000644000175000017500000000255011166304473022313 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MOD_LOG_H #define AXIS2_MOD_LOG_H /** * @file mod_log.h * @brief Axis2 logging module interface */ #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axutil_log_in_handler_create( const axutil_env_t * env, axutil_string_t * name); AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axutil_log_out_handler_create( const axutil_env_t * env, axutil_string_t * name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MOD_LOG_H */ axis2c-src-1.6.0/src/modules/mod_log/Makefile.am0000644000175000017500000000162311166304473022556 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/modules/logging prglib_LTLIBRARIES = libaxis2_mod_log.la prglib_DATA= module.xml EXTRA_DIST = module.xml mod_log.h libaxis2_mod_log_la_SOURCES = log_in_handler.c \ log_out_handler.c \ mod_log.c libaxis2_mod_log_la_LIBADD = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la\ $(top_builddir)/src/core/engine/libaxis2_engine.la libaxis2_mod_log_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include\ -I$(top_builddir)/axiom/include axis2c-src-1.6.0/src/modules/mod_log/Makefile.in0000644000175000017500000004145711172017205022567 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/modules/mod_log DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libaxis2_mod_log_la_DEPENDENCIES = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la am_libaxis2_mod_log_la_OBJECTS = log_in_handler.lo log_out_handler.lo \ mod_log.lo libaxis2_mod_log_la_OBJECTS = $(am_libaxis2_mod_log_la_OBJECTS) libaxis2_mod_log_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_mod_log_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_mod_log_la_SOURCES) DIST_SOURCES = $(libaxis2_mod_log_la_SOURCES) prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/modules/logging prglib_LTLIBRARIES = libaxis2_mod_log.la prglib_DATA = module.xml EXTRA_DIST = module.xml mod_log.h libaxis2_mod_log_la_SOURCES = log_in_handler.c \ log_out_handler.c \ mod_log.c libaxis2_mod_log_la_LIBADD = \ $(top_builddir)/util/src/libaxutil.la \ $(top_builddir)/axiom/src/om/libaxis2_axiom.la\ $(top_builddir)/src/core/engine/libaxis2_engine.la libaxis2_mod_log_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/util/include\ -I$(top_builddir)/axiom/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/mod_log/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/modules/mod_log/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_mod_log.la: $(libaxis2_mod_log_la_OBJECTS) $(libaxis2_mod_log_la_DEPENDENCIES) $(libaxis2_mod_log_la_LINK) -rpath $(prglibdir) $(libaxis2_mod_log_la_OBJECTS) $(libaxis2_mod_log_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log_in_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log_out_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mod_log.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) installdirs: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prglibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-prglibDATA uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/modules/mod_log/log_in_handler.c0000644000175000017500000000520411166304473023631 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include axis2_status_t AXIS2_CALL axutil_log_in_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axutil_log_in_handler_create( const axutil_env_t * env, axutil_string_t * name) { axis2_handler_t *handler = NULL; AXIS2_ENV_CHECK(env, NULL); handler = axis2_handler_create(env); if (!handler) { return NULL; } axis2_handler_set_invoke(handler, env, axutil_log_in_handler_invoke); return handler; } axis2_status_t AXIS2_CALL axutil_log_in_handler_invoke( struct axis2_handler * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *ret_node = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, msg_ctx, AXIS2_FAILURE); AXIS2_LOG_INFO(env->log, "Starting logging in handler ........."); soap_envelope = axis2_msg_ctx_get_soap_envelope(msg_ctx, env); if (soap_envelope) { /* ensure SOAP buider state is in sync */ axiom_soap_envelope_get_body(soap_envelope, env); ret_node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { AXIS2_LOG_INFO(env->log, "Input message: %s", om_str); } } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/src/modules/Makefile.am0000644000175000017500000000003311166304474021131 0ustar00manjulamanjula00000000000000SUBDIRS = mod_addr mod_log axis2c-src-1.6.0/src/modules/Makefile.in0000644000175000017500000003467511172017205021153 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/modules DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = mod_addr mod_log all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/modules/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/modules/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/src/Makefile.am0000644000175000017500000000002711166304474017464 0ustar00manjulamanjula00000000000000SUBDIRS = core modules axis2c-src-1.6.0/src/Makefile.in0000644000175000017500000003464111172017202017471 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = core modules all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/NEWS0000644000175000017500000000627311166304700015341 0ustar00manjulamanjula00000000000000Apache Axis2/C Team is pleased to announce the release of Apache Axis2/C version 1.6.0. You can download this release from http://ws.apache.org/axis2/c/download.cgi Key Features ============ 1. Support for one-way messaging (In-Only) and request response messaging (In-Out) 2. Client APIs : Easy to use service client API and more advanced operation client API 3. Transports supported : HTTP * Inbuilt HTTP server called simple axis server * Apache2 httpd module called mod_axis2 for server side * IIS module for server side. Supports IIS 5.1, 6 and 7. * Client transport with ability to enable SSL support * Basic HTTP Authentication * Digest HTTP Authentication * libcurl based client transport * CGI interface 4. Transports supported : HTTPS * HTTPS Transport implementation using OpenSSL 5. Transports supported : TCP * for both client and server side 6. Transports supported : AMQP * AMQP Transport implementation using Apache Qpid * Available only in Linux platforms. * At an experimental stage. Please refer the INSTALL file to build this. 7. Transport proxy support (HTTP) * Proxy Authentication (Basic/Digest) 8. Module architecture, mechanism to extend the SOAP processing model. 9. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module. 10. MTOM/XOP support. 11. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support. 12. XPath support for Axiom XML Object model 13. XML parser abstraction * Libxml2 wrapper * Guththila pull parser support 14. Both directory based and archive based deployment models for deploying services and modules 15. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages) 16. Context hierarchy providing access to dynamic Axis2/C runtime information (corresponding contexts to map to each level of description hierarchy) 17. Message receiver abstraction * Inbuilt raw XML message receiver 18. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool) * Axis Data Binding (ADB) support 19. REST support (more POX like) using HTTP POST, GET, HEAD, PUT and DELETE * Support for RESTful Services 20. Comprehensive documentation * Axis2/C Manual 21. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension Major Changes Since Last Release ================================ 1. XPath support for Axiom XML object model 2. CGI support 3. Improvements to MTOM to send, receive very large attachments 4. Improvements to AMQP transport 5. Improvements to WSDL2C codegen tool 6. Many bug fixes. 7. Memory leak fixes We welcome your early feedback on this implementation. Thanks for your interest in Axis2/C !!! -- Apache Axis2/C Team -- axis2c-src-1.6.0/docs/0000777000175000017500000000000011172017604015567 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/api/0000777000175000017500000000000011172017604016340 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/api/html/0000777000175000017500000000000011172017604017304 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/api/html/rp__algorithmsuite_8h-source.html0000644000175000017500000004652011172017604025772 0ustar00manjulamanjula00000000000000 Axis2/C: rp_algorithmsuite.h Source File

rp_algorithmsuite.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ALGORITHMSUITE_H
00019 #define RP_ALGORITHMSUITE_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_algorithmsuite_t rp_algorithmsuite_t;
00034 
00035     AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL
00036     rp_algorithmsuite_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_algorithmsuite_free(
00041         rp_algorithmsuite_t * algorithmsuite,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00045     rp_algorithmsuite_get_algosuite_string(
00046         rp_algorithmsuite_t * algorithmsuite,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_algorithmsuite_set_algosuite(
00051         rp_algorithmsuite_t * algorithmsuite,
00052         const axutil_env_t * env,
00053         axis2_char_t * algosuite_string);
00054 
00055     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00056     rp_algorithmsuite_get_symmetric_signature(
00057         rp_algorithmsuite_t * algorithmsuite,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_algorithmsuite_set_symmetric_signature(
00062         rp_algorithmsuite_t * algorithmsuite,
00063         const axutil_env_t * env,
00064         axis2_char_t * symmetric_signature);
00065 
00066     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00067     rp_algorithmsuite_get_asymmetric_signature(
00068         rp_algorithmsuite_t * algorithmsuite,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_algorithmsuite_set_asymmetric_signature(
00073         rp_algorithmsuite_t * algorithmsuite,
00074         const axutil_env_t * env,
00075         axis2_char_t * asymmetric_signature);
00076 
00077     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00078     rp_algorithmsuite_get_computed_key(
00079         rp_algorithmsuite_t * algorithmsuite,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     rp_algorithmsuite_set_computed_key(
00084         rp_algorithmsuite_t * algorithmsuite,
00085         const axutil_env_t * env,
00086         axis2_char_t * computed_key);
00087 
00088     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00089     rp_algorithmsuite_get_digest(
00090         rp_algorithmsuite_t * algorithmsuite,
00091         const axutil_env_t * env);
00092 
00093     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00094     rp_algorithmsuite_get_encryption(
00095         rp_algorithmsuite_t * algorithmsuite,
00096         const axutil_env_t * env);
00097 
00098     AXIS2_EXTERN int AXIS2_CALL
00099     rp_algorithmsuite_get_max_symmetric_keylength(
00100         rp_algorithmsuite_t * algorithmsuite,
00101         const axutil_env_t * env);
00102 
00103     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00104     rp_algorithmsuite_set_max_symmetric_keylength(
00105         rp_algorithmsuite_t * algorithmsuite,
00106         const axutil_env_t * env,
00107         int max_symmetric_keylength);
00108 
00109     AXIS2_EXTERN int AXIS2_CALL
00110     rp_algorithmsuite_get_min_symmetric_keylength(
00111         rp_algorithmsuite_t * algorithmsuite,
00112         const axutil_env_t * env);
00113 
00114     AXIS2_EXTERN int AXIS2_CALL
00115     rp_algorithmsuite_get_max_asymmetric_keylength(
00116         rp_algorithmsuite_t * algorithmsuite,
00117         const axutil_env_t * env);
00118 
00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120     rp_algorithmsuite_set_max_asymmetric_keylength(
00121         rp_algorithmsuite_t * algorithmsuite,
00122         const axutil_env_t * env,
00123         int max_asymmetric_keylength);
00124 
00125     AXIS2_EXTERN int AXIS2_CALL
00126     rp_algorithmsuite_get_min_asymmetric_keylength(
00127         rp_algorithmsuite_t * algorithmsuite,
00128         const axutil_env_t * env);
00129 
00130     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131     rp_algorithmsuite_set_min_asymmetric_keylength(
00132         rp_algorithmsuite_t * algorithmsuite,
00133         const axutil_env_t * env,
00134         int min_asymmetric_keylength);
00135 
00136     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00137     rp_algorithmsuite_get_symmetrickeywrap(
00138         rp_algorithmsuite_t * algorithmsuite,
00139         const axutil_env_t * env);
00140 
00141     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00142     rp_algorithmsuite_get_asymmetrickeywrap(
00143         rp_algorithmsuite_t * algorithmsuite,
00144         const axutil_env_t * env);
00145 
00146     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00147     rp_algorithmsuite_get_signature_key_derivation(
00148         rp_algorithmsuite_t * algorithmsuite,
00149         const axutil_env_t * env);
00150 
00151     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00152     rp_algorithmsuite_get_encryption_key_derivation(
00153         rp_algorithmsuite_t * algorithmsuite,
00154         const axutil_env_t * env);
00155 
00156     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00157     rp_algorithmsuite_get_soap_normalization(
00158         rp_algorithmsuite_t * algorithmsuite,
00159         const axutil_env_t * env);
00160 
00161     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00162     rp_algorithmsuite_set_soap_normalization(
00163         rp_algorithmsuite_t * algorithmsuite,
00164         const axutil_env_t * env,
00165         axis2_char_t * soap_normalization);
00166 
00167     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00168     rp_algorithmsuite_get_str_transformation(
00169         rp_algorithmsuite_t * algorithmsuite,
00170         const axutil_env_t * env);
00171 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     rp_algorithmsuite_set_str_transformation(
00174         rp_algorithmsuite_t * algorithmsuite,
00175         const axutil_env_t * env,
00176         axis2_char_t * str_transformation);
00177 
00178     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00179     rp_algorithmsuite_get_c14n(
00180         rp_algorithmsuite_t * algorithmsuite,
00181         const axutil_env_t * env);
00182 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     rp_algorithmsuite_set_c14n(
00185         rp_algorithmsuite_t * algorithmsuite,
00186         const axutil_env_t * env,
00187         axis2_char_t * c14n);
00188 
00189     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00190     rp_algorithmsuite_get_xpath(
00191         rp_algorithmsuite_t * algorithmsuite,
00192         const axutil_env_t * env);
00193 
00194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195     rp_algorithmsuite_set_xpath(
00196         rp_algorithmsuite_t * algorithmsuite,
00197         const axutil_env_t * env,
00198         axis2_char_t * xpath);
00199 
00200     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00201     rp_algorithmsuite_increment_ref(
00202         rp_algorithmsuite_t * algorithmsuite,
00203         const axutil_env_t * env);
00204 
00205     AXIS2_EXTERN int AXIS2_CALL
00206     rp_algorithmsuite_get_encryption_derivation_keylength(
00207         rp_algorithmsuite_t * algorithmsuite,
00208         const axutil_env_t * env);
00209 
00210     AXIS2_EXTERN int AXIS2_CALL
00211     rp_algorithmsuite_get_signature_derivation_keylength(
00212         rp_algorithmsuite_t * algorithmsuite,
00213         const axutil_env_t * env);
00214 
00215 #ifdef __cplusplus
00216 }
00217 #endif
00218 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__uri.html0000644000175000017500000013517411172017604024100 0ustar00manjulamanjula00000000000000 Axis2/C: URI

URI
[utilities]


Defines

#define AXIS2_URI_FTP_DEFAULT_PORT   21
#define AXIS2_URI_SSH_DEFAULT_PORT   22
#define AXIS2_URI_TELNET_DEFAULT_PORT   23
#define AXIS2_URI_GOPHER_DEFAULT_PORT   70
#define AXIS2_URI_HTTP_DEFAULT_PORT   80
#define AXIS2_URI_POP_DEFAULT_PORT   110
#define AXIS2_URI_NNTP_DEFAULT_PORT   119
#define AXIS2_URI_IMAP_DEFAULT_PORT   143
#define AXIS2_URI_PROSPERO_DEFAULT_PORT   191
#define AXIS2_URI_WAIS_DEFAULT_PORT   210
#define AXIS2_URI_LDAP_DEFAULT_PORT   389
#define AXIS2_URI_HTTPS_DEFAULT_PORT   443
#define AXIS2_URI_RTSP_DEFAULT_PORT   554
#define AXIS2_URI_SNEWS_DEFAULT_PORT   563
#define AXIS2_URI_ACAP_DEFAULT_PORT   674
#define AXIS2_URI_NFS_DEFAULT_PORT   2049
#define AXIS2_URI_TIP_DEFAULT_PORT   3372
#define AXIS2_URI_SIP_DEFAULT_PORT   5060
#define AXIS2_URI_UNP_OMITSITEPART   (1U<<0)
#define AXIS2_URI_UNP_OMITUSER   (1U<<1)
#define AXIS2_URI_UNP_OMITPASSWORD   (1U<<2)
#define AXIS2_URI_UNP_OMITUSERINFO
#define AXIS2_URI_UNP_REVEALPASSWORD   (1U<<3)
#define AXIS2_URI_UNP_OMITPATHINFO   (1U<<4)
#define AXIS2_URI_UNP_OMITQUERY_ONLY   (1U<<5)
#define AXIS2_URI_UNP_OMITFRAGMENT_ONLY   (1U<<6)
#define AXIS2_URI_UNP_OMITQUERY

Typedefs

typedef unsigned short axis2_port_t
typedef struct axutil_uri axutil_uri_t

Functions

AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_port_t axutil_uri_port_of_scheme (const axis2_char_t *scheme_str)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_parse_string (const axutil_env_t *env, const axis2_char_t *uri)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_parse_hostinfo (const axutil_env_t *env, const axis2_char_t *hostinfo)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_resolve_relative (const axutil_env_t *env, const axutil_uri_t *base, axutil_uri_t *uptr)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_parse_relative (const axutil_env_t *env, const axutil_uri_t *base, const char *uri)
AXIS2_EXTERN void axutil_uri_free (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_to_string (const axutil_uri_t *uri, const axutil_env_t *env, unsigned flags)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_protocol (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_server (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_host (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN axis2_port_t axutil_uri_get_port (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_path (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_clone (const axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_query (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_fragment (axutil_uri_t *uri, const axutil_env_t *env)

Define Documentation

#define AXIS2_URI_ACAP_DEFAULT_PORT   674

default ACAP port

#define AXIS2_URI_FTP_DEFAULT_PORT   21

default FTP port

#define AXIS2_URI_GOPHER_DEFAULT_PORT   70

default Gopher port

#define AXIS2_URI_HTTP_DEFAULT_PORT   80

default HTTP port

#define AXIS2_URI_HTTPS_DEFAULT_PORT   443

default HTTPS port

#define AXIS2_URI_IMAP_DEFAULT_PORT   143

default IMAP port

#define AXIS2_URI_LDAP_DEFAULT_PORT   389

default LDAP port

#define AXIS2_URI_NFS_DEFAULT_PORT   2049

default NFS port

#define AXIS2_URI_NNTP_DEFAULT_PORT   119

default NNTP port

#define AXIS2_URI_POP_DEFAULT_PORT   110

default POP port

#define AXIS2_URI_PROSPERO_DEFAULT_PORT   191

default Prospero port

#define AXIS2_URI_RTSP_DEFAULT_PORT   554

default RTSP port

#define AXIS2_URI_SIP_DEFAULT_PORT   5060

default SIP port

#define AXIS2_URI_SNEWS_DEFAULT_PORT   563

default SNEWS port

#define AXIS2_URI_SSH_DEFAULT_PORT   22

default SSH port

#define AXIS2_URI_TELNET_DEFAULT_PORT   23

default telnet port

#define AXIS2_URI_TIP_DEFAULT_PORT   3372

default TIP port

#define AXIS2_URI_UNP_OMITFRAGMENT_ONLY   (1U<<6)

Omit the "#fragment" from the path

#define AXIS2_URI_UNP_OMITPASSWORD   (1U<<2)

Just omit password

#define AXIS2_URI_UNP_OMITPATHINFO   (1U<<4)

Show "scheme://user\@site:port" only

#define AXIS2_URI_UNP_OMITQUERY

Value:

Omit the "?queryarg" and "#fragment" from the path

#define AXIS2_URI_UNP_OMITQUERY_ONLY   (1U<<5)

Omit the "?queryarg" from the path

#define AXIS2_URI_UNP_OMITSITEPART   (1U<<0)

Flags passed to unparse_uri_components(): suppress "scheme://user\@site:port"

#define AXIS2_URI_UNP_OMITUSER   (1U<<1)

Just omit user

#define AXIS2_URI_UNP_OMITUSERINFO

Value:

omit "user:password\@" part

#define AXIS2_URI_UNP_REVEALPASSWORD   (1U<<3)

Show plain text password (default: show XXXXXXXX)

#define AXIS2_URI_WAIS_DEFAULT_PORT   210

default WAIS port


Typedef Documentation

typedef unsigned short axis2_port_t

See also:
axutil_uri_t


Function Documentation

AXIS2_EXTERN axutil_uri_t* axutil_uri_create ( const axutil_env_t env  ) 

Creates axutil_uri struct.

Parameters:
env pointer to environment struct. MUST NOT be NULL
Returns:
pointer to newly created axutil_uri struct

AXIS2_EXTERN axis2_char_t* axutil_uri_get_fragment ( axutil_uri_t *  uri,
const axutil_env_t env 
)

Returns:
returns actual reference, not a cloned copy.

AXIS2_EXTERN axis2_char_t* axutil_uri_get_host ( axutil_uri_t *  uri,
const axutil_env_t env 
)

Returns:
returns actual reference, not a cloned copy. For IPv6 addresses, the IPv6 Address will be returned rather than the IP-literal as defined in RFC3986.

AXIS2_EXTERN axis2_char_t* axutil_uri_get_path ( axutil_uri_t *  uri,
const axutil_env_t env 
)

Returns:
returns actual reference, not a cloned copy.

AXIS2_EXTERN axis2_char_t* axutil_uri_get_protocol ( axutil_uri_t *  uri,
const axutil_env_t env 
)

Returns:
returns actual reference, not a cloned copy.

AXIS2_EXTERN axis2_char_t* axutil_uri_get_query ( axutil_uri_t *  uri,
const axutil_env_t env 
)

Returns:
returns actual reference, not a cloned copy.

AXIS2_EXTERN axis2_char_t* axutil_uri_get_server ( axutil_uri_t *  uri,
const axutil_env_t env 
)

Returns:
returns actual reference, not a cloned copy.

AXIS2_EXTERN axutil_uri_t* axutil_uri_parse_hostinfo ( const axutil_env_t env,
const axis2_char_t *  hostinfo 
)

Special case for CONNECT parsing: it comes with the hostinfo part only

Parameters:
hostinfo The hostinfo string to parse
uptr The axutil_uri_t to fill out
Returns:
AXIS2_SUCCESS for success or error code

AXIS2_EXTERN axutil_uri_t* axutil_uri_parse_relative ( const axutil_env_t env,
const axutil_uri_t *  base,
const char *  uri 
)

Return a URI created from a context URI and a relative URI. If a valid URI cannot be created the only other possibility this method will consider is that an absolute file path has been passed in as the relative URI argument, and it will try to create a 'file' URI from it.

Parameters:
context_uri the document base URI
uri a file URI relative to the context_uri or an absolute file path
Returns:
the URIcreated from context_uri and uri

AXIS2_EXTERN axutil_uri_t* axutil_uri_parse_string ( const axutil_env_t env,
const axis2_char_t *  uri 
)

Parse a given URI, fill in all supplied fields of a axutil_uri structure. This eliminates the necessity of extracting host, port, path, query info repeatedly in the modules.

Parameters:
uri The uri to parse
uptr The axutil_uri_t to fill out
Returns:
AXIS2_SUCCESS for success or error code

AXIS2_EXTERN axis2_port_t axutil_uri_port_of_scheme ( const axis2_char_t *  scheme_str  ) 

Return the default port for a given scheme. The schemes recognized are http, ftp, https, gopher, wais, nntp, snews, and prospero

Parameters:
scheme_str The string that contains the current scheme
Returns:
The default port for this scheme

AXIS2_EXTERN axutil_uri_t* axutil_uri_resolve_relative ( const axutil_env_t env,
const axutil_uri_t *  base,
axutil_uri_t *  uptr 
)

Resolve relative to a base. This means host/etc, and (crucially) path

AXIS2_EXTERN axis2_char_t* axutil_uri_to_string ( const axutil_uri_t *  uri,
const axutil_env_t env,
unsigned  flags 
)

Unparse a axutil_uri_t structure to an URI string. Optionally suppress the password for security reasons.

Parameters:
uptr All of the parts of the uri
flags How to unparse the uri. One of:
    AXIS2_URI_UNP_OMITSITEPART        Suppress "scheme://user\@site:port" 
    AXIS2_URI_UNP_OMITUSER            Just omit user 
    AXIS2_URI_UNP_OMITPASSWORD        Just omit password 
    AXIS2_URI_UNP_OMITUSERINFO        Omit "user:password\@" part
    AXIS2_URI_UNP_REVEALPASSWORD      Show plain text password (default: show XXXXXXXX)
    AXIS2_URI_UNP_OMITPATHINFO        Show "scheme://user\@site:port" only 
    AXIS2_URI_UNP_OMITQUERY           Omit "?queryarg" or "#fragment" 
 
Returns:
The uri as a string


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__result__node.html0000644000175000017500000001011311172017604027010 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xpath_result_node Struct Reference

axiom_xpath_result_node Struct Reference
[api]

#include <axiom_xpath.h>

List of all members.

Public Attributes

axiom_xpath_result_type_t type
void * value


Detailed Description

XPath result

Member Data Documentation


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_func_0x74.html0000644000175000017500000000564311172017604023416 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- t -


Generated on Thu Apr 16 11:31:24 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__x509__token_8h-source.html0000644000175000017500000003201711172017604024772 0ustar00manjulamanjula00000000000000 Axis2/C: rp_x509_token.h Source File

rp_x509_token.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_X509_TOKEN_H
00020 #define RP_X509_TOKEN_H
00021 
00027 #include <rp_includes.h>
00028 #include <rp_token.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct rp_x509_token_t rp_x509_token_t;
00036 
00037     AXIS2_EXTERN rp_x509_token_t *AXIS2_CALL
00038     rp_x509_token_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_x509_token_free(
00043         rp_x509_token_t * x509_token,
00044         const axutil_env_t * env);
00045 
00046     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00047     rp_x509_token_get_inclusion(
00048         rp_x509_token_t * x509_token,
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     rp_x509_token_set_inclusion(
00053         rp_x509_token_t * x509_token,
00054         const axutil_env_t * env,
00055         axis2_char_t * inclusion);
00056 
00057     AXIS2_EXTERN derive_key_type_t AXIS2_CALL
00058     rp_x509_token_get_derivedkey(
00059         rp_x509_token_t * x509_token,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     rp_x509_token_set_derivedkey(
00064         rp_x509_token_t * x509_token,
00065         const axutil_env_t * env,
00066         derive_key_type_t derivedkeys);
00067 
00068     AXIS2_EXTERN derive_key_version_t AXIS2_CALL
00069     rp_x509_token_get_derivedkey_version(
00070         rp_x509_token_t *x509_token,
00071         const axutil_env_t *env);
00072 
00073     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00074     rp_x509_token_set_derivedkey_version(
00075         rp_x509_token_t *x509_token,
00076         const axutil_env_t *env,
00077         derive_key_version_t version);
00078 
00079     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00080     rp_x509_token_get_require_key_identifier_reference(
00081         rp_x509_token_t * x509_token,
00082         const axutil_env_t * env);
00083 
00084     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00085     rp_x509_token_set_require_key_identifier_reference(
00086         rp_x509_token_t * x509_token,
00087         const axutil_env_t * env,
00088         axis2_bool_t require_key_identifier_reference);
00089 
00090     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00091     rp_x509_token_get_require_issuer_serial_reference(
00092         rp_x509_token_t * x509_token,
00093         const axutil_env_t * env);
00094 
00095     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00096     rp_x509_token_set_require_issuer_serial_reference(
00097         rp_x509_token_t * x509_token,
00098         const axutil_env_t * env,
00099         axis2_bool_t require_issuer_serial_reference);
00100 
00101     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00102     rp_x509_token_get_require_embedded_token_reference(
00103         rp_x509_token_t * x509_token,
00104         const axutil_env_t * env);
00105 
00106     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107     rp_x509_token_set_require_embedded_token_reference(
00108         rp_x509_token_t * x509_token,
00109         const axutil_env_t * env,
00110         axis2_bool_t require_embedded_token_reference);
00111 
00112     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00113     rp_x509_token_get_require_thumb_print_reference(
00114         rp_x509_token_t * x509_token,
00115         const axutil_env_t * env);
00116 
00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118     rp_x509_token_set_require_thumb_print_reference(
00119         rp_x509_token_t * x509_token,
00120         const axutil_env_t * env,
00121         axis2_bool_t require_thumb_print_reference);
00122 
00123     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00124     rp_x509_token_get_token_version_and_type(
00125         rp_x509_token_t * x509_token,
00126         const axutil_env_t * env);
00127 
00128     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00129     rp_x509_token_set_token_version_and_type(
00130         rp_x509_token_t * x509_token,
00131         const axutil_env_t * env,
00132         axis2_char_t * token_version_and_type);
00133 
00134     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135     rp_x509_token_increment_ref(
00136         rp_x509_token_t * x509_token,
00137         const axutil_env_t * env);
00138 
00139 #ifdef __cplusplus
00140 }
00141 #endif
00142 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__header_8h.html0000644000175000017500000002035211172017604024534 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_header.h File Reference

axiom_soap_header.h File Reference

axiom_soap_header struct More...

#include <axutil_env.h>
#include <axiom_node.h>
#include <axiom_element.h>
#include <axutil_array_list.h>
#include <axiom_children_qname_iterator.h>
#include <axiom_children_with_specific_attribute_iterator.h>
#include <axutil_hash.h>
#include <axiom_soap_envelope.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_header 
axiom_soap_header_t

Functions

AXIS2_EXTERN
axiom_soap_header_t * 
axiom_soap_header_create_with_parent (const axutil_env_t *env, struct axiom_soap_envelope *envelope)
AXIS2_EXTERN void axiom_soap_header_free (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_header_block * 
axiom_soap_header_add_header_block (axiom_soap_header_t *header, const axutil_env_t *env, const axis2_char_t *localname, axiom_namespace_t *ns)
AXIS2_EXTERN
axutil_hash_t
axiom_soap_header_examine_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env, axis2_char_t *param_role)
AXIS2_EXTERN
axutil_array_list_t
axiom_soap_header_get_header_blocks_with_namespace_uri (axiom_soap_header_t *header, const axutil_env_t *env, const axis2_char_t *ns_uri)
AXIS2_EXTERN
axiom_children_qname_iterator_t * 
axiom_soap_header_examine_all_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axiom_children_with_specific_attribute_iterator_t * 
axiom_soap_header_extract_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env, axis2_char_t *role)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_header_get_base_node (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_header_get_soap_version (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axiom_soap_header_get_all_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_remove_header_block (axiom_soap_header_t *header, const axutil_env_t *env, axutil_qname_t *qname)


Detailed Description

axiom_soap_header struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__generic__obj.html0000644000175000017500000001423311172017604025676 0ustar00manjulamanjula00000000000000 Axis2/C: generic object

generic object
[utilities]


Functions

AXIS2_EXTERN
axutil_generic_obj_t * 
axutil_generic_obj_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_generic_obj_free (axutil_generic_obj_t *generic_obj, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_generic_obj_set_free_func (axutil_generic_obj_t *generic_obj, const axutil_env_t *env, AXIS2_FREE_VOID_ARG free_func)
AXIS2_EXTERN
axis2_status_t 
axutil_generic_obj_set_value (axutil_generic_obj_t *generic_obj, const axutil_env_t *env, void *value)
AXIS2_EXTERN void * axutil_generic_obj_get_value (axutil_generic_obj_t *generic_obj, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_generic_obj_set_type (axutil_generic_obj_t *generic_obj, const axutil_env_t *env, int type)
AXIS2_EXTERN int axutil_generic_obj_get_type (axutil_generic_obj_t *generic_obj, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axutil_generic_obj_t* axutil_generic_obj_create ( const axutil_env_t env  ) 

create new generic_obj

Returns:
generic_obj newly created generic_obj


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__svr__thread_8h-source.html0000644000175000017500000002424511172017604027035 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_svr_thread.h Source File

axis2_http_svr_thread.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_SVR_THREAD_H
00020 #define AXIS2_HTTP_SVR_THREAD_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axis2_http_worker.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_http_svr_thread axis2_http_svr_thread_t;
00045 
00050     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00051     axis2_http_svr_thread_run(
00052         axis2_http_svr_thread_t * svr_thread,
00053         const axutil_env_t * env);
00054 
00059     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00060     axis2_http_svr_thread_destroy(
00061         axis2_http_svr_thread_t * svr_thread,
00062         const axutil_env_t * env);
00063 
00068     AXIS2_EXTERN int AXIS2_CALL
00069     axis2_http_svr_thread_get_local_port(
00070         const axis2_http_svr_thread_t * svr_thread,
00071         const axutil_env_t * env);
00072 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078     axis2_http_svr_thread_is_running(
00079         axis2_http_svr_thread_t * svr_thread,
00080         const axutil_env_t * env);
00081 
00087     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00088     axis2_http_svr_thread_set_worker(
00089         axis2_http_svr_thread_t * svr_thread,
00090         const axutil_env_t * env,
00091         axis2_http_worker_t * worker);
00092 
00097     AXIS2_EXTERN void AXIS2_CALL
00098     axis2_http_svr_thread_free(
00099         axis2_http_svr_thread_t * svr_thread,
00100         const axutil_env_t * env);
00101 
00106     AXIS2_EXTERN axis2_http_svr_thread_t *AXIS2_CALL
00107 
00108     axis2_http_svr_thread_create(
00109         const axutil_env_t * env,
00110         int port);
00111 
00113 #ifdef __cplusplus
00114 }
00115 #endif
00116 
00117 #endif                          /* AXIS2_HTTP_SVR_THREAD_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__listener__manager_8h-source.html0000644000175000017500000002376211172017604027020 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_listener_manager.h Source File

axis2_listener_manager.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_LISTENER_MANAGER_H
00020 #define AXIS2_LISTENER_MANAGER_H
00021 
00039 #include <axis2_defines.h>
00040 #include <axutil_env.h>
00041 #include <axis2_conf_ctx.h>
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_listener_manager axis2_listener_manager_t;
00050 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     axis2_listener_manager_make_sure_started(
00064         axis2_listener_manager_t * listener_manager,
00065         const axutil_env_t * env,
00066         const AXIS2_TRANSPORT_ENUMS transport,
00067         axis2_conf_ctx_t * conf_ctx);
00068 
00076     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00077     axis2_listener_manager_stop(
00078         axis2_listener_manager_t * listener_manager,
00079         const axutil_env_t * env,
00080         const AXIS2_TRANSPORT_ENUMS transport);
00081 
00092     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00093     axis2_listener_manager_get_reply_to_epr(
00094         const axis2_listener_manager_t * listener_manager,
00095         const axutil_env_t * env,
00096         const axis2_char_t * svc_name,
00097         const AXIS2_TRANSPORT_ENUMS transport);
00098 
00105     AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00106     axis2_listener_manager_get_conf_ctx(
00107         const axis2_listener_manager_t * listener_manager,
00108         const axutil_env_t * env);
00109 
00116     AXIS2_EXTERN void AXIS2_CALL
00117     axis2_listener_manager_free(
00118         axis2_listener_manager_t * listener_manager,
00119         const axutil_env_t * env);
00120 
00127     AXIS2_EXTERN axis2_listener_manager_t *AXIS2_CALL
00128     axis2_listener_manager_create(
00129         const axutil_env_t * env);
00130 
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135 
00136 #endif                          /* AXIS2_LISTENER_MANAGER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__class__loader_8h.html0000644000175000017500000001026211172017604025105 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_class_loader.h File Reference

axutil_class_loader.h File Reference

axis2 class loader interface More...

#include <axutil_utils_defines.h>
#include <axutil_qname.h>
#include <axutil_error.h>
#include <axutil_utils.h>
#include <axutil_dll_desc.h>
#include <axutil_param.h>

Go to the source code of this file.

Functions

AXIS2_EXTERN
axis2_status_t 
axutil_class_loader_init (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_class_loader_delete_dll (const axutil_env_t *env, axutil_dll_desc_t *dll_desc)
AXIS2_EXTERN void * axutil_class_loader_create_dll (const axutil_env_t *env, axutil_param_t *impl_info_param)


Detailed Description

axis2 class loader interface


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__body_8h-source.html0000644000175000017500000002565211172017604025547 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_body.h Source File

axiom_soap_body.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_BODY_H
00020 #define AXIOM_SOAP_BODY_H
00021 
00027 #include <axutil_env.h>
00028 #include <axiom_node.h>
00029 #include <axiom_element.h>
00030 #include <axiom_namespace.h>
00031 #include <axiom_soap_fault.h>
00032 #include <axiom_soap_envelope.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     typedef struct axiom_soap_body axiom_soap_body_t;
00040     struct axiom_soap_builder;
00041 
00065     AXIS2_EXTERN axiom_soap_body_t *AXIS2_CALL
00066     axiom_soap_body_create_with_parent(
00067         const axutil_env_t * env,
00068         struct axiom_soap_envelope *envelope);
00069 
00077     AXIS2_EXTERN void AXIS2_CALL
00078     axiom_soap_body_free(
00079         axiom_soap_body_t * body,
00080         const axutil_env_t * env);
00081 
00089     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00090     axiom_soap_body_has_fault(
00091         axiom_soap_body_t * body,
00092         const axutil_env_t * env);
00093 
00102     AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL
00103     axiom_soap_body_get_fault(
00104         axiom_soap_body_t * body,
00105         const axutil_env_t * env);
00106 
00113     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00114     axiom_soap_body_get_base_node(
00115         axiom_soap_body_t * body,
00116         const axutil_env_t * env);
00117 
00124     AXIS2_EXTERN int AXIS2_CALL
00125     axiom_soap_body_get_soap_version(
00126         axiom_soap_body_t * body,
00127         const axutil_env_t * env);
00128 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136     axiom_soap_body_build(
00137         axiom_soap_body_t * body,
00138         const axutil_env_t * env);
00139 
00148     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149     axiom_soap_body_add_child(
00150         axiom_soap_body_t * body,
00151         const axutil_env_t * env,
00152         axiom_node_t * child);
00153 
00162     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00163     axiom_soap_body_convert_fault_to_soap11(
00164         axiom_soap_body_t * soap_body,
00165         const axutil_env_t * env);
00166 
00167 
00168     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00169     axiom_soap_body_process_attachments(
00170         axiom_soap_body_t * soap_body,
00171         const axutil_env_t * env,
00172         void *user_param,
00173         axis2_char_t *callback_name);
00174 
00175 
00176 #ifdef __cplusplus
00177 }
00178 #endif
00179 
00180 #endif                          /* AXIOM_SOAP_BODY_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__receiver_8h-source.html0000644000175000017500000004414111172017604027413 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_receiver.h Source File

axis2_transport_receiver.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_TRANSPORT_RECEIVER_H
00020 #define AXIS2_TRANSPORT_RECEIVER_H
00021 
00040 #include <axis2_const.h>
00041 #include <axutil_error.h>
00042 #include <axis2_defines.h>
00043 #include <axutil_env.h>
00044 #include <axutil_allocator.h>
00045 #include <axis2_endpoint_ref.h>
00046 #include <axis2_ctx.h>
00047 #include <axis2_conf_ctx.h>
00048 
00049 #ifdef __cplusplus
00050 extern "C"
00051 {
00052 #endif
00053 
00054     struct axis2_conf_ctx;
00055     struct axis2_transport_in_desc;
00056 
00058     typedef struct axis2_transport_receiver axis2_transport_receiver_t;
00059 
00061     typedef struct axis2_transport_receiver_ops
00062                 axis2_transport_receiver_ops_t;
00063 
00068     struct axis2_transport_receiver_ops
00069     {
00070 
00077         axis2_status_t(
00078             AXIS2_CALL
00079             * init)(
00080                 axis2_transport_receiver_t * transport_receiver,
00081                 const axutil_env_t * env,
00082                 struct axis2_conf_ctx * conf_ctx,
00083                 struct axis2_transport_in_desc * transport_in);
00084 
00089         axis2_status_t(
00090             AXIS2_CALL
00091             * start)(
00092                 axis2_transport_receiver_t * transport_receiver,
00093                 const axutil_env_t * env);
00094 
00100         axis2_endpoint_ref_t *(
00101             AXIS2_CALL
00102             * get_reply_to_epr)(
00103                 axis2_transport_receiver_t * transport_receiver,
00104                 const axutil_env_t * env,
00105                 const axis2_char_t * svc_name);
00106 
00111         struct axis2_conf_ctx *(
00112                         AXIS2_CALL
00113                         * get_conf_ctx)(
00114                             axis2_transport_receiver_t * server,
00115                             const axutil_env_t * env);
00116 
00121         axis2_bool_t(
00122             AXIS2_CALL
00123             * is_running)(
00124                 axis2_transport_receiver_t * server,
00125                 const axutil_env_t * env);
00126 
00131         axis2_status_t(
00132             AXIS2_CALL
00133             * stop)(
00134                 axis2_transport_receiver_t * transport_receiver,
00135                 const axutil_env_t * env);
00136 
00142         void(
00143             AXIS2_CALL
00144             * free)(
00145                 axis2_transport_receiver_t * transport_receiver,
00146                 const axutil_env_t * env);
00147 
00148     };
00149 
00153     struct axis2_transport_receiver
00154     {
00155         const axis2_transport_receiver_ops_t *ops;
00156     };
00157 
00160     AXIS2_EXTERN void AXIS2_CALL
00161     axis2_transport_receiver_free(
00162         axis2_transport_receiver_t * transport_receiver,
00163         const axutil_env_t * env);
00164 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168     axis2_transport_receiver_init(
00169         axis2_transport_receiver_t * transport_receiver,
00170         const axutil_env_t * env,
00171         struct axis2_conf_ctx *conf_ctx,
00172         struct axis2_transport_in_desc *transport_in);
00173 
00176     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00177     axis2_transport_receiver_start(
00178         axis2_transport_receiver_t * transport_receiver,
00179         const axutil_env_t * env);
00180 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     axis2_transport_receiver_stop(
00185         axis2_transport_receiver_t * transport_receiver,
00186         const axutil_env_t * env);
00187 
00190     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00191 
00192     axis2_transport_receiver_get_reply_to_epr(
00193         axis2_transport_receiver_t * transport_receiver,
00194         const axutil_env_t * env,
00195         const axis2_char_t * svc_name);
00196 
00199     AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
00200 
00201                 axis2_transport_receiver_get_conf_ctx(
00202                     axis2_transport_receiver_t * transport_receiver,
00203                     const axutil_env_t * env);
00204 
00207     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00208     axis2_transport_receiver_is_running(
00209         axis2_transport_receiver_t * transport_receiver,
00210         const axutil_env_t * env);
00211 
00214 #ifdef __cplusplus
00215 }
00216 #endif
00217 #endif                          /* AXIS2_TRANSPORT_RECEIVER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__msg__ctx.html0000644000175000017500000131606611172017604024626 0ustar00manjulamanjula00000000000000 Axis2/C: message context

message context
[Context Hierarchy]


Files

file  axis2_msg_ctx.h

Defines

#define AXIS2_TRANSPORT_HEADERS   "AXIS2_TRANSPORT_HEADERS"
#define AXIS2_TRANSPORT_OUT   "AXIS2_TRANSPORT_OUT"
#define AXIS2_TRANSPORT_IN   "AXIS2_TRANSPORT_IN"
#define AXIS2_CHARACTER_SET_ENCODING   "AXIS2_CHARACTER_SET_ENCODING"
#define AXIS2_UTF_8   "UTF-8"
#define AXIS2_UTF_16   "utf-16"
#define AXIS2_DEFAULT_CHAR_SET_ENCODING   "UTF-8"
#define AXIS2_TRANSPORT_SUCCEED   "AXIS2_TRANSPORT_SUCCEED"
#define AXIS2_HTTP_CLIENT   "AXIS2_HTTP_CLIENT"
#define AXIS2_TRANSPORT_URL   "TransportURL"
#define AXIS2_SVR_PEER_IP_ADDR   "peer_ip_addr"

Typedefs

typedef struct
axis2_msg_ctx 
axis2_msg_ctx_t
typedef struct
axis2_svc *(* 
AXIS2_MSG_CTX_FIND_SVC )(axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
typedef struct
axis2_op *(* 
AXIS2_MSG_CTX_FIND_OP )(axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)

Functions

AXIS2_EXTERN
axis2_msg_ctx_t
axis2_msg_ctx_create (const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in_desc, struct axis2_transport_out_desc *transport_out_desc)
AXIS2_EXTERN
axis2_ctx_t
axis2_msg_ctx_get_base (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_msg_ctx_get_parent (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_parent (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_op_ctx *parent)
AXIS2_EXTERN void axis2_msg_ctx_free (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_init (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_fault_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_from (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_in_fault_flow (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_envelope * 
axis2_msg_ctx_get_soap_envelope (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_envelope * 
axis2_msg_ctx_get_response_soap_envelope (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_envelope * 
axis2_msg_ctx_get_fault_soap_envelope (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_msg_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *msg_id)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_msg_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_process_fault (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_relates_to_t
axis2_msg_ctx_get_relates_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_reply_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_server_side (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_fault_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_from (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_in_fault_flow (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t in_fault_flow)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_soap_envelope (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axiom_soap_envelope *soap_envelope)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_response_soap_envelope (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axiom_soap_envelope *soap_envelope)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_fault_soap_envelope (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axiom_soap_envelope *soap_envelope)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_message_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_process_fault (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t process_fault)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_relates_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_relates_to_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_reply_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_server_side (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t server_side)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_new_thread_required (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_new_thread_required (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t new_thread_required)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_wsa_action (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *action_uri)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_wsa_action (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_wsa_message_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_wsa_message_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_msg_info_headers_t
axis2_msg_ctx_get_msg_info_headers (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_paused (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_paused (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t paused)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_is_keep_alive (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_keep_alive (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t keep_alive)
AXIS2_EXTERN struct
axis2_transport_in_desc * 
axis2_msg_ctx_get_transport_in_desc (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_transport_out_desc * 
axis2_msg_ctx_get_transport_out_desc (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_in_desc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_transport_in_desc *transport_in_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_out_desc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_transport_out_desc *transport_out_desc)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_msg_ctx_get_op_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_op_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_op_ctx *op_ctx)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_output_written (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_output_written (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t output_written)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_rest_http_method (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_rest_http_method (struct axis2_msg_ctx *msg_ctx, const axutil_env_t *env, const axis2_char_t *rest_http_method)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_svc_ctx_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_ctx_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *svc_ctx_id)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_msg_ctx_get_conf_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_msg_ctx_get_svc_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_conf_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_msg_info_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_msg_info_headers_t *msg_info_headers)
AXIS2_EXTERN
axutil_param_t * 
axis2_msg_ctx_get_parameter (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axutil_param_t * 
axis2_msg_ctx_get_module_parameter (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key, const axis2_char_t *module_name, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axutil_property_t * 
axis2_msg_ctx_get_property (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN void * axis2_msg_ctx_get_property_value (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *property_str)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_property (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN const
axutil_string_t * 
axis2_msg_ctx_get_paused_handler_name (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_paused_phase_name (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_paused_phase_name (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *paused_phase_name)
AXIS2_EXTERN
axutil_string_t * 
axis2_msg_ctx_get_soap_action (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_soap_action (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_string_t *soap_action)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_doing_mtom (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_doing_mtom (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t doing_mtom)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_doing_rest (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_doing_rest (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t doing_rest)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_do_rest_through_post (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t do_rest_through_post)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_do_rest_through_post (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_manage_session (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_manage_session (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t manage_session)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_is_soap_11 (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_is_soap_11 (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t is_soap11)
AXIS2_EXTERN struct
axis2_svc_grp_ctx * 
axis2_msg_ctx_get_svc_grp_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_grp_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc_grp_ctx *svc_grp_ctx)
AXIS2_EXTERN struct
axis2_op * 
axis2_msg_ctx_get_op (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_op (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN struct
axis2_svc * 
axis2_msg_ctx_get_svc (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_msg_ctx_get_svc_grp (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_grp (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN const
axutil_string_t * 
axis2_msg_ctx_get_svc_grp_ctx_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_grp_ctx_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_string_t *svc_grp_ctx_id)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_find_svc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, AXIS2_MSG_CTX_FIND_SVC func)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_find_op (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, AXIS2_MSG_CTX_FIND_OP func)
AXIS2_EXTERN struct
axis2_svc * 
axis2_msg_ctx_find_svc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op * 
axis2_msg_ctx_find_op (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_options * 
axis2_msg_ctx_get_options (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_is_paused (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_options (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_options *options)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_flow (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, int flow)
AXIS2_EXTERN int axis2_msg_ctx_get_flow (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_supported_rest_http_methods (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *supported_rest_http_methods)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_supported_rest_http_methods (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_execution_chain (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *execution_chain)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_execution_chain (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_current_handler_index (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const int index)
AXIS2_EXTERN int axis2_msg_ctx_get_current_handler_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN int axis2_msg_ctx_get_paused_handler_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_current_phase_index (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const int index)
AXIS2_EXTERN int axis2_msg_ctx_get_current_phase_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN int axis2_msg_ctx_get_paused_phase_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axis2_msg_ctx_get_charset_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_charset_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_string_t *str)
AXIS2_EXTERN int axis2_msg_ctx_get_status_code (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_status_code (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const int status_code)
AXIS2_EXTERN
axutil_stream_t * 
axis2_msg_ctx_get_transport_out_stream (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_out_stream (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_reset_transport_out_stream (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_out_transport_info * 
axis2_msg_ctx_get_out_transport_info (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_out_transport_info (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_out_transport_info *out_transport_info)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_reset_out_transport_info (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_msg_ctx_get_transport_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_msg_ctx_extract_transport_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_hash_t *transport_headers)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_accept_charset_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_accept_charset_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_accept_charset_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *accept_charset_record_list)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_accept_language_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_accept_language_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_accept_language_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *accept_language_record_list)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_content_language (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_content_language (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_accept_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_accept_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_accept_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *accept_record_list)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_transfer_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transfer_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_transport_url (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_url (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_no_content (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_no_content (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t no_content)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_auth_failed (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_auth_failed (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t status)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_required_auth_is_http (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_required_auth_is_http (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t is_http)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_auth_type (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *auth_type)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_auth_type (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_output_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_output_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_output_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *output_headers)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_mime_parts (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_msg_ctx_set_mime_parts (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *mime_parts)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_increment_ref (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)

Detailed Description

message context captures all state information related to a message invocation. It holds information on the service and operation to be invoked as well as context hierarchy information related to the service and operation. It also has information on transports, that are to be used in invocation. The phase information is kept, along with the phase at which message invocation was paused as well as the handler in the phase from which the invocation is to be resumed. message context would hold the request SOAP message along the out path and would capture response along the in path. message context also has information on various engine specific information, such as if it should be doing MTOM, REST. As message context is inherited form context, it has the capability of storing user defined properties.

Define Documentation

#define AXIS2_CHARACTER_SET_ENCODING   "AXIS2_CHARACTER_SET_ENCODING"

character set encoding

#define AXIS2_DEFAULT_CHAR_SET_ENCODING   "UTF-8"

default char set encoding; This is the default value for AXIS2_CHARACTER_SET_ENCODING property

#define AXIS2_HTTP_CLIENT   "AXIS2_HTTP_CLIENT"

HTTP Client

#define AXIS2_SVR_PEER_IP_ADDR   "peer_ip_addr"

PEER IP Address of Server

#define AXIS2_TRANSPORT_HEADERS   "AXIS2_TRANSPORT_HEADERS"

transport headers

#define AXIS2_TRANSPORT_IN   "AXIS2_TRANSPORT_IN"

transport out

#define AXIS2_TRANSPORT_OUT   "AXIS2_TRANSPORT_OUT"

transport in

#define AXIS2_TRANSPORT_SUCCEED   "AXIS2_TRANSPORT_SUCCEED"

transport succeeded

#define AXIS2_TRANSPORT_URL   "TransportURL"

Transport URL

#define AXIS2_UTF_16   "utf-16"

UTF_16; This is the 'utf-16' value for AXIS2_CHARACTER_SET_ENCODING property

#define AXIS2_UTF_8   "UTF-8"

UTF_8; This is the 'utf-8' value for AXIS2_CHARACTER_SET_ENCODING property


Typedef Documentation

typedef struct axis2_op*( * AXIS2_MSG_CTX_FIND_OP)(axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)

Type name for pointer to a function to find an operation in a service

typedef struct axis2_svc*( * AXIS2_MSG_CTX_FIND_SVC)(axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)

Type name for pointer to a function to find a service

typedef struct axis2_msg_ctx axis2_msg_ctx_t

Type name for struct axis2_msg_ctx


Function Documentation

AXIS2_EXTERN axis2_msg_ctx_t* axis2_msg_ctx_create ( const axutil_env_t env,
struct axis2_conf_ctx *  conf_ctx,
struct axis2_transport_in_desc *  transport_in_desc,
struct axis2_transport_out_desc *  transport_out_desc 
)

Creates a message context struct instance.

Parameters:
env pointer to environment struct
conf_ctx pointer to configuration context struct, message context does not assume the ownership of the struct
transport_in_desc pointer to transport in description struct, message context does not assume the ownership of the struct
transport_out_desc pointer to transport out description struct, message context does not assume the ownership of the struct
Returns:
pointer to newly created message context instance

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_extract_http_accept_charset_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves HTTP Accept-Charset records, and removes them from the message context

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Accept-Charset records associated.

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_extract_http_accept_language_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves HTTP Accept-Language records, and removes them from the message context

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Accept-Language records associated.

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_extract_http_accept_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves HTTP Accept records, and removes them from the message context

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Accept records associated.

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_extract_http_output_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves the Output Headers, and removes them from the message context

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Output Header list

AXIS2_EXTERN axutil_hash_t* axis2_msg_ctx_extract_transport_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves Transport Headers, and removes them from the message context

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Transport Headers associated.

AXIS2_EXTERN struct axis2_op* axis2_msg_ctx_find_op ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_svc *  svc 
) [read]

Finds the operation to be invoked in the given service. This function is used by dispatchers to locate the operation to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
svc pointer to service to whom the operation belongs
Returns:
pointer to the operation to be invoked

AXIS2_EXTERN struct axis2_svc* axis2_msg_ctx_find_svc ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Finds the service to be invoked. This function is used by dispatchers to locate the service to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to service to be invoked

AXIS2_EXTERN void axis2_msg_ctx_free ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Frees message context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_auth_failed ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets whether an authentication failure occured

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
returns AXIS2_TRUE if an authentication failure occured or AXIS2_FALSE if not

AXIS2_EXTERN axis2_char_t* axis2_msg_ctx_get_auth_type ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the authentication type

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Authentication type string

AXIS2_EXTERN axis2_ctx_t* axis2_msg_ctx_get_base ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the base, which is of type context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to base context struct

AXIS2_EXTERN axutil_string_t* axis2_msg_ctx_get_charset_encoding ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets character set encoding to be used.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN struct axis2_conf_ctx* axis2_msg_ctx_get_conf_ctx ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets configuration context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to configuration context

AXIS2_EXTERN axis2_char_t* axis2_msg_ctx_get_content_language ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the Content Language used

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Content Language string

AXIS2_EXTERN int axis2_msg_ctx_get_current_handler_index ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets current handler index, indicating which handler is currently being invoked in the execution chain

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
index of currently executed handler

AXIS2_EXTERN int axis2_msg_ctx_get_current_phase_index ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets index of the current phase being invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
index of current phase

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_do_rest_through_post ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Sets the boolean value indicating if REST should be done through HTTP POST or not.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if REST is to be done with HTTP POST, else AXIS2_FALSE if REST is not to be done with HTTP POST

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_doing_mtom ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the boolean value indicating if MTOM is enabled or not.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_doing_rest ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the boolean value indicating if REST is enabled or not.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if REST is enabled, else AXIS2_FALSE

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_get_execution_chain ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the execution chain to be invoked. The execution chain is a list of phases containing the handlers to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer array list containing the list of handlers that constitute the execution chain. Message context does not assume the ownership of the array list

AXIS2_EXTERN struct axiom_soap_envelope* axis2_msg_ctx_get_fault_soap_envelope ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets fault SOAP envelope.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to fault SOAP envelope stored within message context

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_ctx_get_fault_to ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing fault to address. Fault to address tells where to send the fault in case there is an error.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing the fault to address, returns a reference not a cloned copy

AXIS2_EXTERN int axis2_msg_ctx_get_flow ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the flow to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
int value indicating the flow

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_ctx_get_from ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing from endpoint. From address tells where the request came from.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing the from address, returns a reference not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_get_http_accept_charset_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves HTTP Accept-Charset records.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Accept-Charset records associated.

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_get_http_accept_language_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves HTTP Accept-Language records.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Accept-Language records associated.

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_get_http_accept_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves HTTP Accept records.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Accept records associated.

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_get_http_output_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the Output Header list

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Output Header list

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_in_fault_flow ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Checks if there is a SOAP fault on in flow.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if there is an in flow fault, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_is_soap_11 ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the bool value indicating the SOAP version being used either SOAP 1.1 or SOAP 1.2

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if SOAP 1.1 is being used, else AXIS2_FALSE if SOAP 1.2 is being used

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_manage_session ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets manage session bool value.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if session is managed, else AXIS2_FALSE

AXIS2_EXTERN axutil_param_t* axis2_msg_ctx_get_module_parameter ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  key,
const axis2_char_t *  module_name,
axis2_handler_desc_t handler_desc 
)

Gets parameters related to a named module and a given handler description. The order of searching for parameter is as follows:
1. search in module configuration stored inside corresponding operation description if its there
2. search in corresponding operation if its there
3. search in module configurations stored inside corresponding service description if its there
4. search in corresponding service description if its there
5. search in module configurations stored inside configuration
6. search in configuration for parameters
7. get the corresponding module and search for the parameters
8. search in handler description for the parameter

Parameters:
msg_ctx pointer to message context
env pointer to environment struct
key parameter key
module_name name of the module
handler_desc pointer to handler description
Returns:
pointer to parameter

AXIS2_EXTERN const axis2_char_t* axis2_msg_ctx_get_msg_id ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets message ID.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
message ID string corresponding to the message the message context is related to

AXIS2_EXTERN axis2_msg_info_headers_t* axis2_msg_ctx_get_msg_info_headers ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing message information headers.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to message information headers struct with WS-Addressing information. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_new_thread_required ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the bool value indicating if it is required to have a new thread for the invocation, or if the same thread of execution could be used.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if new thread is required, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_no_content ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets whether there was no content in the response. This will cater for a situation where the invoke method in a service returns NULL when no fault has occured.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
returns AXIS2_TRUE if there was no content occured or AXIS2_FALSE otherwise

AXIS2_EXTERN struct axis2_op* axis2_msg_ctx_get_op ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the operation that is to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to operation, returns a reference not a cloned copy

AXIS2_EXTERN struct axis2_op_ctx* axis2_msg_ctx_get_op_ctx ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets operation context related to the operation that this message context is related to.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to operation context struct

AXIS2_EXTERN struct axis2_options* axis2_msg_ctx_get_options ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the options to be used in invocation.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
options pointer to options struct, message context does not assume the ownership of the struct

AXIS2_EXTERN struct axis2_out_transport_info* axis2_msg_ctx_get_out_transport_info ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the HTTP Out Transport Info associated

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
reference to HTTP Out Transport Info associated

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_output_written ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the bool value indicating the output written status.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if output is written, else AXIS2_FALSE

AXIS2_EXTERN axutil_param_t* axis2_msg_ctx_get_parameter ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  key 
)

Gets configuration descriptor parameter with given key. This method recursively search the related description hierarchy for the parameter with given key until it is found or the parent of the description hierarchy is reached. The order of search is as follows:
1. search in operation description, if its there return
2. if the parameter is not found in operation or operation is NULL, search in service
3. if the parameter is not found in service or service is NULL search in configuration

Parameters:
msg_ctx message context
env pointer to environment struct
key parameter key
Returns:
pointer to parameter struct corresponding to the given key

AXIS2_EXTERN struct axis2_op_ctx* axis2_msg_ctx_get_parent ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets parent. Parent of a message context is of type operation context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to operation context which is the parent

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_paused ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the bool value indicating the paused status. It is possible to pause the engine invocation by any handler. By calling this method one can find out if some handler has paused the invocation.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if message context is paused, else AXIS2_FALSE

AXIS2_EXTERN int axis2_msg_ctx_get_paused_handler_index ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets paused handler index, indicating at which handler the execution chain was paused.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
index of handler at which invocation was paused

AXIS2_EXTERN const axutil_string_t* axis2_msg_ctx_get_paused_handler_name ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the QName of the handler at which invocation was paused.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to QName of the paused handler

AXIS2_EXTERN int axis2_msg_ctx_get_paused_phase_index ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the phase at which the invocation was paused.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
index of paused phase

AXIS2_EXTERN const axis2_char_t* axis2_msg_ctx_get_paused_phase_name ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the name of the phase at which the invocation was paused.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
name string of the paused phase.

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_process_fault ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets process fault status.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if process fault is on, else AXIS2_FALSE

AXIS2_EXTERN axutil_property_t* axis2_msg_ctx_get_property ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  key 
)

Gets property corresponding to the given key.

Parameters:
msg_ctx pointer to message context
env pointer to environment struct
key key string with which the property is stored
Returns:
pointer to property struct

AXIS2_EXTERN void* axis2_msg_ctx_get_property_value ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  property_str 
)

Gets property value corresponding to the property given key.

Parameters:
msg_ctx pointer to message context
env pointer to environment struct
property_str key string with which the property is stored
Returns:
pointer to property struct

AXIS2_EXTERN axis2_relates_to_t* axis2_msg_ctx_get_relates_to ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets relates to information for the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to relates to struct

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_ctx_get_reply_to ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing reply to endpoint. Reply to address tells where the the response should be sent to.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing the reply to address, returns a reference not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_required_auth_is_http ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets whether HTTP Authentication is required or whether Proxy Authentication is required

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
returns AXIS2_TRUE for HTTP Authentication and AXIS2_FALSE for Proxy Authentication

AXIS2_EXTERN struct axiom_soap_envelope* axis2_msg_ctx_get_response_soap_envelope ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the SOAP envelope of the response.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to response SOAP envelope stored within message context

AXIS2_EXTERN const axis2_char_t* axis2_msg_ctx_get_rest_http_method ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the HTTP Method that relates to the service that is related to the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
HTTP Method string, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_server_side ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Checks if it is on the server side that the message is being dealt with, or on the client side.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if it is server side, AXIS2_FALSE if it is client side

AXIS2_EXTERN axutil_string_t* axis2_msg_ctx_get_soap_action ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets SOAP action.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
SOAP action string

AXIS2_EXTERN struct axiom_soap_envelope* axis2_msg_ctx_get_soap_envelope ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the SOAP envelope. This SOAP envelope could be either request SOAP envelope or the response SOAP envelope, based on the state the message context is in.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to SOAP envelope stored within message context

AXIS2_EXTERN int axis2_msg_ctx_get_status_code ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the integer value indicating http status_code.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
status value

AXIS2_EXTERN axutil_array_list_t* axis2_msg_ctx_get_supported_rest_http_methods ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the list of supported REST HTTP Methods

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer array list containing the list of HTTP Methods supported. Message context does assumes the ownership of the array list

AXIS2_EXTERN struct axis2_svc* axis2_msg_ctx_get_svc ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the service to which the operation to be invoked belongs.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to service struct, returns a reference not a cloned copy

AXIS2_EXTERN struct axis2_svc_ctx* axis2_msg_ctx_get_svc_ctx ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets service context that relates to the service that the message context is related to.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to message context struct

AXIS2_EXTERN const axis2_char_t* axis2_msg_ctx_get_svc_ctx_id ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the ID of service context that relates to the service that is related to the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
service context ID string

AXIS2_EXTERN struct axis2_svc_grp* axis2_msg_ctx_get_svc_grp ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets the service group to which the service to be invoked belongs.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to service group struct, returns a reference not a cloned copy

AXIS2_EXTERN struct axis2_svc_grp_ctx* axis2_msg_ctx_get_svc_grp_ctx ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets service group context. The returned service group context relates to the service group to which the service, related to the message context, belongs.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to service group struct

AXIS2_EXTERN const axutil_string_t* axis2_msg_ctx_get_svc_grp_ctx_id ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the service group context ID.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
service group context ID string

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_ctx_get_to ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing to endpoint. To address tells where message should be sent to.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing the to address, returns a reference not a cloned copy

AXIS2_EXTERN axis2_char_t* axis2_msg_ctx_get_transfer_encoding ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the transfer encoding used

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Transfer encoding string

AXIS2_EXTERN axutil_hash_t* axis2_msg_ctx_get_transport_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Retrieves Transport Headers.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Transport Headers associated.

AXIS2_EXTERN struct axis2_transport_in_desc* axis2_msg_ctx_get_transport_in_desc ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets transport in description.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to transport in description struct, returns a reference not a cloned copy

AXIS2_EXTERN struct axis2_transport_out_desc* axis2_msg_ctx_get_transport_out_desc ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
) [read]

Gets transport out description.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to transport out description struct, returns a reference not a cloned copy

AXIS2_EXTERN axutil_stream_t* axis2_msg_ctx_get_transport_out_stream ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the Transport Out Stream

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
reference to Transport Out Stream

AXIS2_EXTERN axis2_char_t* axis2_msg_ctx_get_transport_url ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the Transport URL

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
Transport URL string

AXIS2_EXTERN const axis2_char_t* axis2_msg_ctx_get_wsa_action ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing action.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
pointer to WSA action URI string

AXIS2_EXTERN const axis2_char_t* axis2_msg_ctx_get_wsa_message_id ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets WS-Addressing message ID.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
WSA message ID string

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_increment_ref ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Incrementing the msg_ctx ref count. This is necessary when prevent freeing msg_ctx through op_client when it is in use as in sandesha2.

Parameters:
msg_ctx pointer to message context
env pointer to environment struct
Returns:
AXIS2_TRUE if still in use, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_init ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_conf *  conf 
)

Initializes the message context. Based on the transport, service and operation qnames set on top of message context, correct instances of those struct instances would be extracted from configuration and set within message context.

Parameters:
msg_ctx message context
env pointer to environment struct
conf pointer to configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_is_keep_alive ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the bool value indicating the keep alive status. It is possible to keep alive the message context by any handler. By calling this method one can see whether it is possible to clean the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if message context is keep alive, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_is_paused ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Gets the bool value indicating the paused status.

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_TRUE if invocation is paused, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_reset_out_transport_info ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Resets the HTTP Out Transport Info associated

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_reset_transport_out_stream ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env 
)

Resets Transport Out Stream

Parameters:
msg_ctx message context
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_auth_failed ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  status 
)

Sets whether an authentication failure occured

Parameters:
msg_ctx message context
env pointer to environment struct
status expects AXIS2_TRUE if an authentication failure occured or AXIS2_FALSE if not
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_auth_type ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  auth_type 
)

Sets the authentication type

Parameters:
msg_ctx message context
env pointer to environment struct
auth_type Authentication type string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_charset_encoding ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_string_t *  str 
)

Sets character set encoding to be used.

Parameters:
msg_ctx message context
env pointer to environment struct
str pointer to string struct representing encoding
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_conf_ctx ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_conf_ctx *  conf_ctx 
)

Sets configuration context.

Parameters:
msg_ctx message context
env pointer to environment struct
conf_ctx pointer to configuration context struct, message context does not assume the ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_content_language ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_char_t *  str 
)

Sets the Content Language used

Parameters:
msg_ctx message context
env pointer to environment struct
str Content Language string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_current_handler_index ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const int  index 
)

Sets current handler index, indicating which handler is currently being invoked in the execution chain

Parameters:
msg_ctx message context
env pointer to environment struct
index index of currently executed handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_current_phase_index ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const int  index 
)

Sets index of the current phase being invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
index index of current phase
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_do_rest_through_post ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  do_rest_through_post 
)

Sets the boolean value indicating if REST should be done through HTTP POST or not.

Parameters:
msg_ctx message context
env pointer to environment struct
do_rest_through_post AXIS2_TRUE if REST is to be done with HTTP POST, else AXIS2_FALSE if REST is not to be done with HTTP POST
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_doing_mtom ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  doing_mtom 
)

Sets the boolean value indicating if MTOM is enabled or not.

Parameters:
msg_ctx message context
env pointer to environment struct
doing_mtom AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_doing_rest ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  doing_rest 
)

Sets the boolean value indicating if REST is enabled or not.

Parameters:
msg_ctx message context
env pointer to environment struct
doing_rest AXIS2_TRUE if REST is enabled, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_execution_chain ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_array_list_t execution_chain 
)

Sets the execution chain to be invoked. The execution chain is a list of phases containing the handlers to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
execution_chain pointer array list containing the list of handlers that constitute the execution chain. Message context does not assume the ownership of the array list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_fault_soap_envelope ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axiom_soap_envelope *  soap_envelope 
)

Sets fault SOAP envelope.

Parameters:
msg_ctx message context
env pointer to environment struct
soap_envelope pointer to SOAP envelope, message context assumes ownership of SOAP envelope
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_fault_to ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_endpoint_ref_t reference 
)

Sets WS-Addressing fault to endpoint. Fault to address tells where the fault message should be sent when there is an error.

Parameters:
msg_ctx message context
env pointer to environment struct
reference pointer to endpoint reference representing fault to address. message context assumes the ownership of endpoint struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_find_op ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
AXIS2_MSG_CTX_FIND_OP  func 
)

Sets function to be used to find an operation in the given service. This function is used by dispatchers to locate the operation to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
func function to be used to find an operation
Returns:
pointer to the operation to be invoked

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_find_svc ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
AXIS2_MSG_CTX_FIND_SVC  func 
)

Sets function to be used to find a service. This function is used by dispatchers to locate the service to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
func function to be used to find an operation
Returns:
pointer to service to be invoked

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_flow ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
int  flow 
)

Sets the flow to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
flow int value indicating the flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_from ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_endpoint_ref_t reference 
)

Sets WS-Addressing from endpoint. From address tells where the message came from.

Parameters:
msg_ctx message context
env pointer to environment struct
reference pointer to endpoint reference representing from address. message context assumes the ownership of endpoint struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_http_accept_charset_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_array_list_t accept_charset_record_list 
)

Sets the HTTP Accept-Charset records

Parameters:
msg_ctx message context
env pointer to environment struct
accept_charset_record_list an Array List containing the HTTP Accept-Charset records
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_http_accept_language_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_array_list_t accept_language_record_list 
)

Sets the HTTP Accept-Language records

Parameters:
msg_ctx message context
env pointer to environment struct
accept_language_record_list an Array List containing the HTTP Accept-Language records
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_http_accept_record_list ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_array_list_t accept_record_list 
)

Sets the HTTP Accept records

Parameters:
msg_ctx message context
env pointer to environment struct
accept_record_list an Array List containing the HTTP Accept records
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_http_output_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_array_list_t output_headers 
)

Sets the Output Header list

Parameters:
msg_ctx message context
env pointer to environment struct
output_headers Output Header list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_in_fault_flow ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  in_fault_flow 
)

Sets in fault flow status.

Parameters:
msg_ctx message context
env pointer to environment struct
in_fault_flow AXIS2_TRUE if there is a fault on in path, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_is_soap_11 ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  is_soap11 
)

Sets the bool value indicating the SOAP version being used either SOAP 1.1 or SOAP 1.2

Parameters:
msg_ctx message context
env pointer to environment struct
is_soap11 AXIS2_TRUE if SOAP 1.1 is being used, else AXIS2_FALSE if SOAP 1.2 is being used
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_keep_alive ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  keep_alive 
)

Sets the bool value indicating the keep alive status of invocation. By setting this one can indicate the engine not to clean the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
keep_alive keep alive
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_manage_session ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  manage_session 
)

Sets manage session bool value.

Parameters:
msg_ctx message context
env pointer to environment struct
manage_session manage session bool value
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_message_id ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  message_id 
)

Sets message ID.

Parameters:
msg_ctx message context
env pointer to environment struct
message_id message ID string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_msg_id ( const axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_char_t *  msg_id 
)

Sets message ID.

Parameters:
msg_ctx message context
env pointer to environment struct
msg_id 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_msg_info_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_msg_info_headers_t msg_info_headers 
)

Sets message information headers.

Parameters:
msg_ctx message context
env pointer to environment struct
msg_info_headers pointer to message information headers, message context assumes the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_new_thread_required ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  new_thread_required 
)

Sets the bool value indicating if it is required to have a new thread for the invocation, or if the same thread of execution could be used.

Parameters:
msg_ctx message context
env pointer to environment struct
new_thread_required AXIS2_TRUE if a new thread is required, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_no_content ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  no_content 
)

Sets that there was no content in the response.

Parameters:
msg_ctx message context
env pointer to environment struct
no_content expects AXIS2_TRUE if there was no content in the response or AXIS2_FALSE otherwise
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_op ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_op *  op 
)

Sets the operation that is to be invoked.

Parameters:
msg_ctx message context
env pointer to environment struct
op pointer to operation, message context does not assume the ownership of operation
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_op_ctx ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_op_ctx *  op_ctx 
)

Sets operation context related to the operation that this message context is related to.

Parameters:
msg_ctx message context
env pointer to environment struct
op_ctx pointer to operation context, message context does not assume the ownership of operation context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_options ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_options *  options 
)

Sets the options to be used in invocation.

Parameters:
msg_ctx message context
env pointer to environment struct
options pointer to options struct, message context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_out_transport_info ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_out_transport_info *  out_transport_info 
)

Sets the HTTP Out Transport Info associated

Parameters:
msg_ctx message context
env pointer to environment struct
out_transport_info reference to HTTP Out Transport Info associated
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_output_written ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  output_written 
)

Sets the bool value indicating the output written status.

Parameters:
msg_ctx message context
env pointer to environment struct
output_written AXIS2_TRUE if output is written, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_parent ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_op_ctx *  parent 
)

Sets parent. Parent of a message context is of type operation context.

Parameters:
msg_ctx message context
env pointer to environment struct
parent pointer to parent operation context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_paused ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  paused 
)

Sets the bool value indicating the paused status of invocation.

Parameters:
msg_ctx message context
env pointer to environment struct
paused paused
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_paused_phase_name ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  paused_phase_name 
)

Sets the name of the phase at which the invocation was paused.

Parameters:
msg_ctx message context
env pointer to environment struct
paused_phase_name paused phase name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_process_fault ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  process_fault 
)

Sets process fault bool value.

Parameters:
msg_ctx message context
env pointer to environment struct
process_fault AXIS2_TRUE if SOAP faults are to be processed, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_property ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  key,
axutil_property_t *  value 
)

Sets property with given key.

Parameters:
msg_ctx message context
env pointer to environment struct
key key string
value property to be stored
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_relates_to ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_relates_to_t reference 
)

Sets relates to struct.

Parameters:
msg_ctx message context
env pointer to environment struct
reference pointer to relates to struct, message context assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_reply_to ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_endpoint_ref_t reference 
)

Sets WS-Addressing reply to address indicating the location to which the reply would be sent.

Parameters:
msg_ctx message context
env pointer to environment struct
reference pointer to endpoint reference representing reply to address
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_required_auth_is_http ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  is_http 
)

Sets whether HTTP Authentication is required or whether Proxy Authentication is required

Parameters:
msg_ctx message context
env pointer to environment struct
is_http use AXIS2_TRUE for HTTP Authentication and AXIS2_FALSE for Proxy Authentication
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_response_soap_envelope ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axiom_soap_envelope *  soap_envelope 
)

Sets response SOAP envelope.

Parameters:
msg_ctx message context
env pointer to environment struct
soap_envelope pointer to SOAP envelope, message context assumes ownership of SOAP envelope
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_rest_http_method ( struct axis2_msg_ctx *  msg_ctx,
const axutil_env_t env,
const axis2_char_t *  rest_http_method 
)

Sets the HTTP Method that relates to the service that is related to the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
rest_http_method HTTP Method string, msg_ctx does not assume ownership of rest_http_method.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_server_side ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_bool_t  server_side 
)

Sets the bool value indicating if it is the server side or the client side.

Parameters:
msg_ctx message context
env pointer to environment struct
server_side AXIS2_TRUE if it is server side, AXIS2_FALSE if it is client side
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_soap_action ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_string_t *  soap_action 
)

Sets SOAP action.

Parameters:
msg_ctx message context
env pointer to environment struct
soap_action SOAP action string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_soap_envelope ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axiom_soap_envelope *  soap_envelope 
)

Sets SOAP envelope. The fact that if it is the request SOAP envelope or that of response depends on the current status represented by message context.

Parameters:
msg_ctx message context
env pointer to environment struct
soap_envelope pointer to SOAP envelope, message context assumes ownership of SOAP envelope
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_status_code ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const int  status_code 
)

Sets the int value indicating http status code

Parameters:
msg_ctx message context
env pointer to environment struct
status_code of the http response
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_supported_rest_http_methods ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_array_list_t supported_rest_http_methods 
)

Sets the list of supported REST HTTP Methods

Parameters:
msg_ctx message context
env pointer to environment struct
supported_rest_http_methods pointer array list containing the list of HTTP Methods supported. Message context does assumes the ownership of the array list. Anything added to this array list will be freed by the msg_ctx
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_svc ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_svc *  svc 
)

Sets the service to which the operation to be invoked belongs.

Parameters:
msg_ctx message context
env pointer to environment struct
svc pointer to service struct, message context does not assume the ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_svc_ctx ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_svc_ctx *  svc_ctx 
)

Sets service context.

Parameters:
msg_ctx message context
env pointer to environment struct
svc_ctx pointer to service context struct, message context does not assume the ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_svc_ctx_id ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  svc_ctx_id 
)

Sets the ID of service context that relates to the service that is related to the message context.

Parameters:
msg_ctx message context
env pointer to environment struct
svc_ctx_id The service context ID string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_svc_grp ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_svc_grp *  svc_grp 
)

Sets the service group to which the service to be invoked belongs.

Parameters:
msg_ctx message context
env pointer to environment struct
svc_grp pointer to service group struct, message context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_svc_grp_ctx ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_svc_grp_ctx *  svc_grp_ctx 
)

Gets service group context. The returned service group context relates to the service group to which the service, related to the message context, belongs.

Parameters:
msg_ctx message context
env pointer to environment struct
svc_grp_ctx pointer to service group context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_svc_grp_ctx_id ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_string_t *  svc_grp_ctx_id 
)

Sets the service group context ID.

Parameters:
msg_ctx message context
env pointer to environment struct
svc_grp_ctx_id service group context ID string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_to ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_endpoint_ref_t reference 
)

Sets WS-Addressing to address.

Parameters:
msg_ctx message context
env pointer to environment struct
reference pointer to endpoint reference struct representing the address where the request should be sent to. message context assumes ownership of endpoint struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_transfer_encoding ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_char_t *  str 
)

Sets the transfer encoding used

Parameters:
msg_ctx message context
env pointer to environment struct
str Transfer encoding string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_transport_headers ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_hash_t transport_headers 
)

Sets the Transport Headers

Parameters:
msg_ctx message context
env pointer to environment struct
transport_headers a Hash containing the Transport Headers
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_transport_in_desc ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_transport_in_desc *  transport_in_desc 
)

Sets transport in description.

Parameters:
msg_ctx message context
env pointer to environment struct
transport_in_desc pointer to transport in description struct, message context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_transport_out_desc ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
struct axis2_transport_out_desc *  transport_out_desc 
)

Sets transport out description.

Parameters:
msg_ctx message context
env pointer to environment struct
transport_out_desc pointer to transport out description, message context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_transport_out_stream ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axutil_stream_t *  stream 
)

Sets the Transport Out Stream

Parameters:
msg_ctx message context
env pointer to environment struct
stream reference to Transport Out Stream
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_transport_url ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
axis2_char_t *  str 
)

Sets the Transport URL

Parameters:
msg_ctx message context
env pointer to environment struct
str Transport URL string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_wsa_action ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  action_uri 
)

Sets WS-Addressing action.

Parameters:
msg_ctx message context
env pointer to environment struct
action_uri WSA action URI string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_ctx_set_wsa_message_id ( axis2_msg_ctx_t msg_ctx,
const axutil_env_t env,
const axis2_char_t *  message_id 
)

Sets WS-Addressing message ID.

Parameters:
msg_ctx message context
env pointer to environment struct
message_id pointer to message ID string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__builder_8h-source.html0000644000175000017500000003635511172017604026242 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_builder.h Source File

axiom_soap_builder.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_BUILDER_H
00020 #define AXIOM_SOAP_BUILDER_H
00021 
00022 #include <axiom_stax_builder.h>
00023 #include <axiom_soap_envelope.h>
00024 #include <axiom_mime_parser.h>
00025 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axiom_soap_builder axiom_soap_builder_t;
00037 
00050     AXIS2_EXTERN axiom_soap_builder_t *AXIS2_CALL
00051     axiom_soap_builder_create(
00052         const axutil_env_t * env,
00053         axiom_stax_builder_t * builder,
00054         const axis2_char_t * soap_version);
00062     AXIS2_EXTERN void AXIS2_CALL
00063     axiom_soap_builder_free(
00064         axiom_soap_builder_t * builder,
00065         const axutil_env_t * env);
00066 
00074     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00075     axiom_soap_builder_get_soap_envelope(
00076         axiom_soap_builder_t * builder,
00077         const axutil_env_t * env);
00078 
00086     AXIS2_EXTERN axiom_document_t *AXIS2_CALL
00087     axiom_soap_builder_get_document(
00088         axiom_soap_builder_t * builder,
00089         const axutil_env_t * env);
00090 
00098     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099     axiom_soap_builder_next(
00100         axiom_soap_builder_t * builder,
00101         const axutil_env_t * env);
00102 
00110     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00111     axiom_soap_builder_get_document_element(
00112         axiom_soap_builder_t * builder,
00113         const axutil_env_t * env);
00114 
00122     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00123     axiom_soap_builder_set_bool_processing_mandatory_fault_elements(
00124         axiom_soap_builder_t * builder,
00125         const axutil_env_t * env,
00126         axis2_bool_t value);
00127 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136     axiom_soap_builder_set_processing_detail_elements(
00137         axiom_soap_builder_t * builder,
00138         const axutil_env_t * env,
00139         axis2_bool_t value);
00140 
00148     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00149     axiom_soap_builder_is_processing_detail_elements(
00150         axiom_soap_builder_t * builder,
00151         const axutil_env_t * env);
00152 
00160     AXIS2_EXTERN int AXIS2_CALL
00161     axiom_soap_builder_get_soap_version(
00162         axiom_soap_builder_t * builder,
00163         const axutil_env_t * env);
00164 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     axiom_soap_builder_process_namespace_data(
00174         axiom_soap_builder_t * builder,
00175         const axutil_env_t * env,
00176         axiom_node_t * om_node,
00177         axis2_bool_t is_soap_element);
00178 
00186     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00187     axiom_soap_builder_set_mime_body_parts(
00188         axiom_soap_builder_t * builder,
00189         const axutil_env_t * env,
00190         axutil_hash_t * map);
00191 
00199     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00200     axiom_soap_builder_get_mime_body_parts(
00201         axiom_soap_builder_t * builder,
00202         const axutil_env_t * env);
00203 
00211     AXIS2_EXTERN void AXIS2_CALL
00212     axiom_soap_builder_set_mime_parser(
00213         axiom_soap_builder_t * builder,
00214         const axutil_env_t * env,
00215         axiom_mime_parser_t *mime_parser);
00216 
00224     AXIS2_EXTERN void AXIS2_CALL
00225     axiom_soap_builder_set_callback_function(
00226         axiom_soap_builder_t * builder,
00227         const axutil_env_t * env,
00228         AXIS2_READ_INPUT_CALLBACK callback);
00229 
00237     AXIS2_EXTERN void AXIS2_CALL
00238     axiom_soap_builder_set_callback_ctx(
00239         axiom_soap_builder_t * builder,
00240         const axutil_env_t * env,
00241         void *callback_ctx);
00242 
00243     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00244     axiom_soap_builder_create_attachments(
00245         axiom_soap_builder_t * builder,
00246         const axutil_env_t * env,
00247         void *user_param,
00248         axis2_char_t *callback_name);
00249 
00250     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00251     axiom_soap_builder_replace_xop(
00252         axiom_soap_builder_t * builder,
00253         const axutil_env_t * env,
00254         axiom_node_t *om_element_node,
00255         axiom_element_t *om_element);
00256         
00257 
00258 
00259 
00261 #ifdef __cplusplus
00262 }
00263 #endif
00264 #endif                          /* AXIOM_SOAP_BUILDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__flow_8h-source.html0000644000175000017500000002343111172017604024302 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_flow.h Source File

axis2_flow.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_FLOW_H
00020 #define AXIS2_FLOW_H
00021 
00034 #include <axis2_const.h>
00035 #include <axutil_error.h>
00036 #include <axis2_defines.h>
00037 #include <axutil_env.h>
00038 #include <axutil_allocator.h>
00039 #include <axutil_string.h>
00040 #include <axutil_array_list.h>
00041 #include <axis2_handler_desc.h>
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_flow axis2_flow_t;
00050 
00056     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00057     axis2_flow_create(
00058         const axutil_env_t * env);
00059 
00066     AXIS2_EXTERN void AXIS2_CALL
00067     axis2_flow_free(
00068         axis2_flow_t * flow,
00069         const axutil_env_t * env);
00070 
00078     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00079     axis2_flow_add_handler(
00080         axis2_flow_t * flow,
00081         const axutil_env_t * env,
00082         axis2_handler_desc_t * handler);
00083 
00091     AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL
00092     axis2_flow_get_handler(
00093         const axis2_flow_t * flow,
00094         const axutil_env_t * env,
00095         const int index);
00096 
00103     AXIS2_EXTERN int AXIS2_CALL
00104     axis2_flow_get_handler_count(
00105         const axis2_flow_t * flow,
00106         const axutil_env_t * env);
00107 
00115     AXIS2_EXTERN void AXIS2_CALL
00116     axis2_flow_free_void_arg(
00117         void *flow,
00118         const axutil_env_t * env);
00119 
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 #endif                          /* AXIS2_FLOW_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__relates__to_8h-source.html0000644000175000017500000002242611172017604025636 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_relates_to.h Source File

axis2_relates_to.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_RELATES_TO_H
00020 #define AXIS2_RELATES_TO_H
00021 
00038 #include <axis2_defines.h>
00039 #include <axutil_env.h>
00040 #include <axis2_const.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00048     typedef struct axis2_relates_to axis2_relates_to_t;
00049 
00056     AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL
00057     axis2_relates_to_create(
00058         const axutil_env_t * env,
00059         const axis2_char_t * value,
00060         const axis2_char_t * relationship_type);
00061 
00069     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00070     axis2_relates_to_get_value(
00071         const axis2_relates_to_t * relates_to,
00072         const axutil_env_t * env);
00073 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     axis2_relates_to_set_value(
00084         struct axis2_relates_to *relates_to,
00085         const axutil_env_t * env,
00086         const axis2_char_t * value);
00087 
00094     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00095     axis2_relates_to_get_relationship_type(
00096         const axis2_relates_to_t * relates_to,
00097         const axutil_env_t * env);
00098 
00106     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107     axis2_relates_to_set_relationship_type(
00108         struct axis2_relates_to *relates_to,
00109         const axutil_env_t * env,
00110         const axis2_char_t * relationship_type);
00111 
00118     AXIS2_EXTERN void AXIS2_CALL
00119     axis2_relates_to_free(
00120         struct axis2_relates_to *relates_to,
00121         const axutil_env_t * env);
00122 
00125 #ifdef __cplusplus
00126 }
00127 #endif
00128 
00129 #endif                          /* AXIS2_RELATES_TO_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__node.html0000644000175000017500000014333411172017604024032 0ustar00manjulamanjula00000000000000 Axis2/C: node

node
[AXIOM]


Enumerations

enum  axiom_types_t {
  AXIOM_INVALID = 0, AXIOM_DOCUMENT, AXIOM_ELEMENT, AXIOM_DOCTYPE,
  AXIOM_COMMENT, AXIOM_ATTRIBUTE, AXIOM_NAMESPACE, AXIOM_PROCESSING_INSTRUCTION,
  AXIOM_TEXT, AXIOM_DATA_SOURCE
}
 AXIOM types. More...

Functions

AXIS2_EXTERN
axiom_node_t * 
axiom_node_create (const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_create_from_buffer (const axutil_env_t *env, axis2_char_t *buffer)
AXIS2_EXTERN void axiom_node_free_tree (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_node_add_child (axiom_node_t *om_node, const axutil_env_t *env, axiom_node_t *child)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_detach (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_node_insert_sibling_after (axiom_node_t *om_node, const axutil_env_t *env, axiom_node_t *node_to_insert)
AXIS2_EXTERN
axis2_status_t 
axiom_node_insert_sibling_before (axiom_node_t *om_node, const axutil_env_t *env, axiom_node_t *node_to_insert)
AXIS2_EXTERN
axis2_status_t 
axiom_node_serialize (axiom_node_t *om_node, const axutil_env_t *env, struct axiom_output *om_output)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_parent (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_first_child (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_first_element (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_last_child (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_previous_sibling (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_next_sibling (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_types_t 
axiom_node_get_node_type (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN void * axiom_node_get_data_element (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_node_is_complete (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_document * 
axiom_node_get_document (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_node_to_string (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_node_serialize_sub_tree (axiom_node_t *om_node, const axutil_env_t *env, struct axiom_output *om_output)
AXIS2_EXTERN
axis2_char_t * 
axiom_node_sub_tree_to_string (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_node_to_string_non_optimized (axiom_node_t *om_node, const axutil_env_t *env)

Enumeration Type Documentation

AXIOM types.

Enumerator:
AXIOM_INVALID  Invalid node type
AXIOM_DOCUMENT  AXIOM document type
AXIOM_ELEMENT  AXIOM element type
AXIOM_DOCTYPE  AXIOM doctype type
AXIOM_COMMENT  AXIOM comment type
AXIOM_ATTRIBUTE  AXIOM attribute type
AXIOM_NAMESPACE  AXIOM namespace type
AXIOM_PROCESSING_INSTRUCTION  AXIOM processing instruction type
AXIOM_TEXT  AXIOM text type
AXIOM_DATA_SOURCE  AXIOM data source, represent a serialized XML fragment with a stream


Function Documentation

AXIS2_EXTERN axis2_status_t axiom_node_add_child ( axiom_node_t *  om_node,
const axutil_env_t env,
axiom_node_t *  child 
)

Adds given node as child to parent. child should not have a parent if child has a parent it will be detached from existing parent

Parameters:
om_node parent node. cannot be NULL.
env Environment. MUST NOT be NULL, .
child child node.
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_node_create ( const axutil_env_t env  ) 

Creates a node struct.

Parameters:
env Environment. MUST NOT be NULL, .
Returns:
a pointer to newly created node struct. NULL on error.

AXIS2_EXTERN axiom_node_t* axiom_node_create_from_buffer ( const axutil_env_t env,
axis2_char_t *  buffer 
)

Creates a node struct from a character buffer.

Parameters:
env Environment. MUST NOT be NULL, .
buffer string. buffer to make the node
Returns:
a pointer to newly created node struct. NULL on error.

AXIS2_EXTERN axiom_node_t* axiom_node_detach ( axiom_node_t *  om_node,
const axutil_env_t env 
)

Detaches given node from the parent and reset the links

Parameters:
om_node node to be detached, cannot be NULL.
env Environment. MUST NOT be NULL, .
Returns:
a pointer to detached node,returns NULL on error with error code set to environment's error struct

AXIS2_EXTERN void axiom_node_free_tree ( axiom_node_t *  om_node,
const axutil_env_t env 
)

Frees an om node and all of its children. Please note that the attached data_element will also be freed along with the node. If the node is still attached to a parent, it will be detached first, then freed.

Parameters:
om_node node to be freed.
env Environment. MUST NOT be NULL, .
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void* axiom_node_get_data_element ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get the struct contained in the node IF the node is on type AXIOM_ELEMENT , this method returns a pointer to axiom_element_t struct contained

Parameters:
om_node node
env environment, MUST NOT be NULL.
Returns:
pointer to struct contained in the node returns NULL if no struct is contained

AXIS2_EXTERN struct axiom_document* axiom_node_get_document ( axiom_node_t *  om_node,
const axutil_env_t env 
) [read]

returns the associated document, only valid if built using builder and for a node of type AXIOM_ELEMENT returns null if no document is available

Parameters:
om_node 
env environment, MUST NOT be NULL.
Returns:
the OM document of the node

AXIS2_EXTERN axiom_node_t* axiom_node_get_first_child ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get the first child of om_node

Parameters:
om_node node
env environment must not be null.
Returns:
pointer to first child node , NULL is returned on error with error code set in environments error

AXIS2_EXTERN axiom_node_t* axiom_node_get_first_element ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get the first AXIOM_ELEMENT in om_node

Parameters:
om_node node
env environment must not be null
Returns:
pointer to first child om element, NULL is returned on error with error code set in environments error.

AXIS2_EXTERN axiom_node_t* axiom_node_get_last_child ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get the last child

Parameters:
om_node node
env environment, MUST NOT be NULL
Returns:
pointer to last child of this node , return NULL on error.

AXIS2_EXTERN axiom_node_t* axiom_node_get_next_sibling ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get next sibling

Parameters:
om_node om_node struct
env environment, MUST NOT be NULL.
Returns:
next sibling of this node.

AXIS2_EXTERN axiom_types_t axiom_node_get_node_type ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get the node type of this element Node type can be one of AXIOM_ELEMENT, AXIOM_COMMENT, AXIOM_TEXT AXIOM_DOCTYPE, AXIOM_PROCESSING_INSTRUCTION

Parameters:
om_node node of which node type is required
env environment
Returns:
node type

AXIS2_EXTERN axiom_node_t* axiom_node_get_parent ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get parent of om_node node

Parameters:
env environment
Returns:
pointer to parent node of om_node, return NULL if no parent exists or when an error occured.

AXIS2_EXTERN axiom_node_t* axiom_node_get_previous_sibling ( axiom_node_t *  om_node,
const axutil_env_t env 
)

get the previous sibling

Parameters:
om_node om_node struct
env environment , must node be null
Returns:
a pointer to previous sibling , NULL if a previous sibling does not exits (happens when this node is the first child of a node )

AXIS2_EXTERN axis2_status_t axiom_node_insert_sibling_after ( axiom_node_t *  om_node,
const axutil_env_t env,
axiom_node_t *  node_to_insert 
)

Inserts a sibling node after the given node

Parameters:
om_node node to whom the sibling to be inserted. , cannot be NULL.
env Environment. MUST NOT be NULL, .
node_to_insert the node to be inserted. , cannot be NULL.
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_node_insert_sibling_before ( axiom_node_t *  om_node,
const axutil_env_t env,
axiom_node_t *  node_to_insert 
)

Inserts a sibling node before the given current node

Parameters:
om_node node to whom the sibling to be inserted. , cannot be NULL.
env Environment. MUST NOT be NULL, .
node_to_insert the node to be inserted. , cannot be NULL.
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axiom_node_is_complete ( axiom_node_t *  om_node,
const axutil_env_t env 
)

Indicates whether parser has parsed this information item completely or not

Parameters:
om_node om_node struct
env environment, MUST NOT be NULL.
Returns:
AXIS2_TRUE if node is completly build, AXIS2_FALSE if node is not completed

AXIS2_EXTERN axis2_status_t axiom_node_serialize ( axiom_node_t *  om_node,
const axutil_env_t env,
struct axiom_output *  om_output 
)

Serializes the given node. This op makes the node go through its children and serialize them in order.

Parameters:
om_node node to be serialized. cannot be NULL.
env Environment .MUST NOT be NULL.
om_output AXIOM output handler to be used in serializing
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_node_serialize_sub_tree ( axiom_node_t *  om_node,
const axutil_env_t env,
struct axiom_output *  om_output 
)

Parameters:
om_node pointer to the OM node struct
env environment, MUST NOT be NULL
om_output the serialized output will be placed here
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axiom_node_sub_tree_to_string ( axiom_node_t *  om_node,
const axutil_env_t env 
)

Parameters:
om_node pointer to the OM node struct
env environment, MUST NOT be NULL
Returns:
the tree as a string

AXIS2_EXTERN axis2_char_t* axiom_node_to_string ( axiom_node_t *  om_node,
const axutil_env_t env 
)

Parameters:
om_node pointer to the OM node struct
env environment, MUST NOT be NULL
Returns:
the string representation of the node

AXIS2_EXTERN axis2_char_t* axiom_node_to_string_non_optimized ( axiom_node_t *  om_node,
const axutil_env_t env 
)

Convert the node to string, treating the binary contents, if any, as non-optimized content.

Parameters:
om_node pointer to the OM node struct
env environment, MUST NOT be NULL
Returns:
the none optimized string


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__sender_8h.html0000644000175000017500000010436011172017604024514 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_sender.h File Reference

axis2_http_sender.h File Reference

axis2 SOAP over HTTP sender More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_msg_ctx.h>
#include <axiom_output.h>
#include <axis2_http_simple_response.h>
#include <axiom_soap_envelope.h>
#include <axis2_http_simple_request.h>

Go to the source code of this file.
#define AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, output, url, soap_action)   axis2_http_sender_send(sender, env, msg_ctx,output, url, soap_action)
#define AXIS2_HTTP_SENDER_SET_CHUNKED(sender, env, chunked)   axis2_http_sender_set_chunked(sender, env, chunked)
#define AXIS2_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output)   axis2_http_sender_set_om_output (sender, env, om_output)
#define AXIS2_HTTP_SENDER_SET_HTTP_VERSION(sender, env, version)   axis2_http_sender_set_http_version (sender, env, version)
#define AXIS2_HTTP_SENDER_FREE(sender, env)   axis2_http_sender_free(sender, env)
typedef struct
axis2_http_sender 
axis2_http_sender_t
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_send (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axiom_soap_envelope_t *out, const axis2_char_t *str_url, const axis2_char_t *soap_action)
void axis2_http_sender_util_add_header (const axutil_env_t *env, axis2_http_simple_request_t *request, axis2_char_t *header_name, const axis2_char_t *header_value)
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_set_chunked (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_bool_t chunked)
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_set_om_output (axis2_http_sender_t *sender, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_set_http_version (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_char_t *version)
AXIS2_EXTERN void axis2_http_sender_free (axis2_http_sender_t *sender, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_get_header_info (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_http_simple_response_t *response)
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_process_response (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axis2_http_simple_response_t *response)
AXIS2_EXTERN
axis2_status_t 
axis2_http_sender_get_timeout_values (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_sender_get_param_string (axis2_http_sender_t *sender, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_http_sender_t
axis2_http_sender_create (const axutil_env_t *env)


Detailed Description

axis2 SOAP over HTTP sender


Define Documentation

#define AXIS2_HTTP_SENDER_FREE ( sender,
env   )     axis2_http_sender_free(sender, env)

Frees the soap over http sender.

#define AXIS2_HTTP_SENDER_SEND ( sender,
env,
msg_ctx,
output,
url,
soap_action   )     axis2_http_sender_send(sender, env, msg_ctx,output, url, soap_action)

Send.

#define AXIS2_HTTP_SENDER_SET_CHUNKED ( sender,
env,
chunked   )     axis2_http_sender_set_chunked(sender, env, chunked)

Set chunked.

#define AXIS2_HTTP_SENDER_SET_HTTP_VERSION ( sender,
env,
version   )     axis2_http_sender_set_http_version (sender, env, version)

Set http version.

#define AXIS2_HTTP_SENDER_SET_OM_OUTPUT ( sender,
env,
om_output   )     axis2_http_sender_set_om_output (sender, env, om_output)

Set om output.


Typedef Documentation

typedef struct axis2_http_sender axis2_http_sender_t

Type name for struct axis2_http_sender_


Function Documentation

AXIS2_EXTERN axis2_http_sender_t* axis2_http_sender_create ( const axutil_env_t env  ) 

Parameters:
env pointer to environment struct

AXIS2_EXTERN void axis2_http_sender_free ( axis2_http_sender_t sender,
const axutil_env_t env 
)

Parameters:
sender sender
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_status_t axis2_http_sender_get_header_info ( axis2_http_sender_t sender,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx,
axis2_http_simple_response_t response 
)

Parameters:
sender soap over http sender
env pointer to environment struct
msg_ctx pointer to message context
response pointer to response

AXIS2_EXTERN axis2_status_t axis2_http_sender_get_timeout_values ( axis2_http_sender_t sender,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Parameters:
sender soap over http sender
env pointer to environment struct
msg_ctx pointer to message context

AXIS2_EXTERN axis2_status_t axis2_http_sender_process_response ( axis2_http_sender_t sender,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx,
axis2_http_simple_response_t response 
)

Parameters:
sender soap over http sender
env pointer to environment struct
msg_ctx pointer to message context
response pointer to response

AXIS2_EXTERN axis2_status_t axis2_http_sender_send ( axis2_http_sender_t sender,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx,
axiom_soap_envelope_t *  out,
const axis2_char_t *  str_url,
const axis2_char_t *  soap_action 
)

Parameters:
sender sender
env pointer to environment struct
msg_ctx pointer to message context
out out
str_url str url
soap_action pointer to soap action
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_sender_set_chunked ( axis2_http_sender_t sender,
const axutil_env_t env,
axis2_bool_t  chunked 
)

Parameters:
sender sender
env pointer to environment struct
chunked chunked
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_sender_set_http_version ( axis2_http_sender_t sender,
const axutil_env_t env,
axis2_char_t *  version 
)

Parameters:
sender sender
env pointer to environment struct
version pointer to version
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_sender_set_om_output ( axis2_http_sender_t sender,
const axutil_env_t env,
axiom_output_t om_output 
)

Parameters:
sender sender
env pointer to environment struct
om_output om output
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__result__node-members.html0000644000175000017500000000445611172017604030455 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xpath_result_node Member List

This is the complete list of members for axiom_xpath_result_node, including all inherited members.

typeaxiom_xpath_result_node
valueaxiom_xpath_result_node


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__includes_8h-source.html0000644000175000017500000001602711172017604025372 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_includes.h Source File

neethi_includes.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_INCLUDES_H
00020 #define NEETHI_INCLUDES_H
00021 
00022 #include <axis2_util.h>
00023 #include <axutil_allocator.h>
00024 #include <axutil_string.h>
00025 #include <axutil_array_list.h>
00026 #include <axis2_const.h>
00027 #include <axutil_error.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_log_default.h>
00030 #include <axutil_error_default.h>
00031 #include <axutil_env.h>
00032 #include <axiom.h>
00033 #include <axiom_soap.h>
00034 #include <axutil_qname.h>
00035 #include <axutil_hash.h>
00036 #include <neethi_constants.h>
00037 #include <axutil_hash.h>
00038 #include <rp_defines.h>
00039 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00051 #ifdef __cplusplus
00052 }
00053 #endif
00054 
00055 #endif                          /*NEETHI_INCLUDES_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__file.html0000644000175000017500000001726311172017604024216 0ustar00manjulamanjula00000000000000 Axis2/C: file

file
[utilities]


Functions

AXIS2_EXTERN
axutil_file_t * 
axutil_file_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_file_free (axutil_file_t *file, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_file_set_name (axutil_file_t *file, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_char_t * 
axutil_file_get_name (axutil_file_t *file, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_file_set_path (axutil_file_t *file, const axutil_env_t *env, axis2_char_t *path)
AXIS2_EXTERN
axis2_char_t * 
axutil_file_get_path (axutil_file_t *file, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_file_set_timestamp (axutil_file_t *file, const axutil_env_t *env, AXIS2_TIME_T timestamp)
AXIS2_EXTERN AXIS2_TIME_T axutil_file_get_timestamp (axutil_file_t *file, const axutil_env_t *env)
AXIS2_EXTERN
axutil_file_t * 
axutil_file_clone (axutil_file_t *file, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axutil_file_t* axutil_file_clone ( axutil_file_t *  file,
const axutil_env_t env 
)

create a newly allocated clone of the argument file

AXIS2_EXTERN axutil_file_t* axutil_file_create ( const axutil_env_t env  ) 

create new file

Returns:
file newly created file


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__utils_8h.html0000644000175000017500000002567511172017604023471 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_utils.h File Reference

axutil_utils.h File Reference

#include <axutil_utils_defines.h>
#include <axutil_error.h>
#include <axutil_env.h>
#include <axutil_date_time.h>
#include <axutil_base64_binary.h>

Go to the source code of this file.

Defines

#define AXUTIL_LOG_FILE_SIZE   1024 * 1024 * 32
#define AXUTIL_LOG_FILE_NAME_SIZE   512
#define AXIS2_FUNC_PARAM_CHECK(object, env, error_return)
#define AXIS2_PARAM_CHECK(error, object, error_return)
#define AXIS2_PARAM_CHECK_VOID(error, object)
#define AXIS2_ERROR_SET(error, error_number, status_code)
#define AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number,status_code, file_name_line_no)
#define AXIS2_HANDLE_ERROR(env, error_number, status_code)
#define AXIS2_CREATE_FUNCTION   "axis2_get_instance"
#define AXIS2_DELETE_FUNCTION   "axis2_remove_instance"
#define AXIS2_TARGET_EPR   "target_epr"
#define AXIS2_DUMP_INPUT_MSG_TRUE   "dump"

Typedefs

typedef void(* AXIS2_FREE_VOID_ARG )(void *obj_to_be_freed, const axutil_env_t *env)
typedef int(* AXIS2_READ_INPUT_CALLBACK )(char *buffer, int size, void *ctx)
typedef int(* AXIS2_CLOSE_INPUT_CALLBACK )(void *ctx)

Enumerations

enum  axis2_scopes { AXIS2_SCOPE_REQUEST = 0, AXIS2_SCOPE_SESSION, AXIS2_SCOPE_APPLICATION }
 Axis2 scopes. More...

Functions

AXIS2_EXTERN
axis2_status_t 
axutil_parse_rest_url_for_params (const axutil_env_t *env, const axis2_char_t *tmpl, const axis2_char_t *url, int *match_count, axis2_char_t ****matches)
AXIS2_EXTERN
axis2_char_t ** 
axutil_parse_request_url_for_svc_and_op (const axutil_env_t *env, const axis2_char_t *request)
AXIS2_EXTERN
axis2_char_t * 
axutil_xml_quote_string (const axutil_env_t *env, const axis2_char_t *s, axis2_bool_t quotes)
AXIS2_EXTERN int axutil_hexit (axis2_char_t c)
AXIS2_EXTERN
axis2_status_t 
axutil_url_decode (const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *src)
AXIS2_EXTERN
axis2_status_t 
axis2_char_2_byte (const axutil_env_t *env, axis2_char_t *char_buffer, axis2_byte_t **byte_buffer, int *byte_buffer_size)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__child__element__iterator_8h-source.html0000644000175000017500000002202111172017604030417 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_child_element_iterator.h Source File

axiom_child_element_iterator.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_CHILD_ELEMENT_ITERATOR_H
00020 #define AXIOM_CHILD_ELEMENT_ITERATOR_H
00021 
00027 #include <axiom_node.h>
00028 #include <axiom_text.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axiom_child_element_iterator
00036                 axiom_child_element_iterator_t;
00037 
00050     AXIS2_EXTERN void AXIS2_CALL
00051     axiom_child_element_iterator_free(
00052         void *iterator,
00053         const axutil_env_t * env);
00054 
00065     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066     axiom_child_element_iterator_remove(
00067         axiom_child_element_iterator_t * iterator,
00068         const axutil_env_t * env);
00069 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078 
00079     axiom_child_element_iterator_has_next(
00080         axiom_child_element_iterator_t * iterator,
00081         const axutil_env_t * env);
00082 
00089     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00090     axiom_child_element_iterator_next(
00091         axiom_child_element_iterator_t * iterator,
00092         const axutil_env_t * env);
00093 
00101     AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL
00102     axiom_child_element_iterator_create(
00103         const axutil_env_t * env,
00104         axiom_node_t * current_child);
00105 
00106 #define AXIOM_CHILD_ELEMENT_ITERATOR_FREE(iterator, env) \
00107         axiom_child_element_iterator_free(iterator, env)
00108 
00109 #define AXIOM_CHILD_ELEMENT_ITERATOR_REMOVE(iterator, env) \
00110         axiom_child_element_iterator_remove(iterator, env)
00111 
00112 #define AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(iterator, env) \
00113         axiom_child_element_iterator_has_next(iterator, env)
00114 
00115 #define AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(iterator, env) \
00116         axiom_child_element_iterator_next(iterator, env)
00117 
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123 
00124 #endif                          /* AXIOM_CHILD_ELEMENT_ITERATOR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__allocator.html0000644000175000017500000002632511172017604025256 0ustar00manjulamanjula00000000000000 Axis2/C: allocator

allocator
[utilities]


Classes

struct  axutil_allocator
 Axis2 memory allocator. More...

Defines

#define AXIS2_MALLOC(allocator, size)   ((allocator)->malloc_fn(allocator, size))
#define AXIS2_REALLOC(allocator, ptr, size)   ((allocator)->realloc(allocator, ptr, size))
#define AXIS2_FREE(allocator, ptr)   ((allocator)->free_fn(allocator, ptr))

Typedefs

typedef struct
axutil_allocator 
axutil_allocator_t
 Axis2 memory allocator.

Functions

AXIS2_EXTERN
axutil_allocator_t
axutil_allocator_init (axutil_allocator_t *allocator)
AXIS2_EXTERN void axutil_allocator_free (axutil_allocator_t *allocator)
AXIS2_EXTERN void axutil_allocator_switch_to_global_pool (axutil_allocator_t *allocator)
AXIS2_EXTERN void axutil_allocator_switch_to_local_pool (axutil_allocator_t *allocator)

Typedef Documentation

Axis2 memory allocator.

Encapsulator for memory allocating routines


Function Documentation

AXIS2_EXTERN void axutil_allocator_free ( axutil_allocator_t allocator  ) 

This function should be used to deallocate memory if the default allocator was provided by the axutil_allocator_init() call.

Parameters:
allocator allocator struct to be freed
Returns:
void

AXIS2_EXTERN axutil_allocator_t* axutil_allocator_init ( axutil_allocator_t allocator  ) 

Initializes (creates) a memory allocator.

Parameters:
allocator user defined allocator. If NULL, a default allocator will be returned.
Returns:
initialized allocator. NULL on error.

AXIS2_EXTERN void axutil_allocator_switch_to_global_pool ( axutil_allocator_t allocator  ) 

Swaps the local_pool and global_pool and makes the global pool the current pool. In case of using pools, local_pool is supposed to hold the pool out of which local values are allocated. In case of values that live beyond a request global pool should be used, hence this method has to be called to switch to global pool for allocation.

Parameters:
allocator allocator whose memory pools are to be switched
Returns:
void

AXIS2_EXTERN void axutil_allocator_switch_to_local_pool ( axutil_allocator_t allocator  ) 

Swaps the local_pool and global_pool and makes the local pool the current pool. In case of using pools, local_pool is supposed to hold the pool out of which local values are allocated. In case of values that live beyond a request global pool should be used. This method can be used to inverse the switching done by axutil_allocator_switch_to_global_pool, to start using the local pool again.

Parameters:
allocator allocator whose memory pools are to be switched
Returns:
void


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__children__qname__iterator.html0000644000175000017500000002431011172017604030255 0ustar00manjulamanjula00000000000000 Axis2/C: children qname iterator

children qname iterator
[AXIOM]


Functions

AXIS2_EXTERN
axiom_children_qname_iterator_t * 
axiom_children_qname_iterator_create (const axutil_env_t *env, axiom_node_t *current_child, axutil_qname_t *given_qname)
AXIS2_EXTERN void axiom_children_qname_iterator_free (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_qname_iterator_remove (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_children_qname_iterator_has_next (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_children_qname_iterator_next (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN void axiom_children_qname_iterator_free ( axiom_children_qname_iterator_t *  iterator,
const axutil_env_t env 
)

free om_children_qname_iterator struct

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_bool_t axiom_children_qname_iterator_has_next ( axiom_children_qname_iterator_t *  iterator,
const axutil_env_t env 
)

Returns true if the iteration has more elements. (In other words, returns true if next would return an axiom_node_t struct rather than null with error code set in environment

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axiom_node_t* axiom_children_qname_iterator_next ( axiom_children_qname_iterator_t *  iterator,
const axutil_env_t env 
)

Returns the next element in the iteration.

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_qname_iterator_remove ( axiom_children_qname_iterator_t *  iterator,
const axutil_env_t env 
)

Removes from the underlying collection the last element returned by the iterator (optional operation). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__comment.html0000644000175000017500000003171311172017604024544 0ustar00manjulamanjula00000000000000 Axis2/C: comment

comment
[AXIOM]


Typedefs

typedef struct
axiom_comment 
axiom_comment_t

Functions

AXIS2_EXTERN
axiom_comment_t * 
axiom_comment_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *value, axiom_node_t **node)
AXIS2_EXTERN void axiom_comment_free (struct axiom_comment *om_comment, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_comment_get_value (struct axiom_comment *om_comment, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_comment_set_value (struct axiom_comment *om_comment, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_comment_serialize (struct axiom_comment *om_comment, const axutil_env_t *env, axiom_output_t *om_output)

Function Documentation

AXIS2_EXTERN axiom_comment_t* axiom_comment_create ( const axutil_env_t env,
axiom_node_t *  parent,
const axis2_char_t *  value,
axiom_node_t **  node 
)

Creates a comment struct

Parameters:
env Environment. MUST NOT be NULL,
parent This is the parent node of the comment is any, can be NULL.
value comment text
node This is an out parameter.cannot be NULL. Returns the node corresponding to the comment created. Node type will be set to AXIOM_COMMENT
Returns:
a pointer to the newly created comment struct

AXIS2_EXTERN void axiom_comment_free ( struct axiom_comment *  om_comment,
const axutil_env_t env 
)

Free a axis2_comment_t struct

Parameters:
om_comment pointer to axis2_commnet_t struct to be freed
env Environment. MUST NOT be NULL.
Returns:
satus of the op. AXIS2_SUCCESS on success ,AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_char_t* axiom_comment_get_value ( struct axiom_comment *  om_comment,
const axutil_env_t env 
)

get the comments data

Parameters:
om_comment a pointer to axiom_comment_t struct
env environment, MUST NOT be NULL
Returns:
comment text

AXIS2_EXTERN axis2_status_t axiom_comment_serialize ( struct axiom_comment *  om_comment,
const axutil_env_t env,
axiom_output_t om_output 
)

serialize function

Parameters:
om_comment pointer to axiom_comment_t struct
env environment, MUST NOT be NULL.
om_output pointer to om_output_t struct
Returns:
AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_comment_set_value ( struct axiom_comment *  om_comment,
const axutil_env_t env,
const axis2_char_t *  value 
)

set comment data

Parameters:
om_comment pointer to axiom_comment_t struct
env environment, MUST NOT be NULL.
value comment text
Returns:
AXIS2_SUCCESS on success , AXIS2_FAILURE on error


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_0x67.html0000644000175000017500000000543111172017604022400 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- g -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__request__line.html0000644000175000017500000004323311172017604027047 0ustar00manjulamanjula00000000000000 Axis2/C: http request line

http request line
[http transport]


Files

file  axis2_http_request_line.h
 axis2 HTTP Request Line

Typedefs

typedef struct
axis2_http_request_line 
axis2_http_request_line_t

Functions

AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_get_method (const axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_get_http_version (const axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_get_uri (const axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_to_string (axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_request_line_free (axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_request_line_t
axis2_http_request_line_create (const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *uri, const axis2_char_t *http_version)
AXIS2_EXTERN
axis2_http_request_line_t
axis2_http_request_line_parse_line (const axutil_env_t *env, const axis2_char_t *str)

Typedef Documentation

typedef struct axis2_http_request_line axis2_http_request_line_t

Type name for struct axis2_http_request_line


Function Documentation

AXIS2_EXTERN axis2_http_request_line_t* axis2_http_request_line_create ( const axutil_env_t env,
const axis2_char_t *  method,
const axis2_char_t *  uri,
const axis2_char_t *  http_version 
)

Parameters:
env pointer to environment struct
method pointer to method
uri pointer to uri
http_version pointer to http version

AXIS2_EXTERN void axis2_http_request_line_free ( axis2_http_request_line_t request_line,
const axutil_env_t env 
)

Parameters:
request_line pointer to request line
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axis2_http_request_line_get_http_version ( const axis2_http_request_line_t request_line,
const axutil_env_t env 
)

Parameters:
request_line pointer to request line
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_request_line_get_method ( const axis2_http_request_line_t request_line,
const axutil_env_t env 
)

Parameters:
request_line pointer to request line
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_request_line_get_uri ( const axis2_http_request_line_t request_line,
const axutil_env_t env 
)

Parameters:
request_line pointer to request line
env pointer to environment struct

AXIS2_EXTERN axis2_http_request_line_t* axis2_http_request_line_parse_line ( const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
env pointer to environment struct
str pointer to str

AXIS2_EXTERN axis2_char_t* axis2_http_request_line_to_string ( axis2_http_request_line_t request_line,
const axutil_env_t env 
)

Parameters:
request_line pointer to request line
env pointer to environment struct


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__node_8h-source.html0000644000175000017500000001754111172017604027067 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_node.h Source File

axiom_soap_fault_node.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_NODE_H
00020 #define AXIOM_SOAP_FAULT_NODE_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_soap_fault_node axiom_soap_fault_node_t;
00035 
00049     AXIS2_EXTERN axiom_soap_fault_node_t *AXIS2_CALL
00050     axiom_soap_fault_node_create_with_parent(
00051         const axutil_env_t * env,
00052         axiom_soap_fault_t * fault);
00053 
00061     AXIS2_EXTERN void AXIS2_CALL
00062     axiom_soap_fault_node_free(
00063         axiom_soap_fault_node_t * fault_node,
00064         const axutil_env_t * env);
00065 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axiom_soap_fault_node_set_value(
00077         axiom_soap_fault_node_t * fault_node,
00078         const axutil_env_t * env,
00079         axis2_char_t * fault_val);
00080 
00089     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00090     axiom_soap_fault_node_get_value(
00091         axiom_soap_fault_node_t * fault_node,
00092         const axutil_env_t * env);
00093 
00101     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00102     axiom_soap_fault_node_get_base_node(
00103         axiom_soap_fault_node_t * fault_node,
00104         const axutil_env_t * env);
00105 
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111 
00112 #endif                          /* AXIOM_SOAP_FAULT_NODE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__mime__parser.html0000644000175000017500000006054011172017604025544 0ustar00manjulamanjula00000000000000 Axis2/C: Flow

Flow


Functions

AXIS2_EXTERN
axis2_status_t 
axiom_mime_parser_parse_for_soap (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t *mime_boundary)
AXIS2_EXTERN
axutil_hash_t
axiom_mime_parser_parse_for_attachments (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t *mime_boundary, void *user_param)
AXIS2_EXTERN
axutil_hash_t
axiom_mime_parser_get_mime_parts_map (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN void axiom_mime_parser_free (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN int axiom_mime_parser_get_soap_body_len (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_mime_parser_get_soap_body_str (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN
axiom_mime_parser_t * 
axiom_mime_parser_create (const axutil_env_t *env)
AXIS2_EXTERN void axiom_mime_parser_set_buffer_size (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, int size)
AXIS2_EXTERN void axiom_mime_parser_set_max_buffers (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, int num)
AXIS2_EXTERN void axiom_mime_parser_set_attachment_dir (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *attachment_dir)
AXIS2_EXTERN void axiom_mime_parser_set_caching_callback_name (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *callback_name)
AXIS2_EXTERN void axiom_mime_parser_set_mime_boundary (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *mime_boundary)
AXIS2_EXTERN
axis2_char_t * 
axiom_mime_parser_get_mime_boundary (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_mime_parser_t* axiom_mime_parser_create ( const axutil_env_t env  ) 

Create a mime parser struct

Parameters:
env Environment. MUST NOT be NULL.
Returns:
created mime parser

AXIS2_EXTERN void axiom_mime_parser_free ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env 
)

Deallocate memory. Free the mime parser struct

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
Returns:
VOID

AXIS2_EXTERN axutil_hash_t* axiom_mime_parser_get_mime_parts_map ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env 
)

Returns mime parts as a hash map

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
Returns:
mime parts as a hash map

AXIS2_EXTERN int axiom_mime_parser_get_soap_body_len ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env 
)

Returns the length of the SOAP Body

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
Returns:
the length of the SOAP Body

AXIS2_EXTERN axis2_char_t* axiom_mime_parser_get_soap_body_str ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env 
)

Get the SOAP Body as a string

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
Returns:
the SOAP Body as a string

AXIS2_EXTERN axis2_status_t axiom_mime_parser_parse_for_soap ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env,
AXIS2_READ_INPUT_CALLBACK  callback,
void *  callback_ctx,
axis2_char_t *  mime_boundary 
)

Parse and returns mime parts as a hash map

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
callback_ctx the callback context
mime_boundary the MIME boundary
Returns:
mime parts as a hash map

AXIS2_EXTERN void axiom_mime_parser_set_attachment_dir ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env,
axis2_char_t *  attachment_dir 
)

Set attachment dir specified in the axis2.xml

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
attachment_dir is string containg the directory path
Returns:
VOID

AXIS2_EXTERN void axiom_mime_parser_set_buffer_size ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env,
int  size 
)

Set the size of the chink buffer

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
size the size of the chink buffer
Returns:
mime parts as a hash map

AXIS2_EXTERN void axiom_mime_parser_set_caching_callback_name ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env,
axis2_char_t *  callback_name 
)

Set Caching callback name specified in the axis2.xml

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
callback_name is string containg the dll path
Returns:
VOID

AXIS2_EXTERN void axiom_mime_parser_set_max_buffers ( axiom_mime_parser_t *  mime_parser,
const axutil_env_t env,
int  num 
)

Set maximum number of chunk buffers

Parameters:
mime_parser the pointer for the mime parser struct
env Environment. MUST NOT be NULL.
num maximum number of chunk buffers
Returns:
VOID


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__module.html0000644000175000017500000002524711172017604024305 0ustar00manjulamanjula00000000000000 Axis2/C: module

module
[description]


Files

file  axis2_module.h

Classes

struct  axis2_module_ops
struct  axis2_module

Defines

#define axis2_module_init(module, env, conf_ctx, module_desc)   ((module)->ops->init (module, env, conf_ctx, module_desc))
#define axis2_module_shutdown(module, env)   ((module)->ops->shutdown (module, env))
#define axis2_module_fill_handler_create_func_map(module, env)   ((module)->ops->fill_handler_create_func_map (module, env))

Typedefs

typedef struct
axis2_module_ops 
axis2_module_ops_t
typedef struct
axis2_module 
axis2_module_t

Functions

AXIS2_EXTERN
axis2_module_t
axis2_module_create (const axutil_env_t *env)

Detailed Description

Every module provides an implementation of struct interface. Modules are in one of two states: "available" or "initialized". All modules that the run-time detects (from the repository modules directory) are said to be in the "available" state. If some service indicates a dependency on this module then the module is initialized (once for the life time of the system) and the state changes to "initialized". Any module which is in the "initialized" state can be engaged as needed by the engine to respond to a message. Module engagement is done by deployment engine using module.xml.

Define Documentation

#define axis2_module_fill_handler_create_func_map ( module,
env   )     ((module)->ops->fill_handler_create_func_map (module, env))

Fills handler create function map.

See also:
axis2_module_ops::fill_handler_create_func_map

#define axis2_module_init ( module,
env,
conf_ctx,
module_desc   )     ((module)->ops->init (module, env, conf_ctx, module_desc))

Initializes module.

See also:
axis2_module_ops::init

#define axis2_module_shutdown ( module,
env   )     ((module)->ops->shutdown (module, env))

Shutdowns module.

See also:
axis2_module_ops::shutdown


Typedef Documentation

typedef struct axis2_module axis2_module_t

Type name for axis2_module_ops


Function Documentation

AXIS2_EXTERN axis2_module_t* axis2_module_create ( const axutil_env_t env  ) 

Creates module struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created module


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc.html0000644000175000017500000042224611172017604023613 0ustar00manjulamanjula00000000000000 Axis2/C: service

service
[description]


Files

file  axis2_svc.h

Typedefs

typedef struct axis2_svc axis2_svc_t

Functions

AXIS2_EXTERN void axis2_svc_free (axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_op (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN struct
axis2_op * 
axis2_svc_get_op_with_qname (const axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *op_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_rest_op_list_with_method_and_location (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *http_method, const axis2_char_t *http_location)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_get_rest_map (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op * 
axis2_svc_get_op_with_name (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *op_name)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_get_all_ops (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_parent (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_svc_get_parent (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_qname (axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_svc_get_qname (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_param (axis2_svc_t *svc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_svc_get_param (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_all_params (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_is_param_locked (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_engage_module (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_disengage_module (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN axis2_bool_t axis2_svc_is_module_engaged (axis2_svc_t *svc, const axutil_env_t *env, axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_engaged_module_list (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_module_ops (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *axis2_config)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_style (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *style)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_style (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op * 
axis2_svc_get_op_by_soap_action (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *soap_action)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_name (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_name (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_last_update (axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN long axis2_svc_get_last_update (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_svc_desc (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_svc_desc (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *svc_desc)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_svc_wsdl_path (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_svc_wsdl_path (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *wsdl_path)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_svc_folder_path (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_svc_folder_path (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *folder_path)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_file_name (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_file_name (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *file_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_mapping (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *wsa_action, struct axis2_op *axis2_op)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_rest_mapping (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *location, struct axis2_op *axis2_op)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_module_qname (axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_all_module_qnames (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_target_ns (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
saxis2_svc_et_target_ns (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *ns)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_target_ns_prefix (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_target_ns_prefix (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *prefix)
AXIS2_EXTERN
axutil_hash_t
gaxis2_svc_et_ns_map (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_ns_map (axis2_svc_t *svc, const axutil_env_t *env, axutil_hash_t *ns_map)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_svc_get_param_container (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_container_t
axis2_svc_get_flow_container (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_t
axis2_svc_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_t
axis2_svc_create_with_qname (const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN void * axis2_svc_get_impl_class (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_impl_class (axis2_svc_t *svc, const axutil_env_t *env, void *impl_class)
AXIS2_EXTERN
axis2_desc_t
axis2_svc_get_base (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axutil_thread_mutex_t
axis2_svc_get_mutex (const axis2_svc_t *svc, const axutil_env_t *env)

Detailed Description

service represents the static structure of a service in a service group. In Axis2 description hierarchy, a service lives inside the service group to which it belongs. services are configured in services.xml files located in the respective service group folders of the services folder in the repository. In services.xml file, services are declared in association with a given service group or at top level as a stand alone service. In cases where a service is configured without an associated service group, a service group with the same name as that of the service would be created by the deployment engine and the service would be associated with that newly created service group. The deployment engine would create service instances to represent those configured services in services.xml files and would associate them with the respective service group in the configuration. service encapsulates data on engaged module information, the XML schema defined in WSDL that is associated with the service and the operations of the service.

Typedef Documentation

typedef struct axis2_svc axis2_svc_t

Type name for struct axis2_svc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_svc_add_mapping ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  wsa_action,
struct axis2_op *  axis2_op 
)

Gets all endpoints associated with the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash map containing all endpoints Sets the list of endpoints associated with the service.
Parameters:
svc pointer to service struct
env pointer to environment struct
endpoints pointer to hash map containing all endpoints
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets namespace.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
namespace URI string Adds WS-Addressing mapping for a given operation. The services.xml configuration file could specify a SOAP action that would map to one of the service operations. This method could be used to register that mapping against operations. WS-Addressing based dispatcher makes use of this mapping to identify the operation to be invoked, given WSA action.
Parameters:
svc pointer to service struct
env pointer to environment struct
wsa_action WSA action string
op pointer to operation that maps to the given WSA action
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_module_ops ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  axis2_config 
)

Adds operations defined in a module to this service. It is possible to define operations that are associated to a module in a module.xml file. These operations in turn could be invoked in relation to a service. This method allows those module related operation to be added to a service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description containing module related operation information. service does not assume the ownership of module description
conf pointer to configuration, it is configuration that stores the modules
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_module_qname ( axis2_svc_t svc,
const axutil_env_t env,
const axutil_qname_t *  module_qname 
)

Adds a module qname to list of module QNames associated with service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_qname pointer to QName to be added, this method clones the QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_op ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_op *  op 
)

Adds operation.

Parameters:
svc pointer to service struct
env pointer to environment struct
op pointer to operation struct, service assumes ownership of operation
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_param ( axis2_svc_t svc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds given parameter to operation.

Parameters:
svc pointer to service struct
env pointer to environment struct
param pointer to parameter, service assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_add_rest_mapping ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  method,
const axis2_char_t *  location,
struct axis2_op *  axis2_op 
)

Adds a REST mapping for a given RESTful operation. The services.xml configuration file could specify a HTTP Method and Location that would map to one of the service operations. This method could be used to register that mapping against operations. The REST based dispatcher makes use of this mapping to identify the operation to be invoked, given the URL.

Parameters:
svc pointer to service struct
env pointer to environment struct
method REST HTTP Method
location REST HTTP Location
op pointer to operation that maps to the given WSA action
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_svc_t* axis2_svc_create ( const axutil_env_t env  ) 

Creates a service struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created service

AXIS2_EXTERN axis2_svc_t* axis2_svc_create_with_qname ( const axutil_env_t env,
const axutil_qname_t *  qname 
)

Creates a service struct with given QName.

Parameters:
env pointer to environment struct
qname service QName
Returns:
pointer to newly created service

AXIS2_EXTERN axis2_status_t axis2_svc_disengage_module ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  conf 
)

Disengages given module from service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description to be engaged, service does not assume the ownership of module
conf pointer to configuration, it is configuration that holds module information
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_engage_module ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  conf 
)

Engages given module to service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description to be engaged, service does not assume the ownership of module
conf pointer to configuration, it is configuration that holds module information
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_svc_free ( axis2_svc_t svc,
const axutil_env_t env 
)

Frees service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_svc_get_all_module_qnames ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets all module QNames associated with the service as a list.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to array list containing QNames

AXIS2_EXTERN axutil_hash_t* axis2_svc_get_all_ops ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets all operations of service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash map containing all operations of the service

AXIS2_EXTERN axutil_array_list_t* axis2_svc_get_all_params ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets all parameters stored within service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to array list of parameters, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_desc_t* axis2_svc_get_base ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets base description.

Parameters:
svc pointer to message
env pointer to environment struct
Returns:
pointer to base description struct

AXIS2_EXTERN axutil_array_list_t* axis2_svc_get_engaged_module_list ( const axis2_svc_t svc,
const axutil_env_t env 
)

Return the engaged module list.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
engaged module list

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_file_name ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets the name of the file that holds the implementation of the service. service implementation is compiled into shared libraries and is placed in the respective sub folder in the services folder of Axis2 repository.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
file name string

AXIS2_EXTERN long axis2_svc_get_last_update ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets last update time of the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
last updated time in seconds

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_name ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets operation corresponding to given SOAP Action and endpoint QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
soap_action SOAP action string
endpoint pointer QName representing endpoint URI
Returns:
pointer operation corresponding to given SOAP Action and endpoint QName. Gets service name.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
service name string

AXIS2_EXTERN struct axis2_op* axis2_svc_get_op_by_soap_action ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  soap_action 
) [read]

Gets in flow. In flow is the list of phases invoked along in path.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to flow representing in flow Sets in flow. In flow is the list of phases invoked along in path.
Parameters:
svc pointer to service struct
env pointer to environment struct
in_flow pointer to flow representing in flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets out flow. Out flow is the list of phases invoked along out path.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to flow representing out flow Sets out flow. Out flow is the list of phases invoked along out path.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
out_flow pointer to flow representing out flow

AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets fault in flow. Fault in flow is the list of phases invoked along in path if a fault happens.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to flow representing fault in flow Sets fault in flow. Fault in flow is the list of phases invoked along in path if a fault happens.
Parameters:
svc pointer to service struct
env pointer to environment struct
fault_flow pointer to flow representing fault in flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets fault out flow. Fault out flow is the list of phases invoked along out path if a fault happens.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to flow representing fault out flow Sets fault out flow. Fault out flow is the list of phases invoked along out path if a fault happens.
Parameters:
svc pointer to service struct
env pointer to environment struct
fault_flow pointer to flow representing fault out flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets operation corresponding to given SOAP Action.
Parameters:
svc pointer to service struct
env pointer to environment struct
soap_action SOAP action string
Returns:
pointer to operation corresponding to given SOAP action if one exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_op* axis2_svc_get_op_with_name ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  op_name 
) [read]

Gets operation corresponding to the name.

Parameters:
svc pointer to service struct
env pointer to environment struct
op_name operation name string
Returns:
pointer to operation corresponding to given name

AXIS2_EXTERN struct axis2_op* axis2_svc_get_op_with_qname ( const axis2_svc_t svc,
const axutil_env_t env,
const axutil_qname_t *  op_qname 
) [read]

Gets operation corresponding to the given QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
op_qname pointer to QName representing operation QName
Returns:
pointer to operation corresponding to given QName

AXIS2_EXTERN axutil_param_t* axis2_svc_get_param ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets named parameter.

Parameters:
svc pointer to service struct
env pointer to environment struct
name name string
Returns:
pointer to named parameter if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_container_t* axis2_svc_get_param_container ( const axis2_svc_t svc,
const axutil_env_t env 
)

Populates the schema mappings. This method is used in code generation and WSDL generation (WSDL2C and C2WSDL). This method deals with the imported schemas that would be there in the WSDL.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN struct axis2_svc_grp* axis2_svc_get_parent ( const axis2_svc_t svc,
const axutil_env_t env 
) [read]

Gets parent which is of type service group.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to parent service group

AXIS2_EXTERN const axutil_qname_t* axis2_svc_get_qname ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to QName

AXIS2_EXTERN axutil_hash_t* axis2_svc_get_rest_map ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets the RESTful operation map for a given service

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash with the information (method, url)=> processing structure for each ops

AXIS2_EXTERN axutil_array_list_t* axis2_svc_get_rest_op_list_with_method_and_location ( const axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  http_method,
const axis2_char_t *  http_location 
)

Gets the RESTful operation list corresponding to the given method and first constant part of location.

Parameters:
svc pointer to service struct
env pointer to environment struct
http_method HTTPMethod
http_location HTTPLocation
Returns:
pointer to operation corresponding to given method and location

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_style ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets style. Style can be either RPC or document literal.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
string representing the style of service

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_svc_desc ( const axis2_svc_t svc,
const axutil_env_t env 
)

Get the description of the services, which is in the service.xml, tag

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
services description string

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_svc_folder_path ( const axis2_svc_t svc,
const axutil_env_t env 
)

Get the folder path on disk of the services, which is in the service.xml

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
folder path on disk

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_svc_wsdl_path ( const axis2_svc_t svc,
const axutil_env_t env 
)

Get the static wsdl file of the services, which is in the service.xml, wsdl_path parameter

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
static wsdl file location

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_target_ns ( const axis2_svc_t svc,
const axutil_env_t env 
)

Checks if the XML schema location is adjusted.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_TRUE if XML schema is adjusted, else AXIS2_FALSE Sets the bool value indicating if the XML schema location is adjusted.
Parameters:
svc pointer to service struct
env pointer to environment struct
adjusted AXIS2_TRUE if XML schema is adjusted, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets XML schema mapping table for service.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash map with XML schema mappings, returns a reference, not a cloned copy Sets XML schema mapping table for service.
Parameters:
svc pointer to service struct
env pointer to environment struct
table pointer to hash map with XML schema mappings, service assumes ownership of the map
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets custom schema prefix.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
custom schema prefix string Sets custom schema prefix.
Parameters:
svc pointer to service struct
env pointer to environment struct
prefix custom schema prefix string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets custom schema suffix.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
custom schema suffix string Sets custom schema suffix.
Parameters:
svc pointer to service struct
env pointer to environment struct
suffix custom schema suffix string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Prints the schema to given stream.
Parameters:
svc pointer to service struct
env pointer to environment struct
out_stream stream to print to
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets the XML schema at the given index of XML schema array list.
Parameters:
svc pointer to service struct
env pointer to environment struct
index index of the XML schema to be retrieved
Returns:
pointer to XML schema, returns a reference, not a cloned copy Adds all namespaces in the namespace map to the XML schema at the given index of the XML schema array list.
Parameters:
svc pointer to service struct
env pointer to environment struct
index index of the XML schema to be processed
Returns:
pointer to XML schema with namespaces added, returns a reference, not a cloned copy Gets the list of XML schemas associated with service.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to array list of XML schemas, returns a reference, not a cloned copy Adds the given XML schema to the list of XML schemas associated with the service.
Parameters:
svc pointer to service struct
env pointer to environment struct
schema pointer to XML schema struct, service assumes the ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Adds the list of all XML schemas to service.
Parameters:
svc pointer to service struct
env pointer to environment struct
schemas pointer to array list containing XML schemas
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets XML schema's target namespace.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
XML schema target namespace string Sets XML schema's target namespace.
Parameters:
svc pointer to service struct
env pointer to environment struct
ns namespace string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets XML schema's target namespace prefix.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
XML schema target namespace prefix string Sets XML schema's target namespace prefix.
Parameters:
svc pointer to service struct
env pointer to environment struct
prefix namespace prefix string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets target namespace.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
target namespace as a string

AXIS2_EXTERN const axis2_char_t* axis2_svc_get_target_ns_prefix ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets target namespace prefix.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
target namespace prefix string

AXIS2_EXTERN axis2_bool_t axis2_svc_is_module_engaged ( axis2_svc_t svc,
const axutil_env_t env,
axutil_qname_t *  module_qname 
)

Check whether a given module is engaged to the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_qname pointer to module qname to be engaged,
Returns:
AXIS2_TRUE if module is engaged, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_svc_is_param_locked ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
svc pointer to service struct
env pointer to environment struct
param_name parameter name
Returns:
AXIS2_TRUE if the named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_svc_set_file_name ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  file_name 
)

Sets the name of the file that holds the implementation of the service. service implementation is compiled into shared libraries and is placed in the respective sub folder in the services folder of Axis2 repository.

Parameters:
svc pointer to service struct
env pointer to environment struct
file_name file name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_last_update ( axis2_svc_t svc,
const axutil_env_t env 
)

Sets current time as last update time of the service.

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_name ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  svc_name 
)

Sets service name.

Parameters:
svc pointer to service struct
env pointer to environment struct
svc_name service name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_ns_map ( axis2_svc_t svc,
const axutil_env_t env,
axutil_hash_t ns_map 
)

Sets the namespace map with all namespaces related to service.

Parameters:
svc pointer to service struct
env pointer to environment struct
ns_map pointer to hash map containing all namespaces
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_parent ( axis2_svc_t svc,
const axutil_env_t env,
struct axis2_svc_grp *  svc_grp 
)

Sets parent which is of type service group.

Parameters:
svc pointer to service struct
env pointer to environment struct
svc_grp pointer to parent service group
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_qname ( axis2_svc_t svc,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Sets QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
qname pointer to QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_style ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  style 
)

Adds given module description to engaged module list.

Parameters:
svc pointer to service struct
env pointer to environment struct
module_desc pointer to module description, service does not assume the ownership of module description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE Gets all engaged modules.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to array list containing all engaged modules Sets style. Style can be either RPC or document literal.
Parameters:
svc pointer to service struct
env pointer to environment struct
style style of service as defined in WSDL
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_desc ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  svc_desc 
)

Set the description of the service which is in service.xml

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_folder_path ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  folder_path 
)

Set the folder path of the service which is in service.xml

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_svc_wsdl_path ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  wsdl_path 
)

Set the wsdl path of the service which is in service.xml

Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_set_target_ns_prefix ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  prefix 
)

Sets target namespace prefix.

Parameters:
svc pointer to service struct
env pointer to environment struct
prefix target namespace prefix string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axutil_hash_t* gaxis2_svc_et_ns_map ( const axis2_svc_t svc,
const axutil_env_t env 
)

Gets XML schemas element corresponding to the given QName.

Parameters:
svc pointer to service struct
env pointer to environment struct
qname QName of the XML schema element to be retrieved
Returns:
pointer to XML schema element, returns a reference, not a cloned copy Gets the namespace map with all namespaces related to service.
Parameters:
svc pointer to service struct
env pointer to environment struct
Returns:
pointer to hash map containing all namespaces, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t saxis2_svc_et_target_ns ( axis2_svc_t svc,
const axutil_env_t env,
const axis2_char_t *  ns 
)

Sets target namespace.

Parameters:
svc pointer to service struct
env pointer to environment struct
ns target namespace as a string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__rm__assertion__builder.html0000644000175000017500000000432411172017604027522 0ustar00manjulamanjula00000000000000 Axis2/C: Axis2_rm_assertion_builder

Axis2_rm_assertion_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
axis2_rm_assertion_builder_build (const axutil_env_t *env, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_ele)

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__security__context__token.html0000644000175000017500000003406411172017604027521 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_security_context_token

Rp_security_context_token


Typedefs

typedef struct
rp_security_context_token_t 
rp_security_context_token_t

Functions

AXIS2_EXTERN
rp_security_context_token_t * 
rp_security_context_token_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_security_context_token_free (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_security_context_token_get_inclusion (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_inclusion (rp_security_context_token_t *security_context_token, const axutil_env_t *env, axis2_char_t *inclusion)
AXIS2_EXTERN
derive_key_type_t 
rp_security_context_token_get_derivedkey (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_derivedkey (rp_security_context_token_t *security_context_token, const axutil_env_t *env, derive_key_type_t derivedkey)
AXIS2_EXTERN
derive_key_version_t 
rp_security_context_token_get_derivedkey_version (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_derivedkey_version (rp_security_context_token_t *security_context_token, const axutil_env_t *env, derive_key_version_t version)
AXIS2_EXTERN axis2_bool_t rp_security_context_token_get_require_external_uri_ref (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_require_external_uri_ref (rp_security_context_token_t *security_context_token, const axutil_env_t *env, axis2_bool_t require_external_uri_ref)
AXIS2_EXTERN axis2_bool_t rp_security_context_token_get_sc10_security_context_token (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_sc10_security_context_token (rp_security_context_token_t *security_context_token, const axutil_env_t *env, axis2_bool_t sc10_security_context_token)
AXIS2_EXTERN
axis2_char_t * 
rp_security_context_token_get_issuer (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_issuer (rp_security_context_token_t *security_context_token, const axutil_env_t *env, axis2_char_t *issuer)
AXIS2_EXTERN
neethi_policy_t * 
rp_security_context_token_get_bootstrap_policy (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_bootstrap_policy (rp_security_context_token_t *security_context_token, const axutil_env_t *env, neethi_policy_t *bootstrap_policy)
AXIS2_EXTERN axis2_bool_t rp_security_context_token_get_is_secure_conversation_token (rp_security_context_token_t *security_context_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_set_is_secure_conversation_token (rp_security_context_token_t *security_context_token, const axutil_env_t *env, axis2_bool_t is_secure_conversation_token)
AXIS2_EXTERN
axis2_status_t 
rp_security_context_token_increment_ref (rp_security_context_token_t *security_context_token, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__linked__list.html0000644000175000017500000013603011172017604025731 0ustar00manjulamanjula00000000000000 Axis2/C: linked list

linked list
[utilities]


Classes

struct  entry_s

Typedefs

typedef struct entry_s entry_t

Functions

AXIS2_EXTERN
axutil_linked_list_t * 
axutil_linked_list_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_linked_list_free (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN entry_taxutil_linked_list_get_entry (axutil_linked_list_t *linked_list, const axutil_env_t *env, int n)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_remove_entry (axutil_linked_list_t *linked_list, const axutil_env_t *env, entry_t *e)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_check_bounds_inclusive (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_check_bounds_exclusive (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void * axutil_linked_list_get_first (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_get_last (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_remove_first (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_remove_last (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_add_first (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_add_last (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_contains (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN int axutil_linked_list_size (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_add (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_remove (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_clear (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_get (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void * axutil_linked_list_set (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index, void *o)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_add_at_index (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index, void *o)
AXIS2_EXTERN void * axutil_linked_list_remove_at_index (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN int axutil_linked_list_index_of (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN int axutil_linked_list_last_index_of (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN void ** axutil_linked_list_to_array (axutil_linked_list_t *linked_list, const axutil_env_t *env)

Variables

struct entry_sentry_s::next
struct entry_sentry_s::previous

Typedef Documentation

typedef struct entry_s entry_t

Struct to represent an entry in the list. Holds a single element.


Function Documentation

AXIS2_EXTERN axis2_bool_t axutil_linked_list_add ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Adds an element to the end of the list.

Parameters:
e the entry to add
Returns:
true, as it always succeeds

AXIS2_EXTERN axis2_status_t axutil_linked_list_add_at_index ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  index,
void *  o 
)

Inserts an element in the given position in the list.

Parameters:
index where to insert the element
o the element to insert

AXIS2_EXTERN axis2_status_t axutil_linked_list_add_first ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Insert an element at the first of the list.

Parameters:
o the element to insert

AXIS2_EXTERN axis2_status_t axutil_linked_list_add_last ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Insert an element at the last of the list.

Parameters:
o the element to insert

AXIS2_EXTERN axis2_bool_t axutil_linked_list_check_bounds_exclusive ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  index 
)

Checks that the index is in the range of existing elements (exclusive).

Parameters:
index the index to check

AXIS2_EXTERN axis2_bool_t axutil_linked_list_check_bounds_inclusive ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  index 
)

Checks that the index is in the range of possible elements (inclusive).

Parameters:
index the index to check

AXIS2_EXTERN axis2_status_t axutil_linked_list_clear ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Remove all elements from this list.

AXIS2_EXTERN axis2_bool_t axutil_linked_list_contains ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Returns true if the list contains the given object. Comparison is done by o == null ? e = null : o.equals(e).

Parameters:
o the element to look for
Returns:
true if it is found

AXIS2_EXTERN axutil_linked_list_t* axutil_linked_list_create ( const axutil_env_t env  ) 

Create an empty linked list.

AXIS2_EXTERN void* axutil_linked_list_get ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  index 
)

Return the element at index.

Parameters:
index the place to look
Returns:
the element at index

AXIS2_EXTERN entry_t* axutil_linked_list_get_entry ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  n 
)

Obtain the Entry at a given position in a list. This method of course takes linear time, but it is intelligent enough to take the shorter of the paths to get to the Entry required. This implies that the first or last entry in the list is obtained in constant time, which is a very desirable property. For speed and flexibility, range checking is not done in this method: Incorrect values will be returned if (n < 0) or (n >= size).

Parameters:
n the number of the entry to get
Returns:
the entry at position n

AXIS2_EXTERN void* axutil_linked_list_get_first ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Returns the first element in the list.

Returns:
the first list element

AXIS2_EXTERN void* axutil_linked_list_get_last ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Returns the last element in the list.

Returns:
the last list element

AXIS2_EXTERN int axutil_linked_list_index_of ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Returns the first index where the element is located in the list, or -1.

Parameters:
o the element to look for
Returns:
its position, or -1 if not found

AXIS2_EXTERN int axutil_linked_list_last_index_of ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Returns the last index where the element is located in the list, or -1.

Parameters:
o the element to look for
Returns:
its position, or -1 if not found

AXIS2_EXTERN axis2_bool_t axutil_linked_list_remove ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
void *  o 
)

Removes the entry at the lowest index in the list that matches the given object, comparing by o == null ? e = null : o.equals(e).

Parameters:
o the object to remove
Returns:
true if an instance of the object was removed

AXIS2_EXTERN void* axutil_linked_list_remove_at_index ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  index 
)

Removes the element at the given position from the list.

Parameters:
index the location of the element to remove
Returns:
the removed element

AXIS2_EXTERN axis2_status_t axutil_linked_list_remove_entry ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
entry_t e 
)

Remove an entry from the list. This will adjust size and deal with `first' and `last' appropriatly.

Parameters:
e the entry to remove

AXIS2_EXTERN void* axutil_linked_list_remove_first ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Remove and return the first element in the list.

Returns:
the former first element in the list

AXIS2_EXTERN void* axutil_linked_list_remove_last ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Remove and return the last element in the list.

Returns:
the former last element in the list

AXIS2_EXTERN void* axutil_linked_list_set ( axutil_linked_list_t *  linked_list,
const axutil_env_t env,
int  index,
void *  o 
)

Replace the element at the given location in the list.

Parameters:
index which index to change
o the new element
Returns:
the prior element

AXIS2_EXTERN int axutil_linked_list_size ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Returns the size of the list.

Returns:
the list size

AXIS2_EXTERN void** axutil_linked_list_to_array ( axutil_linked_list_t *  linked_list,
const axutil_env_t env 
)

Returns an array which contains the elements of the list in order.

Returns:
an array containing the list elements


Variable Documentation

struct entry_s* entry_s::next [read, inherited]

The next list entry, null if this is last.

struct entry_s* entry_s::previous [read, inherited]

The previous list entry, null if this is first.


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__operator_8h.html0000644000175000017500000001675611172017604024132 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_operator.h File Reference

neethi_operator.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_includes.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_operator_t 
neethi_operator_t

Enumerations

enum  neethi_operator_type_t {
  OPERATOR_TYPE_POLICY = 0, OPERATOR_TYPE_ALL, OPERATOR_TYPE_EXACTLYONE, OPERATOR_TYPE_REFERENCE,
  OPERATOR_TYPE_ASSERTION, OPERATOR_TYPE_UNKNOWN
}

Functions

AXIS2_EXTERN
neethi_operator_t * 
neethi_operator_create (const axutil_env_t *env)
AXIS2_EXTERN void neethi_operator_free (neethi_operator_t *neethi_operator, const axutil_env_t *env)
AXIS2_EXTERN
neethi_operator_type_t 
neethi_operator_get_type (neethi_operator_t *neethi_operator, const axutil_env_t *env)
AXIS2_EXTERN void * neethi_operator_get_value (neethi_operator_t *neethi_operator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_operator_set_value (neethi_operator_t *neethi_operator, const axutil_env_t *env, void *value, neethi_operator_type_t type)
AXIS2_EXTERN
axis2_status_t 
neethi_operator_serialize (neethi_operator_t *neethi_operator, const axutil_env_t *env, axiom_node_t *parent)
AXIS2_EXTERN
axis2_status_t 
neethi_operator_set_value_null (neethi_operator_t *neethi_operator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_operator_increment_ref (neethi_operator_t *neethi_operator, const axutil_env_t *env)


Detailed Description

struct for policy operators.
Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tcpmon__util_8h-source.html0000644000175000017500000001776111172017604024573 0ustar00manjulamanjula00000000000000 Axis2/C: tcpmon_util.h Source File

tcpmon_util.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef TCPMON_UTIL_H
00020 #define TCPMON_UTIL_H
00021 
00022 #include <axutil_env.h>
00023 #include <axutil_string.h>
00024 #include <axutil_stream.h>
00025 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00047     axis2_char_t *tcpmon_util_format_as_xml(
00048         const axutil_env_t * env,
00049         axis2_char_t * data,
00050         int format);
00051 
00052         char *str_replace(
00053                 char *str,
00054                 const char *search,
00055                 const char *replace);
00056 
00057     axis2_char_t * tcpmon_util_strcat(
00058         axis2_char_t * dest,
00059         axis2_char_t * source,
00060         int *buff_size,
00061         const axutil_env_t * env);
00062 
00063     axis2_char_t *
00064     tcpmon_util_read_current_stream(
00065         const axutil_env_t * env,
00066         axutil_stream_t * stream,
00067         int *stream_size,
00068         axis2_char_t ** header,
00069         axis2_char_t ** data);
00070 
00071     char *
00072     tcpmon_util_str_replace(
00073         const axutil_env_t *env,    
00074         char *str,
00075         const char *search,
00076         const char *replace);
00077 
00078     int
00079     tcpmon_util_write_to_file(
00080         char *filename,
00081         char *buffer);
00082 
00083 
00084 
00087 #ifdef __cplusplus
00088 }
00089 #endif
00090 
00091 #endif                          /* TCPMON_UTIL_H */

Generated on Thu Apr 16 11:31:21 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg__ctx_8h-source.html0000644000175000017500000033436211172017604025146 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg_ctx.h Source File

axis2_msg_ctx.h

Go to the documentation of this file.
00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIS2_MSG_CTX_H
00019 #define AXIS2_MSG_CTX_H
00020 
00043 #include <axis2_defines.h>
00044 #include <axutil_env.h>
00045 #include <axis2_ctx.h>
00046 #include <axis2_relates_to.h>
00047 #include <axutil_param.h>
00048 #include <axis2_handler_desc.h>
00049 #include <axutil_qname.h>
00050 #include <axutil_stream.h>
00051 #include <axis2_msg_info_headers.h>
00052 
00053 #ifdef __cplusplus
00054 extern "C"
00055 {
00056 #endif
00057 
00059 #define AXIS2_TRANSPORT_HEADERS "AXIS2_TRANSPORT_HEADERS"
00060 
00062 #define AXIS2_TRANSPORT_OUT "AXIS2_TRANSPORT_OUT"
00063 
00065 #define AXIS2_TRANSPORT_IN "AXIS2_TRANSPORT_IN"
00066 
00068 #define AXIS2_CHARACTER_SET_ENCODING "AXIS2_CHARACTER_SET_ENCODING"
00069 
00071 #define AXIS2_UTF_8 "UTF-8"
00072 
00074 #define AXIS2_UTF_16 "utf-16"
00075 
00077 #define AXIS2_DEFAULT_CHAR_SET_ENCODING "UTF-8"
00078 
00080 #define AXIS2_TRANSPORT_SUCCEED "AXIS2_TRANSPORT_SUCCEED"
00081 
00083 #define AXIS2_HTTP_CLIENT "AXIS2_HTTP_CLIENT"
00084 
00086 #define AXIS2_TRANSPORT_URL "TransportURL"
00087 
00089 #define AXIS2_SVR_PEER_IP_ADDR "peer_ip_addr"
00090 
00091     /* Message flows */
00092 
00093     /* In flow */
00094 
00095     /*#define AXIS2_IN_FLOW 1*/
00096 
00097     /* In fault flow */
00098 
00099     /*#define AXIS2_IN_FAULT_FLOW 2*/
00100 
00101     /* Out flow */
00102 
00103     /*#define AXIS2_OUT_FLOW 3*/
00104 
00105     /* Out fault flow */
00106 
00107     /*#define AXIS2_OUT_FAULT_FLOW 4*/
00108 
00110     typedef struct axis2_msg_ctx axis2_msg_ctx_t;
00111 
00112     struct axis2_svc;
00113     struct axis2_op;
00114 
00115     struct axis2_conf_ctx;
00116     struct axis2_svc_grp_ctx;
00117     struct axis2_svc_ctx;
00118     struct axis2_op_ctx;
00119     struct axis2_conf;
00120     struct axiom_soap_envelope;
00121     struct axis2_options;
00122     struct axis2_transport_in_desc;
00123     struct axis2_transport_out_desc;
00124     struct axis2_out_transport_info;
00125 
00127     typedef struct axis2_svc *(
00128         AXIS2_CALL
00129         * AXIS2_MSG_CTX_FIND_SVC) (
00130             axis2_msg_ctx_t * msg_ctx,
00131             const axutil_env_t * env);
00132 
00134     typedef struct axis2_op *(
00135         AXIS2_CALL
00136         * AXIS2_MSG_CTX_FIND_OP) (
00137             axis2_msg_ctx_t * msg_ctx,
00138             const axutil_env_t * env,
00139             struct axis2_svc * svc);
00140 
00152     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00153     axis2_msg_ctx_create(
00154         const axutil_env_t * env,
00155         struct axis2_conf_ctx *conf_ctx,
00156         struct axis2_transport_in_desc *transport_in_desc,
00157         struct axis2_transport_out_desc *transport_out_desc);
00158 
00165     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00166     axis2_msg_ctx_get_base(
00167         const axis2_msg_ctx_t * msg_ctx,
00168         const axutil_env_t * env);
00169 
00177     AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00178     axis2_msg_ctx_get_parent(
00179         const axis2_msg_ctx_t * msg_ctx,
00180         const axutil_env_t * env);
00181 
00190     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191     axis2_msg_ctx_set_parent(
00192         axis2_msg_ctx_t * msg_ctx,
00193         const axutil_env_t * env,
00194         struct axis2_op_ctx *parent);
00195 
00202     AXIS2_EXTERN void AXIS2_CALL
00203     axis2_msg_ctx_free(
00204         axis2_msg_ctx_t * msg_ctx,
00205         const axutil_env_t * env);
00206 
00217     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00218     axis2_msg_ctx_init(
00219         axis2_msg_ctx_t * msg_ctx,
00220         const axutil_env_t * env,
00221         struct axis2_conf *conf);
00222 
00231     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00232     axis2_msg_ctx_get_fault_to(
00233         const axis2_msg_ctx_t * msg_ctx,
00234         const axutil_env_t * env);
00235 
00244     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00245     axis2_msg_ctx_get_from(
00246         const axis2_msg_ctx_t * msg_ctx,
00247         const axutil_env_t * env);
00248 
00255     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00256     axis2_msg_ctx_get_in_fault_flow(
00257         const axis2_msg_ctx_t * msg_ctx,
00258         const axutil_env_t * env);
00259 
00268     AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL
00269     axis2_msg_ctx_get_soap_envelope(
00270         const axis2_msg_ctx_t * msg_ctx,
00271         const axutil_env_t * env);
00272 
00279     AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL
00280     axis2_msg_ctx_get_response_soap_envelope(
00281         const axis2_msg_ctx_t * msg_ctx,
00282         const axutil_env_t * env);
00283 
00290     AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL
00291     axis2_msg_ctx_get_fault_soap_envelope(
00292         const axis2_msg_ctx_t * msg_ctx,
00293         const axutil_env_t * env);
00294 
00302     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00303     axis2_msg_ctx_set_msg_id(
00304         const axis2_msg_ctx_t * msg_ctx,
00305         const axutil_env_t * env,
00306         axis2_char_t * msg_id);
00307 
00315     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00316     axis2_msg_ctx_get_msg_id(
00317         const axis2_msg_ctx_t * msg_ctx,
00318         const axutil_env_t * env);
00319 
00326     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00327     axis2_msg_ctx_get_process_fault(
00328         const axis2_msg_ctx_t * msg_ctx,
00329         const axutil_env_t * env);
00330 
00337     AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL
00338     axis2_msg_ctx_get_relates_to(
00339         const axis2_msg_ctx_t * msg_ctx,
00340         const axutil_env_t * env);
00341 
00350     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00351     axis2_msg_ctx_get_reply_to(
00352         const axis2_msg_ctx_t * msg_ctx,
00353         const axutil_env_t * env);
00354 
00363     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00364     axis2_msg_ctx_get_server_side(
00365         const axis2_msg_ctx_t * msg_ctx,
00366         const axutil_env_t * env);
00367 
00376     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00377     axis2_msg_ctx_get_to(
00378         const axis2_msg_ctx_t * msg_ctx,
00379         const axutil_env_t * env);
00380 
00390     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00391     axis2_msg_ctx_set_fault_to(
00392         axis2_msg_ctx_t * msg_ctx,
00393         const axutil_env_t * env,
00394         axis2_endpoint_ref_t * reference);
00395 
00405     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00406     axis2_msg_ctx_set_from(
00407         axis2_msg_ctx_t * msg_ctx,
00408         const axutil_env_t * env,
00409         axis2_endpoint_ref_t * reference);
00410 
00419     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00420     axis2_msg_ctx_set_in_fault_flow(
00421         axis2_msg_ctx_t * msg_ctx,
00422         const axutil_env_t * env,
00423         const axis2_bool_t in_fault_flow);
00424 
00435     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00436     axis2_msg_ctx_set_soap_envelope(
00437         axis2_msg_ctx_t * msg_ctx,
00438         const axutil_env_t * env,
00439         struct axiom_soap_envelope *soap_envelope);
00440 
00449     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00450     axis2_msg_ctx_set_response_soap_envelope(
00451         axis2_msg_ctx_t * msg_ctx,
00452         const axutil_env_t * env,
00453         struct axiom_soap_envelope *soap_envelope);
00454 
00463     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00464     axis2_msg_ctx_set_fault_soap_envelope(
00465         axis2_msg_ctx_t * msg_ctx,
00466         const axutil_env_t * env,
00467         struct axiom_soap_envelope *soap_envelope);
00468 
00476     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00477     axis2_msg_ctx_set_message_id(
00478         axis2_msg_ctx_t * msg_ctx,
00479         const axutil_env_t * env,
00480         const axis2_char_t * message_id);
00481 
00490     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00491     axis2_msg_ctx_set_process_fault(
00492         axis2_msg_ctx_t * msg_ctx,
00493         const axutil_env_t * env,
00494         const axis2_bool_t process_fault);
00495 
00504     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00505     axis2_msg_ctx_set_relates_to(
00506         axis2_msg_ctx_t * msg_ctx,
00507         const axutil_env_t * env,
00508         axis2_relates_to_t * reference);
00509 
00519     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00520     axis2_msg_ctx_set_reply_to(
00521         axis2_msg_ctx_t * msg_ctx,
00522         const axutil_env_t * env,
00523         axis2_endpoint_ref_t * reference);
00524 
00534     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00535     axis2_msg_ctx_set_server_side(
00536         axis2_msg_ctx_t * msg_ctx,
00537         const axutil_env_t * env,
00538         const axis2_bool_t server_side);
00539 
00549     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00550     axis2_msg_ctx_set_to(
00551         axis2_msg_ctx_t * msg_ctx,
00552         const axutil_env_t * env,
00553         axis2_endpoint_ref_t * reference);
00554 
00562     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00563     axis2_msg_ctx_get_new_thread_required(
00564         const axis2_msg_ctx_t * msg_ctx,
00565         const axutil_env_t * env);
00566 
00576     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00577     axis2_msg_ctx_set_new_thread_required(
00578         axis2_msg_ctx_t * msg_ctx,
00579         const axutil_env_t * env,
00580         const axis2_bool_t new_thread_required);
00581 
00589     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00590     axis2_msg_ctx_set_wsa_action(
00591         axis2_msg_ctx_t * msg_ctx,
00592         const axutil_env_t * env,
00593         const axis2_char_t * action_uri);
00594 
00601     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00602     axis2_msg_ctx_get_wsa_action(
00603         const axis2_msg_ctx_t * msg_ctx,
00604         const axutil_env_t * env);
00605 
00613     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00614     axis2_msg_ctx_set_wsa_message_id(
00615         axis2_msg_ctx_t * msg_ctx,
00616         const axutil_env_t * env,
00617         const axis2_char_t * message_id);
00618 
00625     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00626     axis2_msg_ctx_get_wsa_message_id(
00627         const axis2_msg_ctx_t * msg_ctx,
00628         const axutil_env_t * env);
00629 
00637     AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL
00638     axis2_msg_ctx_get_msg_info_headers(
00639         const axis2_msg_ctx_t * msg_ctx,
00640         const axutil_env_t * env);
00641 
00650     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00651     axis2_msg_ctx_get_paused(
00652         const axis2_msg_ctx_t * msg_ctx,
00653         const axutil_env_t * env);
00654 
00662     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00663     axis2_msg_ctx_set_paused(
00664         axis2_msg_ctx_t * msg_ctx,
00665         const axutil_env_t * env,
00666         const axis2_bool_t paused);
00667 
00676     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00677     axis2_msg_ctx_is_keep_alive(
00678         const axis2_msg_ctx_t * msg_ctx,
00679         const axutil_env_t * env);
00680 
00690     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00691     axis2_msg_ctx_set_keep_alive(
00692         axis2_msg_ctx_t * msg_ctx,
00693         const axutil_env_t * env,
00694         const axis2_bool_t keep_alive);
00695 
00703     AXIS2_EXTERN struct axis2_transport_in_desc *AXIS2_CALL
00704     axis2_msg_ctx_get_transport_in_desc(
00705         const axis2_msg_ctx_t * msg_ctx,
00706         const axutil_env_t * env);
00707 
00715     AXIS2_EXTERN struct axis2_transport_out_desc *AXIS2_CALL
00716     axis2_msg_ctx_get_transport_out_desc(
00717         const axis2_msg_ctx_t * msg_ctx,
00718         const axutil_env_t * env);
00719 
00728     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00729     axis2_msg_ctx_set_transport_in_desc(
00730         axis2_msg_ctx_t * msg_ctx,
00731         const axutil_env_t * env,
00732         struct axis2_transport_in_desc *transport_in_desc);
00733 
00742     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00743     axis2_msg_ctx_set_transport_out_desc(
00744         axis2_msg_ctx_t * msg_ctx,
00745         const axutil_env_t * env,
00746         struct axis2_transport_out_desc *transport_out_desc);
00747 
00755     AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00756     axis2_msg_ctx_get_op_ctx(
00757         const axis2_msg_ctx_t * msg_ctx,
00758         const axutil_env_t * env);
00759 
00769     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00770     axis2_msg_ctx_set_op_ctx(
00771         axis2_msg_ctx_t * msg_ctx,
00772         const axutil_env_t * env,
00773         struct axis2_op_ctx *op_ctx);
00774 
00781     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00782     axis2_msg_ctx_get_output_written(
00783         const axis2_msg_ctx_t * msg_ctx,
00784         const axutil_env_t * env);
00785 
00793     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00794     axis2_msg_ctx_set_output_written(
00795         axis2_msg_ctx_t * msg_ctx,
00796         const axutil_env_t * env,
00797         const axis2_bool_t output_written);
00798 
00807     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00808     axis2_msg_ctx_get_rest_http_method(
00809         const axis2_msg_ctx_t * msg_ctx,
00810         const axutil_env_t * env);
00811 
00821     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00822     axis2_msg_ctx_set_rest_http_method(
00823         struct axis2_msg_ctx * msg_ctx,
00824         const axutil_env_t * env,
00825         const axis2_char_t * rest_http_method);
00826 
00834     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00835     axis2_msg_ctx_get_svc_ctx_id(
00836         const axis2_msg_ctx_t * msg_ctx,
00837         const axutil_env_t * env);
00838 
00847     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00848     axis2_msg_ctx_set_svc_ctx_id(
00849         axis2_msg_ctx_t * msg_ctx,
00850         const axutil_env_t * env,
00851         const axis2_char_t * svc_ctx_id);
00852 
00859     AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
00860     axis2_msg_ctx_get_conf_ctx(
00861         const axis2_msg_ctx_t * msg_ctx,
00862         const axutil_env_t * env);
00863 
00871     AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00872     axis2_msg_ctx_get_svc_ctx(
00873         const axis2_msg_ctx_t * msg_ctx,
00874         const axutil_env_t * env);
00875 
00884     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00885     axis2_msg_ctx_set_conf_ctx(
00886         axis2_msg_ctx_t * msg_ctx,
00887         const axutil_env_t * env,
00888         struct axis2_conf_ctx *conf_ctx);
00889 
00898     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00899     axis2_msg_ctx_set_svc_ctx(
00900         axis2_msg_ctx_t * msg_ctx,
00901         const axutil_env_t * env,
00902         struct axis2_svc_ctx *svc_ctx);
00903 
00912     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00913     axis2_msg_ctx_set_msg_info_headers(
00914         axis2_msg_ctx_t * msg_ctx,
00915         const axutil_env_t * env,
00916         axis2_msg_info_headers_t * msg_info_headers);
00917 
00936     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00937     axis2_msg_ctx_get_parameter(
00938         const axis2_msg_ctx_t * msg_ctx,
00939         const axutil_env_t * env,
00940         const axis2_char_t * key);
00941 
00970     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00971     axis2_msg_ctx_get_module_parameter(
00972         const axis2_msg_ctx_t * msg_ctx,
00973         const axutil_env_t * env,
00974         const axis2_char_t * key,
00975         const axis2_char_t * module_name,
00976         axis2_handler_desc_t * handler_desc);
00977 
00985     AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00986     axis2_msg_ctx_get_property(
00987         const axis2_msg_ctx_t * msg_ctx,
00988         const axutil_env_t * env,
00989         const axis2_char_t * key);
00990 
00998     AXIS2_EXTERN void *AXIS2_CALL
00999     axis2_msg_ctx_get_property_value(
01000         axis2_msg_ctx_t * msg_ctx,
01001         const axutil_env_t * env,
01002         const axis2_char_t * property_str);
01003 
01012     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01013     axis2_msg_ctx_set_property(
01014         axis2_msg_ctx_t * msg_ctx,
01015         const axutil_env_t * env,
01016         const axis2_char_t * key,
01017         axutil_property_t * value);
01018 
01025     AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
01026     axis2_msg_ctx_get_paused_handler_name(
01027         const axis2_msg_ctx_t * msg_ctx,
01028         const axutil_env_t * env);
01029 
01036     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01037     axis2_msg_ctx_get_paused_phase_name(
01038         const axis2_msg_ctx_t * msg_ctx,
01039         const axutil_env_t * env);
01040 
01048     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01049     axis2_msg_ctx_set_paused_phase_name(
01050         axis2_msg_ctx_t * msg_ctx,
01051         const axutil_env_t * env,
01052         const axis2_char_t * paused_phase_name);
01053 
01060     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
01061     axis2_msg_ctx_get_soap_action(
01062         const axis2_msg_ctx_t * msg_ctx,
01063         const axutil_env_t * env);
01064 
01072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01073     axis2_msg_ctx_set_soap_action(
01074         axis2_msg_ctx_t * msg_ctx,
01075         const axutil_env_t * env,
01076         axutil_string_t * soap_action);
01077 
01084     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01085     axis2_msg_ctx_get_doing_mtom(
01086         axis2_msg_ctx_t * msg_ctx,
01087         const axutil_env_t * env);
01088 
01096     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01097     axis2_msg_ctx_set_doing_mtom(
01098         axis2_msg_ctx_t * msg_ctx,
01099         const axutil_env_t * env,
01100         const axis2_bool_t doing_mtom);
01101 
01108     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01109     axis2_msg_ctx_get_doing_rest(
01110         const axis2_msg_ctx_t * msg_ctx,
01111         const axutil_env_t * env);
01112 
01120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01121     axis2_msg_ctx_set_doing_rest(
01122         axis2_msg_ctx_t * msg_ctx,
01123         const axutil_env_t * env,
01124         const axis2_bool_t doing_rest);
01125 
01135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01136     axis2_msg_ctx_set_do_rest_through_post(
01137         axis2_msg_ctx_t * msg_ctx,
01138         const axutil_env_t * env,
01139         const axis2_bool_t do_rest_through_post);
01140 
01149     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01150     axis2_msg_ctx_get_do_rest_through_post(
01151         const axis2_msg_ctx_t * msg_ctx,
01152         const axutil_env_t * env);
01153 
01160     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01161     axis2_msg_ctx_get_manage_session(
01162         const axis2_msg_ctx_t * msg_ctx,
01163         const axutil_env_t * env);
01164 
01172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01173     axis2_msg_ctx_set_manage_session(
01174         axis2_msg_ctx_t * msg_ctx,
01175         const axutil_env_t * env,
01176         const axis2_bool_t manage_session);
01177 
01186     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01187     axis2_msg_ctx_get_is_soap_11(
01188         const axis2_msg_ctx_t * msg_ctx,
01189         const axutil_env_t * env);
01190 
01200     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01201     axis2_msg_ctx_set_is_soap_11(
01202         axis2_msg_ctx_t * msg_ctx,
01203         const axutil_env_t * env,
01204         const axis2_bool_t is_soap11);
01205 
01214     AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL
01215     axis2_msg_ctx_get_svc_grp_ctx(
01216         const axis2_msg_ctx_t * msg_ctx,
01217         const axutil_env_t * env);
01218 
01228     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01229     axis2_msg_ctx_set_svc_grp_ctx(
01230         axis2_msg_ctx_t * msg_ctx,
01231         const axutil_env_t * env,
01232         struct axis2_svc_grp_ctx *svc_grp_ctx);
01233 
01240     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
01241     axis2_msg_ctx_get_op(
01242         const axis2_msg_ctx_t * msg_ctx,
01243         const axutil_env_t * env);
01244 
01253     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01254     axis2_msg_ctx_set_op(
01255         axis2_msg_ctx_t * msg_ctx,
01256         const axutil_env_t * env,
01257         struct axis2_op *op);
01258 
01265     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
01266     axis2_msg_ctx_get_svc(
01267         const axis2_msg_ctx_t * msg_ctx,
01268         const axutil_env_t * env);
01269 
01278     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01279     axis2_msg_ctx_set_svc(
01280         axis2_msg_ctx_t * msg_ctx,
01281         const axutil_env_t * env,
01282         struct axis2_svc *svc);
01283 
01291     AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL
01292     axis2_msg_ctx_get_svc_grp(
01293         const axis2_msg_ctx_t * msg_ctx,
01294         const axutil_env_t * env);
01295 
01304     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01305     axis2_msg_ctx_set_svc_grp(
01306         axis2_msg_ctx_t * msg_ctx,
01307         const axutil_env_t * env,
01308         struct axis2_svc_grp *svc_grp);
01309 
01316     AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
01317     axis2_msg_ctx_get_svc_grp_ctx_id(
01318         const axis2_msg_ctx_t * msg_ctx,
01319         const axutil_env_t * env);
01320 
01328     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01329     axis2_msg_ctx_set_svc_grp_ctx_id(
01330         axis2_msg_ctx_t * msg_ctx,
01331         const axutil_env_t * env,
01332         axutil_string_t * svc_grp_ctx_id);
01333 
01342     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01343     axis2_msg_ctx_set_find_svc(
01344         axis2_msg_ctx_t * msg_ctx,
01345         const axutil_env_t * env,
01346         AXIS2_MSG_CTX_FIND_SVC func);
01347 
01356     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01357     axis2_msg_ctx_set_find_op(
01358         axis2_msg_ctx_t * msg_ctx,
01359         const axutil_env_t * env,
01360         AXIS2_MSG_CTX_FIND_OP func);
01361 
01369     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
01370     axis2_msg_ctx_find_svc(
01371         axis2_msg_ctx_t * msg_ctx,
01372         const axutil_env_t * env);
01373 
01382     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
01383     axis2_msg_ctx_find_op(
01384         axis2_msg_ctx_t * msg_ctx,
01385         const axutil_env_t * env,
01386         struct axis2_svc *svc);
01387 
01395     AXIS2_EXTERN struct axis2_options *AXIS2_CALL
01396     axis2_msg_ctx_get_options(
01397         axis2_msg_ctx_t * msg_ctx,
01398         const axutil_env_t * env);
01399 
01406     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01407     axis2_msg_ctx_is_paused(
01408         axis2_msg_ctx_t * msg_ctx,
01409         const axutil_env_t * env);
01410 
01419     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01420     axis2_msg_ctx_set_options(
01421         axis2_msg_ctx_t * msg_ctx,
01422         const axutil_env_t * env,
01423         struct axis2_options *options);
01424 
01432     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01433     axis2_msg_ctx_set_flow(
01434         axis2_msg_ctx_t * msg_ctx,
01435         const axutil_env_t * env,
01436         int flow);
01437 
01444     AXIS2_EXTERN int AXIS2_CALL
01445     axis2_msg_ctx_get_flow(
01446         const axis2_msg_ctx_t * msg_ctx,
01447         const axutil_env_t * env);
01448 
01459     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01460     axis2_msg_ctx_set_supported_rest_http_methods(
01461         axis2_msg_ctx_t * msg_ctx,
01462         const axutil_env_t * env,
01463         axutil_array_list_t * supported_rest_http_methods);
01464 
01473     AXIS2_EXTERN  axutil_array_list_t *AXIS2_CALL
01474     axis2_msg_ctx_get_supported_rest_http_methods(
01475         const axis2_msg_ctx_t * msg_ctx,
01476         const axutil_env_t * env);
01477 
01488     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01489     axis2_msg_ctx_set_execution_chain(
01490         axis2_msg_ctx_t * msg_ctx,
01491         const axutil_env_t * env,
01492         axutil_array_list_t * execution_chain);
01493 
01503     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01504     axis2_msg_ctx_get_execution_chain(
01505         const axis2_msg_ctx_t * msg_ctx,
01506         const axutil_env_t * env);
01507 
01516     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01517     axis2_msg_ctx_set_current_handler_index(
01518         axis2_msg_ctx_t * msg_ctx,
01519         const axutil_env_t * env,
01520         const int index);
01521 
01529     AXIS2_EXTERN int AXIS2_CALL
01530     axis2_msg_ctx_get_current_handler_index(
01531         const axis2_msg_ctx_t * msg_ctx,
01532         const axutil_env_t * env);
01533 
01541     AXIS2_EXTERN int AXIS2_CALL
01542     axis2_msg_ctx_get_paused_handler_index(
01543         const axis2_msg_ctx_t * msg_ctx,
01544         const axutil_env_t * env);
01545 
01553     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01554     axis2_msg_ctx_set_current_phase_index(
01555         axis2_msg_ctx_t * msg_ctx,
01556         const axutil_env_t * env,
01557         const int index);
01558 
01565     AXIS2_EXTERN int AXIS2_CALL
01566     axis2_msg_ctx_get_current_phase_index(
01567         const axis2_msg_ctx_t * msg_ctx,
01568         const axutil_env_t * env);
01569 
01576     AXIS2_EXTERN int AXIS2_CALL
01577     axis2_msg_ctx_get_paused_phase_index(
01578         const axis2_msg_ctx_t * msg_ctx,
01579         const axutil_env_t * env);
01580 
01587     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
01588     axis2_msg_ctx_get_charset_encoding(
01589         axis2_msg_ctx_t * msg_ctx,
01590         const axutil_env_t * env);
01591 
01599     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01600     axis2_msg_ctx_set_charset_encoding(
01601         axis2_msg_ctx_t * msg_ctx,
01602         const axutil_env_t * env,
01603         axutil_string_t * str);
01604 
01611     AXIS2_EXTERN int AXIS2_CALL
01612     axis2_msg_ctx_get_status_code(
01613         axis2_msg_ctx_t * msg_ctx,
01614         const axutil_env_t * env);
01615 
01623     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01624     axis2_msg_ctx_set_status_code(
01625         axis2_msg_ctx_t * msg_ctx,
01626         const axutil_env_t * env,
01627         const int status_code);
01628 
01635     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
01636     axis2_msg_ctx_get_transport_out_stream(
01637         axis2_msg_ctx_t * msg_ctx,
01638         const axutil_env_t * env);
01639 
01647     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01648     axis2_msg_ctx_set_transport_out_stream(
01649         axis2_msg_ctx_t * msg_ctx,
01650         const axutil_env_t * env,
01651         axutil_stream_t * stream);
01652 
01659     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01660     axis2_msg_ctx_reset_transport_out_stream(
01661         axis2_msg_ctx_t * msg_ctx,
01662         const axutil_env_t * env);
01663 
01670     AXIS2_EXTERN struct axis2_out_transport_info *AXIS2_CALL
01671     axis2_msg_ctx_get_out_transport_info(
01672         axis2_msg_ctx_t * msg_ctx,
01673         const axutil_env_t * env);
01674 
01683     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01684     axis2_msg_ctx_set_out_transport_info(
01685         axis2_msg_ctx_t * msg_ctx,
01686         const axutil_env_t * env,
01687         struct axis2_out_transport_info *out_transport_info);
01688 
01695     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01696     axis2_msg_ctx_reset_out_transport_info(
01697         axis2_msg_ctx_t * msg_ctx,
01698         const axutil_env_t * env);
01699 
01706     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
01707     axis2_msg_ctx_get_transport_headers(
01708         axis2_msg_ctx_t * msg_ctx,
01709         const axutil_env_t * env);
01710 
01718     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
01719     axis2_msg_ctx_extract_transport_headers(
01720         axis2_msg_ctx_t * msg_ctx,
01721         const axutil_env_t * env);
01722 
01731     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01732     axis2_msg_ctx_set_transport_headers(
01733         axis2_msg_ctx_t * msg_ctx,
01734         const axutil_env_t * env,
01735         axutil_hash_t * transport_headers);
01736 
01743     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01744     axis2_msg_ctx_get_http_accept_charset_record_list(
01745         axis2_msg_ctx_t * msg_ctx,
01746         const axutil_env_t * env);
01747 
01755     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01756     axis2_msg_ctx_extract_http_accept_charset_record_list(
01757         axis2_msg_ctx_t * msg_ctx,
01758         const axutil_env_t * env);
01759 
01768     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01769     axis2_msg_ctx_set_http_accept_charset_record_list(
01770         axis2_msg_ctx_t * msg_ctx,
01771         const axutil_env_t * env,
01772         axutil_array_list_t * accept_charset_record_list);
01773 
01780     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01781     axis2_msg_ctx_get_http_accept_language_record_list(
01782         axis2_msg_ctx_t * msg_ctx,
01783         const axutil_env_t * env);
01784 
01792     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01793     axis2_msg_ctx_extract_http_accept_language_record_list(
01794         axis2_msg_ctx_t * msg_ctx,
01795         const axutil_env_t * env);
01796 
01805     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01806     axis2_msg_ctx_set_http_accept_language_record_list(
01807         axis2_msg_ctx_t * msg_ctx,
01808         const axutil_env_t * env,
01809         axutil_array_list_t * accept_language_record_list);
01810 
01817     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
01818     axis2_msg_ctx_get_content_language(
01819         axis2_msg_ctx_t * msg_ctx,
01820         const axutil_env_t * env);
01821 
01829     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01830     axis2_msg_ctx_set_content_language(
01831         axis2_msg_ctx_t * msg_ctx,
01832         const axutil_env_t * env,
01833         axis2_char_t * str);
01834 
01841     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01842     axis2_msg_ctx_get_http_accept_record_list(
01843         axis2_msg_ctx_t * msg_ctx,
01844         const axutil_env_t * env);
01845 
01853     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
01854     axis2_msg_ctx_extract_http_accept_record_list(
01855         axis2_msg_ctx_t * msg_ctx,
01856         const axutil_env_t * env);
01857 
01866     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01867     axis2_msg_ctx_set_http_accept_record_list(
01868         axis2_msg_ctx_t * msg_ctx,
01869         const axutil_env_t * env,
01870         axutil_array_list_t * accept_record_list);
01871 
01878     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
01879     axis2_msg_ctx_get_transfer_encoding(
01880         axis2_msg_ctx_t * msg_ctx,
01881         const axutil_env_t * env);
01882 
01890     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01891     axis2_msg_ctx_set_transfer_encoding(
01892         axis2_msg_ctx_t * msg_ctx,
01893         const axutil_env_t * env,
01894         axis2_char_t * str);
01895 
01902     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
01903     axis2_msg_ctx_get_transport_url(
01904         axis2_msg_ctx_t * msg_ctx,
01905         const axutil_env_t * env);
01906 
01914     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01915     axis2_msg_ctx_set_transport_url(
01916         axis2_msg_ctx_t * msg_ctx,
01917         const axutil_env_t * env,
01918         axis2_char_t * str);
01919 
01930     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01931     axis2_msg_ctx_get_no_content(
01932         axis2_msg_ctx_t * msg_ctx,
01933         const axutil_env_t * env);
01934     
01943     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01944     axis2_msg_ctx_set_no_content(
01945         axis2_msg_ctx_t * msg_ctx,
01946         const axutil_env_t * env,
01947         const axis2_bool_t no_content);
01948 
01956     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01957     axis2_msg_ctx_get_auth_failed(
01958         axis2_msg_ctx_t * msg_ctx,
01959         const axutil_env_t * env);
01960 
01969     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01970     axis2_msg_ctx_set_auth_failed(
01971         axis2_msg_ctx_t * msg_ctx,
01972         const axutil_env_t * env,
01973         const axis2_bool_t status);
01974 
01983     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
01984     axis2_msg_ctx_get_required_auth_is_http(
01985         axis2_msg_ctx_t * msg_ctx,
01986         const axutil_env_t * env);
01987 
01997     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01998     axis2_msg_ctx_set_required_auth_is_http(
01999         axis2_msg_ctx_t * msg_ctx,
02000         const axutil_env_t * env,
02001         const axis2_bool_t is_http);
02002 
02010     AXIS2_EXTERN axis2_status_t AXIS2_CALL
02011     axis2_msg_ctx_set_auth_type(
02012         axis2_msg_ctx_t * msg_ctx,
02013         const axutil_env_t * env,
02014         const axis2_char_t * auth_type);
02015 
02022     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
02023     axis2_msg_ctx_get_auth_type(
02024         axis2_msg_ctx_t * msg_ctx,
02025         const axutil_env_t * env);
02026 
02033     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
02034     axis2_msg_ctx_get_http_output_headers(
02035         axis2_msg_ctx_t * msg_ctx,
02036         const axutil_env_t * env);
02037 
02045     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
02046     axis2_msg_ctx_extract_http_output_headers(
02047         axis2_msg_ctx_t * msg_ctx,
02048         const axutil_env_t * env);
02049 
02057     AXIS2_EXTERN axis2_status_t AXIS2_CALL
02058     axis2_msg_ctx_set_http_output_headers(
02059         axis2_msg_ctx_t * msg_ctx,
02060         const axutil_env_t * env,
02061         axutil_array_list_t * output_headers);
02062 
02063 
02064 
02065     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
02066     axis2_msg_ctx_get_mime_parts(
02067         axis2_msg_ctx_t * msg_ctx,
02068         const axutil_env_t * env);
02069 
02070 
02071     AXIS2_EXTERN void AXIS2_CALL
02072     axis2_msg_ctx_set_mime_parts(
02073         axis2_msg_ctx_t * msg_ctx,
02074         const axutil_env_t * env,
02075         axutil_array_list_t *mime_parts);
02076 
02085     AXIS2_EXTERN axis2_status_t AXIS2_CALL
02086     axis2_msg_ctx_increment_ref(
02087         axis2_msg_ctx_t * msg_ctx,
02088         const axutil_env_t * env);
02089 
02090 
02091 
02094 #ifdef __cplusplus
02095 }
02096 #endif
02097 
02098 #endif                          /* AXIS2_MSG_CTX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__endpoint__ref_8h.html0000644000175000017500000003173511172017604024656 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_endpoint_ref.h File Reference

axis2_endpoint_ref.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_const.h>
#include <axutil_array_list.h>
#include <axis2_any_content_type.h>
#include <axis2_svc_name.h>
#include <axiom_node.h>
#include <axiom_attribute.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_endpoint_ref 
axis2_endpoint_ref_t

Functions

AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_endpoint_ref_create (const axutil_env_t *env, const axis2_char_t *address)
void axis2_endpoint_ref_free_void_arg (void *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_endpoint_ref_get_address (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_set_address (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, const axis2_char_t *address)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_endpoint_ref_get_interface_qname (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_set_interface_qname (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, const axutil_qname_t *interface_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_ref_param_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_metadata_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_ref_attribute_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_metadata_attribute_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_extension_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_ref_param (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_node_t *ref_param_node)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_metadata (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_node_t *metadata_node)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_ref_attribute (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_attribute_t *attr)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_metadata_attribute (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_attribute_t *attr)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_extension (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_node_t *extension_node)
AXIS2_EXTERN
axis2_svc_name_t
axis2_endpoint_ref_get_svc_name (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_set_svc_name (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axis2_svc_name_t *svc_name)
AXIS2_EXTERN void axis2_endpoint_ref_free (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__username__token_8h-source.html0000644000175000017500000003107011172017604026102 0ustar00manjulamanjula00000000000000 Axis2/C: rp_username_token.h Source File

rp_username_token.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_USERNAME_TOKEN_H
00020 #define RP_USERNAME_TOKEN_H
00021 
00027 #include <rp_includes.h>
00028 #include <rp_token.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef enum
00036     {
00037         PASSWORD_PLAIN = 0,
00038         PASSWORD_HASH,
00039         PASSWORD_NONE /* no password will be provided in the user name token */
00040     } password_type_t;
00041 
00042     typedef struct rp_username_token_t rp_username_token_t;
00043 
00044     AXIS2_EXTERN rp_username_token_t *AXIS2_CALL
00045     rp_username_token_create(
00046         const axutil_env_t * env);
00047 
00048     AXIS2_EXTERN void AXIS2_CALL
00049     rp_username_token_free(
00050         rp_username_token_t * username_token,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00054     rp_username_token_get_inclusion(
00055         rp_username_token_t * username_token,
00056         const axutil_env_t * env);
00057 
00058     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00059     rp_username_token_set_inclusion(
00060         rp_username_token_t * username_token,
00061         const axutil_env_t * env,
00062         axis2_char_t * inclusion);
00063 
00064     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00065     rp_username_token_get_useUTprofile10(
00066         rp_username_token_t * username_token,
00067         const axutil_env_t * env);
00068 
00069     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00070     rp_username_token_set_useUTprofile10(
00071         rp_username_token_t * username_token,
00072         const axutil_env_t * env,
00073         axis2_bool_t useUTprofile10);
00074 
00075     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00076     rp_username_token_get_useUTprofile11(
00077         rp_username_token_t * username_token,
00078         const axutil_env_t * env);
00079 
00080     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00081     rp_username_token_set_useUTprofile11(
00082         rp_username_token_t * username_token,
00083         const axutil_env_t * env,
00084         axis2_bool_t useUTprofile11);
00085 
00086     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00087     rp_username_token_get_issuer(
00088         rp_username_token_t * username_token,
00089         const axutil_env_t * env);
00090 
00091     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00092     rp_username_token_set_issuer(
00093         rp_username_token_t * username_token,
00094         const axutil_env_t * env,
00095         axis2_char_t * issuer);
00096 
00097     AXIS2_EXTERN derive_key_type_t AXIS2_CALL
00098     rp_username_token_get_derivedkey_type(
00099         rp_username_token_t * username_token,
00100         const axutil_env_t * env);
00101 
00102     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103     rp_username_token_set_derivedkey_type(
00104         rp_username_token_t * username_token,
00105         const axutil_env_t * env,
00106         derive_key_type_t derivedkey);
00107 
00108     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00109     rp_username_token_get_is_issuer_name(
00110         rp_username_token_t * username_token,
00111         const axutil_env_t * env);
00112 
00113     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114     rp_username_token_set_is_issuer_name(
00115         rp_username_token_t * username_token,
00116         const axutil_env_t * env,
00117         axis2_bool_t is_issuer_name);
00118 
00119     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00120     rp_username_token_get_claim(
00121         rp_username_token_t * username_token,
00122         const axutil_env_t * env);
00123 
00124     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00125     rp_username_token_set_claim(
00126         rp_username_token_t * username_token,
00127         const axutil_env_t * env,
00128         axiom_node_t *claim);
00129 
00130     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131     rp_username_token_increment_ref(
00132         rp_username_token_t * username_token,
00133         const axutil_env_t * env);
00134 
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__role_8h.html0000644000175000017500000001134111172017604025575 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_role.h File Reference

axiom_soap_fault_role.h File Reference

axiom_soap_fault_role More...

#include <axutil_env.h>
#include <axiom_soap_fault.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_role 
axiom_soap_fault_role_t

Functions

AXIS2_EXTERN
axiom_soap_fault_role_t * 
axiom_soap_fault_role_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_role_free (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_role_set_role_value (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_role_get_role_value (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_role_get_base_node (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_role


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__namespace_8h-source.html0000644000175000017500000003055311172017604025361 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_namespace.h Source File

axiom_namespace.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_NAMESPACE_H
00020 #define AXIOM_NAMESPACE_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 #include <axiom_output.h>
00025 #include <axutil_string.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038     typedef struct axiom_namespace axiom_namespace_t;
00039 
00046     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00047     axiom_namespace_create(
00048         const axutil_env_t * env,
00049         const axis2_char_t * uri,
00050         const axis2_char_t * prefix);
00051 
00058     AXIS2_EXTERN void AXIS2_CALL
00059     axiom_namespace_free(
00060         struct axiom_namespace *om_namespace,
00061         const axutil_env_t * env);
00062 
00070     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00071     axiom_namespace_equals(
00072         struct axiom_namespace *om_namespace,
00073         const axutil_env_t * env,
00074         struct axiom_namespace *om_namespace1);
00075 
00083     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084     axiom_namespace_serialize(
00085         struct axiom_namespace *om_namespace,
00086         const axutil_env_t * env,
00087         axiom_output_t * om_output);
00088 
00094     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00095     axiom_namespace_get_uri(
00096         struct axiom_namespace *om_namespace,
00097         const axutil_env_t * env);
00098 
00104     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00105     axiom_namespace_get_prefix(
00106         struct axiom_namespace *om_namespace,
00107         const axutil_env_t * env);
00108 
00115     AXIS2_EXTERN struct axiom_namespace *AXIS2_CALL
00116                 axiom_namespace_clone(
00117                     struct axiom_namespace *om_namespace,
00118                     const axutil_env_t * env);
00119 
00128     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00129     axiom_namespace_to_string(
00130         struct axiom_namespace *om_namespace,
00131         const axutil_env_t * env);
00132 
00140     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00141     axiom_namespace_increment_ref(
00142         struct axiom_namespace *om_namespace,
00143         const axutil_env_t * env);
00144 
00152     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00153     axiom_namespace_create_str(
00154         const axutil_env_t * env,
00155         axutil_string_t * uri,
00156         axutil_string_t * prefix);
00157 
00165     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00166     axiom_namespace_set_uri_str(
00167         axiom_namespace_t * om_namespace,
00168         const axutil_env_t * env,
00169         axutil_string_t * uri);
00170 
00178     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00179     axiom_namespace_get_uri_str(
00180         axiom_namespace_t * om_namespace,
00181         const axutil_env_t * env);
00182 
00190     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00191     axiom_namespace_get_prefix_str(
00192         axiom_namespace_t * om_namespace,
00193         const axutil_env_t * env);
00194 
00197 #ifdef __cplusplus
00198 }
00199 #endif
00200 
00201 #endif                          /* AXIOM_NAMESPACE */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__mod__addr.html0000644000175000017500000000343011172017604024716 0ustar00manjulamanjula00000000000000 Axis2/C: WS-Addressing Module

WS-Addressing Module


Modules

 addressing module interface

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
_2home_2manjula_2release_2c_2deploy_2include_2axis2-1_86_80_2axutil__hash_8h-example.html0000644000175000017500000000455011172017604037462 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/api/html Axis2/C: /home/manjula/release/c/deploy/include/axis2-1.6.0/axutil_hash.h

/home/manjula/release/c/deploy/include/axis2-1.6.0/axutil_hash.h

Start iterating over the entries in a hash table.
Parameters:
ht The hash table
p The environment to allocate the axutil_hash_index_t iterator. If this environment is NULL, then an internal, non-thread-safe iterator is used.
Remarks:
There is no restriction on adding or deleting hash entries during an iteration (although the results may be unpredictable unless all you do is delete the current entry) and multiple iterations can be in progress at the same time.

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__util_8h-source.html0000644000175000017500000002051511172017604024310 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_util.h Source File

axis2_util.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_UTIL_H
00020 #define AXIS2_UTIL_H
00021 
00022 #include <axutil_allocator.h>
00023 #include <axutil_array_list.h>
00024 #include <axutil_class_loader.h>
00025 #include <axutil_dir_handler.h>
00026 #include <axutil_dll_desc.h>
00027 #include <axutil_env.h>
00028 #include <axutil_error.h>
00029 #include <axutil_file.h>
00030 #include <axutil_file_handler.h>
00031 #include <axutil_hash.h>
00032 #include <axutil_linked_list.h>
00033 #include <axutil_log.h>
00034 #include <axutil_network_handler.h>
00035 #include <axutil_param.h>
00036 #include <axutil_param_container.h>
00037 #include <axutil_property.h>
00038 #include <axutil_qname.h>
00039 #include <axutil_stack.h>
00040 #include <axutil_stream.h>
00041 #include <axutil_string.h>
00042 #include <axutil_string_util.h>
00043 #include <axutil_thread_pool.h>
00044 #include <axutil_types.h>
00045 #include <axutil_url.h>
00046 #include <axutil_utils.h>
00047 #include <axutil_uuid_gen.h>
00048 #include <platforms/axutil_platform_auto_sense.h>
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054 
00057 #ifdef __cplusplus
00058 }
00059 #endif
00060 
00061 #endif                          /* AXIS2_UTIL_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__element.html0000644000175000017500000033511711172017604024540 0ustar00manjulamanjula00000000000000 Axis2/C: element

element
[AXIOM]


Functions

AXIS2_EXTERN
axiom_element_t * 
axiom_element_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *localname, axiom_namespace_t *ns, axiom_node_t **node)
AXIS2_EXTERN
axiom_element_t * 
axiom_element_create_with_qname (const axutil_env_t *env, axiom_node_t *parent, const axutil_qname_t *qname, axiom_node_t **node)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_find_namespace (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *node, const axis2_char_t *uri, const axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_element_declare_namespace (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *node, axiom_namespace_t *ns)
AXIS2_EXTERN
axis2_status_t 
axiom_element_declare_namespace_assume_param_ownership (axiom_element_t *om_element, const axutil_env_t *env, axiom_namespace_t *ns)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_find_namespace_with_qname (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *node, axutil_qname_t *qname)
AXIS2_EXTERN
axis2_status_t 
axiom_element_add_attribute (axiom_element_t *om_element, const axutil_env_t *env, axiom_attribute_t *attribute, axiom_node_t *node)
AXIS2_EXTERN
axiom_attribute_t * 
axiom_element_get_attribute (axiom_element_t *om_element, const axutil_env_t *env, axutil_qname_t *qname)
AXIS2_EXTERN
axis2_char_t * 
axiom_element_get_attribute_value (axiom_element_t *om_element, const axutil_env_t *env, axutil_qname_t *qname)
AXIS2_EXTERN void axiom_element_free (axiom_element_t *element, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_element_serialize_start_part (axiom_element_t *om_element, const axutil_env_t *env, axiom_output_t *om_output, axiom_node_t *ele_node)
AXIS2_EXTERN
axis2_status_t 
axiom_element_serialize_end_part (axiom_element_t *om_element, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_find_declared_namespace (axiom_element_t *om_element, const axutil_env_t *env, const axis2_char_t *uri, const axis2_char_t *prefix)
AXIS2_EXTERN
axis2_char_t * 
axiom_element_get_localname (axiom_element_t *om_element, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_element_set_localname (axiom_element_t *om_element, const axutil_env_t *env, const axis2_char_t *localname)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_get_namespace (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *ele_node)
AXIS2_EXTERN
axis2_status_t 
axiom_element_set_namespace (axiom_element_t *om_element, const axutil_env_t *env, axiom_namespace_t *ns, axiom_node_t *node)
AXIS2_EXTERN
axis2_status_t 
axiom_element_set_namespace_assume_param_ownership (axiom_element_t *om_element, const axutil_env_t *env, axiom_namespace_t *ns)
AXIS2_EXTERN
axutil_hash_t
axiom_element_get_all_attributes (axiom_element_t *om_element, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axiom_element_get_namespaces (axiom_element_t *om_element, const axutil_env_t *env)
AXIS2_EXTERN
axutil_qname_t * 
axiom_element_get_qname (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *ele_node)
AXIS2_EXTERN
axiom_children_iterator_t * 
axiom_element_get_children (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node)
AXIS2_EXTERN
axiom_children_qname_iterator_t * 
axiom_element_get_children_with_qname (axiom_element_t *om_element, const axutil_env_t *env, axutil_qname_t *element_qname, axiom_node_t *element_node)
AXIS2_EXTERN
axiom_element_t * 
axiom_element_get_first_child_with_qname (axiom_element_t *om_element, const axutil_env_t *env, axutil_qname_t *element_qname, axiom_node_t *element_node, axiom_node_t **child_node)
AXIS2_EXTERN
axis2_status_t 
axiom_element_remove_attribute (axiom_element_t *om_element, const axutil_env_t *env, axiom_attribute_t *om_attribute)
AXIS2_EXTERN
axis2_status_t 
axiom_element_set_text (axiom_element_t *om_element, const axutil_env_t *env, const axis2_char_t *text, axiom_node_t *element_node)
AXIS2_EXTERN
axis2_char_t * 
axiom_element_get_text (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node)
AXIS2_EXTERN
axiom_element_t * 
axiom_element_get_first_element (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node, axiom_node_t **first_element_node)
AXIS2_EXTERN
axis2_char_t * 
axiom_element_to_string (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node)
AXIS2_EXTERN
axiom_child_element_iterator_t * 
axiom_element_get_child_elements (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node)
AXIS2_EXTERN
axis2_status_t 
axiom_element_build (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_get_default_namespace (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *element_node)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_declare_default_namespace (axiom_element_t *om_element, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_element_find_namespace_uri (axiom_element_t *om_element, const axutil_env_t *env, const axis2_char_t *prefix, axiom_node_t *element_node)
AXIS2_EXTERN
axis2_status_t 
axiom_element_set_namespace_with_no_find_in_current_scope (axiom_element_t *om_element, const axutil_env_t *env, axiom_namespace_t *om_ns)
AXIS2_EXTERN
axutil_hash_t
axiom_element_extract_attributes (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *ele_node)
AXIS2_EXTERN
axis2_char_t * 
axiom_element_get_attribute_value_by_name (axiom_element_t *om_ele, const axutil_env_t *env, axis2_char_t *attr_name)
AXIS2_EXTERN
axiom_element_t * 
axiom_element_create_str (const axutil_env_t *env, axiom_node_t *parent, axutil_string_t *localname, axiom_namespace_t *ns, axiom_node_t **node)
AXIS2_EXTERN
axutil_string_t * 
axiom_element_get_localname_str (axiom_element_t *om_element, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_element_set_localname_str (axiom_element_t *om_element, const axutil_env_t *env, axutil_string_t *localname)
AXIS2_EXTERN axis2_bool_t axiom_element_get_is_empty (axiom_element_t *om_element, const axutil_env_t *env)
AXIS2_EXTERN void axiom_element_set_is_empty (axiom_element_t *om_element, const axutil_env_t *env, axis2_bool_t is_empty)
AXIS2_EXTERN
axutil_hash_t
axiom_element_gather_parent_namespaces (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *om_node)
AXIS2_EXTERN void axiom_element_use_parent_namespace (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *om_node, axiom_namespace_t *ns, axiom_element_t *root_element, axutil_hash_t *inscope_namespaces)
AXIS2_EXTERN void axiom_element_redeclare_parent_namespaces (axiom_element_t *om_element, const axutil_env_t *env, axiom_node_t *om_node, axiom_element_t *root_element, axutil_hash_t *inscope_namespaces)

Function Documentation

AXIS2_EXTERN axis2_status_t axiom_element_add_attribute ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_attribute_t *  attribute,
axiom_node_t *  node 
)

Adds an attribute to current element The current element takes responsibility of the assigned attribute

Parameters:
om_element element to which the attribute is to be added.cannot be NULL.
env Environment. MUST NOT be NULL.
attribute attribute to be added.
node axiom_node_t node that om_element is contained in
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axis2_status_t axiom_element_build ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node 
)

builds this om_element_node completely, This is only possible if the om_stax_builder is associated with the om_element_node,

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
element_node corresponding om element node of this om element struct
Returns:
AXIS2_SUCCESS if this element node was successfully completed, otherwise returns AXIS2_FAILURE

AXIS2_EXTERN axiom_element_t* axiom_element_create ( const axutil_env_t env,
axiom_node_t *  parent,
const axis2_char_t *  localname,
axiom_namespace_t *  ns,
axiom_node_t **  node 
)

Creates an AXIOM element with given local name

Parameters:
env Environment. MUST NOT be NULL.
parent parent of the element node to be created. can be NULL.
localname local name of the elment. cannot be NULL.
ns namespace of the element. can be NULL. If the value of the namespace has not already been declared then the namespace structure ns will be declared and will be freed when the tree is freed. If the value of the namespace has already been declared using another namespace structure then the namespace structure ns will be freed.
node This is an out parameter. cannot be NULL. Returns the node corresponding to the comment created. Node type will be set to AXIOM_ELEMENT
Returns:
a pointer to the newly created element struct

AXIS2_EXTERN axiom_element_t* axiom_element_create_str ( const axutil_env_t env,
axiom_node_t *  parent,
axutil_string_t *  localname,
axiom_namespace_t *  ns,
axiom_node_t **  node 
)

Create an OM Element and an OM node from given string params

Parameters:
env environment MUST not be NULL
parent pointer to this parent element node
localname the locanmae of the element
ns the namespace of the element
node the reference ot the created node
Returns:

AXIS2_EXTERN axiom_element_t* axiom_element_create_with_qname ( const axutil_env_t env,
axiom_node_t *  parent,
const axutil_qname_t *  qname,
axiom_node_t **  node 
)

Creates an AXIOM element with given qname

Parameters:
env Environment. MUST NOT be NULL.
parent parent of the element node to be created. can be NULL.
qname qname of the elment.cannot be NULL.
node This is an out parameter. cannot be NULL. Returns the node corresponding to the comment created. Node type will be set to AXIOM_ELEMENT
Returns:
a pointer to the newly created element struct

AXIS2_EXTERN axiom_namespace_t* axiom_element_declare_default_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
axis2_char_t *  uri 
)

declared a default namespace explicitly

Parameters:
om_element pointer to om element
env environment MUST not be NULL
uri namespace uri of the default namespace
Returns:
the declared namespace

AXIS2_EXTERN axis2_status_t axiom_element_declare_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  node,
axiom_namespace_t *  ns 
)

Declare a namespace in current element (in the scope of this element ). It checks to see if it is already declared.

Parameters:
om_element contained in the om node struct
env Environment. MUST NOT be NULL.
node node containing an instance of an AXIOM element.
ns pointer to the namespace struct to be declared
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axis2_status_t axiom_element_declare_namespace_assume_param_ownership ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_namespace_t *  ns 
)

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axutil_hash_t* axiom_element_extract_attributes ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  ele_node 
)

Extract attributes , returns a clones hash table of attributes, if attributes are associated with a namespace it is also cloned

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node

AXIS2_EXTERN axiom_namespace_t* axiom_element_find_declared_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
const axis2_char_t *  uri,
const axis2_char_t *  prefix 
)

finds a namespace in current element's scope, by uri or prefix or both

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
uri namespace uri, may be null
prefix prefix
Returns:
axiom_namespace_t if found, else return NULL

AXIS2_EXTERN axiom_namespace_t* axiom_element_find_namespace_uri ( axiom_element_t *  om_element,
const axutil_env_t env,
const axis2_char_t *  prefix,
axiom_node_t *  element_node 
)

checks for the namespace in the context of this element with the given prefix

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_element_node pointer to this element node
Returns:
pointer to relevent namespace

AXIS2_EXTERN axiom_namespace_t* axiom_element_find_namespace_with_qname ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  node,
axutil_qname_t *  qname 
)

Finds a namespace using qname Start to find from the given node and go up the hierarchy.

Parameters:
om_element om_element contained in node
env Environment. MUST NOT be NULL.
node node containing an instance of an AXIOM element, cannot be NULL.
qname qname of the namespace to be found. cannot be NULL.
Returns:
pointer to the namespace, if found, else NULL. On error, returns NULL and sets the error code in environment's error struct.

AXIS2_EXTERN void axiom_element_free ( axiom_element_t *  element,
const axutil_env_t env 
)

Frees given element

Parameters:
element AXIOM element to be freed.
env Environment. MUST NOT be NULL.
Returns:
satus of the op. AXIS2_SUCCESS on success ,AXIS2_FAILURE on error.

AXIS2_EXTERN axutil_hash_t* axiom_element_gather_parent_namespaces ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  om_node 
)

Collect all the namespaces with distinct prefixes in the parents of the given element. Effectively this is the set of namespaces declared above this element that are inscope at this element and might be used by it or its children.

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
Returns:
pointer to hash of relevent namespaces

AXIS2_EXTERN axutil_hash_t* axiom_element_get_all_attributes ( axiom_element_t *  om_element,
const axutil_env_t env 
)

get the attribute list of the element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
Returns:
axutil_hash poiner to attributes hash This hash table is read only

AXIS2_EXTERN axiom_attribute_t* axiom_element_get_attribute ( axiom_element_t *  om_element,
const axutil_env_t env,
axutil_qname_t *  qname 
)

Gets (finds) the attribute with the given qname

Parameters:
element element whose attribute is to be found.
env Environment. MUST NOT be NULL. qname qname of the attribute to be found. should not be NULL.
Returns:
a pointer to the attribute with given qname if found, else NULL. On error, returns NULL and sets the error code in environment's error struct.

AXIS2_EXTERN axis2_char_t* axiom_element_get_attribute_value ( axiom_element_t *  om_element,
const axutil_env_t env,
axutil_qname_t *  qname 
)

Gets (finds) the attribute value with the given qname

Parameters:
element element whose attribute is to be found.
env Environment. MUST NOT be NULL. qname qname of the attribute to be found. should not be NULL.
Returns:
the attribute value with given qname if found, else NULL. On error, returns NULL and sets the error code in environment's error struct.

AXIS2_EXTERN axis2_char_t* axiom_element_get_attribute_value_by_name ( axiom_element_t *  om_ele,
const axutil_env_t env,
axis2_char_t *  attr_name 
)

Returns the attribute value as a string for the given element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
attr_name the attribute name
Returns:
the attribute value as a string

AXIS2_EXTERN axiom_child_element_iterator_t* axiom_element_get_child_elements ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node 
)

returns an iterator with child elements of type AXIOM_ELEMENT iterator is freed when om_element node is freed

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
element_node 
Returns:
axiom_child_element_iterator_t , NULL on error

AXIS2_EXTERN axiom_children_iterator_t* axiom_element_get_children ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node 
)

returns a list of children iterator returned iterator is freed when om_element struct is freed iterators reset function must be called by user

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
element_node pointer to this element node

AXIS2_EXTERN axiom_children_qname_iterator_t* axiom_element_get_children_with_qname ( axiom_element_t *  om_element,
const axutil_env_t env,
axutil_qname_t *  element_qname,
axiom_node_t *  element_node 
)

returns a list of children iterator with qname returned iterator is freed when om element struct is freed

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
element_node pointer to this element node
Returns:
children qname iterator struct

AXIS2_EXTERN axiom_namespace_t* axiom_element_get_default_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node 
)

retrieves the default namespace of this element , if available,

Parameters:
om_element pointer to om element
env axutil_environment MUST Not be NULL
element_node corresponding om element node of this om element
Returns:
pointer to default namespace if availale , NULL otherwise

AXIS2_EXTERN axiom_element_t* axiom_element_get_first_child_with_qname ( axiom_element_t *  om_element,
const axutil_env_t env,
axutil_qname_t *  element_qname,
axiom_node_t *  element_node,
axiom_node_t **  child_node 
)

Returns the om_element corresponding to element_qname

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
element_qname qname of the element
om_node pointer to this element node
element_node 
child_node 
Returns:
children qname iterator struct

AXIS2_EXTERN axiom_element_t* axiom_element_get_first_element ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node,
axiom_node_t **  first_element_node 
)

returns the first child om element of this om element node

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
Returns:
om_element if one is availble otherwise return NULL

AXIS2_EXTERN axis2_bool_t axiom_element_get_is_empty ( axiom_element_t *  om_element,
const axutil_env_t env 
)

Return whether the element is empty or not

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
Returns:
AXIS2_TRUE if empty AXIS2_FALSE if not empty

AXIS2_EXTERN axis2_char_t* axiom_element_get_localname ( axiom_element_t *  om_element,
const axutil_env_t env 
)

returns the localname of this element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
Returns:
localname of element, returns NULL on error.

AXIS2_EXTERN axutil_string_t* axiom_element_get_localname_str ( axiom_element_t *  om_element,
const axutil_env_t env 
)

Returns the Local name of the element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
Returns:
the Local name of the element

AXIS2_EXTERN axiom_namespace_t* axiom_element_get_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  ele_node 
)

get the namespace of om_element

Parameters:
om_element om_element struct
env environemt, MUST NOT be NULL.
Returns:
pointer to axiom_namespace_t struct NULL if there is no namespace associated with the element, NULL on error with error code set to environment's error

AXIS2_EXTERN axutil_hash_t* axiom_element_get_namespaces ( axiom_element_t *  om_element,
const axutil_env_t env 
)

get the namespace list of the element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
Returns:
axutil_hash pointer to namespaces hash this hash table is read only

AXIS2_EXTERN axutil_qname_t* axiom_element_get_qname ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  ele_node 
)

Returns:
qname of this element the returned qname should not be externaly freed when om_element struct is freed qname is also freed
Parameters:
om_element pointer to om_element
env environment MUST not be NULL
ele_node pointer to this element node
Returns:
axutil_qname_t struct , NULL on failure

AXIS2_EXTERN axis2_char_t* axiom_element_get_text ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node 
)

Select all the text children and concat them to a single string. The string returned by this method call will be free by axiom when this method is called again. So it is recomended to have a copy of the return value if this method is going to be called more that once and the return values of the earlier calls are important.

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
element node , the container node of this om element
Returns:
the contanated text of all text childrens text values return null if no text children is avilable or on error

AXIS2_EXTERN void axiom_element_redeclare_parent_namespaces ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  om_node,
axiom_element_t *  root_element,
axutil_hash_t inscope_namespaces 
)

Examines the subtree beginning at the provided element For each element or attribute, if it refers to a namespace declared in a parent of the subtree root element, redeclares that namespace at the level of the subtree root and removes it from the set of parent namespaces in scope and not yet declared

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
root_element pointer to the subtree root element node
inscope_namespaces pointer to hash of parent namespaces

AXIS2_EXTERN axis2_status_t axiom_element_remove_attribute ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_attribute_t *  om_attribute 
)

removes an attribute from the element attribute list user must free this attribute, element free function does not free attributes that are not is it's attribute list

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_attribute attribute to be removed
Returns:
AXIS2_SUCCESS if attribute was found and removed, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_element_serialize_end_part ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_output_t om_output 
)

Serializes the end part of the given element. serialize_start_part must have been called before calling this method.

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
om_output AXIOM output handler to be used in serializing
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_element_serialize_start_part ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_output_t om_output,
axiom_node_t *  ele_node 
)

Serializes the start part of the given element

Parameters:
element element to be serialized.
env Environment. MUST NOT be NULL.
om_output AXIOM output handler to be used in serializing
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axiom_element_set_is_empty ( axiom_element_t *  om_element,
const axutil_env_t env,
axis2_bool_t  is_empty 
)

Set whether the element is empty or not

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
is_empty AXIS2_TRUE if empty AXIS2_FALSE if not empty
Returns:
VOID

AXIS2_EXTERN axis2_status_t axiom_element_set_localname ( axiom_element_t *  om_element,
const axutil_env_t env,
const axis2_char_t *  localname 
)

set the localname of this element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL text value to be set as localname
Returns:
status code of op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_element_set_localname_str ( axiom_element_t *  om_element,
const axutil_env_t env,
axutil_string_t *  localname 
)

Set the Local name of the element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
localname the Local name of the element
Returns:

AXIS2_EXTERN axis2_status_t axiom_element_set_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_namespace_t *  ns,
axiom_node_t *  node 
)

set the namespace of the element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
ns pointer to namespace If the value of the namespace has not already been declared then the namespace structure ns will be declared and will be freed when the tree is freed.
Returns:
status code of the op, with error code set to environment's error

AXIS2_EXTERN axis2_status_t axiom_element_set_namespace_assume_param_ownership ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_namespace_t *  ns 
)

unconditionally set the namespace of the element

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
ns pointer to namespace The namespace ns is assumed to have been declared already.
Returns:
status code of the op, with error code set to environment's error

AXIS2_EXTERN axis2_status_t axiom_element_set_namespace_with_no_find_in_current_scope ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_namespace_t *  om_ns 
)

This will not search the namespace in the scope nor will declare in the current element, as in set_namespace. This will just assign the given namespace to the element.

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
om_ns pointer to namespace to be set
Returns:

AXIS2_EXTERN axis2_status_t axiom_element_set_text ( axiom_element_t *  om_element,
const axutil_env_t env,
const axis2_char_t *  text,
axiom_node_t *  element_node 
)

Sets the text of the given element. caution - This method will wipe out all the text elements (and hence any mixed content) before setting the text

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
text text to set.
element_node node of element.
Returns:
AXIS2_SUCCESS if attribute was found and removed, else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axiom_element_to_string ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  element_node 
)

returns the serilized text of this element and its children

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
element_node the container node this on element is contained
Returns:
a char array of xml , returns NULL on error

AXIS2_EXTERN void axiom_element_use_parent_namespace ( axiom_element_t *  om_element,
const axutil_env_t env,
axiom_node_t *  om_node,
axiom_namespace_t *  ns,
axiom_element_t *  root_element,
axutil_hash_t inscope_namespaces 
)

If the provided namespace used by the provided element is one of the namespaces from the parent of the root root element, redeclares that namespace at the root element and removes it from the hash of parent namespaces

Parameters:
om_element pointer to om_element
env environment MUST not be NULL
om_node pointer to this element node
ns pointer to namespace to redeclare
root_element pointer to the subtree root element node
inscope_namespaces pointer to hash of parent namespaces


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__builder.html0000644000175000017500000010705211172017604025711 0ustar00manjulamanjula00000000000000 Axis2/C: soap builder

soap builder
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_builder_t * 
axiom_soap_builder_create (const axutil_env_t *env, axiom_stax_builder_t *builder, const axis2_char_t *soap_version)
AXIS2_EXTERN void axiom_soap_builder_free (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_builder_get_soap_envelope (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_document_t * 
axiom_soap_builder_get_document (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_next (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_builder_get_document_element (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_set_bool_processing_mandatory_fault_elements (axiom_soap_builder_t *builder, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_set_processing_detail_elements (axiom_soap_builder_t *builder, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN axis2_bool_t axiom_soap_builder_is_processing_detail_elements (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_builder_get_soap_version (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_process_namespace_data (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_node_t *om_node, axis2_bool_t is_soap_element)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_set_mime_body_parts (axiom_soap_builder_t *builder, const axutil_env_t *env, axutil_hash_t *map)
AXIS2_EXTERN
axutil_hash_t
axiom_soap_builder_get_mime_body_parts (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN void axiom_soap_builder_set_mime_parser (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_mime_parser_t *mime_parser)
AXIS2_EXTERN void axiom_soap_builder_set_callback_function (axiom_soap_builder_t *builder, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback)
AXIS2_EXTERN void axiom_soap_builder_set_callback_ctx (axiom_soap_builder_t *builder, const axutil_env_t *env, void *callback_ctx)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_create_attachments (axiom_soap_builder_t *builder, const axutil_env_t *env, void *user_param, axis2_char_t *callback_name)
AXIS2_EXTERN axis2_bool_t axiom_soap_builder_replace_xop (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_node_t *om_element_node, axiom_element_t *om_element)

Function Documentation

AXIS2_EXTERN axiom_soap_builder_t* axiom_soap_builder_create ( const axutil_env_t env,
axiom_stax_builder_t *  builder,
const axis2_char_t *  soap_version 
)

creates a axiom_soap_builder struct

Parameters:
env Environment. MUST NOT be NULL
builder Stax builder
Returns:
the created SOAP Builder

AXIS2_EXTERN void axiom_soap_builder_free ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Free the SOAP Builder

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
VOID

AXIS2_EXTERN axiom_document_t* axiom_soap_builder_get_document ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Get the OM document of the SOAP Buidler

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
the OM document

AXIS2_EXTERN axiom_node_t* axiom_soap_builder_get_document_element ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
the axiom_node of the OM document

AXIS2_EXTERN axutil_hash_t* axiom_soap_builder_get_mime_body_parts ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Get the MIME body parts

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
hash of mime body parts

AXIS2_EXTERN axiom_soap_envelope_t* axiom_soap_builder_get_soap_envelope ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Get the SOAP envelope of the SOAP builder

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
the SOAP envelope

AXIS2_EXTERN int axiom_soap_builder_get_soap_version ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Get the SOAP version

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
the SOAP version

AXIS2_EXTERN axis2_bool_t axiom_soap_builder_is_processing_detail_elements ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_TRUE if the the element is present, AXIS2_FALSE otherwise

AXIS2_EXTERN axis2_status_t axiom_soap_builder_next ( axiom_soap_builder_t *  builder,
const axutil_env_t env 
)

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS if the next element is present else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_builder_process_namespace_data ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
axiom_node_t *  om_node,
axis2_bool_t  is_soap_element 
)

Process and verifies namespace data of

Parameters:
om_node 
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_builder_set_bool_processing_mandatory_fault_elements ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
axis2_bool_t  value 
)

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axiom_soap_builder_set_callback_ctx ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
void *  callback_ctx 
)

Set the callback_ctx

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
void pointer to the callback_ctx

AXIS2_EXTERN void axiom_soap_builder_set_callback_function ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
AXIS2_READ_INPUT_CALLBACK  callback 
)

Set the callback function

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
callback to the callback function pointer

AXIS2_EXTERN axis2_status_t axiom_soap_builder_set_mime_body_parts ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
axutil_hash_t map 
)

Set the MIME body parts

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axiom_soap_builder_set_mime_parser ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
axiom_mime_parser_t *  mime_parser 
)

Set the mime_parser

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL mime_parser pointer to a axiom_mime_parser_t instance

AXIS2_EXTERN axis2_status_t axiom_soap_builder_set_processing_detail_elements ( axiom_soap_builder_t *  builder,
const axutil_env_t env,
axis2_bool_t  value 
)

Parameters:
builder pointer to the SOAP Builder struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__resolver_8h.html0000644000175000017500000002400011172017604025206 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_resolver.h File Reference

axis2_phase_resolver.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_qname.h>
#include <axutil_array_list.h>
#include <axutil_hash.h>
#include <axis2_handler_desc.h>
#include <axis2_phase.h>
#include <axis2_phase_rule.h>
#include <axis2_handler.h>
#include <axis2_flow.h>
#include <axis2_module_desc.h>
#include <axis2_phase_holder.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_phase_resolver 
axis2_phase_resolver_t

Functions

AXIS2_EXTERN void axis2_phase_resolver_free (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_engage_module_globally (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_module_desc *module)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_engage_module_to_svc (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_svc *svc, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_engage_module_to_op (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_op *axis_op, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_build_execution_chains_for_svc (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_build_execution_chains_for_module_op (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_disengage_module_from_svc (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_svc *svc, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_disengage_module_from_op (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_op *axis_op, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_build_transport_chains (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_resolver_t
axis2_phase_resolver_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_resolver_t
axis2_phase_resolver_create_with_config (const axutil_env_t *env, struct axis2_conf *axis2_config)
AXIS2_EXTERN
axis2_phase_resolver_t
axis2_phase_resolver_create_with_config_and_svc (const axutil_env_t *env, struct axis2_conf *axis2_config, struct axis2_svc *svc)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__receiver__ops-members.html0000644000175000017500000000716511172017604031440 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_transport_receiver_ops Member List

This is the complete list of members for axis2_transport_receiver_ops, including all inherited members.

freeaxis2_transport_receiver_ops
get_conf_ctxaxis2_transport_receiver_ops
get_reply_to_epraxis2_transport_receiver_ops
initaxis2_transport_receiver_ops
is_runningaxis2_transport_receiver_ops
startaxis2_transport_receiver_ops
stopaxis2_transport_receiver_ops


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structentry__s.html0000644000175000017500000000723611172017604023265 0ustar00manjulamanjula00000000000000 Axis2/C: entry_s Struct Reference

entry_s Struct Reference
[linked list]

#include <axutil_linked_list.h>

List of all members.

Public Attributes

void * data
struct entry_snext
struct entry_sprevious


Detailed Description

Struct to represent an entry in the list. Holds a single element.

Member Data Documentation

The element in the list.


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__server_8h.html0000644000175000017500000001073311172017604024542 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_server.h File Reference

axis2_http_server.h File Reference

axis2 HTTP Server implementation More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_conf_ctx.h>
#include <axis2_transport_receiver.h>

Go to the source code of this file.

Functions

AXIS2_EXTERN
axis2_transport_receiver_t
axis2_http_server_create (const axutil_env_t *env, const axis2_char_t *repo, const int port)
AXIS2_EXTERN
axis2_transport_receiver_t
axis2_http_server_create_with_file (const axutil_env_t *env, const axis2_char_t *file, const int port)
AXIS2_EXTERN
axis2_status_t 
axis2_http_server_stop (axis2_transport_receiver_t *server, const axutil_env_t *env)


Detailed Description

axis2 HTTP Server implementation


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__module_8h-source.html0000644000175000017500000002716011172017604024623 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_module.h Source File

axis2_module.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 #ifndef AXIS2_MODULE_H
00019 #define AXIS2_MODULE_H
00020 
00040 #include <axis2_const.h>
00041 #include <axutil_error.h>
00042 #include <axis2_defines.h>
00043 #include <axutil_env.h>
00044 #include <axutil_allocator.h>
00045 #include <axutil_string.h>
00046 #include <axis2_conf.h>
00047 #include <axis2_module_desc.h>
00048 #include <axutil_hash.h>
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054 
00056     typedef struct axis2_module_ops axis2_module_ops_t;
00057 
00059     typedef struct axis2_module axis2_module_t;
00060 
00061     struct axis2_conf;
00062 
00074     struct axis2_module_ops
00075     {
00076 
00085         axis2_status_t(
00086             AXIS2_CALL
00087             * init)(
00088                 axis2_module_t * module,
00089                 const axutil_env_t * env,
00090                 struct axis2_conf_ctx * conf_ctx,
00091                 axis2_module_desc_t * module_desc);
00092 
00099         axis2_status_t(
00100             AXIS2_CALL
00101             * shutdown)(
00102                 axis2_module_t * module,
00103                 const axutil_env_t * env);
00104 
00111         axis2_status_t(
00112             AXIS2_CALL
00113             * fill_handler_create_func_map)(
00114                 axis2_module_t * module,
00115                 const axutil_env_t * env);
00116 
00117     };
00118 
00122     struct axis2_module
00123     {
00124 
00126         const axis2_module_ops_t *ops;
00127 
00129         axutil_hash_t *handler_create_func_map;
00130     };
00131 
00137     AXIS2_EXTERN axis2_module_t *AXIS2_CALL
00138     axis2_module_create(
00139         const axutil_env_t * env);
00140 
00143 #define axis2_module_init(module, env, conf_ctx, module_desc) \
00144       ((module)->ops->init (module, env, conf_ctx, module_desc))
00145 
00148 #define axis2_module_shutdown(module, env) \
00149       ((module)->ops->shutdown (module, env))
00150 
00153 #define axis2_module_fill_handler_create_func_map(module, env) \
00154       ((module)->ops->fill_handler_create_func_map (module, env))
00155 
00158 #ifdef __cplusplus
00159 }
00160 #endif
00161 #endif                          /* AXIS2_MODULE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__rand_8h-source.html0000644000175000017500000001476111172017604024545 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_rand.h Source File

axutil_rand.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_RAND_H
00019 #define AXUTIL_RAND_H
00020 
00021 #include <axutil_error.h>
00022 #include <axutil_env.h>
00023 #include <axutil_date_time.h>
00024 #include <axutil_base64_binary.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00049     AXIS2_EXTERN int AXIS2_CALL
00050     axutil_rand(
00051         unsigned int *seedp);
00052 
00063     AXIS2_EXTERN int AXIS2_CALL
00064     axutil_rand_with_range(
00065         unsigned int *seedp,
00066         int start,
00067         int end);
00068 
00072     AXIS2_EXTERN unsigned int AXIS2_CALL
00073 
00074     axutil_rand_get_seed_value_based_on_time(
00075         const axutil_env_t * env);
00076 
00079 #ifdef __cplusplus
00080 }
00081 #endif
00082 
00083 #endif                          /* AXIS2_RAND_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__code.html0000644000175000017500000003266711172017604026540 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault code

soap fault code
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_code_t * 
axiom_soap_fault_code_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN
axiom_soap_fault_code_t * 
axiom_soap_fault_code_create_with_parent_value (const axutil_env_t *env, axiom_soap_fault_t *fault, axis2_char_t *value)
AXIS2_EXTERN void axiom_soap_fault_code_free (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_sub_code * 
axiom_soap_fault_code_get_sub_code (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_value * 
axiom_soap_fault_code_get_value (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_code_get_base_node (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_code_t* axiom_soap_fault_code_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_t *  fault 
)

creates a soap fault code struct

Parameters:
env Environment. MUST NOT be NULL
fault_code the pointer to the AXIOM fault code struct
Returns:

AXIS2_EXTERN axiom_soap_fault_code_t* axiom_soap_fault_code_create_with_parent_value ( const axutil_env_t env,
axiom_soap_fault_t *  fault,
axis2_char_t *  value 
)

Parameters:
fault_code the pointer to the AXIOM fault code struct
env Environment. MUST NOT be NULL
Returns:

AXIS2_EXTERN void axiom_soap_fault_code_free ( axiom_soap_fault_code_t *  fault_code,
const axutil_env_t env 
)

Free an axiom_soap_fault_code

Parameters:
fault_code pointer to soap_fault_code struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_code_get_base_node ( axiom_soap_fault_code_t *  fault_code,
const axutil_env_t env 
)

Get the base node of the SOAP fault

Parameters:
fault_code the pointer to the AXIOM fault code struct
env Environment. MUST NOT be NULL
Returns:
retrns the base node of the SOAP fault

AXIS2_EXTERN struct axiom_soap_fault_sub_code* axiom_soap_fault_code_get_sub_code ( axiom_soap_fault_code_t *  fault_code,
const axutil_env_t env 
) [read]

Parameters:
fault_code the pointer to the AXIOM fault code struct
env Environment. MUST NOT be NULL
Returns:
axiom_soap_fault_sub_code struct if one is associated with this fault_code struct , otherwise teturns NULL

AXIS2_EXTERN struct axiom_soap_fault_value* axiom_soap_fault_code_get_value ( axiom_soap_fault_code_t *  fault_code,
const axutil_env_t env 
) [read]

Parameters:
fault_code the pointer to the AXIOM fault code struct
env Environment. MUST NOT be NULL
Returns:
soap_fault_value if available


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__file_8h-source.html0000644000175000017500000002206711172017604024536 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_file.h Source File

axutil_file.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_FILE_H
00020 #define AXUTIL_FILE_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <axutil_utils.h>
00026 #include <platforms/axutil_platform_auto_sense.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct axutil_file axutil_file_t;
00034 
00045     AXIS2_EXTERN axutil_file_t *AXIS2_CALL
00046     axutil_file_create(
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN void AXIS2_CALL
00050     axutil_file_free(
00051         axutil_file_t * file,
00052         const axutil_env_t * env);
00053 
00054     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00055     axutil_file_set_name(
00056         axutil_file_t * file,
00057         const axutil_env_t * env,
00058         axis2_char_t * name);
00059 
00060     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00061     axutil_file_get_name(
00062         axutil_file_t * file,
00063         const axutil_env_t * env);
00064 
00065     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066     axutil_file_set_path(
00067         axutil_file_t * file,
00068         const axutil_env_t * env,
00069         axis2_char_t * path);
00070 
00071     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00072     axutil_file_get_path(
00073         axutil_file_t * file,
00074         const axutil_env_t * env);
00075 
00076     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00077     axutil_file_set_timestamp(
00078         axutil_file_t * file,
00079         const axutil_env_t * env,
00080         AXIS2_TIME_T timestamp);
00081 
00082     AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL
00083     axutil_file_get_timestamp(
00084         axutil_file_t * file,
00085         const axutil_env_t * env);
00086 
00090     AXIS2_EXTERN axutil_file_t *AXIS2_CALL
00091     axutil_file_clone(
00092         axutil_file_t * file,
00093         const axutil_env_t * env);
00094 
00095 #ifdef __cplusplus
00096 }
00097 #endif
00098 
00099 #endif                          /* AXIS2_FILE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__log.html0000644000175000017500000006133111172017604024053 0ustar00manjulamanjula00000000000000 Axis2/C: log

log
[utilities]


Classes

struct  axutil_log_ops
 Axis2 log ops struct. More...
struct  axutil_log
 Axis2 Log struct. More...

Defines

#define AXIS2_LOG_FREE(allocator, log)   axutil_log_free(allocator, log)
#define AXIS2_LOG_WRITE(log, buffer, level, file)   axutil_log_write(log, buffer, level, file, AXIS2_LOG_SI)
#define AXIS2_LOG_USER   axutil_log_impl_log_user
#define AXIS2_LOG_DEBUG   axutil_log_impl_log_debug
#define AXIS2_LOG_INFO   axutil_log_impl_log_info
#define AXIS2_LOG_WARNING   axutil_log_impl_log_warning
#define AXIS2_LOG_ERROR   axutil_log_impl_log_error
#define AXIS2_LOG_CRITICAL   axutil_log_impl_log_critical
#define AXIS2_LOG_TRACE   axutil_log_impl_log_trace
#define AXIS2_LOG_PROJECT_PREFIX   "[axis2c]"
#define AXIS2_LOG_USER_MSG(log, msg)   AXIS2_LOG_USER (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LOG_DEBUG_MSG(log, msg)   AXIS2_LOG_DEBUG (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LOG_INFO_MSG(log, msg)   AXIS2_LOG_INFO (log, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LOG_WARNING_MSG(log, msg)   AXIS2_LOG_WARNING (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LOG_ERROR_MSG(log, msg)   AXIS2_LOG_ERROR (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LOG_CRITICAL_MSG(log, msg)   AXIS2_LOG_CRITICAL (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LOG_TRACE_MSG(log, msg)   AXIS2_LOG_TRACE (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
#define AXIS2_LEN_VALUE   6000

Typedefs

typedef enum
axutil_log_levels 
axutil_log_levels_t
 Axis2 log levels.

Enumerations

enum  axutil_log_levels {
  AXIS2_LOG_LEVEL_CRITICAL = 0, AXIS2_LOG_LEVEL_ERROR, AXIS2_LOG_LEVEL_WARNING, AXIS2_LOG_LEVEL_INFO,
  AXIS2_LOG_LEVEL_DEBUG, AXIS2_LOG_LEVEL_USER, AXIS2_LOG_LEVEL_TRACE
}
 Axis2 log levels. More...

Functions

AXIS2_EXTERN void axutil_log_impl_log_critical (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_impl_log_error (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_impl_log_warning (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_impl_log_info (axutil_log_t *log, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_impl_log_user (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_impl_log_debug (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_impl_log_trace (axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format,...)
AXIS2_EXTERN void axutil_log_free (axutil_allocator_t *allocator, struct axutil_log *log)
AXIS2_EXTERN void axutil_log_write (axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line)
AXIS2_EXTERN
axutil_log_t
axutil_log_create (axutil_allocator_t *allocator, axutil_log_ops_t *ops, const axis2_char_t *stream_name)
AXIS2_EXTERN
axis2_char_t * 
axutil_log_impl_get_time_str (void)
AXIS2_EXTERN
axutil_log_t
axutil_log_create_default (axutil_allocator_t *allocator)

Define Documentation

#define AXIS2_LOG_PROJECT_PREFIX   "[axis2c]"

Each module/project should undef and define the following..


Typedef Documentation

Axis2 log levels.

Examples To write debug information to log AXIS2_LOG_DEBUG(log,AXIS2_LOG_SI,"log this %s %d","test",123); This would log "log this test 123" into the log file

similar macros are defined for different log levels: CRITICAL,ERROR,WARNING and INFO and SERVICE

CRITICAL and ERROR logs are always written to file and other logs are written depending on the log level set (log->level)


Enumeration Type Documentation

Axis2 log levels.

Examples To write debug information to log AXIS2_LOG_DEBUG(log,AXIS2_LOG_SI,"log this %s %d","test",123); This would log "log this test 123" into the log file

similar macros are defined for different log levels: CRITICAL,ERROR,WARNING and INFO and SERVICE

CRITICAL and ERROR logs are always written to file and other logs are written depending on the log level set (log->level)

Enumerator:
AXIS2_LOG_LEVEL_CRITICAL  Critical level, logs only critical errors
AXIS2_LOG_LEVEL_ERROR  Error level, logs only errors
AXIS2_LOG_LEVEL_WARNING  Warning level, logs only warnings
AXIS2_LOG_LEVEL_INFO  Info level, logs information
AXIS2_LOG_LEVEL_DEBUG  Debug level, logs everything
AXIS2_LOG_LEVEL_USER  User level, logs only user level debug messages
AXIS2_LOG_LEVEL_TRACE  Trace level, Enable with compiler time option AXIS2_TRACE


Function Documentation

AXIS2_EXTERN axutil_log_t* axutil_log_create ( axutil_allocator_t allocator,
axutil_log_ops_t ops,
const axis2_char_t *  stream_name 
)

Creates a log struct

Parameters:
allocator allocator to be used. Mandatory, cannot be NULL
Returns:
pointer to the newly created log struct


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__transport__binding__builder_8h-source.html0000644000175000017500000001245011172017604030457 0ustar00manjulamanjula00000000000000 Axis2/C: rp_transport_binding_builder.h Source File

rp_transport_binding_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_TRANSPORT_BINDING_BUILDER_H
00019 #define RP_TRANSPORT_BINDING_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_transport_binding.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037 
00038     rp_transport_binding_builder_build(
00039         const axutil_env_t * env,
00040         axiom_node_t * node,
00041         axiom_element_t * element);
00042 
00043 #ifdef __cplusplus
00044 }
00045 #endif
00046 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__properties_8h-source.html0000644000175000017500000002243011172017604026005 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_properties.h Source File

axutil_properties.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_PROPERTIES_H
00020 #define AXUTIL_PROPERTIES_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <axutil_hash.h>
00026 #include <stdio.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00039     typedef struct axutil_properties axutil_properties_t;
00040 
00045     AXIS2_EXTERN axutil_properties_t *AXIS2_CALL
00046     axutil_properties_create(
00047         const axutil_env_t * env);
00048 
00056     AXIS2_EXTERN void AXIS2_CALL
00057     axutil_properties_free(
00058         axutil_properties_t * properties,
00059         const axutil_env_t * env);
00060 
00068     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00069     axutil_properties_get_property(
00070         axutil_properties_t * properties,
00071         const axutil_env_t * env,
00072         axis2_char_t * key);
00073 
00083     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084     axutil_properties_set_property(
00085         axutil_properties_t * properties,
00086         const axutil_env_t * env,
00087         axis2_char_t * key,
00088         axis2_char_t * value);
00089 
00096     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00097     axutil_properties_get_all(
00098         axutil_properties_t * properties,
00099         const axutil_env_t * env);
00100 
00109     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00110     axutil_properties_load(
00111         axutil_properties_t * properties,
00112         const axutil_env_t * env,
00113         axis2_char_t * input_filename);
00114 
00123     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00124     axutil_properties_store(
00125         axutil_properties_t * properites,
00126         const axutil_env_t * env,
00127         FILE * output);
00128 
00129     /*************************** End of function macros ***************************/
00130 
00133 #ifdef __cplusplus
00134 }
00135 #endif
00136 
00137 #endif                          /* AXIS2_PROPERTIES_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__token__identifier.html0000644000175000017500000000422511172017604026065 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_token_identifier

Rp_token_identifier


Functions

AXIS2_EXTERN
axis2_status_t 
rp_token_identifier_set_token (rp_property_t *token, neethi_assertion_t *assertion, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__secpolicy__builder.html0000644000175000017500000000413411172017604026242 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_secpolicy_builder

Rp_secpolicy_builder


Functions

AXIS2_EXTERN
rp_secpolicy_t * 
rp_secpolicy_builder_build (const axutil_env_t *env, neethi_policy_t *policy)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__env-members.html0000644000175000017500000000573011172017604025405 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axutil_env Member List

This is the complete list of members for axutil_env, including all inherited members.

allocatoraxutil_env
erroraxutil_env
logaxutil_env
log_enabledaxutil_env
ref (defined in axutil_env)axutil_env
thread_poolaxutil_env


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__version__t.html0000644000175000017500000001226711172017604025057 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_version_t Struct Reference

axis2_version_t Struct Reference

#include <axutil_version.h>

List of all members.

Public Attributes

int major
int minor
int patch
int is_dev


Detailed Description

The numeric version information is broken out into fields within this structure.

Member Data Documentation

major number

minor number

patch number

is development (1 or 0)


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__element.html0000644000175000017500000001162011172017604024032 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_element

Rp_element


Typedefs

typedef struct
rp_element_t 
rp_element_t

Functions

AXIS2_EXTERN
rp_element_t * 
rp_element_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_element_free (rp_element_t *element, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_element_get_name (rp_element_t *element, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_element_set_name (rp_element_t *element, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_char_t * 
rp_element_get_namespace (rp_element_t *element, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_element_set_namespace (rp_element_t *element, const axutil_env_t *env, axis2_char_t *nspace)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__phase.html0000644000175000017500000015005611172017604024115 0ustar00manjulamanjula00000000000000 Axis2/C: phases

phases
[engine]


Files

file  axis2_phase.h

Defines

#define AXIS2_PHASE_BOTH_BEFORE_AFTER   0
#define AXIS2_PHASE_BEFORE   1
#define AXIS2_PHASE_AFTER   2
#define AXIS2_PHASE_ANYWHERE   3

Typedefs

typedef struct
axis2_phase 
axis2_phase_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_phase_add_handler_at (axis2_phase_t *phase, const axutil_env_t *env, const int index, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_add_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_remove_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_invoke (axis2_phase_t *phase, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_get_name (const axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN int axis2_phase_get_handler_count (const axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_set_first_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_set_last_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_add_handler_desc (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_remove_handler_desc (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_before (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_after (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_before_and_after (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_handler_desc (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axutil_array_list_t
axis2_phase_get_all_handlers (const axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_invoke_start_from_handler (axis2_phase_t *phase, const axutil_env_t *env, const int paused_handler_index, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN void axis2_phase_free (axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_t
axis2_phase_create (const axutil_env_t *env, const axis2_char_t *phase_name)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_increment_ref (axis2_phase_t *phase, const axutil_env_t *env)

Detailed Description

phase is a logical unit of execution in the Axis2 engine's execution flows. A phase encapsulates one or more handlers in a given sequence to be invoked. The sequencing of handlers within a phase are often defined by module configuration which specifies where in the phase's handler chain a given handler should be placed. Calling invoke on phase triggers invoke on the handlers stored within the phase in the sequence they are ordered.

Define Documentation

#define AXIS2_PHASE_AFTER   2

A given handler's location within the list of handlers is after another given handler.

#define AXIS2_PHASE_ANYWHERE   3

A given handler's location within the list of handlers could be anywhere in the list.

#define AXIS2_PHASE_BEFORE   1

A given handler's location within the list of handlers is before another given handler.

#define AXIS2_PHASE_BOTH_BEFORE_AFTER   0

A given handler's location within the list of handlers is before a particular handler and after another particular handler.


Typedef Documentation

typedef struct axis2_phase axis2_phase_t

Type name for axis2_phase


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_phase_add_handler ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Adds the given handler to the end of the handler list.

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_add_handler_at ( axis2_phase_t phase,
const axutil_env_t env,
const int  index,
axis2_handler_t handler 
)

Adds given handler to the specified position in the handler array list.

Parameters:
phase pointer to phase struct
env pointer to environment struct
index index
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_add_handler_desc ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_desc_t handler_desc 
)

Adds handler within the handler description to the list of handlers in the phase.

Parameters:
phase pointer to phase
env pointer to environment struct
handler_desc pointer to handler description, phase does not assume the ownership of neither the handler description not the handler within the handler description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_phase_t* axis2_phase_create ( const axutil_env_t env,
const axis2_char_t *  phase_name 
)

creates phase struct instance.

Parameters:
env pointer to environment struct
phase_name name of the phase to be created
Returns:
pointer to newly created phase

AXIS2_EXTERN void axis2_phase_free ( axis2_phase_t phase,
const axutil_env_t env 
)

Frees phase struct.

Parameters:
phase pointer to phase
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_phase_get_all_handlers ( const axis2_phase_t phase,
const axutil_env_t env 
)

Gets all the handlers in the phase.

Parameters:
phase pointer to phase
env pointer to environment struct
Returns:
pointer to array list containing the list of handlers

AXIS2_EXTERN int axis2_phase_get_handler_count ( const axis2_phase_t phase,
const axutil_env_t env 
)

Gets handler count in the handler list.

Parameters:
phase pointer to phase
env pointer to environment struct
Returns:
the number of handlers in the handler list

AXIS2_EXTERN const axis2_char_t* axis2_phase_get_name ( const axis2_phase_t phase,
const axutil_env_t env 
)

Gets phase name.

Parameters:
phase pointer to phase
env pointer to environment struct
Returns:
returns name of phase

AXIS2_EXTERN axis2_status_t axis2_phase_insert_after ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Inserts the handler into handler list of the phase based on the phase rules associated with the handler. This function takes into account the after rules of the handler. After rules specify the location of a current handler in the handler list, after which the given handler is to be placed.

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_insert_before ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Inserts the handler into handler list of the phase based on the phase rules associated with the handler. This function takes into account the before rules of the handler. Before rules specify the location of a current handler in the handler list, before which the given handler is to be placed.

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_insert_before_and_after ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Inserts the handler into handler list of the phase based on both before and after phase rules associated with the handler. This method assume that both the before and after cannot be the same handler . That condition is not checked by this function. It should be checked before calling this function

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_insert_handler_desc ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_desc_t handler_desc 
)

Inserts the handler to the correct location in the handler list of the phase. Location is evaluated based on the phase rules.

Parameters:
phase pointer to phase
env pointer to environment struct
handler_desc pointer to handler description, phase does not assume the ownership of neither the handler description not the handler within the handler description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_invoke ( axis2_phase_t phase,
const axutil_env_t env,
struct axis2_msg_ctx *  msg_ctx 
)

Invokes the phase. This function will in turn call invoke method of each handler in the handler list, in sequence, starting from the beginning of the list to the end of the list.

Parameters:
phase pointer to phase
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_invoke_start_from_handler ( axis2_phase_t phase,
const axutil_env_t env,
const int  paused_handler_index,
struct axis2_msg_ctx *  msg_ctx 
)

Invokes handlers starting from the given handler index.

Parameters:
phase pointer to phase
env pointer to environment struct
paused_handler_index index of the handler to start the invocation from
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_remove_handler ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Remove the given handler from the handler list.

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_remove_handler_desc ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_desc_t handler_desc 
)

Remove handler within the handler description from the list of handlers in the phase.

Parameters:
phase pointer to phase
env pointer to environment struct
handler_desc pointer to handler description, phase does not assume the ownership of neither the handler description not the handler within the handler description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_set_first_handler ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Sets the first handler in the handler list.

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_set_last_handler ( axis2_phase_t phase,
const axutil_env_t env,
axis2_handler_t handler 
)

Sets the last handler in the handler list.

Parameters:
phase pointer to phase
env pointer to environment struct
handler pointer to handler, phase does not assume the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_0x70.html0000644000175000017500000000545311172017604022376 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- p -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__data__handler_8h-source.html0000644000175000017500000004327011172017604026172 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_data_handler.h Source File

axiom_data_handler.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_DATA_HANDLER_H
00020 #define AXIOM_DATA_HANDLER_H
00021 
00027 #include <axutil_utils.h>
00028 #include <axutil_error.h>
00029 #include <axutil_utils_defines.h>
00030 #include <axutil_env.h>
00031 #include <axutil_allocator.h>
00032 #include <axutil_string.h>
00033 #include <axutil_array_list.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00040     typedef enum axiom_data_handler_type
00041     {
00042         AXIOM_DATA_HANDLER_TYPE_FILE,
00043         AXIOM_DATA_HANDLER_TYPE_BUFFER,
00044         AXIOM_DATA_HANDLER_TYPE_CALLBACK
00045     } axiom_data_handler_type_t;
00046 
00047     typedef struct axiom_data_handler axiom_data_handler_t;
00048 
00059     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00060     axiom_data_handler_get_content_type(
00061         axiom_data_handler_t * data_handler,
00062         const axutil_env_t * env);
00063         
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     axiom_data_handler_set_content_type(
00072         axiom_data_handler_t * data_handler,
00073         const axutil_env_t * env,
00074                 const axis2_char_t *mime_type);
00075 
00081     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00082     axiom_data_handler_get_cached(
00083         axiom_data_handler_t * data_handler,
00084         const axutil_env_t * env);
00085         
00092     AXIS2_EXTERN void AXIS2_CALL
00093     axiom_data_handler_set_cached(
00094         axiom_data_handler_t * data_handler,
00095         const axutil_env_t * env,
00096                 axis2_bool_t cached);
00097 
00098 
00104     AXIS2_EXTERN axis2_byte_t *AXIS2_CALL
00105 
00106     axiom_data_handler_get_input_stream(
00107         axiom_data_handler_t * data_handler,
00108         const axutil_env_t * env);
00109 
00115     AXIS2_EXTERN int AXIS2_CALL
00116     axiom_data_handler_get_input_stream_len(
00117         axiom_data_handler_t * data_handler,
00118         const axutil_env_t * env);
00119 
00127     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00128     axiom_data_handler_read_from(
00129         axiom_data_handler_t * data_handler,
00130         const axutil_env_t * env,
00131         axis2_byte_t ** output_stream,
00132         int *output_stream_size);
00133 
00139     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140 
00141     axiom_data_handler_set_binary_data(
00142         axiom_data_handler_t * data_handler,
00143         const axutil_env_t * env,
00144         axis2_byte_t * input_stream,
00145         int input_stream_len);
00146 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153     axiom_data_handler_write_to(
00154         axiom_data_handler_t * data_handler,
00155         const axutil_env_t * env);
00156 
00162     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00163     axiom_data_handler_set_file_name(
00164         axiom_data_handler_t * data_handler,
00165         const axutil_env_t * env,
00166         axis2_char_t * file_name);
00167 
00173     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00174     axiom_data_handler_get_file_name(
00175         axiom_data_handler_t * data_handler,
00176         const axutil_env_t * env);
00177 
00183     AXIS2_EXTERN void AXIS2_CALL
00184     axiom_data_handler_free(
00185         axiom_data_handler_t * data_handler,
00186         const axutil_env_t * env);
00187 
00192     AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL
00193     axiom_data_handler_create(
00194         const axutil_env_t * env,
00195         const axis2_char_t * file_name,
00196         const axis2_char_t * mime_type);
00197 
00198     /* Add the binary to the array_list
00199      * @param data_handler, a pointer to data handler struct
00200      * data_handler, a pointer to data handler struct
00201      * list, a pointer to an array_list which containing some message parts need 
00202      * to be written to the wire
00203      * data_handler, a pointer to data handler struct
00204      */ 
00205     
00206     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00207     axiom_data_handler_add_binary_data(
00208         axiom_data_handler_t *data_handler,
00209         const axutil_env_t *env,
00210         axutil_array_list_t *list);
00211    
00212  
00213     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00214     axiom_data_handler_get_mime_id(
00215         axiom_data_handler_t *data_handler,
00216         const axutil_env_t *env);
00217 
00225     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00226     axiom_data_handler_set_mime_id(
00227         axiom_data_handler_t *data_handler,
00228         const axutil_env_t *env,
00229         const axis2_char_t *mime_id);
00230 
00231 
00232     AXIS2_EXTERN axiom_data_handler_type_t AXIS2_CALL
00233     axiom_data_handler_get_data_handler_type(
00234         axiom_data_handler_t *data_handler,
00235         const axutil_env_t *env);
00236 
00237     AXIS2_EXTERN void AXIS2_CALL
00238     axiom_data_handler_set_data_handler_type(
00239         axiom_data_handler_t *data_handler,
00240         const axutil_env_t *env,
00241         axiom_data_handler_type_t data_handler_type);
00242 
00243     AXIS2_EXTERN void *AXIS2_CALL
00244     axiom_data_handler_get_user_param(
00245         axiom_data_handler_t *data_handler,
00246         const axutil_env_t *env);
00247 
00248     AXIS2_EXTERN void AXIS2_CALL
00249     axiom_data_handler_set_user_param(
00250         axiom_data_handler_t *data_handler,
00251         const axutil_env_t *env,
00252         void *user_param);
00253 
00254     
00257 #ifdef __cplusplus
00258 }
00259 #endif
00260 #endif                          /* AXIOM_DATA_HANDLER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__class__loader.html0000644000175000017500000000623411172017604026065 0ustar00manjulamanjula00000000000000 Axis2/C: class loader

class loader
[utilities]


Functions

AXIS2_EXTERN
axis2_status_t 
axutil_class_loader_init (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_class_loader_delete_dll (const axutil_env_t *env, axutil_dll_desc_t *dll_desc)
AXIS2_EXTERN void * axutil_class_loader_create_dll (const axutil_env_t *env, axutil_param_t *impl_info_param)

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__addr_8h.html0000644000175000017500000003160611172017604022752 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_addr.h File Reference

axis2_addr.h File Reference

Go to the source code of this file.

Defines

#define AXIS2_WSA_MESSAGE_ID   "MessageID"
#define AXIS2_WSA_RELATES_TO   "RelatesTo"
#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE   "RelationshipType"
#define AXIS2_WSA_TO   "To"
#define AXIS2_WSA_FROM   "From"
#define AXIS2_WSA_REPLY_TO   "ReplyTo"
#define AXIS2_WSA_FAULT_TO   "FaultTo"
#define AXIS2_WSA_ACTION   "Action"
#define AXIS2_WSA_MAPPING   "wsamapping"
#define EPR_ADDRESS   "Address"
#define EPR_REFERENCE_PARAMETERS   "ReferenceParameters"
#define EPR_SERVICE_NAME   "ServiceName"
#define EPR_REFERENCE_PROPERTIES   "ReferenceProperties"
#define EPR_PORT_TYPE   "PortType"
#define EPR_SERVICE_NAME_PORT_NAME   "PortName"
#define AXIS2_WSA_NAMESPACE_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing"
#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION   "wsa:Reply"
#define AXIS2_WSA_ANONYMOUS_URL_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"
#define AXIS2_WSA_NONE_URL_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/none"
#define AXIS2_WSA_NAMESPACE   "http://www.w3.org/2005/08/addressing"
#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE   "http://www.w3.org/2005/08/addressing/reply"
#define AXIS2_WSA_ANONYMOUS_URL   "http://www.w3.org/2005/08/addressing/anonymous"
#define AXIS2_WSA_NONE_URL   "http://www.w3.org/2005/08/addressing/none"
#define AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE   "IsReferenceParameter"
#define AXIS2_WSA_TYPE_ATTRIBUTE_VALUE   "true"
#define AXIS2_WSA_INTERFACE_NAME   "InterfaceName"
#define AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAME   "EndpointName"
#define AXIS2_WSA_POLICIES   "Policies"
#define AXIS2_WSA_METADATA   "Metadata"
#define AXIS2_WSA_VERSION   "WSAddressingVersion"
#define AXIS2_WSA_DEFAULT_PREFIX   "wsa"
#define AXIS2_WSA_PREFIX_FAULT_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_FAULT_TO
#define AXIS2_WSA_PREFIX_REPLY_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_REPLY_TO
#define AXIS2_WSA_PREFIX_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_TO
#define AXIS2_WSA_PREFIX_MESSAGE_ID   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_MESSAGE_ID
#define AXIS2_WSA_PREFIX_ACTION   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_ACTION
#define PARAM_SERVICE_GROUP_CONTEXT_ID   "ServiceGroupContextIdFromAddressing"


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__log__ops.html0000644000175000017500000001300311172017604024756 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_log_ops Struct Reference

axutil_log_ops Struct Reference
[log]

Axis2 log ops struct. More...

#include <axutil_log.h>

List of all members.

Public Attributes

void(* free )(axutil_allocator_t *allocator, struct axutil_log *log)
void(* write )(axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line)


Detailed Description

Axis2 log ops struct.

Encapsulator struct for ops of axutil_log


Member Data Documentation

void( * axutil_log_ops::free)(axutil_allocator_t *allocator, struct axutil_log *log)

deletes the log

Returns:
axis2_status_t AXIS2_SUCCESS on success else AXIS2_FAILURE

void( * axutil_log_ops::write)(axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line)

writes to the log

Parameters:
buffer buffer to be written to log
size size of the buffer to be written to log
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__module__desc.html0000644000175000017500000017661111172017604025444 0ustar00manjulamanjula00000000000000 Axis2/C: module description

module description
[description]


Files

file  axis2_module_desc.h

Typedefs

typedef struct
axis2_module_desc 
axis2_module_desc_t

Functions

AXIS2_EXTERN void axis2_module_desc_free (axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_in_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_in_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_out_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_out_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *out_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_fault_in_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_fault_in_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *falut_in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_fault_out_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_fault_out_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *fault_out_flow)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_module_desc_get_qname (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_qname (axis2_module_desc_t *module_desc, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_add_op (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN
axutil_hash_t
axis2_module_desc_get_all_ops (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_conf * 
axis2_module_desc_get_parent (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_parent (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_conf *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_add_param (axis2_module_desc_t *module_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_module_desc_get_param (const axis2_module_desc_t *module_desc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_module_desc_get_all_params (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_module_desc_is_param_locked (const axis2_module_desc_t *module_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN struct
axis2_module
axis2_module_desc_get_module (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_module (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_module *module)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_module_desc_get_param_container (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_container_t
axis2_module_desc_get_flow_container (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_module_desc_t
axis2_module_desc_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_module_desc_t
axis2_module_desc_create_with_qname (const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN void axis2_module_desc_free_void_arg (void *module_desc, const axutil_env_t *env)

Detailed Description

module holds information about a module. This information includes module parameters and handler information. Modules are available to all services if axis2.xml has a module reference entry. Alternatively, a module could be made available to selected services by including a module reference entry in services.xml.

Typedef Documentation

typedef struct axis2_module_desc axis2_module_desc_t

Type name for struct axis2_module_desc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_module_desc_add_op ( axis2_module_desc_t module_desc,
const axutil_env_t env,
struct axis2_op *  op 
)

Adds given operation to module.

Parameters:
module_desc pointer to module description
env pointer to environment struct
op pointer to operation, module assumes ownership of operation
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_add_param ( axis2_module_desc_t module_desc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds parameter to module description.

Parameters:
module_desc pointer to module description
env pointer to environment struct
param pointer to parameter struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_module_desc_t* axis2_module_desc_create ( const axutil_env_t env  ) 

Creates module description struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created module description

AXIS2_EXTERN axis2_module_desc_t* axis2_module_desc_create_with_qname ( const axutil_env_t env,
const axutil_qname_t *  qname 
)

Creates module description struct instance with given QName.

Parameters:
env pointer to environment struct
qname pointer to QName
Returns:
pointer to newly created module description

AXIS2_EXTERN void axis2_module_desc_free ( axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Frees module description.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
void

AXIS2_EXTERN void axis2_module_desc_free_void_arg ( void *  module_desc,
const axutil_env_t env 
)

Frees module description passed as void pointer. This method will cast the void pointer parameter into appropriate type and then call module description free method on top of that pointer.

Parameters:
module_desc pointer to module description as a void pointer
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_hash_t* axis2_module_desc_get_all_ops ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets all operations associated with module.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to hash map containing the operations

AXIS2_EXTERN axutil_array_list_t* axis2_module_desc_get_all_params ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets all parameters associated with module.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to array list containing all parameters

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_fault_in_flow ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets flow representing fault in flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to flow that represents fault in flow, returns a reference not a cloned copy

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_fault_out_flow ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets flow representing fault out flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to flow that represents fault out flow, returns a reference not a cloned copy

AXIS2_EXTERN axis2_flow_container_t* axis2_module_desc_get_flow_container ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets the container having all flows.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to param container
See also:
flow container

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_in_flow ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets flow representing in flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to flow that represents in flow, returns a reference not a cloned copy

AXIS2_EXTERN struct axis2_module* axis2_module_desc_get_module ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
) [read]

Gets module associated with module description.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to module

AXIS2_EXTERN axis2_flow_t* axis2_module_desc_get_out_flow ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets flow representing out flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to flow that represents out flow, returns a reference not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_module_desc_get_param ( const axis2_module_desc_t module_desc,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets parameter with given name.

Parameters:
module_desc pointer to module description
env pointer to environment struct
name parameter name string
Returns:
pointer to parameter corresponding to given name

AXIS2_EXTERN axutil_param_container_t* axis2_module_desc_get_param_container ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets the container having all params.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to param container
See also:
Parameter Container

AXIS2_EXTERN struct axis2_conf* axis2_module_desc_get_parent ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
) [read]

Gets parent which is of type configuration.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to configuration, returns a reference not a cloned copy

AXIS2_EXTERN const axutil_qname_t* axis2_module_desc_get_qname ( const axis2_module_desc_t module_desc,
const axutil_env_t env 
)

Gets module QName.

Parameters:
module_desc pointer to module description
env pointer to environment struct
Returns:
pointer to QName

AXIS2_EXTERN axis2_bool_t axis2_module_desc_is_param_locked ( const axis2_module_desc_t module_desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if a given parameter is locked.

Parameters:
module_desc pointer to module description
env pointer to environment struct
param_name parameter name string
Returns:
AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_fault_in_flow ( axis2_module_desc_t module_desc,
const axutil_env_t env,
axis2_flow_t falut_in_flow 
)

Sets flow representing fault in flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
falut_in_flow pointer to flow representing fault in flow, module assumes ownership of flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_fault_out_flow ( axis2_module_desc_t module_desc,
const axutil_env_t env,
axis2_flow_t fault_out_flow 
)

Sets flow representing fault out flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
fault_out_flow pointer to flow representing fault out flow, module assumes ownership of flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_in_flow ( axis2_module_desc_t module_desc,
const axutil_env_t env,
axis2_flow_t in_flow 
)

Sets flow representing in flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
in_flow pointer to flow representing in flow, module assumes ownership of flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_module ( axis2_module_desc_t module_desc,
const axutil_env_t env,
struct axis2_module module 
)

Parameters:
module_desc pointer to module description
env pointer to environment struct
module pointer to module, module description assumes ownership of module
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_out_flow ( axis2_module_desc_t module_desc,
const axutil_env_t env,
axis2_flow_t out_flow 
)

Sets flow representing out flow.

Parameters:
module_desc pointer to module description
env pointer to environment struct
out_flow pointer to flow representing out flow, module assumes ownership of flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_parent ( axis2_module_desc_t module_desc,
const axutil_env_t env,
struct axis2_conf *  parent 
)

Sets parent which is of type configuration.

Parameters:
module_desc pointer to module description
env pointer to environment struct
parent pointer to parent configuration, module does not assume the ownership of configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_module_desc_set_qname ( axis2_module_desc_t module_desc,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Sets module QName.

Parameters:
module_desc pointer to module description
env pointer to environment struct
qname pointer to qname
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__uri_8h.html0000644000175000017500000004100711172017604023113 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_uri.h File Reference

axutil_uri.h File Reference

AXIS2-UTIL URI Routines axutil_uri.h: External Interface of axutil_uri.c. More...

#include <axutil_string.h>
#include <axutil_utils.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Defines

#define AXIS2_URI_FTP_DEFAULT_PORT   21
#define AXIS2_URI_SSH_DEFAULT_PORT   22
#define AXIS2_URI_TELNET_DEFAULT_PORT   23
#define AXIS2_URI_GOPHER_DEFAULT_PORT   70
#define AXIS2_URI_HTTP_DEFAULT_PORT   80
#define AXIS2_URI_POP_DEFAULT_PORT   110
#define AXIS2_URI_NNTP_DEFAULT_PORT   119
#define AXIS2_URI_IMAP_DEFAULT_PORT   143
#define AXIS2_URI_PROSPERO_DEFAULT_PORT   191
#define AXIS2_URI_WAIS_DEFAULT_PORT   210
#define AXIS2_URI_LDAP_DEFAULT_PORT   389
#define AXIS2_URI_HTTPS_DEFAULT_PORT   443
#define AXIS2_URI_RTSP_DEFAULT_PORT   554
#define AXIS2_URI_SNEWS_DEFAULT_PORT   563
#define AXIS2_URI_ACAP_DEFAULT_PORT   674
#define AXIS2_URI_NFS_DEFAULT_PORT   2049
#define AXIS2_URI_TIP_DEFAULT_PORT   3372
#define AXIS2_URI_SIP_DEFAULT_PORT   5060
#define AXIS2_URI_UNP_OMITSITEPART   (1U<<0)
#define AXIS2_URI_UNP_OMITUSER   (1U<<1)
#define AXIS2_URI_UNP_OMITPASSWORD   (1U<<2)
#define AXIS2_URI_UNP_OMITUSERINFO
#define AXIS2_URI_UNP_REVEALPASSWORD   (1U<<3)
#define AXIS2_URI_UNP_OMITPATHINFO   (1U<<4)
#define AXIS2_URI_UNP_OMITQUERY_ONLY   (1U<<5)
#define AXIS2_URI_UNP_OMITFRAGMENT_ONLY   (1U<<6)
#define AXIS2_URI_UNP_OMITQUERY

Typedefs

typedef unsigned short axis2_port_t
typedef struct axutil_uri axutil_uri_t

Functions

AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_port_t axutil_uri_port_of_scheme (const axis2_char_t *scheme_str)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_parse_string (const axutil_env_t *env, const axis2_char_t *uri)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_parse_hostinfo (const axutil_env_t *env, const axis2_char_t *hostinfo)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_resolve_relative (const axutil_env_t *env, const axutil_uri_t *base, axutil_uri_t *uptr)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_parse_relative (const axutil_env_t *env, const axutil_uri_t *base, const char *uri)
AXIS2_EXTERN void axutil_uri_free (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_to_string (const axutil_uri_t *uri, const axutil_env_t *env, unsigned flags)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_protocol (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_server (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_host (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN axis2_port_t axutil_uri_get_port (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_path (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axutil_uri_t * 
axutil_uri_clone (const axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_query (axutil_uri_t *uri, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uri_get_fragment (axutil_uri_t *uri, const axutil_env_t *env)


Detailed Description

AXIS2-UTIL URI Routines axutil_uri.h: External Interface of axutil_uri.c.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__policy__include_8h-source.html0000644000175000017500000004777511172017604026515 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_policy_include.h Source File

axis2_policy_include.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_POLICY_INCLUDE_H
00020 #define AXIS2_POLICY_INCLUDE_H
00021 
00028 #include <axutil_array_list.h>
00029 #include <axis2_desc.h>
00030 #include <neethi_policy.h>
00031 #include <neethi_registry.h>
00032 #include <neethi_reference.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00040     typedef struct axis2_policy_include axis2_policy_include_t;
00041 
00042     typedef enum axis2_policy_types
00043     {
00044         AXIS2_POLICY = 0,
00045         AXIS2_MODULE_POLICY,
00046         AXIS2_SERVICE_POLICY,
00047         AXIS2_OPERATION_POLICY,
00048         AXIS2_MESSAGE_POLICY,
00049         AXIS2_PORT_POLICY,
00050         AXIS2_PORT_TYPE_POLICY,
00051         AXIS2_BINDING_POLICY,
00052         AXIS2_BINDING_OPERATION_POLICY,
00053         AXIS2_INPUT_POLICY,
00054         AXIS2_OUTPUT_POLICY,
00055         AXIS2_BINDING_INPUT_POLICY,
00056         AXIS2_BINDING_OUTPUT_POLICY,
00057         AXIS2_MODULE_OPERATION_POLICY,
00058         AXIS2_POLICY_REF,
00059         AXIS2_ANON_POLICY
00060     } axis2_policy_types;
00061 
00067     AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL
00068 
00069     axis2_policy_include_create(
00070         const axutil_env_t * env);
00071 
00072     AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL
00073 
00074     axis2_policy_include_create_with_desc(
00075         const axutil_env_t * env,
00076         axis2_desc_t * desc);
00077 
00084     AXIS2_EXTERN void AXIS2_CALL
00085     axis2_policy_include_free(
00086         axis2_policy_include_t * policy_include,
00087         const axutil_env_t * env);
00088 
00089     AXIS2_EXTERN void AXIS2_CALL
00090     axis2_policy_include_free(
00091         axis2_policy_include_t * policy_include,
00092         const axutil_env_t * env);
00093 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axis2_policy_include_set_registry(
00096         axis2_policy_include_t * policy_include,
00097         const axutil_env_t * env,
00098         neethi_registry_t * registry);
00099 
00100     AXIS2_EXTERN neethi_registry_t *AXIS2_CALL
00101 
00102     axis2_policy_include_get_registry(
00103         axis2_policy_include_t * policy_include,
00104         const axutil_env_t * env);
00105 
00106     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107     axis2_policy_include_set_policy(
00108         axis2_policy_include_t * policy_include,
00109         const axutil_env_t * env,
00110         neethi_policy_t * policy);
00111 
00112     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00113 
00114     axis2_policy_include_update_policy(
00115         axis2_policy_include_t * policy_include,
00116         const axutil_env_t * env,
00117         neethi_policy_t * policy);
00118 
00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120 
00121     axis2_policy_include_set_effective_policy(
00122         axis2_policy_include_t * policy_include,
00123         const axutil_env_t * env,
00124         neethi_policy_t * effective_policy);
00125 
00126     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127     axis2_policy_include_set_desc(
00128         axis2_policy_include_t * policy_include,
00129         const axutil_env_t * env,
00130         axis2_desc_t * desc);
00131 
00132     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00133     axis2_policy_include_get_desc(
00134         axis2_policy_include_t * policy_include,
00135         const axutil_env_t * env);
00136 
00137     AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL
00138 
00139     axis2_policy_include_get_parent(
00140         axis2_policy_include_t * policy_include,
00141         const axutil_env_t * env);
00142 
00143     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00144     axis2_policy_include_get_policy(
00145         axis2_policy_include_t * policy_include,
00146         const axutil_env_t * env);
00147 
00148     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00149 
00150     axis2_policy_include_get_effective_policy(
00151         axis2_policy_include_t * policy_include,
00152         const axutil_env_t * env);
00153 
00154     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00155 
00156     axis2_policy_include_get_policy_elements(
00157         axis2_policy_include_t * policy_include,
00158         const axutil_env_t * env);
00159 
00160     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00161 
00162     axis2_policy_include_get_policy_elements_with_type(
00163         axis2_policy_include_t * policy_include,
00164         const axutil_env_t * env,
00165         int type);
00166 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168 
00169     axis2_policy_include_register_policy(
00170         axis2_policy_include_t * policy_include,
00171         const axutil_env_t * env,
00172         axis2_char_t * key,
00173         neethi_policy_t * effective_policy);
00174 
00175     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00176 
00177     axis2_policy_include_get_policy_with_key(
00178         axis2_policy_include_t * policy_include,
00179         const axutil_env_t * env,
00180         axis2_char_t * key);
00181 
00182     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00183 
00184     axis2_policy_include_add_policy_element(
00185         axis2_policy_include_t * policy_include,
00186         const axutil_env_t * env,
00187         int type,
00188         neethi_policy_t * policy);
00189 
00190     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191 
00192     axis2_policy_include_add_policy_reference_element(
00193         axis2_policy_include_t * policy_include,
00194         const axutil_env_t * env,
00195         int type,
00196         neethi_reference_t * reference);
00197 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199 
00200     axis2_policy_include_remove_policy_element(
00201         axis2_policy_include_t * policy_include,
00202         const axutil_env_t * env,
00203         axis2_char_t * policy_uri);
00204 
00205     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00206 
00207     axis2_policy_include_remove_all_policy_element(
00208         axis2_policy_include_t * policy_include,
00209         const axutil_env_t * env);
00210 
00212 #ifdef __cplusplus
00213 }
00214 #endif
00215 #endif                          /* AXIS2_POLICY_INCLUDE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__param.html0000644000175000017500000005503011172017604024371 0ustar00manjulamanjula00000000000000 Axis2/C: parameter

parameter
[utilities]


Defines

#define AXIS2_TEXT_PARAM   0
#define AXIS2_DOM_PARAM   1

Typedefs

typedef struct
axutil_param 
axutil_param_t
typedef void(* AXIS2_PARAM_VALUE_FREE )(void *param_value, const axutil_env_t *env)

Functions

AXIS2_EXTERN
axutil_param_t * 
axutil_param_create (const axutil_env_t *env, axis2_char_t *name, void *value)
AXIS2_EXTERN
axis2_char_t * 
axutil_param_get_name (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_param_get_value (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_name (struct axutil_param *param, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_value (struct axutil_param *param, const axutil_env_t *env, const void *value)
AXIS2_EXTERN axis2_bool_t axutil_param_is_locked (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_locked (struct axutil_param *param, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN int axutil_param_get_param_type (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_param_type (struct axutil_param *param, const axutil_env_t *env, int type)
AXIS2_EXTERN void axutil_param_free (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_attributes (struct axutil_param *param, const axutil_env_t *env, axutil_hash_t *attrs)
AXIS2_EXTERN
axutil_hash_t
axutil_param_get_attributes (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_value_list (struct axutil_param *param, const axutil_env_t *env, axutil_array_list_t *value_list)
AXIS2_EXTERN
axutil_array_list_t
axutil_param_get_value_list (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN void axutil_param_value_free (void *param_value, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_value_free (struct axutil_param *param, const axutil_env_t *env, AXIS2_PARAM_VALUE_FREE free_fn)
AXIS2_EXTERN void axutil_param_dummy_free_fn (void *param, const axutil_env_t *env)

Define Documentation

#define AXIS2_DOM_PARAM   1

Field DOM_PARAM

#define AXIS2_TEXT_PARAM   0

TEXT PARAM


Typedef Documentation

typedef void( * AXIS2_PARAM_VALUE_FREE)(void *param_value, const axutil_env_t *env)

each type which is passed as a param value to a parameter, must have this type of function implemented. When the param value is set this function should also be assigned to param free function


Function Documentation

AXIS2_EXTERN axutil_param_t* axutil_param_create ( const axutil_env_t env,
axis2_char_t *  name,
void *  value 
)

creates param struct

AXIS2_EXTERN axis2_char_t* axutil_param_get_name ( struct axutil_param *  param,
const axutil_env_t env 
)

Parameter name accessor

Returns:
name of the param

AXIS2_EXTERN int axutil_param_get_param_type ( struct axutil_param *  param,
const axutil_env_t env 
)

Method getParameterType

Returns:
int

AXIS2_EXTERN void* axutil_param_get_value ( struct axutil_param *  param,
const axutil_env_t env 
)

Parameter value accessor

Returns:
Object

AXIS2_EXTERN axis2_bool_t axutil_param_is_locked ( struct axutil_param *  param,
const axutil_env_t env 
)

Method isLocked

Returns:
boolean

AXIS2_EXTERN axis2_status_t axutil_param_set_locked ( struct axutil_param *  param,
const axutil_env_t env,
axis2_bool_t  value 
)

Method setLocked

Parameters:
value 

AXIS2_EXTERN axis2_status_t axutil_param_set_name ( struct axutil_param *  param,
const axutil_env_t env,
const axis2_char_t *  name 
)

param name mutator

Parameters:
name 

AXIS2_EXTERN axis2_status_t axutil_param_set_value ( struct axutil_param *  param,
const axutil_env_t env,
const void *  value 
)

Method setValue

Parameters:
value 


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__token__identifier_8h-source.html0000644000175000017500000001250011172017604026402 0ustar00manjulamanjula00000000000000 Axis2/C: rp_token_identifier.h Source File

rp_token_identifier.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_TOKEN_IDENTIFIER_H
00019 #define RP_TOKEN_IDENTIFIER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <rp_username_token.h>
00030 #include <neethi_assertion.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00038     rp_token_identifier_set_token(
00039         rp_property_t * token,
00040         neethi_assertion_t * assertion,
00041         const axutil_env_t * env);
00042 
00043 #ifdef __cplusplus
00044 }
00045 #endif
00046 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__properties.html0000644000175000017500000004051111172017604025463 0ustar00manjulamanjula00000000000000 Axis2/C: properties

properties
[utilities]


Typedefs

typedef struct
axutil_properties 
axutil_properties_t

Functions

AXIS2_EXTERN
axutil_properties_t * 
axutil_properties_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_properties_free (axutil_properties_t *properties, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_properties_get_property (axutil_properties_t *properties, const axutil_env_t *env, axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axutil_properties_set_property (axutil_properties_t *properties, const axutil_env_t *env, axis2_char_t *key, axis2_char_t *value)
AXIS2_EXTERN
axutil_hash_t
axutil_properties_get_all (axutil_properties_t *properties, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_properties_load (axutil_properties_t *properties, const axutil_env_t *env, axis2_char_t *input_filename)
AXIS2_EXTERN
axis2_status_t 
axutil_properties_store (axutil_properties_t *properites, const axutil_env_t *env, FILE *output)

Function Documentation

AXIS2_EXTERN axutil_properties_t* axutil_properties_create ( const axutil_env_t env  ) 

create new properties

Returns:
properties newly created properties

AXIS2_EXTERN void axutil_properties_free ( axutil_properties_t *  properties,
const axutil_env_t env 
)

free w2c_properties.

Parameters:
properties pointer to properties struct
env Environment. MUST NOT be NULL
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axutil_hash_t* axutil_properties_get_all ( axutil_properties_t *  properties,
const axutil_env_t env 
)

retrieve the hash with all the properties

Parameters:
properties pointer to properties struct
env Environment. MUST NOT be NULL
Returns:
hash (key,value)

AXIS2_EXTERN axis2_char_t* axutil_properties_get_property ( axutil_properties_t *  properties,
const axutil_env_t env,
axis2_char_t *  key 
)

get string value for property with specified key.

Parameters:
properties pointer to properties struct
env Environment. MUST NOT be NULL
key MUST NOT be NULL
Returns:
value of the property

AXIS2_EXTERN axis2_status_t axutil_properties_load ( axutil_properties_t *  properties,
const axutil_env_t env,
axis2_char_t *  input_filename 
)

load properties

Parameters:
properties pointer to properties struct
env Environment. MUST NOT be NULL
input Input Stream. MUST NOT be NULL
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_properties_set_property ( axutil_properties_t *  properties,
const axutil_env_t env,
axis2_char_t *  key,
axis2_char_t *  value 
)

set a property ( key, value) pair.

Parameters:
properties pointer to properties struct
env Environment. MUST NOT be NULL
key Property Key. MUST NOT be NULL
value Property Value
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_properties_store ( axutil_properties_t *  properites,
const axutil_env_t env,
FILE *  output 
)

store properties

Parameters:
properties pointer to properties struct
env Environment. MUST NOT be NULL
ouput Output Stream. MUST NOT be NULL
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__defines_8h-source.html0000644000175000017500000001335211172017604024751 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_defines.h Source File

axis2_defines.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_DEFINES_H
00020 #define AXIS2_DEFINES_H
00021 
00027 #include <stddef.h>
00028 #include <axutil_utils_defines.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00036 #define  AXIS2_IN_FLOW  1
00037 
00039 #define  AXIS2_OUT_FLOW 2
00040 
00042 #define  AXIS2_FAULT_IN_FLOW 3
00043 
00045 #define  AXIS2_FAULT_OUT_FLOW 4
00046 
00047 #ifdef __cplusplus
00048 }
00049 #endif
00050 
00051 #endif                          /* AXIS2_DEFINES_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__dll__desc_8h.html0000644000175000017500000003442411172017604024231 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_dll_desc.h File Reference

axutil_dll_desc.h File Reference

Axis2 dll_desc interface. More...

#include <axutil_utils_defines.h>
#include <axutil_qname.h>
#include <axutil_error.h>
#include <axutil_utils.h>
#include <platforms/axutil_platform_auto_sense.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_dll_desc 
axutil_dll_desc_t
typedef int(* CREATE_FUNCT )(void **inst, const axutil_env_t *env)
typedef int(* DELETE_FUNCT )(void *inst, const axutil_env_t *env)
typedef int axis2_dll_type_t

Functions

AXIS2_EXTERN
axutil_dll_desc_t * 
axutil_dll_desc_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_dll_desc_free_void_arg (void *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN void axutil_dll_desc_free (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_name (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_char_t * 
axutil_dll_desc_get_name (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_type (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axis2_dll_type_t type)
AXIS2_EXTERN
axis2_dll_type_t 
axutil_dll_desc_get_type (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_load_options (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, int options)
AXIS2_EXTERN int axutil_dll_desc_get_load_options (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_dl_handler (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, AXIS2_DLHANDLER dl_handler)
AXIS2_EXTERN
AXIS2_DLHANDLER 
axutil_dll_desc_get_dl_handler (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_create_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, CREATE_FUNCT funct)
AXIS2_EXTERN CREATE_FUNCT axutil_dll_desc_get_create_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_delete_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, DELETE_FUNCT funct)
AXIS2_EXTERN DELETE_FUNCT axutil_dll_desc_get_delete_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_timestamp (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, AXIS2_TIME_T timestamp)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_error_code (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axutil_error_codes_t error_code)
AXIS2_EXTERN
axutil_error_codes_t 
axutil_dll_desc_get_error_code (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN AXIS2_TIME_T axutil_dll_desc_get_timestamp (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_dll_desc_create_platform_specific_dll_name (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, const axis2_char_t *class_name)


Detailed Description

Axis2 dll_desc interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__duration.html0000644000175000017500000003573411172017604025127 0ustar00manjulamanjula00000000000000 Axis2/C: Axutil_duration

Axutil_duration
[utilities]


Typedefs

typedef struct
axutil_duration 
axutil_duration_t

Functions

AXIS2_EXTERN
axutil_duration_t * 
axutil_duration_create (axutil_env_t *env)
AXIS2_EXTERN
axutil_duration_t * 
axutil_duration_create_from_values (const axutil_env_t *env, axis2_bool_t negative, int years, int months, int days, int hours, int minutes, double seconds)
AXIS2_EXTERN
axutil_duration_t * 
axutil_duration_create_from_string (const axutil_env_t *env, const axis2_char_t *duration_str)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_free (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_deserialize_duration (axutil_duration_t *duration, const axutil_env_t *env, const char *duration_str)
AXIS2_EXTERN char * axutil_duration_serialize_duration (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_duration (axutil_duration_t *duration, const axutil_env_t *env, axis2_bool_t negative, int years, int months, int days, int hours, int mins, double seconds)
AXIS2_EXTERN int axutil_duration_get_years (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_years (axutil_duration_t *duration, const axutil_env_t *env, int years)
AXIS2_EXTERN int axutil_duration_get_months (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_months (axutil_duration_t *duration, const axutil_env_t *env, int months)
AXIS2_EXTERN int axutil_duration_get_days (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_days (axutil_duration_t *duration, const axutil_env_t *env, int days)
AXIS2_EXTERN int axutil_duration_get_hours (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_hours (axutil_duration_t *duration, const axutil_env_t *env, int hours)
AXIS2_EXTERN int axutil_duration_get_mins (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_mins (axutil_duration_t *duration, const axutil_env_t *env, int mins)
AXIS2_EXTERN double axutil_duration_get_seconds (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_seconds (axutil_duration_t *duration, const axutil_env_t *env, double seconds)
AXIS2_EXTERN axis2_bool_t axutil_duration_get_is_negative (axutil_duration_t *duration, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_duration_set_is_negative (axutil_duration_t *duration, const axutil_env_t *env, axis2_bool_t is_negative)
AXIS2_EXTERN axis2_bool_t axutil_duration_compare (axutil_duration_t *duration_one, axutil_duration_t *duration_two, axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axutil_duration_t* axutil_duration_create ( axutil_env_t env  ) 

Creates axutil_duration struct with current date time

Parameters:
env double pointer to environment struct. MUST NOT be NULL
Returns:
pointer to newly created axutil_duration struct


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__addr.html0000644000175000017500000000540011172017604023717 0ustar00manjulamanjula00000000000000 Axis2/C: WS-Addressing

WS-Addressing


Modules

 WS-Addressing related constants
 any content type
 endpoint reference
 message information headers
 relates to
 service name

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__children__iterator_8h-source.html0000644000175000017500000002050211172017604027256 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_children_iterator.h Source File

axiom_children_iterator.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_CHILDREN_ITERATOR_H
00020 #define AXIOM_CHILDREN_ITERATOR_H
00021 
00027 #include <axiom_node.h>
00028 #include <axiom_text.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axiom_children_iterator axiom_children_iterator_t;
00036 
00049     AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL
00050 
00051     axiom_children_iterator_create(
00052         const axutil_env_t * env,
00053         axiom_node_t * current_child);
00054 
00060     AXIS2_EXTERN void AXIS2_CALL
00061     axiom_children_iterator_free(
00062         axiom_children_iterator_t * iterator,
00063         const axutil_env_t * env);
00064 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     axiom_children_iterator_remove(
00076         axiom_children_iterator_t * iterator,
00077         const axutil_env_t * env);
00078 
00087     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00088     axiom_children_iterator_has_next(
00089         axiom_children_iterator_t * iterator,
00090         const axutil_env_t * env);
00091 
00098     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00099     axiom_children_iterator_next(
00100         axiom_children_iterator_t * iterator,
00101         const axutil_env_t * env);
00102 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111     axiom_children_iterator_reset(
00112         axiom_children_iterator_t * iterator,
00113         const axutil_env_t * env);
00114 
00115     /************ Macros *********************************************/
00116 
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122 
00123 #endif                          /* AXIOM_CHILDREN_ITERATOR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__phase__rule.html0000644000175000017500000010006711172017604025300 0ustar00manjulamanjula00000000000000 Axis2/C: phase rule

phase rule
[description]


Files

file  axis2_phase_rule.h

Typedefs

typedef struct
axis2_phase_rule 
axis2_phase_rule_t

Functions

AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_rule_get_before (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_before (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, const axis2_char_t *before)
AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_rule_get_after (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_after (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, const axis2_char_t *after)
AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_rule_get_name (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_name (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN axis2_bool_t axis2_phase_rule_is_first (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_first (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, axis2_bool_t first)
AXIS2_EXTERN axis2_bool_t axis2_phase_rule_is_last (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_last (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, axis2_bool_t last)
AXIS2_EXTERN void axis2_phase_rule_free (axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_rule_t
axis2_phase_rule_clone (axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_rule_t
axis2_phase_rule_create (const axutil_env_t *env, const axis2_char_t *name)

Detailed Description

phase rule encapsulates data and operations related to phase rules for a given handler. phase rule lives within a handler. phase rules of a handler specify the relative location of the handler within the phase to which it belongs, with respect to other handlers in the phase or first and last positions of the handler chain of the phase.

Typedef Documentation

typedef struct axis2_phase_rule axis2_phase_rule_t

Type name for struct axis2_phase_rule


Function Documentation

AXIS2_EXTERN axis2_phase_rule_t* axis2_phase_rule_clone ( axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Clones phase rule.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
pointer to newly cloned phase rule

AXIS2_EXTERN axis2_phase_rule_t* axis2_phase_rule_create ( const axutil_env_t env,
const axis2_char_t *  name 
)

Creates a phase rule struct instance.

Parameters:
env pointer to environment struct
phase_name name of the phase rule
Returns:
pointer to newly created phase rule

AXIS2_EXTERN void axis2_phase_rule_free ( axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Frees phase rule.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
void

AXIS2_EXTERN const axis2_char_t* axis2_phase_rule_get_after ( const axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Gets the name of the handler after which the handler associated with this rule should be placed.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
name of handler after which the handler should be placed

AXIS2_EXTERN const axis2_char_t* axis2_phase_rule_get_before ( const axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Gets the name of the handler before which the handler associated with this rule should be placed.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
name of handler before which the handler should be placed

AXIS2_EXTERN const axis2_char_t* axis2_phase_rule_get_name ( const axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Gets name.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
name string

AXIS2_EXTERN axis2_bool_t axis2_phase_rule_is_first ( const axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Checks if the handler is the first in phase.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
AXIS2_TRUE if the handler associated with this rule is the first in phase, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_phase_rule_is_last ( const axis2_phase_rule_t phase_rule,
const axutil_env_t env 
)

Checks if the handler is the last in phase.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
Returns:
AXIS2_TRUE if the handler associated with this rule is the last in phase, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_phase_rule_set_after ( axis2_phase_rule_t phase_rule,
const axutil_env_t env,
const axis2_char_t *  after 
)

Sets the name of the handler after which the handler associated with this rule should be placed.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
after name of handler after which the handler should be placed
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_rule_set_before ( axis2_phase_rule_t phase_rule,
const axutil_env_t env,
const axis2_char_t *  before 
)

Sets the name of the handler before which the handler associated with this rule should be placed.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
before name of handler before which the handler should be placed
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_rule_set_first ( axis2_phase_rule_t phase_rule,
const axutil_env_t env,
axis2_bool_t  first 
)

Sets handler to be the first in phase.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
first AXIS2_TRUE if the handler associated with this rule is the first in phase, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_rule_set_last ( axis2_phase_rule_t phase_rule,
const axutil_env_t env,
axis2_bool_t  last 
)

Sets handler to be the last in phase.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
last AXIS2_TRUE if the handler associated with this rule is the last in phase, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_rule_set_name ( axis2_phase_rule_t phase_rule,
const axutil_env_t env,
const axis2_char_t *  name 
)

Sets name.

Parameters:
phase_rule pointer to phase rule
env pointer to environment struct
name name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__asymmetric__binding.html0000644000175000017500000001677211172017604026424 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_asymmetric_binding

Rp_asymmetric_binding


Typedefs

typedef struct
rp_asymmetric_binding_t 
rp_asymmetric_binding_t

Functions

AXIS2_EXTERN
rp_asymmetric_binding_t * 
rp_asymmetric_binding_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_asymmetric_binding_free (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
rp_symmetric_asymmetric_binding_commons_t * 
rp_asymmetric_binding_get_symmetric_asymmetric_binding_commons (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_asymmetric_binding_set_symmetric_asymmetric_binding_commons (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env, rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons)
AXIS2_EXTERN
axis2_status_t 
rp_asymmetric_binding_set_initiator_token (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env, rp_property_t *initiator_token)
AXIS2_EXTERN
rp_property_t * 
rp_asymmetric_binding_get_initiator_token (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_asymmetric_binding_set_recipient_token (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env, rp_property_t *recipient_token)
AXIS2_EXTERN
rp_property_t * 
rp_asymmetric_binding_get_recipient_token (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_asymmetric_binding_increment_ref (rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__callback__recv.html0000644000175000017500000000402111172017604025715 0ustar00manjulamanjula00000000000000 Axis2/C: callback message receiver. This can be considered as a

callback message receiver. This can be considered as a
[client API]

message receiver implementation for application client side which is similar to server side message receivers like raw_xml_in_out_msg_recv. Messages received by listener manager will finally end up here.

callback message receiver, that is used as the message receiver in the operation in case of asynchronous invocation for receiving the result.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__duration_8h-source.html0000644000175000017500000003710011172017604025436 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_duration.h Source File

axutil_duration.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance
00008  * with the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_DURATION_H
00020 #define AXUTIL_DURATION_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #endif
00029 
00036     typedef struct axutil_duration axutil_duration_t;
00037 
00043     AXIS2_EXTERN axutil_duration_t *AXIS2_CALL
00044     axutil_duration_create(
00045         axutil_env_t * env);
00046 
00047     AXIS2_EXTERN axutil_duration_t *AXIS2_CALL
00048 
00049     axutil_duration_create_from_values(
00050         const axutil_env_t * env,
00051         axis2_bool_t negative,
00052         int years,
00053         int months,
00054         int days,
00055         int hours,
00056         int minutes,
00057         double seconds);
00058 
00059     AXIS2_EXTERN axutil_duration_t *AXIS2_CALL
00060 
00061     axutil_duration_create_from_string(
00062         const axutil_env_t * env,
00063         const axis2_char_t * duration_str);
00064 
00065     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066     axutil_duration_free(
00067         axutil_duration_t * duration,
00068         const axutil_env_t * env);
00069 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071 
00072     axutil_duration_deserialize_duration(
00073         axutil_duration_t * duration,
00074         const axutil_env_t * env,
00075         const char *duration_str);
00076 
00077     AXIS2_EXTERN char *AXIS2_CALL
00078     axutil_duration_serialize_duration(
00079         axutil_duration_t * duration,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     axutil_duration_set_duration(
00084         axutil_duration_t * duration,
00085         const axutil_env_t * env,
00086         axis2_bool_t negative,
00087         int years,
00088         int months,
00089         int days,
00090         int hours,
00091         int mins,
00092         double seconds);
00093 
00094     AXIS2_EXTERN int AXIS2_CALL
00095     axutil_duration_get_years(
00096         axutil_duration_t * duration,
00097         const axutil_env_t * env);
00098 
00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100     axutil_duration_set_years(
00101         axutil_duration_t * duration,
00102         const axutil_env_t * env,
00103         int years);
00104 
00105     AXIS2_EXTERN int AXIS2_CALL
00106     axutil_duration_get_months(
00107         axutil_duration_t * duration,
00108         const axutil_env_t * env);
00109 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111     axutil_duration_set_months(
00112         axutil_duration_t * duration,
00113         const axutil_env_t * env,
00114         int months);
00115 
00116     AXIS2_EXTERN int AXIS2_CALL
00117     axutil_duration_get_days(
00118         axutil_duration_t * duration,
00119         const axutil_env_t * env);
00120 
00121     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00122     axutil_duration_set_days(
00123         axutil_duration_t * duration,
00124         const axutil_env_t * env,
00125         int days);
00126 
00127     AXIS2_EXTERN int AXIS2_CALL
00128     axutil_duration_get_hours(
00129         axutil_duration_t * duration,
00130         const axutil_env_t * env);
00131 
00132     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00133     axutil_duration_set_hours(
00134         axutil_duration_t * duration,
00135         const axutil_env_t * env,
00136         int hours);
00137 
00138     AXIS2_EXTERN int AXIS2_CALL
00139     axutil_duration_get_mins(
00140         axutil_duration_t * duration,
00141         const axutil_env_t * env);
00142 
00143     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00144     axutil_duration_set_mins(
00145         axutil_duration_t * duration,
00146         const axutil_env_t * env,
00147         int mins);
00148 
00149     AXIS2_EXTERN double AXIS2_CALL
00150     axutil_duration_get_seconds(
00151         axutil_duration_t * duration,
00152         const axutil_env_t * env);
00153 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155     axutil_duration_set_seconds(
00156         axutil_duration_t * duration,
00157         const axutil_env_t * env,
00158         double seconds);
00159 
00160     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00161     axutil_duration_get_is_negative(
00162         axutil_duration_t * duration,
00163         const axutil_env_t * env);
00164 
00165     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00166     axutil_duration_set_is_negative(
00167         axutil_duration_t * duration,
00168         const axutil_env_t * env,
00169         axis2_bool_t is_negative);
00170 
00171     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00172     axutil_duration_compare(
00173         axutil_duration_t * duration_one,
00174         axutil_duration_t * duration_two,
00175         axutil_env_t * env);
00176 
00177 #ifdef __cplusplus
00178 }
00179 #endif
00180 
00181 #endif                          /* AXIS2_DURATION_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__version__t-members.html0000644000175000017500000000522311172017604026501 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_version_t Member List

This is the complete list of members for axis2_version_t, including all inherited members.

is_devaxis2_version_t
majoraxis2_version_t
minoraxis2_version_t
patchaxis2_version_t


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__signed__encrypted__parts.html0000644000175000017500000002135011172017604027437 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_signed_encrypted_parts

Rp_signed_encrypted_parts


Typedefs

typedef struct
rp_signed_encrypted_parts_t 
rp_signed_encrypted_parts_t

Functions

AXIS2_EXTERN
rp_signed_encrypted_parts_t * 
rp_signed_encrypted_parts_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_signed_encrypted_parts_free (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t rp_signed_encrypted_parts_get_body (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_parts_set_body (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env, axis2_bool_t body)
AXIS2_EXTERN axis2_bool_t rp_signed_encrypted_parts_get_signedparts (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_parts_set_signedparts (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env, axis2_bool_t signedparts)
AXIS2_EXTERN axis2_bool_t rp_signed_encrypted_parts_get_attachments (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_parts_set_attachments (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env, axis2_bool_t attachments)
AXIS2_EXTERN
axutil_array_list_t
rp_signed_encrypted_parts_get_headers (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_parts_add_header (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env, rp_header_t *header)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_parts_increment_ref (rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__envelope_8h.html0000644000175000017500000002146611172017604025130 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_envelope.h File Reference

axiom_soap_envelope.h File Reference

axiom_soap_envelope struct corresponds to root element of soap message More...

#include <axutil_env.h>
#include <axiom_node.h>
#include <axiom_element.h>
#include <axiom_namespace.h>
#include <axutil_array_list.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_envelope 
axiom_soap_envelope_t

Functions

AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create (const axutil_env_t *env, axiom_namespace_t *ns)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create_with_soap_version_prefix (const axutil_env_t *env, int soap_version, const axis2_char_t *prefix)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create_default_soap_envelope (const axutil_env_t *env, int soap_version)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create_default_soap_fault_envelope (const axutil_env_t *env, const axis2_char_t *code_value, const axis2_char_t *reason_text, const int soap_version, axutil_array_list_t *sub_codes, axiom_node_t *detail_node)
AXIS2_EXTERN struct
axiom_soap_header * 
axiom_soap_envelope_get_header (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_body * 
axiom_soap_envelope_get_body (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_envelope_serialize (axiom_soap_envelope_t *envelope, const axutil_env_t *env, axiom_output_t *om_output, axis2_bool_t cache)
AXIS2_EXTERN void axiom_soap_envelope_free (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_envelope_get_base_node (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_envelope_get_soap_version (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_soap_envelope_get_namespace (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_envelope_set_soap_version (axiom_soap_envelope_t *envelope, const axutil_env_t *env, int soap_version)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_envelope_increment_ref (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_builder * 
axiom_soap_envelope_get_soap_builder (axiom_soap_envelope_t *envelope, const axutil_env_t *env)


Detailed Description

axiom_soap_envelope struct corresponds to root element of soap message


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__namespace_8h-source.html0000644000175000017500000002004111172017604026224 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_namespace.h Source File

guththila_namespace.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_NAMESPACE_H
00019 #define GUTHTHILA_NAMESPACE_H
00020 
00021 #include <guththila_defines.h>
00022 #include <guththila_token.h>
00023 #include <axutil_utils.h>
00024 EXTERN_C_START() 
00025 
00026 #ifndef GUTHTHILA_NAMESPACE_DEF_SIZE
00027 #define GUTHTHILA_NAMESPACE_DEF_SIZE 4
00028 #endif  
00029 
00030 typedef struct guththila_namespace_s
00031 {
00032     guththila_token_t *name;    /* Name */
00033     guththila_token_t *uri;             /* URI */
00034 } guththila_namespace_t;
00035 
00036 typedef struct guththila_namespace_list_s
00037 {
00038     guththila_namespace_t *list;        
00039     guththila_stack_t fr_stack;
00040     int size;
00041     int capacity;
00042 } guththila_namespace_list_t;
00043 
00044 guththila_namespace_list_t *GUTHTHILA_CALL 
00045 guththila_namespace_list_create(
00046         const axutil_env_t * env);
00047 
00048 int GUTHTHILA_CALL
00049 guththila_namespace_list_init(
00050     guththila_namespace_list_t * at_list,
00051     const axutil_env_t * env);
00052 
00053 guththila_namespace_t * GUTHTHILA_CALL 
00054 guththila_namespace_list_get(
00055                 guththila_namespace_list_t *at_list,
00056         const axutil_env_t * env);
00057 
00058 int GUTHTHILA_CALL
00059 guththila_namespace_list_release(
00060     guththila_namespace_list_t * at_list,
00061     guththila_namespace_t * namesp,
00062     const axutil_env_t * env);
00063 
00064 void GUTHTHILA_CALL
00065 msuila_namespace_list_free_data(
00066     guththila_namespace_list_t * at_list,
00067     const axutil_env_t * env);
00068 
00069 void GUTHTHILA_CALL
00070 guththila_namespace_list_free(
00071     guththila_namespace_list_t * at_list,
00072     const axutil_env_t * env);
00073 
00074 EXTERN_C_END() 
00075 #endif  
00076 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__bootstrap__policy__builder_8h-source.html0000644000175000017500000001224211172017604030324 0ustar00manjulamanjula00000000000000 Axis2/C: rp_bootstrap_policy_builder.h Source File

rp_bootstrap_policy_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_BOOTSTRAP_POLICY_BUILDER_H
00019 #define RP_BOOTSTRAP_POLICY_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <neethi_assertion.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00036     rp_bootstrap_policy_builder_build(
00037         const axutil_env_t * env,
00038         axiom_node_t * node,
00039         axiom_element_t * element);
00040 
00041 #ifdef __cplusplus
00042 }
00043 #endif
00044 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__policy__creator_8h-source.html0000644000175000017500000001375111172017604026107 0ustar00manjulamanjula00000000000000 Axis2/C: rp_policy_creator.h Source File

rp_policy_creator.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_POLICY_CREATOR_H
00019 #define RP_POLICY_CREATOR_H
00020 
00026 #include <axiom.h>
00027 #include <axis2_util.h>
00028 #include <axutil_env.h>
00029 #include <axutil_log_default.h>
00030 #include <axutil_error_default.h>
00031 #include <stdio.h>
00032 #include <axiom_xml_reader.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL
00040     rp_policy_create_from_file(
00041         const axutil_env_t * env,
00042         axis2_char_t * filename);
00043 
00044     AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL
00045     rp_policy_create_from_om_node(
00046         const axutil_env_t * env,
00047         axiom_node_t * root);
00048 
00049 #ifdef __cplusplus
00050 }
00051 #endif
00052 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__qname.html0000644000175000017500000003374511172017604024403 0ustar00manjulamanjula00000000000000 Axis2/C: qname

qname
[utilities]


Typedefs

typedef struct
axutil_qname 
axutil_qname_t

Functions

AXIS2_EXTERN
axutil_qname_t * 
axutil_qname_create (const axutil_env_t *env, const axis2_char_t *localpart, const axis2_char_t *namespace_uri, const axis2_char_t *prefix)
AXIS2_EXTERN
axutil_qname_t * 
axutil_qname_create_from_string (const axutil_env_t *env, const axis2_char_t *string)
AXIS2_EXTERN void axutil_qname_free (struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_qname_equals (const struct axutil_qname *qname, const axutil_env_t *env, const struct axutil_qname *qname1)
AXIS2_EXTERN struct
axutil_qname * 
axutil_qname_clone (struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_get_uri (const struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_get_prefix (const struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_get_localpart (const struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_to_string (struct axutil_qname *qname, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN struct axutil_qname* axutil_qname_clone ( struct axutil_qname *  qname,
const axutil_env_t env 
) [read]

clones a given qname

Parameters:
qname,qname struct instance to be cloned environment , double pointer to environment
Returns:
the newly cloned qname struct instance

AXIS2_EXTERN axutil_qname_t* axutil_qname_create ( const axutil_env_t env,
const axis2_char_t *  localpart,
const axis2_char_t *  namespace_uri,
const axis2_char_t *  prefix 
)

creates a qname struct returns a pointer to a qname struct mandatory mandatory optional The prefix. Must not be null. Use "" (empty string) to indicate that no namespace URI is present or the namespace URI is not relevant if null is passed for prefix and uri , "'(empty string ) will be assinged to those fields

Returns:
a pointer to newly created qname struct

AXIS2_EXTERN axutil_qname_t* axutil_qname_create_from_string ( const axutil_env_t env,
const axis2_char_t *  string 
)

returns a newly created qname using a string genarated from axutil_qname_to_string method freeing the returned qname is users responsibility

AXIS2_EXTERN axis2_bool_t axutil_qname_equals ( const struct axutil_qname *  qname,
const axutil_env_t env,
const struct axutil_qname *  qname1 
)

Compare two qnames prefix is ignored when comparing If ns_uri and localpart of qname1 and qname2 is equal returns true

Returns:
true if qname1 equals qname2, false otherwise

AXIS2_EXTERN void axutil_qname_free ( struct axutil_qname *  qname,
const axutil_env_t env 
)

Free a qname struct

Returns:
Status code

AXIS2_EXTERN axis2_char_t* axutil_qname_to_string ( struct axutil_qname *  qname,
const axutil_env_t env 
)

returns a unique string created by concatanting namespace uri and localpart . The string is of the form localpart|url The returned char* is freed when qname free function is called.


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__response__writer_8h.html0000644000175000017500000002170611172017604026627 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_response_writer.h File Reference

axis2_http_response_writer.h File Reference

axis2 Response Writer More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_stream.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_response_writer 
axis2_http_response_writer_t

Functions

AXIS2_EXTERN
axis2_char_t * 
axis2_http_response_writer_get_encoding (const axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_close (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_flush (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_write_char (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, char c)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_write_buf (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, char *buf, int offset, axis2_ssize_t len)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_print_str (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, const char *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_print_int (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_println_str (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, const char *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_println (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_response_writer_free (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_response_writer_t
axis2_http_response_writer_create (const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN
axis2_http_response_writer_t
axis2_http_response_writer_create_with_encoding (const axutil_env_t *env, axutil_stream_t *stream, const axis2_char_t *encoding)


Detailed Description

axis2 Response Writer


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/dir_6b4e91e54b7316b376882a6402adbf44.html0000644000175000017500000000401711172017604025247 0ustar00manjulamanjula00000000000000 Axis2/C: /home/manjula/release/c/deploy/include/ Directory Reference

include Directory Reference


Directories

directory  axis2-1.6.0

Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__property.html0000644000175000017500000002630111172017604025154 0ustar00manjulamanjula00000000000000 Axis2/C: property

property
[utilities]


Typedefs

typedef struct
axutil_property 
axutil_property_t

Functions

AXIS2_EXTERN
axutil_property_t * 
axutil_property_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_property_t * 
axutil_property_create_with_args (const axutil_env_t *env, axis2_scope_t scope, axis2_bool_t own_value, AXIS2_FREE_VOID_ARG free_func, void *value)
AXIS2_EXTERN void axutil_property_free (axutil_property_t *property, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_property_set_scope (axutil_property_t *property, const axutil_env_t *env, axis2_scope_t scope)
AXIS2_EXTERN
axis2_status_t 
axutil_property_set_free_func (axutil_property_t *property, const axutil_env_t *env, AXIS2_FREE_VOID_ARG free_func)
AXIS2_EXTERN
axis2_status_t 
axutil_property_set_value (axutil_property_t *property, const axutil_env_t *env, void *value)
AXIS2_EXTERN void * axutil_property_get_value (axutil_property_t *property, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_property_set_own_value (axutil_property_t *property, const axutil_env_t *env, axis2_bool_t own_value)
AXIS2_EXTERN
axutil_property_t * 
axutil_property_clone (axutil_property_t *property, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axutil_property_t* axutil_property_create ( const axutil_env_t env  ) 

create new property

Returns:
property newly created property

AXIS2_EXTERN axutil_property_t* axutil_property_create_with_args ( const axutil_env_t env,
axis2_scope_t  scope,
axis2_bool_t  own_value,
AXIS2_FREE_VOID_ARG  free_func,
void *  value 
)

create new property

Parameters:
env axis2 environment
scope scope can be one of following AXIS2_SCOPE_REQUEST AXIS2_SCOPE_SESSION AXIS2_SCOPE_APPLICATION pass 0 to use default scope of AXIS2_SCOPE_REQUEST
own_value whether value is owned by the property or not. if the value is owned by the property it should be freed by the proeprty.
free_func free function for the value freeing. Pass 0 if param value is a string
value value of the property
Returns:
property newly created property

AXIS2_EXTERN axis2_status_t axutil_property_set_scope ( axutil_property_t *  property,
const axutil_env_t env,
axis2_scope_t  scope 
)

Default scope is AXIS2_SCOPE_REQUEST


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__neethi__assertion__builder.html0000644000175000017500000000423611172017604027115 0ustar00manjulamanjula00000000000000 Axis2/C: Neethi_assertion_builder

Neethi_assertion_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
neethi_assertion_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__supporting__tokens.html0000644000175000017500000003034611172017604026343 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_supporting_tokens

Rp_supporting_tokens


Typedefs

typedef struct
rp_supporting_tokens_t 
rp_supporting_tokens_t

Functions

AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_supporting_tokens_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_supporting_tokens_free (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
rp_supporting_tokens_get_tokens (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_add_token (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, rp_property_t *token)
AXIS2_EXTERN
rp_algorithmsuite_t * 
rp_supporting_tokens_get_algorithmsuite (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_set_algorithmsuite (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, rp_algorithmsuite_t *algorithmsuite)
AXIS2_EXTERN
rp_signed_encrypted_parts_t * 
rp_supporting_tokens_get_signed_parts (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_set_signed_parts (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, rp_signed_encrypted_parts_t *signed_parts)
AXIS2_EXTERN
rp_signed_encrypted_elements_t * 
rp_supporting_tokens_get_signed_elements (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_set_signed_elements (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, rp_signed_encrypted_elements_t *signed_elements)
AXIS2_EXTERN
rp_signed_encrypted_parts_t * 
rp_supporting_tokens_get_encrypted_parts (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_set_encrypted_parts (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, rp_signed_encrypted_parts_t *encrypted_parts)
AXIS2_EXTERN
rp_signed_encrypted_elements_t * 
rp_supporting_tokens_get_encrypted_elements (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_set_encrypted_elements (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, rp_signed_encrypted_elements_t *encrypted_elements)
AXIS2_EXTERN int rp_supporting_tokens_get_type (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_set_type (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env, int type)
AXIS2_EXTERN
axis2_status_t 
rp_supporting_tokens_increment_ref (rp_supporting_tokens_t *supporting_tokens, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__module__ops-members.html0000644000175000017500000000473711172017604026650 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_module_ops Member List

This is the complete list of members for axis2_module_ops, including all inherited members.

fill_handler_create_func_mapaxis2_module_ops
initaxis2_module_ops
shutdownaxis2_module_ops


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__https__token__builder_8h-source.html0000644000175000017500000001235011172017604027272 0ustar00manjulamanjula00000000000000 Axis2/C: rp_https_token_builder.h Source File

rp_https_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_HTTPS_TOKEN_BUILDER_H
00019 #define RP_HTTPS_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_https_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_https_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__builders_8h.html0000644000175000017500000000704611172017604023245 0ustar00manjulamanjula00000000000000 Axis2/C: rp_builders.h File Reference

rp_builders.h File Reference

#include <rp_algorithmsuite_builder.h>
#include <rp_defines.h>
#include <rp_layout_builder.h>
#include <rp_supporting_tokens_builder.h>
#include <rp_token_identifier.h>
#include <rp_transport_binding_builder.h>
#include <rp_transport_token_builder.h>
#include <rp_username_token_builder.h>
#include <rp_wss10_builder.h>
#include <rp_wss11_builder.h>
#include <rp_trust10_builder.h>
#include <rp_https_token_builder.h>
#include <rp_x509_token_builder.h>
#include <rp_issued_token_builder.h>
#include <rp_saml_token_builder.h>
#include <rp_security_context_token_builder.h>
#include <rp_bootstrap_policy_builder.h>
#include <rp_recipient_token_builder.h>
#include <rp_initiator_token_builder.h>
#include <rp_asymmetric_binding_builder.h>
#include <rp_signed_encrypted_parts_builder.h>
#include <rp_rampart_config_builder.h>
#include <rp_symmetric_binding_builder.h>
#include <rp_protection_token_builder.h>
#include <rp_encryption_token_builder.h>
#include <rp_signature_token_builder.h>

Go to the source code of this file.


Detailed Description

the secpolicy builders
Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__detail.html0000644000175000017500000002733411172017604027063 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault detail

soap fault detail
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_detail_t * 
axiom_soap_fault_detail_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_detail_free (axiom_soap_fault_detail_t *fault_detail, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_detail_add_detail_entry (axiom_soap_fault_detail_t *fault_detail, const axutil_env_t *env, axiom_node_t *ele_node)
AXIS2_EXTERN
axiom_children_iterator_t * 
axiom_soap_fault_detail_get_all_detail_entries (axiom_soap_fault_detail_t *fault_detail, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_detail_get_base_node (axiom_soap_fault_detail_t *fault_code, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axis2_status_t axiom_soap_fault_detail_add_detail_entry ( axiom_soap_fault_detail_t *  fault_detail,
const axutil_env_t env,
axiom_node_t *  ele_node 
)

Adds a detail entry to the SOAP fault detail

Parameters:
fault_detail pointer to soap_fault_detail struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_soap_fault_detail_t* axiom_soap_fault_detail_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_t *  fault 
)

creates a soap struct

Parameters:
env Environment. MUST NOT be NULL
fault The SOAP fault
Returns:
the created OM SOAP fault detail

AXIS2_EXTERN void axiom_soap_fault_detail_free ( axiom_soap_fault_detail_t *  fault_detail,
const axutil_env_t env 
)

Free an axiom_soap_fault_detail

Parameters:
fault_detail pointer to soap_fault_detail struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_children_iterator_t* axiom_soap_fault_detail_get_all_detail_entries ( axiom_soap_fault_detail_t *  fault_detail,
const axutil_env_t env 
)

Return all detail entries in the SOAP fault detail

Parameters:
fault_detail pointer to soap_fault_detail struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_detail_get_base_node ( axiom_soap_fault_detail_t *  fault_code,
const axutil_env_t env 
)

Returns the base node of the SOAP fault detail

Parameters:
fault_detail pointer to soap_fault_detail struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap_8h.html0000644000175000017500000000747011172017604023073 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap.h File Reference

axiom_soap.h File Reference

includes all SOAP related headers More...

#include <axiom_soap_body.h>
#include <axiom_soap_builder.h>
#include <axiom_soap_const.h>
#include <axiom_soap_envelope.h>
#include <axiom_soap_fault_code.h>
#include <axiom_soap_fault_detail.h>
#include <axiom_soap_fault.h>
#include <axiom_soap_fault_node.h>
#include <axiom_soap_fault_reason.h>
#include <axiom_soap_fault_role.h>
#include <axiom_soap_fault_sub_code.h>
#include <axiom_soap_fault_text.h>
#include <axiom_soap_fault_value.h>
#include <axiom_soap_header_block.h>
#include <axiom_soap_header.h>

Go to the source code of this file.


Detailed Description

includes all SOAP related headers

defines SOAP constants


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__async__result_8h-source.html0000644000175000017500000002052611172017604026207 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_async_result.h Source File

axis2_async_result.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_ASYNC_RESULT_H
00020 #define AXIS2_ASYNC_RESULT_H
00021 
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_msg_ctx.h>
00038 #include <axiom_soap_envelope.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00046     typedef struct axis2_async_result axis2_async_result_t;
00047 
00054     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00055     axis2_async_result_get_envelope(
00056         axis2_async_result_t * async_result,
00057         const axutil_env_t * env);
00058 
00065     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00066     axis2_async_result_get_result(
00067         axis2_async_result_t * async_result,
00068         const axutil_env_t * env);
00069 
00076     AXIS2_EXTERN void AXIS2_CALL
00077     axis2_async_result_free(
00078         axis2_async_result_t * async_result,
00079         const axutil_env_t * env);
00080 
00088     AXIS2_EXTERN axis2_async_result_t *AXIS2_CALL
00089     axis2_async_result_create(
00090         const axutil_env_t * env,
00091         axis2_msg_ctx_t * result);
00092 
00094 #ifdef __cplusplus
00095 }
00096 #endif
00097 
00098 #endif                          /* AXIS2_ASYNC_RESULT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_0x73.html0000644000175000017500000000543411172017604022400 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- s -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__error.html0000644000175000017500000004654011172017604024430 0ustar00manjulamanjula00000000000000 Axis2/C: error

error
[utilities]


Classes

struct  axutil_error

Defines

#define AXIS2_ERROR_FREE(error)   axutil_error_free(error)
#define AXIS2_ERROR_GET_MESSAGE(error)   axutil_error_get_message(error)
#define AXIS2_ERROR_SET_MESSAGE(error, message)   axutil_error_set_error_message(error, message)
#define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number)   axutil_error_set_error_number(error, error_number)
#define AXIS2_ERROR_SET_STATUS_CODE(error, status_code)   axutil_error_set_status_code(error, status_code)
#define AXIS2_ERROR_GET_STATUS_CODE(error)   axutil_error_get_status_code(error)

Typedefs

typedef struct
axutil_error 
axutil_error_t

Functions

AXIS2_EXTERN const
axis2_char_t * 
axutil_error_get_message (const struct axutil_error *error)
AXIS2_EXTERN
axis2_status_t 
axutil_error_set_error_number (struct axutil_error *error, axutil_error_codes_t error_number)
AXIS2_EXTERN
axis2_status_t 
axutil_error_set_status_code (struct axutil_error *error, axis2_status_codes_t status_code)
AXIS2_EXTERN
axis2_status_t 
axutil_error_get_status_code (struct axutil_error *error)
AXIS2_EXTERN
axis2_status_t 
axutil_error_set_error_message (struct axutil_error *error, axis2_char_t *message)
AXIS2_EXTERN
axis2_status_t 
axutil_error_init (void)
AXIS2_EXTERN void axutil_error_free (struct axutil_error *error)
AXIS2_EXTERN
axutil_error_t
axutil_error_create (axutil_allocator_t *allocator)

Define Documentation

#define AXIS2_ERROR_FREE ( error   )     axutil_error_free(error)

Deprecated:
The following macros are no longer useful as we can use the function calls directly. Hence these macros should be removed


Typedef Documentation

typedef struct axutil_error axutil_error_t

Axutil error struct. Error holds the last error number, the status code as well as the last error message.


Function Documentation

AXIS2_EXTERN axutil_error_t* axutil_error_create ( axutil_allocator_t allocator  ) 

Creates an error struct

Parameters:
allocator allocator to be used. Mandatory, cannot be NULL
Returns:
pointer to the newly created error struct

AXIS2_EXTERN void axutil_error_free ( struct axutil_error error  ) 

De-allocates an error struct instance.

Parameters:
error pointer to error struct instance to be freed.
Returns:
void

AXIS2_EXTERN const axis2_char_t* axutil_error_get_message ( const struct axutil_error error  ) 

Gets the error message corresponding to the last error occurred.

Parameters:
error pointer to error struct
Returns:
string representing the error message for the last error occurred

AXIS2_EXTERN axis2_status_t axutil_error_get_status_code ( struct axutil_error error  ) 

Gets the status code.

Parameters:
error pointer to error struct
Returns:
last status code set on error struct

AXIS2_EXTERN axis2_status_t axutil_error_init ( void   ) 

Initializes the axutil_error_messages array. This array holds the error messages that corresponds to the error codes. This function must be call before using the error struct instance.

Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_error_set_error_message ( struct axutil_error error,
axis2_char_t *  message 
)

Sets error message to the given value.

Parameters:
error pointer to error struct
message error message to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_error_set_error_number ( struct axutil_error error,
axutil_error_codes_t  error_number 
)

This function is supposed to be overridden in an extended error structure. For example in Sandesha error structure this function is overridden so that errors of axis2 range call the get_message function of error struct but errors of sandesha2 range get the messages from an array of that struct.

Returns:
error message for the extended struct.
Deprecated:
this function is not in use, so should be removed.
Sets the error number.
Parameters:
error pointer to error struct
error_number error number to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_error_set_status_code ( struct axutil_error error,
axis2_status_codes_t  status_code 
)

Sets the status code.

Parameters:
error pointer to error struct
status_code status code to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__conf__ctx_8h.html0000644000175000017500000003276311172017604024007 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_conf_ctx.h File Reference

axis2_conf_ctx.h File Reference

#include <axis2_defines.h>
#include <axutil_hash.h>
#include <axutil_env.h>
#include <axis2_ctx.h>
#include <axis2_svc_grp_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_conf_ctx 
axis2_conf_ctx_t

Functions

AXIS2_EXTERN
axis2_conf_ctx_t
axis2_conf_ctx_create (const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_set_conf (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_ctx_t
axis2_conf_ctx_get_base (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_conf_t
axis2_conf_ctx_get_conf (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_ctx_get_op_ctx_map (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_ctx_get_svc_ctx_map (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_ctx_get_svc_grp_ctx_map (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_register_op_ctx (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *message_id, axis2_op_ctx_t *op_ctx)
AXIS2_EXTERN
axis2_op_ctx_t
axis2_conf_ctx_get_op_ctx (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_register_svc_ctx (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_id, axis2_svc_ctx_t *svc_ctx)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_conf_ctx_get_svc_ctx (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_id)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_register_svc_grp_ctx (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_grp_id, axis2_svc_grp_ctx_t *svc_grp_ctx)
AXIS2_EXTERN
axis2_svc_grp_ctx_t
axis2_conf_ctx_get_svc_grp_ctx (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_grp_id)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_ctx_get_root_dir (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_set_root_dir (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *path)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_init (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, axis2_conf_t *conf)
AXIS2_EXTERN void axis2_conf_ctx_free (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_grp_ctx_t
axis2_conf_ctx_fill_ctxs (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_set_property (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN
axutil_property_t * 
axis2_conf_ctx_get_property (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *key)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__core__utils_8h-source.html0000644000175000017500000002732511172017604025650 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_core_utils.h Source File

axis2_core_utils.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_CORE_UTILS_H
00020 #define AXIS2_CORE_UTILS_H
00021 
00022 #include <axis2_const.h>
00023 #include <axis2_defines.h>
00024 #include <axutil_error.h>
00025 #include <axutil_env.h>
00026 #include <axis2_msg_ctx.h>
00027 #include <axis2_op.h>
00028 #include <axutil_qname.h>
00029 #include <axis2_core_dll_desc.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     struct axis2_conf;
00037 
00043     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00044 
00045     axis2_core_utils_create_out_msg_ctx(
00046         const axutil_env_t * env,
00047         axis2_msg_ctx_t * in_msg_ctx);
00048 
00049     AXIS2_EXTERN void AXIS2_CALL
00050     axis2_core_utils_reset_out_msg_ctx(
00051         const axutil_env_t * env,
00052         axis2_msg_ctx_t * out_msg_ctx);
00053 
00054     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
00055 
00056     axis2_core_utils_get_module_qname(
00057         const axutil_env_t * env,
00058         const axis2_char_t * name,
00059         const axis2_char_t * version);
00060 
00061     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00062 
00063     axis2_core_utils_calculate_default_module_version(
00064         const axutil_env_t * env,
00065         axutil_hash_t * modules_map,
00066         struct axis2_conf *axis_conf);
00067 
00068     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00069     axis2_core_utils_get_module_name(
00070         const axutil_env_t * env,
00071         axis2_char_t * module_name);
00072 
00073     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00074 
00075     axis2_core_utils_get_module_version(
00076         const axutil_env_t * env,
00077         axis2_char_t * module_name);
00078 
00079     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00080     axis2_core_utils_is_latest_mod_ver(
00081         const axutil_env_t * env,
00082         axis2_char_t * module_ver,
00083         axis2_char_t * current_def_ver);
00084 
00085     AXIS2_EXTERN axis2_op_t *AXIS2_CALL                                                                    
00086     axis2_core_utils_get_rest_op_with_method_and_location(axis2_svc_t *svc,
00087         const axutil_env_t *env,
00088         const axis2_char_t *method,
00089         const axis2_char_t *location,
00090         axutil_array_list_t *param_keys,
00091         axutil_array_list_t *param_values);
00092 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     axis2_core_utils_prepare_rest_mapping (
00095         const axutil_env_t * env,
00096         axis2_char_t * url,
00097         axutil_hash_t *rest_map,
00098         axis2_op_t *op_desc);
00099 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     axis2_core_utils_free_rest_map (
00102         const axutil_env_t * env,
00103         axutil_hash_t *rest_map);
00104 
00105 
00106 
00109 #ifdef __cplusplus
00110 }
00111 #endif
00112 
00113 #endif                          /* AXIS2_CORE_UTILS_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__generic__obj_8h-source.html0000644000175000017500000002063311172017604026221 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_generic_obj.h Source File

axutil_generic_obj.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_GENERIC_OBJ_H
00020 #define AXUTIL_GENERIC_OBJ_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <axutil_utils.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00032     typedef struct axutil_generic_obj axutil_generic_obj_t;
00033 
00044     AXIS2_EXTERN axutil_generic_obj_t *AXIS2_CALL
00045     axutil_generic_obj_create(
00046         const axutil_env_t * env);
00047 
00048     AXIS2_EXTERN void AXIS2_CALL
00049     axutil_generic_obj_free(
00050         axutil_generic_obj_t * generic_obj,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00054     axutil_generic_obj_set_free_func(
00055         axutil_generic_obj_t * generic_obj,
00056         const axutil_env_t * env,
00057         AXIS2_FREE_VOID_ARG free_func);
00058 
00059     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00060     axutil_generic_obj_set_value(
00061         axutil_generic_obj_t * generic_obj,
00062         const axutil_env_t * env,
00063         void *value);
00064 
00065     AXIS2_EXTERN void *AXIS2_CALL
00066     axutil_generic_obj_get_value(
00067         axutil_generic_obj_t * generic_obj,
00068         const axutil_env_t * env);
00069 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     axutil_generic_obj_set_type(
00072         axutil_generic_obj_t * generic_obj,
00073         const axutil_env_t * env,
00074         int type);
00075 
00076     AXIS2_EXTERN int AXIS2_CALL
00077     axutil_generic_obj_get_type(
00078         axutil_generic_obj_t * generic_obj,
00079         const axutil_env_t * env);
00080 
00081 #ifdef __cplusplus
00082 }
00083 #endif
00084 
00085 #endif                          /* AXIS2_GENERIC_OBJ_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/config_8h-source.html0000644000175000017500000002530711172017604023337 0ustar00manjulamanjula00000000000000 Axis2/C: config.h Source File

config.h

00001 /* config.h.  Generated from config.h.in by configure.  */
00002 /* config.h.in.  Generated from configure.ac by autoheader.  */
00003 
00004 /* Am I on Solaris? */
00005 /* #undef AXIS2_SOLARIS */
00006 
00007 /* Define to 1 if you have the <dlfcn.h> header file. */
00008 #define HAVE_DLFCN_H 1
00009 
00010 /* Define to 1 if you have the `getifaddrs' function. */
00011 #define HAVE_GETIFADDRS 1
00012 
00013 /* Have GNU-style varargs macros */
00014 #define HAVE_GNUC_VARARGS 1
00015 
00016 /* Define to 1 if you have the <inttypes.h> header file. */
00017 #define HAVE_INTTYPES_H 1
00018 
00019 /* Have ISO C99 varargs macros */
00020 #define HAVE_ISO_VARARGS 1
00021 
00022 /* Define to 1 if you have the `compat' library (-lcompat). */
00023 /* #undef HAVE_LIBCOMPAT */
00024 
00025 /* Define to 1 if you have the `dl' library (-ldl). */
00026 #define HAVE_LIBDL 1
00027 
00028 /* Define to 1 if you have the `socket' library (-lsocket). */
00029 /* #undef HAVE_LIBSOCKET */
00030 
00031 /* Define to 1 if you have the `z' library (-lz). */
00032 #define HAVE_LIBZ 1
00033 
00034 /* Define to 1 if you have the <linux/if.h> header file. */
00035 #define HAVE_LINUX_IF_H 1
00036 
00037 /* Define to 1 if you have the <memory.h> header file. */
00038 #define HAVE_MEMORY_H 1
00039 
00040 /* Define to 1 if you have the <net/if_dl.h> header file. */
00041 /* #undef HAVE_NET_IF_DL_H */
00042 
00043 /* Define to 1 if you have the <net/if.h> header file. */
00044 #define HAVE_NET_IF_H 1
00045 
00046 /* Define to 1 if you have the <net/if_types.h> header file. */
00047 /* #undef HAVE_NET_IF_TYPES_H */
00048 
00049 /* Define to 1 if you have the <stdint.h> header file. */
00050 #define HAVE_STDINT_H 1
00051 
00052 /* Define to 1 if you have the <stdio.h> header file. */
00053 #define HAVE_STDIO_H 1
00054 
00055 /* Define to 1 if you have the <stdlib.h> header file. */
00056 #define HAVE_STDLIB_H 1
00057 
00058 /* Define to 1 if you have the <strings.h> header file. */
00059 #define HAVE_STRINGS_H 1
00060 
00061 /* Define to 1 if you have the <string.h> header file. */
00062 #define HAVE_STRING_H 1
00063 
00064 /* Define to 1 if the system has the type `struct lifreq'. */
00065 /* #undef HAVE_STRUCT_LIFREQ */
00066 
00067 /* Define to 1 if the system has the type `struct sockaddr_dl'. */
00068 /* #undef HAVE_STRUCT_SOCKADDR_DL */
00069 
00070 /* Define to 1 if you have the <sys/socket.h> header file. */
00071 #define HAVE_SYS_SOCKET_H 1
00072 
00073 /* Define to 1 if you have the <sys/stat.h> header file. */
00074 #define HAVE_SYS_STAT_H 1
00075 
00076 /* Define to 1 if you have the <sys/types.h> header file. */
00077 #define HAVE_SYS_TYPES_H 1
00078 
00079 /* Define to 1 if you have the <unistd.h> header file. */
00080 #define HAVE_UNISTD_H 1
00081 
00082 /* Define to 1 if compiling on MacOS X */
00083 /* #undef IS_MACOSX */
00084 
00085 /* Name of package */
00086 #define PACKAGE "axis2_util-src"
00087 
00088 /* Define to the address where bug reports for this package should be sent. */
00089 #define PACKAGE_BUGREPORT ""
00090 
00091 /* Define to the full name of this package. */
00092 #define PACKAGE_NAME "axis2_util-src"
00093 
00094 /* Define to the full name and version of this package. */
00095 #define PACKAGE_STRING "axis2_util-src 1.6.0"
00096 
00097 /* Define to the one symbol short name of this package. */
00098 #define PACKAGE_TARNAME "axis2_util-src"
00099 
00100 /* Define to the version of this package. */
00101 #define PACKAGE_VERSION "1.6.0"
00102 
00103 /* Define to 1 if you have the ANSI C header files. */
00104 #define STDC_HEADERS 1
00105 
00106 /* Version number of package */
00107 #define VERSION "1.6.0"

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__flow_8h.html0000644000175000017500000001323211172017604023002 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_flow.h File Reference

axis2_flow.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>
#include <axis2_handler_desc.h>

Go to the source code of this file.

Typedefs

typedef struct axis2_flow axis2_flow_t

Functions

AXIS2_EXTERN
axis2_flow_t
axis2_flow_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_flow_free (axis2_flow_t *flow, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_add_handler (axis2_flow_t *flow, const axutil_env_t *env, axis2_handler_desc_t *handler)
AXIS2_EXTERN
axis2_handler_desc_t
axis2_flow_get_handler (const axis2_flow_t *flow, const axutil_env_t *env, const int index)
AXIS2_EXTERN int axis2_flow_get_handler_count (const axis2_flow_t *flow, const axutil_env_t *env)
AXIS2_EXTERN void axis2_flow_free_void_arg (void *flow, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mtom__sending__callback_8h-source.html0000644000175000017500000002464011172017604030222 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mtom_sending_callback.h Source File

axiom_mtom_sending_callback.h

Go to the documentation of this file.
00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIOM_MTOM_SENDING_CALLBACK_H 
00019 #define AXIOM_MTOM_SENDING_CALLBACK_H
00020 
00032 #include <axutil_env.h>
00033 #include <axutil_param.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00043     typedef struct axiom_mtom_sending_callback_ops axiom_mtom_sending_callback_ops_t;
00044 
00048     typedef struct axiom_mtom_sending_callback axiom_mtom_sending_callback_t;
00049 
00050 
00063     struct axiom_mtom_sending_callback_ops
00064     {
00065         void* (AXIS2_CALL*
00066             init_handler)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00067             const axutil_env_t* env,
00068             void *user_param);
00069 
00070         int (AXIS2_CALL*
00071             load_data)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00072             const axutil_env_t* env,
00073             void *handler,
00074             axis2_char_t **buffer);
00075 
00076         axis2_status_t (AXIS2_CALL*
00077             close_handler)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00078             const axutil_env_t* env,
00079             void *handler);
00080 
00081         axis2_status_t (AXIS2_CALL*
00082             free)(axiom_mtom_sending_callback_t *mtom_sending_callback,
00083             const axutil_env_t* env);
00084     };
00085 
00086     struct axiom_mtom_sending_callback
00087     {
00088         axiom_mtom_sending_callback_ops_t *ops;
00089                 axutil_param_t *param;
00090     };
00091 
00092     /*************************** Function macros **********************************/
00093 #define AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLER(mtom_sending_callback, env, user_param) \
00094         ((mtom_sending_callback)->ops->init_handler(mtom_sending_callback, env, user_param))
00095 
00096 #define AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(mtom_sending_callback, env, handler, buffer) \
00097         ((mtom_sending_callback)->ops->load_data(mtom_sending_callback, env, handler, buffer))
00098 
00099 #define AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(mtom_sending_callback, env, handler) \
00100         ((mtom_sending_callback)->ops->close_handler(mtom_sending_callback, env, handler))
00101 
00102 #define AXIOM_MTOM_SENDING_CALLBACK_FREE(mtom_sending_callback, env) \
00103         ((mtom_sending_callback)->ops->free(mtom_sending_callback, env))
00104 
00106 #ifdef __cplusplus
00107 }
00108 #endif
00109 
00110 #endif                          /* AXIOM_MTOM_SENDING_CALLBACK */
00111 
00112 

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__utils_8h-source.html0000644000175000017500000004476211172017604024765 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_utils.h Source File

axutil_utils.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_UTILS_H
00020 #define AXUTIL_UTILS_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <axutil_date_time.h>
00026 #include <axutil_base64_binary.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00043 #define AXUTIL_LOG_FILE_SIZE 1024 * 1024 * 32
00044 #define AXUTIL_LOG_FILE_NAME_SIZE 512
00045 
00056 #define AXIS2_FUNC_PARAM_CHECK(object, env, error_return)               \
00057     if (!object)                                                        \
00058     {                                                                   \
00059         AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_INVALID_NULL_PARAM); \
00060         AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE);         \
00061         return error_return;                                            \
00062     }                                                                   \
00063     else                                                                \
00064     {                                                                   \
00065         AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_SUCCESS);              \
00066     }
00067 
00068 
00078 #define AXIS2_PARAM_CHECK(error, object, error_return)                  \
00079     if (!object)                                                        \
00080     {                                                                   \
00081         AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \
00082         AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE);              \
00083         return error_return;                                            \
00084     }                                                                   \
00085     else                                                                \
00086     {                                                                   \
00087         AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_SUCCESS);              \
00088     }
00089 
00090 
00091 
00092 #define AXIS2_PARAM_CHECK_VOID(error, object)                           \
00093     if (!object)                                                        \
00094     {                                                                   \
00095         AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \
00096         AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE);              \
00097         return;                                                         \
00098     }
00099 
00100 
00101 
00110 #define AXIS2_ERROR_SET(error, error_number, status_code)   \
00111     {                                                       \
00112         AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number);  \
00113         AXIS2_ERROR_SET_STATUS_CODE(error, status_code);    \
00114     }
00115 
00124 #define AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number,          \
00125             status_code, file_name_line_no)                      \
00126     {                                                            \
00127         AXIS2_ERROR_SET(env->error, error_number, status_code);  \
00128         AXIS2_LOG_ERROR(env->log, file_name_line_no,             \
00129             AXIS2_ERROR_GET_MESSAGE(env->error));                \
00130     } 
00131 
00138 #define AXIS2_HANDLE_ERROR(env, error_number, status_code)               \
00139             AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number, status_code, \
00140             AXIS2_LOG_SI)                                                \
00141 
00142 
00144 #define AXIS2_CREATE_FUNCTION "axis2_get_instance"
00145 #define AXIS2_DELETE_FUNCTION "axis2_remove_instance"
00146 
00147     typedef void(
00148         AXIS2_CALL
00149         * AXIS2_FREE_VOID_ARG)(
00150             void *obj_to_be_freed,
00151             const axutil_env_t * env);
00152 
00153     /* Function pointer typedef for read callback */
00154     typedef int(
00155         AXIS2_CALL
00156         * AXIS2_READ_INPUT_CALLBACK)(
00157             char *buffer,
00158             int size,
00159             void *ctx);
00160 
00161     /* Function pointer typedef for close callback */
00162     typedef int(
00163         AXIS2_CALL
00164         * AXIS2_CLOSE_INPUT_CALLBACK)(
00165             void *ctx);
00166 
00172     enum axis2_scopes
00173     {
00174 
00176         AXIS2_SCOPE_REQUEST = 0,
00177 
00179         AXIS2_SCOPE_SESSION,
00180 
00182         AXIS2_SCOPE_APPLICATION
00183     };
00184 
00185 #define AXIS2_TARGET_EPR "target_epr"
00186 #define AXIS2_DUMP_INPUT_MSG_TRUE "dump"
00187 
00200     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00201     axutil_parse_rest_url_for_params(
00202         const axutil_env_t * env,
00203         const axis2_char_t * tmpl,
00204         const axis2_char_t * url,
00205         int * match_count,
00206         axis2_char_t **** matches);
00207 
00217     AXIS2_EXTERN axis2_char_t **AXIS2_CALL
00218     axutil_parse_request_url_for_svc_and_op(
00219         const axutil_env_t * env,
00220         const axis2_char_t * request);
00221 
00235     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00236     axutil_xml_quote_string(
00237         const axutil_env_t * env,
00238         const axis2_char_t * s,
00239         axis2_bool_t quotes);
00240 
00241     AXIS2_EXTERN int AXIS2_CALL
00242     axutil_hexit(axis2_char_t c);
00243 
00244     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00245     axutil_url_decode(
00246         const axutil_env_t * env,
00247         axis2_char_t * dest,
00248         axis2_char_t * src);
00249     
00250     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00251     axis2_char_2_byte(
00252         const axutil_env_t *env,
00253         axis2_char_t *char_buffer,
00254         axis2_byte_t **byte_buffer,
00255         int *byte_buffer_size);
00256 
00259 #ifdef __cplusplus
00260 }
00261 #endif
00262 
00263 #endif                          /* AXIS2_UTILS_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__expression-members.html0000644000175000017500000000576611172017604030177 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xpath_expression Member List

This is the complete list of members for axiom_xpath_expression, including all inherited members.

expr_lenaxiom_xpath_expression
expr_ptraxiom_xpath_expression
expr_straxiom_xpath_expression
operationsaxiom_xpath_expression
startaxiom_xpath_expression


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_0x74.html0000644000175000017500000000634111172017604022377 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- t -


Generated on Thu Apr 16 11:31:24 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__qname_8h-source.html0000644000175000017500000002400111172017604024706 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_qname.h Source File

axutil_qname.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXUTIL_QNAME_H
00020 #define AXUTIL_QNAME_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 
00030 #include <axutil_string.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00043     typedef struct axutil_qname axutil_qname_t;
00044 
00058     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
00059     axutil_qname_create(
00060         const axutil_env_t * env,
00061         const axis2_char_t * localpart,
00062         const axis2_char_t * namespace_uri,
00063         const axis2_char_t * prefix);
00064 
00071     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
00072     axutil_qname_create_from_string(
00073         const axutil_env_t * env,
00074         const axis2_char_t * string);
00075 
00080     AXIS2_EXTERN void AXIS2_CALL
00081     axutil_qname_free(
00082         struct axutil_qname *qname,
00083         const axutil_env_t * env);
00084 
00092     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00093     axutil_qname_equals(
00094         const struct axutil_qname *qname,
00095         const axutil_env_t * env,
00096         const struct axutil_qname *qname1);
00097 
00105     AXIS2_EXTERN struct axutil_qname *AXIS2_CALL
00106                 axutil_qname_clone(
00107                     struct axutil_qname *qname,
00108                     const axutil_env_t * env);
00109 
00110     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00111     axutil_qname_get_uri(
00112         const struct axutil_qname *qname,
00113         const axutil_env_t * env);
00114 
00115     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00116     axutil_qname_get_prefix(
00117         const struct axutil_qname *qname,
00118         const axutil_env_t * env);
00119 
00120     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00121     axutil_qname_get_localpart(
00122         const struct axutil_qname *qname,
00123         const axutil_env_t * env);
00124 
00131     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00132     axutil_qname_to_string(
00133         struct axutil_qname *qname,
00134         const axutil_env_t * env);
00135 
00138 #ifdef __cplusplus
00139 }
00140 #endif
00141 
00142 #endif                          /* AXIS2_QNAME_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__param__container_8h-source.html0000644000175000017500000002466311172017604027124 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_param_container.h Source File

axutil_param_container.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_PARAM_CONTAINER_H
00020 #define AXUTIL_PARAM_CONTAINER_H
00021 
00032 #include <axutil_utils.h>
00033 #include <axutil_error.h>
00034 #include <axutil_utils_defines.h>
00035 #include <axutil_env.h>
00036 #include <axutil_allocator.h>
00037 #include <axutil_string.h>
00038 #include <axutil_array_list.h>
00039 #include <axutil_hash.h>
00040 
00041 /*#include <axiom_element.h>*/
00042 #include <axutil_qname.h>
00043 #include <axutil_param.h>
00044 
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049 
00050     typedef struct axutil_param_container axutil_param_container_t;
00051 
00056     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00057 
00058     axutil_param_container_create(
00059         const axutil_env_t * env);
00060 
00066     AXIS2_EXTERN void AXIS2_CALL
00067     axutil_param_container_free_void_arg(
00068         void *param_container,
00069         const axutil_env_t * env);
00070 
00074     AXIS2_EXTERN void AXIS2_CALL
00075     axutil_param_container_free(
00076         axutil_param_container_t * param_container,
00077         const axutil_env_t * env);
00078 
00083     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084     axutil_param_container_add_param(
00085         axutil_param_container_t * param_container,
00086         const axutil_env_t * env,
00087         axutil_param_t * param);
00088 
00093     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00094     axutil_param_container_get_param(
00095         axutil_param_container_t * param_container,
00096         const axutil_env_t * env,
00097         const axis2_char_t * name);
00098 
00102     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00103 
00104     axutil_param_container_get_params(
00105         axutil_param_container_t * param_container,
00106         const axutil_env_t * env);
00107 
00112     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00113 
00114     axutil_param_container_is_param_locked(
00115         axutil_param_container_t * param_container,
00116         const axutil_env_t * env,
00117         const axis2_char_t * param_name);
00118 
00121 #ifdef __cplusplus
00122 }
00123 #endif
00124 #endif                          /* AXIS2_PARAM_CONTAINER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__hash_8h-source.html0000644000175000017500000004204011172017604024533 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_hash.h Source File

axutil_hash.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_HASH_H
00020 #define AXUTIL_HASH_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00051 #define AXIS2_HASH_KEY_STRING     (unsigned int)(-1)
00052 
00056     typedef struct axutil_hash_t axutil_hash_t;
00057 
00061     typedef struct axutil_hash_index_t axutil_hash_index_t;
00062 
00069     typedef unsigned int(
00070         *axutil_hashfunc_t)(
00071             const char *key,
00072             axis2_ssize_t * klen);
00073 
00077     unsigned int axutil_hashfunc_default(
00078         const char *key,
00079         axis2_ssize_t * klen);
00080 
00086     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00087     axutil_hash_make(
00088         const axutil_env_t * env);
00089 
00096     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00097     axutil_hash_make_custom(
00098         const axutil_env_t * env,
00099         axutil_hashfunc_t hash_func);
00100 
00108     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00109     axutil_hash_copy(
00110         const axutil_hash_t * ht,
00111         const axutil_env_t * env);
00112 
00121     AXIS2_EXTERN void AXIS2_CALL
00122     axutil_hash_set(
00123         axutil_hash_t * ht,
00124         const void *key,
00125         axis2_ssize_t klen,
00126         const void *val);
00127 
00135     AXIS2_EXTERN void *AXIS2_CALL
00136     axutil_hash_get(
00137         axutil_hash_t * ht,
00138         const void *key,
00139         axis2_ssize_t klen);
00140 
00170     AXIS2_EXTERN axutil_hash_index_t *AXIS2_CALL
00171     axutil_hash_first(
00172         axutil_hash_t * ht,
00173         const axutil_env_t * env);
00174 
00181     AXIS2_EXTERN axutil_hash_index_t *AXIS2_CALL
00182     axutil_hash_next(
00183         const axutil_env_t * env,
00184         axutil_hash_index_t * hi);
00185 
00195     AXIS2_EXTERN void AXIS2_CALL
00196     axutil_hash_this(
00197         axutil_hash_index_t * hi,
00198         const void **key,
00199         axis2_ssize_t * klen,
00200         void **val);
00201 
00207     AXIS2_EXTERN unsigned int AXIS2_CALL
00208     axutil_hash_count(
00209         axutil_hash_t * ht);
00210 
00220     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00221     axutil_hash_overlay(
00222         const axutil_hash_t * overlay,
00223         const axutil_env_t * env,
00224         const axutil_hash_t * base);
00225 
00240     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00241     axutil_hash_merge(
00242         const axutil_hash_t * h1,
00243         const axutil_env_t * env,
00244         const axutil_hash_t * h2,
00245         void *(*merger)(const axutil_env_t * env,
00246                 const void *key,
00247                 axis2_ssize_t klen,
00248                 const void *h1_val,
00249                 const void *h2_val,
00250                 const void *data),
00251         const void *data);
00252 
00260     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00261     axutil_hash_contains_key(
00262         axutil_hash_t * ht,
00263         const axutil_env_t * env,
00264         const axis2_char_t * key);
00265 
00273     AXIS2_EXTERN void AXIS2_CALL
00274     axutil_hash_free(
00275         axutil_hash_t * ht,
00276         const axutil_env_t * env);
00277 
00285     AXIS2_EXTERN void AXIS2_CALL
00286     axutil_hash_free_void_arg(
00287         void *ht_void,
00288         const axutil_env_t * env);
00289 
00290     AXIS2_EXTERN void AXIS2_CALL
00291     axutil_hash_set_env(
00292         axutil_hash_t * ht,
00293         const axutil_env_t * env);
00294 
00297 #ifdef __cplusplus
00298 }
00299 #endif
00300 
00301 #endif                          /* !AXIS2_HASH_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg__info__headers_8h.html0000644000175000017500000004167711172017604025643 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg_info_headers.h File Reference

axis2_msg_info_headers.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_const.h>
#include <axutil_array_list.h>
#include <axis2_endpoint_ref.h>
#include <axis2_any_content_type.h>
#include <axis2_svc_name.h>
#include <axis2_relates_to.h>
#include <axiom_node.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_msg_info_headers 
axis2_msg_info_headers_t

Functions

AXIS2_EXTERN
axis2_msg_info_headers_t
axis2_msg_info_headers_create (const axutil_env_t *env, axis2_endpoint_ref_t *to, const axis2_char_t *action)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *to)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_from (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_from (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *from)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_reply_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_reply_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *reply_to)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_reply_to_none (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t none)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_reply_to_none (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_reply_to_anonymous (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t anonymous)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_reply_to_anonymous (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_fault_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_fault_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *fault_to)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_fault_to_none (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t none)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_fault_to_none (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_fault_to_anonymous (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t anonymous)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_fault_to_anonymous (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_info_headers_get_action (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_action (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_char_t *action)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_info_headers_get_message_id (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_message_id (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_in_message_id (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_relates_to_t
axis2_msg_info_headers_get_relates_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_relates_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_relates_to_t *relates_to)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_info_headers_get_all_ref_params (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_add_ref_param (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axiom_node_t *ref_param)
AXIS2_EXTERN void axis2_msg_info_headers_free (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__all_8h.html0000644000175000017500000001506111172017604023033 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_all.h File Reference

neethi_all.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_operator.h>
#include <neethi_includes.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_all_t 
neethi_all_t

Functions

AXIS2_EXTERN
neethi_all_t * 
neethi_all_create (const axutil_env_t *env)
AXIS2_EXTERN void neethi_all_free (neethi_all_t *neethi_all, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
neethi_all_get_policy_components (neethi_all_t *neethi_all, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_all_add_policy_components (neethi_all_t *all, axutil_array_list_t *arraylist, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_all_add_operator (neethi_all_t *neethi_all, const axutil_env_t *env, neethi_operator_t *op)
AXIS2_EXTERN axis2_bool_t neethi_all_is_empty (neethi_all_t *all, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_all_serialize (neethi_all_t *neethi_all, axiom_node_t *parent, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__sender-members.html0000644000175000017500000000406211172017604030065 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_transport_sender Member List

This is the complete list of members for axis2_transport_sender, including all inherited members.

opsaxis2_transport_sender


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svr__callback_8h-source.html0000644000175000017500000002002111172017604026110 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svr_callback.h Source File

axis2_svr_callback.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_SVR_CALLBACK_H
00020 #define AXIS2_SVR_CALLBACK_H
00021 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037 #include <axis2_defines.h>
00038 #include <axis2_const.h>
00039 #include <axis2_msg_ctx.h>
00040 
00042     typedef struct axis2_svr_callback axis2_svr_callback_t;
00043 
00050     AXIS2_EXTERN void AXIS2_CALL
00051     axis2_svr_callback_free(
00052         axis2_svr_callback_t * svr_callback,
00053         const axutil_env_t * env);
00054 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     axis2_svr_callback_handle_result(
00064         axis2_svr_callback_t * svr_callback,
00065         const axutil_env_t * env,
00066         axis2_msg_ctx_t * msg_ctx);
00067 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axis2_svr_callback_handle_fault(
00077         axis2_svr_callback_t * svr_callback,
00078         const axutil_env_t * env,
00079         axis2_msg_ctx_t * msg_ctx);
00080 
00086     AXIS2_EXTERN axis2_svr_callback_t *AXIS2_CALL
00087     axis2_svr_callback_create(
00088         const axutil_env_t * env);
00089 
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094 
00095 #endif                          /* AXIS2_SVR_CALLBACK_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__class__loader_8h-source.html0000644000175000017500000001524411172017604026410 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_class_loader.h Source File

axutil_class_loader.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_CLASS_LOADER_H
00020 #define AXUTIL_CLASS_LOADER_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_qname.h>
00029 #include <axutil_error.h>
00030 #include <axutil_utils.h>
00031 #include <axutil_dll_desc.h>
00032 #include <axutil_param.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00044     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00045     axutil_class_loader_init(
00046         const axutil_env_t * env);
00047 
00048     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00049     axutil_class_loader_delete_dll(
00050         const axutil_env_t * env,
00051         axutil_dll_desc_t * dll_desc);
00052 
00053     AXIS2_EXTERN void *AXIS2_CALL
00054     axutil_class_loader_create_dll(
00055         const axutil_env_t * env,
00056         axutil_param_t * impl_info_param);
00057 
00059 #ifdef __cplusplus
00060 }
00061 #endif
00062 
00063 #endif                          /* AXIS2_CLASS_LOADER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mtom__sending__callback_8h.html0000644000175000017500000001335711172017604026727 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mtom_sending_callback.h File Reference

axiom_mtom_sending_callback.h File Reference

sending callback for attachment sending More...

#include <axutil_env.h>
#include <axutil_param.h>

Go to the source code of this file.

Classes

struct  axiom_mtom_sending_callback_ops
struct  axiom_mtom_sending_callback

Defines

#define AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLER(mtom_sending_callback, env, user_param)   ((mtom_sending_callback)->ops->init_handler(mtom_sending_callback, env, user_param))
#define AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(mtom_sending_callback, env, handler, buffer)   ((mtom_sending_callback)->ops->load_data(mtom_sending_callback, env, handler, buffer))
#define AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(mtom_sending_callback, env, handler)   ((mtom_sending_callback)->ops->close_handler(mtom_sending_callback, env, handler))
#define AXIOM_MTOM_SENDING_CALLBACK_FREE(mtom_sending_callback, env)   ((mtom_sending_callback)->ops->free(mtom_sending_callback, env))

Typedefs

typedef struct
axiom_mtom_sending_callback_ops 
axiom_mtom_sending_callback_ops_t
typedef struct
axiom_mtom_sending_callback 
axiom_mtom_sending_callback_t


Detailed Description

sending callback for attachment sending


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__children__iterator.html0000644000175000017500000003230211172017604026735 0ustar00manjulamanjula00000000000000 Axis2/C: children iterator

children iterator
[AXIOM]


Functions

AXIS2_EXTERN
axiom_children_iterator_t * 
axiom_children_iterator_create (const axutil_env_t *env, axiom_node_t *current_child)
AXIS2_EXTERN void axiom_children_iterator_free (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_iterator_remove (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_children_iterator_has_next (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_children_iterator_next (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_iterator_reset (axiom_children_iterator_t *iterator, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_children_iterator_t* axiom_children_iterator_create ( const axutil_env_t env,
axiom_node_t *  current_child 
)

Parameters:
current child
env environment return axiom_children_iterator_t

AXIS2_EXTERN void axiom_children_iterator_free ( axiom_children_iterator_t *  iterator,
const axutil_env_t env 
)

Free the om_children_iterator struct

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_bool_t axiom_children_iterator_has_next ( axiom_children_iterator_t *  iterator,
const axutil_env_t env 
)

Returns:
true if the iteration has more elements. In other words, returns true if next() would return an om_node_t struct rather than null with error code set in environment
Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axiom_node_t* axiom_children_iterator_next ( axiom_children_iterator_t *  iterator,
const axutil_env_t env 
)

Returns the next element in the iteration. Returns null if there are no more elements in the iteration

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_iterator_remove ( axiom_children_iterator_t *  iterator,
const axutil_env_t env 
)

Removes from the underlying collection the last element returned by the iterator (optional op). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_iterator_reset ( axiom_children_iterator_t *  iterator,
const axutil_env_t env 
)

Resets the Iterator. This moves the cursor back to the initial. iterator chidren_iterator to be reset.

Parameters:
iterator a pointer to axiom children iterator struct
env environment, MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__property.html0000644000175000017500000001354311172017604024273 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_property

Rp_property


Typedefs

typedef struct
rp_property_t 
rp_property_t

Enumerations

enum  rp_property_type_t {
  RP_PROPERTY_USERNAME_TOKEN = 0, RP_PROPERTY_X509_TOKEN, RP_PROPERTY_ISSUED_TOKEN, RP_PROPERTY_SAML_TOKEN,
  RP_PROPERTY_SECURITY_CONTEXT_TOKEN, RP_PROPERTY_HTTPS_TOKEN, RP_PROPERTY_SYMMETRIC_BINDING, RP_PROPERTY_ASYMMETRIC_BINDING,
  RP_PROPERTY_TRANSPORT_BINDING, RP_PROPERTY_SIGNED_SUPPORTING_TOKEN, RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN, RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN,
  RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN, RP_PROPERTY_WSS10, RP_PROPERTY_WSS11, RP_PROPERTY_SUPPORTING_TOKEN,
  RP_PROPERTY_UNKNOWN
}

Functions

AXIS2_EXTERN
rp_property_t * 
rp_property_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_property_free (rp_property_t *property, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_property_set_value (rp_property_t *property, const axutil_env_t *env, void *value, rp_property_type_t type)
AXIS2_EXTERN void * rp_property_get_value (rp_property_t *property, const axutil_env_t *env)
AXIS2_EXTERN
rp_property_type_t 
rp_property_get_type (rp_property_t *property, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_property_increment_ref (rp_property_t *property, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__node_8h.html0000644000175000017500000001135311172017604025564 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_node.h File Reference

axiom_soap_fault_node.h File Reference

axiom_soap_fault_node struct More...

#include <axutil_env.h>
#include <axiom_soap_fault.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_node 
axiom_soap_fault_node_t

Functions

AXIS2_EXTERN
axiom_soap_fault_node_t * 
axiom_soap_fault_node_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_node_free (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_node_set_value (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env, axis2_char_t *fault_val)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_node_get_value (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_node_get_base_node (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_node struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__allocator-members.html0000644000175000017500000000614411172017604026575 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axutil_allocator Member List

This is the complete list of members for axutil_allocator, including all inherited members.

current_poolaxutil_allocator
free_fnaxutil_allocator
global_poolaxutil_allocator
local_poolaxutil_allocator
malloc_fnaxutil_allocator
reallocaxutil_allocator


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__array__list.html0000644000175000017500000010670211172017604025604 0ustar00manjulamanjula00000000000000 Axis2/C: array list

array list
[utilities]


Files

file  axutil_array_list.h
 Axis2 array_list interface.

Typedefs

typedef struct
axutil_array_list 
axutil_array_list_t

Functions

AXIS2_EXTERN
axutil_array_list_t
axutil_array_list_create (const axutil_env_t *env, int capacity)
AXIS2_EXTERN void axutil_array_list_free_void_arg (void *array_list, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_array_list_ensure_capacity (struct axutil_array_list *array_list, const axutil_env_t *env, int min_capacity)
AXIS2_EXTERN int axutil_array_list_size (struct axutil_array_list *array_list, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_array_list_is_empty (struct axutil_array_list *array_list, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_array_list_contains (struct axutil_array_list *array_list, const axutil_env_t *env, void *e)
AXIS2_EXTERN int axutil_array_list_index_of (struct axutil_array_list *array_list, const axutil_env_t *env, void *e)
AXIS2_EXTERN void * axutil_array_list_get (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void * axutil_array_list_set (struct axutil_array_list *array_list, const axutil_env_t *env, int index, void *e)
AXIS2_EXTERN
axis2_status_t 
axutil_array_list_add (struct axutil_array_list *array_list, const axutil_env_t *env, const void *e)
AXIS2_EXTERN
axis2_status_t 
axutil_array_list_add_at (struct axutil_array_list *array_list, const axutil_env_t *env, const int index, const void *e)
AXIS2_EXTERN void * axutil_array_list_remove (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN axis2_bool_t axutil_array_list_check_bound_inclusive (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN axis2_bool_t axutil_array_list_check_bound_exclusive (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void axutil_array_list_free (struct axutil_array_list *array_list, const axutil_env_t *env)

Detailed Description

Description.

Typedef Documentation

typedef struct axutil_array_list axutil_array_list_t

Array List struct


Function Documentation

AXIS2_EXTERN axis2_status_t axutil_array_list_add ( struct axutil_array_list *  array_list,
const axutil_env_t env,
const void *  e 
)

Appends the supplied element to the end of this list. The element, e, can be a pointer of any type or NULL.

Parameters:
array_list pointer to array list
env pointer to environment struct
e the element to be appended to this list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_array_list_add_at ( struct axutil_array_list *  array_list,
const axutil_env_t env,
const int  index,
const void *  e 
)

Adds the supplied element at the specified index, shifting all elements currently at that index or higher one to the right. The element, e, can be a pointer of any type or NULL.

Parameters:
array_list pointer to array list
env pointer to environment struct
index the index at which the element is being added
e the item being added
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axutil_array_list_check_bound_exclusive ( struct axutil_array_list *  array_list,
const axutil_env_t env,
int  index 
)

Checks that the index is in the range of existing elements (exclusive).

Parameters:
array_list pointer to array list
env pointer to environment struct
index the index to check
Returns:
AXIS2_FALSE if index >= size or index < 0, else AXIS2_TRUE

AXIS2_EXTERN axis2_bool_t axutil_array_list_check_bound_inclusive ( struct axutil_array_list *  array_list,
const axutil_env_t env,
int  index 
)

Checks that the index is in the range of possible elements (inclusive).

Parameters:
array_list pointer to array list
env pointer to environment struct
index the index to check
Returns:
AXIS2_FALSE if index > size or index < 0, else AXIS2_TRUE

AXIS2_EXTERN axis2_bool_t axutil_array_list_contains ( struct axutil_array_list *  array_list,
const axutil_env_t env,
void *  e 
)

Returns true iff element is in this array_list.

Parameters:
array_list pointer to array list
env pointer to environment struct
e the element whose inclusion in the List is being tested
Returns:
true if the list contains e

AXIS2_EXTERN axutil_array_list_t* axutil_array_list_create ( const axutil_env_t env,
int  capacity 
)

Constructs a new array list with the supplied initial capacity. If capacity is invalid (<= 0) then default capacity is used

Parameters:
env pointer to environment struct
capacity initial capacity of this array_list

AXIS2_EXTERN axis2_status_t axutil_array_list_ensure_capacity ( struct axutil_array_list *  array_list,
const axutil_env_t env,
int  min_capacity 
)

Guarantees that this list will have at least enough capacity to hold min_capacity elements. This implementation will grow the list to max(current * 2, min_capacity)

Parameters:
array_list pointer to array_list
env pointer to environment struct
min_capacity the minimum guaranteed capacity
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axutil_array_list_free ( struct axutil_array_list *  array_list,
const axutil_env_t env 
)

Parameters:
array_list pointer to array list
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axutil_array_list_free_void_arg ( void *  array_list,
const axutil_env_t env 
)

Free array passed as void pointer.

Parameters:
array_list pointer to array list
env pointer to environment struct

AXIS2_EXTERN void* axutil_array_list_get ( struct axutil_array_list *  array_list,
const axutil_env_t env,
int  index 
)

Retrieves the element at the user-supplied index.

Parameters:
array_list pointer to array list
env pointer to environment struct
index the index of the element we are fetching
Returns:
element at the given index

AXIS2_EXTERN int axutil_array_list_index_of ( struct axutil_array_list *  array_list,
const axutil_env_t env,
void *  e 
)

Returns the lowest index at which element appears in this List, or -1 if it does not appear. This looks for the pointer value equality only, does not look into pointer content

Parameters:
array_list pointer to array list
env pointer to environment struct
e the element whose inclusion in the List is being tested
Returns:
the index where e was found

AXIS2_EXTERN axis2_bool_t axutil_array_list_is_empty ( struct axutil_array_list *  array_list,
const axutil_env_t env 
)

Checks if the list is empty.

Parameters:
array_list pointer to array list
env pointer to environment struct
Returns:
true if there are no elements, else false

AXIS2_EXTERN void* axutil_array_list_remove ( struct axutil_array_list *  array_list,
const axutil_env_t env,
int  index 
)

Removes the element at the user-supplied index.

Parameters:
array_list pointer to array list
env pointer to environment struct
index the index of the element to be removed
Returns:
the removed void* pointer

AXIS2_EXTERN void* axutil_array_list_set ( struct axutil_array_list *  array_list,
const axutil_env_t env,
int  index,
void *  e 
)

Sets the element at the specified index. The new element, e, can be an object of any type or null.

Parameters:
array_list pointer to array list
env pointer to environment struct
index the index at which the element is being set
e the element to be set
Returns:
the element previously at the specified index

AXIS2_EXTERN int axutil_array_list_size ( struct axutil_array_list *  array_list,
const axutil_env_t env 
)

Returns the number of elements in this list.

Parameters:
array_list pointer to array list
env pointer to environment struct
Returns:
the list size


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__sender__ops.html0000644000175000017500000002437111172017604027462 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_sender_ops Struct Reference

axis2_transport_sender_ops Struct Reference
[transport sender]

Description Transport Sender ops struct Encapsulator struct for ops of axis2_transport_sender. More...

#include <axis2_transport_sender.h>

List of all members.

Public Attributes

axis2_status_t(* init )(axis2_transport_sender_t *transport_sender, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_out_desc *transport_out)
axis2_status_t(* invoke )(axis2_transport_sender_t *transport_sender, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
axis2_status_t(* cleanup )(axis2_transport_sender_t *transport_sender, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
void(* free )(axis2_transport_sender_t *transport_sender, const axutil_env_t *env)


Detailed Description

Description Transport Sender ops struct Encapsulator struct for ops of axis2_transport_sender.

Member Data Documentation

axis2_status_t( * axis2_transport_sender_ops::init)(axis2_transport_sender_t *transport_sender, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_out_desc *transport_out)

Initialize

Parameters:
transport_sender pointer to transport sender
env pointer to environment
conf_ctx pointer to configuration context
transport_out pointer to transport_out
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

axis2_status_t( * axis2_transport_sender_ops::invoke)(axis2_transport_sender_t *transport_sender, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)

Invoke

Parameters:
transport_sender pointer to transport sender
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

axis2_status_t( * axis2_transport_sender_ops::cleanup)(axis2_transport_sender_t *transport_sender, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)

Clean up

Parameters:
transport_sender pointer to transport sender
env pointer to environmnet struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

De-allocate memory

Parameters:
transport_sender pointer to transport sender
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__role_8h-source.html0000644000175000017500000001754511172017604027107 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_role.h Source File

axiom_soap_fault_role.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_ROLE_H
00020 #define AXIOM_SOAP_FAULT_ROLE_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_soap_fault_role axiom_soap_fault_role_t;
00035 
00046     AXIS2_EXTERN axiom_soap_fault_role_t *AXIS2_CALL
00047     axiom_soap_fault_role_create_with_parent(
00048         const axutil_env_t * env,
00049         axiom_soap_fault_t * fault);
00050 
00059     AXIS2_EXTERN void AXIS2_CALL
00060     axiom_soap_fault_role_free(
00061         axiom_soap_fault_role_t * fault_role,
00062         const axutil_env_t * env);
00063 
00073     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00074     axiom_soap_fault_role_set_role_value(
00075         axiom_soap_fault_role_t * fault_role,
00076         const axutil_env_t * env,
00077         axis2_char_t * uri);
00078 
00086     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00087     axiom_soap_fault_role_get_role_value(
00088         axiom_soap_fault_role_t * fault_role,
00089         const axutil_env_t * env);
00090 
00098     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00099     axiom_soap_fault_role_get_base_node(
00100         axiom_soap_fault_role_t * fault_role,
00101         const axutil_env_t * env);
00102 
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 
00109 #endif                          /* AXIOM_SOAP_FAULT_ROLE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__digest__calc_8h-source.html0000644000175000017500000001773311172017604026223 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_digest_calc.h Source File

axutil_digest_calc.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_DIGEST_CALC_H
00019 #define AXUTIL_DIGEST_CALC_H
00020 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00048     #define AXIS2_DIGEST_HASH_LEN 16
00049     #define AXIS2_DIGEST_HASH_HEX_LEN 32
00050 
00051     typedef unsigned char axutil_digest_hash_t[AXIS2_DIGEST_HASH_LEN];
00052     typedef unsigned char axutil_digest_hash_hex_t[AXIS2_DIGEST_HASH_HEX_LEN + 1];
00053 
00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067     axutil_digest_calc_get_h_a1(
00068         const axutil_env_t * env,
00069         char * algorithm,               
00070         char * user_name,              
00071         char * realm,                 
00072         char * password,             
00073         char * nonce,               
00074         char * cnonce,             
00075         axutil_digest_hash_hex_t session_key); 
00076 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     axutil_digest_calc_get_response(
00092         const axutil_env_t * env,
00093         axutil_digest_hash_hex_t h_a1,                       
00094         char * nonce,                      
00095         char * nonce_count,               
00096         char * cnonce,                   
00097         char * qop,                     
00098         char * method,                 
00099         char * digest_uri,            
00100         axutil_digest_hash_hex_t h_entity,  
00101         axutil_digest_hash_hex_t response); 
00102 
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 
00109 #endif /* AXIS2_DIGEST_CALC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__core__trans__http.html0000644000175000017500000001136411172017604026507 0ustar00manjulamanjula00000000000000 Axis2/C: http transport

http transport
[transport]


Modules

 HTTP Accept record
 http client
 http header
 http out transport info
 http request line
 http response writer
 http server
 http simple request
 http simple response
 http status line
 http server thread
 core http transport
 http transport sender
 http worker
 http chunked stream

Detailed Description

Description.
Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tcpmon__session_8h-source.html0000644000175000017500000004615111172017604025274 0ustar00manjulamanjula00000000000000 Axis2/C: tcpmon_session.h Source File

tcpmon_session.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef TCPMON_SESSION_H
00020 #define TCPMON_SESSION_H
00021 
00022 #include <axutil_env.h>
00023 #include <tcpmon_entry.h>
00024 #include <axutil_string.h>
00025 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00042     typedef struct tcpmon_session_ops tcpmon_session_ops_t;
00043     typedef struct tcpmon_session tcpmon_session_t;
00044 
00048     typedef int(
00049         *TCPMON_SESSION_NEW_ENTRY_FUNCT)(
00050             const axutil_env_t * env,
00051             tcpmon_entry_t * entry,
00052             int status);            /* 0-started, 1-finished */
00053 
00054     typedef int(
00055         *TCPMON_SESSION_TRANS_ERROR_FUNCT)(
00056             const axutil_env_t * env,
00057             axis2_char_t * error_message);
00058 
00059     struct tcpmon_session_ops
00060     {
00061 
00068         axis2_status_t(
00069             AXIS2_CALL
00070             * free)(
00071                 tcpmon_session_t * session,
00072                 const axutil_env_t * env);
00073 
00074         axis2_status_t(
00075             AXIS2_CALL
00076             * set_test_bit)(
00077                 tcpmon_session_t * session,
00078                 const axutil_env_t * env,
00079                 int test_bit);
00080 
00081         axis2_status_t(
00082             AXIS2_CALL
00083             * get_test_bit)(
00084                 tcpmon_session_t * session,
00085                 const axutil_env_t * env);
00086         axis2_status_t(
00087             AXIS2_CALL
00088             * set_format_bit)(
00089                 tcpmon_session_t * session,
00090                 const axutil_env_t * env,
00091                 int format_bit);
00092 
00093         int(
00094             AXIS2_CALL
00095             * get_format_bit)(
00096                 tcpmon_session_t * session,
00097                 const axutil_env_t * env);
00098 
00106         axis2_status_t(
00107             AXIS2_CALL
00108             * set_listen_port)(
00109                 tcpmon_session_t * session,
00110                 const axutil_env_t * env,
00111                 int listen_port);
00112 
00118         int(
00119             AXIS2_CALL
00120             * get_listen_port)(
00121                 tcpmon_session_t * session,
00122                 const axutil_env_t * env);
00123 
00131         axis2_status_t(
00132             AXIS2_CALL
00133             * set_target_port)(
00134                 tcpmon_session_t * session,
00135                 const axutil_env_t * env,
00136                 int target_port);
00137 
00143         int(
00144             AXIS2_CALL
00145             * get_target_port)(
00146                 tcpmon_session_t * session,
00147                 const axutil_env_t * env);
00148 
00156         axis2_status_t(
00157             AXIS2_CALL
00158             * set_target_host)(
00159                 tcpmon_session_t * session,
00160                 const axutil_env_t * env,
00161                 axis2_char_t * target_host);
00162 
00168         axis2_char_t *(
00169             AXIS2_CALL
00170             * get_target_host)(
00171                 tcpmon_session_t * session,
00172                 const axutil_env_t * env);
00173 
00179         axis2_status_t(
00180             AXIS2_CALL
00181             * start)(
00182                 tcpmon_session_t * session,
00183                 const axutil_env_t * env);
00184 
00190         axis2_status_t(
00191             AXIS2_CALL
00192             * stop)(
00193                 tcpmon_session_t * session,
00194                 const axutil_env_t * env);
00195 
00202         axis2_status_t(
00203             AXIS2_CALL
00204             * on_new_entry)(
00205                 tcpmon_session_t * session,
00206                 const axutil_env_t * env,
00207                 TCPMON_SESSION_NEW_ENTRY_FUNCT on_new_entry_funct);
00208 
00215         axis2_status_t(
00216             AXIS2_CALL
00217             * on_trans_fault)(
00218                 tcpmon_session_t * session,
00219                 const axutil_env_t * env,
00220                 TCPMON_SESSION_TRANS_ERROR_FUNCT on_trans_fault_funct);
00221 
00222     };
00223 
00224     struct tcpmon_session
00225     {
00226         tcpmon_session_ops_t *ops;
00227     };
00228 
00234     tcpmon_session_t *AXIS2_CALL
00235     tcpmon_session_create(
00236         const axutil_env_t * env);
00237 
00238     /*************************** Function macros **********************************/
00239 
00240 #define TCPMON_SESSION_FREE(session, env) \
00241         ((session)->ops->free (session, env))
00242 
00243 #define TCPMON_SESSION_SET_TEST_BIT(session, env, test_bit) \
00244         ((session)->ops->set_test_bit(session, env, test_bit))
00245 
00246 #define TCPMON_SESSION_GET_TEST_BIT(session, env) \
00247         ((session)->ops->get_test_bit(session, env))
00248 
00249 #define TCPMON_SESSION_SET_FORMAT_BIT(session, env, format_bit) \
00250         ((session)->ops->set_format_bit(session, env, format_bit))
00251 
00252 #define TCPMON_SESSION_GET_FORMAT_BIT(session, env) \
00253         ((session)->ops->get_format_bit(session, env))
00254 
00255 #define TCPMON_SESSION_SET_LISTEN_PORT(session, env, listen_port) \
00256         ((session)->ops->set_listen_port(session, env, listen_port))
00257 
00258 #define TCPMON_SESSION_GET_LISTEN_PORT(session, env) \
00259         ((session)->ops->get_listen_port(session, env))
00260 
00261 #define TCPMON_SESSION_SET_TARGET_PORT(session, env, target_port) \
00262         ((session)->ops->set_target_port(session, env, target_port))
00263 
00264 #define TCPMON_SESSION_GET_TARGET_PORT(session, env) \
00265         ((session)->ops->get_target_port(session, env))
00266 
00267 #define TCPMON_SESSION_SET_TARGET_HOST(session, env, target_host) \
00268         ((session)->ops->set_target_host(session, env, target_host))
00269 
00270 #define TCPMON_SESSION_GET_TARGET_HOST(session, env) \
00271         ((session)->ops->get_target_host(session, env))
00272 
00273 #define TCPMON_SESSION_START(session, env) \
00274         ((session)->ops->start(session, env))
00275 
00276 #define TCPMON_SESSION_STOP(session, env) \
00277         ((session)->ops->stop(session, env))
00278 
00279 #define TCPMON_SESSION_ON_TRANS_FAULT(session, env, funct) \
00280         ((session)->ops->on_trans_fault(session, env, funct))
00281 
00282 #define TCPMON_SESSION_ON_NEW_ENTRY(session, env, funct) \
00283         ((session)->ops->on_new_entry(session, env, funct))
00284 
00287 #ifdef __cplusplus
00288 }
00289 #endif
00290 
00291 #endif                          /* TCPMON_SESSION_H */

Generated on Thu Apr 16 11:31:21 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__raw__xml__in__out__msg__recv.html0000644000175000017500000000627011172017604030661 0ustar00manjulamanjula00000000000000 Axis2/C: raw XML in-out message receiver

raw XML in-out message receiver
[receivers]


Functions

AXIS2_EXTERN
axis2_msg_recv_t
axis2_raw_xml_in_out_msg_recv_create (const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axis2_msg_recv_t* axis2_raw_xml_in_out_msg_recv_create ( const axutil_env_t env  ) 

Creates raw xml in out message receiver struct

Returns:
pointer to newly created raw xml in out message receiver


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__reason.html0000644000175000017500000004065111172017604027105 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault reason

soap fault reason
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_reason_t * 
axiom_soap_fault_reason_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_reason_free (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_text * 
axiom_soap_fault_reason_get_soap_fault_text (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env, axis2_char_t *lang)
AXIS2_EXTERN
axutil_array_list_t
axiom_soap_fault_reason_get_all_soap_fault_texts (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_text * 
axiom_soap_fault_reason_get_first_soap_fault_text (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_reason_add_soap_fault_text (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env, struct axiom_soap_fault_text *fault_text)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_reason_get_base_node (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axis2_status_t axiom_soap_fault_reason_add_soap_fault_text ( axiom_soap_fault_reason_t *  fault_reason,
const axutil_env_t env,
struct axiom_soap_fault_text *  fault_text 
)

Add a string as a SOAP fault reason

Parameters:
fault_reason pointer to soap_fault_reason struct
env Environment. MUST NOT be NULL
fault_text The text to be added as the SOAP fault reason
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_soap_fault_reason_t* axiom_soap_fault_reason_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_t *  fault 
)

creates a SOAP fault reason struct

Parameters:
env Environment. MUST NOT be NULL
fault the SOAP fault
Returns:
the created SOAP fault reason struct

AXIS2_EXTERN void axiom_soap_fault_reason_free ( axiom_soap_fault_reason_t *  fault_reason,
const axutil_env_t env 
)

Free an axiom_soap_fault_reason

Parameters:
fault_reason pointer to soap_fault_reason struct
env Environment. MUST NOT be NULL
Returns:
VOID

AXIS2_EXTERN axutil_array_list_t* axiom_soap_fault_reason_get_all_soap_fault_texts ( axiom_soap_fault_reason_t *  fault_reason,
const axutil_env_t env 
)

Returns all the SOAP fault reason strings as an array list

Parameters:
fault_reason pointer to soap_fault_reason struct
env Environment. MUST NOT be NULL
Returns:
all the SOAP fault reason strings as an array list

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_reason_get_base_node ( axiom_soap_fault_reason_t *  fault_reason,
const axutil_env_t env 
)

Get the base node of the SOAP fault reason

Parameters:
fault_reason pointer to soap_fault_reason struct
env Environment. MUST NOT be NULL
Returns:
the base node of the SOAP fault reason

AXIS2_EXTERN struct axiom_soap_fault_text* axiom_soap_fault_reason_get_first_soap_fault_text ( axiom_soap_fault_reason_t *  fault_reason,
const axutil_env_t env 
) [read]

Retuens the first SOAP fault reason string

Parameters:
fault_reason pointer to soap_fault_reason struct
env Environment. MUST NOT be NULL
Returns:
The first SOAP fault reason string

AXIS2_EXTERN struct axiom_soap_fault_text* axiom_soap_fault_reason_get_soap_fault_text ( axiom_soap_fault_reason_t *  fault_reason,
const axutil_env_t env,
axis2_char_t *  lang 
) [read]

Get the SOAP fault text by comparing the given string

Parameters:
fault_reason pointer to soap_fault_reason struct
env Environment. MUST NOT be NULL
lang string to be compares
Returns:
the SOAP fault text of the SOAP fault string


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__child__element__iterator_8h.html0000644000175000017500000001524211172017604027130 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_child_element_iterator.h File Reference

axiom_child_element_iterator.h File Reference

this is the iterator for om elemnts More...

#include <axiom_node.h>
#include <axiom_text.h>

Go to the source code of this file.

Defines

#define AXIOM_CHILD_ELEMENT_ITERATOR_FREE(iterator, env)   axiom_child_element_iterator_free(iterator, env)
#define AXIOM_CHILD_ELEMENT_ITERATOR_REMOVE(iterator, env)   axiom_child_element_iterator_remove(iterator, env)
#define AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(iterator, env)   axiom_child_element_iterator_has_next(iterator, env)
#define AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(iterator, env)   axiom_child_element_iterator_next(iterator, env)

Typedefs

typedef struct
axiom_child_element_iterator 
axiom_child_element_iterator_t

Functions

AXIS2_EXTERN void axiom_child_element_iterator_free (void *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_child_element_iterator_remove (axiom_child_element_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_child_element_iterator_has_next (axiom_child_element_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_child_element_iterator_next (axiom_child_element_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_child_element_iterator_t * 
axiom_child_element_iterator_create (const axutil_env_t *env, axiom_node_t *current_child)


Detailed Description

this is the iterator for om elemnts


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__username__token__builder_8h-source.html0000644000175000017500000001271411172017604027753 0ustar00manjulamanjula00000000000000 Axis2/C: rp_username_token_builder.h Source File

rp_username_token_builder.h

00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_USERNAME_TOKEN_BUILDER_H
00019 #define RP_USERNAME_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_username_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_username_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__saml__token_8h-source.html0000644000175000017500000002415211172017604025222 0ustar00manjulamanjula00000000000000 Axis2/C: rp_saml_token.h Source File

rp_saml_token.h

00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef RP_SAML_TOKEN_H
00018 #define RP_SAML_TOKEN_H
00019 
00020 #include <rp_includes.h>
00021 #include <axutil_utils.h>
00022 #include <neethi_operator.h>
00023 #include <neethi_policy.h>
00024 #include <neethi_exactlyone.h>
00025 #include <neethi_all.h>
00026 #include <neethi_engine.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032     
00033     typedef struct rp_saml_token rp_saml_token_t;
00034     
00035     AXIS2_EXTERN rp_saml_token_t * AXIS2_CALL
00036     rp_saml_token_create(
00037         const axutil_env_t *env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_saml_token_free(
00041         rp_saml_token_t *saml_token,
00042         const axutil_env_t *env);
00043     
00044     AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00045     rp_saml_token_get_inclusion(
00046             rp_saml_token_t *saml_token,
00047             const axutil_env_t *env);
00048     
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_saml_token_set_inclusion(
00051             rp_saml_token_t *saml_token,
00052             const axutil_env_t *env,
00053             axis2_char_t * inclusion);
00054     
00055     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00056     rp_saml_token_get_derivedkeys(
00057                     rp_saml_token_t *saml_token,
00058                     const axutil_env_t *env);
00059     
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_saml_token_set_derivedkeys(
00062                     rp_saml_token_t *saml_token,
00063                     const axutil_env_t *env,
00064                     axis2_bool_t derivedkeys);
00065     
00066     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067     rp_saml_token_get_require_key_identifier_reference(
00068         rp_saml_token_t * saml_token,
00069         const axutil_env_t * env);
00070     
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_saml_token_set_require_key_identifier_reference(
00073         rp_saml_token_t * saml_token,
00074         const axutil_env_t * env,
00075         axis2_bool_t require_key_identifier_reference);
00076     
00077     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00078     rp_saml_token_get_token_version_and_type(
00079         rp_saml_token_t * saml_token,
00080         const axutil_env_t * env);
00081     
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     rp_saml_token_set_token_version_and_type(
00084         rp_saml_token_t * saml_token,
00085         const axutil_env_t * env,
00086         axis2_char_t * token_version_and_type);
00087     
00088     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00089     rp_saml_token_increment_ref(
00090         rp_saml_token_t * saml_token,
00091         const axutil_env_t * env);
00092     
00093     
00094 #ifdef __cplusplus
00095 }
00096 #endif
00097 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__utils__defines_8h-source.html0000644000175000017500000004153011172017604026607 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_utils_defines.h Source File

axutil_utils_defines.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_UTILS_DEFINES_H
00020 #define AXUTIL_UTILS_DEFINES_H
00021 
00022 #include <stddef.h>
00023 
00024 #if !defined(WIN32)
00025 #include <stdint.h> 
00026 #endif
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033 #if defined(WIN32) && !defined(AXIS2_SKIP_INT_TYPEDEFS)
00034 
00037     typedef unsigned __int8 uint8_t;
00038     typedef __int8 int8_t;
00039     typedef unsigned __int16 uint16_t;
00040     typedef __int16 int16_t;
00041     typedef unsigned __int32 uint32_t;
00042     typedef __int32 int32_t;
00043     typedef unsigned __int64 uint64_t;
00044     typedef __int64 int64_t;
00045 #endif
00046 
00052 #if defined(WIN32)
00053 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%I64d"
00054 #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%I64u"
00055 #define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%I32d"
00056 #define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%I32u"
00057 #else
00058 #if __WORDSIZE == 64
00059 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%ld"
00060 #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%lu"
00061 #else
00062 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%lld"
00063 #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%llu"
00064 #endif
00065 #define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%d"
00066 #define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%u"
00067 #endif
00068 
00072     typedef char axis2_char_t;
00073     typedef int axis2_bool_t;
00074     typedef int axis2_status_t;
00075     typedef int axis2_scope_t;
00076     typedef unsigned int axis2_ssize_t;
00077     typedef char axis2_byte_t;
00078         typedef unsigned char axis2_unsigned_byte_t;
00079 
00080 #define AXIS2_STRING(s) s
00081 
00082 #define AXIS2_CHAR(c) c
00083 
00084 #define AXIS2_CRLF_LENGTH 2
00085 
00086 #define AXIS2_CRLF "\r\n"
00087 
00088     /* These constant definitions should later be moved to platform dependant
00089      * files
00090      */
00091 
00092 #define AXIS2_EOLN '\0'
00093 
00097 #define AXIS2_TRUE 1
00098 #define AXIS2_FALSE 0
00099 
00103 #if defined(WIN32) && !defined(AXIS2_DECLARE_STATIC)
00104 #define AXIS2_EXPORT __declspec(dllexport)
00105 #else
00106 #define AXIS2_EXPORT
00107 #endif
00108 
00112 #if defined(WIN32)
00113 #define AXIS2_IMPORT __declspec(dllimport)
00114 #else
00115 #define AXIS2_IMPORT
00116 #endif
00117 
00121 #if defined(__GNUC__)
00122 #if defined(__i386)
00123 #define AXIS2_CALL __attribute__((cdecl))
00124 #define AXIS2_WUR __attribute__((warn_unused_result))
00125 #else
00126 #define AXIS2_CALL
00127 #define AXIS2_WUR
00128 
00129 
00130 #endif
00131 #else
00132 #if defined(__unix)
00133 #define AXIS2_CALL
00134 #define AXIS2_WUR
00135 
00136 
00137 #else                           /* WIN32 */
00138 #define AXIS2_CALL __stdcall
00139 #define AXIS2_WUR
00140 #endif
00141 #endif
00142 #define AXIS2_THREAD_FUNC AXIS2_CALL
00143 
00144 
00145 #ifdef DOXYGEN
00146 
00147     /* define these just so doxygen documents them */
00148 
00160 # define AXIS2_DECLARE_STATIC
00161 
00168 # define AXIS2_DECLARE_EXPORT
00169 
00170 #endif                          /* def DOXYGEN */
00171 
00172 #if !defined(WIN32)
00173 
00186 #define AXIS2_EXTERN
00187 
00196 #define AXIS2_DECLARE_NONSTD(type)     type
00197 
00206 #define AXIS2_DECLARE_DATA
00207 
00208 #elif defined(AXIS2_DECLARE_STATIC)
00209 #define AXIS2_EXTERN
00210 #define AXIS2_EXTERN_NONSTD
00211 #define AXIS2_DECLARE_DATA
00212 #elif defined(AXIS2_DECLARE_EXPORT)
00213 #define AXIS2_EXTERN                    AXIS2_EXPORT
00214 #define AXIS2_EXTERN_NONSTD             AXIS2_EXPORT
00215 #define AXIS2_DECLARE_DATA
00216 #else
00217 #define AXIS2_EXTERN                    AXIS2_IMPORT
00218 #define AXIS2_EXTERN_NONSTD             AXIS2_IMPORT
00219 #define AXIS2_DECLARE_DATA
00220 #endif
00221 
00222 #ifdef __cplusplus
00223 }
00224 #endif
00225 
00226 #endif                          /* AXIS2_UTILS_DEFINES_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__callback_8h-source.html0000644000175000017500000003670711172017604025101 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_callback.h Source File

axis2_callback.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_CALLBACK_H
00020 #define AXIS2_CALLBACK_H
00021 
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axis2_async_result.h>
00040 #include <axiom_soap_envelope.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00048     typedef struct axis2_callback axis2_callback_t;
00049 
00051     typedef axis2_status_t AXIS2_CALL
00052     axis2_on_complete_func_ptr(
00053         axis2_callback_t *,
00054         const axutil_env_t *);
00055 
00057     typedef axis2_status_t AXIS2_CALL
00058     axis2_on_error_func_ptr(
00059         axis2_callback_t *,
00060         const axutil_env_t *,
00061         int);
00062 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     axis2_callback_invoke_on_complete(
00073         axis2_callback_t * callback,
00074         const axutil_env_t * env,
00075         axis2_async_result_t * result);
00076 
00085     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00086     axis2_callback_report_error(
00087         axis2_callback_t * callback,
00088         const axutil_env_t * env,
00089         const int exception);
00090 
00109     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00110     axis2_callback_get_complete(
00111         const axis2_callback_t * callback,
00112         const axutil_env_t * env);
00113 
00121     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00122     axis2_callback_set_complete(
00123         axis2_callback_t * callback,
00124         const axutil_env_t * env,
00125         const axis2_bool_t complete);
00126 
00133     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00134     axis2_callback_get_envelope(
00135         const axis2_callback_t * callback,
00136         const axutil_env_t * env);
00137 
00145     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146     axis2_callback_set_envelope(
00147         axis2_callback_t * callback,
00148         const axutil_env_t * env,
00149         axiom_soap_envelope_t * envelope);
00150 
00157     AXIS2_EXTERN int AXIS2_CALL
00158     axis2_callback_get_error(
00159         const axis2_callback_t * callback,
00160         const axutil_env_t * env);
00161 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_callback_set_error(
00171         axis2_callback_t * callback,
00172         const axutil_env_t * env,
00173         const int error);
00174 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182     axis2_callback_set_data(
00183         axis2_callback_t * callback,
00184         void *data);
00185 
00191     AXIS2_EXTERN void *AXIS2_CALL
00192     axis2_callback_get_data(
00193         const axis2_callback_t * callback);
00194 
00200     AXIS2_EXTERN void AXIS2_CALL
00201     axis2_callback_set_on_complete(
00202         axis2_callback_t * callback,
00203         axis2_on_complete_func_ptr f);
00204 
00210     AXIS2_EXTERN void AXIS2_CALL
00211     axis2_callback_set_on_error(
00212         axis2_callback_t * callback,
00213         axis2_on_error_func_ptr f);
00214 
00221     AXIS2_EXTERN void AXIS2_CALL
00222     axis2_callback_free(
00223         axis2_callback_t * callback,
00224         const axutil_env_t * env);
00225 
00231     AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
00232     axis2_callback_create(
00233         const axutil_env_t * env);
00234 
00236 #ifdef __cplusplus
00237 }
00238 #endif
00239 
00240 #endif                          /* AXIS2_CALL_BACK_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__stream_8h-source.html0000644000175000017500000005001411172017604025103 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_stream.h Source File

axutil_stream.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain count copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_STREAM_H
00019 #define AXUTIL_STREAM_H
00020 
00021 #include <axutil_utils.h>
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 #include <stdio.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00031 #define AXIS2_STREAM_DEFAULT_BUF_SIZE 2048
00032 
00045     enum axutil_stream_type
00046     {
00047         AXIS2_STREAM_BASIC = 0,
00048         AXIS2_STREAM_FILE,
00049         AXIS2_STREAM_SOCKET,
00050         AXIS2_STREAM_MANAGED    /* Example Wrapper stream for Apache2 read mechanism */
00051     };
00052 
00053     typedef enum axutil_stream_type axutil_stream_type_t;
00054     typedef struct axutil_stream axutil_stream_t;
00055 
00056     typedef int(
00057         AXIS2_CALL
00058         * AXUTIL_STREAM_READ)(
00059             axutil_stream_t * stream,
00060             const axutil_env_t * env,
00061             void *buffer,
00062             size_t count);
00063 
00064     typedef int(
00065         AXIS2_CALL
00066         * AXUTIL_STREAM_WRITE)(
00067             axutil_stream_t * stream,
00068             const axutil_env_t * env,
00069             const void *buffer,
00070             size_t count);
00071 
00072     typedef int(
00073         AXIS2_CALL
00074         * AXUTIL_STREAM_SKIP)(
00075             axutil_stream_t * stream,
00076             const axutil_env_t * env,
00077             int count);
00078 
00079     struct axutil_stream
00080     {
00081         axutil_stream_type_t stream_type;
00082         int len;
00083         int max_len;
00084         /* Only one of these is used for a perticlar
00085          * instance depending on the type
00086          */
00087         axis2_char_t *buffer;
00088         axis2_char_t *buffer_head;
00089         FILE *fp;
00090         int socket;
00091 
00092         int axis2_eof;
00093 
00100         int(
00101             AXIS2_CALL
00102             * read)(
00103                 axutil_stream_t * stream,
00104                 const axutil_env_t * env,
00105                 void *buffer,
00106                 size_t count);
00107 
00114         int(
00115             AXIS2_CALL
00116             * write)(
00117                 axutil_stream_t * stream,
00118                 const axutil_env_t * env,
00119                 const void *buffer,
00120                 size_t count);
00121 
00127         int(
00128             AXIS2_CALL
00129             * skip)(
00130                 axutil_stream_t * stream,
00131                 const axutil_env_t * env,
00132                 int count);
00133     };
00134 
00139     AXIS2_EXTERN void AXIS2_CALL
00140     axutil_stream_free(
00141         axutil_stream_t * stream,
00142         const axutil_env_t * env);
00143 
00144     AXIS2_EXTERN void AXIS2_CALL
00145     axutil_stream_free_void_arg(
00146         void *stream,
00147         const axutil_env_t * env);
00148 
00155     AXIS2_EXTERN int AXIS2_CALL
00156     axutil_stream_read(
00157         axutil_stream_t * stream,
00158         const axutil_env_t * env,
00159         void *buffer,
00160         size_t count);
00161 
00168     AXIS2_EXTERN int AXIS2_CALL
00169     axutil_stream_write(
00170         axutil_stream_t * stream,
00171         const axutil_env_t * env,
00172         const void *buffer,
00173         size_t count);
00174 
00180     AXIS2_EXTERN int AXIS2_CALL
00181     axutil_stream_skip(
00182         axutil_stream_t * stream,
00183         const axutil_env_t * env,
00184         int count);
00185 
00191     AXIS2_EXTERN int AXIS2_CALL
00192     axutil_stream_get_len(
00193         axutil_stream_t * stream,
00194         const axutil_env_t * env);
00195 
00199     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00200     axutil_stream_create_basic(
00201         const axutil_env_t * env);
00202 
00207     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00208     axutil_stream_create_file(
00209         const axutil_env_t * env,
00210         FILE * fp);
00211 
00216     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00217     axutil_stream_create_socket(
00218         const axutil_env_t * env,
00219         int socket);
00220 
00224     AXIS2_EXTERN void AXIS2_CALL
00225     axutil_stream_free(
00226         axutil_stream_t * stream,
00227         const axutil_env_t * env);
00228 
00235     AXIS2_EXTERN void AXIS2_CALL
00236     axutil_stream_free_void_arg(
00237         void *stream,
00238         const axutil_env_t * env);
00239 
00243     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00244     axutil_stream_get_buffer(
00245         const axutil_stream_t * stream,
00246         const axutil_env_t * env);
00247 
00248     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00249     axutil_stream_flush_buffer(
00250         axutil_stream_t * stream,
00251         const axutil_env_t * env);
00252 
00253     AXIS2_EXTERN int AXIS2_CALL
00254     axutil_stream_peek_socket(
00255         axutil_stream_t * stream,
00256         const axutil_env_t * env,
00257         void *buffer,
00258         size_t count);
00259 
00260     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00261     axutil_stream_flush(
00262         axutil_stream_t * stream,
00263         const axutil_env_t * env);
00264 
00265     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00266     axutil_stream_close(
00267         axutil_stream_t * stream,
00268         const axutil_env_t * env);
00269 
00270     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00271     axutil_stream_set_read(
00272         axutil_stream_t * stream,
00273         const axutil_env_t * env,
00274         AXUTIL_STREAM_READ func);
00275 
00276     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00277     axutil_stream_set_write(
00278         axutil_stream_t * stream,
00279         const axutil_env_t * env,
00280         AXUTIL_STREAM_WRITE func);
00281 
00282     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00283     axutil_stream_set_skip(
00284         axutil_stream_t * stream,
00285         const axutil_env_t * env,
00286         AXUTIL_STREAM_SKIP func);
00287 
00290 #ifdef __cplusplus
00291 }
00292 #endif
00293 
00294 #endif                          /* AXIS2_STREAM_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__options.html0000644000175000017500000045234511172017604024516 0ustar00manjulamanjula00000000000000 Axis2/C: options

options
[client API]


Files

file  axis2_options.h

Defines

#define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS   30000
#define AXIS2_TIMEOUT_IN_SECONDS   "time_out"
#define AXIS2_COPY_PROPERTIES   "copy_properties"

Typedefs

typedef struct
axis2_options 
axis2_options_t

Functions

AXIS2_EXTERN const
axis2_char_t * 
axis2_options_get_action (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_fault_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_from (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_receiver_t
axis2_options_get_transport_receiver (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_in_desc_t
axis2_options_get_transport_in (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_options_get_transport_in_protocol (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_options_get_message_id (const axis2_options_t *options_t, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_options_get_properties (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN void * axis2_options_get_property (const axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axis2_relates_to_t
axis2_options_get_relates_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_reply_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_options_get_transport_out (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_options_get_sender_transport_protocol (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_options_get_soap_version_uri (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN long axis2_options_get_timeout_in_milli_seconds (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_options_get_use_separate_listener (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_options_t
axis2_options_get_parent (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_parent (axis2_options_t *options, const axutil_env_t *env, const axis2_options_t *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_action (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *action)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_fault_to (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *fault_to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_from (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *from)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_to (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_receiver (axis2_options_t *options, const axutil_env_t *env, axis2_transport_receiver_t *receiver)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_in (axis2_options_t *options, const axutil_env_t *env, axis2_transport_in_desc_t *transport_in)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_in_protocol (axis2_options_t *options, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS transport_in_protocol)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_message_id (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_properties (axis2_options_t *options, const axutil_env_t *env, axutil_hash_t *properties)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_property (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *property_key, const void *property)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_relates_to (axis2_options_t *options, const axutil_env_t *env, axis2_relates_to_t *relates_to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_reply_to (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *reply_to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_out (axis2_options_t *options, const axutil_env_t *env, axis2_transport_out_desc_t *transport_out)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_sender_transport (axis2_options_t *options, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS sender_transport, axis2_conf_t *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_soap_version_uri (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *soap_version_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_timeout_in_milli_seconds (axis2_options_t *options, const axutil_env_t *env, const long timeout_in_milli_seconds)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_info (axis2_options_t *options, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS sender_transport, const AXIS2_TRANSPORT_ENUMS receiver_transport, const axis2_bool_t use_separate_listener)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_use_separate_listener (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t use_separate_listener)
AXIS2_EXTERN
axis2_status_t 
axis2_options_add_reference_parameter (axis2_options_t *options, const axutil_env_t *env, axiom_node_t *reference_parameter)
AXIS2_EXTERN axis2_bool_t axis2_options_get_manage_session (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_manage_session (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t manage_session)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_msg_info_headers (axis2_options_t *options, const axutil_env_t *env, axis2_msg_info_headers_t *msg_info_headers)
AXIS2_EXTERN
axis2_msg_info_headers_t
axis2_options_get_msg_info_headers (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN int axis2_options_get_soap_version (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_soap_version (axis2_options_t *options, const axutil_env_t *env, const int soap_version)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_enable_mtom (axis2_options_t *options, const axutil_env_t *env, axis2_bool_t enable_mtom)
AXIS2_EXTERN axis2_bool_t axis2_options_get_enable_mtom (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axis2_options_get_soap_action (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_soap_action (axis2_options_t *options, const axutil_env_t *env, axutil_string_t *soap_action)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_xml_parser_reset (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t paser_reset_flag)
AXIS2_EXTERN axis2_bool_t axis2_options_get_xml_parser_reset (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN void axis2_options_free (axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_enable_rest (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t enable_rest)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_test_http_auth (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t test_http_auth)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_test_proxy_auth (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t test_proxy_auth)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_http_method (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *http_method)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_http_headers (axis2_options_t *options, const axutil_env_t *env, axutil_array_list_t *http_header_list)
AXIS2_EXTERN
axis2_options_t
axis2_options_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_options_t
axis2_options_create_with_parent (const axutil_env_t *env, axis2_options_t *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_http_auth_info (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *password, const axis2_char_t *auth_type)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_proxy_auth_info (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *password, const axis2_char_t *auth_type)

Detailed Description

The options struct holds user options to be used by client when invocation services. In addition to the end point reference information, options struct also hold addressing, transport and timeout related information. User specific properties could also set on top of options.

Define Documentation

#define AXIS2_COPY_PROPERTIES   "copy_properties"

Copy properties

#define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS   30000

Default timeout

#define AXIS2_TIMEOUT_IN_SECONDS   "time_out"

Timeout in seconds waiting for a response envelope


Typedef Documentation

typedef struct axis2_options axis2_options_t

Type name for struct axis2_options


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_options_add_reference_parameter ( axis2_options_t options,
const axutil_env_t env,
axiom_node_t *  reference_parameter 
)

Adds a WSA reference parameter.

Parameters:
options pointer to options struct
env pointer to environment struct
reference_parameter pointer to reference parameter in the form of an AXIOM tree. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_options_t* axis2_options_create ( const axutil_env_t env  ) 

Creates the options struct.

Parameters:
env pointer to environment struct
Returns:
a pointer to newly created options struct, or NULL on error with error code set in environment's error.

AXIS2_EXTERN axis2_options_t* axis2_options_create_with_parent ( const axutil_env_t env,
axis2_options_t parent 
)

Creates the options struct with given parent.

Parameters:
env pointer to environment struct
parent pointer to parent struct
Returns:
a pointer to newly created options struct. Newly created options assumes ownership of the parent or NULL on error with error code set in environment's error.

AXIS2_EXTERN void axis2_options_free ( axis2_options_t options,
const axutil_env_t env 
)

Frees options struct.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN const axis2_char_t* axis2_options_get_action ( const axis2_options_t options,
const axutil_env_t env 
)

Gets Web Services Addressing (WSA) action.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
WSA action string if set, else NULL

AXIS2_EXTERN axis2_bool_t axis2_options_get_enable_mtom ( const axis2_options_t options,
const axutil_env_t env 
)

Gets Enable/disable MTOM status.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
AXIS2_TRUE if MTOM enabled, else AXIS2_FALSE

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_options_get_fault_to ( const axis2_options_t options,
const axutil_env_t env 
)

Gets WSA fault to address.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing fault to address if set, else NULL

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_options_get_from ( const axis2_options_t options,
const axutil_env_t env 
)

Gets WSA from address.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing from address if set, else NULL

AXIS2_EXTERN axis2_bool_t axis2_options_get_manage_session ( const axis2_options_t options,
const axutil_env_t env 
)

Gets manage session bool value.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
AXIS2_TRUE if session is managed, else AXIS2_FALSE

AXIS2_EXTERN const axis2_char_t* axis2_options_get_message_id ( const axis2_options_t options_t,
const axutil_env_t env 
)

Gets message ID.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to message ID string if set, else NULL

AXIS2_EXTERN axis2_msg_info_headers_t* axis2_options_get_msg_info_headers ( const axis2_options_t options,
const axutil_env_t env 
)

Gets WSA message information headers.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to message information headers struct if set, else NULL

AXIS2_EXTERN axis2_options_t* axis2_options_get_parent ( const axis2_options_t options,
const axutil_env_t env 
)

Gets the parent options.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to the parent options struct if set, else NULL

AXIS2_EXTERN axutil_hash_t* axis2_options_get_properties ( const axis2_options_t options,
const axutil_env_t env 
)

Gets the properties hash map.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to properties hash map if set, else NULL

AXIS2_EXTERN void* axis2_options_get_property ( const axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  key 
)

Gets a property corresponding to the given key.

Parameters:
options pointer to options struct
env pointer to environment struct
key key of the property to be returned
Returns:
value corresponding to the given key

AXIS2_EXTERN axis2_relates_to_t* axis2_options_get_relates_to ( const axis2_options_t options,
const axutil_env_t env 
)

Gets relates to information.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to relates to struct if set, else NULL

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_options_get_reply_to ( const axis2_options_t options,
const axutil_env_t env 
)

Gets WSA reply to address.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing reply to address if set, else NULL

AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS axis2_options_get_sender_transport_protocol ( const axis2_options_t options,
const axutil_env_t env 
)

Gets transport out protocol.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to transport out protocol string if set, else NULL

AXIS2_EXTERN axutil_string_t* axis2_options_get_soap_action ( const axis2_options_t options,
const axutil_env_t env 
)

Gets SOAP action.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
SOAP Action string if set, else NULL

AXIS2_EXTERN int axis2_options_get_soap_version ( const axis2_options_t options,
const axutil_env_t env 
)

Gets SOAP version.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
AXIOM_SOAP11 if SOAP version 1.1 is in use, else AXIOM_SOAP12

AXIS2_EXTERN const axis2_char_t* axis2_options_get_soap_version_uri ( const axis2_options_t options,
const axutil_env_t env 
)

Gets SOAP version URI.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
string representing SOAP version URI

AXIS2_EXTERN long axis2_options_get_timeout_in_milli_seconds ( const axis2_options_t options,
const axutil_env_t env 
)

Gets the wait time after which a client times out in a blocking scenario. The default is AXIS2_DEFAULT_TIMEOUT_MILLISECONDS.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
timeout in milliseconds

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_options_get_to ( const axis2_options_t options,
const axutil_env_t env 
)

Gets WSA to address.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to endpoint reference struct representing to address if set, else NULL

AXIS2_EXTERN axis2_transport_in_desc_t* axis2_options_get_transport_in ( const axis2_options_t options,
const axutil_env_t env 
)

Gets transport in.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to transport in struct if set, else NULL

AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS axis2_options_get_transport_in_protocol ( const axis2_options_t options,
const axutil_env_t env 
)

Gets transport in protocol.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to transport in protocol string if set, else NULL

AXIS2_EXTERN axis2_transport_out_desc_t* axis2_options_get_transport_out ( const axis2_options_t options,
const axutil_env_t env 
)

Gets transport out.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to transport out struct if set, else NULL

AXIS2_EXTERN axis2_transport_receiver_t* axis2_options_get_transport_receiver ( const axis2_options_t options,
const axutil_env_t env 
)

Gets transport receiver.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
pointer to transport receiver struct if set, else NULL

AXIS2_EXTERN axis2_bool_t axis2_options_get_use_separate_listener ( const axis2_options_t options,
const axutil_env_t env 
)

Gets use separate listener status.

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
AXIS2_TRUE if using separate listener, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_options_get_xml_parser_reset ( const axis2_options_t options,
const axutil_env_t env 
)

Gets xml parser reset value,

Parameters:
options pointer to options struct
env pointer to environment struct
Returns:
xml parser reset boolean value

AXIS2_EXTERN axis2_status_t axis2_options_set_action ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  action 
)

Sets WSA action

Parameters:
options pointer to options struct
env pointer to environment struct
action pointer to action string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_enable_mtom ( axis2_options_t options,
const axutil_env_t env,
axis2_bool_t  enable_mtom 
)

Enable/disable MTOM handling.

Parameters:
options pointer to options struct
env pointer to environment struct
enable_mtom AXIS2_TRUE if MTOM is to be enabled, AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_enable_rest ( axis2_options_t options,
const axutil_env_t env,
const axis2_bool_t  enable_rest 
)

Sets the bool value indicating whether to enable REST or not.

Parameters:
options pointer to options struct
env pointer to environment struct
enable_rest bool value indicating whether to enable REST or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_fault_to ( axis2_options_t options,
const axutil_env_t env,
axis2_endpoint_ref_t fault_to 
)

Sets fault to address.

Parameters:
options pointer to options struct
env pointer to environment struct
fault_to pointer to endpoint reference struct representing fault to address. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_from ( axis2_options_t options,
const axutil_env_t env,
axis2_endpoint_ref_t from 
)

Sets from address.

Parameters:
options pointer to options struct
env pointer to environment struct
from pointer to endpoint reference struct representing from to address. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_http_auth_info ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  username,
const axis2_char_t *  password,
const axis2_char_t *  auth_type 
)

Sets HTTP authentication information.

Parameters:
env pointer to environment struct
parent pointer to parent struct
username string representing username
password string representing password
auth_type use "Basic" to force basic authentication and "Digest" to force digest authentication or NULL for not forcing authentication
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_http_headers ( axis2_options_t options,
const axutil_env_t env,
axutil_array_list_t http_header_list 
)

Sets the Additional HTTP Headers to be sent.

Parameters:
options pointer to options struct
env pointer to environment struct
http_header_list array list containing HTTP Headers.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_http_method ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  http_method 
)

Sets the HTTP method to be used

Parameters:
options pointer to options struct
env pointer to environment struct
http_method string representing HTTP method to use, can be either AXIS2_HTTP_GET or AXIS2_HTTP_POST
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_manage_session ( axis2_options_t options,
const axutil_env_t env,
const axis2_bool_t  manage_session 
)

Sets manage session bool value.

Parameters:
options pointer to options struct
env pointer to environment struct
manage_session manage session bool value
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_message_id ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  message_id 
)

Sets message ID.

Parameters:
options pointer to options struct
env pointer to environment struct
message_id pointer to message_id struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_msg_info_headers ( axis2_options_t options,
const axutil_env_t env,
axis2_msg_info_headers_t msg_info_headers 
)

Sets WSA message information headers.

Parameters:
options pointer to options struct
env pointer to environment struct
pointer to message information headers struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_parent ( axis2_options_t options,
const axutil_env_t env,
const axis2_options_t parent 
)

Sets the parent options.

Parameters:
options pointer to options struct
env pointer to environment struct
parent pointer to parent options struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_properties ( axis2_options_t options,
const axutil_env_t env,
axutil_hash_t properties 
)

Sets the properties hash map.

Parameters:
options pointer to options struct
env pointer to environment struct
properties pointer to properties hash map. options takes over the ownership of the hash struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_property ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  property_key,
const void *  property 
)

Sets a property with the given key value.

Parameters:
options pointer to options struct
env pointer to environment struct
property_key property key string
property pointer to property to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_proxy_auth_info ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  username,
const axis2_char_t *  password,
const axis2_char_t *  auth_type 
)

Sets proxy authentication information.

Parameters:
env pointer to environment struct
parent pointer to parent struct
username string representing username
password string representing password
auth_type use "Basic" to force basic authentication and "Digest" to force digest authentication or NULL for not forcing authentication
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_relates_to ( axis2_options_t options,
const axutil_env_t env,
axis2_relates_to_t relates_to 
)

Sets relates to.

Parameters:
options pointer to options struct
env pointer to environment struct
relates_to pointer to relates_to struct. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_reply_to ( axis2_options_t options,
const axutil_env_t env,
axis2_endpoint_ref_t reply_to 
)

Sets reply to address.

Parameters:
options pointer to options struct
env pointer to environment struct
reply_to pointer to endpoint reference struct representing reply to address. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_sender_transport ( axis2_options_t options,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  sender_transport,
axis2_conf_t conf 
)

Sets the sender transport.

Parameters:
options pointer to options struct
env pointer to environment struct
sender_transport name of the sender transport to be set
conf pointer to conf struct, it is from the conf that the transport is picked with the given name
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_soap_action ( axis2_options_t options,
const axutil_env_t env,
axutil_string_t *  soap_action 
)

Sets SOAP action

Parameters:
options pointer to options struct
env pointer to environment struct
action pointer to SOAP action string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_soap_version ( axis2_options_t options,
const axutil_env_t env,
const int  soap_version 
)

Sets SOAP version.

Parameters:
options pointer to options struct
env pointer to environment struct
soap_version soap version, either AXIOM_SOAP11 or AXIOM_SOAP12
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_soap_version_uri ( axis2_options_t options,
const axutil_env_t env,
const axis2_char_t *  soap_version_uri 
)

Sets the SOAP version URI.

Parameters:
options pointer to options struct
env pointer to environment struct
soap_version_uri URI of the SOAP version to be set, can be either AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI or AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_test_http_auth ( axis2_options_t options,
const axutil_env_t env,
const axis2_bool_t  test_http_auth 
)

Sets the bool value indicating whether to test whether HTTP Authentication is required or not.

Parameters:
options pointer to options struct
env pointer to environment struct
test_http_auth bool value indicating whether to test or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_test_proxy_auth ( axis2_options_t options,
const axutil_env_t env,
const axis2_bool_t  test_proxy_auth 
)

Sets the bool value indicating whether to test whether Proxy Authentication is required or not.

Parameters:
options pointer to options struct
env pointer to environment struct
test_proxy_auth bool value indicating whether to test or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_timeout_in_milli_seconds ( axis2_options_t options,
const axutil_env_t env,
const long  timeout_in_milli_seconds 
)

Sets timeout in Milli seconds.

Parameters:
options pointer to options struct
env pointer to environment struct
timeout_in_milli_seconds timeout in milli seconds
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_to ( axis2_options_t options,
const axutil_env_t env,
axis2_endpoint_ref_t to 
)

sets from address.

Parameters:
options pointer to options struct
env pointer to environment struct
to pointer to endpoint reference struct representing to address. Options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_transport_in ( axis2_options_t options,
const axutil_env_t env,
axis2_transport_in_desc_t transport_in 
)

Sets transport in description.

Parameters:
options pointer to options struct
env pointer to environment struct
transport_in pointer to transport_in struct. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_transport_in_protocol ( axis2_options_t options,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  transport_in_protocol 
)

Sets transport in protocol.

Parameters:
options pointer to options struct
env pointer to environment struct
in_protocol pointer to in_protocol struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_transport_info ( axis2_options_t options,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  sender_transport,
const AXIS2_TRANSPORT_ENUMS  receiver_transport,
const axis2_bool_t  use_separate_listener 
)

Sets transport information. Transport information includes the name of the sender transport, name of the receiver transport and if a separate listener to be used to receive response.

Parameters:
options pointer to options struct
env pointer to environment struct
sender_transport name of sender transport to be used
receiver_transport name of receiver transport to be used
use_separate_listener bool value indicating whether to use a separate listener or not.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_transport_out ( axis2_options_t options,
const axutil_env_t env,
axis2_transport_out_desc_t transport_out 
)

Sets the transport out description.

Parameters:
options pointer to options struct
env pointer to environment struct
transport_out pointer to transport out description struct. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_transport_receiver ( axis2_options_t options,
const axutil_env_t env,
axis2_transport_receiver_t receiver 
)

Sets transport receiver.

Parameters:
options pointer to options struct
env pointer to environment struct
receiver pointer to transport receiver struct. options takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_use_separate_listener ( axis2_options_t options,
const axutil_env_t env,
const axis2_bool_t  use_separate_listener 
)

Sets the bool value indicating whether to use a separate listener or not.

Parameters:
options pointer to options struct
env pointer to environment struct
use_separate_listener bool value indicating whether to use a separate listener or not.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_options_set_xml_parser_reset ( axis2_options_t options,
const axutil_env_t env,
const axis2_bool_t  paser_reset_flag 
)

Sets xml parser reset

Parameters:
options pointer to options struct
env pointer to environment struct
reset flag is a boolean value
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__module.html0000644000175000017500000001024511172017604024167 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_module Struct Reference

axis2_module Struct Reference
[module]

#include <axis2_module.h>

List of all members.

Public Attributes

const
axis2_module_ops_t
ops
axutil_hash_thandler_create_func_map


Detailed Description

Struct representing a module.

Member Data Documentation

operations of module

hash map of handler create functions


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__url_8h-source.html0000644000175000017500000003201111172017604024407 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_url.h Source File

axutil_url.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_URL_H
00020 #define AXUTIL_URL_H
00021 
00027 #include <axutil_utils.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_env.h>
00030 #include <axutil_uri.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00042     typedef struct axutil_url axutil_url_t;
00043 
00044     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00045     axutil_url_create(
00046         const axutil_env_t * env,
00047         const axis2_char_t * protocol,
00048         const axis2_char_t * host,
00049         const int port,
00050         const axis2_char_t * path);
00051 
00052     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00053     axutil_url_parse_string(
00054         const axutil_env_t * env,
00055         const axis2_char_t * str_url);
00056 
00057     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00058     axutil_url_to_uri(
00059         axutil_url_t * url,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00063     axutil_url_to_external_form(
00064         axutil_url_t * url,
00065         const axutil_env_t * env);
00066 
00067     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00068     axutil_url_set_protocol(
00069         axutil_url_t * url,
00070         const axutil_env_t * env,
00071         axis2_char_t * protocol);
00072 
00073     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00074     axutil_url_get_protocol(
00075         axutil_url_t * url,
00076         const axutil_env_t * env);
00077 
00078     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00079     axutil_url_set_host(
00080         axutil_url_t * url,
00081         const axutil_env_t * env,
00082         axis2_char_t * host);
00083 
00084     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00085     axutil_url_get_host(
00086         axutil_url_t * url,
00087         const axutil_env_t * env);
00088 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     axutil_url_set_server(
00091         axutil_url_t * url,
00092         const axutil_env_t * env,
00093         axis2_char_t * server);
00094 
00095     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00096     axutil_url_get_server(
00097         axutil_url_t * url,
00098         const axutil_env_t * env);
00099 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     axutil_url_set_port(
00102         axutil_url_t * url,
00103         const axutil_env_t * env,
00104         int port);
00105 
00106     AXIS2_EXTERN int AXIS2_CALL
00107     axutil_url_get_port(
00108         axutil_url_t * url,
00109         const axutil_env_t * env);
00110 
00111     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00112     axutil_url_set_path(
00113         axutil_url_t * url,
00114         const axutil_env_t * env,
00115         axis2_char_t * path);
00116 
00117     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00118     axutil_url_get_path(
00119         axutil_url_t * url,
00120         const axutil_env_t * env);
00121 
00122     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00123     axutil_url_clone(
00124         axutil_url_t * url,
00125         const axutil_env_t * env);
00126 
00127     AXIS2_EXTERN void AXIS2_CALL
00128     axutil_url_free(
00129         axutil_url_t * url,
00130         const axutil_env_t * env);
00131 
00132     AXIS2_EXTERN axis2_char_t *AXIS2_CALL 
00133     axutil_url_encode (
00134         const axutil_env_t * env,
00135         axis2_char_t * dest,
00136         axis2_char_t * buff, int len);
00137 
00138         AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00139                 axutil_url_get_query(
00140                 axutil_url_t * url,
00141                 const axutil_env_t * env);
00142 
00143 
00145 #ifdef __cplusplus
00146 }
00147 #endif
00148 
00149 #endif                          /* AXIS2_URL_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__mtom__sending__callback__ops-members.html0000644000175000017500000000577211172017604032247 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_mtom_sending_callback_ops Member List

This is the complete list of members for axiom_mtom_sending_callback_ops, including all inherited members.

close_handler (defined in axiom_mtom_sending_callback_ops)axiom_mtom_sending_callback_ops
free (defined in axiom_mtom_sending_callback_ops)axiom_mtom_sending_callback_ops
init_handler (defined in axiom_mtom_sending_callback_ops)axiom_mtom_sending_callback_ops
load_data (defined in axiom_mtom_sending_callback_ops)axiom_mtom_sending_callback_ops


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__array__list_8h.html0000644000175000017500000002054711172017604024632 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_array_list.h File Reference

axutil_array_list.h File Reference

Axis2 array_list interface. More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_array_list 
axutil_array_list_t

Functions

AXIS2_EXTERN
axutil_array_list_t
axutil_array_list_create (const axutil_env_t *env, int capacity)
AXIS2_EXTERN void axutil_array_list_free_void_arg (void *array_list, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_array_list_ensure_capacity (struct axutil_array_list *array_list, const axutil_env_t *env, int min_capacity)
AXIS2_EXTERN int axutil_array_list_size (struct axutil_array_list *array_list, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_array_list_is_empty (struct axutil_array_list *array_list, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_array_list_contains (struct axutil_array_list *array_list, const axutil_env_t *env, void *e)
AXIS2_EXTERN int axutil_array_list_index_of (struct axutil_array_list *array_list, const axutil_env_t *env, void *e)
AXIS2_EXTERN void * axutil_array_list_get (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void * axutil_array_list_set (struct axutil_array_list *array_list, const axutil_env_t *env, int index, void *e)
AXIS2_EXTERN
axis2_status_t 
axutil_array_list_add (struct axutil_array_list *array_list, const axutil_env_t *env, const void *e)
AXIS2_EXTERN
axis2_status_t 
axutil_array_list_add_at (struct axutil_array_list *array_list, const axutil_env_t *env, const int index, const void *e)
AXIS2_EXTERN void * axutil_array_list_remove (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN axis2_bool_t axutil_array_list_check_bound_inclusive (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN axis2_bool_t axutil_array_list_check_bound_exclusive (struct axutil_array_list *array_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void axutil_array_list_free (struct axutil_array_list *array_list, const axutil_env_t *env)


Detailed Description

Axis2 array_list interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__detail_8h.html0000644000175000017500000001167711172017604026112 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_detail.h File Reference

axiom_soap_fault_detail.h File Reference

axiom_soap_fault_detail struct More...

#include <axutil_env.h>
#include <axiom_soap_fault.h>
#include <axiom_children_iterator.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_detail 
axiom_soap_fault_detail_t

Functions

AXIS2_EXTERN
axiom_soap_fault_detail_t * 
axiom_soap_fault_detail_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_detail_free (axiom_soap_fault_detail_t *fault_detail, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_detail_add_detail_entry (axiom_soap_fault_detail_t *fault_detail, const axutil_env_t *env, axiom_node_t *ele_node)
AXIS2_EXTERN
axiom_children_iterator_t * 
axiom_soap_fault_detail_get_all_detail_entries (axiom_soap_fault_detail_t *fault_detail, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_detail_get_base_node (axiom_soap_fault_detail_t *fault_code, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_detail struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__element_8h-source.html0000644000175000017500000001561411172017604024363 0ustar00manjulamanjula00000000000000 Axis2/C: rp_element.h Source File

rp_element.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ELEMENT_H
00019 #define RP_ELEMENT_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_element_t rp_element_t;
00034 
00035     AXIS2_EXTERN rp_element_t *AXIS2_CALL
00036     rp_element_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_element_free(
00041         rp_element_t * element,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00045     rp_element_get_name(
00046         rp_element_t * element,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_element_set_name(
00051         rp_element_t * element,
00052         const axutil_env_t * env,
00053         axis2_char_t * name);
00054 
00055     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00056     rp_element_get_namespace(
00057         rp_element_t * element,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_element_set_namespace(
00062         rp_element_t * element,
00063         const axutil_env_t * env,
00064         axis2_char_t * nspace);
00065 
00066 #ifdef __cplusplus
00067 }
00068 #endif
00069 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__ctx_8h-source.html0000644000175000017500000002361411172017604024134 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_ctx.h Source File

axis2_ctx.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_CTX_H
00020 #define AXIS2_CTX_H
00021 
00043 #include <axis2_defines.h>
00044 #include <axutil_hash.h>
00045 #include <axutil_env.h>
00046 #include <axutil_property.h>
00047 
00048 #ifdef __cplusplus
00049 extern "C"
00050 {
00051 #endif
00052 
00054     typedef struct axis2_ctx axis2_ctx_t;
00055 
00061     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00062     axis2_ctx_create(
00063         const axutil_env_t * env);
00064 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     axis2_ctx_set_property(
00076         struct axis2_ctx *ctx,
00077         const axutil_env_t * env,
00078         const axis2_char_t * key,
00079         axutil_property_t * value);
00080 
00088     AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00089     axis2_ctx_get_property(
00090         const axis2_ctx_t * ctx,
00091         const axutil_env_t * env,
00092         const axis2_char_t * key);
00093 
00101     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00102     axis2_ctx_get_property_map(
00103         const axis2_ctx_t * ctx,
00104         const axutil_env_t * env);
00105 
00112     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00113     axis2_ctx_get_all_properties(
00114         const axis2_ctx_t * ctx,
00115         const axutil_env_t * env);
00116 
00123     AXIS2_EXTERN void AXIS2_CALL
00124     axis2_ctx_free(
00125         axis2_ctx_t * ctx,
00126         const axutil_env_t * env);
00127 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136     axis2_ctx_set_property_map(
00137         struct axis2_ctx *ctx,
00138         const axutil_env_t * env,
00139         axutil_hash_t * map);
00140 
00143 #ifdef __cplusplus
00144 }
00145 #endif
00146 
00147 #endif                          /* AXIS2_CTX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__qname_8h.html0000644000175000017500000001501111172017604023411 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_qname.h File Reference

axutil_qname.h File Reference

represents a qualified name More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_string.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_qname 
axutil_qname_t

Functions

AXIS2_EXTERN
axutil_qname_t * 
axutil_qname_create (const axutil_env_t *env, const axis2_char_t *localpart, const axis2_char_t *namespace_uri, const axis2_char_t *prefix)
AXIS2_EXTERN
axutil_qname_t * 
axutil_qname_create_from_string (const axutil_env_t *env, const axis2_char_t *string)
AXIS2_EXTERN void axutil_qname_free (struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_qname_equals (const struct axutil_qname *qname, const axutil_env_t *env, const struct axutil_qname *qname1)
AXIS2_EXTERN struct
axutil_qname * 
axutil_qname_clone (struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_get_uri (const struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_get_prefix (const struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_get_localpart (const struct axutil_qname *qname, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_qname_to_string (struct axutil_qname *qname, const axutil_env_t *env)


Detailed Description

represents a qualified name


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__supporting__tokens_8h-source.html0000644000175000017500000003124711172017604026666 0ustar00manjulamanjula00000000000000 Axis2/C: rp_supporting_tokens.h Source File

rp_supporting_tokens.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SUPPORTING_TOKENS_H
00019 #define RP_SUPPORTING_TOKENS_H
00020 
00025 #include <rp_includes.h>
00026 #include <rp_algorithmsuite.h>
00027 #include <rp_signed_encrypted_parts.h>
00028 #include <rp_signed_encrypted_elements.h>
00029 #include <rp_property.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct rp_supporting_tokens_t rp_supporting_tokens_t;
00037 
00038     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00039     rp_supporting_tokens_create(
00040         const axutil_env_t * env);
00041 
00042     AXIS2_EXTERN void AXIS2_CALL
00043     rp_supporting_tokens_free(
00044         rp_supporting_tokens_t * supporting_tokens,
00045         const axutil_env_t * env);
00046 
00047     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00048     rp_supporting_tokens_get_tokens(
00049         rp_supporting_tokens_t * supporting_tokens,
00050         const axutil_env_t * env);
00051 
00052     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00053     rp_supporting_tokens_add_token(
00054         rp_supporting_tokens_t * supporting_tokens,
00055         const axutil_env_t * env,
00056         rp_property_t * token);
00057 
00058     AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL
00059     rp_supporting_tokens_get_algorithmsuite(
00060         rp_supporting_tokens_t * supporting_tokens,
00061         const axutil_env_t * env);
00062 
00063     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00064     rp_supporting_tokens_set_algorithmsuite(
00065         rp_supporting_tokens_t * supporting_tokens,
00066         const axutil_env_t * env,
00067         rp_algorithmsuite_t * algorithmsuite);
00068 
00069     AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL
00070     rp_supporting_tokens_get_signed_parts(
00071         rp_supporting_tokens_t * supporting_tokens,
00072         const axutil_env_t * env);
00073 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     rp_supporting_tokens_set_signed_parts(
00076         rp_supporting_tokens_t * supporting_tokens,
00077         const axutil_env_t * env,
00078         rp_signed_encrypted_parts_t * signed_parts);
00079 
00080     AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL
00081     rp_supporting_tokens_get_signed_elements(
00082         rp_supporting_tokens_t * supporting_tokens,
00083         const axutil_env_t * env);
00084 
00085     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00086     rp_supporting_tokens_set_signed_elements(
00087         rp_supporting_tokens_t * supporting_tokens,
00088         const axutil_env_t * env,
00089         rp_signed_encrypted_elements_t * signed_elements);
00090 
00091     AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL
00092     rp_supporting_tokens_get_encrypted_parts(
00093         rp_supporting_tokens_t * supporting_tokens,
00094         const axutil_env_t * env);
00095 
00096     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097     rp_supporting_tokens_set_encrypted_parts(
00098         rp_supporting_tokens_t * supporting_tokens,
00099         const axutil_env_t * env,
00100         rp_signed_encrypted_parts_t * encrypted_parts);
00101 
00102     AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL
00103     rp_supporting_tokens_get_encrypted_elements(
00104         rp_supporting_tokens_t * supporting_tokens,
00105         const axutil_env_t * env);
00106 
00107     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108     rp_supporting_tokens_set_encrypted_elements(
00109         rp_supporting_tokens_t * supporting_tokens,
00110         const axutil_env_t * env,
00111         rp_signed_encrypted_elements_t * encrypted_elements);
00112 
00113     AXIS2_EXTERN int AXIS2_CALL
00114     rp_supporting_tokens_get_type(
00115         rp_supporting_tokens_t * supporting_tokens,
00116         const axutil_env_t * env);
00117 
00118     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119     rp_supporting_tokens_set_type(
00120         rp_supporting_tokens_t * supporting_tokens,
00121         const axutil_env_t * env,
00122         int type);
00123 
00124     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00125     rp_supporting_tokens_increment_ref(
00126         rp_supporting_tokens_t * supporting_tokens,
00127         const axutil_env_t * env);
00128 
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__exactlyone_8h-source.html0000644000175000017500000002134511172017604025736 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_exactlyone.h Source File

neethi_exactlyone.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_EXACTLYONE_H
00020 #define NEETHI_EXACTLYONE_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_operator.h>
00030 #include <neethi_includes.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     typedef struct neethi_exactlyone_t neethi_exactlyone_t;
00038 
00039     AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL
00040     neethi_exactlyone_create(
00041         const axutil_env_t * env);
00042 
00043     AXIS2_EXTERN void AXIS2_CALL
00044     neethi_exactlyone_free(
00045         neethi_exactlyone_t * neethi_exactlyone,
00046         const axutil_env_t * env);
00047 
00048     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00049     neethi_exactlyone_get_policy_components(
00050         neethi_exactlyone_t * neethi_exactlyone,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00054     neethi_exactlyone_add_policy_components(
00055         neethi_exactlyone_t * exactlyone,
00056         axutil_array_list_t * arraylist,
00057         const axutil_env_t * env);
00058 
00059     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00060     neethi_exactlyone_add_operator(
00061         neethi_exactlyone_t * neethi_exactlyone,
00062         const axutil_env_t * env,
00063         neethi_operator_t * op);
00064 
00065     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00066     neethi_exactlyone_is_empty(
00067         neethi_exactlyone_t * exactlyone,
00068         const axutil_env_t * env);
00069 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     neethi_exactlyone_serialize(
00072         neethi_exactlyone_t * neethi_exactlyone,
00073         axiom_node_t * parent,
00074         const axutil_env_t * env);
00075 
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080 
00081 #endif                          /* NEETHI_EXACTLYONE_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__policy__include.html0000644000175000017500000005130511172017604026153 0ustar00manjulamanjula00000000000000 Axis2/C: policy include

policy include
[description]


Typedefs

typedef struct
axis2_policy_include 
axis2_policy_include_t

Enumerations

enum  axis2_policy_types {
  AXIS2_POLICY = 0, AXIS2_MODULE_POLICY, AXIS2_SERVICE_POLICY, AXIS2_OPERATION_POLICY,
  AXIS2_MESSAGE_POLICY, AXIS2_PORT_POLICY, AXIS2_PORT_TYPE_POLICY, AXIS2_BINDING_POLICY,
  AXIS2_BINDING_OPERATION_POLICY, AXIS2_INPUT_POLICY, AXIS2_OUTPUT_POLICY, AXIS2_BINDING_INPUT_POLICY,
  AXIS2_BINDING_OUTPUT_POLICY, AXIS2_MODULE_OPERATION_POLICY, AXIS2_POLICY_REF, AXIS2_ANON_POLICY
}

Functions

AXIS2_EXTERN
axis2_policy_include_t
axis2_policy_include_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_policy_include_t
axis2_policy_include_create_with_desc (const axutil_env_t *env, axis2_desc_t *desc)
AXIS2_EXTERN void axis2_policy_include_free (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_set_registry (axis2_policy_include_t *policy_include, const axutil_env_t *env, neethi_registry_t *registry)
AXIS2_EXTERN
neethi_registry_t * 
axis2_policy_include_get_registry (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_set_policy (axis2_policy_include_t *policy_include, const axutil_env_t *env, neethi_policy_t *policy)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_update_policy (axis2_policy_include_t *policy_include, const axutil_env_t *env, neethi_policy_t *policy)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_set_effective_policy (axis2_policy_include_t *policy_include, const axutil_env_t *env, neethi_policy_t *effective_policy)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_set_desc (axis2_policy_include_t *policy_include, const axutil_env_t *env, axis2_desc_t *desc)
AXIS2_EXTERN
axis2_desc_t
axis2_policy_include_get_desc (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
axis2_policy_include_t
axis2_policy_include_get_parent (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
neethi_policy_t * 
axis2_policy_include_get_policy (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
neethi_policy_t * 
axis2_policy_include_get_effective_policy (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_policy_include_get_policy_elements (axis2_policy_include_t *policy_include, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_policy_include_get_policy_elements_with_type (axis2_policy_include_t *policy_include, const axutil_env_t *env, int type)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_register_policy (axis2_policy_include_t *policy_include, const axutil_env_t *env, axis2_char_t *key, neethi_policy_t *effective_policy)
AXIS2_EXTERN
neethi_policy_t * 
axis2_policy_include_get_policy_with_key (axis2_policy_include_t *policy_include, const axutil_env_t *env, axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_add_policy_element (axis2_policy_include_t *policy_include, const axutil_env_t *env, int type, neethi_policy_t *policy)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_add_policy_reference_element (axis2_policy_include_t *policy_include, const axutil_env_t *env, int type, neethi_reference_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_remove_policy_element (axis2_policy_include_t *policy_include, const axutil_env_t *env, axis2_char_t *policy_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_policy_include_remove_all_policy_element (axis2_policy_include_t *policy_include, const axutil_env_t *env)

Typedef Documentation

typedef struct axis2_policy_include axis2_policy_include_t

Type name for struct axis2_policy_include


Function Documentation

AXIS2_EXTERN axis2_policy_include_t* axis2_policy_include_create ( const axutil_env_t env  ) 

Creates policy include struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created policy include

AXIS2_EXTERN void axis2_policy_include_free ( axis2_policy_include_t policy_include,
const axutil_env_t env 
)

Frees policy include.

Parameters:
policy_include pointer to policy include
env pointer to environment struct
Returns:
void


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__client_8h-source.html0000644000175000017500000005047511172017604026017 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_client.h Source File

axis2_http_client.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_CLIENT_H
00020 #define AXIS2_HTTP_CLIENT_H
00021 
00034 #include <axis2_const.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_http_simple_response.h>
00038 #include <axis2_http_simple_request.h>
00039 #include <axutil_url.h>
00040 
00041 
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_http_client axis2_http_client_t;
00050 
00057     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00058     axis2_http_client_send(
00059         axis2_http_client_t * client,
00060         const axutil_env_t * env,
00061         axis2_http_simple_request_t * request,
00062         axis2_char_t * ssl_pp);
00063 
00068     AXIS2_EXTERN int AXIS2_CALL
00069     axis2_http_client_recieve_header(
00070         axis2_http_client_t * client,
00071         const axutil_env_t * env);
00072 
00077     AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL
00078 
00079     axis2_http_client_get_response(
00080         const axis2_http_client_t * client,
00081         const axutil_env_t * env);
00082 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     axis2_http_client_set_url(
00091         axis2_http_client_t * client,
00092         const axutil_env_t * env,
00093         axutil_url_t * url);
00094 
00099     AXIS2_EXTERN axutil_url_t *AXIS2_CALL
00100     axis2_http_client_get_url(
00101         const axis2_http_client_t * client,
00102         const axutil_env_t * env);
00103 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111     axis2_http_client_set_timeout(
00112         axis2_http_client_t * client,
00113         const axutil_env_t * env,
00114         int timeout_ms);
00115 
00120     AXIS2_EXTERN int AXIS2_CALL
00121     axis2_http_client_get_timeout(
00122         const axis2_http_client_t * client,
00123         const axutil_env_t * env);
00124 
00132     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00133     axis2_http_client_set_proxy(
00134         axis2_http_client_t * client,
00135         const axutil_env_t * env,
00136         axis2_char_t * proxy_host,
00137         int proxy_port);
00138 
00143     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00144     axis2_http_client_get_proxy(
00145         const axis2_http_client_t * client,
00146         const axutil_env_t * env);
00147 
00148     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149 
00150     axis2_http_client_connect_ssl_host(
00151         axis2_http_client_t * client,
00152         const axutil_env_t * env,
00153         axis2_char_t * host,
00154         int port);
00155 
00156     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157 
00158     axis2_http_client_set_dump_input_msg(
00159         axis2_http_client_t * client,
00160         const axutil_env_t * env,
00161         axis2_bool_t dump_input_msg);
00162 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_http_client_set_server_cert(
00171         axis2_http_client_t * client,
00172         const axutil_env_t * env,
00173         axis2_char_t * server_cert);
00174 
00179     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00180     axis2_http_client_get_server_cert(
00181         const axis2_http_client_t * client,
00182         const axutil_env_t * env);
00183 
00190     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191     axis2_http_client_set_key_file(
00192         axis2_http_client_t * client,
00193         const axutil_env_t * env,
00194         axis2_char_t * key_file);
00195 
00200     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00201     axis2_http_client_get_key_file(
00202         const axis2_http_client_t * client,
00203         const axutil_env_t * env);
00204 
00210     AXIS2_EXTERN void AXIS2_CALL
00211     axis2_http_client_free(
00212         axis2_http_client_t * client,
00213         const axutil_env_t * env);
00214 
00219     AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL
00220     axis2_http_client_create(
00221         const axutil_env_t * env,
00222         axutil_url_t * url);
00223 
00231     AXIS2_EXTERN void AXIS2_CALL
00232     axis2_http_client_free_void_arg(
00233         void *client,
00234         const axutil_env_t * env);
00235 
00236     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00237     axis2_http_client_set_mime_parts(
00238         axis2_http_client_t * client,
00239         const axutil_env_t * env,
00240         axutil_array_list_t *mime_parts);
00241 
00242     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00243     axis2_http_client_get_mime_parts(
00244         const axis2_http_client_t * client,
00245         const axutil_env_t * env);
00246 
00247     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00248     axis2_http_client_set_doing_mtom(
00249         axis2_http_client_t * client,
00250         const axutil_env_t * env,
00251         axis2_bool_t doing_mtom);
00252 
00253     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00254     axis2_http_client_get_doing_mtom(
00255         const axis2_http_client_t * client,
00256         const axutil_env_t * env);
00257 
00258     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00259     axis2_http_client_set_mtom_sending_callback_name(
00260         axis2_http_client_t * client,
00261         const axutil_env_t * env,
00262         axis2_char_t *callback_name);
00263 
00264 
00266 #ifdef __cplusplus
00267 }
00268 #endif
00269 
00270 #endif                          /* AXIS2_HTTP_CLIENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__date__time_8h-source.html0000644000175000017500000005362411172017604025714 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_date_time.h Source File

axutil_date_time.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_DATE_TIME_H
00020 #define AXUTIL_DATE_TIME_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00041     typedef struct axutil_date_time axutil_date_time_t;
00042 
00043     typedef enum
00044     {
00045         AXIS2_DATE_TIME_COMP_RES_FAILURE = -1,
00046         AXIS2_DATE_TIME_COMP_RES_UNKNOWN,
00047         AXIS2_DATE_TIME_COMP_RES_EXPIRED,
00048         AXIS2_DATE_TIME_COMP_RES_EQUAL,
00049         AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED
00050     } axutil_date_time_comp_result_t;
00051 
00057     AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00058     axutil_date_time_create(
00059         const axutil_env_t * env);
00060 
00061     /*
00062      * Creates axutil_date_time struct with an additional offset value
00063      * If the offset is a positive value then the time will be in the future
00064      *        offset is 0, then the time will be the current time
00065      *        offset is a negative value then the time is in the past.
00066      * @param env double pointer to environment struct. MUST NOT be NULL
00067      * @param offset the offset from the current time in seconds
00068      * @return pointer to newly created axutil_date_time struct
00069      **/
00070     AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00071 
00072     axutil_date_time_create_with_offset(
00073         const axutil_env_t * env,
00074         int offset);
00075 
00082     AXIS2_EXTERN void AXIS2_CALL
00083     axutil_date_time_free(
00084         axutil_date_time_t * date_time,
00085         const axutil_env_t * env);
00086 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axutil_date_time_deserialize_time(
00096         axutil_date_time_t * date_time,
00097         const axutil_env_t * env,
00098         const axis2_char_t * time_str);
00099 
00107     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108     axutil_date_time_deserialize_date(
00109         axutil_date_time_t * date_time,
00110         const axutil_env_t * env,
00111         const axis2_char_t * date_str);
00112 
00120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121 
00122     axutil_date_time_deserialize_date_time(
00123         axutil_date_time_t * date_time,
00124         const axutil_env_t * env,
00125         const axis2_char_t * date_time_str);
00126 
00139     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140     axutil_date_time_set_date_time(
00141         axutil_date_time_t * date_time,
00142         const axutil_env_t * env,
00143         int year,
00144         int month,
00145         int date,
00146         int hour,
00147         int min,
00148         int second,
00149         int milliseconds);
00150 
00157     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00158     axutil_date_time_serialize_time(
00159         axutil_date_time_t * date_time,
00160         const axutil_env_t * env);
00161 
00168     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00169     axutil_date_time_serialize_date(
00170         axutil_date_time_t * date_time,
00171         const axutil_env_t * env);
00172 
00179     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00180 
00181     axutil_date_time_serialize_date_time(
00182         axutil_date_time_t * date_time,
00183         const axutil_env_t * env);
00184 
00191     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00192     axutil_date_time_serialize_date_time_without_millisecond(
00193         axutil_date_time_t * date_time,
00194         const axutil_env_t * env);
00195 
00202     AXIS2_EXTERN int AXIS2_CALL
00203     axutil_date_time_get_year(
00204         axutil_date_time_t * date_time,
00205         const axutil_env_t * env);
00206 
00213     AXIS2_EXTERN int AXIS2_CALL
00214     axutil_date_time_get_month(
00215         axutil_date_time_t * date_time,
00216         const axutil_env_t * env);
00217 
00224     AXIS2_EXTERN int AXIS2_CALL
00225     axutil_date_time_get_date(
00226         axutil_date_time_t * date_time,
00227         const axutil_env_t * env);
00228 
00235     AXIS2_EXTERN int AXIS2_CALL
00236     axutil_date_time_get_hour(
00237         axutil_date_time_t * date_time,
00238         const axutil_env_t * env);
00239 
00246     AXIS2_EXTERN int AXIS2_CALL
00247     axutil_date_time_get_minute(
00248         axutil_date_time_t * date_time,
00249         const axutil_env_t * env);
00250 
00257     AXIS2_EXTERN int AXIS2_CALL
00258     axutil_date_time_get_second(
00259         axutil_date_time_t * date_time,
00260         const axutil_env_t * env);
00261 
00262     AXIS2_EXTERN int AXIS2_CALL
00263     axutil_date_time_get_msec(
00264         axutil_date_time_t * date_time,
00265         const axutil_env_t * env);
00266 
00277     AXIS2_EXTERN axutil_date_time_comp_result_t AXIS2_CALL
00278     axutil_date_time_compare(
00279         axutil_date_time_t * date_time,
00280         const axutil_env_t * env,
00281         axutil_date_time_t * ref);
00282 
00283     AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00284     axutil_date_time_utc_to_local(
00285         axutil_date_time_t * date_time,
00286         const axutil_env_t * env,
00287         axis2_bool_t is_positive,
00288         int hour,
00289         int min);
00290 
00291     AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL
00292     axutil_date_time_local_to_utc(
00293         axutil_date_time_t * date_time,
00294         const axutil_env_t * env);
00295 
00296     AXIS2_EXTERN int AXIS2_CALL
00297     axutil_date_time_get_time_zone_hour(
00298         axutil_date_time_t * date_time,
00299         const axutil_env_t * env);
00300 
00301     AXIS2_EXTERN int AXIS2_CALL
00302     axutil_date_time_get_time_zone_minute(
00303         axutil_date_time_t * date_time,
00304         const axutil_env_t * env);
00305 
00306     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00307     axutil_date_time_is_time_zone_positive(
00308         axutil_date_time_t * date_time,
00309         const axutil_env_t * env);
00310 
00311     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00312     axutil_date_time_set_time_zone(
00313         axutil_date_time_t * date_time,
00314         const axutil_env_t * env,
00315         axis2_bool_t is_positive,
00316         int hour,
00317         int min);
00318 
00319     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00320     axutil_date_time_deserialize_date_time_with_time_zone(
00321         axutil_date_time_t * date_time,
00322         const axutil_env_t * env,
00323         const axis2_char_t * date_time_str);
00324 
00325     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00326     axutil_date_time_deserialize_time_with_time_zone(
00327         axutil_date_time_t * date_time,
00328         const axutil_env_t * env,
00329         const axis2_char_t * time_str);
00330 
00331     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00332     axutil_date_time_serialize_date_time_with_time_zone(
00333         axutil_date_time_t * date_time,
00334         const axutil_env_t * env);
00335 
00336     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00337     axutil_date_time_serialize_time_with_time_zone(
00338         axutil_date_time_t * date_time,
00339         const axutil_env_t * env);
00340 
00341     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00342     axutil_date_time_is_utc(
00343         axutil_date_time_t * date_time,
00344         const axutil_env_t * env);
00345 
00346 #ifdef __cplusplus
00347 }
00348 #endif
00349 
00350 #endif                          /* AXIS2_DATE_TIME_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__x509__token__builder.html0000644000175000017500000000421711172017604026316 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_x509_token_builder

Rp_x509_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_x509_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__signed__encrypted__elements_8h-source.html0000644000175000017500000002153211172017604030446 0ustar00manjulamanjula00000000000000 Axis2/C: rp_signed_encrypted_elements.h Source File

rp_signed_encrypted_elements.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SIGNED_ENCRYPTED_ELEMENTS_H
00019 #define RP_SIGNED_ENCRYPTED_ELEMENTS_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_signed_encrypted_elements_t
00034                 rp_signed_encrypted_elements_t;
00035 
00036     AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL
00037     rp_signed_encrypted_elements_create(
00038         const axutil_env_t * env);
00039 
00040     AXIS2_EXTERN void AXIS2_CALL
00041     rp_signed_encrypted_elements_free(
00042         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00043         const axutil_env_t * env);
00044 
00045     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00046     rp_signed_encrypted_elements_get_signedelements(
00047         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00048         const axutil_env_t * env);
00049 
00050     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00051     rp_signed_encrypted_elements_set_signedelements(
00052         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00053         const axutil_env_t * env,
00054         axis2_bool_t signedelements);
00055 
00056     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00057     rp_signed_encrypted_elements_get_xpath_expressions(
00058         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00059         const axutil_env_t * env);
00060 
00061     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00062     rp_signed_encrypted_elements_add_expression(
00063         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00064         const axutil_env_t * env,
00065         axis2_char_t * expression);
00066 
00067     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00068     rp_signed_encrypted_elements_get_xpath_version(
00069         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00070         const axutil_env_t * env);
00071 
00072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00073     rp_signed_encrypted_elements_set_xpath_version(
00074         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00075         const axutil_env_t * env,
00076         axis2_char_t * xpath_version);
00077 
00078     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00079     rp_signed_encrypted_elements_increment_ref(
00080         rp_signed_encrypted_elements_t * signed_encrypted_elements,
00081         const axutil_env_t * env);
00082 
00083 #ifdef __cplusplus
00084 }
00085 #endif
00086 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__signed__encrypted__parts_8h-source.html0000644000175000017500000002360011172017604027761 0ustar00manjulamanjula00000000000000 Axis2/C: rp_signed_encrypted_parts.h Source File

rp_signed_encrypted_parts.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_SIGNED_ENCRYPTED_PARTS_H
00020 #define RP_SIGNED_ENCRYPTED_PARTS_H
00021 
00027 #include <rp_includes.h>
00028 #include <rp_header.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct rp_signed_encrypted_parts_t rp_signed_encrypted_parts_t;
00036 
00037     AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL
00038     rp_signed_encrypted_parts_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_signed_encrypted_parts_free(
00043         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00044         const axutil_env_t * env);
00045 
00046     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00047     rp_signed_encrypted_parts_get_body(
00048         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     rp_signed_encrypted_parts_set_body(
00053         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00054         const axutil_env_t * env,
00055         axis2_bool_t body);
00056 
00057     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00058     rp_signed_encrypted_parts_get_signedparts(
00059         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     rp_signed_encrypted_parts_set_signedparts(
00064         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00065         const axutil_env_t * env,
00066         axis2_bool_t signedparts);
00067 
00068     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00069     rp_signed_encrypted_parts_get_attachments(
00070         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00071         const axutil_env_t * env);
00072 
00073     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00074     rp_signed_encrypted_parts_set_attachments(
00075         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00076         const axutil_env_t * env,
00077         axis2_bool_t attachments);
00078 
00079     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00080     rp_signed_encrypted_parts_get_headers(
00081         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00082         const axutil_env_t * env);
00083 
00084     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00085     rp_signed_encrypted_parts_add_header(
00086         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00087         const axutil_env_t * env,
00088         rp_header_t * header);
00089 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     rp_signed_encrypted_parts_increment_ref(
00092         rp_signed_encrypted_parts_t * signed_encrypted_parts,
00093         const axutil_env_t * env);
00094 
00095 #ifdef __cplusplus
00096 }
00097 #endif
00098 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__constants_8h.html0000644000175000017500000004037211172017604024302 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_constants.h File Reference

neethi_constants.h File Reference

includes all the string constants More...

Go to the source code of this file.

Defines

#define NEETHI_EXACTLYONE   "ExactlyOne"
#define NEETHI_ALL   "All"
#define NEETHI_POLICY   "Policy"
#define NEETHI_REFERENCE   "PolicyReference"
#define NEETHI_URI   "URI"
#define NEETHI_NAMESPACE   "http://schemas.xmlsoap.org/ws/2004/09/policy"
#define NEETHI_POLICY_15_NAMESPACE   "http://www.w3.org/ns/ws-policy"
#define NEETHI_PREFIX   "wsp"
#define NEETHI_WSU_NS   "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
#define NEETHI_ID   "Id"
#define NEETHI_WSU_NS_PREFIX   "wsu"
#define NEETHI_NAME   "Name"
#define AXIS2_OPTIMIZED_MIME_SERIALIZATION   "OptimizedMimeSerialization"
#define AXIS2_MTOM_POLICY_NS   "http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"
#define AXIS2_RM_POLICY_10_NS   "http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
#define AXIS2_RM_POLICY_11_NS   "http://docs.oasis-open.org/ws-rx/wsrmp/200702"
#define AXIS2_SANDESHA2_NS   "http://ws.apache.org/sandesha2/c/policy"
#define AXIS2_RM_RMASSERTION   "RMAssertion"
#define AXIS2_RM_INACTIVITY_TIMEOUT   "InactivityTimeout"
#define AXIS2_RM_BASE_RETRANSMISSION_INTERVAL   "BaseRetransmissionInterval"
#define AXIS2_RM_EXPONENTIAL_BACK_OFF   "ExponentialBackoff"
#define AXIS2_RM_ACKNOWLEDGEMENT_INTERVAL   "AcknowledgementInterval"
#define AXIS2_RM_SEQUENCE_STR   "SequenceSTR"
#define AXIS2_RM_SEQUENCE_TRANSPORT_SECURITY   "SequenceTransportSecurity"
#define AXIS2_RM_DELIVERY_ASSURANCE   "DeliveryAssurance"
#define AXIS2_RM_EXACTLY_ONCE   "ExactlyOnce"
#define AXIS2_RM_AT_LEAST_ONCE   "AtLeastOnce"
#define AXIS2_RM_AT_MOST_ONCE   "AtMostOnce"
#define AXIS2_RM_IN_ORDER   "InOrder"
#define AXIS2_RM_SANDESHA2_DB   "sandesha2_db"
#define AXIS2_RM_STORAGE_MANAGER   "StorageManager"
#define AXIS2_RM_MESSAGE_TYPES_TO_DROP   "MessageTypesToDrop"
#define AXIS2_RM_MAX_RETRANS_COUNT   "MaxRetransCount"
#define AXIS2_RM_SENDER_SLEEP_TIME   "SenderSleepTime"
#define AXIS2_RM_INVOKER_SLEEP_TIME   "InvokerSleepTime"
#define AXIS2_RM_POLLING_WAIT_TIME   "PollingWaitTime"
#define AXIS2_RM_TERMINATE_DELAY   "TerminateDelay"


Detailed Description

includes all the string constants


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__data__handler.html0000644000175000017500000010313511172017604025645 0ustar00manjulamanjula00000000000000 Axis2/C: Flow

Flow


Functions

AXIS2_EXTERN
axis2_char_t * 
axiom_data_handler_get_content_type (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_content_type (axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_type)
AXIS2_EXTERN axis2_bool_t axiom_data_handler_get_cached (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_set_cached (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_bool_t cached)
AXIS2_EXTERN
axis2_byte_t * 
axiom_data_handler_get_input_stream (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN int axiom_data_handler_get_input_stream_len (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_read_from (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_byte_t **output_stream, int *output_stream_size)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_binary_data (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_byte_t *input_stream, int input_stream_len)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_write_to (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_file_name (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_char_t *file_name)
AXIS2_EXTERN
axis2_char_t * 
axiom_data_handler_get_file_name (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_free (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axiom_data_handler_t * 
axiom_data_handler_create (const axutil_env_t *env, const axis2_char_t *file_name, const axis2_char_t *mime_type)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_add_binary_data (axiom_data_handler_t *data_handler, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_char_t * 
axiom_data_handler_get_mime_id (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_mime_id (axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_id)
AXIS2_EXTERN
axiom_data_handler_type_t 
axiom_data_handler_get_data_handler_type (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_set_data_handler_type (axiom_data_handler_t *data_handler, const axutil_env_t *env, axiom_data_handler_type_t data_handler_type)
AXIS2_EXTERN void * axiom_data_handler_get_user_param (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_set_user_param (axiom_data_handler_t *data_handler, const axutil_env_t *env, void *user_param)

Function Documentation

AXIS2_EXTERN axiom_data_handler_t* axiom_data_handler_create ( const axutil_env_t env,
const axis2_char_t *  file_name,
const axis2_char_t *  mime_type 
)

Creates data_handler struct

Returns:
pointer to newly created data_handler

AXIS2_EXTERN void axiom_data_handler_free ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_bool_t axiom_data_handler_get_cached ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
bool whether attachment is cached or not

AXIS2_EXTERN axis2_char_t* axiom_data_handler_get_content_type ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_char_t* axiom_data_handler_get_file_name ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
file name, in the case of file type data handler.

AXIS2_EXTERN axis2_byte_t* axiom_data_handler_get_input_stream ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN int axiom_data_handler_get_input_stream_len ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_data_handler_read_from ( axiom_data_handler_t *  data_handler,
const axutil_env_t env,
axis2_byte_t **  output_stream,
int *  output_stream_size 
)

The data_handler is responsible for memory occupied by the stream returned

Parameters:
output_stream parameter to store reference to output byte stream.
output_stream_size parameter to store reference to output byte stream length

AXIS2_EXTERN axis2_status_t axiom_data_handler_set_binary_data ( axiom_data_handler_t *  data_handler,
const axutil_env_t env,
axis2_byte_t *  input_stream,
int  input_stream_len 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN void axiom_data_handler_set_cached ( axiom_data_handler_t *  data_handler,
const axutil_env_t env,
axis2_bool_t  cached 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
cached,@return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_data_handler_set_content_type ( axiom_data_handler_t *  data_handler,
const axutil_env_t env,
const axis2_char_t *  mime_type 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
mime type,
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_data_handler_set_file_name ( axiom_data_handler_t *  data_handler,
const axutil_env_t env,
axis2_char_t *  file_name 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_data_handler_set_mime_id ( axiom_data_handler_t *  data_handler,
const axutil_env_t env,
const axis2_char_t *  mime_id 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
mime id,
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_data_handler_write_to ( axiom_data_handler_t *  data_handler,
const axutil_env_t env 
)

Parameters:
data_handler,a pointer to data handler struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_eval.html0000644000175000017500000001027511172017604022625 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members  


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_defs.html0000644000175000017500000005321711172017604022622 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- a -

- e -

- p -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/functions_vars.html0000644000175000017500000004632011172017604023236 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members - Variables

 

- a -

- c -

- d -

- e -

- f -

- g -

- h -

- i -

- l -

- m -

- n -

- o -

- p -

- r -

- s -

- t -

- v -

- w -

- x -


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__out__transport__info.html0000644000175000017500000005370411172017604030451 0ustar00manjulamanjula00000000000000 Axis2/C: http out transport info

http out transport info
[http transport]


Files

file  axis2_http_out_transport_info.h
 axis2 HTTP Out Transport Info

Classes

struct  axis2_http_out_transport_info

Defines

#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, env, content_type)   axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type)
#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, env, encoding)   axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding)
#define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)   axis2_http_out_transport_info_free(out_transport_info, env)

Typedefs

typedef struct
axis2_http_out_transport_info 
axis2_http_out_transport_info_t

Functions

AXIS2_EXTERN int axis2_http_out_transport_info_set_content_type (axis2_http_out_transport_info_t *info, const axutil_env_t *env, const axis2_char_t *content_type)
AXIS2_EXTERN
axis2_status_t 
axis2_http_out_transport_info_set_char_encoding (axis2_http_out_transport_info_t *info, const axutil_env_t *env, const axis2_char_t *encoding)
AXIS2_EXTERN void axis2_http_out_transport_info_free (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_out_transport_info_t
axis2_http_out_transport_info_create (const axutil_env_t *env, axis2_http_simple_response_t *response)
AXIS2_EXTERN void axis2_http_out_transport_info_free_void_arg (void *transport_info, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_out_transport_info_set_char_encoding_func (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env, axis2_status_t(*set_encoding)(axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *))
AXIS2_EXTERN void axis2_http_out_transport_info_set_content_type_func (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env, axis2_status_t(*set_content_type)(axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *))
AXIS2_EXTERN void axis2_http_out_transport_info_set_free_func (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env, void(*free_function)(axis2_http_out_transport_info_t *, const axutil_env_t *))

Detailed Description

Description

Define Documentation

#define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE ( out_transport_info,
env   )     axis2_http_out_transport_info_free(out_transport_info, env)

Free.

#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING ( out_transport_info,
env,
encoding   )     axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding)

Set char encoding.

#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE ( out_transport_info,
env,
content_type   )     axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type)

Set content type.


Typedef Documentation

typedef struct axis2_http_out_transport_info axis2_http_out_transport_info_t

Type name for struct axis2_http_out_transport_info


Function Documentation

AXIS2_EXTERN axis2_http_out_transport_info_t* axis2_http_out_transport_info_create ( const axutil_env_t env,
axis2_http_simple_response_t response 
)

Parameters:
env pointer to environment struct
response pointer to response

AXIS2_EXTERN void axis2_http_out_transport_info_free ( axis2_http_out_transport_info_t out_transport_info,
const axutil_env_t env 
)

Parameters:
out_transport_info pointer to out transport info
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_http_out_transport_info_free_void_arg ( void *  transport_info,
const axutil_env_t env 
)

Free http_out_transport_info passed as void pointer. This will be cast into appropriate type and then pass the cast object into the http_out_transport_info structure's free method

Parameters:
transport_info pointer to transport info
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_out_transport_info_set_char_encoding ( axis2_http_out_transport_info_t info,
const axutil_env_t env,
const axis2_char_t *  encoding 
)

Parameters:
info pointer to info
env pointer to environment struct
encoding pointer to encoding
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN int axis2_http_out_transport_info_set_content_type ( axis2_http_out_transport_info_t info,
const axutil_env_t env,
const axis2_char_t *  content_type 
)

Parameters:
info pointer to info
env pointer to environment struct
content_type pointer to content type


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__value.html0000644000175000017500000003271711172017604026736 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault value

soap fault value
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_value_t * 
axiom_soap_fault_value_create_with_subcode (const axutil_env_t *env, axiom_soap_fault_sub_code_t *parent)
AXIS2_EXTERN
axiom_soap_fault_value_t * 
axiom_soap_fault_value_create_with_code (const axutil_env_t *env, axiom_soap_fault_code_t *parent)
AXIS2_EXTERN void axiom_soap_fault_value_free (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_value_get_text (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_value_get_base_node (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_value_set_text (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env, axis2_char_t *text)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_value_t* axiom_soap_fault_value_create_with_code ( const axutil_env_t env,
axiom_soap_fault_code_t *  parent 
)

Create s SOAP fault value givn a SOAP fault code

Parameters:
fault_value pointer to soap_fault_value struct
env Environment. MUST NOT be NULL
Returns:
Created SOAP fault value

AXIS2_EXTERN axiom_soap_fault_value_t* axiom_soap_fault_value_create_with_subcode ( const axutil_env_t env,
axiom_soap_fault_sub_code_t *  parent 
)

creates a soap struct

Parameters:
env Environment. MUST NOT be NULL

AXIS2_EXTERN void axiom_soap_fault_value_free ( axiom_soap_fault_value_t *  fault_value,
const axutil_env_t env 
)

Free an axiom_soap_fault_value

Parameters:
fault_value pointer to soap_fault_value struct
env Environment. MUST NOT be NULL
Returns:
VOID

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_value_get_base_node ( axiom_soap_fault_value_t *  fault_value,
const axutil_env_t env 
)

Set the text value of the soapenv:Value element directly under soapenv:Code element

Parameters:
fault_value pointer to axiom_soap_fault_t
env Environment. MUST NOT BE NULL
text value to be set
Returns:
the base node

AXIS2_EXTERN axis2_char_t* axiom_soap_fault_value_get_text ( axiom_soap_fault_value_t *  fault_value,
const axutil_env_t env 
)

Get the text value of the soapenv:Value element directly under soapenv:Code element

Parameters:
fault_value pointer to axiom_soap_fault_t
env Environment. MUST NOT BE NULL
Returns:
text value

AXIS2_EXTERN axis2_status_t axiom_soap_fault_value_set_text ( axiom_soap_fault_value_t *  fault_value,
const axutil_env_t env,
axis2_char_t *  text 
)

set the text value of soap_fault_value element

Parameters:
fault_value pointer to soap fault value struct
env environment MUST not be NULL
text Text value to be set
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__core__dll__desc_8h.html0000644000175000017500000001060311172017604025111 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_core_dll_desc.h File Reference

axis2_core_dll_desc.h File Reference

Axis2 Core dll_desc interface. More...

#include <axutil_dll_desc.h>

Go to the source code of this file.

Defines

#define AXIS2_SVC_DLL   10000
#define AXIS2_HANDLER_DLL   10001
#define AXIS2_MSG_RECV_DLL   10002
#define AXIS2_MODULE_DLL   10003
#define AXIS2_TRANSPORT_RECV_DLL   10004
#define AXIS2_TRANSPORT_SENDER_DLL   10005


Detailed Description

Axis2 Core dll_desc interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__accept__record_8h-source.html0000644000175000017500000002264611172017604027474 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_accept_record.h Source File

axis2_http_accept_record.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_ACCEPT_RECORD_H
00020 #define AXIS2_HTTP_ACCEPT_RECORD_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00043     typedef struct axis2_http_accept_record axis2_http_accept_record_t;
00044 
00052     AXIS2_EXTERN float AXIS2_CALL
00053     axis2_http_accept_record_get_quality_factor(
00054         const axis2_http_accept_record_t * accept_record,
00055         const axutil_env_t * env);
00056 
00063     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00064     axis2_http_accept_record_get_name(
00065         const axis2_http_accept_record_t * accept_record,
00066         const axutil_env_t * env);
00067 
00076     AXIS2_EXTERN int AXIS2_CALL
00077     axis2_http_accept_record_get_level(
00078         const axis2_http_accept_record_t * accept_record,
00079         const axutil_env_t * env);
00080 
00087     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00088     axis2_http_accept_record_to_string(
00089         axis2_http_accept_record_t * accept_record,
00090         const axutil_env_t * env);
00091 
00097     AXIS2_EXTERN void AXIS2_CALL
00098     axis2_http_accept_record_free(
00099         axis2_http_accept_record_t * accept_record,
00100         const axutil_env_t * env);
00101 
00108     AXIS2_EXTERN axis2_http_accept_record_t *AXIS2_CALL
00109     axis2_http_accept_record_create(
00110         const axutil_env_t * env,
00111         const axis2_char_t * str);
00112 
00114 #ifdef __cplusplus
00115 }
00116 #endif
00117 #endif                          /* AXIS2_HTTP_ACCEPT_RECORD_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__linked__list_8h-source.html0000644000175000017500000004745711172017604026271 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_linked_list.h Source File

axutil_linked_list.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_LINKED_LIST_H
00020 #define AXUTIL_LINKED_LIST_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axutil_linked_list axutil_linked_list_t;
00036 
00046     typedef struct entry_s
00047     {
00048 
00050         void *data;
00051 
00053         struct entry_s *next;
00054 
00056         struct entry_s *previous;
00057 
00058     }
00059     entry_t;                /* struct entry */
00060 
00064     AXIS2_EXTERN axutil_linked_list_t *AXIS2_CALL
00065     axutil_linked_list_create(
00066         const axutil_env_t * env);
00067 
00068     AXIS2_EXTERN void AXIS2_CALL
00069     axutil_linked_list_free(
00070         axutil_linked_list_t * linked_list,
00071         const axutil_env_t * env);
00072 
00085     AXIS2_EXTERN entry_t *AXIS2_CALL
00086     axutil_linked_list_get_entry(
00087         axutil_linked_list_t * linked_list,
00088         const axutil_env_t * env,
00089         int n);
00090 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     axutil_linked_list_remove_entry(
00099         axutil_linked_list_t * linked_list,
00100         const axutil_env_t * env,
00101         entry_t * e);
00102 
00108     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00109 
00110     axutil_linked_list_check_bounds_inclusive(
00111         axutil_linked_list_t * linked_list,
00112         const axutil_env_t * env,
00113         int index);
00114 
00120     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00121 
00122     axutil_linked_list_check_bounds_exclusive(
00123         axutil_linked_list_t * linked_list,
00124         const axutil_env_t * env,
00125         int index);
00126 
00132     AXIS2_EXTERN void *AXIS2_CALL
00133     axutil_linked_list_get_first(
00134         axutil_linked_list_t * linked_list,
00135         const axutil_env_t * env);
00136 
00142     AXIS2_EXTERN void *AXIS2_CALL
00143     axutil_linked_list_get_last(
00144         axutil_linked_list_t * linked_list,
00145         const axutil_env_t * env);
00146 
00152     AXIS2_EXTERN void *AXIS2_CALL
00153     axutil_linked_list_remove_first(
00154         axutil_linked_list_t * linked_list,
00155         const axutil_env_t * env);
00156 
00162     AXIS2_EXTERN void *AXIS2_CALL
00163     axutil_linked_list_remove_last(
00164         axutil_linked_list_t * linked_list,
00165         const axutil_env_t * env);
00166 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     axutil_linked_list_add_first(
00174         axutil_linked_list_t * linked_list,
00175         const axutil_env_t * env,
00176         void *o);
00177 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     axutil_linked_list_add_last(
00185         axutil_linked_list_t * linked_list,
00186         const axutil_env_t * env,
00187         void *o);
00188 
00196     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00197     axutil_linked_list_contains(
00198         axutil_linked_list_t * linked_list,
00199         const axutil_env_t * env,
00200         void *o);
00201 
00207     AXIS2_EXTERN int AXIS2_CALL
00208     axutil_linked_list_size(
00209         axutil_linked_list_t * linked_list,
00210         const axutil_env_t * env);
00211 
00218     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00219     axutil_linked_list_add(
00220         axutil_linked_list_t * linked_list,
00221         const axutil_env_t * env,
00222         void *o);
00223 
00231     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00232     axutil_linked_list_remove(
00233         axutil_linked_list_t * linked_list,
00234         const axutil_env_t * env,
00235         void *o);
00236 
00240     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00241     axutil_linked_list_clear(
00242         axutil_linked_list_t * linked_list,
00243         const axutil_env_t * env);
00244 
00251     AXIS2_EXTERN void *AXIS2_CALL
00252     axutil_linked_list_get(
00253         axutil_linked_list_t * linked_list,
00254         const axutil_env_t * env,
00255         int index);
00256 
00264     AXIS2_EXTERN void *AXIS2_CALL
00265     axutil_linked_list_set(
00266         axutil_linked_list_t * linked_list,
00267         const axutil_env_t * env,
00268         int index,
00269         void *o);
00270 
00277     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00278     axutil_linked_list_add_at_index(
00279         axutil_linked_list_t * linked_list,
00280         const axutil_env_t * env,
00281         int index,
00282         void *o);
00283 
00290     AXIS2_EXTERN void *AXIS2_CALL
00291     axutil_linked_list_remove_at_index(
00292         axutil_linked_list_t * linked_list,
00293         const axutil_env_t * env,
00294         int index);
00295 
00302     AXIS2_EXTERN int AXIS2_CALL
00303     axutil_linked_list_index_of(
00304         axutil_linked_list_t * linked_list,
00305         const axutil_env_t * env,
00306         void *o);
00307 
00314     AXIS2_EXTERN int AXIS2_CALL
00315     axutil_linked_list_last_index_of(
00316         axutil_linked_list_t * linked_list,
00317         const axutil_env_t * env,
00318         void *o);
00319 
00325     AXIS2_EXTERN void **AXIS2_CALL
00326     axutil_linked_list_to_array(
00327         axutil_linked_list_t * linked_list,
00328         const axutil_env_t * env);
00329 
00330 #ifdef __cplusplus
00331 }
00332 #endif
00333 
00334 #endif                          /* AXIS2_LINKED_LIST_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mime__const_8h-source.html0000644000175000017500000001533611172017604025723 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mime_const.h Source File

axiom_mime_const.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_MIME_CONST_H
00020 #define AXIOM_MIME_CONST_H
00021 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00031 #define AXIOM_MIME_BOUNDARY_BYTE 45
00032 #define AXIOM_MIME_CRLF_BYTE 13
00033 
00034 #define AXIOM_MIME_TYPE_XOP_XML "application/xop+xml"
00035 #define AXIOM_MIME_TYPE_MULTIPART_RELATED "multipart/related"
00036 #define AXIOM_MIME_TYPE_OCTET_STREAM "application/octet-stream"
00037 
00038 #define AXIOM_MIME_HEADER_FIELD_CHARSET "charset"
00039 #define AXIOM_MIME_HEADER_FIELD_TYPE "type"
00040 #define AXIOM_MIME_HEADER_FIELD_BOUNDARY "boundary"
00041 #define AXIOM_MIME_HEADER_FIELD_START_INFO "start-info"
00042 #define AXIOM_MIME_HEADER_FIELD_START "start"
00043 
00044 #define AXIOM_MIME_HEADER_CONTENT_TYPE "content-type"
00045 #define AXIOM_MIME_HEADER_CONTENT_TRANSFER_ENCODING "content-transfer-encoding"
00046 #define AXIOM_MIME_HEADER_CONTENT_ID "content-id"
00047 
00048 #define AXIOM_MIME_CONTENT_TRANSFER_ENCODING_BINARY "binary"
00049 
00052 #ifdef __cplusplus
00053 }
00054 #endif
00055 
00056 #endif                          /* AXIOM_MIME_CONST_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__svc__skeleton-members.html0000644000175000017500000000440011172017604027164 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_svc_skeleton Member List

This is the complete list of members for axis2_svc_skeleton, including all inherited members.

func_arrayaxis2_svc_skeleton
opsaxis2_svc_skeleton


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__rampart__config.html0000644000175000017500000005221111172017604025534 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_rampart_config

Rp_rampart_config


Typedefs

typedef struct
rp_rampart_config_t 
rp_rampart_config_t

Functions

AXIS2_EXTERN
rp_rampart_config_t * 
rp_rampart_config_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_rampart_config_free (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_user (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_user (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *user)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_encryption_user (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_encryption_user (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *encryption_user)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_password_callback_class (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_password_callback_class (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *passwprd_callback_class)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_authenticate_module (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_authenticate_module (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *authenticate_module)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_replay_detector (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_replay_detector (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *replay_detector)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_sct_provider (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_sct_provider (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *sct_module)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_password_type (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_password_type (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *password_type)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_private_key_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_private_key_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *private_key_file)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_receiver_certificate_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_receiver_certificate_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *receiver_certificate_file)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_certificate_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_certificate_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *certificate_file)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_time_to_live (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_time_to_live (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *time_to_live)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_clock_skew_buffer (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_clock_skew_buffer (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *clock_skew_buffer)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_need_millisecond_precision (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_need_millisecond_precision (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *need_millisecond_precision)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_rd_val (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_rd_val (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *rd_val)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_increment_ref (rp_rampart_config_t *rampart_config, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_rampart_config_set_pkcs12_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env, axis2_char_t *pkcs12_file)
AXIS2_EXTERN
axis2_char_t * 
rp_rampart_config_get_pkcs12_file (rp_rampart_config_t *rampart_config, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svr__callback.html0000644000175000017500000002724611172017604025606 0ustar00manjulamanjula00000000000000 Axis2/C: server callback

server callback


Files

file  axis2_svr_callback.h
 axis Server Callback interface

Typedefs

typedef struct
axis2_svr_callback 
axis2_svr_callback_t

Functions

AXIS2_EXTERN void axis2_svr_callback_free (axis2_svr_callback_t *svr_callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svr_callback_handle_result (axis2_svr_callback_t *svr_callback, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_svr_callback_handle_fault (axis2_svr_callback_t *svr_callback, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_svr_callback_t
axis2_svr_callback_create (const axutil_env_t *env)

Typedef Documentation

typedef struct axis2_svr_callback axis2_svr_callback_t

Type name for struct axis2_svr_callback


Function Documentation

AXIS2_EXTERN axis2_svr_callback_t* axis2_svr_callback_create ( const axutil_env_t env  ) 

Create Server Callback struct

Parameters:
env pointer to environment struct
Returns:
newly created server callback object

AXIS2_EXTERN void axis2_svr_callback_free ( axis2_svr_callback_t svr_callback,
const axutil_env_t env 
)

Deallocate memory

Parameters:
svr_callback pointer to server callback struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_status_t axis2_svr_callback_handle_fault ( axis2_svr_callback_t svr_callback,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Handle fault

Parameters:
svr_callback pointer to server callback struct
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svr_callback_handle_result ( axis2_svr_callback_t svr_callback,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Handle result

Parameters:
svr_callback pointer to server callback struct
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__stub_8h-source.html0000644000175000017500000003264411172017604024316 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_stub.h Source File

axis2_stub.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_STUB_H
00020 #define AXIS2_STUB_H
00021 
00034 #include <axis2_endpoint_ref.h>
00035 #include <axis2_svc_client.h>
00036 #include <axis2_options.h>
00037 #include <axiom_xml_reader.h>
00038 #include <axutil_property.h>
00039 
00042 #define AXIOM_SOAP_11 1
00043 
00046 #define AXIOM_SOAP_12 2
00047 
00048 #ifdef __cplusplus
00049 extern "C"
00050 {
00051 #endif
00052 
00054     typedef struct axis2_stub axis2_stub_t;
00055 
00062     AXIS2_EXTERN void AXIS2_CALL
00063     axis2_stub_free(
00064         axis2_stub_t * stub,
00065         const axutil_env_t * env);
00066 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axis2_stub_set_endpoint_ref(
00077         axis2_stub_t * stub,
00078         const axutil_env_t * env,
00079         axis2_endpoint_ref_t * endpoint_ref);
00080 
00088     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00089     axis2_stub_set_endpoint_uri(
00090         axis2_stub_t * stub,
00091         const axutil_env_t * env,
00092         const axis2_char_t * endpoint_uri);
00093 
00102     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103     axis2_stub_set_use_separate_listener(
00104         axis2_stub_t * stub,
00105         const axutil_env_t * env,
00106         const axis2_bool_t use_separate_listener);
00107 
00115     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116     axis2_stub_set_soap_version(
00117         axis2_stub_t * stub,
00118         const axutil_env_t * env,
00119         const int soap_version);
00120 
00127     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00128     axis2_stub_get_svc_ctx_id(
00129         const axis2_stub_t * stub,
00130         const axutil_env_t * env);
00131 
00139     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140     axis2_stub_engage_module(
00141         axis2_stub_t * stub,
00142         const axutil_env_t * env,
00143         const axis2_char_t * module_name);
00144 
00151     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00152     axis2_stub_get_svc_client(
00153         const axis2_stub_t * stub,
00154         const axutil_env_t * env);
00155 
00162     AXIS2_EXTERN axis2_options_t *AXIS2_CALL
00163     axis2_stub_get_options(
00164         const axis2_stub_t * stub,
00165         const axutil_env_t * env);
00166 
00175     AXIS2_EXTERN axis2_stub_t *AXIS2_CALL
00176     axis2_stub_create_with_endpoint_ref_and_client_home(
00177         const axutil_env_t * env,
00178         axis2_endpoint_ref_t * endpoint_ref,
00179         const axis2_char_t * client_home);
00180 
00188     AXIS2_EXTERN axis2_stub_t *AXIS2_CALL
00189     axis2_stub_create_with_endpoint_uri_and_client_home(
00190         const axutil_env_t * env,
00191         const axis2_char_t * endpoint_uri,
00192         const axis2_char_t * client_home);
00193 
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199 
00200 #endif                          /* AXIS2_STUB_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__namespace.html0000644000175000017500000007007211172017604025037 0ustar00manjulamanjula00000000000000 Axis2/C: namespace

namespace
[AXIOM]


Typedefs

typedef struct
axiom_namespace 
axiom_namespace_t

Functions

AXIS2_EXTERN
axiom_namespace_t * 
axiom_namespace_create (const axutil_env_t *env, const axis2_char_t *uri, const axis2_char_t *prefix)
AXIS2_EXTERN void axiom_namespace_free (struct axiom_namespace *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_namespace_equals (struct axiom_namespace *om_namespace, const axutil_env_t *env, struct axiom_namespace *om_namespace1)
AXIS2_EXTERN
axis2_status_t 
axiom_namespace_serialize (struct axiom_namespace *om_namespace, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axis2_char_t * 
axiom_namespace_get_uri (struct axiom_namespace *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_namespace_get_prefix (struct axiom_namespace *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_namespace * 
axiom_namespace_clone (struct axiom_namespace *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_namespace_to_string (struct axiom_namespace *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_namespace_increment_ref (struct axiom_namespace *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_namespace_create_str (const axutil_env_t *env, axutil_string_t *uri, axutil_string_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_namespace_set_uri_str (axiom_namespace_t *om_namespace, const axutil_env_t *env, axutil_string_t *uri)
AXIS2_EXTERN
axutil_string_t * 
axiom_namespace_get_uri_str (axiom_namespace_t *om_namespace, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axiom_namespace_get_prefix_str (axiom_namespace_t *om_namespace, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN struct axiom_namespace* axiom_namespace_clone ( struct axiom_namespace *  om_namespace,
const axutil_env_t env 
) [read]

Clones an om_namespace struct

Parameters:
om_namespace pointer to namespace struct
env Environment. MUST NOT be NULL
Returns:
axiom_namespace on success , NULL on error

AXIS2_EXTERN axiom_namespace_t* axiom_namespace_create ( const axutil_env_t env,
const axis2_char_t *  uri,
const axis2_char_t *  prefix 
)

Creates a namespace struct

Parameters:
uri namespace URI
prefix namespace prefix
Returns:
a pointer to newly created namespace struct

AXIS2_EXTERN axiom_namespace_t* axiom_namespace_create_str ( const axutil_env_t env,
axutil_string_t *  uri,
axutil_string_t *  prefix 
)

Create an OM namespace from a URI and a Prefix

Parameters:
om_namespace pointer to the axiom namespace struct
env Environment. MUST NOT be NULL
Returns:
created OM namespace

AXIS2_EXTERN axis2_bool_t axiom_namespace_equals ( struct axiom_namespace *  om_namespace,
const axutil_env_t env,
struct axiom_namespace *  om_namespace1 
)

Compares two namepsaces

Parameters:
om_namespace first namespase to be compared
env Environment. MUST NOT be NULL.
om_namespace1 second namespace to be compared
Returns:
AXIS2_TRUE if the two namespaces are equal,AXIS2_FALSE otherwise

AXIS2_EXTERN void axiom_namespace_free ( struct axiom_namespace *  om_namespace,
const axutil_env_t env 
)

Frees given AXIOM namespcae

Parameters:
om_namespace namespace to be freed.
env Environment. MUST NOT be NULL.
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axis2_char_t* axiom_namespace_get_prefix ( struct axiom_namespace *  om_namespace,
const axutil_env_t env 
)

Parameters:
om_namespace pointer to om namespace struct
env environment, MUST NOT be NULL
Returns:
prefix , NULL on error

AXIS2_EXTERN axutil_string_t* axiom_namespace_get_prefix_str ( axiom_namespace_t *  om_namespace,
const axutil_env_t env 
)

Get the prefix as a string

Parameters:
om_namespace pointer to the axiom namespace struct
env Environment. MUST NOT be NULL
Returns:
the prefix as a string

AXIS2_EXTERN axis2_char_t* axiom_namespace_get_uri ( struct axiom_namespace *  om_namespace,
const axutil_env_t env 
)

Parameters:
om_namespace pointer to om_namespace struct
env environment , MUST NOT be NULL.
Returns:
namespace uri , NULL on error

AXIS2_EXTERN axutil_string_t* axiom_namespace_get_uri_str ( axiom_namespace_t *  om_namespace,
const axutil_env_t env 
)

Get the uri as a string

Parameters:
om_namespace pointer to the axiom namespace struct
env Environment. MUST NOT be NULL
Returns:
the uri as a string

AXIS2_EXTERN axis2_status_t axiom_namespace_increment_ref ( struct axiom_namespace *  om_namespace,
const axutil_env_t env 
)

Incerament the reference value. The struct will be freed when the ref value is zero

Parameters:
om_namespace pointer to the axiom namespace struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_namespace_serialize ( struct axiom_namespace *  om_namespace,
const axutil_env_t env,
axiom_output_t om_output 
)

Serializes given namespace

Parameters:
om_namespace namespace to be serialized.
env Environment. MUST NOT be NULL.
om_output AXIOM output handler to be used in serializing
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axis2_status_t axiom_namespace_set_uri_str ( axiom_namespace_t *  om_namespace,
const axutil_env_t env,
axutil_string_t *  uri 
)

Set the uri string

Parameters:
om_namespace pointer to the axiom namespace struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axiom_namespace_to_string ( struct axiom_namespace *  om_namespace,
const axutil_env_t env 
)

to string , returns the string by combining namespace_uri, and prefix seperated by a '|' character

Parameters:
om_namespace 
env Environment. MUST NOT be NULL
Returns:
pointer to string , This is a property of namespace, should not be freed by user


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__base64__binary_8h-source.html0000644000175000017500000003061711172017604026406 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_base64_binary.h Source File

axutil_base64_binary.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_BASE64_BINARY_H
00020 #define AXUTIL_BASE64_BINARY_H
00021 
00022 #include <axutil_base64.h>
00023 #include <axutil_utils_defines.h>
00024 #include <axutil_env.h>
00025 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00043     typedef struct axutil_base64_binary axutil_base64_binary_t;
00044 
00050     AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL
00051 
00052     axutil_base64_binary_create(
00053         const axutil_env_t * env);
00054 
00061     AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL
00062 
00063     axutil_base64_binary_create_with_plain_binary(
00064         const axutil_env_t * env,
00065         const unsigned char *plain_binary,
00066         int plain_binary_len);
00067 
00074     AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL
00075 
00076     axutil_base64_binary_create_with_encoded_binary(
00077         const axutil_env_t * env,
00078         const char *encoded_binary);
00079 
00086     AXIS2_EXTERN void AXIS2_CALL
00087     axutil_base64_binary_free(
00088         axutil_base64_binary_t * base64_binary,
00089         const axutil_env_t * env);
00090 
00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100 
00101     axutil_base64_binary_set_plain_binary(
00102         axutil_base64_binary_t * base64_binary,
00103         const axutil_env_t * env,
00104         const unsigned char *plain_binary,
00105         int plain_binary_len);
00106 
00115     AXIS2_EXTERN unsigned char *AXIS2_CALL
00116 
00117     axutil_base64_binary_get_plain_binary(
00118         axutil_base64_binary_t * base64_binary,
00119         const axutil_env_t * env,
00120         int *plain_binary_len);
00121 
00129     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00130 
00131     axutil_base64_binary_set_encoded_binary(
00132         axutil_base64_binary_t * base64_binary,
00133         const axutil_env_t * env,
00134         const char *encoded_binary);
00135 
00142     AXIS2_EXTERN char *AXIS2_CALL
00143     axutil_base64_binary_get_encoded_binary(
00144         axutil_base64_binary_t * base64_binary,
00145         const axutil_env_t * env);
00146 
00153     AXIS2_EXTERN int AXIS2_CALL
00154     axutil_base64_binary_get_encoded_binary_len(
00155         axutil_base64_binary_t * base64_binary,
00156         const axutil_env_t * env);
00157 
00164     AXIS2_EXTERN int AXIS2_CALL
00165     axutil_base64_binary_get_decoded_binary_len(
00166         axutil_base64_binary_t * base64_binary,
00167         const axutil_env_t * env);
00168 
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172 
00173 #endif                          /* AXIS2_BASE64_BINARY_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__env.html0000644000175000017500000001534711172017604023762 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_env Struct Reference

axutil_env Struct Reference
[environment]

Axis2 Environment struct. More...

#include <axutil_env.h>

List of all members.

Public Attributes

axutil_allocator_tallocator
axutil_error_terror
axutil_log_tlog
axis2_bool_t log_enabled
axutil_thread_pool_t * thread_pool
int ref


Detailed Description

Axis2 Environment struct.

Environment acts as a container for error, log, memory allocator and threading routines


Member Data Documentation

Memory allocation routines

Logging routines

This flag indicate whether logging is enabled or not

axutil_thread_pool_t* axutil_env::thread_pool

Thread pool routines


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__callback__recv_8h-source.html0000644000175000017500000002061011172017604026241 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_callback_recv.h Source File

axis2_callback_recv.h

00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_CALLBACK_RECV_H
00020 #define AXIS2_CALLBACK_RECV_H
00021 
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axis2_msg_recv.h>
00040 #include <axis2_callback.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00048     typedef struct axis2_callback_recv axis2_callback_recv_t;
00049 
00056     AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00057     axis2_callback_recv_get_base(
00058         axis2_callback_recv_t * callback_recv,
00059         const axutil_env_t * env);
00060 
00067     AXIS2_EXTERN void AXIS2_CALL
00068     axis2_callback_recv_free(
00069         axis2_callback_recv_t * callback_recv,
00070         const axutil_env_t * env);
00071 
00083     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084     axis2_callback_recv_add_callback(
00085         struct axis2_callback_recv *callback_recv,
00086         const axutil_env_t * env,
00087         const axis2_char_t * msg_id,
00088         axis2_callback_t * callback);
00089 
00096     AXIS2_EXTERN axis2_callback_recv_t *AXIS2_CALL
00097     axis2_callback_recv_create(
00098         const axutil_env_t * env);
00099 
00101 #define AXIS2_CALLBACK_RECV_GET_BASE(callback_recv, env) \
00102     axis2_callback_recv_get_base(callback_recv, env)
00103 
00105 #define AXIS2_CALLBACK_RECV_FREE(callback_recv, env) \
00106     axis2_callback_recv_free(callback_recv, env)
00107 
00109 #define AXIS2_CALLBACK_RECV_ADD_CALLBACK(callback_recv, env, msg_id, callback)\
00110     axis2_callback_recv_add_callback(callback_recv, env, msg_id, callback)
00111 
00113 #ifdef __cplusplus
00114 }
00115 #endif
00116 
00117 #endif                          /* AXIS2_CALLBACK_RECV_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__svr__thread_8h.html0000644000175000017500000001446211172017604025537 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_svr_thread.h File Reference

axis2_http_svr_thread.h File Reference

axis2 HTTP server listning thread implementation More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_http_worker.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_svr_thread 
axis2_http_svr_thread_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_http_svr_thread_run (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_svr_thread_destroy (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN int axis2_http_svr_thread_get_local_port (const axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_http_svr_thread_is_running (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_svr_thread_set_worker (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env, axis2_http_worker_t *worker)
AXIS2_EXTERN void axis2_http_svr_thread_free (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_svr_thread_t
axis2_http_svr_thread_create (const axutil_env_t *env, int port)


Detailed Description

axis2 HTTP server listning thread implementation


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__receiver__ops.html0000644000175000017500000003512711172017604030007 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_receiver_ops Struct Reference

axis2_transport_receiver_ops Struct Reference
[transport receiver]

Description Transport Receiver ops struct Encapsulator struct for ops of axis2_transport_receiver. More...

#include <axis2_transport_receiver.h>

List of all members.

Public Attributes

axis2_status_t(* init )(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in)
axis2_status_t(* start )(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
axis2_endpoint_ref_t *(* get_reply_to_epr )(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, const axis2_char_t *svc_name)
struct axis2_conf_ctx *(* get_conf_ctx )(axis2_transport_receiver_t *server, const axutil_env_t *env)
axis2_bool_t(* is_running )(axis2_transport_receiver_t *server, const axutil_env_t *env)
axis2_status_t(* stop )(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
void(* free )(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)


Detailed Description

Description Transport Receiver ops struct Encapsulator struct for ops of axis2_transport_receiver.

Member Data Documentation

axis2_status_t( * axis2_transport_receiver_ops::init)(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in)

Parameters:
transport_receiver pointer to transport receiver
env pointer to environment struct
conf_ctx pointer to configuratoin context
intrasport_in pointer to transport_in

axis2_status_t( * axis2_transport_receiver_ops::start)(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)

Parameters:
transport_receiver 
env pointer to environmnet struct

axis2_endpoint_ref_t*( * axis2_transport_receiver_ops::get_reply_to_epr)(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, const axis2_char_t *svc_name)

Parameters:
tranport_receiver pointer to transport receiver
env pointer to environmnet struct
svc_name pointer to service name

struct axis2_conf_ctx*( * axis2_transport_receiver_ops::get_conf_ctx)(axis2_transport_receiver_t *server, const axutil_env_t *env) [read]

Parameters:
server pointer to server
env pointer to environment struct

Parameters:
server pointer to server
env pointer to environment struct

axis2_status_t( * axis2_transport_receiver_ops::stop)(axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)

Parameters:
transport_receiver pointer to transport receiver
env pointer to environment struct

De-allocate memory

Parameters:
transport_receiver pointer to transport receiver
env pointer to environment struct


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__algorithmsuite__builder.html0000644000175000017500000000424311172017604027311 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_algorithmsuite_builder

Rp_algorithmsuite_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_algorithmsuite_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__secpolicy__builder_8h-source.html0000644000175000017500000001223111172017604026561 0ustar00manjulamanjula00000000000000 Axis2/C: rp_secpolicy_builder.h Source File

rp_secpolicy_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SECPOLICY_BUILDER_H
00019 #define RP_SECPOLICY_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_secpolicy.h>
00029 #include <neethi_policy.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL
00037     rp_secpolicy_builder_build(
00038         const axutil_env_t * env,
00039         neethi_policy_t * policy);
00040 
00041 #ifdef __cplusplus
00042 }
00043 #endif
00044 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__addr_8h-source.html0000644000175000017500000003724611172017604024256 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_addr.h Source File

axis2_addr.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_ADDR_H
00020 #define AXIS2_ADDR_H
00021 
00022 #ifdef __cplusplus
00023 extern "C"
00024 {
00025 #endif
00026 
00042     /* ====================== Common Message Addressing Properties =========== */
00043  
00045 #define AXIS2_WSA_MESSAGE_ID "MessageID"
00046 
00048 #define AXIS2_WSA_RELATES_TO "RelatesTo"
00049 
00051 #define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE "RelationshipType"
00052 
00054 #define AXIS2_WSA_TO "To"
00055 
00057 #define AXIS2_WSA_FROM "From"
00058 
00060 #define AXIS2_WSA_REPLY_TO "ReplyTo"
00061 
00063 #define AXIS2_WSA_FAULT_TO "FaultTo"
00064 
00066 #define AXIS2_WSA_ACTION "Action"
00067 
00069 #define AXIS2_WSA_MAPPING "wsamapping"
00070 
00071     /* ====================== Common EPR Elements ============================ */
00072 
00074 #define EPR_ADDRESS "Address"
00075 
00077 #define EPR_REFERENCE_PARAMETERS "ReferenceParameters"
00078 
00080 #define EPR_SERVICE_NAME "ServiceName"
00081 
00083 #define EPR_REFERENCE_PROPERTIES "ReferenceProperties"
00084 
00086 #define EPR_PORT_TYPE "PortType"
00087 
00089 #define EPR_SERVICE_NAME_PORT_NAME "PortName"
00090 
00091     /* ====================== Addressing Submission Version Constants ======== */
00092 
00094 #define AXIS2_WSA_NAMESPACE_SUBMISSION "http://schemas.xmlsoap.org/ws/2004/08/addressing"
00095 
00097 #define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION "wsa:Reply"
00098 
00100 #define AXIS2_WSA_ANONYMOUS_URL_SUBMISSION "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"
00101 
00103 #define AXIS2_WSA_NONE_URL_SUBMISSION "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/none"
00104 
00105     /* =====================Addressing 1.0 Final Version Constants =========== */
00106 
00108 #define AXIS2_WSA_NAMESPACE "http://www.w3.org/2005/08/addressing"
00109 
00111 #define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE "http://www.w3.org/2005/08/addressing/reply"
00112 
00114 #define AXIS2_WSA_ANONYMOUS_URL "http://www.w3.org/2005/08/addressing/anonymous"
00115 
00117 #define AXIS2_WSA_NONE_URL "http://www.w3.org/2005/08/addressing/none"
00118 
00119     /* ======================================================================= */
00120 
00122 #define AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE "IsReferenceParameter"
00123 
00125 #define AXIS2_WSA_TYPE_ATTRIBUTE_VALUE "true"
00126 
00128 #define AXIS2_WSA_INTERFACE_NAME "InterfaceName"
00129 
00131 #define AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAME "EndpointName"
00132 
00134 #define AXIS2_WSA_POLICIES "Policies"
00135 
00137 #define AXIS2_WSA_METADATA "Metadata"
00138 
00139     /* ======================================================================= */
00140 
00142 #define AXIS2_WSA_VERSION "WSAddressingVersion"
00143 
00145 #define AXIS2_WSA_DEFAULT_PREFIX "wsa"
00146 
00148 #define AXIS2_WSA_PREFIX_FAULT_TO AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_FAULT_TO
00149 
00151 #define AXIS2_WSA_PREFIX_REPLY_TO AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_REPLY_TO
00152 
00154 #define AXIS2_WSA_PREFIX_TO AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_TO 
00155 
00157 #define AXIS2_WSA_PREFIX_MESSAGE_ID AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_MESSAGE_ID
00158 
00160 #define AXIS2_WSA_PREFIX_ACTION AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_ACTION 
00161 
00162     /* ======================================================================= */
00163 
00165 #define PARAM_SERVICE_GROUP_CONTEXT_ID "ServiceGroupContextIdFromAddressing"
00166 
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172 
00173 #endif                          /* AXIS2_ADDR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__date__time.html0000644000175000017500000013202311172017604025361 0ustar00manjulamanjula00000000000000 Axis2/C: Axutil_date_time

Axutil_date_time
[utilities]


Typedefs

typedef struct
axutil_date_time 
axutil_date_time_t

Enumerations

enum  axutil_date_time_comp_result_t {
  AXIS2_DATE_TIME_COMP_RES_FAILURE = -1, AXIS2_DATE_TIME_COMP_RES_UNKNOWN, AXIS2_DATE_TIME_COMP_RES_EXPIRED, AXIS2_DATE_TIME_COMP_RES_EQUAL,
  AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED
}

Functions

AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_create_with_offset (const axutil_env_t *env, int offset)
AXIS2_EXTERN void axutil_date_time_free (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_time (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *time_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_date (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_date_time (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_time_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_set_date_time (axutil_date_time_t *date_time, const axutil_env_t *env, int year, int month, int date, int hour, int min, int second, int milliseconds)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_time (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date_time (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date_time_without_millisecond (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_year (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_month (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_date (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_hour (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_minute (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_second (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_msec (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axutil_date_time_comp_result_t 
axutil_date_time_compare (axutil_date_time_t *date_time, const axutil_env_t *env, axutil_date_time_t *ref)
AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_utc_to_local (axutil_date_time_t *date_time, const axutil_env_t *env, axis2_bool_t is_positive, int hour, int min)
AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_local_to_utc (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_time_zone_hour (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_time_zone_minute (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_date_time_is_time_zone_positive (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_set_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env, axis2_bool_t is_positive, int hour, int min)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_date_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_time_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *time_str)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_date_time_is_utc (axutil_date_time_t *date_time, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axutil_date_time_comp_result_t axutil_date_time_compare ( axutil_date_time_t *  date_time,
const axutil_env_t env,
axutil_date_time_t *  ref 
)

Compare the date and time of with the reference If the < this returns NOT_EXPIRED. If the > this returns EXPIRED. If the = this returns EQUAL.

Parameters:
date_time the date time to be compared
env pointer to environment struct. MUST NOT be NULL the reference date time
Returns:
NOT_EXPIRED/EXPIRED/EQUAL if valid otherwise return FAILURE

AXIS2_EXTERN axutil_date_time_t* axutil_date_time_create ( const axutil_env_t env  ) 

Creates axutil_date_time struct with current date time

Parameters:
env double pointer to environment struct. MUST NOT be NULL
Returns:
pointer to newly created axutil_date_time struct

AXIS2_EXTERN axis2_status_t axutil_date_time_deserialize_date ( axutil_date_time_t *  date_time,
const axutil_env_t env,
const axis2_char_t *  date_str 
)

store the date value from plain text.

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
date date as a string format YYYY-MM-DD
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_date_time_deserialize_date_time ( axutil_date_time_t *  date_time,
const axutil_env_t env,
const axis2_char_t *  date_time_str 
)

store the date value from plain text.

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
date_time string format YYYY-MM-DDTHH:MM:SSZ
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_date_time_deserialize_time ( axutil_date_time_t *  date_time,
const axutil_env_t env,
const axis2_char_t *  time_str 
)

store the time value from plain text.

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
time time as a string format HH:MM:TTZ
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axutil_date_time_free ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

free the axutil_date_time.

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN int axutil_date_time_get_date ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrieve the date of the date time

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
date as an integer

AXIS2_EXTERN int axutil_date_time_get_hour ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrieve the hour of the date time

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
hour as an integer

AXIS2_EXTERN int axutil_date_time_get_minute ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrieve the minute of the date time

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
minute as an integer

AXIS2_EXTERN int axutil_date_time_get_month ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrieve the month of the date time

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
month as an integer

AXIS2_EXTERN int axutil_date_time_get_second ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrieve the second of the date time

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
second as an integer

AXIS2_EXTERN int axutil_date_time_get_year ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrieve the year of the date time

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
year as an integer

AXIS2_EXTERN axis2_char_t* axutil_date_time_serialize_date ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrive the stored date as a string

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
date as a string format YYYY-MM-DD

AXIS2_EXTERN axis2_char_t* axutil_date_time_serialize_date_time ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrive the stored date time as a string with millisecond precision

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
time as a string format YYYY-MM-DDTHH:MM:SS.msZ

AXIS2_EXTERN axis2_char_t* axutil_date_time_serialize_date_time_without_millisecond ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrive the stored date time as a string without millisecond

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
time as a string format YYYY-MM-DDTHH:MM:SSZ

AXIS2_EXTERN axis2_char_t* axutil_date_time_serialize_time ( axutil_date_time_t *  date_time,
const axutil_env_t env 
)

retrive the stored time as a string

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
time as a string format HH:MM:SSZ

AXIS2_EXTERN axis2_status_t axutil_date_time_set_date_time ( axutil_date_time_t *  date_time,
const axutil_env_t env,
int  year,
int  month,
int  date,
int  hour,
int  min,
int  second,
int  milliseconds 
)

store the date value from set of values

Parameters:
date_time represet the type object
env pointer to environment struct. MUST NOT be NULL
year Integer -1 can be used to ignore
month Integer -1 can be used to ignore
date Integer -1 can be used to ignore
hour Integer -1 can be used to ignore
min Integer -1 can be used to ignore
second Integer -1 can be used to ignore
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__layout__builder.html0000644000175000017500000000417311172017604025570 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_layout_builder

Rp_layout_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_layout_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_enum.html0000644000175000017500000000470011172017604022636 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members  


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__const_8h-source.html0000644000175000017500000003651111172017604025734 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_const.h Source File

axiom_soap_const.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_CONST_H
00020 #define AXIOM_SOAP_CONST_H
00021 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00037     typedef enum soap_version
00038     {
00039         AXIOM_SOAP_VERSION_NOT_SET = 0,
00040 
00041         AXIOM_SOAP11,
00042 
00043         AXIOM_SOAP12
00044     } axiom_soap_version;
00045 
00048 #define AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI "http://schemas.xmlsoap.org/soap/envelope/"
00049 
00050 #define AXIOM_SOAP11_ATTR_ACTOR "actor"
00051 
00052 #define AXIOM_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME "faultcode"
00053 
00054 #define AXIOM_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME "faultstring"
00055 
00056 #define AXIOM_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME "faultactor"
00057 
00058 #define AXIOM_SOAP11_SOAP_FAULT_DETAIL_LOCAL_NAME "detail"
00059 
00060 #define AXIOM_SOAP11_CONTENT_TYPE "text/xml"
00061 
00062 #define AXIOM_SOAP11_FAULT_CODE_SENDER "Client"
00063 
00064 #define AXIOM_SOAP11_FAULT_CODE_RECEIVER "Server"
00065 
00066 #define AXIOM_SOAP11_SOAP_ACTOR_NEXT "http://schemas.xmlsoap.org/soap/actor/next"
00067 
00070 #define AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI "http://www.w3.org/2003/05/soap-envelope"
00071 
00072 #define AXIOM_SOAP12_SOAP_ROLE "role"
00073 
00074 #define AXIOM_SOAP12_SOAP_RELAY "relay"
00075 
00076 #define AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME "Code"
00077 
00078 #define AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME "Subcode"
00079 
00080 #define AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME "Value"
00081 
00082 #define AXIOM_SOAP12_SOAP_FAULT_VALUE_VERSION_MISMATCH "VersionMismatch"
00083 
00084 #define AXIOM_SOAP12_SOAP_FAULT_VALUE_MUST_UNDERSTAND "MustUnderstand"
00085 
00086 #define AXIOM_SOAP12_SOAP_FAULT_VALUE_DATA_ENCODING_UKNOWN "DataEncodingUnknown"
00087 
00088 #define AXIOM_SOAP12_SOAP_FAULT_VALUE_SENDER "Sender"
00089 
00090 #define AXIOM_SOAP12_SOAP_FAULT_VALUE_RECEIVER "Receiver"
00091 
00094 #define AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME "Reason"
00095 
00096 #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LOCAL_NAME "Text"
00097 
00098 #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME "lang"
00099 
00100 #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_URI "http://www.w3.org/XML/1998/namespace"
00101 
00102 #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX "xml"
00103 
00104 #define AXIOM_SOAP12_SOAP_FAULT_NODE_LOCAL_NAME "Node"
00105 
00106 #define AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME "Detail"
00107 
00108 #define AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME "Role"
00109 
00110 #define AXIOM_SOAP12_CONTENT_TYPE "application/soap+xml"
00111 
00112 #define AXIOM_SOAP12_FAULT_CODE_SENDER "Sender"
00113 
00114 #define AXIOM_SOAP12_FAULT_CODE_RECEIVER "Receiver"
00115 
00116 #define AXIOM_SOAP12_SOAP_ROLE_NEXT "http://www.w3.org/2003/05/soap-envelope/role/next"
00117 
00118 #define AXIOM_SOAP12_SOAP_ROLE_NONE "http://www.w3.org/2003/05/soap-envelope/role/none"
00119 
00120 #define SOAP12_SOAP_ROLE_ULTIMATE_RECEIVER "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"
00121 
00122 #define AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX "soapenv"
00123 
00124 #define AXIOM_SOAP_ENVELOPE_LOCAL_NAME "Envelope"
00125 
00126 #define AXIOM_SOAP_HEADER_LOCAL_NAME "Header"
00127 
00128 #define AXIOM_SOAP_BODY_LOCAL_NAME "Body"
00129 
00130 #define AXIOM_SOAP_BODY_NAMESPACE_PREFIX AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX
00131 
00132 #define AXIOM_SOAP_BODY_FAULT_LOCAL_NAME "Fault"
00133 
00136 #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND "mustUnderstand"
00137 
00138 #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_TRUE "true"
00139 
00140 #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_FALSE "false"
00141 
00142 #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_0 "0"
00143 
00144 #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_1 "1"
00145 
00146 #define AXIOM_SOAP_FAULT_LOCAL_NAME "Fault"
00147 
00148 #define AXIOM_SOAP_FAULT_DETAIL_LOCAL_NAME "detail"
00149 
00150 #define AXIOM_SOAP_FAULT_NAMESPACE_PREFIX AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX
00151 
00152 #define AXIOM_SOAP_FAULT_DETAIL_EXCEPTION_ENTRY "Exception"
00153 
00154 #define AXIOM_SOAP_FAULT_CODE_VERSION_MISMATCH "soapenv:VersionMismatch"
00155 
00156 #define AXIOM_SOAP_FAULT_CODE_MUST_UNDERSTAND "soapenv:MustUnderstand"
00157 
00158 #define AXIOM_SOAP_FAULT_CODE_DATA_ENCODING_UNKNOWN "soapenv:DataEncodingUnknown"
00159 
00160 #define AXIOM_SOAP_FAULT_CODE_SENDER ""
00161 
00162 #define AXIOM_SOAP_FAULT_CODE_RECEIVER ""
00163 
00164     /* MTOM related  */
00165 
00166 #define AXIS2_XOP_NAMESPACE_URI "http://www.w3.org/2004/08/xop/include"
00167 
00168 #define AXIS2_XOP_INCLUDE "Include"
00169 
00172 #ifdef __cplusplus
00173 }
00174 #endif
00175 
00176 #endif                          /* AXIOM_SOAP_CONSTANTS_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__header_8h-source.html0000644000175000017500000002233311172017604025761 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_header.h Source File

axis2_http_header.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_HEADER_H
00020 #define AXIS2_HTTP_HEADER_H
00021 
00034 #include <axis2_const.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_http_header axis2_http_header_t;
00045 
00050     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00051     axis2_http_header_to_external_form(
00052         axis2_http_header_t * header,
00053         const axutil_env_t * env);
00054 
00059     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00060     axis2_http_header_get_name(
00061         const axis2_http_header_t * header,
00062         const axutil_env_t * env);
00063 
00068     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00069     axis2_http_header_get_value(
00070         const axis2_http_header_t * header,
00071         const axutil_env_t * env);
00072 
00078     AXIS2_EXTERN void AXIS2_CALL
00079     axis2_http_header_free(
00080         axis2_http_header_t * header,
00081         const axutil_env_t * env);
00082 
00088     AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL
00089     axis2_http_header_create(
00090         const axutil_env_t * env,
00091         const axis2_char_t * name,
00092         const axis2_char_t * value);
00093 
00098     AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL
00099 
00100     axis2_http_header_create_by_str(
00101         const axutil_env_t * env,
00102         const axis2_char_t * str);
00103 
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 
00109 #endif                          /* AXIS2_HTTP_HEADER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__handler__desc.html0000644000175000017500000012630611172017604025570 0ustar00manjulamanjula00000000000000 Axis2/C: handler description

handler description
[description]


Files

file  axis2_handler_desc.h

Typedefs

typedef struct
axis2_handler_desc 
axis2_handler_desc_t

Functions

AXIS2_EXTERN const
axutil_string_t * 
axis2_handler_desc_get_name (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_name (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axutil_string_t *name)
AXIS2_EXTERN
axis2_phase_rule_t
axis2_handler_desc_get_rules (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_rules (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axis2_phase_rule_t *phase_rule)
AXIS2_EXTERN
axutil_param_t * 
axis2_handler_desc_get_param (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_add_param (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_array_list_t
axis2_handler_desc_get_all_params (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_handler_desc_is_param_locked (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_handler_t
axis2_handler_desc_get_handler (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_handler (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN const
axis2_char_t * 
axis2_handler_desc_get_class_name (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_class_name (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, const axis2_char_t *class_name)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_handler_desc_get_parent (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_parent (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axutil_param_container_t *parent)
AXIS2_EXTERN void axis2_handler_desc_free (axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_handler_desc_get_param_container (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_handler_desc_t
axis2_handler_desc_create (const axutil_env_t *env, axutil_string_t *name)

Detailed Description

handler description captures information on a handler. Each handler in the system has an associated handler description. Deployment engine would create handler descriptions based on configuration information. When handlers are loaded from shared libraries, the information captured in handler description would be used.

Typedef Documentation

typedef struct axis2_handler_desc axis2_handler_desc_t

Type name for struct axis2_handler_desc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_handler_desc_add_param ( axis2_handler_desc_t handler_desc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds given parameter to the parameter list.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
param pointer to param
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_handler_desc_t* axis2_handler_desc_create ( const axutil_env_t env,
axutil_string_t *  name 
)

Creates handler description struct instance.

Parameters:
env pointer to env pointer to environment struct
name pointer to string representing handler name, can be NULL, create function clones this
Returns:
pointer to newly created handler description struct

AXIS2_EXTERN void axis2_handler_desc_free ( axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Frees handler description.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axutil_array_list_t* axis2_handler_desc_get_all_params ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets all parameters stored within handler description.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
pointer to array list containing parameters, returns a reference, not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_handler_desc_get_class_name ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets the class name. Class name is the name of the shared library file that contains the implementation of the handler.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
class name string

AXIS2_EXTERN axis2_handler_t* axis2_handler_desc_get_handler ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets the handler associated with the handler description.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
pointer to handler, returns a reference, not a cloned copy

AXIS2_EXTERN const axutil_string_t* axis2_handler_desc_get_name ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets QName.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
pointer to QName, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_handler_desc_get_param ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets named parameter.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
name parameter name string
Returns:
pointer to parameter if found, else NULL. Return a reference not a cloned copy

AXIS2_EXTERN axutil_param_container_t* axis2_handler_desc_get_param_container ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets the param container.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
pointer to parameter container, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_container_t* axis2_handler_desc_get_parent ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets the parent. Parent of handler description is of type parameter container.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
pointer to parent parameter container, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_phase_rule_t* axis2_handler_desc_get_rules ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env 
)

Gets phase rules.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
Returns:
pointer to phase rule struct containing phase rules

AXIS2_EXTERN axis2_bool_t axis2_handler_desc_is_param_locked ( const axis2_handler_desc_t handler_desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked at any level

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
param_name parameter name string
Returns:
AXIS2_TRUE if the parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_handler_desc_set_class_name ( axis2_handler_desc_t handler_desc,
const axutil_env_t env,
const axis2_char_t *  class_name 
)

Sets the class name. Class name is the name of the shared library file that contains the implementation of the handler.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
class_name class name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_handler_desc_set_handler ( axis2_handler_desc_t handler_desc,
const axutil_env_t env,
axis2_handler_t handler 
)

Sets the handler associated with the handler description.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
handler pointer to handler, handler description assumes the ownership of the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_handler_desc_set_name ( axis2_handler_desc_t handler_desc,
const axutil_env_t env,
axutil_string_t *  name 
)

Sets QName.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
name pointer to string representing handler name of QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_handler_desc_set_parent ( axis2_handler_desc_t handler_desc,
const axutil_env_t env,
axutil_param_container_t *  parent 
)

Gets the parent. Parent of handler description is of type parameter container.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
parent pointer to parent parameter container struct, handler description assumes ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_handler_desc_set_rules ( axis2_handler_desc_t handler_desc,
const axutil_env_t env,
axis2_phase_rule_t phase_rule 
)

Sets phase rules.

Parameters:
handler_desc pointer to handler description
env pointer to environment struct
phase_rule pointer to phase rule struct, handler description assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__protection__token__builder_8h-source.html0000644000175000017500000001305011172017604030314 0ustar00manjulamanjula00000000000000 Axis2/C: rp_protection_token_builder.h Source File

rp_protection_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_PROTECTION_TOKEN_BUILDER_H
00019 #define RP_PROTECTION_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <rp_issued_token.h>
00030 #include <rp_saml_token.h>
00031 #include <rp_security_context_token.h>
00032 #include <neethi_assertion.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00040     rp_protection_token_builder_build(
00041         const axutil_env_t * env,
00042         axiom_node_t * node,
00043         axiom_element_t * element);
00044 
00045 #ifdef __cplusplus
00046 }
00047 #endif
00048 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/examples.html0000644000175000017500000000325111172017604022005 0ustar00manjulamanjula00000000000000 Axis2/C: Examples

Axis2/C Examples

Here is a list of all examples:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom_8h-source.html0000644000175000017500000001743711172017604023214 0ustar00manjulamanjula00000000000000 Axis2/C: axiom.h Source File

axiom.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_H
00020 #define AXIOM_H
00021 #include <axiom_node.h>
00022 #include <axiom_attribute.h>
00023 #include <axiom_child_element_iterator.h>
00024 #include <axiom_children_iterator.h>
00025 #include <axiom_children_qname_iterator.h>
00026 #include <axiom_children_with_specific_attribute_iterator.h>
00027 #include <axiom_comment.h>
00028 #include <axiom_doctype.h>
00029 #include <axiom_document.h>
00030 #include <axiom_element.h>
00031 #include <axiom_namespace.h>
00032 #include <axiom_navigator.h>
00033 #include <axiom_output.h>
00034 #include <axiom_processing_instruction.h>
00035 #include <axiom_stax_builder.h>
00036 #include <axiom_text.h>
00037 #include <axiom_data_source.h>
00038 #include <axiom_xml_reader.h>
00039 #include <axiom_xml_writer.h>
00040 #include <axiom_defines.h>
00041 
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050 
00053 #ifdef __cplusplus
00054 }
00055 #endif
00056 
00057 #endif                          /* AXIOM_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__out__desc_8h-source.html0000644000175000017500000005066511172017604027563 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_out_desc.h Source File

axis2_transport_out_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_TRANSPORT_OUT_DESC_H
00020 #define AXIS2_TRANSPORT_OUT_DESC_H
00021 
00039 #include <axis2_const.h>
00040 #include <axutil_error.h>
00041 #include <axis2_defines.h>
00042 #include <axutil_env.h>
00043 #include <axutil_allocator.h>
00044 #include <axutil_array_list.h>
00045 #include <axis2_phase_meta.h>
00046 #include <axis2_phase.h>
00047 #include <axis2_flow.h>
00048 #include <axis2_transport_sender.h>
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054 
00056     typedef struct axis2_transport_out_desc axis2_transport_out_desc_t;
00057 
00058     struct axis2_phase;
00059     struct axis2_transport_sender;
00060 
00067     AXIS2_EXTERN void AXIS2_CALL
00068     axis2_transport_out_desc_free(
00069         axis2_transport_out_desc_t * transport_out_desc,
00070         const axutil_env_t * env);
00071 
00079     AXIS2_EXTERN void AXIS2_CALL
00080     axis2_transport_out_desc_free_void_arg(
00081         void *transport_out,
00082         const axutil_env_t * env);
00083 
00090     AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL
00091 
00092     axis2_transport_out_desc_get_enum(
00093         const axis2_transport_out_desc_t * transport_out,
00094         const axutil_env_t * env);
00095 
00103     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00104     axis2_transport_out_desc_set_enum(
00105         struct axis2_transport_out_desc *transport_out,
00106         const axutil_env_t * env,
00107         const AXIS2_TRANSPORT_ENUMS trans_enum);
00108 
00117     AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00118 
00119                 axis2_transport_out_desc_get_out_flow(
00120                     const axis2_transport_out_desc_t * transport_out,
00121                     const axutil_env_t * env);
00122 
00132     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00133 
00134     axis2_transport_out_desc_set_out_flow(
00135         struct axis2_transport_out_desc *transport_out,
00136         const axutil_env_t * env,
00137         struct axis2_flow *out_flow);
00138 
00146     AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00147 
00148                 axis2_transport_out_desc_get_fault_out_flow(
00149                     const axis2_transport_out_desc_t * transport_out,
00150                     const axutil_env_t * env);
00151 
00160     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00161 
00162     axis2_transport_out_desc_set_fault_out_flow(
00163         struct axis2_transport_out_desc *transport_out,
00164         const axutil_env_t * env,
00165         struct axis2_flow *fault_out_flow);
00166 
00174     AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL
00175 
00176     axis2_transport_out_desc_get_sender(
00177         const axis2_transport_out_desc_t * transport_out,
00178         const axutil_env_t * env);
00179 
00188     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189 
00190     axis2_transport_out_desc_set_sender(
00191         struct axis2_transport_out_desc *transport_out,
00192         const axutil_env_t * env,
00193         axis2_transport_sender_t * sender);
00194 
00202     AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00203 
00204                 axis2_transport_out_desc_get_out_phase(
00205                     const axis2_transport_out_desc_t * transport_out,
00206                     const axutil_env_t * env);
00207 
00216     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00217 
00218     axis2_transport_out_desc_set_out_phase(
00219         struct axis2_transport_out_desc *transport_out,
00220         const axutil_env_t * env,
00221         struct axis2_phase *out_phase);
00222 
00230     AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00231 
00232                 axis2_transport_out_desc_get_fault_phase(
00233                     const axis2_transport_out_desc_t * transport_out,
00234                     const axutil_env_t * env);
00235 
00244     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00245 
00246     axis2_transport_out_desc_set_fault_phase(
00247         struct axis2_transport_out_desc *transport_out,
00248         const axutil_env_t * env,
00249         struct axis2_phase *fault_phase);
00250 
00259     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00260 
00261     axis2_transport_out_desc_add_param(
00262         axis2_transport_out_desc_t * transport_out_desc,
00263         const axutil_env_t * env,
00264         axutil_param_t * param);
00265 
00272     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00273 
00274     axis2_transport_out_desc_get_param(
00275         const axis2_transport_out_desc_t * transport_out_desc,
00276         const axutil_env_t * env,
00277         const axis2_char_t * param_name);
00278 
00285     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00286 
00287     axis2_transport_out_desc_is_param_locked(
00288         axis2_transport_out_desc_t * transport_out_desc,
00289         const axutil_env_t * env,
00290         const axis2_char_t * param_name);
00291 
00292     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00293 
00294     axis2_transport_out_desc_param_container(
00295         const axis2_transport_out_desc_t * transport_out_desc,
00296         const axutil_env_t * env);
00297 
00304     AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00305 
00306     axis2_transport_out_desc_create(
00307         const axutil_env_t * env,
00308         const AXIS2_TRANSPORT_ENUMS trans_enum);
00309 
00317     AXIS2_EXTERN void AXIS2_CALL
00318     axis2_transport_out_desc_free_void_arg(
00319         void *transport_out,
00320         const axutil_env_t * env);
00321 
00324 #ifdef __cplusplus
00325 }
00326 #endif
00327 #endif                          /* AXIS2_TRANSPORT_OUT_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__reader-members.html0000644000175000017500000000402411172017604026700 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xml_reader Member List

This is the complete list of members for axiom_xml_reader, including all inherited members.

ops (defined in axiom_xml_reader)axiom_xml_reader


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__buffer_8h-source.html0000644000175000017500000003267611172017604025562 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_buffer.h Source File

guththila_buffer.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_BUFFER_H
00019 #define GUTHTHILA_BUFFER_H
00020 
00021 #include <guththila_defines.h>
00022 #include <axutil_utils.h>
00023 
00024 EXTERN_C_START()
00025 
00026 typedef enum guththila_buffer_type
00027 {
00028     GUTHTHILA_SINGLE_BUFFER = 0, /* One buffer */
00029     GUTHTHILA_MULTIPLE_BUFFER    /* Mulitple buffers in a buff array */
00030 } guththila_buffer_type_t;
00031 
00032 typedef struct guththila_buffer_s
00033 {
00034     /* Required to manupulate multiple buffers */
00035     size_t *data_size;                  /* Array containing filled sizes of buffers */
00036     size_t *buffs_size;                 /* Array containing actual sizes of buffers */
00037     guththila_char_t **buff;    /* Array of buffers */
00038     int cur_buff;                               /* Current buffer */
00039     int cur_buff_pos;                   /* Position of the current buffer */
00040     size_t pre_tot_data;                /* All the data in the previous buffers. Not include cur */
00041     unsigned int no_buffers;    /* No of buffers */
00042     short type;                                 /* Buffer type */
00043     guththila_char_t *xml;              /* All the buffers serialized together */
00044 } guththila_buffer_t;
00045 
00046 #define GUTHTHILA_BUFFER_DEF_SIZE 16384
00047 #define GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS 16
00048 
00049 #ifndef GUTHTHILA_BUFFER_SIZE
00050 #define GUTHTHILA_BUFFER_SIZE(_buffer) (_buffer.size)
00051 #endif
00052 
00053 #ifndef GUTHTHILA_BUFFER_CURRENT_BUFF
00054 #define GUTHTHILA_BUFFER_CURRENT_BUFF(_buffer) ((_buffer).buff[(_buffer).cur_buff] + (_buffer).data_size[(_buffer).cur_buff])
00055 #endif
00056 
00057 #ifndef GUTHTHILA_BUFFER_CURRENT_BUFF_SIZE
00058 #define GUTHTHILA_BUFFER_CURRENT_BUFF_SIZE(_buffer) ((_buffer).buffs_size[(_buffer).cur_buff] - (_buffer).data_size[(_buffer).cur_buff])
00059 #endif
00060 
00061 #ifndef GUTHTHILA_BUFFER_CURRENT_DATA_SIZE
00062 #define GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(_buffer) ((_buffer).data_size[(_buffer).cur_buff])
00063 #endif
00064 
00065 #ifndef GUTHTHILA_BUFFER_PRE_DATA_SIZE
00066 #define GUTHTHILA_BUFFER_PRE_DATA_SIZE(_buffer) ((_buffer).pre_tot_data)
00067 #endif
00068 
00069 /*We never consider tokens not in the current buffer*/
00070 #ifndef GUTHTHILA_BUF_POS
00071 #define GUTHTHILA_BUF_POS(_buffer, _pos) ((_buffer).buff[(_buffer).cur_buff] + _pos - (_buffer).pre_tot_data)
00072 #endif
00073 
00082 int GUTHTHILA_CALL 
00083 guththila_buffer_init(guththila_buffer_t * buffer,
00084                                           int size,
00085                                           const axutil_env_t * env);
00086 
00094 int GUTHTHILA_CALL 
00095 guththila_buffer_un_init(guththila_buffer_t * buffer,
00096                                            const axutil_env_t * env);
00097 
00108 int GUTHTHILA_CALL 
00109 guththila_buffer_init_for_buffer(guththila_buffer_t * mu_buff, 
00110                                                                  guththila_char_t *buffer, 
00111                                                                  int size, 
00112                                                                  const axutil_env_t * env);
00113 
00114 void *GUTHTHILA_CALL 
00115 guththila_get_position(guththila_buffer_t * buffer,
00116                                            int pos, 
00117                                            const axutil_env_t * env);
00118 
00119 int GUTHTHILA_CALL 
00120 guththila_buffer_next(guththila_buffer_t * buffer, 
00121                                           const axutil_env_t * env);
00122 
00123 
00132 void *GUTHTHILA_CALL 
00133 guththila_buffer_get(guththila_buffer_t * buffer, 
00134                                          const axutil_env_t * env);
00135 
00136 
00137 int GUTHTHILA_CALL 
00138 guththila_buffer_shift(guththila_buffer_t * buffer, 
00139                                            int no, const axutil_env_t * env);
00140 
00141 int GUTHTHILA_CALL 
00142 guththila_buffer_insert_data(guththila_buffer_t * buffer, 
00143                                                          void *buff, size_t buff_len, 
00144                                                          const axutil_env_t * env);
00145 
00146 EXTERN_C_END()
00147 #endif
00148 
00149 
00150 
00151 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__recipient__token__builder.html0000644000175000017500000000425011172017604027570 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_recipient_token_builder

Rp_recipient_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_recipient_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__http__chunked__stream.html0000644000175000017500000004325611172017604027631 0ustar00manjulamanjula00000000000000 Axis2/C: http chunked stream

http chunked stream
[http transport]


Files

file  axutil_http_chunked_stream.h
 axis2 HTTP Chunked Stream

Classes

struct  axis2_callback_info

Typedefs

typedef struct
axutil_http_chunked_stream 
axutil_http_chunked_stream_t
typedef struct
axis2_callback_info 
axis2_callback_info_t

Functions

AXIS2_EXTERN int axutil_http_chunked_stream_read (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, void *buffer, size_t count)
AXIS2_EXTERN int axutil_http_chunked_stream_write (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, const void *buffer, size_t count)
AXIS2_EXTERN int axutil_http_chunked_stream_get_current_chunk_size (const axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_http_chunked_stream_write_last_chunk (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)
AXIS2_EXTERN void axutil_http_chunked_stream_free (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)
AXIS2_EXTERN
axutil_http_chunked_stream_t
axutil_http_chunked_stream_create (const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN axis2_bool_t axutil_http_chunked_stream_get_end_of_chunks (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)

Detailed Description

Description

Typedef Documentation

typedef struct axutil_http_chunked_stream axutil_http_chunked_stream_t

Type name for struct axutil_http_chunked_stream


Function Documentation

AXIS2_EXTERN axutil_http_chunked_stream_t* axutil_http_chunked_stream_create ( const axutil_env_t env,
axutil_stream_t *  stream 
)

Parameters:
env pointer to environment struct
stream pointer to stream

AXIS2_EXTERN void axutil_http_chunked_stream_free ( axutil_http_chunked_stream_t chunked_stream,
const axutil_env_t env 
)

Parameters:
chunked_stream pointer to chunked stream
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN int axutil_http_chunked_stream_get_current_chunk_size ( const axutil_http_chunked_stream_t chunked_stream,
const axutil_env_t env 
)

Parameters:
chunked_stream pointer to chunked stream
env pointer to environment struct

AXIS2_EXTERN int axutil_http_chunked_stream_read ( axutil_http_chunked_stream_t chunked_stream,
const axutil_env_t env,
void *  buffer,
size_t  count 
)

Parameters:
chunked_stream pointer to chunked stream
env pointer to environment struct
buffer 
count 

AXIS2_EXTERN int axutil_http_chunked_stream_write ( axutil_http_chunked_stream_t chunked_stream,
const axutil_env_t env,
const void *  buffer,
size_t  count 
)

Parameters:
env pointer to environment struct
buffer 
count 

AXIS2_EXTERN axis2_status_t axutil_http_chunked_stream_write_last_chunk ( axutil_http_chunked_stream_t chunked_stream,
const axutil_env_t env 
)

Parameters:
chunked_stream pointer to chunked stream
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__xml__writer_8h-source.html0000644000175000017500000015616611172017604025771 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_writer.h Source File

axiom_xml_writer.h

Go to the documentation of this file.
00001 
00002 /*
00003  *   Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  *   Licensed under the Apache License, Version 2.0 (the "License");
00006  *   you may not use this file except in compliance with the License.
00007  *   You may obtain a copy of the License at
00008  *
00009  *       http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  *   Unless required by applicable law or agreed to in writing, software
00012  *   distributed under the License is distributed on an "AS IS" BASIS,
00013  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *   See the License for the specific language governing permissions and
00015  *   limitations under the License.
00016  *
00017  */
00018 
00019 #ifndef AXIOM_XML_WRITER_H
00020 #define AXIOM_XML_WRITER_H
00021 
00027 #include <axutil_env.h>
00028 #include <axiom_defines.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axiom_xml_writer_ops axiom_xml_writer_ops_t;
00036     typedef struct axiom_xml_writer axiom_xml_writer_t;
00037 
00049     struct axiom_xml_writer_ops
00050     {
00051 
00060         void(
00061             AXIS2_CALL
00062             * free)(
00063                 axiom_xml_writer_t * writer,
00064                 const axutil_env_t * env);
00065 
00075         axis2_status_t(
00076             AXIS2_CALL
00077             * write_start_element)(
00078                 axiom_xml_writer_t * writer,
00079                 const axutil_env_t * env,
00080                 axis2_char_t * localname);
00081 
00091         axis2_status_t(
00092             AXIS2_CALL
00093             * end_start_element)(
00094                 axiom_xml_writer_t * writer,
00095                 const axutil_env_t * env);
00096 
00107         axis2_status_t(
00108             AXIS2_CALL
00109             * write_start_element_with_namespace)(
00110                 axiom_xml_writer_t * writer,
00111                 const axutil_env_t * env,
00112                 axis2_char_t * localname,
00113                 axis2_char_t * namespace_uri);
00114 
00125         axis2_status_t(
00126             AXIS2_CALL
00127             * write_start_element_with_namespace_prefix)(
00128                 axiom_xml_writer_t * writer,
00129                 const axutil_env_t * env,
00130                 axis2_char_t * localname,
00131                 axis2_char_t * namespace_uri,
00132                 axis2_char_t * prefix);
00133 
00142         axis2_status_t(
00143             AXIS2_CALL
00144             * write_empty_element)(
00145                 axiom_xml_writer_t * writer,
00146                 const axutil_env_t * env,
00147                 axis2_char_t * localname);
00148 
00159         axis2_status_t(
00160             AXIS2_CALL
00161             * write_empty_element_with_namespace)(
00162                 axiom_xml_writer_t * writer,
00163                 const axutil_env_t * env,
00164                 axis2_char_t * localname,
00165                 axis2_char_t * namespace_uri);
00166 
00177         axis2_status_t(
00178             AXIS2_CALL
00179             * write_empty_element_with_namespace_prefix)(
00180                 axiom_xml_writer_t * writer,
00181                 const axutil_env_t * env,
00182                 axis2_char_t * localname,
00183                 axis2_char_t * namespace_uri,
00184                 axis2_char_t * prefix);
00185 
00193         axis2_status_t(
00194             AXIS2_CALL
00195             * write_end_element)(
00196                 axiom_xml_writer_t * writer,
00197                 const axutil_env_t * env);
00198 
00206         axis2_status_t(
00207             AXIS2_CALL
00208             * write_end_document)(
00209                 axiom_xml_writer_t * writer,
00210                 const axutil_env_t * env);
00211 
00221         axis2_status_t(
00222             AXIS2_CALL
00223             * write_attribute)(
00224                 axiom_xml_writer_t * writer,
00225                 const axutil_env_t * env,
00226                 axis2_char_t * localname,
00227                 axis2_char_t * value);
00228 
00238         axis2_status_t(
00239             AXIS2_CALL
00240             * write_attribute_with_namespace)(
00241                 axiom_xml_writer_t * writer,
00242                 const axutil_env_t * env,
00243                 axis2_char_t * localname,
00244                 axis2_char_t * value,
00245                 axis2_char_t * namespace_uri);
00246 
00255         axis2_status_t(
00256             AXIS2_CALL
00257             * write_attribute_with_namespace_prefix)(
00258                 axiom_xml_writer_t * writer,
00259                 const axutil_env_t * env,
00260                 axis2_char_t * localname,
00261                 axis2_char_t * value,
00262                 axis2_char_t * namespace_uri,
00263                 axis2_char_t * prefix);
00264 
00274         axis2_status_t(
00275             AXIS2_CALL
00276             * write_namespace)(
00277                 axiom_xml_writer_t * writer,
00278                 const axutil_env_t * env,
00279                 axis2_char_t * prefix,
00280                 axis2_char_t * namespace_uri);
00281 
00290         axis2_status_t(
00291             AXIS2_CALL
00292             * write_default_namespace)(
00293                 axiom_xml_writer_t * writer,
00294                 const axutil_env_t * env,
00295                 axis2_char_t * namespace_uri);
00296 
00305         axis2_status_t(
00306             AXIS2_CALL
00307             * write_comment)(
00308                 axiom_xml_writer_t * writer,
00309                 const axutil_env_t * env,
00310                 axis2_char_t * value);
00311 
00320         axis2_status_t(
00321             AXIS2_CALL
00322             * write_processing_instruction)(
00323                 axiom_xml_writer_t * writer,
00324                 const axutil_env_t * env,
00325                 axis2_char_t * target);
00326 
00336         axis2_status_t(
00337             AXIS2_CALL
00338             * write_processing_instruction_data)(
00339                 axiom_xml_writer_t * writer,
00340                 const axutil_env_t * env,
00341                 axis2_char_t * target,
00342                 axis2_char_t * data);
00343 
00351         axis2_status_t(
00352             AXIS2_CALL
00353             * write_cdata)(
00354                 axiom_xml_writer_t * writer,
00355                 const axutil_env_t * env,
00356                 axis2_char_t * data);
00357 
00365         axis2_status_t(
00366             AXIS2_CALL
00367             * write_dtd)(
00368                 axiom_xml_writer_t * writer,
00369                 const axutil_env_t * env,
00370                 axis2_char_t * dtd);
00371 
00379         axis2_status_t(
00380             AXIS2_CALL
00381             * write_entity_ref)(
00382                 axiom_xml_writer_t * writer,
00383                 const axutil_env_t * env,
00384                 axis2_char_t * name);
00385 
00392         axis2_status_t(
00393             AXIS2_CALL
00394             * write_start_document)(
00395                 axiom_xml_writer_t * writer,
00396                 const axutil_env_t * env);
00397 
00405         axis2_status_t(
00406             AXIS2_CALL
00407             * write_start_document_with_version)(
00408                 axiom_xml_writer_t * writer,
00409                 const axutil_env_t * env,
00410                 axis2_char_t * version);
00411 
00420         axis2_status_t(
00421             AXIS2_CALL
00422             * write_start_document_with_version_encoding)(
00423                 axiom_xml_writer_t * writer,
00424                 const axutil_env_t * env,
00425                 axis2_char_t * version,
00426                 axis2_char_t * encoding);
00427 
00435         axis2_status_t(
00436             AXIS2_CALL
00437             * write_characters)(
00438                 axiom_xml_writer_t * writer,
00439                 const axutil_env_t * env,
00440                 axis2_char_t * text);
00441 
00449         axis2_char_t *(
00450             AXIS2_CALL
00451             * get_prefix)(
00452                 axiom_xml_writer_t * writer,
00453                 const axutil_env_t * env,
00454                 axis2_char_t * uri);
00455 
00464         axis2_status_t(
00465             AXIS2_CALL
00466             * set_prefix)(
00467                 axiom_xml_writer_t * writer,
00468                 const axutil_env_t * env,
00469                 axis2_char_t * prefix,
00470                 axis2_char_t * uri);
00471 
00479         axis2_status_t(
00480             AXIS2_CALL
00481             * set_default_prefix)(
00482                 axiom_xml_writer_t * writer,
00483                 const axutil_env_t * env,
00484                 axis2_char_t * uri);
00485 
00494         axis2_status_t(
00495             AXIS2_CALL
00496             * write_encoded)(
00497                 axiom_xml_writer_t * writer,
00498                 const axutil_env_t * env,
00499                 axis2_char_t * text,
00500                 int in_attr);
00501 
00502         void *(
00503             AXIS2_CALL
00504             * get_xml)(
00505                 axiom_xml_writer_t * writer,
00506                 const axutil_env_t * env);
00507 
00508         unsigned int(
00509             AXIS2_CALL
00510             * get_xml_size)(
00511                 axiom_xml_writer_t * writer,
00512                 const axutil_env_t * env);
00513 
00514         int(
00515             AXIS2_CALL
00516             * get_type)(
00517                 axiom_xml_writer_t * writer,
00518                 const axutil_env_t * env);
00519 
00520         axis2_status_t(
00521             AXIS2_CALL
00522             * write_raw)(
00523                 axiom_xml_writer_t * writer,
00524                 const axutil_env_t * env,
00525                 axis2_char_t * content);
00526         axis2_status_t(
00527             AXIS2_CALL
00528             * flush)(
00529                 axiom_xml_writer_t * writer,
00530                 const axutil_env_t * env);
00531 
00532     };
00533 
00539     struct axiom_xml_writer
00540     {
00541         const axiom_xml_writer_ops_t *ops;
00542     };
00543 
00553     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00554     axiom_xml_writer_create(
00555         const axutil_env_t * env,
00556         axis2_char_t * filename,
00557         axis2_char_t * encoding,
00558         int is_prefix_default,
00559         int compression);
00560 
00570     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00571     axiom_xml_writer_create_for_memory(
00572         const axutil_env_t * env,
00573         axis2_char_t * encoding,
00574         int is_prefix_default,
00575         int compression,
00576         int type);
00577 
00585     AXIS2_EXTERN void AXIS2_CALL
00586     axiom_xml_writer_free(
00587         axiom_xml_writer_t * writer,
00588         const axutil_env_t * env);
00589 
00596     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00597     axiom_xml_writer_write_start_element(
00598         axiom_xml_writer_t * writer,
00599         const axutil_env_t * env,
00600         axis2_char_t * localname);
00608     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00609     axiom_xml_writer_end_start_element(
00610         axiom_xml_writer_t * writer,
00611         const axutil_env_t * env);
00612 
00619     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00620     axiom_xml_writer_write_start_element_with_namespace(
00621         axiom_xml_writer_t * writer,
00622         const axutil_env_t * env,
00623         axis2_char_t * localname,
00624         axis2_char_t * namespace_uri);
00625 
00634     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00635     axiom_xml_writer_write_start_element_with_namespace_prefix(
00636         axiom_xml_writer_t * writer,
00637         const axutil_env_t * env,
00638         axis2_char_t * localname,
00639         axis2_char_t * namespace_uri,
00640         axis2_char_t * prefix);
00641 
00648     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00649     axiom_xml_writer_write_empty_element(
00650         axiom_xml_writer_t * writer,
00651         const axutil_env_t * env,
00652         axis2_char_t * localname);
00653 
00661     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00662     axiom_xml_writer_write_empty_element_with_namespace(
00663         axiom_xml_writer_t * writer,
00664         const axutil_env_t * env,
00665         axis2_char_t * localname,
00666         axis2_char_t * namespace_uri);
00667 
00676     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00677     axiom_xml_writer_write_empty_element_with_namespace_prefix(
00678         axiom_xml_writer_t * writer,
00679         const axutil_env_t * env,
00680         axis2_char_t * localname,
00681         axis2_char_t * namespace_uri,
00682         axis2_char_t * prefix);
00683 
00690     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00691     axiom_xml_writer_write_end_element(
00692         axiom_xml_writer_t * writer,
00693         const axutil_env_t * env);
00694 
00701     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00702     axiom_xml_writer_write_end_document(
00703         axiom_xml_writer_t * writer,
00704         const axutil_env_t * env);
00705 
00713     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00714     axiom_xml_writer_write_attribute(
00715         axiom_xml_writer_t * writer,
00716         const axutil_env_t * env,
00717         axis2_char_t * localname,
00718         axis2_char_t * value);
00719 
00728     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00729     axiom_xml_writer_write_attribute_with_namespace(
00730         axiom_xml_writer_t * writer,
00731         const axutil_env_t * env,
00732         axis2_char_t * localname,
00733         axis2_char_t * value,
00734         axis2_char_t * namespace_uri);
00735 
00745     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00746     axiom_xml_writer_write_attribute_with_namespace_prefix(
00747         axiom_xml_writer_t * writer,
00748         const axutil_env_t * env,
00749         axis2_char_t * localname,
00750         axis2_char_t * value,
00751         axis2_char_t * namespace_uri,
00752         axis2_char_t * prefix);
00753 
00761     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00762     axiom_xml_writer_write_namespace(
00763         axiom_xml_writer_t * writer,
00764         const axutil_env_t * env,
00765         axis2_char_t * prefix,
00766         axis2_char_t * namespace_uri);
00767 
00774     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00775     axiom_xml_writer_write_default_namespace(
00776         axiom_xml_writer_t * writer,
00777         const axutil_env_t * env,
00778         axis2_char_t * namespace_uri);
00779 
00786     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00787     axiom_xml_writer_write_comment(
00788         axiom_xml_writer_t * writer,
00789         const axutil_env_t * env,
00790         axis2_char_t * value);
00791 
00798     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00799     axiom_xml_writer_write_processing_instruction(
00800         axiom_xml_writer_t * writer,
00801         const axutil_env_t * env,
00802         axis2_char_t * target);
00803 
00810     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00811     axiom_xml_writer_write_processing_instruction_data(
00812         axiom_xml_writer_t * writer,
00813         const axutil_env_t * env,
00814         axis2_char_t * target,
00815         axis2_char_t * data);
00816 
00823     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00824     axiom_xml_writer_write_cdata(
00825         axiom_xml_writer_t * writer,
00826         const axutil_env_t * env,
00827         axis2_char_t * data);
00828 
00835     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00836     axiom_xml_writer_write_dtd(
00837         axiom_xml_writer_t * writer,
00838         const axutil_env_t * env,
00839         axis2_char_t * dtd);
00840 
00847     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00848     axiom_xml_writer_write_entity_ref(
00849         axiom_xml_writer_t * writer,
00850         const axutil_env_t * env,
00851         axis2_char_t * name);
00852 
00859     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00860     axiom_xml_writer_write_start_document(
00861         axiom_xml_writer_t * writer,
00862         const axutil_env_t * env);
00863 
00870     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00871     axiom_xml_writer_write_start_document_with_version(
00872         axiom_xml_writer_t * writer,
00873         const axutil_env_t * env,
00874         axis2_char_t * version);
00875 
00882     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00883     axiom_xml_writer_write_start_document_with_version_encoding(
00884         axiom_xml_writer_t * writer,
00885         const axutil_env_t * env,
00886         axis2_char_t * version,
00887         axis2_char_t * encoding);
00888 
00895     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00896     axiom_xml_writer_write_characters(
00897         axiom_xml_writer_t * writer,
00898         const axutil_env_t * env,
00899         axis2_char_t * text);
00900 
00907     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00908     axiom_xml_writer_get_prefix(
00909         axiom_xml_writer_t * writer,
00910         const axutil_env_t * env,
00911         axis2_char_t * uri);
00912 
00919     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00920     axiom_xml_writer_set_prefix(
00921         axiom_xml_writer_t * writer,
00922         const axutil_env_t * env,
00923         axis2_char_t * prefix,
00924         axis2_char_t * uri);
00925 
00932     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00933     axiom_xml_writer_set_default_prefix(
00934         axiom_xml_writer_t * writer,
00935         const axutil_env_t * env,
00936         axis2_char_t * uri);
00937 
00945     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00946     axiom_xml_writer_write_encoded(
00947         axiom_xml_writer_t * writer,
00948         const axutil_env_t * env,
00949         axis2_char_t * text,
00950         int in_attr);
00951 
00958     AXIS2_EXTERN void *AXIS2_CALL
00959     axiom_xml_writer_get_xml(
00960         axiom_xml_writer_t * writer,
00961         const axutil_env_t * env);
00962 
00969     AXIS2_EXTERN unsigned int AXIS2_CALL
00970     axiom_xml_writer_get_xml_size(
00971         axiom_xml_writer_t * writer,
00972         const axutil_env_t * env);
00973 
00980     AXIS2_EXTERN int AXIS2_CALL
00981     axiom_xml_writer_get_type(
00982         axiom_xml_writer_t * writer,
00983         const axutil_env_t * env);
00984 
00991     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00992     axiom_xml_writer_write_raw(
00993         axiom_xml_writer_t * writer,
00994         const axutil_env_t * env,
00995         axis2_char_t * content);
00996 
01003     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01004     axiom_xml_writer_flush(
01005         axiom_xml_writer_t * writer,
01006         const axutil_env_t * env);
01007 
01010 #ifdef __cplusplus
01011 }
01012 #endif
01013 
01014 #endif                          /* AXIOM_XML_WRITER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__error.html0000644000175000017500000001333011172017604024311 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_error Struct Reference

axutil_error Struct Reference
[error]

#include <axutil_error.h>

List of all members.

Public Attributes

axutil_allocator_tallocator
int error_number
int status_code
axis2_char_t * message


Detailed Description

Axutil error struct. Error holds the last error number, the status code as well as the last error message.

Member Data Documentation

Memory allocator associated with the error struct. It is this allocator that would be used to allocate memory for the error struct instance in create method.

Last error number.

Last status code.

axis2_char_t* axutil_error::message

Error message. This could be set to a custom message to be returned, instead of standard errors set in the error messages array by the axutil_error_init function call.


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__date__time__util_8h-source.html0000644000175000017500000001262411172017604027103 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_date_time_util.h Source File

axutil_date_time_util.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain count copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_DATE_TIME_UTIL_H
00019 #define AXUTIL_DATE_TIME_UTIL_H
00020 
00021 #include <axutil_utils.h>
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 #include <platforms/axutil_platform_auto_sense.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00041     AXIS2_EXTERN int AXIS2_CALL
00042     axutil_get_milliseconds(
00043         const axutil_env_t * env);
00044 
00047 #ifdef __cplusplus
00048 }
00049 #endif
00050 
00051 #endif                          /* AXIS2_DATE_TIME_UTIL_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__rampart__config__builder_8h-source.html0000644000175000017500000001237211172017604027727 0ustar00manjulamanjula00000000000000 Axis2/C: rp_rampart_config_builder.h Source File

rp_rampart_config_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_RAMPART_CONFIG_BUILDER_H
00019 #define RP_RAMPART_CONFIG_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_rampart_config.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_rampart_config_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__param__container_8h.html0000644000175000017500000001447011172017604025621 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_param_container.h File Reference

axutil_param_container.h File Reference

Axis2 Param container interface. More...

#include <axutil_utils.h>
#include <axutil_error.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>
#include <axutil_hash.h>
#include <axutil_qname.h>
#include <axutil_param.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_param_container 
axutil_param_container_t

Functions

AXIS2_EXTERN
axutil_param_container_t * 
axutil_param_container_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_param_container_free_void_arg (void *param_container, const axutil_env_t *env)
AXIS2_EXTERN void axutil_param_container_free (axutil_param_container_t *param_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_container_add_param (axutil_param_container_t *param_container, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axutil_param_container_get_param (axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axutil_param_container_get_params (axutil_param_container_t *param_container, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_param_container_is_param_locked (axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *param_name)


Detailed Description

Axis2 Param container interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__engine_8h.html0000644000175000017500000002654711172017604023543 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_engine.h File Reference

neethi_engine.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_includes.h>
#include <neethi_operator.h>
#include <neethi_policy.h>
#include <neethi_all.h>
#include <neethi_exactlyone.h>
#include <neethi_reference.h>
#include <neethi_registry.h>
#include <neethi_assertion.h>

Go to the source code of this file.

Functions

AXIS2_EXTERN
neethi_policy_t * 
neethi_engine_get_policy (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)
AXIS2_EXTERN
neethi_policy_t * 
neethi_engine_get_normalize (const axutil_env_t *env, axis2_bool_t deep, neethi_policy_t *neethi_policy)
AXIS2_EXTERN
neethi_policy_t * 
neethi_engine_normalize (const axutil_env_t *env, neethi_policy_t *neethi_policy, neethi_registry_t *registry, axis2_bool_t deep)
AXIS2_EXTERN
neethi_policy_t * 
neethi_engine_merge (const axutil_env_t *env, neethi_policy_t *neethi_policy1, neethi_policy_t *neethi_policy2)
AXIS2_EXTERN
axiom_node_t * 
neethi_engine_serialize (neethi_policy_t *policy, const axutil_env_t *env)


Detailed Description

neethi_policy creation logic.

Function Documentation

AXIS2_EXTERN neethi_policy_t* neethi_engine_get_normalize ( const axutil_env_t env,
axis2_bool_t  deep,
neethi_policy_t *  neethi_policy 
)

Given a neethi_policy object this will return the normalized policy object.

Parameters:
env pointer to environment struct
deep to specify whether assertion level normalization needed.
neethi_policy_t to the policy which is not normalized.
Returns:
pointer to a normalized neethi_policy_t struct

AXIS2_EXTERN neethi_policy_t* neethi_engine_get_policy ( const axutil_env_t env,
axiom_node_t *  node,
axiom_element_t *  element 
)

Given an axiom model this function will return a neethi_policy object.

Parameters:
env pointer to environment struct
node to an axiom_node
node to an axiom_element
Returns:
pointer to a neethi_policy_t struct

AXIS2_EXTERN neethi_policy_t* neethi_engine_normalize ( const axutil_env_t env,
neethi_policy_t *  neethi_policy,
neethi_registry_t *  registry,
axis2_bool_t  deep 
)

Given a neethi_policy object this will return the normalized policy object.

Parameters:
env pointer to environment struct
deep to specify whether assertion level normalization needed.
neethi_policy_t to the policy which is not normalized.
registry neethi_registry_t struct which contains policy objects.
Returns:
pointer to a normalized neethi_policy_t struct


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__mtom__caching__callback__ops.html0000644000175000017500000001230511172017604030552 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mtom_caching_callback_ops Struct Reference

axiom_mtom_caching_callback_ops Struct Reference
[Caching_callback]

#include <axiom_mtom_caching_callback.h>

List of all members.

Public Attributes

void *(* init_handler )(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t *env, axis2_char_t *key)
axis2_status_t(* cache )(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t *env, axis2_char_t *data, int length, void *handler)
axis2_status_t(* close_handler )(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t *env, void *handler)
axis2_status_t(* free )(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t *env)


Detailed Description

init_handler will init the caching storage cache will write the data to the storage close_handler will close the storage
The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__types.html0000644000175000017500000001275311172017604024442 0ustar00manjulamanjula00000000000000 Axis2/C: type convertors

type convertors
[utilities]


Defines

#define AXIS2_ATOI(s)   axutil_atoi(s)
#define AXIS2_STRTOUL(s, e, b)   axutil_strtoul(s, e, b)
#define AXIS2_STRTOL(s, e, b)   axutil_strtol(s, e, b)
#define AXIS2_ATOL(s)   axutil_atol(s)

Functions

AXIS2_EXTERN int axutil_atoi (const char *s)
AXIS2_EXTERN uint64_t axutil_strtoul (const char *nptr, char **endptr, int base)
AXIS2_EXTERN int64_t axutil_strtol (const char *nptr, char **endptr, int base)
AXIS2_EXTERN int64_t axutil_atol (const char *s)

Detailed Description

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__signed__encrypted__parts__builder.html0000644000175000017500000001042311172017604031303 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_signed_encrypted_parts_builder

Rp_signed_encrypted_parts_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_signed_encrypted_parts_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element, axis2_bool_t is_signed)

Function Documentation

AXIS2_EXTERN neethi_assertion_t* rp_signed_encrypted_parts_builder_build ( const axutil_env_t env,
axiom_node_t *  node,
axiom_element_t *  element,
axis2_bool_t  is_signed 
)

Builts EncryptedParts or SignedParts assertion

Parameters:
env Pointer to environment struct
node Assertion node
element Assertion element
is_signed boolean showing whether signing or encryption
Returns:
neethi assertion created. NULL if failure.


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__error_8h-source.html0000644000175000017500000002220411172017604025424 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_error.h Source File

guththila_error.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #include <guththila_defines.h>
00019 
00020 #ifndef GUTHTHILA_ERROR_H
00021 #define GUTHTHILA_ERROR_H
00022 EXTERN_C_START() typedef enum guththila_error_l
00023 {
00024     GUTHTHILA_VALIDITY_ERROR,
00025     GUTHTHILA_VALIDITY_WARNING,
00026     GUTHTHILA_PARSER_ERROR,
00027     GUTHTHILA_PARSER_WARNING
00028 } guththila_error_level;
00029 enum guththila_error_codes
00030 {
00031     GUTHTHILA_ERROR_NONE =
00032         0, GUTHTHILA_ERROR_NO_MEMORY,
00033     GUTHTHILA_ERROR_INVALID_NULL_PARAMETER,
00034     GUTHTHILA_ERROR_INVALID_ITERATOR_STATE,
00035     GUTHTHILA_ERROR_INVALID_NODE_TYPE,
00036     GUTHTHILA_STREAM_WRITER_ERROR_NOT_IN_GUTHTHILA_START_ELEMENT,
00037     GUTHTHILA_STREAM_WRITER_ERROR_WRITING_TO_STREAM,
00038     GUTHTHILA_STREAM_WRITER_ERROR_STREAM_STRUCT_NULL,
00039     GUTHTHILA_STREAM_WRITER_ERROR_LOCAL_NAME_NULL,
00040     GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_namespace_t_NULL,
00041     GUTHTHILA_STREAM_WRITER_ERROR_PREFIX_NULL,
00042     GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_namespace_t_NOT_DECLARED,
00043     GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_element_t_GUTHTHILA_stack_t_EMPTY,
00044     GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_STATE,
00045     GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_COMMENT_NULL,
00046     GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_GUTHTHILA_COMMENT,
00047     GUTHTHILA_STREAM_WRITER_ERROR_PROCESSING_INSTRUCTION_TARGET_NULL,
00048     GUTHTHILA_STREAM_WRITER_ERROR_CDATA_NULL,
00049     GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_CDATA,
00050     GUTHTHILA_STREAM_WRITER_ERROR_DTD_NULL,
00051     GUTHTHILA_STREAM_WRITER_ERROR_ENTITY_REF_NULL,
00052     GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_XML_VERSION,
00053     GUTHTHILA_STREAM_WRITER_ERROR_TEXT_NULL,
00054     GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_PREFIX,
00055     GUTHTHILA_STREAM_WRITER_ERROR_OUT_OF_MEMORY,
00056     GUTHTHILA_STREAM_WRITER_ERROR_FILE_NOT_FOUND,
00057     GUTHTHILA_STREAM_READER_ERROR_OUT_OF_MEMORY,
00058     GUTHTHILA_ERROR_INVALID_ENCODING_DECLARATION,
00059     GUTHTHILA_ERROR_UNEXPECTED_UTF16_EOF,
00060     GUTHTHILA_ERROR_UNEXPECTED_EOF,
00061     GUTHTHILA_ERROR_PROCESS_EQUAL,
00062     GUTHTHILA_ERROR_INCORRECT_VERSION_INFO,
00063     GUTHTHILA_ERROR_INCORRECT_XML_DECLARATION,
00064     GUTHTHILA_ERROR_VERSION_INFO_NOT_FOUND,
00065     GUTHTHILA_ERROR_ENCODING_DECLARATION_ERROR,
00066     GUTHTHILA_ERROR_STANDALONE_ERROR_IN_YES,
00067     GUTHTHILA_ERROR_STANDALONE_ERROR_IN_NO,
00068     GUTHTHILA_ERROR_STANDALONE_ERROR_YES_OR_NO_NOT_AVAILABLE,
00069     GUTHTHILA_ERROR_MISSING_GREATER_SIGN_IN_XML_DECLARATION,
00070     GUTHTHILA_ERROR_INVALID_NAME_STARTING_CHARACTER,
00071     GUTHTHILA_ERROR_QUOTES_NOT_FOUND_BEFORE_ATTRIBUTE_VALUE,
00072     GUTHTHILA_ERROR_EMPTY_ELEMENT_NOT_CLOSED,
00073     GUTHTHILA_ERROR_END_TAG_NOT_CLOSED,
00074     GUTHTHILA_ERROR_MORE_HYPENS_OCCURED_IN_COMMENT,
00075     GUTHTHILA_ERROR_TOKENIZE_ERROR,
00076     GUTHTHILA_ERROR_INVALID_TOKEN_TYPE,
00077     GUTHTHILA_ERROR_NULL_ATTRIBUTE_NAME,
00078     GUTHTHILA_ERROR_NULL_ATTRIBUTE_VALUE,
00079     GUTHTHILA_ERROR_NULL_ATTRIBUTE_PREFIX,
00080     GUTHTHILA_ERROR_REQUESTED_NUMBER_GREATER_THAN_STACK_SIZE,
00081     GUTHTHILA_WRITER_ERROR_EMPTY_ARGUMENTS,
00082     GUTHTHILA_WRITER_ERROR_NON_EXSISTING_PREFIX,
00083     GUTHTHILA_WRITER_ERROR_EMPTY_WRITER,
00084     GUTHTHILA_WRITER_ERROR_NON_MATCHING_ELEMENTS,
00085     GUTHTHILA_WRITER_ERROR_INVALID_BUFFER,
00086     GUTHTHILA_WRITER_ERROR_INVALID_CHAR_IN_NAME,
00087     GUTHTHILA_WRITER_ERROR_XML_STRING_IN_NAME,
00088     GUTHTHILA_WRITER_ERROR_EXCESS_HYPENS_IN_COMMENT,
00089     GUTHTHILA_WRITER_ERROR_INVALID_CHAR_IN_ATTRIBUTE,
00090     GUTHTHILA_WRITER_ERROR_NON_EXSISTING_URI,
00091     GUTHTHILA_WRITER_ERROR_SAME_ATTRIBUTE_REPEAT,
00092     GUTHTHILA_ERROR_ATTRIBUTE_FREE
00093 };
00094 EXTERN_C_END() 
00095 #endif  /*  */
00096 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__signed__encrypted__items.html0000644000175000017500000001326211172017604027432 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_signed_encrypted_items

Rp_signed_encrypted_items


Typedefs

typedef struct
rp_signed_encrypted_items_t 
rp_signed_encrypted_items_t

Functions

AXIS2_EXTERN
rp_signed_encrypted_items_t * 
rp_signed_encrypted_items_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_signed_encrypted_items_free (rp_signed_encrypted_items_t *signed_encrypted_items, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t rp_signed_encrypted_items_get_signeditems (rp_signed_encrypted_items_t *signed_encrypted_items, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_items_set_signeditems (rp_signed_encrypted_items_t *signed_encrypted_items, const axutil_env_t *env, axis2_bool_t signeditems)
AXIS2_EXTERN
axutil_array_list_t
rp_signed_encrypted_items_get_elements (rp_signed_encrypted_items_t *signed_encrypted_items, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_items_add_element (rp_signed_encrypted_items_t *signed_encrypted_items, const axutil_env_t *env, rp_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__https__token_8h-source.html0000644000175000017500000002043411172017604025427 0ustar00manjulamanjula00000000000000 Axis2/C: rp_https_token.h Source File

rp_https_token.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_HTTPS_TOKEN_H
00019 #define RP_HTTPS_TOKEN_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_https_token_t rp_https_token_t;
00034 
00035     AXIS2_EXTERN rp_https_token_t *AXIS2_CALL
00036     rp_https_token_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_https_token_free(
00041         rp_https_token_t * https_token,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00045     rp_https_token_get_inclusion(
00046         rp_https_token_t * https_token,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_https_token_set_inclusion(
00051         rp_https_token_t * https_token,
00052         const axutil_env_t * env,
00053         axis2_char_t * inclusion);
00054 
00055     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00056     rp_https_token_get_derivedkeys(
00057         rp_https_token_t * https_token,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_https_token_set_derivedkeys(
00062         rp_https_token_t * https_token,
00063         const axutil_env_t * env,
00064         axis2_bool_t derivedkeys);
00065 
00066     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067     rp_https_token_get_require_client_certificate(
00068         rp_https_token_t * https_token,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_https_token_set_require_client_certificate(
00073         rp_https_token_t * https_token,
00074         const axutil_env_t * env,
00075         axis2_bool_t require_client_certificate);
00076 
00077     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00078     rp_https_token_increment_ref(
00079         rp_https_token_t * https_token,
00080         const axutil_env_t * env);
00081 
00082 #ifdef __cplusplus
00083 }
00084 #endif
00085 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tcpmon__util_8h.html0000644000175000017500000001222211172017604023260 0ustar00manjulamanjula00000000000000 Axis2/C: tcpmon_util.h File Reference

tcpmon_util.h File Reference

hold util functions of tcpmon More...

#include <axutil_env.h>
#include <axutil_string.h>
#include <axutil_stream.h>

Go to the source code of this file.

Functions

axis2_char_t * tcpmon_util_format_as_xml (const axutil_env_t *env, axis2_char_t *data, int format)
char * str_replace (char *str, const char *search, const char *replace)
axis2_char_t * tcpmon_util_strcat (axis2_char_t *dest, axis2_char_t *source, int *buff_size, const axutil_env_t *env)
axis2_char_t * tcpmon_util_read_current_stream (const axutil_env_t *env, axutil_stream_t *stream, int *stream_size, axis2_char_t **header, axis2_char_t **data)
char * tcpmon_util_str_replace (const axutil_env_t *env, char *str, const char *search, const char *replace)
int tcpmon_util_write_to_file (char *filename, char *buffer)


Detailed Description

hold util functions of tcpmon


Generated on Thu Apr 16 11:31:22 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__xpath_8h-source.html0000644000175000017500000006250611172017604024554 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xpath.h Source File

axiom_xpath.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_XPATH_H
00020 #define AXIOM_XPATH_H
00021 
00022 #include <axiom.h>
00023 #include <axutil_env.h>
00024 #include <axutil_stack.h>
00025 #include <axiom_soap.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00043 #define AXIOM_XPATH_DEBUG
00044 
00048 #define AXIOM_XPATH_EVALUATION_ERROR 0
00049 
00050 #define AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED 10
00051 
00052     /* Typedefs */
00053 
00058     typedef struct axiom_xpath_expression axiom_xpath_expression_t;
00059 
00065     typedef struct axiom_xpath_context axiom_xpath_context_t;
00066 
00072     typedef struct axiom_xpath_result axiom_xpath_result_t;
00073 
00078     typedef struct axiom_xpath_result_node axiom_xpath_result_node_t;
00079 
00083     typedef enum axiom_xpath_result_type_t
00084     {
00085         AXIOM_XPATH_TYPE_NODE = 0,
00086         AXIOM_XPATH_TYPE_ATTRIBUTE,
00087         AXIOM_XPATH_TYPE_NAMESPACE,
00088         AXIOM_XPATH_TYPE_TEXT,
00089         AXIOM_XPATH_TYPE_NUMBER,
00090         AXIOM_XPATH_TYPE_BOOLEAN
00091     } axiom_xpath_result_type_t;
00092 
00093     typedef int (*axiom_xpath_function_t)(axiom_xpath_context_t *context,
00094             int np);
00095 
00099     struct axiom_xpath_expression
00100     {
00102         axis2_char_t* expr_str;
00103 
00105         int expr_len;
00106 
00108         int expr_ptr;
00109 
00111         axutil_array_list_t *operations;
00112 
00114         int start;
00115     };
00116 
00120     struct axiom_xpath_context
00121     {
00123         const axutil_env_t *env;
00124 
00126         axutil_hash_t *namespaces;
00127 
00129         axutil_hash_t *functions;
00130 
00132         axiom_node_t *root_node;
00133 
00135         axiom_node_t *node;
00136 
00138         axiom_attribute_t *attribute;
00139 
00141         axiom_namespace_t *ns;
00142 
00144         int position;
00145 
00148         int size;
00149 
00151         axiom_xpath_expression_t *expr;
00152 
00154         axis2_bool_t streaming;
00155 
00157         axutil_stack_t *stack;
00158 
00159         /* TODO:
00160            functions
00161            variables
00162            etc */
00163     };
00164 
00168     struct axiom_xpath_result
00169     {
00172         int flag;
00173 
00175         axutil_array_list_t * nodes;
00176     };
00177 
00181     struct axiom_xpath_result_node
00182     {
00184         axiom_xpath_result_type_t type;
00185 
00187         void * value;
00188     };
00189 
00198     AXIS2_EXTERN axiom_xpath_expression_t * AXIS2_CALL axiom_xpath_compile_expression(
00199         const axutil_env_t *env,
00200         const axis2_char_t* xpath_expr);
00201 
00209     AXIS2_EXTERN axiom_xpath_context_t * AXIS2_CALL axiom_xpath_context_create(
00210         const axutil_env_t *env,
00211         axiom_node_t * root_node);
00212 
00222     AXIS2_EXTERN axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate(
00223         axiom_xpath_context_t *context,
00224         axiom_xpath_expression_t *xpath_expr);
00225 
00226 
00238     AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_xpath_cast_node_to_boolean(
00239         const axutil_env_t *env,
00240         axiom_xpath_result_node_t * node);
00241 
00252     AXIS2_EXTERN double AXIS2_CALL axiom_xpath_cast_node_to_number(
00253         const axutil_env_t *env,
00254         axiom_xpath_result_node_t * node);
00255 
00268     AXIS2_EXTERN axis2_char_t * AXIS2_CALL axiom_xpath_cast_node_to_string(
00269         const axutil_env_t *env,
00270         axiom_xpath_result_node_t * node);
00271 
00280     AXIS2_EXTERN axiom_node_t * AXIS2_CALL axiom_xpath_cast_node_to_axiom_node(
00281         const axutil_env_t *env,
00282         axiom_xpath_result_node_t * node);
00283 
00284 
00291     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_context(
00292         const axutil_env_t *env,
00293         axiom_xpath_context_t *context);
00294 
00301     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_expression(
00302         const axutil_env_t *env,
00303         axiom_xpath_expression_t * xpath_expr);
00304 
00311     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_result(
00312         const axutil_env_t *env,
00313         axiom_xpath_result_t* result);
00314 
00321     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_namespace(
00322         axiom_xpath_context_t *context,
00323         axiom_namespace_t *ns);
00324 
00333     AXIS2_EXTERN axiom_namespace_t * AXIS2_CALL axiom_xpath_get_namespace(
00334         axiom_xpath_context_t *context,
00335         axis2_char_t *prefix);
00336 
00342     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_clear_namespaces(
00343         axiom_xpath_context_t *context);
00344 
00353     AXIS2_EXTERN axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate_streaming(
00354         axiom_xpath_context_t *context,
00355         axiom_xpath_expression_t *xpath_expr);
00356 
00365     AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_xpath_streaming_check(
00366         const axutil_env_t *env,
00367         axiom_xpath_expression_t* expr);
00368 
00374     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_default_functions_set(
00375         axiom_xpath_context_t *context);
00376 
00384     AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_function(
00385         axiom_xpath_context_t *context,
00386         axis2_char_t *name,
00387         axiom_xpath_function_t func);
00388 
00397     AXIS2_EXTERN axiom_xpath_function_t AXIS2_CALL axiom_xpath_get_function(
00398         axiom_xpath_context_t *context,
00399         axis2_char_t *name);
00400 
00403 #ifdef __cplusplus
00404 }
00405 #endif
00406 
00407 #endif

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__flow__container_8h-source.html0000644000175000017500000003224511172017604026506 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_flow_container.h Source File

axis2_flow_container.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_FLOW_CONTAINER_H
00020 #define AXIS2_FLOW_CONTAINER_H
00021 
00034 #include <axis2_const.h>
00035 #include <axutil_error.h>
00036 #include <axis2_defines.h>
00037 #include <axutil_env.h>
00038 #include <axutil_allocator.h>
00039 #include <axutil_string.h>
00040 #include <axutil_array_list.h>
00041 #include <axis2_flow.h>
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_flow_container axis2_flow_container_t;
00050 
00057     AXIS2_EXTERN void AXIS2_CALL
00058     axis2_flow_container_free(
00059         axis2_flow_container_t * flow_container,
00060         const axutil_env_t * env);
00061 
00068     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00069     axis2_flow_container_get_in_flow(
00070         const axis2_flow_container_t * flow_container,
00071         const axutil_env_t * env);
00072 
00081     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00082     axis2_flow_container_set_in_flow(
00083         axis2_flow_container_t * flow_container,
00084         const axutil_env_t * env,
00085         axis2_flow_t * in_flow);
00086 
00093     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00094     axis2_flow_container_get_out_flow(
00095         const axis2_flow_container_t * flow_container,
00096         const axutil_env_t * env);
00097 
00106     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107     axis2_flow_container_set_out_flow(
00108         axis2_flow_container_t * flow_container,
00109         const axutil_env_t * env,
00110         axis2_flow_t * out_flow);
00111 
00118     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00119     axis2_flow_container_get_fault_in_flow(
00120         const axis2_flow_container_t * flow_container,
00121         const axutil_env_t * env);
00122 
00131     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00132     axis2_flow_container_set_fault_in_flow(
00133         axis2_flow_container_t * flow_container,
00134         const axutil_env_t * env,
00135         axis2_flow_t * falut_in_flow);
00136 
00143     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00144     axis2_flow_container_get_fault_out_flow(
00145         const axis2_flow_container_t * flow_container,
00146         const axutil_env_t * env);
00147 
00156     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157     axis2_flow_container_set_fault_out_flow(
00158         axis2_flow_container_t * flow_container,
00159         const axutil_env_t * env,
00160         axis2_flow_t * fault_out_flow);
00161 
00167     AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
00168     axis2_flow_container_create(
00169         const axutil_env_t * env);
00170 
00173 #ifdef __cplusplus
00174 }
00175 #endif
00176 #endif                          /* AXIS2_FLOW_CONTAINER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__string_8h-source.html0000644000175000017500000004521711172017604025127 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_string.h Source File

axutil_string.h

00001 
00019 #ifndef AXUTIL_STRING_H
00020 #define AXUTIL_STRING_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <string.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038     typedef struct axutil_string axutil_string_t;
00039 
00047     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00048     axutil_string_create(
00049         const axutil_env_t * env,
00050         const axis2_char_t * str);
00051 
00059     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00060 
00061     axutil_string_create_assume_ownership(
00062         const axutil_env_t * env,
00063         axis2_char_t ** str);
00064 
00072     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00073     axutil_string_create_const(
00074         const axutil_env_t * env,
00075         axis2_char_t ** str);
00076 
00083     AXIS2_EXTERN void AXIS2_CALL
00084     axutil_string_free(
00085         struct axutil_string *string,
00086         const axutil_env_t * env);
00087 
00096     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00097     axutil_string_equals(
00098         const struct axutil_string *string,
00099         const axutil_env_t * env,
00100         const struct axutil_string *string1);
00101 
00110     AXIS2_EXTERN struct axutil_string *AXIS2_CALL
00111                 axutil_string_clone(
00112                     struct axutil_string *string,
00113                     const axutil_env_t * env);
00114 
00121     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00122     axutil_string_get_buffer(
00123         const struct axutil_string *string,
00124         const axutil_env_t * env);
00125 
00128     AXIS2_EXTERN unsigned int AXIS2_CALL
00129     axutil_string_get_length(
00130         const struct axutil_string *string,
00131         const axutil_env_t * env);
00132 
00141     AXIS2_EXTERN void *AXIS2_CALL
00142     axutil_strdup(
00143         const axutil_env_t * env,
00144         const void *ptr);
00145 
00153     AXIS2_EXTERN void *AXIS2_CALL
00154     axutil_strndup(
00155         const axutil_env_t * env,
00156         const void *ptr,
00157         int n);
00158 
00170     AXIS2_EXTERN void *AXIS2_CALL
00171     axutil_strmemdup(
00172         const void *ptr,
00173         size_t n,
00174         const axutil_env_t * env);
00175 
00176     AXIS2_EXTERN void *AXIS2_CALL
00177     axutil_memchr(
00178         const void *ptr,
00179         int c,
00180         size_t n);
00181 
00182     AXIS2_EXTERN int AXIS2_CALL
00183     axutil_strcmp(
00184         const axis2_char_t * s1,
00185         const axis2_char_t * s2);
00186 
00187     AXIS2_EXTERN int AXIS2_CALL
00188     axutil_strncmp(
00189         const axis2_char_t * s1,
00190         const axis2_char_t * s2,
00191         int n);
00192 
00193     AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00194     axutil_strlen(
00195         const axis2_char_t * s);
00196 
00197     AXIS2_EXTERN int AXIS2_CALL
00198     axutil_strcasecmp(
00199         const axis2_char_t * s1,
00200         const axis2_char_t * s2);
00201 
00202     AXIS2_EXTERN int AXIS2_CALL
00203     axutil_strncasecmp(
00204         const axis2_char_t * s1,
00205         const axis2_char_t * s2,
00206         const int n);
00207 
00208     /* much similar to the strcat behaviour. But the difference is
00209      * this allocates new memory to put the conatenated string rather than
00210      * modifying the first argument. The user should free the allocated
00211      * memory for the return value
00212      */
00213     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00214     axutil_stracat(
00215         const axutil_env_t * env,
00216         const axis2_char_t * s1,
00217         const axis2_char_t * s2);
00218 
00224     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00225     axutil_strcat(
00226         const axutil_env_t * env,
00227         ...);
00228 
00229     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00230     axutil_strstr(
00231         const axis2_char_t * heystack,
00232         const axis2_char_t * needle);
00233 
00241     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00242     axutil_strchr(
00243         const axis2_char_t * s,
00244         axis2_char_t ch);
00245 
00246     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00247     axutil_rindex(
00248         const axis2_char_t * s,
00249         axis2_char_t c);
00250 
00251     /* replaces s1 with s2 */
00252     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00253     axutil_replace(
00254         const axutil_env_t * env,
00255         axis2_char_t * str,
00256         int s1,
00257         int s2);
00258 
00259     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00260     axutil_strltrim(
00261         const axutil_env_t * env,
00262         const axis2_char_t * _s,
00263         const axis2_char_t * _trim);
00264 
00265     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00266     axutil_strrtrim(
00267         const axutil_env_t * env,
00268         const axis2_char_t * _s,
00269         const axis2_char_t * _trim);
00270 
00271     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00272     axutil_strtrim(
00273         const axutil_env_t * env,
00274         const axis2_char_t * _s,
00275         const axis2_char_t * _trim);
00276 
00284     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00285     axutil_string_replace(
00286         axis2_char_t * str,
00287         axis2_char_t old_char,
00288         axis2_char_t new_char);
00289 
00296     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00297 
00298     axutil_string_substring_starting_at(
00299         axis2_char_t * str,
00300         int s);
00301 
00308     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00309     axutil_string_substring_ending_at(
00310         axis2_char_t * str,
00311         int e);
00312 
00318     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00319     axutil_string_tolower(
00320         axis2_char_t * str);
00321 
00327     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00328     axutil_string_toupper(
00329         axis2_char_t * str);
00330 
00339     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00340     axutil_strcasestr(
00341         const axis2_char_t * heystack,
00342         const axis2_char_t * needle);
00343 
00346 #ifdef __cplusplus
00347 }
00348 #endif
00349 
00350 #endif                          /* AXIS2_STRING_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__worker.html0000644000175000017500000003031411172017604025516 0ustar00manjulamanjula00000000000000 Axis2/C: http worker

http worker
[http transport]


Files

file  axis2_http_worker.h
 axis2 HTTP Worker

Typedefs

typedef struct
axis2_http_worker 
axis2_http_worker_t

Functions

AXIS2_EXTERN axis2_bool_t axis2_http_worker_process_request (axis2_http_worker_t *http_worker, const axutil_env_t *env, axis2_simple_http_svr_conn_t *svr_conn, axis2_http_simple_request_t *simple_request)
AXIS2_EXTERN
axis2_status_t 
axis2_http_worker_set_svr_port (axis2_http_worker_t *http_worker, const axutil_env_t *env, int port)
AXIS2_EXTERN void axis2_http_worker_free (axis2_http_worker_t *http_worker, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_worker_t
axis2_http_worker_create (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)

Typedef Documentation

typedef struct axis2_http_worker axis2_http_worker_t

Type name for struct axis2_http_worker


Function Documentation

AXIS2_EXTERN axis2_http_worker_t* axis2_http_worker_create ( const axutil_env_t env,
axis2_conf_ctx_t conf_ctx 
)

Parameters:
env pointer to environment struct
conf_ctx pointer to configuration context

AXIS2_EXTERN void axis2_http_worker_free ( axis2_http_worker_t http_worker,
const axutil_env_t env 
)

Parameters:
http_worker pointer to http worker
env pointer to environment strut
Returns:
void

AXIS2_EXTERN axis2_bool_t axis2_http_worker_process_request ( axis2_http_worker_t http_worker,
const axutil_env_t env,
axis2_simple_http_svr_conn_t *  svr_conn,
axis2_http_simple_request_t simple_request 
)

Parameters:
http_worker pointer to http worker
env pointer to environment struct
svr_conn pointer to svr conn
simple_request pointer to simple request

AXIS2_EXTERN axis2_status_t axis2_http_worker_set_svr_port ( axis2_http_worker_t http_worker,
const axutil_env_t env,
int  port 
)

Parameters:
http_worker pointer to http worker
env pointer to environment struct
port 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__engine_8h.html0000644000175000017500000002405111172017604023301 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_engine.h File Reference

axis2_engine.h File Reference

#include <axis2_defines.h>
#include <axutil_array_list.h>
#include <axutil_env.h>
#include <axis2_conf_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_engine 
axis2_engine_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_engine_send (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_receive (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_send_fault (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_receive_fault (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_engine_create_fault_msg_ctx (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *processing_context, const axis2_char_t *code_value, const axis2_char_t *reason_text)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_invoke_phases (axis2_engine_t *engine, const axutil_env_t *env, axutil_array_list_t *phases, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_resume_invocation_phases (axis2_engine_t *engine, const axutil_env_t *env, axutil_array_list_t *phases, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN const
axis2_char_t * 
axis2_engine_get_sender_fault_code (const axis2_engine_t *engine, const axutil_env_t *env, const axis2_char_t *soap_namespace)
AXIS2_EXTERN const
axis2_char_t * 
axis2_engine_get_receiver_fault_code (const axis2_engine_t *engine, const axutil_env_t *env, const axis2_char_t *soap_namespace)
AXIS2_EXTERN void axis2_engine_free (axis2_engine_t *engine, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_resume_receive (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_resume_send (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_engine_t
axis2_engine_create (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__mtom__assertion__checker_8h-source.html0000644000175000017500000001310511172017604030603 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_mtom_assertion_checker.h Source File

neethi_mtom_assertion_checker.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_MTOM_ASSERTION_CHECKER_H
00020 #define NEETHI_MTOM_ASSERTION_CHECKER_H
00021 
00022 
00023 #include <axis2_defines.h>
00024 #include <axutil_env.h>
00025 #include <neethi_policy.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00032     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00033     neethi_is_mtom_required(
00034         const axutil_env_t *env,
00035         neethi_policy_t *policy);
00036     
00037 
00039 #ifdef __cplusplus
00040 }
00041 #endif
00042 
00043 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__assertion__builder_8h-source.html0000644000175000017500000001261211172017604027434 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_assertion_builder.h Source File

neethi_assertion_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef NEETHI_ASSERTION_BUILDER_H
00019 #define NEETHI_ASSERTION_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <neethi_assertion.h>
00029 #include <rp_builders.h>
00030 #include <axis2_rm_assertion_builder.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00038     neethi_assertion_builder_build(
00039         const axutil_env_t * env,
00040         axiom_node_t * node,
00041         axiom_element_t * element);
00042 
00043 #ifdef __cplusplus
00044 }
00045 #endif
00046 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom_8h.html0000644000175000017500000000762311172017604021712 0ustar00manjulamanjula00000000000000 Axis2/C: axiom.h File Reference

axiom.h File Reference

includes all headers in OM More...

#include <axiom_node.h>
#include <axiom_attribute.h>
#include <axiom_child_element_iterator.h>
#include <axiom_children_iterator.h>
#include <axiom_children_qname_iterator.h>
#include <axiom_children_with_specific_attribute_iterator.h>
#include <axiom_comment.h>
#include <axiom_doctype.h>
#include <axiom_document.h>
#include <axiom_element.h>
#include <axiom_namespace.h>
#include <axiom_navigator.h>
#include <axiom_output.h>
#include <axiom_processing_instruction.h>
#include <axiom_stax_builder.h>
#include <axiom_text.h>
#include <axiom_data_source.h>
#include <axiom_xml_reader.h>
#include <axiom_xml_writer.h>
#include <axiom_defines.h>

Go to the source code of this file.


Detailed Description

includes all headers in OM

includes all headers in MIME_CONST


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg__ctx_8h.html0000644000175000017500000024301411172017604023641 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg_ctx.h File Reference

axis2_msg_ctx.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_ctx.h>
#include <axis2_relates_to.h>
#include <axutil_param.h>
#include <axis2_handler_desc.h>
#include <axutil_qname.h>
#include <axutil_stream.h>
#include <axis2_msg_info_headers.h>

Go to the source code of this file.

Defines

#define AXIS2_TRANSPORT_HEADERS   "AXIS2_TRANSPORT_HEADERS"
#define AXIS2_TRANSPORT_OUT   "AXIS2_TRANSPORT_OUT"
#define AXIS2_TRANSPORT_IN   "AXIS2_TRANSPORT_IN"
#define AXIS2_CHARACTER_SET_ENCODING   "AXIS2_CHARACTER_SET_ENCODING"
#define AXIS2_UTF_8   "UTF-8"
#define AXIS2_UTF_16   "utf-16"
#define AXIS2_DEFAULT_CHAR_SET_ENCODING   "UTF-8"
#define AXIS2_TRANSPORT_SUCCEED   "AXIS2_TRANSPORT_SUCCEED"
#define AXIS2_HTTP_CLIENT   "AXIS2_HTTP_CLIENT"
#define AXIS2_TRANSPORT_URL   "TransportURL"
#define AXIS2_SVR_PEER_IP_ADDR   "peer_ip_addr"

Typedefs

typedef struct
axis2_msg_ctx 
axis2_msg_ctx_t
typedef struct
axis2_svc *(* 
AXIS2_MSG_CTX_FIND_SVC )(axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
typedef struct
axis2_op *(* 
AXIS2_MSG_CTX_FIND_OP )(axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)

Functions

AXIS2_EXTERN
axis2_msg_ctx_t
axis2_msg_ctx_create (const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in_desc, struct axis2_transport_out_desc *transport_out_desc)
AXIS2_EXTERN
axis2_ctx_t
axis2_msg_ctx_get_base (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_msg_ctx_get_parent (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_parent (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_op_ctx *parent)
AXIS2_EXTERN void axis2_msg_ctx_free (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_init (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_fault_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_from (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_in_fault_flow (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_envelope * 
axis2_msg_ctx_get_soap_envelope (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_envelope * 
axis2_msg_ctx_get_response_soap_envelope (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_envelope * 
axis2_msg_ctx_get_fault_soap_envelope (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_msg_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *msg_id)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_msg_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_process_fault (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_relates_to_t
axis2_msg_ctx_get_relates_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_reply_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_server_side (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_ctx_get_to (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_fault_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_from (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_in_fault_flow (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t in_fault_flow)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_soap_envelope (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axiom_soap_envelope *soap_envelope)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_response_soap_envelope (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axiom_soap_envelope *soap_envelope)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_fault_soap_envelope (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axiom_soap_envelope *soap_envelope)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_message_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_process_fault (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t process_fault)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_relates_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_relates_to_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_reply_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_server_side (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t server_side)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_to (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_endpoint_ref_t *reference)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_new_thread_required (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_new_thread_required (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t new_thread_required)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_wsa_action (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *action_uri)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_wsa_action (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_wsa_message_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_wsa_message_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_msg_info_headers_t
axis2_msg_ctx_get_msg_info_headers (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_paused (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_paused (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t paused)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_is_keep_alive (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_keep_alive (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t keep_alive)
AXIS2_EXTERN struct
axis2_transport_in_desc * 
axis2_msg_ctx_get_transport_in_desc (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_transport_out_desc * 
axis2_msg_ctx_get_transport_out_desc (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_in_desc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_transport_in_desc *transport_in_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_out_desc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_transport_out_desc *transport_out_desc)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_msg_ctx_get_op_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_op_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_op_ctx *op_ctx)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_output_written (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_output_written (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t output_written)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_rest_http_method (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_rest_http_method (struct axis2_msg_ctx *msg_ctx, const axutil_env_t *env, const axis2_char_t *rest_http_method)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_svc_ctx_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_ctx_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *svc_ctx_id)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_msg_ctx_get_conf_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_msg_ctx_get_svc_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_conf_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_msg_info_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_msg_info_headers_t *msg_info_headers)
AXIS2_EXTERN
axutil_param_t * 
axis2_msg_ctx_get_parameter (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axutil_param_t * 
axis2_msg_ctx_get_module_parameter (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key, const axis2_char_t *module_name, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axutil_property_t * 
axis2_msg_ctx_get_property (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN void * axis2_msg_ctx_get_property_value (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *property_str)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_property (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN const
axutil_string_t * 
axis2_msg_ctx_get_paused_handler_name (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_ctx_get_paused_phase_name (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_paused_phase_name (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *paused_phase_name)
AXIS2_EXTERN
axutil_string_t * 
axis2_msg_ctx_get_soap_action (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_soap_action (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_string_t *soap_action)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_doing_mtom (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_doing_mtom (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t doing_mtom)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_doing_rest (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_doing_rest (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t doing_rest)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_do_rest_through_post (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t do_rest_through_post)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_do_rest_through_post (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_manage_session (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_manage_session (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t manage_session)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_is_soap_11 (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_is_soap_11 (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t is_soap11)
AXIS2_EXTERN struct
axis2_svc_grp_ctx * 
axis2_msg_ctx_get_svc_grp_ctx (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_grp_ctx (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc_grp_ctx *svc_grp_ctx)
AXIS2_EXTERN struct
axis2_op * 
axis2_msg_ctx_get_op (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_op (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN struct
axis2_svc * 
axis2_msg_ctx_get_svc (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_msg_ctx_get_svc_grp (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_grp (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN const
axutil_string_t * 
axis2_msg_ctx_get_svc_grp_ctx_id (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_svc_grp_ctx_id (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_string_t *svc_grp_ctx_id)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_find_svc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, AXIS2_MSG_CTX_FIND_SVC func)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_find_op (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, AXIS2_MSG_CTX_FIND_OP func)
AXIS2_EXTERN struct
axis2_svc * 
axis2_msg_ctx_find_svc (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op * 
axis2_msg_ctx_find_op (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_options * 
axis2_msg_ctx_get_options (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_is_paused (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_options (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_options *options)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_flow (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, int flow)
AXIS2_EXTERN int axis2_msg_ctx_get_flow (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_supported_rest_http_methods (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *supported_rest_http_methods)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_supported_rest_http_methods (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_execution_chain (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *execution_chain)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_execution_chain (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_current_handler_index (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const int index)
AXIS2_EXTERN int axis2_msg_ctx_get_current_handler_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN int axis2_msg_ctx_get_paused_handler_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_current_phase_index (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const int index)
AXIS2_EXTERN int axis2_msg_ctx_get_current_phase_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN int axis2_msg_ctx_get_paused_phase_index (const axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axis2_msg_ctx_get_charset_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_charset_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_string_t *str)
AXIS2_EXTERN int axis2_msg_ctx_get_status_code (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_status_code (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const int status_code)
AXIS2_EXTERN
axutil_stream_t * 
axis2_msg_ctx_get_transport_out_stream (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_out_stream (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_reset_transport_out_stream (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_out_transport_info * 
axis2_msg_ctx_get_out_transport_info (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_out_transport_info (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, struct axis2_out_transport_info *out_transport_info)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_reset_out_transport_info (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_msg_ctx_get_transport_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_msg_ctx_extract_transport_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_hash_t *transport_headers)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_accept_charset_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_accept_charset_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_accept_charset_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *accept_charset_record_list)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_accept_language_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_accept_language_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_accept_language_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *accept_language_record_list)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_content_language (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_content_language (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_accept_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_accept_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_accept_record_list (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *accept_record_list)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_transfer_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transfer_encoding (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_transport_url (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_transport_url (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_no_content (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_no_content (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t no_content)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_auth_failed (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_auth_failed (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t status)
AXIS2_EXTERN axis2_bool_t axis2_msg_ctx_get_required_auth_is_http (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_required_auth_is_http (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_bool_t is_http)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_auth_type (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, const axis2_char_t *auth_type)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_ctx_get_auth_type (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_http_output_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_extract_http_output_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_set_http_output_headers (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *output_headers)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_ctx_get_mime_parts (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_msg_ctx_set_mime_parts (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env, axutil_array_list_t *mime_parts)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_ctx_increment_ref (axis2_msg_ctx_t *msg_ctx, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/doxygen.css0000644000175000017500000001761511172017604021501 0ustar00manjulamanjula00000000000000BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV { font-family: Geneva, Arial, Helvetica, sans-serif; } BODY,TD { font-size: 90%; } H1 { text-align: center; font-size: 160%; } H2 { font-size: 120%; } H3 { font-size: 100%; } CAPTION { font-weight: bold } DIV.qindex { width: 100%; background-color: #e8eef2; border: 1px solid #84b0c7; text-align: center; margin: 2px; padding: 2px; line-height: 140%; } DIV.nav { width: 100%; background-color: #e8eef2; border: 1px solid #84b0c7; text-align: center; margin: 2px; padding: 2px; line-height: 140%; } DIV.navtab { background-color: #e8eef2; border: 1px solid #84b0c7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } TD.navtab { font-size: 70%; } A.qindex { text-decoration: none; font-weight: bold; color: #1A419D; } A.qindex:visited { text-decoration: none; font-weight: bold; color: #1A419D } A.qindex:hover { text-decoration: none; background-color: #ddddff; } A.qindexHL { text-decoration: none; font-weight: bold; background-color: #6666cc; color: #ffffff; border: 1px double #9295C2; } A.qindexHL:hover { text-decoration: none; background-color: #6666cc; color: #ffffff; } A.qindexHL:visited { text-decoration: none; background-color: #6666cc; color: #ffffff } A.el { text-decoration: none; font-weight: bold } A.elRef { font-weight: bold } A.code:link { text-decoration: none; font-weight: normal; color: #0000FF} A.code:visited { text-decoration: none; font-weight: normal; color: #0000FF} A.codeRef:link { font-weight: normal; color: #0000FF} A.codeRef:visited { font-weight: normal; color: #0000FF} A:hover { text-decoration: none; background-color: #f2f2ff } DL.el { margin-left: -1cm } .fragment { font-family: monospace, fixed; font-size: 95%; } PRE.fragment { border: 1px solid #CCCCCC; background-color: #f5f5f5; margin-top: 4px; margin-bottom: 4px; margin-left: 2px; margin-right: 8px; padding-left: 6px; padding-right: 6px; padding-top: 4px; padding-bottom: 4px; } DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px } DIV.groupHeader { margin-left: 16px; margin-top: 12px; margin-bottom: 6px; font-weight: bold; } DIV.groupText { margin-left: 16px; font-style: italic; font-size: 90% } BODY { background: white; color: black; margin-right: 20px; margin-left: 20px; } TD.indexkey { background-color: #e8eef2; font-weight: bold; padding-right : 10px; padding-top : 2px; padding-left : 10px; padding-bottom : 2px; margin-left : 0px; margin-right : 0px; margin-top : 2px; margin-bottom : 2px; border: 1px solid #CCCCCC; } TD.indexvalue { background-color: #e8eef2; font-style: italic; padding-right : 10px; padding-top : 2px; padding-left : 10px; padding-bottom : 2px; margin-left : 0px; margin-right : 0px; margin-top : 2px; margin-bottom : 2px; border: 1px solid #CCCCCC; } TR.memlist { background-color: #f0f0f0; } P.formulaDsp { text-align: center; } IMG.formulaDsp { } IMG.formulaInl { vertical-align: middle; } SPAN.keyword { color: #008000 } SPAN.keywordtype { color: #604020 } SPAN.keywordflow { color: #e08000 } SPAN.comment { color: #800000 } SPAN.preprocessor { color: #806020 } SPAN.stringliteral { color: #002080 } SPAN.charliteral { color: #008080 } .mdescLeft { padding: 0px 8px 4px 8px; font-size: 80%; font-style: italic; background-color: #FAFAFA; border-top: 1px none #E0E0E0; border-right: 1px none #E0E0E0; border-bottom: 1px none #E0E0E0; border-left: 1px none #E0E0E0; margin: 0px; } .mdescRight { padding: 0px 8px 4px 8px; font-size: 80%; font-style: italic; background-color: #FAFAFA; border-top: 1px none #E0E0E0; border-right: 1px none #E0E0E0; border-bottom: 1px none #E0E0E0; border-left: 1px none #E0E0E0; margin: 0px; } .memItemLeft { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; } .memItemRight { padding: 1px 8px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; } .memTemplItemLeft { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; } .memTemplItemRight { padding: 1px 8px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: none; border-right-style: none; border-bottom-style: none; border-left-style: none; background-color: #FAFAFA; font-size: 80%; } .memTemplParams { padding: 1px 0px 0px 8px; margin: 4px; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-color: #E0E0E0; border-right-color: #E0E0E0; border-bottom-color: #E0E0E0; border-left-color: #E0E0E0; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; color: #606060; background-color: #FAFAFA; font-size: 80%; } .search { color: #003399; font-weight: bold; } FORM.search { margin-bottom: 0px; margin-top: 0px; } INPUT.search { font-size: 75%; color: #000080; font-weight: normal; background-color: #e8eef2; } TD.tiny { font-size: 75%; } a { color: #1A41A8; } a:visited { color: #2A3798; } .dirtab { padding: 4px; border-collapse: collapse; border: 1px solid #84b0c7; } TH.dirtab { background: #e8eef2; font-weight: bold; } HR { height: 1px; border: none; border-top: 1px solid black; } /* Style for detailed member documentation */ .memtemplate { font-size: 80%; color: #606060; font-weight: normal; } .memnav { background-color: #e8eef2; border: 1px solid #84b0c7; text-align: center; margin: 2px; margin-right: 15px; padding: 2px; } .memitem { padding: 4px; background-color: #eef3f5; border-width: 1px; border-style: solid; border-color: #dedeee; -moz-border-radius: 8px 8px 8px 8px; } .memname { white-space: nowrap; font-weight: bold; } .memdoc{ padding-left: 10px; } .memproto { background-color: #d5e1e8; width: 100%; border-width: 1px; border-style: solid; border-color: #84b0c7; font-weight: bold; -moz-border-radius: 8px 8px 8px 8px; } .paramkey { text-align: right; } .paramtype { white-space: nowrap; } .paramname { color: #602020; font-style: italic; white-space: nowrap; } /* End Styling for detailed member documentation */ /* for the tree view */ .ftvtree { font-family: sans-serif; margin:0.5em; } .directory { font-size: 9pt; font-weight: bold; } .directory h3 { margin: 0px; margin-top: 1em; font-size: 11pt; } .directory > h3 { margin-top: 0; } .directory p { margin: 0px; white-space: nowrap; } .directory div { display: none; margin: 0px; } .directory img { vertical-align: -30%; } axis2c-src-1.6.0/docs/api/html/doxygen.png0000644000175000017500000000240111172017604021460 0ustar00manjulamanjula00000000000000‰PNG  IHDRd-ok>ÂgAMAÖØÔOX2tEXtSoftwareAdobe ImageReadyqÉe<]PLTEǾÏ"&©ÈÎï¶»ÖÓÚú“¢Þ ¬à¶Âõ‡§ÕÙêÉÊÎáâæ{ŽÔ¡ëˆ™× ²ø§¬¹ÀÀ±ÝÝÎùùéõõçëëåED9×ÖËhg]_X<@:#mhUÿÿÿÝÀ1tRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÍvÿIDATxÚbC£: d#„„………h` @¡X",***LKˆ.–], ºX@t± €èb @ÑÅ€BµD„6–š%""´° € ˜% ˆ™B:H¢ˆ²Áf@• ˆRPy"K`\PbC(!II!h©…ëƒ(ñ„Ä!ꈬC„Ä…àl!0[X\J\$TMˆ(’>a$S„ Ù@ Ш@R.$‚¬LJBR¢‰AÌG1 ¬ Â(FȃÔPhhÁTÀ¢„%!`€&q°%u P ¹¢ ¬ € ¹CT$B¢à|‚ºW„¤Àl £!B`R$( …Ĉ‘’ž@AÅ%ĤÄ%@,(—ʂڱ%$ÁââRPmB U`1IˆYB  99€\1 yCCCÿf"[N 'Ü=TGÈ’øl8˜^Kû5<êSæRɤ”%î@@ à›Ê b1 qÅAXHˆ¸&ØB’R y n˜P„Ìã–4A €€j¹€€>Ü ˜ t!˜+(.ÈÅWQ±A2ÜÜMUÜ‚’’‚‚â `1 %`19€F< 3cZÄ`óe!\ˆ DÈ+. 83‹³Àä¸!lYYA -6‚EJŠ¢V €@©žXXX 4„å Ê@86Ð`RdB´€4I "Ý "–@xrÊŒ‚H€AÊ`—f ÉȰCŒ"XV0ɲ³C b@2…¬H ¬È“ p)!(ì‚ 0Ž4ˆ)(%RÁÎ ¶$€TÊ€¥Àþb‡b,säÐ@7À üѰ‚Òî?f¥Ö—\PIx!I´¦"”Ȉ’3¨ QY˜ÿt^^ÛØgv- }>WJOAV`$&#”¦8ùøø8€\FF ›SFJ$ÂÆ€ÐƊС䈉ÀÀ 4ª…Èäå -Á§‡ €H²…—ŸŸŸf ?ðâ5„ €k1Âd‰,ŒÃ ³ƒ“€.€"­F™ËË€àñ‚½ÁIÈ€"±Ù4ÉH gx|‚f©m)))9´. aMDƒ& ºX@t± €èb @ÑÅ€¢‹%DKˆ.–], ºX@t± €èb @€d`‚ɽSµOIEND®B`‚axis2c-src-1.6.0/docs/api/html/axiom__doctype_8h-source.html0000644000175000017500000002027411172017604025073 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_doctype.h Source File

axiom_doctype.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_DOCTYPE_H
00020 #define AXIOM_DOCTYPE_H
00021 
00027 #include <axiom_node.h>
00028 #include <axiom_output.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     struct axiom_doctype;
00036     struct axiom_doctype_ops;
00037 
00044     typedef struct axiom_doctype axiom_doctype_t;
00045 
00056     AXIS2_EXTERN axiom_doctype_t *AXIS2_CALL
00057     axiom_doctype_create(
00058         const axutil_env_t * env,
00059         axiom_node_t * parent,
00060         const axis2_char_t * value,
00061         axiom_node_t ** node);
00062 
00070     AXIS2_EXTERN void AXIS2_CALL
00071     axiom_doctype_free(
00072         struct axiom_doctype *om_doctype,
00073         const axutil_env_t * env);
00074 
00080     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00081     axiom_doctype_get_value(
00082         struct axiom_doctype *om_doctype,
00083         const axutil_env_t * env);
00084 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     axiom_doctype_set_value(
00095         struct axiom_doctype *om_doctype,
00096         const axutil_env_t * env,
00097         const axis2_char_t * value);
00098 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     axiom_doctype_serialize(
00110         struct axiom_doctype *om_doctype,
00111         const axutil_env_t * env,
00112         axiom_output_t * om_output);
00113 
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119 
00120 #endif                          /* AXIOM_DOCTYPE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__param__container.html0000644000175000017500000003502511172017604026574 0ustar00manjulamanjula00000000000000 Axis2/C: Parameter Container

Parameter Container


Files

file  axutil_param_container.h
 Axis2 Param container interface.

Typedefs

typedef struct
axutil_param_container 
axutil_param_container_t

Functions

AXIS2_EXTERN
axutil_param_container_t * 
axutil_param_container_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_param_container_free_void_arg (void *param_container, const axutil_env_t *env)
AXIS2_EXTERN void axutil_param_container_free (axutil_param_container_t *param_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_container_add_param (axutil_param_container_t *param_container, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axutil_param_container_get_param (axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axutil_param_container_get_params (axutil_param_container_t *param_container, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_param_container_is_param_locked (axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *param_name)

Function Documentation

AXIS2_EXTERN axis2_status_t axutil_param_container_add_param ( axutil_param_container_t *  param_container,
const axutil_env_t env,
axutil_param_t *  param 
)

Add a param

Parameters:
param param to be added
Returns:
status code

AXIS2_EXTERN axutil_param_container_t* axutil_param_container_create ( const axutil_env_t env  ) 

Creates param container struct

Returns:
pointer to newly created param container

AXIS2_EXTERN void axutil_param_container_free ( axutil_param_container_t *  param_container,
const axutil_env_t env 
)

De-allocate memory

Returns:
status code

AXIS2_EXTERN void axutil_param_container_free_void_arg ( void *  param_container,
const axutil_env_t env 
)

Free param_container passed as void pointer. This will be cast into appropriate type and then pass the cast object into the param_container structure's free method

AXIS2_EXTERN axutil_param_t* axutil_param_container_get_param ( axutil_param_container_t *  param_container,
const axutil_env_t env,
const axis2_char_t *  name 
)

To get a param in a given description

Parameters:
name param name
Returns:
param

AXIS2_EXTERN axutil_array_list_t* axutil_param_container_get_params ( axutil_param_container_t *  param_container,
const axutil_env_t env 
)

To get all the params in a given description

Returns:
all the params contained

AXIS2_EXTERN axis2_bool_t axutil_param_container_is_param_locked ( axutil_param_container_t *  param_container,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

To check whether the paramter is locked at any level

Parameters:
param_name name of the param
Returns:
whether param is locked


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__encryption__token__builder.html0000644000175000017500000000425511172017604030005 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_encryption_token_builder

Rp_encryption_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_encryption_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__node.html0000644000175000017500000002717311172017604026547 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault node

soap fault node
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_node_t * 
axiom_soap_fault_node_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_node_free (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_node_set_value (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env, axis2_char_t *fault_val)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_node_get_value (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_node_get_base_node (axiom_soap_fault_node_t *fault_node, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_node_t* axiom_soap_fault_node_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_t *  fault 
)

creates a soap fault node struct

Parameters:
env Environment. MUST NOT be NULL
fault_node pointer to soap_fault_node struct
Returns:
the created SOAP fault node

AXIS2_EXTERN void axiom_soap_fault_node_free ( axiom_soap_fault_node_t *  fault_node,
const axutil_env_t env 
)

Free an axiom_soap_fault_node

Parameters:
fault_node pointer to soap_fault_node struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_node_get_base_node ( axiom_soap_fault_node_t *  fault_node,
const axutil_env_t env 
)

Get the base node of the SOAP fault node

Parameters:
fault_node pointer to soap_fault_node struct
env Environment. MUST NOT be NULL
Returns:
the base node of the fault node

AXIS2_EXTERN axis2_char_t* axiom_soap_fault_node_get_value ( axiom_soap_fault_node_t *  fault_node,
const axutil_env_t env 
)

Get the string value of the SOAP fault node

Parameters:
fault_node pointer to soap_fault_node struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_fault_node_set_value ( axiom_soap_fault_node_t *  fault_node,
const axutil_env_t env,
axis2_char_t *  fault_val 
)

Set the fault string value of the SOAP fault node

Parameters:
fault_node pointer to soap_fault_node struct
env Environment. MUST NOT be NULL
fault_val the fault string value
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__saml__token__builder.html0000644000175000017500000000421711172017604026545 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_saml_token_builder

Rp_saml_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_saml_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__const_8h-source.html0000644000175000017500000007166611172017604024476 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_const.h Source File

axis2_const.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_CONST_H
00020 #define AXIS2_CONST_H
00021 
00027 #include <axutil_env.h>
00028 #include <axutil_utils.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00053     /******************************************************************************/
00054 
00055     /********************Axis2 specific constants**********************************/
00056 
00057     /******************************************************************************/
00058 
00062 #define AXIOM_SOAP_STYLE_RPC_ENCODED 1000
00063 
00068     /*#define AXIOM_SOAP_STYLE_RPC_LITERAL 1001 */
00069 
00073 #define AXIOM_SOAP_STYLE_DOC_LITERAL_WRAPPED 1002
00074 
00075 #define AXIS2_SCOPE "scope"
00076 
00080 #define AXIS2_APPLICATION_SCOPE "application"
00081 
00085 #define AXIS2_SESSION_SCOPE "session"
00086 
00090 #define AXIS2_MESSAGE_SCOPE "message"
00091 
00095 #define AXIS2_PHASE_SERVICE "service"
00096 
00100 #define AXIS2_PHASE_TRANSPORT "transport"
00101 
00105 #define AXIS2_PHASE_GLOBAL "global"
00106 
00110 #define AXIS2_SESSION_CONTEXT_PROPERTY "SessionContext"
00111 
00115 #define AXIS2_TRANSPORT_HTTP    "http"
00116 #define AXIS2_TRANSPORT_SMTP    "smtp"
00117 #define AXIS2_TRANSPORT_TCP             "tcp"
00118 #define AXIS2_TRANSPORT_XMPP    "xmpp"
00119 #define AXIS2_TRANSPORT_HTTPS   "https"
00120 #define AXIS2_TRANSPORT_AMQP    "amqp"
00121 #define AXIS2_TRANSPORT_UDP             "soap.udp"
00122     typedef enum
00123     {
00124         AXIS2_TRANSPORT_ENUM_HTTP = 0,
00125         AXIS2_TRANSPORT_ENUM_SMTP,
00126         AXIS2_TRANSPORT_ENUM_TCP,
00127         AXIS2_TRANSPORT_ENUM_XMPP,
00128         AXIS2_TRANSPORT_ENUM_HTTPS,
00129         AXIS2_TRANSPORT_ENUM_AMQP,
00130                 AXIS2_TRANSPORT_ENUM_UDP,
00131         AXIS2_TRANSPORT_ENUM_MAX
00132     } AXIS2_TRANSPORT_ENUMS;
00133 
00135 #ifndef AXIS2_REQUEST_URL_PREFIX
00136 #define AXIS2_REQUEST_URL_PREFIX "/services"
00137 #endif
00138 
00139 #define AXIS2_LISTSERVICES "listServices"
00140 
00141 #define AXIS2_LIST_SERVICE_FOR_MODULE_ENGAMNET "listop"
00142 
00146 #define AXIS2_ADMIN_LISTSERVICES "listService"
00147 
00148 #define AXIS2_LIST_MODULES "listModules"
00149 
00150 #define AXIS2_LIST_GLOABLLY_ENGAGED_MODULES "globalModules"
00151 
00152 #define AXIS2_LIST_PHASES "listPhases"
00153 
00154 #define AXIS2_ENGAGE_GLOBAL_MODULE "engagingglobally"
00155 #define AXIS2_ENGAGE_MODULE_TO_SERVICE "engageToService"
00156 
00157 #define AXIS2_ENGAGE_MODULE_TO_SERVICE_GROUP "engageToServiceGroup"
00158 
00159 #define AXIS2_ADMIN_LOGIN "adminlogin"
00160 
00161 #define AXIS2_LIST_CONTEXTS "listContexts"
00162 #define AXIS2_LOGOUT "logout"
00163 
00164 #define AXIS2_VIEW_GLOBAL_HANDLERS "viewGlobalHandlers"
00165 #define AXIS2_SELECT_SERVICE "selectService"
00166 #define AXIS2_EDIR_SERVICE_PARA "editServicepara"
00167 #define AXIS2_SELECT_SERVICE_FOR_PARA_EDIT "selectServiceParaEdit"
00168 #define AXIS2_VIEW_SERVICE_HANDLERS "viewServiceHandlers"
00169 #define AXIS2_LIST_SERVIC_GROUPS "listServciceGroups"
00170 
00174 #define AXIS2_SERVICE_MAP "servicemap"
00175 #define AXIS2_SERVICE_GROUP_MAP "serviceGroupmap"
00176 
00177 #define AXIS2_CONFIG_CONTEXT "config_context"
00178 #define AXIS2_ACTION_MAPPING "actionMapping"
00179 #define AXIS2_OUTPUT_ACTION_MAPPING "outputActionMapping"
00180 #define AXI2_FAULT_ACTION_MAPPING "faultActionMapping"
00181 
00182 #define AXIS2_SERVICE "service"
00183 
00184 #define AXIS2_OPEARTION_MAP "opmap"
00185 
00189 #define AXIS2_MODULE_MAP "modulemap"
00190 
00191 #define AXIS2_SELECT_SERVICE_TYPE "SELECT_SERVICE_TYPE"
00192 
00193 #define AXIS2_GLOBAL_HANDLERS "axisconfig"
00194 #define AXIS2_SERVICE_HANDLERS "serviceHandlers"
00195 
00196 #define AXIS2_PHASE_LIST "phaseList"
00197 
00198 #define AXIS2_LIST_OPS_FOR_THE_SERVICE "listOperations"
00199 
00200 #define AXIS2_REMOVE_SERVICE "removeService"
00201 
00202 #define AXIS2_ENGAGE_STATUS "engagestatus"
00203 
00207 #define AXIS2_ERROR_SERVICE_MAP "errprservicemap"
00208 #define AXIS2_ERROR_MODULE_MAP "errormodulesmap"
00209 
00210 #define AXIS2_IS_FAULTY "Fault"
00211 
00212 #define AXIS2_MODULE_ADDRESSING "addressing"
00213 
00214 #define AXIS2_USE_SEPARATE_LISTENER "use_listener"
00215 
00216 #define AXIS2_USER_NAME "userName"
00217 #define AXIS2_PASSWORD "password"
00218 
00222 #define AXIS2_SINGLE_SERVICE "singleservice"
00223 #define AXIS2_WSDL_CONTENT "wsdl"
00224 #define AXIS2_REQUEST_WSDL "?wsdl"
00225 
00226 #define AXIS2_STYLE_RPC  "rpc"
00227 #define AXIS2_STYLE_DOC  "doc"
00228 #define AXIS2_STYLE_MSG  "msg"
00229 
00230     typedef enum axis2_wsdl_msg_labels
00231     {
00232         AXIS2_WSDL_MESSAGE_LABEL_IN = 0,
00233         AXIS2_WSDL_MESSAGE_LABEL_OUT,
00234         AXIS2_WSDL_MESSAGE_LABEL_MAX
00235     } axis2_wsdl_msg_labels_t;
00236 
00237     /*********************Message Exchange Pattern Constants***********************/
00238 
00242 #define AXIS2_MEP_URI_IN_ONLY "http://www.w3.org/2004/08/wsdl/in-only"
00243 
00244 #define AXIS2_MEP_CONSTANT_IN_ONLY 10
00245 
00249 #define AXIS2_MEP_URI_ROBUST_IN_ONLY "http://www.w3.org/2004/08/wsdl/robust-in-only"
00250 
00251 #define AXIS2_MEP_CONSTANT_ROBUST_IN_ONLY 11
00252 
00256 #define AXIS2_MEP_URI_IN_OUT "http://www.w3.org/2004/08/wsdl/in-out"
00257 
00258 #define AXIS2_MEP_CONSTANT_IN_OUT 12
00259 
00263 #define AXIS2_MEP_URI_IN_OPTIONAL_OUT "http://www.w3.org/2004/08/wsdl/in-opt-out"
00264 
00265 #define AXIS2_MEP_CONSTANT_IN_OPTIONAL_OUT 13
00266 
00270 #define AXIS2_MEP_URI_OUT_ONLY "http://www.w3.org/2004/08/wsdl/out-only"
00271 
00272 #define AXIS2_MEP_CONSTANT_OUT_ONLY 14
00273 
00277 #define AXIS2_MEP_URI_ROBUST_OUT_ONLY "http://www.w3.org/2004/08/wsdl/robust-out-only"
00278 
00279 #define AXIS2_MEP_CONSTANT_ROBUST_OUT_ONLY 15
00280 
00284 #define AXIS2_MEP_URI_OUT_IN "http://www.w3.org/2004/08/wsdl/out-in"
00285 
00286 #define AXIS2_MEP_CONSTANT_OUT_IN 16
00287 
00291 #define AXIS2_MEP_URI_OUT_OPTIONAL_IN "http://www.w3.org/2004/08/wsdl/out-opt-in"
00292 
00293 #define AXIS2_MEP_CONSTANT_OUT_OPTIONAL_IN 17
00294 
00295 #define AXIS2_MEP_CONSTANT_INVALID -1
00296 
00300 #define AXIS2_WSDL_MESSAGE_DIRECTION_IN "in"
00301 
00305 #define AXIS2_WSDL_MESSAGE_DIRECTION_OUT "out"
00306 
00310 #define AXIS2_REST_HTTP_LOCATION "RESTLocation"
00311 
00315 #define AXIS2_REST_HTTP_METHOD "RESTMethod"
00316 
00320 #define AXIS2_DEFAULT_REST_HTTP_METHOD "defaultRESTMethod"
00321 
00326     /* static const char METHOD_NAME_ESCAPE_CHARACTOR '?' */
00327 
00328 #define AXIS2_LOGGED "Logged"
00329 
00330     /* static const char SERVICE_NAME_SPLIT_CHAR':' */
00331 
00332     /*********************Configuration *******************************************/
00333 
00334 #define AXIS2_ENABLE_REST "enableREST"
00335 #define AXIS2_ENABLE_REST_THROUGH_GET "restThroughGet"
00336 
00337 #define AXIS2_FORCE_PROXY_AUTH "forceProxyAuth"
00338 #define AXIS2_FORCE_HTTP_AUTH "forceHTTPAuth"
00339 
00340 #define AXIS2_PROXY_AUTH_TYPE "proxyAuthType"
00341 #define AXIS2_HTTP_AUTH_TYPE "HTTPAuthType"
00342 
00346 #define AXIS2_TEST_PROXY_AUTH "testProxyAuth"
00347 
00351 #define AXIS2_TEST_HTTP_AUTH "testHTTPAuth"
00352 
00353     /* add xml declaration */
00354 #define AXIS2_XML_DECLARATION "xml-declaration"
00355 #define AXIS2_ADD_XML_DECLARATION "insert"
00356 
00357     /* globally enable MTOM */
00358 #define AXIS2_ENABLE_MTOM "enableMTOM"
00359 #define AXIS2_ATTACHMENT_DIR "attachmentDIR"
00360 #define AXIS2_MTOM_BUFFER_SIZE "MTOMBufferSize"
00361 #define AXIS2_MTOM_MAX_BUFFERS "MTOMMaxBuffers"
00362 #define AXIS2_MTOM_CACHING_CALLBACK "MTOMCachingCallback"
00363 #define AXIS2_MTOM_SENDING_CALLBACK "MTOMSendingCallback"
00364 #define AXIS2_ENABLE_MTOM_SERVICE_CALLBACK "EnableMTOMServiceCallback"
00365 
00366     /* op_ctx persistance */
00367 #define AXIS2_PERSIST_OP_CTX "persistOperationContext"
00368 
00369 #define AXIS2_EXPOSE_HEADERS "exposeHeaders"
00370 
00371     /******************************************************************************/
00372 
00373 #define AXIS2_VALUE_TRUE "true"
00374 #define AXIS2_VALUE_FALSE "false"
00375 #define AXIS2_CONTAINER_MANAGED "ContainerManaged"
00376 #define AXIS2_RESPONSE_WRITTEN "CONTENT_WRITTEN"
00377 
00378 #define AXIS2_TESTING_PATH "target/test-resources/"
00379 
00380 #define AXIS2_TESTING_REPOSITORY "target/test-resources/samples"
00381 
00382     /* Indicate whether the axis2 service should be loaded at start up */
00383 #define AXIS2_LOAD_SVC_STARTUP "loadServiceAtStartup"
00384 
00385     /*************************** REST_WITH_GET ************************************/
00386 
00387 #define AXIS2_GET_PARAMETER_OP "op"
00388 #define AXIS2_GET_PARAMETER_URL "http://ws.apache.org/goGetWithREST"
00389 
00390     /******************************************************************************/
00391 
00392 #define AXIS2_NAMESPACE_PREFIX "axis2"
00393 #define AXIS2_NAMESPACE_URI "http://ws.apache.org/namespaces/axis2"
00394 
00395 #define AXIS2_SVC_GRP_ID "ServiceGroupId"
00396 
00397 #define AXIS2_RESPONSE_SOAP_ENVELOPE "Axis2ResponseEnvelope"
00398 #define AXIS2_HANDLER_ALREADY_VISITED "handler_already_visited"
00399 #define AXIS2_IS_SVR_SIDE "axis2_is_svr_side"
00400 
00401 #define AXIS2_SERVICE_DIR "servicesDir"
00402 #define AXIS2_MODULE_DIR "moduleDir"
00403 
00404 #define AXIS2_MESSAGE_ID_PREFIX "urn:uuid:"
00405 
00407 #define AXIS2_ANON_SERVICE  "__ANONYMOUS_SERVICE__"
00408 
00410 #define AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__"
00411 
00413 #define AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__"
00414 
00416 #define AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__"
00417 
00419 #define AXIS2_WSDL_LOCATION_IN_REPO "woden"
00420 
00421 #ifdef __cplusplus
00422 }
00423 #endif
00424 
00425 #endif                          /* AXIS2_CONST_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__result.html0000644000175000017500000001014511172017604025651 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xpath_result Struct Reference

axiom_xpath_result Struct Reference
[api]

#include <axiom_xpath.h>

List of all members.

Public Attributes

int flag
axutil_array_list_tnodes


Detailed Description

XPath result set

Member Data Documentation

A flag indicating whether errors occured while evaluting XPath expression

An array list containing the set of results


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__signed__encrypted__parts__builder_8h-source.html0000644000175000017500000001340111172017604031624 0ustar00manjulamanjula00000000000000 Axis2/C: rp_signed_encrypted_parts_builder.h Source File

rp_signed_encrypted_parts_builder.h

00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SIGNED_ENCRYPTED_PARTS_BUILDER_H
00019 #define RP_SIGNED_ENCRYPTED_PARTS_BUILDER_H
00020 
00026 #include <rp_signed_encrypted_parts.h>
00027 #include <rp_header.h>
00028 #include <rp_includes.h>
00029 #include <rp_property.h>
00030 #include <neethi_assertion.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00045     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00046     rp_signed_encrypted_parts_builder_build(
00047         const axutil_env_t * env,
00048         axiom_node_t * node,
00049         axiom_element_t * element, 
00050         axis2_bool_t is_signed);
00051 
00052 #ifdef __cplusplus
00053 }
00054 #endif
00055 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__op__client_8h.html0000644000175000017500000004276611172017604024164 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_op_client.h File Reference

axis2_op_client.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_options.h>
#include <axis2_msg_ctx.h>
#include <axis2_callback.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_op_client 
axis2_op_client_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_options (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_options_t *options)
AXIS2_EXTERN const
axis2_options_t
axis2_op_client_get_options (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_add_msg_ctx (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_add_out_msg_ctx (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN const
axis2_msg_ctx_t
axis2_op_client_get_msg_ctx (const axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_wsdl_msg_labels_t message_label)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_callback (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_callback_t *callback)
AXIS2_EXTERN
axis2_callback_t
axis2_op_client_get_callback (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_execute (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_bool_t block)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_reset (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_complete (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_op_ctx_t
axis2_op_client_get_operation_context (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_callback_recv (axis2_op_client_t *op_client, const axutil_env_t *env, struct axis2_callback_recv *callback_recv)
AXIS2_EXTERN void axis2_op_client_free (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_op_client_t
axis2_op_client_create (const axutil_env_t *env, axis2_op_t *op, axis2_svc_ctx_t *svc_ctx, axis2_options_t *options)
AXIS2_EXTERN
axutil_string_t * 
axis2_op_client_get_soap_action (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_prepare_invocation (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_op_t *op, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_client_prepare_soap_envelope (axis2_op_client_t *op_client, const axutil_env_t *env, axiom_node_t *to_send)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_op_client_infer_transport (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_endpoint_ref_t *epr)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_op_client_create_default_soap_envelope (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_engage_module (axis2_op_client_t *op_client, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_soap_version_uri (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_char_t *soap_version_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_soap_action (axis2_op_client_t *op_client, const axutil_env_t *env, axutil_string_t *soap_action)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_wsa_action (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_char_t *wsa_action)
AXIS2_EXTERN
axis2_svc_ctx_t
axis2_op_client_get_svc_ctx (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_client_set_reuse (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_bool_t reuse)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_client_two_way_send (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_client_receive (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/functions.html0000644000175000017500000004644311172017604022211 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented class members with links to the class documentation for each member:

- a -

- c -

- d -

- e -

- f -

- g -

- h -

- i -

- l -

- m -

- n -

- o -

- p -

- r -

- s -

- t -

- v -

- w -

- x -


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc__skeleton.html0000644000175000017500000002760111172017604025652 0ustar00manjulamanjula00000000000000 Axis2/C: service skeleton

service skeleton


Files

file  axis2_svc_skeleton.h

Classes

struct  axis2_svc_skeleton_ops
struct  axis2_svc_skeleton

Defines

#define AXIS2_SVC_SKELETON_INIT(svc_skeleton, env)   ((svc_skeleton)->ops->init (svc_skeleton, env))
#define AXIS2_SVC_SKELETON_INIT_WITH_CONF(svc_skeleton, env, conf)   ((svc_skeleton)->ops->init_with_conf (svc_skeleton, env, conf))
#define AXIS2_SVC_SKELETON_FREE(svc_skeleton, env)   ((svc_skeleton)->ops->free (svc_skeleton, env))
#define AXIS2_SVC_SKELETON_INVOKE(svc_skeleton, env, node, msg_ctx)   ((svc_skeleton)->ops->invoke (svc_skeleton, env, node, msg_ctx))
#define AXIS2_SVC_SKELETON_ON_FAULT(svc_skeleton, env, node)   ((svc_skeleton)->ops->on_fault (svc_skeleton, env, node))

Typedefs

typedef struct
axis2_svc_skeleton_ops 
axis2_svc_skeleton_ops_t
typedef struct
axis2_svc_skeleton 
axis2_svc_skeleton_t

Detailed Description

service skeleton API should be implemented by all services that are to be deployed with Axis2/C engine.

Define Documentation

#define AXIS2_SVC_SKELETON_FREE ( svc_skeleton,
env   )     ((svc_skeleton)->ops->free (svc_skeleton, env))

Frees the svc skeleton.

See also:
axis2_svc_skeleton_ops::free

#define AXIS2_SVC_SKELETON_INIT ( svc_skeleton,
env   )     ((svc_skeleton)->ops->init (svc_skeleton, env))

Initialize the svc skeleton.

See also:
axis2_svc_skeleton_ops::init

#define AXIS2_SVC_SKELETON_INIT_WITH_CONF ( svc_skeleton,
env,
conf   )     ((svc_skeleton)->ops->init_with_conf (svc_skeleton, env, conf))

Initialize the svc skeleton with axis2c configuration struct.

See also:
axis2_svc_skeleton_ops::init_with_conf

#define AXIS2_SVC_SKELETON_INVOKE ( svc_skeleton,
env,
node,
msg_ctx   )     ((svc_skeleton)->ops->invoke (svc_skeleton, env, node, msg_ctx))

Invokes axis2 service skeleton.

See also:
axis2_svc_skeleton_ops::invoke

#define AXIS2_SVC_SKELETON_ON_FAULT ( svc_skeleton,
env,
node   )     ((svc_skeleton)->ops->on_fault (svc_skeleton, env, node))

Called on fault.

See also:
axis2_svc_skeleton_ops::on_fault


Typedef Documentation

Type name for struct axis2_svc_skeleton


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__document.html0000644000175000017500000005424211172017604024722 0ustar00manjulamanjula00000000000000 Axis2/C: document

document
[AXIOM]


Typedefs

typedef struct
axiom_document 
axiom_document_t

Functions

AXIS2_EXTERN
axiom_document_t * 
axiom_document_create (const axutil_env_t *env, axiom_node_t *root, struct axiom_stax_builder *builder)
AXIS2_EXTERN void axiom_document_free (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN void axiom_document_free_self (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_document_build_next (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_document_get_root_element (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_document_set_root_element (struct axiom_document *document, const axutil_env_t *env, axiom_node_t *om_node)
AXIS2_EXTERN
axiom_node_t * 
axiom_document_build_all (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_stax_builder * 
axiom_document_get_builder (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN void axiom_document_set_builder (axiom_document_t *document, const axutil_env_t *env, struct axiom_stax_builder *builder)
AXIS2_EXTERN
axis2_status_t 
axiom_document_serialize (struct axiom_document *document, const axutil_env_t *env, axiom_output_t *om_output)

Function Documentation

AXIS2_EXTERN axiom_node_t* axiom_document_build_all ( struct axiom_document *  document,
const axutil_env_t env 
)

This method builds the rest of the xml input stream from current position till the root element is completed .

Parameters:
document pointer to axiom_document_t struct to be built.
env environment MUST NOT be NULL.

AXIS2_EXTERN axiom_node_t* axiom_document_build_next ( struct axiom_document *  document,
const axutil_env_t env 
)

Builds the next node if the builder is not finished with input xml stream

Parameters:
document document whose next node is to be built. cannot be NULL
env Environment. MUST NOT be NULL.
Returns:
pointer to the next node. NULL on error.

AXIS2_EXTERN axiom_document_t* axiom_document_create ( const axutil_env_t env,
axiom_node_t *  root,
struct axiom_stax_builder *  builder 
)

creates an axiom_document_t struct

Parameters:
env Environment. MUST NOT be NULL.
root pointer to document's root node. Optional, can be NULL
builder pointer to axiom_stax_builder
Returns:
pointer to the newly created document.

AXIS2_EXTERN void axiom_document_free ( struct axiom_document *  document,
const axutil_env_t env 
)

Free document struct

Parameters:
document pointer to axiom_document_t struct to be freed
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN void axiom_document_free_self ( struct axiom_document *  document,
const axutil_env_t env 
)

Free document struct only, Does not free the associated axiom struture.

Parameters:
document pointer to axiom_document_t struct to be freed
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN struct axiom_stax_builder* axiom_document_get_builder ( struct axiom_document *  document,
const axutil_env_t env 
) [read]

get builder

Parameters:
document pointer to axiom_document_t struct to be built.
env environment MUST NOT be NULL.
Returns:
builder, returns NULL if a builder is not associated with document

AXIS2_EXTERN axiom_node_t* axiom_document_get_root_element ( struct axiom_document *  document,
const axutil_env_t env 
)

Gets the root element of the document.

Parameters:
document document to return the root of
env Environment. MUST NOT be NULL.
Returns:
returns a pointer to the root node. If no root present, this method tries to build the root. Returns NULL on error.

AXIS2_EXTERN axis2_status_t axiom_document_serialize ( struct axiom_document *  document,
const axutil_env_t env,
axiom_output_t om_output 
)

Parameters:
om_document 
Returns:
status code AXIS2_SUCCESS on success , otherwise AXIS2_FAILURE

AXIS2_EXTERN void axiom_document_set_builder ( axiom_document_t *  document,
const axutil_env_t env,
struct axiom_stax_builder *  builder 
)

sets builder for document.

Parameters:
document pointer to axiom_document_t struct to be built.
env environment MUST NOT be NULL.
builder pointer to builder to associate with document

AXIS2_EXTERN axis2_status_t axiom_document_set_root_element ( struct axiom_document *  document,
const axutil_env_t env,
axiom_node_t *  om_node 
)

set the root element of the document. IF a root node is already exist,it is freed before setting to root element

Parameters:
document document struct to return the root of
env Environment. MUST NOT be NULL.
Returns:
returns status code AXIS2_SUCCESS on success ,AXIS2_FAILURE on error.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__stream.html0000644000175000017500000006444511172017604024576 0ustar00manjulamanjula00000000000000 Axis2/C: stream

stream
[utilities]


Classes

struct  axutil_stream

Typedefs

typedef enum
axutil_stream_type 
axutil_stream_type_t
typedef struct
axutil_stream 
axutil_stream_t
typedef int(* AXUTIL_STREAM_READ )(axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count)
typedef int(* AXUTIL_STREAM_WRITE )(axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count)
typedef int(* AXUTIL_STREAM_SKIP )(axutil_stream_t *stream, const axutil_env_t *env, int count)

Enumerations

enum  axutil_stream_type { AXIS2_STREAM_BASIC = 0, AXIS2_STREAM_FILE, AXIS2_STREAM_SOCKET, AXIS2_STREAM_MANAGED }
 Axis2 stream types. More...

Functions

AXIS2_EXTERN void axutil_stream_free (axutil_stream_t *stream, const axutil_env_t *env)
AXIS2_EXTERN void axutil_stream_free_void_arg (void *stream, const axutil_env_t *env)
AXIS2_EXTERN int axutil_stream_read (axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count)
AXIS2_EXTERN int axutil_stream_write (axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count)
AXIS2_EXTERN int axutil_stream_skip (axutil_stream_t *stream, const axutil_env_t *env, int count)
AXIS2_EXTERN int axutil_stream_get_len (axutil_stream_t *stream, const axutil_env_t *env)
AXIS2_EXTERN
axutil_stream_t * 
axutil_stream_create_basic (const axutil_env_t *env)
 Constructor for creating an in memory stream.
AXIS2_EXTERN
axutil_stream_t * 
axutil_stream_create_file (const axutil_env_t *env, FILE *fp)
 Constructor for creating a file stream.
AXIS2_EXTERN
axutil_stream_t * 
axutil_stream_create_socket (const axutil_env_t *env, int socket)
 Constructor for creating a file stream.
AXIS2_EXTERN
axis2_char_t * 
axutil_stream_get_buffer (const axutil_stream_t *stream, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_stream_flush_buffer (axutil_stream_t *stream, const axutil_env_t *env)
AXIS2_EXTERN int axutil_stream_peek_socket (axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count)
AXIS2_EXTERN
axis2_status_t 
axutil_stream_flush (axutil_stream_t *stream, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_stream_close (axutil_stream_t *stream, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_stream_set_read (axutil_stream_t *stream, const axutil_env_t *env, AXUTIL_STREAM_READ func)
AXIS2_EXTERN
axis2_status_t 
axutil_stream_set_write (axutil_stream_t *stream, const axutil_env_t *env, AXUTIL_STREAM_WRITE func)
AXIS2_EXTERN
axis2_status_t 
axutil_stream_set_skip (axutil_stream_t *stream, const axutil_env_t *env, AXUTIL_STREAM_SKIP func)

Enumeration Type Documentation

Axis2 stream types.

This is used to create a stream to correspond to particular i/o mtd


Function Documentation

AXIS2_EXTERN axutil_stream_t* axutil_stream_create_basic ( const axutil_env_t env  ) 

Constructor for creating an in memory stream.

Returns:
axutil_stream (in memory)

AXIS2_EXTERN axutil_stream_t* axutil_stream_create_file ( const axutil_env_t env,
FILE *  fp 
)

Constructor for creating a file stream.

Parameters:
valid file pointer (opened file)
Returns:
axutil_stream (file)

AXIS2_EXTERN axutil_stream_t* axutil_stream_create_socket ( const axutil_env_t env,
int  socket 
)

Constructor for creating a file stream.

Parameters:
valid socket (opened socket)
Returns:
axutil_stream (socket)

AXIS2_EXTERN void axutil_stream_free ( axutil_stream_t *  stream,
const axutil_env_t env 
)

Deletes the stream

Returns:
axis2_status_t AXIS2_SUCCESS on success else AXIS2_FAILURE
Free stream

AXIS2_EXTERN void axutil_stream_free_void_arg ( void *  stream,
const axutil_env_t env 
)

Free stream passed as void pointer. This will be cast into appropriate type and then pass the cast object into the module_desc structure's free method

AXIS2_EXTERN axis2_char_t* axutil_stream_get_buffer ( const axutil_stream_t *  stream,
const axutil_env_t env 
)

Gets the buffer

AXIS2_EXTERN int axutil_stream_get_len ( axutil_stream_t *  stream,
const axutil_env_t env 
)

Returns the length of the stream (applicable only to basic stream)

Returns:
Length of the buffer if its type is basic, else -1 (we can't define a length of a stream unless it is just a buffer)

AXIS2_EXTERN int axutil_stream_read ( axutil_stream_t *  stream,
const axutil_env_t env,
void *  buffer,
size_t  count 
)

reads from stream

Parameters:
buffer buffer into which the content is to be read
count size of the buffer
Returns:
no: of bytes read

AXIS2_EXTERN int axutil_stream_skip ( axutil_stream_t *  stream,
const axutil_env_t env,
int  count 
)

Skips over and discards n bytes of data from this input stream.

Parameters:
count number of bytes to be discarded
Returns:
no: of bytes actually skipped

AXIS2_EXTERN int axutil_stream_write ( axutil_stream_t *  stream,
const axutil_env_t env,
const void *  buffer,
size_t  count 
)

writes into stream

Parameters:
buffer buffer to be written
count size of the buffer
Returns:
no: of bytes actually written


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__conf_8h-source.html0000644000175000017500000014016711172017604024266 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_conf.h Source File

axis2_conf.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_CONFIG_H
00020 #define AXIS2_CONFIG_H
00021 
00044 #include <axutil_param_container.h>
00045 #include <axis2_svc_grp.h>
00046 #include <axis2_transport_in_desc.h>
00047 #include <axis2_transport_out_desc.h>
00048 #include <axutil_qname.h>
00049 #include <axutil_hash.h>
00050 #include <axis2_phases_info.h>
00051 #include <axis2_msg_recv.h>
00052 
00053 #ifdef __cplusplus
00054 extern "C"
00055 {
00056 #endif
00057 
00059     typedef struct axis2_conf axis2_conf_t;
00060 
00061     struct axis2_msg_recv;
00062     struct axis2_phases_info;
00063     struct axis2_svc_grp;
00064     struct axis2_svc;
00065     struct axis2_op;
00066     struct axis2_dep_engine;
00067     struct axis2_desp;
00068 
00075     AXIS2_EXTERN void AXIS2_CALL
00076     axis2_conf_free(
00077         axis2_conf_t * conf,
00078         const axutil_env_t * env);
00079 
00088     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00089     axis2_conf_add_svc_grp(
00090         axis2_conf_t * conf,
00091         const axutil_env_t * env,
00092         struct axis2_svc_grp *svc_grp);
00093 
00102     AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL
00103                 axis2_conf_get_svc_grp(
00104                     const axis2_conf_t * conf,
00105                     const axutil_env_t * env,
00106                     const axis2_char_t * svc_grp_name);
00107 
00115     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00116     axis2_conf_get_all_svc_grps(
00117         const axis2_conf_t * conf,
00118         const axutil_env_t * env);
00119 
00128     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00129     axis2_conf_add_svc(
00130         axis2_conf_t * conf,
00131         const axutil_env_t * env,
00132         struct axis2_svc *svc);
00133 
00142     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
00143                 axis2_conf_get_svc(
00144                     const axis2_conf_t * conf,
00145                     const axutil_env_t * env,
00146                     const axis2_char_t * svc_name);
00147 
00155     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00156     axis2_conf_remove_svc(
00157         axis2_conf_t * conf,
00158         const axutil_env_t * env,
00159         const axis2_char_t * name);
00160 
00168     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00169     axis2_conf_add_param(
00170         axis2_conf_t * conf,
00171         const axutil_env_t * env,
00172         axutil_param_t * param);
00173 
00182     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00183     axis2_conf_get_param(
00184         const axis2_conf_t * conf,
00185         const axutil_env_t * env,
00186         const axis2_char_t * name);
00187 
00195     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00196     axis2_conf_get_all_params(
00197         const axis2_conf_t * conf,
00198         const axutil_env_t * env);
00199 
00207     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00208     axis2_conf_is_param_locked(
00209         const axis2_conf_t * conf,
00210         const axutil_env_t * env,
00211         const axis2_char_t * param_name);
00212 
00221     AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL
00222 
00223     axis2_conf_get_transport_in(
00224         const axis2_conf_t * conf,
00225         const axutil_env_t * env,
00226         const AXIS2_TRANSPORT_ENUMS trans_enum);
00227 
00236     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00237     axis2_conf_add_transport_in(
00238         axis2_conf_t * conf,
00239         const axutil_env_t * env,
00240         axis2_transport_in_desc_t * transport,
00241         const AXIS2_TRANSPORT_ENUMS trans_enum);
00242 
00251     AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00252 
00253     axis2_conf_get_transport_out(
00254         const axis2_conf_t * conf,
00255         const axutil_env_t * env,
00256         const AXIS2_TRANSPORT_ENUMS trans_enum);
00257 
00266     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00267     axis2_conf_add_transport_out(
00268         axis2_conf_t * conf,
00269         const axutil_env_t * env,
00270         axis2_transport_out_desc_t * transport,
00271         const AXIS2_TRANSPORT_ENUMS trans_enum);
00272 
00280     AXIS2_EXTERN axis2_transport_in_desc_t **AXIS2_CALL
00281 
00282     axis2_conf_get_all_in_transports(
00283         const axis2_conf_t * conf,
00284         const axutil_env_t * env);
00285 
00293     AXIS2_EXTERN axis2_transport_out_desc_t **AXIS2_CALL
00294 
00295     axis2_conf_get_all_out_transports(
00296         const axis2_conf_t * conf,
00297         const axutil_env_t * env);
00298 
00306     AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL
00307                 axis2_conf_get_module(
00308                     const axis2_conf_t * conf,
00309                     const axutil_env_t * env,
00310                     const axutil_qname_t * qname);
00311 
00319     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00320 
00321     axis2_conf_get_all_engaged_modules(
00322         const axis2_conf_t * conf,
00323         const axutil_env_t * env);
00324 
00332     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00333 
00334     axis2_conf_get_in_phases_upto_and_including_post_dispatch(
00335         const axis2_conf_t * conf,
00336         const axutil_env_t * env);
00337 
00346     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00347     axis2_conf_get_out_flow(
00348         const axis2_conf_t * conf,
00349         const axutil_env_t * env);
00350 
00359     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00360 
00361     axis2_conf_get_in_fault_flow(
00362         const axis2_conf_t * conf,
00363         const axutil_env_t * env);
00364 
00373     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00374 
00375     axis2_conf_get_out_fault_flow(
00376         const axis2_conf_t * conf,
00377         const axutil_env_t * env);
00378 
00388     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00389     axis2_conf_get_all_faulty_svcs(
00390         const axis2_conf_t * conf,
00391         const axutil_env_t * env);
00392 
00402     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00403     axis2_conf_get_all_faulty_modules(
00404         const axis2_conf_t * conf,
00405         const axutil_env_t * env);
00406 
00414     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00415     axis2_conf_get_all_svcs(
00416         const axis2_conf_t * conf,
00417         const axutil_env_t * env);
00418 
00427     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00428     axis2_conf_get_all_svcs_to_load(
00429         const axis2_conf_t * conf,
00430         const axutil_env_t * env);
00431 
00439     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00440     axis2_conf_is_engaged(
00441         axis2_conf_t * conf,
00442         const axutil_env_t * env,
00443         const axutil_qname_t * module_name);
00444 
00452     AXIS2_EXTERN struct axis2_phases_info *AXIS2_CALL
00453 
00454                 axis2_conf_get_phases_info(
00455                     const axis2_conf_t * conf,
00456                     const axutil_env_t * env);
00457 
00466     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00467     axis2_conf_set_phases_info(
00468         axis2_conf_t * conf,
00469         const axutil_env_t * env,
00470         struct axis2_phases_info *phases_info);
00471 
00480     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00481     axis2_conf_add_msg_recv(
00482         axis2_conf_t * conf,
00483         const axutil_env_t * env,
00484         const axis2_char_t * key,
00485         struct axis2_msg_recv *msg_recv);
00486 
00496     AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL
00497                 axis2_conf_get_msg_recv(
00498                     const axis2_conf_t * conf,
00499                     const axutil_env_t * env,
00500                     axis2_char_t * key);
00501 
00510     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00511     axis2_conf_set_out_phases(
00512         axis2_conf_t * conf,
00513         const axutil_env_t * env,
00514         axutil_array_list_t * out_phases);
00515 
00523     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00524     axis2_conf_get_out_phases(
00525         const axis2_conf_t * conf,
00526         const axutil_env_t * env);
00527 
00535     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00536     axis2_conf_set_in_fault_phases(
00537         axis2_conf_t * conf,
00538         const axutil_env_t * env,
00539         axutil_array_list_t * list);
00540 
00548     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00549     axis2_conf_set_out_fault_phases(
00550         axis2_conf_t * conf,
00551         const axutil_env_t * env,
00552         axutil_array_list_t * list);
00553 
00561     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00562     axis2_conf_get_all_modules(
00563         const axis2_conf_t * conf,
00564         const axutil_env_t * env);
00565 
00573     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00574     axis2_conf_add_module(
00575         axis2_conf_t * conf,
00576         const axutil_env_t * env,
00577         struct axis2_module_desc *module);
00578 
00585     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00586 
00587     axis2_conf_set_default_dispatchers(
00588         axis2_conf_t * conf,
00589         const axutil_env_t * env);
00590 
00598     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00599     axis2_conf_set_dispatch_phase(
00600         axis2_conf_t * conf,
00601         const axutil_env_t * env,
00602         axis2_phase_t * dispatch);
00603 
00610     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00611     axis2_conf_get_repo(
00612         const axis2_conf_t * conf,
00613         const axutil_env_t * env);
00614 
00622     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00623     axis2_conf_set_repo(
00624         axis2_conf_t * conf,
00625         const axutil_env_t * env,
00626         axis2_char_t * axis2_repo);
00627         
00628         
00635     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00636     axis2_conf_get_axis2_xml(
00637         const axis2_conf_t * conf,
00638         const axutil_env_t * env);
00639 
00647     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00648     axis2_conf_set_axis2_xml(
00649         axis2_conf_t * conf,
00650         const axutil_env_t * env,
00651         axis2_char_t * axis2_xml);
00652 
00660     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00661     axis2_conf_engage_module(
00662         axis2_conf_t * conf,
00663         const axutil_env_t * env,
00664         const axutil_qname_t * module_ref);
00665 
00673     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00674     axis2_conf_set_dep_engine(
00675         axis2_conf_t * conf,
00676         const axutil_env_t * env,
00677         struct axis2_dep_engine *dep_engine);
00678 
00686     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00687 
00688     axis2_conf_get_default_module_version(
00689         const axis2_conf_t * conf,
00690         const axutil_env_t * env,
00691         const axis2_char_t * module_name);
00692 
00701     AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL
00702 
00703                 axis2_conf_get_default_module(
00704                     const axis2_conf_t * conf,
00705                     const axutil_env_t * env,
00706                     const axis2_char_t * module_name);
00707 
00716     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00717 
00718     axis2_conf_add_default_module_version(
00719         axis2_conf_t * conf,
00720         const axutil_env_t * env,
00721         const axis2_char_t * module_name,
00722         const axis2_char_t * module_version);
00723 
00732     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00733 
00734     axis2_conf_engage_module_with_version(
00735         axis2_conf_t * conf,
00736         const axutil_env_t * env,
00737         const axis2_char_t * module_name,
00738         const axis2_char_t * version_id);
00739 
00745     AXIS2_EXTERN axis2_conf_t *AXIS2_CALL
00746     axis2_conf_create(
00747         const axutil_env_t * env);
00748 
00749     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00750     axis2_conf_get_enable_mtom(
00751         axis2_conf_t * conf,
00752         const axutil_env_t * env);
00753 
00754     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00755     axis2_conf_set_enable_mtom(
00756         axis2_conf_t * conf,
00757         const axutil_env_t * env,
00758         axis2_bool_t enable_mtom);
00759         
00763         AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00764     axis2_conf_get_axis2_flag(
00765         axis2_conf_t * conf,
00766         const axutil_env_t * env);
00767 
00768     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00769     axis2_conf_set_axis2_flag(
00770         axis2_conf_t * conf,
00771         const axutil_env_t * env,
00772         axis2_bool_t axis2_flag);
00773 
00774     /*The following two methods are used in Rampart to
00775      *check whether security is engaed. */
00776 
00777     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00778     axis2_conf_get_enable_security(
00779         axis2_conf_t * conf,
00780         const axutil_env_t * env);
00781 
00782     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00783     axis2_conf_set_enable_security(
00784         axis2_conf_t * conf,
00785         const axutil_env_t * env,
00786         axis2_bool_t enable_security);
00787 
00788     AXIS2_EXTERN void *AXIS2_CALL
00789     axis2_conf_get_security_context(
00790         axis2_conf_t * conf,
00791         const axutil_env_t * env);
00792 
00793     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00794     axis2_conf_set_security_context(
00795         axis2_conf_t * conf,
00796         const axutil_env_t * env,
00797         void *security_context);
00798 
00799     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00800 
00801     axis2_conf_get_param_container(
00802         const axis2_conf_t * conf,
00803         const axutil_env_t * env);
00804 
00811     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00812     axis2_conf_get_base(
00813         const axis2_conf_t * conf,
00814         const axutil_env_t * env);
00815 
00816         AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL
00817         axis2_conf_get_handlers(const axis2_conf_t * conf,
00818                 const axutil_env_t * env);
00819 #ifdef __cplusplus
00820 }
00821 #endif
00822 #endif                          /* AXIS2_CONFIG_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__header_8h-source.html0000644000175000017500000001556511172017604024167 0ustar00manjulamanjula00000000000000 Axis2/C: rp_header.h Source File

rp_header.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_HEADER_H
00019 #define RP_HEADER_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_header_t rp_header_t;
00034 
00035     AXIS2_EXTERN rp_header_t *AXIS2_CALL
00036     rp_header_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_header_free(
00041         rp_header_t * header,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00045     rp_header_get_name(
00046         rp_header_t * header,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_header_set_name(
00051         rp_header_t * header,
00052         const axutil_env_t * env,
00053         axis2_char_t * name);
00054 
00055     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00056     rp_header_get_namespace(
00057         rp_header_t * header,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_header_set_namespace(
00062         rp_header_t * header,
00063         const axutil_env_t * env,
00064         axis2_char_t * nspace);
00065 
00066 #ifdef __cplusplus
00067 }
00068 #endif
00069 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__children__with__specific__attribute__iterator_8h-source.html0000644000175000017500000002366011172017604034706 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_children_with_specific_attribute_iterator.h Source File

axiom_children_with_specific_attribute_iterator.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H
00020 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H
00021 
00027 #include <axiom_node.h>
00028 #include <axiom_text.h>
00029 #include <axutil_qname.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axiom_children_with_specific_attribute_iterator
00037                 axiom_children_with_specific_attribute_iterator_t;
00038 
00050     AXIS2_EXTERN void AXIS2_CALL
00051     axiom_children_with_specific_attribute_iterator_free(
00052         axiom_children_with_specific_attribute_iterator_t * iterator,
00053         const axutil_env_t * env);
00054 
00064     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00065     axiom_children_with_specific_attribute_iterator_remove(
00066         axiom_children_with_specific_attribute_iterator_t * iterator,
00067         const axutil_env_t * env);
00068 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078     axiom_children_with_specific_attribute_iterator_has_next(
00079         axiom_children_with_specific_attribute_iterator_t * iterator,
00080         const axutil_env_t * env);
00081 
00088     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00089     axiom_children_with_specific_attribute_iterator_next(
00090         axiom_children_with_specific_attribute_iterator_t * iterator,
00091         const axutil_env_t * env);
00092 
00102     AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t *AXIS2_CALL
00103     axiom_children_with_specific_attribute_iterator_create(
00104         const axutil_env_t * env,
00105         axiom_node_t * current_child,
00106         axutil_qname_t * attr_qname,
00107         axis2_char_t * attr_value,
00108         axis2_bool_t detach);
00109 
00110 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env) \
00111         axiom_children_with_specific_attribute_iterator_free(iterator, env)
00112 
00113 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env) \
00114         axiom_children_with_specific_attribute_iterator_remove(iterator, env)
00115 
00116 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env) \
00117         axiom_children_with_specific_attribute_iterator_has_next(iterator, env)
00118 
00119 #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env) \
00120         axiom_children_with_specific_attribute_iterator_next(iterator, env)
00121 
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127 
00128 #endif                          /* AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__trust10__builder.html0000644000175000017500000000420011172017604025564 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_trust10_builder

Rp_trust10_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_trust10_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__navigator.html0000644000175000017500000003267511172017604025104 0ustar00manjulamanjula00000000000000 Axis2/C: navigator

navigator
[AXIOM]


Typedefs

typedef struct
axiom_navigator 
axiom_navigator_t

Functions

AXIS2_EXTERN
axiom_navigator_t * 
axiom_navigator_create (const axutil_env_t *env, axiom_node_t *node)
AXIS2_EXTERN void axiom_navigator_free (axiom_navigator_t *om_navigator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_navigator_is_navigable (axiom_navigator_t *om_navigator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_navigator_is_completed (axiom_navigator_t *om_navigator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_navigator_next (axiom_navigator_t *om_navigator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_navigator_visited (axiom_navigator_t *om_navigator, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_navigator_t* axiom_navigator_create ( const axutil_env_t env,
axiom_node_t *  node 
)

Creates an axiom_navigator

Parameters:
env environment MUST not be NULL
node a pointer to axiom_node_t struct which is to be navigated
Returns:
a pointer to axiom_navigator_t struct or returns NULL on error

AXIS2_EXTERN void axiom_navigator_free ( axiom_navigator_t *  om_navigator,
const axutil_env_t env 
)

free function , free the axiom_navigator struct

Parameters:
om_navigator axiom_navigator_struct
env environment MUST not be NULL
Returns:
AXIS2_SUCCESS

AXIS2_EXTERN axis2_bool_t axiom_navigator_is_completed ( axiom_navigator_t *  om_navigator,
const axutil_env_t env 
)

Returns the build status of this node if the node is completly build returns AXIS2_TRUE otherwise AXIS2_FALSE

Parameters:
om_navigator axiom_navigator struct
env environment MUST not be NULL
Returns:
AXIS2_TRUE if this node is completly built otherwise return AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axiom_navigator_is_navigable ( axiom_navigator_t *  om_navigator,
const axutil_env_t env 
)

Returns the navigable status

Parameters:
om_navigator axiom_navigator_struct
env environment MUST not be NULL
Returns:
AXIS2_TRUE if the om is navigable otherwise returns AXIS2_FALSE

AXIS2_EXTERN axiom_node_t* axiom_navigator_next ( axiom_navigator_t *  om_navigator,
const axutil_env_t env 
)

gets the next node

Parameters:
om_navigator om_navigaot struct
env environment MUST not be NULL
Returns:
axiom_node_t pointer in the sequence of preorder travasal however the an element node is treated slightly differently Once the om_element type om node is passed it returns the same om_node pointer in the next , returns NULL on error or if there is no more nodes

AXIS2_EXTERN axis2_bool_t axiom_navigator_visited ( axiom_navigator_t *  om_navigator,
const axutil_env_t env 
)

method visited

Parameters:
om_navigator om_navigaot struct
env environment MUST not be NULL
Returns:
AXIS2_TRUE if this node is alrady visited otherwise AXIS2_FALSE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__writer-members.html0000644000175000017500000000402411172017604026752 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xml_writer Member List

This is the complete list of members for axiom_xml_writer, including all inherited members.

ops (defined in axiom_xml_writer)axiom_xml_writer


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__comment_8h.html0000644000175000017500000001131711172017604023566 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_comment.h File Reference

axiom_comment.h File Reference

defines axiom_comment_t struct, and manipulation functions More...

#include <axiom_node.h>
#include <axiom_output.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_comment 
axiom_comment_t

Functions

AXIS2_EXTERN
axiom_comment_t * 
axiom_comment_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *value, axiom_node_t **node)
AXIS2_EXTERN void axiom_comment_free (struct axiom_comment *om_comment, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_comment_get_value (struct axiom_comment *om_comment, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_comment_set_value (struct axiom_comment *om_comment, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_comment_serialize (struct axiom_comment *om_comment, const axutil_env_t *env, axiom_output_t *om_output)


Detailed Description

defines axiom_comment_t struct, and manipulation functions


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__simple__request.html0000644000175000017500000011603211172017604027407 0ustar00manjulamanjula00000000000000 Axis2/C: http simple request

http simple request
[http transport]


Files

file  axis2_http_simple_request.h
 axis2 HTTP Simple Request

Typedefs

typedef struct
axis2_http_simple_request 
axis2_http_simple_request_t

Functions

AXIS2_EXTERN
axis2_http_request_line_t
axis2_http_simple_request_get_request_line (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_set_request_line (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, axis2_http_request_line_t *request_line)
AXIS2_EXTERN axis2_bool_t axis2_http_simple_request_contains_header (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_simple_request_get_headers (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_simple_request_get_first_header (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_remove_headers (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_add_header (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, axis2_http_header_t *header)
AXIS2_EXTERN const
axis2_char_t * 
axis2_http_simple_request_get_content_type (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_http_simple_request_get_charset (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_ssize_t 
axis2_http_simple_request_get_content_length (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axutil_stream_t * 
axis2_http_simple_request_get_body (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_ssize_t 
axis2_http_simple_request_get_body_bytes (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env, char **buf)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_set_body_string (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, void *str, unsigned int str_len)
AXIS2_EXTERN void axis2_http_simple_request_free (axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_simple_request_t
axis2_http_simple_request_create (const axutil_env_t *env, axis2_http_request_line_t *request_line, axis2_http_header_t **http_headers, axis2_ssize_t http_hdr_count, axutil_stream_t *content)

Typedef Documentation

typedef struct axis2_http_simple_request axis2_http_simple_request_t

Type name for struct axis2_http_simple_request


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_http_simple_request_add_header ( axis2_http_simple_request_t simple_request,
const axutil_env_t env,
axis2_http_header_t header 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
header pointer to header
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axis2_http_simple_request_contains_header ( axis2_http_simple_request_t simple_request,
const axutil_env_t env,
const axis2_char_t *  name 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
name pointer to name

AXIS2_EXTERN axis2_http_simple_request_t* axis2_http_simple_request_create ( const axutil_env_t env,
axis2_http_request_line_t request_line,
axis2_http_header_t **  http_headers,
axis2_ssize_t  http_hdr_count,
axutil_stream_t *  content 
)

Parameters:
env pointer to environment struct
request_line pointer to request line
http_headers double pointer to http headers
http_hdr_count 
content pointer to content

AXIS2_EXTERN void axis2_http_simple_request_free ( axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_stream_t* axis2_http_simple_request_get_body ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct

AXIS2_EXTERN axis2_ssize_t axis2_http_simple_request_get_body_bytes ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env,
char **  buf 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
buf double pointer to buf

AXIS2_EXTERN const axis2_char_t* axis2_http_simple_request_get_charset ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct

AXIS2_EXTERN axis2_ssize_t axis2_http_simple_request_get_content_length ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct

AXIS2_EXTERN const axis2_char_t* axis2_http_simple_request_get_content_type ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct

AXIS2_EXTERN axis2_http_header_t* axis2_http_simple_request_get_first_header ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
str pointer to str

AXIS2_EXTERN axutil_array_list_t* axis2_http_simple_request_get_headers ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct

AXIS2_EXTERN axis2_http_request_line_t* axis2_http_simple_request_get_request_line ( const axis2_http_simple_request_t simple_request,
const axutil_env_t env 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_simple_request_remove_headers ( axis2_http_simple_request_t simple_request,
const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
str pointer to str
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_request_set_body_string ( axis2_http_simple_request_t simple_request,
const axutil_env_t env,
void *  str,
unsigned int  str_len 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
str pointer to str
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_request_set_request_line ( axis2_http_simple_request_t simple_request,
const axutil_env_t env,
axis2_http_request_line_t request_line 
)

Parameters:
simple_request pointer to simple request
env pointer to environment struct
request_line pointer to request line
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__stub.html0000644000175000017500000007440611172017604023776 0ustar00manjulamanjula00000000000000 Axis2/C: stub

stub
[client API]


Files

file  axis2_stub.h

Defines

#define AXIOM_SOAP_11   1
#define AXIOM_SOAP_12   2

Typedefs

typedef struct axis2_stub axis2_stub_t

Functions

AXIS2_EXTERN void axis2_stub_free (axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_endpoint_ref (axis2_stub_t *stub, const axutil_env_t *env, axis2_endpoint_ref_t *endpoint_ref)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_endpoint_uri (axis2_stub_t *stub, const axutil_env_t *env, const axis2_char_t *endpoint_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_use_separate_listener (axis2_stub_t *stub, const axutil_env_t *env, const axis2_bool_t use_separate_listener)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_soap_version (axis2_stub_t *stub, const axutil_env_t *env, const int soap_version)
AXIS2_EXTERN const
axis2_char_t * 
axis2_stub_get_svc_ctx_id (const axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_engage_module (axis2_stub_t *stub, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_svc_client_t
axis2_stub_get_svc_client (const axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_options_t
axis2_stub_get_options (const axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_stub_t
axis2_stub_create_with_endpoint_ref_and_client_home (const axutil_env_t *env, axis2_endpoint_ref_t *endpoint_ref, const axis2_char_t *client_home)
AXIS2_EXTERN
axis2_stub_t
axis2_stub_create_with_endpoint_uri_and_client_home (const axutil_env_t *env, const axis2_char_t *endpoint_uri, const axis2_char_t *client_home)

Detailed Description

stub is a wrapper API for service client that helps users to use client API easily.
See also:
service client

Define Documentation

#define AXIOM_SOAP_11   1

DEPRECATED: Please use AXIOM_SOAP11 instead. Constant value representing SOAP version 1.1

#define AXIOM_SOAP_12   2

DEPRECATED: Please use AXIOM_SOAP12 instead. Constant value representing SOAP version 1.2


Typedef Documentation

typedef struct axis2_stub axis2_stub_t

Type name for struct axis2_stub


Function Documentation

AXIS2_EXTERN axis2_stub_t* axis2_stub_create_with_endpoint_ref_and_client_home ( const axutil_env_t env,
axis2_endpoint_ref_t endpoint_ref,
const axis2_char_t *  client_home 
)

Creates a stub instance.

Parameters:
env pointer to environment struct
endpoint_ref pointer to endpoint reference struct representing the stub endpoint. Newly created stub assumes ownership of the endpoint
client_home name of the directory that contains the Axis2/C repository
Returns:
pointer to newly created axis2_stub struct

AXIS2_EXTERN axis2_stub_t* axis2_stub_create_with_endpoint_uri_and_client_home ( const axutil_env_t env,
const axis2_char_t *  endpoint_uri,
const axis2_char_t *  client_home 
)

Creates a stub instance.

Parameters:
env pointer to environment struct
endpoint_uri string representing the endpoint reference
client_home name of the directory that contains the Axis2/C repository
Returns:
pointer to newly created axis2_stub struct

AXIS2_EXTERN axis2_status_t axis2_stub_engage_module ( axis2_stub_t stub,
const axutil_env_t env,
const axis2_char_t *  module_name 
)

Engages the named module.

Parameters:
stub pointer to stub struct
env pointer to environment struct
module_name string representing the name of the module
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_stub_free ( axis2_stub_t stub,
const axutil_env_t env 
)

Frees stub struct.

Parameters:
stub pointer to stub struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_options_t* axis2_stub_get_options ( const axis2_stub_t stub,
const axutil_env_t env 
)

Gets the options used on top of the service client used by this stub.

Parameters:
stub pointer to stub struct
env pointer to environment struct
Returns:
pointer to options used by the service client of this stub

AXIS2_EXTERN axis2_svc_client_t* axis2_stub_get_svc_client ( const axis2_stub_t stub,
const axutil_env_t env 
)

Gets the service client instance used by this stub.

Parameters:
stub pointer to stub struct
env pointer to environment struct
Returns:
pointer to service client struct used by the stub

AXIS2_EXTERN const axis2_char_t* axis2_stub_get_svc_ctx_id ( const axis2_stub_t stub,
const axutil_env_t env 
)

Gets the service context ID.

Parameters:
stub pointer to stub struct
env pointer to environment struct
Returns:
service context ID if set, else NULL

AXIS2_EXTERN axis2_status_t axis2_stub_set_endpoint_ref ( axis2_stub_t stub,
const axutil_env_t env,
axis2_endpoint_ref_t endpoint_ref 
)

Sets the endpoint reference.

Parameters:
stub pointer to stub struct
env pointer to environment struct
endpoint_ref pointer to endpoint reference. stub assumes the ownership of the endpoint reference struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_stub_set_endpoint_uri ( axis2_stub_t stub,
const axutil_env_t env,
const axis2_char_t *  endpoint_uri 
)

Sets the endpoint reference, represented by a string.

Parameters:
stub pointer to stub struct
env pointer to environment struct
endpoint_uri pointer to endpoint uri string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_stub_set_soap_version ( axis2_stub_t stub,
const axutil_env_t env,
const int  soap_version 
)

Sets the SOAP version.

Parameters:
stub pointer to stub struct
env pointer to environment struct
soap_version int value representing the SOAP version
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_stub_set_use_separate_listener ( axis2_stub_t stub,
const axutil_env_t env,
const axis2_bool_t  use_separate_listener 
)

Sets the bool value specifying whether to use a separate listener for receive channel.

Parameters:
stub pointer to stub struct
env pointer to environment struct
use_separate whether to use a separate listener
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__log_8h-source.html0000644000175000017500000005474511172017604024410 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_log.h Source File

axutil_log.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_LOG_H
00020 #define AXUTIL_LOG_H
00021 
00022 #include <axutil_allocator.h>
00023 
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028 
00029     typedef struct axutil_log_ops axutil_log_ops_t;
00030     typedef struct axutil_log axutil_log_t;
00031 
00032 #define AXIS2_LOG_SI __FILE__,__LINE__
00033 
00057     typedef enum axutil_log_levels
00058     {
00059 
00061         AXIS2_LOG_LEVEL_CRITICAL = 0,
00062 
00064         AXIS2_LOG_LEVEL_ERROR,
00065 
00067         AXIS2_LOG_LEVEL_WARNING,
00068 
00070         AXIS2_LOG_LEVEL_INFO,
00071 
00073         AXIS2_LOG_LEVEL_DEBUG,
00074         
00076         AXIS2_LOG_LEVEL_USER,
00077 
00079         AXIS2_LOG_LEVEL_TRACE
00080         
00081     } axutil_log_levels_t;
00082 
00088     struct axutil_log_ops
00089     {
00090 
00096         void(
00097             AXIS2_CALL
00098             * free)(
00099                 axutil_allocator_t * allocator,
00100                 struct axutil_log * log);
00101 
00108         void(
00109             AXIS2_CALL
00110             * write)(
00111                 axutil_log_t * log,
00112                 const axis2_char_t * buffer,
00113                 axutil_log_levels_t level,
00114                 const axis2_char_t * file,
00115                 const int line);
00116     };
00117 
00123     struct axutil_log
00124     {
00125 
00127         const axutil_log_ops_t *ops;
00128 
00130         axutil_log_levels_t level;
00131         
00133         int size;
00134 
00136         axis2_bool_t enabled;
00137 
00138     };
00139 
00140     AXIS2_EXTERN void AXIS2_CALL
00141     axutil_log_impl_log_critical(
00142         axutil_log_t * log,
00143         const axis2_char_t * filename,
00144         const int linenumber,
00145         const axis2_char_t * format,
00146         ...);
00147 
00148     AXIS2_EXTERN void AXIS2_CALL
00149     axutil_log_impl_log_error(
00150         axutil_log_t * log,
00151         const axis2_char_t * filename,
00152         const int linenumber,
00153         const axis2_char_t * format,
00154         ...);
00155 
00156     AXIS2_EXTERN void AXIS2_CALL
00157     axutil_log_impl_log_warning(
00158         axutil_log_t * log,
00159         const axis2_char_t * filename,
00160         const int linenumber,
00161         const axis2_char_t * format,
00162         ...);
00163 
00164     AXIS2_EXTERN void AXIS2_CALL
00165     axutil_log_impl_log_info(
00166         axutil_log_t * log,
00167         const axis2_char_t * format,
00168         ...);
00169 
00170     AXIS2_EXTERN void AXIS2_CALL
00171     axutil_log_impl_log_user(
00172         axutil_log_t * log,
00173         const axis2_char_t * filename,
00174         const int linenumber,
00175         const axis2_char_t * format,
00176         ...);
00177 
00178     AXIS2_EXTERN void AXIS2_CALL
00179     axutil_log_impl_log_debug(
00180         axutil_log_t * log,
00181         const axis2_char_t * filename,
00182         const int linenumber,
00183         const axis2_char_t * format,
00184         ...);
00185 
00186     AXIS2_EXTERN void AXIS2_CALL
00187     axutil_log_impl_log_trace(
00188         axutil_log_t * log,
00189         const axis2_char_t * filename,
00190         const int linenumber,
00191         const axis2_char_t * format,
00192         ...);
00193 
00194     AXIS2_EXTERN void AXIS2_CALL
00195     axutil_log_free(
00196         axutil_allocator_t * allocator,
00197         struct axutil_log *log);
00198 
00199     AXIS2_EXTERN void AXIS2_CALL
00200     axutil_log_write(
00201         axutil_log_t * log,
00202         const axis2_char_t * buffer,
00203         axutil_log_levels_t level,
00204         const axis2_char_t * file,
00205         const int line);
00206 
00207 
00208 #define AXIS2_LOG_FREE(allocator, log) \
00209       axutil_log_free(allocator, log)
00210 
00211 #define AXIS2_LOG_WRITE(log, buffer, level, file) \
00212       axutil_log_write(log, buffer, level, file, AXIS2_LOG_SI)
00213 
00214 #define AXIS2_LOG_USER axutil_log_impl_log_user
00215 #define AXIS2_LOG_DEBUG axutil_log_impl_log_debug
00216 #define AXIS2_LOG_INFO axutil_log_impl_log_info
00217 #define AXIS2_LOG_WARNING axutil_log_impl_log_warning
00218 #define AXIS2_LOG_ERROR axutil_log_impl_log_error
00219 #define AXIS2_LOG_CRITICAL axutil_log_impl_log_critical
00220 
00221 #ifdef AXIS2_TRACE
00222 #define AXIS2_LOG_TRACE axutil_log_impl_log_trace
00223 #else
00224 # ifdef HAVE_GNUC_VARARGS
00225 #  define AXIS2_LOG_TRACE(params, args ...)
00226 # elif defined HAVE_ISO_VARARGS
00227 #  define AXIS2_LOG_TRACE(params, ...)
00228 # elif __STDC__ && __STDC_VERSION > 199901L
00229 #  define AXIS2_LOG_TRACE(params, ...)
00230 # elif WIN32
00231 #  define AXIS2_LOG_TRACE axutil_log_impl_log_trace
00232 # else
00233 #  define AXIS2_LOG_TRACE axutil_log_impl_log_trace
00234 # endif
00235 #endif
00236 
00237 #ifndef AXIS2_LOG_PROJECT_PREFIX
00238 
00239 #define AXIS2_LOG_PROJECT_PREFIX "[axis2c]"
00240 #endif 
00241 
00242 #define AXIS2_LOG_USER_MSG(log, msg) AXIS2_LOG_USER (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00243 #define AXIS2_LOG_DEBUG_MSG(log, msg) AXIS2_LOG_DEBUG (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00244 #define AXIS2_LOG_INFO_MSG(log, msg) AXIS2_LOG_INFO (log, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00245 #define AXIS2_LOG_WARNING_MSG(log, msg) AXIS2_LOG_WARNING (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00246 #define AXIS2_LOG_ERROR_MSG(log, msg) AXIS2_LOG_ERROR (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00247 #define AXIS2_LOG_CRITICAL_MSG(log, msg) AXIS2_LOG_CRITICAL (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00248 #define AXIS2_LOG_TRACE_MSG(log, msg) AXIS2_LOG_TRACE (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg)
00249 
00252 #ifdef __cplusplus
00253 }
00254 #endif
00255 
00256 #endif                          /* AXIS2_LOG_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__builders_8h-source.html0000644000175000017500000001645511172017604024547 0ustar00manjulamanjula00000000000000 Axis2/C: rp_builders.h Source File

rp_builders.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_BUILDERS_H
00020 #define RP_BUILDERS_H
00021 
00022 #include <rp_algorithmsuite_builder.h>
00023 #include <rp_defines.h>
00024 #include <rp_layout_builder.h>
00025 #include <rp_supporting_tokens_builder.h>
00026 #include <rp_token_identifier.h>
00027 #include <rp_transport_binding_builder.h>
00028 #include <rp_transport_token_builder.h>
00029 #include <rp_username_token_builder.h>
00030 #include <rp_wss10_builder.h>
00031 #include <rp_wss11_builder.h>
00032 #include <rp_trust10_builder.h>
00033 #include <rp_https_token_builder.h>
00034 #include <rp_x509_token_builder.h>
00035 #include <rp_issued_token_builder.h>
00036 #include <rp_saml_token_builder.h>
00037 #include <rp_security_context_token_builder.h>
00038 #include <rp_bootstrap_policy_builder.h>
00039 #include <rp_recipient_token_builder.h>
00040 #include <rp_initiator_token_builder.h>
00041 #include <rp_asymmetric_binding_builder.h>
00042 #include <rp_signed_encrypted_parts_builder.h>
00043 #include <rp_rampart_config_builder.h>
00044 #include <rp_symmetric_binding_builder.h>
00045 #include <rp_protection_token_builder.h>
00046 #include <rp_encryption_token_builder.h>
00047 #include <rp_signature_token_builder.h>
00048 
00053 #ifdef __cplusplus
00054 extern "C"
00055 {
00056 #endif
00057 
00060 #ifdef __cplusplus
00061 }
00062 #endif
00063 
00064 #endif                          /*RP_BUILDERS_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__mtom__caching__callback__ops-members.html0000644000175000017500000000576611172017604032217 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_mtom_caching_callback_ops Member List

This is the complete list of members for axiom_mtom_caching_callback_ops, including all inherited members.

cache (defined in axiom_mtom_caching_callback_ops)axiom_mtom_caching_callback_ops
close_handler (defined in axiom_mtom_caching_callback_ops)axiom_mtom_caching_callback_ops
free (defined in axiom_mtom_caching_callback_ops)axiom_mtom_caching_callback_ops
init_handler (defined in axiom_mtom_caching_callback_ops)axiom_mtom_caching_callback_ops


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__mtom__sending__callback__ops.html0000644000175000017500000001234211172017604030606 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mtom_sending_callback_ops Struct Reference

axiom_mtom_sending_callback_ops Struct Reference
[Mtom_sending_callback]

#include <axiom_mtom_sending_callback.h>

List of all members.

Public Attributes

void *(* init_handler )(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t *env, void *user_param)
int(* load_data )(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t *env, void *handler, axis2_char_t **buffer)
axis2_status_t(* close_handler )(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t *env, void *handler)
axis2_status_t(* free )(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t *env)


Detailed Description

init_handler will init the attachment storage load will read the attachemnt by part from the storage close_handler will close the storage
The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__encryption__token__builder_8h-source.html0000644000175000017500000001305011172017604030320 0ustar00manjulamanjula00000000000000 Axis2/C: rp_encryption_token_builder.h Source File

rp_encryption_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ENCRYPTION_TOKEN_BUILDER_H
00019 #define RP_ENCRYPTION_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <rp_security_context_token.h>
00030 #include <neethi_assertion.h>
00031 #include <rp_issued_token.h>
00032 #include <rp_saml_token.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00040     rp_encryption_token_builder_build(
00041         const axutil_env_t * env,
00042         axiom_node_t * node,
00043         axiom_element_t * element);
00044 
00045 #ifdef __cplusplus
00046 }
00047 #endif
00048 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__description_8h.html0000644000175000017500000001670311172017604024364 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_description.h File Reference

axis2_description.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_hash.h>

Go to the source code of this file.

Defines

#define AXIS2_EXECUTION_CHAIN_KEY   "EXECUTION_CHAIN_KEY"
#define AXIS2_EXECUTION_OUT_CHAIN_KEY   "EXECUTION_OUT_CHAIN_KEY"
#define AXIS2_EXECUTION_FAULT_CHAIN_KEY   "EXECUTION_FAULT_CHAIN_KEY"
#define AXIS2_MODULEREF_KEY   "MODULEREF_KEY"
#define AXIS2_OP_KEY   "OP_KEY"
#define AXIS2_CLASSLOADER_KEY   "CLASSLOADER_KEY"
#define AXIS2_CONTEXTPATH_KEY   "CONTEXTPATH_KEY"
#define AXIS2_MESSAGE_RECEIVER_KEY   "PROVIDER_KEY"
#define AXIS2_STYLE_KEY   "STYLE_KEY"
#define AXIS2_PARAMETER_KEY   "PARAMETER_KEY"
#define AXIS2_IN_FLOW_KEY   "IN_FLOW_KEY"
#define AXIS2_OUT_FLOW_KEY   "OUT_FLOW_KEY"
#define AXIS2_IN_FAULTFLOW_KEY   "IN_FAULTFLOW_KEY"
#define AXIS2_OUT_FAULTFLOW_KEY   "OUT_FAULTFLOW_KEY"
#define AXIS2_PHASES_KEY   "PHASES_KEY"
#define AXIS2_SERVICE_CLASS   "ServiceClass"
#define AXIS2_SERVICE_CLASS_NAME   "SERVICE_CLASS_NAME"


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap_8h-source.html0000644000175000017500000001666411172017604024376 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap.h Source File

axiom_soap.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_H
00020 #define AXIOM_SOAP_H
00021 
00022 #include <axiom_soap_body.h>
00023 #include <axiom_soap_builder.h>
00024 #include <axiom_soap_const.h>
00025 #include <axiom_soap_envelope.h>
00026 #include <axiom_soap_fault_code.h>
00027 #include <axiom_soap_fault_detail.h>
00028 #include <axiom_soap_fault.h>
00029 #include <axiom_soap_fault_node.h>
00030 #include <axiom_soap_fault_reason.h>
00031 #include <axiom_soap_fault_role.h>
00032 #include <axiom_soap_fault_sub_code.h>
00033 #include <axiom_soap_fault_text.h>
00034 #include <axiom_soap_fault_value.h>
00035 #include <axiom_soap_header_block.h>
00036 #include <axiom_soap_header.h>
00037 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00049 #ifdef __cplusplus
00050 }
00051 #endif
00052 
00053 #endif                          /* AXIOM_SOAP_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__module_8h.html0000644000175000017500000001247611172017604023331 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_module.h File Reference

axis2_module.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axis2_conf.h>
#include <axis2_module_desc.h>
#include <axutil_hash.h>

Go to the source code of this file.

Classes

struct  axis2_module_ops
struct  axis2_module

Defines

#define axis2_module_init(module, env, conf_ctx, module_desc)   ((module)->ops->init (module, env, conf_ctx, module_desc))
#define axis2_module_shutdown(module, env)   ((module)->ops->shutdown (module, env))
#define axis2_module_fill_handler_create_func_map(module, env)   ((module)->ops->fill_handler_create_func_map (module, env))

Typedefs

typedef struct
axis2_module_ops 
axis2_module_ops_t
typedef struct
axis2_module 
axis2_module_t

Functions

AXIS2_EXTERN
axis2_module_t
axis2_module_create (const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__network__handler.html0000644000175000017500000004237011172017604026621 0ustar00manjulamanjula00000000000000 Axis2/C: network handler

network handler
[utilities]


Functions

AXIS2_EXTERN
axis2_socket_t 
axutil_network_handler_open_socket (const axutil_env_t *env, char *server, int port)
AXIS2_EXTERN
axis2_socket_t 
axutil_network_handler_create_server_socket (const axutil_env_t *env, int port)
AXIS2_EXTERN
axis2_status_t 
axutil_network_handler_close_socket (const axutil_env_t *env, axis2_socket_t socket)
AXIS2_EXTERN
axis2_status_t 
axutil_network_handler_set_sock_option (const axutil_env_t *env, axis2_socket_t socket, int option, int value)
AXIS2_EXTERN
axis2_socket_t 
axutil_network_handler_svr_socket_accept (const axutil_env_t *env, axis2_socket_t socket)
AXIS2_EXTERN
axis2_char_t * 
axutil_network_handler_get_svr_ip (const axutil_env_t *env, axis2_socket_t socket)
AXIS2_EXTERN
axis2_char_t * 
axutil_network_handler_get_peer_ip (const axutil_env_t *env, axis2_socket_t socket)
AXIS2_EXTERN
axis2_socket_t 
axutil_network_handler_open_dgram_socket (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_network_handler_send_dgram (const axutil_env_t *env, axis2_socket_t socket, axis2_char_t *buff, int *buf_len, axis2_char_t *addr, int dest_port, int *source_port)
AXIS2_EXTERN
axis2_status_t 
axutil_network_handler_read_dgram (const axutil_env_t *env, axis2_socket_t socket, axis2_char_t *buffer, int *buf_len, axis2_char_t **addr, int *port)
AXIS2_EXTERN
axis2_socket_t 
axutil_network_handler_create_dgram_svr_socket (const axutil_env_t *env, int port)
AXIS2_EXTERN
axis2_status_t 
axutil_network_handler_bind_socket (const axutil_env_t *env, axis2_socket_t sock, int port)
AXIS2_EXTERN
axis2_socket_t 
axutil_network_hadler_create_multicast_svr_socket (const axutil_env_t *env, int port, axis2_char_t *mul_addr)

Function Documentation

AXIS2_EXTERN axis2_status_t axutil_network_handler_close_socket ( const axutil_env_t env,
axis2_socket_t  socket 
)

closes a socket

Parameters:
opened socket that need to be closed
Returns:
status code

AXIS2_EXTERN axis2_socket_t axutil_network_handler_create_server_socket ( const axutil_env_t env,
int  port 
)

creates a server socket for a given port

Parameters:
port port of the socket to be bound
Returns:
creates server socket

AXIS2_EXTERN axis2_char_t* axutil_network_handler_get_svr_ip ( const axutil_env_t env,
axis2_socket_t  socket 
)

Returns the ip address of the server associated with the socket

Parameters:
socket valid socket (obtained by accept() or similar call)
Returns:
ip address asoociated with the socket or NULL

AXIS2_EXTERN axis2_socket_t axutil_network_handler_open_socket ( const axutil_env_t env,
char *  server,
int  port 
)

open a socket for a given server

Parameters:
server ip address or the fqn of the server
port port of the service
Returns:
opened socket

AXIS2_EXTERN axis2_status_t axutil_network_handler_set_sock_option ( const axutil_env_t env,
axis2_socket_t  socket,
int  option,
int  value 
)

used to set up socket options such as timeouts, non-blocking ..etc

Parameters:
socket valid socket (obtained by socket() or similar call)
option the name of the option
value Value to be set
Returns:
status of the operations as axis2_status_t

AXIS2_EXTERN axis2_socket_t axutil_network_handler_svr_socket_accept ( const axutil_env_t env,
axis2_socket_t  socket 
)

Accepts remote connections for a server socket

Parameters:
socket valid server socket (obtained by socket() or similar call)
Returns:
created socket to handle the incoming client connection


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__secpolicy.html0000644000175000017500000004552511172017604024406 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_secpolicy

Rp_secpolicy


Typedefs

typedef struct
rp_secpolicy_t 
rp_secpolicy_t

Functions

AXIS2_EXTERN
rp_secpolicy_t * 
rp_secpolicy_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_secpolicy_free (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_binding (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_property_t *binding)
AXIS2_EXTERN
rp_property_t * 
rp_secpolicy_get_binding (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_supporting_tokens_t *supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_secpolicy_get_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_signed_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_supporting_tokens_t *signed_supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_secpolicy_get_signed_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_endorsing_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_supporting_tokens_t *endorsing_supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_secpolicy_get_endorsing_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_signed_endorsing_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_supporting_tokens_t *signed_endorsing_supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_secpolicy_get_signed_endorsing_supporting_tokens (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_signed_parts (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_signed_encrypted_parts_t *signed_parts)
AXIS2_EXTERN
rp_signed_encrypted_parts_t * 
rp_secpolicy_get_signed_parts (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_encrypted_parts (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_signed_encrypted_parts_t *encrypted_parts)
AXIS2_EXTERN
rp_signed_encrypted_parts_t * 
rp_secpolicy_get_encrypted_parts (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_signed_elements (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_signed_encrypted_elements_t *signed_elements)
AXIS2_EXTERN
rp_signed_encrypted_elements_t * 
rp_secpolicy_get_signed_elements (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_encrypted_elements (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_signed_encrypted_elements_t *encrypted_elements)
AXIS2_EXTERN
rp_signed_encrypted_elements_t * 
rp_secpolicy_get_encrypted_elements (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_signed_items (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_signed_encrypted_items_t *signed_items)
AXIS2_EXTERN
rp_signed_encrypted_items_t * 
rp_secpolicy_get_signed_items (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_encrypted_items (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_signed_encrypted_items_t *encrypted_items)
AXIS2_EXTERN
rp_signed_encrypted_items_t * 
rp_secpolicy_get_encrypted_items (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_wss (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_property_t *wss)
AXIS2_EXTERN
rp_property_t * 
rp_secpolicy_get_wss (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_rampart_config (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_rampart_config_t *rampart_config)
AXIS2_EXTERN
rp_rampart_config_t * 
rp_secpolicy_get_rampart_config (rp_secpolicy_t *secpolicy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_secpolicy_set_trust10 (rp_secpolicy_t *secpolicy, const axutil_env_t *env, rp_trust10_t *trust10)
AXIS2_EXTERN
rp_trust10_t * 
rp_secpolicy_get_trust10 (rp_secpolicy_t *secpolicy, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__resolver_8h-source.html0000644000175000017500000004123111172017604026511 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_resolver.h Source File

axis2_phase_resolver.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_PHASE_RESOLVER_H
00020 #define AXIS2_PHASE_RESOLVER_H
00021 
00064 #include <axis2_const.h>
00065 #include <axutil_error.h>
00066 #include <axis2_defines.h>
00067 #include <axutil_env.h>
00068 #include <axutil_allocator.h>
00069 #include <axutil_qname.h>
00070 #include <axutil_array_list.h>
00071 #include <axutil_hash.h>
00072 #include <axis2_handler_desc.h>
00073 #include <axis2_phase.h>
00074 #include <axis2_phase_rule.h>
00075 #include <axis2_handler.h>
00076 #include <axis2_handler_desc.h>
00077 #include <axis2_flow.h>
00078 #include <axis2_module_desc.h>
00079 #include <axis2_phase_holder.h>
00080 
00081 #ifdef __cplusplus
00082 extern "C"
00083 {
00084 #endif
00085 
00087     typedef struct axis2_phase_resolver axis2_phase_resolver_t;
00088 
00089     struct axis2_phase;
00090     struct axis2_handler_desc;
00091     struct axis2_module_desc;
00092     struct axis2_handler;
00093     struct axis2_phase_rule;
00094     struct axis2_svc;
00095     struct axis2_conf;
00096     struct axis2_op;
00097     struct axis2_phase_holder;
00098 
00105     AXIS2_EXTERN void AXIS2_CALL
00106     axis2_phase_resolver_free(
00107         axis2_phase_resolver_t * phase_resolver,
00108         const axutil_env_t * env);
00109 
00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120 
00121     axis2_phase_resolver_engage_module_globally(
00122         axis2_phase_resolver_t * phase_resolver,
00123         const axutil_env_t * env,
00124         struct axis2_module_desc *module);
00125 
00136     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137 
00138     axis2_phase_resolver_engage_module_to_svc(
00139         axis2_phase_resolver_t * phase_resolver,
00140         const axutil_env_t * env,
00141         struct axis2_svc *svc,
00142         struct axis2_module_desc *module_desc);
00143 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153     axis2_phase_resolver_engage_module_to_op(
00154         axis2_phase_resolver_t * phase_resolver,
00155         const axutil_env_t * env,
00156         struct axis2_op *axis_op,
00157         struct axis2_module_desc *module_desc);
00158 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168     axis2_phase_resolver_build_execution_chains_for_svc(
00169         axis2_phase_resolver_t * phase_resolver,
00170         const axutil_env_t * env);
00171 
00179     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00180 
00181     axis2_phase_resolver_build_execution_chains_for_module_op(
00182         axis2_phase_resolver_t * phase_resolver,
00183         const axutil_env_t * env,
00184         struct axis2_op *op);
00185 
00196     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00197     axis2_phase_resolver_disengage_module_from_svc(
00198         axis2_phase_resolver_t * phase_resolver,
00199         const axutil_env_t * env,
00200         struct axis2_svc *svc,
00201         struct axis2_module_desc *module_desc);
00202 
00211     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00212     axis2_phase_resolver_disengage_module_from_op(
00213         axis2_phase_resolver_t * phase_resolver,
00214         const axutil_env_t * env,
00215         struct axis2_op *axis_op,
00216         struct axis2_module_desc *module_desc);
00217 
00226     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00227     axis2_phase_resolver_build_transport_chains(
00228         axis2_phase_resolver_t * phase_resolver,
00229         const axutil_env_t * env);
00230 
00236     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00237 
00238     axis2_phase_resolver_create(
00239         const axutil_env_t * env);
00240 
00248     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00249 
00250     axis2_phase_resolver_create_with_config(
00251         const axutil_env_t * env,
00252         struct axis2_conf *axis2_config);
00253 
00263     AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL
00264 
00265     axis2_phase_resolver_create_with_config_and_svc(
00266         const axutil_env_t * env,
00267         struct axis2_conf *axis2_config,
00268         struct axis2_svc *svc);
00269 
00272 #ifdef __cplusplus
00273 }
00274 #endif
00275 #endif                          /* AXIS2_PHASE_RESOLVER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__log__ops-members.html0000644000175000017500000000433011172017604026411 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axutil_log_ops Member List

This is the complete list of members for axutil_log_ops, including all inherited members.

freeaxutil_log_ops
writeaxutil_log_ops


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__sub__code.html0000644000175000017500000003354211172017604027541 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault sub code

soap fault sub code
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_sub_code_t * 
axiom_soap_fault_sub_code_create_with_parent (const axutil_env_t *env, axiom_soap_fault_code_t *fault_code)
AXIS2_EXTERN
axiom_soap_fault_sub_code_t * 
axiom_soap_fault_sub_code_create_with_parent_value (const axutil_env_t *env, axiom_soap_fault_code_t *fault_code, axis2_char_t *value)
AXIS2_EXTERN void axiom_soap_fault_sub_code_free (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)
AXIS2_EXTERN
axiom_soap_fault_sub_code_t * 
axiom_soap_fault_sub_code_get_sub_code (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_value * 
axiom_soap_fault_sub_code_get_value (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_sub_code_get_base_node (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_sub_code_t* axiom_soap_fault_sub_code_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_code_t *  fault_code 
)

creates a soap struct

Parameters:
env Environment. MUST NOT be NULL
fault_code SOAP fault code
Returns:
Created SOAP fault sub code

AXIS2_EXTERN axiom_soap_fault_sub_code_t* axiom_soap_fault_sub_code_create_with_parent_value ( const axutil_env_t env,
axiom_soap_fault_code_t *  fault_code,
axis2_char_t *  value 
)

Create a SOAP fault sub code from the given SOAP fault and value

Parameters:
fault_sub_code pointer to soap_fault_sub_code struct
env Environment. MUST NOT be NULL
value the value to be set to the SOAP fault
Returns:
Created SOAP sub code

AXIS2_EXTERN void axiom_soap_fault_sub_code_free ( axiom_soap_fault_sub_code_t *  fault_sub_code,
const axutil_env_t env 
)

Free an axiom_soap_fault_sub_code

Parameters:
fault_sub_code pointer to soap_fault_sub_code struct
env Environment. MUST NOT be NULL
Returns:
VOID

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_sub_code_get_base_node ( axiom_soap_fault_sub_code_t *  fault_sub_code,
const axutil_env_t env 
)

Get the base node of the SOAP fault sub code

Parameters:
fault_sub_code pointer to soap_fault_sub_code struct
env Environment. MUST NOT be NULL
Returns:
the base node of the SOAP fault sub code as OM node

AXIS2_EXTERN axiom_soap_fault_sub_code_t* axiom_soap_fault_sub_code_get_sub_code ( axiom_soap_fault_sub_code_t *  fault_sub_code,
const axutil_env_t env 
)

Get the SOAP fault sub code

Parameters:
fault_sub_code pointer to soap_fault_sub_code struct
env Environment. MUST NOT be NULL
Returns:
the SOAP fault sub code

AXIS2_EXTERN struct axiom_soap_fault_value* axiom_soap_fault_sub_code_get_value ( axiom_soap_fault_sub_code_t *  fault_sub_code,
const axutil_env_t env 
) [read]

Get the value of the SOAP fault sub code

Parameters:
fault_sub_code pointer to soap_fault_sub_code struct
env Environment. MUST NOT be NULL
Returns:
the SOAP fault value


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__desc_8h.html0000644000175000017500000002274611172017604022763 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_desc.h File Reference

axis2_desc.h File Reference

#include <axutil_param_container.h>
#include <axutil_hash.h>
#include <axis2_description.h>

Go to the source code of this file.

Typedefs

typedef struct axis2_desc axis2_desc_t

Functions

AXIS2_EXTERN
axis2_desc_t
axis2_desc_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_desc_free (axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_add_param (axis2_desc_t *desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_desc_get_param (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axutil_array_list_t
axis2_desc_get_all_params (const axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_desc_is_param_locked (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_add_child (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *key, const struct axis2_msg *child)
AXIS2_EXTERN
axutil_hash_t
axis2_desc_get_all_children (const axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN void * axis2_desc_get_child (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_remove_child (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_set_parent (axis2_desc_t *desc, const axutil_env_t *env, axis2_desc_t *parent)
AXIS2_EXTERN
axis2_desc_t
axis2_desc_get_parent (const axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_set_policy_include (axis2_desc_t *desc, const axutil_env_t *env, struct axis2_policy_include *policy_include)
AXIS2_EXTERN struct
axis2_policy_include * 
axis2_desc_get_policy_include (axis2_desc_t *desc, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__stub_8h.html0000644000175000017500000002142211172017604023010 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_stub.h File Reference

axis2_stub.h File Reference

#include <axis2_endpoint_ref.h>
#include <axis2_svc_client.h>
#include <axis2_options.h>
#include <axiom_xml_reader.h>
#include <axutil_property.h>

Go to the source code of this file.

Defines

#define AXIOM_SOAP_11   1
#define AXIOM_SOAP_12   2

Typedefs

typedef struct axis2_stub axis2_stub_t

Functions

AXIS2_EXTERN void axis2_stub_free (axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_endpoint_ref (axis2_stub_t *stub, const axutil_env_t *env, axis2_endpoint_ref_t *endpoint_ref)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_endpoint_uri (axis2_stub_t *stub, const axutil_env_t *env, const axis2_char_t *endpoint_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_use_separate_listener (axis2_stub_t *stub, const axutil_env_t *env, const axis2_bool_t use_separate_listener)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_set_soap_version (axis2_stub_t *stub, const axutil_env_t *env, const int soap_version)
AXIS2_EXTERN const
axis2_char_t * 
axis2_stub_get_svc_ctx_id (const axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_stub_engage_module (axis2_stub_t *stub, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_svc_client_t
axis2_stub_get_svc_client (const axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_options_t
axis2_stub_get_options (const axis2_stub_t *stub, const axutil_env_t *env)
AXIS2_EXTERN
axis2_stub_t
axis2_stub_create_with_endpoint_ref_and_client_home (const axutil_env_t *env, axis2_endpoint_ref_t *endpoint_ref, const axis2_char_t *client_home)
AXIS2_EXTERN
axis2_stub_t
axis2_stub_create_with_endpoint_uri_and_client_home (const axutil_env_t *env, const axis2_char_t *endpoint_uri, const axis2_char_t *client_home)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__engine_8h-source.html0000644000175000017500000002666311172017604025040 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_engine.h Source File

neethi_engine.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_ENGINE_H
00020 #define NEETHI_ENGINE_H
00021 
00022 /*neethis_engine.c contains all the useful functions
00023  * for dealing with a neethi_policy object
00024  */
00025 
00026 
00027 
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <neethi_includes.h>
00036 #include <neethi_operator.h>
00037 #include <neethi_policy.h>
00038 #include <neethi_all.h>
00039 #include <neethi_exactlyone.h>
00040 #include <neethi_reference.h>
00041 #include <neethi_registry.h>
00042 #include <neethi_assertion.h>
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00058     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00059     neethi_engine_get_policy(
00060         const axutil_env_t * env,
00061         axiom_node_t * node,
00062         axiom_element_t * element);
00063 
00075     /*This function will return a new neethi_policy struct.
00076       So it is callers responsibility to free the neethi_policy
00077       which is passed as an argument. */
00078 
00079     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00080     neethi_engine_get_normalize(
00081         const axutil_env_t * env,
00082         axis2_bool_t deep,
00083         neethi_policy_t * neethi_policy);
00084 
00098     /*This function will return a new neethi_policy struct.
00099       So it is callers responsibility to free the neethi_policy
00100       which is passed as an argument. */
00101 
00102 
00103     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00104     neethi_engine_normalize(
00105         const axutil_env_t * env,
00106         neethi_policy_t * neethi_policy,
00107         neethi_registry_t * registry,
00108         axis2_bool_t deep);
00109 
00110     /*Givnen to normalized policy objects this function will
00111       retun the merged policy object.
00112     * @param env pointer to environment struct
00113     * @param neethi_policy1 pointer neethi_policy_t struct as an
00114     * input for merge.
00115     * @param neethi_policy2 pointer neethi_policy_t struct as an
00116     * input for merge.
00117     * @return pointer to a merged policy of both inputs.*/
00118 
00119     /*The input for this function should be two normalized policies
00120       otherwise the output may be wrong.*/
00121 
00122     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00123     neethi_engine_merge(
00124         const axutil_env_t * env,
00125         neethi_policy_t * neethi_policy1,
00126         neethi_policy_t * neethi_policy2);
00127 
00128     /*Given a policy object this function will give the 
00129      * corresponding axiom model for that policy object.
00130      * @param policy pointer to the neethi_policy_t struct.
00131      * @param env pointer to environment struct
00132      */
00133 
00134     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00135     neethi_engine_serialize(
00136         neethi_policy_t * policy,
00137         const axutil_env_t * env);
00138 
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143 
00144 #endif                          /* NEETHI_ENGINE_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__conf__init.html0000644000175000017500000001760611172017604025127 0ustar00manjulamanjula00000000000000 Axis2/C: configuration initilizing functions

configuration initilizing functions


Functions

AXIS2_EXTERN
axis2_conf_ctx_t
axis2_build_conf_ctx (const axutil_env_t *env, const axis2_char_t *repo_name)
AXIS2_EXTERN
axis2_conf_ctx_t
axis2_build_conf_ctx_with_file (const axutil_env_t *env, const axis2_char_t *file)
AXIS2_EXTERN
axis2_conf_ctx_t
axis2_build_client_conf_ctx (const axutil_env_t *env, const axis2_char_t *axis2_home)

Function Documentation

AXIS2_EXTERN axis2_conf_ctx_t* axis2_build_client_conf_ctx ( const axutil_env_t env,
const axis2_char_t *  axis2_home 
)

Builds the Configuration for the Client

Parameters:
env Pointer to environment struct. MUST NOT be NULL
axis2_home axis2 home for client.
Returns:
pointer to an instance of configuration context properly initialized

AXIS2_EXTERN axis2_conf_ctx_t* axis2_build_conf_ctx ( const axutil_env_t env,
const axis2_char_t *  repo_name 
)

Builds the configuration for the Server

Parameters:
env Pointer to environment struct. MUST NOT be NULL
repo_name repository name
Returns:
pointer to an instance of configuration context properly initialized

AXIS2_EXTERN axis2_conf_ctx_t* axis2_build_conf_ctx_with_file ( const axutil_env_t env,
const axis2_char_t *  file 
)

Builds the configuration for the Server using axis2.xml file.

Parameters:
env Pointer to environment struct. MUST NOT be NULL
file path of the axis2.xml file
Returns:
pointer to an instance of configuration context properly initialized


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__binding__commons_8h-source.html0000644000175000017500000003000211172017604026222 0ustar00manjulamanjula00000000000000 Axis2/C: rp_binding_commons.h Source File

rp_binding_commons.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_BINDING_COMMONS_H
00019 #define RP_BINDING_COMMONS_H
00020 
00025 #include <rp_includes.h>
00026 #include <rp_algorithmsuite.h>
00027 #include <rp_layout.h>
00028 #include <rp_supporting_tokens.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct rp_binding_commons_t rp_binding_commons_t;
00036 
00037     AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL
00038     rp_binding_commons_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_binding_commons_free(
00043         rp_binding_commons_t * binding_commons,
00044         const axutil_env_t * env);
00045 
00046     AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL
00047     rp_binding_commons_get_algorithmsuite(
00048         rp_binding_commons_t * binding_commons,
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     rp_binding_commons_set_algorithmsuite(
00053         rp_binding_commons_t * binding_commons,
00054         const axutil_env_t * env,
00055         rp_algorithmsuite_t * algorithmsuite);
00056 
00057     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00058     rp_binding_commons_get_include_timestamp(
00059         rp_binding_commons_t * binding_commons,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     rp_binding_commons_set_include_timestamp(
00064         rp_binding_commons_t * binding_commons,
00065         const axutil_env_t * env,
00066         axis2_bool_t include_timestamp);
00067 
00068     AXIS2_EXTERN rp_layout_t *AXIS2_CALL
00069     rp_binding_commons_get_layout(
00070         rp_binding_commons_t * binding_commons,
00071         const axutil_env_t * env);
00072 
00073     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00074     rp_binding_commons_set_layout(
00075         rp_binding_commons_t * binding_commons,
00076         const axutil_env_t * env,
00077         rp_layout_t * layout);
00078 
00079     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00080     rp_binding_commons_get_signed_supporting_tokens(
00081         rp_binding_commons_t * binding_commons,
00082         const axutil_env_t * env);
00083 
00084     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00085     rp_binding_commons_set_signed_supporting_tokens(
00086         rp_binding_commons_t * binding_commons,
00087         const axutil_env_t * env,
00088         rp_supporting_tokens_t * signed_supporting_tokens);
00089 
00090     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00091     rp_binding_commons_get_signed_endorsing_supporting_tokens(
00092         rp_binding_commons_t * binding_commons,
00093         const axutil_env_t * env);
00094 
00095     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00096     rp_binding_commons_set_signed_endorsing_supporting_tokens(
00097         rp_binding_commons_t * binding_commons,
00098         const axutil_env_t * env,
00099         rp_supporting_tokens_t * signed_endorsing_supporting_tokens);
00100 
00101     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00102     rp_binding_commons_get_endorsing_supporting_tokens(
00103         rp_binding_commons_t * binding_commons,
00104         const axutil_env_t * env);
00105 
00106     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00107     rp_binding_commons_set_endorsing_supporting_tokens(
00108         rp_binding_commons_t * binding_commons,
00109         const axutil_env_t * env,
00110         rp_supporting_tokens_t * endorsing_supporting_tokens);
00111 
00112     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00113     rp_binding_commons_get_supporting_tokens(
00114         rp_binding_commons_t * binding_commons,
00115         const axutil_env_t * env);
00116 
00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118     rp_binding_commons_set_supporting_tokens(
00119         rp_binding_commons_t * binding_commons,
00120         const axutil_env_t * env,
00121         rp_supporting_tokens_t * supporting_tokens);
00122 
00123 #ifdef __cplusplus
00124 }
00125 #endif
00126 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__signed__encrypted__elements.html0000644000175000017500000001744411172017604030133 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_signed_encrypted_elements

Rp_signed_encrypted_elements


Typedefs

typedef struct
rp_signed_encrypted_elements_t 
rp_signed_encrypted_elements_t

Functions

AXIS2_EXTERN
rp_signed_encrypted_elements_t * 
rp_signed_encrypted_elements_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_signed_encrypted_elements_free (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t rp_signed_encrypted_elements_get_signedelements (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_elements_set_signedelements (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env, axis2_bool_t signedelements)
AXIS2_EXTERN
axutil_array_list_t
rp_signed_encrypted_elements_get_xpath_expressions (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_elements_add_expression (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env, axis2_char_t *expression)
AXIS2_EXTERN
axis2_char_t * 
rp_signed_encrypted_elements_get_xpath_version (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_elements_set_xpath_version (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env, axis2_char_t *xpath_version)
AXIS2_EXTERN
axis2_status_t 
rp_signed_encrypted_elements_increment_ref (rp_signed_encrypted_elements_t *signed_encrypted_elements, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__error-members.html0000644000175000017500000000515711172017604025751 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axutil_error Member List

This is the complete list of members for axutil_error, including all inherited members.

allocatoraxutil_error
error_numberaxutil_error
messageaxutil_error
status_codeaxutil_error


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__property_8h-source.html0000644000175000017500000002351111172017604025476 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_property.h Source File

axutil_property.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_PROPERTY_H
00020 #define AXUTIL_PROPERTY_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <axutil_utils.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038     typedef struct axutil_property axutil_property_t;
00039 
00044     AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00045     axutil_property_create(
00046         const axutil_env_t * env);
00047 
00064     AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00065 
00066     axutil_property_create_with_args(
00067         const axutil_env_t * env,
00068         axis2_scope_t scope,
00069         axis2_bool_t own_value,
00070         AXIS2_FREE_VOID_ARG free_func,
00071         void *value);
00072 
00073     AXIS2_EXTERN void AXIS2_CALL
00074     axutil_property_free(
00075         axutil_property_t * property,
00076         const axutil_env_t * env);
00077 
00081     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00082     axutil_property_set_scope(
00083         axutil_property_t * property,
00084         const axutil_env_t * env,
00085         axis2_scope_t scope);
00086 
00087     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00088     axutil_property_set_free_func(
00089         axutil_property_t * property,
00090         const axutil_env_t * env,
00091         AXIS2_FREE_VOID_ARG free_func);
00092 
00093     /*************************** Function macros **********************************/
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axutil_property_set_value(
00096         axutil_property_t * property,
00097         const axutil_env_t * env,
00098         void *value);
00099 
00100     AXIS2_EXTERN void *AXIS2_CALL
00101     axutil_property_get_value(
00102         axutil_property_t * property,
00103         const axutil_env_t * env);
00104 
00105     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106     axutil_property_set_own_value(
00107         axutil_property_t * property,
00108         const axutil_env_t * env,
00109         axis2_bool_t own_value);
00110 
00111     AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00112     axutil_property_clone(
00113         axutil_property_t * property,
00114         const axutil_env_t * env);
00115 
00116     /*************************** End of function macros ***************************/
00117 
00120 #ifdef __cplusplus
00121 }
00122 #endif
00123 
00124 #endif                          /* AXIS2_PROPERTY_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__rampart__config__builder.html0000644000175000017500000000424311172017604027403 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_rampart_config_builder

Rp_rampart_config_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_rampart_config_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__holder_8h.html0000644000175000017500000001701511172017604024632 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_holder.h File Reference

axis2_phase_holder.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_qname.h>
#include <axutil_array_list.h>
#include <axis2_handler_desc.h>
#include <axis2_phase.h>
#include <axis2_phase_rule.h>
#include <axis2_handler.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_phase_holder 
axis2_phase_holder_t

Functions

AXIS2_EXTERN void axis2_phase_holder_free (axis2_phase_holder_t *phase_holder, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_phase_holder_is_phase_exist (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, const axis2_char_t *phase_name)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_holder_add_handler (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, struct axis2_handler_desc *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_holder_remove_handler (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, struct axis2_handler_desc *handler)
AXIS2_EXTERN struct
axis2_phase * 
axis2_phase_holder_get_phase (const axis2_phase_holder_t *phase_holder, const axutil_env_t *env, const axis2_char_t *phase_name)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_holder_build_transport_handler_chain (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, struct axis2_phase *phase, axutil_array_list_t *handlers)
AXIS2_EXTERN
axis2_phase_holder_t
axis2_phase_holder_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_holder_t
axis2_phase_holder_create_with_phases (const axutil_env_t *env, axutil_array_list_t *phases)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__wss10__builder.html0000644000175000017500000000416611172017604025232 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_wss10_builder

Rp_wss10_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_wss10_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__conf__ctx.html0000644000175000017500000015253711172017604024765 0ustar00manjulamanjula00000000000000 Axis2/C: configuration context

configuration context
[Context Hierarchy]


Files

file  axis2_conf_ctx.h

Typedefs

typedef struct
axis2_conf_ctx 
axis2_conf_ctx_t

Functions

AXIS2_EXTERN
axis2_conf_ctx_t
axis2_conf_ctx_create (const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_set_conf (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_ctx_t
axis2_conf_ctx_get_base (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_conf_t
axis2_conf_ctx_get_conf (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_ctx_get_op_ctx_map (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_ctx_get_svc_ctx_map (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_ctx_get_svc_grp_ctx_map (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_register_op_ctx (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *message_id, axis2_op_ctx_t *op_ctx)
AXIS2_EXTERN
axis2_op_ctx_t
axis2_conf_ctx_get_op_ctx (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_register_svc_ctx (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_id, axis2_svc_ctx_t *svc_ctx)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_conf_ctx_get_svc_ctx (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_id)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_register_svc_grp_ctx (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_grp_id, axis2_svc_grp_ctx_t *svc_grp_ctx)
AXIS2_EXTERN
axis2_svc_grp_ctx_t
axis2_conf_ctx_get_svc_grp_ctx (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *svc_grp_id)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_ctx_get_root_dir (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_set_root_dir (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *path)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_init (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, axis2_conf_t *conf)
AXIS2_EXTERN void axis2_conf_ctx_free (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_grp_ctx_t
axis2_conf_ctx_fill_ctxs (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_ctx_set_property (axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN
axutil_property_t * 
axis2_conf_ctx_get_property (const axis2_conf_ctx_t *conf_ctx, const axutil_env_t *env, const axis2_char_t *key)

Detailed Description

configuration context is the holder for all the state information related to configuration. It holds all the service group context, service context and operation context that exists within an engine instance. An engine instance has only one configuration context associated with it (Singleton pattern).

Typedef Documentation

typedef struct axis2_conf_ctx axis2_conf_ctx_t

Type name for struct axis2_conf_ctx


Function Documentation

AXIS2_EXTERN axis2_conf_ctx_t* axis2_conf_ctx_create ( const axutil_env_t env,
struct axis2_conf *  conf 
)

Creates a configuration context struct instance.

Parameters:
env pointer to environment struct
conf pointer to configuration, configuration context assumes ownership of the configuration
Returns:
pointer to newly created configuration context

AXIS2_EXTERN axis2_svc_grp_ctx_t* axis2_conf_ctx_fill_ctxs ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

This method fills the context hierarchy (service group, service and operation contexts that is) for the service and operation found in the given message context. If the context hierarchy is not already built it will create the contexts and build the context hierarchy.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
msg_ctx pointer to message context with service and operation for which the context hierarchy is to be built set
Returns:
pointer to the service group context, which is the root of the context hierarchy for given service and operation

AXIS2_EXTERN void axis2_conf_ctx_free ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Frees configuration context struct.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_ctx_t* axis2_conf_ctx_get_base ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Gets the base struct, which is of type context

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
pointer to context struct, returns a reference not a cloned copy

AXIS2_EXTERN axis2_conf_t* axis2_conf_ctx_get_conf ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Gets the configuration of the engine.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
pointer to configuration struct, returns a reference not a cloned copy

AXIS2_EXTERN axis2_op_ctx_t* axis2_conf_ctx_get_op_ctx ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  message_id 
)

Gets operation context corresponding to the given message ID.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
message_id message ID related to the operation to be retrieved
Returns:
pointer to operation context related to the given message ID

AXIS2_EXTERN axutil_hash_t* axis2_conf_ctx_get_op_ctx_map ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Gets the hash map of operation context instances.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
pointer to hash map containing all operation contexts

AXIS2_EXTERN axutil_property_t* axis2_conf_ctx_get_property ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  key 
)

Gets the property with the given key.

Parameters:
ctx pointer to context struct
env pointer to environment struct
key key string
Returns:
pointer to property struct corresponding to the given key

AXIS2_EXTERN const axis2_char_t* axis2_conf_ctx_get_root_dir ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Gets the root working directory. It is in this directory that the axis2.xml configuration file is located. The services and modules sub folders too are located in this directory.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
pointer to string containing the root folder name

AXIS2_EXTERN struct axis2_svc_ctx* axis2_conf_ctx_get_svc_ctx ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  svc_id 
) [read]

Gets service context with the given service ID

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
svc_id service ID
Returns:
pointer to service context with the given service ID

AXIS2_EXTERN axutil_hash_t* axis2_conf_ctx_get_svc_ctx_map ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Gets the hash map of service context instances.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
pointer to hash map containing all service contexts

AXIS2_EXTERN axis2_svc_grp_ctx_t* axis2_conf_ctx_get_svc_grp_ctx ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  svc_grp_id 
)

Gets service group with the given service group ID.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
svc_grp_id service group id
Returns:
pointer to service group context with the given ID

AXIS2_EXTERN axutil_hash_t* axis2_conf_ctx_get_svc_grp_ctx_map ( const axis2_conf_ctx_t conf_ctx,
const axutil_env_t env 
)

Gets the hash map of service group context instances.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
Returns:
pointer to hash map containing all service group contexts

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_init ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
axis2_conf_t conf 
)

Initializes the configuration context. Within this function, it would initialize all the service group context, service context and operation context instances stored within configuration context.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
conf pointer to configuration struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_register_op_ctx ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  message_id,
axis2_op_ctx_t op_ctx 
)

Registers an operation context with the given message ID.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
message_id message id related to the operation context
op_ctx pointer to operation context, conf context assumes ownership of the operation context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_register_svc_ctx ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  svc_id,
axis2_svc_ctx_t svc_ctx 
)

Registers a service context with the given service ID.

Parameters:
conf_ctx pointer t configuration context
env pointer to environment struct
svc_id ID of the service to be added
svc_ctx pointer to service context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_register_svc_grp_ctx ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  svc_grp_id,
axis2_svc_grp_ctx_t svc_grp_ctx 
)

Registers a service group context with the given service group ID.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
svc_grp_id service group id
svc_grp_ctx pointer to service group context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_set_conf ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
struct axis2_conf *  conf 
)

Sets the configuration associated with the engine instance.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
conf pointer to configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_set_property ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  key,
axutil_property_t *  value 
)

Sets a property with the given key.

Parameters:
ctx pointer to context struct
env pointer to environment struct
key key string to store the property with
value pointer to property to be stored, context assumes the ownership of the property
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_ctx_set_root_dir ( axis2_conf_ctx_t conf_ctx,
const axutil_env_t env,
const axis2_char_t *  path 
)

Sets the root working directory. It is in this directory that the axis2.xml configuration file is located. The services and modules sub folders too are located in this directory.

Parameters:
conf_ctx pointer to configuration context
env pointer to environment struct
path string containing the path of root directory
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__ctx.html0000644000175000017500000004402011172017604023604 0ustar00manjulamanjula00000000000000 Axis2/C: context

context
[Context Hierarchy]


Files

file  axis2_ctx.h

Typedefs

typedef struct axis2_ctx axis2_ctx_t

Functions

AXIS2_EXTERN
axis2_ctx_t
axis2_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_ctx_set_property (struct axis2_ctx *ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN
axutil_property_t * 
axis2_ctx_get_property (const axis2_ctx_t *ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axutil_hash_t
axis2_ctx_get_property_map (const axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_ctx_get_all_properties (const axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_ctx_free (axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_ctx_set_property_map (struct axis2_ctx *ctx, const axutil_env_t *env, axutil_hash_t *map)

Detailed Description

context is the base struct of all the context related structs. This struct encapsulates the common operations and data for all context types. All the context types, configuration, service group, service and operation has the base of type context.

Typedef Documentation

typedef struct axis2_ctx axis2_ctx_t

Type name for struct axis2_ctx


Function Documentation

AXIS2_EXTERN axis2_ctx_t* axis2_ctx_create ( const axutil_env_t env  ) 

Creates a context struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created context

AXIS2_EXTERN void axis2_ctx_free ( axis2_ctx_t ctx,
const axutil_env_t env 
)

Frees context struct.

Parameters:
ctx pointer to context struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_hash_t* axis2_ctx_get_all_properties ( const axis2_ctx_t ctx,
const axutil_env_t env 
)

Gets all properties stored within context.

Parameters:
ctx pointer to context struct
env pointer to environment struct
Returns:
pointer to hash table containing all properties

AXIS2_EXTERN axutil_property_t* axis2_ctx_get_property ( const axis2_ctx_t ctx,
const axutil_env_t env,
const axis2_char_t *  key 
)

Gets the property with the given key.

Parameters:
ctx pointer to context struct
env pointer to environment struct
key key string
Returns:
pointer to property struct corresponding to the given key

AXIS2_EXTERN axutil_hash_t* axis2_ctx_get_property_map ( const axis2_ctx_t ctx,
const axutil_env_t env 
)

Gets the non-persistent map of properties.

Parameters:
ctx pointer to context struct
env pointer to environment struct
Returns:
pointer to the hash map which stores the non-persistent properties

AXIS2_EXTERN axis2_status_t axis2_ctx_set_property ( struct axis2_ctx *  ctx,
const axutil_env_t env,
const axis2_char_t *  key,
axutil_property_t *  value 
)

Sets a property with the given key.

Parameters:
ctx pointer to context struct
env pointer to environment struct
key key string to store the property with
value pointer to property to be stored, context assumes the ownership of the property
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_ctx_set_property_map ( struct axis2_ctx *  ctx,
const axutil_env_t env,
axutil_hash_t map 
)

Sets non-persistent map of properties.

Parameters:
ctx pointer to context struct
env pointer to environment struct
map pointer to hash map, context assumes ownership of the map
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mime__parser_8h.html0000644000175000017500000002440111172017604024564 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mime_parser.h File Reference

axiom_mime_parser.h File Reference

axis2 mime_parser interface More...

#include <axutil_utils.h>
#include <axutil_error.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_hash.h>
#include <axiom_mime_const.h>

Go to the source code of this file.

Defines

#define AXIOM_MIME_PARSER_BUFFER_SIZE   (1024 * 1024/2)
#define AXIOM_MIME_PARSER_MAX_BUFFERS   1000
#define AXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNT   100

Typedefs

typedef struct
axiom_mime_parser 
axiom_mime_parser_t

Functions

AXIS2_EXTERN
axis2_status_t 
axiom_mime_parser_parse_for_soap (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t *mime_boundary)
AXIS2_EXTERN
axutil_hash_t
axiom_mime_parser_parse_for_attachments (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t *mime_boundary, void *user_param)
AXIS2_EXTERN
axutil_hash_t
axiom_mime_parser_get_mime_parts_map (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN void axiom_mime_parser_free (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN int axiom_mime_parser_get_soap_body_len (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_mime_parser_get_soap_body_str (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)
AXIS2_EXTERN
axiom_mime_parser_t * 
axiom_mime_parser_create (const axutil_env_t *env)
AXIS2_EXTERN void axiom_mime_parser_set_buffer_size (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, int size)
AXIS2_EXTERN void axiom_mime_parser_set_max_buffers (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, int num)
AXIS2_EXTERN void axiom_mime_parser_set_attachment_dir (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *attachment_dir)
AXIS2_EXTERN void axiom_mime_parser_set_caching_callback_name (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *callback_name)
AXIS2_EXTERN void axiom_mime_parser_set_mime_boundary (axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *mime_boundary)
AXIS2_EXTERN
axis2_char_t * 
axiom_mime_parser_get_mime_boundary (axiom_mime_parser_t *mime_parser, const axutil_env_t *env)


Detailed Description

axis2 mime_parser interface


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/index.html0000644000175000017500000000367011172017604021303 0ustar00manjulamanjula00000000000000 Axis2/C: Axis2/C API Documentation

Axis2/C API Documentation

1.6.0

Introduction

This is the API documetation of Axis2/C, a SOAP engine written in C. This implementation is based on the popular Axis2 architecture.

We welcome your feedback on this implementation and documentation. Please send your feedback to axis-c-user@ws.apache.org and please remember to prefix the subject of the mail with [Axis2].


Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__log.html0000644000175000017500000001305711172017604023747 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_log Struct Reference

axutil_log Struct Reference
[log]

Axis2 Log struct. More...

#include <axutil_log.h>

List of all members.

Public Attributes

const axutil_log_ops_tops
axutil_log_levels_t level
int size
axis2_bool_t enabled


Detailed Description

Axis2 Log struct.

Log is the encapsulating struct for all log related data and ops


Member Data Documentation

Log related ops

Maximum log file size

axis2_bool_t axutil_log::enabled

Is logging enabled?


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phases__info_8h-source.html0000644000175000017500000004310611172017604025771 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phases_info.h Source File

axis2_phases_info.h

00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_PHASES_INFO_H
00020 #define AXIS2_PHASES_INFO_H
00021 
00038 #include <axis2_const.h>
00039 #include <axutil_error.h>
00040 #include <axis2_defines.h>
00041 #include <axutil_env.h>
00042 #include <axutil_allocator.h>
00043 #include <axutil_string.h>
00044 #include <axutil_array_list.h>
00045 #include <axis2_op.h>
00046 #include <axis2_phase.h>
00047 
00048 #ifdef __cplusplus
00049 extern "C"
00050 {
00051 #endif
00052 
00054     typedef struct axis2_phases_info axis2_phases_info_t;
00055 
00061     AXIS2_EXTERN void AXIS2_CALL
00062     axis2_phases_info_free(
00063         axis2_phases_info_t * phases_info,
00064         const axutil_env_t * env);
00065 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axis2_phases_info_set_in_phases(
00077         axis2_phases_info_t * phases_info,
00078         const axutil_env_t * env,
00079         axutil_array_list_t * in_phases);
00080 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     axis2_phases_info_set_out_phases(
00092         axis2_phases_info_t * phases_info,
00093         const axutil_env_t * env,
00094         axutil_array_list_t * out_phases);
00095 
00105     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106 
00107     axis2_phases_info_set_in_faultphases(
00108         axis2_phases_info_t * phases_info,
00109         const axutil_env_t * env,
00110         axutil_array_list_t * in_faultphases);
00111 
00121     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00122 
00123     axis2_phases_info_set_out_faultphases(
00124         axis2_phases_info_t * phases_info,
00125         const axutil_env_t * env,
00126         axutil_array_list_t * out_faultphases);
00127 
00132     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00133 
00134     axis2_phases_info_get_in_phases(
00135         const axis2_phases_info_t * phases_info,
00136         const axutil_env_t * env);
00137 
00142     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00143 
00144     axis2_phases_info_get_out_phases(
00145         const axis2_phases_info_t * phases_info,
00146         const axutil_env_t * env);
00147 
00152     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00153 
00154     axis2_phases_info_get_in_faultphases(
00155         const axis2_phases_info_t * phases_info,
00156         const axutil_env_t * env);
00157 
00162     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00163 
00164     axis2_phases_info_get_out_faultphases(
00165         const axis2_phases_info_t * phases_info,
00166         const axutil_env_t * env);
00167 
00172     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00173 
00174     axis2_phases_info_get_op_in_phases(
00175         const axis2_phases_info_t * phases_info,
00176         const axutil_env_t * env);
00177 
00182     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00183 
00184     axis2_phases_info_get_op_out_phases(
00185         const axis2_phases_info_t * phases_info,
00186         const axutil_env_t * env);
00187 
00192     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00193 
00194     axis2_phases_info_get_op_in_faultphases(
00195         const axis2_phases_info_t * phases_info,
00196         const axutil_env_t * env);
00197 
00202     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00203 
00204     axis2_phases_info_get_op_out_faultphases(
00205         const axis2_phases_info_t * phases_info,
00206         const axutil_env_t * env);
00207 
00214     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00215     axis2_phases_info_set_op_phases(
00216         axis2_phases_info_t * phases_info,
00217         const axutil_env_t * env,
00218         struct axis2_op *axis2_opt);
00219 
00224     AXIS2_EXTERN axis2_phases_info_t *AXIS2_CALL
00225     axis2_phases_info_create(
00226         const axutil_env_t * env);
00227 
00228     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00229     axis2_phases_info_copy_flow(
00230         const axutil_env_t * env,
00231         const axutil_array_list_t * flow_to_copy);
00232 
00234 #ifdef __cplusplus
00235 }
00236 #endif
00237 
00238 #endif                          /*AXIS2_PHASES_INFO_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault_8h-source.html0000644000175000017500000003154511172017604025723 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault.h Source File

axiom_soap_fault.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_H
00020 #define AXIOM_SOAP_FAULT_H
00021 
00026 #include <axiom_soap_const.h>
00027 #include <axutil_env.h>
00028 #include <axiom_node.h>
00029 #include <axiom_element.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axiom_soap_fault axiom_soap_fault_t;
00037 
00038     struct axiom_soap_fault_reason;
00039     struct axiom_soap_fault_detail;
00040     struct axiom_soap_fault_sub_code;
00041     struct axiom_soap_fault_code;
00042     struct axiom_soap_fault_node;
00043     struct axiom_soap_fault_role;
00044     struct axiom_soap_fault_text;
00045     struct axiom_soap_fault_value;
00046     struct axiom_soap_body;
00047     struct axiom_soap_builder;
00048 
00064     AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL
00065     axiom_soap_fault_create_with_parent(
00066         const axutil_env_t * env,
00067         struct axiom_soap_body *parent);
00068 
00078     AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL
00079     axiom_soap_fault_create_with_exception(
00080         const axutil_env_t * env,
00081         struct axiom_soap_body *parent,
00082         axis2_char_t * exception);
00083 
00094     AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL
00095     axiom_soap_fault_create_default_fault(
00096         const axutil_env_t * env,
00097         struct axiom_soap_body *parent,
00098         const axis2_char_t * code_value,
00099         const axis2_char_t * reason_text,
00100         const int soap_version);
00101 
00110     AXIS2_EXTERN void AXIS2_CALL
00111     axiom_soap_fault_free(
00112         axiom_soap_fault_t * fault,
00113         const axutil_env_t * env);
00114 
00124     AXIS2_EXTERN struct axiom_soap_fault_code *AXIS2_CALL
00125     axiom_soap_fault_get_code(
00126          axiom_soap_fault_t * fault,
00127          const axutil_env_t * env);
00128 
00136     AXIS2_EXTERN struct axiom_soap_fault_reason *AXIS2_CALL
00137     axiom_soap_fault_get_reason(
00138          axiom_soap_fault_t * fault,
00139          const axutil_env_t * env);
00140 
00147     AXIS2_EXTERN struct axiom_soap_fault_node *AXIS2_CALL
00148     axiom_soap_fault_get_node(
00149         axiom_soap_fault_t * fault,
00150         const axutil_env_t * env);
00151 
00158     AXIS2_EXTERN struct axiom_soap_fault_role *AXIS2_CALL
00159     axiom_soap_fault_get_role(
00160          axiom_soap_fault_t * fault,
00161          const axutil_env_t * env);
00162 
00169     AXIS2_EXTERN struct axiom_soap_fault_detail *AXIS2_CALL
00170     axiom_soap_fault_get_detail(
00171          axiom_soap_fault_t * fault,
00172          const axutil_env_t * env);
00173 
00180     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00181     axiom_soap_fault_get_exception(
00182         axiom_soap_fault_t * fault,
00183         const axutil_env_t * env);
00184 
00191     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00192     axiom_soap_fault_set_exception(
00193         axiom_soap_fault_t * fault,
00194         const axutil_env_t * env,
00195         axis2_char_t * exception);
00196 
00205     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00206     axiom_soap_fault_get_base_node(
00207         axiom_soap_fault_t * fault,
00208         const axutil_env_t * env);
00209 
00211 #ifdef __cplusplus
00212 }
00213 #endif
00214 
00215 #endif                          /* AXIOM_SOAP_FAULT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__op.html0000644000175000017500000033241111172017604023430 0ustar00manjulamanjula00000000000000 Axis2/C: operation

operation
[description]


Defines

#define AXIS2_SOAP_ACTION   "soapAction"

Typedefs

typedef struct axis2_op axis2_op_t

Functions

AXIS2_EXTERN axis2_op_taxis2_op_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_free (axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_free_void_arg (void *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_add_param (axis2_op_t *op, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_op_get_param (const axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_all_params (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_op_is_param_locked (axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_parent (axis2_op_t *op, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc * 
axis2_op_get_parent (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_rest_http_method (axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *rest_http_method)
AXIS2_EXTERN
axis2_char_t * 
axis2_op_get_rest_http_method (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_rest_http_location (axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *rest_http_location)
AXIS2_EXTERN
axis2_char_t * 
axis2_op_get_rest_http_location (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_qname (axis2_op_t *op, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_op_get_qname (void *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_msg_exchange_pattern (axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *pattern)
AXIS2_EXTERN const
axis2_char_t * 
axis2_op_get_msg_exchange_pattern (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_msg_recv (axis2_op_t *op, const axutil_env_t *env, struct axis2_msg_recv *msg_recv)
AXIS2_EXTERN struct
axis2_msg_recv * 
axis2_op_get_msg_recv (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_op_get_style (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_style (axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *style)
AXIS2_EXTERN
axis2_status_t 
axis2_op_engage_module (axis2_op_t *op, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_op_add_to_engaged_module_list (axis2_op_t *op, const axutil_env_t *env, struct axis2_module_desc *module_dec)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_all_modules (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN int axis2_op_get_axis_specific_mep_const (axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_fault_in_flow (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_fault_out_flow (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_out_flow (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_in_flow (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_fault_in_flow (axis2_op_t *op, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_fault_out_flow (axis2_op_t *op, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_out_flow (axis2_op_t *op, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_in_flow (axis2_op_t *op, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_status_t 
axis2_op_add_module_qname (axis2_op_t *op, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_all_module_qnames (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_op_find_op_ctx (axis2_op_t *op, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_op_find_existing_op_ctx (axis2_op_t *op, const axutil_env_t *env, const struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_op_register_op_ctx (axis2_op_t *op, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx, struct axis2_op_ctx *op_ctx)
AXIS2_EXTERN struct
axis2_msg * 
axis2_op_get_msg (const axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *label)
AXIS2_EXTERN
axis2_status_t 
axis2_op_add_msg (axis2_op_t *op, const axutil_env_t *env, const axis2_char_t *label, const struct axis2_msg *msg)
AXIS2_EXTERN axis2_bool_t axis2_op_is_from_module (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_set_wsamapping_list (axis2_op_t *op, const axutil_env_t *env, axutil_array_list_t *mapping_list)
AXIS2_EXTERN
axutil_array_list_t
axis2_op_get_wsamapping_list (axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_op_get_param_container (const axis2_op_t *op, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_remove_from_engaged_module_list (axis2_op_t *op, const axutil_env_t *env, struct axis2_module_desc *module_desc)
AXIS2_EXTERN axis2_op_taxis2_op_create_from_module (const axutil_env_t *env)
AXIS2_EXTERN axis2_op_taxis2_op_create_with_qname (const axutil_env_t *env, const axutil_qname_t *name)
AXIS2_EXTERN
axis2_desc_t
axis2_op_get_base (const axis2_op_t *op, const axutil_env_t *env)

Detailed Description

operation represents the static structure of an operation in a service. In Axis2 description hierarchy, an operation lives inside the service to which it belongs. operations are configured in services.xml files located in the respective service group folders of the services folder in the repository. In services.xml file, operations are declared in association with a given service. The deployment engine would create operation instances to represent those configured operations and would associate them with the respective service in the configuration. operation encapsulates data on message exchange pattern (MEP), the execution flows, engaged module information, and the message receiver associated with the operation.

Define Documentation

#define AXIS2_SOAP_ACTION   "soapAction"

SOAP action string constant


Typedef Documentation

typedef struct axis2_op axis2_op_t

Type name for struct axis2_op


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_op_add_module_qname ( axis2_op_t op,
const axutil_env_t env,
const axutil_qname_t *  module_qname 
)

Adds given QName to module QName list.

Parameters:
op pointer to operation
env pointer to environment struct
module_name pointer to module QName, QName would be cloned by this method
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_add_msg ( axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  label,
const struct axis2_msg *  msg 
)

Adds given message with the given label.

Parameters:
op pointer to operation
env pointer to environment struct
label label string
msg pointer to message
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_add_param ( axis2_op_t op,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds a parameter to method.

Parameters:
op pointer to operation
env pointer to environment struct
param pointer parameter to be added, operation assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_add_to_engaged_module_list ( axis2_op_t op,
const axutil_env_t env,
struct axis2_module_desc *  module_dec 
)

Adds module description to engaged module list.

Parameters:
op pointer to operation
env pointer to environment struct
module_dec pointer to module description, operation does not assume ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_op_t* axis2_op_create ( const axutil_env_t env  ) 

Creates operation struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created operation

AXIS2_EXTERN axis2_op_t* axis2_op_create_from_module ( const axutil_env_t env  ) 

Creates operation struct for an operation defined in a module.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created operation

AXIS2_EXTERN axis2_op_t* axis2_op_create_with_qname ( const axutil_env_t env,
const axutil_qname_t *  name 
)

Creates operation struct with given QName.

Parameters:
env pointer to environment struct
name pointer to QName
Returns:
pointer to newly created operation

AXIS2_EXTERN axis2_status_t axis2_op_engage_module ( axis2_op_t op,
const axutil_env_t env,
struct axis2_module_desc *  module_desc,
struct axis2_conf *  conf 
)

Engages given module to operation.

Parameters:
op pointer to operation
env pointer to environment struct
module_desc pointer to module description, operation does not assume ownership of struct
conf pointer to configuration, operation does not assume ownership of configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN struct axis2_op_ctx* axis2_op_find_existing_op_ctx ( axis2_op_t op,
const axutil_env_t env,
const struct axis2_msg_ctx *  msg_ctx 
) [read]

Finds operation context related to this operation using given message context. This method will not create a new operation context if an associated operation context could not be found.

Parameters:
op pointer to operation
env pointer to environment struct
msg_ctx pointer to message context
Returns:
pointer to operation context if found, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_op_ctx* axis2_op_find_op_ctx ( axis2_op_t op,
const axutil_env_t env,
struct axis2_msg_ctx *  msg_ctx,
struct axis2_svc_ctx *  svc_ctx 
) [read]

Finds operation context related to this operation using given message context and service context. This method would create a new operation context related to the operation, if one could not be found.

Parameters:
op pointer to operation
env pointer to environment struct
msg_ctx pointer to message context
svc_ctx pointer to service context
Returns:
pointer to operation context, returns a reference, not a cloned copy

AXIS2_EXTERN void axis2_op_free ( axis2_op_t op,
const axutil_env_t env 
)

Frees operation.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
void

AXIS2_EXTERN void axis2_op_free_void_arg ( void *  op,
const axutil_env_t env 
)

Frees operation given as a void pointer.

Parameters:
op pointer to operation as a void pointer
env pointer to environment struct
Returns:
void
Frees the operation given as a void pointer. This method would cast the void parameter to an operation pointer and then call free method.
Parameters:
pointer to operation as a void pointer
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_all_module_qnames ( const axis2_op_t op,
const axutil_env_t env 
)

Gets all module QNames as a list.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing module QNames, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_all_modules ( const axis2_op_t op,
const axutil_env_t env 
)

Gets all modules associated to operation.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing module descriptions

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_all_params ( const axis2_op_t op,
const axutil_env_t env 
)

Gets all parameters.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing all parameters, returns a reference, not a cloned copy

AXIS2_EXTERN int axis2_op_get_axis_specific_mep_const ( axis2_op_t op,
const axutil_env_t env 
)

Gets Axis specific MEP constant. This method simply maps the string URI of the MEP to an integer.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
integer representing MEP

AXIS2_EXTERN axis2_desc_t* axis2_op_get_base ( const axis2_op_t op,
const axutil_env_t env 
)

Gets base description.

Parameters:
op pointer to message
env pointer to environment struct
Returns:
pointer to base description struct

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_fault_in_flow ( const axis2_op_t op,
const axutil_env_t env 
)

Gets fault in flow. Fault in flow is the list of phases invoked when a fault happens along in path.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing phases, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_fault_out_flow ( const axis2_op_t op,
const axutil_env_t env 
)

Gets fault out flow. Fault out flow is the list of phases invoked when a fault happens along out path.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing phases, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_in_flow ( const axis2_op_t op,
const axutil_env_t env 
)

Gets in flow. In flow is the list of phases invoked along in path.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing phases, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_msg* axis2_op_get_msg ( const axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  label 
) [read]

Gets message with given label.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to message corresponding to given label, returns a reference, not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_op_get_msg_exchange_pattern ( const axis2_op_t op,
const axutil_env_t env 
)

Gets operation message exchange pattern (MEP).

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
MEP string

AXIS2_EXTERN struct axis2_msg_recv* axis2_op_get_msg_recv ( const axis2_op_t op,
const axutil_env_t env 
) [read]

Gets message receiver. message receiver is responsible for invoking the business logic associated with the operation.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to message receiver, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_out_flow ( const axis2_op_t op,
const axutil_env_t env 
)

Gets out flow. Out flow is the list of phases invoked along out path.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to array list containing phases, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_op_get_param ( const axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets named parameter.

Parameters:
op pointer to operation
env pointer to environment struct
name name of parameter to be retrieved as a string
Returns:
pointer to named parameter if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_svc* axis2_op_get_parent ( const axis2_op_t op,
const axutil_env_t env 
) [read]

Gets parent. Parent of an operation is of type service.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to parent service, returns a reference, not a cloned copy

AXIS2_EXTERN const axutil_qname_t* axis2_op_get_qname ( void *  op,
const axutil_env_t env 
)

Gets operation QName.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
pointer to QName, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_char_t* axis2_op_get_rest_http_location ( const axis2_op_t op,
const axutil_env_t env 
)

Gets HTTP Location for RESTful Services.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
HTTP Location string, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_char_t* axis2_op_get_rest_http_method ( const axis2_op_t op,
const axutil_env_t env 
)

Gets HTTP Method for RESTful Services.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
HTTP Method string, returns a reference, not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_op_get_style ( const axis2_op_t op,
const axutil_env_t env 
)

Gets style of operation. Style is that mentioned in WSDL, either RPC or document literal.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
string representing style

AXIS2_EXTERN axutil_array_list_t* axis2_op_get_wsamapping_list ( axis2_op_t op,
const axutil_env_t env 
)

Get the wsamapping list.

Parameters:
op pointer to operation
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axis2_op_is_from_module ( const axis2_op_t op,
const axutil_env_t env 
)

Checks if the operation is from a module.

Parameters:
op pointer to operation
env pointer to environment struct AXIS2_TRUE if the operation is from a module, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_op_is_param_locked ( axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
op pointer to operation
env pointer to environment struct
param_name name of the parameter to be checked
Returns:
AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_op_register_op_ctx ( axis2_op_t op,
const axutil_env_t env,
struct axis2_msg_ctx *  msg_ctx,
struct axis2_op_ctx *  op_ctx 
)

Registers given operation context against this operation. Registration happens within the given message context, as it is the message context that captures the state information of a given invocation.

Parameters:
op pointer to operation
env pointer to environment struct
msg_ctx pointer to message context
op_ctx pointer to operation context, operation does not assume ownership of operation context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_fault_in_flow ( axis2_op_t op,
const axutil_env_t env,
axutil_array_list_t list 
)

Sets fault in flow. Fault in flow is the list of phases invoked when a fault happens along in path.

Parameters:
op pointer to operation
env pointer to environment struct
list pointer to array list containing phases, operation takes over the ownership of list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_fault_out_flow ( axis2_op_t op,
const axutil_env_t env,
axutil_array_list_t list 
)

Sets fault out flow. Fault out flow is the list of phases invoked when a fault happens along out path.

Parameters:
op pointer to operation
env pointer to environment struct
list pointer to array list containing phases, operation takes over the ownership of list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_in_flow ( axis2_op_t op,
const axutil_env_t env,
axutil_array_list_t list 
)

Sets in flow. In flow is the list of phases invoked along in path.

Parameters:
op pointer to operation
env pointer to environment struct
list pointer to array list containing phases, operation takes over the ownership of list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_msg_exchange_pattern ( axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  pattern 
)

Sets operation message exchange pattern (MEP).

Parameters:
op pointer to operation
env pointer to environment struct
pattern message exchange pattern string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_msg_recv ( axis2_op_t op,
const axutil_env_t env,
struct axis2_msg_recv *  msg_recv 
)

Sets message receiver. message receiver is responsible for invoking the business logic associated with the operation.

Parameters:
op pointer to operation
env pointer to environment struct
msg_recv pointer to message receiver, operation assumes ownership of message receiver
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_out_flow ( axis2_op_t op,
const axutil_env_t env,
axutil_array_list_t list 
)

Sets out flow. Out flow is the list of phases invoked along out path.

Parameters:
op pointer to operation
env pointer to environment struct
list pointer to array list containing phases, operation takes over the ownership of list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_parent ( axis2_op_t op,
const axutil_env_t env,
struct axis2_svc *  svc 
)

Sets parent. Parent of an operation is of type service.

Parameters:
op pointer to operation
env pointer to environment struct
svc pointer to parent service, operation does not assume ownership of service
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_qname ( axis2_op_t op,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Sets operation QName.

Parameters:
op pointer to operation as a void pointer.
env pointer to environment struct
qname pointer to QName, this method creates a clone of the QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_rest_http_location ( axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  rest_http_location 
)

Sets HTTP Location for RESTful Services.

Parameters:
op pointer to operation
env pointer to environment struct
rest_http_location HTTP Location string, operation does not assume ownership of rest_http_location.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_rest_http_method ( axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  rest_http_method 
)

Sets HTTP Method for RESTful Services.

Parameters:
op pointer to operation
env pointer to environment struct
rest_http_method HTTP Method string, operation does not assume ownership of rest_http_method.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_style ( axis2_op_t op,
const axutil_env_t env,
const axis2_char_t *  style 
)

Sets style of operation. Style is that mentioned in WSDL, either RPC or document literal.

Parameters:
op pointer to operation
env pointer to environment struct
style string representing style
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_set_wsamapping_list ( axis2_op_t op,
const axutil_env_t env,
axutil_array_list_t mapping_list 
)

Set the wsamapping list.

Parameters:
op pointer to operation
env pointer to environment struct
mapping_list list of action mappings
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__flow.html0000644000175000017500000003574611172017604023774 0ustar00manjulamanjula00000000000000 Axis2/C: flow

flow
[description]


Files

file  axis2_flow.h

Typedefs

typedef struct axis2_flow axis2_flow_t

Functions

AXIS2_EXTERN
axis2_flow_t
axis2_flow_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_flow_free (axis2_flow_t *flow, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_add_handler (axis2_flow_t *flow, const axutil_env_t *env, axis2_handler_desc_t *handler)
AXIS2_EXTERN
axis2_handler_desc_t
axis2_flow_get_handler (const axis2_flow_t *flow, const axutil_env_t *env, const int index)
AXIS2_EXTERN int axis2_flow_get_handler_count (const axis2_flow_t *flow, const axutil_env_t *env)
AXIS2_EXTERN void axis2_flow_free_void_arg (void *flow, const axutil_env_t *env)

Detailed Description

flow is a collection of handlers. This struct encapsulates the concept of an execution flow in the engine.

Typedef Documentation

typedef struct axis2_flow axis2_flow_t

Type name for struct axis2_flow


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_flow_add_handler ( axis2_flow_t flow,
const axutil_env_t env,
axis2_handler_desc_t handler 
)

Adds a handler description to flow.

Parameters:
flow pointer to flow
env pointer to environment struct
handler pointer to handler description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_flow_t* axis2_flow_create ( const axutil_env_t env  ) 

Creates flow struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created flow

AXIS2_EXTERN void axis2_flow_free ( axis2_flow_t flow,
const axutil_env_t env 
)

Frees flow struct.

Parameters:
flow pointer to flow
env pointer to environment struct
Returns:
void

AXIS2_EXTERN void axis2_flow_free_void_arg ( void *  flow,
const axutil_env_t env 
)

Frees flow passed as void pointer. This method would cast the void pointer to appropriate type and then call free method.

Parameters:
flow pointer to flow
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_handler_desc_t* axis2_flow_get_handler ( const axis2_flow_t flow,
const axutil_env_t env,
const int  index 
)

Gets handler description at given index.

Parameters:
flow pointer to flow
env pointer to environment struct
index index of the handler
Returns:
pointer to handler description

AXIS2_EXTERN int axis2_flow_get_handler_count ( const axis2_flow_t flow,
const axutil_env_t env 
)

Gets handler count.

Parameters:
flow pointer to flow
env pointer to environment struct
Returns:
handler count


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__xml__writer_8h.html0000644000175000017500000005144511172017604024465 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_writer.h File Reference

axiom_xml_writer.h File Reference

this is the parser abstraction layer for axis2 More...

#include <axutil_env.h>
#include <axiom_defines.h>

Go to the source code of this file.

Classes

struct  axiom_xml_writer_ops
 axiom_xml_writer ops Encapsulator struct for ops of axiom_xml_writer More...
struct  axiom_xml_writer
 axis2_pull_parser struct Axis2 OM pull_parser More...

Typedefs

typedef struct
axiom_xml_writer_ops 
axiom_xml_writer_ops_t
typedef struct
axiom_xml_writer 
axiom_xml_writer_t

Functions

AXIS2_EXTERN
axiom_xml_writer_t
axiom_xml_writer_create (const axutil_env_t *env, axis2_char_t *filename, axis2_char_t *encoding, int is_prefix_default, int compression)
AXIS2_EXTERN
axiom_xml_writer_t
axiom_xml_writer_create_for_memory (const axutil_env_t *env, axis2_char_t *encoding, int is_prefix_default, int compression, int type)
AXIS2_EXTERN void axiom_xml_writer_free (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_element (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_end_start_element (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_element_with_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_element_with_namespace_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_empty_element (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_empty_element_with_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_empty_element_with_namespace_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_end_element (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_end_document (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_attribute (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_attribute_with_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_attribute_with_namespace_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri, axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_default_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_comment (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_processing_instruction (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_processing_instruction_data (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target, axis2_char_t *data)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_cdata (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *data)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_dtd (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *dtd)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_entity_ref (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_document (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_document_with_version (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_document_with_version_encoding (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version, axis2_char_t *encoding)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_characters (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_writer_get_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_set_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_set_default_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_encoded (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text, int in_attr)
AXIS2_EXTERN void * axiom_xml_writer_get_xml (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN unsigned int axiom_xml_writer_get_xml_size (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN int axiom_xml_writer_get_type (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_raw (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *content)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_flush (axiom_xml_writer_t *writer, const axutil_env_t *env)


Detailed Description

this is the parser abstraction layer for axis2


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg__recv_8h-source.html0000644000175000017500000004333611172017604025305 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg_recv.h Source File

axis2_msg_recv.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_MSG_RECV_H
00020 #define AXIS2_MSG_RECV_H
00021 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00046 #include <axis2_defines.h>
00047 #include <axis2_const.h>
00048 #include <axis2_svc_skeleton.h>
00049 #include <axis2_msg_ctx.h>
00050 #include <axis2_op_ctx.h>
00051 #include <axis2_svr_callback.h>
00052 #include <axis2_svc.h>
00053 
00054     struct axis2_msg_ctx;
00055 
00057     typedef struct axis2_msg_recv axis2_msg_recv_t;
00058 
00059     typedef axis2_status_t(
00060         AXIS2_CALL
00061         * AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC) (
00062             axis2_msg_recv_t * msg_recv,
00063             const axutil_env_t * env,
00064             struct axis2_msg_ctx * in_msg_ctx,
00065             struct axis2_msg_ctx * out_msg_ctx);
00066 
00067     typedef axis2_status_t(
00068         AXIS2_CALL
00069         * AXIS2_MSG_RECV_RECEIVE) (
00070             axis2_msg_recv_t * msg_recv,
00071             const axutil_env_t * env,
00072             struct axis2_msg_ctx * in_msg_ctx,
00073             void *callback_recv_param);
00074 
00075         typedef axis2_status_t(
00076                 AXIS2_CALL * AXIS2_MSG_RECV_LOAD_AND_INIT_SVC)(
00077                         axis2_msg_recv_t *msg_recv,
00078                         const axutil_env_t *env,
00079                         struct axis2_svc *svc);
00080 
00087     AXIS2_EXTERN void AXIS2_CALL
00088     axis2_msg_recv_free(
00089         axis2_msg_recv_t * msg_recv,
00090         const axutil_env_t * env);
00091 
00105     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106     axis2_msg_recv_receive(
00107         axis2_msg_recv_t * msg_recv,
00108         const axutil_env_t * env,
00109         struct axis2_msg_ctx *in_msg_ctx,
00110         void *callback_recv_param);
00111 
00120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121 
00122     axis2_msg_recv_invoke_business_logic(
00123         axis2_msg_recv_t * msg_recv,
00124         const axutil_env_t * env,
00125         struct axis2_msg_ctx *in_msg_ctx,
00126         struct axis2_msg_ctx *out_msg_ctx);
00127 
00135     AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00136 
00137     axis2_msg_recv_make_new_svc_obj(
00138         axis2_msg_recv_t * msg_recv,
00139         const axutil_env_t * env,
00140         struct axis2_msg_ctx *msg_ctx);
00141 
00149     AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL
00150 
00151     axis2_msg_recv_get_impl_obj(
00152         axis2_msg_recv_t * msg_recv,
00153         const axutil_env_t * env,
00154         struct axis2_msg_ctx *msg_ctx);
00155 
00163     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164     axis2_msg_recv_set_scope(
00165         axis2_msg_recv_t * msg_recv,
00166         const axutil_env_t * env,
00167         const axis2_char_t * scope);
00168 
00175     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00176     axis2_msg_recv_get_scope(
00177         axis2_msg_recv_t * msg_recv,
00178         const axutil_env_t * env);
00179 
00187     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00188     axis2_msg_recv_delete_svc_obj(
00189         axis2_msg_recv_t * msg_recv,
00190         const axutil_env_t * env,
00191         axis2_msg_ctx_t * msg_ctx);
00192 
00193     AXIS2_EXPORT axis2_status_t AXIS2_CALL
00194 
00195     axis2_msg_recv_set_invoke_business_logic(
00196         axis2_msg_recv_t * msg_recv,
00197         const axutil_env_t * env,
00198         AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func);
00199 
00200     AXIS2_EXPORT axis2_status_t AXIS2_CALL
00201     axis2_msg_recv_set_derived(
00202         axis2_msg_recv_t * msg_recv,
00203         const axutil_env_t * env,
00204         void *derived);
00205 
00206     AXIS2_EXPORT void *AXIS2_CALL
00207     axis2_msg_recv_get_derived(
00208         const axis2_msg_recv_t * msg_recv,
00209         const axutil_env_t * env);
00210 
00211     AXIS2_EXPORT axis2_status_t AXIS2_CALL
00212     axis2_msg_recv_set_receive(
00213         axis2_msg_recv_t * msg_recv,
00214         const axutil_env_t * env,
00215         AXIS2_MSG_RECV_RECEIVE func);
00216 
00217         AXIS2_EXPORT axis2_status_t AXIS2_CALL
00218         axis2_msg_recv_set_load_and_init_svc(
00219                 axis2_msg_recv_t *msg_recv,
00220                 const axutil_env_t *env,
00221                 AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func);
00222 
00223         AXIS2_EXPORT axis2_status_t AXIS2_CALL
00224         axis2_msg_recv_load_and_init_svc(
00225                 axis2_msg_recv_t *msg_recv,
00226                 const axutil_env_t *env,
00227                 struct axis2_svc *svc);
00228 
00236     AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00237     axis2_msg_recv_create(
00238         const axutil_env_t * env);
00239 
00241 #ifdef __cplusplus
00242 }
00243 #endif
00244 
00245 #endif                          /* AXIS2_MSG_RECV_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__children__qname__iterator_8h.html0000644000175000017500000001221011172017604027275 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_children_qname_iterator.h File Reference

axiom_children_qname_iterator.h File Reference

this is the iterator for om nodes using qname More...

#include <axiom_node.h>
#include <axiom_namespace.h>
#include <axutil_qname.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_children_qname_iterator 
axiom_children_qname_iterator_t

Functions

AXIS2_EXTERN
axiom_children_qname_iterator_t * 
axiom_children_qname_iterator_create (const axutil_env_t *env, axiom_node_t *current_child, axutil_qname_t *given_qname)
AXIS2_EXTERN void axiom_children_qname_iterator_free (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_qname_iterator_remove (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_children_qname_iterator_has_next (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_children_qname_iterator_next (axiom_children_qname_iterator_t *iterator, const axutil_env_t *env)


Detailed Description

this is the iterator for om nodes using qname


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__signature__token__builder.html0000644000175000017500000000425011172017604027607 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_signature_token_builder

Rp_signature_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_signature_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals.html0000644000175000017500000072242211172017604021622 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- a -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/installdox0000755000175000017500000000502511172017604021411 0ustar00manjulamanjula00000000000000#!/usr/bin/perl %subst = ( ); $quiet = 0; if (open(F,"search.cfg")) { $_= ; s/[ \t\n]*$//g ; $subst{"_doc"} = $_; $_= ; s/[ \t\n]*$//g ; $subst{"_cgi"} = $_; } while ( @ARGV ) { $_ = shift @ARGV; if ( s/^-// ) { if ( /^l(.*)/ ) { $v = ($1 eq "") ? shift @ARGV : $1; ($v =~ /\/$/) || ($v .= "/"); $_ = $v; if ( /(.+)\@(.+)/ ) { if ( exists $subst{$1} ) { $subst{$1} = $2; } else { print STDERR "Unknown tag file $1 given with option -l\n"; &usage(); } } 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, $_ ); } } foreach $sub (keys %subst) { if ( $subst{$sub} eq "" ) { print STDERR "No substitute given for tag file `$sub'\n"; &usage(); } elsif ( ! $quiet && $sub ne "_doc" && $sub ne "_cgi" ) { print "Substituting $subst{$sub} for each occurence of tag file $sub\n"; } } 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 () { s/doxygen\=\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\" (href|src)=\"\2/doxygen\=\"$1:$subst{$1}\" \3=\"$subst{$1}/g; print G "$_"; } } else { while () { s/\"([^ \"\:\t\>\<]*)\:([^ \"\t\>\<]*)\", \"\2/\"$1:$subst{$1}\" ,\"$subst{$1}/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; } axis2c-src-1.6.0/docs/api/html/group__axis2__desc.html0000644000175000017500000001065311172017604023731 0ustar00manjulamanjula00000000000000 Axis2/C: description

description


Modules

 description
 description related constants
 flow
 flow container
 handler description
 module
 module description
 message
 operation
 phase rule
 policy include
 service
 service group
 transport in description
 transport out description

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__holder_8h-source.html0000644000175000017500000003110211172017604026121 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_holder.h Source File

axis2_phase_holder.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_PHASE_HOLDER_H
00020 #define AXIS2_PHASE_HOLDER_H
00021 
00035 #include <axis2_const.h>
00036 #include <axutil_error.h>
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axutil_allocator.h>
00040 #include <axutil_qname.h>
00041 #include <axutil_array_list.h>
00042 #include <axis2_handler_desc.h>
00043 #include <axis2_phase.h>
00044 #include <axis2_phase_rule.h>
00045 #include <axis2_handler.h>
00046 
00047 #ifdef __cplusplus
00048 extern "C"
00049 {
00050 #endif
00051 
00053     typedef struct axis2_phase_holder axis2_phase_holder_t;
00054 
00055     struct axis2_phase;
00056     struct axis2_handler_desc;
00057     struct axis2_handler;
00058     struct axis2_phase_rule;
00059 
00066     AXIS2_EXTERN void AXIS2_CALL
00067     axis2_phase_holder_free(
00068         axis2_phase_holder_t * phase_holder,
00069         const axutil_env_t * env);
00070 
00078     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00079     axis2_phase_holder_is_phase_exist(
00080         axis2_phase_holder_t * phase_holder,
00081         const axutil_env_t * env,
00082         const axis2_char_t * phase_name);
00083 
00091     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00092     axis2_phase_holder_add_handler(
00093         axis2_phase_holder_t * phase_holder,
00094         const axutil_env_t * env,
00095         struct axis2_handler_desc *handler);
00096 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     axis2_phase_holder_remove_handler(
00106         axis2_phase_holder_t * phase_holder,
00107         const axutil_env_t * env,
00108         struct axis2_handler_desc *handler);
00109 
00118     AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00119                 axis2_phase_holder_get_phase(
00120                     const axis2_phase_holder_t * phase_holder,
00121                     const axutil_env_t * env,
00122                     const axis2_char_t * phase_name);
00123 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138     axis2_phase_holder_build_transport_handler_chain(
00139         axis2_phase_holder_t * phase_holder,
00140         const axutil_env_t * env,
00141         struct axis2_phase *phase,
00142         axutil_array_list_t * handlers);
00143 
00149     AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL
00150     axis2_phase_holder_create(
00151         const axutil_env_t * env);
00152 
00159     AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL
00160 
00161     axis2_phase_holder_create_with_phases(
00162         const axutil_env_t * env,
00163         axutil_array_list_t * phases);
00164 
00167 #ifdef __cplusplus
00168 }
00169 #endif
00170 #endif                          /* AXIS2_PHASE_HOLDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__parser.html0000644000175000017500000000365511172017604024402 0ustar00manjulamanjula00000000000000 Axis2/C: parser

parser


Modules

 XML reader
 XML writer

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__grp__ctx_8h-source.html0000644000175000017500000003162011172017604026151 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_grp_ctx.h Source File

axis2_svc_grp_ctx.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_SVC_GRP_CTX_H
00020 #define AXIS2_SVC_GRP_CTX_H
00021 
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_svc_ctx.h>
00038 #include <axis2_svc_grp.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00045     struct axis2_svc_grp;
00046 
00048     typedef struct axis2_svc_grp_ctx axis2_svc_grp_ctx_t;
00049 
00060     AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL
00061     axis2_svc_grp_ctx_create(
00062         const axutil_env_t * env,
00063         struct axis2_svc_grp *svc_grp,
00064         struct axis2_conf_ctx *conf_ctx);
00065 
00073     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00074     axis2_svc_grp_ctx_get_base(
00075         const axis2_svc_grp_ctx_t * svc_grp_ctx,
00076         const axutil_env_t * env);
00077 
00085     AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
00086     axis2_svc_grp_ctx_get_parent(
00087         const axis2_svc_grp_ctx_t * svc_grp_ctx,
00088         const axutil_env_t * env);
00089 
00096     AXIS2_EXTERN void AXIS2_CALL
00097     axis2_svc_grp_ctx_free(
00098         struct axis2_svc_grp_ctx *svc_grp_ctx,
00099         const axutil_env_t * env);
00100 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111     axis2_svc_grp_ctx_init(
00112         struct axis2_svc_grp_ctx *svc_grp_ctx,
00113         const axutil_env_t * env,
00114         struct axis2_conf *conf);
00115 
00122     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00123     axis2_svc_grp_ctx_get_id(
00124         const axis2_svc_grp_ctx_t * svc_grp_ctx,
00125         const axutil_env_t * env);
00126 
00134     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135     axis2_svc_grp_ctx_set_id(
00136         struct axis2_svc_grp_ctx *svc_grp_ctx,
00137         const axutil_env_t * env,
00138         const axis2_char_t * id);
00139 
00147     AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00148     axis2_svc_grp_ctx_get_svc_ctx(
00149         const axis2_svc_grp_ctx_t * svc_grp_ctx,
00150         const axutil_env_t * env,
00151         const axis2_char_t * svc_name);
00152 
00160     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00161     axis2_svc_grp_ctx_fill_svc_ctx_map(
00162         struct axis2_svc_grp_ctx *svc_grp_ctx,
00163         const axutil_env_t * env);
00164 
00172     AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL
00173     axis2_svc_grp_ctx_get_svc_grp(
00174         const axis2_svc_grp_ctx_t * svc_grp_ctx,
00175         const axutil_env_t * env);
00176 
00183     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00184     axis2_svc_grp_ctx_get_svc_ctx_map(
00185         const axis2_svc_grp_ctx_t * svc_grp_ctx,
00186         const axutil_env_t * env);
00187 
00190 #ifdef __cplusplus
00191 }
00192 #endif
00193 
00194 #endif                          /* AXIS2_SVC_GRP_CTX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__algorithmsuite__builder_8h-source.html0000644000175000017500000001237211172017604027635 0ustar00manjulamanjula00000000000000 Axis2/C: rp_algorithmsuite_builder.h Source File

rp_algorithmsuite_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ALGORITHMSUITE_BUILDER_H
00019 #define RP_ALGORITHMSUITE_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_algorithmsuite.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_algorithmsuite_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__text_8h-source.html0000644000175000017500000002177111172017604027126 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_text.h Source File

axiom_soap_fault_text.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_TEXT_H
00020 #define AXIOM_SOAP_FAULT_TEXT_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault_reason.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_soap_fault_text axiom_soap_fault_text_t;
00035 
00049     AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL
00050     axiom_soap_fault_text_create_with_parent(
00051         const axutil_env_t * env,
00052         axiom_soap_fault_reason_t * fault);
00053 
00061     AXIS2_EXTERN void AXIS2_CALL
00062     axiom_soap_fault_text_free(
00063         axiom_soap_fault_text_t * fault_text,
00064         const axutil_env_t * env);
00065 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     axiom_soap_fault_text_set_lang(
00076         axiom_soap_fault_text_t * fault_text,
00077         const axutil_env_t * env,
00078         const axis2_char_t * lang);
00079 
00087     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00088     axiom_soap_fault_text_get_lang(
00089         axiom_soap_fault_text_t * fault_text,
00090         const axutil_env_t * env);
00091 
00099     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00100     axiom_soap_fault_text_get_base_node(
00101         axiom_soap_fault_text_t * fault_text,
00102         const axutil_env_t * env);
00103 
00113     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114     axiom_soap_fault_text_set_text(
00115         axiom_soap_fault_text_t * fault_text,
00116         const axutil_env_t * env,
00117         axis2_char_t * value,
00118         axis2_char_t * lang);
00119 
00127     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00128     axiom_soap_fault_text_get_text(
00129         axiom_soap_fault_text_t * fault_text,
00130         const axutil_env_t * env);
00131 
00134 #ifdef __cplusplus
00135 }
00136 #endif
00137 
00138 #endif                          /* AXIOM_SOAP_FAULT_TEXT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__algoruthmsuite.html0000644000175000017500000005272111172017604025464 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_algoruthmsuite

Rp_algoruthmsuite


Typedefs

typedef struct
rp_algorithmsuite_t 
rp_algorithmsuite_t

Functions

AXIS2_EXTERN
rp_algorithmsuite_t * 
rp_algorithmsuite_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_algorithmsuite_free (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_algosuite_string (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_algosuite (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *algosuite_string)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_symmetric_signature (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_symmetric_signature (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *symmetric_signature)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_asymmetric_signature (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_asymmetric_signature (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *asymmetric_signature)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_computed_key (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_computed_key (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *computed_key)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_digest (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_encryption (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN int rp_algorithmsuite_get_max_symmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_max_symmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, int max_symmetric_keylength)
AXIS2_EXTERN int rp_algorithmsuite_get_min_symmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN int rp_algorithmsuite_get_max_asymmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_max_asymmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, int max_asymmetric_keylength)
AXIS2_EXTERN int rp_algorithmsuite_get_min_asymmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_min_asymmetric_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, int min_asymmetric_keylength)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_symmetrickeywrap (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_asymmetrickeywrap (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_signature_key_derivation (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_encryption_key_derivation (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_soap_normalization (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_soap_normalization (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *soap_normalization)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_str_transformation (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_str_transformation (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *str_transformation)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_c14n (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_c14n (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *c14n)
AXIS2_EXTERN
axis2_char_t * 
rp_algorithmsuite_get_xpath (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_set_xpath (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *xpath)
AXIS2_EXTERN
axis2_status_t 
rp_algorithmsuite_increment_ref (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN int rp_algorithmsuite_get_encryption_derivation_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)
AXIS2_EXTERN int rp_algorithmsuite_get_signature_derivation_keylength (rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__mutex.html0000644000175000017500000003303111172017604024150 0ustar00manjulamanjula00000000000000 Axis2/C: thread mutex routines

thread mutex routines
[utilities]


Defines

#define AXIS2_THREAD_MUTEX_DEFAULT   0x0
#define AXIS2_THREAD_MUTEX_NESTED   0x1
#define AXIS2_THREAD_MUTEX_UNNESTED   0x2

Typedefs

typedef struct
axutil_thread_mutex_t 
axutil_thread_mutex_t

Functions

AXIS2_EXTERN
axutil_thread_mutex_t
axutil_thread_mutex_create (axutil_allocator_t *allocator, unsigned int flags)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_lock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_trylock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_unlock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_destroy (axutil_thread_mutex_t *mutex)

Define Documentation

#define AXIS2_THREAD_MUTEX_DEFAULT   0x0

platform-optimal lock behavior

#define AXIS2_THREAD_MUTEX_NESTED   0x1

enable nested (recursive) locks

#define AXIS2_THREAD_MUTEX_UNNESTED   0x2

disable nested locks


Typedef Documentation

Opaque thread-local mutex structure


Function Documentation

AXIS2_EXTERN axutil_thread_mutex_t* axutil_thread_mutex_create ( axutil_allocator_t allocator,
unsigned int  flags 
)

Create and initialize a mutex that can be used to synchronize threads.

Parameters:
flags Or'ed value of:
           AXIS2_THREAD_MUTEX_DEFAULT   platform-optimal lock behavior.
           AXIS2_THREAD_MUTEX_NESTED    enable nested (recursive) locks.
           AXIS2_THREAD_MUTEX_UNNESTED  disable nested locks (non-recursive).
 
allocator the allocator from which to allocate the mutex.
Returns:
mutex the memory address where the newly created mutex will be stored.
Warning:
Be cautious in using AXIS2_THREAD_MUTEX_DEFAULT. While this is the most optimial mutex based on a given platform's performance charateristics, it will behave as either a nested or an unnested lock.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_destroy ( axutil_thread_mutex_t mutex  ) 

Destroy the mutex and free the memory associated with the lock.

Parameters:
mutex the mutex to destroy.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_lock ( axutil_thread_mutex_t mutex  ) 

Acquire the lock for the given mutex. If the mutex is already locked, the current thread will be put to sleep until the lock becomes available.

Parameters:
mutex the mutex on which to acquire the lock.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_trylock ( axutil_thread_mutex_t mutex  ) 

Attempt to acquire the lock for the given mutex. If the mutex has already been acquired, the call returns immediately

Parameters:
mutex the mutex on which to attempt the lock acquiring.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_unlock ( axutil_thread_mutex_t mutex  ) 

Release the lock for the given mutex.

Parameters:
mutex the mutex from which to release the lock.


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__reference_8h.html0000644000175000017500000001263211172017604024222 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_reference.h File Reference

neethi_reference.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_includes.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_reference_t 
neethi_reference_t

Functions

AXIS2_EXTERN
neethi_reference_t * 
neethi_reference_create (const axutil_env_t *env)
AXIS2_EXTERN void neethi_reference_free (neethi_reference_t *neethi_reference, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
neethi_reference_get_uri (neethi_reference_t *neethi_reference, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_reference_set_uri (neethi_reference_t *neethi_reference, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
neethi_reference_serialize (neethi_reference_t *neethi_reference, axiom_node_t *parent, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__client_8h-source.html0000644000175000017500000001266611172017604024621 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_client.h Source File

axis2_client.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_CLIENT_H
00020 #define AXIS2_CLIENT_H
00021 
00027 #include <axis2_async_result.h>
00028 #include <axis2_callback.h>
00029 #include <axis2_op_client.h>
00030 #include <axis2_options.h>
00031 #include <axis2_stub.h>
00032 #include <axis2_svc_client.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00040 #ifdef __cplusplus
00041 }
00042 #endif
00043 
00044 #endif                          /* AXIS2_CLIENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__trust10.html0000644000175000017500000004540511172017604023073 0ustar00manjulamanjula00000000000000 Axis2/C: Trust10

Trust10


Typedefs

typedef struct
rp_issued_token 
rp_issued_token_t
typedef struct
rp_trust10_t 
rp_trust10_t

Functions

AXIS2_EXTERN
rp_issued_token_t * 
rp_issued_token_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_issued_token_free (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_issued_token_get_inclusion (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_set_inclusion (rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_char_t *inclusion)
AXIS2_EXTERN
axiom_node_t * 
rp_issued_token_get_issuer_epr (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_set_issuer_epr (rp_issued_token_t *issued_token, const axutil_env_t *env, axiom_node_t *issuer_epr)
AXIS2_EXTERN
axiom_node_t * 
rp_issued_token_get_requested_sec_token_template (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_set_requested_sec_token_template (rp_issued_token_t *issued_token, const axutil_env_t *env, axiom_node_t *req_sec_token_template)
AXIS2_EXTERN axis2_bool_t rp_issued_token_get_derivedkeys (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_set_derivedkeys (rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t derivedkeys)
AXIS2_EXTERN axis2_bool_t rp_issued_token_get_require_external_reference (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_set_require_exernal_reference (rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t require_external_reference)
AXIS2_EXTERN axis2_bool_t rp_issued_token_get_require_internal_reference (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_set_require_internal_reference (rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t require_internal_reference)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_increment_ref (rp_issued_token_t *issued_token, const axutil_env_t *env)
AXIS2_EXTERN
neethi_assertion_t * 
rp_issued_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)
AXIS2_EXTERN
axis2_status_t 
rp_issued_token_builder_process_alternatives (const axutil_env_t *env, neethi_all_t *all, rp_issued_token_t *issued_token)
AXIS2_EXTERN
rp_trust10_t * 
rp_trust10_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_trust10_free (rp_trust10_t *trust10, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t rp_trust10_get_must_support_client_challenge (rp_trust10_t *trust10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_trust10_set_must_support_client_challenge (rp_trust10_t *trust10, const axutil_env_t *env, axis2_bool_t must_support_client_challenge)
AXIS2_EXTERN axis2_bool_t rp_trust10_get_must_support_server_challenge (rp_trust10_t *trust10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_trust10_set_must_support_server_challenge (rp_trust10_t *trust10, const axutil_env_t *env, axis2_bool_t must_support_server_challenge)
AXIS2_EXTERN axis2_bool_t rp_trust10_get_require_client_entropy (rp_trust10_t *trust10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_trust10_set_require_client_entropy (rp_trust10_t *trust10, const axutil_env_t *env, axis2_bool_t require_client_entropy)
AXIS2_EXTERN axis2_bool_t rp_trust10_get_require_server_entropy (rp_trust10_t *trust10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_trust10_set_require_server_entropy (rp_trust10_t *trust10, const axutil_env_t *env, axis2_bool_t require_server_entropy)
AXIS2_EXTERN axis2_bool_t rp_trust10_get_must_support_issued_token (rp_trust10_t *trust10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_trust10_set_must_support_issued_token (rp_trust10_t *trust10, const axutil_env_t *env, axis2_bool_t must_support_issued_token)
AXIS2_EXTERN
axis2_status_t 
rp_trust10_increment_ref (rp_trust10_t *trust10, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__layout__builder_8h-source.html0000644000175000017500000001231211172017604026104 0ustar00manjulamanjula00000000000000 Axis2/C: rp_layout_builder.h Source File

rp_layout_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_LAYOUT_BUILDER_H
00019 #define RP_LAYOUT_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_layout.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_layout_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__includes_8h.html0000644000175000017500000000612011172017604023232 0ustar00manjulamanjula00000000000000 Axis2/C: rp_includes.h File Reference

rp_includes.h File Reference

includes most useful headers for RP More...

#include <axis2_util.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>
#include <axis2_const.h>
#include <axutil_error.h>
#include <axutil_utils_defines.h>
#include <axutil_log_default.h>
#include <axutil_error_default.h>
#include <axutil_env.h>
#include <axiom.h>
#include <axiom_soap.h>
#include <axutil_qname.h>
#include <rp_defines.h>

Go to the source code of this file.


Detailed Description

includes most useful headers for RP


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__md5.html0000644000175000017500000003242011172017604023754 0ustar00manjulamanjula00000000000000 Axis2/C: md5

md5
[utilities]


Classes

struct  axutil_md5_ctx

Defines

#define AXIS2_MD5_DIGESTSIZE   16

Typedefs

typedef struct
axutil_md5_ctx 
axutil_md5_ctx_t

Functions

AXIS2_EXTERN
axutil_md5_ctx_t * 
axutil_md5_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_md5_ctx_free (axutil_md5_ctx_t *md5_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_md5_update (axutil_md5_ctx_t *context, const axutil_env_t *env, const void *input_str, size_t inputLen)
AXIS2_EXTERN
axis2_status_t 
axutil_md5_final (axutil_md5_ctx_t *context, const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE])
AXIS2_EXTERN
axis2_status_t 
axutil_md5 (const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE], const void *input_str, size_t inputLen)

Define Documentation

#define AXIS2_MD5_DIGESTSIZE   16

The MD5 digest size


Function Documentation

AXIS2_EXTERN axis2_status_t axutil_md5 ( const axutil_env_t env,
unsigned char  digest[AXIS2_MD5_DIGESTSIZE],
const void *  input_str,
size_t  inputLen 
)

MD5 in one step.

Parameters:
env,pointer to the env struct.
digest The final MD5 digest.
input_str The message block to use.
inputLen The length of the message block.

AXIS2_EXTERN axutil_md5_ctx_t* axutil_md5_ctx_create ( const axutil_env_t env  ) 

Creates md5_ctx struct, which is used for the MD5 message-digest operation. Initialization of the struct is done during the creation process.

Parameters:
env,pointer to the env struct.
Returns:
pointer to md5_ctx struct created.

AXIS2_EXTERN void axutil_md5_ctx_free ( axutil_md5_ctx_t *  md5_ctx,
const axutil_env_t env 
)

Frees the md5_ctx struct

Parameters:
md5_ctx,pointer to struct to free.
env,pointer to the env struct.

AXIS2_EXTERN axis2_status_t axutil_md5_final ( axutil_md5_ctx_t *  context,
const axutil_env_t env,
unsigned char  digest[AXIS2_MD5_DIGESTSIZE] 
)

MD5 finalization. Ends an MD5 message-digest operation, writing the message digest and zeroing the context.

Parameters:
digest The final MD5 digest.
env,pointer to the env struct.
context The MD5 content we are finalizing.

AXIS2_EXTERN axis2_status_t axutil_md5_update ( axutil_md5_ctx_t *  context,
const axutil_env_t env,
const void *  input_str,
size_t  inputLen 
)

MD5 block update operation. Continue an MD5 message-digest operation, processing another message block, and updating the context.

Parameters:
context The MD5 content to update.
env,pointer to the env struct.
input_str next message block to update
inputLen The length of the next message block


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase_8h-source.html0000644000175000017500000004763111172017604024443 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase.h Source File

axis2_phase.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_PHASE_H
00020 #define AXIS2_PHASE_H
00021 
00039 #include <axis2_defines.h>
00040 #include <axutil_env.h>
00041 #include <axis2_handler.h>
00042 #include <axis2_handler_desc.h>
00043 #include <axutil_array_list.h>
00044 #include <axutil_qname.h>
00045 
00050 #define AXIS2_PHASE_BOTH_BEFORE_AFTER  0
00051 
00056 #define AXIS2_PHASE_BEFORE  1
00057 
00062 #define AXIS2_PHASE_AFTER  2
00063 
00068 #define AXIS2_PHASE_ANYWHERE  3
00069 
00070 #ifdef __cplusplus
00071 extern "C"
00072 {
00073 #endif
00074 
00076     typedef struct axis2_phase axis2_phase_t;
00077 
00078     struct axis2_msg_ctx;
00079 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     axis2_phase_add_handler_at(
00091         axis2_phase_t * phase,
00092         const axutil_env_t * env,
00093         const int index,
00094         axis2_handler_t * handler);
00095 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     axis2_phase_add_handler(
00106         axis2_phase_t * phase,
00107         const axutil_env_t * env,
00108         axis2_handler_t * handler);
00109 
00118     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119     axis2_phase_remove_handler(
00120         axis2_phase_t * phase,
00121         const axutil_env_t * env,
00122         axis2_handler_t * handler);
00123 
00133     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00134     axis2_phase_invoke(
00135         axis2_phase_t * phase,
00136         const axutil_env_t * env,
00137         struct axis2_msg_ctx *msg_ctx);
00138 
00145     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00146     axis2_phase_get_name(
00147         const axis2_phase_t * phase,
00148         const axutil_env_t * env);
00149 
00156     AXIS2_EXTERN int AXIS2_CALL
00157     axis2_phase_get_handler_count(
00158         const axis2_phase_t * phase,
00159         const axutil_env_t * env);
00160 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_phase_set_first_handler(
00171         axis2_phase_t * phase,
00172         const axutil_env_t * env,
00173         axis2_handler_t * handler);
00174 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     axis2_phase_set_last_handler(
00185         axis2_phase_t * phase,
00186         const axutil_env_t * env,
00187         axis2_handler_t * handler);
00188 
00199     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00200     axis2_phase_add_handler_desc(
00201         axis2_phase_t * phase,
00202         const axutil_env_t * env,
00203         axis2_handler_desc_t * handler_desc);
00204 
00215     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00216     axis2_phase_remove_handler_desc(
00217         axis2_phase_t * phase,
00218         const axutil_env_t * env,
00219         axis2_handler_desc_t * handler_desc);
00220 
00233     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00234     axis2_phase_insert_before(
00235         axis2_phase_t * phase,
00236         const axutil_env_t * env,
00237         axis2_handler_t * handler);
00238 
00251     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00252     axis2_phase_insert_after(
00253         axis2_phase_t * phase,
00254         const axutil_env_t * env,
00255         axis2_handler_t * handler);
00256 
00269     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00270 
00271     axis2_phase_insert_before_and_after(
00272         axis2_phase_t * phase,
00273         const axutil_env_t * env,
00274         axis2_handler_t * handler);
00275 
00286     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00287     axis2_phase_insert_handler_desc(
00288         axis2_phase_t * phase,
00289         const axutil_env_t * env,
00290         axis2_handler_desc_t * handler_desc);
00291 
00298     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00299 
00300     axis2_phase_get_all_handlers(
00301         const axis2_phase_t * phase,
00302         const axutil_env_t * env);
00303 
00313     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00314 
00315     axis2_phase_invoke_start_from_handler(
00316         axis2_phase_t * phase,
00317         const axutil_env_t * env,
00318         const int paused_handler_index,
00319         struct axis2_msg_ctx *msg_ctx);
00320 
00327     AXIS2_EXTERN void AXIS2_CALL
00328     axis2_phase_free(
00329         axis2_phase_t * phase,
00330         const axutil_env_t * env);
00331 
00338     AXIS2_EXTERN axis2_phase_t *AXIS2_CALL
00339     axis2_phase_create(
00340         const axutil_env_t * env,
00341         const axis2_char_t * phase_name);
00342 
00343     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00344     axis2_phase_increment_ref(
00345         axis2_phase_t * phase,
00346         const axutil_env_t * env);
00347 
00348 #ifdef __cplusplus
00349 }
00350 #endif
00351 
00352 #endif                          /* AXIS2_PHASE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__security__context__token_8h-source.html0000644000175000017500000003341111172017604030036 0ustar00manjulamanjula00000000000000 Axis2/C: rp_security_context_token.h Source File

rp_security_context_token.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_SECURITY_CONTEXT_TOKEN_H
00020 #define RP_SECURITY_CONTEXT_TOKEN_H
00021 
00027 #include <rp_includes.h>
00028 #include <neethi_policy.h>
00029 #include <rp_token.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct rp_security_context_token_t rp_security_context_token_t;
00037 
00038     AXIS2_EXTERN rp_security_context_token_t *AXIS2_CALL
00039     rp_security_context_token_create(
00040         const axutil_env_t * env);
00041 
00042     AXIS2_EXTERN void AXIS2_CALL
00043     rp_security_context_token_free(
00044         rp_security_context_token_t * security_context_token,
00045         const axutil_env_t * env);
00046 
00047     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00048     rp_security_context_token_get_inclusion(
00049         rp_security_context_token_t * security_context_token,
00050         const axutil_env_t * env);
00051 
00052     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00053     rp_security_context_token_set_inclusion(
00054         rp_security_context_token_t * security_context_token,
00055         const axutil_env_t * env,
00056         axis2_char_t * inclusion);
00057 
00058     AXIS2_EXTERN derive_key_type_t AXIS2_CALL
00059     rp_security_context_token_get_derivedkey(
00060         rp_security_context_token_t * security_context_token,
00061         const axutil_env_t * env);
00062 
00063     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00064     rp_security_context_token_set_derivedkey(
00065         rp_security_context_token_t * security_context_token,
00066         const axutil_env_t * env,
00067         derive_key_type_t derivedkey);
00068 
00069     AXIS2_EXTERN derive_key_version_t AXIS2_CALL
00070     rp_security_context_token_get_derivedkey_version(
00071         rp_security_context_token_t *security_context_token,
00072         const axutil_env_t *env);
00073 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     rp_security_context_token_set_derivedkey_version(
00076         rp_security_context_token_t *security_context_token,
00077         const axutil_env_t *env,
00078         derive_key_version_t version);
00079 
00080     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00081     rp_security_context_token_get_require_external_uri_ref(
00082         rp_security_context_token_t * security_context_token,
00083         const axutil_env_t * env);
00084 
00085     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00086     rp_security_context_token_set_require_external_uri_ref(
00087         rp_security_context_token_t * security_context_token,
00088         const axutil_env_t * env,
00089         axis2_bool_t require_external_uri_ref);
00090 
00091     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00092     rp_security_context_token_get_sc10_security_context_token(
00093         rp_security_context_token_t * security_context_token,
00094         const axutil_env_t * env);
00095 
00096     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097     rp_security_context_token_set_sc10_security_context_token(
00098         rp_security_context_token_t * security_context_token,
00099         const axutil_env_t * env,
00100         axis2_bool_t sc10_security_context_token);
00101 
00102     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00103     rp_security_context_token_get_issuer(
00104          rp_security_context_token_t *security_context_token, 
00105          const axutil_env_t *env);
00106 
00107     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108     rp_security_context_token_set_issuer(
00109         rp_security_context_token_t * security_context_token,
00110         const axutil_env_t * env,
00111         axis2_char_t *issuer);
00112 
00113     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00114     rp_security_context_token_get_bootstrap_policy(
00115          rp_security_context_token_t *security_context_token, 
00116          const axutil_env_t *env);
00117 
00118     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119     rp_security_context_token_set_bootstrap_policy(
00120         rp_security_context_token_t * security_context_token,
00121         const axutil_env_t * env,
00122         neethi_policy_t *bootstrap_policy);
00123 
00124     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00125     rp_security_context_token_get_is_secure_conversation_token(
00126          rp_security_context_token_t *security_context_token, 
00127          const axutil_env_t *env);
00128 
00129     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00130     rp_security_context_token_set_is_secure_conversation_token(
00131         rp_security_context_token_t * security_context_token,
00132         const axutil_env_t * env,
00133         axis2_bool_t is_secure_conversation_token);
00134 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136     rp_security_context_token_increment_ref(
00137         rp_security_context_token_t * security_context_token,
00138         const axutil_env_t * env);
00139 
00140 #ifdef __cplusplus
00141 }
00142 #endif
00143 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__signed__encrypted__items_8h-source.html0000644000175000017500000001666411172017604027765 0ustar00manjulamanjula00000000000000 Axis2/C: rp_signed_encrypted_items.h Source File

rp_signed_encrypted_items.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SIGNED_ENCRYPTED_ITEMS_H
00019 #define RP_SIGNED_ENCRYPTED_ITEMS_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_element.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct rp_signed_encrypted_items_t rp_signed_encrypted_items_t;
00035 
00036     AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL
00037     rp_signed_encrypted_items_create(
00038         const axutil_env_t * env);
00039 
00040     AXIS2_EXTERN void AXIS2_CALL
00041     rp_signed_encrypted_items_free(
00042         rp_signed_encrypted_items_t * signed_encrypted_items,
00043         const axutil_env_t * env);
00044 
00045     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00046     rp_signed_encrypted_items_get_signeditems(
00047         rp_signed_encrypted_items_t * signed_encrypted_items,
00048         const axutil_env_t * env);
00049 
00050     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00051     rp_signed_encrypted_items_set_signeditems(
00052         rp_signed_encrypted_items_t * signed_encrypted_items,
00053         const axutil_env_t * env,
00054         axis2_bool_t signeditems);
00055 
00056     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00057     rp_signed_encrypted_items_get_elements(
00058         rp_signed_encrypted_items_t * signed_encrypted_items,
00059         const axutil_env_t * env);
00060 
00061     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00062     rp_signed_encrypted_items_add_element(
00063         rp_signed_encrypted_items_t * signed_encrypted_items,
00064         const axutil_env_t * env,
00065         rp_element_t * element);
00066 
00067 #ifdef __cplusplus
00068 }
00069 #endif
00070 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__any__content__type_8h.html0000644000175000017500000001265311172017604025721 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_any_content_type.h File Reference

axis2_any_content_type.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_const.h>
#include <axutil_hash.h>
#include <axutil_qname.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_any_content_type 
axis2_any_content_type_t

Functions

AXIS2_EXTERN
axis2_any_content_type_t
axis2_any_content_type_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_any_content_type_add_value (axis2_any_content_type_t *any_content_type, const axutil_env_t *env, const axutil_qname_t *qname, const axis2_char_t *value)
AXIS2_EXTERN const
axis2_char_t * 
axis2_any_content_type_get_value (const axis2_any_content_type_t *any_content_type, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axutil_hash_t
axis2_any_content_type_get_value_map (const axis2_any_content_type_t *any_content_type, const axutil_env_t *env)
AXIS2_EXTERN void axis2_any_content_type_free (axis2_any_content_type_t *any_content_type, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__op__client.html0000644000175000017500000021672611172017604025137 0ustar00manjulamanjula00000000000000 Axis2/C: operation client

operation client
[client API]


Files

file  axis2_op_client.h

Typedefs

typedef struct
axis2_op_client 
axis2_op_client_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_options (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_options_t *options)
AXIS2_EXTERN const
axis2_options_t
axis2_op_client_get_options (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_add_msg_ctx (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_add_out_msg_ctx (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN const
axis2_msg_ctx_t
axis2_op_client_get_msg_ctx (const axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_wsdl_msg_labels_t message_label)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_callback (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_callback_t *callback)
AXIS2_EXTERN
axis2_callback_t
axis2_op_client_get_callback (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_execute (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_bool_t block)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_reset (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_complete (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_op_ctx_t
axis2_op_client_get_operation_context (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_callback_recv (axis2_op_client_t *op_client, const axutil_env_t *env, struct axis2_callback_recv *callback_recv)
AXIS2_EXTERN void axis2_op_client_free (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_op_client_t
axis2_op_client_create (const axutil_env_t *env, axis2_op_t *op, axis2_svc_ctx_t *svc_ctx, axis2_options_t *options)
AXIS2_EXTERN
axutil_string_t * 
axis2_op_client_get_soap_action (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_prepare_invocation (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_op_t *op, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_client_prepare_soap_envelope (axis2_op_client_t *op_client, const axutil_env_t *env, axiom_node_t *to_send)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_op_client_infer_transport (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_endpoint_ref_t *epr)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_op_client_create_default_soap_envelope (axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_engage_module (axis2_op_client_t *op_client, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_soap_version_uri (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_char_t *soap_version_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_soap_action (axis2_op_client_t *op_client, const axutil_env_t *env, axutil_string_t *soap_action)
AXIS2_EXTERN
axis2_status_t 
axis2_op_client_set_wsa_action (axis2_op_client_t *op_client, const axutil_env_t *env, const axis2_char_t *wsa_action)
AXIS2_EXTERN
axis2_svc_ctx_t
axis2_op_client_get_svc_ctx (const axis2_op_client_t *op_client, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_client_set_reuse (axis2_op_client_t *op_client, const axutil_env_t *env, axis2_bool_t reuse)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_client_two_way_send (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_client_receive (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)

Detailed Description

The operation client is meant to be used by advanced users to consume services. Operation client understands a specific Message Exchange Pattern (op) and hence the behavior is defined by the op. To consume services with an operation client, an operation (of type axis2_op_t) and a service context (of type axis2_svc_ctx_t) has to be provided along with options to be used. The execute() function can be used to send the request and get the response. The service client implementation uses the operation client and provides an easy to use API for consuming services. Hence the service client implementation is a very good example of how to use the operation client API.
See also:
service client

Typedef Documentation

typedef struct axis2_op_client axis2_op_client_t

Type name for struct axis2_op_client


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_op_client_add_msg_ctx ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Adds a message context to the client for processing.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
msg_ctx message context to be added. operation client takes over the ownership of the message context struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_add_out_msg_ctx ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Adds out message context to the client for processing.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
msg_ctx message context to be added. operation client takes over the ownership of the message context struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_complete ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Completes the execution by closing the transports if necessary. This method is useful when client uses two transports for sending and receiving.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
msg_ctx message context which contains the transport information
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_op_client_t* axis2_op_client_create ( const axutil_env_t env,
axis2_op_t op,
axis2_svc_ctx_t svc_ctx,
axis2_options_t options 
)

Creates an operation client struct for the specified operation, service context and given options.

Parameters:
env pointer to environment struct
op pointer to operation struct corresponding to the operation to to be executed. Newly created client assumes ownership of the operation.
svc_ctx pointer to service context struct representing the service to be consumed. Newly created client assumes ownership of the service context.
options options to be used by operation client. Newly created client assumes ownership of the options context.
Returns:
a pointer to newly created operation client struct, or NULL on error with error code set in environment's error

AXIS2_EXTERN axiom_soap_envelope_t* axis2_op_client_create_default_soap_envelope ( axis2_op_client_t op_client,
const axutil_env_t env 
)

Creates default SOAP envelope.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
Returns:
pointer to default SOAP envelope created

AXIS2_EXTERN axis2_status_t axis2_op_client_engage_module ( axis2_op_client_t op_client,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Engage named module. The named module must have been configured in the Axis2 configuration. For a module to be detected by the deployment engine, the modules has to be placed in the AXIS2_REPOSITORY/modules directory.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
qname QName representing the module name
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_execute ( axis2_op_client_t op_client,
const axutil_env_t env,
const axis2_bool_t  block 
)

Execute the op. What this does depends on the specific operation client. The basic idea is to have the operation client execute and do something with the messages that have been added to it so far. For example, if its an Out-In op, and if the Out message has been set, then executing the client asks it to send the out message and get the in message

Parameters:
op_client pointer to operation client
env pointer to environment struct
block indicates whether execution should block or return ASAP
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_op_client_free ( axis2_op_client_t op_client,
const axutil_env_t env 
)

Frees the operation client

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_callback_t* axis2_op_client_get_callback ( axis2_op_client_t op_client,
const axutil_env_t env 
)

Gets the callback.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
Returns:
callback

AXIS2_EXTERN const axis2_msg_ctx_t* axis2_op_client_get_msg_ctx ( const axis2_op_client_t op_client,
const axutil_env_t env,
const axis2_wsdl_msg_labels_t  message_label 
)

Gets a message corresponding to the given label.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
message_label the message label of the desired message context
Returns:
the desired message context or NULL if its not available. Returns a reference, not a cloned copy.

AXIS2_EXTERN axis2_op_ctx_t* axis2_op_client_get_operation_context ( const axis2_op_client_t op_client,
const axutil_env_t env 
)

Gets the operation context of the operation client.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
Returns:
operation context related to operation client

AXIS2_EXTERN const axis2_options_t* axis2_op_client_get_options ( const axis2_op_client_t op_client,
const axutil_env_t env 
)

Gets options used by operation client.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
Returns:
a pointer to the options struct if options set, else NULL. Returns a reference, not a cloned copy.

AXIS2_EXTERN axutil_string_t* axis2_op_client_get_soap_action ( const axis2_op_client_t op_client,
const axutil_env_t env 
)

Gets SOAP action.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
Returns:
a pointer to SOAP action string

AXIS2_EXTERN axis2_svc_ctx_t* axis2_op_client_get_svc_ctx ( const axis2_op_client_t op_client,
const axutil_env_t env 
)

Gets service context.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
Returns:
pointer to service context struct if set, else NULL

AXIS2_EXTERN axis2_transport_out_desc_t* axis2_op_client_infer_transport ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_endpoint_ref_t epr 
)

Tries to infer the transport looking at the URL, the URL can be http:// tcp:// mail:// local://. The method will look for the transport name as the protocol part of the transport.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
epr endpoint reference struct representing the endpoint URL
Returns:
pointer to the transport description with inferred information

AXIS2_EXTERN axis2_status_t axis2_op_client_prepare_invocation ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_op_t op,
axis2_msg_ctx_t msg_ctx 
)

Prepares the message context for invocation. Here the properties kept in the op_client are copied to the message context.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
op pointer operation to be invoked
msg_ctx pointer to message context to be filled
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_msg_ctx_t* axis2_op_client_prepare_soap_envelope ( axis2_op_client_t op_client,
const axutil_env_t env,
axiom_node_t *  to_send 
)

Prepares the SOAP envelope using the payload.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
to_send payload to be sent in AXIOM node format
Returns:
a pointer to message context struct filled with the SOAP envelope to be sent

AXIS2_EXTERN axis2_msg_ctx_t* axis2_op_client_receive ( const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Receives a message corresponding to a request depicted by given message context.

Parameters:
env pointer to environment struct
msg_ctx pointer to message context representing the response to be received
Returns:
message context representing the received response

AXIS2_EXTERN axis2_status_t axis2_op_client_reset ( axis2_op_client_t op_client,
const axutil_env_t env 
)

Resets the operation client to a clean status after the op has completed. This is how you can reuse an operation client. Note that this does not reset the options; only the internal state so the client can be used again.

Parameters:
op_client pointer to operation client
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_set_callback ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_callback_t callback 
)

Sets the callback to be executed when a response message is received.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
callback the callback to be used. operation client takes over the ownership of the message context struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_set_callback_recv ( axis2_op_client_t op_client,
const axutil_env_t env,
struct axis2_callback_recv *  callback_recv 
)

Sets callback receiver.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
callback_recv pointer to callback receiver struct. operation client assumes ownership of the callback struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_set_options ( axis2_op_client_t op_client,
const axutil_env_t env,
const axis2_options_t options 
)

Sets the options that is to be used by this operation client.

Parameters:
op_client pointer to operation client struct
env pointer to environment struct
options pointer to options struct to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_op_client_set_reuse ( axis2_op_client_t op_client,
const axutil_env_t env,
axis2_bool_t  reuse 
)

Sets whether to reuse op client.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
reuse flag is a boolean value
Returns:
void

AXIS2_EXTERN axis2_status_t axis2_op_client_set_soap_action ( axis2_op_client_t op_client,
const axutil_env_t env,
axutil_string_t *  soap_action 
)

Sets SOAP action.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
soap_action SOAP action
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_set_soap_version_uri ( axis2_op_client_t op_client,
const axutil_env_t env,
const axis2_char_t *  soap_version_uri 
)

Sets SOAP version URI.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
soap_version_uri SOAP version URI
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_client_set_wsa_action ( axis2_op_client_t op_client,
const axutil_env_t env,
const axis2_char_t *  wsa_action 
)

Sets WSA action.

Parameters:
op_client pointer to op client struct
env pointer to environment struct
wsa_action Web services Addressing action
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_msg_ctx_t* axis2_op_client_two_way_send ( const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Sends a message represented by the given message context and captures the response in return message context.

Parameters:
env pointer to environment struct
msg_ctx pointer to message context representing the message to be sent
Returns:
message context representing the received response


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tcpmon__entry_8h-source.html0000644000175000017500000003675111172017604024757 0ustar00manjulamanjula00000000000000 Axis2/C: tcpmon_entry.h Source File

tcpmon_entry.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef TCPMON_ENTRY_H
00020 #define TCPMON_ENTRY_H
00021 
00022 #include <axutil_env.h>
00023 #include <axutil_string.h>
00024 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00041     typedef struct tcpmon_entry_ops tcpmon_entry_ops_t;
00042     typedef struct tcpmon_entry tcpmon_entry_t;
00043 
00044     struct tcpmon_entry_ops
00045     {
00046 
00053         axis2_status_t(
00054             AXIS2_CALL
00055             * free)(
00056                 tcpmon_entry_t * entry,
00057                 const axutil_env_t * env);
00058 
00064         axis2_char_t *(
00065             AXIS2_CALL
00066             * arrived_time)(
00067                 tcpmon_entry_t * entry,
00068                 const axutil_env_t * env);
00069 
00075         axis2_char_t *(
00076             AXIS2_CALL
00077             * sent_time)(
00078                 tcpmon_entry_t * entry,
00079                 const axutil_env_t * env);
00080 
00086         axis2_char_t *(
00087             AXIS2_CALL
00088             * time_diff)(
00089                 tcpmon_entry_t * entry,
00090                 const axutil_env_t * env);
00091 
00097         axis2_char_t *(
00098             AXIS2_CALL
00099             * sent_data)(
00100                 tcpmon_entry_t * entry,
00101                 const axutil_env_t * env);
00102 
00108         axis2_char_t *(
00109             AXIS2_CALL
00110             * arrived_data)(
00111                 tcpmon_entry_t * entry,
00112                 const axutil_env_t * env);
00113 
00119         axis2_char_t *(
00120             AXIS2_CALL
00121             * sent_headers)(
00122                 tcpmon_entry_t * entry,
00123                 const axutil_env_t * env);
00124 
00130         axis2_char_t *(
00131             AXIS2_CALL
00132             * arrived_headers)(
00133                 tcpmon_entry_t * entry,
00134                 const axutil_env_t * env);
00135 
00141         axis2_bool_t(
00142             AXIS2_CALL
00143             * is_success)(
00144                 tcpmon_entry_t * entry,
00145                 const axutil_env_t * env);
00146 
00147         int(
00148             AXIS2_CALL
00149             * get_format_bit)(
00150                 tcpmon_entry_t * entry,
00151                 const axutil_env_t * env);
00152 
00153         int(
00154             AXIS2_CALL
00155             * get_sent_data_length)(
00156                 tcpmon_entry_t * entry,
00157                 const axutil_env_t * env);
00158 
00159         int(
00160             AXIS2_CALL
00161             * get_arrived_data_length)(
00162                 tcpmon_entry_t * entry,
00163                 const axutil_env_t * env);
00164 
00165         axis2_status_t(
00166             AXIS2_CALL
00167             * set_format_bit)(
00168                 tcpmon_entry_t * entry,
00169                 const axutil_env_t * env,
00170                 int format_bit);
00171     };
00172 
00173     struct tcpmon_entry
00174     {
00175         tcpmon_entry_ops_t *ops;
00176     };
00177 
00183     tcpmon_entry_t *AXIS2_CALL
00184     tcpmon_entry_create(
00185         const axutil_env_t * env);
00186 
00187     /*************************** Function macros **********************************/
00188 
00189 #define TCPMON_ENTRY_FREE(entry, env) \
00190         ((entry)->ops->free (entry, env))
00191 
00192 #define TCPMON_ENTRY_ARRIVED_TIME(entry, env) \
00193         ((entry)->ops->arrived_time(entry, env))
00194 
00195 #define TCPMON_ENTRY_SENT_TIME(entry, env) \
00196         ((entry)->ops->sent_time(entry, env))
00197 
00198 #define TCPMON_ENTRY_TIME_DIFF(entry, env) \
00199         ((entry)->ops->time_diff(entry, env))
00200 
00201 #define TCPMON_ENTRY_SENT_DATA(entry, env) \
00202         ((entry)->ops->sent_data(entry, env))
00203 
00204 #define TCPMON_ENTRY_ARRIVED_DATA(entry, env) \
00205         ((entry)->ops->arrived_data(entry, env))
00206 
00207 #define TCPMON_ENTRY_SENT_HEADERS(entry, env) \
00208         ((entry)->ops->sent_headers(entry, env))
00209 
00210 #define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env) \
00211         ((entry)->ops->arrived_headers(entry, env))
00212 
00213 #define TCPMON_ENTRY_IS_SUCCESS(entry, env) \
00214         ((entry)->ops->is_success(entry, env))
00215 
00216 #define TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit) \
00217         ((entry)->ops->set_format_bit(entry, env, format_bit))
00218 
00219 #define TCPMON_ENTRY_GET_FORMAT_BIT(entry, env) \
00220         ((entry)->ops->get_format_bit(entry, env))
00221 
00222 #define TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) \
00223         ((entry)->ops->get_sent_data_length(entry, env))
00224 
00225 #define TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) \
00226         ((entry)->ops->get_arrived_data_length(entry, env))
00227 
00230 #ifdef __cplusplus
00231 }
00232 #endif
00233 
00234 #endif                          /* TCPMON_ENTRY_H */

Generated on Thu Apr 16 11:31:21 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__rule_8h.html0000644000175000017500000002152611172017604024326 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_rule.h File Reference

axis2_phase_rule.h File Reference

#include <axis2_defines.h>
#include <axutil_qname.h>
#include <axutil_param.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_phase_rule 
axis2_phase_rule_t

Functions

AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_rule_get_before (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_before (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, const axis2_char_t *before)
AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_rule_get_after (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_after (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, const axis2_char_t *after)
AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_rule_get_name (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_name (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN axis2_bool_t axis2_phase_rule_is_first (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_first (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, axis2_bool_t first)
AXIS2_EXTERN axis2_bool_t axis2_phase_rule_is_last (const axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_rule_set_last (axis2_phase_rule_t *phase_rule, const axutil_env_t *env, axis2_bool_t last)
AXIS2_EXTERN void axis2_phase_rule_free (axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_rule_t
axis2_phase_rule_clone (axis2_phase_rule_t *phase_rule, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_rule_t
axis2_phase_rule_create (const axutil_env_t *env, const axis2_char_t *name)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__simple__request_8h-source.html0000644000175000017500000004347411172017604027742 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_simple_request.h Source File

axis2_http_simple_request.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_SIMPLE_REQUEST_H
00020 #define AXIS2_HTTP_SIMPLE_REQUEST_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axis2_http_request_line.h>
00037 #include <axis2_http_header.h>
00038 #include <axutil_stream.h>
00039 #include <axutil_array_list.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00047     typedef struct axis2_http_simple_request axis2_http_simple_request_t;
00048 
00053     AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL
00054 
00055     axis2_http_simple_request_get_request_line(
00056         const axis2_http_simple_request_t * simple_request,
00057         const axutil_env_t * env);
00058 
00065     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066 
00067     axis2_http_simple_request_set_request_line(
00068         axis2_http_simple_request_t * simple_request,
00069         const axutil_env_t * env,
00070         axis2_http_request_line_t * request_line);
00071 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078 
00079     axis2_http_simple_request_contains_header(
00080         axis2_http_simple_request_t * simple_request,
00081         const axutil_env_t * env,
00082         const axis2_char_t * name);
00083 
00088     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00089 
00090     axis2_http_simple_request_get_headers(
00091         const axis2_http_simple_request_t * simple_request,
00092         const axutil_env_t * env);
00093 
00099     AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL
00100 
00101     axis2_http_simple_request_get_first_header(
00102         const axis2_http_simple_request_t * simple_request,
00103         const axutil_env_t * env,
00104         const axis2_char_t * str);
00105 
00112     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00113 
00114     axis2_http_simple_request_remove_headers(
00115         axis2_http_simple_request_t * simple_request,
00116         const axutil_env_t * env,
00117         const axis2_char_t * str);
00118 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126 
00127     axis2_http_simple_request_add_header(
00128         axis2_http_simple_request_t * simple_request,
00129         const axutil_env_t * env,
00130         axis2_http_header_t * header);
00131 
00136     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00137 
00138     axis2_http_simple_request_get_content_type(
00139         const axis2_http_simple_request_t * simple_request,
00140         const axutil_env_t * env);
00141 
00146     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00147 
00148     axis2_http_simple_request_get_charset(
00149         const axis2_http_simple_request_t * simple_request,
00150         const axutil_env_t * env);
00151 
00156     AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00157 
00158     axis2_http_simple_request_get_content_length(
00159         const axis2_http_simple_request_t * simple_request,
00160         const axutil_env_t * env);
00161 
00166     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00167 
00168     axis2_http_simple_request_get_body(
00169         const axis2_http_simple_request_t * simple_request,
00170         const axutil_env_t * env);
00171 
00177     AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00178 
00179     axis2_http_simple_request_get_body_bytes(
00180         const axis2_http_simple_request_t * simple_request,
00181         const axutil_env_t * env,
00182         char **buf);
00183 
00190     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00191 
00192     axis2_http_simple_request_set_body_string(
00193         axis2_http_simple_request_t * simple_request,
00194         const axutil_env_t * env,
00195         void *str,
00196         unsigned int str_len);
00197 
00203     AXIS2_EXTERN void AXIS2_CALL
00204     axis2_http_simple_request_free(
00205         axis2_http_simple_request_t * simple_request,
00206         const axutil_env_t * env);
00207 
00215     AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL
00216 
00217     axis2_http_simple_request_create(
00218         const axutil_env_t * env,
00219         axis2_http_request_line_t * request_line,
00220         axis2_http_header_t ** http_headers,
00221         axis2_ssize_t http_hdr_count,
00222         axutil_stream_t * content);
00223 
00225 #ifdef __cplusplus
00226 }
00227 #endif
00228 
00229 #endif                          /* AXIS2_HTTP_SIMPLE_REQUEST_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__transport__binding_8h-source.html0000644000175000017500000001743311172017604026620 0ustar00manjulamanjula00000000000000 Axis2/C: rp_transport_binding.h Source File

rp_transport_binding.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_TRANSPORT_BINDING_H
00019 #define RP_TRANSPORT_BINDING_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_binding_commons.h>
00028 #include <rp_property.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct rp_transport_binding_t rp_transport_binding_t;
00036 
00037     AXIS2_EXTERN rp_transport_binding_t *AXIS2_CALL
00038     rp_transport_binding_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_transport_binding_free(
00043         rp_transport_binding_t * transport_binding,
00044         const axutil_env_t * env);
00045 
00046     AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL
00047     rp_transport_binding_get_binding_commons(
00048         rp_transport_binding_t * transport_binding,
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     rp_transport_binding_set_binding_commons(
00053         rp_transport_binding_t * transport_binding,
00054         const axutil_env_t * env,
00055         rp_binding_commons_t * binding_commons);
00056 
00057     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00058     rp_transport_binding_set_transport_token(
00059         rp_transport_binding_t * transport_binding,
00060         const axutil_env_t * env,
00061         rp_property_t * transport_token);
00062 
00063     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00064     rp_transport_binding_get_transport_token(
00065         rp_transport_binding_t * transport_binding,
00066         const axutil_env_t * env);
00067 
00068     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00069     rp_transport_binding_increment_ref(
00070         rp_transport_binding_t * tansport_binding,
00071         const axutil_env_t * env);
00072 
00073 #ifdef __cplusplus
00074 }
00075 #endif
00076 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__trust10_8h-source.html0000644000175000017500000002400011172017604024241 0ustar00manjulamanjula00000000000000 Axis2/C: rp_trust10.h Source File

rp_trust10.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_TRUST10_H
00019 #define RP_TRUST10_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_trust10_t rp_trust10_t;
00034 
00035     AXIS2_EXTERN rp_trust10_t *AXIS2_CALL
00036     rp_trust10_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_trust10_free(
00041         rp_trust10_t * trust10,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00045         rp_trust10_get_must_support_client_challenge(
00046         rp_trust10_t * trust10,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050         rp_trust10_set_must_support_client_challenge(
00051         rp_trust10_t * trust10,
00052         const axutil_env_t * env,
00053         axis2_bool_t must_support_client_challenge);
00054 
00055     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00056     rp_trust10_get_must_support_server_challenge(
00057         rp_trust10_t * trust10,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_trust10_set_must_support_server_challenge(
00062         rp_trust10_t * trust10,
00063         const axutil_env_t * env,
00064         axis2_bool_t must_support_server_challenge);
00065 
00066     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067     rp_trust10_get_require_client_entropy(
00068         rp_trust10_t * trust10,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_trust10_set_require_client_entropy(
00073         rp_trust10_t * trust10,
00074         const axutil_env_t * env,
00075         axis2_bool_t require_client_entropy);
00076 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078     rp_trust10_get_require_server_entropy(
00079         rp_trust10_t * trust10,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     rp_trust10_set_require_server_entropy(
00084         rp_trust10_t * trust10,
00085         const axutil_env_t * env,
00086         axis2_bool_t require_server_entropy);
00087 
00088     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00089     rp_trust10_get_must_support_issued_token(
00090         rp_trust10_t * trust10,
00091         const axutil_env_t * env);
00092 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     rp_trust10_set_must_support_issued_token(
00095         rp_trust10_t * trust10,
00096         const axutil_env_t * env,
00097         axis2_bool_t must_support_issued_token);
00098 
00099 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     rp_trust10_increment_ref(
00102         rp_trust10_t * trust10,
00103         const axutil_env_t * env);
00104 
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__stack_8h-source.html0000644000175000017500000002014511172017604024717 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_stack.h Source File

axutil_stack.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_STACK_H
00020 #define AXUTIL_STACK_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00041     typedef struct axutil_stack axutil_stack_t;
00042 
00043     AXIS2_EXTERN axutil_stack_t *AXIS2_CALL
00044     axutil_stack_create(
00045         const axutil_env_t * env);
00046 
00052     AXIS2_EXTERN void AXIS2_CALL
00053     axutil_stack_free(
00054         axutil_stack_t * stack,
00055         const axutil_env_t * env);
00056 
00057     AXIS2_EXTERN void *AXIS2_CALL
00058     axutil_stack_pop(
00059         axutil_stack_t * stack,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     axutil_stack_push(
00064         axutil_stack_t * stack,
00065         const axutil_env_t * env,
00066         void *value);
00067 
00068     AXIS2_EXTERN int AXIS2_CALL
00069     axutil_stack_size(
00070         axutil_stack_t * stack,
00071         const axutil_env_t * env);
00072 
00077     AXIS2_EXTERN void *AXIS2_CALL
00078     axutil_stack_get(
00079         axutil_stack_t * stack,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN void *AXIS2_CALL
00083     axutil_stack_get_at(
00084         axutil_stack_t * stack,
00085         const axutil_env_t * env,
00086         int i);
00087 
00090 #ifdef __cplusplus
00091 }
00092 #endif
00093 #endif                          /* AXIS2_STACK_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__security__context__token__builder_8h-source.html0000644000175000017500000001266511172017604031713 0ustar00manjulamanjula00000000000000 Axis2/C: rp_security_context_token_builder.h Source File

rp_security_context_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SECURITY_CONTEXT_TOKEN_BUILDER_H
00019 #define RP_SECURITY_CONTEXT_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_security_context_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_security_context_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element, 
00041         axis2_char_t *sp_ns_uri,
00042         axis2_bool_t is_secure_conversation_token);
00043 
00044 #ifdef __cplusplus
00045 }
00046 #endif
00047 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__utils.html0000644000175000017500000007540611172017604024442 0ustar00manjulamanjula00000000000000 Axis2/C: utils

utils
[utilities]


Files

file  axutil_utils.h

Defines

#define AXUTIL_LOG_FILE_SIZE   1024 * 1024 * 32
#define AXUTIL_LOG_FILE_NAME_SIZE   512
#define AXIS2_FUNC_PARAM_CHECK(object, env, error_return)
#define AXIS2_PARAM_CHECK(error, object, error_return)
#define AXIS2_PARAM_CHECK_VOID(error, object)
#define AXIS2_ERROR_SET(error, error_number, status_code)
#define AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number,status_code, file_name_line_no)
#define AXIS2_HANDLE_ERROR(env, error_number, status_code)
#define AXIS2_CREATE_FUNCTION   "axis2_get_instance"
#define AXIS2_DELETE_FUNCTION   "axis2_remove_instance"
#define AXIS2_TARGET_EPR   "target_epr"
#define AXIS2_DUMP_INPUT_MSG_TRUE   "dump"

Typedefs

typedef void(* AXIS2_FREE_VOID_ARG )(void *obj_to_be_freed, const axutil_env_t *env)
typedef int(* AXIS2_READ_INPUT_CALLBACK )(char *buffer, int size, void *ctx)
typedef int(* AXIS2_CLOSE_INPUT_CALLBACK )(void *ctx)

Enumerations

enum  axis2_scopes { AXIS2_SCOPE_REQUEST = 0, AXIS2_SCOPE_SESSION, AXIS2_SCOPE_APPLICATION }
 Axis2 scopes. More...

Functions

AXIS2_EXTERN
axis2_status_t 
axutil_parse_rest_url_for_params (const axutil_env_t *env, const axis2_char_t *tmpl, const axis2_char_t *url, int *match_count, axis2_char_t ****matches)
AXIS2_EXTERN
axis2_char_t ** 
axutil_parse_request_url_for_svc_and_op (const axutil_env_t *env, const axis2_char_t *request)
AXIS2_EXTERN
axis2_char_t * 
axutil_xml_quote_string (const axutil_env_t *env, const axis2_char_t *s, axis2_bool_t quotes)
AXIS2_EXTERN int axutil_hexit (axis2_char_t c)
AXIS2_EXTERN
axis2_status_t 
axutil_url_decode (const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *src)
AXIS2_EXTERN
axis2_status_t 
axis2_char_2_byte (const axutil_env_t *env, axis2_char_t *char_buffer, axis2_byte_t **byte_buffer, int *byte_buffer_size)

Define Documentation

#define AXIS2_CREATE_FUNCTION   "axis2_get_instance"

Method names in the loadable libraries

#define AXIS2_ERROR_SET ( error,
error_number,
status_code   ) 

Value:

{                                                       \
        AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number);  \
        AXIS2_ERROR_SET_STATUS_CODE(error, status_code);    \
    }
This macro is used to handle error situation.
Parameters:
error_number Error number for the error occured
error_return If function return a status it should pass here AXIS2_FAILURE. If function return a type pointer it should pass NULL
Returns:
If function return a status code return AXIS2_SUCCESS. Else if function return a type pointer return NULL

#define AXIS2_FUNC_PARAM_CHECK ( object,
env,
error_return   ) 

Value:

if (!object)                                                        \
    {                                                                   \
        AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_INVALID_NULL_PARAM); \
        AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE);         \
        return error_return;                                            \
    }                                                                   \
    else                                                                \
    {                                                                   \
        AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_SUCCESS);              \
    }
This macro is called to check whether structure on which function is called is NULL and to check whether the environment structure passed is valid.
Parameters:
object structure on which function is called
env environment to be checked for validity
error_return If function return a status it should pass here AXIS2_FAILURE. If function return a type pointer it should pass NULL
Returns:
If function return a status code return AXIS2_SUCCESS. Else if function return a type pointer return NULL

#define AXIS2_HANDLE_ERROR ( env,
error_number,
status_code   ) 

Value:

AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number, status_code, \
            AXIS2_LOG_SI)                                                \
This macro is used to set and error, and log it
Parameters:
env Reference to env struct
error_number Error number for the error occured
status_code The Error Status to be set

#define AXIS2_HANDLE_ERROR_WITH_FILE ( env,
error_number,
status_code,
file_name_line_no   ) 

Value:

{                                                            \
        AXIS2_ERROR_SET(env->error, error_number, status_code);  \
        AXIS2_LOG_ERROR(env->log, file_name_line_no,             \
            AXIS2_ERROR_GET_MESSAGE(env->error));                \
    }
This macro is used to set and error, and log it. In addition to that you are capable of specifying the file name and line number
Parameters:
env Reference to env struct
error_number Error number for the error occured
status_code The Error Status to be set
file_name_line_no File name and line number constant

#define AXIS2_PARAM_CHECK ( error,
object,
error_return   ) 

Value:

if (!object)                                                        \
    {                                                                   \
        AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \
        AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE);              \
        return error_return;                                            \
    }                                                                   \
    else                                                                \
    {                                                                   \
        AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_SUCCESS);              \
    }
This macro is called to check whether an object is NULL. if object is NULL error number and status code is set
Parameters:
object object to be check for NULL
error_return If function return a status it should pass here AXIS2_FAILURE. If function return a type pointer it should pass NULL
Returns:
If function return a status code return AXIS2_SUCCESS. Else if function return a type pointer return NULL

#define AXIS2_PARAM_CHECK_VOID ( error,
object   ) 

Value:

if (!object)                                                        \
    {                                                                   \
        AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \
        AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE);              \
        return;                                                         \
    }


Enumeration Type Documentation

Axis2 scopes.

Possible scope value for Axis2

Enumerator:
AXIS2_SCOPE_REQUEST  Request scope
AXIS2_SCOPE_SESSION  Session scope
AXIS2_SCOPE_APPLICATION  Application scope


Function Documentation

AXIS2_EXTERN axis2_char_t** axutil_parse_request_url_for_svc_and_op ( const axutil_env_t env,
const axis2_char_t *  request 
)

This function allows users to resolve the service and op from the url. It returns an array of 2 elements of axis2_char_t arrays (strings). The caller is responsible to free the memory allocated by the function for the return value.

Parameters:
env pointer to environment struct
request url
Returns:
axis2_char_t ** axis2_char_t **

AXIS2_EXTERN axis2_status_t axutil_parse_rest_url_for_params ( const axutil_env_t env,
const axis2_char_t *  tmpl,
const axis2_char_t *  url,
int *  match_count,
axis2_char_t ****  matches 
)

This function allows the user match a REST URL template with the Request URL. It returns a 3-dimensional array with pairs of elements of axis2_char_t arrays (strings). The caller is responsible to free the memory allocated by the function for the return value.

Parameters:
env pointer to environment struct
tmpl Template to Match
url Request URL
match_count variable to store match count
matches axis2_char_t *** axis2_char_t ***
Returns:
AXIS2_SUCCESS if all matches were found or AXIS2_FAILURE.

AXIS2_EXTERN axis2_char_t* axutil_xml_quote_string ( const axutil_env_t env,
const axis2_char_t *  s,
axis2_bool_t  quotes 
)

Quotes an XML string. Replace '<', '>', and '&' with '<', '>', and '&'. If quotes is true, then replace '"' with '"'.

Parameters:
env pointer to environment struct
s string to be quoted
quotes if AXIS2_TRUE then replace '"' with '"'. quotes is typically set to true for XML strings that will occur within double quotes -- attribute values.
Returns:
Encoded string if there are characters to be encoded, else NULL. The caller is responsible to free the memory allocated by the function for the return value


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__out__desc_8h.html0000644000175000017500000003141211172017604026252 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_out_desc.h File Reference

axis2_transport_out_desc.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_array_list.h>
#include <axis2_phase_meta.h>
#include <axis2_phase.h>
#include <axis2_flow.h>
#include <axis2_transport_sender.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_transport_out_desc 
axis2_transport_out_desc_t

Functions

AXIS2_EXTERN void axis2_transport_out_desc_free (axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env)
AXIS2_EXTERN void axis2_transport_out_desc_free_void_arg (void *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_transport_out_desc_get_enum (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_enum (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_out_desc_get_out_flow (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_out_flow (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_flow *out_flow)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_out_desc_get_fault_out_flow (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_fault_out_flow (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_flow *fault_out_flow)
AXIS2_EXTERN
axis2_transport_sender_t
axis2_transport_out_desc_get_sender (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_sender (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, axis2_transport_sender_t *sender)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_out_desc_get_out_phase (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_out_phase (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_phase *out_phase)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_out_desc_get_fault_phase (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_fault_phase (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_phase *fault_phase)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_add_param (axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_transport_out_desc_get_param (const axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN axis2_bool_t axis2_transport_out_desc_is_param_locked (axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_transport_out_desc_param_container (const axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_transport_out_desc_create (const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__body_8h.html0000644000175000017500000001573211172017604024247 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_body.h File Reference

axiom_soap_body.h File Reference

axiom_soap_body struct More...

#include <axutil_env.h>
#include <axiom_node.h>
#include <axiom_element.h>
#include <axiom_namespace.h>
#include <axiom_soap_fault.h>
#include <axiom_soap_envelope.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_body 
axiom_soap_body_t

Functions

AXIS2_EXTERN
axiom_soap_body_t * 
axiom_soap_body_create_with_parent (const axutil_env_t *env, struct axiom_soap_envelope *envelope)
AXIS2_EXTERN void axiom_soap_body_free (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_soap_body_has_fault (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_body_get_fault (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_body_get_base_node (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_body_get_soap_version (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_build (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_add_child (axiom_soap_body_t *body, const axutil_env_t *env, axiom_node_t *child)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_convert_fault_to_soap11 (axiom_soap_body_t *soap_body, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_process_attachments (axiom_soap_body_t *soap_body, const axutil_env_t *env, void *user_param, axis2_char_t *callback_name)


Detailed Description

axiom_soap_body struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__xml__reader.html0000644000175000017500000015516411172017604025372 0ustar00manjulamanjula00000000000000 Axis2/C: XML reader

XML reader
[parser]


Classes

struct  axiom_xml_reader_ops
 AXIOM_XML_READER ops Encapsulator struct for ops of axiom_xml_reader. More...
struct  axiom_xml_reader
 axiom_xml_reader struct Axis2 OM pull_parser More...

Enumerations

enum  axiom_xml_reader_event_types {
  AXIOM_XML_READER_START_DOCUMENT = 0, AXIOM_XML_READER_START_ELEMENT, AXIOM_XML_READER_END_ELEMENT, AXIOM_XML_READER_SPACE,
  AXIOM_XML_READER_EMPTY_ELEMENT, AXIOM_XML_READER_CHARACTER, AXIOM_XML_READER_ENTITY_REFERENCE, AXIOM_XML_READER_COMMENT,
  AXIOM_XML_READER_PROCESSING_INSTRUCTION, AXIOM_XML_READER_CDATA, AXIOM_XML_READER_DOCUMENT_TYPE
}

Functions

AXIS2_EXTERN
axiom_xml_reader_t
axiom_xml_reader_create_for_file (const axutil_env_t *env, char *filename, const axis2_char_t *encoding)
AXIS2_EXTERN
axiom_xml_reader_t
axiom_xml_reader_create_for_io (const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK, AXIS2_CLOSE_INPUT_CALLBACK, void *ctx, const axis2_char_t *encoding)
AXIS2_EXTERN
axiom_xml_reader_t
axiom_xml_reader_create_for_memory (const axutil_env_t *env, void *container, int size, const axis2_char_t *encoding, int type)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_reader_init (void)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_reader_cleanup (void)
AXIS2_EXTERN int axiom_xml_reader_next (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN void axiom_xml_reader_free (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN int axiom_xml_reader_get_attribute_count (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_name_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_prefix_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_value_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_namespace_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_value (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN int axiom_xml_reader_get_namespace_count (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_uri_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_prefix_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_prefix (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_name (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_pi_target (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_pi_data (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_dtd (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN void axiom_xml_reader_xml_free (axiom_xml_reader_t *parser, const axutil_env_t *env, void *data)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_char_set_encoding (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_uri (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_uri_by_prefix (axiom_xml_reader_t *parser, const axutil_env_t *env, axis2_char_t *prefix)

Function Documentation

AXIS2_EXTERN axis2_status_t axiom_xml_reader_cleanup ( void   ) 

parser cleanup function. This function is used to clean up the globals of libxml2 parser.

AXIS2_EXTERN axiom_xml_reader_t* axiom_xml_reader_create_for_file ( const axutil_env_t env,
char *  filename,
const axis2_char_t *  encoding 
)

Creates an instance of axiom_xml_reader to parse a file using an xml document in a file system

Parameters:
env environment struct, must not be null
filename url of an xml document
Returns:
a pointer to xml_pull_parser_t struct NULL on error with error code set in the environment's error

AXIS2_EXTERN axiom_xml_reader_t* axiom_xml_reader_create_for_io ( const axutil_env_t env,
AXIS2_READ_INPUT_CALLBACK  ,
AXIS2_CLOSE_INPUT_CALLBACK  ,
void *  ctx,
const axis2_char_t *  encoding 
)

This create an instance of axiom_xml_reader to parse a xml document in a buffer. It takes a callback function that takes a buffer and the size of the buffer The user must implement a function that takes in buffer and size and fill the buffer with specified size with xml stream, parser will call this function to fill the buffer on the fly while parsing.

Parameters:
env environment MUST NOT be NULL.
read_input_callback() callback function that fills a char buffer.
close_input_callback() callback function that closes the input stream.
ctx,context can be any data that needs to be passed to the callback method.
encoding encoding scheme of the xml stream

AXIS2_EXTERN axiom_xml_reader_t* axiom_xml_reader_create_for_memory ( const axutil_env_t env,
void *  container,
int  size,
const axis2_char_t *  encoding,
int  type 
)

Create an axiom_xml_reader_t using a buffer, which is the xml input

Parameters:
env environment, MUST not be NULL
container any data that needs to passed to the corresponding parser's create_for_memory method. The reader does not take ownership of this data.
size size of the buffer
encoding encoding of the xml
Returns:
pointer to axiom_xml_reader_t struct on success , NULL otherwise

AXIS2_EXTERN void axiom_xml_reader_free ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN int axiom_xml_reader_get_attribute_count ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

free method for xml reader

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_attribute_name_by_number ( axiom_xml_reader_t parser,
const axutil_env_t env,
int  i 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
number of attributes in an element

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_attribute_namespace_by_number ( axiom_xml_reader_t parser,
const axutil_env_t env,
int  i 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
attribute value by number

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_attribute_prefix_by_number ( axiom_xml_reader_t parser,
const axutil_env_t env,
int  i 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
the attribute name by number

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_attribute_value_by_number ( axiom_xml_reader_t parser,
const axutil_env_t env,
int  i 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
the attribute prefix by number

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_char_set_encoding ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

free method for xml

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_dtd ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_name ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
namespace prefix

AXIS2_EXTERN int axiom_xml_reader_get_namespace_count ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
value of the element

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_namespace_prefix_by_number ( axiom_xml_reader_t parser,
const axutil_env_t env,
int  i 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
uri or the namespace by number

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_namespace_uri ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
charactor encoding

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_namespace_uri_by_number ( axiom_xml_reader_t parser,
const axutil_env_t env,
int  i 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
the number of namespaces in an element

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_namespace_uri_by_prefix ( axiom_xml_reader_t parser,
const axutil_env_t env,
axis2_char_t *  prefix 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_pi_data ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_pi_target ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
name of the element

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_prefix ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
prefix of the namespace by number

AXIS2_EXTERN axis2_char_t* axiom_xml_reader_get_value ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:
attribute namespace by number

AXIS2_EXTERN axis2_status_t axiom_xml_reader_init ( void   ) 

init function initializes the parser. When using libxml2 parser, this function is needed to initialize libxml2.

AXIS2_EXTERN int axiom_xml_reader_next ( axiom_xml_reader_t parser,
const axutil_env_t env 
)

while parsing through this method is calling for each and every time it parse a charactor.This is the atomic method which parse charactors.

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN void axiom_xml_reader_xml_free ( axiom_xml_reader_t parser,
const axutil_env_t env,
void *  data 
)

Parameters:
parser pointer to the OM XML Reader struct
env environment struct, must not be null
Returns:


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__response__writer.html0000644000175000017500000007517011172017604027607 0ustar00manjulamanjula00000000000000 Axis2/C: http response writer

http response writer
[http transport]


Files

file  axis2_http_response_writer.h
 axis2 Response Writer

Typedefs

typedef struct
axis2_http_response_writer 
axis2_http_response_writer_t

Functions

AXIS2_EXTERN
axis2_char_t * 
axis2_http_response_writer_get_encoding (const axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_close (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_flush (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_write_char (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, char c)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_write_buf (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, char *buf, int offset, axis2_ssize_t len)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_print_str (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, const char *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_print_int (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_println_str (axis2_http_response_writer_t *response_writer, const axutil_env_t *env, const char *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_response_writer_println (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_response_writer_free (axis2_http_response_writer_t *response_writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_response_writer_t
axis2_http_response_writer_create (const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN
axis2_http_response_writer_t
axis2_http_response_writer_create_with_encoding (const axutil_env_t *env, axutil_stream_t *stream, const axis2_char_t *encoding)

Typedef Documentation

typedef struct axis2_http_response_writer axis2_http_response_writer_t

Type name for struct axis2_http_response_writer


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_close ( axis2_http_response_writer_t response_writer,
const axutil_env_t env 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_http_response_writer_t* axis2_http_response_writer_create ( const axutil_env_t env,
axutil_stream_t *  stream 
)

Parameters:
env pointer to environment struct
stream pointer to stream

AXIS2_EXTERN axis2_http_response_writer_t* axis2_http_response_writer_create_with_encoding ( const axutil_env_t env,
axutil_stream_t *  stream,
const axis2_char_t *  encoding 
)

Parameters:
env pointer to environment struct
stream pointer to stream
encoding pointer to encoding

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_flush ( axis2_http_response_writer_t response_writer,
const axutil_env_t env 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_http_response_writer_free ( axis2_http_response_writer_t response_writer,
const axutil_env_t env 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axis2_http_response_writer_get_encoding ( const axis2_http_response_writer_t response_writer,
const axutil_env_t env 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_print_int ( axis2_http_response_writer_t response_writer,
const axutil_env_t env,
int  i 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
i 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_print_str ( axis2_http_response_writer_t response_writer,
const axutil_env_t env,
const char *  str 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
str pointer to str
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_println ( axis2_http_response_writer_t response_writer,
const axutil_env_t env 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_println_str ( axis2_http_response_writer_t response_writer,
const axutil_env_t env,
const char *  str 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
str pointer to str
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_write_buf ( axis2_http_response_writer_t response_writer,
const axutil_env_t env,
char *  buf,
int  offset,
axis2_ssize_t  len 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
buf pointer to buf
offset 
len 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_response_writer_write_char ( axis2_http_response_writer_t response_writer,
const axutil_env_t env,
char  c 
)

Parameters:
response_writer pointer to response writer
env pointer to environment struct
c 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__param_8h.html0000644000175000017500000002745211172017604023424 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_param.h File Reference

axutil_param.h File Reference

Axis2 param interface. More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_hash.h>
#include <axutil_array_list.h>

Go to the source code of this file.

Defines

#define AXIS2_TEXT_PARAM   0
#define AXIS2_DOM_PARAM   1

Typedefs

typedef struct
axutil_param 
axutil_param_t
typedef void(* AXIS2_PARAM_VALUE_FREE )(void *param_value, const axutil_env_t *env)

Functions

AXIS2_EXTERN
axutil_param_t * 
axutil_param_create (const axutil_env_t *env, axis2_char_t *name, void *value)
AXIS2_EXTERN
axis2_char_t * 
axutil_param_get_name (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_param_get_value (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_name (struct axutil_param *param, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_value (struct axutil_param *param, const axutil_env_t *env, const void *value)
AXIS2_EXTERN axis2_bool_t axutil_param_is_locked (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_locked (struct axutil_param *param, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN int axutil_param_get_param_type (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_param_type (struct axutil_param *param, const axutil_env_t *env, int type)
AXIS2_EXTERN void axutil_param_free (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_attributes (struct axutil_param *param, const axutil_env_t *env, axutil_hash_t *attrs)
AXIS2_EXTERN
axutil_hash_t
axutil_param_get_attributes (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_value_list (struct axutil_param *param, const axutil_env_t *env, axutil_array_list_t *value_list)
AXIS2_EXTERN
axutil_array_list_t
axutil_param_get_value_list (struct axutil_param *param, const axutil_env_t *env)
AXIS2_EXTERN void axutil_param_value_free (void *param_value, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_param_set_value_free (struct axutil_param *param, const axutil_env_t *env, AXIS2_PARAM_VALUE_FREE free_fn)
AXIS2_EXTERN void axutil_param_dummy_free_fn (void *param, const axutil_env_t *env)


Detailed Description

Axis2 param interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__signature__token__builder_8h-source.html0000644000175000017500000001304311172017604030131 0ustar00manjulamanjula00000000000000 Axis2/C: rp_signature_token_builder.h Source File

rp_signature_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SIGNATURE_TOKEN_BUILDER_H
00019 #define RP_SIGNATURE_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <rp_issued_token.h>
00030 #include <rp_saml_token.h>
00031 #include <rp_security_context_token.h>
00032 #include <neethi_assertion.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00040     rp_signature_token_builder_build(
00041         const axutil_env_t * env,
00042         axiom_node_t * node,
00043         axiom_element_t * element);
00044 
00045 #ifdef __cplusplus
00046 }
00047 #endif
00048 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__description.html0000644000175000017500000010526711172017604025344 0ustar00manjulamanjula00000000000000 Axis2/C: description

description
[description]


Files

file  axis2_desc.h

Typedefs

typedef struct axis2_desc axis2_desc_t

Functions

AXIS2_EXTERN
axis2_desc_t
axis2_desc_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_desc_free (axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_add_param (axis2_desc_t *desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_desc_get_param (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axutil_array_list_t
axis2_desc_get_all_params (const axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_desc_is_param_locked (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_add_child (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *key, const struct axis2_msg *child)
AXIS2_EXTERN
axutil_hash_t
axis2_desc_get_all_children (const axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN void * axis2_desc_get_child (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_remove_child (const axis2_desc_t *desc, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_set_parent (axis2_desc_t *desc, const axutil_env_t *env, axis2_desc_t *parent)
AXIS2_EXTERN
axis2_desc_t
axis2_desc_get_parent (const axis2_desc_t *desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_desc_set_policy_include (axis2_desc_t *desc, const axutil_env_t *env, struct axis2_policy_include *policy_include)
AXIS2_EXTERN struct
axis2_policy_include * 
axis2_desc_get_policy_include (axis2_desc_t *desc, const axutil_env_t *env)

Detailed Description

Base struct of description hierarchy. Encapsulates common data and functions of the description hierarchy.

Typedef Documentation

typedef struct axis2_desc axis2_desc_t

Type name of struct axis2_desc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_desc_add_child ( const axis2_desc_t desc,
const axutil_env_t env,
const axis2_char_t *  key,
const struct axis2_msg *  child 
)

Adds child to the description. The type of children is based on the level of the description hierarchy. As an example, service has children of type operation, service group has children of type service

Parameters:
desc pointer to description
env pointer to environment struct
key key with which the child is to be added
child child to be added
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_desc_add_param ( axis2_desc_t desc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds given parameter to the list of parameters.

Parameters:
desc pointer to description
env pointer to environment struct
param pointer to parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_desc_t* axis2_desc_create ( const axutil_env_t env  ) 

Creates a description struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created description

AXIS2_EXTERN void axis2_desc_free ( axis2_desc_t desc,
const axutil_env_t env 
)

Frees description struct.

Parameters:
desc pointer to description
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_hash_t* axis2_desc_get_all_children ( const axis2_desc_t desc,
const axutil_env_t env 
)

Gets all children.

Parameters:
desc pointer to description
env pointer to environment struct
Returns:
pointer to hash map containing children

AXIS2_EXTERN axutil_array_list_t* axis2_desc_get_all_params ( const axis2_desc_t desc,
const axutil_env_t env 
)

Gets all parameters stored in description.

Parameters:
desc pointer to description
env pointer to environment struct
Returns:
pointer to array list containing the list of parameters

AXIS2_EXTERN void* axis2_desc_get_child ( const axis2_desc_t desc,
const axutil_env_t env,
const axis2_char_t *  key 
)

Gets child with given key.

Parameters:
desc pointer to description
env pointer to environment struct
key key with which the child is stored
Returns:
pointer to child, returned as a void* value, need to cast to correct type

AXIS2_EXTERN axutil_param_t* axis2_desc_get_param ( const axis2_desc_t desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Gets named parameter.

Parameters:
desc pointer to description
env pointer to environment struct
param_name parameter name string
Returns:
pointer to named parameter, NULL if it does not exist

AXIS2_EXTERN axis2_desc_t* axis2_desc_get_parent ( const axis2_desc_t desc,
const axutil_env_t env 
)

Gets parent description.

Parameters:
desc pointer to description
env pointer to environment struct
Returns:
parent pointer to parent description

AXIS2_EXTERN struct axis2_policy_include* axis2_desc_get_policy_include ( axis2_desc_t desc,
const axutil_env_t env 
) [read]

Gets policy include

Parameters:
desc pointer to description
env pointer to environment struct
Returns:
returns policy include that was added to description
See also:
policy include

AXIS2_EXTERN axis2_bool_t axis2_desc_is_param_locked ( const axis2_desc_t desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if a named parameter is locked.

Parameters:
desc pointer to description
env pointer to environment struct
param_name parameter name string
Returns:
AXIS2_TRUE if parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_desc_remove_child ( const axis2_desc_t desc,
const axutil_env_t env,
const axis2_char_t *  key 
)

Removes the named child.

Parameters:
desc pointer to description
env pointer to environment struct
key key that represents the child to be removed
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_desc_set_parent ( axis2_desc_t desc,
const axutil_env_t env,
axis2_desc_t parent 
)

Sets parent description.

Parameters:
desc pointer to description
env pointer to environment struct
parent pointer to parent description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_desc_set_policy_include ( axis2_desc_t desc,
const axutil_env_t env,
struct axis2_policy_include *  policy_include 
)

Sets policy include

Parameters:
desc pointer to description
env pointer to environment struct
policy_include policy include to be added to description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__addr__mod_8h-source.html0000644000175000017500000001433411172017604025245 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_addr_mod.h Source File

axis2_addr_mod.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_ADDR_MOD_H
00020 #define AXIS2_ADDR_MOD_H
00021 
00039 #include <axis2_handler.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00046 #define ADDR_IN_HANDLER "AddressingInHandler"
00047 #define ADDR_OUT_HANDLER "AddressingOutHandler"
00048 
00055     AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00056     axis2_addr_in_handler_create(
00057         const axutil_env_t * env,
00058         axutil_string_t * name);
00059 
00066     AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00067     axis2_addr_out_handler_create(
00068         const axutil_env_t * env,
00069         axutil_string_t * name);
00070 
00073 #ifdef __cplusplus
00074 }
00075 #endif
00076 
00077 #endif                          /* AXIS2_ADDR_MOD_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__caching__callback.html0000644000175000017500000001447211172017604025120 0ustar00manjulamanjula00000000000000 Axis2/C: Caching_callback

Caching_callback
[AXIOM project]


Classes

struct  axiom_mtom_caching_callback_ops
struct  axiom_mtom_caching_callback

Defines

#define AXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLER(mtom_caching_callback, env, key)   ((mtom_caching_callback)->ops->init_handler(mtom_caching_callback, env, key))
#define AXIOM_MTOM_CACHING_CALLBACK_CACHE(mtom_caching_callback, env, data, length, handler)   ((mtom_caching_callback)->ops->cache(mtom_caching_callback, env, data, length, handler))
#define AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLER(mtom_caching_callback, env, handler)   ((mtom_caching_callback)->ops->close_handler(mtom_caching_callback, env, handler))
#define AXIOM_MTOM_CACHING_CALLBACK_FREE(mtom_caching_callback, env)   ((mtom_caching_callback)->ops->free(mtom_caching_callback, env))

Typedefs

typedef struct
axiom_mtom_caching_callback_ops 
axiom_mtom_caching_callback_ops_t
typedef struct
axiom_mtom_caching_callback 
axiom_mtom_caching_callback_t

Typedef Documentation

typedef struct axiom_mtom_caching_callback axiom_mtom_caching_callback_t

Type name for struct axiom_mtom_caching_callback


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__raw__xml__in__out__msg__recv_8h-source.html0000644000175000017500000001462111172017604031202 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_raw_xml_in_out_msg_recv.h Source File

axis2_raw_xml_in_out_msg_recv.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_RAW_XML_IN_OUT_MSG_RECV_H
00020 #define AXIS2_RAW_XML_IN_OUT_MSG_RECV_H
00021 
00032 #include <axis2_const.h>
00033 #include <axutil_error.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axutil_allocator.h>
00037 #include <axutil_qname.h>
00038 #include <axis2_msg_recv.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00049     AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL
00050 
00051     axis2_raw_xml_in_out_msg_recv_create(
00052         const axutil_env_t * env);
00053 
00056 #ifdef __cplusplus
00057 }
00058 #endif
00059 #endif                          /* AXIS2_RAW_XML_IN_OUT_MSG_RECV_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__rand.html0000644000175000017500000001542411172017604024220 0ustar00manjulamanjula00000000000000 Axis2/C: rand

rand
[utilities]


Files

file  axutil_rand.h
 A simple thread safe and reentrant random number generator.

Functions

AXIS2_EXTERN int axutil_rand (unsigned int *seedp)
AXIS2_EXTERN int axutil_rand_with_range (unsigned int *seedp, int start, int end)
AXIS2_EXTERN unsigned int axutil_rand_get_seed_value_based_on_time (const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN int axutil_rand ( unsigned int *  seedp  ) 

This is reentrant and thread safe simple random number generator function. it is passed an pointer to an unsigned int state value which is used inside the function and changed in each call.

Parameters:
seedp pointer to an unsigned int used as the internal state
Returns:
int int

AXIS2_EXTERN unsigned int axutil_rand_get_seed_value_based_on_time ( const axutil_env_t env  ) 

A random seed value generated based on the time

AXIS2_EXTERN int axutil_rand_with_range ( unsigned int *  seedp,
int  start,
int  end 
)

This is reentrant and thread safe simple random number generator function. it is passed an pointer to an unsigned int state value which is used inside the function and changed in each call. Also it is passed a range in which the random number is selected

Parameters:
seedp pointer to an unsigned int used as the internal state
start start of the range
end end of the range
Returns:
int If invalid range is entered -1 is returned int


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__expression.html0000644000175000017500000001467711172017604026550 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xpath_expression Struct Reference

axiom_xpath_expression Struct Reference
[api]

#include <axiom_xpath.h>

List of all members.

Public Attributes

axis2_char_t * expr_str
int expr_len
int expr_ptr
axutil_array_list_toperations
int start


Detailed Description

XPath expression

Member Data Documentation

XPath expression as a string

Length of the expression

A cursor pointing to the position currently being parsed

Parsed expression in an array list

A pointer to the start operation in operations


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__conf__init_8h-source.html0000644000175000017500000001547611172017604025454 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_conf_init.h Source File

axis2_conf_init.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_CONF_INIT_H
00020 #define AXIS2_CONF_INIT_H
00021 
00027 #include <axutil_env.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axis2_conf_ctx.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00042     AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00043     axis2_build_conf_ctx(
00044         const axutil_env_t * env,
00045         const axis2_char_t * repo_name);
00046         
00053         AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00054         axis2_build_conf_ctx_with_file(
00055         const axutil_env_t * env,
00056         const axis2_char_t * file);
00057 
00064     AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00065     axis2_build_client_conf_ctx(
00066         const axutil_env_t * env,
00067         const axis2_char_t * axis2_home);
00068 
00071 #ifdef __cplusplus
00072 }
00073 #endif
00074 #endif      /* AXIS2_CONF_INIT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault_8h.html0000644000175000017500000001676311172017604024432 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault.h File Reference

axiom_soap_fault.h File Reference

axiom_soap_fault struct More...

#include <axiom_soap_const.h>
#include <axutil_env.h>
#include <axiom_node.h>
#include <axiom_element.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault 
axiom_soap_fault_t

Functions

AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_fault_create_with_parent (const axutil_env_t *env, struct axiom_soap_body *parent)
AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_fault_create_with_exception (const axutil_env_t *env, struct axiom_soap_body *parent, axis2_char_t *exception)
AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_fault_create_default_fault (const axutil_env_t *env, struct axiom_soap_body *parent, const axis2_char_t *code_value, const axis2_char_t *reason_text, const int soap_version)
AXIS2_EXTERN void axiom_soap_fault_free (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_code * 
axiom_soap_fault_get_code (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_reason * 
axiom_soap_fault_get_reason (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_node * 
axiom_soap_fault_get_node (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_role * 
axiom_soap_fault_get_role (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_detail * 
axiom_soap_fault_get_detail (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_get_exception (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_set_exception (axiom_soap_fault_t *fault, const axutil_env_t *env, axis2_char_t *exception)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_get_base_node (axiom_soap_fault_t *fault, const axutil_env_t *env)


Detailed Description

axiom_soap_fault struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__om.html0000644000175000017500000001150511172017604023512 0ustar00manjulamanjula00000000000000 Axis2/C: AXIOM

AXIOM


Modules

 attribute
 child element iterator
 children iterator
 children qname iterator
 children with specific attribute iterator
 comment
 data_source
 doctype
 document
 element
 namespace
 navigator
 node
 output
 pocessing instruction
 stax builder
 text

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__version_8h-source.html0000644000175000017500000002033011172017604025273 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_version.h Source File

axutil_version.h

00001 
00019 #ifndef AXUTIL_VERSION_H
00020 #define AXUTIL_VERSION_H
00021 
00022 /* The numeric compile-time version constants. These constants are the
00023  * authoritative version numbers for AXIS2.
00024  */
00025 
00031 #define AXIS2_MAJOR_VERSION       1
00032 
00037 #define AXIS2_MINOR_VERSION       6
00038 
00043 #define AXIS2_PATCH_VERSION       0
00044 
00050 #undef AXIS2_IS_DEV_VERSION
00051 
00052 #if defined(AXIS2_IS_DEV_VERSION) || defined(DOXYGEN)
00053 
00055 #define AXIS2_IS_DEV_STRING "-dev"
00056 #else
00057 #define AXIS2_IS_DEV_STRING ""
00058 #endif
00059 
00061 #define AXIS2_STRINGIFY(n) AXIS2_STRINGIFY_HELPER(n)
00062 
00064 #define AXIS2_STRINGIFY_HELPER(n) #n
00065 
00067 #define AXIS2_VERSION_STRING \
00068      AXIS2_STRINGIFY(AXIS2_MAJOR_VERSION) "." \
00069      AXIS2_STRINGIFY(AXIS2_MINOR_VERSION) "." \
00070      AXIS2_STRINGIFY(AXIS2_PATCH_VERSION) \
00071      AXIS2_IS_DEV_STRING
00072 
00075 /* macro for Win32 .rc files using numeric csv representation */
00076 #define AXIS2_VERSION_STRING_CSV AXIS2_MAJOR_VERSION ##, \
00077                              ##AXIS2_MINOR_VERSION ##, \
00078                              ##AXIS2_PATCH_VERSION
00079 
00080 #ifndef AXIS2_VERSION_ONLY
00081 
00082 /* The C language API to access the version at run time,
00083  * as opposed to compile time.  AXIS2_VERSION_ONLY may be defined
00084  * externally when preprocessing axutil_version.h to obtain strictly
00085  * the C Preprocessor macro declarations.
00086  */
00087 
00088 #include "axutil_env.h"
00089 
00090 #ifdef __cplusplus
00091 extern "C"
00092 {
00093 #endif
00094 
00099     typedef struct
00100     {
00101 
00102         int major;
00103 
00106         int minor;
00107 
00110         int patch;
00111 
00114         int is_dev;
00115 
00117     }
00118     axis2_version_t;
00119 
00126     AXIS2_EXTERN void AXIS2_CALL
00127     axis2_version(
00128         axis2_version_t * pvsn);
00129 
00131     AXIS2_EXTERN const char *AXIS2_CALL
00132     axis2_version_string(
00133         void);
00134 
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138 #endif
00139 
00140 #endif                          /* AXIS2_VERSION_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__ctx_8h.html0000644000175000017500000001347711172017604022644 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_ctx.h File Reference

axis2_ctx.h File Reference

#include <axis2_defines.h>
#include <axutil_hash.h>
#include <axutil_env.h>
#include <axutil_property.h>

Go to the source code of this file.

Typedefs

typedef struct axis2_ctx axis2_ctx_t

Functions

AXIS2_EXTERN
axis2_ctx_t
axis2_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_ctx_set_property (struct axis2_ctx *ctx, const axutil_env_t *env, const axis2_char_t *key, axutil_property_t *value)
AXIS2_EXTERN
axutil_property_t * 
axis2_ctx_get_property (const axis2_ctx_t *ctx, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axutil_hash_t
axis2_ctx_get_property_map (const axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_ctx_get_all_properties (const axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_ctx_free (axis2_ctx_t *ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_ctx_set_property_map (struct axis2_ctx *ctx, const axutil_env_t *env, axutil_hash_t *map)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__token.html0000644000175000017500000002375311172017604023533 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_token

Rp_token


Typedefs

typedef struct rp_token_t rp_token_t

Enumerations

enum  derive_key_type_t { DERIVEKEY_NONE = 0, DERIVEKEY_NEEDED, DERIVEKEY_IMPLIED, DERIVEKEY_EXPLICIT }
enum  derive_key_version_t { DERIVEKEY_VERSION_SC10 = 0, DERIVEKEY_VERSION_SC13 }

Functions

AXIS2_EXTERN rp_token_t * rp_token_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_token_free (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_token_get_issuer (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_token_set_issuer (rp_token_t *token, const axutil_env_t *env, axis2_char_t *issuer)
AXIS2_EXTERN
derive_key_type_t 
rp_token_get_derivedkey_type (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_token_set_derivedkey_type (rp_token_t *token, const axutil_env_t *env, derive_key_type_t derivedkey)
AXIS2_EXTERN axis2_bool_t rp_token_get_is_issuer_name (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_token_set_is_issuer_name (rp_token_t *token, const axutil_env_t *env, axis2_bool_t is_issuer_name)
AXIS2_EXTERN
axiom_node_t * 
rp_token_get_claim (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_token_set_claim (rp_token_t *token, const axutil_env_t *env, axiom_node_t *claim)
AXIS2_EXTERN
axis2_status_t 
rp_token_increment_ref (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_token_set_derive_key_version (rp_token_t *token, const axutil_env_t *env, derive_key_version_t version)
AXIS2_EXTERN
derive_key_version_t 
rp_token_get_derive_key_version (rp_token_t *token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_token_set_inclusion (rp_token_t *token, const axutil_env_t *env, axis2_char_t *inclusion)
AXIS2_EXTERN
axis2_char_t * 
rp_token_get_inclusion (rp_token_t *token, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__hash.html0000644000175000017500000011737611172017604024230 0ustar00manjulamanjula00000000000000 Axis2/C: hash

hash
[utilities]


Defines

#define AXIS2_HASH_KEY_STRING   (unsigned int)(-1)

Typedefs

typedef struct
axutil_hash_t 
axutil_hash_t
typedef struct
axutil_hash_index_t 
axutil_hash_index_t
typedef unsigned int(* axutil_hashfunc_t )(const char *key, axis2_ssize_t *klen)

Functions

unsigned int axutil_hashfunc_default (const char *key, axis2_ssize_t *klen)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_make (const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_make_custom (const axutil_env_t *env, axutil_hashfunc_t hash_func)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_copy (const axutil_hash_t *ht, const axutil_env_t *env)
AXIS2_EXTERN void axutil_hash_set (axutil_hash_t *ht, const void *key, axis2_ssize_t klen, const void *val)
AXIS2_EXTERN void * axutil_hash_get (axutil_hash_t *ht, const void *key, axis2_ssize_t klen)
AXIS2_EXTERN
axutil_hash_index_t
axutil_hash_first (axutil_hash_t *ht, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_index_t
axutil_hash_next (const axutil_env_t *env, axutil_hash_index_t *hi)
AXIS2_EXTERN void axutil_hash_this (axutil_hash_index_t *hi, const void **key, axis2_ssize_t *klen, void **val)
AXIS2_EXTERN unsigned int axutil_hash_count (axutil_hash_t *ht)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_overlay (const axutil_hash_t *overlay, const axutil_env_t *env, const axutil_hash_t *base)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_merge (const axutil_hash_t *h1, const axutil_env_t *env, const axutil_hash_t *h2, void *(*merger)(const axutil_env_t *env, const void *key, axis2_ssize_t klen, const void *h1_val, const void *h2_val, const void *data), const void *data)
AXIS2_EXTERN axis2_bool_t axutil_hash_contains_key (axutil_hash_t *ht, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN void axutil_hash_free (axutil_hash_t *ht, const axutil_env_t *env)
AXIS2_EXTERN void axutil_hash_free_void_arg (void *ht_void, const axutil_env_t *env)
AXIS2_EXTERN void axutil_hash_set_env (axutil_hash_t *ht, const axutil_env_t *env)

Define Documentation

#define AXIS2_HASH_KEY_STRING   (unsigned int)(-1)

When passing a key to axutil_hash_set or axutil_hash_get, this value can be passed to indicate a string-valued key, and have axutil_hash compute the length automatically.

Remarks:
axutil_hash will use strlen(key) for the length. The NUL terminator is not included in the hash value (why throw a constant in?). Since the hash table merely references the provided key (rather than copying it), axutil_hash_this() will return the NUL-term'd key.


Typedef Documentation

Abstract type for scanning hash tables.

typedef struct axutil_hash_t axutil_hash_t

Abstract type for hash tables.

typedef unsigned int( * axutil_hashfunc_t)(const char *key, axis2_ssize_t *klen)

Callback functions for calculating hash values.

Parameters:
key The key.
klen The length of the key, or AXIS2_HASH_KEY_STRING to use the string length. If AXIS2_HASH_KEY_STRING then returns the actual key length.


Function Documentation

AXIS2_EXTERN axis2_bool_t axutil_hash_contains_key ( axutil_hash_t ht,
const axutil_env_t env,
const axis2_char_t *  key 
)

Query whether the hash table provided as parameter contains the key provided as parameter.

Parameters:
ht hash table to be queried for key
Returns:
return whether hash table contains key

AXIS2_EXTERN axutil_hash_t* axutil_hash_copy ( const axutil_hash_t ht,
const axutil_env_t env 
)

Make a copy of a hash table

Parameters:
ht The hash table to clone
env The environment from which to allocate the new hash table
Returns:
The hash table just created
Remarks:
Makes a shallow copy

AXIS2_EXTERN unsigned int axutil_hash_count ( axutil_hash_t ht  ) 

Get the number of key/value pairs in the hash table.

Parameters:
ht The hash table
Returns:
The number of key/value pairs in the hash table.

AXIS2_EXTERN axutil_hash_index_t* axutil_hash_first ( axutil_hash_t ht,
const axutil_env_t env 
)

 int sum_values(const axutil_env_t *env, axutil_hash_t *ht)
 {
     axutil_hash_index_t *hi;
     void *val;
     int sum = 0;
     for (hi = axutil_hash_first(p, ht); hi; hi = axutil_hash_next(p, hi)) {
         axutil_hash_this(hi, NULL, NULL, &val);
         sum += *(int *)val;
     }
     return sum;
 }
 

AXIS2_EXTERN void axutil_hash_free ( axutil_hash_t ht,
const axutil_env_t env 
)

Parameters:
ht hash table to be freed
env The environment to use for hash table
Returns:
return status code

AXIS2_EXTERN void axutil_hash_free_void_arg ( void *  ht_void,
const axutil_env_t env 
)

Free a hash table with hash table given as void

Parameters:
ht hash table to be freed as a void *
env The environment to use for hash table
Returns:
return status code

AXIS2_EXTERN void* axutil_hash_get ( axutil_hash_t ht,
const void *  key,
axis2_ssize_t  klen 
)

Look up the value associated with a key in a hash table.

Parameters:
ht The hash table
key Pointer to the key
klen Length of the key. Can be AXIS2_HASH_KEY_STRING to use the string length.
Returns:
Returns NULL if the key is not present.

AXIS2_EXTERN axutil_hash_t* axutil_hash_make ( const axutil_env_t env  ) 

Create a hash table.

Parameters:
env The environment to allocate the hash table out of
Returns:
The hash table just created

AXIS2_EXTERN axutil_hash_t* axutil_hash_make_custom ( const axutil_env_t env,
axutil_hashfunc_t  hash_func 
)

Create a hash table with a custom hash function

Parameters:
env The environment to allocate the hash table out of
hash_func A custom hash function.
Returns:
The hash table just created

AXIS2_EXTERN axutil_hash_t* axutil_hash_merge ( const axutil_hash_t h1,
const axutil_env_t env,
const axutil_hash_t h2,
void *(*)(const axutil_env_t *env, const void *key, axis2_ssize_t klen, const void *h1_val, const void *h2_val, const void *data)  merger,
const void *  data 
)

Merge two hash tables into one new hash table. If the same key is present in both tables, call the supplied merge function to produce a merged value for the key in the new table. Both hash tables must use the same hash function.

Parameters:
h1 The first of the tables to merge
p The environment to use for the new hash table
h2 The second of the tables to merge
merger A callback function to merge values, or NULL to make values from h1 override values from h2 (same semantics as axutil_hash_overlay())
data Client data to pass to the merger function
Returns:
A new hash table containing all of the data from the two passed in

AXIS2_EXTERN axutil_hash_index_t* axutil_hash_next ( const axutil_env_t env,
axutil_hash_index_t hi 
)

Continue iterating over the entries in a hash table.

Parameters:
hi The iteration state
Returns:
a pointer to the updated iteration state. NULL if there are no more entries.

AXIS2_EXTERN axutil_hash_t* axutil_hash_overlay ( const axutil_hash_t overlay,
const axutil_env_t env,
const axutil_hash_t base 
)

Merge two hash tables into one new hash table. The values of the overlay hash override the values of the base if both have the same key. Both hash tables must use the same hash function.

Parameters:
overlay The table to add to the initial table
p The environment to use for the new hash table
base The table that represents the initial values of the new table
Returns:
A new hash table containing all of the data from the two passed in

AXIS2_EXTERN void axutil_hash_set ( axutil_hash_t ht,
const void *  key,
axis2_ssize_t  klen,
const void *  val 
)

Associate a value with a key in a hash table.

Parameters:
ht The hash table
key Pointer to the key
klen Length of the key. Can be AXIS2_HASH_KEY_STRING to use the string length.
val Value to associate with the key
Remarks:
If the value is NULL the hash entry is deleted.

AXIS2_EXTERN void axutil_hash_this ( axutil_hash_index_t hi,
const void **  key,
axis2_ssize_t *  klen,
void **  val 
)

Get the current entry's details from the iteration state.

Parameters:
hi The iteration state
key Return pointer for the pointer to the key.
klen Return pointer for the key length.
val Return pointer for the associated value.
Remarks:
The return pointers should point to a variable that will be set to the corresponding data, or they may be NULL if the data isn't interesting.

unsigned int axutil_hashfunc_default ( const char *  key,
axis2_ssize_t *  klen 
)

The default hash function.


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__thread_8h.html0000644000175000017500000002674311172017604023575 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_thread.h File Reference

axutil_thread.h File Reference

axis2 thread api More...

#include <axutil_allocator.h>
#include <axutil_utils_defines.h>
#include <axutil_error.h>

Go to the source code of this file.

Defines

#define AXIS2_THREAD_MUTEX_DEFAULT   0x0
#define AXIS2_THREAD_MUTEX_NESTED   0x1
#define AXIS2_THREAD_MUTEX_UNNESTED   0x2

Typedefs

typedef struct
axutil_thread_t 
axutil_thread_t
typedef struct
axutil_threadattr_t 
axutil_threadattr_t
typedef struct
axutil_thread_once_t 
axutil_thread_once_t
typedef void
*(AXIS2_THREAD_FUNC * 
axutil_thread_start_t )(axutil_thread_t *, void *)
typedef struct
axutil_threadkey_t 
axutil_threadkey_t
typedef struct
axutil_thread_mutex_t 
axutil_thread_mutex_t

Functions

AXIS2_EXTERN
axutil_threadattr_t
axutil_threadattr_create (axutil_allocator_t *allocator)
AXIS2_EXTERN
axis2_status_t 
axutil_threadattr_detach_set (axutil_threadattr_t *attr, axis2_bool_t detached)
AXIS2_EXTERN axis2_bool_t axutil_threadattr_is_detach (axutil_threadattr_t *attr, axutil_allocator_t *allocator)
AXIS2_EXTERN
axutil_thread_t
axutil_thread_create (axutil_allocator_t *allocator, axutil_threadattr_t *attr, axutil_thread_start_t func, void *data)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_exit (axutil_thread_t *thd, axutil_allocator_t *allocator)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_join (axutil_thread_t *thd)
AXIS2_EXTERN void axutil_thread_yield (void)
AXIS2_EXTERN
axutil_thread_once_t
axutil_thread_once_init (axutil_allocator_t *allocator)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_once (axutil_thread_once_t *control, void(*func)(void))
AXIS2_EXTERN
axis2_status_t 
axutil_thread_detach (axutil_thread_t *thd)
AXIS2_EXTERN
axutil_thread_mutex_t
axutil_thread_mutex_create (axutil_allocator_t *allocator, unsigned int flags)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_lock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_trylock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_unlock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_destroy (axutil_thread_mutex_t *mutex)


Detailed Description

axis2 thread api


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__data__source.html0000644000175000017500000002656111172017604025537 0ustar00manjulamanjula00000000000000 Axis2/C: data_source

data_source
[AXIOM]


Typedefs

typedef struct
axiom_data_source 
axiom_data_source_t
 data_source struct Handles the XML data_source in OM

Functions

AXIS2_EXTERN
axiom_data_source_t
axiom_data_source_create (const axutil_env_t *env, axiom_node_t *parent, axiom_node_t **node)
AXIS2_EXTERN void axiom_data_source_free (struct axiom_data_source *om_data_source, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_source_serialize (struct axiom_data_source *om_data_source, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axutil_stream_t * 
axiom_data_source_get_stream (struct axiom_data_source *om_data_source, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_data_source_t* axiom_data_source_create ( const axutil_env_t env,
axiom_node_t *  parent,
axiom_node_t **  node 
)

Creates a new data_source struct

Parameters:
env Environment. MUST NOT be NULL, .
parent parent of the new node. Optinal, can be NULL. The parent element must be of type AXIOM_ELEMENT
value Text value. Optinal, can be NULL.
comment_node This is an out parameter. cannot be NULL. Returns the node corresponding to the data_source struct created. Node type will be set to AXIOM_DATA_SOURCE
Returns:
pointer to newly created data_source struct

AXIS2_EXTERN void axiom_data_source_free ( struct axiom_data_source *  om_data_source,
const axutil_env_t env 
)

Free an axiom_data_source struct

Parameters:
env environment. MUST NOT be NULL.
om_data_source pointer to om data_source struct to be freed.
Returns:
satus of the op. AXIS2_SUCCESS on success AXIS2_FAILURE on error.

AXIS2_EXTERN axutil_stream_t* axiom_data_source_get_stream ( struct axiom_data_source *  om_data_source,
const axutil_env_t env 
)

set the data_source value

Parameters:
om_data_source om_data_source struct
env environment , MUST NOT be NULL.
value data_source
Returns:
status of the op. AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_data_source_serialize ( struct axiom_data_source *  om_data_source,
const axutil_env_t env,
axiom_output_t om_output 
)

Serialize op

Parameters:
env environment. MUST NOT be NULL.
om_data_source pointer to om data_source struct to be serialized.
om_output AXIOM output handler to be used in serializing.
Returns:
satus of the op. AXIS2_SUCCESS on success, AXIS2_FAILURE on error


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc__grp__ctx.html0000644000175000017500000006717111172017604025641 0ustar00manjulamanjula00000000000000 Axis2/C: service group context

service group context
[Context Hierarchy]


Files

file  axis2_svc_grp_ctx.h

Typedefs

typedef struct
axis2_svc_grp_ctx 
axis2_svc_grp_ctx_t

Functions

AXIS2_EXTERN
axis2_svc_grp_ctx_t
axis2_svc_grp_ctx_create (const axutil_env_t *env, struct axis2_svc_grp *svc_grp, struct axis2_conf_ctx *conf_ctx)
AXIS2_EXTERN
axis2_ctx_t
axis2_svc_grp_ctx_get_base (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_svc_grp_ctx_get_parent (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_svc_grp_ctx_free (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_ctx_init (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_grp_ctx_get_id (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_ctx_set_id (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env, const axis2_char_t *id)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_svc_grp_ctx_get_svc_ctx (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_ctx_fill_svc_ctx_map (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_svc_grp_ctx_get_svc_grp (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_grp_ctx_get_svc_ctx_map (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)

Detailed Description

service group context represents a running "instance" of a service group. service group context allows instance of services belonging to a service group to be grouped.

Typedef Documentation

typedef struct axis2_svc_grp_ctx axis2_svc_grp_ctx_t

Type name for struct svc_grp_ctx


Function Documentation

AXIS2_EXTERN axis2_svc_grp_ctx_t* axis2_svc_grp_ctx_create ( const axutil_env_t env,
struct axis2_svc_grp *  svc_grp,
struct axis2_conf_ctx *  conf_ctx 
)

Creates a service group context struct.

Parameters:
env pointer to environment struct
svc_grp pointer to service group that this service context represents, service group context does not assume the ownership of the struct
conf_ctx pointer to configuration context, the parent context of the newly created service group context, service group context does not assume the ownership of the struct
Returns:
pointer to newly created service group context

AXIS2_EXTERN axis2_status_t axis2_svc_grp_ctx_fill_svc_ctx_map ( struct axis2_svc_grp_ctx *  svc_grp_ctx,
const axutil_env_t env 
)

Fills service context map. This will create one service context per each service in the service group related to this service context.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_svc_grp_ctx_free ( struct axis2_svc_grp_ctx *  svc_grp_ctx,
const axutil_env_t env 
)

Frees service group context.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_ctx_t* axis2_svc_grp_ctx_get_base ( const axis2_svc_grp_ctx_t svc_grp_ctx,
const axutil_env_t env 
)

Gets base which is of type context.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment
Returns:
pointer to base context struct, returns a reference not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_svc_grp_ctx_get_id ( const axis2_svc_grp_ctx_t svc_grp_ctx,
const axutil_env_t env 
)

Gets service group context ID.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
Returns:
service group context ID string

AXIS2_EXTERN struct axis2_conf_ctx* axis2_svc_grp_ctx_get_parent ( const axis2_svc_grp_ctx_t svc_grp_ctx,
const axutil_env_t env 
) [read]

Gets parent. configuration context is the parent of any service group context instance.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
Returns:
pointer to configuration context, parent of service group

AXIS2_EXTERN struct axis2_svc_ctx* axis2_svc_grp_ctx_get_svc_ctx ( const axis2_svc_grp_ctx_t svc_grp_ctx,
const axutil_env_t env,
const axis2_char_t *  svc_name 
) [read]

Gets named service context.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
svc_name name of service context to be retrieved
Returns:
pointer to named service context

AXIS2_EXTERN axutil_hash_t* axis2_svc_grp_ctx_get_svc_ctx_map ( const axis2_svc_grp_ctx_t svc_grp_ctx,
const axutil_env_t env 
)

Gets service context map containing all service contexts.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
Returns:
pointer to hash table containing the service context map

AXIS2_EXTERN struct axis2_svc_grp* axis2_svc_grp_ctx_get_svc_grp ( const axis2_svc_grp_ctx_t svc_grp_ctx,
const axutil_env_t env 
) [read]

Gets service group related to this service context.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
Returns:
pointer to service group that this service group context represents

AXIS2_EXTERN axis2_status_t axis2_svc_grp_ctx_init ( struct axis2_svc_grp_ctx *  svc_grp_ctx,
const axutil_env_t env,
struct axis2_conf *  conf 
)

Initializes service group context. In this method, it pics the related service group from configuration and keeps a reference for future use.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
conf pointer to configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_ctx_set_id ( struct axis2_svc_grp_ctx *  svc_grp_ctx,
const axutil_env_t env,
const axis2_char_t *  id 
)

Sets service group context ID.

Parameters:
svc_grp_ctx pointer to service group context
env pointer to environment struct
id service group context ID
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__processing__instruction_8h-source.html0000644000175000017500000002275311172017604030404 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_processing_instruction.h Source File

axiom_processing_instruction.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_PI_H
00020 #define AXIOM_PI_H
00021 
00022 #include <axiom_node.h>
00023 #include <axiom_output.h>
00024 
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #endif
00029 
00036     typedef struct axiom_processing_instruction
00037                 axiom_processing_instruction_t;
00038 
00050     AXIS2_EXTERN axiom_processing_instruction_t *AXIS2_CALL
00051     axiom_processing_instruction_create(
00052         const axutil_env_t * env,
00053         axiom_node_t * parent,
00054         const axis2_char_t * target,
00055         const axis2_char_t * value,
00056         axiom_node_t ** node);
00057 
00064     AXIS2_EXTERN void AXIS2_CALL
00065     axiom_processing_instruction_free(
00066         struct axiom_processing_instruction *om_pi,
00067         const axutil_env_t * env);
00068 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axiom_processing_instruction_set_value(
00077         struct axiom_processing_instruction *om_pi,
00078         const axutil_env_t * env,
00079         const axis2_char_t * value);
00080 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     axiom_processing_instruction_set_target(
00091         struct axiom_processing_instruction *om_pi,
00092         const axutil_env_t * env,
00093         const axis2_char_t * target);
00094 
00101     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00102     axiom_processing_instruction_get_target(
00103         struct axiom_processing_instruction *om_pi,
00104         const axutil_env_t * env);
00105 
00112     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00113     axiom_processing_instruction_get_value(
00114         struct axiom_processing_instruction *om_pi,
00115         const axutil_env_t * env);
00116 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126     axiom_processing_instruction_serialize(
00127         struct axiom_processing_instruction *om_pi,
00128         const axutil_env_t * env,
00129         axiom_output_t * om_output);
00130 
00132 #ifdef __cplusplus
00133 }
00134 #endif
00135 
00136 #endif                          /* AXIOM_PI_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__relates__to.html0000644000175000017500000004021711172017604025312 0ustar00manjulamanjula00000000000000 Axis2/C: relates to

relates to
[WS-Addressing]


Files

file  axis2_relates_to.h

Typedefs

typedef struct
axis2_relates_to 
axis2_relates_to_t

Functions

AXIS2_EXTERN
axis2_relates_to_t
axis2_relates_to_create (const axutil_env_t *env, const axis2_char_t *value, const axis2_char_t *relationship_type)
AXIS2_EXTERN const
axis2_char_t * 
axis2_relates_to_get_value (const axis2_relates_to_t *relates_to, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_relates_to_set_value (struct axis2_relates_to *relates_to, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN const
axis2_char_t * 
axis2_relates_to_get_relationship_type (const axis2_relates_to_t *relates_to, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_relates_to_set_relationship_type (struct axis2_relates_to *relates_to, const axutil_env_t *env, const axis2_char_t *relationship_type)
AXIS2_EXTERN void axis2_relates_to_free (struct axis2_relates_to *relates_to, const axutil_env_t *env)

Detailed Description

relates to encapsulates data that indicate how a message relates to another message. The related message is identified by a URI that corresponds to the related message's message ID. The type of the relationship is also captured by relates to. Basically relates to handles the following WS-Addressing header <wsa:RelatesTo RelationshipType="..."?>xs:anyURI</wsa:RelatesTo>

Typedef Documentation

typedef struct axis2_relates_to axis2_relates_to_t

Type name for struct axis2_relates_to


Function Documentation

AXIS2_EXTERN axis2_relates_to_t* axis2_relates_to_create ( const axutil_env_t env,
const axis2_char_t *  value,
const axis2_char_t *  relationship_type 
)

creates relates to struct.

Parameters:
env pointer to environment struct
value value string
relationship_type relationship type string

AXIS2_EXTERN void axis2_relates_to_free ( struct axis2_relates_to *  relates_to,
const axutil_env_t env 
)

Frees relates to struct.

Parameters:
relates_to pointer to relates to struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN const axis2_char_t* axis2_relates_to_get_relationship_type ( const axis2_relates_to_t relates_to,
const axutil_env_t env 
)

Gets relationship type.

Parameters:
relates_to pointer to relates to struct
env pointer to environment struct
Returns:
relationship type string

AXIS2_EXTERN const axis2_char_t* axis2_relates_to_get_value ( const axis2_relates_to_t relates_to,
const axutil_env_t env 
)

Gets value. The value field represents the URI that corresponds to the related message's message ID

Parameters:
relates_to pointer to relates to struct
env pointer to environment struct
Returns:
value string

AXIS2_EXTERN axis2_status_t axis2_relates_to_set_relationship_type ( struct axis2_relates_to *  relates_to,
const axutil_env_t env,
const axis2_char_t *  relationship_type 
)

Sets relationship type.

Parameters:
relates_to pointer to relates to struct
env pointer to environment struct
relationship_type relationship type string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_relates_to_set_value ( struct axis2_relates_to *  relates_to,
const axutil_env_t env,
const axis2_char_t *  value 
)

Sets value. The value field represents the URI that corresponds to the related message's message ID

Parameters:
relates_to pointer to relates to struct
env pointer to environment struct
value value string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__simple__request_8h.html0000644000175000017500000002727511172017604026445 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_simple_request.h File Reference

axis2_http_simple_request.h File Reference

axis2 HTTP Simple Request More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_http_request_line.h>
#include <axis2_http_header.h>
#include <axutil_stream.h>
#include <axutil_array_list.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_simple_request 
axis2_http_simple_request_t

Functions

AXIS2_EXTERN
axis2_http_request_line_t
axis2_http_simple_request_get_request_line (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_set_request_line (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, axis2_http_request_line_t *request_line)
AXIS2_EXTERN axis2_bool_t axis2_http_simple_request_contains_header (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_simple_request_get_headers (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_simple_request_get_first_header (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_remove_headers (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_add_header (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, axis2_http_header_t *header)
AXIS2_EXTERN const
axis2_char_t * 
axis2_http_simple_request_get_content_type (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_http_simple_request_get_charset (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_ssize_t 
axis2_http_simple_request_get_content_length (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axutil_stream_t * 
axis2_http_simple_request_get_body (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_ssize_t 
axis2_http_simple_request_get_body_bytes (const axis2_http_simple_request_t *simple_request, const axutil_env_t *env, char **buf)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_request_set_body_string (axis2_http_simple_request_t *simple_request, const axutil_env_t *env, void *str, unsigned int str_len)
AXIS2_EXTERN void axis2_http_simple_request_free (axis2_http_simple_request_t *simple_request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_simple_request_t
axis2_http_simple_request_create (const axutil_env_t *env, axis2_http_request_line_t *request_line, axis2_http_header_t **http_headers, axis2_ssize_t http_hdr_count, axutil_stream_t *content)


Detailed Description

axis2 HTTP Simple Request


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mime__parser_8h-source.html0000644000175000017500000003505211172017604026066 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mime_parser.h Source File

axiom_mime_parser.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_MIME_PARSER_H
00020 #define AXIOM_MIME_PARSER_H
00021 
00027 #include <axutil_utils.h>
00028 #include <axutil_error.h>
00029 #include <axutil_utils_defines.h>
00030 #include <axutil_env.h>
00031 #include <axutil_allocator.h>
00032 #include <axutil_string.h>
00033 #include <axutil_hash.h>
00034 #include <axiom_mime_const.h>
00035 
00036 #ifdef __cplusplus
00037 extern "C"
00038 {
00039 #endif
00040 
00041 #define AXIOM_MIME_PARSER_BUFFER_SIZE (1024 * 1024/2)
00042 #define AXIOM_MIME_PARSER_MAX_BUFFERS 1000
00043 
00044 #define AXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNT 100
00045 
00046 
00047     typedef struct axiom_mime_parser axiom_mime_parser_t;
00048 
00062     /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00063     axiom_mime_parser_parse(
00064         axiom_mime_parser_t * mime_parser,
00065         const axutil_env_t * env,
00066         AXIS2_READ_INPUT_CALLBACK,
00067         void *callback_ctx,
00068         axis2_char_t * mime_boundary);*/
00069 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     axiom_mime_parser_parse_for_soap(
00072         axiom_mime_parser_t * mime_parser,
00073         const axutil_env_t * env,
00074         AXIS2_READ_INPUT_CALLBACK callback,
00075         void *callback_ctx,
00076         axis2_char_t * mime_boundary);
00077 
00078 
00079     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00080     axiom_mime_parser_parse_for_attachments(
00081         axiom_mime_parser_t * mime_parser,
00082         const axutil_env_t * env,
00083         AXIS2_READ_INPUT_CALLBACK callback,
00084         void *callback_ctx,
00085         axis2_char_t * mime_boundary,
00086         void *user_param);
00087 
00088 
00095     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00096     axiom_mime_parser_get_mime_parts_map(
00097         axiom_mime_parser_t * mime_parser,
00098         const axutil_env_t * env);
00099 
00106     AXIS2_EXTERN void AXIS2_CALL
00107     axiom_mime_parser_free(
00108         axiom_mime_parser_t * mime_parser,
00109         const axutil_env_t * env);
00110 
00117     AXIS2_EXTERN int AXIS2_CALL
00118     axiom_mime_parser_get_soap_body_len(
00119         axiom_mime_parser_t * mime_parser,
00120         const axutil_env_t * env);
00121 
00128     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00129     axiom_mime_parser_get_soap_body_str(
00130         axiom_mime_parser_t * mime_parser,
00131         const axutil_env_t * env);
00132 
00138     AXIS2_EXTERN axiom_mime_parser_t *AXIS2_CALL
00139     axiom_mime_parser_create(
00140         const axutil_env_t * env);
00141 
00149     AXIS2_EXTERN void AXIS2_CALL
00150     axiom_mime_parser_set_buffer_size(
00151         axiom_mime_parser_t * mime_parser,
00152         const axutil_env_t * env,
00153         int size);
00154 
00162     AXIS2_EXTERN void AXIS2_CALL
00163     axiom_mime_parser_set_max_buffers(
00164         axiom_mime_parser_t * mime_parser,
00165         const axutil_env_t * env,
00166         int num);
00167 
00168     
00177     AXIS2_EXTERN void AXIS2_CALL
00178     axiom_mime_parser_set_attachment_dir(
00179         axiom_mime_parser_t *mime_parser,
00180         const axutil_env_t *env,
00181         axis2_char_t *attachment_dir);
00182 
00183 
00193     AXIS2_EXTERN void AXIS2_CALL
00194     axiom_mime_parser_set_caching_callback_name(
00195         axiom_mime_parser_t *mime_parser,
00196         const axutil_env_t *env,
00197         axis2_char_t *callback_name);
00198 
00199 
00200     AXIS2_EXTERN void AXIS2_CALL
00201     axiom_mime_parser_set_mime_boundary(
00202         axiom_mime_parser_t *mime_parser,
00203         const axutil_env_t *env,
00204         axis2_char_t *mime_boundary);
00205 
00206 
00207     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00208     axiom_mime_parser_get_mime_boundary(
00209         axiom_mime_parser_t *mime_parser,
00210         const axutil_env_t *env);
00211 
00212 
00213 
00214 
00217 #ifdef __cplusplus
00218 }
00219 #endif
00220 #endif                          /* AXIOM_MIME_PARSER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__server_8h-source.html0000644000175000017500000001645111172017604026043 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_server.h Source File

axis2_http_server.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_SERVER_H
00020 #define AXIS2_HTTP_SERVER_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axis2_conf_ctx.h>
00037 #include <axis2_transport_receiver.h>
00038 
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043 
00044     AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL
00045     axis2_http_server_create(
00046         const axutil_env_t * env,
00047         const axis2_char_t * repo,
00048         const int port);
00049         
00050         AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL
00051         axis2_http_server_create_with_file(
00052         const axutil_env_t * env,
00053         const axis2_char_t * file,
00054         const int port);
00055 
00056     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00057     axis2_http_server_stop(
00058         axis2_transport_receiver_t * server,
00059         const axutil_env_t * env);
00060 
00062 #ifdef __cplusplus
00063 }
00064 #endif
00065 
00066 #endif  /* AXIS2_HTTP_SERVER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__transport__receiver.html0000644000175000017500000004466111172017604027100 0ustar00manjulamanjula00000000000000 Axis2/C: transport receiver

transport receiver
[transport]


Files

file  axis2_transport_receiver.h
 Axis2 description transport receiver interface.

Classes

struct  axis2_transport_receiver_ops
 Description Transport Receiver ops struct Encapsulator struct for ops of axis2_transport_receiver. More...
struct  axis2_transport_receiver
 Transport Reciever struct. More...

Typedefs

typedef struct
axis2_transport_receiver 
axis2_transport_receiver_t
typedef struct
axis2_transport_receiver_ops 
axis2_transport_receiver_ops_t

Functions

AXIS2_EXTERN void axis2_transport_receiver_free (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_receiver_init (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_receiver_start (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_receiver_stop (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_transport_receiver_get_reply_to_epr (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_transport_receiver_get_conf_ctx (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_transport_receiver_is_running (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)

Detailed Description

Description.

Typedef Documentation


Function Documentation

AXIS2_EXTERN void axis2_transport_receiver_free ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env 
)

Frees the transport receiver.

See also:
axis2_transport_receiver::free

AXIS2_EXTERN struct axis2_conf_ctx* axis2_transport_receiver_get_conf_ctx ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env 
) [read]

Get conf ctx.

See also:
axis2_transport_receiver::get_conf_ctx

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_transport_receiver_get_reply_to_epr ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env,
const axis2_char_t *  svc_name 
)

Get reply to epr.

See also:
axis2_transport_receiver::get_reply_to_epr

AXIS2_EXTERN axis2_status_t axis2_transport_receiver_init ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env,
struct axis2_conf_ctx *  conf_ctx,
struct axis2_transport_in_desc *  transport_in 
)

Initialize the transport receiver.

See also:
axis2_transport_receiver::init

AXIS2_EXTERN axis2_bool_t axis2_transport_receiver_is_running ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env 
)

Is running.

See also:
axis2_transport_receiver::is_running

AXIS2_EXTERN axis2_status_t axis2_transport_receiver_start ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env 
)

Start

See also:
axis2_transport_receiver::start

AXIS2_EXTERN axis2_status_t axis2_transport_receiver_stop ( axis2_transport_receiver_t transport_receiver,
const axutil_env_t env 
)

Stop.

See also:
axis2_transport_receiver::stop


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__listener__manager.html0000644000175000017500000004502711172017604026474 0ustar00manjulamanjula00000000000000 Axis2/C: listener manager

listener manager


Files

file  axis2_listener_manager.h

Typedefs

typedef struct
axis2_listener_manager 
axis2_listener_manager_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_listener_manager_make_sure_started (axis2_listener_manager_t *listener_manager, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS transport, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_listener_manager_stop (axis2_listener_manager_t *listener_manager, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS transport)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_listener_manager_get_reply_to_epr (const axis2_listener_manager_t *listener_manager, const axutil_env_t *env, const axis2_char_t *svc_name, const AXIS2_TRANSPORT_ENUMS transport)
AXIS2_EXTERN
axis2_conf_ctx_t
axis2_listener_manager_get_conf_ctx (const axis2_listener_manager_t *listener_manager, const axutil_env_t *env)
AXIS2_EXTERN void axis2_listener_manager_free (axis2_listener_manager_t *listener_manager, const axutil_env_t *env)
AXIS2_EXTERN
axis2_listener_manager_t
axis2_listener_manager_create (const axutil_env_t *env)

Detailed Description

listener manager manages the listeners in case of dual channel invocations. In case of a dual channel invocation, request is sent along one channel and the response is received on another channel. When the response is expected to be received along another transport channel, it has to be made sure that the listener socket is up in anticipation of the response and also that listener must be closed once the response is received. listener manager is responsible for dealing with these tasks.

Typedef Documentation

typedef struct axis2_listener_manager axis2_listener_manager_t

Type name for struct axis2_listener_manager


Function Documentation

AXIS2_EXTERN axis2_listener_manager_t* axis2_listener_manager_create ( const axutil_env_t env  ) 

Creates a listener manager struct instance.

Parameters:
env pointer to environment struct
Returns:
a pointer to newly created listener manager struct, or NULL on error with error code set in environment's error

AXIS2_EXTERN void axis2_listener_manager_free ( axis2_listener_manager_t listener_manager,
const axutil_env_t env 
)

Frees listener manager struct.

Parameters:
listener_manager pointer to listener manager struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_conf_ctx_t* axis2_listener_manager_get_conf_ctx ( const axis2_listener_manager_t listener_manager,
const axutil_env_t env 
)

Gets the configuration context that holds information on the transports managed by the listener manager.

Parameters:
listener_manager pointer to listener manager struct
env pointer to environment struct

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_listener_manager_get_reply_to_epr ( const axis2_listener_manager_t listener_manager,
const axutil_env_t env,
const axis2_char_t *  svc_name,
const AXIS2_TRANSPORT_ENUMS  transport 
)

Gets reply to end point reference. The engine will direct the response for the message to this reply to address.

Parameters:
listener_manager pointer to listener manager struct
env pointer to environment struct
svc_name name of the service for which the epr is to be returned
transport name of the transport corresponding to the endpoint
Returns:
a pointer to endpoint reference struct representing the reply endpoint

AXIS2_EXTERN axis2_status_t axis2_listener_manager_make_sure_started ( axis2_listener_manager_t listener_manager,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  transport,
axis2_conf_ctx_t conf_ctx 
)

Ensures that the named transport's listener is started. Starts a listener if it is not already started. Only one listener would be started for a given transport.

Parameters:
listener_manager pointer to listener manager struct
env pointer to environment struct
transport name of the transport
conf_ctx configuration context to pick transport info for the named transport
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_listener_manager_stop ( axis2_listener_manager_t listener_manager,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  transport 
)

Stops the named listener transport.

Parameters:
listener_manager pointer to listener manager struct
env pointer to environment struct
transport name of the transport whose listener is to be stopped
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__response__writer_8h-source.html0000644000175000017500000003407411172017604030127 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_response_writer.h Source File

axis2_http_response_writer.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_RESPONSE_WRITER_H
00020 #define AXIS2_HTTP_RESPONSE_WRITER_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axutil_stream.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_http_response_writer axis2_http_response_writer_t;
00045 
00050     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00051 
00052     axis2_http_response_writer_get_encoding(
00053         const axis2_http_response_writer_t * response_writer,
00054         const axutil_env_t * env);
00055 
00061     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00062     axis2_http_response_writer_close(
00063         axis2_http_response_writer_t * response_writer,
00064         const axutil_env_t * env);
00065 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     axis2_http_response_writer_flush(
00073         axis2_http_response_writer_t * response_writer,
00074         const axutil_env_t * env);
00075 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083 
00084     axis2_http_response_writer_write_char(
00085         axis2_http_response_writer_t * response_writer,
00086         const axutil_env_t * env,
00087         char c);
00088 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098 
00099     axis2_http_response_writer_write_buf(
00100         axis2_http_response_writer_t * response_writer,
00101         const axutil_env_t * env,
00102         char *buf,
00103         int offset,
00104         axis2_ssize_t len);
00105 
00112     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00113 
00114     axis2_http_response_writer_print_str(
00115         axis2_http_response_writer_t * response_writer,
00116         const axutil_env_t * env,
00117         const char *str);
00118 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126 
00127     axis2_http_response_writer_print_int(
00128         axis2_http_response_writer_t * response_writer,
00129         const axutil_env_t * env,
00130         int i);
00131 
00138     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00139 
00140     axis2_http_response_writer_println_str(
00141         axis2_http_response_writer_t * response_writer,
00142         const axutil_env_t * env,
00143         const char *str);
00144 
00150     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00151 
00152     axis2_http_response_writer_println(
00153         axis2_http_response_writer_t * response_writer,
00154         const axutil_env_t * env);
00155 
00161     AXIS2_EXTERN void AXIS2_CALL
00162     axis2_http_response_writer_free(
00163         axis2_http_response_writer_t * response_writer,
00164         const axutil_env_t * env);
00165 
00170     AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL
00171 
00172     axis2_http_response_writer_create(
00173         const axutil_env_t * env,
00174         axutil_stream_t * stream);
00175 
00181     AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL
00182 
00183     axis2_http_response_writer_create_with_encoding(
00184         const axutil_env_t * env,
00185         axutil_stream_t * stream,
00186         const axis2_char_t * encoding);
00187 
00189 #ifdef __cplusplus
00190 }
00191 #endif
00192 
00193 #endif                          /* AXIS2_HTTP_RESPONSE_WRITER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__callback_8h.html0000644000175000017500000002400611172017604023570 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_callback.h File Reference

axis2_callback.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_async_result.h>
#include <axiom_soap_envelope.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_callback 
axis2_callback_t
typedef axis2_status_t axis2_on_complete_func_ptr (axis2_callback_t *, const axutil_env_t *)
typedef axis2_status_t axis2_on_error_func_ptr (axis2_callback_t *, const axutil_env_t *, int)

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_callback_invoke_on_complete (axis2_callback_t *callback, const axutil_env_t *env, axis2_async_result_t *result)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_report_error (axis2_callback_t *callback, const axutil_env_t *env, const int exception)
AXIS2_EXTERN axis2_bool_t axis2_callback_get_complete (const axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_complete (axis2_callback_t *callback, const axutil_env_t *env, const axis2_bool_t complete)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_callback_get_envelope (const axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_envelope (axis2_callback_t *callback, const axutil_env_t *env, axiom_soap_envelope_t *envelope)
AXIS2_EXTERN int axis2_callback_get_error (const axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_error (axis2_callback_t *callback, const axutil_env_t *env, const int error)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_data (axis2_callback_t *callback, void *data)
AXIS2_EXTERN void * axis2_callback_get_data (const axis2_callback_t *callback)
AXIS2_EXTERN void axis2_callback_set_on_complete (axis2_callback_t *callback, axis2_on_complete_func_ptr f)
AXIS2_EXTERN void axis2_callback_set_on_error (axis2_callback_t *callback, axis2_on_error_func_ptr f)
AXIS2_EXTERN void axis2_callback_free (axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_callback_t
axis2_callback_create (const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__any__content__type_8h-source.html0000644000175000017500000002254111172017604027214 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_any_content_type.h Source File

axis2_any_content_type.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_ANY_CONTENT_TYPE_H
00020 #define AXIS2_ANY_CONTENT_TYPE_H
00021 
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_const.h>
00038 #include <axutil_hash.h>
00039 #include <axutil_qname.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00047     typedef struct axis2_any_content_type axis2_any_content_type_t;
00048 
00054     AXIS2_EXTERN axis2_any_content_type_t *AXIS2_CALL
00055     axis2_any_content_type_create(
00056         const axutil_env_t * env);
00057 
00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067     axis2_any_content_type_add_value(
00068         axis2_any_content_type_t * any_content_type,
00069         const axutil_env_t * env,
00070         const axutil_qname_t * qname,
00071         const axis2_char_t * value);
00072 
00082     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00083     axis2_any_content_type_get_value(
00084         const axis2_any_content_type_t * any_content_type,
00085         const axutil_env_t * env,
00086         const axutil_qname_t * qname);
00087 
00095     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00096     axis2_any_content_type_get_value_map(
00097         const axis2_any_content_type_t * any_content_type,
00098         const axutil_env_t * env);
00099 
00106     AXIS2_EXTERN void AXIS2_CALL
00107     axis2_any_content_type_free(
00108         axis2_any_content_type_t * any_content_type,
00109         const axutil_env_t * env);
00110 
00113 #ifdef __cplusplus
00114 }
00115 #endif
00116 
00117 #endif                          /* AXIS2_ANY_CONTENT_TYPE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__header__block_8h.html0000644000175000017500000002105211172017604026043 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_header_block.h File Reference

axiom_soap_header_block.h File Reference

axiom_soap_header_block struct More...

#include <axutil_env.h>
#include <axiom_node.h>
#include <axiom_element.h>
#include <axutil_array_list.h>
#include <axiom_soap_header.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_header_block 
axiom_soap_header_block_t

Functions

AXIS2_EXTERN
axiom_soap_header_block_t * 
axiom_soap_header_block_create_with_parent (const axutil_env_t *env, const axis2_char_t *localname, axiom_namespace_t *ns, struct axiom_soap_header *parent)
AXIS2_EXTERN void axiom_soap_header_block_free (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_role (axiom_soap_header_block_t *header_block, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_must_understand_with_bool (axiom_soap_header_block_t *header_block, const axutil_env_t *env, axis2_bool_t must_understand)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_must_understand_with_string (axiom_soap_header_block_t *header_block, const axutil_env_t *env, axis2_char_t *must_understand)
AXIS2_EXTERN axis2_bool_t axiom_soap_header_block_get_must_understand (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_soap_header_block_is_processed (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_processed (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_header_block_get_role (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_attribute (axiom_soap_header_block_t *header_block, const axutil_env_t *env, const axis2_char_t *attr_name, const axis2_char_t *attr_value, const axis2_char_t *soap_envelope_namespace_uri)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_header_block_get_attribute (axiom_soap_header_block_t *header_block, const axutil_env_t *env, const axis2_char_t *attr_name, const axis2_char_t *soap_envelope_namespace_uri)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_header_block_get_base_node (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_header_block_get_soap_version (axiom_soap_header_block_t *header_block, const axutil_env_t *env)


Detailed Description

axiom_soap_header_block struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__https__token.html0000644000175000017500000001550511172017604025110 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_https_token

Rp_https_token


Typedefs

typedef struct
rp_https_token_t 
rp_https_token_t

Functions

AXIS2_EXTERN
rp_https_token_t * 
rp_https_token_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_https_token_free (rp_https_token_t *https_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_https_token_get_inclusion (rp_https_token_t *https_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_https_token_set_inclusion (rp_https_token_t *https_token, const axutil_env_t *env, axis2_char_t *inclusion)
AXIS2_EXTERN axis2_bool_t rp_https_token_get_derivedkeys (rp_https_token_t *https_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_https_token_set_derivedkeys (rp_https_token_t *https_token, const axutil_env_t *env, axis2_bool_t derivedkeys)
AXIS2_EXTERN axis2_bool_t rp_https_token_get_require_client_certificate (rp_https_token_t *https_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_https_token_set_require_client_certificate (rp_https_token_t *https_token, const axutil_env_t *env, axis2_bool_t require_client_certificate)
AXIS2_EXTERN
axis2_status_t 
rp_https_token_increment_ref (rp_https_token_t *https_token, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__client.html0000644000175000017500000012351611172017604025472 0ustar00manjulamanjula00000000000000 Axis2/C: http client

http client
[http transport]


Files

file  axis2_http_client.h
 axis2 HTTP Header name:value pair implementation

Typedefs

typedef struct
axis2_http_client 
axis2_http_client_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_http_client_send (axis2_http_client_t *client, const axutil_env_t *env, axis2_http_simple_request_t *request, axis2_char_t *ssl_pp)
AXIS2_EXTERN int axis2_http_client_recieve_header (axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_simple_response_t
axis2_http_client_get_response (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_url (axis2_http_client_t *client, const axutil_env_t *env, axutil_url_t *url)
AXIS2_EXTERN
axutil_url_t * 
axis2_http_client_get_url (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_timeout (axis2_http_client_t *client, const axutil_env_t *env, int timeout_ms)
AXIS2_EXTERN int axis2_http_client_get_timeout (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_proxy (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *proxy_host, int proxy_port)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_client_get_proxy (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_connect_ssl_host (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *host, int port)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_dump_input_msg (axis2_http_client_t *client, const axutil_env_t *env, axis2_bool_t dump_input_msg)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_server_cert (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *server_cert)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_client_get_server_cert (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_key_file (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *key_file)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_client_get_key_file (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_client_free (axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_client_t
axis2_http_client_create (const axutil_env_t *env, axutil_url_t *url)
AXIS2_EXTERN void axis2_http_client_free_void_arg (void *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_mime_parts (axis2_http_client_t *client, const axutil_env_t *env, axutil_array_list_t *mime_parts)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_client_get_mime_parts (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_doing_mtom (axis2_http_client_t *client, const axutil_env_t *env, axis2_bool_t doing_mtom)
AXIS2_EXTERN axis2_bool_t axis2_http_client_get_doing_mtom (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_mtom_sending_callback_name (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *callback_name)

Detailed Description

Description

Typedef Documentation

typedef struct axis2_http_client axis2_http_client_t

Type name for struct axis2_http_client


Function Documentation

AXIS2_EXTERN axis2_http_client_t* axis2_http_client_create ( const axutil_env_t env,
axutil_url_t *  url 
)

Parameters:
env pointer to environment struct
url pointer to url

AXIS2_EXTERN void axis2_http_client_free ( axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_http_client_free_void_arg ( void *  client,
const axutil_env_t env 
)

Free http_client passed as void pointer. This will be cast into appropriate type and then pass the cast object into the http_client structure's free method

Parameters:
client 
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_client_get_key_file ( const axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_client_get_proxy ( const axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN axis2_http_simple_response_t* axis2_http_client_get_response ( const axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_client_get_server_cert ( const axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN int axis2_http_client_get_timeout ( const axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN axutil_url_t* axis2_http_client_get_url ( const axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN int axis2_http_client_recieve_header ( axis2_http_client_t client,
const axutil_env_t env 
)

Parameters:
client pointer to client
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_client_send ( axis2_http_client_t client,
const axutil_env_t env,
axis2_http_simple_request_t request,
axis2_char_t *  ssl_pp 
)

Parameters:
client pointer to client
env pointer to environment struct
request pointer to request
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_key_file ( axis2_http_client_t client,
const axutil_env_t env,
axis2_char_t *  key_file 
)

Parameters:
client pointer to client
env pointer to environment struct
key_file chain file containing
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_proxy ( axis2_http_client_t client,
const axutil_env_t env,
axis2_char_t *  proxy_host,
int  proxy_port 
)

Parameters:
client pointer to client
env pointer to environment struct
proxy_host pointer to proxy host
proxy_port 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_server_cert ( axis2_http_client_t client,
const axutil_env_t env,
axis2_char_t *  server_cert 
)

Parameters:
client pointer to client
env pointer to environment struct
server_cert server certificate
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_timeout ( axis2_http_client_t client,
const axutil_env_t env,
int  timeout_ms 
)

Parameters:
client pointer to client
env pointer to environment struct
timeout_ms 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_client_set_url ( axis2_http_client_t client,
const axutil_env_t env,
axutil_url_t *  url 
)

Parameters:
client pointer to client
env pointer to environment struct
url pointer to url
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__receivers.html0000644000175000017500000000373511172017604025005 0ustar00manjulamanjula00000000000000 Axis2/C: receivers

receivers


Modules

 message receiver
 raw XML in-out message receiver

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__symmetric__binding__builder.html0000644000175000017500000000426211172017604030117 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_symmetric_binding_builder

Rp_symmetric_binding_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_symmetric_binding_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__options_8h-source.html0000644000175000017500000014025411172017604025031 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_options.h Source File

axis2_options.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_OPTIONS_H
00020 #define AXIS2_OPTIONS_H
00021 
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_transport_in_desc.h>
00038 #include <axis2_endpoint_ref.h>
00039 #include <axutil_hash.h>
00040 #include <axis2_relates_to.h>
00041 #include <axis2_transport_out_desc.h>
00042 #include <axis2_transport_receiver.h>
00043 #include <axiom_element.h>
00044 #include <axis2_msg_info_headers.h>
00045 
00047 #define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS 30000
00048 
00050 #define AXIS2_TIMEOUT_IN_SECONDS "time_out"
00051 
00053 #define AXIS2_COPY_PROPERTIES   "copy_properties"
00054 
00055 #ifdef __cplusplus
00056 extern "C"
00057 {
00058 #endif
00059 
00061     typedef struct axis2_options axis2_options_t;
00062 
00069     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00070     axis2_options_get_action(
00071         const axis2_options_t * options,
00072         const axutil_env_t * env);
00073 
00081     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00082     axis2_options_get_fault_to(
00083         const axis2_options_t * options,
00084         const axutil_env_t * env);
00085 
00093     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00094     axis2_options_get_from(
00095         const axis2_options_t * options,
00096         const axutil_env_t * env);
00097 
00104     AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL
00105     axis2_options_get_transport_receiver(
00106         const axis2_options_t * options,
00107         const axutil_env_t * env);
00108 
00115     AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL
00116     axis2_options_get_transport_in(
00117         const axis2_options_t * options,
00118         const axutil_env_t * env);
00119 
00126     AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL
00127     axis2_options_get_transport_in_protocol(
00128         const axis2_options_t * options,
00129         const axutil_env_t * env);
00130 
00137     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00138     axis2_options_get_message_id(
00139         const axis2_options_t * options_t,
00140         const axutil_env_t * env);
00141 
00148     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00149     axis2_options_get_properties(
00150         const axis2_options_t * options,
00151         const axutil_env_t * env);
00152 
00160     AXIS2_EXTERN void *AXIS2_CALL
00161     axis2_options_get_property(
00162         const axis2_options_t * options,
00163         const axutil_env_t * env,
00164         const axis2_char_t * key);
00165 
00172     AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL
00173     axis2_options_get_relates_to(
00174         const axis2_options_t * options,
00175         const axutil_env_t * env);
00176 
00184     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00185     axis2_options_get_reply_to(
00186         const axis2_options_t * options,
00187         const axutil_env_t * env);
00188 
00195     AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00196     axis2_options_get_transport_out(
00197         const axis2_options_t * options,
00198         const axutil_env_t * env);
00199 
00206     AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL
00207     axis2_options_get_sender_transport_protocol(
00208         const axis2_options_t * options,
00209         const axutil_env_t * env);
00210 
00217     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00218     axis2_options_get_soap_version_uri(
00219         const axis2_options_t * options,
00220         const axutil_env_t * env);
00221 
00229     AXIS2_EXTERN long AXIS2_CALL
00230     axis2_options_get_timeout_in_milli_seconds(
00231         const axis2_options_t * options,
00232         const axutil_env_t * env);
00233 
00241     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00242     axis2_options_get_to(
00243         const axis2_options_t * options,
00244         const axutil_env_t * env);
00245 
00252     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00253     axis2_options_get_use_separate_listener(
00254         const axis2_options_t * options,
00255         const axutil_env_t * env);
00256 
00263     AXIS2_EXTERN axis2_options_t *AXIS2_CALL
00264     axis2_options_get_parent(
00265         const axis2_options_t * options,
00266         const axutil_env_t * env);
00267 
00275     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00276     axis2_options_set_parent(
00277         axis2_options_t * options,
00278         const axutil_env_t * env,
00279         const axis2_options_t * parent);
00280 
00288     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00289     axis2_options_set_action(
00290         axis2_options_t * options,
00291         const axutil_env_t * env,
00292         const axis2_char_t * action);
00293 
00302     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00303     axis2_options_set_fault_to(
00304         axis2_options_t * options,
00305         const axutil_env_t * env,
00306         axis2_endpoint_ref_t * fault_to);
00307 
00316     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00317     axis2_options_set_from(
00318         axis2_options_t * options,
00319         const axutil_env_t * env,
00320         axis2_endpoint_ref_t * from);
00321 
00330     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00331     axis2_options_set_to(
00332         axis2_options_t * options,
00333         const axutil_env_t * env,
00334         axis2_endpoint_ref_t * to);
00335 
00344     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00345     axis2_options_set_transport_receiver(
00346         axis2_options_t * options,
00347         const axutil_env_t * env,
00348         axis2_transport_receiver_t * receiver);
00349 
00358     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00359     axis2_options_set_transport_in(
00360         axis2_options_t * options,
00361         const axutil_env_t * env,
00362         axis2_transport_in_desc_t * transport_in);
00363 
00371     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00372     axis2_options_set_transport_in_protocol(
00373         axis2_options_t * options,
00374         const axutil_env_t * env,
00375         const AXIS2_TRANSPORT_ENUMS transport_in_protocol);
00376 
00384     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00385     axis2_options_set_message_id(
00386         axis2_options_t * options,
00387         const axutil_env_t * env,
00388         const axis2_char_t * message_id);
00389 
00398     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00399     axis2_options_set_properties(
00400         axis2_options_t * options,
00401         const axutil_env_t * env,
00402         axutil_hash_t * properties);
00403 
00412     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00413     axis2_options_set_property(
00414         axis2_options_t * options,
00415         const axutil_env_t * env,
00416         const axis2_char_t * property_key,
00417         const void *property);
00418 
00427     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00428     axis2_options_set_relates_to(
00429         axis2_options_t * options,
00430         const axutil_env_t * env,
00431         axis2_relates_to_t * relates_to);
00432 
00441     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00442     axis2_options_set_reply_to(
00443         axis2_options_t * options,
00444         const axutil_env_t * env,
00445         axis2_endpoint_ref_t * reply_to);
00446 
00455     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00456     axis2_options_set_transport_out(
00457         axis2_options_t * options,
00458         const axutil_env_t * env,
00459         axis2_transport_out_desc_t * transport_out);
00460 
00470     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00471     axis2_options_set_sender_transport(
00472         axis2_options_t * options,
00473         const axutil_env_t * env,
00474         const AXIS2_TRANSPORT_ENUMS sender_transport,
00475         axis2_conf_t * conf);
00476 
00486     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00487     axis2_options_set_soap_version_uri(
00488         axis2_options_t * options,
00489         const axutil_env_t * env,
00490         const axis2_char_t * soap_version_uri);
00491 
00499     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00500     axis2_options_set_timeout_in_milli_seconds(
00501         axis2_options_t * options,
00502         const axutil_env_t * env,
00503         const long timeout_in_milli_seconds);
00504 
00517     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00518     axis2_options_set_transport_info(
00519         axis2_options_t * options,
00520         const axutil_env_t * env,
00521         const AXIS2_TRANSPORT_ENUMS sender_transport,
00522         const AXIS2_TRANSPORT_ENUMS receiver_transport,
00523         const axis2_bool_t use_separate_listener);
00524 
00533     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00534     axis2_options_set_use_separate_listener(
00535         axis2_options_t * options,
00536         const axutil_env_t * env,
00537         const axis2_bool_t use_separate_listener);
00538 
00547     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00548     axis2_options_add_reference_parameter(
00549         axis2_options_t * options,
00550         const axutil_env_t * env,
00551         axiom_node_t * reference_parameter);
00552 
00559     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00560     axis2_options_get_manage_session(
00561         const axis2_options_t * options,
00562         const axutil_env_t * env);
00563 
00571     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00572     axis2_options_set_manage_session(
00573         axis2_options_t * options,
00574         const axutil_env_t * env,
00575         const axis2_bool_t manage_session);
00576 
00584     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00585     axis2_options_set_msg_info_headers(
00586         axis2_options_t * options,
00587         const axutil_env_t * env,
00588         axis2_msg_info_headers_t * msg_info_headers);
00589 
00597     AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL
00598     axis2_options_get_msg_info_headers(
00599         const axis2_options_t * options,
00600         const axutil_env_t * env);
00601 
00608     AXIS2_EXTERN int AXIS2_CALL
00609     axis2_options_get_soap_version(
00610         const axis2_options_t * options,
00611         const axutil_env_t * env);
00612 
00620     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00621     axis2_options_set_soap_version(
00622         axis2_options_t * options,
00623         const axutil_env_t * env,
00624         const int soap_version);
00625 
00634     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00635     axis2_options_set_enable_mtom(
00636         axis2_options_t * options,
00637         const axutil_env_t * env,
00638         axis2_bool_t enable_mtom);
00639 
00646     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00647     axis2_options_get_enable_mtom(
00648         const axis2_options_t * options,
00649         const axutil_env_t * env);
00650 
00657     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00658     axis2_options_get_soap_action(
00659         const axis2_options_t * options,
00660         const axutil_env_t * env);
00661 
00669     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00670     axis2_options_set_soap_action(
00671         axis2_options_t * options,
00672         const axutil_env_t * env,
00673         axutil_string_t * soap_action);
00674 
00682     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00683     axis2_options_set_xml_parser_reset(
00684         axis2_options_t * options,
00685         const axutil_env_t * env,
00686         const axis2_bool_t paser_reset_flag);
00687 
00694     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00695     axis2_options_get_xml_parser_reset(
00696         const axis2_options_t * options,
00697         const axutil_env_t * env);
00698 
00705     AXIS2_EXTERN void AXIS2_CALL
00706     axis2_options_free(
00707         axis2_options_t * options,
00708         const axutil_env_t * env);
00709 
00718     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00719     axis2_options_set_enable_rest(
00720         axis2_options_t * options,
00721         const axutil_env_t * env,
00722         const axis2_bool_t enable_rest);
00723 
00733     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00734     axis2_options_set_test_http_auth(
00735         axis2_options_t * options,
00736         const axutil_env_t * env,
00737         const axis2_bool_t test_http_auth);
00738 
00748     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00749     axis2_options_set_test_proxy_auth(
00750         axis2_options_t * options,
00751         const axutil_env_t * env,
00752         const axis2_bool_t test_proxy_auth);
00753     
00762     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00763     axis2_options_set_http_method(
00764         axis2_options_t * options,
00765         const axutil_env_t * env,
00766         const axis2_char_t * http_method);
00767 
00776     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00777     axis2_options_set_http_headers(
00778         axis2_options_t * options,
00779         const axutil_env_t * env,
00780         axutil_array_list_t * http_header_list);
00781 
00788     AXIS2_EXTERN axis2_options_t *AXIS2_CALL
00789     axis2_options_create(
00790         const axutil_env_t * env);
00791 
00800     AXIS2_EXTERN axis2_options_t *AXIS2_CALL
00801     axis2_options_create_with_parent(
00802         const axutil_env_t * env,
00803         axis2_options_t * parent);
00804 
00816     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00817     axis2_options_set_http_auth_info(
00818         axis2_options_t * options,
00819         const axutil_env_t * env,
00820         const axis2_char_t * username,
00821         const axis2_char_t * password,
00822         const axis2_char_t * auth_type);
00823 
00835     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00836     axis2_options_set_proxy_auth_info(
00837         axis2_options_t * options,
00838         const axutil_env_t * env,
00839         const axis2_char_t * username,
00840         const axis2_char_t * password,
00841         const axis2_char_t * auth_type);
00842 
00844 #ifdef __cplusplus
00845 }
00846 #endif
00847 
00848 #endif                          /* AXIS2_OPTIONS_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__transport__token__builder_8h-source.html0000644000175000017500000001237411172017604030172 0ustar00manjulamanjula00000000000000 Axis2/C: rp_transport_token_builder.h Source File

rp_transport_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_TRANSPORT_TOKEN_BUILDER_H
00019 #define RP_TRANSPORT_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_https_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_transport_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__reader_8h-source.html0000644000175000017500000002704411172017604025544 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_reader.h Source File

guththila_reader.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_READER_H
00019 #define GUTHTHILA_READER_H
00020 
00021 #include <stdio.h>
00022 #include <guththila_defines.h>
00023 #include <axutil_utils.h>
00024 
00025 EXTERN_C_START()  
00026 
00027 typedef int(GUTHTHILA_CALL * GUTHTHILA_READ_INPUT_CALLBACK)(
00028         guththila_char_t *buffer,
00029         int size,
00030         void *ctx);
00031 
00032 enum guththila_reader_type
00033 {
00034     GUTHTHILA_FILE_READER = 1, 
00035         GUTHTHILA_IO_READER, 
00036         GUTHTHILA_MEMORY_READER
00037 };
00038 
00039 typedef struct guththila_reader_s
00040 {
00041     int type;                           /* Type of reader */
00042     FILE *fp;                           /* File pointer */
00043     guththila_char_t *buff;     /* Buffer */
00044     int buff_size;                      /* Buff size */
00045         GUTHTHILA_READ_INPUT_CALLBACK input_read_callback;      /* Call back */
00046     void *context;                      /* Context */
00047 } guththila_reader_t;
00048 
00049 #ifndef GUTHTHILA_READER_SET_LAST_START
00050 #define GUTHTHILA_READER_SET_LAST_START(_reader, _start) ((_reader)->start = _start)
00051 #endif  
00052 
00053 #ifndef GUTHTHILA_READER_STEP_BACK
00054 #define GUTHTHILA_READER_STEP_BACK(_reader) ((_reader->next--))
00055 #endif  
00056 
00057 /* 
00058  * Reading a file.
00059  * @param filename      name of the file
00060  * @param env environment
00061  */
00062 GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL
00063 guththila_reader_create_for_file(guththila_char_t *filename,
00064         const axutil_env_t * env);
00065 
00066 /*
00067  * Reading from a call back function.
00068  * @param input_read_callback function pointer to read data
00069  * @param ctx context
00070  * @param env environment
00071  */
00072 GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL
00073 guththila_reader_create_for_io(GUTHTHILA_READ_INPUT_CALLBACK
00074         input_read_callback, void *ctx,
00075         const axutil_env_t * env);
00076 
00077 /*
00078  * Reading from memory buffer.
00079  * @param buffer buffer
00080  * @param size  size of the buffer
00081  * @param env environment
00082  */
00083 GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL
00084 guththila_reader_create_for_memory(void *buffer,
00085         int size,
00086         const axutil_env_t * env);
00087 
00088 /* 
00089  * Read the specified number of character to the given buffer.
00090  * @param r reader
00091  * @param buffer buffer to place the read data
00092  * @param offset position to place the data on the given buffer
00093  * @param length number of bytes to read
00094  * @param env environment
00095  * @return number of bytes put in to the buffer. -1 if end of the read. 
00096  */
00097 GUTHTHILA_EXPORT int GUTHTHILA_CALL  guththila_reader_read(
00098     guththila_reader_t * r,
00099     guththila_char_t * buffer,
00100     int offset,
00101     int length,
00102     const axutil_env_t * env);
00103 
00104 /* 
00105  * Free the reader.
00106  * @param r reader
00107  * @param env environment
00108  */
00109 GUTHTHILA_EXPORT void GUTHTHILA_CALL  guththila_reader_free(
00110     guththila_reader_t * r,
00111     const axutil_env_t * env);
00112 
00113 EXTERN_C_END() 
00114 #endif  /*  */
00115 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__dll__desc_8h-source.html0000644000175000017500000003634711172017604025535 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_dll_desc.h Source File

axutil_dll_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_DLL_DESC_H
00020 #define AXUTIL_DLL_DESC_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_qname.h>
00029 #include <axutil_error.h>
00030 #include <axutil_utils.h>
00031 #include <platforms/axutil_platform_auto_sense.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00044     typedef struct axutil_dll_desc axutil_dll_desc_t;
00045 
00046     typedef int(
00047         *CREATE_FUNCT)(
00048             void **inst,
00049             const axutil_env_t * env);
00050 
00051     typedef int(
00052         *DELETE_FUNCT)(
00053             void *inst,
00054             const axutil_env_t * env);
00055 
00056     typedef int axis2_dll_type_t;
00057 
00062     AXIS2_EXTERN axutil_dll_desc_t *AXIS2_CALL
00063     axutil_dll_desc_create(
00064         const axutil_env_t * env);
00065 
00066     AXIS2_EXTERN void AXIS2_CALL
00067     axutil_dll_desc_free_void_arg(
00068         void *dll_desc,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN void AXIS2_CALL
00072     axutil_dll_desc_free(
00073         axutil_dll_desc_t * dll_desc,
00074         const axutil_env_t * env);
00075 
00079     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080     axutil_dll_desc_set_name(
00081         axutil_dll_desc_t * dll_desc,
00082         const axutil_env_t * env,
00083         axis2_char_t * name);
00084 
00088     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00089     axutil_dll_desc_get_name(
00090         axutil_dll_desc_t * dll_desc,
00091         const axutil_env_t * env);
00092 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     axutil_dll_desc_set_type(
00095         axutil_dll_desc_t * dll_desc,
00096         const axutil_env_t * env,
00097         axis2_dll_type_t type);
00098 
00099     AXIS2_EXTERN axis2_dll_type_t AXIS2_CALL
00100     axutil_dll_desc_get_type(
00101         axutil_dll_desc_t * dll_desc,
00102         const axutil_env_t * env);
00103 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     axutil_dll_desc_set_load_options(
00106         axutil_dll_desc_t * dll_desc,
00107         const axutil_env_t * env,
00108         int options);
00109 
00110     AXIS2_EXTERN int AXIS2_CALL
00111     axutil_dll_desc_get_load_options(
00112         axutil_dll_desc_t * dll_desc,
00113         const axutil_env_t * env);
00114 
00115     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116     axutil_dll_desc_set_dl_handler(
00117         axutil_dll_desc_t * dll_desc,
00118         const axutil_env_t * env,
00119         AXIS2_DLHANDLER dl_handler);
00120 
00121     AXIS2_EXTERN AXIS2_DLHANDLER AXIS2_CALL
00122     axutil_dll_desc_get_dl_handler(
00123         axutil_dll_desc_t * dll_desc,
00124         const axutil_env_t * env);
00125 
00126     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127     axutil_dll_desc_set_create_funct(
00128         axutil_dll_desc_t * dll_desc,
00129         const axutil_env_t * env,
00130         CREATE_FUNCT funct);
00131 
00132     AXIS2_EXTERN CREATE_FUNCT AXIS2_CALL
00133     axutil_dll_desc_get_create_funct(
00134         axutil_dll_desc_t * dll_desc,
00135         const axutil_env_t * env);
00136 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138     axutil_dll_desc_set_delete_funct(
00139         axutil_dll_desc_t * dll_desc,
00140         const axutil_env_t * env,
00141         DELETE_FUNCT funct);
00142 
00143     AXIS2_EXTERN DELETE_FUNCT AXIS2_CALL
00144     axutil_dll_desc_get_delete_funct(
00145         axutil_dll_desc_t * dll_desc,
00146         const axutil_env_t * env);
00147 
00148     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149     axutil_dll_desc_set_timestamp(
00150         axutil_dll_desc_t * dll_desc,
00151         const axutil_env_t * env,
00152         AXIS2_TIME_T timestamp);
00153 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155     axutil_dll_desc_set_error_code(
00156         axutil_dll_desc_t * dll_desc,
00157         const axutil_env_t * env,
00158         axutil_error_codes_t error_code);
00159 
00160     AXIS2_EXTERN axutil_error_codes_t AXIS2_CALL
00161 
00162     axutil_dll_desc_get_error_code(
00163         axutil_dll_desc_t * dll_desc,
00164         const axutil_env_t * env);
00165 
00166     AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL
00167     axutil_dll_desc_get_timestamp(
00168         axutil_dll_desc_t * dll_desc,
00169         const axutil_env_t * env);
00170 
00180     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00181 
00182     axutil_dll_desc_create_platform_specific_dll_name(
00183         axutil_dll_desc_t * dll_desc,
00184         const axutil_env_t * env,
00185         const axis2_char_t * class_name);
00186 
00187 #ifdef __cplusplus
00188 }
00189 #endif
00190 
00191 #endif                          /* AXIS2_DLL_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__md5_8h-source.html0000644000175000017500000002150311172017604024276 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_md5.h Source File

axutil_md5.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_MD5_H
00019 #define AXUTIL_MD5_H
00020 
00026 #include <axutil_utils_defines.h>
00027 #include <axutil_env.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00048     #define AXIS2_MD5_DIGESTSIZE 16
00049 
00050     typedef struct axutil_md5_ctx
00051     {
00053         unsigned int state[4];
00055         unsigned int count[2];
00057         unsigned char buffer[64];
00058     }
00059     axutil_md5_ctx_t;
00060 
00068     AXIS2_EXTERN axutil_md5_ctx_t *AXIS2_CALL
00069     axutil_md5_ctx_create(
00070         const axutil_env_t * env);
00071 
00077     AXIS2_EXTERN void AXIS2_CALL
00078     axutil_md5_ctx_free(
00079         axutil_md5_ctx_t * md5_ctx,
00080         const axutil_env_t * env);
00081 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     axutil_md5_update(
00092         axutil_md5_ctx_t *context,
00093         const axutil_env_t * env,
00094         const void *input_str,
00095         size_t inputLen);
00096 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     axutil_md5_final(
00106         axutil_md5_ctx_t *context,
00107         const axutil_env_t * env,
00108         unsigned char digest[AXIS2_MD5_DIGESTSIZE]);
00109 
00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118     axutil_md5(
00119          const axutil_env_t * env, 
00120          unsigned char digest[AXIS2_MD5_DIGESTSIZE],
00121          const void *input_str,
00122          size_t inputLen);
00123 
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129 
00130 #endif /* AXIS2_MD5_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__phases__info.html0000644000175000017500000011363311172017604025452 0ustar00manjulamanjula00000000000000 Axis2/C: phases information

phases information


Typedefs

typedef struct
axis2_phases_info 
axis2_phases_info_t

Functions

AXIS2_EXTERN void axis2_phases_info_free (axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phases_info_set_in_phases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *in_phases)
AXIS2_EXTERN
axis2_status_t 
axis2_phases_info_set_out_phases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *out_phases)
AXIS2_EXTERN
axis2_status_t 
axis2_phases_info_set_in_faultphases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *in_faultphases)
AXIS2_EXTERN
axis2_status_t 
axis2_phases_info_set_out_faultphases (axis2_phases_info_t *phases_info, const axutil_env_t *env, axutil_array_list_t *out_faultphases)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_in_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_out_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_in_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_out_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_op_in_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_op_out_phases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_op_in_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_get_op_out_faultphases (const axis2_phases_info_t *phases_info, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phases_info_set_op_phases (axis2_phases_info_t *phases_info, const axutil_env_t *env, struct axis2_op *axis2_opt)
AXIS2_EXTERN
axis2_phases_info_t
axis2_phases_info_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_phases_info_copy_flow (const axutil_env_t *env, const axutil_array_list_t *flow_to_copy)

Detailed Description

In deployment engine when configuration builder parse phase order elements in axis2.xml, for phases defined in a phase order it will create a phase name list and add it to the phases info. There are four phase orders. inflow, outflow, in faultflow and out faultflow. So configuration builder add array lists for each of this phase orders into the phases info.

At the time of module engagement phase resolver call the functions here to retrieve phase lists for each flow for the purpose of adding handlers. When such a request come what each function do is, create phase instances list for corresponding phase names stored in the phase name list for that flow and return.


Typedef Documentation

typedef struct axis2_phases_info axis2_phases_info_t

Type name for struct axis2_phases_info


Function Documentation

AXIS2_EXTERN axis2_phases_info_t* axis2_phases_info_create ( const axutil_env_t env  ) 

create Phases Info struct

Parameters:
env pointer to environment struct
Returns:
pointer to newly created phases info

AXIS2_EXTERN void axis2_phases_info_free ( axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Deallocate memory

Parameters:
pahses_info pointer to phases info
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_in_faultphases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_in_phases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_in_faultphases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_in_phases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_out_faultphases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_op_out_phases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_out_faultphases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_phases_info_get_out_phases ( const axis2_phases_info_t phases_info,
const axutil_env_t env 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_in_faultphases ( axis2_phases_info_t phases_info,
const axutil_env_t env,
axutil_array_list_t in_faultphases 
)

Set the INfaultflow phase names as an array list. These phases are defined in the INfaultflow phase order element defined in axis2.xml.

Parameters:
phases_info pointer to phases info
env pointer to environment struct
in_faultphases pionter to in fault phases
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_in_phases ( axis2_phases_info_t phases_info,
const axutil_env_t env,
axutil_array_list_t in_phases 
)

Set the inflow phase names as an array list. These phases are defined in the inflow phase order element defined in axis2.xml.

Parameters:
phases_info pointer to phases info
env pointer to environment struct
in_phases inter to in phases
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_op_phases ( axis2_phases_info_t phases_info,
const axutil_env_t env,
struct axis2_op *  axis2_opt 
)

Parameters:
phases_info pointer to phases info
env pointer to environment struct
axis2_opt pointer to axis2 opt
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_out_faultphases ( axis2_phases_info_t phases_info,
const axutil_env_t env,
axutil_array_list_t out_faultphases 
)

Set the Outfaultflow phase names as an array list. These phases are defined in the Outfaultflow phase order element defined in axis2.xml.

Parameters:
phases_info pointer to phases info
env pointer to env
out_faultphases pointer to out fault phases
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phases_info_set_out_phases ( axis2_phases_info_t phases_info,
const axutil_env_t env,
axutil_array_list_t out_phases 
)

Set the outflow phase names as an array list. These phases are defined in the outflow phase order element defined in axis2.xml.

Parameters:
phases_info pointer to phases info
env pointer to environment struct
out_phases pointer to out phases
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__core__dll__desc.html0000644000175000017500000000743111172017604026072 0ustar00manjulamanjula00000000000000 Axis2/C: Core DLL description

Core DLL description
[Core Utils]


Defines

#define AXIS2_SVC_DLL   10000
#define AXIS2_HANDLER_DLL   10001
#define AXIS2_MSG_RECV_DLL   10002
#define AXIS2_MODULE_DLL   10003
#define AXIS2_TRANSPORT_RECV_DLL   10004
#define AXIS2_TRANSPORT_SENDER_DLL   10005

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__out__transport__info_8h.html0000644000175000017500000002426411172017604027474 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_out_transport_info.h File Reference

axis2_http_out_transport_info.h File Reference

axis2 HTTP Out Transport Info More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_http_simple_response.h>
#include <axis2_out_transport_info.h>

Go to the source code of this file.

Classes

struct  axis2_http_out_transport_info

Defines

#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, env, content_type)   axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type)
#define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, env, encoding)   axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding)
#define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)   axis2_http_out_transport_info_free(out_transport_info, env)

Typedefs

typedef struct
axis2_http_out_transport_info 
axis2_http_out_transport_info_t

Functions

AXIS2_EXTERN int axis2_http_out_transport_info_set_content_type (axis2_http_out_transport_info_t *info, const axutil_env_t *env, const axis2_char_t *content_type)
AXIS2_EXTERN
axis2_status_t 
axis2_http_out_transport_info_set_char_encoding (axis2_http_out_transport_info_t *info, const axutil_env_t *env, const axis2_char_t *encoding)
AXIS2_EXTERN void axis2_http_out_transport_info_free (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_out_transport_info_t
axis2_http_out_transport_info_create (const axutil_env_t *env, axis2_http_simple_response_t *response)
AXIS2_EXTERN void axis2_http_out_transport_info_free_void_arg (void *transport_info, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_out_transport_info_set_char_encoding_func (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env, axis2_status_t(*set_encoding)(axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *))
AXIS2_EXTERN void axis2_http_out_transport_info_set_content_type_func (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env, axis2_status_t(*set_content_type)(axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *))
AXIS2_EXTERN void axis2_http_out_transport_info_set_free_func (axis2_http_out_transport_info_t *out_transport_info, const axutil_env_t *env, void(*free_function)(axis2_http_out_transport_info_t *, const axutil_env_t *))


Detailed Description

axis2 HTTP Out Transport Info


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__defines_8h-source.html0000644000175000017500000001170311172017604025036 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_defines.h Source File

axiom_defines.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_DEFINES_H
00020 #define AXIOM_DEFINES_H
00021 
00022 #ifdef __cplusplus
00023 extern "C"
00024 {
00025 #endif
00026 
00030     typedef enum _axis2_xml_parser_type
00031     {
00032         AXIS2_XML_PARSER_TYPE_BUFFER = 1,
00033         AXIS2_XML_PARSER_TYPE_FILE,
00034         AXIS2_XML_PARSER_TYPE_DOC
00035     } axis2_xml_parser_type;
00036 
00037 #ifdef __cplusplus
00038 }
00039 #endif
00040 #endif                          /* AXIOM_DEFINES_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__thread__mutex_8h-source.html0000644000175000017500000002006011172017604026156 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_thread_mutex.h Source File

axis2_thread_mutex.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_THREAD_MUTEX_H
00020 #define AXIS2_THREAD_MUTEX_H
00021 
00027 #include <axis2_const.h>
00028 #include <axutil_allocator.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif                          /* __cplusplus */
00034 
00042     typedef struct axutil_thread_mutex_t axutil_thread_mutex_t;
00043 
00044 #define AXIS2_THREAD_MUTEX_DEFAULT  0x0   
00046 #define AXIS2_THREAD_MUTEX_NESTED   0x1   
00048 #define AXIS2_THREAD_MUTEX_UNNESTED 0x2   
00066     AXIS2_EXTERN axutil_thread_mutex_t *AXIS2_CALL
00067 
00068     axutil_thread_mutex_create(
00069         axutil_allocator_t * allocator,
00070         unsigned int flags);
00071 
00077     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00078     axutil_thread_mutex_lock(
00079         axutil_thread_mutex_t * mutex);
00080 
00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087     axutil_thread_mutex_trylock(
00088         axutil_thread_mutex_t * mutex);
00089 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axutil_thread_mutex_unlock(
00096         axutil_thread_mutex_t * mutex);
00097 
00102     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00103     axutil_thread_mutex_destroy(
00104         axutil_thread_mutex_t * mutex);
00105 
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111 
00112 #endif                          /* AXIS2_THREAD_MUTEX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__digest__calc.html0000644000175000017500000002701711172017604025675 0ustar00manjulamanjula00000000000000 Axis2/C: digest_calc

digest_calc
[utilities]


Defines

#define AXIS2_DIGEST_HASH_LEN   16
#define AXIS2_DIGEST_HASH_HEX_LEN   32

Typedefs

typedef unsigned char axutil_digest_hash_t [AXIS2_DIGEST_HASH_LEN]
typedef unsigned char axutil_digest_hash_hex_t [AXIS2_DIGEST_HASH_HEX_LEN+1]

Functions

AXIS2_EXTERN
axis2_status_t 
axutil_digest_calc_get_h_a1 (const axutil_env_t *env, char *algorithm, char *user_name, char *realm, char *password, char *nonce, char *cnonce, axutil_digest_hash_hex_t session_key)
AXIS2_EXTERN
axis2_status_t 
axutil_digest_calc_get_response (const axutil_env_t *env, axutil_digest_hash_hex_t h_a1, char *nonce, char *nonce_count, char *cnonce, char *qop, char *method, char *digest_uri, axutil_digest_hash_hex_t h_entity, axutil_digest_hash_hex_t response)

Function Documentation

AXIS2_EXTERN axis2_status_t axutil_digest_calc_get_h_a1 ( const axutil_env_t env,
char *  algorithm,
char *  user_name,
char *  realm,
char *  password,
char *  nonce,
char *  cnonce,
axutil_digest_hash_hex_t  session_key 
)

calculate H(A1) as per HTTP Digest spec

Parameters:
env,pointer to env struct
algorithm,algorithm 
user_name,user name
realm,reaalm 
password,password 
nonce,nonce from server
cnonce,client nonce
session_key,H(A1) 
Returns:
AXIS2_SUCCESS on success or AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_digest_calc_get_response ( const axutil_env_t env,
axutil_digest_hash_hex_t  h_a1,
char *  nonce,
char *  nonce_count,
char *  cnonce,
char *  qop,
char *  method,
char *  digest_uri,
axutil_digest_hash_hex_t  h_entity,
axutil_digest_hash_hex_t  response 
)

calculate request-digest/response-digest as per HTTP Digest spec

Parameters:
env,pointer to env struct
h_a1,H(A1) 
nonce,nonce from server
cnonce,client nonce
qop,qop-value,: "", "auth", "auth-int"
method,method from the request
digest_uri,requested URL
h_entry,H(entity body) if qop="auth-int"
response,request-digest or response-digest
Returns:
AXIS2_SUCCESS on success or AXIS2_FAILURE


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/files.html0000644000175000017500000013541011172017604021274 0ustar00manjulamanjula00000000000000 Axis2/C: File Index

Axis2/C File List

Here is a list of all documented files with brief descriptions:
axiom.h [code]Includes all headers in OM
axiom_attribute.h [code]Om attribute struct represents an xml attribute
axiom_child_element_iterator.h [code]This is the iterator for om elemnts
axiom_children_iterator.h [code]This is the iterator for om nodes
axiom_children_qname_iterator.h [code]This is the iterator for om nodes using qname
axiom_children_with_specific_attribute_iterator.h [code]This is the iterator for om nodes
axiom_comment.h [code]Defines axiom_comment_t struct, and manipulation functions
axiom_data_handler.h [code]Axis2 data_handler interface
axiom_data_source.h [code]Axis2 AXIOM XML data_source
axiom_defines.h [code]
axiom_doctype.h [code]Defines struct representing xml DTD and its manipulation functions
axiom_document.h [code]Om_document represents an XML document
axiom_element.h [code]
axiom_mime_const.h [code]
axiom_mime_parser.h [code]Axis2 mime_parser interface
axiom_mime_part.h [code]Axis2 mime_part interface
axiom_mtom_caching_callback.h [code]Caching callback for mime parser
axiom_mtom_sending_callback.h [code]Sending callback for attachment sending
axiom_namespace.h [code]
axiom_navigator.h [code]
axiom_node.h [code]Defines axiom_node struct
axiom_output.h [code]
axiom_processing_instruction.h [code]
axiom_soap.h [code]Includes all SOAP related headers
axiom_soap_body.h [code]Axiom_soap_body struct
axiom_soap_builder.h [code]Axiom_soap_builder struct
axiom_soap_const.h [code]
axiom_soap_envelope.h [code]Axiom_soap_envelope struct corresponds to root element of soap message
axiom_soap_fault.h [code]Axiom_soap_fault struct
axiom_soap_fault_code.h [code]Axiom_soap_fault_code struct
axiom_soap_fault_detail.h [code]Axiom_soap_fault_detail struct
axiom_soap_fault_node.h [code]Axiom_soap_fault_node struct
axiom_soap_fault_reason.h [code]Axiom_soap_fault_reason
axiom_soap_fault_role.h [code]Axiom_soap_fault_role
axiom_soap_fault_sub_code.h [code]Axiom_soap_fault_sub_code struct
axiom_soap_fault_text.h [code]Axiom_soap_fault_text
axiom_soap_fault_value.h [code]Axiom_soap_fault_value
axiom_soap_header.h [code]Axiom_soap_header struct
axiom_soap_header_block.h [code]Axiom_soap_header_block struct
axiom_stax_builder.h [code]
axiom_text.h [code]
axiom_util.h [code]
axiom_xml_reader.h [code]This is the parser abstraction layer for axis2
axiom_xml_writer.h [code]This is the parser abstraction layer for axis2
axiom_xpath.h [code]
axis2_addr.h [code]
axis2_addr_mod.h [code]
axis2_any_content_type.h [code]
axis2_async_result.h [code]
axis2_callback.h [code]
axis2_callback_recv.h [code]
axis2_client.h [code]
axis2_conf.h [code]Axis2 configuration interface
axis2_conf_ctx.h [code]
axis2_conf_init.h [code]
axis2_const.h [code]
axis2_core_dll_desc.h [code]Axis2 Core dll_desc interface
axis2_core_utils.h [code]
axis2_ctx.h [code]
axis2_defines.h [code]Useful definitions, which may have platform concerns
axis2_desc.h [code]
axis2_description.h [code]
axis2_disp.h [code]
axis2_endpoint_ref.h [code]
axis2_engine.h [code]
axis2_flow.h [code]
axis2_flow_container.h [code]
axis2_handler.h [code]
axis2_handler_desc.h [code]
axis2_http_accept_record.h [code]Axis2 HTTP Accept record
axis2_http_client.h [code]Axis2 HTTP Header name:value pair implementation
axis2_http_header.h [code]Axis2 HTTP Header name:value pair implementation
axis2_http_out_transport_info.h [code]Axis2 HTTP Out Transport Info
axis2_http_request_line.h [code]Axis2 HTTP Request Line
axis2_http_response_writer.h [code]Axis2 Response Writer
axis2_http_sender.h [code]Axis2 SOAP over HTTP sender
axis2_http_server.h [code]Axis2 HTTP Server implementation
axis2_http_simple_request.h [code]Axis2 HTTP Simple Request
axis2_http_simple_response.h [code]
axis2_http_status_line.h [code]Axis2 HTTP Status Line
axis2_http_svr_thread.h [code]Axis2 HTTP server listning thread implementation
axis2_http_transport.h [code]
axis2_http_transport_sender.h [code]Axis2 HTTP Transport Sender (Handler) implementation
axis2_http_transport_utils.h [code]Axis2 HTTP Transport Utility functions This file includes functions that handles soap and rest request that comes to the engine via HTTP protocol
axis2_http_worker.h [code]Axis2 HTTP Worker
axis2_listener_manager.h [code]
axis2_module.h [code]
axis2_module_desc.h [code]
axis2_msg.h [code]
axis2_msg_ctx.h [code]
axis2_msg_info_headers.h [code]
axis2_msg_recv.h [code]Axis Message Receiver interface. Message Receiver struct. This interface is extended by custom message receivers
axis2_op.h [code]
axis2_op_client.h [code]
axis2_op_ctx.h [code]
axis2_options.h [code]
axis2_out_transport_info.h [code]Axis2 Out Transport Info
axis2_phase.h [code]
axis2_phase_holder.h [code]
axis2_phase_meta.h [code]
axis2_phase_resolver.h [code]
axis2_phase_rule.h [code]
axis2_phases_info.h [code]
axis2_policy_include.h [code]
axis2_raw_xml_in_out_msg_recv.h [code]
axis2_relates_to.h [code]
axis2_rm_assertion.h [code]
axis2_rm_assertion_builder.h [code]
axis2_simple_http_svr_conn.h [code]Axis2 simple http server connection
axis2_stub.h [code]
axis2_svc.h [code]
axis2_svc_client.h [code]
axis2_svc_ctx.h [code]
axis2_svc_grp.h [code]
axis2_svc_grp_ctx.h [code]
axis2_svc_name.h [code]
axis2_svc_skeleton.h [code]
axis2_svr_callback.h [code]Axis Server Callback interface
axis2_thread_mutex.h [code]
axis2_transport_in_desc.h [code]Axis2 description transport in interface
axis2_transport_out_desc.h [code]
axis2_transport_receiver.h [code]Axis2 description transport receiver interface
axis2_transport_sender.h [code]Axis2 description transport sender interface
axis2_util.h [code]
axutil_allocator.h [code]Axis2 memory allocator interface
axutil_array_list.h [code]Axis2 array_list interface
axutil_base64.h [code]
axutil_base64_binary.h [code]Axis2-util base64 encoding holder
axutil_class_loader.h [code]Axis2 class loader interface
axutil_config.h [code]
axutil_date_time.h [code]Axis2-util
axutil_date_time_util.h [code]
axutil_digest_calc.h [code]Implements the calculations of H(A1), H(A2), request-digest and response-digest for Axis2 based on rfc2617
axutil_dir_handler.h [code]
axutil_dll_desc.h [code]Axis2 dll_desc interface
axutil_duration.h [code]
axutil_env.h [code]Axis2 environment that acts as a container for error, log and memory allocator routines
axutil_error.h [code]
axutil_error_default.h [code]
axutil_file.h [code]
axutil_file_handler.h [code]
axutil_generic_obj.h [code]
axutil_hash.h [code]Axis2 Hash Tables
axutil_http_chunked_stream.h [code]Axis2 HTTP Chunked Stream
axutil_linked_list.h [code]Axis2 linked_list interface
axutil_log.h [code]
axutil_log_default.h [code]
axutil_md5.h [code]MD5 Implementation for Axis2 based on rfc1321
axutil_network_handler.h [code]
axutil_param.h [code]Axis2 param interface
axutil_param_container.h [code]Axis2 Param container interface
axutil_properties.h [code]
axutil_property.h [code]
axutil_qname.h [code]Qualified name
axutil_rand.h [code]A simple thread safe and reentrant random number generator
axutil_stack.h [code]Stack
axutil_stream.h [code]
axutil_string.h [code]
axutil_string_util.h [code]
axutil_thread.h [code]Axis2 thread api
axutil_thread_pool.h [code]Axis2 thread pool interface
axutil_types.h [code]
axutil_uri.h [code]AXIS2-UTIL URI Routines axutil_uri.h: External Interface of axutil_uri.c
axutil_url.h [code]Axis2 URL container implementation
axutil_utils.h [code]
axutil_utils_defines.h [code]
axutil_uuid_gen.h [code]
axutil_version.h [code]
config.h [code]
guththila.h [code]
guththila_attribute.h [code]
guththila_buffer.h [code]
guththila_defines.h [code]
guththila_error.h [code]
guththila_namespace.h [code]
guththila_reader.h [code]
guththila_stack.h [code]
guththila_token.h [code]
guththila_xml_writer.h [code]
neethi_all.h [code]
neethi_assertion.h [code]
neethi_assertion_builder.h [code]
neethi_constants.h [code]Includes all the string constants
neethi_engine.h [code]
neethi_exactlyone.h [code]
neethi_includes.h [code]Includes most useful headers for policy
neethi_mtom_assertion_checker.h [code]
neethi_operator.h [code]
neethi_policy.h [code]
neethi_reference.h [code]
neethi_registry.h [code]
neethi_util.h [code]
rp_algorithmsuite.h [code]
rp_algorithmsuite_builder.h [code]
rp_asymmetric_binding.h [code]
rp_asymmetric_binding_builder.h [code]
rp_binding_commons.h [code]
rp_bootstrap_policy_builder.h [code]
rp_builders.h [code]
rp_defines.h [code]
rp_element.h [code]
rp_encryption_token_builder.h [code]
rp_header.h [code]
rp_https_token.h [code]
rp_https_token_builder.h [code]
rp_includes.h [code]Includes most useful headers for RP
rp_initiator_token_builder.h [code]
rp_issued_token.h [code]
rp_issued_token_builder.h [code]
rp_layout.h [code]
rp_layout_builder.h [code]
rp_policy_creator.h [code]
rp_property.h [code]
rp_protection_token_builder.h [code]
rp_rampart_config.h [code]
rp_rampart_config_builder.h [code]
rp_recipient_token_builder.h [code]
rp_saml_token.h [code]
rp_saml_token_builder.h [code]
rp_secpolicy.h [code]
rp_secpolicy_builder.h [code]
rp_security_context_token.h [code]
rp_security_context_token_builder.h [code]
rp_signature_token_builder.h [code]
rp_signed_encrypted_elements.h [code]
rp_signed_encrypted_items.h [code]
rp_signed_encrypted_parts.h [code]
rp_signed_encrypted_parts_builder.h [code]
rp_supporting_tokens.h [code]
rp_supporting_tokens_builder.h [code]
rp_symmetric_asymmetric_binding_commons.h [code]
rp_symmetric_binding.h [code]
rp_symmetric_binding_builder.h [code]
rp_token.h [code]
rp_token_identifier.h [code]
rp_transport_binding.h [code]
rp_transport_binding_builder.h [code]
rp_transport_token_builder.h [code]
rp_trust10.h [code]
rp_trust10_builder.h [code]
rp_username_token.h [code]
rp_username_token_builder.h [code]
rp_wss10.h [code]
rp_wss10_builder.h [code]
rp_wss11.h [code]
rp_wss11_builder.h [code]
rp_x509_token.h [code]
rp_x509_token_builder.h [code]

Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__listener__manager_8h.html0000644000175000017500000001404311172017604025512 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_listener_manager.h File Reference

axis2_listener_manager.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_conf_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_listener_manager 
axis2_listener_manager_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_listener_manager_make_sure_started (axis2_listener_manager_t *listener_manager, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS transport, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_listener_manager_stop (axis2_listener_manager_t *listener_manager, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS transport)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_listener_manager_get_reply_to_epr (const axis2_listener_manager_t *listener_manager, const axutil_env_t *env, const axis2_char_t *svc_name, const AXIS2_TRANSPORT_ENUMS transport)
AXIS2_EXTERN
axis2_conf_ctx_t
axis2_listener_manager_get_conf_ctx (const axis2_listener_manager_t *listener_manager, const axutil_env_t *env)
AXIS2_EXTERN void axis2_listener_manager_free (axis2_listener_manager_t *listener_manager, const axutil_env_t *env)
AXIS2_EXTERN
axis2_listener_manager_t
axis2_listener_manager_create (const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__node_8h-source.html0000644000175000017500000004734411172017604024360 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_node.h Source File

axiom_node.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_NODE_H
00020 #define AXIOM_NODE_H
00021 
00039 #include <axutil_env.h>
00040 #include <axutil_utils.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00047     typedef struct axiom_node axiom_node_t;
00048     struct axiom_output;
00049     struct axiom_document;
00050     struct axiom_stax_builder;
00051 
00061     typedef enum axiom_types_t
00062     {
00063 
00065         AXIOM_INVALID = 0,
00066 
00068         AXIOM_DOCUMENT,
00069 
00071         AXIOM_ELEMENT,
00072 
00074         AXIOM_DOCTYPE,
00075 
00077         AXIOM_COMMENT,
00078 
00080         AXIOM_ATTRIBUTE,
00081 
00083         AXIOM_NAMESPACE,
00084 
00086         AXIOM_PROCESSING_INSTRUCTION,
00087 
00089         AXIOM_TEXT,
00090 
00092         AXIOM_DATA_SOURCE
00093     } axiom_types_t;
00094 
00100     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00101     axiom_node_create(
00102         const axutil_env_t * env);
00103 
00110     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00111     axiom_node_create_from_buffer(    
00112         const axutil_env_t * env,
00113         axis2_char_t *buffer);
00114 
00115 
00124     AXIS2_EXTERN void AXIS2_CALL
00125     axiom_node_free_tree(
00126         axiom_node_t * om_node,
00127         const axutil_env_t * env);
00128 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138     axiom_node_add_child(
00139         axiom_node_t * om_node,
00140         const axutil_env_t * env,
00141         axiom_node_t * child);
00142 
00150     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00151     axiom_node_detach(
00152         axiom_node_t * om_node,
00153         const axutil_env_t * env);
00154 
00162     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00163     axiom_node_insert_sibling_after(
00164         axiom_node_t * om_node,
00165         const axutil_env_t * env,
00166         axiom_node_t * node_to_insert);
00167 
00175     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176     axiom_node_insert_sibling_before(
00177         axiom_node_t * om_node,
00178         const axutil_env_t * env,
00179         axiom_node_t * node_to_insert);
00180 
00189     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00190     axiom_node_serialize(
00191         axiom_node_t * om_node,
00192         const axutil_env_t * env,
00193         struct axiom_output *om_output);
00194 
00202     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00203     axiom_node_get_parent(
00204         axiom_node_t * om_node,
00205         const axutil_env_t * env);
00206 
00214     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00215     axiom_node_get_first_child(
00216         axiom_node_t * om_node,
00217         const axutil_env_t * env);
00218 
00225     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00226     axiom_node_get_first_element(
00227         axiom_node_t * om_node,
00228         const axutil_env_t * env);
00229 
00236     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00237     axiom_node_get_last_child(
00238         axiom_node_t * om_node,
00239         const axutil_env_t * env);
00240 
00248     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00249     axiom_node_get_previous_sibling(
00250         axiom_node_t * om_node,
00251         const axutil_env_t * env);
00252 
00259     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00260     axiom_node_get_next_sibling(
00261         axiom_node_t * om_node,
00262         const axutil_env_t * env);
00263 
00272     AXIS2_EXTERN axiom_types_t AXIS2_CALL
00273     axiom_node_get_node_type(
00274         axiom_node_t * om_node,
00275         const axutil_env_t * env);
00276 
00286     AXIS2_EXTERN void *AXIS2_CALL
00287     axiom_node_get_data_element(
00288         axiom_node_t * om_node,
00289         const axutil_env_t * env);
00290 
00298     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00299     axiom_node_is_complete(
00300         axiom_node_t * om_node,
00301         const axutil_env_t * env);
00302 
00313     AXIS2_EXTERN struct axiom_document *AXIS2_CALL
00314                 axiom_node_get_document(
00315                     axiom_node_t * om_node,
00316                     const axutil_env_t * env);
00317 
00325     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00326     axiom_node_to_string(
00327         axiom_node_t * om_node,
00328         const axutil_env_t * env);
00329 
00338     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00339     axiom_node_serialize_sub_tree(
00340         axiom_node_t * om_node,
00341         const axutil_env_t * env,
00342         struct axiom_output *om_output);
00343 
00351     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00352     axiom_node_sub_tree_to_string(
00353         axiom_node_t * om_node,
00354         const axutil_env_t * env);
00355 
00364     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00365     axiom_node_to_string_non_optimized(
00366         axiom_node_t * om_node,
00367         const axutil_env_t * env);
00370 #ifdef __cplusplus
00371 }
00372 #endif
00373 
00374 #endif                          /* AXIOM_NODE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__http__chunked__stream_8h-source.html0000644000175000017500000002621111172017604030143 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_http_chunked_stream.h Source File

axutil_http_chunked_stream.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXUTIL_HTTP_CHUNKED_STREAM_H
00020 #define AXUTIL_HTTP_CHUNKED_STREAM_H
00021 
00034 #include <axutil_env.h>
00035 #include <axutil_stream.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00043     typedef struct axutil_http_chunked_stream axutil_http_chunked_stream_t;
00044 
00045     struct axis2_callback_info
00046     {
00047         const axutil_env_t *env;
00048         void *in_stream;
00049         int content_length;
00050         int unread_len;
00051         axutil_http_chunked_stream_t *chunked_stream;
00052     };
00053     typedef struct axis2_callback_info axis2_callback_info_t;
00054 
00055 
00062     AXIS2_EXTERN int AXIS2_CALL
00063     axutil_http_chunked_stream_read(
00064         axutil_http_chunked_stream_t * chunked_stream,
00065         const axutil_env_t * env,
00066         void *buffer,
00067         size_t count);
00068 
00074     AXIS2_EXTERN int AXIS2_CALL
00075     axutil_http_chunked_stream_write(
00076         axutil_http_chunked_stream_t * chunked_stream,
00077         const axutil_env_t * env,
00078         const void *buffer,
00079         size_t count);
00080 
00085     AXIS2_EXTERN int AXIS2_CALL
00086 
00087     axutil_http_chunked_stream_get_current_chunk_size(
00088         const axutil_http_chunked_stream_t * chunked_stream,
00089         const axutil_env_t * env);
00090 
00096     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097 
00098     axutil_http_chunked_stream_write_last_chunk(
00099         axutil_http_chunked_stream_t * chunked_stream,
00100         const axutil_env_t * env);
00101 
00107     AXIS2_EXTERN void AXIS2_CALL
00108     axutil_http_chunked_stream_free(
00109         axutil_http_chunked_stream_t * chunked_stream,
00110         const axutil_env_t * env);
00111 
00116     AXIS2_EXTERN axutil_http_chunked_stream_t *AXIS2_CALL
00117 
00118     axutil_http_chunked_stream_create(
00119         const axutil_env_t * env,
00120         axutil_stream_t * stream);
00121 
00122     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00123     axutil_http_chunked_stream_get_end_of_chunks(
00124         axutil_http_chunked_stream_t * chunked_stream,
00125         const axutil_env_t * env);
00126     
00127 
00129 #ifdef __cplusplus
00130 }
00131 #endif
00132 #endif                          /* AXUTIL_HTTP_CHUNKED_STREAM_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__context.html0000644000175000017500000000532511172017604024477 0ustar00manjulamanjula00000000000000 Axis2/C: Context Hierarchy

Context Hierarchy


Modules

 configuration context
 context
 message context
 operation context
 service context
 service group context

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__assertion_8h.html0000644000175000017500000004000111172017604024262 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_assertion.h File Reference

neethi_assertion.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_includes.h>
#include <neethi_operator.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_assertion_t 
neethi_assertion_t

Enumerations

enum  neethi_assertion_type_t {
  ASSERTION_TYPE_TRANSPORT_BINDING = 0, ASSERTION_TYPE_TRANSPORT_TOKEN, ASSERTION_TYPE_ALGORITHM_SUITE, ASSERTION_TYPE_INCLUDE_TIMESTAMP,
  ASSERTION_TYPE_LAYOUT, ASSERTION_TYPE_SUPPORTING_TOKENS, ASSERTION_TYPE_HTTPS_TOKEN, ASSERTION_TYPE_WSS_USERNAME_TOKEN_10,
  ASSERTION_TYPE_WSS_USERNAME_TOKEN_11, ASSERTION_TYPE_USERNAME_TOKEN, ASSERTION_TYPE_X509_TOKEN, ASSERTION_TYPE_SAML_TOKEN,
  ASSERTION_TYPE_ISSUED_TOKEN, ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN, ASSERTION_TYPE_REQUIRE_EXTERNAL_URI, ASSERTION_TYPE_SC10_SECURITY_CONTEXT_TOKEN,
  ASSERTION_TYPE_SC13_SECURITY_CONTEXT_TOKEN, ASSERTION_TYPE_ISSUER, ASSERTION_TYPE_BOOTSTRAP_POLICY, ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER,
  ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL, ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI, ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN, ASSERTION_TYPE_WSS10,
  ASSERTION_TYPE_WSS11, ASSERTION_TYPE_TRUST10, ASSERTION_TYPE_RAMPART_CONFIG, ASSERTION_TYPE_ASSYMMETRIC_BINDING,
  ASSERTION_TYPE_SYMMETRIC_BINDING, ASSERTION_TYPE_INITIATOR_TOKEN, ASSERTION_TYPE_RECIPIENT_TOKEN, ASSERTION_TYPE_PROTECTION_TOKEN,
  ASSERTION_TYPE_ENCRYPTION_TOKEN, ASSERTION_TYPE_SIGNATURE_TOKEN, ASSERTION_TYPE_ENCRYPT_BEFORE_SIGNING, ASSERTION_TYPE_SIGN_BEFORE_ENCRYPTING,
  ASSERTION_TYPE_ENCRYPT_SIGNATURE, ASSERTION_TYPE_PROTECT_TOKENS, ASSERTION_TYPE_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY, ASSERTION_TYPE_REQUIRE_KEY_IDENTIFIRE_REFERENCE,
  ASSERTION_TYPE_REQUIRE_ISSUER_SERIAL_REFERENCE, ASSERTION_TYPE_REQUIRE_EMBEDDED_TOKEN_REFERENCE, ASSERTION_TYPE_REQUIRE_THUMBPRINT_REFERENCE, ASSERTION_TYPE_REQUIRE_EXTERNAL_REFERENCE,
  ASSERTION_TYPE_REQUIRE_INTERNAL_REFERENCE, ASSERTION_TYPE_MUST_SUPPORT_REF_THUMBPRINT, ASSERTION_TYPE_MUST_SUPPORT_REF_ENCRYPTED_KEY, ASSERTION_TYPE_REQUIRE_SIGNATURE_CONFIRMATION,
  ASSERTION_TYPE_WSS_X509_V1_TOKEN_10, ASSERTION_TYPE_WSS_X509_V3_TOKEN_10, ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V10, ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V11,
  ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V10, ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V11, ASSERTION_TYPE_WSS_SAML_V20_TOKEN_V11, ASSERTION_TYPE_SIGNED_ENCRYPTED_PARTS,
  ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10, ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC13, ASSERTION_TYPE_MUST_SUPPORT_CLIENT_CHALLENGE, ASSERTION_TYPE_MUST_SUPPORT_SERVER_CHALLENGE,
  ASSERTION_TYPE_REQUIRE_CLIENT_ENTROPY, ASSERTION_TYPE_REQUIRE_SERVER_ENTROPHY, ASSERTION_TYPE_MUST_SUPPORT_ISSUED_TOKENS, ASSERTION_TYPE_OPTIMIZED_MIME_SERIALIZATION,
  ASSERTION_TYPE_RM_ASSERTION, ASSERTION_TYPE_UNKNOWN
}

Functions

AXIS2_EXTERN
neethi_assertion_t * 
neethi_assertion_create (const axutil_env_t *env)
neethi_assertion_t * neethi_assertion_create_with_args (const axutil_env_t *env, AXIS2_FREE_VOID_ARG free_func, void *value, neethi_assertion_type_t type)
AXIS2_EXTERN void neethi_assertion_free (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
neethi_assertion_type_t 
neethi_assertion_get_type (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN void * neethi_assertion_get_value (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_set_value (neethi_assertion_t *neethi_assertion, const axutil_env_t *env, void *value, neethi_assertion_type_t type)
AXIS2_EXTERN
axiom_element_t * 
neethi_assertion_get_element (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_set_element (neethi_assertion_t *neethi_assertion, const axutil_env_t *env, axiom_element_t *element)
AXIS2_EXTERN axis2_bool_t neethi_assertion_get_is_optional (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_set_is_optional (neethi_assertion_t *neethi_assertion, const axutil_env_t *env, axis2_bool_t is_optional)
AXIS2_EXTERN
axutil_array_list_t
neethi_assertion_get_policy_components (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_add_policy_components (neethi_assertion_t *neethi_assertion, axutil_array_list_t *arraylist, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_add_operator (neethi_assertion_t *neethi_assertion, const axutil_env_t *env, neethi_operator_t *op)
AXIS2_EXTERN axis2_bool_t neethi_assertion_is_empty (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
neethi_assertion_get_node (neethi_assertion_t *neethi_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_set_node (neethi_assertion_t *neethi_assertion, const axutil_env_t *env, axiom_node_t *node)
AXIS2_EXTERN
axis2_status_t 
neethi_assertion_serialize (neethi_assertion_t *assertion, axiom_node_t *parent, const axutil_env_t *env)


Detailed Description

struct for policy assertions.
Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__node_8h.html0000644000175000017500000003073611172017604023057 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_node.h File Reference

axiom_node.h File Reference

defines axiom_node struct More...

#include <axutil_env.h>
#include <axutil_utils.h>

Go to the source code of this file.

Typedefs

typedef struct axiom_node axiom_node_t

Enumerations

enum  axiom_types_t {
  AXIOM_INVALID = 0, AXIOM_DOCUMENT, AXIOM_ELEMENT, AXIOM_DOCTYPE,
  AXIOM_COMMENT, AXIOM_ATTRIBUTE, AXIOM_NAMESPACE, AXIOM_PROCESSING_INSTRUCTION,
  AXIOM_TEXT, AXIOM_DATA_SOURCE
}
 AXIOM types. More...

Functions

AXIS2_EXTERN
axiom_node_t * 
axiom_node_create (const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_create_from_buffer (const axutil_env_t *env, axis2_char_t *buffer)
AXIS2_EXTERN void axiom_node_free_tree (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_node_add_child (axiom_node_t *om_node, const axutil_env_t *env, axiom_node_t *child)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_detach (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_node_insert_sibling_after (axiom_node_t *om_node, const axutil_env_t *env, axiom_node_t *node_to_insert)
AXIS2_EXTERN
axis2_status_t 
axiom_node_insert_sibling_before (axiom_node_t *om_node, const axutil_env_t *env, axiom_node_t *node_to_insert)
AXIS2_EXTERN
axis2_status_t 
axiom_node_serialize (axiom_node_t *om_node, const axutil_env_t *env, struct axiom_output *om_output)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_parent (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_first_child (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_first_element (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_last_child (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_previous_sibling (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_node_get_next_sibling (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axiom_types_t 
axiom_node_get_node_type (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN void * axiom_node_get_data_element (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_node_is_complete (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_document * 
axiom_node_get_document (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_node_to_string (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_node_serialize_sub_tree (axiom_node_t *om_node, const axutil_env_t *env, struct axiom_output *om_output)
AXIS2_EXTERN
axis2_char_t * 
axiom_node_sub_tree_to_string (axiom_node_t *om_node, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_node_to_string_non_optimized (axiom_node_t *om_node, const axutil_env_t *env)


Detailed Description

defines axiom_node struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__children__qname__iterator_8h-source.html0000644000175000017500000002005411172017604030600 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_children_qname_iterator.h Source File

axiom_children_qname_iterator.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_CHILDREN_QNAME_ITERATOR_H
00020 #define AXIOM_CHILDREN_QNAME_ITERATOR_H
00021 
00027 #include <axiom_node.h>
00028 #include <axiom_namespace.h>
00029 #include <axutil_qname.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axiom_children_qname_iterator
00037                 axiom_children_qname_iterator_t;
00038 
00045     AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL
00046     axiom_children_qname_iterator_create(
00047         const axutil_env_t * env,
00048         axiom_node_t * current_child,
00049         axutil_qname_t * given_qname);
00050 
00056     AXIS2_EXTERN void AXIS2_CALL
00057     axiom_children_qname_iterator_free(
00058         axiom_children_qname_iterator_t * iterator,
00059         const axutil_env_t * env);
00060 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071 
00072     axiom_children_qname_iterator_remove(
00073         axiom_children_qname_iterator_t * iterator,
00074         const axutil_env_t * env);
00075 
00084     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00085 
00086     axiom_children_qname_iterator_has_next(
00087         axiom_children_qname_iterator_t * iterator,
00088         const axutil_env_t * env);
00089 
00095     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00096     axiom_children_qname_iterator_next(
00097         axiom_children_qname_iterator_t * iterator,
00098         const axutil_env_t * env);
00099 
00100 
00103 #ifdef __cplusplus
00104 }
00105 #endif
00106 
00107 #endif                          /* AXIOM_CHILDREN_QNAME_ITERATOR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__relates__to_8h.html0000644000175000017500000001235211172017604024335 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_relates_to.h File Reference

axis2_relates_to.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_const.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_relates_to 
axis2_relates_to_t

Functions

AXIS2_EXTERN
axis2_relates_to_t
axis2_relates_to_create (const axutil_env_t *env, const axis2_char_t *value, const axis2_char_t *relationship_type)
AXIS2_EXTERN const
axis2_char_t * 
axis2_relates_to_get_value (const axis2_relates_to_t *relates_to, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_relates_to_set_value (struct axis2_relates_to *relates_to, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN const
axis2_char_t * 
axis2_relates_to_get_relationship_type (const axis2_relates_to_t *relates_to, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_relates_to_set_relationship_type (struct axis2_relates_to *relates_to, const axutil_env_t *env, const axis2_char_t *relationship_type)
AXIS2_EXTERN void axis2_relates_to_free (struct axis2_relates_to *relates_to, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__context-members.html0000644000175000017500000001077611172017604027461 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xpath_context Member List

This is the complete list of members for axiom_xpath_context, including all inherited members.

attributeaxiom_xpath_context
envaxiom_xpath_context
expraxiom_xpath_context
functionsaxiom_xpath_context
namespacesaxiom_xpath_context
nodeaxiom_xpath_context
nsaxiom_xpath_context
positionaxiom_xpath_context
root_nodeaxiom_xpath_context
sizeaxiom_xpath_context
stackaxiom_xpath_context
streamingaxiom_xpath_context


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__username__token.html0000644000175000017500000002747411172017604025575 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_username_token

Rp_username_token


Typedefs

typedef struct
rp_username_token_t 
rp_username_token_t

Enumerations

enum  password_type_t { PASSWORD_PLAIN = 0, PASSWORD_HASH, PASSWORD_NONE }

Functions

AXIS2_EXTERN
rp_username_token_t * 
rp_username_token_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_username_token_free (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_username_token_get_inclusion (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_inclusion (rp_username_token_t *username_token, const axutil_env_t *env, axis2_char_t *inclusion)
AXIS2_EXTERN axis2_bool_t rp_username_token_get_useUTprofile10 (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_useUTprofile10 (rp_username_token_t *username_token, const axutil_env_t *env, axis2_bool_t useUTprofile10)
AXIS2_EXTERN axis2_bool_t rp_username_token_get_useUTprofile11 (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_useUTprofile11 (rp_username_token_t *username_token, const axutil_env_t *env, axis2_bool_t useUTprofile11)
AXIS2_EXTERN
axis2_char_t * 
rp_username_token_get_issuer (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_issuer (rp_username_token_t *username_token, const axutil_env_t *env, axis2_char_t *issuer)
AXIS2_EXTERN
derive_key_type_t 
rp_username_token_get_derivedkey_type (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_derivedkey_type (rp_username_token_t *username_token, const axutil_env_t *env, derive_key_type_t derivedkey)
AXIS2_EXTERN axis2_bool_t rp_username_token_get_is_issuer_name (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_is_issuer_name (rp_username_token_t *username_token, const axutil_env_t *env, axis2_bool_t is_issuer_name)
AXIS2_EXTERN
axiom_node_t * 
rp_username_token_get_claim (rp_username_token_t *username_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_set_claim (rp_username_token_t *username_token, const axutil_env_t *env, axiom_node_t *claim)
AXIS2_EXTERN
axis2_status_t 
rp_username_token_increment_ref (rp_username_token_t *username_token, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__transport__sender_8h.html0000644000175000017500000000654111172017604026771 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_transport_sender.h File Reference

axis2_http_transport_sender.h File Reference

axis2 HTTP Transport Sender (Handler) implementation More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_msg_ctx.h>
#include <axis2_conf_ctx.h>
#include <axis2_transport_out_desc.h>
#include <axis2_transport_sender.h>

Go to the source code of this file.

Functions

AXIS2_EXTERN
axis2_transport_sender_t
axis2_http_transport_sender_create (const axutil_env_t *env)


Detailed Description

axis2 HTTP Transport Sender (Handler) implementation


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_func_0x6e.html0000644000175000017500000000555211172017604023475 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- n -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__rand_8h.html0000644000175000017500000000666311172017604023251 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_rand.h File Reference

axutil_rand.h File Reference

A simple thread safe and reentrant random number generator. More...

#include <axutil_error.h>
#include <axutil_env.h>
#include <axutil_date_time.h>
#include <axutil_base64_binary.h>

Go to the source code of this file.

Functions

AXIS2_EXTERN int axutil_rand (unsigned int *seedp)
AXIS2_EXTERN int axutil_rand_with_range (unsigned int *seedp, int start, int end)
AXIS2_EXTERN unsigned int axutil_rand_get_seed_value_based_on_time (const axutil_env_t *env)


Detailed Description

A simple thread safe and reentrant random number generator.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__layout.html0000644000175000017500000001050711172017604023721 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_layout

Rp_layout


Typedefs

typedef struct
rp_layout_t 
rp_layout_t

Functions

AXIS2_EXTERN
rp_layout_t * 
rp_layout_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_layout_free (rp_layout_t *layout, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_layout_get_value (rp_layout_t *layout, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_layout_set_value (rp_layout_t *layout, const axutil_env_t *env, axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
rp_layout_increment_ref (rp_layout_t *layout, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__asymmetric__binding__builder_8h-source.html0000644000175000017500000001245611172017604030606 0ustar00manjulamanjula00000000000000 Axis2/C: rp_asymmetric_binding_builder.h Source File

rp_asymmetric_binding_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ASYMMETRIC_BINDING_BUILDER_H
00019 #define RP_ASYMMETRIC_BINDING_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_asymmetric_binding.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037 
00038     rp_asymmetric_binding_builder_build(
00039         const axutil_env_t * env,
00040         axiom_node_t * node,
00041         axiom_element_t * element);
00042 
00043 #ifdef __cplusplus
00044 }
00045 #endif
00046 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__description_8h-source.html0000644000175000017500000002474611172017604025670 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_description.h Source File

axis2_description.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_DESCRIPTION_H
00020 #define AXIS2_DESCRIPTION_H
00021 
00022 #include <axis2_const.h>
00023 #include <axutil_error.h>
00024 #include <axis2_defines.h>
00025 #include <axutil_env.h>
00026 #include <axutil_allocator.h>
00027 #include <axutil_string.h>
00028 #include <axutil_hash.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00053     /*********************************** Constansts *******************************/
00054 
00058 #define AXIS2_EXECUTION_CHAIN_KEY  "EXECUTION_CHAIN_KEY"
00059 
00063 #define AXIS2_EXECUTION_OUT_CHAIN_KEY "EXECUTION_OUT_CHAIN_KEY"
00064 
00068 #define AXIS2_EXECUTION_FAULT_CHAIN_KEY "EXECUTION_FAULT_CHAIN_KEY"
00069 
00073 #define AXIS2_MODULEREF_KEY  "MODULEREF_KEY"
00074 
00078 #define AXIS2_OP_KEY  "OP_KEY"
00079 
00083 #define AXIS2_CLASSLOADER_KEY  "CLASSLOADER_KEY"
00084 
00088 #define AXIS2_CONTEXTPATH_KEY  "CONTEXTPATH_KEY"
00089 
00093 #define AXIS2_MESSAGE_RECEIVER_KEY  "PROVIDER_KEY"
00094 
00098 #define AXIS2_STYLE_KEY  "STYLE_KEY"
00099 
00103 #define AXIS2_PARAMETER_KEY  "PARAMETER_KEY"
00104 
00108 #define AXIS2_IN_FLOW_KEY  "IN_FLOW_KEY"
00109 
00113 #define AXIS2_OUT_FLOW_KEY  "OUT_FLOW_KEY"
00114 
00118 #define AXIS2_IN_FAULTFLOW_KEY  "IN_FAULTFLOW_KEY"
00119 
00123 #define AXIS2_OUT_FAULTFLOW_KEY  "OUT_FAULTFLOW_KEY"
00124 
00128 #define AXIS2_PHASES_KEY  "PHASES_KEY"
00129 
00133 #define AXIS2_SERVICE_CLASS  "ServiceClass"
00134 
00138 #define AXIS2_SERVICE_CLASS_NAME "SERVICE_CLASS_NAME"
00139 
00140     /******************************************************************************/
00141 
00144 #ifdef __cplusplus
00145 }
00146 #endif
00147 
00148 #endif                          /* AXIS2_DESCRIPTION_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/dir_f60961de8e5edc3b2658ef023e959e45.html0000644000175000017500000000364611172017604025443 0ustar00manjulamanjula00000000000000 Axis2/C: /home/manjula/release/c/deploy/ Directory Reference

deploy Directory Reference


Directories

directory  include

Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__asymmetric__binding__builder.html0000644000175000017500000000426711172017604030265 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_asymmetric_binding_builder

Rp_asymmetric_binding_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_asymmetric_binding_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__server.html0000644000175000017500000000754511172017604025525 0ustar00manjulamanjula00000000000000 Axis2/C: http server

http server
[http transport]


Files

file  axis2_http_server.h
 axis2 HTTP Server implementation

Functions

AXIS2_EXTERN
axis2_transport_receiver_t
axis2_http_server_create (const axutil_env_t *env, const axis2_char_t *repo, const int port)
AXIS2_EXTERN
axis2_transport_receiver_t
axis2_http_server_create_with_file (const axutil_env_t *env, const axis2_char_t *file, const int port)
AXIS2_EXTERN
axis2_status_t 
axis2_http_server_stop (axis2_transport_receiver_t *server, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__string.html0000644000175000017500000004451211172017604024602 0ustar00manjulamanjula00000000000000 Axis2/C: string

string
[utilities]


Typedefs

typedef struct
axutil_string 
axutil_string_t

Functions

AXIS2_EXTERN
axutil_string_t * 
axutil_string_create (const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axutil_string_t * 
axutil_string_create_assume_ownership (const axutil_env_t *env, axis2_char_t **str)
AXIS2_EXTERN
axutil_string_t * 
axutil_string_create_const (const axutil_env_t *env, axis2_char_t **str)
AXIS2_EXTERN void axutil_string_free (struct axutil_string *string, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_string_equals (const struct axutil_string *string, const axutil_env_t *env, const struct axutil_string *string1)
AXIS2_EXTERN struct
axutil_string * 
axutil_string_clone (struct axutil_string *string, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axutil_string_get_buffer (const struct axutil_string *string, const axutil_env_t *env)
AXIS2_EXTERN unsigned int axutil_string_get_length (const struct axutil_string *string, const axutil_env_t *env)

Detailed Description

Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


Function Documentation

AXIS2_EXTERN struct axutil_string* axutil_string_clone ( struct axutil_string *  string,
const axutil_env_t env 
) [read]

Clones a given string. Does not duplicate the buffer, rather increments the reference count. Each call to clone needs to have a matching free, when the clone is done with.

Parameters:
string pointer to string struct
env pointer to environment struct
Returns:
pointer to cloned string struct instance

AXIS2_EXTERN axutil_string_t* axutil_string_create ( const axutil_env_t env,
const axis2_char_t *  str 
)

Creates a string struct.

Parameters:
str pointer to string. string struct would create a duplicate of this
env pointer to environment struct
Returns:
a pointer to newly created string struct

AXIS2_EXTERN axutil_string_t* axutil_string_create_assume_ownership ( const axutil_env_t env,
axis2_char_t **  str 
)

Creates a string struct.

Parameters:
str pointer to string. string struct would not create a duplicate of this, but would assume ownership
env pointer to environment struct
Returns:
a pointer to newly created string struct

AXIS2_EXTERN axutil_string_t* axutil_string_create_const ( const axutil_env_t env,
axis2_char_t **  str 
)

Creates a string struct.

Parameters:
str pointer to string. string struct would not create a duplicate of this and assumes the str would have longer life than that of itself
env pointer to environment struct
Returns:
a pointer to newly created string struct

AXIS2_EXTERN axis2_bool_t axutil_string_equals ( const struct axutil_string *  string,
const axutil_env_t env,
const struct axutil_string *  string1 
)

Compares two strings. Checks if the two strings point to the same buffer. Do not cmpare the buffer contents.

Parameters:
string pointer to string struct
env pointer to environment struct
string1 pointer to string struct to be compared
Returns:
AXIS2_TRUE if string equals string1, AXIS2_FALSE otherwise

AXIS2_EXTERN void axutil_string_free ( struct axutil_string *  string,
const axutil_env_t env 
)

Frees string struct.

Parameters:
string pointer to string struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN const axis2_char_t* axutil_string_get_buffer ( const struct axutil_string *  string,
const axutil_env_t env 
)

Gets string buffer.

Parameters:
string pointer to string struct
env pointer to environment struct
Returns:
pointer to string buffer

AXIS2_EXTERN unsigned int axutil_string_get_length ( const struct axutil_string *  string,
const axutil_env_t env 
)

Gets string length. *

Parameters:
string pointer to string struct *
env pointer to environment struct *
Returns:
buffer length


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__reader.html0000644000175000017500000000606611172017604025260 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_reader Struct Reference

axiom_xml_reader Struct Reference
[XML reader]

axiom_xml_reader struct Axis2 OM pull_parser More...

#include <axiom_xml_reader.h>

List of all members.

Public Attributes

const
axiom_xml_reader_ops_t
ops


Detailed Description

axiom_xml_reader struct Axis2 OM pull_parser
The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__trust10__builder_8h-source.html0000644000175000017500000001247011172017604026116 0ustar00manjulamanjula00000000000000 Axis2/C: rp_trust10_builder.h Source File

rp_trust10_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_TRUST10_BUILDER_H
00019 #define RP_TRUST10_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_trust10.h>
00028 #include <neethi_includes.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_trust10_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__xpath__api.html0000644000175000017500000013265511172017604025225 0ustar00manjulamanjula00000000000000 Axis2/C: api

api


Classes

struct  axiom_xpath_expression
struct  axiom_xpath_context
struct  axiom_xpath_result
struct  axiom_xpath_result_node

Defines

#define AXIOM_XPATH_DEBUG
#define AXIOM_XPATH_EVALUATION_ERROR   0
#define AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED   10

Typedefs

typedef struct
axiom_xpath_expression 
axiom_xpath_expression_t
typedef struct
axiom_xpath_context 
axiom_xpath_context_t
typedef struct
axiom_xpath_result 
axiom_xpath_result_t
typedef struct
axiom_xpath_result_node 
axiom_xpath_result_node_t
typedef int(* axiom_xpath_function_t )(axiom_xpath_context_t *context, int np)

Enumerations

enum  axiom_xpath_result_type_t {
  AXIOM_XPATH_TYPE_NODE = 0, AXIOM_XPATH_TYPE_ATTRIBUTE, AXIOM_XPATH_TYPE_NAMESPACE, AXIOM_XPATH_TYPE_TEXT,
  AXIOM_XPATH_TYPE_NUMBER, AXIOM_XPATH_TYPE_BOOLEAN
}

Functions

AXIS2_EXTERN
axiom_xpath_expression_t
axiom_xpath_compile_expression (const axutil_env_t *env, const axis2_char_t *xpath_expr)
AXIS2_EXTERN
axiom_xpath_context_t
axiom_xpath_context_create (const axutil_env_t *env, axiom_node_t *root_node)
AXIS2_EXTERN
axiom_xpath_result_t
axiom_xpath_evaluate (axiom_xpath_context_t *context, axiom_xpath_expression_t *xpath_expr)
AXIS2_EXTERN axis2_bool_t axiom_xpath_cast_node_to_boolean (const axutil_env_t *env, axiom_xpath_result_node_t *node)
AXIS2_EXTERN double axiom_xpath_cast_node_to_number (const axutil_env_t *env, axiom_xpath_result_node_t *node)
AXIS2_EXTERN
axis2_char_t * 
axiom_xpath_cast_node_to_string (const axutil_env_t *env, axiom_xpath_result_node_t *node)
AXIS2_EXTERN
axiom_node_t * 
axiom_xpath_cast_node_to_axiom_node (const axutil_env_t *env, axiom_xpath_result_node_t *node)
AXIS2_EXTERN void axiom_xpath_free_context (const axutil_env_t *env, axiom_xpath_context_t *context)
AXIS2_EXTERN void axiom_xpath_free_expression (const axutil_env_t *env, axiom_xpath_expression_t *xpath_expr)
AXIS2_EXTERN void axiom_xpath_free_result (const axutil_env_t *env, axiom_xpath_result_t *result)
AXIS2_EXTERN void axiom_xpath_register_namespace (axiom_xpath_context_t *context, axiom_namespace_t *ns)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_xpath_get_namespace (axiom_xpath_context_t *context, axis2_char_t *prefix)
AXIS2_EXTERN void axiom_xpath_clear_namespaces (axiom_xpath_context_t *context)
AXIS2_EXTERN
axiom_xpath_result_t
axiom_xpath_evaluate_streaming (axiom_xpath_context_t *context, axiom_xpath_expression_t *xpath_expr)
AXIS2_EXTERN axis2_bool_t axiom_xpath_streaming_check (const axutil_env_t *env, axiom_xpath_expression_t *expr)
AXIS2_EXTERN void axiom_xpath_register_default_functions_set (axiom_xpath_context_t *context)
AXIS2_EXTERN void axiom_xpath_register_function (axiom_xpath_context_t *context, axis2_char_t *name, axiom_xpath_function_t func)
AXIS2_EXTERN
axiom_xpath_function_t 
axiom_xpath_get_function (axiom_xpath_context_t *context, axis2_char_t *name)

Define Documentation

#define AXIOM_XPATH_DEBUG

Enable tracing

#define AXIOM_XPATH_EVALUATION_ERROR   0

An error occured while evaluating the xpath expression


Typedef Documentation

The XPath context Keeps a reference to the context node or attribute, XPath expression, environment and result set.

XPath expression It includes the expression as a string and parsed data.

XPath result Stores type and value of the result.

XPath result set Contains the result set and other information such as whether the expression was evaluated successfully.


Enumeration Type Documentation

XPath result types


Function Documentation

AXIS2_EXTERN axiom_node_t* axiom_xpath_cast_node_to_axiom_node ( const axutil_env_t env,
axiom_xpath_result_node_t node 
)

Convert an XPath result to an axiom node. If the result is an axiom node it is returned and NULL otherwise.

Parameters:
env Environment must not be null
node A pointer to the XPath result
Returns:
The axiom node.

AXIS2_EXTERN axis2_bool_t axiom_xpath_cast_node_to_boolean ( const axutil_env_t env,
axiom_xpath_result_node_t node 
)

Convert an XPath result to a boolean. If the result is a boolean the value of it is returned. If the result is a number, AXIS2_TRUE is returned if the value is not equal to 0 and AXIS2_FALSE otherwise. Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE otherwise.

Parameters:
env Environment must not be null
node A pointer to the XPath result
Returns:
The boolean value.

AXIS2_EXTERN double axiom_xpath_cast_node_to_number ( const axutil_env_t env,
axiom_xpath_result_node_t node 
)

Convert an XPath result to a number. If the result is a boolean, 1 is returned if it's true and 0 otherwise. If the result is a number the value of it is returned. Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE otherwise.

Parameters:
env Environment must not be null
node A pointer to the XPath result
Returns:
The numerical value.

AXIS2_EXTERN axis2_char_t* axiom_xpath_cast_node_to_string ( const axutil_env_t env,
axiom_xpath_result_node_t node 
)

Convert an XPath result to text. If the result is a boolean, "true" is returned if it's true and "false" otherwise. If the result is a number the text representation of it is returned. If the result is a text the value of it is returned. If the result is an axiom node, the text value of it is returned If the result is an axiom attribue, the text value of it is returned

Parameters:
env Environment must not be null
node A pointer to the XPath result
Returns:
The text value.

AXIS2_EXTERN void axiom_xpath_clear_namespaces ( axiom_xpath_context_t context  ) 

Clears all registered XPath namespaces

Parameters:
context XPath Context, must not be null

AXIS2_EXTERN axiom_xpath_expression_t* axiom_xpath_compile_expression ( const axutil_env_t env,
const axis2_char_t *  xpath_expr 
)

Compile an XPath expression

Parameters:
env Environment must not be null
xpath_expr A pointer to the XPath expression
Returns:
The parsed XPath expression. Returns NULL if an error occured while parsing.

AXIS2_EXTERN axiom_xpath_context_t* axiom_xpath_context_create ( const axutil_env_t env,
axiom_node_t *  root_node 
)

Create an empty XPath context

Parameters:
env Environment must not be null
root_node A pointer to the root of the tree
Returns:
The initialized XPath context.

AXIS2_EXTERN axiom_xpath_result_t* axiom_xpath_evaluate ( axiom_xpath_context_t context,
axiom_xpath_expression_t xpath_expr 
)

Evaluate an parsed XPath expression. Different expressions could be evaluated on the same context, and same expression could be evaluated on multiple trees without recompiling.

Parameters:
context XPath context must not be null
xpath_expr XPath expression to be evaluated
Returns:
The set of results.

AXIS2_EXTERN axiom_xpath_result_t* axiom_xpath_evaluate_streaming ( axiom_xpath_context_t context,
axiom_xpath_expression_t xpath_expr 
)

Evaluates an XPath expression on streaming XML. Not all expressions can be evaluated on streaming XML. If the expression cannot be evaluated on streaming XML NULL will be returned.

Parameters:
context XPath Context, must not be null
xpath_expr XPath expression to be evaluated

AXIS2_EXTERN void axiom_xpath_free_context ( const axutil_env_t env,
axiom_xpath_context_t context 
)

Free XPath context

Parameters:
env Environment must not be null
context XPath context must not be null

AXIS2_EXTERN void axiom_xpath_free_expression ( const axutil_env_t env,
axiom_xpath_expression_t xpath_expr 
)

Free XPath expression

Parameters:
env Environment must not be null
xpath_expr XPath expression must not be null

AXIS2_EXTERN void axiom_xpath_free_result ( const axutil_env_t env,
axiom_xpath_result_t result 
)

Free XPath result set

Parameters:
env Environment must not be null
result XPath result set must not be null

AXIS2_EXTERN axiom_xpath_function_t axiom_xpath_get_function ( axiom_xpath_context_t context,
axis2_char_t *  name 
)

Retrive a pointer to a registered funciton by the function name. If there is no function registered by the given name, NULL will be returned.

Parameters:
context XPath Context, must not be null
name Name of the function, must not be null
Returns:
The corresponding function.

AXIS2_EXTERN axiom_namespace_t* axiom_xpath_get_namespace ( axiom_xpath_context_t context,
axis2_char_t *  prefix 
)

Get a registered namespace by the prefix. If there is no namespace registered by the given prefix NULL will be returned

Parameters:
context XPath Context, must not be null
prefix Prefix of the namespace, must not be null
Returns:
The namespace corresponding to the prefix.

AXIS2_EXTERN void axiom_xpath_register_default_functions_set ( axiom_xpath_context_t context  ) 

Setup the XPath core function library

Parameters:
context XPath Context, must not be null

AXIS2_EXTERN void axiom_xpath_register_function ( axiom_xpath_context_t context,
axis2_char_t *  name,
axiom_xpath_function_t  func 
)

Registers a custom XPath function http://www.w3.org/TR/xpath#corelib

Parameters:
context XPath Context, must not be null
name Name of the function, must not be null
func Pointer to the function, must not be null

AXIS2_EXTERN void axiom_xpath_register_namespace ( axiom_xpath_context_t context,
axiom_namespace_t *  ns 
)

Registers a XPath namespace

Parameters:
context XPath Context, must not be null
ns AXIOM namespace, must not be null

AXIS2_EXTERN axis2_bool_t axiom_xpath_streaming_check ( const axutil_env_t env,
axiom_xpath_expression_t expr 
)

Checks whether the given expression can be evaluated on streaming XML. If it is possible AXIS2_TRUE will be retuned; AXIS2_FALSE otherwise.

Parameters:
env Axis2 environment, must not be null
expr Complied XPath expression, must not be null
Returns:
A boolean indicating whether the expression can be evaluated on streaming XML.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__wss11__builder.html0000644000175000017500000000416611172017604025233 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_wss11_builder

Rp_wss11_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_wss11_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__https__token__builder.html0000644000175000017500000000422411172017604026751 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_https_token_builder

Rp_https_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_https_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__reader__ops.html0000644000175000017500000010767311172017604026306 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_reader_ops Struct Reference

axiom_xml_reader_ops Struct Reference
[XML reader]

AXIOM_XML_READER ops Encapsulator struct for ops of axiom_xml_reader. More...

#include <axiom_xml_reader.h>

List of all members.

Public Attributes

int(* next )(axiom_xml_reader_t *parser, const axutil_env_t *env)
void(* free )(axiom_xml_reader_t *parser, const axutil_env_t *env)
int(* get_attribute_count )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_attribute_name_by_number )(axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
axis2_char_t *(* get_attribute_prefix_by_number )(axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
axis2_char_t *(* get_attribute_value_by_number )(axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
axis2_char_t *(* get_attribute_namespace_by_number )(axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
axis2_char_t *(* get_value )(axiom_xml_reader_t *parser, const axutil_env_t *env)
int(* get_namespace_count )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_namespace_uri_by_number )(axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
axis2_char_t *(* get_namespace_prefix_by_number )(axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
axis2_char_t *(* get_prefix )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_name )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_pi_target )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_pi_data )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_dtd )(axiom_xml_reader_t *parser, const axutil_env_t *env)
void(* xml_free )(axiom_xml_reader_t *parser, const axutil_env_t *env, void *data)
axis2_char_t *(* get_char_set_encoding )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_namespace_uri )(axiom_xml_reader_t *parser, const axutil_env_t *env)
axis2_char_t *(* get_namespace_uri_by_prefix )(axiom_xml_reader_t *parser, const axutil_env_t *env, axis2_char_t *prefix)


Detailed Description

AXIOM_XML_READER ops Encapsulator struct for ops of axiom_xml_reader.

Member Data Documentation

causes the reader to read the next parse event. returns the event just read

Parameters:
parser axiom_xml_reader struct
env axutil_environment, MUST NOT be NULL
Returns:
one of the events defined in axiom_xml_reader_event_types

free pull_parser

Parameters:
parser axiom_xml_reader struct
env axutil_environment MUST NOT be NULL
Returns:
axis2_status_code

Get the Number of attributes in the current element

Parameters:
parser axiom_xml_reader
env axutil_environment, MUST NOT be NULL.
Returns:
Number of attributes , AXIS2_FAILURE on error

This is used to get an attribute's localname using an index relative to current element.The iterations are not zero based. To access the first attribute use 1 for parameter i

Parameters:
parser parser struct
env environment struct
i attribute index
Returns:
the attribute localname caller must free the value using axiom_xml_reader_xml_free macro

This is used to get an attribute's prefix using an index relative to current element. The iterations are not zero based. To access the first attribute use 1 for parameter i

Parameters:
parser parser struct
env environment, MUST NOT be NULL
i attribute index.
Returns:
the attribute prefix, returns NULL on error, caller must free the value using axiom_xml_reader_xml_free macro

Gets an attribute's value using an index relative to current element. The iterations are not zero based. To access the first attribute use 1 for parameter i

Parameters:
parser parser struct
env environment, MUST NOT be NULL.
i attribute index
Returns:
the attribute value, returns NULL on error, caller must free the value using axiom_xml_reader_xml_free macro

Gets an attribute's namespace uri using an index relative to current element. The iterations are not zero based. To access the first attribute use 1 for parameter i

Parameters:
parser parser struct
env environment struct
i attribute index
Returns:
the attribute value, returns NULL on error caller must free the value using axiom_xml_reader_xml_free macro

axis2_char_t*( * axiom_xml_reader_ops::get_value)(axiom_xml_reader_t *parser, const axutil_env_t *env)

Returns the text value of current element

Parameters:
parser pointer to parser
env environment, MUST not be NULL
Returns:
Text Value, NULL on error caller must free the value using axiom_xml_reader_xml_free macro

Returns the namespace count of current element

Parameters:
parser parser struct
env environment
Returns:
namespace count of current element,

Accesses the namespace uri of the namespaces declared in current element using an index

Parameters:
parser parser struct
env environment
i index
Returns:
namespace uri of corresponding namespace caller must free the value using axiom_xml_reader_xml_free macro

Accesses the namespace prefix of the namespaces declared in current element using an index

Parameters:
parser parser struct
env environment
i index
Returns:
namespace prefix of corresponding namespace caller must free the value using axiom_xml_reader_xml_free macro

axis2_char_t*( * axiom_xml_reader_ops::get_prefix)(axiom_xml_reader_t *parser, const axutil_env_t *env)

Used to obtain the current element prefix

Parameters:
parser parser struct
env environment struct
Returns:
prefix , NULL on error caller must free the value using axiom_xml_reader_xml_free macro

axis2_char_t*( * axiom_xml_reader_ops::get_name)(axiom_xml_reader_t *parser, const axutil_env_t *env)

Used to obtain the current element localname

Parameters:
parser parser struct
env environment struct
Returns:
localname , NULL on error caller must free the value using axiom_xml_reader_xml_free macro

Used to get the processingInstruction target

Parameters:
parser parser struct
env environment, MUST NOT be NULL.
Returns:
target value of processingInstruction caller must free the value using axiom_xml_reader_xml_free macro

axis2_char_t*( * axiom_xml_reader_ops::get_pi_data)(axiom_xml_reader_t *parser, const axutil_env_t *env)

Gets the processingInstruction data

Parameters:
parser parser struct
env environment, MUST NOT be NULL.
Returns:
data of processingInstruction caller must free the value using axiom_xml_reader_xml_free macro

axis2_char_t*( * axiom_xml_reader_ops::get_dtd)(axiom_xml_reader_t *parser, const axutil_env_t *env)

Used to get the DTD

Parameters:
parser pointer to pull parser struct
env environment, MUST NOT be NULL.
Returns:
text of doctype declaration. NULL is returns of no data exists.

void( * axiom_xml_reader_ops::xml_free)(axiom_xml_reader_t *parser, const axutil_env_t *env, void *data)

Free function , this function wraps the underlying parser's xml free function. For freeing values obatined by calling pull parser api methods, This function must be used.

Parameters:
parser pointer to axiom_xml_reader
env environment, MUST NOT be NULL.
data data values to be destroyed
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

Gets the char set encoding of the parser

Parameters:
parser xml parser
env environment
Returns:
char set encoding string or NULL in failure

Returns the namespace uri associated with current node


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__children__with__specific__attribute__iterator.html0000644000175000017500000003720011172017604034357 0ustar00manjulamanjula00000000000000 Axis2/C: children with specific attribute iterator

children with specific attribute iterator
[AXIOM]


Defines

#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env)   axiom_children_with_specific_attribute_iterator_free(iterator, env)
#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env)   axiom_children_with_specific_attribute_iterator_remove(iterator, env)
#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env)   axiom_children_with_specific_attribute_iterator_has_next(iterator, env)
#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env)   axiom_children_with_specific_attribute_iterator_next(iterator, env)

Functions

AXIS2_EXTERN void axiom_children_with_specific_attribute_iterator_free (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_with_specific_attribute_iterator_remove (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_children_with_specific_attribute_iterator_has_next (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_children_with_specific_attribute_iterator_next (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_children_with_specific_attribute_iterator_t * 
axiom_children_with_specific_attribute_iterator_create (const axutil_env_t *env, axiom_node_t *current_child, axutil_qname_t *attr_qname, axis2_char_t *attr_value, axis2_bool_t detach)

Function Documentation

AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t* axiom_children_with_specific_attribute_iterator_create ( const axutil_env_t env,
axiom_node_t *  current_child,
axutil_qname_t *  attr_qname,
axis2_char_t *  attr_value,
axis2_bool_t  detach 
)

Parameters:
env environment, MUST NOT be NULL
current_child the current child for the interation
attr_qname the qname for the attribute
attr_value the value string for the attribute
detach AXIS2_TRUE to detach AXIS2_FALSE not to return axiom_children_with_specific_attribute_iterator_t

AXIS2_EXTERN void axiom_children_with_specific_attribute_iterator_free ( axiom_children_with_specific_attribute_iterator_t *  iterator,
const axutil_env_t env 
)

Free function free the om_children_with_specific_attribute_iterator struct

Parameters:
iterator a pointer to axiom children with specific attribute iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_bool_t axiom_children_with_specific_attribute_iterator_has_next ( axiom_children_with_specific_attribute_iterator_t *  iterator,
const axutil_env_t env 
)

Returns true< if the iteration has more elements. (In other words, returns true if next would return an axiom_node_t struct rather than NULL with error code set in environment

Parameters:
iterator a pointer to axiom children with specific attribute iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axiom_node_t* axiom_children_with_specific_attribute_iterator_next ( axiom_children_with_specific_attribute_iterator_t *  iterator,
const axutil_env_t env 
)

Returns the next element in the iteration. returns null if there is no more elements in the iteration

Parameters:
iterator a pointer to axiom children with specific attribute iterator struct
env environment, MUST NOT be NULL

AXIS2_EXTERN axis2_status_t axiom_children_with_specific_attribute_iterator_remove ( axiom_children_with_specific_attribute_iterator_t *  iterator,
const axutil_env_t env 
)

Removes from the underlying collection the last element returned by the iterator (optional op). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Parameters:
iterator a pointer to axiom children with specific attribute iterator struct
env environment, MUST NOT be NULL


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tcpmon__session_8h.html0000644000175000017500000002675411172017604024005 0ustar00manjulamanjula00000000000000 Axis2/C: tcpmon_session.h File Reference

tcpmon_session.h File Reference

represent session of tcpmon More...

#include <axutil_env.h>
#include <tcpmon_entry.h>
#include <axutil_string.h>

Go to the source code of this file.

Classes

struct  tcpmon_session_ops
struct  tcpmon_session

Defines

#define TCPMON_SESSION_FREE(session, env)   ((session)->ops->free (session, env))
#define TCPMON_SESSION_SET_TEST_BIT(session, env, test_bit)   ((session)->ops->set_test_bit(session, env, test_bit))
#define TCPMON_SESSION_GET_TEST_BIT(session, env)   ((session)->ops->get_test_bit(session, env))
#define TCPMON_SESSION_SET_FORMAT_BIT(session, env, format_bit)   ((session)->ops->set_format_bit(session, env, format_bit))
#define TCPMON_SESSION_GET_FORMAT_BIT(session, env)   ((session)->ops->get_format_bit(session, env))
#define TCPMON_SESSION_SET_LISTEN_PORT(session, env, listen_port)   ((session)->ops->set_listen_port(session, env, listen_port))
#define TCPMON_SESSION_GET_LISTEN_PORT(session, env)   ((session)->ops->get_listen_port(session, env))
#define TCPMON_SESSION_SET_TARGET_PORT(session, env, target_port)   ((session)->ops->set_target_port(session, env, target_port))
#define TCPMON_SESSION_GET_TARGET_PORT(session, env)   ((session)->ops->get_target_port(session, env))
#define TCPMON_SESSION_SET_TARGET_HOST(session, env, target_host)   ((session)->ops->set_target_host(session, env, target_host))
#define TCPMON_SESSION_GET_TARGET_HOST(session, env)   ((session)->ops->get_target_host(session, env))
#define TCPMON_SESSION_START(session, env)   ((session)->ops->start(session, env))
#define TCPMON_SESSION_STOP(session, env)   ((session)->ops->stop(session, env))
#define TCPMON_SESSION_ON_TRANS_FAULT(session, env, funct)   ((session)->ops->on_trans_fault(session, env, funct))
#define TCPMON_SESSION_ON_NEW_ENTRY(session, env, funct)   ((session)->ops->on_new_entry(session, env, funct))

Typedefs

typedef struct
tcpmon_session_ops 
tcpmon_session_ops_t
typedef struct
tcpmon_session 
tcpmon_session_t
typedef int(* TCPMON_SESSION_NEW_ENTRY_FUNCT )(const axutil_env_t *env, tcpmon_entry_t *entry, int status)
typedef int(* TCPMON_SESSION_TRANS_ERROR_FUNCT )(const axutil_env_t *env, axis2_char_t *error_message)

Functions

tcpmon_session_t * tcpmon_session_create (const axutil_env_t *env)


Detailed Description

represent session of tcpmon


Generated on Thu Apr 16 11:31:22 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/pages.html0000644000175000017500000000311111172017604021261 0ustar00manjulamanjula00000000000000 Axis2/C: Page Index

Axis2/C Related Pages

Here is a list of all related documentation pages:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__wss10__builder_8h-source.html0000644000175000017500000001245411172017604025553 0ustar00manjulamanjula00000000000000 Axis2/C: rp_wss10_builder.h Source File

rp_wss10_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_WSS10_BUILDER_H
00019 #define RP_WSS10_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_wss10.h>
00028 #include <neethi_includes.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_wss10_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__registry_8h-source.html0000644000175000017500000001725411172017604025437 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_registry.h Source File

neethi_registry.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_REGISTRY_H
00020 #define NEETHI_REGISTRY_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_includes.h>
00030 #include <neethi_policy.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     typedef struct neethi_registry_t neethi_registry_t;
00038 
00039     AXIS2_EXTERN neethi_registry_t *AXIS2_CALL
00040     neethi_registry_create(
00041         const axutil_env_t * env);
00042 
00043     AXIS2_EXTERN neethi_registry_t *AXIS2_CALL
00044     neethi_registry_create_with_parent(
00045         const axutil_env_t * env,
00046         neethi_registry_t * parent);
00047 
00048     AXIS2_EXTERN void AXIS2_CALL
00049     neethi_registry_free(
00050         neethi_registry_t * neethi_registry,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00054     neethi_registry_register(
00055         neethi_registry_t * neethi_registry,
00056         const axutil_env_t * env,
00057         axis2_char_t * key,
00058         neethi_policy_t * value);
00059 
00060     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00061     neethi_registry_lookup(
00062         neethi_registry_t * neethi_registry,
00063         const axutil_env_t * env,
00064         axis2_char_t * key);
00065 
00067 #ifdef __cplusplus
00068 }
00069 #endif
00070 
00071 #endif                          /* NEETHI_REGISTRY_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__hash_8h.html0000644000175000017500000002604211172017604023241 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_hash.h File Reference

axutil_hash.h File Reference

Axis2 Hash Tables. More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Defines

#define AXIS2_HASH_KEY_STRING   (unsigned int)(-1)

Typedefs

typedef struct
axutil_hash_t 
axutil_hash_t
typedef struct
axutil_hash_index_t 
axutil_hash_index_t
typedef unsigned int(* axutil_hashfunc_t )(const char *key, axis2_ssize_t *klen)

Functions

unsigned int axutil_hashfunc_default (const char *key, axis2_ssize_t *klen)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_make (const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_make_custom (const axutil_env_t *env, axutil_hashfunc_t hash_func)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_copy (const axutil_hash_t *ht, const axutil_env_t *env)
AXIS2_EXTERN void axutil_hash_set (axutil_hash_t *ht, const void *key, axis2_ssize_t klen, const void *val)
AXIS2_EXTERN void * axutil_hash_get (axutil_hash_t *ht, const void *key, axis2_ssize_t klen)
AXIS2_EXTERN
axutil_hash_index_t
axutil_hash_first (axutil_hash_t *ht, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_index_t
axutil_hash_next (const axutil_env_t *env, axutil_hash_index_t *hi)
AXIS2_EXTERN void axutil_hash_this (axutil_hash_index_t *hi, const void **key, axis2_ssize_t *klen, void **val)
AXIS2_EXTERN unsigned int axutil_hash_count (axutil_hash_t *ht)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_overlay (const axutil_hash_t *overlay, const axutil_env_t *env, const axutil_hash_t *base)
AXIS2_EXTERN
axutil_hash_t
axutil_hash_merge (const axutil_hash_t *h1, const axutil_env_t *env, const axutil_hash_t *h2, void *(*merger)(const axutil_env_t *env, const void *key, axis2_ssize_t klen, const void *h1_val, const void *h2_val, const void *data), const void *data)
AXIS2_EXTERN axis2_bool_t axutil_hash_contains_key (axutil_hash_t *ht, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN void axutil_hash_free (axutil_hash_t *ht, const axutil_env_t *env)
AXIS2_EXTERN void axutil_hash_free_void_arg (void *ht_void, const axutil_env_t *env)
AXIS2_EXTERN void axutil_hash_set_env (axutil_hash_t *ht, const axutil_env_t *env)


Detailed Description

Axis2 Hash Tables.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__types_8h-source.html0000644000175000017500000001262211172017604024757 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_types.h Source File

axutil_types.h

00001 
00019 #ifndef AXUTIL_TYPES_H
00020 #define AXUTIL_TYPES_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <stdlib.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038     AXIS2_EXTERN int AXIS2_CALL
00039     axutil_atoi(
00040         const char *s);
00041 
00042 #define AXIS2_ATOI(s) axutil_atoi(s)
00043 
00044     AXIS2_EXTERN uint64_t AXIS2_CALL
00045     axutil_strtoul(
00046         const char *nptr,
00047         char **endptr,
00048         int base);
00049 
00050 #define AXIS2_STRTOUL(s, e, b) axutil_strtoul(s, e, b)
00051 
00052     AXIS2_EXTERN int64_t AXIS2_CALL
00053     axutil_strtol(
00054         const char *nptr,
00055         char **endptr,
00056         int base);
00057 
00058 #define AXIS2_STRTOL(s, e, b) axutil_strtol(s, e, b)
00059 
00060 
00061     AXIS2_EXTERN int64_t AXIS2_CALL
00062     axutil_atol(
00063         const char *s);
00064 
00065 #define AXIS2_ATOL(s) axutil_atol(s)
00066 
00069 #ifdef __cplusplus
00070 }
00071 #endif
00072 
00073 #endif                          /* AXIS2_TYPES_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__uuid__gen_8h-source.html0000644000175000017500000001252711172017604025555 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_uuid_gen.h Source File

axutil_uuid_gen.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain count copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_UUID_GEN_H
00019 #define AXUTIL_UUID_GEN_H
00020 
00021 #include <axutil_utils.h>
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 #include <platforms/axutil_platform_auto_sense.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00041     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00042     axutil_uuid_gen(
00043         const axutil_env_t * env);
00044 
00047 #ifdef __cplusplus
00048 }
00049 #endif
00050 
00051 #endif                          /* AXIS2_UUID_GEN_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__msg__recv.html0000644000175000017500000007502511172017604024763 0ustar00manjulamanjula00000000000000 Axis2/C: message receiver

message receiver
[receivers]


Files

file  axis2_msg_recv.h
 Axis Message Receiver interface. Message Receiver struct. This interface is extended by custom message receivers.

Typedefs

typedef struct
axis2_msg_recv 
axis2_msg_recv_t
typedef axis2_status_t(* AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC )(axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, struct axis2_msg_ctx *out_msg_ctx)
typedef axis2_status_t(* AXIS2_MSG_RECV_RECEIVE )(axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, void *callback_recv_param)
typedef axis2_status_t(* AXIS2_MSG_RECV_LOAD_AND_INIT_SVC )(axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc)

Functions

AXIS2_EXTERN void axis2_msg_recv_free (axis2_msg_recv_t *msg_recv, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_receive (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, void *callback_recv_param)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_invoke_business_logic (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, struct axis2_msg_ctx *out_msg_ctx)
AXIS2_EXTERN
axis2_svc_skeleton_t
axis2_msg_recv_make_new_svc_obj (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_svc_skeleton_t
axis2_msg_recv_get_impl_obj (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_set_scope (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, const axis2_char_t *scope)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_recv_get_scope (axis2_msg_recv_t *msg_recv, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_delete_svc_obj (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_invoke_business_logic (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_derived (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, void *derived)
AXIS2_EXPORT void * axis2_msg_recv_get_derived (const axis2_msg_recv_t *msg_recv, const axutil_env_t *env)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_receive (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_RECEIVE func)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_load_and_init_svc (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_load_and_init_svc (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN
axis2_msg_recv_t
axis2_msg_recv_create (const axutil_env_t *env)

Detailed Description

Description.

Typedef Documentation

typedef struct axis2_msg_recv axis2_msg_recv_t

Type name for struct axis2_msg_recv


Function Documentation

AXIS2_EXTERN axis2_msg_recv_t* axis2_msg_recv_create ( const axutil_env_t env  ) 

Create new message receiver object. usually this will be called from the extended message receiver object.

See also:
create method of raw_xml_in_out_msg_recv
Parameters:
env pointer to environment struct
Returns:
newly created message receiver object

AXIS2_EXTERN axis2_status_t axis2_msg_recv_delete_svc_obj ( axis2_msg_recv_t msg_recv,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Delete the service skeleton object created by make_new_svc_obj

Parameters:
msg_recv pointer to message receiver pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_msg_recv_free ( axis2_msg_recv_t msg_recv,
const axutil_env_t env 
)

Deallocate memory

Parameters:
msg_recv pinter to message receiver
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_svc_skeleton_t* axis2_msg_recv_get_impl_obj ( axis2_msg_recv_t msg_recv,
const axutil_env_t env,
struct axis2_msg_ctx *  msg_ctx 
)

This will return the service skeleton object

Parameters:
msg_recv pointer to message receiver
env pointer to environment struct
msg_ctx pointer to message context
Returns:
service skeleton object

AXIS2_EXTERN axis2_char_t* axis2_msg_recv_get_scope ( axis2_msg_recv_t msg_recv,
const axutil_env_t env 
)

Get the application scope

Parameters:
msg_recv pointer to message receiver pointer to environment struct
Returns:
scope

AXIS2_EXTERN axis2_status_t axis2_msg_recv_invoke_business_logic ( axis2_msg_recv_t msg_recv,
const axutil_env_t env,
struct axis2_msg_ctx *  in_msg_ctx,
struct axis2_msg_ctx *  out_msg_ctx 
)

This contain in out synchronous business invoke logic

Parameters:
msg_recv pointer to message receiver
env pointer to environment struct
in_msg_ctx pointer to in message context
out_msg_ctx pointer to out message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_svc_skeleton_t* axis2_msg_recv_make_new_svc_obj ( axis2_msg_recv_t msg_recv,
const axutil_env_t env,
struct axis2_msg_ctx *  msg_ctx 
)

this will create a new service skeleton object

Parameters:
msg_recv pointer to message receiver
env pointer to environment struct
msg_ctx pointer to message context
Returns:
service skeleton object

AXIS2_EXTERN axis2_status_t axis2_msg_recv_receive ( axis2_msg_recv_t msg_recv,
const axutil_env_t env,
struct axis2_msg_ctx *  in_msg_ctx,
void *  callback_recv_param 
)

This method is called from axis2_engine_receive method. This method's actual implementation is decided from the create method of the extended message receiver object. There depending on the synchronous or asynchronous type, receive method is assigned with the synchronous or asynchronous implementation of receive.

See also:
raw_xml_in_out_msg_recv_create method where receive is assigned to receive_sync
Parameters:
msg_recv pointer to message receiver
env pointer to environment struct
in_msg_ctx pointer to in message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_recv_set_scope ( axis2_msg_recv_t msg_recv,
const axutil_env_t env,
const axis2_char_t *  scope 
)

Set the application scope

Parameters:
msg_recv pointer to message receiver
env pointer to environment struct
scope pointer to scope
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__reason_8h.html0000644000175000017500000001361111172017604026125 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_reason.h File Reference

axiom_soap_fault_reason.h File Reference

axiom_soap_fault_reason More...

#include <axutil_env.h>
#include <axiom_soap_fault.h>
#include <axutil_array_list.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_reason 
axiom_soap_fault_reason_t

Functions

AXIS2_EXTERN
axiom_soap_fault_reason_t * 
axiom_soap_fault_reason_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_reason_free (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_text * 
axiom_soap_fault_reason_get_soap_fault_text (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env, axis2_char_t *lang)
AXIS2_EXTERN
axutil_array_list_t
axiom_soap_fault_reason_get_all_soap_fault_texts (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_text * 
axiom_soap_fault_reason_get_first_soap_fault_text (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_reason_add_soap_fault_text (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env, struct axiom_soap_fault_text *fault_text)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_reason_get_base_node (axiom_soap_fault_reason_t *fault_reason, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_reason


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__transport_8h-source.html0000644000175000017500000021317611172017604026574 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_transport.h Source File

axis2_http_transport.h

00001 
00002 /*
00003 * Copyright 2004,2005 The Apache Software Foundation.
00004 *
00005 * Licensed under the Apache License, Version 2.0 (the "License");
00006 * you may not use this file except in compliance with the License.
00007 * You may obtain count copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIS2_HTTP_TRANSPORT_H
00019 #define AXIS2_HTTP_TRANSPORT_H
00020 
00021 #include <axis2_const.h>
00022 #include <axutil_version.h>
00023 #include <axiom_mime_const.h>
00024 
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #endif
00029 
00046 #define AXIS2_HTTP_OUT_TRANSPORT_INFO "HTTPOutTransportInfo"
00047 
00051 #define AXIS2_HTTP_CRLF AXIS2_CRLF
00052 
00056 #define AXIS2_HTTP_PROTOCOL_VERSION "PROTOCOL"
00057 
00061 #define AXIS2_HTTP_REQUEST_URI "REQUEST_URI"
00062 
00066 #define AXIS2_HTTP_RESPONSE_CODE "RESPONSE_CODE"
00067 
00071 #define AXIS2_HTTP_RESPONSE_WORD "RESPONSE_WORD"
00072 
00073     /*
00074      * RESPONSE_CONTINUE_CODE_VAL
00075      */
00076 #define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL 100
00077 
00078     /*
00079      * RESPONSE_OK_CODE_VAL
00080      */
00081 #define AXIS2_HTTP_RESPONSE_OK_CODE_VAL 200
00082 
00083     /*
00084      * RESPONSE_CREATED_CODE_VAL
00085      */
00086 #define AXIS2_HTTP_RESPONSE_CREATED_CODE_VAL 201
00087 
00091 #define AXIS2_HTTP_RESPONSE_ACK_CODE_VAL 202
00092 
00096 #define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VAL 203
00097 
00101 #define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL 204
00102 
00106 #define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL 205
00107 
00111 #define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL 300
00112 
00116 #define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL 301
00117 
00121 #define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL 303
00122 
00126 #define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL 304
00127 
00131 #define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL 307
00132 
00136 #define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL 400
00137 
00141 #define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL 401
00142 
00146 #define AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VAL 403
00147 
00148 
00152 #define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL 404
00153 
00157 #define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL 405
00158 
00162 #define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL 406
00163 
00167 #define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL 407
00168 
00172 #define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL 408
00173 
00177 #define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL 409
00178 
00182 #define AXIS2_HTTP_RESPONSE_GONE_CODE_VAL 410
00183 
00187 #define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VAL 411
00188 
00192 #define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL 412
00193 
00197 #define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL 413
00198 
00202 #define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL 500
00203 
00207 #define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VAL 501
00208 
00212 #define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL 503
00213 
00217 #define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAME "Continue"
00218 
00222 #define AXIS2_HTTP_RESPONSE_OK_CODE_NAME "OK"
00223 
00224     /*
00225      * RESPONSE_CREATED_CODE_NAME
00226      */
00227 #define AXIS2_HTTP_RESPONSE_CREATED_CODE_NAME "Created"
00228 
00232 #define AXIS2_HTTP_RESPONSE_ACK_CODE_NAME "Accepted"
00233 
00237 #define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAME "No Content"
00238 
00242 #define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAME "Non-Authoritative Information"
00243 
00247 #define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAME "Reset Content"
00248 
00252 #define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAME "Multiple Choices"
00253 
00257 #define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAME "Moved Permanently"
00258 
00262 #define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAME "See Other"
00263 
00267 #define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME "Not Modified"
00268 
00272 #define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAME "Temporary Redirect"
00273 
00277 #define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME "Bad Request"
00278 
00282 #define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAME "Unauthorized"
00283 
00284 
00288 #define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAME "Forbidden"
00289 
00293 #define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME "Not Found"
00294 
00298 #define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME "Method Not Allowed"
00299 
00303 #define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME "Not Acceptable"
00304 
00308 #define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAME "Proxy Authentication Required"
00309 
00313 #define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME "Request Timeout"
00314 
00318 #define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME "Conflict"
00319 
00323 #define AXIS2_HTTP_RESPONSE_GONE_CODE_NAME "Gone"
00324 
00328 #define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAME "Length Required"
00329 
00333 #define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME "Precondition Failed"
00334 
00338 #define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME "Request Entity Too Large"
00339 
00343 #define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME "Internal Server Error"
00344 
00348 #define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME "Not Implemented"
00349 
00353 #define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME "Service Unavailable"
00354 
00358 #define AXIS2_SOCKET "SOCKET"
00359 
00363 #define AXIS2_HTTP_HEADER_PROTOCOL_10 "HTTP/1.0"
00364 
00368 #define AXIS2_HTTP_HEADER_PROTOCOL_11 "HTTP/1.1"
00369 
00373 #define AXIS2_HTTP_CHAR_SET_ENCODING "charset"
00374 
00378 #define AXIS2_HTTP_POST  "POST"
00379 
00383 #define AXIS2_HTTP_GET "GET"
00384 
00388 #define AXIS2_HTTP_HEAD "HEAD"
00389 
00393 #define AXIS2_HTTP_PUT "PUT"
00394 
00398 #define AXIS2_HTTP_DELETE "DELETE"
00399 
00403 #define AXIS2_HTTP_HEADER_HOST "Host"
00404 
00408 #define AXIS2_HTP_HEADER_CONTENT_DESCRIPTION "Content-Description"
00409 
00413 #define AXIS2_HTTP_HEADER_CONTENT_TYPE "Content-Type"
00414 #define AXIS2_HTTP_HEADER_CONTENT_TYPE_ "Content-Type: "
00415 
00420 #define AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPE "User_Content_Type"
00421 
00425 #define AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY "boundary"
00426 
00430 #define AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODING \
00431                                     "Content-Transfer-Encoding"
00432 
00436 #define AXIS2_HTTP_HEADER_CONTENT_LENGTH "Content-Length"
00437 
00441 #define AXIS2_HTTP_HEADER_CONTENT_LANGUAGE "Content-Language"
00442 
00443 #define AXIS2_HTTP_HEADER_CONTENT_LENGTH_ "Content-Length: "
00444 
00448 #define AXIS2_HTTP_HEADER_CONTENT_LOCATION "Content-Location"
00449 
00453 #define AXIS2_HTTP_HEADER_CONTENT_ID "Content-Id"
00454 
00458 #define AXIS2_HTTP_HEADER_SOAP_ACTION "SOAPAction"
00459 #define AXIS2_HTTP_HEADER_SOAP_ACTION_ "SOAPAction: "
00460 
00464 #define AXIS2_HTTP_HEADER_AUTHORIZATION "Authorization"
00465 
00469 #define AXIS2_HTTP_HEADER_WWW_AUTHENTICATE "WWW-Authenticate"
00470 
00474 #define AXIS2_HTTP_HEADER_PROXY_AUTHENTICATE "Proxy-Authenticate"
00475 
00479 #define AXIS2_HTTP_HEADER_PROXY_AUTHORIZATION "Proxy-Authorization"
00480 
00484 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM "realm"
00485 
00489 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAIN "domain"
00490 
00494 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE "nonce"
00495 
00499 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE "opaque"
00500 
00504 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALE "stale"
00505 
00509 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHM "algorithm"
00510 
00514 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP "qop"
00515 
00519 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME "username"
00520 
00524 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI "uri"
00525 
00529 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE "response"
00530 
00534 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT "nc"
00535 
00539 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE "cnonce"
00540 
00544 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE "00000001"
00545 
00549 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH "auth"
00550 
00554 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INT "auth-int"
00555 
00559 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUE "true"
00560 
00564 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSE "false"
00565 
00569 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5 "MD5"
00570 
00574 #define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESS "MD5-sess"
00575 
00579 #define AXIS2_HTTP_HEADER_EXPECT "Expect"
00580 
00584 #define AXIS2_HTTP_HEADER_EXPECT_100_CONTINUE "100-continue"
00585 
00589 #define AXIS2_HTTP_HEADER_USER_AGENT "User-Agent"
00590 
00594 #define AXIS2_HTTP_HEADER_USER_AGENT_AXIS2C "User-Agent: Axis2C/" AXIS2_VERSION_STRING
00595 
00599 #define AXIS2_HTTP_HEADER_SERVER "Server"
00600 
00604 #define AXIS2_HTTP_HEADER_DATE "Date"
00605 
00609 #define AXIS2_HTTP_HEADER_SERVER_AXIS2C "Axis2C/" AXIS2_VERSION_STRING
00610 
00611 #define AXIS2_HTTP_HEADER_ACCEPT_ "Accept: "
00612 
00613 #define AXIS2_HTTP_HEADER_EXPECT_ "Expect: "
00614 
00618 #define AXIS2_HTTP_HEADER_CACHE_CONTROL "Cache-Control"
00619 
00623 #define AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHE "no-cache"
00624 
00628 #define AXIS2_HTTP_HEADER_PRAGMA "Pragma"
00629 
00633 #define AXIS2_HTTP_HEADER_LOCATION "Location"
00634 
00638 #define AXIS2_HTTP_REQUEST_HEADERS "HTTP-Request-Headers"
00639 
00643 #define AXIS2_HTTP_RESPONSE_HEADERS "HTTP-Response-Headers"
00644 
00645     /* http 1.1 */
00646 
00650 #define AXIS2_HTTP_HEADER_TRANSFER_ENCODING "Transfer-Encoding"
00651 
00655 #define AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED "chunked"
00656 
00660 #define AXIS2_HTTP_HEADER_CONNECTION "Connection"
00661 
00665 #define AXIS2_HTTP_HEADER_CONNECTION_CLOSE "close"
00666 
00670 #define AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVE "Keep-Alive"
00671 
00675 #define AXIS2_HTTP_HEADER_ACCEPT "Accept"
00676 
00680 #define AXIS2_HTTP_HEADER_ACCEPT_CHARSET "Accept-Charset"
00681 
00685 #define AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE "Accept-Language"
00686 
00690 #define AXIS2_HTTP_HEADER_ALLOW "Allow"
00691 
00695 #define AXIS2_HTTP_HEADER_ACCEPT_ALL "*/*"
00696 
00700 #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALL "text/*"
00701 
00705 #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN "text/plain"
00706 
00710 #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML "text/html"
00711 
00715 #define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XML "application/xml"
00716 
00720 #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML "text/xml"
00721 
00725 #define AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP "application/soap+xml"
00726 
00730 #define AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODED "application/x-www-form-urlencoded"
00731 
00735 #define AXIS2_HTTP_HEADER_ACCEPT_XOP_XML AXIOM_MIME_TYPE_XOP_XML
00736 
00740 #define AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED AXIOM_MIME_TYPE_MULTIPART_RELATED
00741 
00745 #define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIME "application/dime"
00746 
00750 #define AXIS2_HTTP_HEADER_COOKIE "Cookie"
00751 
00755 #define AXIS2_HTTP_HEADER_COOKIE2 "Cookie2"
00756 
00760 #define AXIS2_HTTP_HEADER_SET_COOKIE "Set-Cookie"
00761 
00765 #define AXIS2_HTTP_HEADER_SET_COOKIE2 "Set-Cookie2"
00766 
00770 #define AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING "iso-8859-1"
00771 
00775 #define AXIS2_HTTP_RESPONSE_OK "200 OK"
00776 
00780 #define AXIS2_HTTP_RESPONSE_NOCONTENT "202 OK";
00781 
00785 #define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED "401 Unauthorized"
00786 
00787 
00791 #define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN "403 Forbidden"
00792 
00796 #define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED "407 Proxy Authentication Required"
00797 
00801 #define AXIS2_HTTP_RESPONSE_BAD_REQUEST "400 Bad Request"
00802 
00806 #define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR "500 Internal Server Error"
00807 
00811 #define AXIS2_HTTP_REQ_TYPE "HTTP_REQ_TYPE"
00812 
00816 #define AXIS2_HTTP_SO_TIMEOUT "SO_TIMEOUT"
00817 
00821 #define AXIS2_HTTP_CONNECTION_TIMEOUT "CONNECTION_TIMEOUT"
00822 
00826 #define AXIS2_HTTP_DEFAULT_SO_TIMEOUT 60000
00827 
00831 #define AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT 60000
00832 
00833 #define AXIS2_HTTP_PROXY "PROXY"
00834 
00838 #define AXIS2_HTTP_ISO_8859_1 "ISO-8859-1"
00839 
00843 #define AXIS2_HTTP_DEFAULT_CONTENT_CHARSET "ISO-8859-1"
00844 
00848 #define AXIS2_TRANSPORT_HTTP "http"
00849 
00853 #define AXIS2_RESPONSE_WRITTEN "CONTENT_WRITTEN"
00854 
00858 #define MTOM_RECIVED_CONTENT_TYPE "MTOM_RECEIVED"
00859 
00863 #define AXIS2_HTTP_AUTHENTICATION "HTTP-Authentication"
00864 
00868 #define AXIS2_HTTP_AUTHENTICATION_USERNAME "username"
00869 
00873 #define AXIS2_HTTP_AUTHENTICATION_PASSWORD "password"
00874 
00878 #define AXIS2_HTTP_PROXY "PROXY"
00879 
00883 #define AXIS2_HTTP_PROXY_HOST "proxy_host"
00884 
00888 #define AXIS2_HTTP_PROXY_PORT "proxy_port"
00889 
00893 #define AXIS2_HTTP_PROXY_USERNAME "proxy_username"
00894 
00898 #define AXIS2_HTTP_PROXY_PASSWORD "proxy_password"
00899 
00900 
00901 #define AXIS2_HTTP_PROXY_API "PROXY_API"
00902 
00906 #define AXIS2_HTTP_METHOD "HTTP_METHOD"
00907 
00911 #define AXIS2_SSL_SERVER_CERT "SERVER_CERT"
00912 
00916 #define AXIS2_SSL_KEY_FILE "KEY_FILE"
00917 
00921 #define AXIS2_SSL_PASSPHRASE "SSL_PASSPHRASE"
00922 
00926 #define AXIS2_HTTP_AUTH_UNAME "HTTP_AUTH_USERNAME"
00927 
00931 #define AXIS2_HTTP_AUTH_PASSWD "HTTP_AUTH_PASSWD"
00932 
00936 #define AXIS2_PROXY_AUTH_UNAME "PROXY_AUTH_USERNAME"
00937 
00941 #define AXIS2_PROXY_AUTH_PASSWD "PROXY_AUTH_PASSWD"
00942 
00943 
00944     /*#define AXIS2_HTTP_AUTH_TYPE "HTTP_AUTH_TYPE"*/
00945 
00949 #define AXIS2_HTTP_AUTH_TYPE_BASIC "Basic"
00950 
00954 #define AXIS2_HTTP_AUTH_TYPE_DIGEST "Digest"
00955 
00959 #define AXIS2_PROXY_AUTH_TYPE_BASIC "Basic"
00960 
00964 #define AXIS2_PROXY_AUTH_TYPE_DIGEST "Digest"
00965 
00966 
00970 #define AXIS2_HTTP_TRANSPORT_ERROR "http_transport_error"
00971 
00975 #define AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPE "415 Unsupported Media Type\r\n"
00976 
00981 #define AXIS2_TRANSPORT_HEADER_PROPERTY "HTTP_HEADER_PROPERTY"
00982 
00983 
00984 #define AXIS2_TRANSPORT_URL_HTTPS "HTTPS"
00985 
00986 #define AXIS2_Q_MARK_STR "?"
00987 
00988 #define AXIS2_Q_MARK '?'
00989 
00990 #define AXIS2_H_MARK '#'
00991 
00992 #define AXIS2_ALL "ALL"
00993 
00994 #define AXIS2_USER_AGENT "Axis2C/" AXIS2_VERSION_STRING
00995 
00996 #define AXIS2_AND_SIGN "&"
00997 
00998 #define AXIS2_ESC_DOUBLE_QUOTE '\"'
00999 
01000 #define AXIS2_ESC_DOUBLE_QUOTE_STR "\""
01001 
01002 #define AXIS2_ESC_SINGLE_QUOTE '\''
01003 
01004 #define AXIS2_DOUBLE_QUOTE '"'
01005 
01006 #define AXIS2_ESC_NULL '\0'
01007 
01008 #define AXIS2_SEMI_COLON_STR ";"
01009 
01010 #define AXIS2_SEMI_COLON ';'
01011 
01012 #define AXIS2_COLON ':'
01013 
01014 #define AXIS2_COLON_STR ":"
01015 
01016 #define AXIS2_CONTENT_TYPE_ACTION ";action=\""
01017 
01018 #define AXIS2_CONTENT_TYPE_CHARSET ";charset="
01019 
01020 #define AXIS2_CHARSET "charset"
01021 
01022 #define AXIS2_PORT_STRING "port"
01023 
01024 #define AXIS2_DEFAULT_HOST_ADDRESS "127.0.0.1"
01025 
01026 #define AXIS2_DEFAULT_SVC_PATH "/axis2/services/"
01027 
01028 #define AXIS2_HTTP_PROTOCOL "http"
01029 
01030 #define AXIS2_HTTP "HTTP"
01031 
01032 #define AXIS2_SPACE_COMMA " ,"
01033 
01034 #define AXIS2_COMMA ','
01035 
01036 #define AXIS2_Q 'q'
01037 
01038 #define AXIS2_EQ_N_SEMICOLON " =;"
01039 
01040 #define AXIS2_LEVEL "level"
01041 
01042 #define AXIS2_SPACE_SEMICOLON " ;"
01043 
01044 #define AXIS2_SPACE ' '
01045 
01046 #define AXIS2_RETURN '\r'
01047 
01048 #define AXIS2_NEW_LINE '\n'
01049 
01050 #define AXIS2_F_SLASH '/'
01051 
01052 #define AXIS2_B_SLASH '\\'
01053 
01054 #define AXIS2_EQ '='
01055 
01056 #define AXIS2_AND '&'
01057 
01058 #define AXIS2_PERCENT '%'
01059 
01060 #define AXIS2_HTTP_SERVER " (Simple Axis2 HTTP Server)"
01061 
01062 #define AXIS2_COMMA_SPACE_STR ", "
01063 
01064 #define AXIS2_SPACE_TAB_EQ " \t="
01065 
01066 #define AXIS2_ACTION "action"
01067 
01068     /* Error Messages */
01069 
01070 #define AXIS2_HTTP_NOT_FOUND "<html><head><title>404 Not Found</title></head>\
01071  <body><h2>Not Found</h2><p>The requested URL was not found on this server.\
01072 </p></body></html>"  
01073 
01074 
01075 #define AXIS2_HTTP_NOT_IMPLEMENTED "<html><head><title>501 Not Implemented\
01076 </title></head><body><h2>Not Implemented</h2><p>The requested Method is not\
01077 implemented on this server.</p></body></html>"
01078 
01079 
01080 #define AXIS2_HTTP_INTERNAL_SERVER_ERROR "<html><head><title>500 Internal Server\
01081  Error</title></head><body><h2>Internal Server Error</h2><p>The server \
01082 encountered an unexpected condition which prevented it from fulfilling the \
01083 request.</p></body></html>"
01084 
01085 
01086 #define AXIS2_HTTP_METHOD_NOT_ALLOWED "<html><head><title>405 Method Not Allowed\
01087 </title></head><body><h2>Method Not Allowed</h2><p>The requested method is not\
01088 allowed for this URL.</p></body></html>"
01089 
01090 #define AXIS2_HTTP_NOT_ACCEPTABLE "<html><head><title>406 Not Acceptable\
01091 </title></head><body><h2>Not Acceptable</h2><p>An appropriate representation of \
01092 the requested resource could not be found on this server.</p></body></html>"
01093 
01094 #define AXIS2_HTTP_BAD_REQUEST "<html><head><title>400 Bad Request</title>\
01095 </head><body><h2>Bad Request</h2><p>Your client sent a request that this server\
01096  could not understand.</p></body></html>"
01097 
01098 #define AXIS2_HTTP_REQUEST_TIMEOUT "<html><head><title>408 Request Timeout\
01099 </title></head><body><h2>Request Timeout</h2><p>Cannot wait any longer for \
01100 the HTTP request from the client.</p></body></html>" 
01101 
01102 #define AXIS2_HTTP_CONFLICT "<html><head><title>409 Conflict</title></head>\
01103 <body><h2>Conflict</h2><p>The client attempted to put the server\'s resources\
01104  into an invalid state.</p></body></html>"
01105 
01106 #define AXIS2_HTTP_GONE "<html><head><title>410 Gone</title></head><body>\
01107 <h2>Gone</h2><p>The requested resource is no longer available on this server.\
01108 </p></body></html>"
01109 
01110 #define AXIS2_HTTP_PRECONDITION_FAILED "<html><head><title>412 Precondition \
01111 Failed</title></head><body><h2>Precondition Failed</h2><p>A precondition for\
01112  the requested URL failed.</p></body></html>"
01113 
01114 #define AXIS2_HTTP_TOO_LARGE "<html><head><title>413 Request Entity Too Large\
01115 </title></head><body><h2>Request Entity Too Large</h2><p>The data provided in\
01116  the request is too large or the requested resource does not allow request \
01117 data.</p></body></html>"
01118 
01119 #define AXIS2_HTTP_SERVICE_UNAVILABLE "<html><head><title>503 Service \
01120 Unavailable</title></head><body><h2>Service Unavailable</h2><p>The service\
01121  is temporarily unable to serve your request.</p></body></html>"
01122 
01125 #ifdef __cplusplus
01126 }
01127 #endif
01128 #endif                          /* AXIS2_HTTP_TRANSPORT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__config_8h-source.html0000644000175000017500000001362511172017604025064 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_config.h Source File

axutil_config.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_CONFIG_H
00020 #define AXUTIL_CONFIG_H
00021 
00022 /* undef unwated cnfig macros to avoid conflicts with APR macros */
00023 #undef PACKAGE
00024 #undef PACKAGE_BUGREPORT
00025 #undef PACKAGE_NAME
00026 #undef PACKAGE_STRING
00027 #undef PACKAGE_TARNAME
00028 #undef PACKAGE_VERSION
00029 #undef VERSION
00030 
00031 #include <config.h>
00032 
00033 /* undef unwated cnfig macros to avoid conflicts with APR macros */
00034 #undef PACKAGE
00035 #undef PACKAGE_BUGREPORT
00036 #undef PACKAGE_NAME
00037 #undef PACKAGE_STRING
00038 #undef PACKAGE_TARNAME
00039 #undef PACKAGE_VERSION
00040 #undef VERSION
00041 
00042 #endif                          /* AXIS2_UTILS_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__policy_8h-source.html0000644000175000017500000003046611172017604025066 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_policy.h Source File

neethi_policy.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_POLICY_H
00020 #define NEETHI_POLICY_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_operator.h>
00030 #include <neethi_includes.h>
00031 #include <neethi_exactlyone.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00038     typedef struct neethi_policy_t neethi_policy_t;
00039 
00040     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00041     neethi_policy_create(
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN void AXIS2_CALL
00045     neethi_policy_free(
00046         neethi_policy_t * neethi_policy,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00050     neethi_policy_get_policy_components(
00051         neethi_policy_t * neethi_policy,
00052         const axutil_env_t * env);
00053 
00054     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00055     neethi_policy_add_policy_components(
00056         neethi_policy_t * neethi_policy,
00057         axutil_array_list_t * arraylist,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     neethi_policy_add_operator(
00062         neethi_policy_t * neethi_policy,
00063         const axutil_env_t * env,
00064         neethi_operator_t * op);
00065 
00066     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067     neethi_policy_is_empty(
00068         neethi_policy_t * neethi_policy,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL
00072     neethi_policy_get_exactlyone(
00073         neethi_policy_t * normalized_neethi_policy,
00074         const axutil_env_t * env);
00075 
00076     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00077     neethi_policy_get_alternatives(
00078         neethi_policy_t * neethi_policy,
00079         const axutil_env_t * env);
00080 
00081     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00082     neethi_policy_get_name(
00083         neethi_policy_t * neethi_policy,
00084         const axutil_env_t * env);
00085 
00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087     neethi_policy_set_name(
00088         neethi_policy_t * neethi_policy,
00089         const axutil_env_t * env,
00090         axis2_char_t * name);
00091 
00092     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00093     neethi_policy_get_id(
00094         neethi_policy_t * neethi_policy,
00095         const axutil_env_t * env);
00096 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     neethi_policy_set_id(
00099         neethi_policy_t * neethi_policy,
00100         const axutil_env_t * env,
00101         axis2_char_t * id);
00102 
00103     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00104     neethi_policy_serialize(
00105         neethi_policy_t * neethi_policy,
00106         axiom_node_t * parent,
00107         const axutil_env_t * env);
00108 
00109     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00110     neethi_policy_set_root_node(
00111         neethi_policy_t * policy,
00112         const axutil_env_t * env,
00113         axiom_node_t * root_node);
00114 
00115     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00116     neethi_policy_get_attributes(
00117         neethi_policy_t *neethi_policy,
00118         const axutil_env_t *env);
00119 
00120 
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 
00126 #endif                          /* NEETHI_POLICY_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__thread__pool_8h-source.html0000644000175000017500000002244111172017604026252 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_thread_pool.h Source File

axutil_thread_pool.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_THREAD_POOL_H
00020 #define AXUTIL_THREAD_POOL_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_allocator.h>
00029 #include <axutil_thread.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00042     typedef struct axutil_thread_pool axutil_thread_pool_t;
00043     struct axutil_env;
00044 
00051     AXIS2_EXTERN axutil_thread_t *AXIS2_CALL
00052     axutil_thread_pool_get_thread(
00053         axutil_thread_pool_t * pool,
00054         axutil_thread_start_t func,
00055         void *data);
00056 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     axutil_thread_pool_join_thread(
00064         axutil_thread_pool_t * pool,
00065         axutil_thread_t * thd);
00066 
00072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00073     axutil_thread_pool_exit_thread(
00074         axutil_thread_pool_t * pool,
00075         axutil_thread_t * thd);
00076 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     axutil_thread_pool_thread_detach(
00084         axutil_thread_pool_t * pool,
00085         axutil_thread_t * thd);
00086 
00091     AXIS2_EXTERN void AXIS2_CALL
00092     axutil_thread_pool_free(
00093         axutil_thread_pool_t * pool);
00094 
00100     AXIS2_EXTERN axutil_thread_pool_t *AXIS2_CALL
00101     axutil_thread_pool_init(
00102         axutil_allocator_t * allocator);
00103 
00108     AXIS2_EXTERN struct axutil_env *AXIS2_CALL
00109                 axutil_init_thread_env(
00110                     const struct axutil_env *system_env);
00111 
00116     AXIS2_EXTERN void AXIS2_CALL
00117     axutil_free_thread_env(
00118         struct axutil_env *thread_env);
00119 
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 
00126 #endif                          /* AXIS2_THREAD_POOL_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc__name.html0000644000175000017500000004065511172017604024752 0ustar00manjulamanjula00000000000000 Axis2/C: service name

service name
[WS-Addressing]


Files

file  axis2_svc_name.h

Typedefs

typedef struct
axis2_svc_name 
axis2_svc_name_t

Functions

AXIS2_EXTERN
axis2_svc_name_t
axis2_svc_name_create (const axutil_env_t *env, const axutil_qname_t *qname, const axis2_char_t *endpoint_name)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_svc_name_get_qname (const axis2_svc_name_t *svc_name, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_name_set_qname (struct axis2_svc_name *svc_name, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_name_get_endpoint_name (const axis2_svc_name_t *svc_name, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_name_set_endpoint_name (struct axis2_svc_name *svc_name, const axutil_env_t *env, const axis2_char_t *endpoint_name)
AXIS2_EXTERN void axis2_svc_name_free (struct axis2_svc_name *svc_name, const axutil_env_t *env)

Detailed Description

service name provides a full description of the service endpoint. service name contains a QName identifying the WSDL service element that contains the definition of the endpoint being conveyed. It also contains an optional non-qualified name that identifies the specific port in the service that corresponds to the endpoint.

Typedef Documentation

typedef struct axis2_svc_name axis2_svc_name_t

Type name for struct axis2_svc_name


Function Documentation

AXIS2_EXTERN axis2_svc_name_t* axis2_svc_name_create ( const axutil_env_t env,
const axutil_qname_t *  qname,
const axis2_char_t *  endpoint_name 
)

Creates a service name struct with given QName and endpoint name.

Parameters:
env pointer to environment struct
qname pointer to QName, this method creates a clone of QName
endpoint_name endpoint name string
Returns:
pointer to newly create service name struct

AXIS2_EXTERN void axis2_svc_name_free ( struct axis2_svc_name *  svc_name,
const axutil_env_t env 
)

Frees service name struct.

Parameters:
svc_name pointer to service name struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN const axis2_char_t* axis2_svc_name_get_endpoint_name ( const axis2_svc_name_t svc_name,
const axutil_env_t env 
)

Gets endpoint name. Endpoint name is a non-qualified name that identifies the specific port in the service that corresponds to the endpoint.

Parameters:
svc_name pointer to service name struct
env pointer to environment struct
Returns:
endpoint name string

AXIS2_EXTERN const axutil_qname_t* axis2_svc_name_get_qname ( const axis2_svc_name_t svc_name,
const axutil_env_t env 
)

Gets QName. QName identifies the WSDL service element that contains the definition of the endpoint being conveyed.

Parameters:
svc_name pointer to service name struct
env pointer to environment struct
Returns:
pointer to QName struct, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t axis2_svc_name_set_endpoint_name ( struct axis2_svc_name *  svc_name,
const axutil_env_t env,
const axis2_char_t *  endpoint_name 
)

Sets endpoint name. Endpoint name is a non-qualified name that identifies the specific port in the service that corresponds to the endpoint.

Parameters:
svc_name pointer to service name struct
env pointer to environment struct
endpoint_name endpoint name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_name_set_qname ( struct axis2_svc_name *  svc_name,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Sets QName. QName identifies the WSDL service element that contains the definition of the endpoint being conveyed.

Parameters:
svc_name pointer to service name struct
env pointer to environment struct
qname pointer to QName, service name creates a clone of QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__transport__binding__builder.html0000644000175000017500000000426211172017604030137 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_transport_binding_builder

Rp_transport_binding_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_transport_binding_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__attribute_8h-source.html0000644000175000017500000003665511172017604025441 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_attribute.h Source File

axiom_attribute.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIOM_ATTRIBUTE_H
00020 #define AXIOM_ATTRIBUTE_H
00021 
00026 #include <axutil_env.h>
00027 #include <axutil_qname.h>
00028 #include <axiom_namespace.h>
00029 #include <axiom_output.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00042     typedef struct axiom_attribute axiom_attribute_t;
00043 
00053     AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
00054     axiom_attribute_create(
00055         const axutil_env_t * env,
00056         const axis2_char_t * localname,
00057         const axis2_char_t * value,
00058         axiom_namespace_t * ns);
00059 
00068     AXIS2_EXTERN void AXIS2_CALL
00069     axiom_attribute_free_void_arg(
00070         void *om_attribute,
00071         const axutil_env_t * env);
00072 
00079     AXIS2_EXTERN void AXIS2_CALL
00080     axiom_attribute_free(
00081         struct axiom_attribute *om_attribute,
00082         const axutil_env_t * env);
00083 
00092     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
00093     axiom_attribute_get_qname(
00094         struct axiom_attribute *om_attribute,
00095         const axutil_env_t * env);
00096 
00105     AXIS2_EXTERN int AXIS2_CALL
00106     axiom_attribute_serialize(
00107         struct axiom_attribute *om_attribute,
00108         const axutil_env_t * env,
00109         axiom_output_t * om_output);
00110 
00116     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00117     axiom_attribute_get_localname(
00118         struct axiom_attribute *om_attribute,
00119         const axutil_env_t * env);
00120 
00127     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00128     axiom_attribute_get_value(
00129         struct axiom_attribute *om_attribute,
00130         const axutil_env_t * env);
00131 
00138     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00139     axiom_attribute_get_namespace(
00140         struct axiom_attribute *om_attribute,
00141         const axutil_env_t * env);
00142 
00149     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00150     axiom_attribute_set_localname(
00151         struct axiom_attribute *om_attribute,
00152         const axutil_env_t * env,
00153         const axis2_char_t * localname);
00154 
00162     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00163     axiom_attribute_set_value(
00164         struct axiom_attribute *om_attribute,
00165         const axutil_env_t * env,
00166         const axis2_char_t * value);
00167 
00175     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176     axiom_attribute_set_namespace(
00177         struct axiom_attribute *om_attribute,
00178         const axutil_env_t * env,
00179         axiom_namespace_t * om_namespace);
00180 
00188     AXIS2_EXTERN struct axiom_attribute *AXIS2_CALL
00189                 axiom_attribute_clone(
00190                     struct axiom_attribute *om_attribute,
00191                     const axutil_env_t * env);
00192 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199     axiom_attribute_increment_ref(
00200         struct axiom_attribute *om_attribute,
00201         const axutil_env_t * env);
00202 
00208     AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
00209     axiom_attribute_create_str(
00210         const axutil_env_t * env,
00211         axutil_string_t * localname,
00212         axutil_string_t * value,
00213         axiom_namespace_t * ns);
00214 
00220     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00221     axiom_attribute_get_localname_str(
00222         axiom_attribute_t * attribute,
00223         const axutil_env_t * env);
00224 
00230     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00231     axiom_attribute_get_value_str(
00232         axiom_attribute_t * attribute,
00233         const axutil_env_t * env);
00234 
00240     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00241     axiom_attribute_set_localname_str(
00242         axiom_attribute_t * attribute,
00243         const axutil_env_t * env,
00244         axutil_string_t * localname);
00245 
00251     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00252     axiom_attribute_set_value_str(
00253         axiom_attribute_t * attribute,
00254         const axutil_env_t * env,
00255         axutil_string_t * value);
00256 
00259 #ifdef __cplusplus
00260 }
00261 #endif
00262 
00263 #endif                          /* AXIOM_ATTRIBUTE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__worker_8h.html0000644000175000017500000001233411172017604024544 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_worker.h File Reference

axis2_http_worker.h File Reference

axis2 HTTP Worker More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_simple_http_svr_conn.h>
#include <axis2_http_simple_response.h>
#include <axis2_http_simple_request.h>
#include <axis2_conf_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_worker 
axis2_http_worker_t

Functions

AXIS2_EXTERN axis2_bool_t axis2_http_worker_process_request (axis2_http_worker_t *http_worker, const axutil_env_t *env, axis2_simple_http_svr_conn_t *svr_conn, axis2_http_simple_request_t *simple_request)
AXIS2_EXTERN
axis2_status_t 
axis2_http_worker_set_svr_port (axis2_http_worker_t *http_worker, const axutil_env_t *env, int port)
AXIS2_EXTERN void axis2_http_worker_free (axis2_http_worker_t *http_worker, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_worker_t
axis2_http_worker_create (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)


Detailed Description

axis2 HTTP Worker


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__value_8h.html0000644000175000017500000001243611172017604025756 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_value.h File Reference

axiom_soap_fault_value.h File Reference

axiom_soap_fault_value More...

#include <axutil_env.h>
#include <axiom_soap_fault.h>
#include <axiom_soap_fault_sub_code.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_value 
axiom_soap_fault_value_t

Functions

AXIS2_EXTERN
axiom_soap_fault_value_t * 
axiom_soap_fault_value_create_with_subcode (const axutil_env_t *env, axiom_soap_fault_sub_code_t *parent)
AXIS2_EXTERN
axiom_soap_fault_value_t * 
axiom_soap_fault_value_create_with_code (const axutil_env_t *env, axiom_soap_fault_code_t *parent)
AXIS2_EXTERN void axiom_soap_fault_value_free (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_value_get_text (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_value_get_base_node (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_value_set_text (axiom_soap_fault_value_t *fault_value, const axutil_env_t *env, axis2_char_t *text)


Detailed Description

axiom_soap_fault_value


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__output.html0000644000175000017500000011373111172017604024443 0ustar00manjulamanjula00000000000000 Axis2/C: output

output
[AXIOM]


Typedefs

typedef struct
axiom_output 
axiom_output_t
 output struct The XML writer interface struct of om

Functions

AXIS2_EXTERN
axiom_output_t
axiom_output_create (const axutil_env_t *env, axiom_xml_writer_t *xml_writer)
AXIS2_EXTERN
axis2_status_t 
axiom_output_write (axiom_output_t *om_output, const axutil_env_t *env, axiom_types_t type, int no_of_args,...)
AXIS2_EXTERN
axis2_status_t 
axiom_output_write_optimized (axiom_output_t *om_output, const axutil_env_t *env, struct axiom_text *om_text)
AXIS2_EXTERN void axiom_output_free (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_output_is_soap11 (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_output_is_ignore_xml_declaration (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_output_set_ignore_xml_declaration (axiom_output_t *om_output, const axutil_env_t *env, axis2_bool_t ignore_xml_dec)
AXIS2_EXTERN
axis2_status_t 
axiom_output_set_soap11 (axiom_output_t *om_output, const axutil_env_t *env, axis2_bool_t soap11)
AXIS2_EXTERN
axis2_status_t 
axiom_output_set_xml_version (axiom_output_t *om_output, const axutil_env_t *env, axis2_char_t *xml_version)
AXIS2_EXTERN
axis2_char_t * 
axiom_output_get_xml_version (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_output_set_char_set_encoding (axiom_output_t *om_output, const axutil_env_t *env, axis2_char_t *char_set_encoding)
AXIS2_EXTERN
axis2_char_t * 
axiom_output_get_char_set_encoding (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_output_set_do_optimize (axiom_output_t *om_output, const axutil_env_t *env, axis2_bool_t optimize)
AXIS2_EXTERN
axiom_xml_writer_t
axiom_output_get_xml_writer (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axiom_output_get_content_type (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_output_write_xml_version_encoding (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_output_is_optimized (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_output_get_next_content_id (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_output_get_root_content_id (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_output_get_mime_boundry (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_output_flush (axiom_output_t *om_output, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axiom_output_get_mime_parts (axiom_output_t *om_output, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_output_t* axiom_output_create ( const axutil_env_t env,
axiom_xml_writer_t xml_writer 
)

Creates AXIOM output struct

Parameters:
env Environment. MUST NOT be NULL, .
xml_writer XML writer. OM output takes ownership of the xml_writer.
Returns:
a pointer to newly created output struct.

AXIS2_EXTERN void axiom_output_free ( axiom_output_t om_output,
const axutil_env_t env 
)

Free om_output

Parameters:
om_output om_output struct
env environment
Returns:
status code AXIS2_SUCCESS on success, AXIS2_FAILURE otherwise

AXIS2_EXTERN axis2_char_t* axiom_output_get_char_set_encoding ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns:
the char set encoding property

AXIS2_EXTERN const axis2_char_t* axiom_output_get_content_type ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns the content type for soap11 'text/xml' etc..

Parameters:
om_output 
env environemnt
Returns:
content id

AXIS2_EXTERN axis2_char_t* axiom_output_get_next_content_id ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns the next content id

AXIS2_EXTERN axis2_char_t* axiom_output_get_root_content_id ( axiom_output_t om_output,
const axutil_env_t env 
)

root content id

AXIS2_EXTERN axis2_char_t* axiom_output_get_xml_version ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns:
xml version property

AXIS2_EXTERN axiom_xml_writer_t* axiom_output_get_xml_writer ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns the xml writer

AXIS2_EXTERN axis2_bool_t axiom_output_is_ignore_xml_declaration ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns:
true if the ignore_xml_declaration property is true

AXIS2_EXTERN axis2_bool_t axiom_output_is_optimized ( axiom_output_t om_output,
const axutil_env_t env 
)

Returns:
whether the output is to be optimized

AXIS2_EXTERN axis2_bool_t axiom_output_is_soap11 ( axiom_output_t om_output,
const axutil_env_t env 
)

If the xml to be serialized is soap 11, this property is set to true

Parameters:
om_output pointer to om_output struct
env environment must not be NULL
Returns:
the output soap version

AXIS2_EXTERN axis2_status_t axiom_output_set_char_set_encoding ( axiom_output_t om_output,
const axutil_env_t env,
axis2_char_t *  char_set_encoding 
)

Sets the char set encoding property

AXIS2_EXTERN axis2_status_t axiom_output_set_do_optimize ( axiom_output_t om_output,
const axutil_env_t env,
axis2_bool_t  optimize 
)

Sets the do optimize property true

AXIS2_EXTERN axis2_status_t axiom_output_set_ignore_xml_declaration ( axiom_output_t om_output,
const axutil_env_t env,
axis2_bool_t  ignore_xml_dec 
)

Sets the ignore_xml_declaration property is true

AXIS2_EXTERN axis2_status_t axiom_output_set_soap11 ( axiom_output_t om_output,
const axutil_env_t env,
axis2_bool_t  soap11 
)

Sets the soap11 property to true

AXIS2_EXTERN axis2_status_t axiom_output_set_xml_version ( axiom_output_t om_output,
const axutil_env_t env,
axis2_char_t *  xml_version 
)

Sets xml_version property

AXIS2_EXTERN axis2_status_t axiom_output_write ( axiom_output_t om_output,
const axutil_env_t env,
axiom_types_t  type,
int  no_of_args,
  ... 
)

Performs xml writing. Accepts variable number of args depending on the on AXIOM type to be serialized

Parameters:
om_output Output struct to be used
env Environment. MUST NOT be NULL,
type one of the AXIOM types
no_of_args number of arguments passed in the variable parameter list
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_output_write_xml_version_encoding ( axiom_output_t om_output,
const axutil_env_t env 
)

Writes the xml versio encoding


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__protection__token__builder.html0000644000175000017500000000425511172017604030001 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_protection_token_builder

Rp_protection_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_protection_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tabs.css0000644000175000017500000000333611172017604020750 0ustar00manjulamanjula00000000000000/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */ DIV.tabs { float : left; width : 100%; background : url("tab_b.gif") repeat-x bottom; margin-bottom : 4px; } DIV.tabs UL { margin : 0px; padding-left : 10px; list-style : none; } DIV.tabs LI, DIV.tabs FORM { display : inline; margin : 0px; padding : 0px; } DIV.tabs FORM { float : right; } DIV.tabs A { float : left; background : url("tab_r.gif") no-repeat right top; border-bottom : 1px solid #84B0C7; font-size : x-small; font-weight : bold; text-decoration : none; } DIV.tabs A:hover { background-position: 100% -150px; } DIV.tabs A:link, DIV.tabs A:visited, DIV.tabs A:active, DIV.tabs A:hover { color: #1A419D; } DIV.tabs SPAN { float : left; display : block; background : url("tab_l.gif") no-repeat left top; padding : 5px 9px; white-space : nowrap; } DIV.tabs INPUT { float : right; display : inline; font-size : 1em; } DIV.tabs TD { font-size : x-small; font-weight : bold; text-decoration : none; } /* Commented Backslash Hack hides rule from IE5-Mac \*/ DIV.tabs SPAN {float : none;} /* End IE5-Mac hack */ DIV.tabs A:hover SPAN { background-position: 0% -150px; } DIV.tabs LI.current A { background-position: 100% -150px; border-width : 0px; } DIV.tabs LI.current SPAN { background-position: 0% -150px; padding-bottom : 6px; } DIV.nav { background : none; border : none; border-bottom : 1px solid #84B0C7; } axis2c-src-1.6.0/docs/api/html/rp__symmetric__binding__builder_8h-source.html0000644000175000017500000001241411172017604030437 0ustar00manjulamanjula00000000000000 Axis2/C: rp_symmetric_binding_builder.h Source File

rp_symmetric_binding_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SYMMETRIC_BINDING_BUILDER_H
00019 #define RP_SYMMETRIC_BINDING_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_symmetric_binding.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_symmetric_binding_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__header__block.html0000644000175000017500000007535211172017604027033 0ustar00manjulamanjula00000000000000 Axis2/C: soap header block

soap header block
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_header_block_t * 
axiom_soap_header_block_create_with_parent (const axutil_env_t *env, const axis2_char_t *localname, axiom_namespace_t *ns, struct axiom_soap_header *parent)
AXIS2_EXTERN void axiom_soap_header_block_free (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_role (axiom_soap_header_block_t *header_block, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_must_understand_with_bool (axiom_soap_header_block_t *header_block, const axutil_env_t *env, axis2_bool_t must_understand)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_must_understand_with_string (axiom_soap_header_block_t *header_block, const axutil_env_t *env, axis2_char_t *must_understand)
AXIS2_EXTERN axis2_bool_t axiom_soap_header_block_get_must_understand (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_soap_header_block_is_processed (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_processed (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_header_block_get_role (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_block_set_attribute (axiom_soap_header_block_t *header_block, const axutil_env_t *env, const axis2_char_t *attr_name, const axis2_char_t *attr_value, const axis2_char_t *soap_envelope_namespace_uri)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_header_block_get_attribute (axiom_soap_header_block_t *header_block, const axutil_env_t *env, const axis2_char_t *attr_name, const axis2_char_t *soap_envelope_namespace_uri)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_header_block_get_base_node (axiom_soap_header_block_t *header_block, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_header_block_get_soap_version (axiom_soap_header_block_t *header_block, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_header_block_t* axiom_soap_header_block_create_with_parent ( const axutil_env_t env,
const axis2_char_t *  localname,
axiom_namespace_t *  ns,
struct axiom_soap_header *  parent 
)

creates a soap struct

Parameters:
env Environment. MUST NOT be NULL this is an internal function.
Returns:
the created SOAP header block

AXIS2_EXTERN void axiom_soap_header_block_free ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

Free an axiom_soap_header_block

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axiom_soap_header_block_get_attribute ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env,
const axis2_char_t *  attr_name,
const axis2_char_t *  soap_envelope_namespace_uri 
)

Get the attribute of the header block

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
attr_name the attribute name
the namespace URI of the SOAP envelope
Returns:
the attribute of the header block

AXIS2_EXTERN axiom_node_t* axiom_soap_header_block_get_base_node ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

Get the base node of the header block

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
the base node of the of the header block

AXIS2_EXTERN axis2_bool_t axiom_soap_header_block_get_must_understand ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

To check the SOAP mustunderstand attribute If must_understand=TRUE its set to 1, otherwise set to 0

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_TRUE if mustunderstand is set true. AXIS2_FALSE otherwise

AXIS2_EXTERN axis2_char_t* axiom_soap_header_block_get_role ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

Get the SOAP role of the header block

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
the SOAP role of the header block

AXIS2_EXTERN int axiom_soap_header_block_get_soap_version ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

Get the SOAP version of the header block

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
the SOAP version of the header block

AXIS2_EXTERN axis2_bool_t axiom_soap_header_block_is_processed ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

To chk if the SOAP header is processed or not

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
AXIS2_TRUE if checked AXIS2_FALSE otherwise

AXIS2_EXTERN axis2_status_t axiom_soap_header_block_set_attribute ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env,
const axis2_char_t *  attr_name,
const axis2_char_t *  attr_value,
const axis2_char_t *  soap_envelope_namespace_uri 
)

Set the attribute of the header block

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
attr_name the attribute name
attr_value the attribute value
soap_envelope_namespace_uri the namsepace URI value
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_header_block_set_must_understand_with_bool ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env,
axis2_bool_t  must_understand 
)

Set the mustunderstand attribute of the SOAP header If must_understand=TRUE its set to 1, otherwise set to 0

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
must_understand SOAP mustunderstand attribute value
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_header_block_set_must_understand_with_string ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env,
axis2_char_t *  must_understand 
)

Set the SOAP mustunderstand attribute

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
must_understand SOAP mustunderstand attribute
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_header_block_set_processed ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env 
)

Set the SOAP header as processed

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_header_block_set_role ( axiom_soap_header_block_t *  header_block,
const axutil_env_t env,
axis2_char_t *  uri 
)

Set the SOAP role

Parameters:
header_block pointer to soap_header_block struct
env Environment. MUST NOT be NULL
uri the role URI
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__sub__code_8h.html0000644000175000017500000001251011172017604026555 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_sub_code.h File Reference

axiom_soap_fault_sub_code.h File Reference

axiom_soap_fault_sub_code struct More...

#include <axutil_env.h>
#include <axiom_soap_fault_code.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_sub_code 
axiom_soap_fault_sub_code_t

Functions

AXIS2_EXTERN
axiom_soap_fault_sub_code_t * 
axiom_soap_fault_sub_code_create_with_parent (const axutil_env_t *env, axiom_soap_fault_code_t *fault_code)
AXIS2_EXTERN
axiom_soap_fault_sub_code_t * 
axiom_soap_fault_sub_code_create_with_parent_value (const axutil_env_t *env, axiom_soap_fault_code_t *fault_code, axis2_char_t *value)
AXIS2_EXTERN void axiom_soap_fault_sub_code_free (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)
AXIS2_EXTERN
axiom_soap_fault_sub_code_t * 
axiom_soap_fault_sub_code_get_sub_code (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_value * 
axiom_soap_fault_sub_code_get_value (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_sub_code_get_base_node (axiom_soap_fault_sub_code_t *fault_sub_code, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_sub_code struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__digest__calc_8h.html0000644000175000017500000001210411172017604024710 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_digest_calc.h File Reference

axutil_digest_calc.h File Reference

implements the calculations of H(A1), H(A2), request-digest and response-digest for Axis2 based on rfc2617. More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Defines

#define AXIS2_DIGEST_HASH_LEN   16
#define AXIS2_DIGEST_HASH_HEX_LEN   32

Typedefs

typedef unsigned char axutil_digest_hash_t [AXIS2_DIGEST_HASH_LEN]
typedef unsigned char axutil_digest_hash_hex_t [AXIS2_DIGEST_HASH_HEX_LEN+1]

Functions

AXIS2_EXTERN
axis2_status_t 
axutil_digest_calc_get_h_a1 (const axutil_env_t *env, char *algorithm, char *user_name, char *realm, char *password, char *nonce, char *cnonce, axutil_digest_hash_hex_t session_key)
AXIS2_EXTERN
axis2_status_t 
axutil_digest_calc_get_response (const axutil_env_t *env, axutil_digest_hash_hex_t h_a1, char *nonce, char *nonce_count, char *cnonce, char *qop, char *method, char *digest_uri, axutil_digest_hash_hex_t h_entity, axutil_digest_hash_hex_t response)


Detailed Description

implements the calculations of H(A1), H(A2), request-digest and response-digest for Axis2 based on rfc2617.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__dll__desc.html0000644000175000017500000004475211172017604025212 0ustar00manjulamanjula00000000000000 Axis2/C: DLL description

DLL description
[utilities]


Typedefs

typedef struct
axutil_dll_desc 
axutil_dll_desc_t
typedef int(* CREATE_FUNCT )(void **inst, const axutil_env_t *env)
typedef int(* DELETE_FUNCT )(void *inst, const axutil_env_t *env)
typedef int axis2_dll_type_t

Functions

AXIS2_EXTERN
axutil_dll_desc_t * 
axutil_dll_desc_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_dll_desc_free_void_arg (void *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN void axutil_dll_desc_free (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_name (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_char_t * 
axutil_dll_desc_get_name (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_type (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axis2_dll_type_t type)
AXIS2_EXTERN
axis2_dll_type_t 
axutil_dll_desc_get_type (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_load_options (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, int options)
AXIS2_EXTERN int axutil_dll_desc_get_load_options (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_dl_handler (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, AXIS2_DLHANDLER dl_handler)
AXIS2_EXTERN
AXIS2_DLHANDLER 
axutil_dll_desc_get_dl_handler (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_create_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, CREATE_FUNCT funct)
AXIS2_EXTERN CREATE_FUNCT axutil_dll_desc_get_create_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_delete_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, DELETE_FUNCT funct)
AXIS2_EXTERN DELETE_FUNCT axutil_dll_desc_get_delete_funct (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_timestamp (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, AXIS2_TIME_T timestamp)
AXIS2_EXTERN
axis2_status_t 
axutil_dll_desc_set_error_code (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axutil_error_codes_t error_code)
AXIS2_EXTERN
axutil_error_codes_t 
axutil_dll_desc_get_error_code (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN AXIS2_TIME_T axutil_dll_desc_get_timestamp (axutil_dll_desc_t *dll_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_dll_desc_create_platform_specific_dll_name (axutil_dll_desc_t *dll_desc, const axutil_env_t *env, const axis2_char_t *class_name)

Function Documentation

AXIS2_EXTERN axutil_dll_desc_t* axutil_dll_desc_create ( const axutil_env_t env  ) 

creates dll_desc struct

Parameters:
qname qname, can be NULL

AXIS2_EXTERN axis2_char_t* axutil_dll_desc_create_platform_specific_dll_name ( axutil_dll_desc_t *  dll_desc,
const axutil_env_t env,
const axis2_char_t *  class_name 
)

This function will accept the library name without any platform dependant prefixes or suffixes. It then prefix and suffix platform dependant prefix and suffix macros to the original name and return the platform specific dll name

Parameters:
class_name 
Returns:
platform specific dll name

AXIS2_EXTERN axis2_char_t* axutil_dll_desc_get_name ( axutil_dll_desc_t *  dll_desc,
const axutil_env_t env 
)

Return the path qualified platform specific dll name

AXIS2_EXTERN axis2_status_t axutil_dll_desc_set_name ( axutil_dll_desc_t *  dll_desc,
const axutil_env_t env,
axis2_char_t *  name 
)

Set path qualified platform specific dll name


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__rule_8h-source.html0000644000175000017500000003336111172017604025624 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_rule.h Source File

axis2_phase_rule.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_PHASE_RULE_H
00020 #define AXIS2_PHASE_RULE_H
00021 
00037 #include <axis2_defines.h>
00038 #include <axutil_qname.h>
00039 #include <axutil_param.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00047     typedef struct axis2_phase_rule axis2_phase_rule_t;
00048 
00056     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00057     axis2_phase_rule_get_before(
00058         const axis2_phase_rule_t * phase_rule,
00059         const axutil_env_t * env);
00060 
00069     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00070     axis2_phase_rule_set_before(
00071         axis2_phase_rule_t * phase_rule,
00072         const axutil_env_t * env,
00073         const axis2_char_t * before);
00074 
00082     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00083     axis2_phase_rule_get_after(
00084         const axis2_phase_rule_t * phase_rule,
00085         const axutil_env_t * env);
00086 
00095     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00096     axis2_phase_rule_set_after(
00097         axis2_phase_rule_t * phase_rule,
00098         const axutil_env_t * env,
00099         const axis2_char_t * after);
00100 
00107     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00108     axis2_phase_rule_get_name(
00109         const axis2_phase_rule_t * phase_rule,
00110         const axutil_env_t * env);
00111 
00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120     axis2_phase_rule_set_name(
00121         axis2_phase_rule_t * phase_rule,
00122         const axutil_env_t * env,
00123         const axis2_char_t * name);
00124 
00132     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00133     axis2_phase_rule_is_first(
00134         const axis2_phase_rule_t * phase_rule,
00135         const axutil_env_t * env);
00136 
00145     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146     axis2_phase_rule_set_first(
00147         axis2_phase_rule_t * phase_rule,
00148         const axutil_env_t * env,
00149         axis2_bool_t first);
00150 
00158     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00159     axis2_phase_rule_is_last(
00160         const axis2_phase_rule_t * phase_rule,
00161         const axutil_env_t * env);
00162 
00171     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00172     axis2_phase_rule_set_last(
00173         axis2_phase_rule_t * phase_rule,
00174         const axutil_env_t * env,
00175         axis2_bool_t last);
00176 
00183     AXIS2_EXTERN void AXIS2_CALL
00184     axis2_phase_rule_free(
00185         axis2_phase_rule_t * phase_rule,
00186         const axutil_env_t * env);
00187 
00194     AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL
00195     axis2_phase_rule_clone(
00196         axis2_phase_rule_t * phase_rule,
00197         const axutil_env_t * env);
00198 
00205     AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL
00206     axis2_phase_rule_create(
00207         const axutil_env_t * env,
00208         const axis2_char_t * name);
00209 
00212 #ifdef __cplusplus
00213 }
00214 #endif
00215 
00216 #endif                          /* AXIS2_PHASE_RULE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__saml__token__builder_8h-source.html0000644000175000017500000001230611172017604027065 0ustar00manjulamanjula00000000000000 Axis2/C: rp_saml_token_builder.h Source File

rp_saml_token_builder.h

00001 /*
00002  * Copyright 2004,2005 The Apache Software Foundation.
00003  *
00004  * Licensed under the Apache License, Version 2.0 (the "License");
00005  * you may not use this file except in compliance with the License.
00006  * You may obtain a copy of the License at
00007  *
00008  *      http://www.apache.org/licenses/LICENSE-2.0
00009  *
00010  * Unless required by applicable law or agreed to in writing, software
00011  * distributed under the License is distributed on an "AS IS" BASIS,
00012  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013  * See the License for the specific language governing permissions and
00014  * limitations under the License.
00015  */
00016 
00017 #ifndef RP_SAML_TOKEN_BUILDER_H
00018 #define RP_SAML_TOKEN_BUILDER_H
00019 
00025 #include <rp_includes.h>
00026 #include <rp_property.h>
00027 #include <rp_saml_token.h>
00028 #include <neethi_assertion.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00036     rp_saml_token_builder_build(
00037         const axutil_env_t * env,
00038         axiom_node_t * node,
00039         axiom_element_t * element);
00040 
00041 #ifdef __cplusplus
00042 }
00043 #endif
00044 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__phase__holder.html0000644000175000017500000005416511172017604025615 0ustar00manjulamanjula00000000000000 Axis2/C: phase holder

phase holder
[phase resolver]


Files

file  axis2_phase_holder.h

Typedefs

typedef struct
axis2_phase_holder 
axis2_phase_holder_t

Functions

AXIS2_EXTERN void axis2_phase_holder_free (axis2_phase_holder_t *phase_holder, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_phase_holder_is_phase_exist (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, const axis2_char_t *phase_name)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_holder_add_handler (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, struct axis2_handler_desc *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_holder_remove_handler (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, struct axis2_handler_desc *handler)
AXIS2_EXTERN struct
axis2_phase * 
axis2_phase_holder_get_phase (const axis2_phase_holder_t *phase_holder, const axutil_env_t *env, const axis2_char_t *phase_name)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_holder_build_transport_handler_chain (axis2_phase_holder_t *phase_holder, const axutil_env_t *env, struct axis2_phase *phase, axutil_array_list_t *handlers)
AXIS2_EXTERN
axis2_phase_holder_t
axis2_phase_holder_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_holder_t
axis2_phase_holder_create_with_phases (const axutil_env_t *env, axutil_array_list_t *phases)

Detailed Description

phase holder is used by phase resolver to hold information related to phases and handlers within a phase. This struct hold the list of phases found in the services.xml and axis2.xml.

Typedef Documentation

typedef struct axis2_phase_holder axis2_phase_holder_t

Type name for struct axis2_phase_holder


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_phase_holder_add_handler ( axis2_phase_holder_t phase_holder,
const axutil_env_t env,
struct axis2_handler_desc *  handler 
)

Adds given handler to phase holder.

Parameters:
phase_holder pointer to phase holder
env pointer to environment struct handler pointer to handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_holder_build_transport_handler_chain ( axis2_phase_holder_t phase_holder,
const axutil_env_t env,
struct axis2_phase *  phase,
axutil_array_list_t handlers 
)

Builds the transport phase. This method loads the corresponding handlers and added them into correct phase. This function is no longer used in Axis2/C and marked as deprecated.

Deprecated:
Parameters:
phase_holder pointer to phase holder
env pointer to environment struct
phase pointer to phase, phase holder does not assume the ownership the phase
handlers pointer to array list of handlers, phase holder does not assume the ownership of the list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_phase_holder_t* axis2_phase_holder_create ( const axutil_env_t env  ) 

Creates phase holder struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created phase holder

AXIS2_EXTERN axis2_phase_holder_t* axis2_phase_holder_create_with_phases ( const axutil_env_t env,
axutil_array_list_t phases 
)

Creates phase holder struct with given list of phases.

Parameters:
env pointer to environment struct
phases pointer to array list of phases
Returns:
pointer to newly created phase holder

AXIS2_EXTERN void axis2_phase_holder_free ( axis2_phase_holder_t phase_holder,
const axutil_env_t env 
)

Frees phase holder.

Parameters:
phase_holder pointer to phase holder
env pointer to environment struct
Returns:
void

AXIS2_EXTERN struct axis2_phase* axis2_phase_holder_get_phase ( const axis2_phase_holder_t phase_holder,
const axutil_env_t env,
const axis2_char_t *  phase_name 
) [read]

Gets the named phase from phase array list.

Parameters:
phase_holder pointer to phase holder
env pointer to environment struct
phase_name pointer to phase name
Returns:
pointer to named phase if it exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_phase_holder_is_phase_exist ( axis2_phase_holder_t phase_holder,
const axutil_env_t env,
const axis2_char_t *  phase_name 
)

Checks if the named phase exist.

Parameters:
phase_holder pointer to phase holder
env pointer to environment struct
phase_name phase name string
Returns:
AXIS2_TRUE if the named phase exist, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_phase_holder_remove_handler ( axis2_phase_holder_t phase_holder,
const axutil_env_t env,
struct axis2_handler_desc *  handler 
)

Removes given handler from phase holder.

Parameters:
phase_holder pointer to phase holder
env pointer to environment struct handler pointer to handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__transport__sender.html0000644000175000017500000003205611172017604026547 0ustar00manjulamanjula00000000000000 Axis2/C: transport sender

transport sender
[transport]


Files

file  axis2_transport_sender.h
 Axis2 description transport sender interface.

Classes

struct  axis2_transport_sender_ops
 Description Transport Sender ops struct Encapsulator struct for ops of axis2_transport_sender. More...
struct  axis2_transport_sender

Defines

#define AXIS2_TRANSPORT_SENDER_FREE(transport_sender, env)   ((transport_sender->ops)->free (transport_sender, env))
#define AXIS2_TRANSPORT_SENDER_INIT(transport_sender, env, conf_context, transport_out)   ((transport_sender->ops)->init (transport_sender, env, conf_context, transport_out))
#define AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx)   ((transport_sender->ops)->invoke (transport_sender, env, msg_ctx))
#define AXIS2_TRANSPORT_SENDER_CLEANUP(transport_sender, env, msg_ctx)   ((transport_sender->ops)->cleanup (transport_sender, env, msg_ctx))

Typedefs

typedef struct
axis2_transport_sender 
axis2_transport_sender_t
typedef struct
axis2_transport_sender_ops 
axis2_transport_sender_ops_t

Functions

AXIS2_EXTERN
axis2_transport_sender_t
axis2_transport_sender_create (const axutil_env_t *env)

Detailed Description

Description

Define Documentation

#define AXIS2_TRANSPORT_SENDER_CLEANUP ( transport_sender,
env,
msg_ctx   )     ((transport_sender->ops)->cleanup (transport_sender, env, msg_ctx))

#define AXIS2_TRANSPORT_SENDER_FREE ( transport_sender,
env   )     ((transport_sender->ops)->free (transport_sender, env))

Frees the axis2 transport sender.

See also:
axis2_transport_sender_ops::free

#define AXIS2_TRANSPORT_SENDER_INIT ( transport_sender,
env,
conf_context,
transport_out   )     ((transport_sender->ops)->init (transport_sender, env, conf_context, transport_out))

Initialize the axis2 transport sender.

See also:
axis2_transport_sender_ops::init

#define AXIS2_TRANSPORT_SENDER_INVOKE ( transport_sender,
env,
msg_ctx   )     ((transport_sender->ops)->invoke (transport_sender, env, msg_ctx))


Typedef Documentation


Function Documentation

AXIS2_EXTERN axis2_transport_sender_t* axis2_transport_sender_create ( const axutil_env_t env  ) 

Creates phase holder struct

Parameters:
env pointer to environment struct
Returns:
pointer to newly created transport sender


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__text_8h.html0000644000175000017500000001306111172017604025621 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_text.h File Reference

axiom_soap_fault_text.h File Reference

axiom_soap_fault_text More...

#include <axutil_env.h>
#include <axiom_soap_fault_reason.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_text 
axiom_soap_fault_text_t

Functions

AXIS2_EXTERN
axiom_soap_fault_text_t * 
axiom_soap_fault_text_create_with_parent (const axutil_env_t *env, axiom_soap_fault_reason_t *fault)
AXIS2_EXTERN void axiom_soap_fault_text_free (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_text_set_lang (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env, const axis2_char_t *lang)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_text_get_lang (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_text_get_base_node (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_text_set_text (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env, axis2_char_t *value, axis2_char_t *lang)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_text_get_text (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_text


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__x509__token.html0000644000175000017500000003132211172017604024446 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_x509_token

Rp_x509_token


Typedefs

typedef struct
rp_x509_token_t 
rp_x509_token_t

Functions

AXIS2_EXTERN
rp_x509_token_t * 
rp_x509_token_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_x509_token_free (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_x509_token_get_inclusion (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_inclusion (rp_x509_token_t *x509_token, const axutil_env_t *env, axis2_char_t *inclusion)
AXIS2_EXTERN
derive_key_type_t 
rp_x509_token_get_derivedkey (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_derivedkey (rp_x509_token_t *x509_token, const axutil_env_t *env, derive_key_type_t derivedkeys)
AXIS2_EXTERN
derive_key_version_t 
rp_x509_token_get_derivedkey_version (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_derivedkey_version (rp_x509_token_t *x509_token, const axutil_env_t *env, derive_key_version_t version)
AXIS2_EXTERN axis2_bool_t rp_x509_token_get_require_key_identifier_reference (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_require_key_identifier_reference (rp_x509_token_t *x509_token, const axutil_env_t *env, axis2_bool_t require_key_identifier_reference)
AXIS2_EXTERN axis2_bool_t rp_x509_token_get_require_issuer_serial_reference (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_require_issuer_serial_reference (rp_x509_token_t *x509_token, const axutil_env_t *env, axis2_bool_t require_issuer_serial_reference)
AXIS2_EXTERN axis2_bool_t rp_x509_token_get_require_embedded_token_reference (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_require_embedded_token_reference (rp_x509_token_t *x509_token, const axutil_env_t *env, axis2_bool_t require_embedded_token_reference)
AXIS2_EXTERN axis2_bool_t rp_x509_token_get_require_thumb_print_reference (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_require_thumb_print_reference (rp_x509_token_t *x509_token, const axutil_env_t *env, axis2_bool_t require_thumb_print_reference)
AXIS2_EXTERN
axis2_char_t * 
rp_x509_token_get_token_version_and_type (rp_x509_token_t *x509_token, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_set_token_version_and_type (rp_x509_token_t *x509_token, const axutil_env_t *env, axis2_char_t *token_version_and_type)
AXIS2_EXTERN
axis2_status_t 
rp_x509_token_increment_ref (rp_x509_token_t *x509_token, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc_8h.html0000644000175000017500000007153311172017604022636 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc.h File Reference

axis2_svc.h File Reference

#include <axutil_param_container.h>
#include <axis2_flow_container.h>
#include <axis2_op.h>
#include <axis2_svc_grp.h>
#include <axutil_qname.h>
#include <axutil_error.h>
#include <axutil_array_list.h>
#include <axis2_const.h>
#include <axis2_phase_resolver.h>
#include <axis2_module_desc.h>
#include <axis2_conf.h>
#include <axutil_string.h>
#include <axutil_stream.h>

Go to the source code of this file.

Typedefs

typedef struct axis2_svc axis2_svc_t

Functions

AXIS2_EXTERN void axis2_svc_free (axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_op (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN struct
axis2_op * 
axis2_svc_get_op_with_qname (const axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *op_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_rest_op_list_with_method_and_location (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *http_method, const axis2_char_t *http_location)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_get_rest_map (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op * 
axis2_svc_get_op_with_name (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *op_name)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_get_all_ops (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_parent (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_svc_get_parent (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_qname (axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_svc_get_qname (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_param (axis2_svc_t *svc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_svc_get_param (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_all_params (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_is_param_locked (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_engage_module (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_disengage_module (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *conf)
AXIS2_EXTERN axis2_bool_t axis2_svc_is_module_engaged (axis2_svc_t *svc, const axutil_env_t *env, axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_engaged_module_list (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_module_ops (axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc, struct axis2_conf *axis2_config)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_style (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *style)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_style (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op * 
axis2_svc_get_op_by_soap_action (const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *soap_action)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_name (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_name (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_last_update (axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN long axis2_svc_get_last_update (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_svc_desc (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_svc_desc (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *svc_desc)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_svc_wsdl_path (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_svc_wsdl_path (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *wsdl_path)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_svc_folder_path (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_svc_folder_path (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *folder_path)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_file_name (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_file_name (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *file_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_mapping (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *wsa_action, struct axis2_op *axis2_op)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_rest_mapping (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *location, struct axis2_op *axis2_op)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_add_module_qname (axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_get_all_module_qnames (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_target_ns (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
saxis2_svc_et_target_ns (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *ns)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_get_target_ns_prefix (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_target_ns_prefix (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *prefix)
AXIS2_EXTERN
axutil_hash_t
gaxis2_svc_et_ns_map (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_ns_map (axis2_svc_t *svc, const axutil_env_t *env, axutil_hash_t *ns_map)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_svc_get_param_container (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_container_t
axis2_svc_get_flow_container (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_t
axis2_svc_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_t
axis2_svc_create_with_qname (const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN void * axis2_svc_get_impl_class (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_set_impl_class (axis2_svc_t *svc, const axutil_env_t *env, void *impl_class)
AXIS2_EXTERN
axis2_desc_t
axis2_svc_get_base (const axis2_svc_t *svc, const axutil_env_t *env)
AXIS2_EXTERN
axutil_thread_mutex_t
axis2_svc_get_mutex (const axis2_svc_t *svc, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg__recv_8h.html0000644000175000017500000003351511172017604024005 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg_recv.h File Reference

axis2_msg_recv.h File Reference

Axis Message Receiver interface. Message Receiver struct. This interface is extended by custom message receivers. More...

#include <axis2_defines.h>
#include <axis2_const.h>
#include <axis2_svc_skeleton.h>
#include <axis2_msg_ctx.h>
#include <axis2_op_ctx.h>
#include <axis2_svr_callback.h>
#include <axis2_svc.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_msg_recv 
axis2_msg_recv_t
typedef axis2_status_t(* AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC )(axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, struct axis2_msg_ctx *out_msg_ctx)
typedef axis2_status_t(* AXIS2_MSG_RECV_RECEIVE )(axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, void *callback_recv_param)
typedef axis2_status_t(* AXIS2_MSG_RECV_LOAD_AND_INIT_SVC )(axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc)

Functions

AXIS2_EXTERN void axis2_msg_recv_free (axis2_msg_recv_t *msg_recv, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_receive (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, void *callback_recv_param)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_invoke_business_logic (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *in_msg_ctx, struct axis2_msg_ctx *out_msg_ctx)
AXIS2_EXTERN
axis2_svc_skeleton_t
axis2_msg_recv_make_new_svc_obj (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_svc_skeleton_t
axis2_msg_recv_get_impl_obj (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_set_scope (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, const axis2_char_t *scope)
AXIS2_EXTERN
axis2_char_t * 
axis2_msg_recv_get_scope (axis2_msg_recv_t *msg_recv, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_recv_delete_svc_obj (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_invoke_business_logic (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_derived (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, void *derived)
AXIS2_EXPORT void * axis2_msg_recv_get_derived (const axis2_msg_recv_t *msg_recv, const axutil_env_t *env)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_receive (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_RECEIVE func)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_set_load_and_init_svc (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func)
AXIS2_EXPORT
axis2_status_t 
axis2_msg_recv_load_and_init_svc (axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN
axis2_msg_recv_t
axis2_msg_recv_create (const axutil_env_t *env)


Detailed Description

Axis Message Receiver interface. Message Receiver struct. This interface is extended by custom message receivers.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__soc__api.html0000644000175000017500000000300411172017604024557 0ustar00manjulamanjula00000000000000 Axis2/C: service API

service API


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__transport__utils_8h.html0000644000175000017500000013002311172017604026642 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_transport_utils.h File Reference

axis2_http_transport_utils.h File Reference

axis2 HTTP Transport Utility functions This file includes functions that handles soap and rest request that comes to the engine via HTTP protocol. More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axiom_stax_builder.h>
#include <axis2_msg_ctx.h>
#include <axis2_conf_ctx.h>
#include <axutil_hash.h>
#include <axiom_element.h>
#include <axutil_stream.h>
#include <axiom_soap_envelope.h>
#include <axutil_http_chunked_stream.h>
#include <axis2_http_out_transport_info.h>
#include <axutil_url.h>
#include <axiom_mtom_sending_callback.h>

Go to the source code of this file.

Classes

struct  axis2_http_transport_in
struct  axis2_http_transport_out
enum  axis2_http_method_types {
  AXIS2_HTTP_METHOD_GET = 0, AXIS2_HTTP_METHOD_POST, AXIS2_HTTP_METHOD_HEAD, AXIS2_HTTP_METHOD_PUT,
  AXIS2_HTTP_METHOD_DELETE
}
typedef enum
axis2_http_method_types 
axis2_http_method_types_t
typedef struct
axis2_http_transport_in 
axis2_http_transport_in_t
typedef struct
axis2_http_transport_out 
axis2_http_transport_out_t
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_transport_in_init (axis2_http_transport_in_t *in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_transport_in_uninit (axis2_http_transport_in_t *request, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_transport_out_init (axis2_http_transport_out_t *out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_transport_out_uninit (axis2_http_transport_out_t *response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_process_request (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx, axis2_http_transport_in_t *request, axis2_http_transport_out_t *response)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_process_http_post_request (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axutil_stream_t *in_stream, axutil_stream_t *out_stream, const axis2_char_t *content_type, const int content_length, axutil_string_t *soap_action_header, const axis2_char_t *request_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_process_http_put_request (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axutil_stream_t *in_stream, axutil_stream_t *out_stream, const axis2_char_t *content_type, const int content_length, axutil_string_t *soap_action_header, const axis2_char_t *request_uri)
AXIS2_EXTERN axis2_bool_t axis2_http_transport_utils_process_http_get_request (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axutil_stream_t *in_stream, axutil_stream_t *out_stream, const axis2_char_t *content_type, axutil_string_t *soap_action_header, const axis2_char_t *request_uri, axis2_conf_ctx_t *conf_ctx, axutil_hash_t *request_params)
AXIS2_EXTERN axis2_bool_t axis2_http_transport_utils_process_http_head_request (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axutil_stream_t *in_stream, axutil_stream_t *out_stream, const axis2_char_t *content_type, axutil_string_t *soap_action_header, const axis2_char_t *request_uri, axis2_conf_ctx_t *conf_ctx, axutil_hash_t *request_params)
AXIS2_EXTERN axis2_bool_t axis2_http_transport_utils_process_http_delete_request (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, axutil_stream_t *in_stream, axutil_stream_t *out_stream, const axis2_char_t *content_type, axutil_string_t *soap_action_header, const axis2_char_t *request_uri, axis2_conf_ctx_t *conf_ctx, axutil_hash_t *request_params)
AXIS2_EXTERN
axiom_stax_builder_t * 
axis2_http_transport_utils_select_builder_for_mime (const axutil_env_t *env, axis2_char_t *request_uri, axis2_msg_ctx_t *msg_ctx, axutil_stream_t *in_stream, axis2_char_t *content_type)
AXIS2_EXTERN axis2_bool_t axis2_http_transport_utils_do_write_mtom (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axutil_hash_t
axis2_http_transport_utils_get_request_params (const axutil_env_t *env, axis2_char_t *request_uri)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_not_found (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_not_implemented (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_method_not_allowed (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_not_acceptable (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_bad_request (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_request_timeout (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_conflict (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_gone (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_precondition_failed (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_request_entity_too_large (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_service_unavailable (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_internal_server_error (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_services_html (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_transport_utils_get_services_static_wsdl (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx, axis2_char_t *request_url)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_http_transport_utils_create_soap_msg (const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx, const axis2_char_t *soap_ns_uri)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_transport_utils_process_accept_headers (const axutil_env_t *env, axis2_char_t *accept_value)
AXIS2_EXTERN
axis2_status_t 
axis2_http_transport_utils_send_mtom_message (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, axutil_array_list_t *mime_parts, axis2_char_t *sending_callback_name)
AXIS2_EXTERN void axis2_http_transport_utils_destroy_mime_parts (axutil_array_list_t *mime_parts, const axutil_env_t *env)
AXIS2_EXTERN void * axis2_http_transport_utils_initiate_callback (const axutil_env_t *env, axis2_char_t *callback_name, void *user_param, axiom_mtom_sending_callback_t **callback)
AXIS2_EXTERN axis2_bool_t axis2_http_transport_utils_is_callback_required (const axutil_env_t *env, axutil_array_list_t *mime_parts)

Defines

#define AXIS2_MTOM_OUTPUT_BUFFER_SIZE   1024


Detailed Description

axis2 HTTP Transport Utility functions This file includes functions that handles soap and rest request that comes to the engine via HTTP protocol.


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_http_transport_utils_process_http_post_request ( const axutil_env_t env,
axis2_msg_ctx_t msg_ctx,
axutil_stream_t *  in_stream,
axutil_stream_t *  out_stream,
const axis2_char_t *  content_type,
const int  content_length,
axutil_string_t *  soap_action_header,
const axis2_char_t *  request_uri 
)

This function handles the HTTP POST request that comes to the axis2 engine. The request can be either a SOAP request OR a REST request.

Parameters:
env,axutil_env_t instance
msg_ctx,Input message context. (an instance of axis2_msg_ctx_t struct.)
in_stream,This is the input message content represented as an axutil_stream instance. A callback function will be used to read as required from the stream with in the engine.
out_stream,This is the output stream. The outgoing message contents is represented as an instance of axutil_stream
content_type,HTTP content type. This value should not be null.
content_length,HTTP Content length value.
soap_action_header,SOAPAction header value. This is only required in case of SOAP 1.1. For SOAP 1.2 , the action header will be within the ContentType header and this method is able to obtain the extract the action header value from content type.
request_uri,This is the HTTP request uri. Should not be null.
Returns:
AXIS2_SUCCESS on success, AXIS2_FAILURE Otherwise

AXIS2_EXTERN axis2_status_t axis2_http_transport_utils_process_http_put_request ( const axutil_env_t env,
axis2_msg_ctx_t msg_ctx,
axutil_stream_t *  in_stream,
axutil_stream_t *  out_stream,
const axis2_char_t *  content_type,
const int  content_length,
axutil_string_t *  soap_action_header,
const axis2_char_t *  request_uri 
)

This method handles the HTTP put request. Parameters are similar to that of post_request method.

Parameters:
env,environment 
msg_ctx,in message context.
in_stream,input stream
out_stream,output stream.
content_type,HTTP ContentType header value
content_length,HTTP Content length value
soap_action_header,SOAP Action header value
request_uri,request uri
Returns:
AXIS2_SUCCESS on success, AXIS2_FAILURE Otherwise

AXIS2_EXTERN axis2_status_t axis2_http_transport_utils_process_request ( const axutil_env_t env,
axis2_conf_ctx_t conf_ctx,
axis2_http_transport_in_t *  request,
axis2_http_transport_out_t *  response 
)

This methods provides the HTTP request handling functionality using axis2 for server side HTTP modules.

Parameters:
env,environments 
conf_ctx,Instance of axis2_conf_ctx_t
request,populated instance of axis2_http_transport_in_t struct
response,an instance of axis2_http_transport_out_t struct
Returns:
AXIS2_SUCCESS on success, AXIS2_FAILURE Otherwise

AXIS2_EXTERN axis2_status_t axis2_http_transport_utils_transport_in_init ( axis2_http_transport_in_t *  in,
const axutil_env_t env 
)

Initialize the axis2_http_tranport_in_t. Before using this structure users should initialize it using this method.

Parameters:
in a pointer to a axis2_http_tranport_in_t
env,environments 

AXIS2_EXTERN axis2_status_t axis2_http_transport_utils_transport_in_uninit ( axis2_http_transport_in_t *  request,
const axutil_env_t env 
)

Uninitialize the axis2_http_tranport_in_t. Before using this structure users should initialize it using this method.

Parameters:
in a pointer to a axis2_http_tranport_in_t
env,environments 

AXIS2_EXTERN axis2_status_t axis2_http_transport_utils_transport_out_init ( axis2_http_transport_out_t *  out,
const axutil_env_t env 
)

Initialize the axis2_http_tranport_out_t. Before using this structure users should initialize it using this method.

Parameters:
out a pointer to a axis2_http_tranport_out_t
env,environments 


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__navigator_8h-source.html0000644000175000017500000002023211172017604025410 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_navigator.h Source File

axiom_navigator.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_NAVIGATOR_H
00020 #define AXIOM_NAVIGATOR_H
00021 
00022 #include <axutil_utils.h>
00023 #include <axutil_env.h>
00024 #include <axiom_node.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00037     typedef struct axiom_navigator axiom_navigator_t;
00038 
00046     AXIS2_EXTERN axiom_navigator_t *AXIS2_CALL
00047     axiom_navigator_create(
00048         const axutil_env_t * env,
00049         axiom_node_t * node);
00050 
00057     AXIS2_EXTERN void AXIS2_CALL
00058     axiom_navigator_free(
00059         axiom_navigator_t * om_navigator,
00060         const axutil_env_t * env);
00061 
00069     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00070     axiom_navigator_is_navigable(
00071         axiom_navigator_t * om_navigator,
00072         const axutil_env_t * env);
00073 
00083     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00084     axiom_navigator_is_completed(
00085         axiom_navigator_t * om_navigator,
00086         const axutil_env_t * env);
00087 
00098     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00099     axiom_navigator_next(
00100         axiom_navigator_t * om_navigator,
00101         const axutil_env_t * env);
00102 
00110     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00111     axiom_navigator_visited(
00112         axiom_navigator_t * om_navigator,
00113         const axutil_env_t * env);
00114 
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120 
00121 #endif                          /* AXIOM_NAVIGATOR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__simple__http__svr__conn_8h-source.html0000644000175000017500000003421711172017604030233 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_simple_http_svr_conn.h Source File

axis2_simple_http_svr_conn.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_SIMPLE_HTTP_SVR_CONN_H
00020 #define AXIS2_SIMPLE_HTTP_SVR_CONN_H
00021 
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <axis2_http_simple_request.h>
00036 #include <axis2_http_simple_response.h>
00037 #include <axis2_http_response_writer.h>
00038 
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043 
00044     typedef struct axis2_simple_http_svr_conn axis2_simple_http_svr_conn_t;
00045 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     axis2_simple_http_svr_conn_close(
00053         axis2_simple_http_svr_conn_t * svr_conn,
00054         const axutil_env_t * env);
00055 
00060     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00061     axis2_simple_http_svr_conn_is_open(
00062         axis2_simple_http_svr_conn_t * svr_conn,
00063         const axutil_env_t * env);
00064 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072 
00073     axis2_simple_http_svr_conn_set_keep_alive(
00074         axis2_simple_http_svr_conn_t * svr_conn,
00075         const axutil_env_t * env,
00076         axis2_bool_t keep_alive);
00077 
00082     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00083 
00084     axis2_simple_http_svr_conn_is_keep_alive(
00085         axis2_simple_http_svr_conn_t * svr_conn,
00086         const axutil_env_t * env);
00087 
00092     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00093 
00094     axis2_simple_http_svr_conn_get_stream(
00095         const axis2_simple_http_svr_conn_t * svr_conn,
00096         const axutil_env_t * env);
00097 
00102     AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL
00103 
00104     axis2_simple_http_svr_conn_get_writer(
00105         const axis2_simple_http_svr_conn_t * svr_conn,
00106         const axutil_env_t * env);
00107 
00112     AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL
00113 
00114     axis2_simple_http_svr_conn_read_request(
00115         axis2_simple_http_svr_conn_t * svr_conn,
00116         const axutil_env_t * env);
00117 
00124     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00125 
00126     axis2_simple_http_svr_conn_write_response(
00127         axis2_simple_http_svr_conn_t * svr_conn,
00128         const axutil_env_t * env,
00129         axis2_http_simple_response_t * response);
00130 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138 
00139     axis2_simple_http_svr_conn_set_rcv_timeout(
00140         axis2_simple_http_svr_conn_t * svr_conn,
00141         const axutil_env_t * env,
00142         int timeout);
00143 
00150     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00151 
00152     axis2_simple_http_svr_conn_set_snd_timeout(
00153         axis2_simple_http_svr_conn_t * svr_conn,
00154         const axutil_env_t * env,
00155         int timeout);
00156 
00161     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00162 
00163     axis2_simple_http_svr_conn_get_svr_ip(
00164         const axis2_simple_http_svr_conn_t * svr_conn,
00165         const axutil_env_t * env);
00166 
00171     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00172 
00173     axis2_simple_http_svr_conn_get_peer_ip(
00174         const axis2_simple_http_svr_conn_t * svr_conn,
00175         const axutil_env_t * env);
00176 
00177 
00183     AXIS2_EXTERN void AXIS2_CALL
00184     axis2_simple_http_svr_conn_free(
00185         axis2_simple_http_svr_conn_t * svr_conn,
00186         const axutil_env_t * env);
00187 
00193     AXIS2_EXTERN axis2_simple_http_svr_conn_t *AXIS2_CALL
00194 
00195     axis2_simple_http_svr_conn_create(
00196         const axutil_env_t * env,
00197         int sockfd);
00198 
00201 #ifdef __cplusplus
00202 }
00203 #endif
00204 
00205 #endif                          /* AXIS2_SIMPLE_HTTP_SVR_CONN_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mime__part_8h.html0000644000175000017500000002035211172017604024237 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mime_part.h File Reference

axiom_mime_part.h File Reference

axis2 mime_part interface More...

#include <axutil_utils.h>
#include <axutil_error.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>

Go to the source code of this file.

Classes

struct  axiom_mime_part_t

Typedefs

typedef struct
axiom_mime_part_t 
axiom_mime_part_t

Enumerations

enum  axiom_mime_part_type_t { AXIOM_MIME_PART_BUFFER = 0, AXIOM_MIME_PART_FILE, AXIOM_MIME_PART_CALLBACK, AXIOM_MIME_PART_UNKNOWN }

Functions

AXIS2_EXTERN const
axis2_char_t * 
axiom_mime_part_get_content_type_for_mime (const axutil_env_t *env, axis2_char_t *boundary, axis2_char_t *content_id, axis2_char_t *char_set_encoding, const axis2_char_t *soap_content_type)
AXIS2_EXTERN
axiom_mime_part_t * 
axiom_mime_part_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axiom_mime_part_create_part_list (const axutil_env_t *env, axis2_char_t *soap_body, axutil_array_list_t *binary_node_list, axis2_char_t *boundary, axis2_char_t *content_id, axis2_char_t *char_set_encoding, const axis2_char_t *soap_content_type)
AXIS2_EXTERN void axiom_mime_part_free (axiom_mime_part_t *mime_part, const axutil_env_t *env)


Detailed Description

axis2 mime_part interface


Enumeration Type Documentation

Enumerator:
AXIOM_MIME_PART_BUFFER  Char buffer


Function Documentation

AXIS2_EXTERN axiom_mime_part_t* axiom_mime_part_create ( const axutil_env_t env  ) 

Creates mime_part struct

Returns:
pointer to newly created mime_part


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__module__ops.html0000644000175000017500000001746611172017604025223 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_module_ops Struct Reference

axis2_module_ops Struct Reference
[module]

#include <axis2_module.h>

List of all members.

Public Attributes

axis2_status_t(* init )(axis2_module_t *module, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, axis2_module_desc_t *module_desc)
axis2_status_t(* shutdown )(axis2_module_t *module, const axutil_env_t *env)
axis2_status_t(* fill_handler_create_func_map )(axis2_module_t *module, const axutil_env_t *env)


Detailed Description

Struct containing operations available on a module.
1. init
2. shutdown
3. fill_handler_create_func_map
are the three operations presently available.

Member Data Documentation

axis2_status_t( * axis2_module_ops::init)(axis2_module_t *module, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, axis2_module_desc_t *module_desc)

Initializes module.

Parameters:
module pointer to module struct
env pointer to environment struct
conf_ctx pointer to configuration context
module_desc module description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

axis2_status_t( * axis2_module_ops::shutdown)(axis2_module_t *module, const axutil_env_t *env)

Shutdowns module.

Parameters:
module pointer to module struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

Fills the hash map of handler create functions for the module.

Parameters:
module pointer to module struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__linked__list_8h.html0000644000175000017500000003073411172017604024761 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_linked_list.h File Reference

axutil_linked_list.h File Reference

Axis2 linked_list interface. More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Classes

struct  entry_s

Typedefs

typedef struct
axutil_linked_list 
axutil_linked_list_t
typedef struct entry_s entry_t

Functions

AXIS2_EXTERN
axutil_linked_list_t * 
axutil_linked_list_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_linked_list_free (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN entry_taxutil_linked_list_get_entry (axutil_linked_list_t *linked_list, const axutil_env_t *env, int n)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_remove_entry (axutil_linked_list_t *linked_list, const axutil_env_t *env, entry_t *e)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_check_bounds_inclusive (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_check_bounds_exclusive (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void * axutil_linked_list_get_first (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_get_last (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_remove_first (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_remove_last (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_add_first (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_add_last (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_contains (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN int axutil_linked_list_size (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_add (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN axis2_bool_t axutil_linked_list_remove (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_clear (axutil_linked_list_t *linked_list, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_linked_list_get (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN void * axutil_linked_list_set (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index, void *o)
AXIS2_EXTERN
axis2_status_t 
axutil_linked_list_add_at_index (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index, void *o)
AXIS2_EXTERN void * axutil_linked_list_remove_at_index (axutil_linked_list_t *linked_list, const axutil_env_t *env, int index)
AXIS2_EXTERN int axutil_linked_list_index_of (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN int axutil_linked_list_last_index_of (axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o)
AXIS2_EXTERN void ** axutil_linked_list_to_array (axutil_linked_list_t *linked_list, const axutil_env_t *env)


Detailed Description

Axis2 linked_list interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__transport__sender_8h-source.html0000644000175000017500000001470611172017604030271 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_transport_sender.h Source File

axis2_http_transport_sender.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_TRANSPORT_SENDER_H
00020 #define AXIS2_HTTP_TRANSPORT_SENDER_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axis2_msg_ctx.h>
00037 #include <axis2_conf_ctx.h>
00038 #include <axis2_transport_out_desc.h>
00039 #include <axis2_transport_sender.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00049     AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL
00050 
00051     axis2_http_transport_sender_create(
00052         const axutil_env_t * env);
00053 
00055 #ifdef __cplusplus
00056 }
00057 #endif
00058 
00059 #endif                          /* AXIS2_HTTP_TRANSPORT_SENDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__header_8h.html0000644000175000017500000001303011172017604024455 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_header.h File Reference

axis2_http_header.h File Reference

axis2 HTTP Header name:value pair implementation More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_header 
axis2_http_header_t

Functions

AXIS2_EXTERN
axis2_char_t * 
axis2_http_header_to_external_form (axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_header_get_name (const axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_header_get_value (const axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_header_free (axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_header_create (const axutil_env_t *env, const axis2_char_t *name, const axis2_char_t *value)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_header_create_by_str (const axutil_env_t *env, const axis2_char_t *str)


Detailed Description

axis2 HTTP Header name:value pair implementation


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__request__line_8h-source.html0000644000175000017500000002432411172017604027371 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_request_line.h Source File

axis2_http_request_line.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_REQUEST_LINE_H
00020 #define AXIS2_HTTP_REQUEST_LINE_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00043     typedef struct axis2_http_request_line axis2_http_request_line_t;
00044 
00049     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00050     axis2_http_request_line_get_method(
00051         const axis2_http_request_line_t * request_line,
00052         const axutil_env_t * env);
00053 
00058     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00059 
00060     axis2_http_request_line_get_http_version(
00061         const axis2_http_request_line_t * request_line,
00062         const axutil_env_t * env);
00063 
00068     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00069     axis2_http_request_line_get_uri(
00070         const axis2_http_request_line_t * request_line,
00071         const axutil_env_t * env);
00072 
00077     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00078     axis2_http_request_line_to_string(
00079         axis2_http_request_line_t * request_line,
00080         const axutil_env_t * env);
00081 
00087     AXIS2_EXTERN void AXIS2_CALL
00088     axis2_http_request_line_free(
00089         axis2_http_request_line_t * request_line,
00090         const axutil_env_t * env);
00091 
00098     AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL
00099 
00100     axis2_http_request_line_create(
00101         const axutil_env_t * env,
00102         const axis2_char_t * method,
00103         const axis2_char_t * uri,
00104         const axis2_char_t * http_version);
00105 
00110     AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL
00111 
00112     axis2_http_request_line_parse_line(
00113         const axutil_env_t * env,
00114         const axis2_char_t * str);
00115 
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120 #endif                          /* AXIS2_HTTP_REQUEST_LINE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__base64_8h-source.html0000644000175000017500000003021511172017604024675 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_base64.h Source File

axutil_base64.h

00001 
00002 /*
00003  *   Copyright 2003-2004 The Apache Software Foundation.
00004  *
00005  *   Licensed under the Apache License, Version 2.0 (the "License");
00006  *   you may not use this file except in compliance with the License.
00007  *   You may obtain a copy of the License at
00008  *
00009  *       http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  *   Unless required by applicable law or agreed to in writing, software
00012  *   distributed under the License is distributed on an "AS IS" BASIS,
00013  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *   See the License for the specific language governing permissions and
00015  *   limitations under the License.
00016  */
00017 
00018 #include <axutil_utils_defines.h>
00019 
00020 /*
00021  * @file axutil_base64.h
00022  * @brief AXIS2-UTIL Base64 Encoding
00023  */
00024 #ifndef AXUTIL_BASE64_H
00025 #define AXUTIL_BASE64_H
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00032     /*
00033      * @defgroup AXIS2_Util_Base64 base64 encoding
00034      * @ingroup AXIS2_Util
00035      */
00036 
00037     /* Simple BASE64 encode/decode functions.
00038      *
00039      * As we might encode binary strings, hence we require the length of
00040      * the incoming plain source. And return the length of what we decoded.
00041      *
00042      * The decoding function takes any non valid char (i.e. whitespace, \0
00043      * or anything non A-Z,0-9 etc as terminal.
00044      *
00045      * plain strings/binary sequences are not assumed '\0' terminated. Encoded
00046      * strings are neither. But probably should.
00047      *
00048      */
00049 
00050     /*
00051      * Given the length of an un-encrypted string, get the length of the
00052      * encrypted string.
00053      * @param len the length of an unencrypted string.
00054      * @return the length of the string after it is encrypted
00055      */
00056     AXIS2_EXTERN int AXIS2_CALL
00057     axutil_base64_encode_len(
00058         int len);
00059 
00060     /*
00061      * Encode a text string using base64encoding.
00062      * @param coded_dst The destination string for the encoded string.
00063      * @param plain_src The original string in plain text
00064      * @param len_plain_src The length of the plain text string
00065      * @return the length of the encoded string
00066      */
00067     AXIS2_EXTERN int AXIS2_CALL
00068     axutil_base64_encode(
00069         char *coded_dst,
00070         const char *plain_src,
00071         int len_plain_src);
00072 
00073     /*
00074      * Encode an EBCDIC string using base64encoding.
00075      * @param coded_dst The destination string for the encoded string.
00076      * @param plain_src The original string in plain text
00077      * @param len_plain_src The length of the plain text string
00078      * @return the length of the encoded string
00079      */
00080     AXIS2_EXTERN int AXIS2_CALL
00081     axutil_base64_encode_binary(
00082         char *coded_dst,
00083         const unsigned char *plain_src,
00084         int len_plain_src);
00085 
00086     /*
00087      * Determine the length of a plain text string given the encoded version
00088      * @param coded_src The encoded string
00089      * @return the length of the plain text string
00090      */
00091     AXIS2_EXTERN int AXIS2_CALL
00092     axutil_base64_decode_len(
00093         const char *coded_src);
00094 
00095     /*
00096      * Decode a string to plain text
00097      * @param plain_dst The destination string for the plain text. size of this should be axutil_base64_decode_len + 1
00098      * @param coded_src The encoded string
00099      * @return the length of the plain text string
00100      */
00101     AXIS2_EXTERN int AXIS2_CALL
00102     axutil_base64_decode(
00103         char *plain_dst,
00104         const char *coded_src);
00105 
00106     /*
00107      * Decode an EBCDIC string to plain text
00108      * @param plain_dst The destination string for the plain text. size of this should be axutil_base64_decode_len
00109      * @param coded_src The encoded string
00110      * @return the length of the plain text string
00111      */
00112     AXIS2_EXTERN int AXIS2_CALL
00113     axutil_base64_decode_binary(
00114         unsigned char *plain_dst,
00115         const char *coded_src);
00116 
00117     /* @} */
00118 #ifdef __cplusplus
00119 }
00120 #endif
00121 
00122 #endif                          /* !AXIS2_BASE64_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__document_8h-source.html0000644000175000017500000002652011172017604025242 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_document.h Source File

axiom_document.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_DOCUMENT_H
00020 #define AXIOM_DOCUMENT_H
00021 
00022 #include <axutil_env.h>
00023 #include <axiom_node.h>
00024 #include <axutil_utils_defines.h>
00025 #include <axiom_output.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00037 #define CHAR_SET_ENCODING "UTF-8"
00038 #define XML_VERSION   "1.0"
00039 
00040     struct axiom_stax_builder;
00041 
00048     typedef struct axiom_document axiom_document_t;
00049 
00057     AXIS2_EXTERN axiom_document_t *AXIS2_CALL
00058     axiom_document_create(
00059         const axutil_env_t * env,
00060         axiom_node_t * root,
00061         struct axiom_stax_builder *builder);
00062 
00069     AXIS2_EXTERN void AXIS2_CALL
00070     axiom_document_free(
00071         struct axiom_document *document,
00072         const axutil_env_t * env);
00073 
00080     AXIS2_EXTERN void AXIS2_CALL
00081     axiom_document_free_self(
00082         struct axiom_document *document,
00083         const axutil_env_t * env);
00084 
00091     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00092     axiom_document_build_next(
00093         struct axiom_document *document,
00094         const axutil_env_t * env);
00095 
00103     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00104     axiom_document_get_root_element(
00105         struct axiom_document *document,
00106         const axutil_env_t * env);
00107 
00116     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117     axiom_document_set_root_element(
00118         struct axiom_document *document,
00119         const axutil_env_t * env,
00120         axiom_node_t * om_node);
00121 
00128     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00129     axiom_document_build_all(
00130         struct axiom_document *document,
00131         const axutil_env_t * env);
00132 
00140     AXIS2_EXTERN struct axiom_stax_builder *AXIS2_CALL
00141     axiom_document_get_builder(
00142         struct axiom_document *document,
00143         const axutil_env_t * env);
00144 
00151     AXIS2_EXTERN void AXIS2_CALL
00152     axiom_document_set_builder(
00153         axiom_document_t * document,
00154         const axutil_env_t * env,
00155         struct axiom_stax_builder * builder);
00156 
00161     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00162     axiom_document_serialize(
00163         struct axiom_document *document,
00164         const axutil_env_t * env,
00165         axiom_output_t * om_output);
00166 
00169 #ifdef __cplusplus
00170 }
00171 #endif
00172 
00173 #endif                          /* AXIOM_DOCUMENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__log-members.html0000644000175000017500000000507511172017604025400 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axutil_log Member List

This is the complete list of members for axutil_log, including all inherited members.

enabledaxutil_log
levelaxutil_log
opsaxutil_log
sizeaxutil_log


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__reason_8h-source.html0000644000175000017500000002314511172017604027426 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_reason.h Source File

axiom_soap_fault_reason.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_REASON_H
00020 #define AXIOM_SOAP_FAULT_REASON_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault.h>
00028 #include <axutil_array_list.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axiom_soap_fault_reason axiom_soap_fault_reason_t;
00036     struct axiom_soap_fault_text;
00037     struct axiom_soap_builder;
00038 
00052     AXIS2_EXTERN axiom_soap_fault_reason_t *AXIS2_CALL
00053     axiom_soap_fault_reason_create_with_parent(
00054         const axutil_env_t * env,
00055         axiom_soap_fault_t * fault);
00056 
00064     AXIS2_EXTERN void AXIS2_CALL
00065     axiom_soap_fault_reason_free(
00066         axiom_soap_fault_reason_t * fault_reason,
00067         const axutil_env_t * env);
00068 
00077     AXIS2_EXTERN struct axiom_soap_fault_text *AXIS2_CALL
00078     axiom_soap_fault_reason_get_soap_fault_text(
00079         axiom_soap_fault_reason_t * fault_reason,
00080         const axutil_env_t * env,
00081         axis2_char_t * lang);
00082 
00090     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00091     axiom_soap_fault_reason_get_all_soap_fault_texts(
00092         axiom_soap_fault_reason_t * fault_reason,
00093         const axutil_env_t * env);
00094 
00102     AXIS2_EXTERN struct axiom_soap_fault_text *AXIS2_CALL
00103         axiom_soap_fault_reason_get_first_soap_fault_text(
00104         axiom_soap_fault_reason_t * fault_reason,
00105         const axutil_env_t * env);
00106 
00116     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117     axiom_soap_fault_reason_add_soap_fault_text(
00118         axiom_soap_fault_reason_t * fault_reason,
00119         const axutil_env_t * env,
00120         struct axiom_soap_fault_text *fault_text);
00121 
00128     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00129     axiom_soap_fault_reason_get_base_node(
00130         axiom_soap_fault_reason_t * fault_reason,
00131         const axutil_env_t * env);
00132 
00135 #ifdef __cplusplus
00136 }
00137 #endif
00138 
00139 #endif                          /* AXIOM_SOAP_FAULT_REASON_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__envelope.html0000644000175000017500000007630711172017604026110 0ustar00manjulamanjula00000000000000 Axis2/C: soap envelope

soap envelope
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create (const axutil_env_t *env, axiom_namespace_t *ns)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create_with_soap_version_prefix (const axutil_env_t *env, int soap_version, const axis2_char_t *prefix)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create_default_soap_envelope (const axutil_env_t *env, int soap_version)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_envelope_create_default_soap_fault_envelope (const axutil_env_t *env, const axis2_char_t *code_value, const axis2_char_t *reason_text, const int soap_version, axutil_array_list_t *sub_codes, axiom_node_t *detail_node)
AXIS2_EXTERN struct
axiom_soap_header * 
axiom_soap_envelope_get_header (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_body * 
axiom_soap_envelope_get_body (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_envelope_serialize (axiom_soap_envelope_t *envelope, const axutil_env_t *env, axiom_output_t *om_output, axis2_bool_t cache)
AXIS2_EXTERN void axiom_soap_envelope_free (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_envelope_get_base_node (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_envelope_get_soap_version (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_soap_envelope_get_namespace (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_envelope_set_soap_version (axiom_soap_envelope_t *envelope, const axutil_env_t *env, int soap_version)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_envelope_increment_ref (axiom_soap_envelope_t *envelope, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_builder * 
axiom_soap_envelope_get_soap_builder (axiom_soap_envelope_t *envelope, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_envelope_t* axiom_soap_envelope_create ( const axutil_env_t env,
axiom_namespace_t *  ns 
)

create a soap_envelope with the given namespace prefix and uri as the prefix and uri, The uri of ns should be valid soap uri

Parameters:
env Environment. MUST NOT be NULL
ns The OM namespace
Returns:
Created SOAP envelope

AXIS2_EXTERN axiom_soap_envelope_t* axiom_soap_envelope_create_default_soap_envelope ( const axutil_env_t env,
int  soap_version 
)

Create the default SOAP envelope

Parameters:
envelope OM SOAP Envelope
env Environment. MUST NOT be NULL
Returns:
Created SOAP envelope

AXIS2_EXTERN axiom_soap_envelope_t* axiom_soap_envelope_create_default_soap_fault_envelope ( const axutil_env_t env,
const axis2_char_t *  code_value,
const axis2_char_t *  reason_text,
const int  soap_version,
axutil_array_list_t sub_codes,
axiom_node_t *  detail_node 
)

Create the default SOAP fault envelope

Parameters:
envelope OM SOAP Envelope
env Environment. MUST NOT be NULL
Returns:
Created SOAP fault envelope

AXIS2_EXTERN axiom_soap_envelope_t* axiom_soap_envelope_create_with_soap_version_prefix ( const axutil_env_t env,
int  soap_version,
const axis2_char_t *  prefix 
)

create a soap_envelope with the given namespace prefix and uri is selected according to soap_version, soap version should be one of AXIOM_SOAP11 or AXIOM_SOAP12

Parameters:
env Environment. MUST NOT be NULL
prefix soap envelope prefix if prefix is NULL default prefix is used
Returns:
a pointer to soap envelope struct

AXIS2_EXTERN void axiom_soap_envelope_free ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
)

Free function, This function deallocate all the resources associated with the soap_envelope IT frees it's soap body and soap headers as well as the underlying om node tree by calling axiom_node_free_tree function

Parameters:
envelope soap_envelope
env environment
Returns:
VOID

AXIS2_EXTERN axiom_node_t* axiom_soap_envelope_get_base_node ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
)

returns the om_node associated with this soap envelope

Parameters:
envelope soap_envelope
env environment
Returns:
axiom_node_t pointer

AXIS2_EXTERN struct axiom_soap_body* axiom_soap_envelope_get_body ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
) [read]

Returns the soap body associated with this soap envelope

Parameters:
envelope soap_envelope
env environment
Returns:
soap_body

AXIS2_EXTERN struct axiom_soap_header* axiom_soap_envelope_get_header ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
) [read]

gets the soap header of this soap envelope

Parameters:
envelope soap envelope
env environment must not be null
Returns:
soap header null it no header is present

AXIS2_EXTERN axiom_namespace_t* axiom_soap_envelope_get_namespace ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
)

Return the soap envelope namespace

Parameters:
envelope 
env 
Returns:
axiom_namespace_t

AXIS2_EXTERN struct axiom_soap_builder* axiom_soap_envelope_get_soap_builder ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
) [read]

get the soap builder of the envelope

Parameters:
envelope OM SOAP Envelope
env Environment. MUST NOT be NULL
Returns:
soap_builder struct related to the envelope

AXIS2_EXTERN int axiom_soap_envelope_get_soap_version ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
)

returns the soap version of this soap envelope

Parameters:
envelope soap_envelope
env environment must not be null
Returns:
soap_version AXIOM_SOAP12 or AXIOM_SOAP11

AXIS2_EXTERN axis2_status_t axiom_soap_envelope_increment_ref ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env 
)

Increment the reference number for the created instance

Parameters:
envelope OM SOAP Envelope
env Environment. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_envelope_serialize ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env,
axiom_output_t om_output,
axis2_bool_t  cache 
)

serialize function , serialize the soap envelope IF the soap version it set to soap11 the soap fault part is converted to soap11 fault even is the underlying soap fault is of soap12 type

Parameters:
envelope soap envelope
env environment must not be null
om_output 
cache whether caching is enabled or not
Returns:
status code , AXIS2_SUCCESS if success , AXIS2_FAILURE otherwise

AXIS2_EXTERN axis2_status_t axiom_soap_envelope_set_soap_version ( axiom_soap_envelope_t *  envelope,
const axutil_env_t env,
int  soap_version 
)

Set the SOAP version

Parameters:
envelope OM SOAP Envelope
env Environment. MUST NOT be NULL
soap_version,the SOAP version number. Must be either AXIOM_SOAP11 or AXIOM_SOAP12
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__transport__sender.html0000644000175000017500000000711711172017604027745 0ustar00manjulamanjula00000000000000 Axis2/C: http transport sender

http transport sender
[http transport]


Files

file  axis2_http_transport_sender.h
 axis2 HTTP Transport Sender (Handler) implementation

Functions

AXIS2_EXTERN
axis2_transport_sender_t
axis2_http_transport_sender_create (const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axis2_transport_sender_t* axis2_http_transport_sender_create ( const axutil_env_t env  ) 

Parameters:
env pointer to environment struct


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__request__line_8h.html0000644000175000017500000001433311172017604026072 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_request_line.h File Reference

axis2_http_request_line.h File Reference

axis2 HTTP Request Line More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_request_line 
axis2_http_request_line_t

Functions

AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_get_method (const axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_get_http_version (const axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_get_uri (const axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_request_line_to_string (axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_request_line_free (axis2_http_request_line_t *request_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_request_line_t
axis2_http_request_line_create (const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *uri, const axis2_char_t *http_version)
AXIS2_EXTERN
axis2_http_request_line_t
axis2_http_request_line_parse_line (const axutil_env_t *env, const axis2_char_t *str)


Detailed Description

axis2 HTTP Request Line


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__attribute_8h-source.html0000644000175000017500000002011411172017604026274 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_attribute.h Source File

guththila_attribute.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_ATTRIBUTE_H
00019 #define GUTHTHILA_ATTRIBUTE_H
00020 
00021 #include <guththila_defines.h>
00022 #include <guththila_token.h>
00023 #include <axutil_utils.h>
00024 
00025 EXTERN_C_START() 
00026 
00027 #ifndef GUTHTHILA_ATTR_DEF_SIZE
00028 #define GUTHTHILA_ATTR_DEF_SIZE 16
00029 #endif  
00030 
00031 /* Representation of an attribute */
00032 typedef struct guththila_attr_s
00033 {
00034     guththila_token_t *pref; /* Prefix */
00035     guththila_token_t *name; /* Name */
00036     guththila_token_t *val;  /* Value */ 
00037 } guththila_attr_t;
00038 
00039 typedef struct guththila_attr_list_s
00040 {
00041     guththila_attr_t *list;
00042     guththila_stack_t fr_stack;
00043     int size;
00044     int capacity;
00045 } guththila_attr_list_t;
00046 
00053 guththila_attr_list_t *
00054 GUTHTHILA_CALL guththila_attr_list_create(const axutil_env_t * env);
00055 
00065 int GUTHTHILA_CALL
00066 guththila_attr_list_init(
00067     guththila_attr_list_t * at_list,
00068     const axutil_env_t * env);
00069 
00076 guththila_attr_t *
00077 GUTHTHILA_CALL guththila_attr_list_get(guththila_attr_list_t * at_list,
00078         const axutil_env_t * env);
00079 
00080 
00091 int GUTHTHILA_CALL
00092 guththila_attr_list_release(
00093     guththila_attr_list_t * at_list,
00094     guththila_attr_t * attr,
00095     const axutil_env_t * env);
00096 
00106 void GUTHTHILA_CALL
00107 msuila_attr_list_free_data(
00108     guththila_attr_list_t * at_list,
00109     const axutil_env_t * env);
00110 
00120 void GUTHTHILA_CALL
00121 guththila_attr_list_free(
00122     guththila_attr_list_t * at_list,
00123     const axutil_env_t * env);
00124 
00125 EXTERN_C_END() 
00126 #endif  /*  */
00127 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__xml__writer_8h-source.html0000644000175000017500000013056211172017604026635 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_xml_writer.h Source File

guththila_xml_writer.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_XML_WRITER_H
00019 #define GUTHTHILA_XML_WRITER_H
00020 
00021 #include <guththila_token.h>
00022 #include <guththila_defines.h>
00023 #include <guththila_buffer.h>
00024 #include <guththila.h>
00025 #include <axutil_utils.h>
00026 
00027 EXTERN_C_START()
00028 #define GUTHTHILA_XML_WRITER_TOKEN
00029 
00030 /*
00031 Design notes:-
00032 namesp member of guththila_xml_writer_s is populated with malloc created objects.
00033 Providing a list for this seems expensive because most of the times only few
00034 namespaces are present in a XML document.
00035 
00036 element member of guththila_xml_writer_s must be povided the list capablity. This
00037 is particularly important in very deep XML documents.
00038 */
00039 typedef enum guththila_writer_type_s
00040 {
00041     GUTHTHILA_WRITER_FILE = 1,
00042     GUTHTHILA_WRITER_MEMORY
00043 } guththila_writer_type_t;
00044 
00045 typedef struct guththila_writer_s
00046 {
00047     short type;
00048     FILE *out_stream;
00049     guththila_buffer_t *buffer;
00050     int next;
00051 }
00052 guththila_writer_t;
00053 
00054 typedef enum guththila_writer_status_s
00055 {
00056     /*Started writing a non empty element */
00057     START = 1,
00058     /*Started writing a empty element */
00059     START_EMPTY,
00060     /*We are in a position to begin wrting an element */
00061     BEGINING
00062 } guththila_writer_status_t;
00063 
00064 /*Main structure which provides the writer capability*/
00065 typedef struct guththila_xml_writer_s
00066 {
00067     guththila_stack_t element;
00068     guththila_stack_t namesp;
00069     guththila_writer_t *writer;
00070 #ifdef GUTHTHILA_XML_WRITER_TOKEN
00071     guththila_tok_list_t tok_list;
00072 #endif
00073     /* Type of this writer. Can be file writer or memory writer */
00074     guththila_writer_type_t type;
00075 
00076     FILE *out_stream;
00077     guththila_buffer_t buffer;
00078     guththila_writer_status_t status;
00079     int next;
00080 } guththila_xml_writer_t;
00081 
00082 /*TODO: we need to came up with common implementation of followng two structures in writer and reader*/
00083 
00084 /*
00085 This is a private structure for keeping track of the elements. When we start to write an element this structure will be pop
00086 */
00087 typedef struct guththila_xml_writer_element_s
00088 {
00089 #ifdef GUTHTHILA_XML_WRITER_TOKEN
00090     guththila_token_t *prefix;
00091     guththila_token_t *name;
00092 #else
00093     guththila_char_t *prefix;
00094     guththila_char_t *name;
00095 #endif
00096     /* contains the number of the stack which holds the namespaces
00097        for this element. When we close this element all the namespaces 
00098        that are below this should also must be closed */
00099     int name_sp_stack_no;
00100 }
00101 guththila_xml_writer_element_t;
00102 
00103 typedef struct guththila_xml_writer_namesp_s
00104 {
00105     /* These are double pointers because a single element may contain multple
00106        namespace declarations */
00107 #ifdef GUTHTHILA_XML_WRITER_TOKEN
00108     guththila_token_t **name;
00109     guththila_token_t **uri;
00110 #else
00111     guththila_char_t **name;
00112     guththila_char_t **uri;
00113 #endif
00114     int no;             /*number of namespaces */
00115     int size;
00116 }
00117 guththila_xml_writer_namesp_t;
00118 
00119 #define GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE 4
00120 
00121 /*Writer functions*/
00122 
00123 /* 
00124  * Create a writer which writes to a file.
00125  * @param file_name name of the file
00126  * @param env pointer to the environment
00127  */
00128 GUTHTHILA_EXPORT guththila_xml_writer_t *GUTHTHILA_CALL
00129 guththila_create_xml_stream_writer(
00130     char *file_name,
00131     const axutil_env_t * env);
00132 
00133 /* 
00134  * Create a writer which writes to a memory buffer.
00135  * @param env pointer to the environment
00136  */
00137 GUTHTHILA_EXPORT guththila_xml_writer_t *GUTHTHILA_CALL
00138 guththila_create_xml_stream_writer_for_memory(
00139     const axutil_env_t * env);
00140 
00141 /* 
00142  * Jus write what ever the content in the buffer. If the writer was in 
00143  * a start of a element it will close it.
00144  * @param wr pointer to the writer
00145  * @param buff buffer containing the data
00146  * @param size size of the buffer
00147  * @param env pointer to the environment
00148  */
00149 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_to_buffer(
00150     guththila_xml_writer_t * wr,
00151     char *buff,
00152     int size,
00153     const axutil_env_t * env);
00154 
00155 /*
00156  * Write the name space with the given prifix and namespace.
00157  * @param wr pointer to the writer
00158  * @param prefix prefix of the namespace
00159  * @param uri uri of the namespace
00160  * @param env pointer to the environment 
00161  */
00162 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_namespace(
00163     guththila_xml_writer_t * wr,
00164     char *prefix,
00165     char *uri,
00166     const axutil_env_t * env);
00167 
00168 /*
00169  * Write the name space with the given prifix and namespace.
00170  * @param wr pointer to the writer
00171  * @param prefix prefix of the namespace
00172  * @param uri uri of the namespace
00173  * @param local_name name of the attribute
00174  * @param value value of the attribute
00175  * @param env pointer to the environment 
00176  */
00177 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00178 guththila_do_write_attribute_with_prefix_and_namespace(
00179     guththila_xml_writer_t * wr,
00180     char *prefix,
00181     char *uri,
00182     char *local_name,
00183     char *value,
00184     const axutil_env_t * env);
00185 
00186 
00187 /*
00188  * Write the start document element with the xml version and encoding.
00189  * @param wr pointer to the writer
00190  * @param env pointer to the environment 
00191  * @param encoding encoding of the XML.
00192  * @param version xml version
00193  */
00194 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_document(
00195     guththila_xml_writer_t * wr,
00196     const axutil_env_t * env,
00197     char *encoding,
00198     char *version);
00199 
00200 /*
00201  * Write the start element.
00202  * @param wr pointer to the writer
00203  * @param name name of the element
00204  * @param env pointer to the environment 
00205  */
00206 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element(
00207     guththila_xml_writer_t * wr,
00208     char *name,
00209     const axutil_env_t * env);
00210 
00211 /*
00212  * Write the end element. 
00213  * @param wr pointer to the writer
00214  * @param env pointer to the environment 
00215  */
00216 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_end_element(
00217     guththila_xml_writer_t * wr,
00218     const axutil_env_t * env);
00219 
00220 /*
00221  * Not implemented.
00222  * @param wr pointer to the writer
00223  * @param env pointer to the environment 
00224  */
00225 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_close(
00226     guththila_xml_writer_t * wr,
00227     const axutil_env_t * env);
00228 
00229 /*
00230  * Write the text content of a element. 
00231  * @param wr pointer to the writer
00232  * @param buff character string
00233  * @param env pointer to the environment 
00234  */
00235 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_characters(
00236     guththila_xml_writer_t * wr,
00237     char *buff,
00238     const axutil_env_t * env);
00239 
00240 /*
00241  * Write comment with the given text data. 
00242  * @param wr pointer to the writer
00243  * @param buff character string
00244  * @param env pointer to the environment
00245  */ 
00246 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_comment(
00247     guththila_xml_writer_t * wr,
00248     char *buff,
00249     const axutil_env_t * env);
00250 
00251 /*
00252  * Write scape character. 
00253  * @param wr pointer to the writer
00254  * @param buff character string
00255  * @param env pointer to the environment
00256  */ 
00257 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_escape_character(
00258     guththila_xml_writer_t * wr,
00259     char *buff,
00260     const axutil_env_t * env);
00261 
00262 /*
00263  * Start to write an empty element with the given name. 
00264  * @param wr pointer to the writer
00265  * @param name name of the element
00266  * @param env pointer to the environment
00267  */ 
00268 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element(
00269     guththila_xml_writer_t * wr,
00270     char *name,
00271     const axutil_env_t * env);
00272 
00273 /*
00274  * Write a defualt namespace. 
00275  * @param wr pointer to the writer
00276  * @param uri uri of the namespace
00277  * @param env pointer to the environment
00278  */ 
00279 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_default_namespace(
00280     guththila_xml_writer_t * wr,
00281     char *uri,
00282     const axutil_env_t * env);
00283 
00284 /*
00285  * Write a attribute with the given name and value. 
00286  * @param wr pointer to the writer
00287  * @param localname name of the attribute
00288  * @param value value of the attribute
00289  * @param env pointer to the environment
00290  */ 
00291 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute(
00292     guththila_xml_writer_t * wr,
00293     char *localname,
00294     char *value,
00295     const axutil_env_t * env);
00296 
00297 /*
00298  * Write a attribute with the given name and value and namespace. 
00299  * @param wr pointer to the writer
00300  * @param prefix prefix of the attribute
00301  * @param namespace_uri uri of the namespace
00302  * @param localname name of the attribute
00303  * @param value value of the attribute
00304  * @param env pointer to the environment
00305  */ 
00306 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00307 guththila_write_attribute_with_prefix_and_namespace(
00308     guththila_xml_writer_t * wr,
00309     char *prefix,
00310     char *namespace_uri,
00311     char *localname,
00312     char *value,
00313     const axutil_env_t * env);
00314 
00315 /*
00316  * Write a attribute with the given name, value and prefix. If the prefix 
00317  * is not defined previously as a namespace this method will fail. 
00318  * @param wr pointer to the writer
00319  * @param prefix prefix of the attribute
00320  * @param localname name of the attribute
00321  * @param value value of the attribute
00322  * @param env pointer to the environment
00323  */ 
00324 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_prefix(
00325     guththila_xml_writer_t * wr,
00326     char *prefix,
00327     char *localname,
00328     char *value,
00329     const axutil_env_t * env);
00330 
00331 /*
00332  * Write a attribute with the given name, value and namespace uri.  
00333  * If the namespace is not defined previously as a namespace this 
00334  * method will fail. The prefix corresponding to the namespace uri 
00335  * will be used. 
00336  * @param wr pointer to the writer
00337  * @param namesp namespace uri
00338  * @param localname name of the attribute
00339  * @param value value of the attribute
00340  * @param env pointer to the environment
00341  */ 
00342 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_namespace(
00343     guththila_xml_writer_t * wr,
00344     char *namesp,
00345     char *localname,
00346     char *value,
00347     const axutil_env_t * env);
00348 
00349 /*
00350  * Write a start element with prefix and namespace. If the namespace is not 
00351  * defined previoully new namespace will be written. 
00352  * @param wr pointer to the writer
00353  * @param prefix prefix of the attribute
00354  * @param namespace_uri uri
00355  * @param localname name of the attribute
00356  * @param env pointer to the environment
00357  */ 
00358 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00359 guththila_write_start_element_with_prefix_and_namespace(
00360     guththila_xml_writer_t * wr,
00361     char *prefix,
00362     char *namespace_uri,
00363     char *local_name,
00364     const axutil_env_t * env);
00365 
00366 /*
00367  * Write a start element with the namespace. If the namespace is not 
00368  * defined previously method will fail. 
00369  * @param wr pointer to the writer
00370  * @param namespace_uri uri
00371  * @param localname name of the attribute
00372  * @param env pointer to the environment
00373  */ 
00374 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00375 guththila_write_start_element_with_namespace(
00376     guththila_xml_writer_t * wr,
00377     char *namespace_uri,
00378     char *local_name,
00379     const axutil_env_t * env);
00380 
00381 /*
00382  * Write a start element with the prefix. If the prefix is not 
00383  * defined previously method will fail. 
00384  * @param wr pointer to the writer
00385  * @param namespace_uri uri
00386  * @param localname name of the attribute
00387  * @param env pointer to the environment
00388  */ 
00389 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00390 guththila_write_start_element_with_prefix(
00391     guththila_xml_writer_t * wr,
00392     char *prefix,
00393     char *local_name,
00394     const axutil_env_t * env);
00395 
00396 /*
00397  * Write a empty element with prefix and namespace. If the namespace is not 
00398  * defined previoully new namespace will be written. 
00399  * @param wr pointer to the writer
00400  * @param prefix prefix of the attribute
00401  * @param namespace_uri uri
00402  * @param localname name of the attribute
00403  * @param env pointer to the environment
00404  */ 
00405 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00406 guththila_write_empty_element_with_prefix_and_namespace(
00407     guththila_xml_writer_t * wr,
00408     char *prefix,
00409     char *namespace_uri,
00410     char *local_name,
00411     const axutil_env_t * env);
00412 
00413 /*
00414  * Write a empty element with the namespace. If the namespace is not 
00415  * defined previously method will fail. 
00416  * @param wr pointer to the writer
00417  * @param namespace_uri uri
00418  * @param localname name of the attribute
00419  * @param env pointer to the environment
00420  */ 
00421 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00422 guththila_write_empty_element_with_namespace(
00423     guththila_xml_writer_t * wr,
00424     char *namespace_uri,
00425     char *local_name,
00426     const axutil_env_t * env);
00427 
00428 /*
00429  * Write a empty element with the prefix. If the prefix is not 
00430  * defined previously method will fail. 
00431  * @param wr pointer to the writer
00432  * @param namespace_uri uri
00433  * @param localname name of the attribute
00434  * @param env pointer to the environment
00435  */ 
00436 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00437 guththila_write_empty_element_with_prefix(
00438     guththila_xml_writer_t * wr,
00439     char *prefix,
00440     char *local_name,
00441     const axutil_env_t * env);
00442 
00443 /*
00444  * Close all the elements that were started by writing the end elements.
00445  * @param wr pointer to the writer
00446  * @param env pointer to the environment
00447  */ 
00448 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_end_document(
00449     guththila_xml_writer_t * wr,
00450     const axutil_env_t * env);
00451 /* 
00452  * Write a new element with the name, then write the characters as text, 
00453  * then close the element and write a new line.
00454  * @param wr pointer to the writer
00455  * @element_name name of the element
00456  * @characters text of the new element
00457  * @param env pointer to the environment
00458  */
00459 GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_line(
00460     guththila_xml_writer_t * wr,
00461     char *element_name,
00462     char *characters,
00463     const axutil_env_t * env);
00464 
00465 /*
00466  * Get the memory buffer that is written.  
00467  * @param wr pointer to the writer
00468  * @param env pointer to the environment
00469  * @return memory buffer
00470  */
00471 GUTHTHILA_EXPORT char *GUTHTHILA_CALL guththila_get_memory_buffer(
00472     guththila_xml_writer_t * wr,
00473     const axutil_env_t * env);
00474 
00475 /*
00476  * Get the size of the memory buffer. 
00477  * @param wr pointer to the writer
00478  * @param env pointer to the environment
00479  * @return size of the buffer
00480  */
00481 GUTHTHILA_EXPORT unsigned int GUTHTHILA_CALL
00482 guththila_get_memory_buffer_size(
00483     guththila_xml_writer_t * wr,
00484     const axutil_env_t * env);
00485 
00486 /*
00487  * Free the writer. 
00488  * @param wr pointer to the writer
00489  * @param env pointer to the environment
00490  */
00491 GUTHTHILA_EXPORT void GUTHTHILA_CALL guththila_xml_writer_free(
00492     guththila_xml_writer_t * wr,
00493     const axutil_env_t * env);
00494 /*
00495  * Get the prefix for the namespace.
00496  * @param wr pointer to the writer
00497  * @namespace namespace uri
00498  * @param env pointer to the environment
00499  * @return prefix for the namspace uri
00500  */
00501 GUTHTHILA_EXPORT char *GUTHTHILA_CALL guththila_get_prefix_for_namespace(
00502     guththila_xml_writer_t * wr,
00503     char *namespace,
00504     const axutil_env_t * env);
00505 
00506 EXTERN_C_END()
00507 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__initiator__token__builder.html0000644000175000017500000000425011172017604027610 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_initiator_token_builder

Rp_initiator_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_initiator_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__grp_8h-source.html0000644000175000017500000005153511172017604025143 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_grp.h Source File

axis2_svc_grp.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_SVC_GRP_H
00020 #define AXIS2_SVC_GRP_H
00021 
00048 #include <axutil_param_container.h>
00049 #include <axis2_desc.h>
00050 #include <axis2_svc.h>
00051 #include <axis2_svc_grp_ctx.h>
00052 
00053 #ifdef __cplusplus
00054 extern "C"
00055 {
00056 #endif
00057 
00059     typedef struct axis2_svc_grp axis2_svc_grp_t;
00060 
00061     struct axis2_svc;
00062     struct axis2_svc_grp_ctx;
00063 
00070     AXIS2_EXTERN void AXIS2_CALL
00071     axis2_svc_grp_free(
00072         axis2_svc_grp_t * svc_grp,
00073         const axutil_env_t * env);
00074 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     axis2_svc_grp_set_name(
00084         axis2_svc_grp_t * svc_grp,
00085         const axutil_env_t * env,
00086         const axis2_char_t * svc_grp_name);
00087 
00094     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00095     axis2_svc_grp_get_name(
00096         const axis2_svc_grp_t * svc_grp,
00097         const axutil_env_t * env);
00098 
00107     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108     axis2_svc_grp_add_svc(
00109         axis2_svc_grp_t * svc_grp,
00110         const axutil_env_t * env,
00111         struct axis2_svc *svc);
00112 
00121     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
00122                 axis2_svc_grp_get_svc(
00123                     const axis2_svc_grp_t * svc_grp,
00124                     const axutil_env_t * env,
00125                     const axutil_qname_t * svc_qname);
00126 
00134     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00135     axis2_svc_grp_get_all_svcs(
00136         const axis2_svc_grp_t * svc_grp,
00137         const axutil_env_t * env);
00138 
00146     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00147     axis2_svc_grp_remove_svc(
00148         axis2_svc_grp_t * svc_grp,
00149         const axutil_env_t * env,
00150         const axutil_qname_t * svc_qname);
00151 
00160     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00161     axis2_svc_grp_add_param(
00162         axis2_svc_grp_t * svc_grp,
00163         const axutil_env_t * env,
00164         axutil_param_t * param);
00165 
00174     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00175     axis2_svc_grp_get_param(
00176         const axis2_svc_grp_t * svc_grp,
00177         const axutil_env_t * env,
00178         const axis2_char_t * name);
00179 
00187     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00188 
00189     axis2_svc_grp_get_all_params(
00190         const axis2_svc_grp_t * svc_grp,
00191         const axutil_env_t * env);
00192 
00200     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00201     axis2_svc_grp_is_param_locked(
00202         axis2_svc_grp_t * svc_grp,
00203         const axutil_env_t * env,
00204         const axis2_char_t * param_name);
00205 
00213     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00214     axis2_svc_grp_add_module_qname(
00215         axis2_svc_grp_t * svc_grp,
00216         const axutil_env_t * env,
00217         const axutil_qname_t * module_qname);
00218 
00226     AXIS2_EXTERN struct axis2_conf *AXIS2_CALL
00227                 axis2_svc_grp_get_parent(
00228                     const axis2_svc_grp_t * svc_grp,
00229                     const axutil_env_t * env);
00230 
00239     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00240     axis2_svc_grp_set_parent(
00241         axis2_svc_grp_t * svc_grp,
00242         const axutil_env_t * env,
00243         struct axis2_conf *parent);
00244 
00254     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00255     axis2_svc_grp_engage_module(
00256         axis2_svc_grp_t * svc_grp,
00257         const axutil_env_t * env,
00258         const axutil_qname_t * module_qname);
00259 
00267     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00268 
00269     axis2_svc_grp_get_all_module_qnames(
00270         const axis2_svc_grp_t * svc_grp,
00271         const axutil_env_t * env);
00272 
00280     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00281     axis2_svc_grp_add_module_ref(
00282         axis2_svc_grp_t * svc_grp,
00283         const axutil_env_t * env,
00284         const axutil_qname_t * moduleref);
00285 
00293     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00294 
00295     axis2_svc_grp_get_all_module_refs(
00296         const axis2_svc_grp_t * svc_grp,
00297         const axutil_env_t * env);
00298 
00308     AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL
00309 
00310                 axis2_svc_grp_get_svc_grp_ctx(
00311                     const axis2_svc_grp_t * svc_grp,
00312                     const axutil_env_t * env,
00313                     struct axis2_conf_ctx *parent);
00314 
00315     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00316 
00317     axis2_svc_grp_get_param_container(
00318         const axis2_svc_grp_t * svc_grp,
00319         const axutil_env_t * env);
00320 
00326     AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL
00327     axis2_svc_grp_create(
00328         const axutil_env_t * env);
00329 
00337     AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL
00338     axis2_svc_grp_create_with_conf(
00339         const axutil_env_t * env,
00340         struct axis2_conf *conf);
00341 
00348     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00349     axis2_svc_grp_get_base(
00350         const axis2_svc_grp_t * svc_grp,
00351         const axutil_env_t * env);
00352 
00353 #ifdef __cplusplus
00354 }
00355 #endif
00356 #endif                          /* AXIS2_SVC_GRP_H  */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__grp_8h.html0000644000175000017500000003412111172017604023635 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_grp.h File Reference

axis2_svc_grp.h File Reference

#include <axutil_param_container.h>
#include <axis2_desc.h>
#include <axis2_svc.h>
#include <axis2_svc_grp_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_svc_grp 
axis2_svc_grp_t

Functions

AXIS2_EXTERN void axis2_svc_grp_free (axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_set_name (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axis2_char_t *svc_grp_name)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_grp_get_name (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_svc (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc * 
axis2_svc_grp_get_svc (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *svc_qname)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_grp_get_all_svcs (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_remove_svc (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *svc_qname)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_param (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_svc_grp_get_param (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_grp_get_all_params (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_grp_is_param_locked (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_module_qname (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN struct
axis2_conf * 
axis2_svc_grp_get_parent (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_set_parent (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, struct axis2_conf *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_engage_module (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_grp_get_all_module_qnames (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_module_ref (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *moduleref)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_grp_get_all_module_refs (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_grp_ctx * 
axis2_svc_grp_get_svc_grp_ctx (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env, struct axis2_conf_ctx *parent)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_svc_grp_get_param_container (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_grp_t
axis2_svc_grp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_grp_t
axis2_svc_grp_create_with_conf (const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_desc_t
axis2_svc_grp_get_base (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__engine.html0000644000175000017500000011672411172017604024266 0ustar00manjulamanjula00000000000000 Axis2/C: engine

engine


Files

file  axis2_engine.h

Modules

 configuration
 dispatcher
 phases
 phase meta data

Typedefs

typedef struct
axis2_engine 
axis2_engine_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_engine_send (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_receive (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_send_fault (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_receive_fault (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_engine_create_fault_msg_ctx (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *processing_context, const axis2_char_t *code_value, const axis2_char_t *reason_text)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_invoke_phases (axis2_engine_t *engine, const axutil_env_t *env, axutil_array_list_t *phases, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_resume_invocation_phases (axis2_engine_t *engine, const axutil_env_t *env, axutil_array_list_t *phases, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN const
axis2_char_t * 
axis2_engine_get_sender_fault_code (const axis2_engine_t *engine, const axutil_env_t *env, const axis2_char_t *soap_namespace)
AXIS2_EXTERN const
axis2_char_t * 
axis2_engine_get_receiver_fault_code (const axis2_engine_t *engine, const axutil_env_t *env, const axis2_char_t *soap_namespace)
AXIS2_EXTERN void axis2_engine_free (axis2_engine_t *engine, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_resume_receive (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_engine_resume_send (axis2_engine_t *engine, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_engine_t
axis2_engine_create (const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx)

Detailed Description

engine has the send and receive functions that is the heart when providing and consuming services. In Axis2 SOAP engine architecture, all the others parts are build around the concept of the engine. There is only one engine for both the server side and the client side, and the engine is not aware of if it is invoked as an client or a service. engine supports both synchronous and asynchronous messaging modes based on send and receive functions.

Typedef Documentation

typedef struct axis2_engine axis2_engine_t

Type name for struct axis2_engine


Function Documentation

AXIS2_EXTERN axis2_engine_t* axis2_engine_create ( const axutil_env_t env,
axis2_conf_ctx_t conf_ctx 
)

Creates en engine struct instance.

Parameters:
env pointer to environment struct
conf_ctx pointer to configuration context struct
Returns:
pointer to newly created engine struct

AXIS2_EXTERN axis2_msg_ctx_t* axis2_engine_create_fault_msg_ctx ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t processing_context,
const axis2_char_t *  code_value,
const axis2_char_t *  reason_text 
)

Creates a message context that represents the fault state based on current processing state.

Parameters:
engine pointer to engine
env pointer to environment struct
processing_context pointer to message context representing current processing context
code_value pointer to a string containing fault code
reason_text pointer to a string containing reason of the fault
Returns:
pointer to message context representing the fault state

AXIS2_EXTERN void axis2_engine_free ( axis2_engine_t engine,
const axutil_env_t env 
)

Frees engine struct.

Parameters:
engine pointer to engine
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN const axis2_char_t* axis2_engine_get_receiver_fault_code ( const axis2_engine_t engine,
const axutil_env_t env,
const axis2_char_t *  soap_namespace 
)

Gets receiver's SOAP fault code.

Parameters:
engine pointer to engine
env pointer to environment struct
soap_namespace pointer to soap namespace

AXIS2_EXTERN const axis2_char_t* axis2_engine_get_sender_fault_code ( const axis2_engine_t engine,
const axutil_env_t env,
const axis2_char_t *  soap_namespace 
)

Gets sender's SOAP fault code.

Parameters:
engine pointer to engine
env pointer to environment struct
soap_namespace pointer to SOAP namespace
Returns:
pointer to SOAP fault code string

AXIS2_EXTERN axis2_status_t axis2_engine_invoke_phases ( axis2_engine_t engine,
const axutil_env_t env,
axutil_array_list_t phases,
axis2_msg_ctx_t msg_ctx 
)

Invokes the phases in the given array list of phases. The list of phases could be representing one of the flows. The two possible flows are in flow and out flow. Both of those flows can also have fault related representations, in fault flow and out fault flow. Invoking a phase triggers the invocation of handlers the phase contain.

Parameters:
engine pointer to engine
env pointer to environment struct
phases pointer to phases
msg_ctx pointer to message context containing current state
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_receive ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

This methods represents the in flow of the Axis engine, both at the server side as well as the client side. In this function, the execution chain is created using the phases of the in flow. All handlers at each in flow phase, which are ordered in the deployment time are invoked in sequence here.

Parameters:
engine pointer to engine
env pointer to environment struct
msg_ctx pointer to message context representing current state that is used in receiving message
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_receive_fault ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

This is invoked when a SOAP fault is received.

Parameters:
engine pointer to engine
env pointer to environment struct
msg_ctx pointer to message context representing that contains the details of receive state
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_resume_invocation_phases ( axis2_engine_t engine,
const axutil_env_t env,
axutil_array_list_t phases,
axis2_msg_ctx_t msg_ctx 
)

Resumes phase invocation. While invoking the phases, one of the handlers in any phase could determine to pause the invocation. Often pausing happens to wait till some state is reached or some task is complete. Once paused, the invocation has to be resumed using this function, which will resume the invocation from the paused handler in the paused phase and will continue till it is paused again or it completes invoking all the remaining handlers in the remaining phases.

Parameters:
engine pointer to engine
env pointer to environment struct
phases pointer to phases
msg_ctx pointer to message context containing current paused state
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_resume_receive ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Resumes receive operation. It could be the case that receive was paused by one of the in flow handlers. In such a situation, this method could be used to resume the receive operation.

Parameters:
engine pointer to engine
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_resume_send ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Resumes send operation. It could be the case that send was paused by one of the out flow handlers. In such a situation, this method could be used to resume the send operation.

Parameters:
engine pointer to engine
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_send ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

This methods represents the out flow of the Axis engine both at the server side as well as the client side. In this function, the execution chain is created using the phases of the out flow. All handlers at each out flow phase, which are ordered in the deployment time are invoked in sequence here.

Parameters:
engine pointer to engine
env pointer to environment struct
msg_ctx pointer to message context representing current state that is used when sending message
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_engine_send_fault ( axis2_engine_t engine,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Sends a SOAP fault.

Parameters:
engine pointer to engine
env pointer to environment struct
msg_ctx pointer to message context that contains details of fault state
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__grp__ctx_8h.html0000644000175000017500000001757511172017604024670 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_grp_ctx.h File Reference

axis2_svc_grp_ctx.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_svc_ctx.h>
#include <axis2_svc_grp.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_svc_grp_ctx 
axis2_svc_grp_ctx_t

Functions

AXIS2_EXTERN
axis2_svc_grp_ctx_t
axis2_svc_grp_ctx_create (const axutil_env_t *env, struct axis2_svc_grp *svc_grp, struct axis2_conf_ctx *conf_ctx)
AXIS2_EXTERN
axis2_ctx_t
axis2_svc_grp_ctx_get_base (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_svc_grp_ctx_get_parent (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_svc_grp_ctx_free (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_ctx_init (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_grp_ctx_get_id (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_ctx_set_id (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env, const axis2_char_t *id)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_svc_grp_ctx_get_svc_ctx (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_ctx_fill_svc_ctx_map (struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_svc_grp_ctx_get_svc_grp (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_grp_ctx_get_svc_ctx_map (const axis2_svc_grp_ctx_t *svc_grp_ctx, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__layout_8h-source.html0000644000175000017500000001467511172017604024255 0ustar00manjulamanjula00000000000000 Axis2/C: rp_layout.h Source File

rp_layout.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_LAYOUT_H
00019 #define RP_LAYOUT_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_layout_t rp_layout_t;
00034 
00035     AXIS2_EXTERN rp_layout_t *AXIS2_CALL
00036     rp_layout_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_layout_free(
00041         rp_layout_t * layout,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00045     rp_layout_get_value(
00046         rp_layout_t * layout,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_layout_set_value(
00051         rp_layout_t * layout,
00052         const axutil_env_t * env,
00053         axis2_char_t * value);
00054 
00055     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00056     rp_layout_increment_ref(
00057         rp_layout_t * layout,
00058         const axutil_env_t * env);
00059 
00060 #ifdef __cplusplus
00061 }
00062 #endif
00063 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc_8h-source.html0000644000175000017500000016702411172017604024135 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc.h Source File

axis2_svc.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_SVC_H
00020 #define AXIS2_SVC_H
00021 
00047 #include <axutil_param_container.h>
00048 #include <axis2_flow_container.h>
00049 #include <axis2_op.h>
00050 #include <axis2_svc_grp.h>
00051 #include <axutil_qname.h>
00052 #include <axutil_error.h>
00053 #include <axutil_array_list.h>
00054 #include <axis2_const.h>
00055 #include <axis2_phase_resolver.h>
00056 #include <axis2_module_desc.h>
00057 #include <axis2_conf.h>
00058 #include <axutil_string.h>
00059 #include <axutil_stream.h>
00060 
00061 #ifdef __cplusplus
00062 extern "C"
00063 {
00064 #endif
00065 
00067     typedef struct axis2_svc axis2_svc_t;
00068 
00069     struct axis2_svc_grp;
00070     struct axis2_flow_container;
00071     struct axutil_param_container;
00072     struct axis2_module_desc;
00073     struct axis2_conf;
00074 
00081     AXIS2_EXTERN void AXIS2_CALL
00082     axis2_svc_free(
00083         axis2_svc_t * svc,
00084         const axutil_env_t * env);
00085 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axis2_svc_add_op(
00096         axis2_svc_t * svc,
00097         const axutil_env_t * env,
00098         struct axis2_op *op);
00099 
00107     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00108     axis2_svc_get_op_with_qname(
00109         const axis2_svc_t * svc,
00110         const axutil_env_t * env,
00111         const axutil_qname_t * op_qname);
00112 
00123     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00124     axis2_svc_get_rest_op_list_with_method_and_location(
00125         const axis2_svc_t * svc,
00126         const axutil_env_t * env,
00127         const axis2_char_t * http_method,
00128         const axis2_char_t * http_location);
00129 
00130 
00138     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00139     axis2_svc_get_rest_map(
00140         const axis2_svc_t * svc,
00141         const axutil_env_t * env);
00142 
00150     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00151                 axis2_svc_get_op_with_name(
00152                     const axis2_svc_t * svc,
00153                     const axutil_env_t * env,
00154                     const axis2_char_t * op_name);
00155 
00162     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00163     axis2_svc_get_all_ops(
00164         const axis2_svc_t * svc,
00165         const axutil_env_t * env);
00166 
00174     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00175     axis2_svc_set_parent(
00176         axis2_svc_t * svc,
00177         const axutil_env_t * env,
00178         struct axis2_svc_grp *svc_grp);
00179 
00186     AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL
00187                 axis2_svc_get_parent(
00188                     const axis2_svc_t * svc,
00189                     const axutil_env_t * env);
00190 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199     axis2_svc_set_qname(
00200         axis2_svc_t * svc,
00201         const axutil_env_t * env,
00202         const axutil_qname_t * qname);
00203 
00210     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00211     axis2_svc_get_qname(
00212         const axis2_svc_t * svc,
00213         const axutil_env_t * env);
00214 
00223     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00224     axis2_svc_add_param(
00225         axis2_svc_t * svc,
00226         const axutil_env_t * env,
00227         axutil_param_t * param);
00228 
00237     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00238     axis2_svc_get_param(
00239         const axis2_svc_t * svc,
00240         const axutil_env_t * env,
00241         const axis2_char_t * name);
00242 
00250     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00251     axis2_svc_get_all_params(
00252         const axis2_svc_t * svc,
00253         const axutil_env_t * env);
00254 
00262     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00263     axis2_svc_is_param_locked(
00264         axis2_svc_t * svc,
00265         const axutil_env_t * env,
00266         const axis2_char_t * param_name);
00267 
00278     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00279     axis2_svc_engage_module(
00280         axis2_svc_t * svc,
00281         const axutil_env_t * env,
00282         struct axis2_module_desc *module_desc,
00283         struct axis2_conf *conf);
00284 
00295     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00296     axis2_svc_disengage_module(
00297         axis2_svc_t * svc,
00298         const axutil_env_t * env,
00299         struct axis2_module_desc *module_desc,
00300         struct axis2_conf *conf);
00301 
00309     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00310     axis2_svc_is_module_engaged(
00311         axis2_svc_t * svc,
00312         const axutil_env_t * env,
00313         axutil_qname_t * module_qname);
00314 
00321     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00322     axis2_svc_get_engaged_module_list(
00323         const axis2_svc_t * svc,
00324         const axutil_env_t * env);
00325 
00341     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00342     axis2_svc_add_module_ops(
00343         axis2_svc_t * svc,
00344         const axutil_env_t * env,
00345         struct axis2_module_desc *module_desc,
00346         struct axis2_conf *axis2_config);
00347 
00356     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00357 
00358        axis2_svc_add_to_engaged_module_list(axis2_svc_t *svc,
00359        const axutil_env_t *env,
00360        struct axis2_module_desc *module_desc); */
00361 
00368     /*AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00369 
00370        axis2_svc_get_all_engaged_modules(const axis2_svc_t *svc,
00371        const axutil_env_t *env); */
00372 
00380     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00381     axis2_svc_set_style(
00382         axis2_svc_t * svc,
00383         const axutil_env_t * env,
00384         const axis2_char_t * style);
00385 
00392     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00393     axis2_svc_get_style(
00394         const axis2_svc_t * svc,
00395         const axutil_env_t * env);
00396 
00404     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00405 
00406        axis2_svc_get_in_flow(const axis2_svc_t *svc,
00407        const axutil_env_t *env); */
00408 
00417     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00418 
00419        axis2_svc_set_in_flow(axis2_svc_t *svc,
00420        const axutil_env_t *env,
00421        struct axis2_flow *in_flow); */
00422 
00430     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00431 
00432        axis2_svc_get_out_flow(
00433        const axis2_svc_t *svc,
00434        const axutil_env_t *env); */
00435 
00444     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00445 
00446        axis2_svc_set_out_flow(
00447        axis2_svc_t *svc,
00448        const axutil_env_t *env,
00449        struct axis2_flow *out_flow); */
00450 
00458     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00459 
00460        axis2_svc_get_fault_in_flow(
00461        const axis2_svc_t *svc,
00462        const axutil_env_t *env); */
00463 
00472     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00473 
00474        axis2_svc_set_fault_in_flow(
00475        axis2_svc_t *svc,
00476        const axutil_env_t *env,
00477        struct axis2_flow *fault_flow); */
00478 
00486     /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00487 
00488        axis2_svc_get_fault_out_flow(
00489        const axis2_svc_t *svc,
00490        const axutil_env_t *env); */
00491 
00500     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00501 
00502        axis2_svc_set_fault_out_flow(
00503        axis2_svc_t *svc,
00504        const axutil_env_t *env,
00505        struct axis2_flow *fault_flow); */
00506 
00515     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00516                 axis2_svc_get_op_by_soap_action(
00517                     const axis2_svc_t * svc,
00518                     const axutil_env_t * env,
00519                     const axis2_char_t * soap_action);
00520 
00530     /*AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00531 
00532        axis2_svc_get_op_by_soap_action_and_endpoint(
00533        const axis2_svc_t *svc,
00534        const axutil_env_t *env,
00535        const axis2_char_t *soap_action,
00536        const axutil_qname_t *endpoint); */
00537 
00544     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00545     axis2_svc_get_name(
00546         const axis2_svc_t * svc,
00547         const axutil_env_t * env);
00548 
00556     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00557     axis2_svc_set_name(
00558         axis2_svc_t * svc,
00559         const axutil_env_t * env,
00560         const axis2_char_t * svc_name);
00561 
00568     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00569     axis2_svc_set_last_update(
00570         axis2_svc_t * svc,
00571         const axutil_env_t * env);
00572 
00579     AXIS2_EXTERN long AXIS2_CALL
00580     axis2_svc_get_last_update(
00581         const axis2_svc_t * svc,
00582         const axutil_env_t * env);
00583 
00591     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00592     axis2_svc_get_svc_desc(
00593         const axis2_svc_t * svc,
00594         const axutil_env_t * env);
00595 
00602     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00603     axis2_svc_set_svc_desc(
00604         axis2_svc_t * svc,
00605         const axutil_env_t * env,
00606         const axis2_char_t * svc_desc);
00607 
00615     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00616     axis2_svc_get_svc_wsdl_path(
00617         const axis2_svc_t * svc,
00618         const axutil_env_t * env);
00619 
00626     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00627     axis2_svc_set_svc_wsdl_path(
00628         axis2_svc_t * svc,
00629         const axutil_env_t * env,
00630         const axis2_char_t * wsdl_path);
00631 
00639     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00640     axis2_svc_get_svc_folder_path(
00641         const axis2_svc_t * svc,
00642         const axutil_env_t * env);
00643 
00650     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00651     axis2_svc_set_svc_folder_path(
00652         axis2_svc_t * svc,
00653         const axutil_env_t * env,
00654         const axis2_char_t * folder_path);
00655 
00665     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00666     axis2_svc_get_file_name(
00667         const axis2_svc_t * svc,
00668         const axutil_env_t * env);
00669 
00680     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00681     axis2_svc_set_file_name(
00682         axis2_svc_t * svc,
00683         const axutil_env_t * env,
00684         const axis2_char_t * file_name);
00685 
00692     /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00693 
00694        axis2_svc_get_all_endpoints(
00695        const axis2_svc_t *svc,
00696        const axutil_env_t *env); */
00697 
00705     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
00706 
00707        axis2_svc_set_all_endpoints(
00708        axis2_svc_t *svc,
00709        const axutil_env_t *env,
00710        axutil_hash_t *endpoints); */
00711 
00718     /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00719 
00720        axis2_svc_get_namespace(
00721        const axis2_svc_t *svc,
00722        const axutil_env_t *env);
00723      */
00724 
00738     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00739     axis2_svc_add_mapping(
00740         axis2_svc_t * svc,
00741         const axutil_env_t * env,
00742         const axis2_char_t * wsa_action,
00743         struct axis2_op *axis2_op);
00744 
00758     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00759     axis2_svc_add_rest_mapping(
00760         axis2_svc_t * svc,
00761         const axutil_env_t * env,
00762         const axis2_char_t * method,
00763         const axis2_char_t * location,
00764         struct axis2_op *axis2_op);
00765 
00774     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00775     axis2_svc_add_module_qname(
00776         axis2_svc_t * svc,
00777         const axutil_env_t * env,
00778         const axutil_qname_t * module_qname);
00779 
00786     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00787 
00788     axis2_svc_get_all_module_qnames(
00789         const axis2_svc_t * svc,
00790         const axutil_env_t * env);
00791 
00798     /*AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00799 
00800        axis2_svc_is_schema_location_adjusted(
00801        axis2_svc_t *svc,
00802        const axutil_env_t *env);
00803      */
00804 
00812     /*
00813     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00814 
00815        axis2_svc_set_schema_location_adjusted(
00816        axis2_svc_t *svc,
00817        const axutil_env_t *env,
00818        const axis2_bool_t adjusted); */
00819 
00827     /*
00828     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00829 
00830        axis2_svc_axis2_svc_get_schema_mapping_table(
00831        const axis2_svc_t *svc,
00832        const axutil_env_t *env); */
00833 
00842     /*
00843        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00844 
00845            axis2_svc_set_schema_mapping_table(
00846            axis2_svc_t *svc,
00847            const axutil_env_t *env,
00848            axutil_hash_t *table); */
00849 
00856     /*
00857        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00858 
00859            axis2_svc_get_custom_schema_prefix(
00860            const axis2_svc_t *svc,
00861            const axutil_env_t *env); */
00862 
00870     /*
00871        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00872 
00873            axis2_svc_set_custom_schema_prefix(
00874            axis2_svc_t *svc,
00875            const axutil_env_t *env,
00876            const axis2_char_t *prefix); */
00877 
00884     /*
00885     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00886 
00887        axis2_svc_get_custom_schema_suffix(
00888        const axis2_svc_t *svc,
00889        const axutil_env_t *env); */
00890 
00898     /*
00899     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00900 
00901        axis2_svc_set_custom_schema_suffix(
00902        axis2_svc_t *svc,
00903        const axutil_env_t *env,
00904        const axis2_char_t *suffix); */
00905 
00913     /*
00914        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00915 
00916            axis2_svc_print_schema(
00917            axis2_svc_t *svc,
00918            const axutil_env_t *env,
00919            axutil_stream_t *out_stream); */
00920 
00928     /*AXIS2_EXTERN xml_schema_t *AXIS2_CALL
00929 
00930        axis2_svc_get_schema(
00931        const axis2_svc_t *svc,
00932        const axutil_env_t *env,
00933        const int index); */
00934 
00945     /*    AXIS2_EXTERN xml_schema_t *AXIS2_CALL
00946 
00947                 axis2_svc_add_all_namespaces(
00948                     axis2_svc_t *svc,
00949                     const axutil_env_t *env,
00950                     int index);*/
00951 
00959     /*
00960     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00961 
00962        axis2_svc_get_all_schemas(
00963        const axis2_svc_t *svc,
00964        const axutil_env_t *env); */
00965 
00975     /*
00976     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00977 
00978        axis2_svc_add_schema(
00979        axis2_svc_t *svc,
00980        const axutil_env_t *env,
00981        xml_schema_t *schema); */
00982 
00990     /*
00991        AXIS2_EXTERN axis2_status_t AXIS2_CALL
00992 
00993            axis2_svc_add_all_schemas(
00994            axis2_svc_t *svc,
00995            const axutil_env_t *env,
00996            axutil_array_list_t *schemas); */
00997 
01004     /*
01005        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01006 
01007            axis2_svc_get_schema_target_ns(
01008            const axis2_svc_t *svc,
01009            const axutil_env_t *env); */
01010 
01018     /*
01019        AXIS2_EXTERN axis2_status_t AXIS2_CALL
01020 
01021            axis2_svc_set_schema_target_ns(
01022            axis2_svc_t *svc,
01023            const axutil_env_t *env,
01024            const axis2_char_t *ns); */
01025 
01032     /*
01033        AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01034 
01035            axis2_svc_get_schema_target_ns_prefix(
01036            const axis2_svc_t *svc,
01037            const axutil_env_t *env); */
01038 
01046     /*
01047        AXIS2_EXTERN axis2_status_t AXIS2_CALL
01048 
01049            axis2_svc_set_schema_target_ns_prefix(
01050            axis2_svc_t *svc,
01051            const axutil_env_t *env,
01052            const axis2_char_t *prefix); */
01053 
01060     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01061     axis2_svc_get_target_ns(
01062         const axis2_svc_t * svc,
01063         const axutil_env_t * env);
01064 
01072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01073     saxis2_svc_et_target_ns(
01074         axis2_svc_t * svc,
01075         const axutil_env_t * env,
01076         const axis2_char_t * ns);
01077 
01084     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
01085 
01086     axis2_svc_get_target_ns_prefix(
01087         const axis2_svc_t * svc,
01088         const axutil_env_t * env);
01089 
01097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01098     axis2_svc_set_target_ns_prefix(
01099         axis2_svc_t * svc,
01100         const axutil_env_t * env,
01101         const axis2_char_t * prefix);
01102 
01111     /*AXIS2_EXTERN xml_schema_element_t *AXIS2_CALL
01112 
01113        axis2_svc_get_schema_element(
01114        const axis2_svc_t *svc,
01115        const axutil_env_t *env,
01116        const axutil_qname_t *qname); */
01117 
01125     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
01126     gaxis2_svc_et_ns_map(
01127         const axis2_svc_t * svc,
01128         const axutil_env_t * env);
01129 
01137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01138     axis2_svc_set_ns_map(
01139         axis2_svc_t * svc,
01140         const axutil_env_t * env,
01141         axutil_hash_t * ns_map);
01142 
01151     /*AXIS2_EXTERN axis2_status_t AXIS2_CALL
01152 
01153        axis2_svc_populate_schema_mappings(
01154        axis2_svc_t *svc,
01155        const axutil_env_t *env); */
01156 
01157     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
01158 
01159     axis2_svc_get_param_container(
01160         const axis2_svc_t * svc,
01161         const axutil_env_t * env);
01162 
01163     AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
01164 
01165     axis2_svc_get_flow_container(
01166         const axis2_svc_t * svc,
01167         const axutil_env_t * env);
01168 
01174     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
01175     axis2_svc_create(
01176         const axutil_env_t * env);
01177 
01184     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
01185     axis2_svc_create_with_qname(
01186         const axutil_env_t * env,
01187         const axutil_qname_t * qname);
01188 
01189     AXIS2_EXTERN void *AXIS2_CALL
01190     axis2_svc_get_impl_class(
01191         const axis2_svc_t * svc,
01192         const axutil_env_t * env);
01193 
01194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
01195     axis2_svc_set_impl_class(
01196         axis2_svc_t * svc,
01197         const axutil_env_t * env,
01198         void *impl_class);
01199 
01206     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
01207     axis2_svc_get_base(
01208         const axis2_svc_t * svc,
01209         const axutil_env_t * env);
01210 
01211         /* Get the mutex associated with this service 
01212          * @param svc pointer to message
01213      * @param env pointer to environment struct
01214      * @return pointer to a axutil_thread_mutext_t
01215      */
01216         AXIS2_EXTERN axutil_thread_mutex_t * AXIS2_CALL
01217         axis2_svc_get_mutex(
01218                 const axis2_svc_t * svc,
01219                 const axutil_env_t * env);
01221 #ifdef __cplusplus
01222 }
01223 #endif
01224 #endif                          /* AXIS2_SVC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mime__part_8h-source.html0000644000175000017500000002750711172017604025546 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mime_part.h Source File

axiom_mime_part.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXIOM_MIME_PART_H
00019 #define AXIOM_MIME_PART_H
00020 
00026 #include <axutil_utils.h>
00027 #include <axutil_error.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_env.h>
00030 #include <axutil_allocator.h>
00031 #include <axutil_string.h>
00032 #include <axutil_array_list.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038 
00039     typedef struct axiom_mime_part_t axiom_mime_part_t;
00040     
00041     
00042     /* An enum to keep different mime_part types */
00043 
00044     typedef enum axiom_mime_part_type_t
00045     {
00046 
00048         AXIOM_MIME_PART_BUFFER = 0,
00049         
00050         /* A file */
00051         AXIOM_MIME_PART_FILE,
00052 
00053         /* User specified callback */
00054         AXIOM_MIME_PART_CALLBACK,
00055         
00056         /* unknown type*/
00057         AXIOM_MIME_PART_UNKNOWN
00058         
00059     } axiom_mime_part_type_t;
00060     
00061     struct axiom_mime_part_t
00062     {
00063         /* This is when the mime part is a buffer.
00064          * This will be null when the part is a file */
00065         axis2_byte_t *part;
00066 
00067         /* This is to keep file name when the part is a file
00068          * NULL when the part is a buffer */
00069         axis2_char_t *file_name;
00070 
00071         /* Size of the part. In the case of buffer this is 
00072          * the buffer size and in the case of file this is 
00073            the file size */
00074         int part_size;    
00075 
00076         /* This is one from the above defined enum */
00077         axiom_mime_part_type_t type;
00078 
00079         /* This is required in the case of the callback */
00080         void *user_param;
00081     };
00082 
00083 
00084 
00085 
00086     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00087     axiom_mime_part_get_content_type_for_mime(
00088         const axutil_env_t * env,
00089         axis2_char_t * boundary,
00090         axis2_char_t * content_id,
00091         axis2_char_t * char_set_encoding,
00092         const axis2_char_t * soap_content_type);
00093 
00094     
00100     AXIS2_EXTERN axiom_mime_part_t *AXIS2_CALL 
00101     axiom_mime_part_create(
00102         const axutil_env_t *env);
00103 
00104     /* This method will create the output part 
00105      * list.*/
00106 
00107     AXIS2_EXTERN axutil_array_list_t  *AXIS2_CALL
00108     axiom_mime_part_create_part_list(
00109         const axutil_env_t *env,
00110         axis2_char_t *soap_body,
00111         axutil_array_list_t *binary_node_list,
00112         axis2_char_t *boundary,
00113         axis2_char_t *content_id,
00114         axis2_char_t *char_set_encoding,
00115         const axis2_char_t *soap_content_type);
00116 
00117 
00118     AXIS2_EXTERN void AXIS2_CALL
00119     axiom_mime_part_free(
00120         axiom_mime_part_t *mime_part,
00121         const axutil_env_t *env);
00122 
00123     
00124 
00125 
00128 #ifdef __cplusplus
00129 }
00130 #endif
00131 #endif                          /* AXIOM_MIME_PART_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__supporting__tokens__builder.html0000644000175000017500000000426211172017604030206 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_supporting_tokens_builder

Rp_supporting_tokens_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_supporting_tokens_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__rm__assertion__builder_8h-source.html0000644000175000017500000001263711172017604030052 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_rm_assertion_builder.h Source File

axis2_rm_assertion_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXIS2_RM_ASSERTION_BUILDER_H
00019 #define AXIS2_RM_ASSERTION_BUILDER_H
00020 
00026 #include <neethi_constants.h>
00027 #include <axis2_rm_assertion.h>
00028 #include <neethi_assertion.h>
00029 #include <neethi_includes.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036    AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     axis2_rm_assertion_builder_build(
00038         const axutil_env_t *env,
00039         axiom_node_t *rm_assertion_node,
00040         axiom_element_t *rm_assertion_ele);
00041  
00042 
00043 #ifdef __cplusplus
00044 }
00045 #endif
00046 #endif

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__bootstrap__policy__builder.html0000644000175000017500000000425511172017604030007 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_bootstrap_policy_builder

Rp_bootstrap_policy_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_bootstrap_policy_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__core__utils.html0000644000175000017500000002105711172017604025322 0ustar00manjulamanjula00000000000000 Axis2/C: Core Utils

Core Utils


Modules

 Core DLL description

Functions

AXIS2_EXTERN
axis2_msg_ctx_t
axis2_core_utils_create_out_msg_ctx (const axutil_env_t *env, axis2_msg_ctx_t *in_msg_ctx)
AXIS2_EXTERN void axis2_core_utils_reset_out_msg_ctx (const axutil_env_t *env, axis2_msg_ctx_t *out_msg_ctx)
AXIS2_EXTERN
axutil_qname_t * 
axis2_core_utils_get_module_qname (const axutil_env_t *env, const axis2_char_t *name, const axis2_char_t *version)
AXIS2_EXTERN
axis2_status_t 
axis2_core_utils_calculate_default_module_version (const axutil_env_t *env, axutil_hash_t *modules_map, struct axis2_conf *axis_conf)
AXIS2_EXTERN
axis2_char_t * 
axis2_core_utils_get_module_name (const axutil_env_t *env, axis2_char_t *module_name)
AXIS2_EXTERN
axis2_char_t * 
axis2_core_utils_get_module_version (const axutil_env_t *env, axis2_char_t *module_name)
AXIS2_EXTERN axis2_bool_t axis2_core_utils_is_latest_mod_ver (const axutil_env_t *env, axis2_char_t *module_ver, axis2_char_t *current_def_ver)
AXIS2_EXTERN axis2_op_taxis2_core_utils_get_rest_op_with_method_and_location (axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *location, axutil_array_list_t *param_keys, axutil_array_list_t *param_values)
AXIS2_EXTERN
axis2_status_t 
axis2_core_utils_prepare_rest_mapping (const axutil_env_t *env, axis2_char_t *url, axutil_hash_t *rest_map, axis2_op_t *op_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_core_utils_free_rest_map (const axutil_env_t *env, axutil_hash_t *rest_map)

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__phase__meta.html0000644000175000017500000002042511172017604025256 0ustar00manjulamanjula00000000000000 Axis2/C: phase meta data

phase meta data
[engine]


Files

file  axis2_conf.h
 Axis2 configuration interface.

Defines

#define AXIS2_PHASE_TRANSPORT_IN   "Transport"
#define AXIS2_PHASE_PRE_DISPATCH   "PreDispatch"
#define AXIS2_PHASE_DISPATCH   "Dispatch"
#define AXIS2_PHASE_POST_DISPATCH   "PostDispatch"
#define AXIS2_PHASE_POLICY_DETERMINATION   "PolicyDetermination"
#define AXIS2_PHASE_MESSAGE_PROCESSING   "MessageProcessing"
#define AXIS2_PHASE_MESSAGE_OUT   "MessageOut"
#define AXIS2_TRANSPORT_PHASE   "TRANSPORT"

Define Documentation

#define AXIS2_PHASE_DISPATCH   "Dispatch"

phase dispatch

#define AXIS2_PHASE_MESSAGE_OUT   "MessageOut"

phase message out

#define AXIS2_PHASE_MESSAGE_PROCESSING   "MessageProcessing"

phase message processing

#define AXIS2_PHASE_POLICY_DETERMINATION   "PolicyDetermination"

phase policy determination

#define AXIS2_PHASE_POST_DISPATCH   "PostDispatch"

phase post dispatch

#define AXIS2_PHASE_PRE_DISPATCH   "PreDispatch"

phase pre dispatch

#define AXIS2_PHASE_TRANSPORT_IN   "Transport"

Axis2 in flow Axis2 out flow Axis2 fault in flow Axis2 fault out flow phase transport in

#define AXIS2_TRANSPORT_PHASE   "TRANSPORT"

All the handlers inside transport_sender and tranport_recievre in axis2.xml gose to this phase


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__xml__writer.html0000644000175000017500000026016211172017604025437 0ustar00manjulamanjula00000000000000 Axis2/C: XML writer

XML writer
[parser]


Classes

struct  axiom_xml_writer_ops
 axiom_xml_writer ops Encapsulator struct for ops of axiom_xml_writer More...
struct  axiom_xml_writer
 axis2_pull_parser struct Axis2 OM pull_parser More...

Functions

AXIS2_EXTERN
axiom_xml_writer_t
axiom_xml_writer_create (const axutil_env_t *env, axis2_char_t *filename, axis2_char_t *encoding, int is_prefix_default, int compression)
AXIS2_EXTERN
axiom_xml_writer_t
axiom_xml_writer_create_for_memory (const axutil_env_t *env, axis2_char_t *encoding, int is_prefix_default, int compression, int type)
AXIS2_EXTERN void axiom_xml_writer_free (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_element (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_end_start_element (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_element_with_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_element_with_namespace_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_empty_element (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_empty_element_with_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_empty_element_with_namespace_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_end_element (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_end_document (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_attribute (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_attribute_with_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_attribute_with_namespace_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri, axis2_char_t *prefix)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_default_namespace (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *namespace_uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_comment (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_processing_instruction (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_processing_instruction_data (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target, axis2_char_t *data)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_cdata (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *data)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_dtd (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *dtd)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_entity_ref (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_document (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_document_with_version (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_start_document_with_version_encoding (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version, axis2_char_t *encoding)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_characters (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_writer_get_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_set_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_set_default_prefix (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_encoded (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text, int in_attr)
AXIS2_EXTERN void * axiom_xml_writer_get_xml (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN unsigned int axiom_xml_writer_get_xml_size (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN int axiom_xml_writer_get_type (axiom_xml_writer_t *writer, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_write_raw (axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *content)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_writer_flush (axiom_xml_writer_t *writer, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_xml_writer_t* axiom_xml_writer_create ( const axutil_env_t env,
axis2_char_t *  filename,
axis2_char_t *  encoding,
int  is_prefix_default,
int  compression 
)

create function for axiom_xml_writer

Parameters:
env environment
filename filename
encoding encoding
is_prefix_default 
compression return xml writer wrapper structure

AXIS2_EXTERN axiom_xml_writer_t* axiom_xml_writer_create_for_memory ( const axutil_env_t env,
axis2_char_t *  encoding,
int  is_prefix_default,
int  compression,
int  type 
)

create fuction for xml writer for memory buffer

Parameters:
env environment struct, must not be null
env environment
encoding encoding
is_prefix_default 
compression 
Returns:
xml writer wrapper structure.

AXIS2_EXTERN axis2_status_t axiom_xml_writer_end_start_element ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_flush ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axiom_xml_writer_free ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

free method for axiom xml writer

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_char_t* axiom_xml_writer_get_prefix ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN int axiom_xml_writer_get_type ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
size of the xml

AXIS2_EXTERN void* axiom_xml_writer_get_xml ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN unsigned int axiom_xml_writer_get_xml_size ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:

AXIS2_EXTERN axis2_status_t axiom_xml_writer_set_default_prefix ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_set_prefix ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  prefix,
axis2_char_t *  uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
prefix

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_attribute ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  value 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the element
value value of the element
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_attribute_with_namespace ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  value,
axis2_char_t *  namespace_uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the element
value value of the element
uri of the namespace
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_attribute_with_namespace_prefix ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  value,
axis2_char_t *  namespace_uri,
axis2_char_t *  prefix 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the element
value value of the element
uri of the namespace
prefix of the namespace
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_cdata ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  data 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_characters ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  text 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_comment ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  value 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_default_namespace ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  namespace_uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_dtd ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  dtd 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_empty_element ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the element
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_empty_element_with_namespace ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  namespace_uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the element
namespace_uri uri of the namespace
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_empty_element_with_namespace_prefix ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  namespace_uri,
axis2_char_t *  prefix 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the element
namespace_uri uri of the namespace
prefix prefix of the namespace
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_encoded ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  text,
int  in_attr 
)

sets the default prefix

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_end_document ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_end_element ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_entity_ref ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  name 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_namespace ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  prefix,
axis2_char_t *  namespace_uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
prefix prefix of the namespace
uri of the namespace
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_processing_instruction ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  target 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_processing_instruction_data ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  target,
axis2_char_t *  data 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_raw ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  content 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
type

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_start_document ( axiom_xml_writer_t writer,
const axutil_env_t env 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_start_document_with_version ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  version 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_start_document_with_version_encoding ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  version,
axis2_char_t *  encoding 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_start_element ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname local name of the start element
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_start_element_with_namespace ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  namespace_uri 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_xml_writer_write_start_element_with_namespace_prefix ( axiom_xml_writer_t writer,
const axutil_env_t env,
axis2_char_t *  localname,
axis2_char_t *  namespace_uri,
axis2_char_t *  prefix 
)

Parameters:
writer pointer to the OM XML Writer struct
env environment struct, must not be null
localname localname of the start element
namespace_uri namespace uri of that element
prefix prefix of that namespace
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__out__transport__info_8h-source.html0000644000175000017500000002256111172017604027572 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_out_transport_info.h Source File

axis2_out_transport_info.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_OUT_TRANSPORT_INFO_H
00020 #define AXIS2_OUT_TRANSPORT_INFO_H
00021 
00034 #include <axis2_const.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_out_transport_info axis2_out_transport_info_t;
00045 
00046     typedef struct axis2_out_transport_info_ops axis2_out_transport_info_ops_t;
00047 
00048     struct axis2_out_transport_info_ops
00049     {
00050         axis2_status_t(
00051             AXIS2_CALL
00052             * set_content_type)(
00053                 axis2_out_transport_info_t * info,
00054                 const axutil_env_t * env,
00055                 const axis2_char_t * content_type);
00056 
00057         axis2_status_t(
00058             AXIS2_CALL
00059             * set_char_encoding)(
00060                 axis2_out_transport_info_t * info,
00061                 const axutil_env_t * env,
00062                 const axis2_char_t * encoding);
00063 
00064         void(
00065             AXIS2_CALL
00066             * free)(
00067                 axis2_out_transport_info_t * info,
00068                 const axutil_env_t * env);
00069     };
00070 
00071     struct axis2_out_transport_info
00072     {
00073         const axis2_out_transport_info_ops_t *ops;
00074     };
00075 
00077 #define AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00078                env, content_type) ((out_transport_info->ops)->set_content_type(out_transport_info, env, content_type))
00079 
00081 #define AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, \
00082                env, encoding) ((out_transport_info->ops)->set_char_encoding(out_transport_info, env, encoding))
00083 
00085 #define AXIS2_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00086                     ((out_transport_info->ops)->free(out_transport_info, env))
00087 
00089 #ifdef __cplusplus
00090 }
00091 #endif
00092 #endif                          /* AXIS2_OUT_TRANSPORT_INFO_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__network__handler_8h-source.html0000644000175000017500000004120311172017604027135 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_network_handler.h Source File

axutil_network_handler.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain count copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_NETWORK_HANDLER_H
00019 #define AXUTIL_NETWORK_HANDLER_H
00020 
00021 #include <axutil_utils.h>
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_env.h>
00024 #include <sys/types.h>
00025 #include <platforms/axutil_platform_auto_sense.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00044     AXIS2_EXTERN axis2_socket_t AXIS2_CALL
00045 
00046     axutil_network_handler_open_socket(
00047         const axutil_env_t * env,
00048         char *server,
00049         int port);
00050 
00056     AXIS2_EXTERN axis2_socket_t AXIS2_CALL
00057 
00058     axutil_network_handler_create_server_socket(
00059         const axutil_env_t * env,
00060         int port);
00061 
00067     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00068 
00069     axutil_network_handler_close_socket(
00070         const axutil_env_t * env,
00071         axis2_socket_t socket);
00072 
00080     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00081 
00082     axutil_network_handler_set_sock_option(
00083         const axutil_env_t * env,
00084         axis2_socket_t socket,
00085         int option,
00086         int value);
00087 
00093     AXIS2_EXTERN axis2_socket_t AXIS2_CALL
00094 
00095     axutil_network_handler_svr_socket_accept(
00096         const axutil_env_t * env,
00097         axis2_socket_t socket);
00098 
00104     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00105     axutil_network_handler_get_svr_ip(
00106         const axutil_env_t * env,
00107         axis2_socket_t socket);
00108 
00109     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00110     axutil_network_handler_get_peer_ip(
00111         const axutil_env_t * env,
00112         axis2_socket_t socket);
00113 
00114         /* 
00115          * Create a datagram socket. 
00116          * @param env pointer to env
00117          * @return a datagram socket
00118          */
00119         AXIS2_EXTERN axis2_socket_t AXIS2_CALL
00120         axutil_network_handler_open_dgram_socket(const axutil_env_t *env);
00121 
00122         /*
00123          * Send a UDP packet to the given source and port address.
00124          * Read a incoming UDP packet from the port and server address.
00125          * @param env pointer to the env structure
00126          * @param socket a datagram socket
00127          * @param buffer a buffer containing the data to be sent
00128          * @param buf_len length of the buffer
00129          * @param addr address of the source field
00130          * @param port udp port number
00131          * @return success if everything goes well
00132          */
00133         AXIS2_EXTERN axis2_status_t AXIS2_CALL 
00134         axutil_network_handler_send_dgram(const axutil_env_t *env, axis2_socket_t socket, 
00135                                                                  axis2_char_t *buff, int *buf_len, 
00136                                                                  axis2_char_t *addr, int dest_port, int *source_port);
00137 
00138         /* 
00139          * Read a incoming UDP packet from the port and server address.
00140          * @param env pointer to the env structure
00141          * @param socket a datagram socket
00142          * @param buffer a buffer allocated and passed to be filled
00143          * @param buf_len length of the buffer allocated. In return buffer len 
00144                           contains the length of the data read
00145          * @param addr address of the sender. This is a return value.
00146          * @param port senders port address. Return value
00147          * @return if everything goes well return success 
00148          */
00149         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00150         axutil_network_handler_read_dgram(const axutil_env_t *env, axis2_socket_t socket, 
00151                                                                          axis2_char_t *buffer, int *buf_len,
00152                                                                          axis2_char_t **addr, int *port);
00153 
00154         /* 
00155          * Create a datagram socket to receive incoming UDP packets.
00156          * @param env a pointer to the env structure
00157          * @param port udp port to listen
00158          * @return AXIS2_SUCCESS if everything goes well
00159          */
00160         AXIS2_EXTERN axis2_socket_t AXIS2_CALL
00161         axutil_network_handler_create_dgram_svr_socket(
00162                                                                         const axutil_env_t *env, 
00163                                                                         int port);
00164 
00165         /* 
00166          * Bind a socket to the specified address
00167          * @param env a pointer to the env structure
00168          * @param sock socket
00169          * @param port port number to bind to
00170          * @return AXIS2_SUCCESS if binding is performed
00171          */
00172         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173         axutil_network_handler_bind_socket(const axutil_env_t *env, 
00174                                                                         axis2_socket_t sock, int port);
00175 
00176         /* 
00177          * Create a multicast socket for listening on the given port. 
00178          * @param env a pointer to the env structure
00179          * @param port udp port to listen
00180          * @param mul_addr multicast address to join. The address should be valid and in dotted format.
00181          * @param ttl TTL value. 
00182          * @return AXIS2_SUCCESS if everything goes well.s
00183          */
00184         AXIS2_EXTERN axis2_socket_t AXIS2_CALL
00185         axutil_network_hadler_create_multicast_svr_socket(const axutil_env_t *env, 
00186                                                                         int port, axis2_char_t *mul_addr);
00187 
00190 #ifdef __cplusplus
00191 }
00192 #endif
00193 
00194 #endif                          /* AXIS2_NETWORK_HANDLER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__date__time_8h.html0000644000175000017500000004160611172017604024413 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_date_time.h File Reference

axutil_date_time.h File Reference

axis2-util More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_date_time 
axutil_date_time_t

Enumerations

enum  axutil_date_time_comp_result_t {
  AXIS2_DATE_TIME_COMP_RES_FAILURE = -1, AXIS2_DATE_TIME_COMP_RES_UNKNOWN, AXIS2_DATE_TIME_COMP_RES_EXPIRED, AXIS2_DATE_TIME_COMP_RES_EQUAL,
  AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED
}

Functions

AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_create_with_offset (const axutil_env_t *env, int offset)
AXIS2_EXTERN void axutil_date_time_free (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_time (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *time_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_date (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_date_time (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_time_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_set_date_time (axutil_date_time_t *date_time, const axutil_env_t *env, int year, int month, int date, int hour, int min, int second, int milliseconds)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_time (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date_time (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date_time_without_millisecond (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_year (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_month (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_date (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_hour (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_minute (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_second (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_msec (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axutil_date_time_comp_result_t 
axutil_date_time_compare (axutil_date_time_t *date_time, const axutil_env_t *env, axutil_date_time_t *ref)
AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_utc_to_local (axutil_date_time_t *date_time, const axutil_env_t *env, axis2_bool_t is_positive, int hour, int min)
AXIS2_EXTERN
axutil_date_time_t * 
axutil_date_time_local_to_utc (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_time_zone_hour (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN int axutil_date_time_get_time_zone_minute (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_date_time_is_time_zone_positive (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_set_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env, axis2_bool_t is_positive, int hour, int min)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_date_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_time_str)
AXIS2_EXTERN
axis2_status_t 
axutil_date_time_deserialize_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *time_str)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_date_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_date_time_serialize_time_with_time_zone (axutil_date_time_t *date_time, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axutil_date_time_is_utc (axutil_date_time_t *date_time, const axutil_env_t *env)


Detailed Description

axis2-util


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/dir_df3a7695d5a9e696f30b948b566829e7.html0000644000175000017500000021211211172017604025312 0ustar00manjulamanjula00000000000000 Axis2/C: /home/manjula/release/c/deploy/include/axis2-1.6.0/ Directory Reference

axis2-1.6.0 Directory Reference


Files

file  axiom.h [code]
 includes all headers in OM
file  axiom_attribute.h [code]
 om attribute struct represents an xml attribute
file  axiom_child_element_iterator.h [code]
 this is the iterator for om elemnts
file  axiom_children_iterator.h [code]
 this is the iterator for om nodes
file  axiom_children_qname_iterator.h [code]
 this is the iterator for om nodes using qname
file  axiom_children_with_specific_attribute_iterator.h [code]
 this is the iterator for om nodes
file  axiom_comment.h [code]
 defines axiom_comment_t struct, and manipulation functions
file  axiom_data_handler.h [code]
 axis2 data_handler interface
file  axiom_data_source.h [code]
 Axis2 AXIOM XML data_source.
file  axiom_defines.h [code]
file  axiom_doctype.h [code]
 defines struct representing xml DTD and its manipulation functions
file  axiom_document.h [code]
 om_document represents an XML document
file  axiom_element.h [code]
file  axiom_mime_const.h [code]
file  axiom_mime_parser.h [code]
 axis2 mime_parser interface
file  axiom_mime_part.h [code]
 axis2 mime_part interface
file  axiom_mtom_caching_callback.h [code]
 Caching callback for mime parser.
file  axiom_mtom_sending_callback.h [code]
 sending callback for attachment sending
file  axiom_namespace.h [code]
file  axiom_navigator.h [code]
file  axiom_node.h [code]
 defines axiom_node struct
file  axiom_output.h [code]
file  axiom_processing_instruction.h [code]
file  axiom_soap.h [code]
 includes all SOAP related headers
file  axiom_soap_body.h [code]
 axiom_soap_body struct
file  axiom_soap_builder.h [code]
 axiom_soap_builder struct
file  axiom_soap_const.h [code]
file  axiom_soap_envelope.h [code]
 axiom_soap_envelope struct corresponds to root element of soap message
file  axiom_soap_fault.h [code]
 axiom_soap_fault struct
file  axiom_soap_fault_code.h [code]
 axiom_soap_fault_code struct
file  axiom_soap_fault_detail.h [code]
 axiom_soap_fault_detail struct
file  axiom_soap_fault_node.h [code]
 axiom_soap_fault_node struct
file  axiom_soap_fault_reason.h [code]
 axiom_soap_fault_reason
file  axiom_soap_fault_role.h [code]
 axiom_soap_fault_role
file  axiom_soap_fault_sub_code.h [code]
 axiom_soap_fault_sub_code struct
file  axiom_soap_fault_text.h [code]
 axiom_soap_fault_text
file  axiom_soap_fault_value.h [code]
 axiom_soap_fault_value
file  axiom_soap_header.h [code]
 axiom_soap_header struct
file  axiom_soap_header_block.h [code]
 axiom_soap_header_block struct
file  axiom_stax_builder.h [code]
file  axiom_text.h [code]
file  axiom_util.h [code]
file  axiom_xml_reader.h [code]
 this is the parser abstraction layer for axis2
file  axiom_xml_writer.h [code]
 this is the parser abstraction layer for axis2
file  axiom_xpath.h [code]
file  axis2_addr.h [code]
file  axis2_addr_mod.h [code]
file  axis2_any_content_type.h [code]
file  axis2_async_result.h [code]
file  axis2_callback.h [code]
file  axis2_callback_recv.h [code]
file  axis2_client.h [code]
file  axis2_conf.h [code]
 Axis2 configuration interface.
file  axis2_conf_ctx.h [code]
file  axis2_conf_init.h [code]
file  axis2_const.h [code]
file  axis2_core_dll_desc.h [code]
 Axis2 Core dll_desc interface.
file  axis2_core_utils.h [code]
file  axis2_ctx.h [code]
file  axis2_defines.h [code]
 Useful definitions, which may have platform concerns.
file  axis2_desc.h [code]
file  axis2_description.h [code]
file  axis2_disp.h [code]
file  axis2_endpoint_ref.h [code]
file  axis2_engine.h [code]
file  axis2_flow.h [code]
file  axis2_flow_container.h [code]
file  axis2_handler.h [code]
file  axis2_handler_desc.h [code]
file  axis2_http_accept_record.h [code]
 Axis2 HTTP Accept record.
file  axis2_http_client.h [code]
 axis2 HTTP Header name:value pair implementation
file  axis2_http_header.h [code]
 axis2 HTTP Header name:value pair implementation
file  axis2_http_out_transport_info.h [code]
 axis2 HTTP Out Transport Info
file  axis2_http_request_line.h [code]
 axis2 HTTP Request Line
file  axis2_http_response_writer.h [code]
 axis2 Response Writer
file  axis2_http_sender.h [code]
 axis2 SOAP over HTTP sender
file  axis2_http_server.h [code]
 axis2 HTTP Server implementation
file  axis2_http_simple_request.h [code]
 axis2 HTTP Simple Request
file  axis2_http_simple_response.h [code]
file  axis2_http_status_line.h [code]
 axis2 HTTP Status Line
file  axis2_http_svr_thread.h [code]
 axis2 HTTP server listning thread implementation
file  axis2_http_transport.h [code]
file  axis2_http_transport_sender.h [code]
 axis2 HTTP Transport Sender (Handler) implementation
file  axis2_http_transport_utils.h [code]
 axis2 HTTP Transport Utility functions This file includes functions that handles soap and rest request that comes to the engine via HTTP protocol.
file  axis2_http_worker.h [code]
 axis2 HTTP Worker
file  axis2_listener_manager.h [code]
file  axis2_module.h [code]
file  axis2_module_desc.h [code]
file  axis2_msg.h [code]
file  axis2_msg_ctx.h [code]
file  axis2_msg_info_headers.h [code]
file  axis2_msg_recv.h [code]
 Axis Message Receiver interface. Message Receiver struct. This interface is extended by custom message receivers.
file  axis2_op.h [code]
file  axis2_op_client.h [code]
file  axis2_op_ctx.h [code]
file  axis2_options.h [code]
file  axis2_out_transport_info.h [code]
 axis2 Out Transport Info
file  axis2_phase.h [code]
file  axis2_phase_holder.h [code]
file  axis2_phase_meta.h [code]
file  axis2_phase_resolver.h [code]
file  axis2_phase_rule.h [code]
file  axis2_phases_info.h [code]
file  axis2_policy_include.h [code]
file  axis2_raw_xml_in_out_msg_recv.h [code]
file  axis2_relates_to.h [code]
file  axis2_rm_assertion.h [code]
file  axis2_rm_assertion_builder.h [code]
file  axis2_simple_http_svr_conn.h [code]
 Axis2 simple http server connection.
file  axis2_stub.h [code]
file  axis2_svc.h [code]
file  axis2_svc_client.h [code]
file  axis2_svc_ctx.h [code]
file  axis2_svc_grp.h [code]
file  axis2_svc_grp_ctx.h [code]
file  axis2_svc_name.h [code]
file  axis2_svc_skeleton.h [code]
file  axis2_svr_callback.h [code]
 axis Server Callback interface
file  axis2_thread_mutex.h [code]
file  axis2_transport_in_desc.h [code]
 Axis2 description transport in interface.
file  axis2_transport_out_desc.h [code]
file  axis2_transport_receiver.h [code]
 Axis2 description transport receiver interface.
file  axis2_transport_sender.h [code]
 Axis2 description transport sender interface.
file  axis2_util.h [code]
file  axutil_allocator.h [code]
 Axis2 memory allocator interface.
file  axutil_array_list.h [code]
 Axis2 array_list interface.
file  axutil_base64.h [code]
file  axutil_base64_binary.h [code]
 axis2-util base64 encoding holder
file  axutil_class_loader.h [code]
 axis2 class loader interface
file  axutil_config.h [code]
file  axutil_date_time.h [code]
 axis2-util
file  axutil_date_time_util.h [code]
file  axutil_digest_calc.h [code]
 implements the calculations of H(A1), H(A2), request-digest and response-digest for Axis2 based on rfc2617.
file  axutil_dir_handler.h [code]
file  axutil_dll_desc.h [code]
 Axis2 dll_desc interface.
file  axutil_duration.h [code]
file  axutil_env.h [code]
 Axis2 environment that acts as a container for error, log and memory allocator routines.
file  axutil_error.h [code]
file  axutil_error_default.h [code]
file  axutil_file.h [code]
file  axutil_file_handler.h [code]
file  axutil_generic_obj.h [code]
file  axutil_hash.h [code]
 Axis2 Hash Tables.
file  axutil_http_chunked_stream.h [code]
 axis2 HTTP Chunked Stream
file  axutil_linked_list.h [code]
 Axis2 linked_list interface.
file  axutil_log.h [code]
file  axutil_log_default.h [code]
file  axutil_md5.h [code]
 MD5 Implementation for Axis2 based on rfc1321.
file  axutil_network_handler.h [code]
file  axutil_param.h [code]
 Axis2 param interface.
file  axutil_param_container.h [code]
 Axis2 Param container interface.
file  axutil_properties.h [code]
file  axutil_property.h [code]
file  axutil_qname.h [code]
 represents a qualified name
file  axutil_rand.h [code]
 A simple thread safe and reentrant random number generator.
file  axutil_stack.h [code]
 represents a stack
file  axutil_stream.h [code]
file  axutil_string.h [code]
file  axutil_string_util.h [code]
file  axutil_thread.h [code]
 axis2 thread api
file  axutil_thread_pool.h [code]
 Axis2 thread pool interface.
file  axutil_types.h [code]
file  axutil_uri.h [code]
 AXIS2-UTIL URI Routines axutil_uri.h: External Interface of axutil_uri.c.
file  axutil_url.h [code]
 axis2 URL container implementation
file  axutil_utils.h [code]
file  axutil_utils_defines.h [code]
file  axutil_uuid_gen.h [code]
file  axutil_version.h [code]
file  config.h [code]
file  guththila.h [code]
file  guththila_attribute.h [code]
file  guththila_buffer.h [code]
file  guththila_defines.h [code]
file  guththila_error.h [code]
file  guththila_namespace.h [code]
file  guththila_reader.h [code]
file  guththila_stack.h [code]
file  guththila_token.h [code]
file  guththila_xml_writer.h [code]
file  neethi_all.h [code]
file  neethi_assertion.h [code]
file  neethi_assertion_builder.h [code]
file  neethi_constants.h [code]
 includes all the string constants
file  neethi_engine.h [code]
file  neethi_exactlyone.h [code]
file  neethi_includes.h [code]
 includes most useful headers for policy
file  neethi_mtom_assertion_checker.h [code]
file  neethi_operator.h [code]
file  neethi_policy.h [code]
file  neethi_reference.h [code]
file  neethi_registry.h [code]
file  neethi_util.h [code]
file  rp_algorithmsuite.h [code]
file  rp_algorithmsuite_builder.h [code]
file  rp_asymmetric_binding.h [code]
file  rp_asymmetric_binding_builder.h [code]
file  rp_binding_commons.h [code]
file  rp_bootstrap_policy_builder.h [code]
file  rp_builders.h [code]
file  rp_defines.h [code]
file  rp_element.h [code]
file  rp_encryption_token_builder.h [code]
file  rp_header.h [code]
file  rp_https_token.h [code]
file  rp_https_token_builder.h [code]
file  rp_includes.h [code]
 includes most useful headers for RP
file  rp_initiator_token_builder.h [code]
file  rp_issued_token.h [code]
file  rp_issued_token_builder.h [code]
file  rp_layout.h [code]
file  rp_layout_builder.h [code]
file  rp_policy_creator.h [code]
file  rp_property.h [code]
file  rp_protection_token_builder.h [code]
file  rp_rampart_config.h [code]
file  rp_rampart_config_builder.h [code]
file  rp_recipient_token_builder.h [code]
file  rp_saml_token.h [code]
file  rp_saml_token_builder.h [code]
file  rp_secpolicy.h [code]
file  rp_secpolicy_builder.h [code]
file  rp_security_context_token.h [code]
file  rp_security_context_token_builder.h [code]
file  rp_signature_token_builder.h [code]
file  rp_signed_encrypted_elements.h [code]
file  rp_signed_encrypted_items.h [code]
file  rp_signed_encrypted_parts.h [code]
file  rp_signed_encrypted_parts_builder.h [code]
file  rp_supporting_tokens.h [code]
file  rp_supporting_tokens_builder.h [code]
file  rp_symmetric_asymmetric_binding_commons.h [code]
file  rp_symmetric_binding.h [code]
file  rp_symmetric_binding_builder.h [code]
file  rp_token.h [code]
file  rp_token_identifier.h [code]
file  rp_transport_binding.h [code]
file  rp_transport_binding_builder.h [code]
file  rp_transport_token_builder.h [code]
file  rp_trust10.h [code]
file  rp_trust10_builder.h [code]
file  rp_username_token.h [code]
file  rp_username_token_builder.h [code]
file  rp_wss10.h [code]
file  rp_wss10_builder.h [code]
file  rp_wss11.h [code]
file  rp_wss11_builder.h [code]
file  rp_x509_token.h [code]
file  rp_x509_token_builder.h [code]

Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__receiver.html0000644000175000017500000000564211172017604026766 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_receiver Struct Reference

axis2_transport_receiver Struct Reference
[transport receiver]

Transport Reciever struct. More...

#include <axis2_transport_receiver.h>

List of all members.

Public Attributes

const
axis2_transport_receiver_ops_t
ops


Detailed Description

Transport Reciever struct.
The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__accept__record_8h.html0000644000175000017500000001326411172017604026172 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_accept_record.h File Reference

axis2_http_accept_record.h File Reference

Axis2 HTTP Accept record. More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_accept_record 
axis2_http_accept_record_t

Functions

AXIS2_EXTERN float axis2_http_accept_record_get_quality_factor (const axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_accept_record_get_name (const axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN int axis2_http_accept_record_get_level (const axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_accept_record_to_string (axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_accept_record_free (axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_accept_record_t
axis2_http_accept_record_create (const axutil_env_t *env, const axis2_char_t *str)


Detailed Description

Axis2 HTTP Accept record.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__client_8h-source.html0000644000175000017500000010505611172017604025627 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_client.h Source File

axis2_svc_client.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_SVC_CLIENT_H
00020 #define AXIS2_SVC_CLIENT_H
00021 
00043 #include <axis2_defines.h>
00044 #include <axutil_env.h>
00045 #include <axutil_uri.h>
00046 #include <axis2_svc.h>
00047 #include <axis2_options.h>
00048 #include <axutil_qname.h>
00049 #include <axiom_element.h>
00050 #include <axis2_callback.h>
00051 #include <axis2_endpoint_ref.h>
00052 #include <axis2_svc_ctx.h>
00053 #include <axis2_conf_ctx.h>
00054 #include <axis2_op_client.h>
00055 #include <axutil_string.h>
00056 #include <neethi_policy.h>
00057 
00058 #ifdef __cplusplus
00059 extern "C"
00060 {
00061 #endif
00062 
00064     typedef struct axis2_svc_client axis2_svc_client_t;
00065 
00074     AXIS2_EXTERN axis2_svc_t *AXIS2_CALL
00075     axis2_svc_client_get_svc(
00076         const axis2_svc_client_t * svc_client,
00077         const axutil_env_t * env);
00078 
00087     AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00088     axis2_svc_client_get_conf_ctx(
00089         const axis2_svc_client_t * svc_client,
00090         const axutil_env_t * env);
00091 
00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100     axis2_svc_client_set_options(
00101         axis2_svc_client_t * svc_client,
00102         const axutil_env_t * env,
00103         const axis2_options_t * options);
00104 
00112     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00113     axis2_svc_client_get_options(
00114         const axis2_svc_client_t * svc_client,
00115         const axutil_env_t * env);
00116 
00126     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127     axis2_svc_client_set_override_options(
00128         axis2_svc_client_t * svc_client,
00129         const axutil_env_t * env,
00130         const axis2_options_t * override_options);
00131 
00139     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00140     axis2_svc_client_get_override_options(
00141         const axis2_svc_client_t * svc_client,
00142         const axutil_env_t * env);
00143 
00155     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00156     axis2_svc_client_engage_module(
00157         axis2_svc_client_t * svc_client,
00158         const axutil_env_t * env,
00159         const axis2_char_t * module_name);
00160 
00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171     axis2_svc_client_disengage_module(
00172         axis2_svc_client_t * svc_client,
00173         const axutil_env_t * env,
00174         const axis2_char_t * module_name);
00175 
00186     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00187     axis2_svc_client_add_header(
00188         axis2_svc_client_t * svc_client,
00189         const axutil_env_t * env,
00190         axiom_node_t * header);
00191 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199     axis2_svc_client_remove_all_headers(
00200         axis2_svc_client_t * svc_client,
00201         const axutil_env_t * env);
00202 
00216     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00217     axis2_svc_client_send_robust_with_op_qname(
00218         axis2_svc_client_t * svc_client,
00219         const axutil_env_t * env,
00220         const axutil_qname_t * op_qname,
00221         const axiom_node_t * payload);
00222 
00236     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00237     axis2_svc_client_send_robust(
00238         axis2_svc_client_t * svc_client,
00239         const axutil_env_t * env,
00240         const axiom_node_t * payload);
00241 
00254     AXIS2_EXTERN void AXIS2_CALL
00255     axis2_svc_client_fire_and_forget_with_op_qname(
00256         axis2_svc_client_t * svc_client,
00257         const axutil_env_t * env,
00258         const axutil_qname_t * op_qname,
00259         const axiom_node_t * payload);
00260 
00271     AXIS2_EXTERN void AXIS2_CALL
00272     axis2_svc_client_fire_and_forget(
00273         axis2_svc_client_t * svc_client,
00274         const axutil_env_t * env,
00275         const axiom_node_t * payload);
00276 
00289     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00290     axis2_svc_client_send_receive_with_op_qname(
00291         axis2_svc_client_t * svc_client,
00292         const axutil_env_t * env,
00293         const axutil_qname_t * op_qname,
00294         const axiom_node_t * payload);
00295 
00306     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00307     axis2_svc_client_send_receive(
00308         axis2_svc_client_t * svc_client,
00309         const axutil_env_t * env,
00310         const axiom_node_t * payload);
00311 
00324     AXIS2_EXTERN void AXIS2_CALL
00325     axis2_svc_client_send_receive_non_blocking_with_op_qname(
00326         axis2_svc_client_t * svc_client,
00327         const axutil_env_t * env,
00328         const axutil_qname_t * op_qname,
00329         const axiom_node_t * payload,
00330         axis2_callback_t * callback);
00331 
00342     AXIS2_EXTERN void AXIS2_CALL
00343     axis2_svc_client_send_receive_non_blocking(
00344         axis2_svc_client_t * svc_client,
00345         const axutil_env_t * env,
00346         const axiom_node_t * payload,
00347         axis2_callback_t * callback);
00348 
00358     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00359     axis2_svc_client_create_op_client(
00360         axis2_svc_client_t * svc_client,
00361         const axutil_env_t * env,
00362         const axutil_qname_t * op_qname);
00363 
00372     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00373     axis2_svc_client_finalize_invoke(
00374         axis2_svc_client_t * svc_client,
00375         const axutil_env_t * env);
00376 
00386     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00387     axis2_svc_client_get_own_endpoint_ref(
00388         const axis2_svc_client_t * svc_client,
00389         const axutil_env_t * env,
00390         const axis2_char_t * transport);
00391 
00399     AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL
00400     axis2_svc_client_get_target_endpoint_ref(
00401         const axis2_svc_client_t * svc_client,
00402         const axutil_env_t * env);
00403 
00412     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00413     axis2_svc_client_set_target_endpoint_ref(
00414         axis2_svc_client_t * svc_client,
00415         const axutil_env_t * env,
00416         axis2_endpoint_ref_t * target_epr);
00417 
00430     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00431     axis2_svc_client_set_proxy_with_auth(
00432         axis2_svc_client_t * svc_client,
00433         const axutil_env_t * env,
00434         axis2_char_t * proxy_host,
00435         axis2_char_t * proxy_port,
00436         axis2_char_t * username,
00437         axis2_char_t * password);
00438 
00447     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00448     axis2_svc_client_set_proxy(
00449         axis2_svc_client_t * svc_client,
00450         const axutil_env_t * env,
00451         axis2_char_t * proxy_host,
00452         axis2_char_t * proxy_port);
00453 
00461     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00462     axis2_svc_client_get_svc_ctx(
00463         const axis2_svc_client_t * svc_client,
00464         const axutil_env_t * env);
00465 
00472     AXIS2_EXTERN void AXIS2_CALL
00473     axis2_svc_client_free(
00474         axis2_svc_client_t * svc_client,
00475         const axutil_env_t * env);
00476 
00484     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00485     axis2_svc_client_get_op_client(
00486         const axis2_svc_client_t * svc_client,
00487         const axutil_env_t * env);
00488 
00496     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00497     axis2_svc_client_create(
00498         const axutil_env_t * env,
00499         const axis2_char_t * client_home);
00500 
00513     AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL
00514     axis2_svc_client_create_with_conf_ctx_and_svc(
00515         const axutil_env_t * env,
00516         const axis2_char_t * client_home,
00517         axis2_conf_ctx_t * conf_ctx,
00518         axis2_svc_t * svc);
00519 
00527     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00528     axis2_svc_client_get_last_response_soap_envelope(
00529         const axis2_svc_client_t * svc_client,
00530         const axutil_env_t * env);
00531 
00538     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00539     axis2_svc_client_get_last_response_has_fault(
00540         const axis2_svc_client_t * svc_client,
00541         const axutil_env_t * env);
00542 
00549     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00550     axis2_svc_client_get_auth_type(
00551         const axis2_svc_client_t * svc_client,
00552         const axutil_env_t * env);
00553 
00561     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00562     axis2_svc_client_get_http_auth_required(
00563         const axis2_svc_client_t * svc_client,
00564         const axutil_env_t * env);
00565 
00573     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00574     axis2_svc_client_get_proxy_auth_required(
00575         const axis2_svc_client_t * svc_client,
00576         const axutil_env_t * env);
00577 
00585     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00586     axis2_svc_client_set_policy_from_om(
00587         axis2_svc_client_t * svc_client,
00588         const axutil_env_t * env,
00589         axiom_node_t * root_node);
00590 
00598     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00599     axis2_svc_client_set_policy(
00600         axis2_svc_client_t * svc_client,
00601         const axutil_env_t * env,
00602         neethi_policy_t * policy);
00603 
00610     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00611     axis2_svc_client_get_http_headers(
00612         axis2_svc_client_t * svc_client,
00613         const axutil_env_t * env);
00614 
00621     AXIS2_EXTERN int AXIS2_CALL
00622     axis2_svc_client_get_http_status_code(
00623         axis2_svc_client_t * svc_client,
00624         const axutil_env_t * env);
00625 
00627 #ifdef __cplusplus
00628 }
00629 #endif
00630 
00631 #endif                          /* AXIS2_SVC_CLIENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__engine_8h-source.html0000644000175000017500000003700411172017604024601 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_engine.h Source File

axis2_engine.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_ENGINE_H
00020 #define AXIS2_ENGINE_H
00021 
00038 #include <axis2_defines.h>
00039 #include <axutil_array_list.h>
00040 #include <axutil_env.h>
00041 #include <axis2_conf_ctx.h>
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_engine axis2_engine_t;
00050 
00051     struct axiom_soap_fault;
00052 
00065     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00066     axis2_engine_send(
00067         axis2_engine_t * engine,
00068         const axutil_env_t * env,
00069         axis2_msg_ctx_t * msg_ctx);
00070 
00083     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00084     axis2_engine_receive(
00085         axis2_engine_t * engine,
00086         const axutil_env_t * env,
00087         axis2_msg_ctx_t * msg_ctx);
00088 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     axis2_engine_send_fault(
00099         axis2_engine_t * engine,
00100         const axutil_env_t * env,
00101         axis2_msg_ctx_t * msg_ctx);
00102 
00111     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00112     axis2_engine_receive_fault(
00113         axis2_engine_t * engine,
00114         const axutil_env_t * env,
00115         axis2_msg_ctx_t * msg_ctx);
00116 
00128     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00129 
00130     axis2_engine_create_fault_msg_ctx(
00131         axis2_engine_t * engine,
00132         const axutil_env_t * env,
00133         axis2_msg_ctx_t * processing_context,
00134         const axis2_char_t * code_value,
00135         const axis2_char_t * reason_text);
00136 
00150     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00151     axis2_engine_invoke_phases(
00152         axis2_engine_t * engine,
00153         const axutil_env_t * env,
00154         axutil_array_list_t * phases,
00155         axis2_msg_ctx_t * msg_ctx);
00156 
00173     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00174 
00175     axis2_engine_resume_invocation_phases(
00176         axis2_engine_t * engine,
00177         const axutil_env_t * env,
00178         axutil_array_list_t * phases,
00179         axis2_msg_ctx_t * msg_ctx);
00180 
00188     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00189 
00190     axis2_engine_get_sender_fault_code(
00191         const axis2_engine_t * engine,
00192         const axutil_env_t * env,
00193         const axis2_char_t * soap_namespace);
00194 
00201     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00202 
00203     axis2_engine_get_receiver_fault_code(
00204         const axis2_engine_t * engine,
00205         const axutil_env_t * env,
00206         const axis2_char_t * soap_namespace);
00207 
00214     AXIS2_EXTERN void AXIS2_CALL
00215     axis2_engine_free(
00216         axis2_engine_t * engine,
00217         const axutil_env_t * env);
00218 
00228     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00229     axis2_engine_resume_receive(
00230         axis2_engine_t * engine,
00231         const axutil_env_t * env,
00232         axis2_msg_ctx_t * msg_ctx);
00233 
00243     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00244     axis2_engine_resume_send(
00245         axis2_engine_t * engine,
00246         const axutil_env_t * env,
00247         axis2_msg_ctx_t * msg_ctx);
00248 
00255     AXIS2_EXTERN axis2_engine_t *AXIS2_CALL
00256     axis2_engine_create(
00257         const axutil_env_t * env,
00258         axis2_conf_ctx_t * conf_ctx);
00259 
00260 #ifdef __cplusplus
00261 }
00262 #endif
00263 
00264 #endif                          /* AXIS2_ENGINE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_0x6e.html0000644000175000017500000000604611172017604022461 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- n -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__allocator_8h-source.html0000644000175000017500000002473711172017604025605 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_allocator.h Source File

axutil_allocator.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_ALLOCATOR_H
00019 #define AXUTIL_ALLOCATOR_H
00020 
00026 #include <axutil_utils_defines.h>
00027 #include <stdlib.h>
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00044     typedef struct axutil_allocator
00045     {
00046 
00055         void *(
00056             AXIS2_CALL
00057             * malloc_fn)(
00058                 struct axutil_allocator * allocator,
00059                 size_t size);
00060 
00070         void *(
00071             AXIS2_CALL
00072             * realloc)(
00073                 struct axutil_allocator * allocator,
00074                 void *ptr,
00075                 size_t size);
00076 
00085         void(
00086             AXIS2_CALL
00087             * free_fn)(
00088                 struct axutil_allocator * allocator,
00089                 void *ptr);
00090 
00095         void *local_pool;
00096 
00101         void *global_pool;
00102 
00109         void *current_pool;
00110 
00111     }
00112     axutil_allocator_t;
00113 
00120     AXIS2_EXTERN axutil_allocator_t *AXIS2_CALL
00121     axutil_allocator_init(
00122         axutil_allocator_t * allocator);
00123 
00130     AXIS2_EXTERN void AXIS2_CALL
00131     axutil_allocator_free(
00132         axutil_allocator_t * allocator);
00133 
00144     AXIS2_EXTERN void AXIS2_CALL
00145     axutil_allocator_switch_to_global_pool(
00146         axutil_allocator_t * allocator);
00147 
00158     AXIS2_EXTERN void AXIS2_CALL
00159     axutil_allocator_switch_to_local_pool(
00160         axutil_allocator_t * allocator);
00161 
00162 #define AXIS2_MALLOC(allocator, size) \
00163      ((allocator)->malloc_fn(allocator, size))
00164 
00165 #define AXIS2_REALLOC(allocator, ptr, size) \
00166       ((allocator)->realloc(allocator, ptr, size))
00167 
00168 #define AXIS2_FREE(allocator, ptr) \
00169     ((allocator)->free_fn(allocator, ptr))
00170 
00173 #ifdef __cplusplus
00174 }
00175 #endif
00176 
00177 #endif                          /* AXIS2_ALLOCATOR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__value_8h-source.html0000644000175000017500000002114011172017604027244 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_value.h Source File

axiom_soap_fault_value.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_VALUE_H
00020 #define AXIOM_SOAP_FAULT_VALUE_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault.h>
00028 #include <axiom_soap_fault_sub_code.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct axiom_soap_fault_value axiom_soap_fault_value_t;
00036 
00047     AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL
00048     axiom_soap_fault_value_create_with_subcode(
00049         const axutil_env_t * env,
00050         axiom_soap_fault_sub_code_t * parent);
00051 
00059     AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL
00060     axiom_soap_fault_value_create_with_code(
00061         const axutil_env_t * env,
00062         axiom_soap_fault_code_t * parent);
00063 
00071     AXIS2_EXTERN void AXIS2_CALL
00072     axiom_soap_fault_value_free(
00073         axiom_soap_fault_value_t * fault_value,
00074         const axutil_env_t * env);
00075 
00082     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00083     axiom_soap_fault_value_get_text(
00084         axiom_soap_fault_value_t * fault_value,
00085         const axutil_env_t * env);
00086 
00095     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00096     axiom_soap_fault_value_get_base_node(
00097         axiom_soap_fault_value_t * fault_value,
00098         const axutil_env_t * env);
00099 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     axiom_soap_fault_value_set_text(
00110         axiom_soap_fault_value_t * fault_value,
00111         const axutil_env_t * env,
00112         axis2_char_t * text);
00113 
00116 #ifdef __cplusplus
00117 }
00118 #endif
00119 
00120 #endif                          /* AXIOM_SOAP_FAULT_VALUE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault.html0000644000175000017500000006513011172017604025376 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault

soap fault
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_fault_create_with_parent (const axutil_env_t *env, struct axiom_soap_body *parent)
AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_fault_create_with_exception (const axutil_env_t *env, struct axiom_soap_body *parent, axis2_char_t *exception)
AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_fault_create_default_fault (const axutil_env_t *env, struct axiom_soap_body *parent, const axis2_char_t *code_value, const axis2_char_t *reason_text, const int soap_version)
AXIS2_EXTERN void axiom_soap_fault_free (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_code * 
axiom_soap_fault_get_code (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_reason * 
axiom_soap_fault_get_reason (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_node * 
axiom_soap_fault_get_node (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_role * 
axiom_soap_fault_get_role (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_detail * 
axiom_soap_fault_get_detail (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_get_exception (axiom_soap_fault_t *fault, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_set_exception (axiom_soap_fault_t *fault, const axutil_env_t *env, axis2_char_t *exception)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_get_base_node (axiom_soap_fault_t *fault, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_t* axiom_soap_fault_create_default_fault ( const axutil_env_t env,
struct axiom_soap_body *  parent,
const axis2_char_t *  code_value,
const axis2_char_t *  reason_text,
const int  soap_version 
)

Parameters:
env environment must not be NULL
parent soap body struct must not be NULL
code_value 
reason_text 
soap_version 
Returns:
the created default OM SOAP fault

AXIS2_EXTERN axiom_soap_fault_t* axiom_soap_fault_create_with_exception ( const axutil_env_t env,
struct axiom_soap_body *  parent,
axis2_char_t *  exception 
)

create an returns a axiom_soap_fault_t struct with a soap fault detail element and have this exceptio string as a text of a child of soap fault detail

Parameters:
env environment must not be NULL
parent soap body struct must not be NULL
exceptio an error string must not be NULL
Returns:
pointer to axiom_soap_fault_t on success , otherwise return NULL

AXIS2_EXTERN axiom_soap_fault_t* axiom_soap_fault_create_with_parent ( const axutil_env_t env,
struct axiom_soap_body *  parent 
)

creates a soap fault struct

Parameters:
env environment must not be NULL
parent soap body struct to which this soap fault is the child
env Environment. MUST NOT be NULL
Returns:
pointer to axiom_soap_fault_t struct on success otherwise return NULL with error code set in environments error

AXIS2_EXTERN void axiom_soap_fault_free ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
)

Free an axiom_soap_fault

Parameters:
fault pointer to soap_fault struct
env Environment. MUST NOT be NULL
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_get_base_node ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
)

returns the axiom_node_t struct which is wrapped by this soap fault struct

Parameters:
fault soap fault struct
env environment must not be NULL
Returns:
a pointer to axiom_node_t struct if an om node is associated with this soap fault struct, otherwise return NULL

AXIS2_EXTERN struct axiom_soap_fault_code* axiom_soap_fault_get_code ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
) [read]

this function returns a axiom_soap_fault_code struct if a fault code is associated with this soap fault only valid when called after building the soap fault

Parameters:
fault soap fault struct
env environment must not be NULL
Returns:
pointer to soap_fault_code struct if one is associated with this soap_fault struct , NULL is returned otherwise

AXIS2_EXTERN struct axiom_soap_fault_detail* axiom_soap_fault_get_detail ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
) [read]

Parameters:
fault soap fault struct
env environment must not be NULL
Returns:
a pointer to soap_fault_code struct if one is associated with this soap_fault struct , NULL is returned otherwise

AXIS2_EXTERN axis2_char_t* axiom_soap_fault_get_exception ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
)

Parameters:
fault soap fault struct
env enviroment must not be NULL
Returns:
a pointer to soap_fault_code struct if one is associated with this soap_fault struct , NULL is returned otherwise

AXIS2_EXTERN struct axiom_soap_fault_node* axiom_soap_fault_get_node ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
) [read]

Parameters:
fault soap fault struct
env environment must not be NULL
Returns:
pointer to soap_fault_node struct if one is associated with this soap_fault struct , NULL is returned otherwise

AXIS2_EXTERN struct axiom_soap_fault_reason* axiom_soap_fault_get_reason ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
) [read]

Parameters:
fault soap fault struct
env environment must not be NULL
Returns:
pointer to soap_fault_reason struct if one is associated with this soap_fault struct , NULL is returned otherwise

AXIS2_EXTERN struct axiom_soap_fault_role* axiom_soap_fault_get_role ( axiom_soap_fault_t *  fault,
const axutil_env_t env 
) [read]

Parameters:
fault soap fault struct
env environment must not be NULL
Returns:
pointer to soap_fault_code struct if one is associated with this soap_fault struct , NULL is returned otherwise

AXIS2_EXTERN axis2_status_t axiom_soap_fault_set_exception ( axiom_soap_fault_t *  fault,
const axutil_env_t env,
axis2_char_t *  exception 
)

set an error string

Parameters:
fualt soap fault struct
env enviroment must not be NULL
exception error message to be stored on soap fault


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__includes_8h-source.html0000644000175000017500000001476111172017604024542 0ustar00manjulamanjula00000000000000 Axis2/C: rp_includes.h Source File

rp_includes.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_INCLUDES_H
00020 #define RP_INCLUDES_H
00021 
00022 #include <axis2_util.h>
00023 #include <axutil_allocator.h>
00024 #include <axutil_string.h>
00025 #include <axutil_array_list.h>
00026 #include <axis2_const.h>
00027 #include <axutil_error.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_log_default.h>
00030 #include <axutil_error_default.h>
00031 #include <axutil_env.h>
00032 #include <axiom.h>
00033 #include <axiom_soap.h>
00034 #include <axutil_qname.h>
00035 #include <rp_defines.h>
00036 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00048 #ifdef __cplusplus
00049 }
00050 #endif
00051 
00052 #endif                          /*RP_INCLUDES_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__endpoint__ref.html0000644000175000017500000014255411172017604025634 0ustar00manjulamanjula00000000000000 Axis2/C: endpoint reference

endpoint reference
[WS-Addressing]


Files

file  axis2_endpoint_ref.h

Typedefs

typedef struct
axis2_endpoint_ref 
axis2_endpoint_ref_t

Functions

AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_endpoint_ref_create (const axutil_env_t *env, const axis2_char_t *address)
void axis2_endpoint_ref_free_void_arg (void *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_endpoint_ref_get_address (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_set_address (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, const axis2_char_t *address)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_endpoint_ref_get_interface_qname (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_set_interface_qname (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, const axutil_qname_t *interface_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_ref_param_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_metadata_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_ref_attribute_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_metadata_attribute_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_endpoint_ref_get_extension_list (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_ref_param (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_node_t *ref_param_node)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_metadata (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_node_t *metadata_node)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_ref_attribute (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_attribute_t *attr)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_metadata_attribute (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_attribute_t *attr)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_add_extension (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axiom_node_t *extension_node)
AXIS2_EXTERN
axis2_svc_name_t
axis2_endpoint_ref_get_svc_name (const axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_endpoint_ref_set_svc_name (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env, axis2_svc_name_t *svc_name)
AXIS2_EXTERN void axis2_endpoint_ref_free (axis2_endpoint_ref_t *endpoint_ref, const axutil_env_t *env)

Detailed Description

endpoint reference represent an endpoint address in WS-Addressing. In addition to the endpoint address, it also encapsulates meta data, reference attributes and the service hosted at the given endpoint. In addition to the addressing related implementation, the endpoint reference struct is used across core code-base to represent endpoints.

Typedef Documentation

typedef struct axis2_endpoint_ref axis2_endpoint_ref_t

Type name for struct axis2_endpoint_ref


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_add_extension ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
axiom_node_t *  extension_node 
)

Adds an extension in the form of an AXIOM node.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
extension_node pointer to AXIOM node representing extension, endpoint reference does not assume the ownership of the node
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_add_metadata ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
axiom_node_t *  metadata_node 
)

Adds metadata in the form of an AXIOM node. An endpoint can have different associated metadata such as WSDL, XML Schema and WS-Policy policies.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
metadata_node AXIOM node representing metadata, endpoint reference does not assume the ownership of the node
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_add_metadata_attribute ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
axiom_attribute_t *  attr 
)

Adds a meta attribute in the form of an AXIOM attribute.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
attr AXIOM attribute representing meta attribute, endpoint reference does not assume the ownership of the attribute
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_add_ref_attribute ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
axiom_attribute_t *  attr 
)

Adds a reference attribute in the form of an AXIOM attribute.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
attr AXIOM attribute representing reference attribute, endpoint reference does not assume the ownership of the attribute
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_add_ref_param ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
axiom_node_t *  ref_param_node 
)

Adds a reference parameter in the form of an AXIOM node.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
ref_param_node pointer to AXIOM node representing reference parameter, endpoint reference does not assume the ownership of the node
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_endpoint_ref_create ( const axutil_env_t env,
const axis2_char_t *  address 
)

Creates endpoint reference struct.

Parameters:
env pointer to environment struct
address endpoint address string
Returns:
pointer to newly created endpoint reference

AXIS2_EXTERN void axis2_endpoint_ref_free ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Frees endpoint reference struct.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

void axis2_endpoint_ref_free_void_arg ( void *  endpoint_ref,
const axutil_env_t env 
)

Frees the endpoint_ref given as a void pointer. This method would cast the void parameter to an endpoint_ref pointer and then call free method.

Parameters:
endpoint_ref pointer to endpoint_ref as a void pointer
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN const axis2_char_t* axis2_endpoint_ref_get_address ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets endpoint address. Address URI identifies the endpoint. This may be a network address or a logical address.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
endpoint address string

AXIS2_EXTERN axutil_array_list_t* axis2_endpoint_ref_get_extension_list ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets the list of extensions. Extensions are a mechanism to allow additional elements to be specified in association with the endpoint.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to array list containing extensions, returns a reference, not a cloned copy

AXIS2_EXTERN const axutil_qname_t* axis2_endpoint_ref_get_interface_qname ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets interface QName. QName represents the primary portType of the endpoint being conveyed.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to interface QName, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_endpoint_ref_get_metadata_attribute_list ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets the list of metadata attributes.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to array list containing metadata attributes, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_endpoint_ref_get_metadata_list ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets the list of metadata. An endpoint can have different associated metadata such as WSDL, XML Schema, and WS-Policy policies.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to array list containing metadata, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_endpoint_ref_get_ref_attribute_list ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets the list of reference attributes.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to array list containing reference attributes, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_endpoint_ref_get_ref_param_list ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets reference parameter list. A reference may contain a number of individual parameters which are associated with the endpoint to facilitate a particular interaction. Reference parameters are element information items that are named by QName and are required to properly interact with the endpoint.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to array list containing all reference parameters, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_svc_name_t* axis2_endpoint_ref_get_svc_name ( const axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env 
)

Gets service name. An endpoint in WS-Addressing has a QName identifying the WSDL service element that contains the definition of the endpoint being conveyed. The service name provides a link to a full description of the service endpoint.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
Returns:
pointer to service name struct, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_set_address ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
const axis2_char_t *  address 
)

Sets endpoint address. Address URI identifies the endpoint. This may be a network address or a logical address.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
address address string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_set_interface_qname ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
const axutil_qname_t *  interface_qname 
)

Sets interface QName. QName represents the primary portType of the endpoint being conveyed.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
interface_qname pointer to interface QName, this method creates a clone of the QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_endpoint_ref_set_svc_name ( axis2_endpoint_ref_t endpoint_ref,
const axutil_env_t env,
axis2_svc_name_t svc_name 
)

Sets service name. An endpoint in WS-Addressing has a QName identifying the WSDL service element that contains the definition of the endpoint being conveyed. The service name provides a link to a full description of the service endpoint.

Parameters:
endpoint_ref pointer to endpoint reference struct
env pointer to environment struct
svc_name pointer to service name struct, endpoint assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__transport.html0000644000175000017500000000423111172017604025042 0ustar00manjulamanjula00000000000000 Axis2/C: transport

transport


Modules

 http transport
 transport receiver
 transport sender

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__ctx_8h-source.html0000644000175000017500000003064211172017604025145 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_ctx.h Source File

axis2_svc_ctx.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_SVC_CTX_H
00020 #define AXIS2_SVC_CTX_H
00021 
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_op_ctx.h>
00038 
00039 #ifdef __cplusplus
00040 extern "C"
00041 {
00042 #endif
00043 
00045     typedef struct axis2_svc_ctx axis2_svc_ctx_t;
00046 
00058     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00059     axis2_svc_ctx_create(
00060         const axutil_env_t * env,
00061         struct axis2_svc *svc,
00062         struct axis2_svc_grp_ctx *svc_grp_ctx);
00063 
00070     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00071     axis2_svc_ctx_get_base(
00072         const axis2_svc_ctx_t * svc_ctx,
00073         const axutil_env_t * env);
00074 
00081     AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL
00082     axis2_svc_ctx_get_parent(
00083         const axis2_svc_ctx_t * svc_ctx,
00084         const axutil_env_t * env);
00085 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axis2_svc_ctx_set_parent(
00096         axis2_svc_ctx_t * svc_ctx,
00097         const axutil_env_t * env,
00098         struct axis2_svc_grp_ctx *parent);
00099 
00106     AXIS2_EXTERN void AXIS2_CALL
00107     axis2_svc_ctx_free(
00108         struct axis2_svc_ctx *svc_ctx,
00109         const axutil_env_t * env);
00110 
00120     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00121     axis2_svc_ctx_init(
00122         struct axis2_svc_ctx *svc_ctx,
00123         const axutil_env_t * env,
00124         struct axis2_conf *conf);
00125 
00133     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00134     axis2_svc_ctx_get_svc_id(
00135         const axis2_svc_ctx_t * svc_ctx,
00136         const axutil_env_t * env);
00137 
00144     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
00145     axis2_svc_ctx_get_svc(
00146         const axis2_svc_ctx_t * svc_ctx,
00147         const axutil_env_t * env);
00148 
00157     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00158     axis2_svc_ctx_set_svc(
00159         axis2_svc_ctx_t * svc_ctx,
00160         const axutil_env_t * env,
00161         struct axis2_svc *svc);
00162 
00170     AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL
00171     axis2_svc_ctx_get_conf_ctx(
00172         const axis2_svc_ctx_t * svc_ctx,
00173         const axutil_env_t * env);
00174 
00184     AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00185     axis2_svc_ctx_create_op_ctx(
00186         struct axis2_svc_ctx *svc_ctx,
00187         const axutil_env_t * env,
00188         const axutil_qname_t * qname);
00189 
00192 #ifdef __cplusplus
00193 }
00194 #endif
00195 
00196 #endif                          /* AXIS2_SVC_CTX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__wss11_8h-source.html0000644000175000017500000002725411172017604023713 0ustar00manjulamanjula00000000000000 Axis2/C: rp_wss11.h Source File

rp_wss11.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_WSS11_H
00019 #define RP_WSS11_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_wss11_t rp_wss11_t;
00034 
00035     AXIS2_EXTERN rp_wss11_t *AXIS2_CALL
00036     rp_wss11_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_wss11_free(
00041         rp_wss11_t * wss11,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00045     rp_wss11_get_must_support_ref_key_identifier(
00046         rp_wss11_t * wss11,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_wss11_set_must_support_ref_key_identifier(
00051         rp_wss11_t * wss11,
00052         const axutil_env_t * env,
00053         axis2_bool_t must_support_ref_key_identifier);
00054 
00055     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00056     rp_wss11_get_must_support_ref_issuer_serial(
00057         rp_wss11_t * wss11,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_wss11_set_must_support_ref_issuer_serial(
00062         rp_wss11_t * wss11,
00063         const axutil_env_t * env,
00064         axis2_bool_t must_support_ref_issuer_serial);
00065 
00066     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067     rp_wss11_get_must_support_ref_external_uri(
00068         rp_wss11_t * wss11,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_wss11_set_must_support_ref_external_uri(
00073         rp_wss11_t * wss11,
00074         const axutil_env_t * env,
00075         axis2_bool_t must_support_ref_external_uri);
00076 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078     rp_wss11_get_must_support_ref_embedded_token(
00079         rp_wss11_t * wss11,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     rp_wss11_set_must_support_ref_embedded_token(
00084         rp_wss11_t * wss11,
00085         const axutil_env_t * env,
00086         axis2_bool_t must_support_ref_embedded_token);
00087 
00088     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00089     rp_wss11_get_must_support_ref_thumbprint(
00090         rp_wss11_t * wss11,
00091         const axutil_env_t * env);
00092 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     rp_wss11_set_must_support_ref_thumbprint(
00095         rp_wss11_t * wss11,
00096         const axutil_env_t * env,
00097         axis2_bool_t must_support_ref_thumbprint);
00098 
00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100     rp_wss11_set_must_support_ref_encryptedkey(
00101         rp_wss11_t * wss11,
00102         const axutil_env_t * env,
00103         axis2_bool_t must_support_ref_encryptedkey);
00104 
00105     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00106     rp_wss11_get_must_support_ref_encryptedkey(
00107         rp_wss11_t * wss11,
00108         const axutil_env_t * env);
00109 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111     rp_wss11_set_require_signature_confirmation(
00112         rp_wss11_t * wss11,
00113         const axutil_env_t * env,
00114         axis2_bool_t require_signature_confirmation);
00115 
00116     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00117     rp_wss11_get_require_signature_confirmation(
00118         rp_wss11_t * wss11,
00119         const axutil_env_t * env);
00120 
00121     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00122     rp_wss11_increment_ref(
00123         rp_wss11_t * wss11,
00124         const axutil_env_t * env);
00125 
00126 #ifdef __cplusplus
00127 }
00128 #endif
00129 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__status__line_8h-source.html0000644000175000017500000002527111172017604027226 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_status_line.h Source File

axis2_http_status_line.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_STATUS_LINE_H
00020 #define AXIS2_HTTP_STATUS_LINE_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00043     typedef struct axis2_http_status_line axis2_http_status_line_t;
00044 
00049     AXIS2_EXTERN int AXIS2_CALL
00050     axis2_http_status_line_get_status_code(
00051         const axis2_http_status_line_t * status_line,
00052         const axutil_env_t * env);
00053 
00058     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00059 
00060     axis2_http_status_line_get_http_version(
00061         const axis2_http_status_line_t * status_line,
00062         const axutil_env_t * env);
00063 
00068     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00069 
00070     axis2_http_status_line_get_reason_phrase(
00071         const axis2_http_status_line_t * status_line,
00072         const axutil_env_t * env);
00073 
00078     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00079 
00080     axis2_http_status_line_starts_with_http(
00081         axis2_http_status_line_t * status_line,
00082         const axutil_env_t * env);
00083 
00088     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00089     axis2_http_status_line_to_string(
00090         axis2_http_status_line_t * status_line,
00091         const axutil_env_t * env);
00092 
00098     AXIS2_EXTERN void AXIS2_CALL
00099     axis2_http_status_line_free(
00100         axis2_http_status_line_t * status_line,
00101         const axutil_env_t * env);
00102 
00107     AXIS2_EXTERN axis2_http_status_line_t *AXIS2_CALL
00108 
00109     axis2_http_status_line_create(
00110         const axutil_env_t * env,
00111         const axis2_char_t * str);
00112 
00113     AXIS2_EXTERN void AXIS2_CALL
00114     axis2_http_status_line_set_http_version(
00115         axis2_http_status_line_t * status_line,
00116         const axutil_env_t * env,
00117         axis2_char_t *http_version);
00118 
00119 
00120 
00122 #ifdef __cplusplus
00123 }
00124 #endif
00125 #endif                          /* AXIS2_HTTP_STATUS_LINE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__client_8h.html0000644000175000017500000003704011172017604024512 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_client.h File Reference

axis2_http_client.h File Reference

axis2 HTTP Header name:value pair implementation More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_http_simple_response.h>
#include <axis2_http_simple_request.h>
#include <axutil_url.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_client 
axis2_http_client_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_http_client_send (axis2_http_client_t *client, const axutil_env_t *env, axis2_http_simple_request_t *request, axis2_char_t *ssl_pp)
AXIS2_EXTERN int axis2_http_client_recieve_header (axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_simple_response_t
axis2_http_client_get_response (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_url (axis2_http_client_t *client, const axutil_env_t *env, axutil_url_t *url)
AXIS2_EXTERN
axutil_url_t * 
axis2_http_client_get_url (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_timeout (axis2_http_client_t *client, const axutil_env_t *env, int timeout_ms)
AXIS2_EXTERN int axis2_http_client_get_timeout (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_proxy (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *proxy_host, int proxy_port)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_client_get_proxy (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_connect_ssl_host (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *host, int port)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_dump_input_msg (axis2_http_client_t *client, const axutil_env_t *env, axis2_bool_t dump_input_msg)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_server_cert (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *server_cert)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_client_get_server_cert (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_key_file (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *key_file)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_client_get_key_file (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_client_free (axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_client_t
axis2_http_client_create (const axutil_env_t *env, axutil_url_t *url)
AXIS2_EXTERN void axis2_http_client_free_void_arg (void *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_mime_parts (axis2_http_client_t *client, const axutil_env_t *env, axutil_array_list_t *mime_parts)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_client_get_mime_parts (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_doing_mtom (axis2_http_client_t *client, const axutil_env_t *env, axis2_bool_t doing_mtom)
AXIS2_EXTERN axis2_bool_t axis2_http_client_get_doing_mtom (const axis2_http_client_t *client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_client_set_mtom_sending_callback_name (axis2_http_client_t *client, const axutil_env_t *env, axis2_char_t *callback_name)


Detailed Description

axis2 HTTP Header name:value pair implementation


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__dir__handler.html0000644000175000017500000001504211172017604025702 0ustar00manjulamanjula00000000000000 Axis2/C: dir handler

dir handler
[utilities]


Defines

#define AXIS2_AAR_SUFFIX   ".aar"
#define AXIS2_MAR_SUFFIX   ".mar"

Functions

AXIS2_EXTERN
axutil_array_list_t
axutil_dir_handler_list_services_or_modules_in_dir (const axutil_env_t *env, const axis2_char_t *pathname)
AXIS2_EXTERN
axutil_array_list_t
axutil_dir_handler_list_service_or_module_dirs (const axutil_env_t *env, const axis2_char_t *pathname)

Function Documentation

AXIS2_EXTERN axutil_array_list_t* axutil_dir_handler_list_service_or_module_dirs ( const axutil_env_t env,
const axis2_char_t *  pathname 
)

List services or modules directories in the services or modules folder respectively

Parameters:
pathname path your modules or services folder
Returns:
array list of contents of services or modules folder

AXIS2_EXTERN axutil_array_list_t* axutil_dir_handler_list_services_or_modules_in_dir ( const axutil_env_t env,
const axis2_char_t *  pathname 
)

List the dll files in the given service or module folder path

Parameters:
pathname path to your service or module directory
Returns:
array list of dll file names


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__thread__pool_8h.html0000644000175000017500000001366011172017604024757 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_thread_pool.h File Reference

axutil_thread_pool.h File Reference

Axis2 thread pool interface. More...

#include <axutil_utils_defines.h>
#include <axutil_allocator.h>
#include <axutil_thread.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_thread_pool 
axutil_thread_pool_t

Functions

AXIS2_EXTERN
axutil_thread_t
axutil_thread_pool_get_thread (axutil_thread_pool_t *pool, axutil_thread_start_t func, void *data)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_join_thread (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_exit_thread (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_thread_detach (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN void axutil_thread_pool_free (axutil_thread_pool_t *pool)
AXIS2_EXTERN
axutil_thread_pool_t * 
axutil_thread_pool_init (axutil_allocator_t *allocator)
AXIS2_EXTERN struct
axutil_env
axutil_init_thread_env (const struct axutil_env *system_env)
AXIS2_EXTERN void axutil_free_thread_env (struct axutil_env *thread_env)


Detailed Description

Axis2 thread pool interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__wss11__builder_8h-source.html0000644000175000017500000001245411172017604025554 0ustar00manjulamanjula00000000000000 Axis2/C: rp_wss11_builder.h Source File

rp_wss11_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_WSS11_BUILDER_H
00019 #define RP_WSS11_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_wss11.h>
00028 #include <neethi_includes.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_wss11_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__uuid__gen.html0000644000175000017500000000771111172017604025232 0ustar00manjulamanjula00000000000000 Axis2/C: UUID generator

UUID generator
[utilities]


Functions

AXIS2_EXTERN int axutil_get_milliseconds (const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_uuid_gen (const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN int axutil_get_milliseconds ( const axutil_env_t env  ) 

generate a uuid

Returns:
generated uuid as a string

AXIS2_EXTERN axis2_char_t* axutil_uuid_gen ( const axutil_env_t env  ) 

generate a uuid

Returns:
generated uuid as a string


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__name_8h-source.html0000644000175000017500000002256611172017604025275 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_name.h Source File

axis2_svc_name.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_SVC_NAME_H
00020 #define AXIS2_SVC_NAME_H
00021 
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axis2_const.h>
00040 #include <axutil_qname.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00048     typedef struct axis2_svc_name axis2_svc_name_t;
00049 
00057     AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL
00058     axis2_svc_name_create(
00059         const axutil_env_t * env,
00060         const axutil_qname_t * qname,
00061         const axis2_char_t * endpoint_name);
00062 
00071     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00072     axis2_svc_name_get_qname(
00073         const axis2_svc_name_t * svc_name,
00074         const axutil_env_t * env);
00075 
00084     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00085     axis2_svc_name_set_qname(
00086         struct axis2_svc_name *svc_name,
00087         const axutil_env_t * env,
00088         const axutil_qname_t * qname);
00089 
00098     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00099     axis2_svc_name_get_endpoint_name(
00100         const axis2_svc_name_t * svc_name,
00101         const axutil_env_t * env);
00102 
00112     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00113     axis2_svc_name_set_endpoint_name(
00114         struct axis2_svc_name *svc_name,
00115         const axutil_env_t * env,
00116         const axis2_char_t * endpoint_name);
00117 
00124     AXIS2_EXTERN void AXIS2_CALL
00125     axis2_svc_name_free(
00126         struct axis2_svc_name *svc_name,
00127         const axutil_env_t * env);
00128 
00131 #ifdef __cplusplus
00132 }
00133 #endif
00134 
00135 #endif                          /* AXIS2_SVC_NAME_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__sender.html0000644000175000017500000000705011172017604026435 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_sender Struct Reference

axis2_transport_sender Struct Reference
[transport sender]

#include <axis2_transport_sender.h>

List of all members.

Public Attributes

const
axis2_transport_sender_ops_t
ops


Detailed Description

Transport Sender struct This send the SOAP Message to other SOAP nodes and this alone write the SOAP Message to the wire. Out flow must be end with one of this kind

Member Data Documentation

operations of axis transport sender


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__flow__container.html0000644000175000017500000006476611172017604026201 0ustar00manjulamanjula00000000000000 Axis2/C: flow container

flow container
[description]


Files

file  axis2_flow_container.h

Typedefs

typedef struct
axis2_flow_container 
axis2_flow_container_t

Functions

AXIS2_EXTERN void axis2_flow_container_free (axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_in_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_in_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_out_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_out_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *out_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_fault_in_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_fault_in_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *falut_in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_fault_out_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_fault_out_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *fault_out_flow)
AXIS2_EXTERN
axis2_flow_container_t
axis2_flow_container_create (const axutil_env_t *env)

Detailed Description

Flow container is the encapsulating struct for all the four flows. The four flows possible are in flow, out flow, in fault flow and out fault flow.

Typedef Documentation

typedef struct axis2_flow_container axis2_flow_container_t

Type name for struct axis2_flow_container


Function Documentation

AXIS2_EXTERN axis2_flow_container_t* axis2_flow_container_create ( const axutil_env_t env  ) 

Creates flow container struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created flow container

AXIS2_EXTERN void axis2_flow_container_free ( axis2_flow_container_t flow_container,
const axutil_env_t env 
)

Frees flow container.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_flow_t* axis2_flow_container_get_fault_in_flow ( const axis2_flow_container_t flow_container,
const axutil_env_t env 
)

Gets fault in flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
Returns:
fault in flow, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_flow_t* axis2_flow_container_get_fault_out_flow ( const axis2_flow_container_t flow_container,
const axutil_env_t env 
)

Gets fault out flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
Returns:
fault out flow, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_flow_t* axis2_flow_container_get_in_flow ( const axis2_flow_container_t flow_container,
const axutil_env_t env 
)

Gets in flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
Returns:
pointer to in flow, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_flow_t* axis2_flow_container_get_out_flow ( const axis2_flow_container_t flow_container,
const axutil_env_t env 
)

Gets out flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
Returns:
out flow, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t axis2_flow_container_set_fault_in_flow ( axis2_flow_container_t flow_container,
const axutil_env_t env,
axis2_flow_t falut_in_flow 
)

Sets fault in flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
falut_in_flow pointer to falut in flow, flow container assumes ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_flow_container_set_fault_out_flow ( axis2_flow_container_t flow_container,
const axutil_env_t env,
axis2_flow_t fault_out_flow 
)

Sets fault out flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
fault_out_flow pointer to fault out flow, flow container assumes ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_flow_container_set_in_flow ( axis2_flow_container_t flow_container,
const axutil_env_t env,
axis2_flow_t in_flow 
)

Sets in flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
in_flow pointer to in flow struct, flow container assumes ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_flow_container_set_out_flow ( axis2_flow_container_t flow_container,
const axutil_env_t env,
axis2_flow_t out_flow 
)

Sets out flow.

Parameters:
flow_container pointer to flow container
env pointer to environment struct
out_flow pointer to out flow, flow container assumes ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__thread_8h-source.html0000644000175000017500000003745411172017604025074 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_thread.h Source File

axutil_thread.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_THREAD_H
00020 #define AXUTIL_THREAD_H
00021 
00027 #include <axutil_allocator.h>
00028 #include <axutil_utils_defines.h>
00029 #include <axutil_error.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00046     /*#define AXIS2_THREAD_FUNC */
00047 
00049     typedef struct axutil_thread_t axutil_thread_t;
00050 
00052     typedef struct axutil_threadattr_t axutil_threadattr_t;
00053 
00055     typedef struct axutil_thread_once_t axutil_thread_once_t;
00056 
00060     typedef void *(
00061         AXIS2_THREAD_FUNC * axutil_thread_start_t)(
00062             axutil_thread_t *,
00063             void *);
00064 
00066     typedef struct axutil_threadkey_t axutil_threadkey_t;
00067 
00068     /* Thread Function definitions */
00069 
00075     AXIS2_EXTERN axutil_threadattr_t *AXIS2_CALL
00076     axutil_threadattr_create(
00077         axutil_allocator_t * allocator);
00078 
00085     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00086     axutil_threadattr_detach_set(
00087         axutil_threadattr_t * attr,
00088         axis2_bool_t detached);
00089 
00096     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00097     axutil_threadattr_is_detach(
00098         axutil_threadattr_t * attr,
00099         axutil_allocator_t * allocator);
00100 
00109     AXIS2_EXTERN axutil_thread_t *AXIS2_CALL
00110     axutil_thread_create(
00111         axutil_allocator_t * allocator,
00112         axutil_threadattr_t * attr,
00113         axutil_thread_start_t func,
00114         void *data);
00115 
00121     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00122     axutil_thread_exit(
00123         axutil_thread_t * thd,
00124         axutil_allocator_t * allocator);
00125 
00131     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00132     axutil_thread_join(
00133         axutil_thread_t * thd);
00134 
00138     AXIS2_EXTERN void AXIS2_CALL
00139     axutil_thread_yield(void
00140     );
00141 
00147     AXIS2_EXTERN axutil_thread_once_t *AXIS2_CALL
00148     axutil_thread_once_init(
00149         axutil_allocator_t * allocator);
00150 
00161     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00162     axutil_thread_once(
00163         axutil_thread_once_t * control,
00164         void(*func)(void));
00165 
00171     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00172     axutil_thread_detach(
00173         axutil_thread_t * thd);
00174 
00175 
00176     /*************************Thread locking functions*****************************/
00177 
00179     typedef struct axutil_thread_mutex_t axutil_thread_mutex_t;
00180 
00181 #define AXIS2_THREAD_MUTEX_DEFAULT  0x0   
00183 #define AXIS2_THREAD_MUTEX_NESTED   0x1   
00185 #define AXIS2_THREAD_MUTEX_UNNESTED 0x2   
00194     AXIS2_EXTERN axutil_thread_mutex_t *AXIS2_CALL
00195 
00196     axutil_thread_mutex_create(
00197         axutil_allocator_t * allocator,
00198         unsigned int flags);
00199 
00205     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00206     axutil_thread_mutex_lock(
00207         axutil_thread_mutex_t * mutex);
00208 
00214     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00215     axutil_thread_mutex_trylock(
00216         axutil_thread_mutex_t * mutex);
00217 
00222     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00223     axutil_thread_mutex_unlock(
00224         axutil_thread_mutex_t * mutex);
00225 
00230     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00231     axutil_thread_mutex_destroy(
00232         axutil_thread_mutex_t * mutex);
00233 
00235 #ifdef __cplusplus
00236 }
00237 #endif
00238 
00239 #endif                          /* AXIS2_THREAD_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__text.html0000644000175000017500000011045011172017604024062 0ustar00manjulamanjula00000000000000 Axis2/C: text

text
[AXIOM]


Typedefs

typedef struct axiom_text axiom_text_t

Functions

AXIS2_EXTERN
axiom_text_t * 
axiom_text_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *value, axiom_node_t **node)
AXIS2_EXTERN
axiom_text_t * 
axiom_text_create_str (const axutil_env_t *env, axiom_node_t *parent, axutil_string_t *value, axiom_node_t **node)
AXIS2_EXTERN
axiom_text_t * 
axiom_text_create_with_data_handler (const axutil_env_t *env, axiom_node_t *parent, axiom_data_handler_t *data_handler, axiom_node_t **node)
AXIS2_EXTERN void axiom_text_free (struct axiom_text *om_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_text_serialize (struct axiom_text *om_text, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axis2_status_t 
axiom_text_set_value (struct axiom_text *om_text, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN const
axis2_char_t * 
axiom_text_get_value (struct axiom_text *om_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_text_set_value_str (struct axiom_text *om_text, const axutil_env_t *env, axutil_string_t *value)
AXIS2_EXTERN const
axis2_char_t * 
axiom_text_get_text (axiom_text_t *om_text, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axiom_text_get_value_str (struct axiom_text *om_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_text_set_optimize (struct axiom_text *om_text, const axutil_env_t *env, axis2_bool_t optimize)
AXIS2_EXTERN
axis2_status_t 
axiom_text_set_is_binary (struct axiom_text *om_text, const axutil_env_t *env, const axis2_bool_t is_binary)
AXIS2_EXTERN
axiom_data_handler_t * 
axiom_text_get_data_handler (struct axiom_text *om_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_text_get_content_id (struct axiom_text *om_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_text_set_content_id (axiom_text_t *om_text, const axutil_env_t *env, const axis2_char_t *content_id)
AXIS2_EXTERN
axis2_status_t 
axiom_text_set_is_swa (struct axiom_text *om_text, const axutil_env_t *env, const axis2_bool_t is_swa)

Function Documentation

AXIS2_EXTERN axiom_text_t* axiom_text_create ( const axutil_env_t env,
axiom_node_t *  parent,
const axis2_char_t *  value,
axiom_node_t **  node 
)

Creates a new text struct

Parameters:
env Environment.
parent parent of the new node. Optinal, can be NULL. The parent element must be of type AXIOM_ELEMENT
value Text value. Optinal, can be NULL.
comment_node This is an out parameter. cannot be NULL. Returns the node corresponding to the text struct created. Node type will be set to AXIOM_TEXT
Returns:
pointer to newly created text struct

AXIS2_EXTERN axiom_text_t* axiom_text_create_str ( const axutil_env_t env,
axiom_node_t *  parent,
axutil_string_t *  value,
axiom_node_t **  node 
)

Creates a new text struct

Parameters:
env Environment.
parent parent of the new node. Optinal, can be NULL. The parent element must be of type AXIOM_ELEMENT
value Text value string. Optinal, can be NULL.
comment_node This is an out parameter. cannot be NULL. Returns the node corresponding to the text struct created. Node type will be set to AXIOM_TEXT
Returns:
pointer to newly created text struct

AXIS2_EXTERN axiom_text_t* axiom_text_create_with_data_handler ( const axutil_env_t env,
axiom_node_t *  parent,
axiom_data_handler_t *  data_handler,
axiom_node_t **  node 
)

Creates a new text struct for binary data (MTOM)

Parameters:
env Environment.
parent parent of the new node. Optinal, can be NULL. The parent element must be of type AXIOM_ELEMENT
data_handler data handler. Optinal, can be NULL.
comment_node This is an out parameter. cannot be NULL. Returns the node corresponding to the text struct created. Node type will be set to AXIOM_TEXT
Returns:
pointer to newly created text struct

AXIS2_EXTERN void axiom_text_free ( struct axiom_text *  om_text,
const axutil_env_t env 
)

Free an axiom_text struct

Parameters:
env environment.
om_text pointer to om text struct to be freed.
Returns:
satus of the op. AXIS2_SUCCESS on success AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_char_t* axiom_text_get_content_id ( struct axiom_text *  om_text,
const axutil_env_t env 
)

Get the Content ID of the OM text

Parameters:
om_text pointer to the OM Text struct
environment Environment. MUST NOT be NULL
Returns:
the content id of the OM text

AXIS2_EXTERN axiom_data_handler_t* axiom_text_get_data_handler ( struct axiom_text *  om_text,
const axutil_env_t env 
)

Get the data handler of the OM text

Parameters:
om_text pointer to the OM Text struct
environment Environment. MUST NOT be NULL
Returns:
the data handler of the OM text

AXIS2_EXTERN const axis2_char_t* axiom_text_get_text ( axiom_text_t *  om_text,
const axutil_env_t env 
)

Gets text value from the text node even when MTOM optimized

Parameters:
om_text om_text struct
env environment.
Returns:
text value base64 encoded text when MTOM optimized, NULL is returned if there is no text value.

AXIS2_EXTERN const axis2_char_t* axiom_text_get_value ( struct axiom_text *  om_text,
const axutil_env_t env 
)

Gets text value

Parameters:
om_text om_text struct
env environment.
Returns:
text value , NULL is returned if there is no text value.

AXIS2_EXTERN axutil_string_t* axiom_text_get_value_str ( struct axiom_text *  om_text,
const axutil_env_t env 
)

Gets text value

Parameters:
om_text om_text struct
env environment.
Returns:
text valu stringe , NULL is returned if there is no text value.

AXIS2_EXTERN axis2_status_t axiom_text_serialize ( struct axiom_text *  om_text,
const axutil_env_t env,
axiom_output_t om_output 
)

Serialize op

Parameters:
env environment.
om_text pointer to om text struct to be serialized.
om_output AXIOM output handler to be used in serializing.
Returns:
satus of the op. AXIS2_SUCCESS on success, AXIS2_FAILURE on error

AXIS2_EXTERN axis2_status_t axiom_text_set_content_id ( axiom_text_t *  om_text,
const axutil_env_t env,
const axis2_char_t *  content_id 
)

Set the content ID of the OM text

Parameters:
om_text pointer to the OM Text struct
environment Environment. MUST NOT be NULL
content_id the content ID
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_text_set_is_binary ( struct axiom_text *  om_text,
const axutil_env_t env,
const axis2_bool_t  is_binary 
)

Parameters:
om_text text value
env environment
is_binary 
Returns:
AXIS2_SUCCESS

AXIS2_EXTERN axis2_status_t axiom_text_set_is_swa ( struct axiom_text *  om_text,
const axutil_env_t env,
const axis2_bool_t  is_swa 
)

Sets the boolean value indicating if the binary data associated with the text node should be sent in SOAP with Attachment (SwA) format or not.

Parameters:
om_text text node
env environment
is_swa bool value, AXIS2_TRUE means use SwA format, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS

AXIS2_EXTERN axis2_status_t axiom_text_set_optimize ( struct axiom_text *  om_text,
const axutil_env_t env,
axis2_bool_t  optimize 
)

Sets optimized

Parameters:
om_text pointer to om_text struct
env environment optimize value
Returns:
AXIS2_SUCCESS

AXIS2_EXTERN axis2_status_t axiom_text_set_value ( struct axiom_text *  om_text,
const axutil_env_t env,
const axis2_char_t *  value 
)

Sets the text value

Parameters:
om_text om_text struct
env environment.
value text
Returns:
status of the op. AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_text_set_value_str ( struct axiom_text *  om_text,
const axutil_env_t env,
axutil_string_t *  value 
)

Sets the text value

Parameters:
om_text om_text struct
env environment.
value string
Returns:
status of the op. AXIS2_SUCCESS on success, AXIS2_FAILURE on error.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap.html0000644000175000017500000001045511172017604024044 0ustar00manjulamanjula00000000000000 Axis2/C: SOAP

SOAP


Modules

 soap body
 soap builder
 soap envelope
 soap fault
 soap fault code
 soap fault detail
 soap fault node
 soap fault reason
 soap fault role
 soap fault sub code
 soap fault text
 soap fault value
 soap header
 soap header block

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__header__block_8h-source.html0000644000175000017500000003237711172017604027355 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_header_block.h Source File

axiom_soap_header_block.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_HEADER_BLOCK_H
00020 #define AXIOM_SOAP_HEADER_BLOCK_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_node.h>
00028 #include <axiom_element.h>
00029 #include <axutil_array_list.h>
00030 #include <axiom_soap_header.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     typedef struct axiom_soap_header_block axiom_soap_header_block_t;
00038 
00052     AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL
00053     axiom_soap_header_block_create_with_parent(
00054         const axutil_env_t * env,
00055         const axis2_char_t * localname,
00056         axiom_namespace_t * ns,
00057         struct axiom_soap_header *parent);
00058 
00066     AXIS2_EXTERN void AXIS2_CALL
00067     axiom_soap_header_block_free(
00068         axiom_soap_header_block_t * header_block,
00069         const axutil_env_t * env);
00070 
00079     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080     axiom_soap_header_block_set_role(
00081         axiom_soap_header_block_t * header_block,
00082         const axutil_env_t * env,
00083         axis2_char_t * uri);
00084 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095     axiom_soap_header_block_set_must_understand_with_bool(
00096         axiom_soap_header_block_t * header_block,
00097         const axutil_env_t * env,
00098         axis2_bool_t must_understand);
00099 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     axiom_soap_header_block_set_must_understand_with_string(
00110         axiom_soap_header_block_t * header_block,
00111         const axutil_env_t * env,
00112         axis2_char_t * must_understand);
00113 
00122     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00123     axiom_soap_header_block_get_must_understand(
00124         axiom_soap_header_block_t * header_block,
00125         const axutil_env_t * env);
00126 
00134     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00135     axiom_soap_header_block_is_processed(
00136         axiom_soap_header_block_t * header_block,
00137         const axutil_env_t * env);
00138 
00147     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148     axiom_soap_header_block_set_processed(
00149         axiom_soap_header_block_t * header_block,
00150         const axutil_env_t * env);
00151 
00159     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00160     axiom_soap_header_block_get_role(
00161         axiom_soap_header_block_t * header_block,
00162         const axutil_env_t * env);
00163 
00175     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176     axiom_soap_header_block_set_attribute(
00177         axiom_soap_header_block_t * header_block,
00178         const axutil_env_t * env,
00179         const axis2_char_t * attr_name,
00180         const axis2_char_t * attr_value,
00181         const axis2_char_t * soap_envelope_namespace_uri);
00182 
00192     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00193     axiom_soap_header_block_get_attribute(
00194         axiom_soap_header_block_t * header_block,
00195         const axutil_env_t * env,
00196         const axis2_char_t * attr_name,
00197         const axis2_char_t * soap_envelope_namespace_uri);
00198 
00206     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00207     axiom_soap_header_block_get_base_node(
00208         axiom_soap_header_block_t * header_block,
00209         const axutil_env_t * env);
00210 
00218     AXIS2_EXTERN int AXIS2_CALL
00219     axiom_soap_header_block_get_soap_version(
00220         axiom_soap_header_block_t * header_block,
00221         const axutil_env_t * env);
00222 
00225 #ifdef __cplusplus
00226 }
00227 #endif
00228 #endif                          /* AXIOM_SOAP_HEADER_BLOCK_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__core__transport__http.html0000644000175000017500000056055211172017604027424 0ustar00manjulamanjula00000000000000 Axis2/C: core http transport

core http transport
[http transport]


Files

file  axis2_http_sender.h
 axis2 SOAP over HTTP sender
file  axis2_http_transport_utils.h
 axis2 HTTP Transport Utility functions This file includes functions that handles soap and rest request that comes to the engine via HTTP protocol.
file  axis2_simple_http_svr_conn.h
 Axis2 simple http server connection.
typedef struct axutil_url axutil_url_t
AXIS2_EXTERN
axutil_url_t * 
axutil_url_create (const axutil_env_t *env, const axis2_char_t *protocol, const axis2_char_t *host, const int port, const axis2_char_t *path)
AXIS2_EXTERN
axutil_url_t * 
axutil_url_parse_string (const axutil_env_t *env, const axis2_char_t *str_url)
AXIS2_EXTERN
axutil_uri_t * 
axutil_url_to_uri (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_to_external_form (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_protocol (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *protocol)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_protocol (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_host (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *host)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_host (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_server (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *server)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_server (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_port (axutil_url_t *url, const axutil_env_t *env, int port)
AXIS2_EXTERN int axutil_url_get_port (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_path (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *path)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_path (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axutil_url_t * 
axutil_url_clone (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN void axutil_url_free (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_encode (const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *buff, int len)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_query (axutil_url_t *url, const axutil_env_t *env)

Defines

#define AXIS2_HTTP_OUT_TRANSPORT_INFO   "HTTPOutTransportInfo"
 HTTP protocol and message context constants.
#define AXIS2_HTTP_CRLF   AXIS2_CRLF
#define AXIS2_HTTP_PROTOCOL_VERSION   "PROTOCOL"
#define AXIS2_HTTP_REQUEST_URI   "REQUEST_URI"
#define AXIS2_HTTP_RESPONSE_CODE   "RESPONSE_CODE"
#define AXIS2_HTTP_RESPONSE_WORD   "RESPONSE_WORD"
#define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL   100
#define AXIS2_HTTP_RESPONSE_OK_CODE_VAL   200
#define AXIS2_HTTP_RESPONSE_CREATED_CODE_VAL   201
#define AXIS2_HTTP_RESPONSE_ACK_CODE_VAL   202
#define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VAL   203
#define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL   204
#define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL   205
#define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL   300
#define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL   301
#define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL   303
#define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL   304
#define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL   307
#define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL   400
#define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL   401
#define AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VAL   403
#define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL   404
#define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL   405
#define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL   406
#define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL   407
#define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL   408
#define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL   409
#define AXIS2_HTTP_RESPONSE_GONE_CODE_VAL   410
#define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VAL   411
#define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL   412
#define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL   413
#define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL   500
#define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VAL   501
#define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL   503
#define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAME   "Continue"
#define AXIS2_HTTP_RESPONSE_OK_CODE_NAME   "OK"
#define AXIS2_HTTP_RESPONSE_CREATED_CODE_NAME   "Created"
#define AXIS2_HTTP_RESPONSE_ACK_CODE_NAME   "Accepted"
#define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAME   "No Content"
#define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAME   "Non-Authoritative Information"
#define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAME   "Reset Content"
#define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAME   "Multiple Choices"
#define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAME   "Moved Permanently"
#define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAME   "See Other"
#define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME   "Not Modified"
#define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAME   "Temporary Redirect"
#define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME   "Bad Request"
#define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAME   "Unauthorized"
#define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAME   "Forbidden"
#define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME   "Not Found"
#define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME   "Method Not Allowed"
#define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME   "Not Acceptable"
#define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAME   "Proxy Authentication Required"
#define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME   "Request Timeout"
#define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME   "Conflict"
#define AXIS2_HTTP_RESPONSE_GONE_CODE_NAME   "Gone"
#define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAME   "Length Required"
#define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME   "Precondition Failed"
#define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME   "Request Entity Too Large"
#define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME   "Internal Server Error"
#define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME   "Not Implemented"
#define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME   "Service Unavailable"
#define AXIS2_SOCKET   "SOCKET"
#define AXIS2_HTTP_HEADER_PROTOCOL_10   "HTTP/1.0"
#define AXIS2_HTTP_HEADER_PROTOCOL_11   "HTTP/1.1"
#define AXIS2_HTTP_CHAR_SET_ENCODING   "charset"
#define AXIS2_HTTP_POST   "POST"
#define AXIS2_HTTP_GET   "GET"
#define AXIS2_HTTP_HEAD   "HEAD"
#define AXIS2_HTTP_PUT   "PUT"
#define AXIS2_HTTP_DELETE   "DELETE"
#define AXIS2_HTTP_HEADER_HOST   "Host"
#define AXIS2_HTP_HEADER_CONTENT_DESCRIPTION   "Content-Description"
#define AXIS2_HTTP_HEADER_CONTENT_TYPE   "Content-Type"
#define AXIS2_HTTP_HEADER_CONTENT_TYPE_   "Content-Type: "
#define AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPE   "User_Content_Type"
#define AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY   "boundary"
#define AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODING   "Content-Transfer-Encoding"
#define AXIS2_HTTP_HEADER_CONTENT_LENGTH   "Content-Length"
#define AXIS2_HTTP_HEADER_CONTENT_LANGUAGE   "Content-Language"
#define AXIS2_HTTP_HEADER_CONTENT_LENGTH_   "Content-Length: "
#define AXIS2_HTTP_HEADER_CONTENT_LOCATION   "Content-Location"
#define AXIS2_HTTP_HEADER_CONTENT_ID   "Content-Id"
#define AXIS2_HTTP_HEADER_SOAP_ACTION   "SOAPAction"
#define AXIS2_HTTP_HEADER_SOAP_ACTION_   "SOAPAction: "
#define AXIS2_HTTP_HEADER_AUTHORIZATION   "Authorization"
#define AXIS2_HTTP_HEADER_WWW_AUTHENTICATE   "WWW-Authenticate"
#define AXIS2_HTTP_HEADER_PROXY_AUTHENTICATE   "Proxy-Authenticate"
#define AXIS2_HTTP_HEADER_PROXY_AUTHORIZATION   "Proxy-Authorization"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM   "realm"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAIN   "domain"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE   "nonce"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE   "opaque"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALE   "stale"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHM   "algorithm"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP   "qop"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME   "username"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI   "uri"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE   "response"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT   "nc"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE   "cnonce"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE   "00000001"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH   "auth"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INT   "auth-int"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUE   "true"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSE   "false"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5   "MD5"
#define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESS   "MD5-sess"
#define AXIS2_HTTP_HEADER_EXPECT   "Expect"
#define AXIS2_HTTP_HEADER_EXPECT_100_CONTINUE   "100-continue"
#define AXIS2_HTTP_HEADER_USER_AGENT   "User-Agent"
#define AXIS2_HTTP_HEADER_USER_AGENT_AXIS2C   "User-Agent: Axis2C/" AXIS2_VERSION_STRING
#define AXIS2_HTTP_HEADER_SERVER   "Server"
#define AXIS2_HTTP_HEADER_DATE   "Date"
#define AXIS2_HTTP_HEADER_SERVER_AXIS2C   "Axis2C/" AXIS2_VERSION_STRING
#define AXIS2_HTTP_HEADER_ACCEPT_   "Accept: "
#define AXIS2_HTTP_HEADER_EXPECT_   "Expect: "
#define AXIS2_HTTP_HEADER_CACHE_CONTROL   "Cache-Control"
#define AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHE   "no-cache"
#define AXIS2_HTTP_HEADER_PRAGMA   "Pragma"
#define AXIS2_HTTP_HEADER_LOCATION   "Location"
#define AXIS2_HTTP_REQUEST_HEADERS   "HTTP-Request-Headers"
#define AXIS2_HTTP_RESPONSE_HEADERS   "HTTP-Response-Headers"
#define AXIS2_HTTP_HEADER_TRANSFER_ENCODING   "Transfer-Encoding"
#define AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED   "chunked"
#define AXIS2_HTTP_HEADER_CONNECTION   "Connection"
#define AXIS2_HTTP_HEADER_CONNECTION_CLOSE   "close"
#define AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVE   "Keep-Alive"
#define AXIS2_HTTP_HEADER_ACCEPT   "Accept"
#define AXIS2_HTTP_HEADER_ACCEPT_CHARSET   "Accept-Charset"
#define AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE   "Accept-Language"
#define AXIS2_HTTP_HEADER_ALLOW   "Allow"
#define AXIS2_HTTP_HEADER_ACCEPT_ALL   "*/*"
#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALL   "text/*"
#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN   "text/plain"
#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML   "text/html"
#define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XML   "application/xml"
#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML   "text/xml"
#define AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP   "application/soap+xml"
#define AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODED   "application/x-www-form-urlencoded"
#define AXIS2_HTTP_HEADER_ACCEPT_XOP_XML   AXIOM_MIME_TYPE_XOP_XML
#define AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED   AXIOM_MIME_TYPE_MULTIPART_RELATED
#define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIME   "application/dime"
#define AXIS2_HTTP_HEADER_COOKIE   "Cookie"
#define AXIS2_HTTP_HEADER_COOKIE2   "Cookie2"
#define AXIS2_HTTP_HEADER_SET_COOKIE   "Set-Cookie"
#define AXIS2_HTTP_HEADER_SET_COOKIE2   "Set-Cookie2"
#define AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING   "iso-8859-1"
#define AXIS2_HTTP_RESPONSE_OK   "200 OK"
#define AXIS2_HTTP_RESPONSE_NOCONTENT   "202 OK";
#define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED   "401 Unauthorized"
#define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN   "403 Forbidden"
#define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED   "407 Proxy Authentication Required"
#define AXIS2_HTTP_RESPONSE_BAD_REQUEST   "400 Bad Request"
#define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR   "500 Internal Server Error"
#define AXIS2_HTTP_REQ_TYPE   "HTTP_REQ_TYPE"
#define AXIS2_HTTP_SO_TIMEOUT   "SO_TIMEOUT"
#define AXIS2_HTTP_CONNECTION_TIMEOUT   "CONNECTION_TIMEOUT"
#define AXIS2_HTTP_DEFAULT_SO_TIMEOUT   60000
#define AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT   60000
#define AXIS2_HTTP_PROXY   "PROXY"
#define AXIS2_HTTP_PROXY   "PROXY"
#define AXIS2_HTTP_ISO_8859_1   "ISO-8859-1"
#define AXIS2_HTTP_DEFAULT_CONTENT_CHARSET   "ISO-8859-1"
#define AXIS2_TRANSPORT_HTTP   "http"
#define AXIS2_RESPONSE_WRITTEN   "CONTENT_WRITTEN"
#define MTOM_RECIVED_CONTENT_TYPE   "MTOM_RECEIVED"
#define AXIS2_HTTP_AUTHENTICATION   "HTTP-Authentication"
#define AXIS2_HTTP_AUTHENTICATION_USERNAME   "username"
#define AXIS2_HTTP_AUTHENTICATION_PASSWORD   "password"
#define AXIS2_HTTP_PROXY_HOST   "proxy_host"
#define AXIS2_HTTP_PROXY_PORT   "proxy_port"
#define AXIS2_HTTP_PROXY_USERNAME   "proxy_username"
#define AXIS2_HTTP_PROXY_PASSWORD   "proxy_password"
#define AXIS2_HTTP_PROXY_API   "PROXY_API"
#define AXIS2_HTTP_METHOD   "HTTP_METHOD"
#define AXIS2_SSL_SERVER_CERT   "SERVER_CERT"
#define AXIS2_SSL_KEY_FILE   "KEY_FILE"
#define AXIS2_SSL_PASSPHRASE   "SSL_PASSPHRASE"
#define AXIS2_HTTP_AUTH_UNAME   "HTTP_AUTH_USERNAME"
#define AXIS2_HTTP_AUTH_PASSWD   "HTTP_AUTH_PASSWD"
#define AXIS2_PROXY_AUTH_UNAME   "PROXY_AUTH_USERNAME"
#define AXIS2_PROXY_AUTH_PASSWD   "PROXY_AUTH_PASSWD"
#define AXIS2_HTTP_AUTH_TYPE_BASIC   "Basic"
#define AXIS2_HTTP_AUTH_TYPE_DIGEST   "Digest"
#define AXIS2_PROXY_AUTH_TYPE_BASIC   "Basic"
#define AXIS2_PROXY_AUTH_TYPE_DIGEST   "Digest"
#define AXIS2_HTTP_TRANSPORT_ERROR   "http_transport_error"
#define AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPE   "415 Unsupported Media Type\r\n"
#define AXIS2_TRANSPORT_HEADER_PROPERTY   "HTTP_HEADER_PROPERTY"
#define AXIS2_TRANSPORT_URL_HTTPS   "HTTPS"
#define AXIS2_Q_MARK_STR   "?"
#define AXIS2_Q_MARK   '?'
#define AXIS2_H_MARK   '#'
#define AXIS2_ALL   "ALL"
#define AXIS2_USER_AGENT   "Axis2C/" AXIS2_VERSION_STRING
#define AXIS2_AND_SIGN   "&"
#define AXIS2_ESC_DOUBLE_QUOTE   '\"'
#define AXIS2_ESC_DOUBLE_QUOTE_STR   "\""
#define AXIS2_ESC_SINGLE_QUOTE   '\''
#define AXIS2_DOUBLE_QUOTE   '"'
#define AXIS2_ESC_NULL   '\0'
#define AXIS2_SEMI_COLON_STR   ";"
#define AXIS2_SEMI_COLON   ';'
#define AXIS2_COLON   ':'
#define AXIS2_COLON_STR   ":"
#define AXIS2_CONTENT_TYPE_ACTION   ";action=\""
#define AXIS2_CONTENT_TYPE_CHARSET   ";charset="
#define AXIS2_CHARSET   "charset"
#define AXIS2_PORT_STRING   "port"
#define AXIS2_DEFAULT_HOST_ADDRESS   "127.0.0.1"
#define AXIS2_DEFAULT_SVC_PATH   "/axis2/services/"
#define AXIS2_HTTP_PROTOCOL   "http"
#define AXIS2_HTTP   "HTTP"
#define AXIS2_SPACE_COMMA   " ,"
#define AXIS2_COMMA   ','
#define AXIS2_Q   'q'
#define AXIS2_EQ_N_SEMICOLON   " =;"
#define AXIS2_LEVEL   "level"
#define AXIS2_SPACE_SEMICOLON   " ;"
#define AXIS2_SPACE   ' '
#define AXIS2_RETURN   '\r'
#define AXIS2_NEW_LINE   '\n'
#define AXIS2_F_SLASH   '/'
#define AXIS2_B_SLASH   '\\'
#define AXIS2_EQ   '='
#define AXIS2_AND   '&'
#define AXIS2_PERCENT   '%'
#define AXIS2_HTTP_SERVER   " (Simple Axis2 HTTP Server)"
#define AXIS2_COMMA_SPACE_STR   ", "
#define AXIS2_SPACE_TAB_EQ   " \t="
#define AXIS2_ACTION   "action"
#define AXIS2_HTTP_NOT_FOUND   "<html><head><title>404 Not Found</title></head>\ <body><h2>Not Found</h2><p>The requested URL was not found on this server.</p></body></html>"
#define AXIS2_HTTP_NOT_IMPLEMENTED   "<html><head><title>501 Not Implemented</title></head><body><h2>Not Implemented</h2><p>The requested Method is not\implemented on this server.</p></body></html>"
#define AXIS2_HTTP_INTERNAL_SERVER_ERROR   "<html><head><title>500 Internal Server\ Error</title></head><body><h2>Internal Server Error</h2><p>The server \encountered an unexpected condition which prevented it from fulfilling the \request.</p></body></html>"
#define AXIS2_HTTP_METHOD_NOT_ALLOWED   "<html><head><title>405 Method Not Allowed</title></head><body><h2>Method Not Allowed</h2><p>The requested method is not\allowed for this URL.</p></body></html>"
#define AXIS2_HTTP_NOT_ACCEPTABLE   "<html><head><title>406 Not Acceptable</title></head><body><h2>Not Acceptable</h2><p>An appropriate representation of \the requested resource could not be found on this server.</p></body></html>"
#define AXIS2_HTTP_BAD_REQUEST   "<html><head><title>400 Bad Request</title></head><body><h2>Bad Request</h2><p>Your client sent a request that this server\ could not understand.</p></body></html>"
#define AXIS2_HTTP_REQUEST_TIMEOUT   "<html><head><title>408 Request Timeout</title></head><body><h2>Request Timeout</h2><p>Cannot wait any longer for \the HTTP request from the client.</p></body></html>"
#define AXIS2_HTTP_CONFLICT   "<html><head><title>409 Conflict</title></head><body><h2>Conflict</h2><p>The client attempted to put the server\'s resources\ into an invalid state.</p></body></html>"
#define AXIS2_HTTP_GONE   "<html><head><title>410 Gone</title></head><body><h2>Gone</h2><p>The requested resource is no longer available on this server.</p></body></html>"
#define AXIS2_HTTP_PRECONDITION_FAILED   "<html><head><title>412 Precondition \Failed</title></head><body><h2>Precondition Failed</h2><p>A precondition for\ the requested URL failed.</p></body></html>"
#define AXIS2_HTTP_TOO_LARGE   "<html><head><title>413 Request Entity Too Large</title></head><body><h2>Request Entity Too Large</h2><p>The data provided in\ the request is too large or the requested resource does not allow request \data.</p></body></html>"
#define AXIS2_HTTP_SERVICE_UNAVILABLE   "<html><head><title>503 Service \Unavailable</title></head><body><h2>Service Unavailable</h2><p>The service\ is temporarily unable to serve your request.</p></body></html>"

Define Documentation

#define AXIS2_HTP_HEADER_CONTENT_DESCRIPTION   "Content-Description"

HEADER_CONTENT_DESCRIPTION

#define AXIS2_HTTP_AUTH_PASSWD   "HTTP_AUTH_PASSWD"

HTTP authentication password property name

#define AXIS2_HTTP_AUTH_TYPE_BASIC   "Basic"

HTTP "Basic" authentication

#define AXIS2_HTTP_AUTH_TYPE_DIGEST   "Digest"

HTTP "Digest" authentication

#define AXIS2_HTTP_AUTH_UNAME   "HTTP_AUTH_USERNAME"

HTTP authentication username property name

#define AXIS2_HTTP_AUTHENTICATION   "HTTP-Authentication"

Constant for HTTP authentication

#define AXIS2_HTTP_AUTHENTICATION_PASSWORD   "password"

Constant for HTTP authentication password

#define AXIS2_HTTP_AUTHENTICATION_USERNAME   "username"

Constant for HTTP authentication username

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5   "MD5"

AUTHORIZATION_REQUEST_ALGORITHM_MD5

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESS   "MD5-sess"

AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESS

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE   "00000001"

AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHM   "algorithm"

AUTHORIZATION_REQUEST_PARAM_ALGORITHM

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE   "cnonce"

AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAIN   "domain"

AUTHORIZATION_REQUEST_PARAM_DOMAIN

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE   "nonce"

AUTHORIZATION_REQUEST_PARAM_NONCE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT   "nc"

AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE   "opaque"

AUTHORIZATION_REQUEST_PARAM_OPAQUE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP   "qop"

AUTHORIZATION_REQUEST_PARAM_QOP

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM   "realm"

AUTHORIZATION_REQUEST_PARAM_REALM

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE   "response"

AUTHORIZATION_REQUEST_PARAM_RESPONSE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALE   "stale"

AUTHORIZATION_REQUEST_PARAM_STALE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI   "uri"

AUTHORIZATION_REQUEST_PARAM_URI

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME   "username"

AUTHORIZATION_REQUEST_PARAM_USERNAME

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH   "auth"

AUTHORIZATION_REQUEST_QOP_OPTION_AUTH

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INT   "auth-int"

AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INT

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSE   "false"

AUTHORIZATION_REQUEST_STALE_STATE_FALSE

#define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUE   "true"

AUTHORIZATION_REQUEST_STALE_STATE_TRUE

#define AXIS2_HTTP_CHAR_SET_ENCODING   "charset"

CHAR_SET_ENCODING

#define AXIS2_HTTP_CONNECTION_TIMEOUT   "CONNECTION_TIMEOUT"

CONNECTION_TIMEOUT

#define AXIS2_HTTP_CRLF   AXIS2_CRLF

CARRIAGE RETURN AND LINE FEED

#define AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT   60000

DEFAULT_CONNECTION_TIMEOUT

#define AXIS2_HTTP_DEFAULT_CONTENT_CHARSET   "ISO-8859-1"

Default charset in content

#define AXIS2_HTTP_DEFAULT_SO_TIMEOUT   60000

DEFAULT_SO_TIMEOUT

#define AXIS2_HTTP_DELETE   "DELETE"

HEADER_DELETE

#define AXIS2_HTTP_GET   "GET"

HEADER_GET

#define AXIS2_HTTP_HEAD   "HEAD"

HEADER_HEAD

#define AXIS2_HTTP_HEADER_ACCEPT   "Accept"

HEADER_ACCEPT

#define AXIS2_HTTP_HEADER_ACCEPT_ALL   "*/*"

HEADER_ACCEPT_ALL

#define AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP   "application/soap+xml"

HEADER_ACCEPT_APPL_SOAP

#define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIME   "application/dime"

HEADER_ACCEPT_APPLICATION_DIME

#define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XML   "application/xml"

HEADER APPLICATION_XML

#define AXIS2_HTTP_HEADER_ACCEPT_CHARSET   "Accept-Charset"

HEADER_ACCEPT_CHARSET

#define AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE   "Accept-Language"

AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE

#define AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED   AXIOM_MIME_TYPE_MULTIPART_RELATED

HEADER_ACCEPT_MULTIPART_RELATED

#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALL   "text/*"

HEADER_ACCEPT_TEXT_ALL

#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML   "text/html"

HEADER_ACCEPT_TEXT_HTML

#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN   "text/plain"

HEADER_ACCEPT_TEXT_PLAIN

#define AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML   "text/xml"

HEADER_ACCEPT_TEXT_XML

#define AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODED   "application/x-www-form-urlencoded"

HEADER_ACCEPT_X_WWW_FORM_URLENCODED

#define AXIS2_HTTP_HEADER_ACCEPT_XOP_XML   AXIOM_MIME_TYPE_XOP_XML

HEADER XOP XML

#define AXIS2_HTTP_HEADER_ALLOW   "Allow"

HEADER_ALLOW

#define AXIS2_HTTP_HEADER_AUTHORIZATION   "Authorization"

HEADER_AUTHORIZATION

#define AXIS2_HTTP_HEADER_CACHE_CONTROL   "Cache-Control"

HEADER_CACHE_CONTROL

#define AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHE   "no-cache"

HEADER_CACHE_CONTROL_NOCACHE

#define AXIS2_HTTP_HEADER_CONNECTION   "Connection"

HEADER_CONNECTION

#define AXIS2_HTTP_HEADER_CONNECTION_CLOSE   "close"

HEADER_CONNECTION_CLOSE

#define AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVE   "Keep-Alive"

HEADER_CONNECTION_KEEPALIVE

#define AXIS2_HTTP_HEADER_CONTENT_ID   "Content-Id"

HEADER_CONTENT_ID

#define AXIS2_HTTP_HEADER_CONTENT_LANGUAGE   "Content-Language"

HEADER_CONTENT_LANGUAGE

#define AXIS2_HTTP_HEADER_CONTENT_LENGTH   "Content-Length"

HEADER_CONTENT_LENGTH

#define AXIS2_HTTP_HEADER_CONTENT_LOCATION   "Content-Location"

HEADER_CONTENT_LOCATION

#define AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODING   "Content-Transfer-Encoding"

HEADER_CONTENT_TRANSFER_ENCODING

#define AXIS2_HTTP_HEADER_CONTENT_TYPE   "Content-Type"

HEADER_CONTENT_TYPE

#define AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY   "boundary"

HEADER_CONTENT_TYPE

#define AXIS2_HTTP_HEADER_COOKIE   "Cookie"

Cookie headers

#define AXIS2_HTTP_HEADER_COOKIE2   "Cookie2"

HEADER_COOKIE2

#define AXIS2_HTTP_HEADER_DATE   "Date"

HEADER_DATE

#define AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING   "iso-8859-1"

HTTP header field values

#define AXIS2_HTTP_HEADER_EXPECT   "Expect"

HEADER_EXPECT

#define AXIS2_HTTP_HEADER_EXPECT_100_CONTINUE   "100-continue"

HEADER_EXPECT_100_Continue

#define AXIS2_HTTP_HEADER_HOST   "Host"

HEADER_HOST

#define AXIS2_HTTP_HEADER_LOCATION   "Location"

HEADER_LOCATION

#define AXIS2_HTTP_HEADER_PRAGMA   "Pragma"

HEADER_PRAGMA

#define AXIS2_HTTP_HEADER_PROTOCOL_10   "HTTP/1.0"

HEADER_PROTOCOL_10

#define AXIS2_HTTP_HEADER_PROTOCOL_11   "HTTP/1.1"

HEADER_PROTOCOL_11

#define AXIS2_HTTP_HEADER_PROXY_AUTHENTICATE   "Proxy-Authenticate"

HEADER_PROXY_AUTHENTICATE

#define AXIS2_HTTP_HEADER_PROXY_AUTHORIZATION   "Proxy-Authorization"

HEADER_PROXY_AUTHORIZATION

#define AXIS2_HTTP_HEADER_SERVER   "Server"

HEADER_SERVER

#define AXIS2_HTTP_HEADER_SERVER_AXIS2C   "Axis2C/" AXIS2_VERSION_STRING

HEADER_SERVER_AXIS2C

#define AXIS2_HTTP_HEADER_SET_COOKIE   "Set-Cookie"

HEADER_SET_COOKIE

#define AXIS2_HTTP_HEADER_SET_COOKIE2   "Set-Cookie2"

HEADER_SET_COOKIE2

#define AXIS2_HTTP_HEADER_SOAP_ACTION   "SOAPAction"

HEADER_SOAP_ACTION

#define AXIS2_HTTP_HEADER_TRANSFER_ENCODING   "Transfer-Encoding"

HEADER_TRANSFER_ENCODING

#define AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED   "chunked"

HEADER_TRANSFER_ENCODING_CHUNKED

#define AXIS2_HTTP_HEADER_USER_AGENT   "User-Agent"

HEADER_USER_AGENT

#define AXIS2_HTTP_HEADER_USER_AGENT_AXIS2C   "User-Agent: Axis2C/" AXIS2_VERSION_STRING

HEADER_USER_AGENT_AXIS2C

#define AXIS2_HTTP_HEADER_WWW_AUTHENTICATE   "WWW-Authenticate"

HEADER_WWW_AUTHENTICATE

#define AXIS2_HTTP_ISO_8859_1   "ISO-8859-1"

ISO-8859-1 encoding

#define AXIS2_HTTP_METHOD   "HTTP_METHOD"

Constant for HTTP method

#define AXIS2_HTTP_POST   "POST"

HEADER_POST

#define AXIS2_HTTP_PROTOCOL_VERSION   "PROTOCOL"

PROTOCOL_VERSION

#define AXIS2_HTTP_PROXY   "PROXY"

Constant for HTTP proxy

#define AXIS2_HTTP_PROXY   "PROXY"

Constant for HTTP proxy

#define AXIS2_HTTP_PROXY_HOST   "proxy_host"

Constant for HTTP proxy host

#define AXIS2_HTTP_PROXY_PASSWORD   "proxy_password"

Constant for HTTP proxy password

#define AXIS2_HTTP_PROXY_PORT   "proxy_port"

Constant for HTTP proxy port

#define AXIS2_HTTP_PROXY_USERNAME   "proxy_username"

Constant for HTTP proxy username

#define AXIS2_HTTP_PUT   "PUT"

HEADER_PUT

#define AXIS2_HTTP_REQ_TYPE   "HTTP_REQ_TYPE"

HTTP_REQ_TYPE

#define AXIS2_HTTP_REQUEST_HEADERS   "HTTP-Request-Headers"

REQUEST_HEADERS

#define AXIS2_HTTP_REQUEST_URI   "REQUEST_URI"

REQUEST_URI

#define AXIS2_HTTP_RESPONSE_ACK_CODE_NAME   "Accepted"

RESPONSE_ACK_CODE_NAME

#define AXIS2_HTTP_RESPONSE_ACK_CODE_VAL   202

RESPONSE_ACK_CODE_VAL

#define AXIS2_HTTP_RESPONSE_BAD_REQUEST   "400 Bad Request"

RESPONSE_BAD_REQUEST

#define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME   "Bad Request"

RESPONSE_BAD_REQUEST_CODE_NAME

#define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL   400

RESPONSE_BAD_REQUEST_CODE_VAL

#define AXIS2_HTTP_RESPONSE_CODE   "RESPONSE_CODE"

RESPONSE_CODE

#define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME   "Conflict"

RESPONSE_CONFLICT_CODE_NAME

#define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL   409

RESPONSE_CONFLICT_CODE_VAL

#define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAME   "Continue"

RESPONSE_CONTINUE_CODE_NAME

#define AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VAL   403

RESPONSE_HTTP_FORBIDDEN_CODE_VAL

#define AXIS2_HTTP_RESPONSE_GONE_CODE_NAME   "Gone"

RESPONSE_GONE_CODE_NAME

#define AXIS2_HTTP_RESPONSE_GONE_CODE_VAL   410

RESPONSE_GONE_CODE_VAL

#define AXIS2_HTTP_RESPONSE_HEADERS   "HTTP-Response-Headers"

RESPONSE_HEADERS

#define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN   "403 Forbidden"

RESPONSE_HTTP_FORBIDDEN

#define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAME   "Forbidden"

RESPONSE_HTTP_FORBIDDEN_CODE_NAME

#define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED   "401 Unauthorized"

RESPONSE_HTTP_UNAUTHORIZED

#define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAME   "Unauthorized"

RESPONSE_HTTP_UNAUTHORIZED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL   401

RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR   "500 Internal Server Error"

RESPONSE_HTTP_INTERNAL_SERVER_ERROR

#define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME   "Internal Server Error"

RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME

#define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL   500

RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL

#define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAME   "Length Required"

RESPONSE_LENGTH_REQUIRED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VAL   411

RESPONSE_LENGTH_REQUIRED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME   "Method Not Allowed"

RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL   405

RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAME   "Moved Permanently"

RESPONSE_MOVED_PERMANENTLY_CODE_NAME

#define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL   301

RESPONSE_MOVED_PERMANENTLY_CODE_VAL

#define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAME   "Multiple Choices"

RESPONSE_MULTIPLE_CHOICES_CODE_NAME

#define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL   300

RESPONSE_MULTIPLE_CHOICES_CODE_VAL

#define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAME   "No Content"

RESPONSE_NO_CONTENT_CODE_NAME

#define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL   204

RESPONSE_NO_CONTENT_CODE_VAL

#define AXIS2_HTTP_RESPONSE_NOCONTENT   "202 OK";

RESPONSE_HTTP_NOCONTENT

#define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAME   "Non-Authoritative Information"

RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAME

#define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VAL   203

RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VAL

#define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME   "Not Acceptable"

RESPONSE_NOT_ACCEPTABLE_CODE_NAME

#define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL   406

RESPONSE_NOT_ACCEPTABLE_CODE_VAL

#define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME   "Not Found"

RESPONSE_NOT_FOUND_CODE_NAME

#define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL   404

RESPONSE_NOT_FOUND_CODE_VAL

#define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME   "Not Implemented"

RESPONSE_NOT_IMPLEMENTED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VAL   501

RESPONSE_NOT_IMPLEMENTED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME   "Not Modified"

RESPONSE_NOT_MODIFIED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL   304

RESPONSE_NOT_MODIFIED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_OK   "200 OK"

REPONSE_HTTP_OK

#define AXIS2_HTTP_RESPONSE_OK_CODE_NAME   "OK"

RESPONSE_OK_CODE_NAME

#define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME   "Precondition Failed"

RESPONSE_PRECONDITION_FAILED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL   412

RESPONSE_PRECONDITION_FAILED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED   "407 Proxy Authentication Required"

RESPONSE_PROXY_AUTHENTICATION_REQUIRED

#define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAME   "Proxy Authentication Required"

RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAME

#define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL   407

RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL

#define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME   "Request Entity Too Large"

RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME

#define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL   413

RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL

#define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME   "Request Timeout"

RESPONSE_REQUEST_TIMEOUT_CODE_NAME

#define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL   408

RESPONSE_REQUEST_TIMEOUT_CODE_VAL

#define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAME   "Reset Content"

RESPONSE_RESET_CONTENT_CODE_NAME

#define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL   205

RESPONSE_RESET_CONTENT_CODE_VAL

#define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAME   "See Other"

RESPONSE_SEE_OTHER_CODE_NAME

#define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL   303

RESPONSE_SEE_OTHER_CODE_VAL

#define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME   "Service Unavailable"

RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME

#define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL   503

RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL

#define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAME   "Temporary Redirect"

RESPONSE_TEMPORARY_REDIRECT_CODE_NAME

#define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL   307

RESPONSE_TEMPORARY_REDIRECT_CODE_VAL

#define AXIS2_HTTP_RESPONSE_WORD   "RESPONSE_WORD"

RESPONSE_WORD

#define AXIS2_HTTP_SO_TIMEOUT   "SO_TIMEOUT"

SO_TIMEOUT

#define AXIS2_HTTP_TRANSPORT_ERROR   "http_transport_error"

HTTP Transport Level Error

#define AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPE   "415 Unsupported Media Type\r\n"

415 Unsupported media Type

#define AXIS2_PROXY_AUTH_PASSWD   "PROXY_AUTH_PASSWD"

Proxy authentication password property name

#define AXIS2_PROXY_AUTH_TYPE_BASIC   "Basic"

Proxy "Basic" authentication

#define AXIS2_PROXY_AUTH_TYPE_DIGEST   "Digest"

Proxy "Digest" authentication

#define AXIS2_PROXY_AUTH_UNAME   "PROXY_AUTH_USERNAME"

Proxy authentication username property name

#define AXIS2_RESPONSE_WRITTEN   "CONTENT_WRITTEN"

Msg context response written key

#define AXIS2_SOCKET   "SOCKET"

SOCKET

#define AXIS2_SSL_KEY_FILE   "KEY_FILE"

Constant for SSL Key File

#define AXIS2_SSL_PASSPHRASE   "SSL_PASSPHRASE"

Constant for SSL Passphrase

#define AXIS2_SSL_SERVER_CERT   "SERVER_CERT"

Constant for SSL Server Certificate

#define AXIS2_TRANSPORT_HEADER_PROPERTY   "HTTP_HEADER_PROPERTY"

Constant for HTTP headers that user specify, Those headers will provided as property to the message context.

#define AXIS2_TRANSPORT_HTTP   "http"

Field TRANSPORT_HTTP

#define AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPE   "User_Content_Type"

USER DEFINED HEADER CONTENT TYPE

#define MTOM_RECIVED_CONTENT_TYPE   "MTOM_RECEIVED"

Content type for MTOM


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__envelope_8h-source.html0000644000175000017500000003401611172017604026421 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_envelope.h Source File

axiom_soap_envelope.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_ENVELOPE_H
00020 #define AXIOM_SOAP_ENVELOPE_H
00021 
00027 #include <axutil_env.h>
00028 #include <axiom_node.h>
00029 #include <axiom_element.h>
00030 #include <axiom_namespace.h>
00031 #include <axutil_array_list.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00038     typedef struct axiom_soap_envelope axiom_soap_envelope_t;
00039 
00040     struct axiom_soap_body;
00041     struct axiom_soap_header;
00042     struct axiom_soap_header_block;
00043     struct axiom_soap_builder;
00044 
00059     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00060     axiom_soap_envelope_create(
00061         const axutil_env_t * env,
00062         axiom_namespace_t * ns);
00063 
00074     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00075     axiom_soap_envelope_create_with_soap_version_prefix(
00076         const axutil_env_t * env,
00077         int soap_version,
00078         const axis2_char_t * prefix);
00079 
00087     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00088     axiom_soap_envelope_create_default_soap_envelope(
00089         const axutil_env_t * env,
00090         int soap_version);
00091 
00099     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00100     axiom_soap_envelope_create_default_soap_fault_envelope(
00101         const axutil_env_t * env,
00102         const axis2_char_t * code_value,
00103         const axis2_char_t * reason_text,
00104         const int soap_version,
00105         axutil_array_list_t * sub_codes,
00106         axiom_node_t * detail_node);
00107 
00114     AXIS2_EXTERN struct axiom_soap_header *AXIS2_CALL
00115     axiom_soap_envelope_get_header(
00116          axiom_soap_envelope_t * envelope,
00117          const axutil_env_t * env);
00118 
00125     AXIS2_EXTERN struct axiom_soap_body *AXIS2_CALL
00126     axiom_soap_envelope_get_body(
00127          axiom_soap_envelope_t * envelope,
00128          const axutil_env_t * env);
00129 
00141     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00142     axiom_soap_envelope_serialize(
00143         axiom_soap_envelope_t * envelope,
00144         const axutil_env_t * env,
00145         axiom_output_t * om_output,
00146         axis2_bool_t cache);
00147 
00157     AXIS2_EXTERN void AXIS2_CALL
00158     axiom_soap_envelope_free(
00159         axiom_soap_envelope_t * envelope,
00160         const axutil_env_t * env);
00161 
00168     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00169     axiom_soap_envelope_get_base_node(
00170         axiom_soap_envelope_t * envelope,
00171         const axutil_env_t * env);
00172 
00178     AXIS2_EXTERN int AXIS2_CALL
00179     axiom_soap_envelope_get_soap_version(
00180         axiom_soap_envelope_t * envelope,
00181         const axutil_env_t * env);
00182 
00189     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00190     axiom_soap_envelope_get_namespace(
00191         axiom_soap_envelope_t * envelope,
00192         const axutil_env_t * env);
00193 
00203     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00204     axiom_soap_envelope_set_soap_version(
00205         axiom_soap_envelope_t * envelope,
00206         const axutil_env_t * env,
00207         int soap_version);
00208 
00216     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00217     axiom_soap_envelope_increment_ref(
00218         axiom_soap_envelope_t * envelope,
00219         const axutil_env_t * env);
00220 
00228     AXIS2_EXTERN struct axiom_soap_builder *AXIS2_CALL
00229     axiom_soap_envelope_get_soap_builder(
00230         axiom_soap_envelope_t * envelope,
00231         const axutil_env_t * env);
00232 
00235 #ifdef __cplusplus
00236 }
00237 #endif
00238 
00239 #endif                          /* AXIOM_SOAP_ENVELOPE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__secpolicy_8h-source.html0000644000175000017500000004520111172017604024717 0ustar00manjulamanjula00000000000000 Axis2/C: rp_secpolicy.h Source File

rp_secpolicy.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SECPOLICY_H
00019 #define RP_SECPOLICY_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_asymmetric_binding.h>
00029 #include <rp_symmetric_binding.h>
00030 #include <rp_transport_binding.h>
00031 #include <rp_signed_encrypted_parts.h>
00032 #include <rp_signed_encrypted_elements.h>
00033 #include <rp_signed_encrypted_items.h>
00034 #include <rp_supporting_tokens.h>
00035 #include <rp_rampart_config.h>
00036 #include <rp_wss10.h>
00037 #include <rp_wss11.h>
00038 #include <rp_trust10.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00045     typedef struct rp_secpolicy_t rp_secpolicy_t;
00046 
00047     AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL
00048     rp_secpolicy_create(
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN void AXIS2_CALL
00052     rp_secpolicy_free(
00053         rp_secpolicy_t * secpolicy,
00054         const axutil_env_t * env);
00055 
00056     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00057     rp_secpolicy_set_binding(
00058         rp_secpolicy_t * secpolicy,
00059         const axutil_env_t * env,
00060         rp_property_t * binding);
00061 
00062     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00063     rp_secpolicy_get_binding(
00064         rp_secpolicy_t * secpolicy,
00065         const axutil_env_t * env);
00066 
00067     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00068     rp_secpolicy_set_supporting_tokens(
00069         rp_secpolicy_t * secpolicy,
00070         const axutil_env_t * env,
00071         rp_supporting_tokens_t * supporting_tokens);
00072 
00073     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00074     rp_secpolicy_get_supporting_tokens(
00075         rp_secpolicy_t * secpolicy,
00076         const axutil_env_t * env);
00077 
00078     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00079     rp_secpolicy_set_signed_supporting_tokens(
00080         rp_secpolicy_t * secpolicy,
00081         const axutil_env_t * env,
00082         rp_supporting_tokens_t * signed_supporting_tokens);
00083 
00084     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00085     rp_secpolicy_get_signed_supporting_tokens(
00086         rp_secpolicy_t * secpolicy,
00087         const axutil_env_t * env);
00088 
00089     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00090     rp_secpolicy_set_endorsing_supporting_tokens(
00091         rp_secpolicy_t * secpolicy,
00092         const axutil_env_t * env,
00093         rp_supporting_tokens_t * endorsing_supporting_tokens);
00094 
00095     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00096     rp_secpolicy_get_endorsing_supporting_tokens(
00097         rp_secpolicy_t * secpolicy,
00098         const axutil_env_t * env);
00099 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     rp_secpolicy_set_signed_endorsing_supporting_tokens(
00102         rp_secpolicy_t * secpolicy,
00103         const axutil_env_t * env,
00104         rp_supporting_tokens_t * signed_endorsing_supporting_tokens);
00105 
00106     AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL
00107     rp_secpolicy_get_signed_endorsing_supporting_tokens(
00108         rp_secpolicy_t * secpolicy,
00109         const axutil_env_t * env);
00110 
00111     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00112     rp_secpolicy_set_signed_parts(
00113         rp_secpolicy_t * secpolicy,
00114         const axutil_env_t * env,
00115         rp_signed_encrypted_parts_t * signed_parts);
00116 
00117     AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL
00118     rp_secpolicy_get_signed_parts(
00119         rp_secpolicy_t * secpolicy,
00120         const axutil_env_t * env);
00121 
00122     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00123     rp_secpolicy_set_encrypted_parts(
00124         rp_secpolicy_t * secpolicy,
00125         const axutil_env_t * env,
00126         rp_signed_encrypted_parts_t * encrypted_parts);
00127 
00128     AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL
00129     rp_secpolicy_get_encrypted_parts(
00130         rp_secpolicy_t * secpolicy,
00131         const axutil_env_t * env);
00132 
00133     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00134     rp_secpolicy_set_signed_elements(
00135         rp_secpolicy_t * secpolicy,
00136         const axutil_env_t * env,
00137         rp_signed_encrypted_elements_t * signed_elements);
00138 
00139     AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL
00140     rp_secpolicy_get_signed_elements(
00141         rp_secpolicy_t * secpolicy,
00142         const axutil_env_t * env);
00143 
00144     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145     rp_secpolicy_set_encrypted_elements(
00146         rp_secpolicy_t * secpolicy,
00147         const axutil_env_t * env,
00148         rp_signed_encrypted_elements_t * encrypted_elements);
00149 
00150     AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL
00151     rp_secpolicy_get_encrypted_elements(
00152         rp_secpolicy_t * secpolicy,
00153         const axutil_env_t * env);
00154 
00155     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00156     rp_secpolicy_set_signed_items(
00157         rp_secpolicy_t * secpolicy,
00158         const axutil_env_t * env,
00159         rp_signed_encrypted_items_t * signed_items);
00160 
00161     AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL
00162     rp_secpolicy_get_signed_items(
00163         rp_secpolicy_t * secpolicy,
00164         const axutil_env_t * env);
00165 
00166     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00167     rp_secpolicy_set_encrypted_items(
00168         rp_secpolicy_t * secpolicy,
00169         const axutil_env_t * env,
00170         rp_signed_encrypted_items_t * encrypted_items);
00171 
00172     AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL
00173     rp_secpolicy_get_encrypted_items(
00174         rp_secpolicy_t * secpolicy,
00175         const axutil_env_t * env);
00176 
00177     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00178     rp_secpolicy_set_wss(
00179         rp_secpolicy_t * secpolicy,
00180         const axutil_env_t * env,
00181         rp_property_t * wss);
00182 
00183     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00184     rp_secpolicy_get_wss(
00185         rp_secpolicy_t * secpolicy,
00186         const axutil_env_t * env);
00187 
00188     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189     rp_secpolicy_set_rampart_config(
00190         rp_secpolicy_t * secpolicy,
00191         const axutil_env_t * env,
00192         rp_rampart_config_t * rampart_config);
00193 
00194     AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL
00195     rp_secpolicy_get_rampart_config(
00196         rp_secpolicy_t * secpolicy,
00197         const axutil_env_t * env);
00198 
00199     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00200     rp_secpolicy_set_trust10(
00201         rp_secpolicy_t * secpolicy,
00202         const axutil_env_t * env,
00203         rp_trust10_t * trust10);
00204 
00205     AXIS2_EXTERN rp_trust10_t *AXIS2_CALL
00206     rp_secpolicy_get_trust10(
00207         rp_secpolicy_t * secpolicy,
00208         const axutil_env_t * env);
00209 
00210 #ifdef __cplusplus
00211 }
00212 #endif
00213 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase_8h.html0000644000175000017500000003365411172017604023145 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase.h File Reference

axis2_phase.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_handler.h>
#include <axis2_handler_desc.h>
#include <axutil_array_list.h>
#include <axutil_qname.h>

Go to the source code of this file.

Defines

#define AXIS2_PHASE_BOTH_BEFORE_AFTER   0
#define AXIS2_PHASE_BEFORE   1
#define AXIS2_PHASE_AFTER   2
#define AXIS2_PHASE_ANYWHERE   3

Typedefs

typedef struct
axis2_phase 
axis2_phase_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_phase_add_handler_at (axis2_phase_t *phase, const axutil_env_t *env, const int index, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_add_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_remove_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_invoke (axis2_phase_t *phase, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN const
axis2_char_t * 
axis2_phase_get_name (const axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN int axis2_phase_get_handler_count (const axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_set_first_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_set_last_handler (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_add_handler_desc (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_remove_handler_desc (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_before (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_after (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_before_and_after (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_insert_handler_desc (axis2_phase_t *phase, const axutil_env_t *env, axis2_handler_desc_t *handler_desc)
AXIS2_EXTERN
axutil_array_list_t
axis2_phase_get_all_handlers (const axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_invoke_start_from_handler (axis2_phase_t *phase, const axutil_env_t *env, const int paused_handler_index, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN void axis2_phase_free (axis2_phase_t *phase, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_t
axis2_phase_create (const axutil_env_t *env, const axis2_char_t *phase_name)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_increment_ref (axis2_phase_t *phase, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__conf__ctx_8h-source.html0000644000175000017500000005013211172017604025273 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_conf_ctx.h Source File

axis2_conf_ctx.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_CONF_CTX_H
00020 #define AXIS2_CONF_CTX_H
00021 
00037 #include <axis2_defines.h>
00038 #include <axutil_hash.h>
00039 #include <axutil_env.h>
00040 #include <axis2_ctx.h>
00041 #include <axis2_svc_grp_ctx.h>
00042 
00043 #ifdef __cplusplus
00044 extern "C"
00045 {
00046 #endif
00047 
00049     typedef struct axis2_conf_ctx axis2_conf_ctx_t;
00050 
00051     struct axis2_conf;
00052 
00060     AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL
00061     axis2_conf_ctx_create(
00062         const axutil_env_t * env,
00063         struct axis2_conf *conf);
00064 
00072     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00073     axis2_conf_ctx_set_conf(
00074         axis2_conf_ctx_t * conf_ctx,
00075         const axutil_env_t * env,
00076         struct axis2_conf *conf);
00077 
00085     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00086     axis2_conf_ctx_get_base(
00087         const axis2_conf_ctx_t * conf_ctx,
00088         const axutil_env_t * env);
00089 
00097     AXIS2_EXTERN axis2_conf_t *AXIS2_CALL
00098     axis2_conf_ctx_get_conf(
00099         const axis2_conf_ctx_t * conf_ctx,
00100         const axutil_env_t * env);
00101 
00108     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00109     axis2_conf_ctx_get_op_ctx_map(
00110         const axis2_conf_ctx_t * conf_ctx,
00111         const axutil_env_t * env);
00112 
00119     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00120     axis2_conf_ctx_get_svc_ctx_map(
00121         const axis2_conf_ctx_t * conf_ctx,
00122         const axutil_env_t * env);
00123 
00130     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00131     axis2_conf_ctx_get_svc_grp_ctx_map(
00132         const axis2_conf_ctx_t * conf_ctx,
00133         const axutil_env_t * env);
00134 
00144     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145     axis2_conf_ctx_register_op_ctx(
00146         axis2_conf_ctx_t * conf_ctx,
00147         const axutil_env_t * env,
00148         const axis2_char_t * message_id,
00149         axis2_op_ctx_t * op_ctx);
00150 
00158     AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00159     axis2_conf_ctx_get_op_ctx(
00160         const axis2_conf_ctx_t * conf_ctx,
00161         const axutil_env_t * env,
00162         const axis2_char_t * message_id);
00163 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     axis2_conf_ctx_register_svc_ctx(
00174         axis2_conf_ctx_t * conf_ctx,
00175         const axutil_env_t * env,
00176         const axis2_char_t * svc_id,
00177         axis2_svc_ctx_t * svc_ctx);
00178 
00186     AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00187     axis2_conf_ctx_get_svc_ctx(
00188         const axis2_conf_ctx_t * conf_ctx,
00189         const axutil_env_t * env,
00190         const axis2_char_t * svc_id);
00191 
00200     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00201     axis2_conf_ctx_register_svc_grp_ctx(
00202         axis2_conf_ctx_t * conf_ctx,
00203         const axutil_env_t * env,
00204         const axis2_char_t * svc_grp_id,
00205         axis2_svc_grp_ctx_t * svc_grp_ctx);
00206 
00214     AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL
00215     axis2_conf_ctx_get_svc_grp_ctx(
00216         const axis2_conf_ctx_t * conf_ctx,
00217         const axutil_env_t * env,
00218         const axis2_char_t * svc_grp_id);
00219 
00228     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00229     axis2_conf_ctx_get_root_dir(
00230         const axis2_conf_ctx_t * conf_ctx,
00231         const axutil_env_t * env);
00232 
00242     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00243     axis2_conf_ctx_set_root_dir(
00244         axis2_conf_ctx_t * conf_ctx,
00245         const axutil_env_t * env,
00246         const axis2_char_t * path);
00247 
00257     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00258     axis2_conf_ctx_init(
00259         axis2_conf_ctx_t * conf_ctx,
00260         const axutil_env_t * env,
00261         axis2_conf_t * conf);
00262 
00269     AXIS2_EXTERN void AXIS2_CALL
00270     axis2_conf_ctx_free(
00271         axis2_conf_ctx_t * conf_ctx,
00272         const axutil_env_t * env);
00273 
00286     AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL
00287     axis2_conf_ctx_fill_ctxs(
00288         axis2_conf_ctx_t * conf_ctx,
00289         const axutil_env_t * env,
00290         axis2_msg_ctx_t * msg_ctx);
00291 
00301     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00302     axis2_conf_ctx_set_property(
00303         axis2_conf_ctx_t *conf_ctx,
00304         const axutil_env_t * env,
00305         const axis2_char_t * key,
00306         axutil_property_t * value);
00307 
00315     AXIS2_EXTERN axutil_property_t *AXIS2_CALL
00316     axis2_conf_ctx_get_property(
00317         const axis2_conf_ctx_t * conf_ctx,
00318         const axutil_env_t * env,
00319         const axis2_char_t * key);
00320 
00323 #ifdef __cplusplus
00324 }
00325 #endif
00326 
00327 #endif                          /* AXIS2_CONF_CTX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__string__util_8h-source.html0000644000175000017500000001470311172017604026317 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_string_util.h Source File

axutil_string_util.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_STRING_UTIL_H
00020 #define AXUTIL_STRING_UTIL_H
00021 
00022 #include <axutil_array_list.h>
00023 #include <axutil_string.h>
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028 
00029     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00030     axutil_tokenize(
00031         const axutil_env_t * env,
00032         axis2_char_t * in,
00033         int delim);
00034 
00035     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00036     axutil_first_token(
00037         const axutil_env_t * env,
00038         axis2_char_t * in,
00039         int delim);
00040 
00047     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00048     axutil_last_token(
00049         const axutil_env_t * env,
00050         axis2_char_t * in,
00051         int delim);
00052 
00053 #ifdef __cplusplus
00054 }
00055 #endif
00056 #endif                          /* AXIS2_STRING_UTIL_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__defines_8h-source.html0000644000175000017500000002161611172017604025716 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_defines.h Source File

guththila_defines.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_DEFINES_H
00019 #define GUTHTHILA_DEFINES_H
00020 
00021 #if defined(WIN32)
00022 #define GUTHTHILA_EXPORT  __declspec(dllexport)
00023 #else
00024 #define GUTHTHILA_EXPORT
00025 #endif
00026 
00027 #if defined(__GNUC__)
00028 #if defined(__i386)
00029 #define GUTHTHILA_CALL __attribute__((cdecl))
00030 #else
00031 #define GUTHTHILA_CALL
00032 #endif
00033 #else
00034 #if defined(__unix)
00035 #define GUTHTHILA_CALL
00036 #else
00037 #define GUTHTHILA_CALL __stdcall
00038 #endif
00039 #endif
00040 
00041 #ifndef guththila_char_t
00042 #define guththila_char_t char
00043 #endif
00044 
00045 #ifndef GUTHTHILA_SUCCESS
00046 #define GUTHTHILA_SUCCESS       1
00047 #endif
00048 
00049 #ifndef GUTHTHILA_FAILURE
00050 #define GUTHTHILA_FAILURE       0
00051 #endif
00052 
00053 #ifdef __cplusplus
00054 #define EXTERN_C_START() extern "C" {
00055 #define EXTERN_C_END() }
00056 #else
00057 #define EXTERN_C_START()
00058 #define EXTERN_C_END()
00059 #endif
00060 
00061 #ifndef GUTHTHILA_EOF
00062 #define GUTHTHILA_EOF   (-1)
00063 #endif
00064 
00065 #ifndef GUTHTHILA_FALSE
00066 #define GUTHTHILA_FALSE 0
00067 #endif
00068 
00069 #ifndef GUTHTHILA_TRUE
00070 #define GUTHTHILA_TRUE          1
00071 #endif
00072 
00073 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__array__list_8h-source.html0000644000175000017500000003510511172017604026124 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_array_list.h Source File

axutil_array_list.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_ARRAY_LIST_H
00020 #define AXUTIL_ARRAY_LIST_H
00021 
00034 #include <axutil_utils_defines.h>
00035 #include <axutil_env.h>
00036 
00037 #ifdef __cplusplus
00038 extern "C"
00039 {
00040 #endif
00041 
00042     static const int AXIS2_ARRAY_LIST_DEFAULT_CAPACITY = 16;
00043 
00047     typedef struct axutil_array_list axutil_array_list_t;
00048 
00055     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00056     axutil_array_list_create(
00057         const axutil_env_t * env,
00058         int capacity);
00059 
00065     AXIS2_EXTERN void AXIS2_CALL
00066     axutil_array_list_free_void_arg(
00067         void *array_list,
00068         const axutil_env_t * env);
00069 
00079     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080     axutil_array_list_ensure_capacity(
00081         struct axutil_array_list *array_list,
00082         const axutil_env_t * env,
00083         int min_capacity);
00084 
00091     AXIS2_EXTERN int AXIS2_CALL
00092     axutil_array_list_size(
00093         struct axutil_array_list *array_list,
00094         const axutil_env_t * env);
00095 
00102     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00103     axutil_array_list_is_empty(
00104         struct axutil_array_list *array_list,
00105         const axutil_env_t * env);
00106 
00114     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00115     axutil_array_list_contains(
00116         struct axutil_array_list *array_list,
00117         const axutil_env_t * env,
00118         void *e);
00119 
00129     AXIS2_EXTERN int AXIS2_CALL
00130     axutil_array_list_index_of(
00131         struct axutil_array_list *array_list,
00132         const axutil_env_t * env,
00133         void *e);
00134 
00142     AXIS2_EXTERN void *AXIS2_CALL
00143     axutil_array_list_get(
00144         struct axutil_array_list *array_list,
00145         const axutil_env_t * env,
00146         int index);
00147 
00157     AXIS2_EXTERN void *AXIS2_CALL
00158     axutil_array_list_set(
00159         struct axutil_array_list *array_list,
00160         const axutil_env_t * env,
00161         int index,
00162         void *e);
00163 
00172     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00173     axutil_array_list_add(
00174         struct axutil_array_list *array_list,
00175         const axutil_env_t * env,
00176         const void *e);
00177 
00188     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00189     axutil_array_list_add_at(
00190         struct axutil_array_list *array_list,
00191         const axutil_env_t * env,
00192         const int index,
00193         const void *e);
00194 
00202     AXIS2_EXTERN void *AXIS2_CALL
00203     axutil_array_list_remove(
00204         struct axutil_array_list *array_list,
00205         const axutil_env_t * env,
00206         int index);
00207 
00215     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00216 
00217     axutil_array_list_check_bound_inclusive(
00218         struct axutil_array_list *array_list,
00219         const axutil_env_t * env,
00220         int index);
00221 
00229     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00230 
00231     axutil_array_list_check_bound_exclusive(
00232         struct axutil_array_list *array_list,
00233         const axutil_env_t * env,
00234         int index);
00235 
00241     AXIS2_EXTERN void AXIS2_CALL
00242     axutil_array_list_free(
00243         struct axutil_array_list *array_list,
00244         const axutil_env_t * env);
00245 
00246 #ifdef __cplusplus
00247 }
00248 #endif
00249 
00250 #endif                          /* AXIS2_ARRAY_LIST_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__writer__ops-members.html0000644000175000017500000002414111172017604027774 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xml_writer_ops Member List

This is the complete list of members for axiom_xml_writer_ops, including all inherited members.

end_start_elementaxiom_xml_writer_ops
flush (defined in axiom_xml_writer_ops)axiom_xml_writer_ops
freeaxiom_xml_writer_ops
get_prefixaxiom_xml_writer_ops
get_type (defined in axiom_xml_writer_ops)axiom_xml_writer_ops
get_xml (defined in axiom_xml_writer_ops)axiom_xml_writer_ops
get_xml_size (defined in axiom_xml_writer_ops)axiom_xml_writer_ops
set_default_prefixaxiom_xml_writer_ops
set_prefixaxiom_xml_writer_ops
write_attributeaxiom_xml_writer_ops
write_attribute_with_namespaceaxiom_xml_writer_ops
write_attribute_with_namespace_prefixaxiom_xml_writer_ops
write_cdataaxiom_xml_writer_ops
write_charactersaxiom_xml_writer_ops
write_commentaxiom_xml_writer_ops
write_default_namespaceaxiom_xml_writer_ops
write_dtdaxiom_xml_writer_ops
write_empty_elementaxiom_xml_writer_ops
write_empty_element_with_namespaceaxiom_xml_writer_ops
write_empty_element_with_namespace_prefixaxiom_xml_writer_ops
write_encodedaxiom_xml_writer_ops
write_end_documentaxiom_xml_writer_ops
write_end_elementaxiom_xml_writer_ops
write_entity_refaxiom_xml_writer_ops
write_namespaceaxiom_xml_writer_ops
write_processing_instructionaxiom_xml_writer_ops
write_processing_instruction_dataaxiom_xml_writer_ops
write_raw (defined in axiom_xml_writer_ops)axiom_xml_writer_ops
write_start_documentaxiom_xml_writer_ops
write_start_document_with_versionaxiom_xml_writer_ops
write_start_document_with_version_encodingaxiom_xml_writer_ops
write_start_elementaxiom_xml_writer_ops
write_start_element_with_namespaceaxiom_xml_writer_ops
write_start_element_with_namespace_prefixaxiom_xml_writer_ops


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__addr__mod.html0000644000175000017500000001533511172017604024725 0ustar00manjulamanjula00000000000000 Axis2/C: addressing module interface

addressing module interface
[WS-Addressing Module]


Files

file  axis2_addr_mod.h

Defines

#define ADDR_IN_HANDLER   "AddressingInHandler"
#define ADDR_OUT_HANDLER   "AddressingOutHandler"

Functions

AXIS2_EXTERN
axis2_handler_t
axis2_addr_in_handler_create (const axutil_env_t *env, axutil_string_t *name)
AXIS2_EXTERN
axis2_handler_t
axis2_addr_out_handler_create (const axutil_env_t *env, axutil_string_t *name)

Function Documentation

AXIS2_EXTERN axis2_handler_t* axis2_addr_in_handler_create ( const axutil_env_t env,
axutil_string_t *  name 
)

Creates Addressing in handler

Parameters:
env pointer to environment struct
name name of handler
Returns:
returns reference to handler created

AXIS2_EXTERN axis2_handler_t* axis2_addr_out_handler_create ( const axutil_env_t env,
axutil_string_t *  name 
)

Creates Addressing out handler

Parameters:
env pointer to environment struct
name name of handler
Returns:
returns reference to handler created


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__param_8h-source.html0000644000175000017500000003655411172017604024725 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_param.h Source File

axutil_param.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_PARAM_H
00020 #define AXUTIL_PARAM_H
00021 
00027 #include <axutil_utils_defines.h>
00028 #include <axutil_env.h>
00029 #include <axutil_hash.h>
00030 #include <axutil_array_list.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00046 #define AXIS2_TEXT_PARAM 0
00047 
00051 #define AXIS2_DOM_PARAM 1
00052 
00053     typedef struct axutil_param axutil_param_t;
00054 
00060     typedef void(
00061         AXIS2_CALL
00062         * AXIS2_PARAM_VALUE_FREE) (
00063             void *param_value,
00064             const axutil_env_t * env);
00065 
00069     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00070     axutil_param_create(
00071         const axutil_env_t * env,
00072         axis2_char_t * name,
00073         void *value);
00074 
00079     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00080     axutil_param_get_name(
00081         struct axutil_param *param,
00082         const axutil_env_t * env);
00083 
00088     AXIS2_EXTERN void *AXIS2_CALL
00089     axutil_param_get_value(
00090         struct axutil_param *param,
00091         const axutil_env_t * env);
00092 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     axutil_param_set_name(
00099         struct axutil_param *param,
00100         const axutil_env_t * env,
00101         const axis2_char_t * name);
00102 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     axutil_param_set_value(
00110         struct axutil_param *param,
00111         const axutil_env_t * env,
00112         const void *value);
00113 
00119     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00120     axutil_param_is_locked(
00121         struct axutil_param *param,
00122         const axutil_env_t * env);
00123 
00129     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00130     axutil_param_set_locked(
00131         struct axutil_param *param,
00132         const axutil_env_t * env,
00133         axis2_bool_t value);
00134 
00140     AXIS2_EXTERN int AXIS2_CALL
00141     axutil_param_get_param_type(
00142         struct axutil_param *param,
00143         const axutil_env_t * env);
00144 
00145     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146     axutil_param_set_param_type(
00147         struct axutil_param *param,
00148         const axutil_env_t * env,
00149         int type);
00150 
00151     AXIS2_EXTERN void AXIS2_CALL
00152     axutil_param_free(
00153         struct axutil_param *param,
00154         const axutil_env_t * env);
00155 
00156     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00157     axutil_param_set_attributes(
00158         struct axutil_param *param,
00159         const axutil_env_t * env,
00160         axutil_hash_t * attrs);
00161 
00162     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00163     axutil_param_get_attributes(
00164         struct axutil_param *param,
00165         const axutil_env_t * env);
00166 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168     axutil_param_set_value_list(
00169         struct axutil_param *param,
00170         const axutil_env_t * env,
00171         axutil_array_list_t * value_list);
00172 
00173     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00174     axutil_param_get_value_list(
00175         struct axutil_param *param,
00176         const axutil_env_t * env);
00177 
00178     AXIS2_EXTERN void AXIS2_CALL
00179     axutil_param_value_free(
00180         void *param_value,
00181         const axutil_env_t * env);
00182 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     axutil_param_set_value_free(
00185         struct axutil_param *param,
00186         const axutil_env_t * env,
00187         AXIS2_PARAM_VALUE_FREE free_fn);
00188 
00189     AXIS2_EXTERN void AXIS2_CALL
00190     axutil_param_dummy_free_fn(
00191         void *param,
00192         const axutil_env_t * env);
00193 
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199 
00200 #endif                          /* AXIS2_PARAM_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__includes_8h.html0000644000175000017500000000647011172017604024075 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_includes.h File Reference

neethi_includes.h File Reference

includes most useful headers for policy More...

#include <axis2_util.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>
#include <axis2_const.h>
#include <axutil_error.h>
#include <axutil_utils_defines.h>
#include <axutil_log_default.h>
#include <axutil_error_default.h>
#include <axutil_env.h>
#include <axiom.h>
#include <axiom_soap.h>
#include <axutil_qname.h>
#include <axutil_hash.h>
#include <neethi_constants.h>
#include <rp_defines.h>

Go to the source code of this file.


Detailed Description

includes most useful headers for policy


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2.html0000644000175000017500000000301411172017604022565 0ustar00manjulamanjula00000000000000 Axis2/C: Axis2/C project

Axis2/C project


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__children__with__specific__attribute__iterator_8h.html0000644000175000017500000001711011172017604033401 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_children_with_specific_attribute_iterator.h File Reference

axiom_children_with_specific_attribute_iterator.h File Reference

this is the iterator for om nodes More...

#include <axiom_node.h>
#include <axiom_text.h>
#include <axutil_qname.h>

Go to the source code of this file.

Defines

#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env)   axiom_children_with_specific_attribute_iterator_free(iterator, env)
#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env)   axiom_children_with_specific_attribute_iterator_remove(iterator, env)
#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env)   axiom_children_with_specific_attribute_iterator_has_next(iterator, env)
#define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env)   axiom_children_with_specific_attribute_iterator_next(iterator, env)

Typedefs

typedef struct
axiom_children_with_specific_attribute_iterator 
axiom_children_with_specific_attribute_iterator_t

Functions

AXIS2_EXTERN void axiom_children_with_specific_attribute_iterator_free (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_with_specific_attribute_iterator_remove (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_children_with_specific_attribute_iterator_has_next (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_children_with_specific_attribute_iterator_next (axiom_children_with_specific_attribute_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_children_with_specific_attribute_iterator_t * 
axiom_children_with_specific_attribute_iterator_create (const axutil_env_t *env, axiom_node_t *current_child, axutil_qname_t *attr_qname, axis2_char_t *attr_value, axis2_bool_t detach)


Detailed Description

this is the iterator for om nodes


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__svc__skeleton__ops-members.html0000644000175000017500000000577611172017604030225 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_svc_skeleton_ops Member List

This is the complete list of members for axis2_svc_skeleton_ops, including all inherited members.

freeaxis2_svc_skeleton_ops
initaxis2_svc_skeleton_ops
init_with_confaxis2_svc_skeleton_ops
invokeaxis2_svc_skeleton_ops
on_faultaxis2_svc_skeleton_ops


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc__client.html0000644000175000017500000031753611172017604025315 0ustar00manjulamanjula00000000000000 Axis2/C: service client

service client
[client API]


Files

file  axis2_svc_client.h

Typedefs

typedef struct
axis2_svc_client 
axis2_svc_client_t

Functions

AXIS2_EXTERN
axis2_svc_t
axis2_svc_client_get_svc (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_conf_ctx_t
axis2_svc_client_get_conf_ctx (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_options (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_options_t *options)
AXIS2_EXTERN const
axis2_options_t
axis2_svc_client_get_options (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_override_options (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_options_t *override_options)
AXIS2_EXTERN const
axis2_options_t
axis2_svc_client_get_override_options (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_engage_module (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_disengage_module (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_add_header (axis2_svc_client_t *svc_client, const axutil_env_t *env, axiom_node_t *header)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_remove_all_headers (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_send_robust_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_send_robust (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload)
AXIS2_EXTERN void axis2_svc_client_fire_and_forget_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload)
AXIS2_EXTERN void axis2_svc_client_fire_and_forget (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload)
AXIS2_EXTERN
axiom_node_t * 
axis2_svc_client_send_receive_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload)
AXIS2_EXTERN
axiom_node_t * 
axis2_svc_client_send_receive (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload)
AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload, axis2_callback_t *callback)
AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload, axis2_callback_t *callback)
AXIS2_EXTERN
axis2_op_client_t
axis2_svc_client_create_op_client (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_finalize_invoke (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_endpoint_ref_t
axis2_svc_client_get_own_endpoint_ref (const axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *transport)
AXIS2_EXTERN const
axis2_endpoint_ref_t
axis2_svc_client_get_target_endpoint_ref (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_target_endpoint_ref (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_endpoint_ref_t *target_epr)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_proxy_with_auth (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_char_t *proxy_host, axis2_char_t *proxy_port, axis2_char_t *username, axis2_char_t *password)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_proxy (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_char_t *proxy_host, axis2_char_t *proxy_port)
AXIS2_EXTERN
axis2_svc_ctx_t
axis2_svc_client_get_svc_ctx (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN void axis2_svc_client_free (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_op_client_t
axis2_svc_client_get_op_client (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_client_t
axis2_svc_client_create (const axutil_env_t *env, const axis2_char_t *client_home)
AXIS2_EXTERN
axis2_svc_client_t
axis2_svc_client_create_with_conf_ctx_and_svc (const axutil_env_t *env, const axis2_char_t *client_home, axis2_conf_ctx_t *conf_ctx, axis2_svc_t *svc)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_svc_client_get_last_response_soap_envelope (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_last_response_has_fault (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_svc_client_get_auth_type (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_http_auth_required (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_proxy_auth_required (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_policy_from_om (axis2_svc_client_t *svc_client, const axutil_env_t *env, axiom_node_t *root_node)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_policy (axis2_svc_client_t *svc_client, const axutil_env_t *env, neethi_policy_t *policy)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_client_get_http_headers (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN int axis2_svc_client_get_http_status_code (axis2_svc_client_t *svc_client, const axutil_env_t *env)

Detailed Description

The service client interface serves as the primary client interface for consuming services. You can set the options to be used by the service client and then invoke an operation on a given service. There are several ways of invoking a service operation, which are based on the concept of a message exchange pattern (MEP). The two basic MEPs supported by service client are out-only and out-in. Each MEP can be used in either blocking or non-blocking mode. The operation invocations using the service client API are based on the XML-in/XML-out principle: both the payload to be sent to the service and the result from the service are in XML, represented in AXIOM.

Typedef Documentation

typedef struct axis2_svc_client axis2_svc_client_t

Type name for struct axis2_svc_client


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_svc_client_add_header ( axis2_svc_client_t svc_client,
const axutil_env_t env,
axiom_node_t *  header 
)

Adds an XML element as a header to be sent to the server side. This allows users to go beyond the usual XML-in/XML-out pattern, and send custom SOAP headers. Once added, service client owns the header and will clean up when the service client is freed.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
header om node representing the SOAP header in XML
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_svc_client_t* axis2_svc_client_create ( const axutil_env_t env,
const axis2_char_t *  client_home 
)

Creates a service client struct.

Parameters:
env pointer to environment struct
client_home name of the directory that contains the Axis2/C repository
Returns:
a pointer to newly created service client struct, or NULL on error with error code set in environment's error

AXIS2_EXTERN axis2_op_client_t* axis2_svc_client_create_op_client ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axutil_qname_t *  op_qname 
)

Creates an op_client for a specific operation. This is the way to create a full functional MEP client which can be used to exchange messages for this specific operation.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
op_qname axutil_qname_t of the operation
Returns:
pointer to newly created op_client configured for the given operation

AXIS2_EXTERN axis2_svc_client_t* axis2_svc_client_create_with_conf_ctx_and_svc ( const axutil_env_t env,
const axis2_char_t *  client_home,
axis2_conf_ctx_t conf_ctx,
axis2_svc_t svc 
)

Creates a service client struct for a specified service and configuration context.

Parameters:
env pointer to environment struct
conf_ctx pointer to configuration context. Newly created client assumes ownership of the conf_ctx
svc pointer to service struct representing the service to be consumed. Newly created client assumes ownership of the service
client_home name of the directory that contains the Axis2/C repository
Returns:
a pointer to newly created service client struct, or NULL on error with error code set in environment's error

AXIS2_EXTERN axis2_status_t axis2_svc_client_disengage_module ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axis2_char_t *  module_name 
)

Dis-engages the named module. Dis-engaging a module on a service client ensures that the axis2_engine would not invoke the named module when sending and receiving messages.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
module_name name of the module to be dis-engaged
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_engage_module ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axis2_char_t *  module_name 
)

Engages the named module. The engaged modules extend the message processing when consuming services. Modules help to apply QoS norms in messaging. Once a module is engaged to a service client, the axis2_engine makes sure to invoke the module for all the interactions between the client and the service.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
module_name name of the module to be engaged
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_finalize_invoke ( axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Cleans up service client invocation. This will close the output stream and/or remove entry from waiting queue of the transport listener queue.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_svc_client_fire_and_forget ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axiom_node_t *  payload 
)

Sends a message and forget about it. This method is used to interact with a service operation whose MEP is In-Only. That is, there is no opportunity to get an error from the service via this method; one may still get client-side errors, such as host unknown etc.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it.

AXIS2_EXTERN void axis2_svc_client_fire_and_forget_with_op_qname ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axutil_qname_t *  op_qname,
const axiom_node_t *  payload 
)

Sends a message and forget about it. This method is used to interact with a service operation whose MEP is In-Only. That is, there is no opportunity to get an error from the service via this method; one may still get client-side errors, such as host unknown etc.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
op_qname operation qname. NULL is equivalent to an operation name of "__OPERATION_OUT_ONLY__"
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it.

AXIS2_EXTERN void axis2_svc_client_free ( axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Frees the service client.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axis2_svc_client_get_auth_type ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the authentication type required.

Parameters:
svc_client pointer to service_client struct
env env pointer to environment struct
Returns:
AXIS2_TRUE if the operation succeeded, else AXIS2_FALSE

AXIS2_EXTERN axis2_conf_ctx_t* axis2_svc_client_get_conf_ctx ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Returns the axis2_conf_ctx_t. This is useful when creating service clients using the same configuration context as the original service client.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
a pointer to axis configuration context struct, or NULL. Returns a reference, not a cloned copy.

AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_http_auth_required ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the boolean value indicating whether HTTP Authentication is required.

Parameters:
svc_client pointer to service_client struct
env env pointer to environment struct
Returns:
AXIS2_TRUE if Authentication is required, else AXIS2_FALSE

AXIS2_EXTERN axutil_array_list_t* axis2_svc_client_get_http_headers ( axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the HTTP Headers of the last response.

Parameters:
svc_client pointer to service_client struct
env pointer to environment struct
Returns:
list of HTTP Response Headers

AXIS2_EXTERN int axis2_svc_client_get_http_status_code ( axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the HTTP Status Code of the last response.

Parameters:
svc_client pointer to service_client struct
env pointer to environment struct
Returns:
HTTP Status Code

AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_last_response_has_fault ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the boolean value indicating if the last response had a SOAP fault.

Parameters:
svc_client pointer to service_client struct
env env pointer to environment struct
Returns:
AXIS2_TRUE if there was a fault, else AXIS2_FALSE

AXIS2_EXTERN axiom_soap_envelope_t* axis2_svc_client_get_last_response_soap_envelope ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the last response SOAP envelope.

Parameters:
svc_client pointer to service_client struct
env env pointer to environment struct
Returns:
pointer to SOAP envelope that was returned as a result when send_receieve was called last time

AXIS2_EXTERN axis2_op_client_t* axis2_svc_client_get_op_client ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the operation client

Parameters:
svc_client pointer to service_client struct
env env pointer to environment struct
Returns:
pointer to service context struct. service client owns the returned pointer

AXIS2_EXTERN const axis2_options_t* axis2_svc_client_get_options ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets options used by service client.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
a pointer to the options struct if options set, else NULL. Returns a reference, not a cloned copy.

AXIS2_EXTERN const axis2_options_t* axis2_svc_client_get_override_options ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the overriding options.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
pointer to overriding options struct if options set, else NULL. Returns a reference, not a cloned copy.

AXIS2_EXTERN const axis2_endpoint_ref_t* axis2_svc_client_get_own_endpoint_ref ( const axis2_svc_client_t svc_client,
const axutil_env_t env,
const axis2_char_t *  transport 
)

Gets the service client's own endpoint_ref, that is the endpoint the client will be sending from.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
transport name of the transport, e.g "http"
Returns:
pointer to the endpoint_ref struct. Returns a reference, not a cloned copy.

AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_proxy_auth_required ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the boolean value indicating whether Proxy Authentication is required.

Parameters:
svc_client pointer to service_client struct
env env pointer to environment struct
Returns:
AXIS2_TRUE if Authentication is required, else AXIS2_FALSE

AXIS2_EXTERN axis2_svc_t* axis2_svc_client_get_svc ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Returns the axis2_svc_t this is a client for. This is primarily useful when the service is created anonymously or from WSDL.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
a pointer to axis service struct, or NULL if no service is associated. Returns a reference, not a cloned copy.

AXIS2_EXTERN axis2_svc_ctx_t* axis2_svc_client_get_svc_ctx ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the service context.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
pointer to service context struct. service client owns the returned pointer.

AXIS2_EXTERN const axis2_endpoint_ref_t* axis2_svc_client_get_target_endpoint_ref ( const axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Gets the target endpoint ref.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
pointer to the endpoint_ref struct. Returns a reference, not a cloned copy.

AXIS2_EXTERN axis2_status_t axis2_svc_client_remove_all_headers ( axis2_svc_client_t svc_client,
const axutil_env_t env 
)

Removes all the headers added to service client.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axis2_svc_client_send_receive ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axiom_node_t *  payload 
)

Sends XML request and receives XML response. This method is used to interact with a service operation whose MEP is In-Out.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it.
Returns:
pointer to OM node representing the XML response. The caller owns the returned node.

AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axiom_node_t *  payload,
axis2_callback_t callback 
)

Sends XML request and receives XML response, but does not block for response. This method is used to interact in non-blocking mode with a service operation whose MEP is In-Out.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it. pointer to callback struct used to capture response

AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking_with_op_qname ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axutil_qname_t *  op_qname,
const axiom_node_t *  payload,
axis2_callback_t callback 
)

Sends XML request and receives XML response, but does not block for response. This method is used to interact in non-blocking mode with a service operation whose MEP is In-Out.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
op_qname operation qname. NULL is equivalent to an operation name of "__OPERATION_OUT_IN__"
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it. pointer to callback struct used to capture response

AXIS2_EXTERN axiom_node_t* axis2_svc_client_send_receive_with_op_qname ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axutil_qname_t *  op_qname,
const axiom_node_t *  payload 
)

Sends XML request and receives XML response. This method is used to interact with a service operation whose MEP is In-Out.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
op_qname operation qname. NULL is equivalent to an operation name of "__OPERATION_OUT_IN__"
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it.
Returns:
pointer to OM node representing the XML response. The caller owns the returned node.

AXIS2_EXTERN axis2_status_t axis2_svc_client_send_robust ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axiom_node_t *  payload 
)

This method can be used to send an XML message. This is a simple method to invoke a service operation whose MEP is Robust Out-Only. If a fault triggers on server side, this method would report an error back to the caller.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct operation name of "__OPERATION_ROBUST_OUT_ONLY__"
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_send_robust_with_op_qname ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axutil_qname_t *  op_qname,
const axiom_node_t *  payload 
)

This method can be used to send an XML message. This is a simple method to invoke a service operation whose MEP is Robust Out-Only. If a fault triggers on server side, this method would report an error back to the caller.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
op_qname operation qname. NULL is equivalent to an operation name of "__OPERATION_ROBUST_OUT_ONLY__"
payload pointer to OM node representing the XML payload to be sent. The caller has control over the payload until the service client frees it.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_options ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axis2_options_t options 
)

Sets the options to be used by service client.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
options pointer to options struct to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_override_options ( axis2_svc_client_t svc_client,
const axutil_env_t env,
const axis2_options_t override_options 
)

Sets the overriding options. The overriding client options related to this service interaction override any options that the underlying operation client may have.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
options pointer to options struct to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_policy ( axis2_svc_client_t svc_client,
const axutil_env_t env,
neethi_policy_t *  policy 
)

Set the given policy object to the description hierarchy

Parameters:
svc_client pointer to service_client struct
env pointer to environment struct
policy neethi_policy_t to a policy struct
Returns:
AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_policy_from_om ( axis2_svc_client_t svc_client,
const axutil_env_t env,
axiom_node_t *  root_node 
)

Create a policy object and set it to the description hierarchy

Parameters:
svc_client pointer to service_client struct
env pointer to environment struct
root_node pointer to a policy node
Returns:
AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_proxy ( axis2_svc_client_t svc_client,
const axutil_env_t env,
axis2_char_t *  proxy_host,
axis2_char_t *  proxy_port 
)

Sets the proxy.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
proxy_host pointer to the proxy_host settings to be set
proxy_port pointer to the proxy_port settings to be set
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_proxy_with_auth ( axis2_svc_client_t svc_client,
const axutil_env_t env,
axis2_char_t *  proxy_host,
axis2_char_t *  proxy_port,
axis2_char_t *  username,
axis2_char_t *  password 
)

Sets the proxy with authentication support.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
proxy_host pointer to the proxy_host settings to be set
proxy_port pointer to the proxy_port settings to be set
username pointer to the username associated with proxy which is required for authentication
password pointer to the password associated with proxy which is required for authentication
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_client_set_target_endpoint_ref ( axis2_svc_client_t svc_client,
const axutil_env_t env,
axis2_endpoint_ref_t target_epr 
)

Sets the target endpoint ref.

Parameters:
svc_client pointer to service client struct
env pointer to environment struct
target_epr pointer to the endpoint_ref struct to be set as target. service client takes over the ownership of the struct.
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__symmetric__binding_8h-source.html0000644000175000017500000002335711172017604026602 0ustar00manjulamanjula00000000000000 Axis2/C: rp_symmetric_binding.h Source File

rp_symmetric_binding.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SYMMETRIC_BINDING_H
00019 #define RP_SYMMETRIC_BINDING_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_symmetric_asymmetric_binding_commons.h>
00028 #include <rp_property.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct rp_symmetric_binding_t rp_symmetric_binding_t;
00036 
00037     AXIS2_EXTERN rp_symmetric_binding_t *AXIS2_CALL
00038     rp_symmetric_binding_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_symmetric_binding_free(
00043         rp_symmetric_binding_t * symmetric_binding,
00044         const axutil_env_t * env);
00045 
00046     AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL
00047     rp_symmetric_binding_get_symmetric_asymmetric_binding_commons(
00048         rp_symmetric_binding_t * symmetric_binding,
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     rp_symmetric_binding_set_symmetric_asymmetric_binding_commons(
00053         rp_symmetric_binding_t * symmetric_binding,
00054         const axutil_env_t * env,
00055         rp_symmetric_asymmetric_binding_commons_t *
00056         symmetric_asymmetric_binding_commons);
00057 
00058     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00059     rp_symmetric_binding_set_protection_token(
00060         rp_symmetric_binding_t * symmetric_binding,
00061         const axutil_env_t * env,
00062         rp_property_t * protection_token);
00063 
00064     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00065     rp_symmetric_binding_get_protection_token(
00066         rp_symmetric_binding_t * symmetric_binding,
00067         const axutil_env_t * env);
00068 
00069     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00070     rp_symmetric_binding_set_encryption_token(
00071         rp_symmetric_binding_t * symmetric_binding,
00072         const axutil_env_t * env,
00073         rp_property_t * encryption_token);
00074 
00075     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00076     rp_symmetric_binding_get_encryption_token(
00077         rp_symmetric_binding_t * symmetric_binding,
00078         const axutil_env_t * env);
00079 
00080     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00081     rp_symmetric_binding_set_signature_token(
00082         rp_symmetric_binding_t * symmetric_binding,
00083         const axutil_env_t * env,
00084         rp_property_t * signature_token);
00085 
00086     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00087     rp_symmetric_binding_get_signature_token(
00088         rp_symmetric_binding_t * symmetric_binding,
00089         const axutil_env_t * env);
00090 
00091     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00092     rp_symmetric_binding_increment_ref(
00093         rp_symmetric_binding_t * symmetric_binding,
00094         const axutil_env_t * env);
00095 
00096 #ifdef __cplusplus
00097 }
00098 #endif
00099 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__ctx_8h.html0000644000175000017500000001706311172017604023651 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_ctx.h File Reference

axis2_svc_ctx.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_op_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_svc_ctx 
axis2_svc_ctx_t

Functions

AXIS2_EXTERN
axis2_svc_ctx_t
axis2_svc_ctx_create (const axutil_env_t *env, struct axis2_svc *svc, struct axis2_svc_grp_ctx *svc_grp_ctx)
AXIS2_EXTERN
axis2_ctx_t
axis2_svc_ctx_get_base (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_grp_ctx * 
axis2_svc_ctx_get_parent (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_ctx_set_parent (axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env, struct axis2_svc_grp_ctx *parent)
AXIS2_EXTERN void axis2_svc_ctx_free (struct axis2_svc_ctx *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_ctx_init (struct axis2_svc_ctx *svc_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_ctx_get_svc_id (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc * 
axis2_svc_ctx_get_svc (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_ctx_set_svc (axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_svc_ctx_get_conf_ctx (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_svc_ctx_create_op_ctx (struct axis2_svc_ctx *svc_ctx, const axutil_env_t *env, const axutil_qname_t *qname)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__svc__skeleton__ops.html0000644000175000017500000002743011172017604026564 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_skeleton_ops Struct Reference

axis2_svc_skeleton_ops Struct Reference
[service skeleton]

#include <axis2_svc_skeleton.h>

List of all members.

Public Attributes

int(* init )(axis2_svc_skeleton_t *svc_skeleton, const axutil_env_t *env)
axiom_node_t *(* invoke )(axis2_svc_skeleton_t *svc_skeli, const axutil_env_t *env, axiom_node_t *node, axis2_msg_ctx_t *msg_ctx)
axiom_node_t *(* on_fault )(axis2_svc_skeleton_t *svc_skeli, const axutil_env_t *env, axiom_node_t *node)
int(* free )(axis2_svc_skeleton_t *svc_skeli, const axutil_env_t *env)
int(* init_with_conf )(axis2_svc_skeleton_t *svc_skeleton, const axutil_env_t *env, struct axis2_conf *conf)


Detailed Description

service skeleton ops struct. Encapsulator struct for operations of axis2_svc_skeleton.

Member Data Documentation

Initializes the service implementation.

Parameters:
svc_skeleton pointer to svc_skeleton struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

axiom_node_t*( * axis2_svc_skeleton_ops::invoke)(axis2_svc_skeleton_t *svc_skeli, const axutil_env_t *env, axiom_node_t *node, axis2_msg_ctx_t *msg_ctx)

Invokes the service. This function should be used to call up the functions implementing service operations.

Parameters:
svc_skeli pointer to svc_skeli struct
env pointer to environment struct
node pointer to node struct
msg_ctx pointer to message context struct
Returns:
pointer to AXIOM node resulting from the invocation. In case of one way operations, NULL would be returned with status in environment error set to AXIS2_SUCCESS. On error NULL would be returned with error status set to AXIS2_FAILURE

axiom_node_t*( * axis2_svc_skeleton_ops::on_fault)(axis2_svc_skeleton_t *svc_skeli, const axutil_env_t *env, axiom_node_t *node)

This method would be called if a fault is detected.

Parameters:
svc_skeli pointer to svc_skeli struct
env pointer to environment struct
node pointer to node struct
Returns:
pointer to AXIOM node reflecting the fault, NULL on error

Frees service implementation.

Parameters:
svc_skeli pointer to svc_skeli struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

int( * axis2_svc_skeleton_ops::init_with_conf)(axis2_svc_skeleton_t *svc_skeleton, const axutil_env_t *env, struct axis2_conf *conf)

Initializes the service implementation.

Parameters:
svc_skeleton pointer to svc_skeleton struct
env pointer to environment struct
conf pointer to axis2c configuration struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__reference_8h-source.html0000644000175000017500000001676211172017604025530 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_reference.h Source File

neethi_reference.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_REFERENCE_H
00020 #define NEETHI_REFERENCE_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_includes.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct neethi_reference_t neethi_reference_t;
00037 
00038     AXIS2_EXTERN neethi_reference_t *AXIS2_CALL
00039     neethi_reference_create(
00040         const axutil_env_t * env);
00041 
00042     AXIS2_EXTERN void AXIS2_CALL
00043     neethi_reference_free(
00044         neethi_reference_t * neethi_reference,
00045         const axutil_env_t * env);
00046 
00047     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00048     neethi_reference_get_uri(
00049         neethi_reference_t * neethi_reference,
00050         const axutil_env_t * env);
00051 
00052     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00053     neethi_reference_set_uri(
00054         neethi_reference_t * neethi_reference,
00055         const axutil_env_t * env,
00056         axis2_char_t * uri);
00057 
00058     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00059     neethi_reference_serialize(
00060         neethi_reference_t * neethi_reference,
00061         axiom_node_t * parent,
00062         const axutil_env_t * env);
00063 
00065 #ifdef __cplusplus
00066 }
00067 #endif
00068 
00069 #endif                          /* NEETHI_REFERENCE_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__comment_8h-source.html0000644000175000017500000001777011172017604025075 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_comment.h Source File

axiom_comment.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_COMMENT_H
00020 #define AXIOM_COMMENT_H
00021 
00027 #include <axiom_node.h>
00028 #include <axiom_output.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00041     typedef struct axiom_comment axiom_comment_t;
00042 
00053     AXIS2_EXTERN axiom_comment_t *AXIS2_CALL
00054     axiom_comment_create(
00055         const axutil_env_t * env,
00056         axiom_node_t * parent,
00057         const axis2_char_t * value,
00058         axiom_node_t ** node);
00059 
00067     AXIS2_EXTERN void AXIS2_CALL
00068     axiom_comment_free(
00069         struct axiom_comment *om_comment,
00070         const axutil_env_t * env);
00071 
00078     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00079     axiom_comment_get_value(
00080         struct axiom_comment *om_comment,
00081         const axutil_env_t * env);
00082 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     axiom_comment_set_value(
00092         struct axiom_comment *om_comment,
00093         const axutil_env_t * env,
00094         const axis2_char_t * value);
00095 
00103     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00104     axiom_comment_serialize(
00105         struct axiom_comment *om_comment,
00106         const axutil_env_t * env,
00107         axiom_output_t * om_output);
00108 
00111 #ifdef __cplusplus
00112 }
00113 #endif
00114 
00115 #endif                          /* AXIOM_COMMENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__sub__code_8h-source.html0000644000175000017500000002137411172017604030063 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_sub_code.h Source File

axiom_soap_fault_sub_code.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_SUB_CODE_H
00020 #define AXIOM_SOAP_FAULT_SUB_CODE_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault_code.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_soap_fault_sub_code axiom_soap_fault_sub_code_t;
00035     struct axiom_soap_fault_value;
00036     struct axiom_soap_builder;
00037 
00051     AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL
00052     axiom_soap_fault_sub_code_create_with_parent(
00053         const axutil_env_t * env,
00054         axiom_soap_fault_code_t * fault_code);
00055 
00064     AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL
00065     axiom_soap_fault_sub_code_create_with_parent_value(
00066         const axutil_env_t * env,
00067         axiom_soap_fault_code_t * fault_code,
00068         axis2_char_t * value);
00069 
00076     AXIS2_EXTERN void AXIS2_CALL
00077     axiom_soap_fault_sub_code_free(
00078         axiom_soap_fault_sub_code_t * fault_sub_code,
00079         const axutil_env_t * env);
00080 
00088     AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL
00089     axiom_soap_fault_sub_code_get_sub_code(
00090         axiom_soap_fault_sub_code_t * fault_sub_code,
00091         const axutil_env_t * env);
00092 
00100     AXIS2_EXTERN struct axiom_soap_fault_value *AXIS2_CALL
00101     axiom_soap_fault_sub_code_get_value(
00102         axiom_soap_fault_sub_code_t * fault_sub_code,
00103         const axutil_env_t * env);
00104 
00112     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00113     axiom_soap_fault_sub_code_get_base_node(
00114         axiom_soap_fault_sub_code_t * fault_sub_code,
00115         const axutil_env_t * env);
00116 
00119 #ifdef __cplusplus
00120 }
00121 #endif
00122 
00123 #endif                          /* AXIOM_SOAP_FAULT_SUB_CODE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structentry__s-members.html0000644000175000017500000000456011172017604024712 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

entry_s Member List

This is the complete list of members for entry_s, including all inherited members.

dataentry_s
nextentry_s
previousentry_s


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/search.idx0000644000175000017500000647547711172017604021311 0ustar00manjulamanjula00000000000000DOXS.6G¤Ûèöt–Òáö-T]ir‚œ¥µÀÉÓÛãëôü)1:CV_gt¤éù$>LYe­¹™»ì ) Á Š 6¶Î*`kãää¤äöå%åyå…ænæ®æ¸æÄè°è»èáê¦ëÝëéëõñÔòaòjóó¥÷×ùxùújúsûûû&ûPûvû‚üMüj2ËýN_hï˜G‰ Øàé b k  ' · å  W ‚,Ù,û--!-D. 3»3Æ3ó4p5½5Æ646D6–7W=I=i=r?@ @,@6@‘@›@¥@¯AAAgB–DBFOFdGäII J?JÐKSM NZöZÿ[ \µ\Æ\ï]Q]b]³^^^)^?``BbEb”bÎd7ddÅgáh9hÇiii²kninrn¬n¶nâooeoéoõƒ ƒ0ƒ;ƒxƒÂÛòÛüÜ1Ü9ÜAÜbÜß݈áZáÆã¡ãÎãôää æâç•çžçÍêbëùííHíåîvîïIð2ðÈðÒñnó±óºóÄóÍôAôuôƒõ¢õîö÷÷M÷W÷Ôøø&ø:øNø®øÜùKùùÍüöý‚ý’ýÿþþ4þ<þJþfþqþƒþ¥!axis2_callþ¼""þÈ"#fragment"þÜ"'þø"?queryarg"ÿ"__operation_out_only__"ÿ "__operation_out_in__"ÿ,"__operation_robust_out_only__"ÿ@"available"ÿT"auth"ÿ`"auth-int"ÿl"as is"ÿx"basic"ÿŒ"digest"ÿ°"false"ÿÔ"http://www.w3.org/2005/08/addressing/anonymous"ÿà"http://www.w3.org/2005/08/addressing/none""http"("initialized"4"instance"@"log this %s %d"\"log this test 123"p"license"„"one way"˜"request reply"¤"scheme://user\@site:port"°"true"Ì"test"Ø"urn:uuid:"ì"user:password\@"ø'"' 'file''n'$'text/xml'0'utf-16'<'utf-8'H'|'T**`***l*doesx*hi„*val+=œ--¨-1´...ø///wsa1.6.01.1(1.2\1.0ˆ11¬123¸2.0Ì3-dimensionalè415ô==@return__int8 __int16,__int328__int64D_axis2_xml_parser_typeP_attribute_name\_attribute_valueh_char_datat_name€_prefixŒ_s˜_start¤_trim°_text_data¼_unknownÈ`first'Ô`last'àabstractionìableabove about absolute$asks>@asap>Lasoociated>Xassinged>dasf>pat>„attribute?Èattr_qnameAÌattr_valueAàattr_nameB attachment_dirB@attrBTattrsB˜attribB¤attB°at_listB¼attachmentsBÐattachmentBÜattribute.nullCattributesCattachedC`atomicCtattribueCˆattemptC”attachemntC¨attribute'sC´auth_typeCØauthenticate_moduleDauthenticationDauthorization_request_algorithm_md5DÜauthorization_request_algorithm_md5_sessDèauthorization_request_default_client_nonceDôauthorization_request_param_algorithmEauthorization_request_param_client_nonceE authorization_request_param_domainEauthorization_request_param_nonceE$authorization_request_param_nonce_countE0authorization_request_param_opaqueE axutil_thread_mutex_lock>”axutil_thread_mutex_trylock>Àaxutil_thread_mutex_unlock>ìaxutil_thread_mutex_destroy?axis2_transport_receiver?Daxis2_transport_in_desc_free?xaxis2_transport_in_desc_free_void_arg?”axis2_transport_in_desc_get_enum?°axis2_transport_in_desc_set_enum?Ìaxis2_transport_in_desc_get_in_flow?èaxis2_transport_in_desc_set_in_flow@axis2_transport_in_desc_get_fault_in_flow@ axis2_transport_in_desc_set_fault_in_flow@normalized Rìnormalization Snor Snote S(non-optimized S¬related Brecord Cürest D@represented D´required Dðreceivers Etrequest-digest E˜response-digest E¬reentrant EÀreturn EÜresolver G¨removed H4returns Hˆreturned Premoves Qresets R4reset RXresponsible RŒresponsibility RØrelevent Rìretrieves Srecomended S\refers Shredeclares Stredeclare Sˆrepresent S”representation SÐresources Sìretrns Treason Tretuens TXreceives Tdrecipient T˜readonly T¤remove T°reacts Uread_input_callback() Uregistered Urecompiling U8retrive UDregisters Upretuned U¤relates U°relationship V|reply V¸retrieved W,resulting Whreceived Wœreceiving WÐreceive Wôreceiver's XPrepresentations X\resumes Xhreached X„resumed X˜resume X¬remaining XÈrepository XÔrequested YPrelation Ydrespective Yxrequest_headers Y¬response_ack_code_name Y¸response_ack_code_val YÄresponse_bad_request YÐresponse_bad_request_code_name YÜresponse_bad_request_code_val Yèresponse_code Yôresponse_conflict_code_name Zresponse_conflict_code_val Z response_continue_code_name Zresponse_http_forbidden_code_val Z$response_gone_code_name Z0response_gone_code_val Zu¹pŒC¼„Ï4u¹pŒCÏ4x­i¡Ýúˆ„7˜½:í¨í‘æ`צΠÖ§ØÂv¬ÓqbqbqbqbG‡üüüüü€Øü€ØüüN/N/bOÞC6"Ñ ¸øuouú;_¸0 ‚Ë ‚|?Xs ¾­{ó8Ýöº³§’×’×’×’×—ŒÈ|È|E‹È|)BÈ|0,鏸2°Ógõb-'CËŠþ_a×b9#V–®—Œ—î °Kf¯õ0@éƒ_î®÷ì 9 Brò¾­{óþÅ8Ýöºš<³§²Æè`—‡~!Ûs¥ªŸƒ%ü¢Ê/ u ¿äƒ‰wù¿b x\4ÝñZûû:¯slï)àBLþ¸ûE‹¹9Ý1)VdD6"6"(IržÔXè¢ç_Xè_Xè_ƒ%Öçc”Úá*˜oÁ{5ìhø$É6"/äG€-*58ƒ?†?þB×ÖçùÎ’$¸Ô} Ý¥gœn…oÒyi+@à>æöèµë`˜zŒ›p¡Î¦˜4ÝcåÑ©Ùù¿–6˜³¶I R‹Ãá>™†šˆ¢CCyþ ÿrS{1E7Hì`707PI²âgêñ+¥(N™^òl­-)_äûï׈ƒ{ŸúÀñNƒ„F•AvSŒÙ‘þ£m»Ã<ÍrÄwÒb &.Á3²·Ç‹è›êšïžs“vÓ‚¡¦‰¨Å«¶¹PÁÈ/Bc_ežêî®õìøN¾ÁÈ06" ê±:^,äûˆƒ{ÂAAvþDþ£m¸R»Ã§ Á‹Ç‹ÌÎuvÓ‚¡¨ÅªÁÈylê6"N™OÍ^,G€§ yl %‚ß.gõ'_ù¿Ý¾þL‹l>(ù¿).L‹ŽŠ`צ÷‰4Ý_O,6"vÓ N/ 5b­ì(9Û¿´ƒVdÐ'J\}ß‚D0•G[› R<а‚D²b-î®`צ`צ—žTªTª Þ ƒ*5¼+/äcÒwŸ,6ß/äa±=örÏu¹°FΠÕÄÚNäõõA¶¡«1¹µÖ¤Ûwê`/äOÍ?„"gNR<VUeúÉ)Òèðß ™  ‚ˆƒ}ŽC«„ÆÑKPNƒ_}܃ᅶ‘`¡¬'$Ì;v>nAFòLȉ£¸ŸÎjâñýþD uLL†ÐŒ‘ˆ»hÆcаÑ A8C4uÿwoyx…Íþwÿ*1ê>E’Æ~Ë~Õñò¨\¿bÆuvÓuªvø_@ðÀiî®ü˜ÃpG)& *5»ÙàžmV—› &6 Fù⇉ =ŸÜ©É)ÍþcÒdu„2ÞQ@þ©pÒÒäý±!Û}â s,6ÆX>W?’H¢i`·4ÀéåB¶ùí [BIø& [ 6"cñ5„7nžÔï:X誋6V5¢ç_:•6"å-!Ö0•¹µÂT"ZÂnù¿¾L‹ëÀE’yóN‚æ²½ãK鸹µkùlS(©)äSä§ ‚Š1H""<ÁúÖ¹O,E’oDN‚æ;çf玊u-kUZö0Π{Le‘ærótw‹àE)¨ öΠàž‰Ô› {4H¢`$#àžFùÐ^N™í¨íÀYH¢êtö»*5--Ä0,6">Mcñ k{}°€[œ.ÓZ×Wàžä-ç_é`þ¸ý€O+«!Ö%¨.r/´0•5„iXuÇv–‰ÔŒÿ(—› «1±:¹9¹µÕIßnñßôx/äJrN/Y×fÐqÄròb–ƒ™¶¬Ó¯oïå ƒ =- ×/Ù59KúNR<SeúhøÀYÂTźǯÉ)Ö¶âÐëzõ ‚‘!ž$'1Cgµƒ%{£~½ÝÁIϵÑ8Ü)ßá¾#]@þL—TªW»_}Ü‚n‰•“ˆœžŸ§çý±þÅm':;vS6TUV¯[8®Ê»€ÂnÅ—ÆÌÈlÐ'öºøûù¿8 u«ž!Û\lG„ÿh™·s¾ÃiÅYÊ/аÑ :sb).,6/725ë8?ÌA8G€L‹O,yx …͉OŒ&‘Üä+ç(íñSì «%.Á/•0è1ê9E’H€HãKU ‚¥ö¨í©Ø¸øÁ‹ÕñÚ^õ†ü*[ qL]`×uow}ß„uªv±+¾CÿËýæ¦M^0­3;ÿ?´G-N‚bn|˃ªÀiÔrÚnæ²ëîûL:•<ªÍoö±»$b*5-Ä6">MBkxÔ{w¾;Á×WØÂÞ7ßÕå-ç_÷Îú;€%¨,­.r6L{‰Ô”N™U¢|±:ßnò§ó˜"$^/ä5ìFùJrN/N™Q SÒ\*—A™¶œ†ž|¢¾¦«ª‹±& í =IJù_ _sdÂTÆ#É)ËHë*Þ &¶Cgµhø€í„2{–ÁIÄô̪ϵÔ]#]$É@þS__‚‡~‰Œ¬Ž5‘`ž&º{ßJú.ý±  Sæ?BFòLÈM=V¯ž”ÌçÖfÙ‘Ý©ùUù¿ u Ƨ"y8ƒ¼ŠÅ‘昳¾‘ÃÇÆcÇCÖ,62ËO,P&PyTûpŒrÄyx}7‚A… Žçˆä+¸0¡.W.Á=E’H€M• ‚¸øË ÕñêšíËù}Z `×aViuow–‚D„‹¦‰¨Åªvµ¶=¶¸·þ¼ÂÁÈš¦$wE‹Fc_r|s†ylyÍ|Ë~€±ë9øNûL)2:•MÁàžäõõA+!Ö:G{‰Ô•w› ¶z¹µÛw5ìdŽŠÉ "Z'ö–þS_}Ü‚n…¶‡~ß;vÌç8ŠÅþ‘ˆ‘æаÑ ).5ë?ÌG€NÂpŒyxíðÿñSH€¨íÕñm|wuæbäG8bYö%ö6"6»7P=öBe¾;ΠÛqßÕ«!ÖšçÖ¤Ù¼Q UàkùlSr‹ŽŠE?"g(©)3æOÅP'ÍDÒèäSä§À ` Ã!ž'öˆƒŽC–«„ÁIÆÆtEJNƒS~g‘`ßJú.B<h;vAšM¿/ÌçÖ¹}#†ÐŠÅ™kG€õkÿ*^°çÁ‹Ë~ÌÎkm|vÓ&”(é9²@ðE‹äG÷‰ü˜)Ã¥ªŒ—¥ª`$yx‘æõA‘ˆ ‚$#öΠ—A*ʇDAͤµ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨µ¨j×öEm?µ¨Éë [½Š±$b*5.E6"?†d²ÚNÞ7åõ€.r—™U¤s²b¹µ Ûwí·ôxJrL;N™SÒÔ©©I7 ×+@59^,dv¨ãÂTÉ)ËHÔÇæöõ'öC†^{–­;½ÝÁIÛ»4ÝB¶CNƒSZV_…¶‡~‘`“ˆÿ—š@dKãSŒU~º ½bÌçÙÜøûýím«!Û„†ÐŠÅ‘æ’h“€“Ò–6¾Íls,65ë?ÌyxyŸ…Í‹bëÀðÿ.Á5ÃE. ‚¬Ô¯°ç¸øº<Á‹ÕñïBõ† qg®kŒpœuovÓw„¨ÅÁZ6M''h@ðCyG-nu1ylƒªÚnþ ÿç$9Ö)ò8è, 07PACDkåõñ+üÀ¡Ê²br‹ê»'ö—žŸú£ª,«NƒO+TªVd`? 'D˜hÅ—Ð'ÖfÙ‘œ”$OÇT¡rÄ Ê & ü¼.ÁÁ‹ÂÍAêš}}–‡Ý¦‰:"DÆc_éÂõõì^)O05b>MÖçä-êîãõAþ¸.î·¬¹9ê`cÂrò%? 3æ_saFÇ\Û¿ëzðß‘´"ZcÒ–Þ¥w«„ÁIÑ8Õ1Õ¢KPSíVd\q{ó‡~‹Ž5’º™} àD‘û;vOŸÅñÐ'Ý1÷7 £ü†Ð‘ˆš<Ép;z<\?Ì@×Py\MpŒ…Íç(^.ÁAïË~Íüþ‡åvÓwˆ8ªv¾CÂÛÛ#%~äî®ü˜ç"ª>M|˜ ;w:ëÀÁÈBLï:@þý±©©:–ƒ*ʇDA®Ï–ƒ—AS*¾yx5ÃBLA'ÿ_acÓZáòâgózùÎÊZ¥(¾5^òoÒx- 3æ4Óäûï×ðw“—ÆH"\q`©ƒ+åÁúÆÌÛ¤÷7ü˜³™k<\<ÍR‹T<p$u(,6.W1ÌÎíËïžvÓ†%ˆ¢«¶*Ú/BCb:æ;êïúúãûL¾í#>MŽŠw±:±:Öç/7`צ(%ö6"ØÂßÕûì‘“á¹µÛw/äÆ#€Œ€íˆƒÜ)|g…¶ÔJù¿’hµñÑ 9?ÌG€MÄVwoŒ&î6©ØÎÊ`×m|vÓw‰Ë¦(é@oi9€[¾ªÁ*ª;#y;{‰ÔŒÿ$^5ì§eúk€¨«öó'1ÑŸá¾âƒŽŸžŸÚäI®Yë[8 u"žÆcÔ\ÖMÄ€Œ&Œ”ç‘Ü9<H€ HãM•êš ôøI[ qL¦‰ ÁZÁÈ Ä߯ zÄ/#?D{™~ó™~ÎÒßóÎÒÁZß/#{uÏÛ&6G[ÉX©`˜73ꚦ‰áÛž3ž3X© Lº í®ç'‹ÏÛý€[ ¿±À"Z~gù¿ÃÇŒ”H€ÅÈE’b\Ãi™¶Xè_®çoÁ{5ìW» °È|;ÿ¡µ%K’çÓÅ$qÄ~Õ;·÷U£~±ÿW»ní,#ÅñÝ©„Žš«~Ù’4;™;ÿFO"ìa¡ œé¥¦]b¸¼ÚÀ–GS]ÎO¦ Ä¥~S;8öر}nj+œé ¥Ùǯ 5äžÔ–ƒaFã4׫’Lß·s¢çu¾C5äª'аyx1ÖäõuÇ ×MhÆÌÁ‹ïú[9a'6">Mj·‡!ˆ œ.¢´é`ðöUE9bhUh½uÇ÷ªÿÿŸySG¼Q Àø¿ì:)Œµ™½¨±ÑU ‚CEFtOÞdu|´Äô%±¤ ¥I¥Ö§ç©pº{¼>¾‚þh‹Ânüà!Û}âþÃJ?Ìwoyxš²ÆT³Xh¬ŸÜ'¸b_eqwËÖÑ*åÂé{ ã3b‹í¡À¦Äåcæ²COH=\Ü]buuÇ/ä ÜYú‚ï¥Î¨b´M•ßñ¨`˜ŸdÚä{Ö°\°€±&²t ²¯,³(³Ë¹Bº„2º¾j×kkA ki lõnjn¶bs u*u$‰$Æ%%R%ˆ&6(9)-Ù|.…$/A àBà<༠á3 áÛ"ã¢NäM6è¼.èúê¤HêÞ +u²ãžX$žÿŸÜ ã ¡!&¦r(§Ð ¨@¨$WÅWí&X5XwYŒZš[)[Õ&`#`Z `˜$abpc2 FÞ‚ñæ,*Þ § Ð_"ЖÐàÑ* ÒÒAÒäÓ ÓÍ.ÔÕ 4ÕKØØÙ'ÙÚ-Ûb Ü= ŽŽcޱŽä ¹åA‘G’×D—f˜¼™~ KàL LLLMšNdO+Oj Så4Tž U7 Vc V¥,W% ¸í 5  [D F 9N °x QÈ*ä(Ãë"ÄÄhÄŸÅÌ&ÆÆàÇq Ç©È|,ÌhÌõͤÎÒÏ,I"†½€Ø@¸<‚¶„ ‡Ù‰ÛŠж<5&>W>0>Í??’@é6A2&D¡E2G GU÷5÷u÷Úø& ø_ùíÿ«ÿüß.: l ´èµ%Bµ\µ¨ µÜ ¶É ·4·q·ø(¹D¾3¿Ž$¿ïp]p«qrSrÏrù(sØxaxŸ"yA{Zç°\°€±&²t ²¯,³(³Ë¹Bº„2º¾j×kkA ki lõmVnjn¶bs u*u$‰$Æ%%R%ˆ&6&n(9)-Ù|.…$/D/A àBà<༠á3 áÛ"ã¢NäM6è¼.èúê¤HêÞ +u²ãžX$žÿŸÜ # ã ¡!&¦r(§Ð ¨@¨$WÅWí&X5XwYŒZš[)[Õ&`#`Z `˜&abpc2 FÞQ‚ñæ,*Þ § Ð_"ЖÐàÑ* ÒÒAÒäÓ ÓÍ.ÔÕ 4ÕKØØÙ'ÙÚ-Ûb Ü= ŽŽcޱŽä ¹åA‘G’×D—f˜¼™)™~ KàL LLLMšNdN¨O+Oj P#Så6Tž U7 Vc V¥,W% ¸í 5  [D F 9N °x å QÈ*ä(Ãë"ÄÄhÄŸÅÅÌ2ÆÆàÇq Ç©È|,ÌhÌõͤÎÒÏ,I"†½€Ø@¸<‚¶ƒK„ ‡Ù‰ÛŠŠaж<5&>W>0>Í??’@é6A2&D¡E2E×G GU÷5÷u÷Úø& ø_ùíÿ«ÿü´ß.: l ´èµ%Bµ\µ¨"µÜ ¶É ·4·q·ø(¸C ¹D$¾3¿Ž$¿ïp]p«qrSrÏrù(sØtÌxaxŸ"yAzn({ZœÕ¨[õá°\°€±&²¯,³(³Ë¹Bº„.º¾j×kkA ki lõnjn¶bs u*u$‰$Æ%%R(9)-Ù|.….Ç/D/A àBà<༠á3áÛ$ã¢NäM6è¼.èúê¤HêÞ +u²ãž3.žX$žÿ # ã ¡!&¦r(§Ð ¨@¨$CWÅWí&X5XwX© YŒZš[)[Õ&`#`Z `˜&abpc2 F0‚ñæ,*Þ § A`Ð_"ЖÐàÑ* ÒAÒäÓÍ.ÔÕ 4ÕKØØÙ'ÙÚ-Ûb Ü= ŽŽcޱŽä åA‘G’×D—f˜¼™)™~ KàL LLLLº MšNdN¨O+Oj Så6Tž U7 Vc V¥,W% ¸í 5  [D ‘  F 9N °x å QÈ*ä(Ãë"ÄÄhÄŸÄæÅÅÌ2ÆàÇq Ç©È|.ÌhÌõͤÎÒÏ,I"†½ü€Ø"¸<‚¶ƒK„ ‡Ù‰ÛŠŠaж<5&>0?@é6A2&D¡E2G GUÎa÷5÷u÷Úø& ø_ùíÿ«ÿü´ß.: l ´èµ%Bµ\µ¨"µÜ ¶É ·q·ø(¸C ¹D$¾3¿Ž$¿ïp]p«qrSrÏrù,sØtÌxaxŸ"yAzn({Z†ö°\±&²t²¯³¹B º„&º¾ΠkkAn2n¶su* u(9-Ù$.… /T/Aà¼á3áÛã¢äMè¼ê¤Z²žX"žÿ #¡!¦r§Ð¨@¨ WíYŒ Zš[)`#`Z `˜abpQ‚æ*ÞÐ_Ñ*ÒAÒäÓÍÕ ØØ Ù'Ù ÛbŽcޱŽä’×\—f˜¼ ™)™~LO+Oj SåU7VcV¥W% 5 [, 9, °È*äÅÌÆÇqÈ|6Ìh ÎÒφ€Øh¸‚¶ƒK„‡ÙŠ Ša<5>>W>Í@é A2 E2FÁG GU ÷uÿ«ß0lµ%<µÜ·q·ø¹D¿ŽqbrSrÏrùsØ xaxŸyAzn { º¾.…¨Üô™}˜H*ÎÒGU w»8¿{¨Wh^¨òÖynn n¶ú(-Ù㢠äM¨[)`˜ÒAÓÍ Õ Ü= S—f™~U7*ÇqA2{¨Ð’=¨ÂM𺾨W%Ï.J ŠжGGU½øl¿ïxa{¨Kƒ Õ¨_Æ„¨ÃŽ„£°\²t²¯³³Ë¹B º„º¾j×k kAlõn*n¶&u*u$‰%R&6 (9 -Ù0/:L;àà¼áÛã¢äMè¼èúê¤:êÞ²žX žÿ # ã ¡!¦r§Ð¨ WÅ WíXwYŒZš[)[Õ`#`˜bpc2 Þñæ*Þ§Ð_Ñ*ÒÒäÓÍÕ ØØÙ' ÙÜ=ŽcޱŽäA‘G’×—f˜¼™)™~™ôKà LLLMšNdN¨O+OjSåTžU7VcV¥ W%í  5 [ F 9$ °B QÈ*äÃëÅÌ ÇqÈ|ŠÌõÎÒ ÏI½¸‚¶ ƒK„‰ÛŠŠaж<5<²> >Í ?’@éA2D¡E2E×GGU`ÿ÷u ø&ø_ùíÿ«´l´è µ% µ¨µÜ¶É·ø¹D¾3 ¿Ž ¿ïqbrS rÏrùsØ tÌxaxŸ yA{¨~·?¨€»¨;Ü;ƒ¨öØôܨ´n¯Ó¨oê¯ìkà¨äMèú¨ ÁfÚ-’×  °È|€ØE2GGU ÿüxŸ{j<¨'•$¨â&ߨŸœx¨[˜c2®öc2 ~Oß~{c2R‘l;lƒ:c2KM#öf>Ò[°\²¯ ³¹Bº¾kkinn¶%R&6(9-Ù.…áÛã¢äMè¼²ãžÿ #WÅWí Zš[Õ c2‚·ñ*§Ð_ ÒAÒäÓÍÕ ØØÜ=Žcޱ A’× —f™~KàLSåV¥í  9 ° QäÃëÄÆÈ|>ÌhÎÒÏ €Ø¸‚¶‰_‰Û<5> @éA2D¡GGU÷u ø&ø_:µ¨µÜ·ø¾3¿Ž qbsØxaxŸ{çc2ë ý³úWxÔ°\°€º¾kiu*$Æ%%R.…/A¤ÊàBã¢äMêÞ_sd+§ÐX5Xw`˜aùbpc2FaÞ§Ð_ЖÐàÑ*ÛbÜ=Žޱ˜¼™~"LLLVcV¥@W%¸ °*ˆÄÄhÄŸÇ©ÎÒAۊжúí:³c2ÃŰoz¯zôc2§êÞœ§‚Ì{VÖ§77§Õt§ÏX‘§ŒéLº§J¬ ˜§…ÅJÜ=Ü= LÈ*õü{&BÜ=³†àÕÜ=o¯²Ü=iÜ=ZŠ#DÜ=Å™~™~ õ*óŸ™~ÂJ‚4­ïξ™~}]=Ì~Ûj(ŒM™~:‡9¯%ª™~Jõdà;™~²ìì5ò§¨W% iX"÷iÌ%NßßW%ÐÞ¹W%Ä›MW%äVW%=w~†JW%9ZÎiW%äääääÁòää*} GY„ä: »äôýÓû䲋ä†n8¨@äµÜqb®iäK·híäe"—äÄ-ÞSä~šîä=~"U®ä8öæäòLÎä­;‹ÉäifImä1¹Bº¾mÔnn¶%R-Ùº~áÛã¢è¼¢žÿ ã¡!¨@`˜ bpñæ*ÓÍÕ ØØÙŽc’× —fLSåí °*äÈ|$ÏI>@éA2¶¸ø_ßµ¨·qxŸyëz($ìaäß}äÁœä|žYä9´Väô˜Ó–ä²&V¥ж€±t#£¾Ê/?¼„sóz¬ 9>t#£¾Ê/?x­sóz¬z¬º¾Ș*‚AÎÒº¾P *ÎÒs†º¾Ê®¯º¾†1jË« º¾B\º¾e þﺾd» º¾Úèx(º¾—3ªt“º¾R@º¾/N ´º¾éÊ‘º¾£Œˆ¤º¾`F0º¾{.º¾Ön¾%u*¢¾Ùñˆu*bpÔ]É™u*êÞ 2u*/AÕ1Ûb´·þu*/A_ ´6Du*§Ð Æ®,­d4u*Þu*Ùbp˜¼ÇCu*/AÛbM=VcïËu*jfª¤u*Öe9u*“!u* Pu*Ú u*—@ÉÒu*Qå…ru* YA”u*Ê4þ*u*ˆDº?u*EÐw[u*Î2Ú/AÛbVcñ./Aýº®S/A¹ÉiðªB/AvùdÏ/A2psN¦/A./AÚ"êÞ ÉÖêއР/êÞEjÉ êÞ\„™êÞ½@çêÞx¦ýK§Ð i–©Ò¡Ñ§Ðdm^¨§Ð?§ÐÛÙ»§ÐÔÊ–œ§Ð‘ábp‡r˜¼bpDö¸Übpövbp½ 1ŽrUbpx,-bp5Œç bpðq¡bbp­«åÞ ÙKÞ@ –:Þü°PôÞ¸p dÞu¬ÞÉ.1#ÛbVc¼§ÓäÛbw³áÛb5 ÛbNðÛb Ñ­8ÛbǬhé©Ûbƒ‚•à˜¼æ+P„˜¼  ˜¼]SÈȘ¼¼†Ó˜¼Óy˜¼D:{˜¼NM¨˜¼¼AVc¬ÜpôVchv¨¦,VccŽåÇVc5 %VcØ¥\æVc•xTVc•†‚ u*CÓ*ûVõ*·8*»Üt_*w0p{*4J+š*ï]å]*¬rŸÃ*h¨A\*c$ê*ÍÒš* e•ÎÒ+&È$ÎÒä÷†ÎÒŸYCiÎÒ\vÎÒi»[ÎÒÒ%ÎÒv›'ÎÒ3ÜLYÎÒîî ÎÒ¬ÅôÎÒg¥§ÒÒÎÒbµÎÒ>[ÎÒú{=³‰Ûº„.Œ¬ÇÕ‰Û¿Yzn(‰Ûú ‰ÛµÏ‰Ûs+‰Û.Ãoi‰Û*H‰Ûä ‰Û=lG ùÔGGµGrÍG.yoG)ùGãÑGž)GZÊG>GÐæGâGK$GäGÅG Gßßßßßßßßßßßßßßßßßßßßßß ±á3(¶žX*õäÍ\¿ʈßß ¿¿Yznº„ ¿Y º„ iØϵ%±^YlM¿N¿YÅÈM¿¿Y¿Y¿Y¿Y¿Y¿Y¿Y¿Y¿Y¿Y¿Y¿Yº„…ºùº„C ´ºº„>ZÅÔº„rº„»-Çncº„vAº„)M3…º„ã$î—º„i«¢º„Zg6§aº„rº„bEк„纄×ÜJoº„”‰(º„OpÄ=º„ ¡€{º„Çx<’º„…_øÀº„B©´Zº„ÿ´qºº„ºª-monº„Á{5ìñ&hø$ÉâHŸó]‡Üu溄(å3º„âÀî3º„œû«4tõ{8/tõ”ê¤tõ5­ê¤p.ňꤔ0÷ðê¤O ³‡ê¤ Jqê¤Ç,¥m7꤄û'øê¤B4áÙê¤ÿ8œ ꤺDê¤Xºuqê¤(2¡ê¤ÎêíÏꤋãªÏê¤ILf¦¦³ê¤ìaŸê¤Âñ2ê¤<×#ê¤;†ê¤“Ð÷ê¤N³ê¤ ÖpŽê¤Æ´,GlÛ꤄Ÿ'•ê¤AÑárê¤þÑ›¬ê¤¹Ðê¤X=tôê¤Å2>ê¤Îírꤋ†ªrê¤HçfA¦SꤌaEꤗÓê¤~ÝÖÈê¤;+ꤓt÷4ê¤NE²ÀÛ&߬‰¡.… WÛ&ÎXt¾˜ƒÃÙ.…£˜ƒΕ3LV+e.…ÍhV+ºí.…ŠWít}ΕΕΕΕΕΕΕ.…G¶Εqš9¯MšFƒ.…I.…Áa.…}›.…9ê.…õæ.…±Œ.…nÝ.…*k….…&.…ßÕ.….…š.…V¹.…D.…Í .…‰ì.…GX.…ð~èú¡!Ú-³eE2ÿüxŸÚ-ó©bÚ-®ýe5D©U7#¡ÊU7 Ý?Õ³U7—u’`U7TM#U7Ž~U7ÊiÅHU7S¾ͤýYͤ kæ¾3¸†ͤ'²Sí¼îäM¦rC[ÕÙ‘G’×—fP# åÈ|,ͤ¸C¹Dxa h¡ͤs¯#Fͤ0êÜâͤìyøE×¥%ã¢äM¾BE×´¾3yA_òzN´¾3t6‚¾3ÕSòH¾3’®u¾3LÉkŒ¾3$¾3'XhGÄî¾3"ì‚ð¾3Ü‹@(¾3–êý¾3Sh¸0¾3ÔsY¾3ɪ0¾3†ºë©¾3Cï¨Þ¾3ô¾3d©äMyAyA•N*ðÔ¹D&yAyAyAyAyA³Ë´Pnn¶-Ù¦r[)[ÕÇ/ÓÍÕ —fO+P#È|¸C¹º6"-Ù~Õ ¦r½ °´Pn¶-Ù^Y¹D-Ù ã6n-ÙÓÍ‘‡O+È|û€ ³Ë´Pnn¶-Ù[)ÓÍP#È| 3_¹D ³Ë´Pn³ -Ù ã[ÕÕ P# åÈ|-Ù-Ù-Ù‘ºy,-ÙLv5-ÙÑñ -ÙÄ–­-Ù‚¡jA-Ù?Ù%ïfÞ-Ùü°!…-Ù·ßÛ&-Ùs-Ù•x07-ÙQåëR-Ù‹þ%Å °·ø-Ù ]¨†³-Ùw ° „·ø-ÙÈ8dQ³-ÙäM °³šÑפ£-Ù…]_i-ÙB…ö-Ùÿ¶-ÙÔ¬¼¿³Ë ´Pnn¶-ÙÕ Mr-Ù‘hxÚ-ÙL4¿-Ù[ðª-ÙÄB¬¾-Ù‚Hiè-Ù?%•fƒ-ÙüU!'-Ù·ÚÒ-Ùr´-Ù•/Û-ÙQ“ë-Ù ¨/-ÙÇácú¤O-Ù… _-ÙB1 -Ùÿ`-ÙÔV¼i-Ù‘ x-ÙK»4c-ÙðS-ÙÃð¬l-Ùéi‰-Ù?%%;-Ù¡!(W –!f3-Ùü ×-Ù·1-Ù@dÚ}-Ùr_-Ù”Ç/†d²-Ù-ÙQ>ê«-Ù °§Ù-ÙÇc˜£õ-Ù„¯^³-ÙAÏ>-Ùþþ-ÙÔ¼-Ù¶x(-ÙKd4 -Ù®ïý-ÙÚ¬-Ù-ÙŽi.-Ù>Ê$àe×-Ùû© {-Ù¶Õ ³nn¶-ÙžÿöÓÍÕ b'A2·øxŸÚ"-Ùr ¹B"nn¶ê-ÙæÓÍA2©"-Ù”w/6-ÙPêêW m #¦rZš[)ÓÍN¨O+P#È|gftÌ .E£¥ã¢¦r*aº{Ù’×$ºÂ Q„^^¦rvÀç¦r2Ÿ¦r[)[ÕO+È È|í.§Ó±¦rî‹_¦rª¯¦rKg½¦rP#ddP¦rÃ8ç¦r0”MäM¦r[Õ[ Ø­¦r>q’÷¦rûJã¢äM¦r[)O,ü‡× ´Pn¶¦r[)[Õ -O+P#È|Ok¦r¶{¦r ýq¡ ¸j¦rO+¦rŹ.ئr‚Ðéü¦r@ §]¦rýgc £R¦rºo^¦rvhŒ¦r2DK¦rÈÈ|ÓV¦rî0’DaN¬a =aaÄôwwwwwwww°!w°!w°!ww°!äM[ÕwÆ—fש—f‘á—fN9—f—f Û—fÄ—f®—f´Pn¶\´äM—fO,A2>Ë—fÛnl㢗f@×D—füy—f¹r /ÈÈ©pb£ÈfN]¶È!úc8ÈpÓÈ×aíÈ‘JoȹBì®3ŹBæ´P¹Bn¶49A2¹BÒ­eû¹Bœ!©b»¹BJ¹B¦¹B×ÂT¹B‘1€V¹BM¾=}¹B 2úP¹BÃèµ{¹Bp›¹B>.%¹BûËé$¹B¸¸¦e¹BtÉbèús™èúIydŒèú <aYèúÁ«ªèú­Õ¡èú<ÓÁèúù¯èúLW´Í^À³Ëèú/*E2 ´Pn¶èú¡!/N¨P#È|E2ûŹD‘èúÑoóèúÂs-yèú›èwèú<¥¥²èúú[ah`˜¶² ã¢äM #Zš`˜& °È|„@ésØѽ`˜>Ž„`˜¸ÇqL"¡`˜Á¸ÑZ`˜~ÛŽ)`˜;æÙ„ÿA85qÀöÙ­ÏÙ~õjåÙ<BL&¦g–Ùøó"4Ù´ ÛÏÙo#–,Ù,¹R¥Ùç±Ù¤ðÈìÙ`Ÿ¡^† Ù[íÙC9LÙ;Ñ Ù½f³rTž·ø)Õ Tž Ìõ¦BÀªTžc~«TžÇ_è;ÈTž¡!}òTž´ÞÈ|xŸ$/Tžø¢Ô&Tž³²Ž7TžnÐn:ÂÌõnÕ Ìõê!¤”Ìõ¥ã`@ øÌõb­[‡Ìõa_åÌõÈУÌõÓº˜ÌõËHIÌõJŒ¼ÌõÀ=ÌõÀ~JÌõ³Ë*,E2xŸJ::pn~E2_îÀ@E2ç}ŒE2¤D ¤ø?E2[2µ6E2‰q&E2ÐM-[E2®,AÿüFébÿüGó¥ÿü;3pÇxŸø ,üxŸ(9^½8ˆxŸ³éxŸn¤¿xŸ+áa±xŸæ¼/xŸ^[£ßxŸ—_ˆxŸ BÒÜxŸZÐŒÅxŸ$IrxŸÏèîxŸŒå¿ƒxŸG’|ÔxŸ:9¼xŸ¿’÷ xŸ}•´xŸsH•sm¹£ös+k`ÙsæPW]‚s£rÁs_ŸÚsÒZfs‹ô‹9è¼0Bè¼.G<+àè¼áèè¼»;/ØØ  Q‚¶xa輿/£“è¼Ù'Så6‚¶xaè¼}4`xè¼:¥û„N輞X&ðj]&è¼÷caè¼²fÑ®è¼mY‹–è¼+ è¼H7åòè¼°£ è¼¾F^´Ÿvè¼{Zè¼8y„è¼öYÏHè¼³F輌\oŸè¼Fá+…è¼ç¥è¼¾Ì£0è¼|Ñ`è¼:B˜\Ãè¼÷îè¼±ó`Z*ÅG`ZØØS墷ë`Z^OŸ`Z½€Y¤`ZzÉ+`Z7»Îí`Zõ–‹ú`Z²yÐ\Ù'i;½Ù'’×±ƒ±EÙ'ÚƒKŠŽzJÙ'|RlªFÿÙ'7;9Â*NxÙ'õ#öåOÙ'²¢BÙ'nŠ]Óž”Ù'*@Y Ù'æU¯Ù'¡ë[‡ÙÃØØôÀ‡Ù¾±˜‡Ù{àn‡Ù9Y)ׇÙö"‡Ùå걇١…lB‡Ù^™‡Ù)âéÿ«ž+ôW‚¶ÿ«X¬±$ÿ«Bm«ÿ«Î6)jÿ«‹<åxÿ«F¡ÿ«‚ ØØS倨ÿ«qbRÿ«^(½¥ÿ«xZ{mÿ«·8êÿ«σõ¶ÿ«‰+°¯ÿ«E–kÆÿ«xaŠëxaE¯]<xaóxaxaxaxaнJxaXO{xaâ8ŠxaÍâõbxa°Pxakfxa)=xaäsxa¡jxa'u»8Ó #Zš`# °Ï(`#WˆÆ`#'E=`#jØØxg¼yØØØØ5Êz4ØØón7¬ØØ°@ôŠØØlº¯ØØ(~jØØä(fØØ (ã™ØØ]= ºØØˆ\dY¨œ¬ØØWØØγ²ØØˆ\ÌáØØDÑ‰ËØØSå.ºMSåwySå4àSåò…SåSå¯TSåkÈSå'“SåãšSåŸ3Så\JSåžX¸Så)SåͽSå‡gSåDSåÿŠSå¹ÝSåwSå4tSåòSå¸ÿyÓSåÌhSå®ÞSåkRSå'Såã"Såž­Så[ÄÌhZÞv7=Ìh3ƒôÌhñ'¯Ìh­ïÌhj joÌh'ýÌh&:ã5ÌhâC TÌh¿[ôD¡Ì‚u»D¡‰j3"D¡DpðÂD¡ÿy­ƒD¡»ÖjD¡yk%ÒD¡ Q &iD¡‘Þ6ÛááD¡ó¶D¡[³ÿ?ÓLÕKN¨:«ÆàÕK^.âÅ’×’×’×’×’×’×Vr’ג׺{’×’×Ì º{’׈ö’×Cú’×ÿ’×»_’×xù’×’×6_’×ó;’×®Z’×iP’×':’×âK’ןŸ’×[-›¾’×Uü’ן’×Ë«’׈„’×C„’×þ•’׺ô’×x’×’×5à’×òÁ’×­Þ’×hÜ’×&¿’×áْן&’×Z¹B û’A’×›I’×Uˆ’×(’×À8 Q QáuN¾}] Q‚¶ QžÅ ;K9 QZ`šî´ Q„ ÔÊæ'„‡Ñ䎄Bž¡‡„ý¤]¿„ºÏ„w¡„Ö4þ„‘yJwøî ü%tÌo+¡8ü%žv´´Õ ÿ¹º)]t¹ºZtÌÊ6Õ 4tÌšž)‡xñ©Õ B>¬RÕ ýDiiÕ ¹¯Õ &bÕ w@ãÇÕ 4˜ ÒÕ ñ¥]Õ ­Õ g÷ÕŠÕ %¹®Õ à±MÏÕ ž JÕ Yµš?™Õ TÔ¿Õ BxØÕ Ê25¢Õ ‡ñFÕ AÚ«îÕ üåi Õ ¹PÕ &Õ vØã_Õ 41 kÕ ñJ\³Õ ¬ž²Õ g•Õ( ýÔ~A2(ÉèA2¼†ÍA2LÄAA2 Húü˜A2x¸þA2½âv…A2wÃ3ãA24…ðüA2ð+¬RA2ªÒgIA2gç%8A2%%A2à2âVA2€ŸhA2Y™§[µA2T;±A2 ±Ô2A2É‘A2e†|A2Ls[)ÓÍO+ P#È|´Pn¶[)[ÕP#N È|P# °È|<Ôm #ZšP#€qÈ|·ø(w³/N¨P#È|ñßP#È|ƒK \v¾îu åXÒÈ|É=3’©àÈ|ì†)ï1È|A©×È|ü gÈ|¸Q$È|uâá`È|3AžnÈ|ðHZ¥È|«³È|¿È|f Ó6È|$|ŽUÈ|ßuKXÈ|œÌÞG¬È|Xp˜ûÈ|S¼È|R`Oj °£IÈ|@é vcÈ|Èä39È|…ÍîÕÈ|@Æ©„È|û±f¼È|·ü#ÊÈ|u„áÈ|2ãžÈ|ïáZ>È|«OÈ|[È|fEÒÛÈ|$÷È|ßJýÈ|œs…GPÈ|X˜¨ÌÈ|S+¼,È| uÿÈ|ȉ2ÞÈ|…rîzÈ|@g©%È|ûRf]È|Å÷ °È|Ìm@é·›#iÈ|u-à«È|2Œ¹È|ï‡YäÈ|ªôÈ|È|eãÒyÈ|#»”È|Þ¸J›È|œ"FùÈ|W½˜QuÈ|RÌ»ÍÈ| >u È|È(2}È|…îÈ|@ ¨ÊÈ|ú÷fÈ|·B#È|tÕàSÈ|23`È|ï/YŒÈ|ª“È|ŸÈ|e‰ÒÈ|#Z3È|Þ_JBÈ|›±ÃF È|Wd—íÈ|Rj»kÈ| Üu>È|ÇÌ2!È|„µí½È|?±¨oÈ|úœe§È|¶ç"µÈ|tzßøÈ|1ΜûÈ|îÊY'È|ª4È|@È|e*ÑÀÈ|"ÿŒØÈ|ÞIçÈ|›UgFDÈ|W—š¾È|R»È| ˆtêÈ|Çx1ÍÈ|„]íeÈ|?Y¨È|ú=eHÈ|¶ˆ"VÈ|t!ߟÈ|1vœ£È|È|dÒÑhÈ|"©Œ‚È|ݬIÈ|›EïÈ|V³—.RÈ|Q«º¬È| (tŠÈ|Ç1mÈ|ƒ÷ìÿÈ|>ó§±È|ùØdãÈ|¶$!òÈ|s½ß;È|1œ@È|îXqÈ|©È|‹È|dvÑ È|"MŒ&È|ÝGI*È|š›­EˆÈ|VL–ËÿïÈ|QHºIÈ| Ãt%È|ƶ1 È|ƒ‘ì™È|>‘§OÈ|ùhdsÈ|µ°!~È|sMÞËÈ|0¢›ÏÈ|íŸWüÈ|©È|È|dЫÈ|!ì‹ÅÈ|ÜßHÂÈ|š/AE È|Uä–iÿÈ|Pæ¹çÈ| esÇÈ|ÆX0­È|ƒ6ì>È|>6¦ôÈ|ù dÈ|µT!"È|rçÞeÈ|0<›iÈ|íEW¢È|¨´È|ÀÈ|c±ÐGÈ|!„‹]È|Ü{H^È|™ÔæDÅÈ|U‰–ÿ3È|X@é‚Ð@é‡w=Ð@éD`ø¦@é@Û´ì@éû!r@鵨/Ð@éofìÙ@é,/¨C@éçÛc@@颟!@é_É@éÜÀ@é™hÚ@éU•ž—@éPMSe@é ¥¡@éÅË÷@é‚f@é‡ =f@éCöø8@éÿ•@m´~@éú°r@éµ:/b@énøìk@é+½§Ñ@éçnbÓ@é¢; ª@éOéæ’÷Ô•Ò¹D O=¡xؾ¹D”îÅ!*^°¹D‚’¹D*ôÒ©ú·¸C ¹D´R,¹Dq³]¹D/ ʱ¹Dì…͹D§tB©¹D¹D bk¹Dþ8?, P¹DùtÛp¹D´D˜Õ¹Dmó¹DTO”æ=¹D´Pnžÿ´POj6)n¶m«n¶*Jn¶åîn¶ ùn¶^n¶æn¶Ø n¶•,n¶Q~n¶ ¨n¶Éðn¶…n¶Aôn¶ýŽ>Án¶øÐn¶n¶³§n¶m]n¶)ün¶å£n¶ ®n¶]¿n¶Šn¶׸n¶”Ïn¶Q+n¶ Tn¶É¢n¶„Ân¶A¡n¶ý:>sn¶øƒn¶n¶³Un¶mn¶)¯n¶åMn¶ ]n¶]vn¶An¶×hn¶”zn¶PÖn¶ ÿn¶ÉAn¶„nn¶ANn¶üðäM A=Mã¢äM4Á÷äM<´ôôã¢äMpK °€sزäM÷xkäM³ÃäM(IqSäMã÷.®äMžìë¶äM\§äMäbäMÖúäM“'ÛäMOa˜oäM šT-”™äMÇîO=äMƒÅäM@ăäMûª<çäM[öºäMú[Õ-ôú‰;¹[Õëõ¢[Õ¦i°~[Õadj[ÕC&»[ÕÚ`âq[Õ—ä[Õ›S “ù[ÕZµN—[Õ}[ÕÔ¥¯Ë-ž °idê¨ °& °¦á³ °aœÙ °çYñ °ÙûÍ °—ŠÓð °SF“¡‘0 °N= °Mj ° rñ °Å»€m ° ;C °=Ûõø °ùu:º²j °ôoæ °¯u-H °iêR °%¹ °¥¿á[ °`ªœ… °“YŸ °Ù©k °—(Ó” °Rê“<Ë °Mã °Mh ° ÃY °Åc€ °€°:ë °=ƒõ› °ù:Z²  °ô/o† °¯ ,à °h°éô °%T °¥Zàø °`Gœ' °5YA °ÙK  °–ÈÓ4 °RŠ’ào °M‡ °L´  °½Âþ °Å¸ °€U: °=(õ; °ø¸9ú±ª °óßo6 °®²,… °hRé– °$õ °¤ûà °_ì›Ë °ÙXï °Øù­ °–jÒÖ °R,’ °ƒKn̓Kó ³Ë¡!*:‚·ø ¡!îQÖ’.¡!ÐâM ¡!Ž$q¡!J°Âo¡!Š~ë¡!¸¡!9Â~?¡!ô{:Ò¡!°íöF7­¡!nrñŠ¡!+ñ¬«¡!éf¡!¤C"Æ¡!_C¡!Þc4¡!™ØH¡!V¿•Õ¡! Qˆ‘Ù¡!гË*I¨ðÓÂ*³Ë(9*¿ù«û~*e`9]*"ô*Ýž*°ˆ˜Ù*n'ö*Uð+}*çè³*Ͼ£Ú³ËË!O×ì³ËÜå•v³Ë˜Q‘j³ËU&6"³ËLy³ËHh³Ë·Îå³ËÁ˜Œ³Ë~HݳË8ê’³Ë'öó¨Àº³Ë°'|Q³Ëm¥8ܳËn—ž³Ë+ôT(9’ó÷5Å(9×ïG(9•ªO(9P»‘(9d$L(9 |\(9Ü"(9Á<—B(9}ÂTP(98B(9óQÎ(9¯Ï‹À(9mLH ã G¹ ã“ ã¿— ã{e ã7Á ãó15 ã㩆 ãcZ ã¶ ã ãÛY ã–t ãS‚ ã~ ã ãÍV ã‹/æ0Úææææææææææææææææææ¾Ôæzšæ6ôæòa4(æí¯æ¨¬æb~æäæÚŒæ•¡ææR´æ¦æÌyæŠMæFäælæ¾gæz#æ6„æñímÔMOj^dÌOj6Oj‰ñ×3OjF|”²OjPS¸Oj¾• 9RR 9ò 9˳ 9‰‡ 9 9F 9‹ 9½¦ 9y‰ 95¿ 9ñ#2þ 9ìo 9§~ 9aZ 9 9Ùm 9”´ 9Q˜ 9‹ 9ËL 9‰ 9 9Eš 9% 9½@ 9y 95O 9ð·2’ 9ì 9§ 9`í 90 9Ù 9”H 9Q. 9! 9Êå 9ˆ· 9 9E4Ç©¼Ó|ì‚¶8&‚¶òæ‚¶¯]‚¶lÛ‚¶*l‚¶çÒ‚¶¢Ù‚¶]ò‚¶‚¶Ã‚¶ÖÀ‚¶”D‚¶OäP‚¶K†‚¶1Ö4¹ïúsØ2KÀAsØë¹|¢sئ¼7asØ`—òsØÑ®‰sØØ«lsØ“ô)£sØPÛçsØã¢P62TsØ Í¢sØÊ”]*s؈IÜsØDÆÕØsØJönun3¼:n¿ìxXn|54Ln7ïª1‚nñÆën®:n¦kÂn_ñ)Un)æºnØ¡Æn“J\ÝnP1n Õ†nÉÛ“Vn‡ÙNì‡nD-J¡n nØ»ßn¿šxn{è3ÿn6Äï]1)nñmêÄn­în¥Ñkvn_ž)nÖægn׳¡vn’ú\nOÜ:n ÉÕ1nÉ„’ÿn‡‚N•6nCÜJPnÿÏn‰»n¿Fw²n{”3«n6kï0Ønñn¥ykn_F(ªn×e¡(n’£\6nO†än ÔçnÉ/’ªn‡0NCŽänCŠJnÿƒná çmÞIs Ç?’×en<»Cã¢Õ@ã¢ðÂíž/s㢭>éã¢jÀ¤ã¢(L]Üã¢å²ã¢ Áã¢Ö[Ö㢑;ã¢N&Ԋ㢠’Eã¢Ç¢M×ކ㢅ÂI”ã¢BÚã¢þ¾ºã¢¹Ïã¢zøvFã¢51Úã¢ðVí2/㢬Ûè ã¢j^£®ã¢'å]rã¢åH㢳 Wã¢Õ›[pã¢ß%ã¢MÈÔ,㢠½‘îã¢ÇBMwŽ-㢅iI%ã¢AŸhã¢ý£¾L㢹aã¢z˜uæã¢541qã¢ïììÈ.«ã¢¬vèCã¢j£Kã¢'‚] ã¢äá[)¸4ÓÙ[)t®‘™[)0VM Ö[)ë—-sHÔ[)ç[)¢%½õ[)[ÖzD[)Q4à[)Ô[)ï“[)V¬ÓÍ0ä“Ó¯ÓÍŸØÓÍZäLÓÍ‚ÓÍÙÓ…ÓÍÅC‘EÓ̓cLÇÓÍ?üH~ÓÍûÕÁÓÍ·~½šÓÍsõyèÓÍ/Ÿ4ƒÓÍêÜ,Äï<ÓÍæY«ÅÓÍ¡pÓÍi[JÓÍ&é¨ÓÍä8ÓOÓÍŸxŽ¥ÓÍZˆK°ÓÍ"Ó͆Ó2ÓÍÄæèÓ̓LrZ–½>O+áyŠO+Òˆ4#O+éîâO+Jö«kO+Îi#O+Ä.&O+O+‚Pã×O+?ŸO+úÄZ'O+¶R½ŸüÇqÇqúoGæÇqµúÇqr›¼ÞÇq.&y*Çqéb+L3ÐÇq½ÁIÄ?Ù¸C³ba?Ùé!¯Ò>ú·sš‘G-hGŽ‘G œ·‘G>¼z‘Gù¦xÇ‘Gµ<3s‘Gqá…€ÞYo’?’&6 â‡ŸÜ ÞQÒÒä¿ð œ«Æ>W?’·4@GÞÃ,•?’ùJÞEçˆ?’´ªÞ=¬£D?’pîÞùO?’_x¶'uZšŒà*o·øI ã·øêžF·ø´Y^·ø€Û÷·ø=?Ò<·øøâ·ø´l·øKnŒ]q·øG$, ·øM·øçà)Ǽ ·øã¿xY·øžc3·øXwî·ø–ªs·øÐUh ·ø‹%T·øHœâ¥·ø‚Þ·ø³1ºV ÓL ³p4¨³+¾Jý‹ñ³æú(ã³F¸³âÛÿݳ~»œ³Ww㳯2Œ³Ïoí§³Š®ª³G±g¯³™$ã³Á‡â2³‰k³;ïX´³÷Ä<³³'Ñd³oÁ5³+TJ“ã #nÕÁÿãw{ΔZš2%Zš‰ÊZší@FÐZš©ºZšgHÀ¨Zš$p~¢ZšáÃ; ZšœþöÝwVœ ûN¨ºÔûÆàöywÆà²mV©^ŸÜ:UŸÜö#ÐÔv–› ŸÜ±¨Žkv–ŸÜn3IÊZcñv»Í£ñ1‰ˆåñì ñE»ñ©³ñfž¿“ñ#Å}…ñá9øñœSõËñWıPñEmÛñÐy)MñŽä«&XñI`жà4ñEm›GñÓÓÓÓÓÓ%zß[šNd(†ãßé1-NdÌãì?Ndˆ¨¤NdDÕf)Ndã#fNd¾ÄNdà°Nd|¸›èNd9 WWNdôþØNd°vÐNdm Ÿþ‚|[ F¹Ö F8½#ã‰I Frù(v" Fô›óะFâÂeÕ¸Dl·¸¸¸¸¸¸# ¸(-àK¸ãz%#›‘¸ÞøVô¸š¸uTœ¸Ï ¸?Ì ¸HÉŠ‡=¸DÓCû¸þ÷¸¹{¾:¸uÆ{ÿ¸0ž8b¸ë§ô@¸¨¸¯éex¸lZ"²¸'Òßñ¸ã $Ä›2¸Þ™V•¸™¹¸T5¸Ï9­¸Œ×˪¸Hi‰›†Æ¸DaC‰¸ý“‚¸¹ ½Ê¸um{¦¸óˆ?Szß™ùíÝÞeùííšÖùí ˜ø"UùíÊéV6ùí…û­ùíó·q®½·qrùS)¸ºrù–urùÊ‹0rù…¦ërùB]§Žrùÿ>dÆrù¼Ü!ürùz’ß@rù7šurùò±UÕrù®^Nrùrùj´Ψrù&3Œ;rùâGÜrù#‚ˆèrùÝ0C³rù˜MüèrùrÏrùRʸ[rù’>Írù7t·rùÊ-/´rù…4êŸrù²¯Üq6ò²¯0ò`²¯®²¯jR²¯%Ѳ¯á½#²¯²¯Üβ¯—ñ²¯Rq²¯ Þ²¯ÉÓ²¯„Ú²¯A§²¯þm²¯¼#²¯yÙ²¯6š²¯ò²¯­­²¯i÷²¯%r²¯á^"Dz¯m.'1+Òm.QŸ¨Òä>Í·4Z1QÒäÆ>Wùz4ÒÒä`ÑÒä»×Gˆ˜Òäy‰YÂQÒäMÆÆ©@C\Òä6CüÒäñ­·ôÒä­FtgÒäi§/bÒä% êUÒäá"v§ÒäÜÒädC’QÌ’d÷¹'ÿ+Ÿ, -07P8ƒ8Ü<?†ACA¢BBoHUI²WQW¼Z\X_`9acd²enllprÏtðy1}J}°¿tΠÕdÛqáòâg䋿°é`é¸êë_ñ+òKò®öUùÎû‰ûìüUüÀÊ6œ‡Z€+E (!Ö&º'6,­-‘.á/´0ÿ7n8*yý–ÅšŸ/¡¡Ê¢|¤s¥(ª««­­‹°Ó±:²b¶¶z¶ß·D½<¾5ÌÇÎ7ÏïÑÙÛwà‘èšélê¼ñßôx4XIOZQ \*^C^òa¿dfÐg5jwkùl­oÒp,pŒpîwx†o‡ß'“V•Ζƒšá¢¾£¥ªª‹¬Ó­˜®‰¯oÀˆïbïå ˆ¥„-  ×#o#Ó'(©)_, - -k-Í3æ4Ó6VC*F…OÅR<SWoZt[]¹^,_ eúf´høk€¬W¬ÄÍDÔYÖaÖ¶Û¿ßßqäSäûèLèµéé{ï„ï×ðwòP ` µsùã‘óáʃ $%N'1'ö7·CgJgµˆƒ‹°{‘ž“—––ÞšAš­ŸIŸú££~£ë¤Mª,«¬ÓºÄ»¢¼‰ÀñÆÈÉMÊͽÑ8ÑŸÙ‡ÚÌßßßá¾þ"ë#]>›B¶DaH"J'L—NƒO+P~SSíVdWTW»\q_`?`©aauh8}5ƒ+„F…¶†Yб‹ŽŸ“î—ÁœžŸº{ÝÂÞªàTàÊð®ÿ—q m ‚ y ' pàD'<å,˜h9P:=·@dAvBÞC‘H KãS6SŒ[8’™ô›Lœ7œ£žž”®Ê»€ÁúÃËÅñÈÊ.ÌçͱÎjÐ'Ñ©ÖfØZÙÙ‘ÚqÚÖÛ9Û¤óã÷7ûmþ£m¨#Žš ÆhÛžWSXƒYè[u\{?ü„„ÿ† ŠÅŒœŽïV‘ˆ“€”$–6—Œ—î˜Q˜³™°±´¶I¸R»ÃÂÄ«ÇCÒâøèRðb).9<\<ÍA8B~HhJKfKÈNÂOÇR‹SÖT<T¡p$rSrÄu(wÒz§}ð~^‚A‚¡„+‘ܯõÑÊÓkÓ×ä+õký:bË?¢ Ê & ü¸Y¼(ò,6.W.Á11ê3²:K:Æ@yE’H€JGJ KUkŽº&l¦ª¯²´·º<Á‹ÂÃzÃáÆÆ~Ç‹ÈCÊFË ÌÎÍAÍ Íüåè›êšíËïžöFöÊöåCJ(ÖKŒL`ÿkëoDs“uvÓ}}~Ù>‚D‚¡ƒ_†%‡Ýˆ8ˆ¢ˆþ ž¢Ð¦‰¨Åª«¶±ì²Y·‘¹PÀóÁÈÿÖFä z'h*Ú.ä/B1:";™;ÿ?P?´BLCDÆE%E‹F]®_­aOb:c_ežfüjk3oAo½r|s†tÄyÍ~䃪“ÊÅÈÚâÂæ;ê%êî®õõì÷÷‰øNúãü<ýÙþ iË)¡¾±3í"ª#Â$„*ö+y/™29Ö;˜›B¶DaH"J'L—NƒO+P~SSíVdWTW»\q_`?`©aauh8}5ƒ+„F…¶†Yб‹‹ŽŸ“î—ÁœžŸº{ÝÂÞªàTàÊð®ÿ—q m ‚ y ' pàD'<å,˜h9P:=·@dAvBÞC‘H JËKãS6SŒ[8’™ô›Lœ7œ£žž”®Ê»€ÁúÃËÅñÈÊ.ÌçͱÎjÐ'Ñ©ÖfØZÙÙ‘ÚqÚÖÛ9Û¤óã÷7ûmþ£m¨#Žš ÆhÛžWSXƒYè[u\{?ü„„ÿ† ŠÅŒœŽïV‘ˆ“€”$–6—Œ—î˜Q˜³™°±´¶I¸R»ÃÂÄ«ÇCÒâøèRðb).9<\<ÍA8B~HhJKfKÈNÂOÇR‹SÖT<T¡p$rSrÄu(wÒz§}ð~^‚A‚¡„+‘ܯõÑÊÓkÓ×ä+äÍõký:bË?¢ Ê & ü¸Y¼(ò,6.W.Á11ê3²:K:Æ@yE’H€JGJ KUkŽº&l¦ª¯²´·º<Á‹ÂÃzÃáÆÆ~Ç‹ÈCÊFË ÌÎÍAÍ Íüåè›êšíËïžöFöÊöåCJ(ÖKŒL\¿`ÿkëoDs“uvÓ}}~Ù>‚D‚¡ƒ_†%‡Ýˆ8ˆ¢ˆþ ž¢Ð¦‰¨Åª«¶±ì²Y·‘¹PÀóÁÈÿÖFä z'h*Ú.ä/B1:";™;ÿ?P?´BLCDÆE%E‹F]®_­aOb:c_ežfüjk3oAo½r|s†tÄylyÍ~䃪“ÊÚâÂæ;ê%êî®õõì÷÷‰øNúãü<ýÙþ iË)¡¾±3í"ª#Â$„*ö+y/™24û9Ö;˜Í ’>Í è>ÍÈÏ'ö>̓Ù>Í@¥>ÍýV>ÍšM»2>Íxê>Í5›·4rÏrσ‹rÏ@YrÏýrϺârÏxšrÏ5KrÏðªrϬrÏh¶rϲtÛ²t–g²tPÁ²t +²tÈTlõlõlõx=lõ4ðlõðFlõÅ\oµ¨B¤lõ¬lõhVlõ#Älõß°È‚‹ ‚Ò‚G=ˆL‚?¨C ‚üOüA‚ºf·©ǯ‚wòtǯ‚4¥/‚ïùê ‚«Ó‚¦Åh ‚cö#w‚!kßa Ý‚ÞuÚ¢‚™°•Ê‚TåP#‚f ‚ÍÃÙÞAAûßA¹©·=Aw3s¯A3ä.—Aï'é‘A«¦YAgBcˆA"·A òÞ•MúMú>0vÖ>‹ 3‰>F‡©îÇ>B=ª¥>ûr>fÕ¶Ð>"JsO>Þ5à.8>Ù{é.>” ¥÷>Núc(> W “>ÆŠÝÓ>S™>>ATY>û¶>¹>Ív|>ŠÆ3/>F6‡Fîd>Aת?>û>fv¶l>!ærð>ÝÖë®Qù>WùQÒmÜW­Æù·r”²<l»&¢âŸ@YÂÆÜÐ„ÆØ"Æ“AÆM’ÆÜÆÅÆôÆ<ÓÆù’>W·¢>Wu>W¶É<ˆ H¶É ùB݃¶É·T˜Æ¶ÉtÉT ¶É1¼k¶É¥bÙ¶ÉìÖÌ×¶ÉrSL°rSrSÄ’rS7rS<rSøÙrS¶êrStYrS1SrSìmrS¨!rSd@rS›rS&náÛáÛr¶—áÛ-¶t áÛè¬1áÛ¥ƒìáÛb‡§ÏáÛõcíáÛÝ0HáÛ˜rÛ;éáÛSµÖáÛ‘ÖáÛ̉KãáÛŠMáÛGEª†ÉáÛÄA2áÛ~’úsáÛ;xµÉáÛø6áÛrF¶@žÿ~-žÿ; ÜÄžÿ÷Ó˜žÿµØSMžÿsN«žÿ0DÌ žÿëR‰ßYŒ¹YŒÃ\YŒYŒ}ÕYŒ:¬YŒ÷sYŒµ}YŒröYŒ/ëcÂüqb}:S÷µ$r/ŽêœÒAÕµyÒA†qêÒAJÀ-CÒAèÒA­¤úÒA}0ÒAaÖ9ÿÒA<ÒAö¿ÜmÒA´Ñ—¼ê9'剘ÔÂåE†1"åMš,îöjMšçÀ´~Mš¤¨MšqõaƒMš.äéMšéæMšÜ¥¤Mš—gaµÅÌÅÌÅÌÅÌÅÌÔpÅÌC.5ÅÌé5¤ìJ"´.ÅÌWq¤ÅÌÂ.”ÅÌÅÌ9_ÅÌöÅÌÅÌé“ÅÌ¥LÅÌ­¬ÅÌÅÌIÊÅÌÅÌÁ³ÅÌ|cÅÌ9 ÅÌõ¼Å̳ÚÅÌ€Ø|€Ø8¨€Øõd€Ø³Š€Øpû€Ø-䀨è߀؀ؤ–8V€Øõ€Ø³5€Øp©€Ø-’€ØèŒ€Ø€Ø¤D€Ø`€Øž€ØØ–€ØÓ€ØŽ}€ØHÉ€Ø.€ØÀµ€Ø{Ž€Ø8€Øô·€Ø²Í€ØpC€Ø-8€Øè2€Ø€Ø£î>>>@lK&6Ò,ë¶”ù£&6çár±Ö&6µ£œlK)lK&6qGÒ_Ñ&6,žõß&6¤RÒA&6a)µ&6&6HÛÉ&6}—&6À R³&6zãò&67ŒË#&6ôˆð&6²$DuÒ6ÒÒ/ÒóTÛgÒ±k–µÒn×ROÒ+Û—ÒæÍË&Ò¢ˆ–Ò^¾D¹+“¹æ‚¹¢C¹^vá3móúá3½o\¿á3åà‡ôá3¡˜Cp„¦á3]Î?ná3ýø~á3Õˆ¼³¬á3Ð9á3oú‹Ÿá3+Eúá3æ-á3e£%á3¾_×á3y6á35Úlá3ò •¶á3°+QXá3m¡¨žX?žX­&øžXi¤³OžX%uo“žXázžX+œøžXåÊZžX¢ÆzV†žX_xõžXÕË{žXÚ …+žX•WAìžXPùžXýžIžX¸4ÊžXu%‡hžX2ŠBôƒñžXð >±žX¬Æ€.=ib_¸b_ø‡b_µÜϲ¾µÜŠ/nÞµÜD—*rµÜå.µÜ¼Ó¢*µÜw»^×µÜqb±&¯/%ˆÑ%ˆ%ˆ´Ãjœ#¶}÷›®ÐIÓ®*Ikxy1w¬¥2å6L8*:Gh½áç·ìí·ó˜™¶¢A¥ª§ª‹®‰±&Ztb:cUdvk€‘Bä Ñ8Õ1ÙéÚ¬ÚÌ’L–Þ—¥—ÁS6V¯Yëœ7Ù‘kÛ"YzаÔ\ÔûrÄçˆ Ô.ÁLAêšöåC ¦‰Àóc_|ËøN)Ö7?:•>fI7h…­Ä!½ÝP™éÝ8S}S°ª9l¸yâ¬ô4µgŽT˜|Ì2UŠ;GÆÏtãó˧SËfy‘6}yQ™ðæ ЩŠD¥4à Õ,”ï§$Æ„™_„HUþAzuþhÌ[¹‰?t£F1é;íÀRª|„eí%! GެƘúƒãUžAþËä¹ ˆåtIFH1”Îì°¿ñ©¾|)e’¥ž8x`•ôu+°Ömm’É)+iþMŒ$ÅëÞVŬ˜œƒ…UD@Àt`K@dý_Âc_JÃÂåu¬€Ù1“>ísúô©º¶fžqA"Jéί=Óú­µÑpô]†]H‹ìOÒJ¨b7e9IÀ öbT[ÁùÖIût=M ùû{µ"Ã+pD€K-Í=[èÈû¦·üaÀ¢:tL\ê0IÒŽè§±\©pHµçløl¿ü÷¿Ï©*Î&‹®¡ðäÓEW¡+Š7ÿåVÓiÌ[¢ËFx5còE­Ÿß­kiÉh^&Ã&ä(á àƒâ«ÕŸ½Yn™ó\T‡ýüa¸¨$vv3á±3’ž¿0Hð¡ZþnÏö¬fþÓ”$Ú޳ßÜK¿HXÇ™Rv ™/ .EŒÐ¼ê÷ÎÛw…¶@×HhTóÄæSø€Ö­ì;£>;ö`ùÝ; ²¼¿DÑ5:ŽzôÓJþédfw¤¢#!_žÞ»Œ™ñØ©0ï£è@  K>5}ðoO={W[9'KH>¯«*hÈ>]&(ú ã|µŸžµr>YÈ-ÇKáªÞ©FkóFmŽÒWJ0‹MÀCF~<í‰GfûF$" áxEƺ9ù)v…¨vŠsìëfŒœd–R%Þô5ë 5ëš'É€5ëU‚„Þ– ;ûûU1#%Fë™oèþFAŠ~êúÇ;Ìèc†•yùôC*5^ô_,6‰@*5ѲvDÇ*5…ØŒaoêç,@ù)ù)e´UÐØp™Œ?,F¡æÔ £Ê¾Ä`|y´Ù65Ûò°–[°ÌQùn:A+<ÊÏæ,ˆ@¡ìCÄ„ø^ ?ÂQøÔÕÞ´±ЃpD±‹î+αFLæ±µ£u±¾m`%±y_„5ÞÚº ÝòV– Ý±°zQ§‡Ä³Š“oBDë*Æcåw½!¢xx _%4‘‰lGñ®ÊÙ²¯$•lP§)Ž ÷ä€É» ,‡±Ïmê)¡äD¡^]åqØ‚“ÉOe ¹ÈS…ºA[‚b=ö ±~m–)Gãî¡]ŽØ.'öiZa/Ò=Ÿ?†CÿIGj·çÓðgõA÷výëþVË%¨*ª‰ÔŽÏ¶z¶ß¸u¸×ßníTcÂpŒqħËÉ  $“+@[fUÏÝæöé{½5£~¤M¥׫EJSíXŠZVaubœ|g€£‹–†BààKz»€ÔJÙÚÖÛ9ÜÝ©„Ž‘ˆ–6˜Q™ÞKÈMÄUZ¢z¡ÆÏ4s0vÓ~ÙŠ4«;™CyE%FFÈh~ ìaíøþ ÿ&÷4 8b`/Ò=Ÿ?†CÿIGj·çÓðgõA÷výëþVË%¨*ªŽÏ¶z¶ß¸u¸×ßníTcÂpŒqħËÉ  $“+@[fUÏÝæöé{½5£~¤M¥׫EJSíXŠZVaubœ|g€£‹–†BààKz»€ÔJÙÚÖÛ9ÜÝ©„Ž‘ˆ–6˜Q™ÞKÈMÄUZ¢z¡ÆÏ4s0vÓ~ÙŠ4«;™CyE%FFÈh~ ìaíøþ ÿ&÷4 8b­˜­˜ǯVNŒ”u¹5äM¿NylÅÈ4û6"d²+«1 ‚–S‚n?BÂnÌçŠÅhÏÛG€3UG¥ïBuæ²3¥§Ëu¹yl4û&hà4šwZxᜑY³V"„Ë„»A€ý·Át¯2ThÆ$Šà«œYA¤U§ ÊŠ„CAü²·It31ï«ÜhJ$à?›¦XÔ0U'–ʃÈ@œü<¶Ís¾1î«igÎ# ߸›-XbÂT®ÉŽƒI@#û¿¶usU0¬î58Ü«8Ügt#Eß^šÐXRTD®É‚Ñ?¬ûS¶rè0>íͪ¥g "ÚÞðš`WÚSË6Èž‚Y?0úݵŒrr/ÃíOª&f‰"^Þp™ãW`SL ÒÈ-ñ>Áúyµ*r/^ìê©»f!úÞ ™}VªñRÕ jÇ¿>]ú ´½è¬q¤.öì}©Le¨!†Ý™V0…R_ õÇ[=õù¤´JqB.ì ¨Þe+!Ý(˜°UÏQö „Æÿ€¾=”ù6³êpà맨pd½ ºÜǘKUj¼Q™ #Æ¡€^=3øÔ³ˆp}-Âë@¨ dU TÜZ—àU`QA ËÆL€<Ùør³"p-dêæ§©cùýÛÿ—{TŸPä eÅê£<ƒø²ËoÈ-ê§Hc¢¥Û¥—"TF³P ÅB<%÷½²kob,˜ê&¦ãc@?ÛF–ÇSÜSP&!X‘ ªâN-eô {ù*öUÃzÃz!«ÝD˜ƒU•…Ï^IQ6"6"6"6"6"6"6"6"6"6"ÙÚàŸšªxYu´ÑÊ´e‡2€ÑUí¢Œ¸åÍ'‰áxœxVrdÎ&dª* ;åc'ìÀá ©åzë7€lG$ÌàÀ"48ð®).ä+ÛÆ48ð®).ä+—'¨ã¬ÔÛqƒ%ƒ%ƒ%ƒ%ǯï¥ï¥ï¥ÚNíº©ŽeÆí¨í!6Ý'ØØxlG“”Må 0Åm€>=ùÞ·ùui2aíp®Êí¨íM55ÀY6‹ó ±"nÖO‘ºNœ -Áû|n6åò ã¹Õð‘LN%´Æ=íÁ—|6oñ‘®‚iu%Iâ´ ]]öIÕ„ÖN9ÀÂðÇ­ŸhŒ$LáÄŸ…] XÔ¯ÿLÞbÅÏÀPzÐ56ðK­9h(#ááUŸ \…íÔJšLqúĦh¿ízl4Öœ¿yœ3÷ï«öfð"‹ßøµ[“OZ®-ÒÇõîI«8ZIǸl0J`½Rw«2í+ª e ¦ÁžŒI¿ÁHáÝjšôX(œг©d+™Ýš¤Wà»ÙvA0×ëêЋEH ½c€êo*5ÁOuÇ{ÕI5ìb¨-KúVd¥Ö§çD5Ð'œ™·s,65ëpŒyx/•¨Å­jî®çšUuÌk‡žDaqNd;_oÌ-‘ S²ºØOæ›OÍá3NB‚*Ny¹â æȘVíƒü+0è ‚ºðúí«_d7u1Ôr)¤v…¢|\*®‰_–6ÿ&÷R±:W»_;ÿyó`צÅtº5¹A$b%z%ö&Â*5-Ä05b6"8Ü<?†ACBoB×Cÿccñenj· kllpm›n½oÌqgqÞrÏsµt#tðu¹v(wºxÔy1z³{{|˜}J}°w€[ÁÑ-Ó¹ÕdÛqÜqÞ7ß[ßÕàžäõç_êîãöU÷výë!Ö%¨&º'6(m*ª,­-‘.r.á/´0•0ÿ2ˆ3¥45„5ä6L 7n8*:G;#v–{‰ÔŒ—ŽÏ(–Å™Uš› žÔ¡¢|¬V°!¶z¸¹µÔ}ßnà‘áâU䆿›ç·è.èšélê`ê¼ì5íTí·ï:ï±ðñßò§ó˜ôx/äG[IrL;Q SÒU\*fÐl­oÒp,r1r‹yiŽŠ“V“·™¶šá›Hœ†ž|žà ï¢A¢¾££ò¤Ê¥/¥ª§Ë¨.©©ª'ª‹¬Ó­˜®‰®ö¯oïåñ&É)‰ ; ˆ =Iu¥-+@6VO R<VUWoWÛY/Zt[[]¹^,_ _s`maFb:bôddve˜eúfUf´høiÌk k€ž3¬Ä½o¿Ç\ǯÉ)ËHÌkÍDÒ ÔYÖ¶Û¿âÐäûæöèµé{ê»òõ µ*Þùd¤ ã‘ó`B´á¾ƒ ½ !>!ž!ú"Z$%N&¶'1'öC cÒgµ{4ƒ%„2†^‡žˆƒ{–Þš­¥á¦=½Ý¿äÄôÈ̪ͽÎ'ÏNϵÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Ù‡ ÚÌÛ»Ü)ÜÜôßßßáGá¾#]4Ý73?ô@þAÿCDaLeNƒO+SíVd_c^‚ƒ‰‡~‰б‹ŒHŒ¬‹ŽŸ•‘`’L’º“ˆ“î–†—Á˜ë™}™Ýœž&žŸàÊü¢ý±q ‚ S 'àD6h5=·?BAvFò H HƒI®JKzKãLÈM=NyNïOŸPXS6SŒTUU~VNV¯Yë[8šMœ7®Êº ½bÂnÅñÆ^ÆÌÎjÐ'ÙÛ9þ£m¨#»8š u æ Z D Æ £ bhÇ«ÛI§"žWSYz]‡lGrGy8{?ƒ¼„„ÿ†|ŒþŽï‘æ’h“Ò–6˜³™¶I·s¸R»Ã¾À¥Á¼ÂÃiÃÇÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖÜ).,6/75ë8?ÌA8KÈL‹NÂO,PyT¡TûU»pŒu(wwoyŸ|Ø}ð~^ž€‚A‚¡ƒ„+… †©ˆù‰O‹bŒ&Œ”ŽŽk爑ÜÕä+ëÀðÿñSóàþw3 Ô «¸6"6Ø9-:K:Æ<= >??‰@yBÑE.E’G¥H€HãJGJ KULAM•l ‚¢ç¦ª§ ©Ø«€¯¸øÃzÇ,Ç‹Ë ÌÎÍAÍ Õññëõ%öFöÊøIù} úíû½ü*ÿj"úZ%ö[åCý  qH¢M¿`$b_bÆg®ikëróuovÓw‚D‚¡‡Ý‰lu¤[¨Åª°¹±ì²Y³ëµ ¶=¶¸·‘·þ¹PºŸ»l¼Â½:¾CÀóÁZÁÈÂÛÿÆ `NÖEM#%$w'h0­?PCyN‚noAo½qYr|s†sótÄu1v~x‰ylyÍ{Q|Ë~ ~~äý€± ƒªÀéÅÈÖOÖ°׸ÚÚnÛâÂãßåæ²êëîíøî®÷‰ûLþ ÿç#Â$„)Ö*ö+y+Ü- ./#/™0©23:4 4û5X6á8b9Ö:6:•f?D6"u¹Ûqîã7n(9eú–ÞÙ‡DxÐ'5còEÂcö}ßÖ°=,*5ó˜ž&O,ç´ß – öU5„±:ï:Xè ‚ö_Ö°:•JŒ&`$ÌßÕå-pŒpî-ÍK[ÀYˆƒ¥¿/ùU‘ærS.WÏ4(éG•&öºA8LeróL >MACû‰¦=U»ì·Ôw‡Ý‰lFe¼+àž› {*5,6žÔ¢ç¨@$‰÷uø&à %zß[UuÌk‡žDa‹qE.µ5ëàÊ-ÄoÌpB×W±:䆞àäMÀYó•o;H¢dª¶=`ëî/#/™LÈ`LÈÆc­ì¨@«sµu¹.r0• è.ê`¤ÊKúaFa§á¾׫˜ëÿ—U~í…Íþ‡ÿjyl4ûWí&?†A¢ò®õAýë¶zfÐpŒ+@-kæöésšAXŠbœ‹Ê.ÙÚÖÛ9‘ˆ–6™ÞUZ¢zÆÏ4ývÓ~ÙŠ4;™CyE%þ ÿ ÚN!ÖÛwOÍÜô…¶Ð'5ëyx`$Cÿj·çÓõôþV%¨¸×ßn™¶ é{¤MWTau‹Ò„ŽÉëA@%tðu¹|˜/´élž|£ò[`m‘áÑ8Ö׎5“î”ÓKz8ÅYÅÆË ÒƒG€†©ŽBщÛÿj»l¾CÂÛx‰¿Ž$¿ï3:4 #R%zÓ¹ß[ŽÏIrž3Á Æé®‡žϵ0QDaŒ¬qAV¥WSÍË ‘‹bÀÅÅÌÆŠa=,õ¶Éؽ+ÜrS¹`ØØSål?ÿ«žX0 ‘=,rSrSÅÌ00 ‘ ª«d ×Äô‚?B8IÒƒÁ‹~äcñ|˜íT[IÒƒ¾CÂÛ 6"cñíT‘Ñ8–†yxý4û%è-Äê`Q 5ë?Ì©Øë´Kz&÷\q‘ÊFÉëµÜµÜ[ö6" <ΠÑ-ÖçØÂäõöU(m8‰Ô› ¿Æó˜L;`?l­Ÿ =¥v-k_s®çÀYâÐ µ¦=ÈÜ)ÜôMP~[U__c^ŒHž&;vI®TUšMÐ'ØZvhþ™ÞÅYÈаÑ ?ÌL‹O,T<TûUZ€…Íç03U5Ã9-<lÇ,ÌÎÕñëwõ%øI `×b_wyóu¶¸¦^?´åûL:6Tó8ÀYÓ¹(Ir [Ö¶D*56"8Üj·ßÕ!Ö6L› ¢|°!ì5ò§ó˜/ä\*—A ;-kǯÍD'öCƒ%ˆƒÁIϵAÿNƒ_ž& SFòÂn§{? †|’h™Þ·s¾Ö,65ë?ÌO,UZyŸŽçðÿ.Á=ÃzÕñù} b_‚D¤[µ¼ÂÖ#%€±ÖOæ²:•¬Óäý/*’-ÄgêŒÐÚNä‹"‹uŸ/Ü-–ƒã¢äM'€S`msCÉMϵ'†YûûC‘’×ÃrH«½¶¾yŸ5Ã6"G¥ñë®óA?Pk3¾3¿Žè¢ëîúã&÷yAu£ò«¿Žuè¼’×G¥¿Žº¾èš™)‘ºƵäMúãyA¹DX©ñLº}# 9üèšG¥óAƵàž› QÌë µCÈœ7¾äÍ5Ã`$N‚ÖO§ç'öаðÿ6L‰ƒÙ‡FòS6SŒV¯Ð'ÒƒÖ‰O= ‚ù}iµ¼Â€±:• €Ô59õ½Ýøû q„MÚn6"àžó˜–ƒSÔÇ´Œ¸ž&6:®ÊYz¾аçä+6"ñëö ^BLÖ°:66"ÖçÚNÛq€ó˜JrL;Q XèdŸ59ÂTϵž&šMœ7øûаG€Jç _„õÖ°åó˜)ž&:Ð'þ™ÞÃiUZ…Íçlö eúÀi0•-ŵ—A_ëî*pŒyó²b¹µâÐ ‚pŒbçÚ^¹µcˆ¢¸uöž?Ìwoö-ÄÁΠç_{‰Ô¢|5ì\*ñ&hø$ÉâHŸó]‡Ü¸øuo0­ëî*5,6Ânæ²B¶ÿ—ûûR)).M¿¬Wµ%\Xò×ï±ß{Ý«¨@bIÏwº¹B.rè.Ôª'®öbôk &¶áGž&=·SŒ V¥ÕÙ¨Åßyl{Q~‚Ì6á ˆ €OZ ¶Æé>›?kxaOZ ¶Æé>›A’×€Ø׸µÜ‰ÔÀY {4=,[l0H!žϵØÍÀMHzC{w¶:Gï±ó˜®‰jÄ!žS6Yë["аÑ Ô\ÔûçˆE’LA ¨ÅÄß:6>f®‰/Ò=ŸIGj·ðg÷vËŽÏQÌcª‹ Ï݃%5¥=ÍEJ|g€£™Ýú”BÔJ÷J¡s0vÓ«häGа‹b%BoseTUÍË׸ *ª‘=ÍEJú”B®ÊÔJMÄä+íø[÷v[®ÊÐ'âUÃiÃi Ûwpîr‹…¶hþVìG•_­RèÊ.N‚ Õñ6"ª«d ×*5©Ø€Œ^JrÂT`׸,66å®ç™)ŠaNœƵþÅ9PrùxŸ_-Ä.E6"<ÄôÅWÈ̪ϵþJŽLeZV`?`©aaua×b9bœcc^gl_‚‚n…¶‡‰™ÝÝÂÞ4m',˜hÏ5šû r:>n?B?¨BÞDAEFòzª›Lœ7œ£ÃËÅ—ÆÌÔJÕPØZÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©ü"ýýº«8!Xƒƒ¼‘ˆ‘æ—Œ—î˜Q˜³™™k™Þš<š«¹º ôû ‘@S@«JMÄNÂO,Py QÊSÖT<T¡TûUZU»VV‚Víu(uuÿ¯õΕÓ/ü+üÕË Ê & Ô «Y¼ z×6¡%11t1ê 9-9 ‚¶··Ô ÆÆ~Ç,Ç‹ÊFÌÎÍAÍ ÍüÎhÎÊÏ4Ï–íË ñsõ%rótP– ‚¡…g‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Ššªªv ­j°¹/û>›?P?´BLDÆE%E‹FFeFÈG-G•bfün¶ÉéÂë9ú3ûLiË)¡hÈ&"ª#)Ö õAR<sKz‘ˆ¾6"¾3&÷P'‰-0d²eenåõE« (nn¶ÙÙcÙ¼-Ùz“V“·”OÅP'Pˆ¦r ` à  ‚[)[ÕÆÆtÆÑO+ƒ+ƒ‰ƒá„FÓÍm ''@d@»AAvýíþDþ£O+Žï”$™»»h»Ã °wwowÒÈ|ÑÊ1ê2ö3U3²íËîâïBïž««_«¶hhx¸C"ª##Â$$„(DkcñüÀ+ØOyß’™ã¢6VO  #¦r& ™Zš‚nº{ÙÝÂÞ4?¨’×$œ£ÆÌýN¨O+º  QuÿÈ|1ê„íËñsªfüéÂ"ªtÌCþyÄÙ'’׃KCþA’×’×ÓÓHUΠÓ¹(Ir® ÆéÞ®ZVAÜqõÅÌõ¶É #-Äç_\¢|&6\*¸øuo0­Ö°ëî [ß.¡¬GU%0§ Ûqå-§ã ѹJ'Å—6ºyóU, -.E06">MDkcñåõöUüÀ+¿ÆØ ØOSyß’™”´z-6VNO Pˆ ™ ‚—ž«ÄôO+Tª‚‚nÝÂm ''š?B?¨Aœ£ÂnÆÌýýºþ”$™º »h»Ã?n?ÌG€pŒuÿwowÒÑÊ1ê3²¶··ÔÏ–íËñswªªvG-M bfühÙæ²éÂî®"ª# #Âce2åù¿¹Ò°¹€²œ.CäÍ0•ŽÏCE.kCþÀˆÀøŸ7·òp®èlf)÷çZ¢g]{JÖF“ÊOk1Ö]ïå-0••Îm?Mhú.9PBÞº ¿/ÆÌùUv.Wæ?´nïú`!½9¡JÍg0qgu¹}°wóz5„7nÜ-ç·è.èšê`ï:ñßôxQÌ\¢A¬Ó¯o ˆC*Shø¨ãÖ¶ "B´Ê$&¶'1ÓÕ1ßá¾?ôMh’L™}œžŸÜ¿ð®ü¢C‘V¯[8®ÊÆÌ æ"žÆÔÖ‰Oˆ‘Üä+äÍY?‰A_HãKU§ «€¬Ôü*[\¿b g®­jÿzu1yl{QƒªÛûL&>0©4û6á9Ö;˜<ª¯oó˜dJùž&ç b6Lìò§ iÌßßL¼Â:•3-0,C1é¸5ä6L¤ÍÙcï±ò§^–yi“·O Ç\ã4høŸªÅW$ÉŒ¬šÈlü"§G€û%þw2ö6Ø9-=Á‹Ç,ÔÃîâõ%ù}µ¼ÂG- hx~䀱àdûLhÈ:•iÌ=ù}µ€±–ƒ–†I‚D~äÕĪ‹!žV¯úÁÈ–†~ä4ûH0=öBÚN¶+!ÖÖ¤OÍi¼kùlSr‹ŽŠª‹?„"g(©)R<ÒèäSä§èLðßÀ ™ }ŽC«„¿ÁIÆÑKPNƒ~g‚nƒáßßJú.<h;v>n@»AV¯Ö¹ýþD†Ð™kC4uÿþw^Ë~ÌÎò¨vÓ­j@ðE‹_­î®÷‰ü˜)ÃÑ аƒ.E6»=ö?þB×C—eãKé¸.«î S´Å¸ÒvØOÙ¼XlSn…q[r1Œ^ŽŠ’™“·”%?Ù).8IKP'PˆÀYÒèã4ä§êSë†À à x\ŽCŸª¡ÎÁIÆtÆÑ4ÝG7KPM[Uch~gƒ‰ƒáñZ" å‘$Ì%•;v@»A¯sÁÆ^Ö¹ùUþDlïwŸ‚±“Ò »»hа)à;z?n@×P&PyU»[Yq‚wwoû%ü+þwÿ*c Y «J-±2ö¶·¸‡È•é´îâò¨`×vÓƒ»†š‰l¥u¦/û@ðM d7çf’ÃçаÏÛG¥ŽÏÈ8bŽÏ8tÄ8bTUíT–†ku¹%¨ßn™¶E.u¹0•_èšØÂÈ¥öÞ0ýë!Ö-R< µÈ‡~‰5šMÛ9·sL‹Py3 «ub׸î®çj·õA‘ˆyŸA8O,yxJùyx!ÖÀY;v·sÊF×W•wR<R<?´ >MöU ‚ÆÑ SÂn?Ìwbæ²cñi¼ ™}'ýuÿN_0èÔœ™Ó×Á‹¨ù¿å-KùUrS.W÷Îø2zA7-9‰ǯò×­;±ÿl­ní)Ú,#ÈlçY¤).`}‹©Ø¼„x­L”ðòlr‹hG-_O,ÆÌûLNÂMÄÐ'G€é`3}#8¥ö5ë5ëñSÛqǯǯv©ØMŸ^ÔaVÙqM`צ`צ`צ`צE)Œÿ73z äÍ ‚ ‚Þ4Ý‘Drù€èA%z&Â,j1Ö9¡ÕIç·è.ò§FùY×wbž|‰ =øKúb:|ì½oÉ)×ÚÜ}* `„2’G—žªÄ>@þAÿMhTª]'~ý± SæNïÅ—ÆÌ×ø“ Zǧƒ¼“€–®¾‘ÍËÖ/7rSŽ"óàøs/•=?‰{A§xëwñsù}c(i}–¤[­j®µ¶=¼Â¿¡ 8(9²hÙl>v~€±ØdãßéÂïúñûL!O#(:•”è ƒ!*%z*5,j1Ö9¡ÕIÛwò§G[dbž|Ÿ‰ =øKúb:e˜½oÉ)×ÚÜ}*`„2’G—žªÄ>Ó73@þMhTª]'~…¶•“ˆý± Sæ6NïPXÅ—ÆÌרZø“ Z bǧwŸ–®³§¾‘ÍËÖ/7?Ì@׎"ê9êññSóàøs/•3U=?‰{A ‚¦M¿5ëwñsù}ü*b_c(iw}–¤[®µ¶=¼Â¿¡^ 8(9²hÙl>v~|Ë€±ÉëØdßàãßè¢éÂïúûL!O#(:•<ó „o=è ƒ!**5+Ÿ>Mcñ{ÓZý.rŒÿ2åY×®öe˜ÀYcÒ̪ϵÓ73L—Œ¬•“ˆ S6PX bqMÊ/R,62Ë?ÌG€PypŒ‘Üêñ « ‚¦M¿5ëwü*b_w…g‘ ¤[$#BLp.|ËØdßàè¢+ÜŒ¬”Pˆ.EÔÂnaVÙæ²í¨ídöÔr'‰cº„ÅWϵ_>nü"¹ ‘È u(Å1/oºÁÑÜqàž!Öv–{› žÔ¤sÛw/ä5ìpî©©ª‹®öñ&-ÍR<® Ç\høÙ‡Üô$ÉVd…¶âHDŸó±ÍIT<óà¢ç­jÁÈÛæG•‚ÌÅÈ&c2§Ü=™~—fxaŸÜг00ü ƒ“V{šMvÓnTóÌ®‰Ìv–pî[ˆƒG•}°8ñ߬Óhø$ßœÃä&"KUýGµÿ<ªä>>Mgên½v(}°º„ÚN/´0•Œ—(ñß&6/OÍe1¥/¬Óê¤ïbNhøi̬WÇ\$ÉMϵßßß‚73Œ¬‹–ޜҙ)ù¿¾Ü?ÌÄæÆ:ÏÓÕì0èKUlõ†ýwyóµÿ¾3ÀiƵ<ªzn$bÞ7™USÒIËH†^C½b{?8¸8¯kë'h⸸$bÜqÞ7™USÒIËH†^C{?8óฯk벯0}J8*h½ÝöXìÓ9€±&6G[É¿SŒ‰OE’žXµÜkiöEm?k²ޱ<5°\WíÐ_<5°\WíÐ_°\Wí<5°\°\°\°\°\°\iXGU:b°‰€²¥¶  ?'ÿ)O0>MDkIGI²]ïbcÕÄáòâgãKå-ñ+òKÊ7.¶ ¾5¾£Ñ|ÒvÖ¤ÙcÿŸ1ºU¯W Xq[xxxy6Œ^Ô7%#o.84Ó59II×MaÏÝÐÀðwð߆ԋ°Ÿú¡D£««„¿ÀñÂH"L—NƒO+`?h8hu|g}5€£ * y 'š%•9P=·h‹œ£ÁúÂnÎjââñ÷7ø ùUûmüœ’h”$ ´µñ¸R¹Ò;z<\<Í?ÌBÝHh\Mop$pŒt¥÷Jø1øsJ,6.W0§0è2ö²t³ÿºðÔÃè›íîâïžn™pœw}}~˜¤[¨Å«_«¶Ñ**Ú,/G- M _aOežhxâræ;æ²çfY¾Ã!O ×l:¼„Á‹x­ >M5„ï:ðª‹)hø$ÉÑ ?ÌŒ&w:•4±_&•x…Í{忉O¥ªí¨íBLrÏ-‘.rOf¹Pv~_ uN/*R06"¾2 6">MöUÙÛw…¶Ân?ÌG€pŒÕñw沕ÎÇ\BÞR<gµƒ%73Ö°&Â06" ¹µFùd ‚–4ÝNƒSæ'uÌçŠÅþ?ÌG€O,í¨íM¿wb ƒáÂnpŒæ²ü˜å-_ùU.W•Ï^H¢`N‚ÀéÕñÕñš¥±:T<BLöUYz`ã4o;Ç,>›ÔJMÄ9IÖ¶äõä-ç(UþÅת’Ê =É)í¨í$w ;©ØøIX™ô`ÿÕlìc6Z«-Ù“VôÉaèú§`d7ç½<ŸA2çÿ—ùí»B¶W»ÿ—¨—dª;ÿ¶É'ö æÆÔðÿÑ ½5ÏÛ 1ÖöU+Mh‚nÆÌÏÛÕñ&”ïúd([ÁI‰í.Á¨íE¦=c^Tû“V·s“VaOÕIb-Kú·s/•ëwëʧ`d7î®ç·syi*5»€¢~Ù- ;™O+ÎjÎjþÌ„ÿ„ÿ„ÿ$5ƒ%k@þý±(`צAÿ FH=rù&rùþż|z2¹ÒG¥&”âruÇuǎϱ:/ä:G€&÷5Ô|˜7n" ‘ϵÑ8NƒŽ5I†|Òƒ†©ŽBÑJG& ‚ÈCå¾CÂÛÃ;@žý¿ï7?輤MÈ|auÈ|é{È|F, -Ä07PACDkåõñ+üÀ¡Ê±:²bê`r‹”MaPˆbôê»'öŸú£ª,«Ñ8NƒO+Vd`?Œ¬ 'D˜hÅ—Ð'ÖfÙ‘œ”$™kOÇT¡rÄ Ê & ü¼.ÁH€Á‹ÂÌÎÍAêšå}}–‚D‡Ý¦‰õ(é:"DÆc_éÂëîõõì2åñ¼§ÒâÕCCŽ %zÜqß[´‰Ô†o¹`5WrGl?óàãß 6"Cÿ› é{v©ØÕñõ ¹µs¶/ê¤gJ:ŽkÕ/ä è¼²¯²¯$²¯²¯N‚èÓZÀY{4õØdÀYî£ ‚”PˆÆ^5ë&÷а+Ÿ6"ÛwJrÂT…¶ ÐÂnÃi2G€JpŒŒ&ëÀõbÖ°æ²O,½æÑ *58ÜpŒ£ ‚CNƒ_5†|,6?ÃzÈCÏ4`צ@žª$%ölm›tðxz³{{°€ÁßÕ å-&º.r0•5„5ä6L7n:GkA ki{“á”Nà‘ì5ï:ï±ðñAó˜$Æ%5ìN™œ†©©ª'ª‹®öàBñ& ƒ í[deúfUf´k +® źÆ#ÍD!ž!ú"Z&¶X5gµhø€Œ€íˆƒ{–ÏNÜ) ÜáGF#]$ÉS™}™Ýž&ЖÐàâH;vVNV¯Žž”Ÿó¿/ÌçùU# æÛILLLvŠÅÂÃÇÆÔаÑ Ô\ÕÙ¸b~^‚¡Œ& Œ”çÄÄhÄŸîþw.W=H€HãLAù}ö[ 6º<=Ÿ?†ACA¢BBoCÿHUIGI²WQW¼Z\X_`9acd²enllprÏtðy1ÕdÛqáòâg䋿°çÓé`é¸ êë_ðgñ+òKò®õAöU÷vùÎû‰ûìüUüÀýëþVËÊ6œ‡Z€+E (!Ö"‹&º'6,­-‘.á/´‰Ô–ÅšŸ/¡¡Ê¢|¤s¥(ª««­­‹°Ó±:²b¶¶z¶ß·D¸×½<¾5ÌÇÎ7ÏïÑÙÛwà‘élIOZQ X\*^C^òa¿cÂdfÐg5gœgõjwkùl­oÒp,pŒpîwx†o‡ßŒ^'“V“·•Ζƒšá¢¾£¥ªª‹®‰Àˆ ˆ¥ „Ù-   ×#o#Ó$0$“'(©)_+@, - -k-Í3æ4Ó6VC*F…OÅR<SWo[]¹^,_ eúf´k€ÍDÏÝÔYÖaÖ¶ØPÛ¿ßßqßÒà>äSäûæöèLèµéé{ï„ï×ðwòP ` µsùãóრ'ö7·ˆƒ‹°{‘ž“—––ÞšAš­› ›p5ŸIŸú££~£ë¤Mª,«¬ÓºÄ»¢¼‰ÀñÆÈÉMÊͽÑŸÙ‡ÚÌÜô>›DaEJH"J'L—MNƒO+P~SSíVdWTW»X!XŠZV[U\q_`?`©aaubœh8|g}5€£ƒ+ƒ‰„F…¶†Yб‹‹ŽŸ“î—ÁÝÂÞªð®qB m ‚ å y ' pàDàL'<å,˜h9P:=·@dAAvBÞC‘H KãS6SŒV¯™ô›Lœ£®Ê»€ÁúÃËÅñÈÊ.ÌçͱÎjÐ'Ñ©ÒoÔJÕPÖfØZÙÙ‘ÚqÚÖÛ9Û¤Üóã÷7ûmþ£m¨#š ÆhWSXƒYè{?ü‚±„„Ž„ÿ† ŠÅŒœŽïV³‘ˆ“€“Ò”$–6—Œ—î˜Q˜³™™Þ°±´¶I¸R»»ÃÂÇCøèR9<\<ÍA8B~HhJKfKÈL*MÄNÂOÇPyR‹SÖT<T¡UZp$rSrÄu(wwÒz§}ð~^‚A‚¡„+¯õÑÊä+õký:bË?¢ Ê & ü¸Y¼z¡(ò,6.W.Á11ê2ö3²6Ø:K:Æ@yE’H€HãJGk¦ª¯²´·º<Á‹ÂÃzÃáÄ@ÆÆ~Ç‹ÈCÊFË ÌÎÍAÍ ÍüÏ4åè›êšíËîâïžöFöÊö[åJ(Ö`ÿkëoDs0s“uvÓ}}~Ù>™‚D‚¡ƒ_†%‡Ýˆ8ˆ¢ˆþŠ4 ž¢Ð¦‰¨Åª««¶±ì²Y·‘¹PÀóÁÈÖFä'h*Ú.ä/B1:";™;ÿMg0œ.äõöU!ÖuǹµÙÛwyi’™•Î-kJùR< à µCÈ…¶ÙBÞÂn™Þ·s?ÌG€pŒwoyx ÕññsñÊwªv­jbjæ²"ª&>rÏ•w/äû÷oöè¹ ƒ$b%z%ö'ÿ)O*’+Ÿ, ,j--Ä.E/Ò0,01Ö3g45b6»7P8ƒ8Ü9>9¡;_<Ô}ÕIÖ¤ØOÙÙcÙ¼ÛwÜ-ßnà‘áâUã{䆿›ç·è.èšélê¼ì5íTí·ï:ï±ðñßò§ó˜ôxöE/ä4X5ìIOZOÍQÌSÒUW XY×Z3Zò\*\^C^–^ò`?a¿bícÂdeÅfÐg5gœgõi¼jwjãkùlSl­n…oÒp,pŒpîq[qÄr1r‹ròwxxxyiyß…Š…ù†o†é‡ß‰™ŠŒ^'ŽŠbÔ’™“V“·”•Ζƒ™¶šá›Hœ†Ïž|žà ï¢A¢¾££ò¤Ê¥/¥ª¦«§Ë¨.©©ª'ª‹¬Ó­˜®‰®ö¯o±&Àˆì:ïbïåñ& ¶ =Iuø7% z?¥ „Ù-v G  ×"g#o#Ó$0$“&c''€(©))_+@, - -k-Í.8.¢//n/Ù3æ4Ó596V6ÍBKB³C*C¨FF…GÕII×KKúMaO OÅP'PˆR<SWoWÛY/Zt[[]¹^,_ _s`maFb:bôddve˜eúfUf´høiÌk k€m?|ì¬W¬Ä® ½oÁ ÆéÉ)ËHÌkÍDÎüÏÝѹÒ ÒèÔYÔÇÖaֶרPÚïÛ¿Ü}ÞßßqßÒà>ââÐã4äSä§äûæöèLèµéé{éçêSê»ëëzï„ï×ðwðßòòlýýþlÿ…õP†SÀÔ ™ ` à  µs*Þùd¤ ã‘ó`B´á¾Êƒ½ !>!ž!ú"Z$%N&¶'1'ö7·gJgµhø®„2†^‡žˆƒŠ1‹}ŽC°{‘ž‘ò’G“—––Þ—ž™9šAš­› ›p5ž ŸIŸªŸú¡Î££~£ë¤M¤¯¥¥w¥á¦=ª,ª««„¬Ó¹`ºÄ»¢¼¼‰½Ý¾­¿¿äÀñÁIÂÄ>ÄôÅWÆÆtÆÑÈÊ̪ͽÎ'ÏNϵÐŒÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Ù‡ÚÌÛ»Ü)ÜÜôßßßáGá¾òpþ–"ë#]$É>›@þCDaEJG7H"J'JŽKPL—MMhNƒN×O+P~SSíTªVdWTW»X!XŠZV[U\q\Æ]'_`?`©aaua×b9bœcc^g˜h8hv‰wëxÝyRyÄ{'{ó|g}5~~g€£_‚‚nƒ+ƒ‰ƒá„F…¶†Y‡б‹ŒHŒ¬‹Ž5ŽŸ•‘`’L“ˆ“î–†—Á˜ë™Ýœž&žŸ®è¼ïÝÂÞ4ÞªàTàÊâHý±þqB" m* ‚ å S y Ð ' pàDàL'#<‘æ6å,˜hÏ5šû r$Ì%•3ó5W6@88Ý9P:;%;v=·>n?B?¨@d@»AAvBÞC‘DAH HƒI®JJËKzKãLÈM=NyNïOŸPXS6SŒTUU~VNV¯Yë[8lfzª›Lœ7œ£žž”Ÿó®Ê»€½b¿/ÁÁúÃËÄŠÅ—ÅñÆ^ÆÌÈÈlÈàÊ.ͱÎjÐ'Ñ©ÒÒoÔJÕPÖfֹרZÙÙ‘ÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©ââññ˜òýóãõñöº÷7ø“øûùUûmü"ýýíþDþ£m¨#»Ž8š u æ Z D Æ £ bhÇ«ÛI§"ž!Û)÷8!YzYè[u\]‡rGwŸy8{?}#ü‚±ƒ¼„„Ž„ÿ† †|†ÐŠÅŒœŽïV³‘ˆ’h“€“Ò”$•x–6–®—Œ—î˜Q˜³™™k™Þš<š«Ÿ ®_¯Ë°±²Û³§´µ‹µñ¶I¸R¹º »»h»Ã¾‘À¥Á¼ÂÃiÃÇÄ«ÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖçZôûsøjèRðbÜ5ë89;z<\<Í?n@S@×A8B~BÝC4HhJKfKÈL*MÄNÂOÇP&PyQÊR‹RúSÖT<T¡TûUZU»VV‚Ví[Y\MjØl?m0o8p$q‚qõrSrÄu(uÿwwowÒz§|Ø}ð~^ž€‚A‚¡ƒ„+…͆©ˆù‰O‹bŒ&Œ”ŽŽk爑ܢg¯õÑNÑÊÓkÓ×ÕñSóàõk÷Jøsû%ü+üÕý:þwþÌÿ*bË?¢ Ê & Ô ü Y « þ¸0Y¼z×6¡^J:&ž((ò+",6-±.W.Á/•11ê2ö3²6Ø9:K:Æ<=>??‰@yAïBÑE.E’G¥H€HãJGJ KULAM•]{kŒjŽXŽº&l¦ª«€¯°ç²´³ÿ¶···Ô¸‡¸øº<º”ºð¿5ÀTÁ‹ÂÃzÃáÄ@ÆÆ~Ç,Ç‹ÈCÈ•ÈôÊFË Ë~ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–ÓßÔÃâ©äåæÙç;è›é´êšëwíËîâïBïžñsò¨öFöÊøIù}úíû½ü*þ‡ÿjúZ%ö[åCý  qJ(ÖIXKŒLMHb_bÆg®këm|oDpœs0s“tPuuovÓ&w+{{È}}}~Ù>™–‚D‚¡ƒ_ƒ»„…g†%†š‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Ššž/Ÿ« ž¢g¢Ð¤[¥u¦‰§`¨Åª««_«¶­j®±ì²Y³ëµ¶=¶¸·‘·þ¹PºŸ»l¼Â½:¾CÀóÁZÁÈÂÛÿÆ ÖFä zÖõ'h(é*Ú,/.ä/B/û0­12¨37S8(9²:";™;ÿ›?P?´@ž@ðBLCCyDÆE%E‹FFeFÈG-G•LM [F\À]®_M_­aOb:c_d7ežfühhxhÙjk3l>oAo½p.qYr|s†sótÄu1v~x‰yÍ{Q|Ë~ ~~äý€±‚̃ª‹í“ÊÄÉëÖOØdÚßâÂãßäGæ;çfè¢éÂê%êë9ëîìaíøîTî®ïúñòÈó™õ+õõì÷÷‰÷ìøNú3úãûLü<ü˜ýÙþ ÿiË)¡hÈ&’Y¾ÙD±Ï3Ãíç!O"ª##Â$$„&>&÷(*ö+y+Ü- ./#/™0©23:4 5X6á8b9Ö:6:•f?DOk ØÂ”N/äN/N™ ;¸Guºý:©Ø u¹PšÚœ÷oöè¹» ƒ$b%z%ö'ÿ)O*’+Ÿ, ,j--Ä.E/Ò0,01Ö3g45b6»7P8ƒ8Ü9>9¡;_<Ô}ÕIÖ¤ØOÙÙcÙ¼ÛwÜ-ßnà‘áâUã{䆿›ç·è.èšélê`ê¼ì5íTí·ï:ï±ðñßò§ó˜ôxöE$‰$Æ%%R(9)-Ù|.….Ç/D/A 4X5ìIOZQÌSÒUW XY×Z3Zò\*\^C^–^ò`?a¿bícÂdeÅfÐg5gœgõi¼jwjãkùlSl­n…oÒp,pŒpîq[qÄr1r‹ròwxxxyiyß…Š…ù†o†é‡ß‰™ŠŒ^'ŽŠbÔ’™“V“·”•Ζƒ™¶šá›Hœ†Ïžà ï¢A¢¾££ò¤Ê¥/¥ª¦«§Ë¨.©©ª'ª‹¬Ó­˜®‰®ö¯o±&ÀˆàBà<༠á3áÛ$ã¢NäM6è¼.èúê¤HêÞ ïbïåñ& ¶Iuø7% z?¥ „Ù-v G  ×"g#o#Ó$0$“&c''€(©))_+@, - -k-Í.8.¢//n/Ù3æ4Ó596V6ÍBKB³C*C¨FF…GÕII×KKúMaO OÅP'PˆR<SWoWÛY/Zt[]¹^,_ _s`maFb:bôddve˜eúfUf´høiÌk k€m?|ì+u²ãž3.žX$žÿ # ã ¡!&¦r(§Ð ¨@¨$¬W¬Ä® ½oÁ ÆéËHÌkÍDÎüÏÝѹÒ ÒèÔYÔÇÖaֶרPÚïÛ¿Ü}ÞßßqßÒà>ââÐã4äSä§äûæöèLèµéé{éçêSê»ëëzï„ï×ðwðßòòlýýþlÿ…õP†SÀÔ ™ ` à  µs*Þùd¤ ‘ó`B´á¾Êƒ½ !>!ž!ú"Z$%N&¶'1'ö7·CWÅWí&X5XwX© YŒZš[)[Õ&`#`Z `˜&abpc2 gJgµhø®†^‡žˆƒŠ1‹}ŽC°{‘ž‘ò’G“—––Þ—ž™9šAš­› ›p5ž ŸIŸªŸú¡Î££~£ë¤M¤¯¥¥w¥á¦=ª,ª««„¬Ó¹`ºÄ»¢¼¼‰½Ý¾­¿¿äÀñÁIÂÄ>ÄôÅWÆÆtÆÑÈÊ̪ͽÎ'ÏNϵÐŒÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Ù‡ÚÌÛ»Ü)ÜÜôßßßáGá¾òpþ–F0‚ñæ,*Þ § "ë#]$É>›B¶CDaEJG7H"J'JŽKPL—MMhNƒN×O+P~SSíTªVdWTW»X!XŠZV[U\q\Æ]'_`?`©aaua×b9bœcc^g˜h8hv‰wëxÝyRyÄ{'{ó|g}5~~g€£_‚‚nƒ+ƒ‰ƒá„F…¶†Y‡б‹ŒHŒ¬‹Ž5ŽŸ•‘`’L’º“ˆ“î•Ì–†—Á˜ë™}™Ýœž&žŸ®èº{¼ïÐ_"ЖÐàÑ* ÒAÒä ÓÍ.ÔÕ 4ÕKØØÙ'ÙÚ-Ûb Ü= ÝÂÞ4ÞªàTâHð®ÿ—qB" m* ‚ å S y Ð ' pàDàL'#<‘æ6å,˜hÏ5šû r$Ì%•3ó5W6@88Ý9P:;%;v=·>n?B?¨@d@»AAvBÞC‘DAH HƒI®JJËKãLÈM=NyNïOŸPXS6SŒTUU~VNV¯Yë[8lfxzªŽŽcޱŽä åA‘G’×D—f˜¼™)™~ ›L›Àœ7œ£žž”Ÿó®Ê»€½b¿/ÁÁúÃËÄŠÅ—ÅñÆ^ÆÌÈÈlÈàÊ.ÌçͱÎjÐ'Ñ©ÒÒoÔJÕPÖfÖ¹×ÙÙ‘ÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©ââññ˜òýóãõñöº÷7ø“øûùUûmü"ýýíþDþ£m¨#»Žš u æ Z D Æ £ bhÇ«ÛI§"ž)÷5c8!KàL LLLLº MšNdN¨O+Oj Så6Tž U7 Vc V¥,W% XƒXøYzYè[u\]‡lG wŸy8{?}#ü‚±ƒ¼„„Ž„ÿ† †|†ÐŠÅŒœŽïV³‘ˆ’h“€“Ò”$•x–6–®—Œ—î˜Q˜³™™k™Þš<š«Ÿ ®_¯Ë°±²Û³§´µ‹µñ¶I¸R¹º »»h»Ã¾‘À¥Á¼ÂÃiÃÇÄ«ÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖçZòEôû¸í 5  [D ‘  F 9N °x å QÈ*ä(øjèRðbÜ).5ë89;z<\<Í?n@S@×A8B~BÝC4HhJKfKÈL*MÄNÂOÇP&PyQÊR‹RúSÖT<T¡TûUZU»VV‚Ví[Y\MjØl?m0o8p$q‚qõrSrÄu(uÿwwowÒz§|Ø}ð~^ž€‚A‚¡ƒ„+… …͆©ˆù‰O‹bŒ&Œ”ŽŽk爑ܢg¯õÃë"ÄÄhÄŸÄæÅÅÌ2ÆàÇq Ç©È|.ÌhÌõͤÎÒÏ,ÑNÑÊÓkÓ×ÕñSóàõk÷Jøsû%ü+üÕý:þwþÌÿ*bË?¢ Ê & Ô ü Y «¸0Y¼z×6¡^J:&ž((ò+",6-±.W.Á/•11ê2ö3²6Ø:K:Æ<=>??‰@yAïBÑE.E’G¥H€HãJGJ KULAM•]{kI"†½ü€Ø"¸<‚¶ƒK„ ‡Ù‰ÛŠŠaжŒjŽº&l¦ª«€¯°ç²´³ÿ¶···Ô¸‡¸øº<º”ºð¿5ÀTÁ‹ÂÃzÃáÄ@ÆÆ~Ç,Ç‹ÈCÈ•ÈôÊFË Ë~ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–ÓßÔÃâ©äåæÙç;è›é´êšëwíËîâïBïžñsò¨öFöÊøIù}úíû½ü*þ‡ÿjúZ%ö[åCý  qJ(Ö<5&>0?@é6A2&D¡E2G GUIXKŒLMHM¿b_bÆdªg®këm|oDpœs0s“tPuuovÓ&w+{{È}}}~Ù>™–‚D‚¡ƒ_ƒ»„…g†%†š‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Ššž/Ÿ« ž¢g¢Ð¤[¥u¦‰§`¨Åª««_«¶­j®±ì²Y³ëµ¶=¶¸·‘·þ¹PºŸ»l½:¾CÀóÁZÁÈÂÛÿÆ ÖFä÷5÷u÷Úø& ø_ùíÿ«ÿüß.: l  zNõ 'h(é*Ú,/.ä/B/û0­12¨37S8(9²:";™;ÿ›?P?´@ž@ðBLCCyDÆE%E‹FFeFÈG-G•LM [F\À]®_M_­aOb:c_d7ežfühhxhÙjk3l>oAo½p.qYr|s†sótÄu1v~w»x‰ylyÍ{Q|Ë~ ~~äý€±‚̃ª“Ê´èµ%Bµ\µ¨"µÜ ¶É ·q·ø(¸C ¹D$¾3¿Ž$¿ïÄÅÈÉëØdÚÜßâÂãßäGæ;çfè¢éÂê%êë9ëîìaíøîTî®ïúñòÈó™õ+õõì÷÷‰÷ìøNú3úãûLü<ü˜ýÙþ ÿiË)¡hÈ&’Y¾ÙD±Ï3Ãíç!O"ª##Â$$„&>&÷(*ö+y+Ü- /#/™0©23:4 4û5X6á8b9Ö:6:•f?DOkp]p«qrSrÏrù,sØtÌxaxŸ"yAzn({Z%¹^>Íx þV¸×èš0„ =$“¤MauKÈÆ½ tÝ¥N™yi—ÞT†ÂTÍDûgµÊ͇»åJL‹Ó×5Ã&öõì¹  °!ž3Îü‹0 ‘øs²´,/àø&µ%àIàIà÷u´èè.&¶º{x5còE{Q6á9¡JÍóz5„ï: Mh™}V¯ÆÌÖ‰OHã[ûL™}•Ì’º… )¤‰ÔuÌkDaG0,1Ö8ƒ?†?þB×`9å-ùθÔ}Y×gœn…oÒyiŽŠ+@Kѹà>æöèµëÀ“—›p¡ÎÁIJ'P~_c~g‡~å;vÆ^Ñ©ÙùUù¿ „’h–6–®˜³¶IR‹ rSrÄ.W .Á¸‡Ãáêš>™†šˆ¢¦‰CCyc_ïúþ ÿñs enë_¡ 'Œ”$A8Hh$„6">Men¡Ù¼ŸúNƒO+ 'Œ?ÌA8Õñw+w«íø$„ >MJùN_Ânù¿þ?Ìì0èwyóæ²_ù¿î® }ÜÀiþb6V„ÿG€Õñ6"öU$“KÈ6"¡Œd¡¶1º5­!Ü^Y‹à)¨9©ØÇ\ŠôÙ&Gµ»ÂTÒ›ÉëÉë›ÀXƒXøÏÓáxyiäM’h¦8ß`êôÊ€°fÖmmÁ“$)†jZMè%¨8¥ö8b-Äç_\*uo(éŽÏ¥öµ÷!½&Â9¡JÍwºxÔ}J}°w€[¿tÁÛqóz.r0•0ÿ45„7n8*;#yý{–Å—¢|Ü-è.ê¼ï:ñßôx4X5ìFùQ QÌ\*¦«¨.¬Ó­˜¯oïbïåñ& ˆ =SZtdhøŸ¨¨ã¬W¬ÄÉ)ëÞ ‘!ž!ú$%N&¶'1cÒd+gJgµ„2Ñ8ßßßá¾="ë#]48@þMhŽ5™}œžŸÒäàTàÊâHð® ý±C‘V¯[8šMœ7žž”ŸóÆÌŽ8ÇÛ"ž!ÛYz[u\lG ˜³½¶¾Ä«ÅYÍËаÒƒÒâÖsðb).5ë}7… ‰Oˆ‘ÜÓkä+äÍí±HãJ KU‹Žº&l¨í¬Ô­&¸øñëZ[C>Í KŒL\¿iuoÿÆ  z k$wr|{Q~ýƒª¾3ÅÈàd ûL5X6á9ÖÍ8 Q ”Pˆ!ÆšM¸ødöuo kð®®Ê).ä+‘æL;•̸øuo)¤èš8M¿ÅYM¿ÃiÕñ}7j·‰Fòœn‰FòתÖ°!Æu*S… ¾3OFÁZ®›-¿j·.…µÎX`˜rÄhÈ| ž3X©0Lº ‘Äæü=, ž3X©0Lº ‘Äæü=,%Rj·¾;«“Þ!ƉFòŽcÀ¥}79õ†Já6nÃ6"—A"ZCQ 6BLTóù)ðg7nMaðŒ&=ÍEJSŒ6»é¸X“·¦«Ùƒ%ƒ‰A‚±“Ò»wÕ2öîâªv¶¸bô.r u‰Fòº6">Meý몫±:Ûwdpîr‹3æJùP' Ã73…¶hÛ9þV^?´G•b±:Q O,¨ÅdÓ Ša§rÄbŽŠN‚Œ—pî?PG•ûL™˜QF>MŸI\Æ S‘æO,O,±:ƒ%±:`o;‘æ‘æA8=ÍEJ8í¨í`צ`צ\¿†)Oeg0qgrÏsµu¹ä‹é¸ ð%Ê!Ö,x-‘.ru*¢|¶z¶ß¸u¾5æ›ç‚ç·è.èš/A\*kùlSwo•Πï¢A¢¾êÞ (©)/nOÅP']¹^,_s_ÚaF§Ðà>ë `"`B´ bpŠ1Œ¸°–ÓÕ1Õ¢׫ÞG7H"L—_h}Ü‘`’L’º å%•BÞNyNïOfOŸ˜¼ÌçÙ Û¤ Z D £ bYz–6 ˜³¿•ÈȘÉpq‚‚¡ƒƒö„+… ¡-±??‰@yA_Ãáû½ü*ýoD†š­j·‘¹Pé{*ÚCy FÈb:tÄu1v~¦Äçfÿ í&>0r0© ç·/A¢AêÞ_ BÕ1’LÛb?‰rÏ-‘êÞ¹P2§ÐNï ÆȘ„+@y§Ð@y^,bp Ô]‘`Ny DÈ ^,bp˜¼ ÇCƒ?û½·‘tÄ,­æ› ï]¹ÞqgÛbü*·þu10©ÓM= æVcÆÔ‚¡ÊÕ Ìõb:³¾5Õ ÌõoDíå °Ãá@éH"·ø³ *Ú·ø QÌSÝ©8Ó×MHFÉë ¶z]Ë'ˆåEyÙ–6†šCyÿS”Pˆ;vb:öºT<±:G€é¸¥öäGÀYuÇÚ^m|ÀY²té`n¨@ü¢Lä=,{º„ê¤  ‘Æ †p.3!Ž0>M]ïœ.²tÔé`+uñzA-ȱÉ) ‚ YŒ`#aƒ% Q?ô‚nü¢9P?BÂn ‘).?ÌÅÌÆé5í ‚¨íº”=,`×w¦$#&”3_­Ùàæ²î®rÏ!XßtÌoÁÚN{(95ìcª' ƒbôÆ#{4SíÈl DuºìE’©Ø`$f:"yl{Q׸Ýp6á8b²t?ôKzÒƒ ¦=Üôc^V¯Py «Hã[`$׸V¯™Þ·sTû‹HýϵäÍ\¿+ŸcñϵR‘ »i¡Ýúˆ„7˜dªE6"5Ã6">M ‚?Ìw&”N^a§ø§ãÕë  L¬"ÂÇjMì<ûú³s¶·œsç/íëí¨dÓ Š·sOÕIbKú/•OÕIbKú/•N Ի»@/7\¿lG)./4ÖõôîI!ÆWT3U ¾ÙMtH­_e¢´ãKé¸@ð%Ê Z!Ö¶ß½”¾5 ÛwkùlSwox (©)3æJùP'äSä§ðw  à µŠ1¥áÀñÈH" h}Ü ~…¶™Xœë"<%•;%Áú Ö¹ø“øûTž  µ‹µñG€q‚qõÈ|¡^J-±.%Í é´ê}A2oD¥ué{bb:¦Äæ;çfçíbu _Zµ‹q‚Ìõ-±é´¥ub:í ã±*5á3Þ?’ÔÏϵ 6">M!Ö}ÜÂnâñþbæ²âñ©Øn u¹†^C‡~‹½bÆ Ô¯kë'h:¶oö±#A$(w--Ä3Å6"?†Jw[^Àcñi¡|˜€[ÁΠÔÙÞÚNàžï£ñßöUý‰ýëø$].á0•8b{‰Ô\’$—œ žÔŸüª«±:³ ¸uÀ8Ð\Ýúáõ11º5­5ìFùG¼OÍQ V XèdqÄyizA‹9˜5®ößTÉŸ-+@0H496V7-9‰H•NOÅS¾e/ÀYÇ\ǯÕ@æöò×jr  `] Ù!>'1)òCEWOÞVgcÒ‚|ƒ%£~­;±ÿÄôÇ/Ë'Û»'!4Ý?XIÄW»\q^Yl­ní}Ü‚„F‡~ˆˆ„•̘ë™ÝžŸ¥Ö§çº{Ï¿Üð®ûûü¢¯m - S БæåXš)Ú,#::Â?BD©EyEÜU~[8®Êº ÅñÆÌÊ.ÙÛ9äþçY» u«!Û^YlGv€qƒ¼’h–6¤¶²·sÃiÏÛsR).,6/7@×A8G€ I¨N NÂO,OÇ`}s™yxyø‹bŒ&“ä+äÍíï¥ñSû€½6ì A ün‹*Å,5q5Ã6"7˜G¥‹àlŸÜ¢ç¨í©Ø«€¿ùNjȕÏöÕññëóx¶%;#\¿_`×aVb_g®nÕvÓø‚¡ƒ»†š‹ªv³ëµ¾C¿þÁZóAæ¦7 (†(é)¨*o-h.†3_4¹6):‚;ÿ<Ô?´CyG-HMrN‚ZxZÞgfhxp.ÀiÙÝpàdëîî®ûLþ ÿ‘ Ô.$&÷+Ü@ä6"'ö2ðÿb_yó$cñΠŒ^eúÜôšV¯vhPy «H€Hã[`$(é׸Ýp8 ¹µ—A}5DAÙ‘rÄ.Áꚦ‰^c_øN>M+‚n?Ìw >Mé`‚nÈ?ÌþÌkw&”3·s}ÜG€šG-ÑW»;ÿW»;ÿ¸øuo ƒź`צ) ‘ÅÌ’$eoöÁΠä-€,­3¥{‰Ôšá/5ì'¢¾­˜ïåðÇñ&ò 59_ k  #ªõ‘Ê!>c€hø½ÝÑ8Ô]Q ; ¦$ÉâHM=Yë™)Ÿóøû» ÆN¨]‡À¥ÇCË аÒâÔûÖÜ5ë|Ø‚A…ÍÕðç(ëÀH€JGM•ƒKŠal¦ª°çå q`ÿb b_g®„³ë·þN -ÖõM^;*r|s†¸CÚnÜâÂU2fznÙ'lö*5-6"6»8ƒ=Ÿ?þ{²tÓ¹ÚNþ¸)¤Œ—(“á«°!¹9¹µó˜N/OÍQ Urò—A)u+@/ÙR<®çÇ\ÌkëzC‡ž›pÜ)B¶DaO+_cž&ÿ—qm6SŒV¯œ7¸ŸÆ^ÎjÙ8IwŸ{?Žï™ÍË °*7@×JR‹ pŒ{щOŒ&çê9û%ý:Ë6ØH€ ‚¯¸øÂÕñü* @é]këuo}}>ˆ¢A7'h.äBLCy|ËÙxþ #ÂmVáÛšôlõb_µ¨X©LºüD-Ä3g`9bcy1uÑ-å]ç_J€ (Ÿš¢|¦k¨F®[IW Zò\*eÅjãxx7 59¾­Êg˜_ r;%ÈàøûÛy8µ‹è5ë @SRúz§…ÍE’³ÿ¸øÀTÈôpœuo„§`0­1aOjk3yÍÀéÜåcåÍëîó™õ+ú3$y1{Ñ-5„7n­˜ïå {TUÛy8Òâ5ëñSE’JGM•«€ÌÎå qb_g®¶¸^$wr|yÍ~Àéå:6:•?©Ø¸øº”õ%û½ÿjúuo»lÂÛG-u1x‰{QƒªÅÈü<./#0©3:5X6áW!½)O0,5b6»9>;_=ö?þB×C1C—]ïeg0gêãKçÓé¸ ìØîãóõA÷Îú;û‰ý ý‰ýëþV.¶«"‹)¤{î S¢á¤Í§ã©í­ì°!²º´Å¸¸u¸×¿ÆÒvÔ}Ö¤ØOÙcÙ¼Ü-ã{5ìXZ3\^–`?gœgõi¼lSn…q[qÄr1r‹yiŒ^ŽŠÔ’™“·”Ï%z? Ùv"g$0$“&c'€)+@.8.¢//nII×KMaO P'PˆdÁ ÎüѹÒ ÒèÔÇØPÞßÒà>âã4ä§æöéçêSê»ëð߆SÀÔ ™ à Š1}ŽC‘ò™9› ›pž Ÿª¡Î¤¯¥w¥á«„¿¿äÁIÂÅWÆtÆÑG7JŽKPMNƒN×X!XŠ[U\Æa×b9bœch{ó~g‚nƒ‰ƒá‡Ž5"* å ÐàL#‘Ï5š$Ì%•8Ý;v>n?¨@»ADAÁÄŠÆ^ÈlÒÒoÕPÖ¹ÜpÜÓÝ©ââñöºùUü"ýýíþD‚±„ކ|†Ð³“Ò™k™Þš«Ÿ ³§µñ¹º »»hÜ;z?nC4L*P&UZU»VV‚Ví[Y\Mp$q‚qõuÿwwoû%ü+üÕþwÿ* Y0z×6^J-±2ö6ØHã¶··Ô¸‡ºðÄ@È•Ë~ÎhÎÊÏ4Ï–ÓßÔÃé´îâïBò¨[MHtPvÓ™ƒ»†š‰l‰ËŠ4Šš¥u«_ºŸ,//û2¨3&÷Ö¶kŒ'¨kŒ'Q º²éê9Ü=º5 A*50,7P>MC1IGccñenj·y1{€[Ò›ÕÄØÂåõé¸óz€!Ö6LŽ’$“á–Å žÔ¤Íª««°!²b¾£ÙcöEXèY×^–^òl­p,Ô“·©©±& í7-)_6VO eúm?âÐã4ƒ€Œ„2°’G—žš­Ÿª¦=ÅWÙ‡ÚÌ@þNƒO+TªVdƒ‰“ˆ™Ýü¢ý± S Ð 'Dš?¨S6SŒV¯Å—ÈlÎj×ù¿ü"þ£mÛrGvŒþŽï”$µñ·sº »ÈÊ/Ñ ,6<ÍHhJ\PyTûu(w‰Oøsû%þwìbË3 «¸2ö6Ø9-Hã¢ç©Ø·ÂÂcÇ,ÔÃè›íËîâõ%ü*ö[\¿_`$g®m|pœvÓw}ß„ª¶¸ÀóÁZæ7õ&”9²G-ežfühxêíøî®õìûLhç¾/™:•ÓÒ›Žàž› â¿œ¼+àžv–›  uY¤Œ{S6V¯аO,«1`צ¡9æ=+Ÿ, ,j>MACcñå]å¾åõæ°û‰ S¡¶Z3Zò[¬z?NÒ ÒèÖa}ŽC‘òJŽKPmEÃËÄŠÅ—þD‚±º ?n?Ìuÿwû%1ê3²¶· ·rós0s“tPw‰l¨Åªv.ä/BFefüé ê%êþD?ÌLe‘æró9ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ü=,ž30=,ž3 ‘ ž3X©Lºü=,ž3X©LºÄæü=,ž3ž30ž3ž3Lºž3ž3ž3ž3. ‘ =,<ž30X© 0Lº  ‘ Äæü=,<ž3ž3ž3ž3 0 ‘ü=,ž3ž3ž3ž3ž3X©ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3ž3X©X©X©X©X©X©X©X©0000000000000LºLºLºLºLºLºLºLº ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ ‘ĿĿĿĿĿĿĿĿĿĿüüüüüüüüüüüü=,=,=,=,=,=,=,=,=,=,>=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,=,99B¶§çÿ—§çÿ—ÚN‚‚ÚN‚‚ÿ—ùíùíÿ—? ƒ ÚN Úö¶•w/ä2åOÍi¼” ;„PˆǯßqèLðß ™ "Z‚"‚|}ÆÑÛ»Ü)?XKPƒáûû Ð>nVNº ýþD«wŸ¹»hÑ R4QC4L*uÿwo‹bŒ&Œ”šþw1>«€ò¨ÿjbÆg®vÓ#%ßî®p!Ž5b7P ]ïn½}°îãñ+ .ý0ÿ8*’•«¹µÒvÓ>Ó—ñß2åcÂpîŒ^'¬Óèú II× R<Zthøk€¡!Û¿Þ†S$–Þ¿¿äÀñÚÌß*SíVd|g}5 œàD9P: S6™)½5Ð'÷7ø Tžœ þ™Þ´µñRJJ\UZVp$pŒ qõì bË6,6KUŠa Âcè›öý'¸E2}} }ßu‘ ¤[µÀóÿ:" G-G•aObd7l>õ õì Ã(<ªxŸ]ïñ+.ÒvŒ^I¡!†¿|g}59P÷7œ´p$È|,6è›E2}}G-aOÃxŸ l)6"ñ+!Ö«1Ûwr‹"gJùR<Þ µ'öÈ*…¶hhþG€J\pŒìË3Á‹Âc}}}ßb ƒ‚œ.ÝöCþÓ9yóÓZöUýë!Ö.r0•±:ï:OÍǯÔYÁISŒ€²Û9 u‘æа9?ÌëÀ.Áöõbº{KÈ‹*-Äwàžç_õAöU5„¢|±:¸u¹µXè\*NR<ÀY&¶–†SŒùU"‘ˆ™ÞO,pŒyxˆ.W ‚¸ø_uo‚Du¨Åªv¶¸0­N‚Ö°ëî:•e鸲bkùlS(©)P'R<bôŠ1H"oDçf uâñJ\3Âc}ß ä‹Ÿ/Ÿ73ð®`$4N^[óoÌpBüUÌÇ䆋 žà༠ã¢/Ù[ŒµóC`Z{ºÄÑŸþmï•ØØ'uKãLÈÙ‘ uSå·sÆcí*RúV‚‚A>>ðúíyó¶=¶¸ºŸåÂ_Msó ëÏ/#/™ oÌ*ªä†žà[óÑŸŽŸKãšÎÒs†/#xaxa7?†?þC—°FùÎú;¢á´Å·¬õ1g5n…†o+@/ÙæöèLëz{¡Î­;__cºå5W‰£ÒoÙÙ‘Så–6–®R‹Rú…͸0>Ë Ë~u†%†š”ðCCy÷‰þ ÿç@äpG€Øàž ×eú'ö·sO,ðÿ 6"Ûwd…¶ð®®ÊhG€NÂä+5Ã&÷>¶¸*·sA8yx •OB ·ÄC}è:Éöc±+)¥\aÕ×Ùè•[RgNØ EÃÑ}n:Zõî°ˆm€*´è9¤çaWfÙiQû ‚ÚÃY}9íõƒ°m*=çÁ¤|`å÷Øù”€Q… MïdÂäõ!ؘ6"½½b'h•wÇ\‚ï¥>Mcñ ¹µ°L—šV¯?Ìu0è¶··Ôw¨Å{óˆƒè¼žXçY¸ø\¿uo3Þ7{?¸²¯á3äÍ6»7"ðg«U|øv…'öhøsbÁ‹}ªv9²õ+dH¢`ÀéÛqé`”N¹µ¿Æ¨ãO+ 'Ân¾L‹¬Ôuªvš3æ²Äôù¿àž› ¹µh9L‹±73O,yó‚DÖ°Ôr /ä ;‚º wŸ4Q«€g®#%&SåÌh‡Ù´ØØ5WSå´ØØ5WSåC*Så’×’×6Íòl¬ÓÔJ QMÄ8ÜnÈl ° °÷‰nÈl‚²e8ÜBCÿN^ˆ œ.uçÓþ¸‹&¢á¹9Å$ÐÓy\qÄrò~Õ‹ ÀøÍ{-6Í9‰;·D’Œµé{êSëçòl÷UþÜØCEFt£~¥w¬Ó­;±ÿ¸“¸Çþ?B¶l­níº{¼>¾‚ÿ—˜û)Ú,#2å5W6Ã7zªÜpÝ1çY8!™kš<¡ê¤ôûOÇ`}oø²Æ üY±‹%h¬È•ÌÎÍüÖ{è`'¸]q~Ùƒ»ˆ8åÂæ;ÿE‹¡À÷‰)\ܽÝõ”ÈlÈlæŸqM$ú;§ã­‹°!¶Z3 O ØPã£ëßa•ÌLÏ?¨ERyÃË¥º SÖ¸Ë ÎhíËyóªfümë9iÈ.?†å-ú;Ô}n…+@ѹæöJ'_åÙ–6¶I¸0Ë †šCCyþ ÿå-ùU.W__0±:yó-î®R$&Â/Ò6»9>=Ÿ?†CÿIGcñej·ktðv(wΠØÂÚNçÓé¸ ðgõA÷výëþVË"‹%¨)¤*ª5„5ä7n:G‰ÔŽÏ•wžÔ¢|±:¶z¶ß¸u¸×¹µßnã{èšíTó˜/äG[OÍXXè\*cÂfÐgœgõpŒŒ^“·™¶ Ϧ«§Ëª'ª‹É ; Ù $0$“+@6VMaP'[_saFbôdeúfUÀYÂTÇ\É)ÏÝØPßÒà>ã4æöé{Þ´½"Z&¶Š1°› ›p5¤M¥ÑŸÕ1Õ¢׫Ü)ÜôáG@þEJH"L—MSíX!XŠZV[Uaubœ|g€£ƒ‰‹Ž5’L’º–†™}ž&ð®ûûý±ÿ—B åààLšAFòKzLÈOŸSŒV¯®Ê¸G¿/ÒoÔJÕPÙÚÖÛ9ÜÝ©8 u £"Yzuºv}#‚±„޳‘ˆ“Ò–6˜Q™Þ»ÆcÉpÊ/аÒƒÔ\Ö/78@×KÈL*MÄPyT<UZwyxŒ&çˆä+ ÷J «z¡2ö6Ø9-DlE.E’H€Hã ‚¢ç¥ö©ØÄ@ÆÏ4Õñîâõ%ú[ _`$b_oDs0vÓ™Š4u«¶¸½:¾CÂÛ#%(é9¡>M?†DkH­JÍ_cñe rÏu¹w°F¾;ÕÄØÂÚNàžãKå-é`é¸ ðñ+òKózöU%Êý+«!Ö0•8*:GuÇv–xÑŒ—”N•wšç› î«1­­ì±:¶ß¸u¹µÖ¤Ûwè.ó˜/äG[JrOÍQ QÌXb.cÂdkùlSpîq[xŽŠ”—Aœ†¥ª©©ª‹Ýö ƒ í ;%  ×"g$0+@JùOÅP'PˆR<ZtaFdk€ÂTźǯÏÝÐÀѹÖ¶ÚÞßÒâÐäSä§æöê»ë à  ‚ µ &¶'öCcÒhø€Œ‹{–£¦=ÈϵÚÌÜôáGþ$É484Ý73=ÍEJH" J'MhNƒSSíVdZV_h}Ü‚n…¶‡‡~‹™Ýž&ú.ú”B m yàDæ5š $ÌDAS6V¯h‹x’ךMœ7¿/Áú ÂnÆÌÈÌçÔJÙÙ‘ÜÞ ùUù¿ u"5cü ƒ¼† ŠÅŒhœþ‘æ–6˜Q ·s¾ÃÇÏÛÑ Ó9Ô\Ö).,6.54Q<\<Í?ÌA8BÝG€ JL‹MÄNÂTûpŒq‚rÄyxŒ&çˆøsþÌì3 Ô¡.W.Á2ö5Ã>G¥HãLA ‚©Ø³ÿº”Á‹Æ~ÈCÊFÍAÕñé´êšïžúíúö[ >H¢MHM¿\¿`$`×aVdªfkpœvÓw}}ø‹u¦‰ÀóÁÈé{š`¦Ö!€#%&”(é,/3:"@žBLCyG-G•N‚Rèb b:c_l>{QÀÀéÅÈÖOÖ°׸Ýpæ²çfëîîTõ÷øNûLþ ÿç6ábupG/äJrÂTgµ‚D¶=ääÜ)Œ&{Áû®ç™)ÖOŠaƵ/JrÂTYú¥á pÅÅÌ Εï¥YŠaÍ é¸Crùzn/ê¤ —fÊFBL¹D`˜rS)o$%ö7PÁÒ›ØÂßÕ{Ž“á5ìpî í-Íž3 ¡!hø€Œˆƒñ $É=ÍEJ ú”B TžµñVÄæÈ|îËÎÊ> m|vÓ (éG•Ýp&_é¸xÕ ÁúÌõ·ø" 4î©ÐÓbí¿G6VF…Úïõ–¥w¼‰Syľ‚Ù' DÌçŠÅG€íƒK¨í¿5Íü\¿{ˆ87SòÈCþA’× ½RxìÀ #ªâ®çß]N¨¸CƵt̶ßÈ| ãS ã– 9 9á ý¢|¸u2€\*©:›LN¨„ÿþA8JÊF¸Ce‡¸Cü·ørù×Wdª¶É×Wdª¶ÉYŒ¹qbqbqbqb ‘½ø& °\k²WíÐ_ޱ¿/<5(é œ.°Fõ1fÐ ‚¡¬‰£Æ~õ†u@äpG‡!ŒÐE9hUù)ÿÿŸSK™½¤ ¥I©p:h‹¾þÃrS8T³ÕñÑ*zÿH=Tó9,j1ÖDkJÍØÂÛq7.á¬V¾£Ó>—Aª‹ =zv× ‘CcÒ„2ªÄôϵÑ8Ö×@þLe‚º{ý±?BV¯ÂnrGy8¾‘@SñSëwñsró–¤[ªvõ$w8(yÍæ²ë9ïú!O"ª# (CϵþŒ¬I‘æÒƒÚ#%z'*5ß[ŒÿœxYu´ÝÂ'x]5còE,61êÖO@6"Ó¹ÚNé`IrOÍ59õ*{4½ÝVdDÐ'‘æ»hG€woí¨íÁ‹ qM(é3Ún.á¯o®öOÍ®‰_}#Ñ  ÂT}#{­v(ê¼¥/‰ä¼ÂyÍ íƒÙ‡VdDÐ'œƒÙ‡?†±:+@æö׫{ó–†Ù u–6ÕñCyþ ÿI@ 0>M?†?þC—ùÎú;ý‰ý0•²b´Å¹µ¿ÆfÐg5n…+@æö ‚¡ÎO+W»__}5ƒ+–† Ð 'å;v@»ÒoÙÙ‘‹h’h–6–®·s?ÌL‹R‹RúpŒí¸0¨íÄ@Ë Ë~`×w†%†šuªv¦;ÿ?´CCybnþ ÿ¼Â&ÂFùÄô̪‚•?BÕñ u?†ùÎn…+@æö¡ÎåÙ u–6†šCCyþ ÿ2?†A¢Cÿj·çÓõAýëþV¸×fÐpŒpî +@-kæöèµé{šA¤M¥á!Æaubœ‹ÙÚÖÛ9Üp„Ž‘ˆ–6™Þ5ëUZV¢YzÆÍ Ï4vÓ~Ù;™CyE%G•þ ÿ&Â-ÛqFù}5Þªm'œ£]™ÑÊ1êN-A¢õAûìýë!Ö²b¹µ—A-kR<껜7Û9‘ˆ™Þ·s¾L‹NÂVý:Ëz65ÃÍAÎʉËN‚*¾N‚b>M«1JrÂT‡?ÌwG-30ACeãK鸹µÛwdkùlSpîr1r‹•Î-(©)-ÍP'äSä§ ÃŠ1¥á¦=H"c^…¶"<hÁúÖ¹þNÂT¡TûU»yxÍ oD‡Ý‰lG•bæ;çfî®&ç!ÖÑUœ7JË!ÖR<\q‘«u«ú”B >M ™ý™?ÌG€uÿ1êwØ íG¨F =¸RGNøÕë_·s;vÔY_ ;v-Äç_;v¸øuo0­ëîbHUõ¹µ $bÞ7÷ΙUSÒIËHÜp{? ZVÜ-kǯ/7yó _0’h’h­SG€–SšM¼„x­A8¸øuo-Äç_0­ëîÂnæ²› ñSǯÇ\ íÆ#€í©Ø©Ø Ÿ¬ÄÓ×Þ4Öç’$¦˜4Ý4Ýú;_0¼Þ@oöR$*5, --Ä.E/Ò06"9>;_<=Ÿ?†C1CÿIG]ïcñej·ktðu¹v(v£xÔ{€[¼+ÁΠÓ¹ÚNßÕàžæ°ç_çÓé`é¸õAõô÷vú;ýëþVËý+%¨)¤*ª0•5„6L7n8buljԑ› žÔ S¢|­ì±:²b¶ß¸×¹µØOÛwßn ã{è.èšì5íTï:ò§ó˜öE/ä0„JrQ Vr\*cÂdkùlSn…pŒpîqÄr1r‹yiÔ”•Ζƒ—A™¶Ï§Ëª'ª‹ßTìc ;z  ×&c(©)+@/0H6VJùNP'PˆR<SY¤[[_saFbôdfUm?ÀYÂTǯÉ)ÏÝѹÖaÖ¶âäSä§æöé{êSëò† à ‚*´½ !ž"Z'öC OÞVgcÒˆƒ{‘ò5£~¤M¥¦=ª,«Õ1Õ¢׫Ü)áG=Í@þEJJ'O+SíVdWTXŠZV\q__aubœc^{ó|g}Ü€£‚n…¶Œ¬Ž5’º–†™}ž&Ï¿ð®ú”ý±B S y 'àD<‘˜h5š9P:KzOŸTUVN®Ê ¸G¿/ÅñÆ^ÈÐ'ÔJÖfÖ¹ÙÚÖÛ9ÜÜÓù¿þ£] u £I§YzlGqMuºv}#„ކ hœþŽï‘ˆ–6˜³™Þ·sÃiÉpÊ/ÏÛаÑ ÒƒÔ\).,6/7?n@×A8BÝG€J\KÈMÄO,P&T<T¡TûUZVíp$yxŒ”çÕä+ê9ëÀñS÷Jü+þ̽¸0¼zסn5Ã9-=>DlE’G¥H€Hã ‚¢ç¥ö©Ø¶··Ô¸øº”Á‹ÂcÆÈCË ÎhÏ4ÏöÕñëwôõ%ù}"ú[ý ;#H¢`$`×b_s0tPuo vÓwyó}ß~Ù–‚DŠ4¨Åªv«µ¶=ºŸ¼Â½:¾CÁÈÂÛ `¦õ^¸ #%(é0­3;™?P?´@žBLCCyE%FÈG-G•M N‚ bd7hyl{Q~ ~~䀱ÀiÀéÖ°׸ÝpäGë9ëîíøþ ÿiËhÈ’&÷4 5X6á:6:•Tó~ {¿ŽÐŒG‹Gê¤p.+ÜpŒÈ|£~È|[Õ‘ˆ[ÕMÄ 9 9 9 9 9 9 9 #ª ¸²¯%ˆÁHž3µ¨ޱLLޱ°\WíÐ_WíÄÉë°\Ð_|Ç\•w/ä${w:Gï±ó˜/䮉ßTjÄk &¶Vgc2áG§ ž&Ï¿Ü=LÈYë[™~"ÆcÔ\ÔûÕÙçˆLA ;#Äß~:6>fw:G•wó˜/äÇ\&¶áGž&"Ô\çˆLA oÁ{/ä5ìR$*ª±:É)ã4‘!žÑ8ÑŸšS6 uÑ :E’G-bÝppöR*5--Ä06»>Mcñj·kΠå-ç_ýë+%¨7n¢|±:²b¹µßnèšê`JrN™X\*d“·™¶ª‹6VMaR<dÂTǯ µ"Z&¶cÒ5¥ÈϵÜ)@þL—O+ZV‚n•ð®ý±þÅm ''šSŒx®ÊÐ'ÚÖÛ9Üù¿ u5clGvŽï™Þ¾ÃiаÑ òE).,6?ÌG€T<UZyx…ÍŒ&ä+äÍì1êE’ ‚©Ø¸øõ†b_uowªvºŸ(é0­N‚bÖ°׸Ùxëîç:6ßn™¶…ÍH€ˆƒ–†LÈÆc"';vÓZo;É` ±R ƒ©©wŸå(M¿ß*¹C1c¹BÚN-ÙOÍp,zAÔ“· ; ¦rÇ\ǯYŒš­ÅW‚æ‡~ûûš =·Žä™)º ü"þ£m °Èu(È|bƨÅ#% G-hè¼_­-kÈ|‚¶J-¬Äm9¹µNÂ-kUZñS4Qt`צ ;Ç\‚ ûû#%ÀYbp˜¼È?·‘tÄn¶°!)_ã4Ÿª$!½wº¢á¤só˜(9\  ¨ãźÔÇ€í=ž&Ü¿à¸Gçìü©Ø¬Ô !€ÙxàdîTõž3 5ø&bOÞ·D`׊š¦`צ_R×W8U ;Á Ç\ǯÌkC‡žþ˜ëûûq™) ‘dª#%ÞXÓÅÌÿ«Ó »ˆת‘’ÊöEM =m?ž3É)Q{ó|gMÆ?ÌŒ&Æí±‹E¨ídöw¨Å kÜVž39ƒ%í¨íeq ã§$%ö6»7P=öBe{¾;ØÂßÕãKé¸êñ+üU«!Ön¶“á”Nšç¢áÖ¤Ù¼-ÙN/N™UàkùlSl­r‹ŽŠ¥ª ƒ íE?"g(©)/Ù3æOÅP'l:źÆ#ÍDÒèÞäSä§À ` Ã'öX©€Œ€íˆƒŠ1ŽC–Ÿú«„ÁIÆÆtÆÑ=kEJH"NƒSVd~g‘`ßJú.ûeB"D<h$Ì;vAVN¸G¸Ÿ¿/ÁúÈlÌçÐ'Ö¹Lºuºv}#†ÐŠÅhœ™k»hä2Ë9G€JJ\V‚woŒ”õkÿ*3^H€ü©Ø°ç·Á‹ÂÂcË~ÌÎ è›K#fkm|oDvÓw+}}}߃_š!€&”(é9²:"@ðE‹ežÀÝpäGæ;çfî®õõì÷‰ü<ü˜)Ã:6J¿Æyi6Vò„ T³>.WQ¿´ÌOÏï…ù‡ß‰™B³FþlþÜ…FtQyR¼>5W7).ÆÚ^Æ y‰OY¤]]ï”PˆþÅ9P°¹5ÃJÍJ¿ÆfÐyi6VòšAjàÊ.ý:5ÃN‚”PˆùU.W>Mâ?Ììwbé`48pŒ3N‚ÓZÕñNƒ†|ÈC@ž6"G€¼+àž› ûe2Ë©Ø`צ`צ`צ`צ(olz³{&ºà‘/ꤨ¬Ä!ú'1gµá¾#]•àÊž”Ÿó#\ÂÖ*b~^ÎÒÓ×=,L±ìÆ ßzƒªÄ*ö9Ö:•{|nŠa=,ßd²n“áî£-èµ€ŒVd_D@d—fÈlýíœJ\OÇì3º”ÂcÈ•ïBvÓ}ßàž› '0X(X»ˆuñ—‰ =¨±É) Z1Q™@þÒäý±™ô!ÛWSlGJs).2¯5ëÆí ¨í eq ãÀi·ÝÉ)ÒäÉ)ÒäÒA¥ö^ž3E9¾•<ó\q‘:ÊFÓZ ×'öðÿÁ‹Þlz³àž&ºv–› à‘Ü#’hÂ~^±ì:•{»hpŒwo /ÒIG÷vË‘žÔÏÝ|g€£÷J¢çs0h$>M+‚n?ÌwÝp¦=c^·sTûÔ}þ¶I’h$v’hî#%(éÝpÁ‹- *5ä-žÔXè,6ç(¢ç´ß_7–*5q…- רÂ(é(é0„ =@þý±»€HS  ת’Êí¨ídö kÜVí¨í®çÚ^Hh48uÇ’hÔ}/ä¬ÄÇ\ÔYÜô#]àÊ;v€²¶I¸ø`×uo¦+Ÿ¶2åi¼„-ßqðß ™}Û»‡~ Ðým«¹ÈRC4L*uÿ‹bþw16Øò¨vÓ‘ ¿Žî®ò®é °È|n¶ƒ_ 9mVáÒä5ëÅÌΠµÜΠØÂµÜ/™¼Ž%ˆŒÄæ [ [iX:'öþÅíðÿ¨íuñöº%ÚNwŸÍËàž› -S6wŸA8î®Æcõ-vÓ¯¶î® JÍJ¿Æyi6Vòj5ÃN‚3UN‚uN‚¿ÆXŠŠ4ò®éXŠŠ4ØZ÷Î-î®Ö¶vÓƒ_ ×Á‹6"9‰/7iÀYÖ°oÁ{5ìñ&hø$ÉâHð®Ÿó®Ê]‡lGÜ).ä+Π ¶ÉÜ»×WÄý¥Ö¨—dª  ­‹°!O ¦r[Õ£ë °SÖÈ|¸Ë íË@éb--Ä08ÜcñÖ4àžç_ê÷Î&ý€n› ¢|¸uáó˜K‰Y×\*l­-599‰eúÖ¶äûêSõ µ½CcÒ½ÝÈϵþ48Œ¬ž&ÿ—m Ð'6˜šx—fÈlÐ'øû»I5cYz’h“€™ÞÃiаòEJPyUZrSçê9 ü «‡Ù ‚©Ø¸øÁ‹ëwúö  quoƒ»„³ëùíMé0­?´BL ýÚnëîî®&÷`˜.ÁäMã4 9@t»>M?†?þACA¢BBoB×C1C—CÿDk HUH­cñ×Wä‹ùÎú; û‰ûìüUüÀý ý‰ýëþVþ¸Ë%!Ö0•–ÅŸ/¢|§ã­‹°!±:²b²º´Å¶¶z¶ß·D·¬¸¸u¸×¹9¹µ½<½”ÛwQ \*b.g5i¼nWn…oÒp,pŒpîq[qÄr1r‹ròwwoyi“·•ΗAëê )_+@, - -k-Í.8.¢//n/Ù3æO R<¨ãÚâÐ ã4æöèLèµéé{éçêSê»ëëzï„ï× µ*CŸIŸª¡Î££~£ë¤M¤¯¥¥w¥á¦=ª,ª­;Èþ\q\Æ__`?`©aaua×b9bœcc^glg˜…¶‡*L'‘6å,˜hÏ5šû r$Ì%v:BÞDAzªšM›Lœ7ÒoØZÙÙ‘ÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©âþ£ u8!Xƒ‘æ•x–6–®—Œ—î˜Q˜³™™k™Þš<š«ŸôûA8JNÂO,PyQÊR‹RúSÖT<T¡TûUZU»VV‚Ví[YyŸ… ¯õË Ê & Ô « þ¸ 0Y¼z×6¡^%5ìԸøºðÁ+Æ~Ç,Ç‹ÊFË Ë~ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–ÓßÕñíË6º>Ídªuoyó|²‚¡…g†%†š‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Šš«_­j?P?´BLCCyDÆE%E‹FFeFÈG-G•LbmàdýÙþ ÿiË)¡hÈ &’ç TóÚN‚ OÕIÛwbKú…¶º{™k/•lÌÎ*Þö&Â*5*’¼+Πàžä-8v–‰Ô—› Fù!>cÒdu{4©p!Û}â•xsø,6.5Ð^ç(X‹àH¢IXaV{` E)¨Àéå+Ü'ö6"‹ÎjŒÔrÀÁI.Á(Ͼ ÛqõA’ʱ:Q  SšM„ÿ‘ˆ‘æ5ÃA8yx”PˆŽŠ·se1ù¿êš{óöºÖ§BL-Ä>Mç_õA÷΢|\*ŸI\Æ S‘ˆ‘æ¸øuo0­ëî6"?ÌÈC@žO,‘æ§ã yóǯÚN OÍÚN»×W ää hUu!>Ö×Û»˜ëU~«ÏÛ‹bG¥%¿Žu«™½¨@{Aè¼’×SåÈ|ñ9{?¸­ì¸²¯²¯vú%ˆI [°Fe˜høá!>ۻߘëU~«ÏÛ‹bG¥ÿj%óAÀYÑ eúöº9÷™UCCkëenë_¡-Ù l­ã¢„F—f„ÿA8È|·«G-hx$sØ^0 6"=Ÿ>MIGI²en³Ë¾êë_öUÊ7x~¡ª«¾5¾£¿oÙc-Ùl­xxxy6”?4Ó 59Òèðwðß ‚Ÿú««„¬²NƒO+h8h„FÕ ß 'æ%•Avœ£ÎjâñÝYè„ÿ†ÐŒ þ”$ ¾þR?ÌA8G€Hh\MJ·ÔÃÕñ s“w+wu «&”@ðG- M N-bhxíøü˜Y¾ {$$„tÌ6"-Ù$„-Ù„F—f—f&0IGI²³ËÊnn¶¾5xxx4Ó59ðwðß««„NƒO+h8hÕ 0 '%•œ£Îjâñ”$ \MJÔÃMM Y¾tÌn¶Ÿúênn¶ÓÍíøÓÍs“SÒ{?¸²¯-IJtƒ%ëî06" öU+Ù¼”ÆÑNƒ‚nº{A8Õñ\¿kubü˜±&*5õ1,6·Ô@äw:G•wdÀY&¶áG8"þаÔ\?̈`צbó˜ž&ç> ®‰8ÅYyx06" ‚ÕñL¬2aÈ|yA n¶-Ù\qØZþ£•xQÊ þÊF…gBL¹D"ýÙÇACA¢BBoB×C1C—Cÿcñä‹û‰ûìüUüÀý ý‰ýëþVþ¸!Ön¶Ÿ/²b¶¶z¶ß·D·¬¸¸u¸×¹9ÛwoÒp,pŒpîq[qÄr1r‹rò•ÎäM èú, - -k-Í.8.¢//n/ÙR<¡!¦râÐèLèµéé{éçêSê»ëëz µC[Õ££~£ë¤M¤¯¥¥w¥á¦=Èþ`?`©aaua×b9bœcc^…¶Ù,˜hÏ5šû r:BÞzª‘G’×›Lœ7ØZÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©8!N¨Xƒ—Œ—î˜Q˜³™™k™Þš<š«ôû åJNÂPyQÊSÖT<T¡TûUZU»VV‚Ví¯õÈ|,Ë & «Y¼z×6¡Ç,Ç‹ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–E2‚¡…g‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Šš?´DÆE%E‹FFeFÈG-G•¸C¹DiË)¡hÈ&xa HUËn¶½<w)_3æž3ï„ïת,g˜$ÌâŸ[Y^ÓßA2$L’?†?þùÎú;´Ån…+@æö¡Î_åÙÙ‘–6 °R‹RúÈ|¸0Ë Ë~@é4†%†šCCyþ ÿX©LºZV™)ÛŠaSåþV)¤¹µ$“¤MäþKȵ.(qM/ä‰Ân5ëEæ²ÑŸŽŸÎÒ*5 Ñçä-žÔXèYFÞÔJ,6MÄç(¢ç?’_7>›èJrS0WÅWÅWÅKàÃëKàÃëKàÃëKàÃëÃëÃëÃto¹$b%zj·kllpm›n½oÌqgqÞrÏsµt#tðu¹v(wºxÔy1z³{{|˜}J}°w€[ÁÕdÚNÛqÜqÞ7ß[öU%¨&º'6(m*ª,­-‘.r.á/´0•0ÿ2ˆ3¥45„5ä6L7n8*:G{™Ušßnà‘áâU䆿›ç·è.èšélê`ê¼íTí·ï:ï±ðñßò§ó˜ôx5ìOÍSÒU™¶šá›Hœ†ž|žà ï¢A¢¾££ò¤Ê¥/¥ª§Ë¨.©©ª'ª‹¬Ó­˜®‰®ö¯oïåñ&) =IuVUWoWÛY/[[]¹^,_ _s`maFb:bôddve˜eúfUf´høiÌk k€¬Ä½oËHÌkÞùd¤ ã‘ó`B´á¾ƒ½ !>!ž!ú"Z$%N&¶'1gµhø„2†^‡žÄô̪ͽÎ'ÏNϵÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Ù‡ÚÌÛ»Ü)ÜÜôßßßáGá¾$É@þCDa‚‰б‹ŒHŒ¬ŽŸ•‘`’L’º“ˆ“î–†—Á˜ë™}™Ýœž&žŸàÊâHý±q?BFòH HƒI®JKzKãLÈM=NyNïOŸPXS6SŒTUU~VNV¯Yë[8Ÿó½b¨#»8š u æ Z D Æ £ bhÇ«ÛI§"ž]‡{?‘æÀ¥Á¼ÂÃiÃÇÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖÜ/78|Ø}ð~^ž€‚A‚¡ƒ„+… †©ˆù‰O‹bŒ&Œ”ŽŽk爑ÜÕëÀóà9-:K:Æ<=>??‰@yBÑE.E’G¥H€HãJGJ KULAM•l¦ª¯õ%öFöÊøIù}úíû½ü*ÿjúZ%ö[åCý  qM¿bÆkë°¹±ì²Y³ëµ¶=¶¸·‘·þ¹PºŸ»l¼Â½:¾CÀóÁZÁÈÂÛÿÆ NE'hN‚noAo½qYs†sótÄu1v~x‰ylyÍ{Q|Ë~ ~~äý€±ƒªÅÈÚâÂãß)Ö*ö+y+Ü- ./#/™0©23:4 4û5X6á8b9Ö:6:•f?D*ªÑŸŽŸ*ªÑŸ‘}–48SÌçŠÅG€ß&” &ºà‘/ê¤#]ÒAàÊTUb=, *öû (w-Ä/Ò0,1Ö3Å5b6»IGJwK’X:[]ï^Àaenlz³²tÙÞå-ç_é`ë_îãï£ðgñßöU÷vûìËø&ºA kAnn¶‘‘}œ Ÿü¢|¤Í©í¬V³ À8Å$Ð\à‘(9-Ù.…/L;V XY×\*^CfÐyi‹9Œ^à¼áÛèúê¤ Ù496VH•MaS¾e/Œµž3žÿÉ)ÏÝѹ Ò Õ@Û¿ï„ò÷Ujr ó ÙEWX©`Zƒ%–Þ™9¿äÇ/ÊÍÏNÜ"ëB¶IÄJ' Mh^Ywë|g€£‚‚nƒ‰„F‡»•ÓÍÕ ØØÚ-þů -X8Ý9P:ÂD©—f¼|ÄŠÆ^ÆÌͱ×ùU#LºSåXøz2€q‚&‚±ƒ¼„ÿŽï’h“Ò´¶²»Â).?ÌA8G€I¨N s™wyø~^÷Jû€6 A*Å,.W5q6"89-<G¥¿ùÓßÔÃæÙëwì®ñë¶=, A2E2c”nÕs0uow‰Ë‹’4¤[«±ì¿þÁZåÂÿü(†*o-h.†33_4¹6)8(:‚<ÔG-HMrZxZÞgfhhxl>l¡nê%ïú‘ Ô.ç#Â$(/#:•rÏrùxŸ¿œ†êa„VUhøÜ)$ÉVNÑ Œ&þwK#vÓ8bž3Lº=,=,O÷g0i¡y1{¿t$]&º(m/´45„5äà‘í·ï:ð5ì¨.©©ª‹„cUdv®  "ZhøÚÌÜ)Üô#]$ÉбŒH•“ˆ—Á™}™ÝžŸàÊI®TUVNV¯\ÂÊ/Öb/7B~~^Œ&þwº<õ%ZvÓ¶¸¿¡zÛ^2¨w»|Ë},Äî®&>)Ö*ö- /#8b:• ?D8b8by1ºxԧ˶¸ó+/Ò6»IGë_ðgöU÷vË¡XŒ^Ù6VMaÏÝÒ òƒ%¿ä|g€£„F;v=·‚±ƒ¼„ÿ“ÒA8w÷Jû%s0«.äG-hhx#Â$$„ƒ%÷¿tÄß tð×W2ˆ:Gó˜dž3áGž&Ry¸G8 u"ÅYÒƒÔ\¹çˆLAAŠô =,M¿znÛ9È|kim?(æŽäkiöE±&ã¢m?uãWí°"æŽäL 9 ÈæÑ*Ç5°€j×$Æ%àBn+X5FЖÐàŽLL¸ÄÄhÄŸÇ©ø_µ¨*µ¨äѵ¨¡Ùµ¨µ¨^‚µ¨µ¨Ù,µ¨”nµ¨Pµ¨ Vµ¨É µ¨†Zµ¨µ¨Aõ‚ùµ¨=»µ¨÷4µ¨²-µ¨n:µ¨ÿ²qki hkiÇÿ<ókiöE±&m?Øãki…jkiAkiki‚ki%Rãž%R ³%R];%R^5%R·%R×Ê%R“A%RNØ%R ãXw°ÕXwlðXwXw(¶XwXwãJXw _Xw\çXw^Xw×rǃ„å@ˆ‹ÕIò§G[Y×bž|‰ =øKúb:½oÉ)×ÚÜ}*„2’G—žªÄ>73@þMhTª]'~•ý± Sæ6Å—ÆÌ×ø“ǧrG–®¾‘ÍËÖ/7?ÌŽ"ê9êñóàøs/•={A¦M¿5ëwñsù}b_c(iw{È}–¤[®µ¿¡$#8(9²hÙ€±Ødàãßè¢éÂïúûL!O#:•Ù‚²‚ä•O ȳ†A¬‚´=köíO/öEm?]Õñ) …0<¹N¢ Œl_NIw&¶5!*ÚNßÕý댗ŒÿOÍÀY{4€Œ73•6Û9§wŸ}#Pyêñ «=¦Mù}b_…gµE€±ÖOàϵŒ¬õ6"Ô?ôwoÛ&÷’•Ô}¶IZVÔJÜMÄ?´ñ+œ}}*5,6q…- ×\¿DWÉëÏÝ‹Bæ/ä0?†v(Ó¹)¤:G(•w¸uã{/äIrϦ« ×dž3æö'öáG0{óŽ5™}LÈ8 u–6˜QÆcаÔ\/7@×Õðÿ9-¸øÁ‹õ%ú=,uo¶¸ºŸ¾CýäGÿ—9-ÄkoÌwºxÔ{{°€ç_%¨)¤-‘2ˆ5ä6L7nki¢|ßnæ›ç‚ì5 íTï±ò§$Æ%.…\*™¶¦«©©ª'ª‹±&àBï_sbôdeúf´+Bƒ½!ž"ZX5{Ù‡Ü)ÜFaL—‹–†™ÝЖÐàNyNïS6SŒT8V¯Žœ7Ù‘8 æhǧLLW%YzȘÍlÍËаÑ Òƒ¸ră„+…͈ù‰OŒ&ŽÄÄhÄŸ Ô.Á9=@yE.E’Šж¸øù}úíúö!ž!ú"Z$%N&¶'1'öCgµx\„2†^‡žŽC—žšA5ŸªŸú¡Î£¤Mª,«ÁIÄôÆtÆÑ̪ͽÎ'ÏNϵÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Ù‡ÚÌÛ»Ü)ÜÜôßßßáGá¾#]4Ý@þCDaG7KPMNƒO+TªVdW»[U`?auch~g‚ƒ‰ƒá‰б‹ŒHŒ¬‹ŽŸ•‘`’L’º“ˆ“î–†—Á˜ë™}™Ýœž&žŸàÊñZý±q" å 'D‘˜hš$Ì%•;v?B@»AFòH HƒI®JKzKãLÈM=NyNïOŸPXS6SŒTUU~VNV¯Yë[8¯s½bÁÅ—Æ^Ð'ÖfÖ¹Ù‘Ý©ùUþD¨#»8š u æ Z D Æ £ bhÇ«ÛI§"ž]‡lï{?‚±„ÿœ“Ò”$ »»hÀ¥Á¼ÂÃiÃÇÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖÜ)à/75ë8;z?n?Ì@×OÇP&PyT¡U»[Yq‚rÄwwoyx|Ø}ð~^ž€‚A‚¡ƒ„+… †©ˆù‰O‹bŒ&Œ”ŽŽk爑ÜÕóàû%ü+þwÿ*¢ Ê & ü Y «¼J-±.Á2ö9-:K:Æ<>??‰@yBÑE.E’G¥H€HãJGJ KULAM•l¦ª©Ø¯¶·¸‡Á‹ÂÈ•ÍAé´êšîâò¨õ%öFöÊøIúíû½ü*ÿjúZ%ö[åCý  qH¢M¿`$`×b_bÆkëvÓ}}~Ù–‚Dƒ»†š‡Ý‰l¥u¦‰°¹±ì²Y³ë¶=¶¸·‘·þ¹PºŸ»l¼Â½:¾CÀóÁZÁÈÂÛÿÆ  `N¦õ#%'h(é/û:";™;ÿ@ðDÆFM c_d7noAo½qYs†sótÄu1v~x‰ylyÍ{Q|Ë~ ~~äý€±ƒªÀéÅÈÚÝpâÂãßçféÂëîõõì’Ãç)Ö*ö+y+Ü- ./#/™0©23:4 4û5X6á8b9Ö:6:•f?DöEm?ÖöEm?©©E’‚DE.¹16"-ÄL;ëîA8å-ѹJ'*588`צG[Ε¹{º¾5„nï:.…ª‹ž3¨fðÜ)•“ˆ˜HÖ*ÎÒº<vÓ)Ö:•{*¥ö¶¸n„kA༹$b%z&Â-Ä.E6»9¡JÍj·kllpm›n½oÌqgqÞrÏsµt#tðu¹v(wºxÔy1z³{{|˜}J}°w€[ÁÕdÖçØÂÚNÜqÞ7ß[ßÕç_é¸óz"‹%¨&º'6(m)¤*ª,­-‘.r.á/´0•0ÿ2ˆ3¥45„5ä6L7n8*:G;#{‰Ô•w™Uš¸ußnà‘áâUã{䆿›ç·è.èšélê`ê¼íTí·ï:ï±ðñßò§ó˜ôx/ä5ìFùSÒUX\*gœgõŒ^“·™¶šá›Hœ†Ïž|žà ï¢A¢¾££ò¤Ê¥/¥ª¦«§Ë¨.©©ª'ª‹¬Ó­˜®‰®ö¯oïåñ&‰ ; =IuÙ$0MaVUWoWÛY/[[]¹^,_ _s`maFb:bôddve˜eúfUf´høiÌk k€¬Ä½oÀYÇ\É)ËHÌkÍDØPßÒà>ã4Þùd¤ ã‘ó`B´á¾ƒ½ !>!ž!ú"Z$%N&¶'1Cgµ„2†^‡žˆƒ› ›pÄô̪ͽÎ'ÏNϵÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Ù‡ÚÌÛ»Ü)ÜÜôßßßáGá¾#]@þAÿCDaMMhW»X![U‚ƒ‰‰б‹ŒHŒ¬Ž5ŽŸ•‘`’L’º“ˆ“î–†—Á˜ë™}™Ýœž&žŸàÊâHð®ý±q åLš?BAFòH HƒI®JKzKãLÈM=NyNïOŸPXS6SŒTUU~VNV¯ Yë[8œ7Ÿó®Ê¸G½bÆÌÒoÕP¨#»8š u æ Z D Æ £ bhÇ«ÛI§"žYz]‡uºv{?‚±³“Ò»À¥Á¼ÂÃiÃÇÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖ Ü/78@×L*Pyw|Ø}ð~^ž€‚A‚¡ƒ„+… †©ˆù‰O‹bŒ&Œ”ŽŽk爑ÜÕä+ óà2ö6Ø9-:K:Æ<=>??‰@yBÑE.E’G¥H€HãJGJ KULAM•l¦ª¯Ä@îâõ%öFöÊøIù}úíû½ü*ÿjúZ%ö[åCý  qMHM¿`$bÆikëuo™¤[°¹±ì²Y³ëµ¶=¶¸·‘·þ¹PºŸ»l¼Â ½:¾CÀóÁZÁÈÂÛÿÆ NE#%'h;ÿf?Du%&¼Ž%¨(m.ávú(šçßn1^JrQ ™¶œ†£¥ª¨ãÀYÂTÞ{4=ŒHð®;vI®lGÃÇ).4Q€ä+<©Ø¬ÔøI%ËýÅÈßnǯǯÀY{4@ØÂvÅCâHŸó©Ø`צ.$bØÂÞ7ßÕ™UšöESÒU±&Ium?ËHÌkõ†^‡ž°½ÝCDaL—q6®Êº²½bØZ uv{?QÊä+¯ qkë…gM'hBLÚnÚáâÂè¢m?ñSÖçL;Ÿ©Øl8 ¸u¦«Þ!ÆŽ5ð®Ý©lG).}7Fàd`$׸׸‰Ôt¶÷ö±º#èR¹A ƒ$b%ö'ÿ*5, -Ä01Ö5b6"7P8ƒ;_>M?þACA¢DkH­]ï_accñeenllpm›n½oÌqgrÏt#v(wºy1z³{{}J¼ê¿tΠÓZÓ¹ÕdÖç×WØÂÚNÞ7ßÕàžáòâgãKå-åõæ°ç_é`é¸êë_îãñ+òKóz÷v÷ÎùÎûìüÀýë%ÊZ+«!Ö %¨&º'6,­-‘.r/´0•0ÿ2ˆ5„5ä6L7n8*;#uÇx~yý(‘’$“á™Ušç›  S¡Ê¢|¢á¤s¥(¬V°!²b¹µ½<½”¾5Ö¤ØOÙ¼Ûwßnà‘䆿›èšê¼ì5íTï:ï±ðò§ó˜ù)1º2å4X5­G[IrL;N™OÍQ QÌSÒY×\*\^ò`?dfÐkùlSoÒpîr‹wwoxyiŽŠ’™”•ΗA™¶šáœ†ž|žà¢¾¥ª¦«ª'ª‹­˜®‰ïbïåñ&` ; =Iz-"g#o(©)- -k-Í.¢3æ4Ó596VJùKNOÅP'PˆR<WoWÛY¤Zt[]¹^,_ b:bôdeúf´k€¬W¬Ä® ¿ÀYÂTÆ#É)ËHÍDÒ ÖaÛ¿Þßßqâã4äSä§äûê»ï×ðwò†SÀ ™ ` à µ*ù ã‘óB¾ƒ!ž!ú"Z'1'öCgJgµhø{4€íƒ%„2‡žˆƒŠ1‘ò“—–Þ—ž™9ž Ÿú¡Î£¦˜ª,«¿äÁIÄôÆÆtÆÑÈ̪ͽÏNϵÑ8ÑŸÙ‡ÚÌÜ)Üá¾þ!"'"ë#]$É73=k=Í?ô@þEJH"LeMhNƒO+TªVd\q_`?`©{ó~g‚ƒ+ƒ‰„F…¶‰б‹ŒHŒ¬ŽŸ•“ˆ˜ë™}™Ýž&žŸ§çº{ÜßJàTàÊó¶ú.ú”ûûý±qB" S y 'D<6å˜hš$Ì8Ý9P:;v?BBÞDAH KãNyS6SŒTUVNV¯šMœ7žž”±ÍÁúÂnÅ—Æ^ÆÌÈÈlÎjÐ'Ñ©ÖfÖ¹Ù‘Û9Û¤ÜÓöº÷7ùUý¨#Žš u æ ÆÛI§žWS[u\]‡^Yo;wŸ{?}#üƒ¼„„ÿ† †|hœþŽï‘æ’h“€“Ò”$˜³™™kŸ³§´µñ·s¹»h¾¾‘ÂÃÇÄ«ÆÔÇCÈȘÊ/аÑ ÒâÖRðbÜ).4Q5ë8<\<Í?n?ÌA8BÝC4G€JJ\L‹O,OÇP&R‹T<T¡VVíp$rSrÄu(uÿwwowÒyx}ð~^ ‚A‚¡ƒ„+†©ˆù‹bŒ&Œ”çÓkÓ×ÕëÀû%ü+ý:þwþÌÿ*ìË3 Ê & üY¼6^,6.W.Á0è12ö3²5Ã6"6Ø9-:K:Æ=>?@yBÑE’HãJGJ ‰Žº&l¥ö¦ª©Ø¶···Ôº”Á‹ÂÂcÃzÃáÆÇ‹ÈCÌÎÍAÎhÎÊÕñêšì®íËïžñëò¨õ%öFöÊù}úíû½ÿj%ö[åC 6ºH¢K#KŒLMHM¿\¿`$`×b_c”dªkm|oDrótPuovÓwyó}}}ß>–‚¡ƒ_†%‡Ýˆ¢‰Ë¦‰¨Åª«¶­j±+±ì²Yµ¶¸·‘¹PºŸ»l¼Â¾CÀóÁÈÆ `£ z¦^ #%$#&”*Ú/B38(9²:"?P@žBLCDÆG-G•LM N‚bb:c_d7ežhl>noAo½r|s†sótÄu1yÍzÿ{Q~~äý€±ÂXÃÄÅÈÖOÖ°׸ØdÚßæ;æ²çféÂêë9îTî®ïúõõìøNúãûLiË&’¾íç##Â$„(*ö+y./#/™23:9Ö:6:• fwÔûYë%N~äd½Æc±Ï*7å(]AÈ÷¹!½&Â'ÿ*5+Ÿ, -07P8ƒ8Ü9¡<>M?†ACA¢BBoHUI²JÍWQW¼Z\X_`9acd²enj·llprÏu¹wºxÔy1}J}°€[¿tÁÕdÛqáòâg䋿°é`é¸êë_ñ+òKò®ózöUùÎû‰ûìüUüÀÊ6œ‡Z€O+E (!Ö&º'6,­-‘.r.á/´0ÿ47n8*;#uÇyý{–ÅšžÔŸ/¡¡Ê¢|¤s¥(ª««­­‹°Ó±:²b¶¶z¶ß·D¹µ½<¾5¿ÆÌÇÎ7ÏïÑÕIÙÛwà‘è.élê¼ñßôx/ä4X5ìFùG[IOZQ Xè\*^C^ò`?a¿dfÐg5jwkùl­oÒp,pŒpîwx†o‡ß'b“V•Ζƒšá¢¾£¥ª¨.ª‹¬Ó­˜®‰¯oÀˆïbïåñ&¨ ˆ¥„-  ×#o#Ó'(©)_, - -k-Í3æ4Ó596VC*F…KúOÅR<SWoZt[]¹^,_ df´høk€¬W¬ÄÍDÔYÖaÖ¶Û¿ßßqäSäûèLèµéé{ï„ï×ðwòP ` µsù ã‘óáʃ !ž!ú$%N'1'ö7·CgJgµˆƒ‹Œ¸ŽC{‘ž“—––ÞšAš­ŸIŸú££~£ë¤M¥ª,«¬ÓºÄ»¢¼‰ÀñÆÈÉMÊͽϵÑ8ÑŸÙ‡ÚÌßßßá¾þ"ë#]>›B¶DaH"J'MhNƒO+P~SSíVdWTW»\q_`?`©aauh8}5ƒ+„F…¶†Y‰б‹Œ¬ŽŸ“î—Á™}œžŸ¥Ö§çº{ÝÂÞªßàTàÊâHÿ—q m ‚ y ' pàD'<å,˜h59P:=·@dAvBÞC‘FòH KãS6SŒV¯[8™ô›Lœ7œ£žž”Ÿó®Ê»€ÁúÃËÅñÆÌÈÊ.ÌçͱÎjÐ'Ñ©ÖfØZÙÙ‘ÚqÚÖÛ9Û¤óã÷7ûmþ£m¨#Ž8š ÆhÇÛžWSXƒYzYè[u\{?ü„„ÿ† ŠÅŒœþŽïV‘ˆ“€”$–6—Œ—î˜Q˜³™°±´¶I·s¸R»Ã½¶¾ÂÄ«ÅYÇCÍËаÒƒÒâÖøèRðb,65ë9<\<Í?ÌA8B~HhJKfKÈL‹NÂOÇR‹SÖT<T¡p$pŒrSrÄu(wÒyxz§}ð~^‚A‚¡„+… ‰O‘ܯõÑÊÓkÓ×íõký:þÌbË?¢ Ê & ü¸Y¼¡(ò,6.W.Á/•11ê3²6":K:Æ@yE’HãJGJ KUkŽº&l¢ç¦ª¨í¯²´·º<Á‹ÂÃzÃáÆÆ~Ç‹ÈCÊFË ÌÎÍAÍ ÍüÕñåè›êšíËïžñëöFöÊúZö[åCJ(ÖKŒL_`×`ÿkëoDs“uvÓw}}~Ù>‚D‚¡ƒ_†%‡Ýˆ8ˆ¢ˆþ ž¢Ð¦‰¨Åª«¶­j±ì²Y·‘¹PÀóÁÈÿÆ ÖFä z¦'h*Ú.ä/B1:";™;ÿ?P?´BLCDÆE%E‹FFÈN‚]®_­aOb:c_ežfüjk3oAo½r|s†tÄylyÍ{Q~ýƒª“ÊÅÈÚâÂæ;ê%êî®õõì÷÷‰øNúãûLü<ýÙþ iË)¡ç¾±3í"ª#Â$„*ö+y/™24û5X6á9Ö;˜W`ÀiÁž¸JËÏG5Ô06" >M¼êx~xÑL;d-Nðß!Leßœ7Îjƒ¼Œ‘æC4ÒÇìw>›ÂXî®z(;_õAn¶°!²bi¼&c¦râ[Õ$5ZV'ÔJ‘ˆMÄÈ| Ê &¼ÆÆ~íË>›ú3—fÎ÷ö¹9¡<²tòKò®óóz­­‹­ì®[L;`?fÐg5gœgõã¢äM¥#o#Ó$0$“ÔY ßßqßÒà>껚Aš­› ›pMWTX!XŠ[Uü¢ åàLÑ©ÒÒoŽïV³ °rKfKÈL*L‹O,È|?¢ÃzÃáÄ@ÍA~Ù>™s‚D;™M ? cñÒ›×Wç_é¸õA÷v÷ÎýxÑŽ¢|¤Í¥(ª«°!±:²b ¹µG[\*^–^òi¼jãkùlSl­r1–ƒ`-&c'€(©))_/NO S¿ÔYâã4äSä§äû ™ µ5óž ŸIŸªŸú¦=ª,ÈZV[U\q\Æ]'ó¶ S Ð'<‘æš:±ÍÈlÔJÖfÖ¹×ÜÓo;ƒ¼ ‘æ “€“Ò”$™·sHhMÄNÂO, OÇP&Py T¡TûU» Ê & ü Y « ¼1ê5øøÆÆ~Ç‹ÈCÈ•ÈôíË uo– ‚D‚¡ƒ_ƒ»„ ‡Ý‹¨Åªv 0­>›?P?´@ž@ðG-Ö°ëîìaî®ú3úãûLü ü<ü˜Ë’¾§=ù}µ€±)¤JËE.""‘ˆ6"¸øuoÑçèJ*5’$ü¢’$¬Äü¢é5¤ìÛ,6±î£‰±$*5.E6" 8Ü9¡CÿJÍt#xÔΠÖçÚNßÕózýëþV(mv–’$°!±:¸u¸×Ô}èš/äL;QÌfÐpŒqÄ”£¦«ìcÉŸPˆR<[dfUÀYÇ\ǯÍDã4é{ ‚¾Cƒ%ˆƒšA5£~¤M¥ÜôB¶EJMhNƒW»_au‹–†ûûþÅÿ—B5šKzLÈ»€ÆÌÚÖÛ9Ý©8†|þ˜Q¶IÆcÊ/аÑ ,6/7?Ì@×T<yxŒ&äÍì?¢9 ‚©ØÃzÈCÏ4ÕñýMH\¿`$`×b_kw~Ù¶¸ ¦&”(é;™;ÿ@žBLFbsó~ ÉëÝpûL5X 6"–Sú.šS6ÌçŠÅ‘æG€G-Ûw…¶þ?þR‹G€.EþÅ*5,j·k%¨*ª.r5äŽÏ¸ußnè.èšíT™¶§Ëª'[_saF´Ê½CÑŸÕ1Õ¢׫þŒ¬’ºº{KzOŸ £˜QÉp8¥öyl~ä׸4 8b;˜&¶twó˜_ž&"‘æçˆíì ‚¨í n{_yx8ä8ä-Ù ãÆŠÅ—fÊF¹D³é¸ZðwÕ Ìõæ;Ù'F…Ù'’×È|ˆ8b@t ƒ'ÿDk¢´àžâgé¸ ðZ!Ö6L›  ­ì±:¹µ½”¾5ÐÓò§W b.wo¿7#o(©).8F…P'eúÚéçðw ` Ê1› ¥wÆÆtÈ`?}܃ᅶ¾‚"D<, Ê%•’×ÁÌçÖ¹§ŠÅ™ÞòE;zG€¯õäÍ÷Jø1J-±=Á+ÊFÍüîâù}\¿oD‚¡ˆ8ˆþ¥u«¶µ¼Â‚¡0­?P¡ÀëîøNã¢OÍ‚ÔY åÚNOÍÔYQ b_‘è'ÿ, 07P8ƒACDk_acáòâgåõñ+òKózùÎüÀÊZ¡Ê¥(²b¾5^òkùoÒr‹xž|#o(©- 3æ4Ób:ßßqäSäûê»ï×ðw'ö“——žŸú£ª,«ÆH"NƒO+TªVd\q`?`©ƒ+Œ¬ 'D<å˜hÁúÅ—ÆÌÐ'Ñ©ÖfÙ‘Û¤÷7ü„œ”$˜³™k<\<ÍOÇR‹T<T¡p$rÄu(wÒ Ê & ü¼,6.W.Á13²Á‹ÂÃáÇ‹ÌÎÍAêšíËïž`×vÓ}}>–‚¡†%‡Ýˆ¢¦‰«¶¦*Ú/B:"?PCDÆb:c_æ;éÂêïúõõìøNúãûL¾í#ç_{:üÕ0­Æ^b_K, sµ{¹Båõæ°óz.r6Lu*è.ò§%R¦«z#ÓÖaâ†ÔXw[)‘òª,«Ü)W»Ñ*ÓÍÕ šSŒ ŽäÅ—ÖfÜÓûm§VcW%³ °?nP&p$‰OŒ&È|ÎÒ Ê=E’Šж¶··Ôù}GtP–µ¼Âø_l;ÿM €±µ¨éÂË’:•xŸ{ ±v(Ï蚨@®çÈl’häÍöÀó¨@) I²‡!³¹Bâgnn¶‘‘}-Ù^òáÛIžÿäûï×¥IÓÍÕ E™)âñ»Ã0­<ÍëÀŠa§ §xè›A2b_c(c”s0/Bež·øxŸ*?om›º„(Á(mb{âU5윆ž|ñ&Y/Y¤e˜® ¤!>OÞhøÏNϵÛ»$ÉWTŒH–†˜ëâHI®JU~ŸóÒ]»8«]‡ÃiÃÇÏÛÜž€€ì‹bÕ<G¥‰ÛløI%MHM¿³ëóANqYÅÈ- zn(/ÒIG³¹B÷vËnn¶‘-ÙXMažÿÏÝ|g€£ÓÍÕ ÷JA2s0h·øxŸ/e²tãKé¸+¶ß¹µdkùlS(©)OÅP'žX¦räSä§ ` Ã%Š1H""<?B¼|ÁúÈÖ¹z2† ÏÛ*7þÌG¥ ‚\¿]koDA&”Ôræ;çfrÏ—f—f A¢ûì¹µR<  µÈ™ÞVÈ|z6ÎʉËûìÈ| >Mn¶{ŸI\Æ_‘æ5ëO,ªv °±ŠäÅ$ã¢B¶W»níÅñ¤ °å(’4ùí;ÿ¡!Ë -Äç_¢|\*㢠Ըøuo0­ëîk&”·qáÛžÿ Ún%ˆ1^¿µ%µ%Ð_Ð_Ð_Ð_¾ý±¹ŒµåÂ=öÖ¤T†ŽC«„þ‡~$Ì;vAÿ*Ë~uG-LežÃÚNŒ—JrOÍ¥ª59dÂTǯõ½Ýϵ73Œ¬•®Êøû/7ëÀ ‚°ç qMÔÏÖ°Ún ÚNõ½Ýð®®Êä+ qb_MÚnò§§Fo/Ò6"IGI²Áâg÷vË€6L8{5ìX^òŒ^¥ªÙ59IMaÄnÏÝäûï׆ŽC¿ä|g€£ƒ‰š ;vº Ù‘‚±“Ò»Ã<Íp$ëÀ÷J=º”ÔÃè›ôù}H¢c”pœs0„µ¼Â`/BG-c_ežh€±ÀéÚáøN:•{ÕÄÑ ±É)áÛ»«yx‹bÿj ϵ«ÃiG€äÍM¿\¿Ì¾;Þ‰–†õ† uÞϵÃiäÍŒ¬lR<™ÞR<<û;vqM}ß7-L_‘æ{ǯΠ4QؑÞ+Ÿó˜B¶ž&ÿ—ç ¥ª¦˜*5,6ƒ%`צ#]4î©-ÙbíG ãÚï–Sƒ+ÌçŠÅ7SòÈ=46" eãKé¸î«!Ö ©¬ÿÛwbídkùlSr‹G(©)3æOÅP'R<ÚïäSä§ ` Ê1–ÆÆt*H"Sƒ+…¶Ù"<h@»ÁúÌçÖ¹ŠÅ‹hG€^¿5oD{7S9²bæ;çfòÈç5bîã©í(9c ۿ–ÞSíàͱ,6{Èó™xŸC*Såf'ÿ)O5b6"6Z6» 7"7Pîãððgñ+ûì«!Öî©íª««1«¬V¹µÛwcÂddÿe1eÅ“Vø  ×"g-ÍR<¡!$Û¿Ü}Þ'ö––Þ—ž™9¿*G7SSíTªVd …¶ àD :ÁÌçͱÎjÐ' üŠÅŒhœ þ ·sG€HhJøsìbË,6ÀTÁ+Á‹ÂÎÊ{È|'|²}}}‰Ë*Ú8(9I9²:"bó™ôÉõ+õõì&6»ðg¬V¡!*8(6»ðg«'ö* bÁ‹õ+ ³Ëª«d ×'öÎjŒHhÀTú³þ4Xïb5X6V•xŽï–mµ%uÇE’¼„x­ÓÓß[‡žqNd‡žqNdþÅ€²¼|z2 5bé`îãöUÛ¿–ÞVdDhþ3aFî*5´ß–*5),6±Šä‡žq¯kë'huÇ Ì$7P“á3 í"‹IUê©ØÝp¹B¨Fæ(¸R%_AÏÝå-«‹B’$EAEž—Þ輞X½Âѹ`#xµ¬Ó52J'‡»ñ¯¯ÌmE Q*˜`}å„¡9D¡\¿]qæŸÕ+ÙrS íGki¨FöEã¢m?uã)ò°ÂæL—¸R 9GN“9I@äæ 9Þ¼+Ñ-àž v–Œ—Œÿ›  ¿„É)73¤ Ò Òäý±5ëH¢`À’Àé0¾öè¹»!½$b%z%ö'ÿ)O*’+Ÿ, ,j--Ä.E/Ò0, 01Ö3g45b6»7P8ƒ8Ü9>9¡;_<Ô}ÕIÖ¤ØOÙÙcÙ¼ÛwÜ-Ý¥ßnà‘áâU䆿›ç·è.élí·ï:ï±ðñßò§ó˜ôxöEIJrOZQ QÌSÒUW XY×Z3Zò\*\^C^–^ò`?a¿bícÂdeÅfÐg5gœgõi¼jwjãkùlSl­n…oÒp,pŒpîq[qÄr1r‹ròwxxxyiyß…Š…ù†o†é‡ß‰™ŠŒ^'ŽŠbÔ’™“V“·”•Ζƒ—Þ™¶šá›Hœ†ž|žà ï¢A¢¾£ò¦«¨.©©ª'ª‹¬Ó­˜®‰¯o±&Àˆïåñ&‰ ¶ ; ˆ =Iuø7% z?¥ „Ù-v G  ×"g#o#Ó$0$“&c''€(©))_+@, - -k-Í.8.¢//n/Ù3æ4Ó59 6V6ÍBKB³C* C¨FF…GÕII×KKúMaO OÅP'PˆR<ST†WoWÛY/Zt[[]¹^,_ _s`mb:bôddveúfUf´høiÌk k€m?|ì¬Ä½oÁ ÂTÆéÇ\É)ËHÌkÍDÎüÏÝѹÒ ÒèÔYÔÇÖaֶרPÚÚïÛ¿Ü}ÞßßqßÒà>ââÐã4äSä§äûæöèLèµéé{éçêSê»ëëzï„ï×ðwðßòòlýýþlÿ…õP†SÀÔ ™ ` à  µs*ûÞùd¤ ã‘óB´á !>!ž!ú"Z$%N&¶'1'ö 7·®„2†^‡žˆƒŠ1‹}ŽC°{‘ž‘ò’G“—––Þ—ž™9šAš­› ›p5ž ŸIŸªŸú¡Î££~£ë¤M¤¯¥¥w¥á¦=ª,ª««„¬Ó¹`ºÄ»¢¼¼‰½Ý¾­¿¿äÀñÁIÂÄ>ÄôÅWÆÆtÆÑÈÉMÊÊÍ̪ͽÎ'ÏNÑ8ÑŸÓÔ]Õ1Õ¢Ö×Û»Ü) ÜÜôßßßáGá¾òp–#]>›?ô@þB¶CDaEJG7H"J'JŽKPL—MMhNƒN×O+P~SSíTªVdWTW»X!XŠZV[U\q\Æ]'_`?`©aaua×b9bœcc^g˜h8hv‰wëxÝyRyÄ{'{ó|g}5~~g€£_‚‚nƒ+ƒ‰ƒá„F…¶†Y‡‡»б‹ŒHŒ¬Ž5ŽŸ•‘`’L’º“î—Á˜ë™}™Ýœž&žŸ®è¼ïÝÂÞ4ÞªàÊð®ý± ÿ—qB" m* ‚ å S y Ð ' pàDàL'#<‘æ6å,˜hÏ5šû r$Ì%•3ó5W6@88Ý9P:;%;v=·>n?B?¨@d@»AAvBÞC‘DAH HƒI®JJËKzKãLÈM=NyNïOŸTUU~VNV¯Yë[8lfxzª›L›Àœ7 œ£®Ê»€½b¿/ÁÁúÃËÄŠÅ—Åñ Æ^ÆÌÈÈlÈàÊ.ÌçͱÎjÐ'Ñ©ÒÒoÔJÕPÖfֹרZÙÙ‘ÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©ââññ˜òýóãõñöº÷7ø“øûùUûmü"ýýíþDþ£m¨#»8š u æ D Æ £hÇ«I§"ž)÷5c8!XƒXøYzYèrGy8{?}#ü‚±ƒ¼„„Ž„ÿ† †|†ÐŠÅŒœŽïV³‘ˆ’h“€“Ò”$•x–6–®—Œ—î˜Q˜³™™k™Þš<š«Ÿ ®_¯Ë°±²Û³§´µ‹µñ¶I¸R¹º »»h»Ã½¶¾‘Á¼ÂÃiÃÇÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÔ\ÔûÖçZòEôûøjèR/75ë89;z<\<Í?n@S@×A8B~BÝC4HhJKfKÈL*MÄNÂOÇP&PyQÊR‹RúSÖT<T¡TûUZU»VV‚Ví[Y\MjØl?m0o8p$q‚qõrSrÄu(uÿwwowÒz§}ð~^ž€‚A‚¡ƒ„+†©ˆù‰O‹bŒ&Œ”ŽŽk"爑ܢg¯õÑNÑÊÕä+é5ñSóàõk÷Jøsû%ü+üÕý:þw þÌÿ*bË?¢ Ê & Ô ü Y «  þ¸0Y¼z×6¡^J:&ž((ò+",6-±.W.Á/•11ê2ö3²6"6Ø9-:K:Æ<=>?@yAïBÑE.G¥H€HãJGJ KULAM•]{k{AŒjl¦ª¯°ç²´³ÿ¶···Ô¸‡¸øº<º”ºð¿5ÀTÁ‹ÂÃzÃáÄ@ÆÆ~Ç,Ç‹ÈCÈ•ÈôÊFË Ë~ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–ÓßÔÃâ©äåæÙç;è›é´êšëwíËîâïBïžñsñëò¨öFöÊøIù}úíû½ü*ÿjúZ%öåCý  qJ(ÖH¢IX`$bÆc(dªikëm|oDpœs0s“tPuuovÓZw+{{È}}}~Ù>™–‚D‚¡ƒ_ƒ»„…g†%†š‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Šš‹ž/Ÿ« ž¢g¢Ð¤[¥u¦‰§`¨Åª««_«¶­j ®±ì²Y³ëµ¶¸·‘·þ¹P»l¼Â½:¿¡ÁZÂÛÿÆ ÖFä`õM #%$w'h(é*Ú,/.ä/B/û0­12¨37S8(9²:";™;ÿ›?P?´@ž@ðBLCCyDÆE%E‹FFeFÈG-G•HLM [F\À]®_M_­aOb:c_d7ežfühhxhÙjk3l>noAo½qYr|s†sótÄu1x‰yl{Q|Ë~ ~~äý€±ƒª“ÊÀéÉë׸ØdÚÚnÜàdâÂãßäGæ;çfè¢éÂê%êë9ëîìaíøîTî®ïúñòÈó™õ+õõì÷÷‰÷ìøNú3úãûLü<ü˜ýÙþ ÿiË)¡hÈ&’Y¾ÙD±Ï3Ãíç!O"ª##Â$$„&>&÷(*ö+y- ./#/™0©24 4û6á9Ö:6:•f?DOkCÿ«é{CôÉþº{ 0j·!Ö}Üú”B™ÞUZŸÜ~䌔‰TèÁI.Á&÷ÂKrSŽÏyiÇ\L‹bìÖ¶àž› Ç\Ež ‚Ì1÷º„º¾Á4nuÇà‘í·.…/ šáê¤ ž3gµÜô$ÉбŒH“ˆ™ÝÒAàÊâHþÅHƒTUlÊ/ b/7B~~^Ó׎º¥öõ% øI=,GUvÓ¿¡2¨|ËÄ*ö- zn{ó˜/äž&ç Ù­jã¢è¼ ‚Åñ3ã¢è¼ ‚Åñ3¶zÈ|C1È|¹Õd¹µK_ßqûYŒ _>n¹ °L*L‹NÂêñc1¦ªbÆÚš­ °$¹C1K’cv£1zâÅ$ë8p,0H÷Uš­­;ÅWØÍTUü"Ì­ °u(nDl¦M©ØÏö<² b_ ’4½:zCh5ÔÙ&bôuº>GµYŒœ.­žXßÒ’h%ã4ä§èµéçêSë†À à û x\ŽC“—›pŸª¡Î¥wÁIÆtÆÑÊÍæ4ÝG7KPMP~[Uch~gƒ‰ƒá‡~‡»ñZ"m å‘å,$Ì%•;v @»A¯sÁÂnÆ^ѩֹّùUù¿þDlGl’h“Ò–®˜³ ¶I»»h).)à8;z?n@×L‹P&PyR‹U»[Yq‚rSrÄwwoÈ| ñSû%ü+þwÿ* Y «J-±.W.Á2ö9¶·¸‡ÃáÈ•Ë~é´êšîâò¨ôs“vÓ>™ƒ»†šˆ8ˆ¢‰lu¥u¦‰õ/û@ðCM c_d7hxl>æ²çfïúøN’Ãç(n¶˜È| üÑ© °@éC 3gìØ§ãa¿ Oj  °@é†%Ù‘@én¶OÇõôäM‚D[ÕÆ3¶>M?†ùΜxÿŸVæb.fÐnWn…“·%+@Úßæö¡ÎX!\qÞ4‘6åÂnØZÙþ£Xø•x–6 °<\QÊyŸ þ5ÃŒjÊFIX…g†šBLCCyåÍúãýÙþ ÿTófÐ ° °øNkim?æa¿Ojñ 9<\·ømVÝj  ZVÒäÜWà„ü¸¸‡B¶ùí Ó¹®çCƒ%ü¢VNŒ”ÅÌM¿m›(mâUœ†Y/ž3¤ÏNŒHŒ¬I®J»ÃiÃÇÅYž€<<ïøIM¿³ëqY- ½²ޱޱޱµ%µ%k<5WíWÅWÅÃë<5<5<5.>M?þãKùÎ0•A ¡Ê§ãÛw"$^O͵T KŠ1¡ÎH"JŽLeh…¶"%•=·ÁúÂnÅ—ƒ¼‘æ ¾?ÌR‹rSJoDrów­j/ûæ;æ²çféÂçk'ÿ)O-Ä0,1Ö8ƒ8Ü?þBoB×¾ãKç_é¸ë_óöU÷ÎùÎÊ!Ö¢|¸¾5ÛwÜ-\*^–gœn…oÒwxyi•Î3æSà>âÐèµëðwsŠ1{›p¡ÎG7H"W»ch…¶" på%•C‘ÁÁúÆÌѩّü†|’h–®˜³ ´:R‹[YrÄ^J.Á¸ø¼„ÃáÇ,ÈCêšH¢uox­>™†šˆ¢¤[¦‰«­j`*Ú0­;ÿ@žCc_ÀéàdçfëîïúûL>X+Ÿ-0û‰!Ö§ã¹µß.„ &c+@/I×NO ÔYæöêS ‚ž JŽ_}5m嘚‰£ÂnÙù¿ƒ¼h–6L‹Pyþwì «¼×0§¶·ÎhíËy󖆚ªvCyFeG-Àiæ²þ ÿiÈç3:¾­{ó8Ýöº³§²Æè`Cÿœ.Π¸×¹µÕI-é{CauI™k¢ÌÎâÐCP~ÂnT<æ²çÓýëì5qÄC£~;vÅñÛ9„Ž©Ø`×~Ù¦;™ìa´žÂn5ÃTó§çÿ—§çÿ—JrÂTËý9örÏwºwΠ.r7n‰Ô±:è.íTöEŒ^¦«ª'®ö±& ƒ_sfUm?źÇ\ǯâо&¶Üô{óð® þÅš®Ê º ¼|"а8G€Qʈä+ î怒‚«€Ú^g®w+æp.sów»ý‚Ì4û6"ª«ddÿ ×Ü}'ö—žTªÎjŒhG€HhÀT %öØÂ“áQ eú'ö=·ðÿH€#ÂïöR$.E6»=ö?þB×C—et#xÔ{w€[ÁΠÖçãKé¸.«-‘.r6L7n:G;#{šçî S´Å¸¸uÒvØOÙ¼íTï±ò§5ìXXèlSn…q[qÄr1ŽŠ’™“·”§Ëª'ñ&%?Ù).8IKP'PˆS_saFd® Òèã4ä§êSë†À à ޴!ž!ú"Z&¶x\ŽC™9Ÿª¡ÎÁIÂÆtÆÑÛ»ÜáG4Ý=kG7KPM[Uch~gƒ‰ƒá‘`•̘ëñZú.ûû" å‘$Ì%•;v@»ALÈRyTUV¯¯s¿/ÁÆ^ֹݩùUýíþD8 u«§"lïv‚±“Ò »»hÅYÆcÔ\Ö)à/78;z?n@×P&PyU»[Yq‚wwoˆA‰OˆÕê9û%ü+þwÿ* Y «J-±2ö6Ø=AïHãLA¥ö¶·¸‡È•é´îâïBò¨ù}úíþ‡ú[M¿_fvÓƒ»†š‰l¥uµ¶¸¼Â¾CÁZÂÛÆ Û^!€#%(é/û>›@ðLM d7l>~~äý€±ÙxÝpçf’Ãç(:6:•?D1&Âk{€[ç_û‰%¨)¤8ßnã{ó˜yiÔ™¶ ÏÂTÔÇ´Õ¢4Ý’ºž&FòOŸšMœ7 £ÅYÉpаçê9üÕ9->©Øõ% ¶¸^0­Fe{Q6á:6%öØÂþ¸“᫹9ó˜rò/ÙëzÜ)ž&=·Œ&çH€ u.ä#®‰Íü‚Dˆþ®‰WTÒ‰O‚D:6 öΠ8‰Ô\q‘:·sN‚ê9ÁÈ™ÝÑ  þ¸5ä·¬¹9rò/ÙëzûÝ1š<m|аŒ&Ü)Œ&Ü)>M”N–Þù¿?Ìwš™¶³§ˆùÑ-ê`…ÍB^,`‘`Ny Z Dý­j D-Äç_ uÇ,0­ëî u> ØÂ“áN/ ƒź¸Ÿý:Â}}/™8ϵVU9-õ%‰†^C½b9-²bí˪fün)Öj·3gìØû‰ý‰§ã´Åa¿ - êS•w˜¿7{a×7˜Ä@Îhóxyó†%FeñiìØa¿{a7˜óxyóñ?† áx¸n…yi+@ æö èµ_Ñ©™¯ZCþ  “·O Ò “Òþw6ØvÓ"‹—A*‡œ7¾•ÎâÐ5ÃÇ,?PN‚Ûw„ÿ5Ã?´ ãKfЕΠµH"ÁúÊ.þ£yxBLçf&>!ÖR< µÈR<š¹µR<R< µÈR<1Ö>Md²é`Mh‚@dÆÌýí?ÌÕñïBw3ïúÿ—·s0b>Mé`:?Ìw3QM{ñÂr|!9ô¶¯1l5)aæà£›` Ø#“›P  LúuÁì{œ8Žô7®®k³(ßæ_£_‰¢ש“+P “L{÷Ár{#8ó¸®1k7(vå좖_×’žO KûxÀôz¦7”ó?­­j´'óåj¢+Õñ Bþ¸¹9ròûÝ1š<E‹)š_0´Ån…C?†+@æöþ BL- ÐÈlOÇ üÈ•ƒ»²b‘æÆ~ÙxǯÒèÆ~Æ~>›6"v–koÁ{5ìì ‚Ôrì $bÞ7™USÒUIuËHÌk‡žG€bÆyóyó-|\**5q…×7$bÞ7™UšSÒUIuËHÌk†^‡žCDaq½b{?¯kë'hâÂB¶ÿ—5‰Ô€ŒŸ/7Ó¹`צ5ÀYÖ°Œ—Œ—\¿æöÔr±gµÓ×YzIÎ`§ç¥Ö4݈ƒ 9Jǩǩcñ+7n̪Ü)‚n¥IŒ&ކ·Ô6ºý ¿ïÃqÜ)Œ&{ 䆿› ï]¹š uÆc*ƒö.…3÷ã¢aù̪L—L —ù)YF!ÛsÐ^‹àHS)¨À’¢|\*wf [HIø&3Þ [ðV [®b [kæ [ [(à [ãÀ [Ÿp [[‹ [´ [Ó;˜ [Î> [‰e [Cè [ÿC [¼2 [vö [3n [ïæ [­ú [k} [ [(S [ãO [Ÿ [[! [J [ÒÑ< [Íâ [‰ [C‹ [þâ [»» [v€ [ï|ÄŸk½'ð½âî½²'½÷u´è½ž½Zœ½Új×$‰à¨7I½<²´è ½Òa̽Ír½ˆž½þo<Ü$‰v(÷uø&$2Ïø&ï!ø&­Wø&j¶ø&'„ø&â‚ø& 5UÜø&ž ø&Z;ø&ÅàI&ø&ø&gø&ÑîOø&Ìõø&ˆ(ø&BÊø&þø&»ø&2`µ\kALÎýkAÉ›kAkA„ËkA?PkAúªkA·¢%.Ü༩Žíà¼gà¼#àà¼Þâ༚†à¼V‘à¼à­²ÉF²„x²>ô²úN²²·D²r².o²ëL²©2X5#{ÐàšޱX-ޱ LL˜`ޱÈûޱ„$ޱ> ޱùùޱ¶ïޱq¸ޱ.ޱêöޱޱ¨Üޱf^ޱ#ޱÞ8ޱ™´ޱV!LLDLL; 5ú 5ÍvË 5Èh 5ƒp 5ù<Ähà@u§†pÿ†-L†<²<²<²<²<²<²<²<²<²<²<²<²<²<²<²<²<²<²e±<²"l<²ݘ<²™B<²<²UŒ<²¥\÷Úƒàµ%F=°µ%øãµ%µýµ%p¢µ%,äµ%ê µ%§Çµ%eAµ%"µ%Ý,µ%˜Úµ%U$µ%@µ%µ%ÌÊ öµ%Çе%‚±µ%=Gµ%øqµ%µ‹µ%p9µ%,{µ%騵%§bµ%d×µ%!–µ%ܹµ%˜gµ%Tŵ%áµ%µ%Ìh ’µ%Çlµ%<Üp«°€µkœkkkkkkkkkkkk$Æ,àd‡à!HàÜdà˜àTfà‚àÌ ,àÇà‚à=WÅù–WŶŒWÅWÅq\WÅ-¬WÅêšWŨ€WÅeÿWÅ"¸WÅÝéF  SÐ_&äÐ_~OÐ_8aÐ_óÇÐ_°zÐ_kpÐ_'bÐ_Ð_äÛÐ_¢\Ð_`Ð_“Ð_×èÐ_“RÐ_P<Ð_ ¾Ð_È ñÐ_}äŽóˆKà°6Kàk.Kà'KàäzKà¡üKàKà_´Kà4Kà׉Kà’ñKàOÛKà s™¸}¥Ãë&8ÃëóFÃë¯ÕÃëjÍÃë&¡ÃëäÃë¡Ãë_UÃëÓÃëÃë×(Ãë’”ÃëO~Ãë ÃëÇ|9ÃëÂéÃë}ZÃëòîj<5*&N<5ãÉ<5¡C<5^û<5x<5ÖÍ<5’1<5<5O<5 £<5Ç É<5Ây<5|é<57d<5ò€<5¯=<5j<5%ç<5ão<5^˜÷5@;àõ1Nƒ†|ÈC@ž¼¢3,­ÀÐC@»‡uáîþ­jm'CÄâ3ÃÿYìÑŽ IÌœ‡ÞB}ý¶ºËu—2î¼ë¹¬Ïj+&üáî1‡Y©ÆÑK½ÌW‡™B ýZºpu:1ºî`¬siÐ&¡áš2YQxÐýpÌ ‡LAÓý º,™“të1fî ¬$i„&BáIœáY%Ц˳†óA{üµ¹Ôt‘1í®«Æi$%ûᜟX¼áÐbÕËo†«A4ün¹tF0¿íh«‚hÛ%²àºœ[XwŸÐ”Ë+†_@áü ¹Hsú0tí «*h„%fÈi¯«àrèáKÏÆKÎdÊà†@–ûÖ¸ïsª0%ìªÌh3%à›¶WÏñÏtóʈ…Á@Dû¸”sX/Óìmªqgà$»ßÀ›bW{Ï —Ê/…h?öû=¸<È6s /‘ì ªg‘$pßy›W)TÎ×IÉå…?žúý·õrÄ/KëÚ©ÓgJ$(ß.šÒVâr}fÃÞ> ¶ZêuÍ/‚nø,oþéolÛ=SSÊàbõÅ{RЦõ3Q&ÈÑÈ›`sØPP£ÃaÇÛ7Õ¡½Â¿VdDÐ'œì,65bîã©íc ۿ–Þ¿Síàͱì,6{È|'8(ó™ÕñVrLe‘æróÖ°€Ø €Ø ž3ž3ž3ž3.EÚNýëŽÏ¡/äOÍd‰Ð'Û9?ÌwÖ° 9êsn­kJrÂTËý3lprÏy1,­-‘8*¥ªª‹­˜®‰Zt[]¹^,_ f´k€óƒÑŸÙ‡ÚÌŽŸKãS6SŒš ÆÛWSÇCÒâ‚A‚¡„+@yE’JGöå±ì·‘¹PÀóÁÈr|s†tÄyÍ2 ãóá&¶'1fNŽC°–š­› ›pÑŸÖרÍßßá¾L—MMhSX![U‰ŽŸ—Á™}žŸßJ ‚ å yLKã[8šMœ7ÅñÆÌÈÌçÒoÕPš u æ§"žlGz2{?„† ŠÅŽï³™ÏÛÑ Ö).L*L‹MÄ|Ø‚¡… ‰O‹bŒ&ˆä+ëÀí3U9=@yG¥¨íÃzÄ@ù}ü*%MH™ƒ_µ·‘¼Â½:£†%‡Ýˆ8ˆ¢*Ú:";™;ÿ?PCDÆE%E‹Fb:zCæ;ê%î®õ÷÷‰úãþ iË)¡í"ª5Ô7n-keú6"ª‹UZ`צаÚÌS6öÀóö©©ƒ%š G-©©!žTUÛwdÀY…¶þJÂTÊ/u-Ä?†B×ç_¢|¸\*oÒ+@âÐæöèµ{_‹Ù u–6˜³ Ô¸øuo0­CyN‚ëî÷‰þ ÿ -Äç_âÐ_BÞ u¸øuo0­ëî°¹l¡êö+Ÿ , ,j- -Ä.E/Ò0,0 6">M ACcñ äõå- å]å¾åõæ°ç_é`é¸êû‰ ý’$ S¡¡Ê ¢|¤s¤Í¥(¶¸u¹µY×Z3Zò[¬\*^C^–^ò`?dyi” z?¥„Ù-vNPˆ ÑUѹÒ ÒèÔYÖaֶרPâêS ‚}ŽC{‘ž‘ò’G¦=ÊÍ!J'JŽ KPLeMMhNƒ N×O+Tªc^Þªm ‚ å S y Ð '˜š?¨ Eœ7ãÃËÄŠÅ—ÅñÆ^ÆÌ ÈÈlÈàÎjÕPÖfØZùU ù¿ýþDXøô‚&‚±ƒ¼„„ÿ† †|†Ðˆ*™·sº »è?n?Ì"@S@«@×A8B~BÝC4O,P&QÊTûU»uÿwwÒyxÑÊíû% ü+üÕý:þwþÌÿ*½ Ê «×.W 1ê3²¨í¶· ··Ô¸‡¸øº<º”ÎhÕñrós0s“tPuuov¥vÓ4w+w&–…g‡Ý‰l‹¨ÅªªvÅ&”.ä/B/û0­12¨3DÆFe G-HfüÂXéÂê%êë9ëîíøîTî®ûLi# 6">Mäõé`+¡gõ'PˆKP‚nŒ»h?ÌA8BÝL‹O,OÇwoyxþÌ üº”È•krówƒ»u3g0 ‚ yȆ BÝþ̺”·œsç·s6">M-h?Ì wuî®ò®éXŠŠ4G-ÚN_0O,½fКAàÊ.þ çÓ¢á\ ÔǰL—„ŽìaÔÇ ‚Åñ沃%׸Ö4K‰¨±eôßtÌ>5b?†B×Cÿu¹àžäõîãv–› ±:¸¹µG[Q oÒ+@Ç\Û¿æöé{'1'öC–Þ‹“ˆžŸð®:SŒTU[8xœ7®ÊÐ'Ù u5cƒ¼þ–6˜³Ê/ÖòE2ä+ëÀðÿ>Hã[b_CyÖ°åþ ÿ/™]ïé`9PpŒ3Yè {ˆƒwŸ©Ø±Šä ÝÉë!º„Ó¹mVuuñšçIrN/î£WÛž3X©ϵ0=kEJŒ¬ßøBLºWS ‘ ¤°‹bÅü¨—©Ø=,H H¢`Y+œÎ7‡ßòlºÄwëØØòý¯Ë Ql?(䟫\ÀW¼X:6Ìdžo†éC*C¨ÿ¹`v‰3óñ˜Så2®_jØ&žâ©ž/[F±àø&àø&àIàIàŽcŽcL LííÉë÷u´è,W¼X:Y+6œ¢|ÌÇÎ7Jr\*†o†é‡ßÀøC*C¨D’ÂTòlÿØE¹`ºÄv‰wë3óñ˜òý®_¯ËjØl?&ž(â©äž/Ÿ«Ëý[F\À±ÖçL;Ÿþí5Ã¨í ¢|Ûw\*{¥…¶º{ÚÖyx5ÔNаš2ˆbôƒÙ‡¸u µÈð®ªv÷ÎǯxµÉëÅÌ äõŸšYu´ÑU!ØZôQÊ…gÅÂX((d&÷žÔ¢çb52æ°t0,9>>ð??‰@yA_AïBѼ„ÃzÏ4 úíû½ü*ýþ‡ÿj6ºx­¶=·‘¹PºŸ»l½:tÄu1v~w»x‰¡Àî®÷ìç&>/#0r0©3:4 4û¨@ u¹ê`¤ÊaF¨@¾׫þ‡yl4û1zèš•ÌÏ sµt#º¾u*£ pÊ/ °?só¿ŽsØz¬óÎÒg0Ù&> 0,é¸n°ÓäM’×—î °¯õÈ|xaCþ’× ’× t#`©“ˆÛ¤Ê/T<…ÍÈ|Aïþ‡jwäM °Ãz|ì‚¶ AÖç’$À•L;ŸÅ̤ìN‚ÛrSrSrS [C u¹±:Q )'ö u‘æаG€‚D_–Þ0• 0••LÈ uÆc‚A>úí¶¸só/™aF3:蚢¾´Õ¢’ºOŸ £Ép_ ´Õ¢’ºÉpNïOŸ ÆȘ„+@y^,Ô]‘`Ny D £ÈÓ’LM=‚¡rÏ-‘¹P2,­æ› ï]¹qgü*·þu10©ÇCƒ?û½·‘tÄ æÆÔ u u oÌ*ªä†žà[óÑŸŽŸKãšs†/#eP'R<™ÞÕñ^ž±:?ÌL;Ÿ`צöE-m?­;VdDìî®å-÷α:¹µѹJ'þÅ SYë¼|"z2¾Ô\L‹O,ç`×Äߦ 7PßÕŽŠˆƒϵ•ÆÌ uÏÛG¥Ö°ûL‘æ‘æþÊ.).âgB¶ÿ—©ØzŒÖOä͵Üè¼zA7-ò×½bkëCñ¯ºCw«xÑ› /äd #¬ÄÂT73àÊV¯åwoËüõ=,±ìÀó*öj·fˆFò[‰_ µT} "'Mš “ÄæFƒÙx#5èBoÒ›ÓZ6œsŽ·DÎ7HhÍ, `Z¼ØØÚqSå®_¯õÈ|Ìhü€Ø‡Ùå¢gÿ«\À]®ØdD±+RW¼ˆ Ó¹ÔÕd8(•IrOZ ¶¬ÄÆééçC|´ϵþ>›?xÝ–Þ,6@A8ISåqMÒƒÅÌ,È|ý:`ÿaVvÓˆþÿ«MÙÚžX¯õxaØØü 0× ˆC*48®ÊÜpSålG).È|Yz>Í WQ¿´ÌO…ùB³þlSåÌh©÷º#¹!½A¢WQlu¹}J}°¿tÕd¿´&º'60•0ÿ5„7nyý¶ßÌOà‘èšê`ê¼íTï:ñßôx4XG[L;QÌ\…ùšá¢¾§Ë¬Ó¯oïbïå` ˆ$“-kB³C*Wohøž3¨ã¬W¬Ä¿þlþÜsùã‘Ê$'1gJgµƒ%5ͽÑ8ßá¾"ë#]?ôbœб‹œžŸ¼>Ü¿àTàÊð®ó¶ü¢àH [8œ7žž”®Ê±ÍÜp¨#Žž[u\lGo;™Þ¾ÂÄ«ðb).T<UZ}ð~^‘ÜÈ|ÓkÓ×ä+Yz:K:ÆJ KUŽº&l¦ª§ «€¬ÔÆöFöÊC=,KŒLb g®‚D²Yÿ zE%FFÈoAo½ylƒªÖ°ÚÛ&÷*ö+y/™4û9Ö;˜<ªnn¶Nƒ†|ÈC@ž 91Öë_¦k`?vØP“—P~ pÊ.½xüïúsغ #Î&e±Í>W!ÖŒ—•w²b¹µÛwG[Jr•ÎÉR<ÂTÇ\gµ…¶5BÞ‘æÕñ‚Dªv­jb¶ÉÅÌŽÏ€Øt¶9oöè¹»!½$b%z%ö'ÿ(w)O*’+Ÿ, ,j--Ä.E/Ò0,01Ö3g3Å45b6»7P8ƒ8Ü9>9¡;_<Ô}ÕIÖ¤ØOÙÙcÙ¼ÛwÜ-à‘áâUã{䆿›ç·è.élê`ê¼íTí·ï±ñßò§ó˜ôxöE$^1º5­5ìIOZQ QÌSÒUV W XY×Z3Zò\*\^C^–^ò`?a¿bícÂdeÅfÐg5gœgõi¼jwjãkùlSl­n…oÒp,pŒpîq[qÄr1r‹ròwxxxyiyß…Š…ù†o†é‡ß‰™Š‹9Œ^'ŽŠbÔ’™“V“·”•Ζƒšá›Hœ†Ïž|žà ï¢A¢¾£ò¥ª¨.ª‹¬Ó­˜®‰¯o±&ÀˆÝöì:ïå‰ ¶ ˆ =IuEø7%´ z?¥ „Ù-v G  ×"g#o#Ó$0$“&c''€(©))_+@, - -k-Í.8.¢//n/Ù3æ494Ó596VBKB³C*C¨FF…GÕH•II×JùKKúMaNO OÅP'PˆR<SS¾WoWÛY/Zt[[]¹^,_ _s `mb:bôddve/e˜høiÌk k€m?|쨱¨ã¬Ä® ½oÁ ÆéÉ)ËHÌkÍDÎüÏÝѹÒ ÒèÔYÔÇÕ@ÖaֶרPÚÚïÛ¿Ü}ÞßßqßÒà>ââÐã4äSä§äûæöèLèµéé{éçêSê»ëëzï„ï×ðwðßòòlýýþlÿj…õP†SrÀÔ  ™ ` à  ‚ µs*ùd¤ ã‘ó`B´áʽ  Ù!>$%N&¶'1'ö)ò7·CEWP cÒgµhø®„2 †^‡žˆƒŠ1‹}ŽC°{‘ž‘ò’G“—––Þ—ž™9šAš­› ›p5ž ŸIŸªŸú¡Î££~£ë¤M¤¯¥¥w¥á¦=ª,ª««„¬Ó¹`ºÄ»¢¼¼‰½Ý¾­¿¿äÀñÁIÂÄ>ÄôÅWÆÆtÆÑÇ/ÈÉMÊͽÎ'ÏNÑ8ÑŸÓÔ]Õ1Õ¢Ö×׫Û»ßßßáGá¾òp– !#]$É%±>›@þ AÿB¶CDaEJG7H"IÄJ'JŽKPL—MMhNƒ N×O+P~SSíTªVdWTW»X!XŠZV[U\q\Æ]'^Y_`?`©aaua×b9bœcc^g˜h8hv‰wëxÝyRyÄ{'{ó|g}5}Ü~~g€£_‚‚nƒ+ ƒ‰ƒá„F…¶†Y‡б‹ŒHŒ¬Ž5ŽŸ•‘`’L’º“î–†—Á˜ë™}œž&žŸ®èº{¼ïȘÜÞ4ÞªßàÊâHý± þÿ—qB" ¯m* - ‚ å S y Ð ' pàDàL'#<‘æ6åX,˜hÏ5šû r$Ì%•3ó5W6@88Ý9P::Â;%;v=·>n?B?¨@d@»AAvBÞC‘DAH HƒI®JJËKzKãLÈM=NyNïOŸU~V¯Yë[8lfzª‰q›L›Àœ7œ£Ÿó»€½b¿/ÁÁúÃËÄŠÅ—ÅñÆ^ÆÌÈÈlÈàÊ.ͱÎjÐ'Ñ©ÒÒoÔJÕPÖfֹרZÙÙ‘ÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©ââññ˜òýóãõñöº÷7ø“øûùUù¿ûmü"ýýíþDþ£m¨#»Ž8š u Z D Æ £hÇ«I§"ž)÷8!XƒXøYzYè]‡^YlGrGy8{?}#ü€q‚±ƒ¼„„Ž„ÿ† †|†ÐŠÅŒhœŽïV³‘ˆ‘æ’h“€“Ò”$•x–6–®—Œ—î˜Q˜³™™k™Þš<š«Ÿ ®_¯Ë°±²Û³§´µ‹µñ¶I¶²¸R¹º »»h»Ã½¶¾‘Á¼ÂÃiÃÇÄ«ÅYÆcÇCÈȘÉpÊ/Ë ÍlÍËÏÛÒâÓ9Ô\ÔûÖçZôû´:JøjèRÜ)./75ë89;z<\<Í?n@S@×A8B~BÝC4HhI¨JKfKÈL*L‹MÄN NÂOÇP&PyQÊR‹RúSÖT<T¡TûUZU»VV‚Ví[Y\MjØl?m0o8p$q‚qõrSrÄs™u(uÿwwowÒz§}ð~^ž€‚A‚¡ƒ„+… †©ˆù‰O‹bŽŽk"爑ܓ¢g¯õ¿ÄæÑNÑÊÕñSóàõk÷Jøsû%û€ü+üÕý:þwþÌÿ*6bË?¢ Ê & Ô A ü Y « þ¸0Y¼z×6¡^J:&ž((ò*Å+",6,-±.W.Á/•0è11ê2ö3²5q6Ø:K:Æ<=>??‰@yBÑE.G¥HãJGJ KULAM•]{k{AüŒj¦ª§x¬Ô¯°ç²´³ÿ¶···Ô¸‡¸øº<º”ºð¿5¿ùÀTÁ‹ÂÃzÃáÄ@ÆÆ~Ç,Ç‹ÈCÈ•ÈôÊFË Ë~ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–ÓßÔÃÕñâ©äåæÙç;è›é´êšëwì®íËîâïBïžñsò¨öFöÊøIù}úíû½ü*ÿjúZ¶%[åCý  qJ(Ö6D6ºH¢IXIÎM¿b bÆc(dªikëm|oDpœs0s“tPuuovÓPw+{{È}}}~Ù>™–‚D‚¡ƒ_ƒ»„…g†%†š‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Ššž/Ÿ« ž¢g¢Ð¤[¥u¦‰§`¨Åª««_«¶­j®±ì²Y³ëµ¶=¶¸·‘·þ¹P»l¼Â½:¿¡¿þÂÛÿÆ ÖFäñˆš`ÅNõ $w'h(†(é*Ú,/-h.†.ä/B/û0­12¨33_4¹6)7S8(9²:";™;ÿ›?P?´@ž@ðBLCCyDÆE%E‹FFeFÈG-G•LM MrZxZÞ[F\À]®_M_­aOb:c_d7ežfügfhhxhÙjk3l>oAo½qYr|s†sótÄu1v~x‰ylzÿ|Ë~䀱ƒª‹í“Ê®°‰ÀiÀéÉëØdÚÜàdâÂãßäGåæ;çfè¢éÂê%êë9ëîìaíøîTî®ïúñòÈó™õ+õõì÷÷‰÷ìøNú3úãûL ü<ü˜ýÙþ ÿiË)¡hÈ&‘’Y¾ ÔÙD±.Ï3Ãíç!O"ª##Â$$„&>&÷(*ö+y+Ü- ./#/™0©23:4 4û5X:6:•f?DOkTó=, [@±6">MÑç5„ê`Q )¿± ÐKzx®Ê5còE?Ì\¿wp.èJ+Ü:•α5è0,1Ö8ÜBoC1IG]ïcd²g0{Ò›ÓZé`é¸ë_ìØðgó÷Îø2ú;ûìý Ë+.r‰ÔŽŽÏ¤Í§ã©í¶·DÔ}í·ôxHhIXY×Z3^Ca¿gõp,Œ^“·ÍÞ ;Ù )_, Ma^,dvÀYÁ ÏÝѹßÒêSï„{4†^š­ŸI£ë¤¯ÅWCJ'P~W»\Æ_a×b9|g€£‚n‡~—Á¡¬ûûL#˜Ï9P@dTUU~½bÄŠͱÚqü"ýíþ£m D†|V“Ò–®—Œ—îš«Ÿ³§´¶I»Ä«ÈÍlÍËÏÛа/7B~BÝKfOÇSÖu(„+… ˆùäÍê9 ü¸06Ø@yE.G¥¯º<ÈCÈ•Ë ÎhÓßÔÃïBõ†ù}MH`$b_kŒkëvÓƒ»‰ËŠš¤[­j·‘ÁZ6æEõ^#%''h2¨3;ÿn½bþG€u(… ÿ*1êG-hÃöΠ‰ÔŽÏ‘`EÏ0—A¹±+ ‚îâ =N@þý±:/íb6Í6V6V`òo;ºòÕñ¹µ>M?̺”wŽ73JËwǯǯdª{â®çƵšMuǺ¾È|ÌÎàI ø&`÷¹'ÿ+Ÿ, -07P8ƒ8Ü<?†ACA¢BBoHUI²WQW¼Z\X_`9acd²enllprÏu¹y1}J}°¿tÕdÛqáòâg䋿°é`é¸êë_ñ+òKò®öUùÎû‰ûìüUüÀÊ6œ‡Z€+E (!Ö&º'6,­-‘.r.á/´0ÿ7n8*yý–ÅšŸ/¡¡Ê¢|¤s¥(ª««­­‹°Ó±:²b¶¶z¶ß·D½<¾5ÌÇÎ7ÏïÑÙÛwà‘è.èšélê¼ñßôx4XIOZQ \*^C^òa¿dfÐg5jwkùl­oÒp,pŒpîwx†o‡ß'“V•Ζƒšá¢¾£¥ªª‹¬Ó­˜®‰¯oÀˆïbïå ˆ¥„-  ×#o#Ó'(©)_, - -k-Í3æ4Ó6VC*F…OÅR<SWoZt[]¹^,_ f´høk€¬W¬ÄÍDÔYÖaÖ¶Û¿ßßqäSäûèLèµéé{ï„ï×ðwòP ` µsùã‘óáʃ $%N'1'ö7·CgJgµˆƒ‹{‘ž“—––ÞšAš­ŸIŸú££~£ë¤Mª,«¬ÓºÄ»¢¼‰ÀñÆÈÉMÊͽÑ8ÑŸÙ‡ÚÌßßßá¾þ"ë#]>›B¶DaH"J'NƒO+P~SSíVdWTW»\q_`?`©aauh8}5ƒ+„F…¶†Yб‹Œ¬ŽŸ“î—ÁœžŸº{ÝÂÞªàTàÊÿ—q m ‚ y ' pàD'<å,˜h9P:=·@dAvBÞC‘H KãS6SŒ[8™ô›Lœ£žž”»€ÁúÃËÅñÈÊ.ÌçͱÎjÐ'Ñ©ÖfØZÙÙ‘ÚqÚÖÛ9Û¤óã÷7ûmþ£m¨#Žš ÆhÛžWSXƒYè[u\{?ü„„ÿ† ŠÅŒœŽïV‘ˆ“€”$–6—Œ—î˜Q˜³™°±´¶I¸R»ÃÂÄ«ÇCÒâøèRðb9<\<ÍA8B~HhJKfKÈNÂOÇR‹SÖT<T¡p$rSrÄu(wÒz§}ð~^‚A‚¡„+‘ܯõÑÊÓkÓ×äÍõký:bË?¢ Ê & ü¸Y¼(ò,6.W.Á11ê3²:K:Æ@yE’JGJ KUkŽº&l¦ª¯²´·º<Á‹ÂÃzÃáÆÆ~Ç‹ÈCÊFË ÌÎÍAÍ Íüåè›êšíËïžöFöÊZöåCJ(ÖKŒL\¿`ÿkëoDs“uvÓ}}~Ù>‚D‚¡ƒ_†%‡Ýˆ8ˆ¢ˆþ ž¢Ð¦‰¨Åª«¶±ì²Y·‘¹PÀóÁÈÿÖFä z'h*Ú.ä/B1:";™;ÿ?P?´BLCDÆE%E‹F]®_­aOb:c_ežfüjk3oAo½r|s†tÄyly̓ª“ÊÚâÂæ;ê%êî®õõì÷÷‰øNúãü<ýÙþ iË)¡¾±3í"ª#Â$„*ö+y/™24û9Ö;˜›  ƒÚN•w/äOÍi¼” ;Pˆǯ "Z}ÆÑKPƒá>nVNº þDwŸ»h4QwoŒ”>«€ò¨g®vÓ#%ßê¼/4Xê¤ïb]‡„B~Џ‡º<vÓ¼Â2¨5X㢄$‰ÚN OÍ‚|?Xš8ƒòKkù#o(©b:ßßqäSϵVdD<ÂnÑ©„wÒ3²©ØÃáÇ‹>‚¡ÁÈ?Pæ²øNž|aFŒ¬©ØR<N‚6"¬Ägµ#]àÊž”BÝÓ×âg¬ÄàÊ’h<±n½v()¤ ,x.rŠäã{ò§/™¶ Ïê¤ñ&Zt^,eú iÌã!žÐŒÙéßß‹Ž æ Z§VcÄ«ÆÔÈа ð0­]‚¡ƒŽkÕ=¯ù}û½CLkëµ·‘ z'hr|tÄ€±Ä.5X9Ö{ °~Ù °;™ 9ž3ž3ž3Õ1B׸ëc˜³ˆ¢ƒ%~Ù;™6"¿/(éǯ¯ÌΠ3@toöè*5+Ÿ--Ä.E05b6"<HUcñt#wº{{€[œ.ÁΠÓZÛqàžç_êîã÷ÎùÎý€+.r0•2ˆ5ä6L;#buÇ(šç› ¡Ê¢|«1°!±:²b¸uÔ}Ûwè.ì5íTï±ò§ó˜öE/äJrN/Q Y×\*`?cÂl­wyi•Ζƒ—A©©ª'ª‹®‰±&ßTÉ-v  ×-k/0H59JùNR<SY¤_saFbôeúf´m?ÀYÂTǯÍDÔYÖ¶Û¿âõ ‚ µ´½!ž!ú"Z'1'öCOÞVgcÒ{–ޡΦ=½ÝÈϵÕ1Õ¢׫Ü)ÜþJŽSíVdZV__c^‚n…¶Œ¬’º–†™Ýž&žŸº{Ï¿ð®þÅm SàD'65šOŸS6TUVN[8xšMœ7®Ê¸G¸Ÿ¿/Å—ÎjÐ'ÔJÜøû] u £I§5cYzlGqMuº}#ƒ¼h‘æ“€™Þ¶I·sÃiÉpаÑ òE).,689@×G€JMÄPyQÊTûUZrSyŸ…ÍŒ&Œ”çä+ëÀíñSý: «0¼n1ê=>AïH€l ‚¨í©Ø¶··Ô¸øÁ‹ÊFÌÎÏöÕñù}þ‡úö  q;#H¢\¿`×uo‚D„…gu¤[µ¶=ºŸ¼Â½:Æ  `æ¦ÖM(é/û0­?´BLsóyl~ä ý€±ÀéÔrÖOÖ°ØdÚnåéÂë9ëîî®&÷9Ö:6:•?DTóÏ@tÌoö ± º#5R¹A» $ ƒ!½$b%ö ')O*5 +Ÿ, --Ä.E/Ò01Ö5b6" 6»7P8ƒ8Ü9¡<=Ÿ>M?† ?þACA¢BB×C1CÿDk HU]ï accñd²eengêj·kllpm›n½ oÌ qgrÏsµt#tðu¹v£wºy1z³{ }Jw€[œ.uÁΠ ÑÓZÓ¹ÕdÕÄÖç×W ØÂ ÚNÛqÞ7ßÕàžãKä-å-åõç_çÓé` é¸êë_îãðgñ+òKózõAöU ÷v÷ÎùÎú;û‰ûìüUüÀý ý‰ýëþVþ¸Ë.ý€O+E«!Ö"‹%¨&º'6(m)¤*ª,­-‘.á/´0•0ÿ1z3¥5„5ä6L 7n8*8:GbuÇv–xÑ{‰ÔŒ—ŒÿŽÏ‘’$“á ”N•w–Å™Uššç›  œxîžÔŸš¡¡Ê¢| ¢á¤s¤Í§ã«1¬V­ì°!±:²b¶·D¸¸u¸×¹9¹µ¿ÆÔ}ÕIÖ¤ØOÙÙcÙ¼ÛwÜ-ßn à‘ áâU䆿›ç·è.èšélê`ê¼ì5íTí·ï:ï±ðò§ ó˜ ôxöE/ä5ìFùG[G¼IrJrL;N/N™OÍQ QÌSÒUXè Yu\* \^–`?cÂdfÐi¼jãkùlSn…oÒpŒpîr1r‹ròyiŽŠbÔ’™“·”•Ζƒ—A ™¶šá›Hœ†ž|žà ï¢A¢¾££ò¤Ê¥ª§Ë©© ª'ª‹­˜®‰®ö¯oÝößTïåñ&`É)¨Ÿ‰ ƒ í ; ˆ =Iu%´z¥ „- v  "g#o#Ó&c'€(©))_+@ , - -k-Í.¢//Ù0H3æ596VII×JùKKúN O P'PˆR<SWoWÛY/Y¤Zt[[]¹^,_ _s`maFaÏb:bôd dveúfUf´iÌk k€m?¨ã¬Ä ® ®ç¿ÀY ÂT źÆ#Ç\ǯÉ)ËHÌkÍDÏÝѹÔYÔÇÖ¶ØPÛ¿ÞßßqâÐã4äSä§æö èLèµé{éçêSê»ëëzðßòõ†SÀ ™ à ‚ µs*Þùd¤ ã ‘ó `B ´á¾ƒ !>!ž!ú&¶'1'ö COÞVgcÒgµ hø{4 €Œ €í‚"ƒ%„2†^‡žˆƒŠ1}°{ “—––ÞšAš­5ž ¡Î£¤M¤¯¥¥w¥á¦= «­;½Ý¿äÁIÄôÅWÆÆtÆÑÈÉMÊ̪ͽÎ'ÏNϵÑ8ÑŸÕ1ÖרÍÙ‡ÚÌÛ»Ü)ÜáGá¾þ#] $É484Ý73=k=Í?ô@þCDaEJH"J'L—MMhNƒO+P~SSíVdZV[U\q__`?aubœcc^|g}5}Ü~g‚‚nƒ+ƒ‰„F…¶†Y‡‡~‰б‹ŒHŒ¬ ‹Ž5ŽŸ• ‘`’L“ˆ“î•Ì—Á˜ë ™}™Ý ž& žŸ¡¬§çº{ϿުßßJàÊ âHð®ó¶ú.ú”ûû ü¢ý±þÅÿ—qB" m ‚ å S y Ð ' pàD'<‘6å,˜h5š9P :;v=·?B?¨@d@»AC‘DAFòH HƒI®JKãNyNïPXRyS6SŒTUU~VNV¯ Yë[8x™ôšMœ7ž”Ÿó®Ê±Í¸Gº ¼|½b¿/ÁúÂnÅ— Åñ Æ^ ÆÌ ÈÈlÊ.ÌçÎjÐ'Ñ©ÔJÖ¹ØZÙ Ù‘ÚqÚÖÛ9ÜÜpÜÓâñ÷7øûùU ù¿ ü"ýýíþDþ£¨#]»Ž8š u æ Z D Æ bh«ÛI§"ž5cWSYz\]‡lGo;rGuºvwŸ{?}#üƒ¼ „„Ž„ÿ† †|†ÐŠÅŒhœþ Žï ³‘ˆ‘æ’h“€–6 ˜Q˜³™™k™Þš«µñ¶I·s¹º »»h½¶¾ ¾‘Á¼Â ÃiÃÇÄ«ÅYÆcÆÔÇCÈȘÊ/Ë ÍlÍËÏÛаÑ ÒƒÒâÓ9Ô\ÖòERbÜ).*7,6/724Q 5ë89;z<\?Ì@×A8BÝC4G€ HhJ J\L*L‹MÄNÂO,QÊR‹T<T¡TûUZU»VV‚Víp$pŒrSrÄu(uÿwwowÒyx}7}ð~^ ž€‚A‚¡ƒ„+…͆©ˆAˆù‰O‹b Œ&Œ”Žç ˆÑÊÓ×ÕäÍç(ê9ëÀíîðÿñS÷Jû%üÕý:þwþÌì Ë3¢ Ê & Ô « þ¸0Y¼z×6n^,6.W .Á/•0è11ê2ö3²5Ã6Ø9-9:K:Æ<=>?@yAïBÑDlE.E’G¥H€Hã JGJ LA&l ‚ ¢ç¦ª¨—¨í©Ø«€¬Ô¯¶··Ô¸‡¸ø º”Á‹ ÂÂcÃzÃáÆÆ~Ç,Ç‹Ë ÌÎ ÍAÍ ÍüÎhÎÊÏ4ÏöÕñè›êšíËîâïBïžò¨õ% õ†öFöÊøIù}úíû½ü*þ‡ÿj"ú%ö[ åC   q;#H¢ LMHM¿\¿]_ `$`×`ÿb_ bÆc”dª fg®ikkëm| oDs0uuo vÓ&w+w yó }}}ß~Ù>–‚D ‚¡ƒ_„†š‡Ýˆ8ˆ¢‰l‰ËŠš¦‰¨Å ªªv««¶­j°¹±+±ì²Y³ëµ¶=¶¸·‘¹PºŸ»l¼Â ½:¾CÀóÁZÁÈÆ š` zÛæ A¦Ö7EõM^ !€#% $#&”'h(é /û0­13 8(:";™>›?P?´BLCCy DÆE%E‹FeG- G•N‚ bc_d7ežfühhxnnoAo½qYr|s†sótÄu1v~w»x‰ylyÍzCzÿ{Q|Ë~ ~äý €±ƒªÀÀiÀéÃÅÈƵÖOÖ°׸ ؽÙxÚÚnÜÝpßàdâÂäGååcåÍæ;æ²çfé ë9ëîìaíøîTî®ïúõõì ÷‰øNúãûL ü<ýÙþ  ÿ i)¡hÈ&çç"ª##Â$$„&÷*ö+y- . /#/™0©23:4 4û5Ô6á8b9Ö:•f€5„‰Ô±:/ä59õ½ÝûûþÅøû u}#E’Õñ q„MÚn:•'v()¤:G‰Ô•w¶ß¸uã{/äÏ dÖ¶ë°áGL—Ž5™}šÂn8˜Q˜³·sÔ\G€yx¡9-¸øõ%uoBLG-äGæ²çÑ-FùÒäý±š¤º&6`¿Òó¶±Ío;Ò*ºVåÑýëVŒ—ŒÿžÔËÜyG¼JrYF…Š`)BK¿¿„¿±ÂTÉ)ýýzŒ¸Ç737ᤠó¶ý±±ÍÔJÛ9o;5ëMÄ¢çËÖËýÖÀ’ÖO±*5-01Ö6"<?†]ïcñœ.¼+ÓZØÂÛqàžäõå-é`õAú;+0•‰Ô› ¡¡Ê§ã±:²b¹µ¿ÆÛwOÍQ dr1r‹”•Î)- +@/596VPˆ[ÀYÇ\É)ѹÔYÔÇÖ¶æöêS ‚ µ'1CcÒˆƒ¥­;ÂÈϵ Ü)þ=Í@þEJJ'JŽMhO+__h{ó‚n…¶‡~Œ¬žŸú”ý±B '˜h%•9P:;v=·BÞ[8Å—Æ^ÆÌÐ'ÙùU u!Ûƒ¼„ÿŒŽï‘ˆ–6˜Q ·sаÑ ).,6/79?ÌG€T<T¡woyxŒ&½¸0¼×J.W5ÃE’H€ ‚©Ø¸øÈCË ÎhÕñH¢uowyó–‚Dªv­jÁÈ`æÖ/û3@žCyN‚bÀéÛéÂë9î®ïúþ ÿi*ö/™ 06"'ö–S_ÌçŠÅðÿN‚ wÓZó˜ǯ&¶4Ýž&"çˆ 6">Mþ¸¹9rò/Ùëz'S6Ânа?ÌÁ‹wæ² Cÿé{ZV'LÈS6ÜÃiÆc 0>M!Ö­;:™/7?Ìw)Ç\þÑçèJ*5G[É,6Ö°—sǯŒÿG[É73ß$b6"u¹ÜqÞ7™U¤s­ìÛw/äMSÒ¨IËHÔÇC…¶½bÃi8G€óà©ØÕñ'hÖ°îT‡è¼ °÷­ìL‹‚¶Ä¡øÖF“Ê÷¸rÏrùµ%R<I­ìL;mEΠµÜpÞtÌoö±º#èR¹ A»$ ƒ!½$b%z%ö'ÿ)O*5*’+Ÿ, ,j- -Ä.E/Ò0, 01Ö3g45b6"6»7P8ƒ 8Ü9>9¡;_< M?†?þACA¢BBoB× C1C—CÿDk HUIGI²JÍVåWQW¼X:Y+Z[ó\X]ï_`9abcc cñ d²eeng0gêkllpm›n½oÌqgrÏtðu¹wºxÔy1z³{{|˜}°w€[œ.²t¼+ÁΠÑ-ÑÓZÓ¹ÕdÕÄ×WØÂÚNÛqÜqÞ7ß[ßÕàž áxáòâgãKä-ä‹äõå-å]åõæ°ç_çÓé`é¸:ê ë_ìØíGîîãðgñ+òKò®óózõAõôöU÷v÷ÎùÎú;û‰ ûìüUüÀý ý‰ýëþVþ¸ËÊ7JV¿6´œ&‡.ýZ€O¶+E«  (!Ö"‹%¨&º'6(m*ª,­-‘.r/´0•1z45„5ä6L7n8*8:G;#uÇv–xÑ{‰Ô Œ—ŒÿŽÏ (‘“á”N••w–Å™Uššç›  îžÔŸ/ S¡ ¡Ê¢|¢á¤s¤Í ¥(¦k§ã¨F©©íª««1«¬V­­‹­ì®[°!°Ó±: ²b²º´Å ¶¶z¶ß·D·¬¸ ¸u¸×¹9¹µ ½<¾5¾£¿o¿ÆËÜÌOÌÇÍ@Î7ÏïÑÒvÓ>Ô}ÕIÖ¤ØOÙÙcÙ¼ÛwÜ-ßnà‘áâU䆿›ç·è.èšélê`í·ï:ï±ðñßò§ó˜ôxöE/ä5ìG[HhIIrJrL;N/N™OZOÍQ QÌSÒUW XXèY×Z3Zò\*\^C^– ^ò`?a¿bícÂdeÅfÐg5gœ gõi¼jwjãkùlSl­n…oÒp,pŒpîq[qÄr1r‹ròwxxxyiyß…Š…ù†o†é‡ß‰™ŠŒ^'ŽŠ bÔ ’™“V“· ”•Ζƒ—A™¶šá›Hœ†ž|žà ï¢A¢¾£ò¥ª¦«¨.©© ª'ª‹¬Ó­˜®‰¯o±&Àˆî£ïåñ&`ÉÍŸ‰ í ¶ ; ˆ =Iuø7% z?¥  „Ù-v G  ×"g#o#Ó$0$“&c''€(©))_+@, - -k-Í.8.¢//n/Ù3æ4Ó596V6ÍBKB³C* C¨FF…GÕII× KKúMaO OÅP'PˆR<SWoWÛY/Y¤Zt[[]¹^,_ _s`mb:bôdveúfUf´høiÌk k€m?|ì¬Ä½o¿ÀYÁ ÂTÆ#ÆéÇ\ǯÉ)ËHÌkÍD ÎüÏÝѹÒ ÒèÔY ÔÇÖaֶרPÚÚïÛ¿Ü}ÞßßqßÒà> ââÐã4äSä§äûæöèLèµ éé{éçêSê»ë ëzï„ï×ðwðßòòlýýþlÿ…õP†SÀÔ ™ ` à  ‚ µs*Þùd¤ ã‘óB´áƒ !ž!ú"Z$%N&¶'1'ö 7·CcÒgµ{4€Œ€í®ƒ%„2†^‡žˆƒŠ1‹}ŽC°{ ‘ž‘ò’G“—•w––Þ—ž™9šAš­› ›p5ž ŸIŸªŸú¡Î ££~£ë¤M¤¯¥¥w¥á¦=ª,ª««„¬Ó­;¹`ºÄ»¢¼¼‰½Ý¾­¿¿äÀñÁIÂÄ>ÄôÅWÆÆtÆÑÈÉMÊ̪ͽÎ'ÏNϵÑ8ÑŸÓÔ]Õ1Õ¢Ö×Ù‡ÚÌÜ) ÜÜôßßßáGá¾òpþ–#]73=Í>›?ô@þB¶CDaEJG7H"J'JŽKPLeL—MMhNƒN×O+ P~SSíTªVdWTW»X!XŠZV[U\q\Æ]'__ `?`©aaua×b9bœcc^ g˜h8hv‰wëxÝyRyÄ{'{ó|g}5~~g€£_‚‚nƒ+ƒ‰ƒá„F…¶†Y‡‰б‹ŒHŒ¬Ž5ŽŸ•‘`’L’º“î—Á™}™Ýœž&žŸ®è¼ïÝÂÞ4ÞªàÊ âHð®ó¶ú”ûûü¢ý± þÅÿ—qB" m* ‚  å S  y Ð '  pàDàL'#<‘æ6å,˜hÏ5šû r$Ì%•3ó5W6@88Ý9P: ;%;v =·>n?B?¨@d@»AAvBÞC‘DAFòH HƒI®JJËKzKãLÈM=NyNïOŸS6SŒTUVNV¯Yë[8lfxzªšM›L›Àœ7œ£Ÿó®Ê±Íº »€½b¿/ÁÁúÂnÃËÄŠÅ— ÅñÆ^ÆÌ ÈÈl ÈàÊ.ÌçͱÎjÐ'Ñ© ÒÒoÔJÕPÖfֹרZÙÙ‘ÚqÚÖÛ9Û¤ÜÜpÜÓÝ1Ý©ââññ˜òýóãõñöº÷7ø“øûùUù¿ûmü"ýýíþDþ£m ¨#]»8š u æ D Æ £hÇÛI§"ž)÷5c8!WS XƒXøYzYè]‡lGo;qMrGvwŸy8{?}#ü‚±ƒ¼ „„Ž„ÿ† †|†ÐŠÅŒhœþŽïV³‘ˆ‘æ’h“€“Ò”$ •x–6–® —Œ—î˜Q˜³ ™™k™Þš<š«Ÿ ®_¯Ë°±²Û³§´µ‹µñ¶I·s¸R¹º »»h»Ã ½¶¾¾‘¿7¿•Á¼ÂÃiÃÇÅYÆcÆÔÇCÈȘÉpÊ/Ë ÍlÍËаÑ ÒƒÒâÔ\ÔûÖçZòEôû °øjèR).,6/75ë89;z<\<Í?n?Ì@S@×A8 B~BÝC4G€Hh JKfKÈL*L‹MÄN O,OÇP&Py QÊR‹RúSÖT<T¡TûUZU»VV‚Ví[Y\MjØl?m0o8p$q‚qõrSrÄu( uÿwwowÒz§{a}ð~^ž€‚A‚¡ƒ„+… †©ˆù‰OŒ& Œ”ŽŽk"爑ܢg¯õÑNÑÊÕä+äÍç(ëÀíîñSóàõk÷Jøsû% ü+üÕý:þwþÌÿ*½ì bË?¢   Ê & Ô  ü Y « þ¸0Y¼z×6¡^J:&ž((ò+",6-±.W.Á/•11ê2ö3U3²5Ã6"6Ø 7˜9-9:K:Æ<=>?@yBÑE.E’H€HãJGJ KULAM•]{k{AŒjl ‚¢ç¦ª§ ¨í©Ø«€¯°ç²´³ÿ¶· ··Ô¸‡¸ø º<º”ºð¿5ÀTÁ‹ÂÃzÃá Ä@ ÆÆ~Ç,Ç‹ÈCÈ•ÈôÊFË Ë~ÌÎÍAÍ ÍüÎhÎÊÏ4Ï–ÓßÔÃÕñâ©äåæÙç;è›é´êšëwíËîâ ïBïžñsñëò¨óxõ%öFöÊøIù}úíû½ü*ÿj"úZö[åCý  qJ(Ö6º@éH¢IXM¿\¿_`$`×b_bÆc(dªg®ikëm|oDpœrós0s“tPuuovÓjw+wyó {{È}}}~Ù >™ – ‚D‚¡ƒ_ƒ»„ …g†% †š‡Ýˆ8ˆ¢ˆþ‰l‰ËŠ4Šš‹už/Ÿ« ž¢g¢Ð¤[¥u¦‰§`¨Å ªªv««_«¶­j ®¯Z±ì²Y³ëµ¶¸·‘·þ¹P»l¼Â½:¿¡ÀóÁZÁÈÂÛÿÆ ÖFäš`¦Ö7Eõ  #%$w&”'h(é*Ú,/.ä/B/û0­ 12¨37S8(9²:";™ ;ÿ›?P?´@ž@ðBLCCyDÆE%E‹FFe FÈG- G•HLM N‚[F\À]®_M_­aObb:c_d7ežfühhxhÙjk3l>noAo½qYr|s†sótÄu1x‰ylyÍ{Q|Ë~ ~~äý€±ƒª“ÊÀéƵÉëÔrÔÏÖOÖ°׸ØdÚÛÜÝpßàdâÂãßäGåæ;æ²çfè¢éÂê%êë9ëîìaíø îTî® ïúñòÈó™õ+õõì÷÷‰÷ìøNú3úãûLü<ü˜ýÙþ ÿiË)¡hÈ&’çY¾ÙD±Ï3Ãíç!O"ª##Â$$„&>&÷((y*ö+y- ./#/™0©23:4 4û6á8b9Ö:6:•f?DOkäM Ôž3`?59:™?ÌL‹Äæwü =,°\j×ÅYIüüüük<5÷u¼Â+‚n·s³ -Ù‹øs²´·ø~t¶''ÿ)ODkœ.¼êáòâgãKðòKœxœæ î­·¬ÐÓÿŸ-Ù1ºVæW XfÐ q[yi¿ã¢ø7% ×#o$0.86V F…ÎüÏÝÐÀßßÒèLéçëzòõ ‰”‹› £¤¯¥w¸“H"X!`?cºƒá¾‚ÝÂÞ4 D, Ê2åh‹›LÁÁúÂnÆ^ÚqÞ XƒXøü Žï’h™› ¡êø;z<\ <ÍL‹WI÷Jø1øsý:±2ö„Œj²´³ÿÁ‹Íüîâïž'¸IXIÎpœˆ8ˆþ«¶Ñ**Ú,/›?PCyÀéÖOåëîî®ûLþ ÿu¨@’×™)äŠa¿ŽfКA °sØ K’ã¢÷UW»,#Åñ °‹;ÿB¶ùí±&Â6"Π’Ê¹µFù—A ‚­;ϵB¶'uTUL‹H€¶¸µ%:6Ð_ Ð_Ð_,o*5-.E6"ÁÛqàž{› Ûw5ìñ&R< ‚ hø$É…¶Œ¬º{âHà?BV¯xŸó]5c]‡òEÜ,6Pyê9ñS Ô «Õñ;#¾Cb:• .Eõ1'ö€²@×ðÿH¢`?´Àé&÷@äö{x5còEO,ê9½2o-6"8Ü9>u¹ÁÚNv–{Œÿ5ìOÍQ fÐ ;-ÀYǯ'öšA£~73W»ZV‹ûûmàÊ.ÔJÜ/75ëMÄO,ðÿñS½«€¼„`×b_dªg®x­¦#%;ÿî®6O,?´Ê.{%öm|#]œ.„oâ ceÏanÏö7ÔkŒ'Ùoö¹*5?†A¢C1Cÿci9m›qg}JÁΠÖ4ÚNçÓò®õAõôýëþV%¨)¤5„;#lõyý{‰Ô–ŧã¶z¸×ßnã{ò§ôx.…//A5ìJrK‰L;UfÐp,pŒÔ™¶Ï ï¥/áÛê¤ñ&¨ ;u  +@-k0H]¹Œµž3¦r¨ÂTÇ\ǯÌkæöéé{só CXwYŒ`Zhø‡žšAš­¤M¥áЌџÓßßþ$ÉDaWTXŠaubœ{ó‹ÛbâHq pJË[8Žä˜¼ŸóÊ.ÒÙÚÖÛ9Üpm#Ž u æ§žMšOjU7W%]‡{?„Ž‘ˆ–6™ÞÂÄ«ÆÔаÖ 5ÈÇÜUZu(~^€‚¡„+È|ëÀ¢Yzn6Ø7˜=@yŠŸÜ¯¼„ÆÍ Ï4ÏöæÙóxù}ü*[C<²=, GJtLb_ bÆkëvÓx­~ÙŠ4±+¼ÂÁZåÂlz#%'h(é;™CyE%tÄ€±µ¨¿ŽÄÙxÚáñþ ÿ0r9Ö:•rS ;Ç\X©‚ï¥áÛÞN^¼+ÚNàž‰Ô› O͇~ûû{?аl©Øò¨ ÖçL;ŸÉ)´“ˆ®Ê8é5 ‚¤ì¾C#ΠŒÿ\¥ªÇ\ְϹµ·s·s\®Ê/@9>eni¡t#°\ó&$$]Ýúèš/jwpŒ˜5žà£Í{ꤾWí„Fˆ„ pEÜ—fž[uÊ/Ì­?7˜¼„ÃzÏ4óx(Ö<5=,`×x­½:¦x‰$xaen-ÙaÏ/´O,©Øœ.¸øuoÖO½S*’3gbcàžå]õôJ€mV› ¦k¨F®[&n/W ZòeÅjãxx£ò7 596ÍC¨ž3 #õ!>½ÝÔ]Qg˜_¼ïÙ' r;%M=ÈàòýøûN¨y8“€•xµ‹Ë ÏÛ5ë@SRú…ÍÅï¥ñSG¥ƒK°ç³ÿÀTÈô% qg®pœ{„§`·þM$w>›_M~ ÀéÚnåó™õ+ú3zn%öÔ¦ª6"0•ó˜ž& Sœ7ç ØÂûì¸u¹µ eúÔÇ µ°ÂÈL—˜QV6H€ÎʉËÖ(én~äåý:ø&÷­ìR<í¨íÜVÜV`צEAæR»u¹uÇ'öðÿm|uÇ 6"¹µÛw¨ã…¶¾5ë…ͬÔçgõ'·sΠq5*5, 5b;_>MACC1cñxÔ€[Ó¹ßÕàžæ°îãû‰ûì0•› žÔ S­ì¹µØOÛwè.ì5öEJrXèn…pîyiÔR<_sm?ÂTÖaÛ¿âèµ*€Œˆƒ‘ò–Þ«Vd_…¶Œ¬ú. S yD;v€²®ÊÅñÈÜÓþ£wŸ† þ‘æ¹Ãi5ë?nBÝU»VVíëÀü+þÌì65Ã¢ç©Ø¶··Ôº”ÎÊÕñ_`$tPw‡Ý‰l‰Ë¨Å¶¸ÁÈ7 (é?´CFeG•M bd7׸h0?†j·çÓõô‘±:¸uèšöEfÐqÄ+@fUm?æöƒ%šA5£~׫!Æ–†®Êº Ê.ÔJÙÝ©„Ž–6MÄUZä+¢"ýb_~Ù ;™CyFn~ Éëíøþ ÿ *5ó˜R<Þϵ!Æž&Ãi,6}7ç &÷-Äàžç_› ¢|\*ò¿/ÒƒHã¸ø[uo(é0­ëî6.E6"u¹{õA)¤5„¸udkùlS•Φ«(©)bôÀYǯÔÇ´ {ZV…¶ÔJÜ]„ÿ‘ˆ˜³а@×A8G€L‹MÄpŒyxëÀñS¥öH¢`õ^?P?´N‚b~Àé:6:•ƒ¦=Ù‡ u6"&÷$*5?þB׸¸uoÒ íëZVcþ˜³R‹wˆ¢(éBLÝp±:G€ǯ`ét5 ƒ)O-Ä5b9¡>MC1C—CÿJÍccñen{|˜wΠÒ›ÖçÜqä-äõåõç_êîãózõA.ýO.r5„6LuljԎ î°!±:¹µ¾£ÕIÙcè.ï:HhMN/Y×cÂp,ŽŠbÔ“·”ž|)Í ;%´?„ )_3æKúPˆ_saF¬ÄÉ)Ö¶Û¿é{ðß ‚* ´"Z&¶CcÒ„2’G–Þ—žš­Ÿª¥«„ÅWϵÕ1Õ¢׫#]@þCKPMhSíTªVd\q}5ƒ‰‡~‹Ž5•’º“ˆ–Þ™}™Ýý±  ÐàD‘š;v?¨OŸYëœ7ž”ÂnÅ—ÅñÆÌÐ'×÷7ü"þ£m £"\}#ü†ÐŽï‘ˆ’hº »ÆcÉpÊ/Ñ ÒƒÔ\Öb8<\?ÌO,\Mu(w…͉OçˆÓ×äÍç(óàøsþwì Ô^/•AïE’Hã¸øË Ë~ÔÃíËþ‡[H¢L`×bÆg®uovÓ w ¨Åªªv¶¸ÂÛÄß`Û¦õ#%0­9²BLN‚fü{Q~~äÀéæ²ëîî®ûLhç"ª6á:•K&Â*5+Ÿ6"cñj·5„6L‰ÔžÔ¸uò§öEN/yiž|©©±&59R<aFeúm?®çÇ\ǯõ C{4{­;½Ýϵ4ÝþÅ6FòSŒÂnÆ^h§’hа,6/79G€JPyQÊý:¸5Ã9-=E’ ‚¢ç©ØË ÌÎõ%ù} q…gµ¼ÂM€±ƵÚnæ²:•@ñ+ý‰Ô¡²bQÌ =.¢/nâC'5>nhœþ™J\ÿ*ì31êÂc}}}ߪvbÃeú_‰þÅ`×w¦Ùx;ztG¼6Íòlýý¬Óh¬Ö{D¡Ö-5è>MwÓZ€¡¢|¹µ\*l­ =-6VÉ)Ö¶èµ&¶cÒ—ž@þTªý±œ7Îjøû"Yz„ÿŒ™·s?Ì pŒˆí «1ê¨íw„bØdî®w"ˆ+‚nî£:`צ uÇIr5bœWSí¨íÆE%T÷Zllp¿t&º'6yýà‘á/D4Xšá›Hê¤DïbïåWoWÛb:¬W¬ÄùdgJgµ»¢ͽÎ'"ë#]б‹àTàÊ6ÃH Hƒžž”óã¨#[u\°±Á¼Âðbm0}ð~^ˆAÓkÓ×(ò:K:Æ;ðŽº&åöFöÊ=,KŒL ž±ì²Y z]®oAo½p.zÿÄ*ö+y+Ü]/­Ÿ/$L/áÄ/Ÿ…/] /X/Ô¯/ÿ/LÞ/b/ÅÏ/ÀP/zÐ//56/ðK/­9/h(/#á/áU/Ÿ /\…/í/úzl/t¬Ägµƒ%Qê#]àÊž”\bÅÌÓ×í&¨íLƵ=,8»¥ª`צIraÏWS_súí½p.+ÜlnäM'î®nº”à8IKàÃIÃë %‚ß.Ý5B×C—i9i¡$$]¸ÝúoÒ˜5Tèèµë]Ë'ËŠ_a×cˆˆ„ÏEEyEÜùUù¿l–®—Œ˜³¿7¿•SÖ{a{Ñ0.W/•7˜8óxôy󈢯Z¯¶l¡mî®(y(Ïå-Ö¶ÁINƒùU† ‘æ@×.W.Áº”ÈCw@žçÁI.Ág5gœgõ-'à>›pa×ÏÒoV—Œyó™î®øNƒ_ü<Ö¶<5$÷¿tyý4Xïbïåb:¬WgJgµ"ëàTàÊžž”[uðbÏÓkŽºKŒ Äë8šNÏ]öznp-Ä6"j·llpm›ç_&º'6(m0•h½‰Ô¢|à‘áâU"$^\*b.šá›Hœ†¥ªÝöïåWoWÛY/aÏb:¬ÄÚùd¤ !ž{ÁIͽÎ'ÏNϵ0#]WTб‹ŒHŒ¬–ÞFòH HƒI®JÒ¨#»I\Á¼ÂÃiÃÇÌ­ÒƒÓ9:}ð~^ž€ˆAÓ×þw.Á:K:Æ;ð<<ï&l¸øöFöÊøIMHuovÓ:w±ì²Y³ë½:0­oAo½p.qYzÿëî ë*ö+y+Ü- ÅY { ë.…Þ‰FòÀ¥ j·k%¨ßn™¶VU«“ÞfN̪!ƉFòÀ¥ [|Ø}7Ò‚Ó/9-9õ%õ†Já°¹±+6nn)Ö*<Žcyó±ŠäËH{?¸²¯Œ&ÑuÇk&” 6"/äÀY).5ë`ׂD¦&÷†^¯CkëoÁ{5ì »Member axutil_log::opsstructaxutil__log.html#111db95f40c855be83d589bc6d21b3b3axutil_error Struct Referencestructaxutil__error.htmlMember axutil_allocator::local_poolstructaxutil__allocator.html#1f67d021f43b871aadf0d882ed1c13a5struct axis2_version_tstructaxis2__version__t.htmlstruct axis2_transport_senderstructaxis2__transport__sender.htmlstruct axis2_transport_receiver_opsstructaxis2__transport__receiver__ops.htmlMember axis2_svc_skeleton::func_arraystructaxis2__svc__skeleton.html#599e6715f5ab52169b173654a4baff55axis2_module::handler_create_func_mapstructaxis2__module.html#32b14517bcfca559f3c89b994a9a9593Member axiom_xpath_expression::expr_ptrstructaxiom__xpath__expression.html#7824b23ee7d5162029dfe80e08ecbf4aMember axiom_xpath_context::nodestructaxiom__xpath__context.html#bc3a733c582fd2eb99ca03a6b59cca2aaxiom_xpath_context::envstructaxiom__xpath__context.html#0147eb85d75a7c4d9e607d31f248102eMember axiom_xml_writer_ops::write_namespacestructaxiom__xml__writer__ops.html#9342c2366cc765c44bf9830eb793b968axiom_xml_writer_ops::get_xml_sizestructaxiom__xml__writer__ops.html#97184f1a85f25a010530faed25365180axiom_xml_writer_ops::write_namespacestructaxiom__xml__writer__ops.html#9342c2366cc765c44bf9830eb793b968struct axiom_xml_writerstructaxiom__xml__writer.htmlMember axiom_xml_reader_ops::get_attribute_name_by_numberstructaxiom__xml__reader__ops.html#2c68389efbe57ee92f34688edf4298dfaxiom_xml_reader_ops::get_attribute_namespace_by_numberstructaxiom__xml__reader__ops.html#cd439813d81970e3776c59dbe4f293c8axiom_mtom_sending_callback_ops Struct Referencestructaxiom__mtom__sending__callback__ops.htmlrp_x509_token_get_require_issuer_serial_referencegroup__rp__x509__token.html#gd5fa4cae41bf7966f4f4cff129dfc516rp_wss11_set_require_signature_confirmationgroup__wss11.html#g7b0326b7d6a65a36da9b9efc729fe23frp_wss10_builder_buildgroup__rp__wss10__builder.html#g16f40e38218646856997b51c94e4dbc9rp_username_token_increment_refgroup__rp__username__token.html#g55dd0d0bdabaa2448c13e01e2e0c8ae0rp_username_token_tgroup__rp__username__token.html#g9eb584db4a37b022b366ba071434e929rp_token_identifier_set_tokengroup__rp__token__identifier.html#g53d70ab41e26190abc3da891ee4a3c90rp_token_tgroup__rp__token.html#g1ef674b0689b0c9a151182841ec07b33rp_symmetric_asymmetric_binding_commons_set_protection_ordergroup__rp__assymmetric__symmetric__binding__commons.html#g3ad7261e7a9c8e35de4bba80ad5a763erp_supporting_tokens_set_typegroup__rp__supporting__tokens.html#g8b419822a014e2437b6451f7abb89631Rp_supporting_tokensgroup__rp__supporting__tokens.htmlrp_signed_encrypted_items_add_elementgroup__rp__signed__encrypted__items.html#g480e5e8365fa783ad849dbc9cb48536crp_signed_encrypted_elements_tgroup__rp__signed__encrypted__elements.html#gd753825d15eaa0f2e362f3d87ca7fd2drp_security_context_token_set_derivedkey_versiongroup__rp__security__context__token.html#gbe666b12d21cc0cad827ccb1794b2d08rp_secpolicy_set_wssgroup__rp__secpolicy.html#gb90ba0b7b59223ef918fc29da34ddc4frp_secpolicy_get_signed_supporting_tokensgroup__rp__secpolicy.html#g5d4903b9983b82dd6ac7c46023d782f3rp_rampart_config_set_pkcs12_filegroup__rp__rampart__config.html#gc16ab2e77f77e33df07c65b3add650fcrp_rampart_config_get_password_typegroup__rp__rampart__config.html#gf03ab5e9f27fa653561e3f2cd6e3a161rp_protection_token_builder_buildgroup__rp__protection__token__builder.html#g370ed0106c66a9d3f8f2ddbc4d6dcd99rp_layout_get_valuegroup__rp__layout.html#g3e73ecdf1e66fa017b952b3652b2c090rp_trust10_creategroup__trust10.html#g1e44d95f847e80700b1b2498cd608c1arp_issued_token_creategroup__trust10.html#g3ff0de6b24dc03c2c649c43af473cfadrp_https_token_tgroup__rp__https__token.html#g064958ad24e822c3c9a7ddc76f865bafrp_element_creategroup__rp__element.html#gecf1db4ff5553fdc84ed1bde9f4322ffRP_PKCS12_KEY_STOREgroup__rp__defines.html#gdf0ba16c6b2d4edcc3b7a7879997b771RP_REQUIRE_EXTERNAL_URI_REFERENCEgroup__rp__defines.html#g0a0300718768379d13bd1c07e717ccd6RP_REQUIRE_EXTERNAL_REFERENCEgroup__rp__defines.html#g4fa966b5e57e8a98f22b7eceeee01977RP_HTTPS_TOKENgroup__rp__defines.html#gb9a52560b85da285f36169a1aded118eRP_SNTgroup__rp__defines.html#gc3312cb3365469afe5ad5b521be55713RP_AES192group__rp__defines.html#g4617722e836f0a1200511a29491ca302RP_ALGO_SUITE_BASIC192_RSA15group__rp__defines.html#ge484a20098df6705788e6ab2bf1d7cf6RP_SIGNATURE_TOKENgroup__rp__defines.html#ge9fc99fbe8e99486afd3f13c6a59454eRP_WSS11group__rp__defines.html#ge4e78676c5b93544400dcb0d0eb71b41RP_SUPPORTING_TOKENSgroup__rp__defines.html#g1813e0f14ff24f057cdd399dad8a5a9arp_binding_commons_get_signed_endorsing_supporting_tokensgroup__rp__binding__commons.html#g1d59c6e510431a284962ae034aef62e2rp_asymmetric_binding_set_recipient_tokengroup__rp__asymmetric__binding.html#g64fab24b8bfb3b07a6b09289809fd35arp_algorithmsuite_get_c14ngroup__rp__algoruthmsuite.html#ga1b7a00ca6429eaf50d2128344eb2935rp_algorithmsuite_get_digestgroup__rp__algoruthmsuite.html#g0aa6ee5b4a902c4dad5e6a6dea6f1deaMember axutil_parse_request_url_for_svc_and_opgroup__axutil__utils.html#ge45e1f5b083cce22b4a19f2376ae534aMember axis2_scopesgroup__axutil__utils.html#g102944cbbb59586e2d48aa4a95a55f64Member axutil_uri_to_stringgroup__axutil__uri.html#g9b9e291fb2de237b1ea16e1446cb4ef9Member AXIS2_URI_UNP_OMITUSERgroup__axutil__uri.html#g72c059826dc908e6e6960b6f9023b0adMember AXIS2_URI_LDAP_DEFAULT_PORTgroup__axutil__uri.html#gf49acba5d4eb35310a62cb62385538efaxutil_uri_parse_relativegroup__axutil__uri.html#gb1f06713caf077056cf82e14dddb3f6bAXIS2_URI_SIP_DEFAULT_PORTgroup__axutil__uri.html#g00c5165abdd8e1e3dc4e649dc91a7d14AXIS2_URI_FTP_DEFAULT_PORTgroup__axutil__uri.html#g890a29bb1a4b69ad44210eb56093ef9dMember axutil_thread_pool_exit_threadgroup__axutil__thread__pool.html#g4918b9dbaed331af5602f5a9e6ebb6efMember axutil_thread_once_initgroup__axutil__thread.html#gac95e6a2e2106ff72daa1ca244286890Member AXIS2_THREAD_MUTEX_UNNESTEDgroup__axutil__thread.html#g23f73f33dbd2bc3b73e45765daee0dfdaxutil_threadattr_creategroup__axutil__thread.html#g6b8cf75c5b88d3389e3b9ea6f5371101Member axutil_string_replacegroup__axutil__string__utils.html#gd262592f6f079b1dd4e5380ba0edcdbdaxutil_strcatgroup__axutil__string__utils.html#g6f853777560c912e0dd6416eb95fe2eaMember axutil_string_create_assume_ownershipgroup__axutil__string.html#g12d5d062c9f901653ec55934667df4ffMember axutil_stream_get_lengroup__axutil__stream.html#g614ce1d0378d9e899d65e738dfe05e09axutil_stream_create_socketgroup__axutil__stream.html#g86be0e77c1793480716cd0de34e8fe6bstreamgroup__axutil__stream.htmlaxutil_randgroup__axutil__rand.html#g928a5beaf5c048d213b71ac49bef82b0axutil_qname_tgroup__axutil__qname.html#g70855cdbece0ebf4cb99013541254d44Member axutil_properties_set_propertygroup__axutil__properties.html#g8eca6a87dc8f9facbdcd3adf8c25a2fcMember axutil_param_container_get_paramgroup__axutil__param__container.html#g0be3762df4b647179952763acbe0c272Member axutil_param_is_lockedgroup__axutil__param.html#g9196d434bed17f0b351addbb46e784d8axutil_param_get_param_typegroup__axutil__param.html#g5fd6c7f443ffcf002cc042c3aca0b276Member axutil_network_handler_create_server_socketgroup__axutil__network__handler.html#gba4133a493242c5b02880ea807779830Member axutil_md5_finalgroup__axutil__md5.html#g7954e033ab5182e623ade60ae1f7051fMember AXIS2_LOG_LEVEL_INFOgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06dd53347fbe4d1731713539c819a5a5b4faxutil_log_impl_log_errorgroup__axutil__log.html#g2e356a5a2d8637ad91b083dcd3565f8dAXIS2_LOG_WARNINGgroup__axutil__log.html#gda21302538ba7583b7c4f15f6675d477Member axutil_linked_list_last_index_ofgroup__axutil__linked__list.html#g9613b65e8b1f91c6a7ed5c3e2befa312entry_s::nextgroup__axutil__linked__list.html#g8663ba871d35c8166f3a61ce49c3d0f0axutil_linked_list_get_lastgroup__axutil__linked__list.html#gacdf3f19dc61bf262c5e25e1dd3ed5faGroup http chunked streamgroup__axutil__http__chunked__stream.htmlMember axutil_hash_make_customgroup__axutil__hash.html#gc97083ad0e5a219bfd47666ec718e66baxutil_hash_mergegroup__axutil__hash.html#g146257867c0be68eedae4ef822d4d341Member axutil_generic_obj_creategroup__axutil__generic__obj.html#g30cba3f5ffd571a1d76db08f06c214fffile handlergroup__axutil__file__handler.htmlMember axutil_error_get_status_codegroup__axutil__error.html#g4107c6db677ebcb721f7a99654813edaAXIS2_ERROR_SET_ERROR_NUMBERgroup__axutil__error.html#g51dcd252b2ee68e265bb661ea3b9b2e9axutil_env_free_maskedgroup__axutil__env.html#g538c867378b066cd37390a8a0589f6cbaxutil_duration_comparegroup__axutil__duration.html#gc8d620633177db931d3420c6f0d2a9e5axutil_duration_deserialize_durationgroup__axutil__duration.html#g90579b9e81c683148266dea5fddb8d9caxutil_dll_desc_set_delete_functgroup__axutil__dll__desc.html#gdd70912963c7cfc72b38a2da35c76b71axutil_dll_desc_tgroup__axutil__dll__desc.html#g3fbf5d3d54ce7a4630f3d8646b2d040bdigest_calcgroup__axutil__digest__calc.htmlMember axutil_date_time_get_dategroup__axutil__date__time.html#g7f852dcbdfad79040077482406e5f0adaxutil_date_time_utc_to_localgroup__axutil__date__time.html#g38a2fda9394cf820c042acca26d3727aaxutil_date_time_freegroup__axutil__date__time.html#gbb52288b98f13be3abf56d29248503cfMember axutil_base64_binary_create_with_encoded_binarygroup__axutil__base64__binary.html#gf28fde47d4e1d8dcef7e561960a868e6Member axutil_array_list_removegroup__axutil__array__list.html#g2aefd638d987a77684c95d3d49250c9aaxutil_array_list_check_bound_inclusivegroup__axutil__array__list.html#g7e79d235403a8cc6cf5dcf93e8c79dc1Member axutil_allocator_initgroup__axutil__allocator.html#g102e762ca4def99ded7ef3f0244f2f88Member AXIS2_TRANSPORT_SENDER_INITgroup__axis2__transport__sender.html#g1e3ea665c5968395b11d116c869bb409Member axis2_transport_receiver_get_conf_ctxgroup__axis2__transport__receiver.html#gf81f5bfd42d9cc2367268cf0ab197e6cMember axis2_transport_out_desc_set_out_phasegroup__axis2__transport__out__desc.html#ga7e6529ba14d6223e216a338d0d21737Member axis2_transport_out_desc_tgroup__axis2__transport__out__desc.html#g30caf90fd8fb7b0c89700bcb12e250dfaxis2_transport_out_desc_set_enumgroup__axis2__transport__out__desc.html#g3f8f58f6a90b6edc394949481eb2fe04Member axis2_transport_in_desc_get_fault_phasegroup__axis2__transport__in__desc.html#g7f97aa29114ec9cc9d8002a579f8a235axis2_transport_in_desc_get_in_phasegroup__axis2__transport__in__desc.html#g49f9ae8aed490c7d9e23ace6ffea2570Member axutil_thread_mutex_creategroup__axis2__mutex.html#gcab265f8a3be8ef7c20442a3c5bccd67Member axis2_svr_callback_freegroup__axis2__svr__callback.html#g1357c2b8b7a968161bb890f04ce11903axis2_svc_skeleton_tgroup__axis2__svc__skeleton.html#gc1e79d5cf892025c1f663b2122c5ea50axis2_svc_name_freegroup__axis2__svc__name.html#gcbab528a163f700fa4e7dc90823ed3afMember axis2_svc_grp_ctx_fill_svc_ctx_mapgroup__axis2__svc__grp__ctx.html#gd39cf31f9ed602c15a98b847072fcb3cMember axis2_svc_grp_set_parentgroup__axis2__svc__grp.html#ga97c377688555569fa102742ff6adfedMember axis2_svc_grp_creategroup__axis2__svc__grp.html#g5de18e0924a843af891f2c2eb274f580axis2_svc_grp_get_parentgroup__axis2__svc__grp.html#gcefdd7d375eaa681d8d14f6c3256c39aMember axis2_svc_ctx_initgroup__axis2__svc__ctx.html#gceab7004549d691ce03343fffdd08c1baxis2_svc_ctx_freegroup__axis2__svc__ctx.html#g0ef5d19c153f6e053ebc0c0146d0bbd6Member axis2_svc_client_send_receive_non_blocking_with_op_qnamegroup__axis2__svc__client.html#gd68cdf7e84aff54c1815c8675772c76cMember axis2_svc_client_get_conf_ctxgroup__axis2__svc__client.html#gb3a17a94a9587abae4aaa7c3897d5005axis2_svc_client_set_policy_from_omgroup__axis2__svc__client.html#g43d7672cdea91171fc89fcc06799e1dcaxis2_svc_client_create_op_clientgroup__axis2__svc__client.html#g3feaab85a53c0340422ec9af52f69907axis2_svc_client_get_conf_ctxgroup__axis2__svc__client.html#gb3a17a94a9587abae4aaa7c3897d5005Member axis2_svc_is_param_lockedgroup__axis2__svc.html#ge02611f21135d71edfffba0bdfc24388Member axis2_svc_get_namegroup__axis2__svc.html#ga2590adf8cb809185ccd1117e5c38767Member axis2_svc_add_module_opsgroup__axis2__svc.html#g0a974ad2f1876c560ebe6ef3ce9cea40axis2_svc_get_target_nsgroup__axis2__svc.html#g918040e3fdedb586e5d161ca4cc82925axis2_svc_get_op_by_soap_actiongroup__axis2__svc.html#g91fa5f06a989145dadd9d071ca1eb648axis2_svc_get_op_with_namegroup__axis2__svc.html#g49a1d2e36cf1c13d113ac5ed04ab2455Member axis2_stub_create_with_endpoint_uri_and_client_homegroup__axis2__stub.html#gb7634341e5e96506963b79ac3b5ebe6eaxis2_stub_tgroup__axis2__stub.html#g8ffbf8bf99ffec0caa07cf7aacf17281axis2_rm_assertion_set_max_retrans_countgroup__axis2__rm__assertion.html#g7ead2351e9977470cd058c856e14ec7faxis2_rm_assertion_get_is_atmost_oncegroup__axis2__rm__assertion.html#ga9402dc7d5c6a4559075a1d53aad3cc3Member axis2_relates_to_freegroup__axis2__relates__to.html#g6f8c0bf96b07b67ed99af0ea01136e3eMember axis2_policy_include_tgroup__axis2__policy__include.html#gb5e52f7f3e7c7736ee9b658f58ab6106axis2_policy_include_get_registrygroup__axis2__policy__include.html#g96eb428aa54bcddbabf6845ef42c2309Member axis2_phases_info_get_op_in_faultphasesgroup__axis2__phases__info.html#g3e9ac196d87b66cc25396f7b9b4cd012axis2_phases_info_get_in_phasesgroup__axis2__phases__info.html#g2048bb68c1df4bfef9129518f8edaf39Member axis2_phase_rule_get_aftergroup__axis2__phase__rule.html#gc510de132f16f900e4d1ded091d70a1eaxis2_phase_rule_set_beforegroup__axis2__phase__rule.html#g03fadd5da8392e210b994cd5f425a92fGroup phase resolvergroup__axis2__phase__resolver.htmlMember AXIS2_PHASE_PRE_DISPATCHgroup__axis2__phase__meta.html#gf40412ff9247930d8cfbcb62a2ac76edMember axis2_phase_holder_get_phasegroup__axis2__phase__holder.html#g90c45ef85d6fe1611bf16a874a110112phase holdergroup__axis2__phase__holder.htmlMember axis2_phase_add_handler_atgroup__axis2__phase.html#g3a631359739cd8aea355f835dcd170dbaxis2_phase_remove_handler_descgroup__axis2__phase.html#g2e667feb5d15a4e336e1eee3a6f77696Member AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEgroup__axis2__out__transport__info.html#g4c6d71c71837c7ec5109d73315421c5cMember axis2_options_set_togroup__axis2__options.html#geb3c591479ec264bd1e36221d22e31c7Member axis2_options_set_http_methodgroup__axis2__options.html#g1c7eff578547cf234abd57ea34f2e0b9Member axis2_options_get_soap_versiongroup__axis2__options.html#g11ee50a4d0d759ce0199e4009c958b25Member axis2_options_creategroup__axis2__options.html#gdda6f5257f3532ec3fa9ca4b316fb0f1axis2_options_get_xml_parser_resetgroup__axis2__options.html#g079c0d74ca8b4a6bdf94b5afe45c8b1caxis2_options_set_sender_transportgroup__axis2__options.html#g20bad0d888b7d491992595703dd11ddaaxis2_options_get_togroup__axis2__options.html#gd01536ebcfafaa661a44f5049650a9e8AXIS2_COPY_PROPERTIESgroup__axis2__options.html#g8e84174996e7ce97d2ec4c7b49956ad7Member axis2_op_ctx_get_basegroup__axis2__op__ctx.html#ge3983155246957addf3cf44128797b11axis2_op_ctx_set_completegroup__axis2__op__ctx.html#g36163f4ddb00ed3a319f42a1bd1700fcMember axis2_op_client_set_optionsgroup__axis2__op__client.html#g129b0ae65f1bcf960e563d5adc31d7faMember axis2_op_client_create_default_soap_envelopegroup__axis2__op__client.html#g3dee8b2af09a8a08f39155bce5304179axis2_op_client_prepare_soap_envelopegroup__axis2__op__client.html#g1fab78418f77376796c5d80703f28870axis2_op_client_tgroup__axis2__op__client.html#g6bc9ac9f149e65002cdfc265f8a7e505Member axis2_op_is_from_modulegroup__axis2__op.html#g16832b71e04062cac2acb9a0ed4e4d04Member axis2_op_get_all_paramsgroup__axis2__op.html#ga7d5af951f8b08565907ecb4fcb9ed22Group operationgroup__axis2__op.htmlaxis2_op_set_out_flowgroup__axis2__op.html#g17294ba6ee8144d9c89c05db4b938188axis2_op_get_qnamegroup__axis2__op.html#gc29a00eec143ec118c61ce7d08df09c3operationgroup__axis2__op.htmlaxis2_msg_recv_set_derivedgroup__axis2__msg__recv.html#gcdc64450f40747240f24a4e40f053a5aMember axis2_msg_info_headers_set_reply_to_nonegroup__axis2__msg__info__headers.html#g64bfb8b2ebdabd55719c6b3b300a5499Member axis2_msg_info_headers_get_fromgroup__axis2__msg__info__headers.html#g6783234388f589ae7d6d794558c7f994axis2_msg_info_headers_set_message_idgroup__axis2__msg__info__headers.html#ge85e94287e9fd4a3b21f7ebe681dfa0eaxis2_msg_info_headers_get_fromgroup__axis2__msg__info__headers.html#g6783234388f589ae7d6d794558c7f994Member axis2_msg_ctx_set_svc_grpgroup__axis2__msg__ctx.html#ge687f88abc16f152d2cfecd2e32f6871Member axis2_msg_ctx_set_pausedgroup__axis2__msg__ctx.html#g946233e40d8bf6d9d1dd82b25afc117fMember axis2_msg_ctx_set_http_accept_record_listgroup__axis2__msg__ctx.html#gce2ea5a21e0da1e0502722471013cf58Member axis2_msg_ctx_set_charset_encodinggroup__axis2__msg__ctx.html#gf0b8b26d1b8a7ad80a2930afb0c2363aMember axis2_msg_ctx_get_togroup__axis2__msg__ctx.html#g4596067ca561b23abd8c277fff1ba686Member axis2_msg_ctx_get_property_valuegroup__axis2__msg__ctx.html#g1cf9c2fd4213e497c0b51ddaa4742d34Member axis2_msg_ctx_get_msg_info_headersgroup__axis2__msg__ctx.html#g65e6d0ad0877aeff2a9199c31fecec01Member axis2_msg_ctx_get_do_rest_through_postgroup__axis2__msg__ctx.html#g92affc014f41b9458d497f9f413c96b0Member axis2_msg_ctx_creategroup__axis2__msg__ctx.html#gcaafe43e332e370bc1e3f3c5d0f361a0axis2_msg_ctx_set_mime_partsgroup__axis2__msg__ctx.html#gb9ed9b1c95c2f6e441193a5c0b67f4b2axis2_msg_ctx_set_http_accept_record_listgroup__axis2__msg__ctx.html#gce2ea5a21e0da1e0502722471013cf58axis2_msg_ctx_reset_transport_out_streamgroup__axis2__msg__ctx.html#gb0006ce05885ace9a09c0841fe297fb7axis2_msg_ctx_get_flowgroup__axis2__msg__ctx.html#gd70614caf6e01d3f061b994f0e87d0e8axis2_msg_ctx_set_svc_grp_ctxgroup__axis2__msg__ctx.html#g608927368afc580dfa9f30a88438cab7axis2_msg_ctx_set_propertygroup__axis2__msg__ctx.html#gdd7cf73dd9e04efe08b461854807b698axis2_msg_ctx_get_op_ctxgroup__axis2__msg__ctx.html#g4778817a289307212f46e1b60d5eab51axis2_msg_ctx_set_server_sidegroup__axis2__msg__ctx.html#g3d12635f667d18ad9e5ce6ed6af42560axis2_msg_ctx_set_msg_idgroup__axis2__msg__ctx.html#g1371f00e4242de82b6475dd9443ab5dbAXIS2_TRANSPORT_URLgroup__axis2__msg__ctx.html#g698a681ef62502de45559859fe9e2cbdMember axis2_msg_increment_refgroup__axis2__msg.html#g88c91bcaf0e249122383433ebc308c88Member AXIS2_MSG_INgroup__axis2__msg.html#g862a13ab2bca0822defd770d15a27fbfaxis2_msg_get_paramgroup__axis2__msg.html#gf286bada1249b588b79d9b90520b5a09Member axis2_module_desc_is_param_lockedgroup__axis2__module__desc.html#g889f5fc4ff540dc1c8a2b32b145bc2c9Member axis2_module_desc_add_paramgroup__axis2__module__desc.html#g47de5f2a697c6994862579db03050d92axis2_module_desc_get_all_opsgroup__axis2__module__desc.html#gd780223e3a54586ef6bf173c49eb9d9bMember axis2_module_ops_tgroup__axis2__module.html#gd48171d2877468bdaca74a22473c9c09Member axis2_listener_manager_creategroup__axis2__listener__manager.html#g5ec86a93f88b4b786b0e121b545147eeaxis2_http_worker_freegroup__axis2__http__worker.html#g1a3b73fc4ba2f66ea1dc74d791a70d88Member AXIS2_PROXY_AUTH_UNAMEgroup__axis2__core__transport__http.html#gc09f7900329058e702247db3b4828775Member AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAMEgroup__axis2__core__transport__http.html#g92a532e419e6862add5d80104bc512f6Member AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAMEgroup__axis2__core__transport__http.html#g9372668c3dc481f398168892654d8d65Member AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VALgroup__axis2__core__transport__http.html#g02596fe5de4ccc0c872e50cbfea54bdbMember AXIS2_HTTP_RESPONSE_ACK_CODE_NAMEgroup__axis2__core__transport__http.html#g47f4681eb9a495b5bcf0056c9a614acfMember AXIS2_HTTP_HEADER_USER_AGENTgroup__axis2__core__transport__http.html#g9a53efe4ae38bebf9b989bfd3f7f9a38Member AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODINGgroup__axis2__core__transport__http.html#g76b4b376e9064ddbf2f033da79e552a1Member AXIS2_HTTP_HEADER_ALLOWgroup__axis2__core__transport__http.html#g0bde0495f84ae4adf82449fb835d3ec6Member AXIS2_HTTP_DELETEgroup__axis2__core__transport__http.html#gb1173327e209f402f4a8f8e20a2484c8Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUEgroup__axis2__core__transport__http.html#g15ad63a776bfe18baf601e2d69a3970aAXIS2_HTTP_SERVICE_UNAVILABLEgroup__axis2__core__transport__http.html#gdf831dafad7ebfa5f1152425066b7705AXIS2_ANDgroup__axis2__core__transport__http.html#g612f297a60951d7b47ed2cdd973231edAXIS2_PORT_STRINGgroup__axis2__core__transport__http.html#g61b2d51376f4a80b61437917edbdd9c4AXIS2_Q_MARKgroup__axis2__core__transport__http.html#g5476f4f558228da92fb1cf3d2502baccAXIS2_HTTP_METHODgroup__axis2__core__transport__http.html#g7a4604108366f33827e3d4f17e5326abAXIS2_HTTP_DEFAULT_SO_TIMEOUTgroup__axis2__core__transport__http.html#g300d7bab850c2273107be0221fceab94AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATEDgroup__axis2__core__transport__http.html#g2290b88358295c2898cb7100eb0f6008AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKEDgroup__axis2__core__transport__http.html#g1d4477901ae22459b5eb40899bb214f7AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESSgroup__axis2__core__transport__http.html#g967c6155a51ee23899073a36160ac93bAXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAINgroup__axis2__core__transport__http.html#g2b6a75f2b867627c8f56dec85c3dbd4eAXIS2_HTTP_HEADER_CONTENT_TYPEgroup__axis2__core__transport__http.html#ga91f6adffc487d3a7577e79e71666e23AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAMEgroup__axis2__core__transport__http.html#gf78bb361725ec284f557b1039ef9cbc0AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAMEgroup__axis2__core__transport__http.html#g4676d113f86779573d4f82ba07efba1aAXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VALgroup__axis2__core__transport__http.html#g62d74f38da83eb95707d511798346e47AXIS2_HTTP_RESPONSE_WORDgroup__axis2__core__transport__http.html#gba2c0178cd8d60f090fb8678b5c9b03caxutil_url_get_hostgroup__axis2__core__transport__http.html#gad9bb5d4abf512b67080b8fce4d03f12Member axis2_http_svr_thread_destroygroup__axis2__http__svr__thread.html#g81acbfe55c56823154fee7eac27891dbMember axis2_http_status_line_freegroup__axis2__http__status__line.html#gc063225dd0eb855ae6a0fb258da36446Member axis2_http_simple_response_set_body_streamgroup__axis2__http__simple__response.html#g87033017e9714d33e9d3ae68904a52e6Member axis2_http_simple_response_contains_headergroup__axis2__http__simple__response.html#gd24d24f61b5ebe5c92329a985743d3afaxis2_http_simple_response_set_headersgroup__axis2__http__simple__response.html#g4cecca560f501e28c11f0697a5ca1b42Member axis2_http_simple_request_get_request_linegroup__axis2__http__simple__request.html#g6ac660f82dcc2f279f88179c9c8e93a1axis2_http_simple_request_get_bodygroup__axis2__http__simple__request.html#g96fc519ef12d1ceeb0a8e7c139217331Member axis2_http_response_writer_write_chargroup__axis2__http__response__writer.html#g9368c11f97efadb018f9319d374fcf18axis2_http_response_writer_println_strgroup__axis2__http__response__writer.html#g12c2594faab7f36ac670b500b5ca9a48Member axis2_http_request_line_tgroup__axis2__http__request__line.html#g1070304508a3dd97050d86758db6b3e4Member AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGgroup__axis2__http__out__transport__info.html#gc17624b984364754cbd36a32f62e1ba6Member axis2_http_header_get_valuegroup__axis2__http__header.html#g79fab3410cde781fa766423032972c74Member axis2_http_client_set_server_certgroup__axis2__http__client.html#gb9f482d072c34edf2b8a6b901dcc52d2axis2_http_client_get_doing_mtomgroup__axis2__http__client.html#g44f3b5ef09c1adae873815f3b8209836axis2_http_client_get_urlgroup__axis2__http__client.html#g703df971a6d10953a217b2aaa173a626axis2_http_accept_record_get_levelgroup__axis2__http__accept__record.html#g6db10df60b5e5856bce8c554e612b946Member axis2_handler_desc_get_class_namegroup__axis2__handler__desc.html#g6a12dc3e24a7db6642ef3392db1853cbaxis2_handler_desc_get_all_paramsgroup__axis2__handler__desc.html#gd3abdf743cd711b6277f2e4754211396Member axis2_handler_tgroup__axis2__handler.html#g62e76f39f224fb84e98b6b77fdf4655cMember axis2_flow_container_set_in_flowgroup__axis2__flow__container.html#g4b57cb3cef283e2f8243e2a85ed33553axis2_flow_container_get_out_flowgroup__axis2__flow__container.html#gc469d08060b162390a2aca7c2bcc5d9eaxis2_flow_add_handlergroup__axis2__flow.html#gd5ddebf59dbc1b9e2237398c99d1e253Member axis2_endpoint_ref_freegroup__axis2__endpoint__ref.html#g4bae551a22a4afaa171d2eb69373cfb0axis2_endpoint_ref_get_extension_listgroup__axis2__endpoint__ref.html#gb68c9bf3c7b34f5f7b5f2228de5e9a2eMember axis2_disp_set_namegroup__axis2__disp.html#g8282e341346127933098f7f170c6fd5eaxis2_disp_get_namegroup__axis2__disp.html#g4b87234842d634edc406ccbf9aaa4f14Member AXIS2_EXECUTION_OUT_CHAIN_KEYgroup__axis2__desc__constants.html#ga994ccbb1a096606c1d53d3102dacb54AXIS2_OP_KEYgroup__axis2__desc__constants.html#g356b2b75d01d009037f0cb504118eb8dMember axis2_desc_freegroup__axis2__description.html#gd72218caf033deeecd16ebf8240dd286axis2_desc_add_paramgroup__axis2__description.html#gd87c1a63197a588dc75066ea80bd2baeaxis2_ctx_get_property_mapgroup__axis2__ctx.html#gc516a4bacec4a38f5e201273b77781dbCore Utilsgroup__axis2__core__utils.htmlMember axis2_conf_ctx_set_propertygroup__axis2__conf__ctx.html#gfbb679038aba7d0305f8607a5449f381Member axis2_conf_ctx_fill_ctxsgroup__axis2__conf__ctx.html#ge4ac0ac0a8960a7e8d5a1c898877fa56axis2_conf_ctx_get_svc_grp_ctx_mapgroup__axis2__conf__ctx.html#ga8be6a3dce54129fddc3ca40fe95e03aMember axis2_conf_set_axis2_xmlgroup__axis2__config.html#g9752b59114c2e54f0df629ffe9c27657Member axis2_conf_get_in_fault_flowgroup__axis2__config.html#g90731a7c7f62c1fc619074a50c43450dMember axis2_conf_engage_module_with_versiongroup__axis2__config.html#g437349fa6fb067fc0cf6b23f731e5b5baxis2_conf_get_security_contextgroup__axis2__config.html#g05611c63df4255acffa7b684ba995afeaxis2_conf_get_repogroup__axis2__config.html#ge352936161aa818a3b9b6b812851be01axis2_conf_get_all_faulty_svcsgroup__axis2__config.html#g9024b3f7f97461ba822eebc7d6c1a812axis2_conf_remove_svcgroup__axis2__config.html#gd35639715fb90bc32ea9f04cbfaffedeMember axis2_engine_get_sender_fault_codegroup__axis2__engine.html#g4233d6e24f32c5d59fe7bd507a91395caxis2_engine_send_faultgroup__axis2__engine.html#g6d77e1d59b04cb68e36581e946946a2dMember axis2_callback_get_datagroup__axis2__callback.html#g8c45ec7f00c453b201c3f11c94c0bec4axis2_callback_get_envelopegroup__axis2__callback.html#ga3509e9b59969fe43e4930cdd8a2bd9aaxis2_async_result_get_resultgroup__axis2__async__result.html#g4b31e913ac079031b24e18c67236ef25any content typegroup__axis2__any__content__type.htmlMember AXIS2_WSA_TYPE_ATTRIBUTE_VALUEgroup__axis2__addr__consts.html#g170975fbb730fc9f4ef77012b6dd9db7Member AXIS2_WSA_NAMESPACEgroup__axis2__addr__consts.html#g9f2d22dc75524b21af3834175e0931e5AXIS2_WSA_PREFIX_FAULT_TOgroup__axis2__addr__consts.html#g491048fb85ab2213d9df72cb1c1a6ca0EPR_SERVICE_NAME_PORT_NAMEgroup__axis2__addr__consts.html#g58f5d3de5e39fc0722adca9514731fd7Member axiom_xpath_streaming_checkgroup__axiom__xpath__api.html#g83c7017c40dd0977276b77d97cbff6a5Member axiom_xpath_cast_node_to_axiom_nodegroup__axiom__xpath__api.html#gff7f77f32a203e90418d1e920f5ab30daxiom_xpath_free_expressiongroup__axiom__xpath__api.html#g5c75692634a5b8c50aa215838164873capigroup__axiom__xpath__api.htmlMember axiom_xml_writer_write_empty_elementgroup__axiom__xml__writer.html#gf69e17121911506e5e1aff50f35d6e42Member axiom_xml_writer_end_start_elementgroup__axiom__xml__writer.html#g84a78120dfae180cfc12998fa83907a9axiom_xml_writer_write_dtdgroup__axiom__xml__writer.html#ged60c82c50443d672009d2e51e0e4033axiom_xml_writer_end_start_elementgroup__axiom__xml__writer.html#g84a78120dfae180cfc12998fa83907a9Member axiom_xml_reader_get_namespace_countgroup__axiom__xml__reader.html#g5b6d2609022f69113b08cc5b592ce200axiom_xml_reader_xml_freegroup__axiom__xml__reader.html#g06c3e71eb295e7a0869a21ca2c88386daxiom_xml_reader_cleanupgroup__axiom__xml__reader.html#gaaf09b4bb704c449270da3eebda5e813Member axiom_text_get_data_handlergroup__axiom__text.html#ge5eaee2c45f9f4d56fac397aa80b92eeaxiom_text_serializegroup__axiom__text.html#gba5bb858827a9aee46b829926862dc46axiom_stax_builder_get_documentgroup__axiom__stax__builder.html#g0d9f465b7ff6d9d3b6f918a674300db4Member axiom_soap_header_block_get_base_nodegroup__axiom__soap__header__block.html#gc44f185b24f7311ce7b24fa24c3a7418soap header blockgroup__axiom__soap__header__block.htmlaxiom_soap_header_get_header_blocks_with_namespace_urigroup__axiom__soap__header.html#g15e88be95ee0a6652bb04f8b8e555b9daxiom_soap_fault_value_create_with_subcodegroup__axiom__soap__fault__value.html#g5a2d7ab98ab366e24568ec2bd31abcc9Member axiom_soap_fault_sub_code_get_valuegroup__axiom__soap__fault__sub__code.html#g9c4864e1ac6156b4ef1cce4b4e81cfdeMember axiom_soap_fault_role_create_with_parentgroup__axiom__soap__fault__role.html#ge4555a85573415bb8b4276acf1ee5694axiom_soap_fault_reason_get_all_soap_fault_textsgroup__axiom__soap__fault__reason.html#ge03a74d45b0ecd4da089c00c2fe01a3bMember axiom_soap_fault_detail_get_all_detail_entriesgroup__axiom__soap__fault__detail.html#g211f2e71c7d481d141498b3d0ab6d8c0axiom_soap_fault_code_get_valuegroup__axiom__soap__fault__code.html#g3fa2d0d9855320b37aa4f2d8a5fa1363Member axiom_soap_fault_create_default_faultgroup__axiom__soap__fault.html#ga4dfaa0b36503de97f4b4a6b9c1fce94Member axiom_soap_envelope_get_soap_versiongroup__axiom__soap__envelope.html#g9f64833d41691f1ae7db590fd11aa25caxiom_soap_envelope_freegroup__axiom__soap__envelope.html#g133462e3b74e84e2ad650fa7b54b303bMember axiom_soap_builder_nextgroup__axiom__soap__builder.html#gbb3d06154356e916298f4740d5b8eaebaxiom_soap_builder_get_soap_versiongroup__axiom__soap__builder.html#g023955efd4b61a9a8852a5c79e893c48Member axiom_soap_body_convert_fault_to_soap11group__axiom__soap__body.html#g9e5fafdf4c3be8634b6460caaf2483c0Member axiom_processing_instruction_get_valuegroup__axiom__processing__instruction.html#ga99551b7aa26abd73d5d6f788c288eb4Member axiom_output_set_ignore_xml_declarationgroup__axiom__output.html#g6c5195c7566ffb6b70a81eae1fa53b8faxiom_output_get_root_content_idgroup__axiom__output.html#g80d298f65e9301fcb36805957ef2b502axiom_output_writegroup__axiom__output.html#g6a95085f778c45224c1aaa87623acfbbMember axiom_node_get_last_childgroup__axiom__node.html#g9f55bfff8ac1c89995dfc93d47ddcd0aMember AXIOM_ELEMENTgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab8f302659663027c648d09c5f7639e258axiom_node_serializegroup__axiom__node.html#g1936a8e535927d9726d804092ad9d4d3Member axiom_navigator_creategroup__axiom__navigator.html#g75c9187ecdec12d397fc4af8867b588dMember axiom_namespace_freegroup__axiom__namespace.html#g146513bb2be7329543254976c15a4489axiom_namespace_creategroup__axiom__namespace.html#gde56c72c2d0eae4fa5a386958ed63d95AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLERgroup__caching__callback.html#gc0c1bb0642a7057a3c464541d1402df7axiom_mime_parser_set_attachment_dirgroup__axiom__mime__parser.html#gd8edc291c3b20e88329ee6e077ca3a0cMember axiom_element_set_localname_strgroup__axiom__element.html#ga3b45a51539b2bd11c3b631b90f2b2b6Member axiom_element_get_children_with_qnamegroup__axiom__element.html#gd10f3b1eafe5c095f90c9086da45b657Member axiom_element_create_strgroup__axiom__element.html#g90e269817d14b24aee50b703c0825552axiom_element_get_default_namespacegroup__axiom__element.html#g8edbc11277ad8a54770466bbffc26158axiom_element_set_localnamegroup__axiom__element.html#ga7b390c6b772f6c529cab878331ec45fMember axiom_document_set_buildergroup__axiom__document.html#g616f57c62b173076d9cc94eb7caca957axiom_document_freegroup__axiom__document.html#gcc7942d49c50f48f063e9576c361e939Member axiom_data_source_get_streamgroup__axiom__data__source.html#g7d282214512f2f2b21fdab3a2826140fMember axiom_data_handler_get_input_stream_lengroup__axiom__data__handler.html#g2f9ba62f37963b8425b85710a1873845axiom_data_handler_set_file_namegroup__axiom__data__handler.html#g5a80fd78e575238e58fc38062a689258axiom_comment_set_valuegroup__axiom__comment.html#g52c8c57ae6df3175de853f09ea54c71fAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXTgroup__axiom__children__with__specific__attribute__iterator.html#g98ebd2187466c7c8c4144cdb43f41ad0Member axiom_children_iterator_has_nextgroup__axiom__children__iterator.html#g2feaa85fe1cc83968e6f8bb51cc546d7axiom_child_element_iterator_has_nextgroup__axiom__child__element__iterator.html#g6abb5119797edb10f7f2aebfa48d4c3bMember axiom_attribute_get_qnamegroup__axiom__attribute.html#g749197cc40576ff4139c9d19298f9f24axiom_attribute_set_valuegroup__axiom__attribute.html#g04e602a4d9456b9111bdbad5ea89a0ecrp_builders.hrp__builders_8h.htmlneethi_reference_get_urineethi__reference_8h.html#dc637c69e8e6670751eb95787ce1ebf5neethi_policy_add_policy_componentsneethi__policy_8h.html#0b5c4de08d9f6816e6f53a3f1fcb2857neethi_includes.hneethi__includes_8h.htmlneethi_engine_serializeneethi__engine_8h.html#2912ad38aaac249644bdc09393ce0c47AXIS2_RM_AT_LEAST_ONCEneethi__constants_8h.html#d19cb085fbd8b917506d49cd0baeaee9NEETHI_IDneethi__constants_8h.html#1363dac3387832438babe7b3bfe4c918neethi_assertion_add_operatorneethi__assertion_8h.html#3c8f3398da115e48749ffce0d7b19ac0neethi_all_is_emptyneethi__all_8h.html#91e7129ba81eca1ad0d49bbbf804fbd1AXIS2_READ_INPUT_CALLBACKgroup__axutil__utils.html#gc9c223058db1f5e3669bfafb73f13fc8axutil_url_encodegroup__axis2__core__transport__http.html#g5985b2e930a5c92fe5c31ed603887d3daxutil_url_tgroup__axis2__core__transport__http.html#g2995bfe02958f78d04ccc19241dd921baxutil_uri_parse_stringgroup__axutil__uri.html#g89c8721392b5307aa708bd0581cc6f87AXIS2_URI_ACAP_DEFAULT_PORTgroup__axutil__uri.html#g597c0ffd3d295c93b341d41934926b8aaxutil_thread_pool.haxutil__thread__pool_8h.htmlaxutil_thread_mutex_creategroup__axutil__thread.html#gcab265f8a3be8ef7c20442a3c5bccd67AXIS2_THREAD_MUTEX_UNNESTEDgroup__axutil__thread.html#g23f73f33dbd2bc3b73e45765daee0dfdaxutil_rand_get_seed_value_based_on_timegroup__axutil__rand.html#ge538ffc1401b35cac57c8573a860db0eaxutil_qname.h File Referenceaxutil__qname_8h.htmlaxutil_param_set_value_listgroup__axutil__param.html#gbebcc4d30b84c633742bfde71e2cf101axutil_param.haxutil__param_8h.htmlaxutil_linked_list_add_at_indexgroup__axutil__linked__list.html#gde56abab810e3643547facceb1858c8baxutil_linked_list_get_entrygroup__axutil__linked__list.html#g2d5024ce7b59b66e82978f8ca0c74a06axutil_http_chunked_stream.haxutil__http__chunked__stream_8h.htmlaxutil_hash_makegroup__axutil__hash.html#g8acab6f89243f53723665aab71e5e945axutil_env_create_allgroup__axutil__env.html#g2dc8a2c80be26e619410e196725a9599axutil_dll_desc_set_delete_functgroup__axutil__dll__desc.html#gdd70912963c7cfc72b38a2da35c76b71axutil_dll_desc_tgroup__axutil__dll__desc.html#g3fbf5d3d54ce7a4630f3d8646b2d040baxutil_date_time_deserialize_date_time_with_time_zonegroup__axutil__date__time.html#gcba63e32abcd477aa6bfa743cc25bcf2axutil_date_time_serialize_dategroup__axutil__date__time.html#ga098865ec9b787dd25530c99f22b86e0axutil_class_loader.h File Referenceaxutil__class__loader_8h.htmlaxutil_array_list_check_bound_exclusivegroup__axutil__array__list.html#gdcfecde9d78409f5ff53607d756e3c45axutil_allocator.haxutil__allocator_8h.htmlAXIS2_TRANSPORT_SENDER_INVOKEgroup__axis2__transport__sender.html#gbe928f1aa5166c508c6579e5289ee0e0axis2_transport_out_desc.haxis2__transport__out__desc_8h.htmlaxis2_transport_out_desc_get_enumgroup__axis2__transport__out__desc.html#gc56b3eb46671968107d9f6e2a8421c66axis2_transport_in_desc_set_fault_in_flowgroup__axis2__transport__in__desc.html#g4f702a1a39ff523cf65600fc54046643axis2_svr_callback.haxis2__svr__callback_8h.htmlaxis2_svc_name_creategroup__axis2__svc__name.html#gd9c5d80b2a677f7d60e7ab28476110fbaxis2_svc_grp.haxis2__svc__grp_8h.htmlaxis2_svc_grp_remove_svcgroup__axis2__svc__grp.html#gbd962a135fad725b13f351adbc4f495aaxis2_svc_ctx_set_parentgroup__axis2__svc__ctx.html#gccbd28eff1c261a89ae12ba43382c284axis2_svc_client_creategroup__axis2__svc__client.html#ga53015f155024d22a32e65132cd50e4caxis2_svc_client_send_robustgroup__axis2__svc__client.html#g715a6de724d3a0d1d93bd11620c3ee78axis2_svc_set_impl_classgroup__axis2__svc.html#g3d991c17e24349b787a3da7168c0eb3eaxis2_svc_get_file_namegroup__axis2__svc.html#g2e55e1cb76fb887f300111c732915384axis2_svc_disengage_modulegroup__axis2__svc.html#gbccd941c1f48817cb8aad67eb017f70aaxis2_svc_tgroup__axis2__svc.html#gc4a9229f924f3af161d02183a9dd6ca3axis2_stub.h File Referenceaxis2__stub_8h.htmlaxis2_simple_http_svr_conn_freeaxis2__simple__http__svr__conn_8h.html#5718356edb01a8c6a62fc466e4ba5f35axis2_relates_to_freegroup__axis2__relates__to.html#g6f8c0bf96b07b67ed99af0ea01136e3eaxis2_phase_rule_get_namegroup__axis2__phase__rule.html#g609ef9a04aebdd2af772f78cef7ce26daxis2_phase_resolver_engage_module_to_svcgroup__axis2__phase__resolver.html#gbbf06ef19a61ea00c495c980f8cbee1baxis2_phase_increment_refgroup__axis2__phase.html#ge2b5eec3eb335795defbc87262186d85axis2_phase_add_handlergroup__axis2__phase.html#g8fc3f0608dac0d516c0646b0e8e1d022axis2_options_set_proxy_auth_infogroup__axis2__options.html#g1d156a086d838faecb313d2cc96f80dcaxis2_options_get_soap_versiongroup__axis2__options.html#g11ee50a4d0d759ce0199e4009c958b25axis2_options_set_transport_in_protocolgroup__axis2__options.html#g23c960bfdb5ace4fce7997b3d00be21daxis2_options_get_propertygroup__axis2__options.html#g326904f3372180e2da28e235de21881faxis2_op_ctx_is_in_usegroup__axis2__op__ctx.html#g016e131eb3c18c134e81f48f0639eae5axis2_op_ctx_tgroup__axis2__op__ctx.html#ga1a3bbd22f2313e8da5bd031ea8190c9axis2_op_client_freegroup__axis2__op__client.html#g3f2aaeed111dbfc0bb5074d6384de49aaxis2_msg_recv_load_and_init_svcgroup__axis2__msg__recv.html#gfdc9258a276b87b75c424abae5b80565axis2_msg_recv_tgroup__axis2__msg__recv.html#g7547da0893782e6165696315481247deaxis2_msg_info_headers_set_fault_to_nonegroup__axis2__msg__info__headers.html#g4f66e5d4b845de21780aa409b8997672axis2_msg_ctx_increment_refgroup__axis2__msg__ctx.html#g88942393726b78bdb836462dd04aa6baaxis2_msg_ctx_get_transfer_encodinggroup__axis2__msg__ctx.html#g8b44e1813cdfd69b216cf6bfccba9c25axis2_msg_ctx_get_out_transport_infogroup__axis2__msg__ctx.html#gb37389b924f4503169165ae6d0371e17axis2_msg_ctx_set_supported_rest_http_methodsgroup__axis2__msg__ctx.html#g0fb6ae57c92a4554697bd3e3877cd512axis2_msg_ctx_get_opgroup__axis2__msg__ctx.html#gef54001c6a3b344e85f672113f636e09axis2_msg_ctx_get_paused_handler_namegroup__axis2__msg__ctx.html#g366fd625ade004c3f9d144cd5544d5beaxis2_msg_ctx_set_op_ctxgroup__axis2__msg__ctx.html#geefba02d7fc287e3bdf530dc3743d049axis2_msg_ctx_set_togroup__axis2__msg__ctx.html#ge1f6c9f77e01f1e59ce285de19d958a6axis2_msg_ctx_get_msg_idgroup__axis2__msg__ctx.html#g1f05e034e633a5649c4aead35b9b2b3fAXIS2_SVR_PEER_IP_ADDRgroup__axis2__msg__ctx.html#g7474c039348fcaae57ebc785661329ceaxis2_msg_get_namegroup__axis2__msg.html#g4d0a9953fea4185365e869b71b6dec42AXIS2_MSG_IN_FAULTgroup__axis2__msg.html#gc1a93d406ebcea483078bcd581674befaxis2_module_desc_get_parentgroup__axis2__module__desc.html#gb01c8f56f9c94ca518849c09bc7bf0d8axis2_module_creategroup__axis2__module.html#gbbf3d0b019a87d06a865131d41d57fc4axis2_http_worker_creategroup__axis2__http__worker.html#g33e98090d4482c2804d2e37487bc603faxis2_http_transport_utils_destroy_mime_partsaxis2__http__transport__utils_8h.html#e0651ab2b96a7a6136f06234d5af6ffeaxis2_http_transport_utils_get_not_foundaxis2__http__transport__utils_8h.html#624055e01468790004e58da9eae891a1axis2_http_transport_utils.haxis2__http__transport__utils_8h.htmlaxis2_http_status_line.haxis2__http__status__line_8h.htmlaxis2_http_simple_request_get_bodygroup__axis2__http__simple__request.html#g96fc519ef12d1ceeb0a8e7c139217331axis2_http_server_creategroup__axis2__http__server.html#g44227a462858eb452595cee00adcb4f8Member AXIS2_HTTP_SENDER_FREEaxis2__http__sender_8h.html#2409df19c0a6580a757dd966dc089b4dAXIS2_HTTP_SENDER_SET_CHUNKEDaxis2__http__sender_8h.html#930a9ebf0bb35f1ae076ddd63c580d50axis2_http_response_writer_tgroup__axis2__http__response__writer.html#g2259f3ec5abf54528a6b9797e8188771axis2_http_out_transport_info_set_char_encoding_funcgroup__axis2__http__out__transport__info.html#gc4276f577d844fa23ed6e0e680a2d7baaxis2_http_header_get_namegroup__axis2__http__header.html#g5963ee03651481ebff143191634ae3ccaxis2_http_client_set_server_certgroup__axis2__http__client.html#gb9f482d072c34edf2b8a6b901dcc52d2axis2_http_accept_record_freegroup__axis2__http__accept__record.html#g239e70683b74ebbbf004f46a02b63303axis2_handler_desc_get_handlergroup__axis2__handler__desc.html#g802a79e88268339bb7e5f867cf34f216axis2_handler_get_namegroup__axis2__handler.html#g155435ede9e1fcbe13b28dc321601216axis2_flow_container_get_in_flowgroup__axis2__flow__container.html#g977c13c226bc8108499ef62d21ac903caxis2_engine_freegroup__axis2__engine.html#g7ca747905b4bb17877e94a44aad3887daxis2_endpoint_ref_add_metadata_attributegroup__axis2__endpoint__ref.html#g67bc0356744635c35d3d6bb7755dcbfbaxis2_disp.haxis2__disp_8h.htmlAXIS2_SERVICE_CLASSgroup__axis2__desc__constants.html#g51520c8629c59965bb63041e7852d2b7axis2_desc.haxis2__desc_8h.htmlMember AXIS2_OUT_FLOWaxis2__defines_8h.html#29322231941ef510a61878291a3d90beaxis2_ctx_set_propertygroup__axis2__ctx.html#g7cf1781574ed208e2ca552cde99501bbaxis2_conf_ctx_freegroup__axis2__conf__ctx.html#g0d6bee37eb671fb1f538b6d96484f46faxis2_conf_ctx_tgroup__axis2__conf__ctx.html#gab2f89df328e63d4f9fa3a4d035d18f0axis2_conf_get_default_modulegroup__axis2__config.html#gcc150b948c4762e423777fe2f622fba0axis2_conf_add_msg_recvgroup__axis2__config.html#g2563c430243b6cce5142109b1f7fae84axis2_conf_get_transport_outgroup__axis2__config.html#gaf9cf73e931cfb1fcb70206de2adaa26axis2_callback.haxis2__callback_8h.htmlaxis2_callback_tgroup__axis2__callback.html#g0d855254802281de06d16c71627226b5axis2_addr_mod.haxis2__addr__mod_8h.htmlAXIS2_WSA_SERVICE_NAME_ENDPOINT_NAMEgroup__axis2__addr__consts.html#gc92b4d9b87dc12c105b8578dcf586c79EPR_ADDRESSgroup__axis2__addr__consts.html#g50b15986d08ce1bb6cb8a3d3b9551449axiom_xml_writer_write_encodedgroup__axiom__xml__writer.html#g4af81c3bec86f454b46fe927341fd5c1axiom_xml_writer_write_attribute_with_namespacegroup__axiom__xml__writer.html#gd75f18f14f1eb494c59e58532cd16060axiom_xml_writer.h File Referenceaxiom__xml__writer_8h.htmlaxiom_xml_reader_get_attribute_prefix_by_numbergroup__axiom__xml__reader.html#g6ab4ee9babdcbf9ff38f2ee7fde7f8bdaxiom_soap_header_block_get_attributegroup__axiom__soap__header__block.html#gbe505ca156a1f25b44b3fc2d92aab5bcaxiom_soap_header_get_soap_versiongroup__axiom__soap__header.html#g97f0b56a661fd9a5fd793a3eb22c963caxiom_soap_fault_value_create_with_codegroup__axiom__soap__fault__value.html#gd99d26388683833e9086c8588993018faxiom_soap_fault_sub_code_get_base_nodegroup__axiom__soap__fault__sub__code.html#gfd47ab5044ec19f802569ba9a5555031axiom_soap_fault_role.h File Referenceaxiom__soap__fault__role_8h.htmlaxiom_soap_fault_node_create_with_parentgroup__axiom__soap__fault__node.html#gba7df4c62d60b0dcee65c5cc9fa9482aaxiom_soap_fault_code_freegroup__axiom__soap__fault__code.html#gfdd4b60f7ffa4b77e26fed1bdc80c649axiom_soap_fault_create_with_exceptiongroup__axiom__soap__fault.html#gde9cbf2c313c0adeedea3ac60bf148b4axiom_soap_envelope_create_default_soap_envelopegroup__axiom__soap__envelope.html#gcc0331effc60b8a61285e3ec07e32652axiom_soap_builder_set_processing_detail_elementsgroup__axiom__soap__builder.html#g4b4ece690ddf6f42c3a0151e4718be72axiom_soap_body_get_base_nodegroup__axiom__soap__body.html#g9bbf0f7a4ecab44106145d9b97f07dfcaxiom_node_is_completegroup__axiom__node.html#g94ec253a7993a968b8a2e5fc80c7f5f3Member axiom_types_tgroup__axiom__node.html#g1d63f86448ef155d8b2baa77ef7ae2abAXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLERgroup__caching__callback.html#gc0c1bb0642a7057a3c464541d1402df7axiom_mime_parser_set_mime_boundarygroup__axiom__mime__parser.html#g75c483098bcbb01cacff9dbfc3e41e01axiom_mime_parser.h File Referenceaxiom__mime__parser_8h.htmlaxiom_doctype.haxiom__doctype_8h.htmlaxiom_data_source.h File Referenceaxiom__data__source_8h.htmlaxiom_data_handler_get_input_streamgroup__axiom__data__handler.html#g1fcb504cd3cdb758b5247066c1cb332caxiom_comment.h File Referenceaxiom__comment_8h.htmlaxiom_children_qname_iterator_removegroup__axiom__children__qname__iterator.html#g6c9fd0776505254c0073943eece20134axiom_child_element_iterator_creategroup__axiom__child__element__iterator.html#g22b11e124caa715ecf3d31fb58991154axiom_attribute_create_strgroup__axiom__attribute.html#gb9836150f9d8af4256bcadace600c79faxiom.haxiom_8h.htmlrp_token.hrp__token_8h-source.htmlrp_recipient_token_builder.hrp__recipient__token__builder_8h-source.htmlrp_defines.hrp__defines_8h-source.htmlneethi_constants.hneethi__constants_8h-source.htmlaxutil_uuid_gen.haxutil__uuid__gen_8h-source.htmlAXIS2_URI_UNP_OMITQUERY_ONLYaxutil__uri_8h-source.html#l00102AXIS2_URI_IMAP_DEFAULT_PORTaxutil__uri_8h-source.html#l00058axutil_thread_once_taxutil__thread_8h-source.html#l00055axutil_param.haxutil__param_8h-source.htmlAXIS2_LOG_LEVEL_ERRORaxutil__log_8h-source.html#l00064axutil_file_handler.haxutil__file__handler_8h-source.htmlaxutil_duration.haxutil__duration_8h-source.htmlaxutil_allocator.haxutil__allocator_8h-source.htmlaxis2_transport_out_desc_taxis2__transport__out__desc_8h-source.html#l00056axis2_svc_skeleton::opsaxis2__svc__skeleton_8h-source.html#l00143axis2_svc.haxis2__svc_8h-source.htmlaxis2_phase_resolver_taxis2__phase__resolver_8h-source.html#l00087AXIS2_PHASE_BOTH_BEFORE_AFTERaxis2__phase_8h-source.html#l00050axis2_op_taxis2__op_8h-source.html#l00058AXIS2_TRANSPORT_INaxis2__msg__ctx_8h-source.html#l00065axis2_moduleaxis2__module_8h-source.html#l00122AXIS2_HTTP_AUTH_TYPE_BASICaxis2__http__transport_8h-source.html#l00949MTOM_RECIVED_CONTENT_TYPEaxis2__http__transport_8h-source.html#l00858AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODINGaxis2__http__transport_8h-source.html#l00770AXIS2_HTTP_HEADER_ACCEPT_LANGUAGEaxis2__http__transport_8h-source.html#l00685AXIS2_HTTP_HEADER_USER_AGENT_AXIS2Caxis2__http__transport_8h-source.html#l00594AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHMaxis2__http__transport_8h-source.html#l00509AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPEaxis2__http__transport_8h-source.html#l00420AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAMEaxis2__http__transport_8h-source.html#l00333AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAMEaxis2__http__transport_8h-source.html#l00247AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VALaxis2__http__transport_8h-source.html#l00157AXIS2_HTTP_PROTOCOL_VERSIONaxis2__http__transport_8h-source.html#l00056AXIS2_HTTP_SENDER_SENDaxis2__http__sender_8h-source.html#l00192axis2_http_accept_record.haxis2__http__accept__record_8h-source.htmlAXIS2_SERVICE_CLASSaxis2__description_8h-source.html#l00133axis2_desc_taxis2__desc_8h-source.html#l00044axis2_client.haxis2__client_8h-source.htmlAXIS2_WSA_DEFAULT_PREFIXaxis2__addr_8h-source.html#l00145EPR_PORT_TYPEaxis2__addr_8h-source.html#l00086axiom_xpath_result_nodeaxiom__xpath_8h-source.html#l00181axiom_xpath_expression::startaxiom__xpath_8h-source.html#l00114axiom_xml_readeraxiom__xml__reader_8h-source.html#l00353axiom_soap_envelope.haxiom__soap__envelope_8h-source.htmlAXIOM_INVALIDaxiom__node_8h-source.html#l00065axiom_mime_const.haxiom__mime__const_8h-source.htmlPage Axis2/C API Documentationindex.htmlMember axutil_log::levelstructaxutil__log.html#083fd70b8c1f8b74b63cf5e2121aa945axutil_error::allocatorstructaxutil__error.html#2f53d04714902b5a03c4b646effdb471Member axutil_allocator::global_poolstructaxutil__allocator.html#02950180254570b99f2d93ee3a9e45f7Member axis2_version_t::majorstructaxis2__version__t.html#5b09e7b8017cf59f4c1dce05043b6b6dMember axis2_transport_sender::opsstructaxis2__transport__sender.html#350bdcb21fd85adaea9b32bb5c5ddc4baxis2_transport_receiver_ops::initstructaxis2__transport__receiver__ops.html#885be2bbdb84dd0733ee6b746a06135aaxis2_svc_skeleton_ops Struct Referencestructaxis2__svc__skeleton__ops.htmlstruct axis2_modulestructaxis2__module.htmlMember axiom_xpath_expression::operationsstructaxiom__xpath__expression.html#6eae7cd6440ee80cb9ae2ad7955f84f6Member axiom_xpath_context::attributestructaxiom__xpath__context.html#195be613871ae670bbf7a22820a582efaxiom_xpath_context::namespacesstructaxiom__xpath__context.html#2d2e8abbabd6efcc439bdab7e179e910Member axiom_xml_writer_ops::write_default_namespacestructaxiom__xml__writer__ops.html#d5e89aade5d5eea3dfa737e93aa3af2baxiom_xml_writer_ops::get_typestructaxiom__xml__writer__ops.html#0b43729f51ed230b4952d2d8e96dec7baxiom_xml_writer_ops::write_default_namespacestructaxiom__xml__writer__ops.html#d5e89aade5d5eea3dfa737e93aa3af2baxiom_xml_writer::opsstructaxiom__xml__writer.html#2791ea9e27afe6861ce5b581523f4444Member axiom_xml_reader_ops::get_attribute_prefix_by_numberstructaxiom__xml__reader__ops.html#3ff29576e6e09c6f9eede201aaea50a3axiom_xml_reader_ops::get_valuestructaxiom__xml__reader__ops.html#23269d48917339c1195c68548a1df6bdaxiom_mtom_sending_callback_ops::init_handlerstructaxiom__mtom__sending__callback__ops.html#3ec299e471c7297220a2caed1b6ca0fdrp_x509_token_set_require_issuer_serial_referencegroup__rp__x509__token.html#ge27b15dea5a193ad16910ec76bcad2a4rp_wss11_get_require_signature_confirmationgroup__wss11.html#gbd296529310c3215208b1b0e499afa66Wss11group__wss11.htmlRp_username_token_buildergroup__rp__username__token__builder.htmlrp_username_token_creategroup__rp__username__token.html#g2561960f1bc26a03bfa91b1dcd012a6cRp_transport_bindinggroup__rp__transport__binding.htmlrp_token_creategroup__rp__token.html#g64cfd0cc41b0d2046512df58362de9bcRp_symmetric_bindinggroup__rp__symmetric__binding.htmlrp_supporting_tokens_increment_refgroup__rp__supporting__tokens.html#gc4f79efca3e1c1d00b805379dccf9b1erp_supporting_tokens_tgroup__rp__supporting__tokens.html#g42ace67cbcfcf0cc75f580d586babdedRp_signed_encrypted_partsgroup__rp__signed__encrypted__parts.htmlrp_signed_encrypted_elements_creategroup__rp__signed__encrypted__elements.html#ge34732666855710b08055fea60bda041rp_security_context_token_get_require_external_uri_refgroup__rp__security__context__token.html#g6e11c5223a7955e937b1db6d86ce69c0rp_secpolicy_get_wssgroup__rp__secpolicy.html#ged956dceb2510a9eed8a76f04cc44558rp_secpolicy_set_endorsing_supporting_tokensgroup__rp__secpolicy.html#g3be59d3800d75f46ba1efa42558d10efrp_rampart_config_get_pkcs12_filegroup__rp__rampart__config.html#g964885f8d56f9e8b32941d9afcca0cbcrp_rampart_config_set_password_typegroup__rp__rampart__config.html#g8d4a0d696758a90432583ad3a5c405a0Rp_rampart_configgroup__rp__rampart__config.htmlrp_layout_set_valuegroup__rp__layout.html#g69ba2c898fc99d580afc6be113fbee41rp_trust10_freegroup__trust10.html#g9207f19c57257bbad2960838b68dcaa8rp_issued_token_freegroup__trust10.html#gc1e4c30de294b180bc04cdf46c1eadd0rp_https_token_creategroup__rp__https__token.html#gde241f2bb1e501ebbd7dde9501095f5erp_element_freegroup__rp__element.html#g6116ffbfd6573bad02c9754e9acae61dRP_TIME_TO_LIVEgroup__rp__defines.html#gfd28b02c8f32bdbd338cbb309af16709RP_SC10_SECURITY_CONTEXT_TOKENgroup__rp__defines.html#ga44e840be845420bc9ad581038214287RP_REQUIRE_INTERNAL_REFERENCEgroup__rp__defines.html#gb3de1e0ef9cefe61507175bf2ab2b013RP_INCLUDE_TOKENgroup__rp__defines.html#g2d797cce03948970c773f911d83f648eRP_STRT10group__rp__defines.html#gf4573f4d2bddbd107c5f98e306e73dd4RP_AES256group__rp__defines.html#g72632e801f56afc40b1b58b486bdb5fdRP_ALGO_SUITE_BASIC128_RSA15group__rp__defines.html#gf869d49302487ed9766da374dca0d28fRP_INITIATOR_TOKENgroup__rp__defines.html#gc08cbd72094e9fd4095220598d108f2aRP_TRUST10group__rp__defines.html#g2ccf5437152a19fe53d84a9eb8feaae0RP_ENDORSING_SUPPORTING_TOKENSgroup__rp__defines.html#ga57381661d09615f382d22b300d98cb3rp_binding_commons_set_signed_endorsing_supporting_tokensgroup__rp__binding__commons.html#g5c82cdbbe20949bae2194582aa8aae72rp_asymmetric_binding_get_recipient_tokengroup__rp__asymmetric__binding.html#g6b5c37ce64f8ab9a7209799a60197758rp_algorithmsuite_set_c14ngroup__rp__algoruthmsuite.html#g3c9b7c80aeb5539abcca46188e2e31ffrp_algorithmsuite_get_encryptiongroup__rp__algoruthmsuite.html#g81406d2ff849dc3bb89f5cc6e5d81281Member axutil_parse_rest_url_for_paramsgroup__axutil__utils.html#g45760bfc8d8cf44f072c3a3fff0656dbaxutil_parse_rest_url_for_paramsgroup__axutil__utils.html#g45760bfc8d8cf44f072c3a3fff0656dbutilsgroup__axutil__utils.htmlMember AXIS2_URI_UNP_OMITUSERINFOgroup__axutil__uri.html#gdf97648c61c101a22ed8628355171496Member AXIS2_URI_NFS_DEFAULT_PORTgroup__axutil__uri.html#g938eb255d804e1aff7e1d92ffb5f5b9daxutil_uri_freegroup__axutil__uri.html#g28289798d5761887bd0c9d596f4af55dAXIS2_URI_UNP_OMITSITEPARTgroup__axutil__uri.html#g9fbeb5793112dac6d410949e2f9b8547AXIS2_URI_SSH_DEFAULT_PORTgroup__axutil__uri.html#g173cf9fac502ce166634f8cac97ad72bMember axutil_thread_pool_freegroup__axutil__thread__pool.html#gc0cc0e6ac3ceae901d69907955be7c8fMember axutil_thread_yieldgroup__axutil__thread.html#gb260d86a99c9c7af7ae632fb99c59106Member axutil_thread_mutex_tgroup__axutil__thread.html#g3d6a99be71c7c750b4ac37efae2bdf87axutil_threadattr_detach_setgroup__axutil__thread.html#g64df222946d03707ee4c00164d7f567aMember axutil_string_substring_ending_atgroup__axutil__string__utils.html#g5fa2c2b4d112595920df38373dd25415axutil_strstrgroup__axutil__string__utils.html#gc1252ccce62852fe44fcde87451075c4Member axutil_string_create_constgroup__axutil__string.html#gf3c10a118a1ab009b22542abeef72b06Member axutil_stream_readgroup__axutil__stream.html#g50c7a90bb8fd3b6d3655c50e82120a0bMember axutil_stream_create_socketgroup__axutil__stream.html#g86be0e77c1793480716cd0de34e8fe6baxutil_stream_type_tgroup__axutil__stream.html#ga0eb15ae916c41040bcb3525527b474aaxutil_rand_with_rangegroup__axutil__rand.html#gc3ab8d15d9b62a720c6a2b423ea578ebaxutil_qname_creategroup__axutil__qname.html#gf2494bb225ee6ca4fd80641e5c8f30b5Member axutil_properties_storegroup__axutil__properties.html#g7be00557b60d6c63269b6f894c8f3683Member axutil_param_container_get_paramsgroup__axutil__param__container.html#geb219d10e4cff60dde4b8af15548d13aMember axutil_param_set_lockedgroup__axutil__param.html#g970029b6a857fd5c0ec6cd92561b2803axutil_param_set_param_typegroup__axutil__param.html#gb96a02fe95d09bece58dec0b636d619aMember axutil_network_handler_get_svr_ipgroup__axutil__network__handler.html#ge133f7aaab676ec5220383a1fc6a18b5Member axutil_md5_updategroup__axutil__md5.html#g4376674b24f5e755fef8113029600a58Member AXIS2_LOG_LEVEL_DEBUGgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06d4768c51dc9b67f5e514c96012f636f1aaxutil_log_impl_log_warninggroup__axutil__log.html#gf3582db1ae8af00cce321f0de5d98402AXIS2_LOG_ERRORgroup__axutil__log.html#g6dc83224f4b014a75b5373fd257fd6c7Member axutil_linked_list_removegroup__axutil__linked__list.html#ga595fa9b25737e98268cababb5a23ccdentry_s::previousgroup__axutil__linked__list.html#g13ae42624c368b144f54520dcca0e770axutil_linked_list_remove_firstgroup__axutil__linked__list.html#gfc28d2d0a4f2f1adffde51c2d8182779Member axutil_http_chunked_stream_tgroup__axutil__http__chunked__stream.html#g4f21d685413463e10ac26b40046a25ffMember axutil_hash_mergegroup__axutil__hash.html#g146257867c0be68eedae4ef822d4d341axutil_hash_contains_keygroup__axutil__hash.html#g56cd2ac6c7addaf693c820abe1d180f5hashgroup__axutil__hash.htmlaxutil_file_handler_opengroup__axutil__file__handler.html#ga530cb76dd78fa86c1e419d80c9b53fbMember axutil_error_initgroup__axutil__error.html#gca400ab90e600bfe18efe4804727900dAXIS2_ERROR_SET_STATUS_CODEgroup__axutil__error.html#gfabdf846f951b8bbe3e316a4903ca938axutil_env_increment_refgroup__axutil__env.html#g5ea411964e441ce76a071a1ac3a08a78Member axutil_duration_creategroup__axutil__duration.html#g16290b58f9407559bf66a271985a1430axutil_duration_serialize_durationgroup__axutil__duration.html#ga4355762118956b9c8eac3503873bcacaxutil_dll_desc_get_delete_functgroup__axutil__dll__desc.html#gffdfc01fab68a77737b416a85b0f5170CREATE_FUNCTgroup__axutil__dll__desc.html#g62b161d5232f3c3ab7ca639693f7ec21AXIS2_DIGEST_HASH_LENgroup__axutil__digest__calc.html#gf5e01ac5808390ef37a5a646a86d8920Member axutil_date_time_get_hourgroup__axutil__date__time.html#g709d3af760c962dc1e69b8e7f821ab70axutil_date_time_local_to_utcgroup__axutil__date__time.html#gf6ded9a9079fac6f4c57a829fc2b4f8daxutil_date_time_deserialize_timegroup__axutil__date__time.html#g7e5fb45f3ddfccdbb4a22f27d07f6c58Member axutil_base64_binary_create_with_plain_binarygroup__axutil__base64__binary.html#g60d56fa636505ebc10eed632dc345f1fMember axutil_array_list_setgroup__axutil__array__list.html#g77177f8cd9a95ec0bedeec6906352395axutil_array_list_check_bound_exclusivegroup__axutil__array__list.html#gdcfecde9d78409f5ff53607d756e3c45Member axutil_allocator_switch_to_global_poolgroup__axutil__allocator.html#g7c4b9b9277c33abdfbd7f5838c1482daMember AXIS2_TRANSPORT_SENDER_INVOKEgroup__axis2__transport__sender.html#gbe928f1aa5166c508c6579e5289ee0e0Member axis2_transport_receiver_get_reply_to_eprgroup__axis2__transport__receiver.html#g716be8f00a030e32139abdde3c2ca56cMember axis2_transport_out_desc_set_sendergroup__axis2__transport__out__desc.html#g945e1f92bebe27aa180358eb7eaaf126Member axis2_transport_out_desc_add_paramgroup__axis2__transport__out__desc.html#g8621dd5272956b27dea575d3faea7661axis2_transport_out_desc_get_out_flowgroup__axis2__transport__out__desc.html#g2e7d8904b18d357a6b73f7b8cf301460Member axis2_transport_in_desc_get_in_flowgroup__axis2__transport__in__desc.html#g8f29949d324d08e6c759ccf650ccab29axis2_transport_in_desc_set_in_phasegroup__axis2__transport__in__desc.html#gd86f037c003fa111e619a7e9ae5474eaMember axutil_thread_mutex_destroygroup__axis2__mutex.html#g7e441c4b47fe4466ff385e396258ead3Member axis2_svr_callback_handle_faultgroup__axis2__svr__callback.html#g047c37ee9b79b4dd89a3f55761e6506cGroup service skeletongroup__axis2__svc__skeleton.htmlGroup service namegroup__axis2__svc__name.htmlMember axis2_svc_grp_ctx_freegroup__axis2__svc__grp__ctx.html#g0fd950866065679d54ca9f6a8a2edfaaservice group contextgroup__axis2__svc__grp__ctx.htmlMember axis2_svc_grp_create_with_confgroup__axis2__svc__grp.html#ge65bd5202186937874e51ceb0fd9d97eaxis2_svc_grp_set_parentgroup__axis2__svc__grp.html#ga97c377688555569fa102742ff6adfedMember axis2_svc_ctx_set_parentgroup__axis2__svc__ctx.html#gccbd28eff1c261a89ae12ba43382c284axis2_svc_ctx_initgroup__axis2__svc__ctx.html#gceab7004549d691ce03343fffdd08c1bMember axis2_svc_client_send_receive_with_op_qnamegroup__axis2__svc__client.html#g6e0d00d836295f92e14473d3cf3bf78bMember axis2_svc_client_get_http_auth_requiredgroup__axis2__svc__client.html#g44f5bf54b151b8435880f3c109ac2eb9axis2_svc_client_set_policygroup__axis2__svc__client.html#g805278c10ee19cda6d41fc224f5b9ea3axis2_svc_client_finalize_invokegroup__axis2__svc__client.html#g3376dc048e45a0e943698375698c7420axis2_svc_client_set_optionsgroup__axis2__svc__client.html#ge976c74f5398693aa8b6d2c083b982bfMember axis2_svc_set_file_namegroup__axis2__svc.html#gd0ce8a174e0bb8ecca7b8666669a775fMember axis2_svc_get_op_by_soap_actiongroup__axis2__svc.html#g91fa5f06a989145dadd9d071ca1eb648Member axis2_svc_add_module_qnamegroup__axis2__svc.html#ga45683c7b157225d4fd3d071337d7704saxis2_svc_et_target_nsgroup__axis2__svc.html#gb3d818fcf7a3a43f8358f7c3a1a23689axis2_svc_get_namegroup__axis2__svc.html#ga2590adf8cb809185ccd1117e5c38767axis2_svc_get_all_opsgroup__axis2__svc.html#g1574ba3e87a679748c2395a521787d56Member axis2_stub_engage_modulegroup__axis2__stub.html#gb1137e8b1493ebfbecb29e81b6554974axis2_stub_freegroup__axis2__stub.html#gfc147a4a3fbdadfd5d92051fd7be69e5axis2_rm_assertion_get_sender_sleep_timegroup__axis2__rm__assertion.html#g7df5161d447851ffd372164653d1914baxis2_rm_assertion_set_is_atmost_oncegroup__axis2__rm__assertion.html#gd9c1d12d01e4d55de7399a8895fdd7ffMember axis2_relates_to_get_relationship_typegroup__axis2__relates__to.html#g3208f2fae771fc2fe5e6a604f0b9c3bfMember axis2_policy_include_creategroup__axis2__policy__include.html#g2c111101ec579191588807b7668123aaaxis2_policy_include_set_policygroup__axis2__policy__include.html#g33f8fd9e2b35216264f0260bac19249cMember axis2_phases_info_get_op_in_phasesgroup__axis2__phases__info.html#g6672b6b521ec38cff0ac0af4e874bb36axis2_phases_info_get_out_phasesgroup__axis2__phases__info.html#gf807906bcf7e5b6d7bd870b144c8f859Member axis2_phase_rule_get_beforegroup__axis2__phase__rule.html#g74c03a05867ebf1ab9f697c7901d53b1axis2_phase_rule_get_aftergroup__axis2__phase__rule.html#gc510de132f16f900e4d1ded091d70a1eMember axis2_phase_resolver_tgroup__axis2__phase__resolver.html#g1d7f5ab5b7042b14e61751be6e6bcb7cMember AXIS2_PHASE_TRANSPORT_INgroup__axis2__phase__meta.html#g56ead22fee47a92b71fc83909db2096eMember axis2_phase_holder_is_phase_existgroup__axis2__phase__holder.html#g353f89d7a5800ff39a464244540535a3axis2_phase_holder_tgroup__axis2__phase__holder.html#g10df00c78200bd75b25c443e6c6d568eMember axis2_phase_add_handler_descgroup__axis2__phase.html#g9b592193365d716976f3f68d61bb7a6faxis2_phase_insert_beforegroup__axis2__phase.html#g72deb07fffca51fe7f953ac82c6616b2Member axis2_out_transport_info_tgroup__axis2__out__transport__info.html#gb841f7dbcba89c8b6f55c193007d68c7Member axis2_options_set_transport_ingroup__axis2__options.html#g7adae8ea3c133854375e0a0dc02a2446Member axis2_options_set_manage_sessiongroup__axis2__options.html#g61fc4980e653dcc854819966af927b01Member axis2_options_get_soap_version_urigroup__axis2__options.html#g815f59fcea7c8c19b361121636ecfd2aMember axis2_options_create_with_parentgroup__axis2__options.html#ge74438488efabde966a1fbefbb1642e2axis2_options_freegroup__axis2__options.html#g1cc19bb9faf77ab2afaf79781e409fc0axis2_options_set_soap_version_urigroup__axis2__options.html#gfa4179613c1277d4301bb25065e9007baxis2_options_get_use_separate_listenergroup__axis2__options.html#g44f65542c0790f426a539e8a48bba49caxis2_options_tgroup__axis2__options.html#g26794bbdc46cdd3481c7e9079c0d6094Member axis2_op_ctx_get_is_completegroup__axis2__op__ctx.html#gb22ed4938df18e52dacc388e89a140d0axis2_op_ctx_cleanupgroup__axis2__op__ctx.html#g7ae8623d063eed0d7120d49f025bc60bMember axis2_op_client_set_reusegroup__axis2__op__client.html#geaaa726f66d8836c6bc46c946c960b9eMember axis2_op_client_engage_modulegroup__axis2__op__client.html#g29f69ee655f82cefb0f12dd2a964e844axis2_op_client_infer_transportgroup__axis2__op__client.html#gf628443031365d7e51bb1a08ce338d32axis2_op_client_set_optionsgroup__axis2__op__client.html#g129b0ae65f1bcf960e563d5adc31d7faMember axis2_op_is_param_lockedgroup__axis2__op.html#g118ba8c76ce88e87fb343802fbf475c2Member axis2_op_get_axis_specific_mep_constgroup__axis2__op.html#gc92244a5db8c70d5708178b946e66e1fMember AXIS2_SOAP_ACTIONgroup__axis2__op.html#ge7774d96963e30c6d1223b91cbca8d4caxis2_op_set_in_flowgroup__axis2__op.html#g50f9a012ec96509acddeb84071ec2f32axis2_op_set_msg_exchange_patterngroup__axis2__op.html#g52a0934ae264d08854a0eb9903dbc889AXIS2_SOAP_ACTIONgroup__axis2__op.html#ge7774d96963e30c6d1223b91cbca8d4caxis2_msg_recv_get_derivedgroup__axis2__msg__recv.html#g30553acfda7bbb75d8031cc0843322c1Member axis2_msg_info_headers_set_togroup__axis2__msg__info__headers.html#g3ca4a29c369d4e871f957fe773353325Member axis2_msg_info_headers_get_message_idgroup__axis2__msg__info__headers.html#gbe06f2880f498d70f44934445d78bf0daxis2_msg_info_headers_set_in_message_idgroup__axis2__msg__info__headers.html#gbfb3b68d69fffce5abe41d50a8d3e225axis2_msg_info_headers_set_fromgroup__axis2__msg__info__headers.html#g917b50452decc40c55c8e8afbcf943a6Member axis2_msg_ctx_set_svc_grp_ctxgroup__axis2__msg__ctx.html#g608927368afc580dfa9f30a88438cab7Member axis2_msg_ctx_set_paused_phase_namegroup__axis2__msg__ctx.html#g2a5e8c445ee014883e7663b2c0754435Member axis2_msg_ctx_set_http_output_headersgroup__axis2__msg__ctx.html#gc4e3c9a6394f3533e0e79a09626d37a4Member axis2_msg_ctx_set_conf_ctxgroup__axis2__msg__ctx.html#gcc3d9fecb8c5af62948f1c1cabbef599Member axis2_msg_ctx_get_transfer_encodinggroup__axis2__msg__ctx.html#g8b44e1813cdfd69b216cf6bfccba9c25Member axis2_msg_ctx_get_relates_togroup__axis2__msg__ctx.html#gc3000334e5eaaaef9bb6f6cc610e463bMember axis2_msg_ctx_get_new_thread_requiredgroup__axis2__msg__ctx.html#gba6ab8a714e0f06ea2c629bccce07e53Member axis2_msg_ctx_get_doing_mtomgroup__axis2__msg__ctx.html#g06b44f369602fb1f397faf8c3b686fbdMember axis2_msg_ctx_extract_http_accept_charset_record_listgroup__axis2__msg__ctx.html#gb0f787898e23723828108b29bbd66487axis2_msg_ctx_increment_refgroup__axis2__msg__ctx.html#g88942393726b78bdb836462dd04aa6baaxis2_msg_ctx_get_transfer_encodinggroup__axis2__msg__ctx.html#g8b44e1813cdfd69b216cf6bfccba9c25axis2_msg_ctx_get_out_transport_infogroup__axis2__msg__ctx.html#gb37389b924f4503169165ae6d0371e17axis2_msg_ctx_set_supported_rest_http_methodsgroup__axis2__msg__ctx.html#g0fb6ae57c92a4554697bd3e3877cd512axis2_msg_ctx_get_opgroup__axis2__msg__ctx.html#gef54001c6a3b344e85f672113f636e09axis2_msg_ctx_get_paused_handler_namegroup__axis2__msg__ctx.html#g366fd625ade004c3f9d144cd5544d5beaxis2_msg_ctx_set_op_ctxgroup__axis2__msg__ctx.html#geefba02d7fc287e3bdf530dc3743d049axis2_msg_ctx_set_togroup__axis2__msg__ctx.html#ge1f6c9f77e01f1e59ce285de19d958a6axis2_msg_ctx_get_msg_idgroup__axis2__msg__ctx.html#g1f05e034e633a5649c4aead35b9b2b3fAXIS2_SVR_PEER_IP_ADDRgroup__axis2__msg__ctx.html#g7474c039348fcaae57ebc785661329ceMember axis2_msg_is_param_lockedgroup__axis2__msg.html#g51ae7e6eb9afee5f7e82bd7f8c21bf96Member AXIS2_MSG_IN_FAULTgroup__axis2__msg.html#gc1a93d406ebcea483078bcd581674befaxis2_msg_get_all_paramsgroup__axis2__msg.html#g6e0c544674fad801039013b66e5f548aMember axis2_module_desc_set_fault_in_flowgroup__axis2__module__desc.html#gc298b10b80e0259f8a0c44411d544ba0Member axis2_module_desc_creategroup__axis2__module__desc.html#gb7bdee97a344fe15071d867b83b02d78axis2_module_desc_get_parentgroup__axis2__module__desc.html#gb01c8f56f9c94ca518849c09bc7bf0d8Member axis2_module_tgroup__axis2__module.html#gd7178056a81383c23d68a1ec747a90e5Member axis2_listener_manager_freegroup__axis2__listener__manager.html#g4fa9a09dcf7fb5491806eb62ca43db25axis2_http_worker_creategroup__axis2__http__worker.html#g33e98090d4482c2804d2e37487bc603fMember AXIS2_RESPONSE_WRITTENgroup__axis2__core__transport__http.html#g03b98cb0b86081af154df77a6f9214a8Member AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VALgroup__axis2__core__transport__http.html#g7b9c687eeed13167d8c1fccb2bee67b2Member AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VALgroup__axis2__core__transport__http.html#g767d2be0d17a5071829626aa1799fceaMember AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERRORgroup__axis2__core__transport__http.html#gc92cd0d766ff006829c0d4dd97d9a7c8Member AXIS2_HTTP_RESPONSE_ACK_CODE_VALgroup__axis2__core__transport__http.html#gdca2eae7dae4a09c6ebee6b256fd07d7Member AXIS2_HTTP_HEADER_USER_AGENT_AXIS2Cgroup__axis2__core__transport__http.html#g0d78005ebc809201ddd37714b277d51eMember AXIS2_HTTP_HEADER_EXPECTgroup__axis2__core__transport__http.html#gd762d31f7e492edd5e37f758dfbb1d16Member AXIS2_HTTP_HEADER_AUTHORIZATIONgroup__axis2__core__transport__http.html#g92ce5079ab054bdc638afb35e4084b8eMember AXIS2_HTTP_GETgroup__axis2__core__transport__http.html#g9543bae0fe6b33ddc101b80c9879440bMember AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOPgroup__axis2__core__transport__http.html#g3e33d733374ae941ae9533f90bf13fc9Member AXIS2_HTP_HEADER_CONTENT_DESCRIPTIONgroup__axis2__core__transport__http.html#gaf71422595d3d2a88631a22d9cdb32c7AXIS2_PERCENTgroup__axis2__core__transport__http.html#gb5d518ce35410f23cdbd61024718cd09AXIS2_DEFAULT_HOST_ADDRESSgroup__axis2__core__transport__http.html#ge51d18b76ceb610d66cf4e0db4e2dcdcAXIS2_H_MARKgroup__axis2__core__transport__http.html#g0ca7ff92b7a9305a271cde54b7bd8bb0AXIS2_SSL_SERVER_CERTgroup__axis2__core__transport__http.html#ge0929a3f90d6e2dfb8e7bea7bfed8feeAXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUTgroup__axis2__core__transport__http.html#gdb5030612a6745a455336726997bffe8AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIMEgroup__axis2__core__transport__http.html#gfee27b862f7774c8dfa2d22d20b23989AXIS2_HTTP_HEADER_CONNECTIONgroup__axis2__core__transport__http.html#g359ff26113345b6697ab24fedf43db74AXIS2_HTTP_HEADER_EXPECTgroup__axis2__core__transport__http.html#gd762d31f7e492edd5e37f758dfbb1d16AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCEgroup__axis2__core__transport__http.html#gde5b4d81e6731baad36326ec004d6682AXIS2_HTTP_HEADER_CONTENT_TYPE_group__axis2__core__transport__http.html#g6632547ea1560a4cccbaeeffd083d37bAXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAMEgroup__axis2__core__transport__http.html#g6cad1759212a0609ced900ffc4a19d2aAXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAMEgroup__axis2__core__transport__http.html#g35379ebb2575ad6caa368abe5449e79eAXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VALgroup__axis2__core__transport__http.html#g767d2be0d17a5071829626aa1799fceaAXIS2_HTTP_RESPONSE_CONTINUE_CODE_VALgroup__axis2__core__transport__http.html#geebc70246be96a214941e2656060f2c9axutil_url_set_servergroup__axis2__core__transport__http.html#gc57e4c24c42fa7b7fe49dfcf5f43ab2cMember axis2_http_svr_thread_freegroup__axis2__http__svr__thread.html#gc9ba98f63d99c0cd0e5d3b8c4b7cd15aMember axis2_http_status_line_get_http_versiongroup__axis2__http__status__line.html#g390e05c6879613417b978d8a3242d8c5Member axis2_http_simple_response_set_body_stringgroup__axis2__http__simple__response.html#g5626e9e8744f9b14e2ecaf7359691151Member axis2_http_simple_response_creategroup__axis2__http__simple__response.html#g209ed72631aa32675b22ce693ba18020axis2_http_simple_response_get_charsetgroup__axis2__http__simple__response.html#g089edeaf57d72e069e00daab229feb36Member axis2_http_simple_request_remove_headersgroup__axis2__http__simple__request.html#g13c4f13d8fb1461784477498c78624d0axis2_http_simple_request_get_body_bytesgroup__axis2__http__simple__request.html#ge431df3effadffc3192024b49dffc4bdhttp servergroup__axis2__http__server.htmlaxis2_http_response_writer_printlngroup__axis2__http__response__writer.html#g16200523d3e8833f40e37d80767722bbMember axis2_http_request_line_creategroup__axis2__http__request__line.html#gf722f10a9e8b2f115af74dcbd066339aMember AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEgroup__axis2__http__out__transport__info.html#gc65a46f52b077ea5b9355094f93db1d2Member axis2_http_header_to_external_formgroup__axis2__http__header.html#g405ecf563b1d8c47c22b21900b53f7b1Member axis2_http_client_set_timeoutgroup__axis2__http__client.html#g7b4a59a173e56ce5e461a5e65e219defaxis2_http_client_set_mtom_sending_callback_namegroup__axis2__http__client.html#g1ef225a7f5533530b33a55f4fd946d06axis2_http_client_set_timeoutgroup__axis2__http__client.html#g7b4a59a173e56ce5e461a5e65e219defaxis2_http_accept_record_to_stringgroup__axis2__http__accept__record.html#g8a6bd83de0b54aa34e6b297a02a13782Member axis2_handler_desc_get_handlergroup__axis2__handler__desc.html#g802a79e88268339bb7e5f867cf34f216axis2_handler_desc_is_param_lockedgroup__axis2__handler__desc.html#g0ecc479c307be432ced66fc9cb18764aMember axis2_ctx_handler_creategroup__axis2__handler.html#geebcba75e6b92e7f3fa9ab4492390194Member axis2_flow_container_set_out_flowgroup__axis2__flow__container.html#g2f295bb41ea59569db8fd3585f9c4ff5axis2_flow_container_set_out_flowgroup__axis2__flow__container.html#g2f295bb41ea59569db8fd3585f9c4ff5axis2_flow_get_handlergroup__axis2__flow.html#g0f925593bca54ac897ea32016b4374fbMember axis2_endpoint_ref_free_void_arggroup__axis2__endpoint__ref.html#ge08a42ff4f8c7c14db52be97ef6c75c8axis2_endpoint_ref_add_ref_paramgroup__axis2__endpoint__ref.html#g0c88ce2256c5379a21cc3a881b9131acMember axis2_req_uri_disp_creategroup__axis2__disp.html#g44abce5a9beda1c85ad8263af5971789axis2_disp_set_namegroup__axis2__disp.html#g8282e341346127933098f7f170c6fd5eMember AXIS2_IN_FAULTFLOW_KEYgroup__axis2__desc__constants.html#g77261af724a23bba3aef5a6ead323803AXIS2_CLASSLOADER_KEYgroup__axis2__desc__constants.html#g60fdf1e9762c3a7806e25188fe2e1434Member axis2_desc_get_all_childrengroup__axis2__description.html#g078b2cf3aba1fca7468666905d8c0a4faxis2_desc_get_paramgroup__axis2__description.html#g6d7eb35ea7f0dd0a82bc47324a92bc0baxis2_ctx_get_all_propertiesgroup__axis2__ctx.html#gff927e494c30e1e2b89da57679285f49axis2_core_utils_create_out_msg_ctxgroup__axis2__core__utils.html#g07012cde934fbaecefbb5786cb250c10Member axis2_conf_ctx_set_root_dirgroup__axis2__conf__ctx.html#gc9b785de188769a7f695b6d21c5d8fceMember axis2_conf_ctx_freegroup__axis2__conf__ctx.html#g0d6bee37eb671fb1f538b6d96484f46faxis2_conf_ctx_register_op_ctxgroup__axis2__conf__ctx.html#gbb9159aa11b1ed08deb4f02a2b320a64Member axis2_conf_set_default_dispatchersgroup__axis2__config.html#g325b14f8715288333af6003ece30414dMember axis2_conf_get_in_phases_upto_and_including_post_dispatchgroup__axis2__config.html#g39916547b5444449bcd1a87f3a37111dMember axis2_conf_freegroup__axis2__config.html#g06062b4f3ea3a4fb05c0e55d76f6ca8caxis2_conf_set_security_contextgroup__axis2__config.html#g8fe9cfa417c2e423b0ee6973cde58231axis2_conf_set_repogroup__axis2__config.html#g9b73dd9150ace3dca82364a4c77e0f7aaxis2_conf_get_all_faulty_modulesgroup__axis2__config.html#g12b5a698718da795312b3e09fdeac1c4axis2_conf_add_paramgroup__axis2__config.html#g03227082f8dcb6d49c70ae123224618dMember axis2_engine_invoke_phasesgroup__axis2__engine.html#g95c41e8b17352fcd0df40a1af8952e28axis2_engine_receive_faultgroup__axis2__engine.html#gc42896a93f7288df6e7a10ceb9e31e31Member axis2_callback_get_envelopegroup__axis2__callback.html#ga3509e9b59969fe43e4930cdd8a2bd9aaxis2_callback_set_envelopegroup__axis2__callback.html#g5dc5998d5db574ef86f05d29fa5cd95daxis2_async_result_freegroup__axis2__async__result.html#g7dc808667785c5430baef18f3e377d5caxis2_any_content_type_tgroup__axis2__any__content__type.html#g44968ee69ad6bda6b83de21f2105ef70Member AXIS2_WSA_VERSIONgroup__axis2__addr__consts.html#g297643cc83960855fedf77da10dfee07Member AXIS2_WSA_NAMESPACE_SUBMISSIONgroup__axis2__addr__consts.html#g4f4910d41b2474a1212c4af6c9c3d769AXIS2_WSA_PREFIX_REPLY_TOgroup__axis2__addr__consts.html#g4ea0451331116aef7a25dfd57091ddebAXIS2_WSA_NAMESPACE_SUBMISSIONgroup__axis2__addr__consts.html#g4f4910d41b2474a1212c4af6c9c3d769WS-Addressinggroup__axis2__addr.htmlMember axiom_xpath_cast_node_to_booleangroup__axiom__xpath__api.html#gc2019dd703c5522ea3373e3e061ada47axiom_xpath_free_resultgroup__axiom__xpath__api.html#gbce6df5e417ac892e3c472a9e8d9b159AXIOM_XPATH_DEBUGgroup__axiom__xpath__api.html#g27553a5a92aa57f6fb905367f9e950a5Member axiom_xml_writer_write_empty_element_with_namespacegroup__axiom__xml__writer.html#gf9edf4fa8cabfcad5c4df01f33ef5314Member axiom_xml_writer_flushgroup__axiom__xml__writer.html#g04303cc47f0648f0176ef3c9cd622998axiom_xml_writer_write_entity_refgroup__axiom__xml__writer.html#g873890c13fa8b86f1b3c879fa13cc59daxiom_xml_writer_write_start_element_with_namespacegroup__axiom__xml__writer.html#gcbc6f4b9ed8f7825c3acd34ef323de63Member axiom_xml_reader_get_namespace_prefix_by_numbergroup__axiom__xml__reader.html#gedb9e7e00933a87a9f9681625aa051afaxiom_xml_reader_get_char_set_encodinggroup__axiom__xml__reader.html#gfea9c20e6adcb4fa1228bba4de19774caxiom_xml_reader_nextgroup__axiom__xml__reader.html#g3374162deb7e15d0a66fb47d5de68d4dMember axiom_text_get_textgroup__axiom__text.html#g4025d1d2319b08b8cc797a99a316ae6baxiom_text_set_valuegroup__axiom__text.html#g38e8fc267df5245ee5b65b62c37ecac9axiom_stax_builder_is_completegroup__axiom__stax__builder.html#g5e83abf52f71f132e9e3171c29955fdfMember axiom_soap_header_block_get_must_understandgroup__axiom__soap__header__block.html#g5e505325bdbc54550f7f3eef9107738eaxiom_soap_header_block_create_with_parentgroup__axiom__soap__header__block.html#g5188d7fed9873736576a093ccdc6f601axiom_soap_header_examine_all_header_blocksgroup__axiom__soap__header.html#g74a56d9fd3b49055bae4091fcd5bb4ffaxiom_soap_fault_value_create_with_codegroup__axiom__soap__fault__value.html#gd99d26388683833e9086c8588993018fsoap fault textgroup__axiom__soap__fault__text.htmlMember axiom_soap_fault_role_freegroup__axiom__soap__fault__role.html#g65884e3c4a1f088240630672ab24eb06axiom_soap_fault_reason_get_first_soap_fault_textgroup__axiom__soap__fault__reason.html#ge33699fe9001ee509233d1055d2390a5Member axiom_soap_fault_detail_get_base_nodegroup__axiom__soap__fault__detail.html#g85a5beb382158427f7d560b62bdd2fa3axiom_soap_fault_code_get_base_nodegroup__axiom__soap__fault__code.html#g4161bbc9b6f72ed1c807d37a05351792Member axiom_soap_fault_create_with_exceptiongroup__axiom__soap__fault.html#gde9cbf2c313c0adeedea3ac60bf148b4Member axiom_soap_envelope_increment_refgroup__axiom__soap__envelope.html#ge4c0fcc8adc7d8d816c81f009bb81e0daxiom_soap_envelope_get_base_nodegroup__axiom__soap__envelope.html#ga494a9aa5bb5567f6362ed6ba45ecf32Member axiom_soap_builder_process_namespace_datagroup__axiom__soap__builder.html#g6b11917cd8ae237471cb800083f20873axiom_soap_builder_process_namespace_datagroup__axiom__soap__builder.html#g6b11917cd8ae237471cb800083f20873Member axiom_soap_body_create_with_parentgroup__axiom__soap__body.html#ged07d656f1b298588cdbc539609d979fMember axiom_processing_instruction_serializegroup__axiom__processing__instruction.html#g1e1686dc2df0b37ecb59f2a71d5ca7d8Member axiom_output_set_soap11group__axiom__output.html#gd25112ec9c6ff59fbced8134ef58eb75axiom_output_get_mime_boundrygroup__axiom__output.html#gceb55442afe4197ffa89f345159b91d3axiom_output_write_optimizedgroup__axiom__output.html#g8d3f4564430df636523d6e22f847775aMember axiom_node_get_next_siblinggroup__axiom__node.html#g6d91d78cb733d34724901e75887e85c9Member AXIOM_DOCTYPEgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2abb7b1deecbd2a868300f609d0fed32b03axiom_node_get_parentgroup__axiom__node.html#g95cc9c4355bfab75e03ad61014b72075Member axiom_navigator_freegroup__axiom__navigator.html#g8645e38b5959e3693b59aa8b794c74a4Member axiom_namespace_get_prefixgroup__axiom__namespace.html#g802cd063bcb6ef0e95eb989b65b1ca30axiom_namespace_freegroup__axiom__namespace.html#g146513bb2be7329543254976c15a4489AXIOM_MTOM_CACHING_CALLBACK_FREEgroup__caching__callback.html#g6ead0dc1c7cc3a6be1efb122d74e003daxiom_mime_parser_set_caching_callback_namegroup__axiom__mime__parser.html#g6440482e9821e7bd06be17382568f9b2Member axiom_element_set_namespacegroup__axiom__element.html#gfc6727d644dabb556f46a2901f317093Member axiom_element_get_default_namespacegroup__axiom__element.html#g8edbc11277ad8a54770466bbffc26158Member axiom_element_create_with_qnamegroup__axiom__element.html#g28d9a5d1d04720c5a152284f106a506caxiom_element_declare_default_namespacegroup__axiom__element.html#g804e9f7129b76afbea9d19420dfe5a2baxiom_element_get_namespacegroup__axiom__element.html#g53fce175e2e0f41af39fe374b26fd370Member axiom_document_set_root_elementgroup__axiom__document.html#gca387e2c8ed19b5bd4123fc6455fa071axiom_document_free_selfgroup__axiom__document.html#g03b25353883e6de5acbc0b80bcb0b456Member axiom_data_source_serializegroup__axiom__data__source.html#g488ccc8d887b633e749a88ac260fb9c7Member axiom_data_handler_read_fromgroup__axiom__data__handler.html#ge35b85ccac0a5bd5fd659124c75d5ca2axiom_data_handler_get_file_namegroup__axiom__data__handler.html#g0eb87b388f6a8d1c8df21b685cea0161axiom_comment_serializegroup__axiom__comment.html#g63c10f9db415e1f08bbb37624bd8c96dAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXTgroup__axiom__children__with__specific__attribute__iterator.html#g879ae629d4d78b85e6631b3753e5e8c1Member axiom_children_iterator_nextgroup__axiom__children__iterator.html#gf494b239eadffce560091d7896b1ab8faxiom_child_element_iterator_nextgroup__axiom__child__element__iterator.html#geb91b34e1dc19eaeb969179ce8e85b27Member axiom_attribute_get_valuegroup__axiom__attribute.html#g95d26b917b6beea23aada61bf1402376axiom_attribute_set_namespacegroup__axiom__attribute.html#g4b27824f6bb94509562fe09644adf9a3rp_includes.h File Referencerp__includes_8h.htmlneethi_reference_set_urineethi__reference_8h.html#d3251a619fdfa26e8d1811cb182a0f46neethi_policy_add_operatorneethi__policy_8h.html#c4576297202a19c215636466a354a2dfneethi_operator.h File Referenceneethi__operator_8h.htmlneethi_engine.hneethi__engine_8h.htmlAXIS2_RM_AT_MOST_ONCEneethi__constants_8h.html#6e91663a0d390bfface733355687d066NEETHI_WSU_NS_PREFIXneethi__constants_8h.html#7178a4b7bda74252084068e488773dc4neethi_assertion_is_emptyneethi__assertion_8h.html#6b4e8fa860b0f1b8aba7cb27b397f06bneethi_all_serializeneethi__all_8h.html#6760d966c71ffaaf95045741647eb3a7AXIS2_CLOSE_INPUT_CALLBACKgroup__axutil__utils.html#g6c389ab017cb07436a020fb223214c5aaxutil_url_get_querygroup__axis2__core__transport__http.html#gf7befb7b76d23590bba5057e6a18da35axutil_url_creategroup__axis2__core__transport__http.html#gac4b861aae3cb849ec4ff7ebaa288bb3axutil_uri_parse_hostinfogroup__axutil__uri.html#g7ae7fb761871229bea556e730c092eeaAXIS2_URI_NFS_DEFAULT_PORTgroup__axutil__uri.html#g938eb255d804e1aff7e1d92ffb5f5b9daxutil_uri.h File Referenceaxutil__uri_8h.htmlaxutil_thread_mutex_lockgroup__axutil__thread.html#g7f987573535cf90ba67b2b2ae047ee46axutil_thread_tgroup__axutil__thread.html#g7b2442c6150883ffac05fd2c4844b7ccaxutil_rand.haxutil__rand_8h.htmlaxutil_qname.haxutil__qname_8h.htmlaxutil_param_get_value_listgroup__axutil__param.html#g2baae0ac13ac1f884f5c57691e5980b6AXIS2_TEXT_PARAMgroup__axutil__param.html#gd0cccbde323f2c7ddbe78ab5d1d96156axutil_linked_list_remove_at_indexgroup__axutil__linked__list.html#g2c79f16cebb8e5cb1bdc55f5c83952daaxutil_linked_list_remove_entrygroup__axutil__linked__list.html#ge16515ceea10d7cc07f34eb9e1a5d37aaxutil_http_chunked_stream_tgroup__axutil__http__chunked__stream.html#g4f21d685413463e10ac26b40046a25ffaxutil_hash_make_customgroup__axutil__hash.html#gc97083ad0e5a219bfd47666ec718e66baxutil_env_create_with_errorgroup__axutil__env.html#gbab7fef475986db1dfcf5c3cec7e5b6baxutil_dll_desc_get_delete_functgroup__axutil__dll__desc.html#gffdfc01fab68a77737b416a85b0f5170CREATE_FUNCTgroup__axutil__dll__desc.html#g62b161d5232f3c3ab7ca639693f7ec21axutil_date_time_deserialize_time_with_time_zonegroup__axutil__date__time.html#g0fb1bc56d8175e0312c96d189552b418axutil_date_time_serialize_date_timegroup__axutil__date__time.html#g23bc467a35485b46ccf1ae91a8f63016axutil_class_loader.haxutil__class__loader_8h.htmlaxutil_array_list_freegroup__axutil__array__list.html#g549e9d4e6c502650ea76d0134551130eaxutil_array_list.h File Referenceaxutil__array__list_8h.htmlAXIS2_TRANSPORT_SENDER_CLEANUPgroup__axis2__transport__sender.html#gaa44d10358d3bfa8bf299fd33d1674baaxis2_transport_receiver.h File Referenceaxis2__transport__receiver_8h.htmlaxis2_transport_out_desc_set_enumgroup__axis2__transport__out__desc.html#g3f8f58f6a90b6edc394949481eb2fe04axis2_transport_in_desc_get_recvgroup__axis2__transport__in__desc.html#gf86d50b87ddbb9adfb9856526a7a0cdfaxis2_svr_callback_tgroup__axis2__svr__callback.html#gbae96544b63cca63da330e4d6ccb489caxis2_svc_name_get_qnamegroup__axis2__svc__name.html#g0d2b872b6822efcc48098f8b462d13c9axis2_svc_grp_ctx.h File Referenceaxis2__svc__grp__ctx_8h.htmlaxis2_svc_grp_add_paramgroup__axis2__svc__grp.html#g8e39014339ba95a2d64db6dac4e03811axis2_svc_ctx_freegroup__axis2__svc__ctx.html#g0ef5d19c153f6e053ebc0c0146d0bbd6axis2_svc_client_create_with_conf_ctx_and_svcgroup__axis2__svc__client.html#g65fd398dd0af4f6b928039b27bb6bef0axis2_svc_client_fire_and_forget_with_op_qnamegroup__axis2__svc__client.html#g43fb8eb372420c98fa3eac2f1616af9daxis2_svc_get_basegroup__axis2__svc.html#g6a9dc1faae21544f140b511419e6d886axis2_svc_set_file_namegroup__axis2__svc.html#gd0ce8a174e0bb8ecca7b8666669a775faxis2_svc_is_module_engagedgroup__axis2__svc.html#gd0f98db137449b246ef2b2b6ec6ba6a4axis2_svc_freegroup__axis2__svc.html#g6adc90fa30952058bb566df6727c75daAXIOM_SOAP_11group__axis2__stub.html#g474df5196c2a46015268b108ce2dde5caxis2_simple_http_svr_conn_createaxis2__simple__http__svr__conn_8h.html#4b1f415af7c9512db5e66d4eef1ba24caxis2_relates_to.haxis2__relates__to_8h.htmlaxis2_phase_rule_set_namegroup__axis2__phase__rule.html#g2b76a8aa8c2004573d01df1c95b74ee6axis2_phase_resolver_engage_module_to_opgroup__axis2__phase__resolver.html#g0bb13c67fd8595207d8f5b4e5dc801fdaxis2_phase.haxis2__phase_8h.htmlaxis2_phase_remove_handlergroup__axis2__phase.html#g54cc63e78b54a9b1b91783b07fb3b6e9axis2_options.haxis2__options_8h.htmlaxis2_options_set_soap_versiongroup__axis2__options.html#ge0a82c10e919078b3e06509e0ffe1042axis2_options_set_message_idgroup__axis2__options.html#g7d0fbc43a55e0e40f1f124d317cd2675axis2_options_get_relates_togroup__axis2__options.html#ga20805b9f4550070953e4f1e189ed78aaxis2_op_ctx_set_in_usegroup__axis2__op__ctx.html#g6b8ae393777089b614b4a771720ce8ddaxis2_op_ctx_creategroup__axis2__op__ctx.html#gddc4d7ced709336945c3f951561cc5fdaxis2_op_client_creategroup__axis2__op__client.html#g3c0a62606205ce5678c3492dc7e52bf2axis2_msg_recv_creategroup__axis2__msg__recv.html#g42a2c7d0a184de466763b4502cf48897AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGICgroup__axis2__msg__recv.html#g0a445de327b47b4cd88e5dabf610c810axis2_msg_info_headers_get_fault_to_nonegroup__axis2__msg__info__headers.html#g6e4af66cb1dcc12ce970ef098f364f77axis2_msg_ctx.haxis2__msg__ctx_8h.htmlaxis2_msg_ctx_set_transfer_encodinggroup__axis2__msg__ctx.html#g3e7ceeadac1d2a0b295947bbaa0adca7axis2_msg_ctx_set_out_transport_infogroup__axis2__msg__ctx.html#g2e8b202d57caca29121bd55ede2ad3d6axis2_msg_ctx_get_supported_rest_http_methodsgroup__axis2__msg__ctx.html#ged338ca86cf608cac71350fb54a6e4f2axis2_msg_ctx_set_opgroup__axis2__msg__ctx.html#ge1629a4a314446a0f87b1a4c7f87c4e0axis2_msg_ctx_get_paused_phase_namegroup__axis2__msg__ctx.html#gbbca92a3ca5b7eb586b3bcb55eb3589baxis2_msg_ctx_get_output_writtengroup__axis2__msg__ctx.html#g634e1277b8a4e29dd9bbbfe8e27350d7axis2_msg_ctx_get_new_thread_requiredgroup__axis2__msg__ctx.html#gba6ab8a714e0f06ea2c629bccce07e53axis2_msg_ctx_get_process_faultgroup__axis2__msg__ctx.html#g16845c84b066ba612fd26340de37a842axis2_msg_ctx_tgroup__axis2__msg__ctx.html#g160acae289ac39cb49fa625ffd88e410axis2_msg_set_namegroup__axis2__msg.html#gc15cc16ed5f275763b938f3ae63d6566AXIS2_MSG_OUT_FAULTgroup__axis2__msg.html#g3786b0350a135a0e12915b6e77d6fedfaxis2_module_desc_set_parentgroup__axis2__module__desc.html#g2571fdc9828be8ccf946ed5b9e0fc205axis2_module.haxis2__module_8h.htmlaxis2_http_worker.haxis2__http__worker_8h.htmlaxis2_http_transport_utils_initiate_callbackaxis2__http__transport__utils_8h.html#ec25d52c7d083bc84906c7eb3c203ffeaxis2_http_transport_utils_get_not_implementedaxis2__http__transport__utils_8h.html#795144e1035b360abad45a37cb9cc9fbaxis2_http_method_types_taxis2__http__transport__utils_8h.html#e9529e4b3079fb39c0a38b3803a9d763axis2_http_svr_thread.h File Referenceaxis2__http__svr__thread_8h.htmlaxis2_http_simple_request_get_body_bytesgroup__axis2__http__simple__request.html#ge431df3effadffc3192024b49dffc4bdaxis2_http_server_create_with_filegroup__axis2__http__server.html#g40e650395889aa755f454ecb9c69d7d1Member AXIS2_HTTP_SENDER_SENDaxis2__http__sender_8h.html#e502c287e52aae7ed166e6c60b1aee69AXIS2_HTTP_SENDER_SET_OM_OUTPUTaxis2__http__sender_8h.html#b122bd22cd8254b7b1b1b370505c62d8axis2_http_response_writer_get_encodinggroup__axis2__http__response__writer.html#g4d45835e7866ec6076b41f000c5b3beeaxis2_http_out_transport_info_set_content_type_funcgroup__axis2__http__out__transport__info.html#g58b3c716940a7492bb16a70284fd6fe0axis2_http_header_get_valuegroup__axis2__http__header.html#g79fab3410cde781fa766423032972c74axis2_http_client_get_server_certgroup__axis2__http__client.html#g359e463dc9e7f0a7b33f2b3f91b1484eaxis2_http_accept_record_creategroup__axis2__http__accept__record.html#g45d98a462f88abf99d5a80f28ae3062daxis2_handler_desc_set_handlergroup__axis2__handler__desc.html#gba47ad772ed9b1efa3b1ac2a66d1a2cdaxis2_handler_get_paramgroup__axis2__handler.html#g6359a617f32df26f912923d4c73f695aaxis2_flow_container_set_in_flowgroup__axis2__flow__container.html#g4b57cb3cef283e2f8243e2a85ed33553axis2_engine_resume_receivegroup__axis2__engine.html#g845f6ddb96bf1b9f02ed6ad24a1c3653axis2_endpoint_ref_add_extensiongroup__axis2__endpoint__ref.html#gffa43060be66bdfec2e88f007a5efeceaxis2_endpoint_ref.h File Referenceaxis2__endpoint__ref_8h.htmlAXIS2_SERVICE_CLASS_NAMEgroup__axis2__desc__constants.html#gdf28480aee109151d20c606df2da34baaxis2_description.h File Referenceaxis2__description_8h.htmlaxis2_desc.h File Referenceaxis2__desc_8h.htmlaxis2_ctx_get_propertygroup__axis2__ctx.html#g2344da02e08fe0a2b88b7bb5e21fafe8axis2_conf_ctx_fill_ctxsgroup__axis2__conf__ctx.html#ge4ac0ac0a8960a7e8d5a1c898877fa56axis2_conf_ctx_creategroup__axis2__conf__ctx.html#g9d44e6d988ccfa96510146c18118f272axis2_conf_add_default_module_versiongroup__axis2__config.html#g0f7af7f98fa7f8b51d0ec1fd729fde6baxis2_conf_get_msg_recvgroup__axis2__config.html#g569170784a8f375728854f94d035509daxis2_conf_add_transport_outgroup__axis2__config.html#gec80422b458c7baf542450a6b0d6a87eaxis2_conf.h File Referenceaxis2__conf_8h.htmlaxis2_on_complete_func_ptrgroup__axis2__callback.html#g24412ea84a2372e48f030ff7fa2f57ceaxis2_any_content_type.h File Referenceaxis2__any__content__type_8h.htmlAXIS2_WSA_POLICIESgroup__axis2__addr__consts.html#ge70b4a9e6cbf4bed35ea66db740dcd14EPR_REFERENCE_PARAMETERSgroup__axis2__addr__consts.html#g72037ab1241ed326161516f373649416axiom_xml_writer_get_xmlgroup__axiom__xml__writer.html#g7355b7bf221c8dafece5d00b5ed8a9ddaxiom_xml_writer_write_attribute_with_namespace_prefixgroup__axiom__xml__writer.html#g970cc4979b16407cc69a77384b096f3faxiom_xml_writer.haxiom__xml__writer_8h.htmlaxiom_xml_reader_get_attribute_value_by_numbergroup__axiom__xml__reader.html#g5008312eab21f2d6af4ab9c1facec082axiom_soap_header_block_get_base_nodegroup__axiom__soap__header__block.html#gc44f185b24f7311ce7b24fa24c3a7418axiom_soap_header_get_all_header_blocksgroup__axiom__soap__header.html#gcb53361d89fd484c1b66661b7fa75b02axiom_soap_fault_value_freegroup__axiom__soap__fault__value.html#gfcf173b98eb2445f42f1ea76255c87d4axiom_soap_fault_sub_code.haxiom__soap__fault__sub__code_8h.htmlaxiom_soap_fault_role.haxiom__soap__fault__role_8h.htmlaxiom_soap_fault_node_freegroup__axiom__soap__fault__node.html#gd0154dab46d6359bec398b15c8366e32axiom_soap_fault_code_get_sub_codegroup__axiom__soap__fault__code.html#gc83114a60ca4484a736ea3d83039a897axiom_soap_fault_create_default_faultgroup__axiom__soap__fault.html#ga4dfaa0b36503de97f4b4a6b9c1fce94axiom_soap_envelope_create_default_soap_fault_envelopegroup__axiom__soap__envelope.html#gb7fc6e54a5c354e7e5f285c78e7f7fc0axiom_soap_builder_is_processing_detail_elementsgroup__axiom__soap__builder.html#gb428e7fa5b20be177e665700d34aa138axiom_soap_body_get_soap_versiongroup__axiom__soap__body.html#ge87f17d53d2995ac6c3b05be6d7dddaaaxiom_node_get_documentgroup__axiom__node.html#g2bdaabafdd623955d2837ad00e536603axiom_node_creategroup__axiom__node.html#g1558b403be5c6339997a7730596337bbAXIOM_MTOM_CACHING_CALLBACK_FREEgroup__caching__callback.html#g6ead0dc1c7cc3a6be1efb122d74e003daxiom_mime_parser_get_mime_boundarygroup__axiom__mime__parser.html#g08f37696836e054ba7fef00f7bf1a401axiom_mime_parser.haxiom__mime__parser_8h.htmlaxiom_document.h File Referenceaxiom__document_8h.htmlaxiom_data_source.haxiom__data__source_8h.htmlaxiom_data_handler_get_input_stream_lengroup__axiom__data__handler.html#g2f9ba62f37963b8425b85710a1873845axiom_comment.haxiom__comment_8h.htmlaxiom_children_qname_iterator_has_nextgroup__axiom__children__qname__iterator.html#ge1a3ae54bd136f343484e2b9733d8a51axiom_child_element_iterator.haxiom__child__element__iterator_8h.htmlaxiom_attribute_get_localname_strgroup__axiom__attribute.html#g9e36fa98afd7d60eff62da45e760dce4axiom_attribute.h File Referenceaxiom__attribute_8h.htmlrp_token_identifier.hrp__token__identifier_8h-source.htmlrp_saml_token.hrp__saml__token_8h-source.htmlrp_element.hrp__element_8h-source.htmlneethi_engine.hneethi__engine_8h-source.htmlaxutil_version.haxutil__version_8h-source.htmlAXIS2_URI_UNP_OMITFRAGMENT_ONLYaxutil__uri_8h-source.html#l00105AXIS2_URI_PROSPERO_DEFAULT_PORTaxutil__uri_8h-source.html#l00060axutil_thread_start_taxutil__thread_8h-source.html#l00061AXIS2_TEXT_PARAMaxutil__param_8h-source.html#l00046AXIS2_LOG_LEVEL_WARNINGaxutil__log_8h-source.html#l00067axutil_generic_obj.haxutil__generic__obj_8h-source.htmlaxutil_env.haxutil__env_8h-source.htmlaxutil_allocatoraxutil__allocator_8h-source.html#l00044axis2_transport_receiver.haxis2__transport__receiver_8h-source.htmlaxis2_svc_skeleton::func_arrayaxis2__svc__skeleton_8h-source.html#l00146axis2_svc_taxis2__svc_8h-source.html#l00067axis2_phase_rule.haxis2__phase__rule_8h-source.htmlAXIS2_PHASE_BEFOREaxis2__phase_8h-source.html#l00056AXIS2_SOAP_ACTIONaxis2__op_8h-source.html#l00073AXIS2_CHARACTER_SET_ENCODINGaxis2__msg__ctx_8h-source.html#l00068axis2_module::opsaxis2__module_8h-source.html#l00126AXIS2_HTTP_AUTH_TYPE_DIGESTaxis2__http__transport_8h-source.html#l00954AXIS2_HTTP_AUTHENTICATIONaxis2__http__transport_8h-source.html#l00863AXIS2_HTTP_RESPONSE_OKaxis2__http__transport_8h-source.html#l00775AXIS2_HTTP_HEADER_ALLOWaxis2__http__transport_8h-source.html#l00690AXIS2_HTTP_HEADER_SERVERaxis2__http__transport_8h-source.html#l00599AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOPaxis2__http__transport_8h-source.html#l00514AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARYaxis2__http__transport_8h-source.html#l00425AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAMEaxis2__http__transport_8h-source.html#l00338AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAMEaxis2__http__transport_8h-source.html#l00252AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VALaxis2__http__transport_8h-source.html#l00162AXIS2_HTTP_REQUEST_URIaxis2__http__transport_8h-source.html#l00061AXIS2_HTTP_SENDER_SET_CHUNKEDaxis2__http__sender_8h-source.html#l00196axis2_http_accept_record_taxis2__http__accept__record_8h-source.html#l00043AXIS2_SERVICE_CLASS_NAMEaxis2__description_8h-source.html#l00138axis2_description.haxis2__description_8h-source.htmlaxis2_conf.haxis2__conf_8h-source.htmlAXIS2_WSA_PREFIX_FAULT_TOaxis2__addr_8h-source.html#l00148EPR_SERVICE_NAME_PORT_NAMEaxis2__addr_8h-source.html#l00089axiom_xpath_result_node::typeaxiom__xpath_8h-source.html#l00184axiom_xpath_contextaxiom__xpath_8h-source.html#l00120axiom_xml_writer.haxiom__xml__writer_8h-source.htmlaxiom_soap_fault.haxiom__soap__fault_8h-source.htmlAXIOM_DOCUMENTaxiom__node_8h-source.html#l00068axiom_mime_parser.haxiom__mime__parser_8h-source.htmlPage Axis2/C API Documentationindex.htmlMember axutil_log::sizestructaxutil__log.html#3ad3ef2ff2f88500c8bf1520aca564cfaxutil_error::error_numberstructaxutil__error.html#3da4cc0e92d6497abb53a77de312761eMember axutil_allocator::current_poolstructaxutil__allocator.html#5cc7eedc4bf6759a40e61bef6e15848eMember axis2_version_t::minorstructaxis2__version__t.html#11a05482ca7deefd3e496943145d7c2daxis2_transport_sender_ops Struct Referencestructaxis2__transport__sender__ops.htmlaxis2_transport_receiver_ops::startstructaxis2__transport__receiver__ops.html#1c192e805fc0f8bc17c03320bd4c6db5axis2_svc_skeleton_ops::initstructaxis2__svc__skeleton__ops.html#6c3313db00614c0ae6a0e3596496e5fdMember axis2_module::opsstructaxis2__module.html#ccf66293c4ca5b49aab449345768c1ddMember axiom_xpath_expression::startstructaxiom__xpath__expression.html#e21223fbdd92617ef4b63c2df60fe6feMember axiom_xpath_context::nsstructaxiom__xpath__context.html#68ade470d9be8ffa228bf7f3646909a2axiom_xpath_context::functionsstructaxiom__xpath__context.html#75328031d141a5cb91f708785c11ca7aMember axiom_xml_writer_ops::write_commentstructaxiom__xml__writer__ops.html#31ae05dafb0f580135ea5aba9ba14ab8axiom_xml_writer_ops::write_rawstructaxiom__xml__writer__ops.html#2060d71d20b8d77ea598b4714998ab42axiom_xml_writer_ops::write_commentstructaxiom__xml__writer__ops.html#31ae05dafb0f580135ea5aba9ba14ab8axiom_xml_writer_ops Struct Referencestructaxiom__xml__writer__ops.htmlMember axiom_xml_reader_ops::get_attribute_value_by_numberstructaxiom__xml__reader__ops.html#20f3de0e5c250e3af7552797e330efb6axiom_xml_reader_ops::get_namespace_countstructaxiom__xml__reader__ops.html#2313a482156cba054e9ab475f36a1606axiom_mtom_sending_callback_ops::load_datastructaxiom__mtom__sending__callback__ops.html#8c2c66c5460dc10c6fd3301805f452edrp_x509_token_get_require_embedded_token_referencegroup__rp__x509__token.html#g8d9b17ce1858a593373df6647b7f5687rp_wss11_increment_refgroup__wss11.html#g608bdcd108110522bf910e4eb6d839b7rp_wss11_tgroup__wss11.html#g8e55409a9e14688f49923dd678293ba7rp_username_token_builder_buildgroup__rp__username__token__builder.html#gd62ee40021a36a3f06b1159ce0616f6crp_username_token_freegroup__rp__username__token.html#ge2309e48e902634360876bed924ffe45rp_transport_binding_tgroup__rp__transport__binding.html#g7450f1b044ab391238a9a425635afc49rp_token_freegroup__rp__token.html#ge8251c6218d6058c6b11a017563ffd29rp_symmetric_binding_tgroup__rp__symmetric__binding.html#g79c8d9a102c7f8d79b9851aae6384e5fRp_supporting_tokens_buildergroup__rp__supporting__tokens__builder.htmlrp_supporting_tokens_creategroup__rp__supporting__tokens.html#g2ef598a6afbd5f5066f372abb29356a1rp_signed_encrypted_parts_tgroup__rp__signed__encrypted__parts.html#ged8c8c43ee735daf0ad983f4a271a92crp_signed_encrypted_elements_freegroup__rp__signed__encrypted__elements.html#g6805f616966bcf098e84b7026ef6fdc7rp_security_context_token_set_require_external_uri_refgroup__rp__security__context__token.html#g013aca3a55792aa5332f67994ab83ca9rp_secpolicy_set_rampart_configgroup__rp__secpolicy.html#g0d82925b4a975d7c5b8ae5e0bfc01462rp_secpolicy_get_endorsing_supporting_tokensgroup__rp__secpolicy.html#ga2188059431dfbc029c4314407fd6034Rp_rampart_config_buildergroup__rp__rampart__config__builder.htmlrp_rampart_config_get_private_key_filegroup__rp__rampart__config.html#g94f19d4bd8891be2c465561b17940b25rp_rampart_config_tgroup__rp__rampart__config.html#g541c19bcbc9db193568f0eb6b6971fa5rp_layout_increment_refgroup__rp__layout.html#g36a1e07d400adac762f4b0f53b7b5ccfrp_trust10_get_must_support_client_challengegroup__trust10.html#g7c826923817eb39acad4598b5e8195fbrp_issued_token_get_inclusiongroup__trust10.html#gbde2dbc9bee48c154135eb5fc7a53e35rp_https_token_freegroup__rp__https__token.html#gc68319930a91f6bebf3511fd94678d61rp_element_get_namegroup__rp__element.html#g2c07fcc93127fd70a9ece0cf0dfb4cc5RP_CLOCK_SKEW_BUFFERgroup__rp__defines.html#g8f55df4c173627a5250166671c5a48d4RP_SC13_SECURITY_CONTEXT_TOKENgroup__rp__defines.html#ga8859acaef5b8f93d23f5c78181ed8e7RP_WSS_X509_V1_TOKEN_10group__rp__defines.html#gd0e6c8d1ce4b306bf66be00493d305cdRP_INCLUDE_ALWAYSgroup__rp__defines.html#g2622b6bf58ce2993288f0272d265f27eRP_INCLUSIVE_C14Ngroup__rp__defines.html#g7ed659f5e307c87149ea20803f68e592RP_TRIPLE_DESgroup__rp__defines.html#g1ea6268b450f33a316bc5f1aaff27daaRP_ALGO_SUITE_TRIPLE_DES_RSA15group__rp__defines.html#g5d0b8d062693ecb95c9ac41a40605df3RP_RECIPIENT_TOKENgroup__rp__defines.html#g41d3cea8f9d7e4de7157dd5a7a50cf99RP_TRUST13group__rp__defines.html#g011e97167caa9aa53af1f09247d20c9aRP_SIGNED_PARTSgroup__rp__defines.html#gdb798a8510c51000c550e3fca33232f9rp_binding_commons_get_endorsing_supporting_tokensgroup__rp__binding__commons.html#gc2d1457188c561a5aa4af835a445e110rp_asymmetric_binding_increment_refgroup__rp__asymmetric__binding.html#gc4406f898e6d244c777185a63034a959rp_algorithmsuite_get_xpathgroup__rp__algoruthmsuite.html#g50cc31d19b22367d81778f94eb22d0a3rp_algorithmsuite_get_max_symmetric_keylengthgroup__rp__algoruthmsuite.html#g8f99b96367b1526b90cb21b792a4c5e2Member axutil_xml_quote_stringgroup__axutil__utils.html#gdeee972b9ba0969828084e2000786873axutil_parse_request_url_for_svc_and_opgroup__axutil__utils.html#ge45e1f5b083cce22b4a19f2376ae534aAXUTIL_LOG_FILE_SIZEgroup__axutil__utils.html#g7542cb7bd76de099e14c5b1e966b9d78Member AXIS2_URI_UNP_REVEALPASSWORDgroup__axutil__uri.html#ge4deae533f770383007885c27f9eb977Member AXIS2_URI_NNTP_DEFAULT_PORTgroup__axutil__uri.html#g5cf52008ffc33b4308cdc6ab465d1271axutil_uri_to_stringgroup__axutil__uri.html#g9b9e291fb2de237b1ea16e1446cb4ef9AXIS2_URI_UNP_OMITUSERgroup__axutil__uri.html#g72c059826dc908e6e6960b6f9023b0adAXIS2_URI_TELNET_DEFAULT_PORTgroup__axutil__uri.html#g54be7d53a86f2b0d82bf00c7aa8f7c6fMember axutil_thread_pool_get_threadgroup__axutil__thread__pool.html#ge09dd79634b658499b98114aa41661c1Member axutil_threadattr_creategroup__axutil__thread.html#g6b8cf75c5b88d3389e3b9ea6f5371101Member axutil_thread_once_tgroup__axutil__thread.html#g62e2f1428e742cdfad365b22fc2c271baxutil_threadattr_is_detachgroup__axutil__thread.html#ga27f549c32aa22df6c911fc565624d52Member axutil_string_substring_starting_atgroup__axutil__string__utils.html#g3fbd93acf1500a6eb20839e6035bdb46axutil_strchrgroup__axutil__string__utils.html#gb8e4a59c1f0dccadb35f30e47991291bMember axutil_string_equalsgroup__axutil__string.html#g026785c54c66b09cb278f1e20c47b6bfMember axutil_stream_skipgroup__axutil__stream.html#g0fbee1c75bbcf404dc9a58366ab1d1b7axutil_stream_get_buffergroup__axutil__stream.html#gb95c687ddd6d6b1a4d3dd37ca3e00a34axutil_stream_tgroup__axutil__stream.html#g70a7c590d98289bc5424dd7ef50ec797axutil_rand_get_seed_value_based_on_timegroup__axutil__rand.html#ge538ffc1401b35cac57c8573a860db0eaxutil_qname_create_from_stringgroup__axutil__qname.html#gf1f907c61c777c414eccd333e4947b44propertygroup__axutil__property.htmlMember axutil_param_container_is_param_lockedgroup__axutil__param__container.html#g7b92618a34e898b748abd9ad5312d5b8Member axutil_param_set_namegroup__axutil__param.html#gf67948fa2fd421b2d41ff4661f7cfd81axutil_param_freegroup__axutil__param.html#g5412cbc4fc9fff64f101304e1f21c343Member axutil_network_handler_open_socketgroup__axutil__network__handler.html#g3bc07fd4dddb1427de1cfe28e5e1e09bnetwork handlergroup__axutil__network__handler.htmlMember AXIS2_LOG_LEVEL_USERgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06d441caacbd7c7caa46d508d5c12e78a4faxutil_log_impl_log_infogroup__axutil__log.html#ga4dd2eaee66e6166d1365aa7e1e59a93AXIS2_LOG_CRITICALgroup__axutil__log.html#g919cd3654aefc4b7aedc84a23aa142aaMember axutil_linked_list_remove_at_indexgroup__axutil__linked__list.html#g2c79f16cebb8e5cb1bdc55f5c83952daMember entry_tgroup__axutil__linked__list.html#gc8fdf0a0a29c429a84e7beb8bcbd00ceaxutil_linked_list_remove_lastgroup__axutil__linked__list.html#g275168372eb9ef197be1565946651a2cMember axutil_http_chunked_stream_creategroup__axutil__http__chunked__stream.html#gdb1279ececa520dfa7ebd40a54f5fc26Member axutil_hash_nextgroup__axutil__hash.html#gf273ceaf30433b5bef16fe389afbb3e9axutil_hash_freegroup__axutil__hash.html#ge49a13a2adc0881ffdd7f69c6459b949AXIS2_HASH_KEY_STRINGgroup__axutil__hash.html#g9d76d1650779662f4e6727f4284e34d9axutil_file_handler_closegroup__axutil__file__handler.html#g3d33d43657d61b1d2b6bf092791f6ec4Member axutil_error_set_error_messagegroup__axutil__error.html#g14d4772cbdc268f1c20c13281360f2ecAXIS2_ERROR_GET_STATUS_CODEgroup__axutil__error.html#g860cf8959eeacf02d3fd3cbe0cf5bd04Member axutil_env_tgroup__axutil__env.html#gd1083f9198686518871a41ce0e08cd0aenvironmentgroup__axutil__env.htmlaxutil_duration_set_durationgroup__axutil__duration.html#g589f281118ce548c15c3befd303f0158axutil_dll_desc_set_timestampgroup__axutil__dll__desc.html#g091bd6b8f859297bebee9aa79982cd04DELETE_FUNCTgroup__axutil__dll__desc.html#g38d993342246dbee82270178b79b1c93AXIS2_DIGEST_HASH_HEX_LENgroup__axutil__digest__calc.html#g0e4e3dc73e837b599a0b3143bed73518Member axutil_date_time_get_minutegroup__axutil__date__time.html#gb90d270ad77e3ad9b2dd7ed4e0120a63axutil_date_time_get_time_zone_hourgroup__axutil__date__time.html#g6081207d7dd1f35be47849694ebc010baxutil_date_time_deserialize_dategroup__axutil__date__time.html#g41eaf8f9265a60efd098ac335e89cb0cMember axutil_base64_binary_freegroup__axutil__base64__binary.html#gc8130363c9fd8ed48a903fef17e0cb43Member axutil_array_list_sizegroup__axutil__array__list.html#g89efc3fe773e2655f1884121a97273f3axutil_array_list_freegroup__axutil__array__list.html#g549e9d4e6c502650ea76d0134551130eMember axutil_allocator_switch_to_local_poolgroup__axutil__allocator.html#g84fcfb6c00bfaf95d676a8cc98c2ac33Member axis2_transport_sender_ops_tgroup__axis2__transport__sender.html#ga6fa9ad0eb8d6d93e6549a0517d8ac73Member axis2_transport_receiver_initgroup__axis2__transport__receiver.html#g3d4ef4feffc51de764f709a33946b159transportgroup__axis2__transport.htmlMember axis2_transport_out_desc_creategroup__axis2__transport__out__desc.html#g7f4ccfe57406b9e031c12ec4c0fe84abaxis2_transport_out_desc_set_out_flowgroup__axis2__transport__out__desc.html#ga6d6933bd2681ae8f703e6081b63ef64Member axis2_transport_in_desc_get_in_phasegroup__axis2__transport__in__desc.html#g49f9ae8aed490c7d9e23ace6ffea2570axis2_transport_in_desc_get_fault_phasegroup__axis2__transport__in__desc.html#g7f97aa29114ec9cc9d8002a579f8a235Member axutil_thread_mutex_lockgroup__axis2__mutex.html#g7f987573535cf90ba67b2b2ae047ee46Member axis2_svr_callback_handle_resultgroup__axis2__svr__callback.html#gd89712afed2d93a2852d75ce7927b461Member AXIS2_SVC_SKELETON_FREEgroup__axis2__svc__skeleton.html#g2d7f27e2cbfaff2288c6ecfccb55ff26Member axis2_svc_name_tgroup__axis2__svc__name.html#gf3d9c6a25fce098b03819d1ac546270cMember axis2_svc_grp_ctx_get_basegroup__axis2__svc__grp__ctx.html#gc0e89428bb66e652ddb0fd35bce6f62daxis2_svc_grp_ctx_tgroup__axis2__svc__grp__ctx.html#g340e0c5f75d6579013ff5768b37e4a07Member axis2_svc_grp_engage_modulegroup__axis2__svc__grp.html#geb8c8fe09b2911addbb171aee5a09d47axis2_svc_grp_engage_modulegroup__axis2__svc__grp.html#geb8c8fe09b2911addbb171aee5a09d47Member axis2_svc_ctx_set_svcgroup__axis2__svc__ctx.html#g9d465a820d440585864dd7235d4747ddaxis2_svc_ctx_get_svc_idgroup__axis2__svc__ctx.html#ge6b5b3dec329ae2a97080f4a02d8874bMember axis2_svc_client_send_robustgroup__axis2__svc__client.html#g715a6de724d3a0d1d93bd11620c3ee78Member axis2_svc_client_get_http_headersgroup__axis2__svc__client.html#g5ae49a916d0f5ed2cc2c53c60729dd9baxis2_svc_client_get_http_headersgroup__axis2__svc__client.html#g5ae49a916d0f5ed2cc2c53c60729dd9baxis2_svc_client_get_own_endpoint_refgroup__axis2__svc__client.html#gd844bd63844eaec8549c5fdc9b1a4567axis2_svc_client_get_optionsgroup__axis2__svc__client.html#g2014faaebc9685d685b9b33ac7fdbb48Member axis2_svc_set_last_updategroup__axis2__svc.html#g8f763e28256c43eebf4e371ff61afb1eMember axis2_svc_get_op_with_namegroup__axis2__svc.html#g49a1d2e36cf1c13d113ac5ed04ab2455Member axis2_svc_add_opgroup__axis2__svc.html#g5cbd6c2e47273db94632e6d5a407ffa9axis2_svc_get_target_ns_prefixgroup__axis2__svc.html#g704a51af7fc2485128d53a9dae23d184axis2_svc_set_namegroup__axis2__svc.html#gc04e374dc9571b5726b88bfd2e68e702axis2_svc_set_parentgroup__axis2__svc.html#g260a062049966a472bd05355015736afMember axis2_stub_freegroup__axis2__stub.html#gfc147a4a3fbdadfd5d92051fd7be69e5axis2_stub_set_endpoint_refgroup__axis2__stub.html#gf746e816fb986b581bc2d3859bb097aaaxis2_rm_assertion_set_sender_sleep_timegroup__axis2__rm__assertion.html#g99a6430b343fcf9de459499f5f1fa854axis2_rm_assertion_get_is_inordergroup__axis2__rm__assertion.html#gd20b82dab24eada1056bc5035084598aMember axis2_relates_to_get_valuegroup__axis2__relates__to.html#g06f3ca8b23f7f1ec80eb753a75203cf4Member axis2_policy_include_freegroup__axis2__policy__include.html#g491a884eab1c3783e77a70dd1ca84effaxis2_policy_include_update_policygroup__axis2__policy__include.html#g98e06942554456a1e3e97c8f634782ceMember axis2_phases_info_get_op_out_faultphasesgroup__axis2__phases__info.html#ge6a731fdeab3aed6615283a43e2909d0axis2_phases_info_get_in_faultphasesgroup__axis2__phases__info.html#g076618d23020936a6c629c96a33d1bfeMember axis2_phase_rule_get_namegroup__axis2__phase__rule.html#g609ef9a04aebdd2af772f78cef7ce26daxis2_phase_rule_set_aftergroup__axis2__phase__rule.html#g5e8872d7d5383aaaaee7ac6d200a7303Member axis2_phase_resolver_build_execution_chains_for_module_opgroup__axis2__phase__resolver.html#gf5b9efb389e34a23b0bb7feb5974c0fcMember AXIS2_TRANSPORT_PHASEgroup__axis2__phase__meta.html#g4d5e6cdd0a0c2098efe56f524fe4d3dcMember axis2_phase_holder_remove_handlergroup__axis2__phase__holder.html#g75e5acc55fdf29ee948daca03b582a6aaxis2_phase_holder_freegroup__axis2__phase__holder.html#gd8944d99a6a3a7ac43dfa474cf5e535aMember axis2_phase_creategroup__axis2__phase.html#ga8094ea4f993c65b5024f912769311b5axis2_phase_insert_aftergroup__axis2__phase.html#g3fb24331f3f5b78eb1b2aab75de94fe5phasesgroup__axis2__phase.htmlMember axis2_options_set_transport_in_protocolgroup__axis2__options.html#g23c960bfdb5ace4fce7997b3d00be21dMember axis2_options_set_message_idgroup__axis2__options.html#g7d0fbc43a55e0e40f1f124d317cd2675Member axis2_options_get_timeout_in_milli_secondsgroup__axis2__options.html#gf5bffc566365333558914d7ca4c727ddMember axis2_options_freegroup__axis2__options.html#g1cc19bb9faf77ab2afaf79781e409fc0axis2_options_set_enable_restgroup__axis2__options.html#gb1533f1ffce6cb2842f60cd14a1270baaxis2_options_set_timeout_in_milli_secondsgroup__axis2__options.html#gb75870ba3c356a79e749135f32e2971caxis2_options_get_parentgroup__axis2__options.html#g44755ea1568201951ee3c75358323039axis2_options_get_actiongroup__axis2__options.html#g678ae601586531dca4425014f09cd9caMember axis2_op_ctx_get_msg_ctxgroup__axis2__op__ctx.html#g0f79838f18e6689ea44620975092280faxis2_op_ctx_set_parentgroup__axis2__op__ctx.html#g89c08b1de5351278b0fa7f429e8c5c4dMember axis2_op_client_set_soap_actiongroup__axis2__op__client.html#ge0632b67dbea1fc8f7ae1f7708e1b98dMember axis2_op_client_executegroup__axis2__op__client.html#g54d84d352d333aacf2f7bb79b8d53a9aaxis2_op_client_create_default_soap_envelopegroup__axis2__op__client.html#g3dee8b2af09a8a08f39155bce5304179axis2_op_client_get_optionsgroup__axis2__op__client.html#g0f4b560555e0be42d8f15979b09bc5edMember axis2_op_register_op_ctxgroup__axis2__op.html#gc609bbc51888e90769428cec974590d1Member axis2_op_get_basegroup__axis2__op.html#gf04e4c6f801ea0fb353b04f329c68760Member axis2_op_tgroup__axis2__op.html#g13ff0e97eb92c0681768b60a93bf1bc9axis2_op_add_module_qnamegroup__axis2__op.html#ga4dc08740074220306e97ace2e94b4d9axis2_op_get_msg_exchange_patterngroup__axis2__op.html#g462462d70f7534b112d1ca683093d0ccaxis2_op_tgroup__axis2__op.html#g13ff0e97eb92c0681768b60a93bf1bc9axis2_msg_recv_set_receivegroup__axis2__msg__recv.html#gbac792c20ab498050143ac9046b0950areceiversgroup__axis2__receivers.htmlMember axis2_msg_info_headers_get_relates_togroup__axis2__msg__info__headers.html#g32e68bb5397e49a5109625e06485e032axis2_msg_info_headers_get_relates_togroup__axis2__msg__info__headers.html#g32e68bb5397e49a5109625e06485e032axis2_msg_info_headers_get_reply_togroup__axis2__msg__info__headers.html#g98b339f94e7b186fb4eaed76116e8dc0Member axis2_msg_ctx_set_svc_grp_ctx_idgroup__axis2__msg__ctx.html#g420039e5d3ebb705ae0dd172a7e1d760Member axis2_msg_ctx_set_process_faultgroup__axis2__msg__ctx.html#g7ed492aa405ef700226a3a19cf6c1433Member axis2_msg_ctx_set_in_fault_flowgroup__axis2__msg__ctx.html#g5a5a0204f62d42f7e79cf8d0c9fa9278Member axis2_msg_ctx_set_content_languagegroup__axis2__msg__ctx.html#g785e9bfaf312d05d4f8decbf27546262Member axis2_msg_ctx_get_transport_headersgroup__axis2__msg__ctx.html#gd5c47f45b9d568dc1961ddf283f44b85Member axis2_msg_ctx_get_reply_togroup__axis2__msg__ctx.html#g8a54ba62dbb7097616ac384a9d731163Member axis2_msg_ctx_get_no_contentgroup__axis2__msg__ctx.html#g599cd11719450e641d1ef1a9b2bfd437Member axis2_msg_ctx_get_doing_restgroup__axis2__msg__ctx.html#g3df7388fa1f7bfe10b559a0a5a2ff1dcMember axis2_msg_ctx_extract_http_accept_language_record_listgroup__axis2__msg__ctx.html#gff16a50cb3f3aeff0e17d9facb8b11a9Group message contextgroup__axis2__msg__ctx.htmlaxis2_msg_ctx_set_transfer_encodinggroup__axis2__msg__ctx.html#g3e7ceeadac1d2a0b295947bbaa0adca7axis2_msg_ctx_set_out_transport_infogroup__axis2__msg__ctx.html#g2e8b202d57caca29121bd55ede2ad3d6axis2_msg_ctx_get_supported_rest_http_methodsgroup__axis2__msg__ctx.html#ged338ca86cf608cac71350fb54a6e4f2axis2_msg_ctx_set_opgroup__axis2__msg__ctx.html#ge1629a4a314446a0f87b1a4c7f87c4e0axis2_msg_ctx_get_paused_phase_namegroup__axis2__msg__ctx.html#gbbca92a3ca5b7eb586b3bcb55eb3589baxis2_msg_ctx_get_output_writtengroup__axis2__msg__ctx.html#g634e1277b8a4e29dd9bbbfe8e27350d7axis2_msg_ctx_get_new_thread_requiredgroup__axis2__msg__ctx.html#gba6ab8a714e0f06ea2c629bccce07e53axis2_msg_ctx_get_process_faultgroup__axis2__msg__ctx.html#g16845c84b066ba612fd26340de37a842axis2_msg_ctx_tgroup__axis2__msg__ctx.html#g160acae289ac39cb49fa625ffd88e410Member axis2_msg_set_directiongroup__axis2__msg.html#g4d684f4bc237a32fcf2d2462d4c3166aMember AXIS2_MSG_OUTgroup__axis2__msg.html#gf8324fc49bef947986c6333e608def13axis2_msg_is_param_lockedgroup__axis2__msg.html#g51ae7e6eb9afee5f7e82bd7f8c21bf96Member axis2_module_desc_set_fault_out_flowgroup__axis2__module__desc.html#ga36710d6c228635ea4223b1de3b40e97Member axis2_module_desc_create_with_qnamegroup__axis2__module__desc.html#g32a5747341faa2fd783403556d884802axis2_module_desc_set_parentgroup__axis2__module__desc.html#g2571fdc9828be8ccf946ed5b9e0fc205Member axis2_module_creategroup__axis2__module.html#gbbf3d0b019a87d06a865131d41d57fc4Member axis2_listener_manager_get_conf_ctxgroup__axis2__listener__manager.html#g7bbcb6361e6cd875b2a95198645573c6Member axis2_http_worker_tgroup__axis2__http__worker.html#g91faee703d8722cd152199811c1e4c4fMember AXIS2_SOCKETgroup__axis2__core__transport__http.html#g221f709187b0a0665e8328ddaa2fb6e2Member AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAMEgroup__axis2__core__transport__http.html#g35379ebb2575ad6caa368abe5449e79eMember AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAMEgroup__axis2__core__transport__http.html#g29fd87a1f90a8cab364caa657cffbd28Member AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAMEgroup__axis2__core__transport__http.html#g808033fa9da88f8bb8d3c5dbc51c3781Member AXIS2_HTTP_RESPONSE_BAD_REQUESTgroup__axis2__core__transport__http.html#gc34d4c0dd37cfc29e7c3e6b6be353b16Member AXIS2_HTTP_HEADER_WWW_AUTHENTICATEgroup__axis2__core__transport__http.html#gfc1108eecccf6c8c3afe77b86841bd9fMember AXIS2_HTTP_HEADER_EXPECT_100_CONTINUEgroup__axis2__core__transport__http.html#gfbacbe29cea781dcdd111a3a63d26203Member AXIS2_HTTP_HEADER_CACHE_CONTROLgroup__axis2__core__transport__http.html#g1a535c99eb673336b9b38fd993cd56e3Member AXIS2_HTTP_HEADgroup__axis2__core__transport__http.html#gdaa0f6f257ae571166bc0f8aa770642eMember AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALMgroup__axis2__core__transport__http.html#g32e1895827f44dedb77c105d34038702Member AXIS2_HTTP_AUTH_PASSWDgroup__axis2__core__transport__http.html#g211b7ae484a689bc5e38973c350cc4c8AXIS2_HTTP_SERVERgroup__axis2__core__transport__http.html#g1fea93f6884312a0d4060165fb6ca58bAXIS2_DEFAULT_SVC_PATHgroup__axis2__core__transport__http.html#gfd0080767bcf3515ddbb4f8ae7e37625AXIS2_ALLgroup__axis2__core__transport__http.html#gaf8c30d868566b477bdaff71f29071c3AXIS2_SSL_KEY_FILEgroup__axis2__core__transport__http.html#g94d94d1232b01bcabaef1f667473edeaAXIS2_HTTP_PROXYgroup__axis2__core__transport__http.html#g4c55c519f73b103d735efd65fd37afa4AXIS2_HTTP_HEADER_COOKIEgroup__axis2__core__transport__http.html#ged13c38bda5b20b76e96a811f9b57eb5AXIS2_HTTP_HEADER_CONNECTION_CLOSEgroup__axis2__core__transport__http.html#g0745113aa6cb35e49d86f070aa06c0a3AXIS2_HTTP_HEADER_EXPECT_100_CONTINUEgroup__axis2__core__transport__http.html#gfbacbe29cea781dcdd111a3a63d26203AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUEgroup__axis2__core__transport__http.html#g15ad63a776bfe18baf601e2d69a3970aAXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPEgroup__axis2__core__transport__http.html#g08ad8450d41db5e2a7e4d57d40191daaAXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAMEgroup__axis2__core__transport__http.html#gf62cb9301617a05ff7d1872179d9227dAXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAMEgroup__axis2__core__transport__http.html#g41f92c4aa1895c74af9b9e4b4dbe56b6AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VALgroup__axis2__core__transport__http.html#g8c1aaed1795045a2941db1d7ff83ea0dAXIS2_HTTP_RESPONSE_OK_CODE_VALgroup__axis2__core__transport__http.html#gaa5725f9b0c76f1e67e80706bec037f6axutil_url_get_servergroup__axis2__core__transport__http.html#ga30b443b3e72903920e56410f91d83ccMember axis2_http_svr_thread_get_local_portgroup__axis2__http__svr__thread.html#g68ea3285f43e01fc9f2b3e15ca7691e6Member axis2_http_status_line_get_reason_phrasegroup__axis2__http__status__line.html#g7ca13bebe337e3af6d598364bec86a2aMember axis2_http_simple_response_set_headergroup__axis2__http__simple__response.html#g0b3b364adf9ce38f2dc1aa89caf7a3dfMember axis2_http_simple_response_create_defaultgroup__axis2__http__simple__response.html#g71cf4068dafd95eb76c3658d06ab4865axis2_http_simple_response_get_content_lengthgroup__axis2__http__simple__response.html#g03db587b463dda8c908be746d028eb43Member axis2_http_simple_request_set_body_stringgroup__axis2__http__simple__request.html#gcc978b2478be7c335d62ba8855dddb20axis2_http_simple_request_set_body_stringgroup__axis2__http__simple__request.html#gcc978b2478be7c335d62ba8855dddb20axis2_http_server_creategroup__axis2__http__server.html#g44227a462858eb452595cee00adcb4f8axis2_http_response_writer_freegroup__axis2__http__response__writer.html#g4aa971c45559a87946fd94f348b7d4d7Member axis2_http_request_line_freegroup__axis2__http__request__line.html#gd8aa2d51456b6843690d75278de59abeMember axis2_http_out_transport_info_tgroup__axis2__http__out__transport__info.html#g488b445412c39ae4b2a3edd1df4f319chttp out transport infogroup__axis2__http__out__transport__info.htmlMember axis2_http_client_set_urlgroup__axis2__http__client.html#g66ab25088ee5cbc88dbe28e129711f5bGroup http clientgroup__axis2__http__client.htmlaxis2_http_client_get_timeoutgroup__axis2__http__client.html#g32bb50461fab10fa658ac0d1c659e7daaxis2_http_accept_record_freegroup__axis2__http__accept__record.html#g239e70683b74ebbbf004f46a02b63303Member axis2_handler_desc_get_namegroup__axis2__handler__desc.html#g11aa71d93a360714ef716667458b545faxis2_handler_desc_get_handlergroup__axis2__handler__desc.html#g802a79e88268339bb7e5f867cf34f216Member axis2_handler_creategroup__axis2__handler.html#gf6ebc6af97f6e0f7f3709c3b474cb1e3handlergroup__axis2__handler.htmlaxis2_flow_container_get_fault_in_flowgroup__axis2__flow__container.html#g60301ffa364f8eb0a003bf87d2ac47a9axis2_flow_get_handler_countgroup__axis2__flow.html#g161794e7edbc62bc9e93ed573360cbb8Member axis2_endpoint_ref_get_addressgroup__axis2__endpoint__ref.html#g4bc3d165549d17b00a56119c340d0eabaxis2_endpoint_ref_add_metadatagroup__axis2__endpoint__ref.html#g7a2002fe15ecff7ca9ccf00e0289d8d4Member axis2_rest_disp_creategroup__axis2__disp.html#g71f97a999b7c67d329477b2a0dc1b2ceaxis2_disp_freegroup__axis2__disp.html#g4ba871cc3cb7913ca8850de9cf6ce8e1Member AXIS2_IN_FLOW_KEYgroup__axis2__desc__constants.html#ga41f19199cb6d14fe08b749ce252581aAXIS2_CONTEXTPATH_KEYgroup__axis2__desc__constants.html#gdafd2bf300a94a15b2e9e896d5ad081aMember axis2_desc_get_all_paramsgroup__axis2__description.html#g512aaa44dd670d0ed3365033b1459e53axis2_desc_get_all_paramsgroup__axis2__description.html#g512aaa44dd670d0ed3365033b1459e53axis2_ctx_freegroup__axis2__ctx.html#g6cc540335eb01194fc20626e774f9991axis2_core_utils_reset_out_msg_ctxgroup__axis2__core__utils.html#g5d294e127bf852465b40f9bdcce9a6a5configuration initilizing functionsgroup__axis2__conf__init.htmlMember axis2_conf_ctx_get_basegroup__axis2__conf__ctx.html#ge66a52699ed3a03ae50286e9ea859abbaxis2_conf_ctx_get_op_ctxgroup__axis2__conf__ctx.html#g42e7023af97b04e9ac5d192c20c6980eMember axis2_conf_set_dep_enginegroup__axis2__config.html#gddbe656d37ee7d94bdfbaa1a3f293bbdMember axis2_conf_get_modulegroup__axis2__config.html#g0821f7d4a53d5731c23d9be80fd5cbe0Member axis2_conf_get_all_engaged_modulesgroup__axis2__config.html#ge2aa21b6ff10d77d3180459b7e22ebc1axis2_conf_get_param_containergroup__axis2__config.html#g83de5146ca7d0529d1af8ec8f1944013axis2_conf_get_axis2_xmlgroup__axis2__config.html#ga0d096c494a2ad9eb24767275d0baa7eaxis2_conf_get_all_svcsgroup__axis2__config.html#gb3d4be2ef73eee238915c80a8f9b155caxis2_conf_get_paramgroup__axis2__config.html#g1335e3c90eb343f5a06ad1cdc761f638Member axis2_engine_receivegroup__axis2__engine.html#g1ed2e678409c629544ba0f11f7c5fe8faxis2_engine_create_fault_msg_ctxgroup__axis2__engine.html#g048a9c624d618b3c705d41ae77bab9d0Member axis2_callback_get_errorgroup__axis2__callback.html#gb62d7c70252cad340b35f22e03a3f80faxis2_callback_get_errorgroup__axis2__callback.html#gb62d7c70252cad340b35f22e03a3f80faxis2_async_result_creategroup__axis2__async__result.html#g065fafef3286259aa3c8ceb7da9957eeaxis2_any_content_type_creategroup__axis2__any__content__type.html#g7f5efe9330957a64581ba12a0d09857cMember EPR_ADDRESSgroup__axis2__addr__consts.html#g50b15986d08ce1bb6cb8a3d3b9551449Member AXIS2_WSA_NONE_URLgroup__axis2__addr__consts.html#g92e906914bd8ae5a8d3f6014f4bcb189AXIS2_WSA_PREFIX_TOgroup__axis2__addr__consts.html#gfc85ee803652f7b516adce75a32d195eAXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSIONgroup__axis2__addr__consts.html#g96acda046fde6398ecd5c494b5feb1abWS-Addressing related constantsgroup__axis2__addr__consts.htmlMember axiom_xpath_cast_node_to_numbergroup__axiom__xpath__api.html#ge9336d53cde0e884f5fb213b9df02674axiom_xpath_register_namespacegroup__axiom__xpath__api.html#g521831b95af07a1d758870955e21ec46AXIOM_XPATH_EVALUATION_ERRORgroup__axiom__xpath__api.html#g7a66629a5a092f0d5514c34d5575c753Member axiom_xml_writer_write_empty_element_with_namespace_prefixgroup__axiom__xml__writer.html#g44f2a95436bfbb3225fa2792f2a747b3Member axiom_xml_writer_freegroup__axiom__xml__writer.html#gf050a102040e761077a63b2254390d4aaxiom_xml_writer_write_start_documentgroup__axiom__xml__writer.html#g56cd0aed921b578b91c92c1dd78c989eaxiom_xml_writer_write_start_element_with_namespace_prefixgroup__axiom__xml__writer.html#gbbc4c3ec83abb98b8def106b6733382eMember axiom_xml_reader_get_namespace_urigroup__axiom__xml__reader.html#geb34cdd664cab7fd67f4ef1b15e5c53faxiom_xml_reader_get_namespace_urigroup__axiom__xml__reader.html#geb34cdd664cab7fd67f4ef1b15e5c53faxiom_xml_reader_freegroup__axiom__xml__reader.html#g9bf782a28329a5661230324bde422a03Member axiom_text_get_valuegroup__axiom__text.html#ga620cffb41a4f6c01ddba83e2a52fb97axiom_text_get_valuegroup__axiom__text.html#ga620cffb41a4f6c01ddba83e2a52fb97axiom_stax_builder_next_with_tokengroup__axiom__stax__builder.html#g1e1c4fa9591e1e0886420ff43a164f9bMember axiom_soap_header_block_get_rolegroup__axiom__soap__header__block.html#g1c3d15f1ba49d72671ed03e0eec0563aaxiom_soap_header_block_freegroup__axiom__soap__header__block.html#g215a0b781dc39c516b2ae2943fb0c9c8axiom_soap_header_extract_header_blocksgroup__axiom__soap__header.html#gba1977d593ac1686da79c207b5caa797axiom_soap_fault_value_freegroup__axiom__soap__fault__value.html#gfcf173b98eb2445f42f1ea76255c87d4axiom_soap_fault_text_create_with_parentgroup__axiom__soap__fault__text.html#g93c4f13db5c53ccb8082d346781d4b6fMember axiom_soap_fault_role_get_base_nodegroup__axiom__soap__fault__role.html#g609089f41190a886185cc053560e1c80axiom_soap_fault_reason_add_soap_fault_textgroup__axiom__soap__fault__reason.html#g7f1ab419bbb1d48404811c18d58ebef0soap fault nodegroup__axiom__soap__fault__node.htmlMember axiom_soap_fault_code_create_with_parentgroup__axiom__soap__fault__code.html#g118a27d270da7111861d94c1301be667Member axiom_soap_fault_create_with_parentgroup__axiom__soap__fault.html#g26600e5d6fad315500cad1752d60353dMember axiom_soap_envelope_serializegroup__axiom__soap__envelope.html#gf409ccdda293c3e5b8b0e3da3e5417beaxiom_soap_envelope_get_soap_versiongroup__axiom__soap__envelope.html#g9f64833d41691f1ae7db590fd11aa25cMember axiom_soap_builder_set_bool_processing_mandatory_fault_elementsgroup__axiom__soap__builder.html#g87f4a91ddb83e585b2e06c1584bb503baxiom_soap_builder_set_mime_body_partsgroup__axiom__soap__builder.html#g3402c29c059ffbb670cd412871b65e13Member axiom_soap_body_freegroup__axiom__soap__body.html#g34c1b50ba393f19106007eed20104e1dMember axiom_processing_instruction_set_targetgroup__axiom__processing__instruction.html#g7962efd34e6f8aaa1585dc45cd8ed6d6Member axiom_output_set_xml_versiongroup__axiom__output.html#g3c26ffb2f530d6d05252def97a4ac01eaxiom_output_flushgroup__axiom__output.html#gf0b5478df7ebd6278c14008fa3812cf6axiom_output_freegroup__axiom__output.html#g9b07a1803c3891959ebc7bf4c5d2a349Member axiom_node_get_node_typegroup__axiom__node.html#g5f0287bd7a7487da62528717787b69b4Member AXIOM_COMMENTgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab0dc6b4983ac7bf72b34cc272c8b2992daxiom_node_get_first_childgroup__axiom__node.html#gfc7806095f1e72667a49eab5945b66e3Member axiom_navigator_is_completedgroup__axiom__navigator.html#g1142639e6dfe2a5074523570f93fe5cfMember axiom_namespace_get_prefix_strgroup__axiom__namespace.html#g5e91b447c16d8fc05a3080c1e33e1fe8axiom_namespace_equalsgroup__axiom__namespace.html#gbb08fb933c55696b786e16485f1e8f6baxiom_mtom_caching_callback_ops_tgroup__caching__callback.html#gdba5b402b3a5bf007882d7f5e569435aaxiom_mime_parser_set_mime_boundarygroup__axiom__mime__parser.html#g75c483098bcbb01cacff9dbfc3e41e01Member axiom_element_set_namespace_assume_param_ownershipgroup__axiom__element.html#g5d69b8b24799663e5dc0252877b11145Member axiom_element_get_first_child_with_qnamegroup__axiom__element.html#gd3f2d1134ad645414483e3f84add0ab6Member axiom_element_declare_default_namespacegroup__axiom__element.html#g804e9f7129b76afbea9d19420dfe5a2baxiom_element_find_namespace_urigroup__axiom__element.html#gf9f1cddbbc96f961843ff476dd583faeaxiom_element_set_namespacegroup__axiom__element.html#gfc6727d644dabb556f46a2901f317093elementgroup__axiom__element.htmlaxiom_document_build_nextgroup__axiom__document.html#g3f02c87e2de3ca020f867a8496346967doctypegroup__axiom__doctype.htmlMember axiom_data_handler_set_binary_datagroup__axiom__data__handler.html#gcdd5abcf6725059de9409e8ea486980baxiom_data_handler_freegroup__axiom__data__handler.html#g790d6d952b28f7aa0202216ef5074489Member axiom_comment_creategroup__axiom__comment.html#g62b7b89d4be6473a3a801fa2d5a0d582axiom_children_with_specific_attribute_iterator_freegroup__axiom__children__with__specific__attribute__iterator.html#g3ca5674c5cd482e3dcce3ebc443f1804Member axiom_children_iterator_removegroup__axiom__children__iterator.html#g43a2456b06e06c44abb0d0cc93230514axiom_child_element_iterator_creategroup__axiom__child__element__iterator.html#g22b11e124caa715ecf3d31fb58991154Member axiom_attribute_get_value_strgroup__axiom__attribute.html#g0f1e956758b142ba21d18dcd30cca1d9axiom_attribute_clonegroup__axiom__attribute.html#g21014966fb2d80f589bbbe23a66ff478rp_includes.hrp__includes_8h.htmlneethi_reference_serializeneethi__reference_8h.html#725fd712e605743caeab11f449ee751eneethi_policy_is_emptyneethi__policy_8h.html#e48a58b8c4f3091d2cafd3de6b495274neethi_operator_tneethi__operator_8h.html#d921218f477fc16b44ee060b1780ac33Member neethi_engine_get_normalizeneethi__engine_8h.html#5a5d99983dd578517d0c735c8c678a0aAXIS2_RM_IN_ORDERneethi__constants_8h.html#0c8d45d03a65ba6cd39481f6240d78abNEETHI_NAMEneethi__constants_8h.html#c0237b1a9fd61e16b96423a6f3bc8a5aneethi_assertion_get_nodeneethi__assertion_8h.html#12c59ab41ccc799306316d392c499808neethi_all.hneethi__all_8h.htmlMember axis2_scopesgroup__axutil__utils.html#g102944cbbb59586e2d48aa4a95a55f64axutil_url.haxutil__url_8h.htmlaxutil_url_parse_stringgroup__axis2__core__transport__http.html#g9109e28b9f161b847046706471c28515axutil_uri_resolve_relativegroup__axutil__uri.html#g57054f49c2c3615b1205fa4702aab1a4AXIS2_URI_TIP_DEFAULT_PORTgroup__axutil__uri.html#g2a5977799c7e472bc7f0ea1ee440a2c3axutil_uri.haxutil__uri_8h.htmlaxutil_thread_mutex_trylockgroup__axutil__thread.html#ga050c6ecf8209ba57ea8ec79330632bbaxutil_threadattr_tgroup__axutil__thread.html#g00ba127eb9ea681435b79dfd52132bc9axutil_stack.h File Referenceaxutil__stack_8h.htmlaxutil_qname_tgroup__axutil__qname.html#g70855cdbece0ebf4cb99013541254d44axutil_param_value_freegroup__axutil__param.html#g9ec7a1f6cff83a81ce169f0d8b0b16f9AXIS2_DOM_PARAMgroup__axutil__param.html#g6cfc099e6a5c7446f60046fc7ee338c2axutil_linked_list_index_ofgroup__axutil__linked__list.html#gfeae08bd167aff16b4a56dfd7aa5d336axutil_linked_list_check_bounds_inclusivegroup__axutil__linked__list.html#g44c386ea5a8baf8bc1574b6a6b42e454axis2_callback_info_tgroup__axutil__http__chunked__stream.html#g786f210ecd38135dc3656057e20adaffaxutil_hash_copygroup__axutil__hash.html#g816156cbb7a006f8cd83cf25397c1bdaaxutil_env_create_with_error_loggroup__axutil__env.html#g69b71ca4f32dffb546a225e8f018256eaxutil_dll_desc_set_timestampgroup__axutil__dll__desc.html#g091bd6b8f859297bebee9aa79982cd04DELETE_FUNCTgroup__axutil__dll__desc.html#g38d993342246dbee82270178b79b1c93axutil_date_time_serialize_date_time_with_time_zonegroup__axutil__date__time.html#gc70e37f23df2f9ea4162b80b251c94b4axutil_date_time_serialize_date_time_without_millisecondgroup__axutil__date__time.html#g13442224f7ef0eec0c3bc37f58abd3deaxutil_class_loader_initgroup__axutil__class__loader.html#gc2d031d6b132556f8a3ee5515d84a4e4axutil_array_list.haxutil__array__list_8h.htmlaxutil_array_list.haxutil__array__list_8h.htmlaxis2_transport_sender_tgroup__axis2__transport__sender.html#gaec2671b224403aa77de843348bb7711axis2_transport_receiver.haxis2__transport__receiver_8h.htmlaxis2_transport_out_desc_get_out_flowgroup__axis2__transport__out__desc.html#g2e7d8904b18d357a6b73f7b8cf301460axis2_transport_in_desc_set_recvgroup__axis2__transport__in__desc.html#g1bc9262c72e46d7d485f126f7c054d48axis2_svr_callback_freegroup__axis2__svr__callback.html#g1357c2b8b7a968161bb890f04ce11903axis2_svc_name_set_qnamegroup__axis2__svc__name.html#g789b2cc0d8e7a1d95d5f3989a78524d0axis2_svc_grp_ctx_tgroup__axis2__svc__grp__ctx.html#g340e0c5f75d6579013ff5768b37e4a07axis2_svc_grp_get_paramgroup__axis2__svc__grp.html#g4d666a7940bfb4377d1aba5c1815d577axis2_svc_ctx_initgroup__axis2__svc__ctx.html#gceab7004549d691ce03343fffdd08c1baxis2_svc_client_get_last_response_soap_envelopegroup__axis2__svc__client.html#g53d3a7c3bd84013e1ace71061b0ef98caxis2_svc_client_fire_and_forgetgroup__axis2__svc__client.html#g97dacfdcae000a9830c68a92867c45a7axis2_svc_get_mutexgroup__axis2__svc.html#g97b0a26fada7f86232df3fdfcba849afaxis2_svc_add_mappinggroup__axis2__svc.html#ga99aa4caaa67315dee21b53283163999axis2_svc_get_engaged_module_listgroup__axis2__svc.html#g41a846eaf8687e08757fa82924441157axis2_svc_add_opgroup__axis2__svc.html#g5cbd6c2e47273db94632e6d5a407ffa9AXIOM_SOAP_12group__axis2__stub.html#ga869c2c88438ec26ab81a36b8727ac80axis2_simple_http_svr_conn.haxis2__simple__http__svr__conn_8h.htmlaxis2_simple_http_svr_conn.h File Referenceaxis2__simple__http__svr__conn_8h.htmlaxis2_phase_rule_is_firstgroup__axis2__phase__rule.html#g07d9af90e9929dfad686b7f3494912adaxis2_phase_resolver_build_execution_chains_for_svcgroup__axis2__phase__resolver.html#g2d199ef8c0cf2c6f0477a0b7f3008798axis2_phase_holder.h File Referenceaxis2__phase__holder_8h.htmlaxis2_phase_invokegroup__axis2__phase.html#gde224602c7b9f220ea14f2e2e8be9e66axis2_out_transport_info.h File Referenceaxis2__out__transport__info_8h.htmlaxis2_options_set_enable_mtomgroup__axis2__options.html#g1b441d3770ced54ff17f117022ea082faxis2_options_set_propertiesgroup__axis2__options.html#g585f0123a394ba50e4aa472a026517b7axis2_options_get_reply_togroup__axis2__options.html#g29a591f1954522269e4dcdbcea8f4cdeaxis2_op_ctx_increment_refgroup__axis2__op__ctx.html#g20a35685dc844e4c81aac603a8121dcbaxis2_op_ctx_get_basegroup__axis2__op__ctx.html#ge3983155246957addf3cf44128797b11axis2_op_client_get_soap_actiongroup__axis2__op__client.html#g14365a94c8700089b3f3ccf1df9620a0axis2_msg_recv.haxis2__msg__recv_8h.htmlAXIS2_MSG_RECV_RECEIVEgroup__axis2__msg__recv.html#gb34287c1340360777b91f6f8fb1a7103axis2_msg_info_headers_set_fault_to_anonymousgroup__axis2__msg__info__headers.html#gcdd63e8863b18076b46aee90f5b05c6faxis2_msg_info_headers.h File Referenceaxis2__msg__info__headers_8h.htmlaxis2_msg_ctx_get_transport_urlgroup__axis2__msg__ctx.html#g62bab01718be9813dc0f5abc847df09caxis2_msg_ctx_reset_out_transport_infogroup__axis2__msg__ctx.html#ga340eaf8ff86f9bc8324f9e082f8dfbeaxis2_msg_ctx_set_execution_chaingroup__axis2__msg__ctx.html#g5e62146dab073f13160aa411a6db4a70axis2_msg_ctx_get_svcgroup__axis2__msg__ctx.html#gc8c3e9a503359dd12bf940580e659de3axis2_msg_ctx_set_paused_phase_namegroup__axis2__msg__ctx.html#g2a5e8c445ee014883e7663b2c0754435axis2_msg_ctx_set_output_writtengroup__axis2__msg__ctx.html#gfd23fcda1919b4f2d1cf361c53ab70cdaxis2_msg_ctx_set_new_thread_requiredgroup__axis2__msg__ctx.html#ga93cc6c40d67fed5df3f6891bce068a1axis2_msg_ctx_get_relates_togroup__axis2__msg__ctx.html#gc3000334e5eaaaef9bb6f6cc610e463bAXIS2_MSG_CTX_FIND_SVCgroup__axis2__msg__ctx.html#g9949f405b8bfac0ee5015d67d3ee949caxis2_msg_get_basegroup__axis2__msg.html#ge6b0879687a82eec5c5cf621bd803623axis2_msg_tgroup__axis2__msg.html#g20e480486e264ed4fb5df0517ce76b09axis2_module_desc_add_paramgroup__axis2__module__desc.html#g47de5f2a697c6994862579db03050d92axis2_module_desc.h File Referenceaxis2__module__desc_8h.htmlaxis2_listener_manager.h File Referenceaxis2__listener__manager_8h.htmlaxis2_http_transport_utils_is_callback_requiredaxis2__http__transport__utils_8h.html#d3326ebfecd870645b7eee6aabd894f0axis2_http_transport_utils_get_method_not_allowedaxis2__http__transport__utils_8h.html#75356c46229b1d4f191d9b9c54dfd5afaxis2_http_transport_in_taxis2__http__transport__utils_8h.html#cd49c497384ec984139840239eafc4f0axis2_http_svr_thread.haxis2__http__svr__thread_8h.htmlaxis2_http_simple_request_set_body_stringgroup__axis2__http__simple__request.html#gcc978b2478be7c335d62ba8855dddb20axis2_http_server_stopgroup__axis2__http__server.html#ge03a41104d38f7ff5fc41e0a8f9329a7Member AXIS2_HTTP_SENDER_SET_CHUNKEDaxis2__http__sender_8h.html#930a9ebf0bb35f1ae076ddd63c580d50AXIS2_HTTP_SENDER_SET_HTTP_VERSIONaxis2__http__sender_8h.html#270c3443efeed4c4400e446369834116axis2_http_response_writer_closegroup__axis2__http__response__writer.html#ge3d2d72f0450b556f3a4fe0cfd744881axis2_http_out_transport_info_set_free_funcgroup__axis2__http__out__transport__info.html#g807bd1058da0dbbe0422c65f7b833f7daxis2_http_header_freegroup__axis2__http__header.html#ge3c5a41a47460b57aa99786bd7590e86axis2_http_client_set_key_filegroup__axis2__http__client.html#g90dd4214f012bb8f75c9dc572eb78945axis2_http_accept_record.haxis2__http__accept__record_8h.htmlaxis2_handler_desc_get_class_namegroup__axis2__handler__desc.html#g6a12dc3e24a7db6642ef3392db1853cbaxis2_handler_get_handler_descgroup__axis2__handler.html#g68ed525c6303fcf9cda284eef07b270eaxis2_flow_container_get_out_flowgroup__axis2__flow__container.html#gc469d08060b162390a2aca7c2bcc5d9eaxis2_engine_resume_sendgroup__axis2__engine.html#gba1a56931bc5ad105c7059c2af3cd59baxis2_endpoint_ref_get_svc_namegroup__axis2__endpoint__ref.html#g392b8ac3572d5a3b905b407dbf9c9936axis2_endpoint_ref_tgroup__axis2__endpoint__ref.html#gf6e89c83a6b553e7e3f11e787b3fecd4axis2_description.haxis2__description_8h.htmlAXIS2_EXECUTION_CHAIN_KEYgroup__axis2__desc__constants.html#gadedea70ac9dab41e3006111329f0274axis2_desc_tgroup__axis2__description.html#g9bbf771ae43a8364c5f453c7077f0f1eaxis2_ctx_get_property_mapgroup__axis2__ctx.html#gc516a4bacec4a38f5e201273b77781dbaxis2_conf_ctx_set_propertygroup__axis2__conf__ctx.html#gfbb679038aba7d0305f8607a5449f381axis2_conf_ctx_set_confgroup__axis2__conf__ctx.html#g2219982ff63cd78a432352482079907aaxis2_conf_engage_module_with_versiongroup__axis2__config.html#g437349fa6fb067fc0cf6b23f731e5b5baxis2_conf_set_out_phasesgroup__axis2__config.html#g70e492fdfb83180cab77006979ce10e0axis2_conf_get_all_in_transportsgroup__axis2__config.html#g287e0d1e671665be290f523539f370d6axis2_conf.haxis2__conf_8h.htmlaxis2_on_error_func_ptrgroup__axis2__callback.html#g195846304fc14b2bd2a55b19b04d220faxis2_any_content_type_tgroup__axis2__any__content__type.html#g44968ee69ad6bda6b83de21f2105ef70AXIS2_WSA_METADATAgroup__axis2__addr__consts.html#g24ec2266e6ace775fa784c8a79a1da7cEPR_SERVICE_NAMEgroup__axis2__addr__consts.html#ga8706ee876df13fee596dd3d3b90fb55axiom_xml_writer_get_xml_sizegroup__axiom__xml__writer.html#gaad2c11c45420ff072bed9c4b9a568f9axiom_xml_writer_write_namespacegroup__axiom__xml__writer.html#g3bb91e88f62e6620f1236dccbba5c0b6axiom_xml_writer_ops_taxiom__xml__writer_8h.html#703ed7668404d8bf6b2d66122b65cb2eaxiom_xml_reader_get_attribute_namespace_by_numbergroup__axiom__xml__reader.html#g8095baf49f5ae2577dc6ddd47bbf9b80axiom_soap_header_block_get_soap_versiongroup__axiom__soap__header__block.html#gee5697cf3757399514eec4d2253b323eaxiom_soap_header_remove_header_blockgroup__axiom__soap__header.html#g4d36a1f5427197087a29703d8ac74ac6axiom_soap_fault_value_get_textgroup__axiom__soap__fault__value.html#g6cdb2c327cffc7d0d3c2ca6660e715eeaxiom_soap_fault_text.h File Referenceaxiom__soap__fault__text_8h.htmlaxiom_soap_fault_role_taxiom__soap__fault__role_8h.html#c796dc1995401957632cd5e755d12c2baxiom_soap_fault_node_set_valuegroup__axiom__soap__fault__node.html#g7b3b82afef78ea3686d668b02a205ce6axiom_soap_fault_code_get_valuegroup__axiom__soap__fault__code.html#g3fa2d0d9855320b37aa4f2d8a5fa1363axiom_soap_fault_freegroup__axiom__soap__fault.html#g42e25abd4f06fe253fcb286cde0b2cb8axiom_soap_envelope_get_headergroup__axiom__soap__envelope.html#ge45fe5ee486a2cba9fd1fbdf50211b36axiom_soap_builder_get_soap_versiongroup__axiom__soap__builder.html#g023955efd4b61a9a8852a5c79e893c48axiom_soap_body_buildgroup__axiom__soap__body.html#g5a7066590890390e527b0a718178c785axiom_node_to_stringgroup__axiom__node.html#g0cf9fdca65f2b7c5ab0e485cf21bc3baaxiom_node_create_from_buffergroup__axiom__node.html#gaf55148ae4b5101b0688900819eb6823axiom_mtom_caching_callback_ops_tgroup__caching__callback.html#gdba5b402b3a5bf007882d7f5e569435aaxiom_mime_parser.haxiom__mime__parser_8h.htmlAXIOM_MIME_PARSER_BUFFER_SIZEaxiom__mime__parser_8h.html#710ea9d65777b5ea758d84aef8fcd099axiom_document.haxiom__document_8h.htmlaxiom_data_source_tgroup__axiom__data__source.html#gb52389bbd2e986cbd069892a92583ef4axiom_data_handler_read_fromgroup__axiom__data__handler.html#ge35b85ccac0a5bd5fd659124c75d5ca2axiom_comment_tgroup__axiom__comment.html#g461a34750e5dc2697cd8f5370f8843d6axiom_children_qname_iterator_nextgroup__axiom__children__qname__iterator.html#gf407f75da538e75839c59fa385017680axiom_children_iterator.h File Referenceaxiom__children__iterator_8h.htmlaxiom_attribute_get_value_strgroup__axiom__attribute.html#g0f1e956758b142ba21d18dcd30cca1d9axiom_attribute.haxiom__attribute_8h.htmlrp_transport_binding.hrp__transport__binding_8h-source.htmlrp_saml_token_builder.hrp__saml__token__builder_8h-source.htmlrp_encryption_token_builder.hrp__encryption__token__builder_8h-source.htmlneethi_exactlyone.hneethi__exactlyone_8h-source.htmlaxis2_version_taxutil__version_8h-source.html#l00099AXIS2_URI_UNP_OMITQUERYaxutil__uri_8h-source.html#l00108AXIS2_URI_WAIS_DEFAULT_PORTaxutil__uri_8h-source.html#l00062axutil_threadkey_taxutil__thread_8h-source.html#l00066AXIS2_DOM_PARAMaxutil__param_8h-source.html#l00051AXIS2_LOG_LEVEL_INFOaxutil__log_8h-source.html#l00070axutil_hash.haxutil__hash_8h-source.htmlaxutil_envaxutil__env_8h-source.html#l00059axutil_allocator::local_poolaxutil__allocator_8h-source.html#l00095axis2_transport_receiver_taxis2__transport__receiver_8h-source.html#l00058AXIS2_SVC_SKELETON_INITaxis2__svc__skeleton_8h-source.html#l00153axis2_svc_client.haxis2__svc__client_8h-source.htmlaxis2_phase_rule_taxis2__phase__rule_8h-source.html#l00047AXIS2_PHASE_AFTERaxis2__phase_8h-source.html#l00062axis2_op_client.haxis2__op__client_8h-source.htmlAXIS2_UTF_8axis2__msg__ctx_8h-source.html#l00071axis2_module::handler_create_func_mapaxis2__module_8h-source.html#l00129AXIS2_PROXY_AUTH_TYPE_BASICaxis2__http__transport_8h-source.html#l00959AXIS2_HTTP_AUTHENTICATION_USERNAMEaxis2__http__transport_8h-source.html#l00868AXIS2_HTTP_RESPONSE_NOCONTENTaxis2__http__transport_8h-source.html#l00780AXIS2_HTTP_HEADER_ACCEPT_ALLaxis2__http__transport_8h-source.html#l00695AXIS2_HTTP_HEADER_DATEaxis2__http__transport_8h-source.html#l00604AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAMEaxis2__http__transport_8h-source.html#l00519AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODINGaxis2__http__transport_8h-source.html#l00430AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAMEaxis2__http__transport_8h-source.html#l00343AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAMEaxis2__http__transport_8h-source.html#l00257AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VALaxis2__http__transport_8h-source.html#l00167AXIS2_HTTP_RESPONSE_CODEaxis2__http__transport_8h-source.html#l00066AXIS2_HTTP_SENDER_SET_OM_OUTPUTaxis2__http__sender_8h-source.html#l00200axis2_http_client.haxis2__http__client_8h-source.htmlaxis2_disp.haxis2__disp_8h-source.htmlAXIS2_EXECUTION_CHAIN_KEYaxis2__description_8h-source.html#l00058axis2_conf_taxis2__conf_8h-source.html#l00059AXIS2_WSA_PREFIX_REPLY_TOaxis2__addr_8h-source.html#l00151AXIS2_WSA_NAMESPACE_SUBMISSIONaxis2__addr_8h-source.html#l00094axiom_xpath_result_node::valueaxiom__xpath_8h-source.html#l00187axiom_xpath_context::envaxiom__xpath_8h-source.html#l00123axiom_xml_writer_opsaxiom__xml__writer_8h-source.html#l00049axiom_soap_fault_code.haxiom__soap__fault__code_8h-source.htmlAXIOM_ELEMENTaxiom__node_8h-source.html#l00071axiom_mime_part.haxiom__mime__part_8h-source.htmlPage /home/manjula/release/c/deploy/include/axis2-1.6.0/axutil_hash.h_2home_2manjula_2release_2c_2deploy_2include_2axis2-1_86_80_2axutil__hash_8h-example.htmlMember axutil_log::enabledstructaxutil__log.html#61962855615898f2ff2409bbe9fb7cccaxutil_error::status_codestructaxutil__error.html#39bc351d123f4f466b12c7157b29487faxutil_env Struct Referencestructaxutil__env.htmlMember axis2_version_t::patchstructaxis2__version__t.html#d7e342f0dcdf63a6f80720b36565dd8astruct axis2_transport_sender_opsstructaxis2__transport__sender__ops.htmlaxis2_transport_receiver_ops::get_reply_to_eprstructaxis2__transport__receiver__ops.html#46c5e7de76ce872bb45c0262a637ce24axis2_svc_skeleton_ops::invokestructaxis2__svc__skeleton__ops.html#f7e231e87bb2db245c626f5037c7d263Member axis2_module::handler_create_func_mapstructaxis2__module.html#32b14517bcfca559f3c89b994a9a9593axiom_xpath_result Struct Referencestructaxiom__xpath__result.htmlMember axiom_xpath_context::positionstructaxiom__xpath__context.html#b04502cdafbd1c04afd69929a147855aaxiom_xpath_context::root_nodestructaxiom__xpath__context.html#93e79adc5cea5fe45a5dc40d795dd50cMember axiom_xml_writer_ops::write_processing_instructionstructaxiom__xml__writer__ops.html#7c4747974cc1beb1234f1a60670cac1daxiom_xml_writer_ops::flushstructaxiom__xml__writer__ops.html#5ce22edb7ada7612443969d52ebd903aaxiom_xml_writer_ops::write_processing_instructionstructaxiom__xml__writer__ops.html#7c4747974cc1beb1234f1a60670cac1dstruct axiom_xml_writer_opsstructaxiom__xml__writer__ops.htmlMember axiom_xml_reader_ops::get_attribute_namespace_by_numberstructaxiom__xml__reader__ops.html#cd439813d81970e3776c59dbe4f293c8axiom_xml_reader_ops::get_namespace_uri_by_numberstructaxiom__xml__reader__ops.html#9e6cb2a23eefe09daa1b6a6d9a470a52axiom_mtom_sending_callback_ops::close_handlerstructaxiom__mtom__sending__callback__ops.html#0b38c27ef9fa8228903ceb99808e9b6frp_x509_token_set_require_embedded_token_referencegroup__rp__x509__token.html#gc36bc23dc8421df0b3adc4176e40872aRp_wss11_buildergroup__rp__wss11__builder.htmlrp_wss11_creategroup__wss11.html#g9cf425c59d0250ba2d8596645e1d192cWss10group__wss10.htmlrp_username_token_get_inclusiongroup__rp__username__token.html#g16086e2a4361e47bc2d4d607e5d98346rp_transport_binding_creategroup__rp__transport__binding.html#gb1c73ce8894f5a541ccd26f18779707erp_token_get_issuergroup__rp__token.html#g0fb38b7cbf32d94b810e87b805d09115rp_symmetric_binding_creategroup__rp__symmetric__binding.html#g3932108e21fe7c522e9486aa7c6de43arp_supporting_tokens_builder_buildgroup__rp__supporting__tokens__builder.html#gb6473e1ac63ce96fb0d73a3a3632ac37rp_supporting_tokens_freegroup__rp__supporting__tokens.html#g8bee64906fba66d7c89872db0218057arp_signed_encrypted_parts_creategroup__rp__signed__encrypted__parts.html#gc467293993a1d0aae7cb8bcac3a122d0rp_signed_encrypted_elements_get_signedelementsgroup__rp__signed__encrypted__elements.html#gd6e191ee32bf80b59fefbb917aff8ee6rp_security_context_token_get_sc10_security_context_tokengroup__rp__security__context__token.html#g0ef3ee57025b83dce046f8250bad89aerp_secpolicy_get_rampart_configgroup__rp__secpolicy.html#g6542baef244c6e5a85d25336bd8b4b0drp_secpolicy_set_signed_endorsing_supporting_tokensgroup__rp__secpolicy.html#g04ff0b7dc503061f20ba782f1211ceb6rp_rampart_config_builder_buildgroup__rp__rampart__config__builder.html#gdcd6c3cf4d962affe518a7689b88199crp_rampart_config_set_private_key_filegroup__rp__rampart__config.html#g27dcdfc2ba14719fe08f45021f6f800crp_rampart_config_creategroup__rp__rampart__config.html#g63be9a883b8eea061cf5e511829c4559Rp_layout_buildergroup__rp__layout__builder.htmlrp_trust10_set_must_support_client_challengegroup__trust10.html#ga6a2c7b12596ce17cb2ba70fea80a3cdrp_issued_token_set_inclusiongroup__trust10.html#g1ffaab9a58e03174474338eaba96beb0rp_https_token_get_inclusiongroup__rp__https__token.html#g5028baca0193128b5ec1c6f4067f00a5rp_element_set_namegroup__rp__element.html#g936267d6eb7f4bc1cf3ba43c43b03d62RP_NEED_MILLISECOND_PRECISIONgroup__rp__defines.html#g793bc7d18b1f034f5222771c9bc7e58cRP_BOOTSTRAP_POLICYgroup__rp__defines.html#g0899e5ac136ff063058b8339ee491d94RP_WSS_X509_V3_TOKEN_10group__rp__defines.html#g990b572575291a84dbb621dbe74479a2RP_INCLUDE_NEVERgroup__rp__defines.html#gd0b3a9155ee2f0cb5dfcde994b74dd09RP_SOAP_NORMALIZATION_10group__rp__defines.html#g126daff0ee5b27b538b9f9a0c4534d1fRP_KW_AES128group__rp__defines.html#gd9bfbd6774715c7e728cc9b66e5044e5RP_ALGO_SUITE_BASIC256_SHA256group__rp__defines.html#g8b9c9f3aa432b5056d7ba6e0118e76c1RP_TRANSPORT_TOKENgroup__rp__defines.html#g6452ea9ddcf08d62eae76823af269ac2RP_MUST_SUPPORT_REF_KEY_IDENTIFIERgroup__rp__defines.html#gee126a44b3947208427198cbb643b048RP_SIGNED_ELEMENTSgroup__rp__defines.html#gbb564dd1386b42d9214c086a206f95a5rp_binding_commons_set_endorsing_supporting_tokensgroup__rp__binding__commons.html#g9c489100908d869c7c620c1e3151cd06Rp_asymmetric_binding_buildergroup__rp__asymmetric__binding__builder.htmlrp_algorithmsuite_set_xpathgroup__rp__algoruthmsuite.html#g806c9c3a03f700e1077e1ad054ad46ccrp_algorithmsuite_set_max_symmetric_keylengthgroup__rp__algoruthmsuite.html#ga0bc391375ca4ae91e7938a9174567c5Neethi_assertion_buildergroup__neethi__assertion__builder.htmlaxutil_xml_quote_stringgroup__axutil__utils.html#gdeee972b9ba0969828084e2000786873AXUTIL_LOG_FILE_NAME_SIZEgroup__axutil__utils.html#g887f4f3bae78c60b9b92756e4e2507feMember AXIS2_URI_WAIS_DEFAULT_PORTgroup__axutil__uri.html#gc73c5de55dd281e5db79bcd377bbf1baMember AXIS2_URI_POP_DEFAULT_PORTgroup__axutil__uri.html#g641f01da5297ffdc17302e3a35ec5df9axutil_uri_get_protocolgroup__axutil__uri.html#g7f474fba8db7111c30a4cc5878b09b09AXIS2_URI_UNP_OMITPASSWORDgroup__axutil__uri.html#ga54bd62b2dcdf304deec6087328d9b40AXIS2_URI_GOPHER_DEFAULT_PORTgroup__axutil__uri.html#g1324185e1936eefc96758ac7b3bd1d1eMember axutil_thread_pool_initgroup__axutil__thread__pool.html#gfadbfea2d099917420634549da19444eMember axutil_threadattr_detach_setgroup__axutil__thread.html#g64df222946d03707ee4c00164d7f567aMember axutil_thread_start_tgroup__axutil__thread.html#g8b1ee6e8fa770ee290503c43c087f633axutil_thread_creategroup__axutil__thread.html#g1f4f964a275cb3274a110985c0521599Member axutil_string_tolowergroup__axutil__string__utils.html#gf407c3ed17d58602e5ff165a9d8880d6axutil_rindexgroup__axutil__string__utils.html#g14d81e52bceb20fa2df982c0e8f05de2Member axutil_string_freegroup__axutil__string.html#g940859e6f4889463780078c9845bf41fMember axutil_stream_writegroup__axutil__stream.html#g535e43c801c4c0531429c580e96846b6axutil_stream_flush_buffergroup__axutil__stream.html#g3a61760fb34a0757eb9189c12b09b548AXUTIL_STREAM_READgroup__axutil__stream.html#g1824c88043f979af6234d114dad75343Member axutil_randgroup__axutil__rand.html#g928a5beaf5c048d213b71ac49bef82b0axutil_qname_freegroup__axutil__qname.html#gb04bf5c012c622e6c4fcd244a26f934caxutil_property_tgroup__axutil__property.html#g87df976c022838ccd5427d92d69508c1propertiesgroup__axutil__properties.htmlMember axutil_param_set_valuegroup__axutil__param.html#g34fd69866c83a371ecc43be5e1c8627eaxutil_param_set_attributesgroup__axutil__param.html#gf66ab2cb02174f4220e322ebd2ea0ca9Member axutil_network_handler_set_sock_optiongroup__axutil__network__handler.html#gf4d2e959b57c810c811414775d406268axutil_network_handler_open_socketgroup__axutil__network__handler.html#g3bc07fd4dddb1427de1cfe28e5e1e09bMember AXIS2_LOG_LEVEL_TRACEgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06d2d474b93f843a054c6025515cef68aeaaxutil_log_impl_log_usergroup__axutil__log.html#g3328fbc44be82f945fc6e6b93edbb7adAXIS2_LOG_TRACEgroup__axutil__log.html#gc9dec581c7dfadcc1f0f0cae1a322729Member axutil_linked_list_remove_entrygroup__axutil__linked__list.html#ge16515ceea10d7cc07f34eb9e1a5d37aMember axutil_linked_list_addgroup__axutil__linked__list.html#g0084179ae23ffb3b65f0345933aaacf3axutil_linked_list_add_firstgroup__axutil__linked__list.html#g8b4efcdc1364da7880fb40603f4925d8Member axutil_http_chunked_stream_freegroup__axutil__http__chunked__stream.html#gad093be0fb9f42e204234812c6bbcb34Member axutil_hash_overlaygroup__axutil__hash.html#g868c52ba2d5ffc3aae86b68f5fc772a7axutil_hash_free_void_arggroup__axutil__hash.html#g8eb012f8273cfcda84f562dc31385270axutil_hash_tgroup__axutil__hash.html#gb2d7d14db2de92a101573f44421ac12aaxutil_file_handler_accessgroup__axutil__file__handler.html#g7180e54d81c91e00f030a6b6b5e49b2eMember axutil_error_set_error_numbergroup__axutil__error.html#g46da3d930c143544e58b130b2ebbbb4baxutil_error_tgroup__axutil__error.html#gd3e0dd837fed2e7c5a7ba30d21846cf4Member axutil_env_check_statusgroup__axutil__env.html#g14eb39c983da990a3cdc5d2505a3ab31AXIS_ENV_FREE_LOGgroup__axutil__env.html#g447fa899e815a5ead66d7d11b3ec9b64axutil_duration_get_yearsgroup__axutil__duration.html#g2df7b6b1ae42261b263d452b0334b21eaxutil_dll_desc_set_error_codegroup__axutil__dll__desc.html#g32a06443a34fd82447693462b9680cd6axis2_dll_type_tgroup__axutil__dll__desc.html#g2c6f23712321f74b61db17aa70ecb1b3axutil_digest_hash_tgroup__axutil__digest__calc.html#g7b12cc8df6ad3991f6f9de2e283e1c70Member axutil_date_time_get_monthgroup__axutil__date__time.html#ga444d7cd64986d34e38f60f2e30aa67daxutil_date_time_get_time_zone_minutegroup__axutil__date__time.html#gde0f3aaf4e099d4f3c610367d742b987axutil_date_time_deserialize_date_timegroup__axutil__date__time.html#g90dabd89b0fd6ecf8ea512d748276e25Member axutil_base64_binary_get_decoded_binary_lengroup__axutil__base64__binary.html#g034abbbb58b90573b08d649d3c8939a4encoding holdergroup__axutil__base64__binary.htmlGroup array listgroup__axutil__array__list.htmlarray listgroup__axutil__array__list.htmlMember axis2_transport_sender_tgroup__axis2__transport__sender.html#gaec2671b224403aa77de843348bb7711Member axis2_transport_receiver_is_runninggroup__axis2__transport__receiver.html#g22a8d2cdd593d7966ec853042b6542betransport receivergroup__axis2__transport__receiver.htmlMember axis2_transport_out_desc_freegroup__axis2__transport__out__desc.html#g17a66a405da41dd82b2dc42b730179eaaxis2_transport_out_desc_get_fault_out_flowgroup__axis2__transport__out__desc.html#g36e3acc53b29852e92ad318de26ac385Member axis2_transport_in_desc_get_paramgroup__axis2__transport__in__desc.html#g1985a26ee0e62392581b1a0092afae5faxis2_transport_in_desc_set_fault_phasegroup__axis2__transport__in__desc.html#gdf835498b897a9987af59160c09d10e7Member axutil_thread_mutex_trylockgroup__axis2__mutex.html#ga050c6ecf8209ba57ea8ec79330632bbthread mutex routinesgroup__axis2__mutex.htmlMember AXIS2_SVC_SKELETON_INITgroup__axis2__svc__skeleton.html#g65d05f1f29f563149acfba91f3a23a91Member axis2_svc_name_creategroup__axis2__svc__name.html#gd9c5d80b2a677f7d60e7ab28476110fbMember axis2_svc_grp_ctx_get_idgroup__axis2__svc__grp__ctx.html#g5706c6b6c2d6ad360b0fcae17e66e521axis2_svc_grp_ctx_creategroup__axis2__svc__grp__ctx.html#ge0d00b9b416c6d13673844dae01c7dd1Member axis2_svc_grp_freegroup__axis2__svc__grp.html#gd9a82fef7fbe4a5a307833c04add09cdaxis2_svc_grp_get_all_module_qnamesgroup__axis2__svc__grp.html#g16877756d60ea286f08b8be863bae9e6service groupgroup__axis2__svc__grp.htmlaxis2_svc_ctx_get_svcgroup__axis2__svc__ctx.html#g3c50b06c933101a834e178e6e9305237Member axis2_svc_client_send_robust_with_op_qnamegroup__axis2__svc__client.html#g42a973429ce779dc574052bb6a8b1849Member axis2_svc_client_get_http_status_codegroup__axis2__svc__client.html#geb637da8be4b1005dc722694311d058baxis2_svc_client_get_http_status_codegroup__axis2__svc__client.html#geb637da8be4b1005dc722694311d058baxis2_svc_client_get_target_endpoint_refgroup__axis2__svc__client.html#gf7576c7c16ad4859bbf04f771d03cc3eaxis2_svc_client_set_override_optionsgroup__axis2__svc__client.html#g59e0659abbb66ae2100a66e93d692462Member axis2_svc_set_namegroup__axis2__svc.html#gc04e374dc9571b5726b88bfd2e68e702Member axis2_svc_get_op_with_qnamegroup__axis2__svc.html#g3c994b6da8e2a6adeb9e61771718366cMember axis2_svc_add_paramgroup__axis2__svc.html#gc48a028c9452d77839752c8d9c3adbd1axis2_svc_set_target_ns_prefixgroup__axis2__svc.html#g860eb0e255e66356581304f9cfc772a9axis2_svc_set_last_updategroup__axis2__svc.html#g8f763e28256c43eebf4e371ff61afb1eaxis2_svc_get_parentgroup__axis2__svc.html#g1469032ca1c58b9eb5b120e7fe9a9ad1Member axis2_stub_get_optionsgroup__axis2__stub.html#ge0caef65d517bbde1018db927bbf2e27axis2_stub_set_endpoint_urigroup__axis2__stub.html#g175f162d0a5a7901f49f882bde4105eeaxis2_rm_assertion_get_invoker_sleep_timegroup__axis2__rm__assertion.html#g1507add7c51f1d15440c49909580afe1axis2_rm_assertion_set_is_inordergroup__axis2__rm__assertion.html#ge26f144f0185247b115af227185054deMember axis2_relates_to_set_relationship_typegroup__axis2__relates__to.html#g964c1e6a4cd9029fade0c95209b46166raw XML in-out message receivergroup__axis2__raw__xml__in__out__msg__recv.htmlaxis2_policy_include_set_effective_policygroup__axis2__policy__include.html#ge60afd09f21dd190afc42dd5e10980b3Member axis2_phases_info_get_op_out_phasesgroup__axis2__phases__info.html#g04efe888d0f162730818d214fd52a6d2axis2_phases_info_get_out_faultphasesgroup__axis2__phases__info.html#g4b9a7e11304a10d497ed8f22cd2f590fMember axis2_phase_rule_is_firstgroup__axis2__phase__rule.html#g07d9af90e9929dfad686b7f3494912adaxis2_phase_rule_get_namegroup__axis2__phase__rule.html#g609ef9a04aebdd2af772f78cef7ce26dMember axis2_phase_resolver_build_execution_chains_for_svcgroup__axis2__phase__resolver.html#g2d199ef8c0cf2c6f0477a0b7f3008798phase resolvergroup__axis2__phase__resolver.htmlphase meta datagroup__axis2__phase__meta.htmlaxis2_phase_holder_is_phase_existgroup__axis2__phase__holder.html#g353f89d7a5800ff39a464244540535a3Member axis2_phase_freegroup__axis2__phase.html#g0a45133876a1cec57dc49bcd1720dc76axis2_phase_insert_before_and_aftergroup__axis2__phase.html#g29a679a896554e2527612d146532ebcdAXIS2_PHASE_BOTH_BEFORE_AFTERgroup__axis2__phase.html#ge1f25ec22e7fe0eb476632ddd03df7e9Member axis2_options_set_transport_infogroup__axis2__options.html#ga80d984e3d86b89084d9aefd0da22196Member axis2_options_set_msg_info_headersgroup__axis2__options.html#g85559daaff1957e799f5ff93c8f5c805Member axis2_options_get_togroup__axis2__options.html#gd01536ebcfafaa661a44f5049650a9e8Member axis2_options_get_actiongroup__axis2__options.html#g678ae601586531dca4425014f09cd9caaxis2_options_set_test_http_authgroup__axis2__options.html#g08d3a84142e28bf18609aa127f5e43daaxis2_options_set_transport_infogroup__axis2__options.html#ga80d984e3d86b89084d9aefd0da22196axis2_options_set_parentgroup__axis2__options.html#g787038bb34b488493d73fbfe1af919ffaxis2_options_get_fault_togroup__axis2__options.html#g283b491d25be268924fdfb3410003cceMember axis2_op_ctx_get_msg_ctx_mapgroup__axis2__op__ctx.html#g58997985678d28231a97a605967467bcaxis2_op_ctx_get_msg_ctx_mapgroup__axis2__op__ctx.html#g58997985678d28231a97a605967467bcMember axis2_op_client_set_soap_version_urigroup__axis2__op__client.html#g29eb95e1d34ec16811f0e002e02e2c34Member axis2_op_client_freegroup__axis2__op__client.html#g3f2aaeed111dbfc0bb5074d6384de49aaxis2_op_client_engage_modulegroup__axis2__op__client.html#g29f69ee655f82cefb0f12dd2a964e844axis2_op_client_add_msg_ctxgroup__axis2__op__client.html#gc4c291b473d3aa4bcc19308018521347Member axis2_op_set_fault_in_flowgroup__axis2__op.html#gd86a41350164282a15b96ed5e4d95303Member axis2_op_get_fault_in_flowgroup__axis2__op.html#g1293a6929137fe7d795790141ec0d3d1Member axis2_op_add_module_qnamegroup__axis2__op.html#ga4dc08740074220306e97ace2e94b4d9axis2_op_get_all_module_qnamesgroup__axis2__op.html#ge7b0cabe5e54eda2d24590d72bc61638axis2_op_set_msg_recvgroup__axis2__op.html#g4d6dc17290afa1d5ed5e00d9c2311bcfaxis2_op_creategroup__axis2__op.html#g363737401304df2a665f0bbda92e3df3axis2_msg_recv_set_load_and_init_svcgroup__axis2__msg__recv.html#g4fde87faee6913c5852a3866b877f22fmessage receivergroup__axis2__msg__recv.htmlMember axis2_msg_info_headers_get_reply_togroup__axis2__msg__info__headers.html#g98b339f94e7b186fb4eaed76116e8dc0axis2_msg_info_headers_set_relates_togroup__axis2__msg__info__headers.html#g26b2b3881cbf3f3f02f1c512c96485ffaxis2_msg_info_headers_set_reply_togroup__axis2__msg__info__headers.html#g3de0c94851f356772629aa5851290f2fMember axis2_msg_ctx_set_togroup__axis2__msg__ctx.html#ge1f6c9f77e01f1e59ce285de19d958a6Member axis2_msg_ctx_set_propertygroup__axis2__msg__ctx.html#gdd7cf73dd9e04efe08b461854807b698Member axis2_msg_ctx_set_is_soap_11group__axis2__msg__ctx.html#gf29b11075b84a7f2ede4f47da724f6a9Member axis2_msg_ctx_set_current_handler_indexgroup__axis2__msg__ctx.html#g74993b805993c85cb0c9d104da6a6f7fMember axis2_msg_ctx_get_transport_in_descgroup__axis2__msg__ctx.html#gd45ce053de9a2aeb9fc0d5d103f7c73aMember axis2_msg_ctx_get_required_auth_is_httpgroup__axis2__msg__ctx.html#g6b79cdeb28ab6632c0d4d3300b4ca478Member axis2_msg_ctx_get_opgroup__axis2__msg__ctx.html#gef54001c6a3b344e85f672113f636e09Member axis2_msg_ctx_get_execution_chaingroup__axis2__msg__ctx.html#gc944c499d0c5680080b4a87f5e312746Member axis2_msg_ctx_extract_http_accept_record_listgroup__axis2__msg__ctx.html#gadaa4476daadd7ae65a0c58e06989eedMember AXIS2_CHARACTER_SET_ENCODINGgroup__axis2__msg__ctx.html#g7c5ab0e072df1c661f2e547ac7185d1faxis2_msg_ctx_get_transport_urlgroup__axis2__msg__ctx.html#g62bab01718be9813dc0f5abc847df09caxis2_msg_ctx_reset_out_transport_infogroup__axis2__msg__ctx.html#ga340eaf8ff86f9bc8324f9e082f8dfbeaxis2_msg_ctx_set_execution_chaingroup__axis2__msg__ctx.html#g5e62146dab073f13160aa411a6db4a70axis2_msg_ctx_get_svcgroup__axis2__msg__ctx.html#gc8c3e9a503359dd12bf940580e659de3axis2_msg_ctx_set_paused_phase_namegroup__axis2__msg__ctx.html#g2a5e8c445ee014883e7663b2c0754435axis2_msg_ctx_set_output_writtengroup__axis2__msg__ctx.html#gfd23fcda1919b4f2d1cf361c53ab70cdaxis2_msg_ctx_set_new_thread_requiredgroup__axis2__msg__ctx.html#ga93cc6c40d67fed5df3f6891bce068a1axis2_msg_ctx_get_relates_togroup__axis2__msg__ctx.html#gc3000334e5eaaaef9bb6f6cc610e463bAXIS2_MSG_CTX_FIND_SVCgroup__axis2__msg__ctx.html#g9949f405b8bfac0ee5015d67d3ee949cMember axis2_msg_set_element_qnamegroup__axis2__msg.html#g7fd20aa2eb6b5f479e7ca67e05b13bfdMember AXIS2_MSG_OUT_FAULTgroup__axis2__msg.html#g3786b0350a135a0e12915b6e77d6fedfaxis2_msg_set_parentgroup__axis2__msg.html#g7701b38d18f59fb09f37e9e974bfc3d0Member axis2_module_desc_set_in_flowgroup__axis2__module__desc.html#g1dee42234c84e9a1f39829b03abd75efMember axis2_module_desc_freegroup__axis2__module__desc.html#gc448952574bfefeaa624d2d3e053cf89axis2_module_desc_add_paramgroup__axis2__module__desc.html#g47de5f2a697c6994862579db03050d92module descriptiongroup__axis2__module__desc.htmlMember axis2_listener_manager_get_reply_to_eprgroup__axis2__listener__manager.html#g98741fbe3a3e68a7a631960c2387b0eaMember axis2_http_worker_creategroup__axis2__http__worker.html#g33e98090d4482c2804d2e37487bc603fMember AXIS2_SSL_KEY_FILEgroup__axis2__core__transport__http.html#g94d94d1232b01bcabaef1f667473edeaMember AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VALgroup__axis2__core__transport__http.html#gdb4f4a6aae3a4eb49ad854cbe74c2907Member AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VALgroup__axis2__core__transport__http.html#gf141ddaba1e16e4c4fbd838960d3240cMember AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VALgroup__axis2__core__transport__http.html#gc1df017dad307a4033f4608248c3f800Member AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAMEgroup__axis2__core__transport__http.html#g7e7864571bcfffa1a9ebe3e5ceaa86e1Member AXIS2_HTTP_ISO_8859_1group__axis2__core__transport__http.html#g078597f6a580ea6779acb5fc2a0e710aMember AXIS2_HTTP_HEADER_HOSTgroup__axis2__core__transport__http.html#gb29c7a0712193dafd41466407477ecd4Member AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHEgroup__axis2__core__transport__http.html#g0d6c4dc77116af03a5f48f4cabcf88faMember AXIS2_HTTP_HEADER_ACCEPTgroup__axis2__core__transport__http.html#ga3e5a00646dddcfaaf1b4d0c93f08179Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSEgroup__axis2__core__transport__http.html#g6c79ce1be4f9393feb8dc59b6d19240fMember AXIS2_HTTP_AUTH_TYPE_BASICgroup__axis2__core__transport__http.html#g60a2d4490ccbe3d41fe0b360eb23249fAXIS2_COMMA_SPACE_STRgroup__axis2__core__transport__http.html#g74a95d65774d9fc0de9a4ca1fd312038AXIS2_HTTP_PROTOCOLgroup__axis2__core__transport__http.html#gf0717d5ce9977b59c166201f044f9d94AXIS2_USER_AGENTgroup__axis2__core__transport__http.html#gfd6ccaa83b2174800b8765ff03d6e180AXIS2_SSL_PASSPHRASEgroup__axis2__core__transport__http.html#g3aa5ed9cba9bf2b271840d166af26ecfAXIS2_HTTP_PROXYgroup__axis2__core__transport__http.html#g4c55c519f73b103d735efd65fd37afa4AXIS2_HTTP_HEADER_COOKIE2group__axis2__core__transport__http.html#gda0d7c2e809f2f097ceff31ff8b10ec3AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVEgroup__axis2__core__transport__http.html#g515e805051b55426384443adb07d3d65AXIS2_HTTP_HEADER_USER_AGENTgroup__axis2__core__transport__http.html#g9a53efe4ae38bebf9b989bfd3f7f9a38AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALEgroup__axis2__core__transport__http.html#g1d99c497c91ad606814e4b269249211aAXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARYgroup__axis2__core__transport__http.html#g36f29985a9ef2063dc91fe05e5bf852cAXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAMEgroup__axis2__core__transport__http.html#g808033fa9da88f8bb8d3c5dbc51c3781AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAMEgroup__axis2__core__transport__http.html#gcb15963d6652a8e59bd9a17a543c28b0AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VALgroup__axis2__core__transport__http.html#g7b9c687eeed13167d8c1fccb2bee67b2AXIS2_HTTP_RESPONSE_CREATED_CODE_VALgroup__axis2__core__transport__http.html#g72f77484996139fcbaedb09f0b4e0e03axutil_url_set_portgroup__axis2__core__transport__http.html#gd501b4d46e8e72cf5aef32c666f0848fMember axis2_http_svr_thread_is_runninggroup__axis2__http__svr__thread.html#gf5fb6670fb1523a14af93a19f461a934Member axis2_http_status_line_get_status_codegroup__axis2__http__status__line.html#g1520ba9334144bcf3debdff777909e30Member axis2_http_simple_response_set_headersgroup__axis2__http__simple__response.html#g4cecca560f501e28c11f0697a5ca1b42Member axis2_http_simple_response_extract_headersgroup__axis2__http__simple__response.html#g4c84cd1eb2d04211699a348817f0fb3caxis2_http_simple_response_get_content_typegroup__axis2__http__simple__response.html#g539ffae585e4a8a47e1d8cd4c870c897Member axis2_http_simple_request_set_request_linegroup__axis2__http__simple__request.html#gb86fa24c5e3e0a99591bf8b3cb48dd20axis2_http_simple_request_freegroup__axis2__http__simple__request.html#gaeb4abc4abfbf9b5789b986c1bf47d48axis2_http_server_create_with_filegroup__axis2__http__server.html#g40e650395889aa755f454ecb9c69d7d1axis2_http_response_writer_creategroup__axis2__http__response__writer.html#g115bd88c5873671ae1d9254c3d76fd62Member axis2_http_request_line_get_http_versiongroup__axis2__http__request__line.html#g104a1455c97d7a340e9690c8964abcd0Member axis2_http_out_transport_info_creategroup__axis2__http__out__transport__info.html#gdabad3886ddb36d456a502e6e257ad88AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEgroup__axis2__http__out__transport__info.html#gc65a46f52b077ea5b9355094f93db1d2http headergroup__axis2__http__header.htmlMember axis2_http_client_tgroup__axis2__http__client.html#gdeeb1e1752239a9e3696e1aa75fe331daxis2_http_client_set_proxygroup__axis2__http__client.html#gbbfff130bda80cf00cb020a08d92e900axis2_http_accept_record_creategroup__axis2__http__accept__record.html#g45d98a462f88abf99d5a80f28ae3062dMember axis2_handler_desc_get_paramgroup__axis2__handler__desc.html#g8123741b6af07768a2259a2d15102e13axis2_handler_desc_set_handlergroup__axis2__handler__desc.html#gba47ad772ed9b1efa3b1ac2a66d1a2cdMember axis2_handler_freegroup__axis2__handler.html#g1e0beec4adf09b9326565095bec4691aaxis2_handler_tgroup__axis2__handler.html#g62e76f39f224fb84e98b6b77fdf4655caxis2_flow_container_set_fault_in_flowgroup__axis2__flow__container.html#g361c90729eeb72306ef10b06ba41931daxis2_flow_free_void_arggroup__axis2__flow.html#g42ad166a913ea806e83ad0f60ac49d73Member axis2_endpoint_ref_get_extension_listgroup__axis2__endpoint__ref.html#gb68c9bf3c7b34f5f7b5f2228de5e9a2eaxis2_endpoint_ref_add_ref_attributegroup__axis2__endpoint__ref.html#g354234bb6da2cdecae159fa2045c904aMember axis2_soap_action_disp_creategroup__axis2__disp.html#g7ce7cd65ca6b36076181dad1f6560bceaxis2_disp_creategroup__axis2__disp.html#g65066d9785fb1f3dbeeef3e4b478fccdMember AXIS2_MESSAGE_RECEIVER_KEYgroup__axis2__desc__constants.html#g76dbd7e6c256011caeed55fb259b4123AXIS2_MESSAGE_RECEIVER_KEYgroup__axis2__desc__constants.html#g76dbd7e6c256011caeed55fb259b4123Member axis2_desc_get_childgroup__axis2__description.html#g55e705da0e6458ad6dd435087052b266axis2_desc_is_param_lockedgroup__axis2__description.html#gdbc1f8ca75485da47fb76f148e794336axis2_ctx_set_property_mapgroup__axis2__ctx.html#gd1452d5b24ddbb87565e8b297f7e7fdcaxis2_core_utils_get_module_qnamegroup__axis2__core__utils.html#g3accb1fba68acd2869789028e12004d4axis2_build_conf_ctxgroup__axis2__conf__init.html#g5094fdc635f36e4ed3cc935dbccf7354Member axis2_conf_ctx_get_confgroup__axis2__conf__ctx.html#g118ac5ba83bb6ba1d8c054513d960d08axis2_conf_ctx_register_svc_ctxgroup__axis2__conf__ctx.html#g2e9f3ef21b1f3e781232f2835058154aMember axis2_conf_set_dispatch_phasegroup__axis2__config.html#g131077965ba3a728525239560327a9e5Member axis2_conf_get_msg_recvgroup__axis2__config.html#g569170784a8f375728854f94d035509dMember axis2_conf_get_all_faulty_modulesgroup__axis2__config.html#g12b5a698718da795312b3e09fdeac1c4axis2_conf_get_basegroup__axis2__config.html#gdcada32afcb07e8386d0eae0e7f75c72axis2_conf_set_axis2_xmlgroup__axis2__config.html#g9752b59114c2e54f0df629ffe9c27657axis2_conf_get_all_svcs_to_loadgroup__axis2__config.html#g4e60a26bae6ab18adf601fc3dc0ccd6daxis2_conf_get_all_paramsgroup__axis2__config.html#g2cf688584fa948c9ffaf8e5b9b7747e4Member axis2_engine_receive_faultgroup__axis2__engine.html#gc42896a93f7288df6e7a10ceb9e31e31axis2_engine_invoke_phasesgroup__axis2__engine.html#g95c41e8b17352fcd0df40a1af8952e28Member axis2_callback_invoke_on_completegroup__axis2__callback.html#g3cec591f0caffc39e747b02ba29060baaxis2_callback_set_errorgroup__axis2__callback.html#ge07a62751c3bdbbab934632926e2eb5cGroup async resultgroup__axis2__async__result.htmlaxis2_any_content_type_add_valuegroup__axis2__any__content__type.html#gcd40c74289137bd053e5f39787469d7eMember EPR_PORT_TYPEgroup__axis2__addr__consts.html#g08e974b9cc0517032404490c7e4a4c24Member AXIS2_WSA_NONE_URL_SUBMISSIONgroup__axis2__addr__consts.html#g4436004b04180b21593a423576b60ef9AXIS2_WSA_PREFIX_MESSAGE_IDgroup__axis2__addr__consts.html#g02319f4c933bec23d60e64376ef6c926AXIS2_WSA_ANONYMOUS_URL_SUBMISSIONgroup__axis2__addr__consts.html#g2fd3980a63df468bac1580dd249639dbAXIS2_WSA_MESSAGE_IDgroup__axis2__addr__consts.html#g36bf0a69968793ca68ca864fb1537df6Member axiom_xpath_cast_node_to_stringgroup__axiom__xpath__api.html#g326af499dbf89b48595f9f8464472488axiom_xpath_get_namespacegroup__axiom__xpath__api.html#g81ba6657a1992f1b45a0930f7a413b68AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTEDgroup__axiom__xpath__api.html#g4a95eb72761a50fd76c58f61040dd703Member axiom_xml_writer_write_encodedgroup__axiom__xml__writer.html#g4af81c3bec86f454b46fe927341fd5c1Member axiom_xml_writer_get_prefixgroup__axiom__xml__writer.html#gecd8543be052df94f2d0767da3126240axiom_xml_writer_write_start_document_with_versiongroup__axiom__xml__writer.html#g41c370608ae8441c2601a5edc7addf2baxiom_xml_writer_write_empty_elementgroup__axiom__xml__writer.html#gf69e17121911506e5e1aff50f35d6e42Member axiom_xml_reader_get_namespace_uri_by_numbergroup__axiom__xml__reader.html#g5e0eb27b0a37e723592881e5a35e0bb2axiom_xml_reader_get_namespace_uri_by_prefixgroup__axiom__xml__reader.html#g19fa07ce807e4e7b7442b46ccac57120axiom_xml_reader_get_attribute_countgroup__axiom__xml__reader.html#gae564cf8501da5b814ff04c2ff193c72Member axiom_text_get_value_strgroup__axiom__text.html#gd311692e5f2cf142803f4f5c48de0745axiom_text_set_value_strgroup__axiom__text.html#g345a35e52d57a4626006d527ba1e7b63Member axiom_stax_builder_creategroup__axiom__stax__builder.html#gaa043427387b30005fbbf90f0c96cff0Member axiom_soap_header_block_get_soap_versiongroup__axiom__soap__header__block.html#gee5697cf3757399514eec4d2253b323eaxiom_soap_header_block_set_rolegroup__axiom__soap__header__block.html#g070c1dfff7559b2a6671cb560827767caxiom_soap_header_get_base_nodegroup__axiom__soap__header.html#g91bacc73f64c81dbb156c1159083fa7aaxiom_soap_fault_value_get_textgroup__axiom__soap__fault__value.html#g6cdb2c327cffc7d0d3c2ca6660e715eeaxiom_soap_fault_text_freegroup__axiom__soap__fault__text.html#g67e470106dd5af9d1e93b349438d966aMember axiom_soap_fault_role_get_role_valuegroup__axiom__soap__fault__role.html#gdb8ca065a0f02b9bb7c508c013e6d04aaxiom_soap_fault_reason_get_base_nodegroup__axiom__soap__fault__reason.html#gbcb9c1530fc5e98650663b07d0be4ddcaxiom_soap_fault_node_create_with_parentgroup__axiom__soap__fault__node.html#gba7df4c62d60b0dcee65c5cc9fa9482aMember axiom_soap_fault_code_create_with_parent_valuegroup__axiom__soap__fault__code.html#ge71666a1e807569863113eafee61e10bMember axiom_soap_fault_freegroup__axiom__soap__fault.html#g42e25abd4f06fe253fcb286cde0b2cb8Member axiom_soap_envelope_set_soap_versiongroup__axiom__soap__envelope.html#g2d58cc830b1e909c68424349746e93a8axiom_soap_envelope_get_namespacegroup__axiom__soap__envelope.html#ga357f2d36fb2912f9c6bc258a6cb8c0dMember axiom_soap_builder_set_callback_ctxgroup__axiom__soap__builder.html#gc031d875440a4006012395dd0de317d0axiom_soap_builder_get_mime_body_partsgroup__axiom__soap__builder.html#g41b1ec4410e05ade94e2cde9397a616dMember axiom_soap_body_get_base_nodegroup__axiom__soap__body.html#g9bbf0f7a4ecab44106145d9b97f07dfcMember axiom_processing_instruction_set_valuegroup__axiom__processing__instruction.html#gad6d1e6dc317ee2af133e3ee19ad8d19Member axiom_output_writegroup__axiom__output.html#g6a95085f778c45224c1aaa87623acfbbaxiom_output_get_mime_partsgroup__axiom__output.html#g934e50adc3fd6bf118987a29ddd8e73daxiom_output_is_soap11group__axiom__output.html#g7b025e102e45a08c122dcbc04ff2b273Member axiom_node_get_parentgroup__axiom__node.html#g95cc9c4355bfab75e03ad61014b72075Member AXIOM_ATTRIBUTEgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab58d53d51f1f6b2c316e3566b2c7ba6b2axiom_node_get_first_elementgroup__axiom__node.html#g2c569263c409668ff1b653aeb7712bb5Member axiom_navigator_is_navigablegroup__axiom__navigator.html#g2d8801b3e5d9046ce1db9e564c62b28aMember axiom_namespace_get_urigroup__axiom__namespace.html#g1d4201b66b3b7a312aefd73ae16c73b3axiom_namespace_serializegroup__axiom__namespace.html#g17c3ae13c50d93823cde2a237e84afa5axiom_mtom_caching_callback_tgroup__caching__callback.html#g118942e9e22791ec1c8217d68de51f11axiom_mime_parser_get_mime_boundarygroup__axiom__mime__parser.html#g08f37696836e054ba7fef00f7bf1a401Member axiom_element_set_namespace_with_no_find_in_current_scopegroup__axiom__element.html#g7681fce86bf29f713d1444d9cfacf83dMember axiom_element_get_first_elementgroup__axiom__element.html#g83dd3135f56980148c1a5c25fbc2e231Member axiom_element_declare_namespacegroup__axiom__element.html#gb45f118ce5531c486879b1bf7c1f1cffaxiom_element_set_namespace_with_no_find_in_current_scopegroup__axiom__element.html#g7681fce86bf29f713d1444d9cfacf83daxiom_element_set_namespace_assume_param_ownershipgroup__axiom__element.html#g5d69b8b24799663e5dc0252877b11145axiom_element_creategroup__axiom__element.html#g5f39a92b374c459df18a43bd8946ca0baxiom_document_get_root_elementgroup__axiom__document.html#ge81610bc3a9b0124ad91f502c3b36f7daxiom_doctype_tgroup__axiom__doctype.html#g989bc6cdb5a69100c2a937b4d86d2b90Member axiom_data_handler_set_cachedgroup__axiom__data__handler.html#gc6da7f863c5e580fc47dcf6a380f4d57axiom_data_handler_creategroup__axiom__data__handler.html#gf1a1862c29144a3234025b1218a83c97Member axiom_comment_freegroup__axiom__comment.html#g9635ad8ab4986d9ed2411937363b4427axiom_children_with_specific_attribute_iterator_removegroup__axiom__children__with__specific__attribute__iterator.html#g5a6f6f5c3e00b9bc512ee30d8e452413Member axiom_children_iterator_resetgroup__axiom__children__iterator.html#g0a84a4adc451ea9428f38bef04a8f0afMember axiom_child_element_iterator_creategroup__axiom__child__element__iterator.html#g22b11e124caa715ecf3d31fb58991154Member axiom_attribute_increment_refgroup__axiom__attribute.html#g4e9157492474b5a0e828935b606f943eaxiom_attribute_increment_refgroup__axiom__attribute.html#g4e9157492474b5a0e828935b606f943erp_includes.hrp__includes_8h.htmlneethi_reference.hneethi__reference_8h.htmlneethi_policy_get_exactlyoneneethi__policy_8h.html#410913673d36862bb4102b91f3baffcdneethi_operator_createneethi__operator_8h.html#232e5b68fc85376fcd3744a7eca30b99Member neethi_engine_get_policyneethi__engine_8h.html#4b9e5806331f8f5c77c5f4c04990d32dAXIS2_RM_SANDESHA2_DBneethi__constants_8h.html#2bc27163caa3bd17a190098f8690ca0cAXIS2_OPTIMIZED_MIME_SERIALIZATIONneethi__constants_8h.html#5f1b00a91276b63d59f00221f2d4b8d2neethi_assertion_set_nodeneethi__assertion_8h.html#1527aaa1ddc78fe384d5d612215decffneethi_assertion.h File Referenceneethi__assertion_8h.htmlaxutil_parse_rest_url_for_paramsgroup__axutil__utils.html#g45760bfc8d8cf44f072c3a3fff0656dbaxutil_utils.h File Referenceaxutil__utils_8h.htmlaxutil_url_to_urigroup__axis2__core__transport__http.html#g9ada03eda8fce058ea92a4672ba331c8axutil_uri_parse_relativegroup__axutil__uri.html#gb1f06713caf077056cf82e14dddb3f6bAXIS2_URI_SIP_DEFAULT_PORTgroup__axutil__uri.html#g00c5165abdd8e1e3dc4e649dc91a7d14AXIS2_URI_FTP_DEFAULT_PORTgroup__axutil__uri.html#g890a29bb1a4b69ad44210eb56093ef9daxutil_thread_mutex_unlockgroup__axutil__thread.html#gd275462277abb24342d1b69967ba79b4axutil_thread_once_tgroup__axutil__thread.html#g62e2f1428e742cdfad365b22fc2c271baxutil_stack.haxutil__stack_8h.htmlaxutil_qname_creategroup__axutil__qname.html#gf2494bb225ee6ca4fd80641e5c8f30b5axutil_param_set_value_freegroup__axutil__param.html#geb59cb596b796b3e47a31cb8f2b4e9baaxutil_param_tgroup__axutil__param.html#g981b70a687a717bd789af2bf554d47a3axutil_linked_list_last_index_ofgroup__axutil__linked__list.html#g9613b65e8b1f91c6a7ed5c3e2befa312axutil_linked_list_check_bounds_exclusivegroup__axutil__linked__list.html#g7f24198b995b898be3265a181b3c8457axutil_http_chunked_stream_readgroup__axutil__http__chunked__stream.html#g5757665e6c5f81846dde7f69fa0a5413axutil_hash_setgroup__axutil__hash.html#gdd1a3888b91267e2fc5f84293ec56002axutil_env_create_with_error_log_thread_poolgroup__axutil__env.html#g354311dd06dcbb5cb4e2d6ec2532e8a6axutil_dll_desc_set_error_codegroup__axutil__dll__desc.html#g32a06443a34fd82447693462b9680cd6axis2_dll_type_tgroup__axutil__dll__desc.html#g2c6f23712321f74b61db17aa70ecb1b3axutil_date_time_serialize_time_with_time_zonegroup__axutil__date__time.html#ga3f3216bc29d2824896ac920e27a4c27axutil_date_time_get_yeargroup__axutil__date__time.html#g0004b9c5cc5e1a1a5b3e3f517a7fcde5axutil_class_loader_delete_dllgroup__axutil__class__loader.html#gaf81678d312760355aff410b14736d3aaxutil_base64_binary.h File Referenceaxutil__base64__binary_8h.htmlaxutil_array_list_tgroup__axutil__array__list.html#g1a6a89777db876cfa0cc86787b7be6a0axis2_transport_sender_ops_tgroup__axis2__transport__sender.html#ga6fa9ad0eb8d6d93e6549a0517d8ac73axis2_transport_receiver_tgroup__axis2__transport__receiver.html#gc3080d6ec44ab99a8d64ba4b5196daebaxis2_transport_out_desc_set_out_flowgroup__axis2__transport__out__desc.html#ga6d6933bd2681ae8f703e6081b63ef64axis2_transport_in_desc_get_in_phasegroup__axis2__transport__in__desc.html#g49f9ae8aed490c7d9e23ace6ffea2570axis2_svr_callback_handle_resultgroup__axis2__svr__callback.html#gd89712afed2d93a2852d75ce7927b461axis2_svc_name_get_endpoint_namegroup__axis2__svc__name.html#g0dcc0f40f026a534ec485569f049b702axis2_svc_grp_ctx_creategroup__axis2__svc__grp__ctx.html#ge0d00b9b416c6d13673844dae01c7dd1axis2_svc_grp_get_all_paramsgroup__axis2__svc__grp.html#g31ba41e7e89d0443c5fb9eda62f627c7axis2_svc_ctx_get_svc_idgroup__axis2__svc__ctx.html#ge6b5b3dec329ae2a97080f4a02d8874baxis2_svc_client_get_last_response_has_faultgroup__axis2__svc__client.html#ge0c17bd903894f28245d22e996c54dbdaxis2_svc_client_send_receive_with_op_qnamegroup__axis2__svc__client.html#g6e0d00d836295f92e14473d3cf3bf78baxis2_svc.haxis2__svc_8h.htmlaxis2_svc_add_rest_mappinggroup__axis2__svc.html#g4a9c6e0b84fff520b00f2bfd182e0e87axis2_svc_add_module_opsgroup__axis2__svc.html#g0a974ad2f1876c560ebe6ef3ce9cea40axis2_svc_get_op_with_qnamegroup__axis2__svc.html#g3c994b6da8e2a6adeb9e61771718366caxis2_stub_tgroup__axis2__stub.html#g8ffbf8bf99ffec0caa07cf7aacf17281Member axis2_simple_http_svr_conn_closeaxis2__simple__http__svr__conn_8h.html#8e73143cc65dc21245af0fd6135be2adaxis2_simple_http_svr_conn.haxis2__simple__http__svr__conn_8h.htmlaxis2_phase_rule_set_firstgroup__axis2__phase__rule.html#ge2de00428e8ec57f9008d1180b0eac53axis2_phase_resolver_build_execution_chains_for_module_opgroup__axis2__phase__resolver.html#gf5b9efb389e34a23b0bb7feb5974c0fcaxis2_phase_holder_tgroup__axis2__phase__holder.html#g10df00c78200bd75b25c443e6c6d568eaxis2_phase_get_namegroup__axis2__phase.html#g2c92bf9ab205f20e7b603c8a82646d23axis2_out_transport_info.haxis2__out__transport__info_8h.htmlaxis2_options_get_enable_mtomgroup__axis2__options.html#g868f6cfddb5dcae40c8dcaf870eb688faxis2_options_set_propertygroup__axis2__options.html#g5a364a815c87168bb136d8cbd11476aaaxis2_options_get_transport_outgroup__axis2__options.html#g31b684c1588681915e4be4242f0e7ee0axis2_op_ctx.haxis2__op__ctx_8h.htmlaxis2_op_ctx_freegroup__axis2__op__ctx.html#gc2a1dddeaf5f17bae65a8f26baef933baxis2_op_client_prepare_invocationgroup__axis2__op__client.html#gec56200ff2784f4adfff5679562f1ba5axis2_op_client.h File Referenceaxis2__op__client_8h.htmlAXIS2_MSG_RECV_LOAD_AND_INIT_SVCgroup__axis2__msg__recv.html#g74593508310553ca87df6da9b3b50ddaaxis2_msg_info_headers_get_fault_to_anonymousgroup__axis2__msg__info__headers.html#g4654c31f1dc87401fc8f8acb9de79c4eaxis2_msg_info_headers_tgroup__axis2__msg__info__headers.html#g556873fdfa94e29e43d96728871f3192axis2_msg_ctx_set_transport_urlgroup__axis2__msg__ctx.html#gcd9816724abf529406fa977b6838f481axis2_msg_ctx_get_transport_headersgroup__axis2__msg__ctx.html#gd5c47f45b9d568dc1961ddf283f44b85axis2_msg_ctx_get_execution_chaingroup__axis2__msg__ctx.html#gc944c499d0c5680080b4a87f5e312746axis2_msg_ctx_set_svcgroup__axis2__msg__ctx.html#g643f1a3cc4d31f7b665f43a2dfc97967axis2_msg_ctx_get_soap_actiongroup__axis2__msg__ctx.html#g08e437e115186c445459c16088afd023axis2_msg_ctx_get_rest_http_methodgroup__axis2__msg__ctx.html#g04e668915c0d36e60757110e446b6c94axis2_msg_ctx_set_wsa_actiongroup__axis2__msg__ctx.html#g1d1b6917c9c9b885e1f658b0787afea3axis2_msg_ctx_get_reply_togroup__axis2__msg__ctx.html#g8a54ba62dbb7097616ac384a9d731163AXIS2_MSG_CTX_FIND_OPgroup__axis2__msg__ctx.html#g0b84b027d9bcb64409d21de24751e904axis2_msg_get_param_containergroup__axis2__msg.html#gcf3f23e957699279a048452b64a671f0axis2_msg_creategroup__axis2__msg.html#ge674ded0d7b93ff698a55334d6221286axis2_module_desc_get_paramgroup__axis2__module__desc.html#g4c2f8d8e3b263468edc82aa1d53aea3aaxis2_module_desc_tgroup__axis2__module__desc.html#g2d21719bf20fcf0dbd25ea4093e28acfaxis2_listener_manager_tgroup__axis2__listener__manager.html#g1b9eeb7e6361aff1035273fbaa47cf47AXIS2_MTOM_OUTPUT_BUFFER_SIZEaxis2__http__transport__utils_8h.html#605517c0ae68d8300866df40fafbe59daxis2_http_transport_utils_get_not_acceptableaxis2__http__transport__utils_8h.html#73cfa03e792a9e98e54b09518af4f36eaxis2_http_transport_out_taxis2__http__transport__utils_8h.html#21356b6a3e8de4c5ef215147dbc76d70axis2_http_svr_thread_tgroup__axis2__http__svr__thread.html#gc9b1bf4adaabb85af85ffc9f56099239axis2_http_simple_request_freegroup__axis2__http__simple__request.html#gaeb4abc4abfbf9b5789b986c1bf47d48axis2_http_server.haxis2__http__server_8h.htmlMember AXIS2_HTTP_SENDER_SET_HTTP_VERSIONaxis2__http__sender_8h.html#270c3443efeed4c4400e446369834116AXIS2_HTTP_SENDER_FREEaxis2__http__sender_8h.html#2409df19c0a6580a757dd966dc089b4daxis2_http_response_writer_flushgroup__axis2__http__response__writer.html#gb1a6a1b2186ba65ec6bf6d94ee0d6385axis2_http_out_transport_info.haxis2__http__out__transport__info_8h.htmlaxis2_http_header_creategroup__axis2__http__header.html#g36d6aff978955bdebabf97f2f3fedcb4axis2_http_client_get_key_filegroup__axis2__http__client.html#g59c9e33acb7844f4b9613286e3dd5c98axis2_http_client.h File Referenceaxis2__http__client_8h.htmlaxis2_handler_desc_set_class_namegroup__axis2__handler__desc.html#g29292b75f8442364eeaa7cf81dfde2d6axis2_handler_set_invokegroup__axis2__handler.html#g57900872f5ba915d669bc0e3e243d6deaxis2_flow_container_set_out_flowgroup__axis2__flow__container.html#g2f295bb41ea59569db8fd3585f9c4ff5axis2_engine_creategroup__axis2__engine.html#ged13c1a9fe02067b8678f4d1c8a412a5axis2_endpoint_ref_set_svc_namegroup__axis2__endpoint__ref.html#g0a8954c0a595aa9016d125b1c171bcdaaxis2_endpoint_ref_creategroup__axis2__endpoint__ref.html#g693024d7cd181441f76eda5023b775deaxis2_disp.h File Referenceaxis2__disp_8h.htmlAXIS2_EXECUTION_OUT_CHAIN_KEYgroup__axis2__desc__constants.html#ga994ccbb1a096606c1d53d3102dacb54axis2_desc_creategroup__axis2__description.html#ge7a0b8d3cff8a247692c220fc7272117axis2_ctx_get_all_propertiesgroup__axis2__ctx.html#gff927e494c30e1e2b89da57679285f49axis2_conf_ctx_get_propertygroup__axis2__conf__ctx.html#ga8842aca9155be5f501e12818c1303e1axis2_conf_ctx_get_basegroup__axis2__conf__ctx.html#ge66a52699ed3a03ae50286e9ea859abbaxis2_conf_creategroup__axis2__config.html#g87f521276d7d6dfde72b289121c80a79axis2_conf_get_out_phasesgroup__axis2__config.html#gdf15d7aa810a6d812818d3ac00085537axis2_conf_get_all_out_transportsgroup__axis2__config.html#g2e5723e559a264f763e22e898990a63caxis2_conf_tgroup__axis2__config.html#gd32db334e748bbdcaebd55156e493d3baxis2_callback_invoke_on_completegroup__axis2__callback.html#g3cec591f0caffc39e747b02ba29060baaxis2_any_content_type_creategroup__axis2__any__content__type.html#g7f5efe9330957a64581ba12a0d09857cAXIS2_WSA_VERSIONgroup__axis2__addr__consts.html#g297643cc83960855fedf77da10dfee07EPR_REFERENCE_PROPERTIESgroup__axis2__addr__consts.html#g4e4e093ba53c71df53a2a3a641192577axiom_xml_writer_get_typegroup__axiom__xml__writer.html#gbc1a524cdc028b34aaab64a51f7dd0c8axiom_xml_writer_write_default_namespacegroup__axiom__xml__writer.html#gf73ddc31e494b9a063fe84933e2c4f5faxiom_xml_writer_taxiom__xml__writer_8h.html#19f8dd0aabc5680d73afe28d00b96b56axiom_xml_reader_get_valuegroup__axiom__xml__reader.html#gc28be6f3ba09e107505989be82ccaa74axiom_soap_header_block.haxiom__soap__header__block_8h.htmlaxiom_soap_header.haxiom__soap__header_8h.htmlaxiom_soap_fault_value_get_base_nodegroup__axiom__soap__fault__value.html#g053a9854d77b033ae8655e9ca88be500axiom_soap_fault_text.haxiom__soap__fault__text_8h.htmlaxiom_soap_fault_role_create_with_parentgroup__axiom__soap__fault__role.html#ge4555a85573415bb8b4276acf1ee5694axiom_soap_fault_node_get_valuegroup__axiom__soap__fault__node.html#g05a2e001e1e82b12e6bf1a6c7b619326axiom_soap_fault_code_get_base_nodegroup__axiom__soap__fault__code.html#g4161bbc9b6f72ed1c807d37a05351792axiom_soap_fault_get_codegroup__axiom__soap__fault.html#gdc09d5b63b273d0ad5ab13a1e6fed5c8axiom_soap_envelope_get_bodygroup__axiom__soap__envelope.html#g662a2d8cd4bf9a7a82f79492c9b16ad3axiom_soap_builder_process_namespace_datagroup__axiom__soap__builder.html#g6b11917cd8ae237471cb800083f20873axiom_soap_body_add_childgroup__axiom__soap__body.html#g67ce69f3f13c325bd541fff5a2059d49axiom_node_serialize_sub_treegroup__axiom__node.html#ga5e126b3d2462d4569e0d4b0a9bcd80eaxiom_node_free_treegroup__axiom__node.html#g934d857b13c36866a6c85078f156bc82axiom_mtom_caching_callback_tgroup__caching__callback.html#g118942e9e22791ec1c8217d68de51f11axiom_mime_part.h File Referenceaxiom__mime__part_8h.htmlAXIOM_MIME_PARSER_MAX_BUFFERSaxiom__mime__parser_8h.html#a6bbdf6ba9bbf4c74aee869796efb648CHAR_SET_ENCODINGaxiom__document_8h.html#00e960bb4961544f378e998e069841ccMember axiom_data_source_tgroup__axiom__data__source.html#gb52389bbd2e986cbd069892a92583ef4axiom_data_handler_set_binary_datagroup__axiom__data__handler.html#gcdd5abcf6725059de9409e8ea486980baxiom_comment_creategroup__axiom__comment.html#g62b7b89d4be6473a3a801fa2d5a0d582axiom_children_qname_iterator.haxiom__children__qname__iterator_8h.htmlaxiom_children_iterator.haxiom__children__iterator_8h.htmlaxiom_attribute_set_localname_strgroup__axiom__attribute.html#g5433c75c8f87f602ae89c9943f45df81axiom_attribute_tgroup__axiom__attribute.html#gf77817edfc3f692871ad6e3a4d1160ffrp_transport_binding_builder.hrp__transport__binding__builder_8h-source.htmlrp_secpolicy.hrp__secpolicy_8h-source.htmlrp_header.hrp__header_8h-source.htmlneethi_includes.hneethi__includes_8h-source.htmlconfig.hconfig_8h-source.htmlaxis2_port_taxutil__uri_8h-source.html#l00112AXIS2_URI_LDAP_DEFAULT_PORTaxutil__uri_8h-source.html#l00064axutil_thread_mutex_taxutil__thread_8h-source.html#l00179AXIS2_PARAM_VALUE_FREEaxutil__param_8h-source.html#l00062AXIS2_LOG_LEVEL_DEBUGaxutil__log_8h-source.html#l00073AXIS2_HASH_KEY_STRINGaxutil__hash_8h-source.html#l00051axutil_env::allocatoraxutil__env_8h-source.html#l00063axutil_allocator::global_poolaxutil__allocator_8h-source.html#l00101axis2_transport_receiver_ops_taxis2__transport__receiver_8h-source.html#l00061AXIS2_SVC_SKELETON_INIT_WITH_CONFaxis2__svc__skeleton_8h-source.html#l00158axis2_svc_client_taxis2__svc__client_8h-source.html#l00064axis2_phases_info.haxis2__phases__info_8h-source.htmlAXIS2_PHASE_ANYWHEREaxis2__phase_8h-source.html#l00068axis2_op_client_taxis2__op__client_8h-source.html#l00062AXIS2_UTF_16axis2__msg__ctx_8h-source.html#l00074axis2_module_initaxis2__module_8h-source.html#l00143AXIS2_PROXY_AUTH_TYPE_DIGESTaxis2__http__transport_8h-source.html#l00964AXIS2_HTTP_AUTHENTICATION_PASSWORDaxis2__http__transport_8h-source.html#l00873AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZEDaxis2__http__transport_8h-source.html#l00785AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALLaxis2__http__transport_8h-source.html#l00700AXIS2_HTTP_HEADER_SERVER_AXIS2Caxis2__http__transport_8h-source.html#l00609AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URIaxis2__http__transport_8h-source.html#l00524AXIS2_HTTP_HEADER_CONTENT_LENGTHaxis2__http__transport_8h-source.html#l00436AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAMEaxis2__http__transport_8h-source.html#l00348AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAMEaxis2__http__transport_8h-source.html#l00262AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VALaxis2__http__transport_8h-source.html#l00172AXIS2_HTTP_RESPONSE_WORDaxis2__http__transport_8h-source.html#l00071AXIS2_HTTP_SENDER_SET_HTTP_VERSIONaxis2__http__sender_8h-source.html#l00204axis2_http_client_taxis2__http__client_8h-source.html#l00049axis2_disp_taxis2__disp_8h-source.html#l00052AXIS2_EXECUTION_OUT_CHAIN_KEYaxis2__description_8h-source.html#l00063axis2_conf_ctx.haxis2__conf__ctx_8h-source.htmlAXIS2_WSA_PREFIX_TOaxis2__addr_8h-source.html#l00154AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSIONaxis2__addr_8h-source.html#l00097axis2_addr.haxis2__addr_8h-source.htmlaxiom_xpath_context::namespacesaxiom__xpath_8h-source.html#l00126axiom_xml_writeraxiom__xml__writer_8h-source.html#l00539axiom_soap_fault_detail.haxiom__soap__fault__detail_8h-source.htmlAXIOM_DOCTYPEaxiom__node_8h-source.html#l00074axiom_mime_part_type_taxiom__mime__part_8h-source.html#l00044axiom.haxiom_8h-source.htmlaxutil_log_ops Struct Referencestructaxutil__log__ops.htmlaxutil_error::messagestructaxutil__error.html#a016f4ce55a9b63eb01dc66430d04c4fstruct axutil_envstructaxutil__env.htmlMember axis2_version_t::is_devstructaxis2__version__t.html#40d035997f83cf806430645f58d346d1axis2_transport_sender_ops::initstructaxis2__transport__sender__ops.html#21532f7b79a45af83a0daf97ccc9130caxis2_transport_receiver_ops::get_conf_ctxstructaxis2__transport__receiver__ops.html#c7cdf3c0d65565e17f021ad3a6f2f191axis2_svc_skeleton_ops::on_faultstructaxis2__svc__skeleton__ops.html#84abaf5bdda303774fe1abe6d4808577axis2_module_ops Struct Referencestructaxis2__module__ops.htmlaxiom_xpath_result::flagstructaxiom__xpath__result.html#6ff5e690ba21cbf4c05128c704d5d955Member axiom_xpath_context::sizestructaxiom__xpath__context.html#cd86eda7252b33546209149883171d5baxiom_xpath_context::nodestructaxiom__xpath__context.html#bc3a733c582fd2eb99ca03a6b59cca2aMember axiom_xml_writer_ops::write_processing_instruction_datastructaxiom__xml__writer__ops.html#a2c34385c2e7cad6914b637cb0324157Member axiom_xml_writer_ops::freestructaxiom__xml__writer__ops.html#5af16ee94216db95e1a0e16d2bf7eea3axiom_xml_writer_ops::write_processing_instruction_datastructaxiom__xml__writer__ops.html#a2c34385c2e7cad6914b637cb0324157axiom_xml_writer_ops::freestructaxiom__xml__writer__ops.html#5af16ee94216db95e1a0e16d2bf7eea3Member axiom_xml_reader_ops::get_valuestructaxiom__xml__reader__ops.html#23269d48917339c1195c68548a1df6bdaxiom_xml_reader_ops::get_namespace_prefix_by_numberstructaxiom__xml__reader__ops.html#038bd2b7b10d16ce5e33f0e0f8003d5caxiom_mtom_sending_callback_ops::freestructaxiom__mtom__sending__callback__ops.html#b8d6795f393689ade5a93be8c3271ccdrp_x509_token_get_require_thumb_print_referencegroup__rp__x509__token.html#g3a72d273fc072b2330075dc8346bd487rp_wss11_builder_buildgroup__rp__wss11__builder.html#g1b78e1b428b246751312c5810f9de852rp_wss11_freegroup__wss11.html#gb941cf6a0e0615cedc825830459c88f6rp_wss10_tgroup__wss10.html#g4acad91523c067733bad624c9f3c2408rp_username_token_set_inclusiongroup__rp__username__token.html#g4c0adbbc57a4c04511115c15719346fcrp_transport_binding_freegroup__rp__transport__binding.html#g09ff70f1f1d9ac895863d387eead27bdrp_token_set_issuergroup__rp__token.html#g35f2db1f7152a60389786597ba29aae9rp_symmetric_binding_freegroup__rp__symmetric__binding.html#g43f37ee0f47b79ab7ce13c2ee0b602efRp_assymmetric_symmetric_binding_commonsgroup__rp__assymmetric__symmetric__binding__commons.htmlrp_supporting_tokens_get_tokensgroup__rp__supporting__tokens.html#g8a4f90bb9e471a4de6ad3335042317abrp_signed_encrypted_parts_freegroup__rp__signed__encrypted__parts.html#gb0c9b011aca492142373a2a5002ec9a0rp_signed_encrypted_elements_set_signedelementsgroup__rp__signed__encrypted__elements.html#ga02ab3cb794d1f73730364cc6e48ee1arp_security_context_token_set_sc10_security_context_tokengroup__rp__security__context__token.html#g4cefd6c1244bfd1f333e1616558f14d2rp_secpolicy_set_trust10group__rp__secpolicy.html#gd349985196ae890cb029c814f85f1fdfrp_secpolicy_get_signed_endorsing_supporting_tokensgroup__rp__secpolicy.html#g5073f76ede4186bf3c1c15d58f1b5f9dRp_recipient_token_buildergroup__rp__recipient__token__builder.htmlrp_rampart_config_get_receiver_certificate_filegroup__rp__rampart__config.html#gdf61f54c82443ddb9631e59b506b2e40rp_rampart_config_freegroup__rp__rampart__config.html#gaed7d0218899170137394ff9eb0379c2rp_layout_builder_buildgroup__rp__layout__builder.html#g4173de92a4f13e1e5b07028401303efarp_trust10_get_must_support_server_challengegroup__trust10.html#g3a3a050e4333de6ab89a93d4c8ed4dcerp_issued_token_get_issuer_eprgroup__trust10.html#g2585f74cf6c0487df7db763c77ab94e8rp_https_token_set_inclusiongroup__rp__https__token.html#gb0df9cfb7bdb7a68d4543227649099ecrp_element_get_namespacegroup__rp__element.html#gcc1378d73e401046c5cbd4f9c145c4b9RP_RDgroup__rp__defines.html#gfd9ad7bc72b88288862ba4f41f29abdfRP_ISSUERgroup__rp__defines.html#gf43b83ac7713a50bbc0adc52e079272cRP_WSS_X509_PKCS7_TOKEN_10group__rp__defines.html#g0077cd1895e339a23a6867f5fd55b8beRP_INCLUDE_ONCEgroup__rp__defines.html#gef4ec4ed7404693cd6522d50af5d9583RP_STR_TRANSFORM_10group__rp__defines.html#gf9292f6775b114c2048005dd49b7c21aRP_KW_AES192group__rp__defines.html#g29a11259adf51109aad77aa125ad2b4aRP_ALGO_SUITE_BASIC192_SHA256group__rp__defines.html#g94f52d18245f30c76d9ec3fb3533b4fdRP_ALGORITHM_SUITEgroup__rp__defines.html#g720aa3b9533f6f9b57e42735383394e7RP_MUST_SUPPORT_REF_ISSUER_SERIALgroup__rp__defines.html#ged5944a27addb95b1a1aa90ffd7bb2ebRP_ENCRYPTED_PARTSgroup__rp__defines.html#gd7d5f467d7e8db208e707ada0a2dec07rp_binding_commons_get_supporting_tokensgroup__rp__binding__commons.html#gff094111b4321b9bf43778fa33c3887drp_asymmetric_binding_builder_buildgroup__rp__asymmetric__binding__builder.html#g9fa55c85ab198d6e5240ff987c5f5034rp_algorithmsuite_increment_refgroup__rp__algoruthmsuite.html#g208ecfc971f0e064108e99ecec2ea5d5rp_algorithmsuite_get_min_symmetric_keylengthgroup__rp__algoruthmsuite.html#gc45698827be9a583c643e9ae712addebneethi_assertion_builder_buildgroup__neethi__assertion__builder.html#gf967dac88d9791b4133f19d597c4916caxutil_hexitgroup__axutil__utils.html#g09e633d0cb2c4acb0affc75c870646dcAXIS2_FUNC_PARAM_CHECKgroup__axutil__utils.html#gc166237d0def75b6826516f64acffbefMember axis2_port_tgroup__axutil__uri.html#ge872059061cd893ffffc348e725bd021Member AXIS2_URI_PROSPERO_DEFAULT_PORTgroup__axutil__uri.html#g501f92278c7825a20f532aaeae3b59caaxutil_uri_get_servergroup__axutil__uri.html#gce1f53b8049d45a7964ea893edcef747AXIS2_URI_UNP_OMITUSERINFOgroup__axutil__uri.html#gdf97648c61c101a22ed8628355171496AXIS2_URI_HTTP_DEFAULT_PORTgroup__axutil__uri.html#g61a736bf61ac0e9773d506a2faf98298Member axutil_thread_pool_join_threadgroup__axutil__thread__pool.html#g0ddd6d44254100fbbeb71db92112e7bdMember axutil_threadattr_is_detachgroup__axutil__thread.html#ga27f549c32aa22df6c911fc565624d52Member axutil_thread_tgroup__axutil__thread.html#g7b2442c6150883ffac05fd2c4844b7ccaxutil_thread_exitgroup__axutil__thread.html#gce2c40eabd0a117145610897e3b0b350Member axutil_string_touppergroup__axutil__string__utils.html#gf53501a68e7cb1ecc2ef8c0ef3a20585axutil_replacegroup__axutil__string__utils.html#g2c11888e15e1a731f7adf6259aad0c1eMember axutil_string_get_buffergroup__axutil__string.html#g9c0f8f5767c62ec199047bf8c1071630stringgroup__axutil__string.htmlaxutil_stream_peek_socketgroup__axutil__stream.html#g30497ea005593e5bb0e43ca5ecddd84aAXUTIL_STREAM_WRITEgroup__axutil__stream.html#g97c45523dc792211cdccafcfbf61cbb4Member axutil_rand_get_seed_value_based_on_timegroup__axutil__rand.html#ge538ffc1401b35cac57c8573a860db0eaxutil_qname_equalsgroup__axutil__qname.html#g1c9a3b98ac4a0f1dd0b323f4c118c2f4axutil_property_creategroup__axutil__property.html#g0c788c91efff2e54567af74055b85a52axutil_properties_tgroup__axutil__properties.html#ga1004514876db767eb698aa6d1ab9fe0Parameter Containergroup__axutil__param__container.htmlaxutil_param_get_attributesgroup__axutil__param.html#ga54565061883614c48b6a4d510bb3e89Member axutil_network_handler_svr_socket_acceptgroup__axutil__network__handler.html#g3375a0ac8d9e4bba1262337ce0667b81axutil_network_handler_create_server_socketgroup__axutil__network__handler.html#gba4133a493242c5b02880ea807779830Member axutil_log_creategroup__axutil__log.html#g812821326a1fb8ee54b2d1b5adbd8c9daxutil_log_impl_log_debuggroup__axutil__log.html#g09fd82d5f61f601855bad52a0dd4ba14AXIS2_LOG_PROJECT_PREFIXgroup__axutil__log.html#gf01a406e8f8b40a092a8e32c337ef029Member axutil_linked_list_remove_firstgroup__axutil__linked__list.html#gfc28d2d0a4f2f1adffde51c2d8182779Member axutil_linked_list_add_at_indexgroup__axutil__linked__list.html#gde56abab810e3643547facceb1858c8baxutil_linked_list_add_lastgroup__axutil__linked__list.html#g44b716389b3a40e79a4dae6700ae2b24Member axutil_http_chunked_stream_get_current_chunk_sizegroup__axutil__http__chunked__stream.html#g26d8808871536023926a5ef46233fb45Member axutil_hash_setgroup__axutil__hash.html#gdd1a3888b91267e2fc5f84293ec56002axutil_hash_set_envgroup__axutil__hash.html#gcf5da6ec41283048d3275d51482467c7axutil_hash_index_tgroup__axutil__hash.html#g3c624ec6d027cc0a7e8f07fb849f51f8axutil_file_handler_copygroup__axutil__file__handler.html#gfc4778bc255638f0e8aa9c10d5a7a24eMember axutil_error_set_status_codegroup__axutil__error.html#gaaab973f27097ae5e3dd036a9c452355axutil_error_get_messagegroup__axutil__error.html#ga5db58c2bae8083db45dcb933511480cMember axutil_env_creategroup__axutil__env.html#g136fef9fc5d4e435f40a0949375d324dAXIS_ENV_FREE_ERRORgroup__axutil__env.html#g7e82bfc152825a777665e7acf05a682faxutil_duration_set_yearsgroup__axutil__duration.html#gc4c15cca67efdbf296e78b7a4a1c6fb3axutil_dll_desc_get_error_codegroup__axutil__dll__desc.html#g7563dc8c130f0b318eefe3f7f004782faxutil_dll_desc_creategroup__axutil__dll__desc.html#gbf1b06f952b42a8d5d0fe9bed8796e56axutil_digest_hash_hex_tgroup__axutil__digest__calc.html#ge50b8d4b7fce951084e34b414c6edfebMember axutil_date_time_get_secondgroup__axutil__date__time.html#g36782202dd7f88a864f748649b3dff6baxutil_date_time_is_time_zone_positivegroup__axutil__date__time.html#g0290358524574d067eda7a683c6ebd39axutil_date_time_set_date_timegroup__axutil__date__time.html#g5f6d46804df89a05c8c4c6b5b97e47a3Member axutil_base64_binary_get_encoded_binarygroup__axutil__base64__binary.html#g417e167050fc9c2f38f129979ba2e0a8axutil_base64_binary_tgroup__axutil__base64__binary.html#gd87df1cdeeff79315010179147857acbMember axutil_array_list_tgroup__axutil__array__list.html#g1a6a89777db876cfa0cc86787b7be6a0axutil_array_list_tgroup__axutil__array__list.html#g1a6a89777db876cfa0cc86787b7be6a0Member axis2_transport_sender_creategroup__axis2__transport__sender.html#gd6e69829fc6298d56fe3bf89c523949bMember axis2_transport_receiver_startgroup__axis2__transport__receiver.html#g1d554a5c0ed340fba59530e01d078325axis2_transport_receiver_tgroup__axis2__transport__receiver.html#gc3080d6ec44ab99a8d64ba4b5196daebMember axis2_transport_out_desc_free_void_arggroup__axis2__transport__out__desc.html#gf4917e987d796cc459ef55d00047fe33axis2_transport_out_desc_set_fault_out_flowgroup__axis2__transport__out__desc.html#ga3a191a5b9b362398741b8fd7c5fbadbMember axis2_transport_in_desc_get_recvgroup__axis2__transport__in__desc.html#gf86d50b87ddbb9adfb9856526a7a0cdfaxis2_transport_in_desc_add_paramgroup__axis2__transport__in__desc.html#g23edaa772c9490e9f9a42c62ff501087Member axutil_thread_mutex_unlockgroup__axis2__mutex.html#gd275462277abb24342d1b69967ba79b4AXIS2_THREAD_MUTEX_DEFAULTgroup__axis2__mutex.html#gd096680721aedfeb237647a9d59deedfMember AXIS2_SVC_SKELETON_INIT_WITH_CONFgroup__axis2__svc__skeleton.html#g8badcde91b5f58a020eaaafde4a0e431Member axis2_svc_name_freegroup__axis2__svc__name.html#gcbab528a163f700fa4e7dc90823ed3afMember axis2_svc_grp_ctx_get_parentgroup__axis2__svc__grp__ctx.html#g237da85b5cccbee2d725b59a4885d892axis2_svc_grp_ctx_get_basegroup__axis2__svc__grp__ctx.html#gc0e89428bb66e652ddb0fd35bce6f62dMember axis2_svc_grp_get_all_module_qnamesgroup__axis2__svc__grp.html#g16877756d60ea286f08b8be863bae9e6axis2_svc_grp_add_module_refgroup__axis2__svc__grp.html#gacc300eeed7bf4ccc14d68c114ac7c9aaxis2_svc_grp_tgroup__axis2__svc__grp.html#g5ef2d05d92b41f84d9dc381ad21d54c4axis2_svc_ctx_set_svcgroup__axis2__svc__ctx.html#g9d465a820d440585864dd7235d4747ddMember axis2_svc_client_set_optionsgroup__axis2__svc__client.html#ge976c74f5398693aa8b6d2c083b982bfMember axis2_svc_client_get_last_response_has_faultgroup__axis2__svc__client.html#ge0c17bd903894f28245d22e996c54dbdGroup service clientgroup__axis2__svc__client.htmlaxis2_svc_client_set_target_endpoint_refgroup__axis2__svc__client.html#gb60879c0484ac46ae301c7c4f13ba6e6axis2_svc_client_get_override_optionsgroup__axis2__svc__client.html#g6d96f187c2183a936646d3c9c39b4a68Member axis2_svc_set_ns_mapgroup__axis2__svc.html#g7d09d2191060dc07c499d61790f29d7eMember axis2_svc_get_paramgroup__axis2__svc.html#g5e42b969b0b6de99d284da0db942e969Member axis2_svc_add_rest_mappinggroup__axis2__svc.html#g4a9c6e0b84fff520b00f2bfd182e0e87gaxis2_svc_et_ns_mapgroup__axis2__svc.html#ga7e8bf2f3909dd8ae968f3677da9d980axis2_svc_get_last_updategroup__axis2__svc.html#g788443be98d1d5ca71f1989f74cd96c9axis2_svc_set_qnamegroup__axis2__svc.html#g30653ba40ccaac99fad8efed0ca18805Member axis2_stub_get_svc_clientgroup__axis2__stub.html#g2d32f2fc661d49f68c8d144ada54acd8axis2_stub_set_use_separate_listenergroup__axis2__stub.html#gf3fdc7a48ad18635e54089e1e7e9d416axis2_rm_assertion_set_invoker_sleep_timegroup__axis2__rm__assertion.html#gbb473e3ba5a97741af38ae3d8d66b8b9axis2_rm_assertion_get_inactivity_timeoutgroup__axis2__rm__assertion.html#g27268e1d9782c31b36af40f15f5cd78cMember axis2_relates_to_set_valuegroup__axis2__relates__to.html#gaa3dd97df52d084ea15a5d05d6931a82axis2_raw_xml_in_out_msg_recv_creategroup__axis2__raw__xml__in__out__msg__recv.html#g63d91c00d597889af851c8298f4c428faxis2_policy_include_set_descgroup__axis2__policy__include.html#g74ece6e400cf08be2b48c0248a55a53cMember axis2_phases_info_get_out_faultphasesgroup__axis2__phases__info.html#g4b9a7e11304a10d497ed8f22cd2f590faxis2_phases_info_get_op_in_phasesgroup__axis2__phases__info.html#g6672b6b521ec38cff0ac0af4e874bb36Member axis2_phase_rule_is_lastgroup__axis2__phase__rule.html#gc8418e7c4a81d34a72a1c421c014c953axis2_phase_rule_set_namegroup__axis2__phase__rule.html#g2b76a8aa8c2004573d01df1c95b74ee6Member axis2_phase_resolver_build_transport_chainsgroup__axis2__phase__resolver.html#g9efb7f943f914da282d838fc692bfe37axis2_phase_resolver_tgroup__axis2__phase__resolver.html#g1d7f5ab5b7042b14e61751be6e6bcb7cAXIS2_PHASE_TRANSPORT_INgroup__axis2__phase__meta.html#g56ead22fee47a92b71fc83909db2096eaxis2_phase_holder_add_handlergroup__axis2__phase__holder.html#g8d16ae0d83bd80e4d9264f2c99219dcbMember axis2_phase_get_all_handlersgroup__axis2__phase.html#g7a5ebcc5fa87ec0057a8d49a099e904daxis2_phase_insert_handler_descgroup__axis2__phase.html#g60f6b9e367666f8232f3287478c83b32AXIS2_PHASE_BEFOREgroup__axis2__phase.html#gedaee8553f3bd49535a393920321b836Member axis2_options_set_transport_outgroup__axis2__options.html#gfa5e260c38cf75997d4ae2b58517166dMember axis2_options_set_parentgroup__axis2__options.html#g787038bb34b488493d73fbfe1af919ffMember axis2_options_get_transport_ingroup__axis2__options.html#g21bb77bedd66cce1e54f470b2b33d983Member axis2_options_get_enable_mtomgroup__axis2__options.html#g868f6cfddb5dcae40c8dcaf870eb688faxis2_options_set_test_proxy_authgroup__axis2__options.html#gb5f388b034b9c34825711fd8fef977e9axis2_options_set_use_separate_listenergroup__axis2__options.html#g4d51e41495fd13829711123fc1c66179axis2_options_set_actiongroup__axis2__options.html#g3034f3d572a3f31d708250ffa374931daxis2_options_get_fromgroup__axis2__options.html#g7e00548bdf22d85963f03cf96af4324eMember axis2_op_ctx_get_opgroup__axis2__op__ctx.html#g41e85fb871ff0b60c48f8794d85c3270axis2_op_ctx_set_response_writtengroup__axis2__op__ctx.html#ge742cc55efddb40eddffae46ba11125bMember axis2_op_client_set_wsa_actiongroup__axis2__op__client.html#g562d94703fd1723020cf7cacafc73198Member axis2_op_client_get_callbackgroup__axis2__op__client.html#g2d750a878fe19e11a1d130467fa76370axis2_op_client_set_soap_version_urigroup__axis2__op__client.html#g29eb95e1d34ec16811f0e002e02e2c34axis2_op_client_add_out_msg_ctxgroup__axis2__op__client.html#g192dc8b5bb7c1159c7feede39434f1c3Member axis2_op_set_fault_out_flowgroup__axis2__op.html#g9f6107dc7ed032712720a32e47147abfMember axis2_op_get_fault_out_flowgroup__axis2__op.html#gf0b956c2bcc05e930cc3c2dcdc8a5abfMember axis2_op_add_msggroup__axis2__op.html#g8a6c92b0427612989a196efe5874c2f5axis2_op_find_op_ctxgroup__axis2__op.html#gcc6b42d73fa1f2b7eb5e626dc09c7672axis2_op_get_msg_recvgroup__axis2__op.html#g497a76b535ba0288733f9e0197d1eb2eaxis2_op_freegroup__axis2__op.html#gd1ecba5cbec7a54a42ea8199f38d9d74axis2_msg_recv_load_and_init_svcgroup__axis2__msg__recv.html#gfdc9258a276b87b75c424abae5b80565axis2_msg_recv_tgroup__axis2__msg__recv.html#g7547da0893782e6165696315481247deMember axis2_msg_info_headers_get_reply_to_anonymousgroup__axis2__msg__info__headers.html#gd97b6d6039b46707d5e1e88a7610c050axis2_msg_info_headers_get_all_ref_paramsgroup__axis2__msg__info__headers.html#g085e872c1d2b336e927df9f2f7d9a4aeaxis2_msg_info_headers_set_reply_to_nonegroup__axis2__msg__info__headers.html#g64bfb8b2ebdabd55719c6b3b300a5499Member axis2_msg_ctx_set_transfer_encodinggroup__axis2__msg__ctx.html#g3e7ceeadac1d2a0b295947bbaa0adca7Member axis2_msg_ctx_set_relates_togroup__axis2__msg__ctx.html#g619646919121558645495bc791b14688Member axis2_msg_ctx_set_keep_alivegroup__axis2__msg__ctx.html#g29a042eb384e9af2798aea7a91cd7d71Member axis2_msg_ctx_set_current_phase_indexgroup__axis2__msg__ctx.html#g977af6908d6522c8a9f440841d68a2b5Member axis2_msg_ctx_get_transport_out_descgroup__axis2__msg__ctx.html#gb4f72089846618d10501bdb9e28f2e01Member axis2_msg_ctx_get_response_soap_envelopegroup__axis2__msg__ctx.html#g6430b72e8f0d297545d5c77dbde13f88Member axis2_msg_ctx_get_op_ctxgroup__axis2__msg__ctx.html#g4778817a289307212f46e1b60d5eab51Member axis2_msg_ctx_get_fault_soap_envelopegroup__axis2__msg__ctx.html#gcad76203a38152006e85476751ae7826Member axis2_msg_ctx_extract_http_output_headersgroup__axis2__msg__ctx.html#gdaa7cdb0148e178e1709bef54be82ad6Member AXIS2_DEFAULT_CHAR_SET_ENCODINGgroup__axis2__msg__ctx.html#g6322d4be41907e2a6d3d63a4c5e57dcbaxis2_msg_ctx_set_transport_urlgroup__axis2__msg__ctx.html#gcd9816724abf529406fa977b6838f481axis2_msg_ctx_get_transport_headersgroup__axis2__msg__ctx.html#gd5c47f45b9d568dc1961ddf283f44b85axis2_msg_ctx_get_execution_chaingroup__axis2__msg__ctx.html#gc944c499d0c5680080b4a87f5e312746axis2_msg_ctx_set_svcgroup__axis2__msg__ctx.html#g643f1a3cc4d31f7b665f43a2dfc97967axis2_msg_ctx_get_soap_actiongroup__axis2__msg__ctx.html#g08e437e115186c445459c16088afd023axis2_msg_ctx_get_rest_http_methodgroup__axis2__msg__ctx.html#g04e668915c0d36e60757110e446b6c94axis2_msg_ctx_set_wsa_actiongroup__axis2__msg__ctx.html#g1d1b6917c9c9b885e1f658b0787afea3axis2_msg_ctx_get_reply_togroup__axis2__msg__ctx.html#g8a54ba62dbb7097616ac384a9d731163AXIS2_MSG_CTX_FIND_OPgroup__axis2__msg__ctx.html#g0b84b027d9bcb64409d21de24751e904Member axis2_msg_set_flowgroup__axis2__msg.html#ge2d0cca919d701cc03f6a99d7fff3164Member axis2_msg_tgroup__axis2__msg.html#g20e480486e264ed4fb5df0517ce76b09axis2_msg_get_parentgroup__axis2__msg.html#g8191091ac7e17ed45c6d0ed3c9bc3d59Member axis2_module_desc_set_modulegroup__axis2__module__desc.html#g0177e17d95d9dff343c5a0383464b5fbMember axis2_module_desc_free_void_arggroup__axis2__module__desc.html#g346c54cf62f63272833814eeb412904daxis2_module_desc_get_paramgroup__axis2__module__desc.html#g4c2f8d8e3b263468edc82aa1d53aea3aaxis2_module_desc_tgroup__axis2__module__desc.html#g2d21719bf20fcf0dbd25ea4093e28acfMember axis2_listener_manager_make_sure_startedgroup__axis2__listener__manager.html#g1e7458c7473be15ce253a9a0a5ff133fMember axis2_http_worker_freegroup__axis2__http__worker.html#g1a3b73fc4ba2f66ea1dc74d791a70d88Member AXIS2_SSL_PASSPHRASEgroup__axis2__core__transport__http.html#g3aa5ed9cba9bf2b271840d166af26ecfMember AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAMEgroup__axis2__core__transport__http.html#g77c0e3043ee3db93995fd49062c3ea20Member AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAMEgroup__axis2__core__transport__http.html#gfe7ceaffa44c7f94b04fe93148abe0d6Member AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAMEgroup__axis2__core__transport__http.html#gf78bb361725ec284f557b1039ef9cbc0Member AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VALgroup__axis2__core__transport__http.html#g749faf0ed6ce0f4453ccc8ee41088ef1Member AXIS2_HTTP_METHODgroup__axis2__core__transport__http.html#g7a4604108366f33827e3d4f17e5326abMember AXIS2_HTTP_HEADER_LOCATIONgroup__axis2__core__transport__http.html#ge1c6e00125354fa650944145598917b6Member AXIS2_HTTP_HEADER_CONNECTIONgroup__axis2__core__transport__http.html#g359ff26113345b6697ab24fedf43db74Member AXIS2_HTTP_HEADER_ACCEPT_ALLgroup__axis2__core__transport__http.html#g56c623b271a17c0242bc5b65771edd82Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALEgroup__axis2__core__transport__http.html#g1d99c497c91ad606814e4b269249211aMember AXIS2_HTTP_AUTH_TYPE_DIGESTgroup__axis2__core__transport__http.html#g2a5ff77377ac2a8e936127652762e523AXIS2_SPACE_TAB_EQgroup__axis2__core__transport__http.html#gbf180f732c6cea9e276e0994db954f66AXIS2_HTTPgroup__axis2__core__transport__http.html#g02f997e88c559a5aa9a886240b7684acAXIS2_AND_SIGNgroup__axis2__core__transport__http.html#g36dbabd28397cdf3a0445eaf738b5b35AXIS2_HTTP_AUTH_UNAMEgroup__axis2__core__transport__http.html#gf93be7aaeac489dffd2b85935126dc75AXIS2_HTTP_ISO_8859_1group__axis2__core__transport__http.html#g078597f6a580ea6779acb5fc2a0e710aAXIS2_HTTP_HEADER_SET_COOKIEgroup__axis2__core__transport__http.html#gdf007b00114dbf93cd0f1b04b9875ea9AXIS2_HTTP_HEADER_ACCEPTgroup__axis2__core__transport__http.html#ga3e5a00646dddcfaaf1b4d0c93f08179AXIS2_HTTP_HEADER_USER_AGENT_AXIS2Cgroup__axis2__core__transport__http.html#g0d78005ebc809201ddd37714b277d51eAXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHMgroup__axis2__core__transport__http.html#g6f9db4bd605545bb111b38992a1d48b2AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODINGgroup__axis2__core__transport__http.html#gffce846de2f228a3882f820da253fd5dAXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAMEgroup__axis2__core__transport__http.html#gfe7ceaffa44c7f94b04fe93148abe0d6AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAMEgroup__axis2__core__transport__http.html#g77c0e3043ee3db93995fd49062c3ea20AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VALgroup__axis2__core__transport__http.html#gaaeb6d5f5ea5c1442a61ea3009081856AXIS2_HTTP_RESPONSE_ACK_CODE_VALgroup__axis2__core__transport__http.html#gdca2eae7dae4a09c6ebee6b256fd07d7axutil_url_get_portgroup__axis2__core__transport__http.html#gb646b26c999e60306479be7db8036d55Member axis2_http_svr_thread_rungroup__axis2__http__svr__thread.html#g0c8d29b7372ac3dbf15a159c5fa514cdMember axis2_http_status_line_starts_with_httpgroup__axis2__http__status__line.html#gc8a15adb266f3dbd37ede4817928ca1bMember axis2_http_simple_response_set_status_linegroup__axis2__http__simple__response.html#g516ffbfa78d129d4fd9952ad8db24bc8Member axis2_http_simple_response_freegroup__axis2__http__simple__response.html#gdbbd2a523cf92636c6e1f7a8abb04aacaxis2_http_simple_response_set_body_stringgroup__axis2__http__simple__response.html#g5626e9e8744f9b14e2ecaf7359691151http simple responsegroup__axis2__http__simple__response.htmlaxis2_http_simple_request_creategroup__axis2__http__simple__request.html#g1ede2c7bbd3f657b898f2b98c97e2a20axis2_http_server_stopgroup__axis2__http__server.html#ge03a41104d38f7ff5fc41e0a8f9329a7axis2_http_response_writer_create_with_encodinggroup__axis2__http__response__writer.html#gfa1431f2e3ffb7a707769039b0d2407bMember axis2_http_request_line_get_methodgroup__axis2__http__request__line.html#gc5ba67dbf9bbfb3a87a051f54242e17bMember axis2_http_out_transport_info_freegroup__axis2__http__out__transport__info.html#gd6d974df0df738b3e994146bf2445c17AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGgroup__axis2__http__out__transport__info.html#gc17624b984364754cbd36a32f62e1ba6axis2_http_header_tgroup__axis2__http__header.html#gd8f14a5acb342f2f99bcfe3c71e7857eMember axis2_http_client_creategroup__axis2__http__client.html#gfd79db7fb40936a06673e606771aa57daxis2_http_client_get_proxygroup__axis2__http__client.html#geafedbee3be84605e6872b2ba4ed7cb4Member axis2_http_accept_record_tgroup__axis2__http__accept__record.html#ge384ef207777c3f8a0e151650e043b90Member axis2_handler_desc_get_param_containergroup__axis2__handler__desc.html#g09fbdbcc01525968858a53740aaf164eaxis2_handler_desc_get_class_namegroup__axis2__handler__desc.html#g6a12dc3e24a7db6642ef3392db1853cbMember axis2_handler_get_handler_descgroup__axis2__handler.html#g68ed525c6303fcf9cda284eef07b270eAXIS2_HANDLER_INVOKEgroup__axis2__handler.html#g2c528673112976486f57a552795378f0axis2_flow_container_get_fault_out_flowgroup__axis2__flow__container.html#g1f58a7584d692df17ec20c9f5d5cbf67Group flowgroup__axis2__flow.htmlMember axis2_endpoint_ref_get_interface_qnamegroup__axis2__endpoint__ref.html#gecddf65a57bf6a269b8d31ea99165049axis2_endpoint_ref_add_metadata_attributegroup__axis2__endpoint__ref.html#g67bc0356744635c35d3d6bb7755dcbfbMember axis2_soap_body_disp_creategroup__axis2__disp.html#g417c2e8127f982ad198e4804a331016caxis2_disp_find_svc_and_opgroup__axis2__disp.html#g9d2a959239d55f45641c0759b79243b2Member AXIS2_MODULEREF_KEYgroup__axis2__desc__constants.html#g1bfa79983f0142c83266a4fc9f710cd4AXIS2_STYLE_KEYgroup__axis2__desc__constants.html#gefc06b1782ab35854a0b8f2ce51044dbMember axis2_desc_get_paramgroup__axis2__description.html#g6d7eb35ea7f0dd0a82bc47324a92bc0baxis2_desc_add_childgroup__axis2__description.html#g8cdc3537ca1820de45ba467eec1ce8c9Group contextgroup__axis2__ctx.htmlaxis2_core_utils_calculate_default_module_versiongroup__axis2__core__utils.html#g45effd13e7a23e4e2374d1cdc9c3be7caxis2_build_conf_ctx_with_filegroup__axis2__conf__init.html#gb75c062fd9d2b0ce1dd43751ad11bbddMember axis2_conf_ctx_get_op_ctxgroup__axis2__conf__ctx.html#g42e7023af97b04e9ac5d192c20c6980eaxis2_conf_ctx_get_svc_ctxgroup__axis2__conf__ctx.html#ge90cb5dd919956c1e2eb52fa69c6734bMember axis2_conf_set_in_fault_phasesgroup__axis2__config.html#gb9219d57c1060b93d19a39cc95ced711Member axis2_conf_get_out_fault_flowgroup__axis2__config.html#gd14aad417357ead8d2080d5798e884feMember axis2_conf_get_all_faulty_svcsgroup__axis2__config.html#g9024b3f7f97461ba822eebc7d6c1a812axis2_conf_get_handlersgroup__axis2__config.html#g4201e005521a5165322c04af1d0c493daxis2_conf_engage_modulegroup__axis2__config.html#gd606b44f38e986772f34e7eea44f1213axis2_conf_is_engagedgroup__axis2__config.html#g7756e8038846da3d822c690279ecfcc6axis2_conf_is_param_lockedgroup__axis2__config.html#g8fe2754bf14d3965c99a32b92909cb1dMember axis2_engine_resume_invocation_phasesgroup__axis2__engine.html#ga9d62410babeb061b9bf300d6a837ca2axis2_engine_resume_invocation_phasesgroup__axis2__engine.html#ga9d62410babeb061b9bf300d6a837ca2Member axis2_callback_report_errorgroup__axis2__callback.html#gde78d3a3af4710cb489ae4a6e27a9dcfaxis2_callback_set_datagroup__axis2__callback.html#gc336244380c30c63f102efbea2204aeeMember axis2_async_result_tgroup__axis2__async__result.html#g7f79cfe086dfb98806cc3c0c3b408c3caxis2_any_content_type_get_valuegroup__axis2__any__content__type.html#g3526ab922ee7827b7d975316d064dce2Member EPR_REFERENCE_PARAMETERSgroup__axis2__addr__consts.html#g72037ab1241ed326161516f373649416Member AXIS2_WSA_POLICIESgroup__axis2__addr__consts.html#ge70b4a9e6cbf4bed35ea66db740dcd14AXIS2_WSA_PREFIX_ACTIONgroup__axis2__addr__consts.html#g1feded3e9bbc7913c3a2abc895bf9844AXIS2_WSA_NONE_URL_SUBMISSIONgroup__axis2__addr__consts.html#g4436004b04180b21593a423576b60ef9AXIS2_WSA_RELATES_TOgroup__axis2__addr__consts.html#gd5e65fcd5241c76c23a50f846441266aMember axiom_xpath_clear_namespacesgroup__axiom__xpath__api.html#g3c28eba21a5183ab268021129d9cad12axiom_xpath_clear_namespacesgroup__axiom__xpath__api.html#g3c28eba21a5183ab268021129d9cad12axiom_xpath_expression_tgroup__axiom__xpath__api.html#g064994aadf8d1c9a29e2be75a84bf0feMember axiom_xml_writer_write_end_documentgroup__axiom__xml__writer.html#g293c2a405e80ab47f2ca1e87d51dd670Member axiom_xml_writer_get_typegroup__axiom__xml__writer.html#gbc1a524cdc028b34aaab64a51f7dd0c8axiom_xml_writer_write_start_document_with_version_encodinggroup__axiom__xml__writer.html#gc04ed21c2449d5ead09d7deca9fbfb18axiom_xml_writer_write_empty_element_with_namespacegroup__axiom__xml__writer.html#gf9edf4fa8cabfcad5c4df01f33ef5314Member axiom_xml_reader_get_namespace_uri_by_prefixgroup__axiom__xml__reader.html#g19fa07ce807e4e7b7442b46ccac57120Member axiom_xml_reader_cleanupgroup__axiom__xml__reader.html#gaaf09b4bb704c449270da3eebda5e813axiom_xml_reader_get_attribute_name_by_numbergroup__axiom__xml__reader.html#g41431f427bb3e0d68091225f346af9efMember axiom_text_serializegroup__axiom__text.html#gba5bb858827a9aee46b829926862dc46axiom_text_get_textgroup__axiom__text.html#g4025d1d2319b08b8cc797a99a316ae6bMember axiom_stax_builder_discard_current_elementgroup__axiom__stax__builder.html#g93547cae8f1309902bbf1f54b9d73dcfMember axiom_soap_header_block_is_processedgroup__axiom__soap__header__block.html#g9a567ec94c9574efa6a69b071b2fd23baxiom_soap_header_block_set_must_understand_with_boolgroup__axiom__soap__header__block.html#gc1c174c041c707b4ee0c1e752c68a850axiom_soap_header_get_soap_versiongroup__axiom__soap__header.html#g97f0b56a661fd9a5fd793a3eb22c963caxiom_soap_fault_value_get_base_nodegroup__axiom__soap__fault__value.html#g053a9854d77b033ae8655e9ca88be500axiom_soap_fault_text_set_langgroup__axiom__soap__fault__text.html#gddf6b270d8a7a242feebfcab0456884dMember axiom_soap_fault_role_set_role_valuegroup__axiom__soap__fault__role.html#g6603a9ab284b22b294ce54e7b01bf057Member axiom_soap_fault_reason_add_soap_fault_textgroup__axiom__soap__fault__reason.html#g7f1ab419bbb1d48404811c18d58ebef0axiom_soap_fault_node_freegroup__axiom__soap__fault__node.html#gd0154dab46d6359bec398b15c8366e32Member axiom_soap_fault_code_freegroup__axiom__soap__fault__code.html#gfdd4b60f7ffa4b77e26fed1bdc80c649Member axiom_soap_fault_get_base_nodegroup__axiom__soap__fault.html#g10bfdaaa36e70a7cab19f4d871cac698soap faultgroup__axiom__soap__fault.htmlaxiom_soap_envelope_set_soap_versiongroup__axiom__soap__envelope.html#g2d58cc830b1e909c68424349746e93a8Member axiom_soap_builder_set_callback_functiongroup__axiom__soap__builder.html#gecdfaf38e60ea4bdc42e9cde3bd25486axiom_soap_builder_set_mime_parsergroup__axiom__soap__builder.html#gea4871693c3e2aa81ae285bbe9c98a30Member axiom_soap_body_get_faultgroup__axiom__soap__body.html#ga5be4d54bfebaa44966685511e2ad96bsoap bodygroup__axiom__soap__body.htmlMember axiom_output_write_xml_version_encodinggroup__axiom__output.html#gd09c70236323b9999e97f25b88b872d2Member axiom_output_creategroup__axiom__output.html#g623e9e800d5694aa58f5017bbdf5ed29axiom_output_is_ignore_xml_declarationgroup__axiom__output.html#g81bff0ffb6194b14d744b02119ee1f64Member axiom_node_get_previous_siblinggroup__axiom__node.html#g39a92d131beb6295b849d9853ee89db7Member AXIOM_NAMESPACEgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab0e3fa55c496c56b36ecb55b60221890daxiom_node_get_last_childgroup__axiom__node.html#g9f55bfff8ac1c89995dfc93d47ddcd0aMember axiom_navigator_nextgroup__axiom__navigator.html#gb081ab166d7ef666c0e8dccd32c6a50aMember axiom_namespace_get_uri_strgroup__axiom__namespace.html#g01fee608906cecb26287af5228c2f713axiom_namespace_get_urigroup__axiom__namespace.html#g1d4201b66b3b7a312aefd73ae16c73b3Member axiom_mtom_caching_callback_ops_tgroup__caching__callback.html#gdba5b402b3a5bf007882d7f5e569435aMember axiom_mime_parser_creategroup__axiom__mime__parser.html#g05b3c82c78a50ffe9d1d05fffdc4c2eeMember axiom_element_set_textgroup__axiom__element.html#g01aeeeff52453bbee70f8b2dfd224b10Member axiom_element_get_is_emptygroup__axiom__element.html#g26bc8c60cd61379014ea37dcae83dec7Member axiom_element_declare_namespace_assume_param_ownershipgroup__axiom__element.html#g5ee04cdb4b674180c16c1068ae474e05axiom_element_extract_attributesgroup__axiom__element.html#g3bec8c8381b6f16b44077c75e3880f6faxiom_element_get_all_attributesgroup__axiom__element.html#g723f2020e8872c13fd7f7a0cf58ccf0baxiom_element_create_with_qnamegroup__axiom__element.html#g28d9a5d1d04720c5a152284f106a506caxiom_document_set_root_elementgroup__axiom__document.html#gca387e2c8ed19b5bd4123fc6455fa071axiom_doctype_creategroup__axiom__doctype.html#gf5a0bbfb2f36e549919f1aa3fb6982c8Member axiom_data_handler_set_content_typegroup__axiom__data__handler.html#gbd786bd0c93181d5232492e486d59799axiom_data_handler_add_binary_datagroup__axiom__data__handler.html#g59f350354c2e8ed104d5e2f1384552afMember axiom_comment_get_valuegroup__axiom__comment.html#g66d8119c3ee5f76a1b1bf71997ede19faxiom_children_with_specific_attribute_iterator_has_nextgroup__axiom__children__with__specific__attribute__iterator.html#g4965a74d2c7af2a6f0588c3cc15c13ecchildren qname iteratorgroup__axiom__children__qname__iterator.htmlMember axiom_child_element_iterator_freegroup__axiom__child__element__iterator.html#gc3408b3bce2aad5ff7e0d5f66684e583Member axiom_attribute_serializegroup__axiom__attribute.html#gac6dabe7926ef1275437d5b5d1363108axiom_attribute_create_strgroup__axiom__attribute.html#gb9836150f9d8af4256bcadace600c79fPage Deprecated Listdeprecated.htmlneethi_registry.h File Referenceneethi__registry_8h.htmlneethi_policy_get_alternativesneethi__policy_8h.html#4f7a87126951211c90220283f226a9bfneethi_operator_freeneethi__operator_8h.html#338af3286c7c2b3444f31808898f61c7Member neethi_engine_normalizeneethi__engine_8h.html#25af73071e5b0d2659b69c29f956d0beAXIS2_RM_STORAGE_MANAGERneethi__constants_8h.html#197f4a78429d4c45f2be96cb3a97dfc8AXIS2_MTOM_POLICY_NSneethi__constants_8h.html#27af3223216400fe28c69c9ae851f739neethi_assertion_serializeneethi__assertion_8h.html#ce431b7045056be7dc6451f5c84bd1eaneethi_assertion_tneethi__assertion_8h.html#22ae62af80f80f6b08a02b53b6f55769axutil_parse_request_url_for_svc_and_opgroup__axutil__utils.html#ge45e1f5b083cce22b4a19f2376ae534aAXUTIL_LOG_FILE_SIZEgroup__axutil__utils.html#g7542cb7bd76de099e14c5b1e966b9d78axutil_url_to_external_formgroup__axis2__core__transport__http.html#gd7799e682b56a35ce09dbe290b1f5fdaaxutil_uri_freegroup__axutil__uri.html#g28289798d5761887bd0c9d596f4af55dAXIS2_URI_UNP_OMITSITEPARTgroup__axutil__uri.html#g9fbeb5793112dac6d410949e2f9b8547AXIS2_URI_SSH_DEFAULT_PORTgroup__axutil__uri.html#g173cf9fac502ce166634f8cac97ad72baxutil_thread_mutex_destroygroup__axutil__thread.html#g7e441c4b47fe4466ff385e396258ead3axutil_thread_start_tgroup__axutil__thread.html#g8b1ee6e8fa770ee290503c43c087f633axutil_stack_tgroup__axis2__util__stack.html#g2f4bc12193c61ec2ccb06b04e39b6c0baxutil_qname_create_from_stringgroup__axutil__qname.html#gf1f907c61c777c414eccd333e4947b44axutil_param_dummy_free_fngroup__axutil__param.html#g768c11ad8c475b7b0bacb7469f42d8daAXIS2_PARAM_VALUE_FREEgroup__axutil__param.html#ga5c678036ca483c53d4a73a1fa85c8daaxutil_linked_list_to_arraygroup__axutil__linked__list.html#g4072abee56f46a98d34b66d8b41bea85axutil_linked_list_get_firstgroup__axutil__linked__list.html#g44896e7785095b36bed80d7c0b438a1aaxutil_http_chunked_stream_writegroup__axutil__http__chunked__stream.html#g4c48a899b5d7f16cdac71e98a04c86d2axutil_hash_getgroup__axutil__hash.html#gc9571a63cb988174c01e18634f9a93bbaxutil_env_enable_loggroup__axutil__env.html#g3a5d8481e405b8b63bd05df9b33b9ccdaxutil_dll_desc_get_error_codegroup__axutil__dll__desc.html#g7563dc8c130f0b318eefe3f7f004782faxutil_dll_desc_creategroup__axutil__dll__desc.html#gbf1b06f952b42a8d5d0fe9bed8796e56axutil_date_time_is_utcgroup__axutil__date__time.html#ga0f217050774bcc2c6d60f4f60852a4aaxutil_date_time_get_monthgroup__axutil__date__time.html#ga444d7cd64986d34e38f60f2e30aa67daxutil_class_loader_create_dllgroup__axutil__class__loader.html#g90ba5440dd4a1c6cdf43313a26bccb70axutil_base64_binary.haxutil__base64__binary_8h.htmlaxutil_array_list_creategroup__axutil__array__list.html#g97d190815f1d8ab2045c203ebd92919baxis2_transport_sender_creategroup__axis2__transport__sender.html#gd6e69829fc6298d56fe3bf89c523949baxis2_transport_receiver_ops_tgroup__axis2__transport__receiver.html#gf65f9d0fa8f0c218a317c0c53c692a2baxis2_transport_out_desc_get_fault_out_flowgroup__axis2__transport__out__desc.html#g36e3acc53b29852e92ad318de26ac385axis2_transport_in_desc_set_in_phasegroup__axis2__transport__in__desc.html#gd86f037c003fa111e619a7e9ae5474eaaxis2_svr_callback_handle_faultgroup__axis2__svr__callback.html#g047c37ee9b79b4dd89a3f55761e6506caxis2_svc_name_set_endpoint_namegroup__axis2__svc__name.html#g48f0c6167341579c0655b66b556cd1d3axis2_svc_grp_ctx_get_basegroup__axis2__svc__grp__ctx.html#gc0e89428bb66e652ddb0fd35bce6f62daxis2_svc_grp_is_param_lockedgroup__axis2__svc__grp.html#g9b85dce29fc8a1d23a29911ace09fe32axis2_svc_ctx_get_svcgroup__axis2__svc__ctx.html#g3c50b06c933101a834e178e6e9305237axis2_svc_client_get_auth_typegroup__axis2__svc__client.html#g9915f900a8e029e180b132bba116f5dbaxis2_svc_client_send_receivegroup__axis2__svc__client.html#g2748baf670a594d5bf8dd49d9038dbc5axis2_svc_client.h File Referenceaxis2__svc__client_8h.htmlaxis2_svc_add_module_qnamegroup__axis2__svc.html#ga45683c7b157225d4fd3d071337d7704axis2_svc_set_stylegroup__axis2__svc.html#gae80b545f3209e5b3a7afada2c8151e2axis2_svc_get_rest_op_list_with_method_and_locationgroup__axis2__svc.html#g084262a14dff6edf6e822e13a0c7bdfaaxis2_stub_freegroup__axis2__stub.html#gfc147a4a3fbdadfd5d92051fd7be69e5Member axis2_simple_http_svr_conn_createaxis2__simple__http__svr__conn_8h.html#4b1f415af7c9512db5e66d4eef1ba24caxis2_simple_http_svr_conn_taxis2__simple__http__svr__conn_8h.html#b04bf2e277b8c0935e6322d72cf2c21baxis2_phase_rule_is_lastgroup__axis2__phase__rule.html#gc8418e7c4a81d34a72a1c421c014c953axis2_phase_resolver_disengage_module_from_svcgroup__axis2__phase__resolver.html#g65dbd4a356861cb3517d4788f45b874caxis2_phase_holder_freegroup__axis2__phase__holder.html#gd8944d99a6a3a7ac43dfa474cf5e535aaxis2_phase_get_handler_countgroup__axis2__phase.html#gf518d1c97d2c1a16427259de20a80628AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEgroup__axis2__out__transport__info.html#g4c6d71c71837c7ec5109d73315421c5caxis2_options_get_soap_actiongroup__axis2__options.html#g67dbecc87ad94df19286a2a87178ce34axis2_options_set_relates_togroup__axis2__options.html#g209582f680d8310f26952d036d130b55axis2_options_get_sender_transport_protocolgroup__axis2__options.html#g99d8d5efc4c5cb0549c7ea93425f14f2axis2_options.h File Referenceaxis2__options_8h.htmlaxis2_op_ctx_initgroup__axis2__op__ctx.html#g53622e5d4c37263fc6261e2b08f9116eaxis2_op_client_prepare_soap_envelopegroup__axis2__op__client.html#g1fab78418f77376796c5d80703f28870axis2_op_client_tgroup__axis2__op__client.html#g6bc9ac9f149e65002cdfc265f8a7e505axis2_msg_recv_freegroup__axis2__msg__recv.html#gb83887c699d1bf14afb27ad65cf9b8d4axis2_msg_info_headers_get_actiongroup__axis2__msg__info__headers.html#g23bef716feab65ea5cea145875c7053daxis2_msg_info_headers_creategroup__axis2__msg__info__headers.html#g380a396ffcbb6e663cda2851630f018faxis2_msg_ctx_get_no_contentgroup__axis2__msg__ctx.html#g599cd11719450e641d1ef1a9b2bfd437axis2_msg_ctx_extract_transport_headersgroup__axis2__msg__ctx.html#g8c0f85aa52f15616c9864ff804f84149axis2_msg_ctx_set_current_handler_indexgroup__axis2__msg__ctx.html#g74993b805993c85cb0c9d104da6a6f7faxis2_msg_ctx_get_svc_grpgroup__axis2__msg__ctx.html#gb891cdde11906cc42a250459516acc8caxis2_msg_ctx_set_soap_actiongroup__axis2__msg__ctx.html#g7c76ec8bcc8ec1fa8728d60625de44c8axis2_msg_ctx_set_rest_http_methodgroup__axis2__msg__ctx.html#ge935eeecdb3a557edc1057ba572ff5c9axis2_msg_ctx_get_wsa_actiongroup__axis2__msg__ctx.html#g0d5ac74951bdd09c0d78f30899390c2baxis2_msg_ctx_get_server_sidegroup__axis2__msg__ctx.html#g644ee3f4d6e47f63cb1f3388db52f723axis2_msg_ctx_creategroup__axis2__msg__ctx.html#gcaafe43e332e370bc1e3f3c5d0f361a0axis2_msg_increment_refgroup__axis2__msg.html#g88c91bcaf0e249122383433ebc308c88axis2_msg_freegroup__axis2__msg.html#g168f956533c439c704e34253f1bf77b3axis2_module_desc_get_all_paramsgroup__axis2__module__desc.html#g4c5fa59c3c4ceca4cb2f57425f4e7838axis2_module_desc_freegroup__axis2__module__desc.html#gc448952574bfefeaa624d2d3e053cf89axis2_listener_manager_make_sure_startedgroup__axis2__listener__manager.html#g1e7458c7473be15ce253a9a0a5ff133faxis2_http_transport_utils.haxis2__http__transport__utils_8h.htmlaxis2_http_transport_utils_get_bad_requestaxis2__http__transport__utils_8h.html#0ae7682ee9001fc3cd8072371e3ce059axis2_http_transport_utils_transport_in_initaxis2__http__transport__utils_8h.html#5b1c4741faf0fe96b7fe03186c69abddaxis2_http_svr_thread_rungroup__axis2__http__svr__thread.html#g0c8d29b7372ac3dbf15a159c5fa514cdaxis2_http_simple_request_creategroup__axis2__http__simple__request.html#g1ede2c7bbd3f657b898f2b98c97e2a20axis2_http_simple_request.h File Referenceaxis2__http__simple__request_8h.htmlMember AXIS2_HTTP_SENDER_SET_OM_OUTPUTaxis2__http__sender_8h.html#b122bd22cd8254b7b1b1b370505c62d8axis2_http_sender_taxis2__http__sender_8h.html#6cd798fd88a2c7e86e4a93497b43fc50axis2_http_response_writer_write_chargroup__axis2__http__response__writer.html#g9368c11f97efadb018f9319d374fcf18axis2_http_request_line.h File Referenceaxis2__http__request__line_8h.htmlaxis2_http_header_create_by_strgroup__axis2__http__header.html#gea6446730aadb5a0ec0dfb43c9eb9bedaxis2_http_client_freegroup__axis2__http__client.html#g201ef99f4cd3520db5d6d6dddb93dfadaxis2_http_client.haxis2__http__client_8h.htmlaxis2_handler_desc_get_parentgroup__axis2__handler__desc.html#gc4ff89737d616b5c948731965e00b564axis2_handler_creategroup__axis2__handler.html#gf6ebc6af97f6e0f7f3709c3b474cb1e3axis2_flow_container_get_fault_in_flowgroup__axis2__flow__container.html#g60301ffa364f8eb0a003bf87d2ac47a9axis2_engine.haxis2__engine_8h.htmlaxis2_endpoint_ref_freegroup__axis2__endpoint__ref.html#g4bae551a22a4afaa171d2eb69373cfb0axis2_endpoint_ref_free_void_arggroup__axis2__endpoint__ref.html#ge08a42ff4f8c7c14db52be97ef6c75c8AXIS2_DISP_NAMESPACEgroup__axis2__disp.html#g42ef8731adead6a2e762ebd8388118c5AXIS2_EXECUTION_FAULT_CHAIN_KEYgroup__axis2__desc__constants.html#g2df623b0c60be4c12c415251ba683eb9axis2_desc_freegroup__axis2__description.html#gd72218caf033deeecd16ebf8240dd286axis2_ctx_freegroup__axis2__ctx.html#g6cc540335eb01194fc20626e774f9991axis2_conf_ctx.haxis2__conf__ctx_8h.htmlaxis2_conf_ctx_get_confgroup__axis2__conf__ctx.html#g118ac5ba83bb6ba1d8c054513d960d08axis2_conf_get_enable_mtomgroup__axis2__config.html#g5c41a261d23542a2df0e94da5920c993axis2_conf_set_in_fault_phasesgroup__axis2__config.html#gb9219d57c1060b93d19a39cc95ced711axis2_conf_get_modulegroup__axis2__config.html#g0821f7d4a53d5731c23d9be80fd5cbe0axis2_conf_freegroup__axis2__config.html#g06062b4f3ea3a4fb05c0e55d76f6ca8caxis2_callback_report_errorgroup__axis2__callback.html#gde78d3a3af4710cb489ae4a6e27a9dcfaxis2_any_content_type_add_valuegroup__axis2__any__content__type.html#gcd40c74289137bd053e5f39787469d7eAXIS2_WSA_DEFAULT_PREFIXgroup__axis2__addr__consts.html#g0a39a1ed9bcd873cef011bef81d20d85EPR_PORT_TYPEgroup__axis2__addr__consts.html#g08e974b9cc0517032404490c7e4a4c24axiom_xml_writer_write_rawgroup__axiom__xml__writer.html#g5229740973a7dc818a405bd209866071axiom_xml_writer_write_commentgroup__axiom__xml__writer.html#g62018bab93eafc410e4f4c2c0b2d5a93axiom_xml_writer_creategroup__axiom__xml__writer.html#g193830479789aa7b7c199a6abb390288axiom_xml_reader_get_namespace_countgroup__axiom__xml__reader.html#g5b6d2609022f69113b08cc5b592ce200axiom_xml_reader.h File Referenceaxiom__xml__reader_8h.htmlaxiom_soap_header_block.h File Referenceaxiom__soap__header__block_8h.htmlaxiom_soap_fault_value_set_textgroup__axiom__soap__fault__value.html#ga9675b73de88d4530e715c26c2d7fb95axiom_soap_fault_text_taxiom__soap__fault__text_8h.html#856143677551ccf99f784547853a70a4axiom_soap_fault_role_freegroup__axiom__soap__fault__role.html#g65884e3c4a1f088240630672ab24eb06axiom_soap_fault_node_get_base_nodegroup__axiom__soap__fault__node.html#ge0042486c9cf7de00a33470328b7b54faxiom_soap_fault_code.haxiom__soap__fault__code_8h.htmlaxiom_soap_fault_get_reasongroup__axiom__soap__fault.html#g849b1969173ab4ff6394867262770179axiom_soap_envelope_serializegroup__axiom__soap__envelope.html#gf409ccdda293c3e5b8b0e3da3e5417beaxiom_soap_builder_set_mime_body_partsgroup__axiom__soap__builder.html#g3402c29c059ffbb670cd412871b65e13axiom_soap_body_convert_fault_to_soap11group__axiom__soap__body.html#g9e5fafdf4c3be8634b6460caaf2483c0axiom_node_sub_tree_to_stringgroup__axiom__node.html#g7fa2bbf70033a1eb6943a9b2c1c4de59axiom_node_add_childgroup__axiom__node.html#gd0406c625e1dbde273a6010cf8bab38caxiom_mtom_caching_callback.haxiom__mtom__caching__callback_8h.htmlaxiom_mime_part.haxiom__mime__part_8h.htmlAXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNTaxiom__mime__parser_8h.html#1994f62327bfc331f511c7d9c27a4b2cXML_VERSIONaxiom__document_8h.html#32181f1cbd2b36ff63b31c33cf70e118axiom_data_source_creategroup__axiom__data__source.html#g9b82e6341822df244dead7cd94df063caxiom_data_handler_write_togroup__axiom__data__handler.html#g47e0e307ecd1fc27223fb67f10e194edaxiom_comment_freegroup__axiom__comment.html#g9635ad8ab4986d9ed2411937363b4427axiom_children_with_specific_attribute_iterator.h File Referenceaxiom__children__with__specific__attribute__iterator_8h.htmlaxiom_children_iterator_taxiom__children__iterator_8h.html#b71d40ed067d8252553a51b6de121946axiom_attribute_set_value_strgroup__axiom__attribute.html#g10bfe30de55eb9f2f19829b1578913c1axiom_attribute_creategroup__axiom__attribute.html#gda66e5da53578d93c34f0c717394605drp_transport_token_builder.hrp__transport__token__builder_8h-source.htmlrp_secpolicy_builder.hrp__secpolicy__builder_8h-source.htmlrp_https_token.hrp__https__token_8h-source.htmlneethi_mtom_assertion_checker.hneethi__mtom__assertion__checker_8h-source.htmlguththila.hguththila_8h-source.htmlaxutil_url.haxutil__url_8h-source.htmlAXIS2_URI_HTTPS_DEFAULT_PORTaxutil__uri_8h-source.html#l00066AXIS2_THREAD_MUTEX_DEFAULTaxutil__thread_8h-source.html#l00181axutil_param_container.haxutil__param__container_8h-source.htmlAXIS2_LOG_LEVEL_USERaxutil__log_8h-source.html#l00076axutil_hash_taxutil__hash_8h-source.html#l00056axutil_env::erroraxutil__env_8h-source.html#l00066axutil_allocator::current_poolaxutil__allocator_8h-source.html#l00109axis2_transport_receiver_opsaxis2__transport__receiver_8h-source.html#l00068AXIS2_SVC_SKELETON_FREEaxis2__svc__skeleton_8h-source.html#l00163axis2_svc_ctx.haxis2__svc__ctx_8h-source.htmlaxis2_phases_info_taxis2__phases__info_8h-source.html#l00054axis2_phase_taxis2__phase_8h-source.html#l00076axis2_op_ctx.haxis2__op__ctx_8h-source.htmlAXIS2_DEFAULT_CHAR_SET_ENCODINGaxis2__msg__ctx_8h-source.html#l00077axis2_module_shutdownaxis2__module_8h-source.html#l00148AXIS2_HTTP_TRANSPORT_ERRORaxis2__http__transport_8h-source.html#l00970AXIS2_HTTP_PROXYaxis2__http__transport_8h-source.html#l00878AXIS2_HTTP_RESPONSE_HTTP_FORBIDDENaxis2__http__transport_8h-source.html#l00791AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAINaxis2__http__transport_8h-source.html#l00705AXIS2_HTTP_HEADER_CACHE_CONTROLaxis2__http__transport_8h-source.html#l00618AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSEaxis2__http__transport_8h-source.html#l00529AXIS2_HTTP_HEADER_CONTENT_LANGUAGEaxis2__http__transport_8h-source.html#l00441AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAMEaxis2__http__transport_8h-source.html#l00353AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAMEaxis2__http__transport_8h-source.html#l00267AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VALaxis2__http__transport_8h-source.html#l00177AXIS2_HTTP_RESPONSE_ACK_CODE_VALaxis2__http__transport_8h-source.html#l00091AXIS2_HTTP_SENDER_FREEaxis2__http__sender_8h-source.html#l00208axis2_http_header.haxis2__http__header_8h-source.htmlaxis2_endpoint_ref.haxis2__endpoint__ref_8h-source.htmlAXIS2_EXECUTION_FAULT_CHAIN_KEYaxis2__description_8h-source.html#l00068axis2_conf_ctx_taxis2__conf__ctx_8h-source.html#l00049AXIS2_WSA_PREFIX_MESSAGE_IDaxis2__addr_8h-source.html#l00157AXIS2_WSA_ANONYMOUS_URL_SUBMISSIONaxis2__addr_8h-source.html#l00100AXIS2_WSA_MESSAGE_IDaxis2__addr_8h-source.html#l00045axiom_xpath_context::functionsaxiom__xpath_8h-source.html#l00129axiom_xpath.haxiom__xpath_8h-source.htmlaxiom_soap_fault_node.haxiom__soap__fault__node_8h-source.htmlAXIOM_COMMENTaxiom__node_8h-source.html#l00077AXIOM_MIME_PART_BUFFERaxiom__mime__part_8h-source.html#l00048axiom_attribute.haxiom__attribute_8h-source.htmlstruct axutil_log_opsstructaxutil__log__ops.htmlstruct axutil_errorstructaxutil__error.htmlaxutil_env::allocatorstructaxutil__env.html#87272b6ccdf0c983d462705f78c466f0axutil_allocator Struct Referencestructaxutil__allocator.htmlaxis2_transport_sender_ops::invokestructaxis2__transport__sender__ops.html#4505f960f783bc86aa9e44b7a45d0a02axis2_transport_receiver_ops::is_runningstructaxis2__transport__receiver__ops.html#ded8017d792312c9ddcef119c2ffaeb4axis2_svc_skeleton_ops::freestructaxis2__svc__skeleton__ops.html#9b16e26ef87c9c4d460ee903adf70da3axis2_module_ops::initstructaxis2__module__ops.html#38448a11b9ccf9d0f9c53102fa12423eaxiom_xpath_result::nodesstructaxiom__xpath__result.html#bafb4ff3d0383acf641635ad5f6ec680Member axiom_xpath_context::exprstructaxiom__xpath__context.html#14c81c80f9a4de981dd4994de028e56faxiom_xpath_context::attributestructaxiom__xpath__context.html#195be613871ae670bbf7a22820a582efMember axiom_xml_writer_ops::write_cdatastructaxiom__xml__writer__ops.html#dc350f03c1f39657762665d91e3da7deMember axiom_xml_writer_ops::write_start_elementstructaxiom__xml__writer__ops.html#c06223c3d060d8a16219daf284c31b25axiom_xml_writer_ops::write_cdatastructaxiom__xml__writer__ops.html#dc350f03c1f39657762665d91e3da7deaxiom_xml_writer_ops::write_start_elementstructaxiom__xml__writer__ops.html#c06223c3d060d8a16219daf284c31b25Member axiom_xml_reader_ops::get_namespace_countstructaxiom__xml__reader__ops.html#2313a482156cba054e9ab475f36a1606axiom_xml_reader_ops::get_prefixstructaxiom__xml__reader__ops.html#fb35c54f64deebf15f5e46040e12e47dstruct axiom_mtom_sending_callback_opsstructaxiom__mtom__sending__callback__ops.htmlrp_x509_token_set_require_thumb_print_referencegroup__rp__x509__token.html#gdbfcc2bd6024dfb1ccbc6126fbb0662eRp_x509_tokengroup__rp__x509__token.htmlrp_wss11_get_must_support_ref_key_identifiergroup__wss11.html#gde6e24c38fd1e18b9d59fddff88f65ferp_wss10_creategroup__wss10.html#g6d08375d18f74af7bb4b74fd650c9fd2rp_username_token_get_useUTprofile10group__rp__username__token.html#g1ee50ae6dce252d77beeb17ecc65afb6rp_transport_binding_get_binding_commonsgroup__rp__transport__binding.html#g902d7ebf985db6e0184782014590ec46rp_token_get_derivedkey_typegroup__rp__token.html#g1dc621b0ae187cbff095d89e3ab066c7rp_symmetric_binding_get_symmetric_asymmetric_binding_commonsgroup__rp__symmetric__binding.html#g9c27802ec6dc789431ccd71813854f28rp_symmetric_asymmetric_binding_commons_tgroup__rp__assymmetric__symmetric__binding__commons.html#g82e1e0461f1271d287fa4ab4dd881759rp_supporting_tokens_add_tokengroup__rp__supporting__tokens.html#gaca6dec4029241316cd3044dca6113a7rp_signed_encrypted_parts_get_bodygroup__rp__signed__encrypted__parts.html#gf839c66972aa1c486ead5fa3e42f2763rp_signed_encrypted_elements_get_xpath_expressionsgroup__rp__signed__encrypted__elements.html#gba4e1e5b7598b0e8370478c17ec542adrp_security_context_token_get_issuergroup__rp__security__context__token.html#gca36b8bd24a920807f2518a11f65e0c0rp_secpolicy_get_trust10group__rp__secpolicy.html#gcdf34fc7db08dfabffb418948c742746rp_secpolicy_set_signed_partsgroup__rp__secpolicy.html#g093544e2e18ed5ab2342f3e9d846e907rp_recipient_token_builder_buildgroup__rp__recipient__token__builder.html#g70988c9488eed843670f8c9fdd8e370frp_rampart_config_set_receiver_certificate_filegroup__rp__rampart__config.html#ga8547d6c11643405dd817e81e5f5f87frp_rampart_config_get_usergroup__rp__rampart__config.html#gb6433a7aeb90b430b5be5887c83d2ddcRp_policy_creatorgroup__rp__policy__creator.htmlrp_trust10_set_must_support_server_challengegroup__trust10.html#ga0ee850f1d4ebfcaa22f47e3da8ae31frp_issued_token_set_issuer_eprgroup__trust10.html#g27977ba4ed6a0bac958a2ab4215c7893rp_https_token_get_derivedkeysgroup__rp__https__token.html#gd557cafab1cf3c70995e8e0b176e7eb0rp_element_set_namespacegroup__rp__element.html#g0f43ff2e0246b8423ef83448ff3bddddRP_RD_MODULEgroup__rp__defines.html#g560255ec563fc92067d8841dfeadffb1RP_REQUIRE_CLIENT_CERTIFICATEgroup__rp__defines.html#gc90b211d2a22268ad99cc6e6eb9ef20dRP_WSS_X509_PKI_PATH_V1_TOKEN_10group__rp__defines.html#gbc17896a554edf75cb24ff3829b56d66RP_INCLUDE_ALWAYS_TO_RECIPIENTgroup__rp__defines.html#g5862b0ab6fc62fea706e88cb0440dc31RP_XPATH10group__rp__defines.html#gc00f8029db9a1716d516d27b72cc0d82RP_KW_AES256group__rp__defines.html#gb33a68862c49226f4bc038891340eae5RP_ALGO_SUITE_BASIC128_SHA256group__rp__defines.html#g83a715e194d15d3d0f74b2e2399c1479RP_LAYOUTgroup__rp__defines.html#gea62afd7d606597d93cc92ee23d4ba24RP_MUST_SUPPORT_REF_EXTERNAL_URIgroup__rp__defines.html#g84e3ec0420d0cc1039baceb7e09b7914RP_ENCRYPTED_ELEMENTSgroup__rp__defines.html#gc9d81bb4f911e761ff3e1e9fd434e9f0rp_binding_commons_set_supporting_tokensgroup__rp__binding__commons.html#g49afb1636ef0a7caa7b7b1110b2d889eRp_binding_commonsgroup__rp__binding__commons.htmlrp_algorithmsuite_get_encryption_derivation_keylengthgroup__rp__algoruthmsuite.html#g617f805368baae2eda54b1ff193b34f7rp_algorithmsuite_get_max_asymmetric_keylengthgroup__rp__algoruthmsuite.html#g90c36425ca8ec73750d10862c03641ebRp_algoruthmsuitegroup__rp__algoruthmsuite.htmlaxutil_url_decodegroup__axutil__utils.html#g3f4e6e5f6cbe22739225e5c3b758df65AXIS2_PARAM_CHECKgroup__axutil__utils.html#g991e733569102d01d912614940aca452Member axutil_uri_creategroup__axutil__uri.html#g935c3b7a98e6a20f2020ab3369da88e5Member AXIS2_URI_RTSP_DEFAULT_PORTgroup__axutil__uri.html#g0e844d7bf3c95b104e6a25b4680a3263axutil_uri_get_hostgroup__axutil__uri.html#gaec4183fc0c510ca0e2a2038d6ed4a8dAXIS2_URI_UNP_REVEALPASSWORDgroup__axutil__uri.html#ge4deae533f770383007885c27f9eb977AXIS2_URI_POP_DEFAULT_PORTgroup__axutil__uri.html#g641f01da5297ffdc17302e3a35ec5df9Member axutil_thread_pool_thread_detachgroup__axutil__thread__pool.html#ga9a805c61ea2a61f0d92f2d298ea9fa1thread poolgroup__axutil__thread__pool.htmlMember axutil_threadattr_tgroup__axutil__thread.html#g00ba127eb9ea681435b79dfd52132bc9axutil_thread_joingroup__axutil__thread.html#g4503fd95978af26c67875430c4cf11d9Member axutil_strmemdupgroup__axutil__string__utils.html#gd2bde5b665c91059e573e276db3fe33eaxutil_strltrimgroup__axutil__string__utils.html#g592e5c82f2b613f0776a19cb15793b97Member axutil_string_get_lengthgroup__axutil__string.html#gca7b79811404b25130d326842b74c414axutil_string_tgroup__axutil__string.html#ge626ca685d2c7ab277723626388a7c00axutil_stream_flushgroup__axutil__stream.html#g59565fe2351e9ac672d0a669a1f49138AXUTIL_STREAM_SKIPgroup__axutil__stream.html#gb35a064efb3ec7962b8bc225f5d9ec6eMember axutil_rand_with_rangegroup__axutil__rand.html#gc3ab8d15d9b62a720c6a2b423ea578ebaxutil_qname_clonegroup__axutil__qname.html#g2f085b6bb1bb492f5dab48f14d5c544daxutil_property_create_with_argsgroup__axutil__property.html#ged645c265ef719bd0b9513fc1e04d699axutil_properties_creategroup__axutil__properties.html#g302e608ffd3717db9df97520f165f3a5axutil_param_container_tgroup__axutil__param__container.html#g8af5f81b6afd788f15cb87ac5c992e9caxutil_param_set_value_listgroup__axutil__param.html#gbebcc4d30b84c633742bfde71e2cf101parametergroup__axutil__param.htmlaxutil_network_handler_close_socketgroup__axutil__network__handler.html#g71fbbdcbc95a7ddf46dc34e652d4b79cmd5group__axutil__md5.htmlaxutil_log_impl_log_tracegroup__axutil__log.html#g951c8904b99a0009c2d3decab82c16e2AXIS2_LOG_USER_MSGgroup__axutil__log.html#gb865d69c9520f5805b5e4e939e867c9cMember axutil_linked_list_remove_lastgroup__axutil__linked__list.html#g275168372eb9ef197be1565946651a2cMember axutil_linked_list_add_firstgroup__axutil__linked__list.html#g8b4efcdc1364da7880fb40603f4925d8axutil_linked_list_containsgroup__axutil__linked__list.html#g0382c1da7f8f02d41a6c8993800af85bMember axutil_http_chunked_stream_readgroup__axutil__http__chunked__stream.html#g5757665e6c5f81846dde7f69fa0a5413Member axutil_hash_thisgroup__axutil__hash.html#ga6297355c83ada8f228ab1d6f46e3b50Member AXIS2_HASH_KEY_STRINGgroup__axutil__hash.html#g9d76d1650779662f4e6727f4284e34d9axutil_hashfunc_tgroup__axutil__hash.html#gb07fdbe39a3c5b3fdaed1a8c8d1a177baxutil_file_handler_sizegroup__axutil__file__handler.html#g9a922a8eb66876dfdbc27fcd47439383filegroup__axutil__file.htmlaxutil_error_set_error_numbergroup__axutil__error.html#g46da3d930c143544e58b130b2ebbbb4bMember axutil_env_create_allgroup__axutil__env.html#g2dc8a2c80be26e619410e196725a9599AXIS_ENV_FREE_THREADPOOLgroup__axutil__env.html#g79f0bf625d0f1496c0bfba6089b8b158axutil_duration_get_monthsgroup__axutil__duration.html#g280ca69f68cef6831e97d62617c541d6axutil_dll_desc_get_timestampgroup__axutil__dll__desc.html#g1c1053fcbea97ccb06e55cc3b6d829caaxutil_dll_desc_free_void_arggroup__axutil__dll__desc.html#g64b825421301ea4a814529b9a4191400axutil_digest_calc_get_h_a1group__axutil__digest__calc.html#g0d599c73edbb99c815d66eeb05963819Member axutil_date_time_get_yeargroup__axutil__date__time.html#g0004b9c5cc5e1a1a5b3e3f517a7fcde5axutil_date_time_set_time_zonegroup__axutil__date__time.html#g8d08022eecfba692d230b028570c2cacaxutil_date_time_serialize_timegroup__axutil__date__time.html#gad77bd48f8d22855617fc1678c08e8adMember axutil_base64_binary_get_encoded_binary_lengroup__axutil__base64__binary.html#ge89f2a3f7e788c995ab764df3ba896cdaxutil_base64_binary_creategroup__axutil__base64__binary.html#gd4034fe75ef4f78c96a3d4a621e05261Member axutil_array_list_addgroup__axutil__array__list.html#g507c7dbb9fe09bbca571739e64ff9835axutil_array_list_creategroup__axutil__array__list.html#g97d190815f1d8ab2045c203ebd92919ballocatorgroup__axutil__allocator.htmlMember axis2_transport_receiver_stopgroup__axis2__transport__receiver.html#g473f9011903bfe42bacb4800979f47a9axis2_transport_receiver_ops_tgroup__axis2__transport__receiver.html#gf65f9d0fa8f0c218a317c0c53c692a2bMember axis2_transport_out_desc_get_enumgroup__axis2__transport__out__desc.html#gc56b3eb46671968107d9f6e2a8421c66axis2_transport_out_desc_get_sendergroup__axis2__transport__out__desc.html#g4e924632fe992d0be5e5ba163636a301Member axis2_transport_in_desc_is_param_lockedgroup__axis2__transport__in__desc.html#g4554acd6e4b3179b241a5ae1bc187895axis2_transport_in_desc_get_paramgroup__axis2__transport__in__desc.html#g1985a26ee0e62392581b1a0092afae5ftransport in descriptiongroup__axis2__transport__in__desc.htmlAXIS2_THREAD_MUTEX_NESTEDgroup__axis2__mutex.html#g4c1de3e53fdd5e35bff45518bf01adb9Member AXIS2_SVC_SKELETON_INVOKEgroup__axis2__svc__skeleton.html#ge181b2f813a771eea6d587f3f2652e7eMember axis2_svc_name_get_endpoint_namegroup__axis2__svc__name.html#g0dcc0f40f026a534ec485569f049b702Member axis2_svc_grp_ctx_get_svc_ctxgroup__axis2__svc__grp__ctx.html#gb928c64e7297cf73eabac7dd6c851ecdaxis2_svc_grp_ctx_get_parentgroup__axis2__svc__grp__ctx.html#g237da85b5cccbee2d725b59a4885d892Member axis2_svc_grp_get_all_module_refsgroup__axis2__svc__grp.html#g3a16449604a71def11e817c5f076e2e1axis2_svc_grp_get_all_module_refsgroup__axis2__svc__grp.html#g3a16449604a71def11e817c5f076e2e1axis2_svc_grp_freegroup__axis2__svc__grp.html#gd9a82fef7fbe4a5a307833c04add09cdaxis2_svc_ctx_get_conf_ctxgroup__axis2__svc__ctx.html#gf0645d1d2501588e81ba725137927348Member axis2_svc_client_set_override_optionsgroup__axis2__svc__client.html#g59e0659abbb66ae2100a66e93d692462Member axis2_svc_client_get_last_response_soap_envelopegroup__axis2__svc__client.html#g53d3a7c3bd84013e1ace71061b0ef98cMember axis2_svc_client_tgroup__axis2__svc__client.html#g09ddaee99db86733d6550231293be4e7axis2_svc_client_set_proxy_with_authgroup__axis2__svc__client.html#gcfe99e1b20b72175564545aa3643a578axis2_svc_client_engage_modulegroup__axis2__svc__client.html#ge2df35732ba09cb585e44917306ecfcdMember axis2_svc_set_parentgroup__axis2__svc.html#g260a062049966a472bd05355015736afMember axis2_svc_get_param_containergroup__axis2__svc.html#gb0e91f0337ca9f35a18cd119df3821feMember axis2_svc_creategroup__axis2__svc.html#gc45855d3d550a76bcca692eaa51dfdcbaxis2_svc_set_ns_mapgroup__axis2__svc.html#g7d09d2191060dc07c499d61790f29d7eaxis2_svc_get_svc_descgroup__axis2__svc.html#g52c960cead461a124b76b2fb4e3835b2axis2_svc_get_qnamegroup__axis2__svc.html#gb08959beaff32b83172f690ca959f65fMember axis2_stub_get_svc_ctx_idgroup__axis2__stub.html#gc313e3c8e03ada17a04e4049121d41d7axis2_stub_set_soap_versiongroup__axis2__stub.html#gcffd202b2340ff245a1c972669b8ad39axis2_rm_assertion_get_polling_wait_timegroup__axis2__rm__assertion.html#g5d8f7981429cd47fc820efc45c34f8d3axis2_rm_assertion_set_inactivity_timeoutgroup__axis2__rm__assertion.html#g15f4e2d1df8631b0e2d507892dc4192aAxis2_rm_assertiongroup__axis2__rm__assertion.htmlMember axis2_raw_xml_in_out_msg_recv_creategroup__axis2__raw__xml__in__out__msg__recv.html#g63d91c00d597889af851c8298f4c428faxis2_policy_include_get_descgroup__axis2__policy__include.html#g62d08920cfb650a0721c52dd10db56bfMember axis2_phases_info_get_out_phasesgroup__axis2__phases__info.html#gf807906bcf7e5b6d7bd870b144c8f859axis2_phases_info_get_op_out_phasesgroup__axis2__phases__info.html#g04efe888d0f162730818d214fd52a6d2Member axis2_phase_rule_set_aftergroup__axis2__phase__rule.html#g5e8872d7d5383aaaaee7ac6d200a7303axis2_phase_rule_is_firstgroup__axis2__phase__rule.html#g07d9af90e9929dfad686b7f3494912adMember axis2_phase_resolver_creategroup__axis2__phase__resolver.html#g13fa6c6ea63393abfbb1740161a07555axis2_phase_resolver_freegroup__axis2__phase__resolver.html#gec0d6b1a44b15361b0c840ef947572dfAXIS2_PHASE_PRE_DISPATCHgroup__axis2__phase__meta.html#gf40412ff9247930d8cfbcb62a2ac76edaxis2_phase_holder_remove_handlergroup__axis2__phase__holder.html#g75e5acc55fdf29ee948daca03b582a6aMember axis2_phase_get_handler_countgroup__axis2__phase.html#gf518d1c97d2c1a16427259de20a80628axis2_phase_get_all_handlersgroup__axis2__phase.html#g7a5ebcc5fa87ec0057a8d49a099e904dAXIS2_PHASE_AFTERgroup__axis2__phase.html#g6c7946dfabebe6b1651c4e444f6981fdMember axis2_options_set_transport_receivergroup__axis2__options.html#g3b599f4516c8eb809d9c957f79e3b348Member axis2_options_set_propertiesgroup__axis2__options.html#g585f0123a394ba50e4aa472a026517b7Member axis2_options_get_transport_in_protocolgroup__axis2__options.html#gd49160ba8b51fd82aafdc8bbd034851aMember axis2_options_get_fault_togroup__axis2__options.html#g283b491d25be268924fdfb3410003cceaxis2_options_set_http_methodgroup__axis2__options.html#g1c7eff578547cf234abd57ea34f2e0b9axis2_options_add_reference_parametergroup__axis2__options.html#g37109110cd1537d898fd4ec78787988eaxis2_options_set_fault_togroup__axis2__options.html#g14e60636d93226301003417edc5c96a0axis2_options_get_transport_receivergroup__axis2__options.html#g2503c35d1dd383cc8f18cba198097df3Member axis2_op_ctx_get_parentgroup__axis2__op__ctx.html#g2c28e9321f282f79b6aa7b5575171fd5axis2_op_ctx_get_response_writtengroup__axis2__op__ctx.html#g875d36b0b70b77d84f99969da22e462fMember axis2_op_client_two_way_sendgroup__axis2__op__client.html#g2325f68d3df4f2b324354837f5f7b20cMember axis2_op_client_get_msg_ctxgroup__axis2__op__client.html#g93425b6dc6cf293b02480959b276d1fdaxis2_op_client_set_soap_actiongroup__axis2__op__client.html#ge0632b67dbea1fc8f7ae1f7708e1b98daxis2_op_client_get_msg_ctxgroup__axis2__op__client.html#g93425b6dc6cf293b02480959b276d1fdMember axis2_op_set_in_flowgroup__axis2__op.html#g50f9a012ec96509acddeb84071ec2f32Member axis2_op_get_in_flowgroup__axis2__op.html#gc7238b80fb87bc6b56ee74d1cf80a7d4Member axis2_op_add_paramgroup__axis2__op.html#g642a38669d70655fa4ba8dd3be359aa0axis2_op_find_existing_op_ctxgroup__axis2__op.html#g41ce1517f61709b1fd0819a86671f5bfaxis2_op_get_stylegroup__axis2__op.html#ga0a58defbcb90d40ab35416225af044faxis2_op_free_void_arggroup__axis2__op.html#gccd673b28205b690db8852990efd1ebeaxis2_msg_recv_creategroup__axis2__msg__recv.html#g42a2c7d0a184de466763b4502cf48897AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGICgroup__axis2__msg__recv.html#g0a445de327b47b4cd88e5dabf610c810Member axis2_msg_info_headers_get_reply_to_nonegroup__axis2__msg__info__headers.html#gaa81e0e4e5e338f395c2682ab11c665daxis2_msg_info_headers_add_ref_paramgroup__axis2__msg__info__headers.html#ga95d76b3311e4885959e2a5609a327f0axis2_msg_info_headers_get_reply_to_nonegroup__axis2__msg__info__headers.html#gaa81e0e4e5e338f395c2682ab11c665dMember axis2_msg_ctx_set_transport_headersgroup__axis2__msg__ctx.html#g71be3edb48396a26b8adbd307df23376Member axis2_msg_ctx_set_reply_togroup__axis2__msg__ctx.html#g35bc63b6c82bdcc9fce81815e3ca5c4cMember axis2_msg_ctx_set_manage_sessiongroup__axis2__msg__ctx.html#g28c3e7dd62554357c3fd42c9b6e9dc48Member axis2_msg_ctx_set_do_rest_through_postgroup__axis2__msg__ctx.html#ge24672999a7262595e06e6453c5bce32Member axis2_msg_ctx_get_transport_out_streamgroup__axis2__msg__ctx.html#g1537c848176093a8cdcc4f02721a052dMember axis2_msg_ctx_get_rest_http_methodgroup__axis2__msg__ctx.html#g04e668915c0d36e60757110e446b6c94Member axis2_msg_ctx_get_optionsgroup__axis2__msg__ctx.html#g8af21689d7304ae4712308a4951a071eMember axis2_msg_ctx_get_fault_togroup__axis2__msg__ctx.html#g67ec8b0b713a7e2f0f0ba6d04ea8c483Member axis2_msg_ctx_extract_transport_headersgroup__axis2__msg__ctx.html#g8c0f85aa52f15616c9864ff804f84149Member AXIS2_HTTP_CLIENTgroup__axis2__msg__ctx.html#g54e451fddf8b69dd8a9cd357d81a2525axis2_msg_ctx_get_no_contentgroup__axis2__msg__ctx.html#g599cd11719450e641d1ef1a9b2bfd437axis2_msg_ctx_extract_transport_headersgroup__axis2__msg__ctx.html#g8c0f85aa52f15616c9864ff804f84149axis2_msg_ctx_set_current_handler_indexgroup__axis2__msg__ctx.html#g74993b805993c85cb0c9d104da6a6f7faxis2_msg_ctx_get_svc_grpgroup__axis2__msg__ctx.html#gb891cdde11906cc42a250459516acc8caxis2_msg_ctx_set_soap_actiongroup__axis2__msg__ctx.html#g7c76ec8bcc8ec1fa8728d60625de44c8axis2_msg_ctx_set_rest_http_methodgroup__axis2__msg__ctx.html#ge935eeecdb3a557edc1057ba572ff5c9axis2_msg_ctx_get_wsa_actiongroup__axis2__msg__ctx.html#g0d5ac74951bdd09c0d78f30899390c2baxis2_msg_ctx_get_server_sidegroup__axis2__msg__ctx.html#g644ee3f4d6e47f63cb1f3388db52f723axis2_msg_ctx_creategroup__axis2__msg__ctx.html#gcaafe43e332e370bc1e3f3c5d0f361a0Member axis2_msg_set_namegroup__axis2__msg.html#gc15cc16ed5f275763b938f3ae63d6566Member axis2_msg_add_paramgroup__axis2__msg.html#g4a04523e93cd4066b038f14d31f3d60eaxis2_msg_get_flowgroup__axis2__msg.html#ga008e28053a1c980b867502b0619a6a2Member axis2_module_desc_set_out_flowgroup__axis2__module__desc.html#g7eb90b76e13c85492f9b27c2eca2a965Member axis2_module_desc_get_all_opsgroup__axis2__module__desc.html#gd780223e3a54586ef6bf173c49eb9d9baxis2_module_desc_get_all_paramsgroup__axis2__module__desc.html#g4c5fa59c3c4ceca4cb2f57425f4e7838axis2_module_desc_freegroup__axis2__module__desc.html#gc448952574bfefeaa624d2d3e053cf89Member axis2_listener_manager_stopgroup__axis2__listener__manager.html#g6c4f3cd813f06a94d27a9780328ac8bdMember axis2_http_worker_process_requestgroup__axis2__http__worker.html#ga1cebc142b582731d6ccfe31e4eec310Member AXIS2_SSL_SERVER_CERTgroup__axis2__core__transport__http.html#ge0929a3f90d6e2dfb8e7bea7bfed8feeMember AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VALgroup__axis2__core__transport__http.html#g1687d47d798827fa045c2a4611ab6c99Member AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VALgroup__axis2__core__transport__http.html#g08b3f107882bd3a332c004c5d4d9b7a3Member AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VALgroup__axis2__core__transport__http.html#g36e0ac6317c7ca0c8a2f6a54404c6325Member AXIS2_HTTP_RESPONSE_CODEgroup__axis2__core__transport__http.html#ga2cd15599158f56d3e036c5907508af7Member AXIS2_HTTP_POSTgroup__axis2__core__transport__http.html#ga87daff52ebfdd522beeb0844766da32Member AXIS2_HTTP_HEADER_PRAGMAgroup__axis2__core__transport__http.html#gfc3e05270a7f8ae8af02d7cc15d3724eMember AXIS2_HTTP_HEADER_CONNECTION_CLOSEgroup__axis2__core__transport__http.html#g0745113aa6cb35e49d86f070aa06c0a3Member AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAPgroup__axis2__core__transport__http.html#g336ac19a399cec8114b60826e13b19ddMember AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URIgroup__axis2__core__transport__http.html#g4100ea09340e7b246a25284f6d05f8a4Member AXIS2_HTTP_AUTH_UNAMEgroup__axis2__core__transport__http.html#gf93be7aaeac489dffd2b85935126dc75AXIS2_ACTIONgroup__axis2__core__transport__http.html#ge128477d722baeeef0d1273931a91d94AXIS2_SPACE_COMMAgroup__axis2__core__transport__http.html#gd690b137778e20faf2803d871b03114aAXIS2_ESC_DOUBLE_QUOTEgroup__axis2__core__transport__http.html#gb95189e3f3c2589194ab0342b05742c9AXIS2_HTTP_AUTH_PASSWDgroup__axis2__core__transport__http.html#g211b7ae484a689bc5e38973c350cc4c8AXIS2_HTTP_DEFAULT_CONTENT_CHARSETgroup__axis2__core__transport__http.html#gf450a14ac41665f1d287cc2dd4c3cd0bAXIS2_HTTP_HEADER_SET_COOKIE2group__axis2__core__transport__http.html#g409d0d7c0661ff91bb8923099bd9ae4cAXIS2_HTTP_HEADER_ACCEPT_CHARSETgroup__axis2__core__transport__http.html#g449a06d1832f3499d7f44477297aa5cfAXIS2_HTTP_HEADER_SERVERgroup__axis2__core__transport__http.html#g6e8577f55d5317c01346f869befc1609AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOPgroup__axis2__core__transport__http.html#g3e33d733374ae941ae9533f90bf13fc9AXIS2_HTTP_HEADER_CONTENT_LENGTHgroup__axis2__core__transport__http.html#g0e020ef249d8e47b4894f32cae5ae7a5AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAMEgroup__axis2__core__transport__http.html#gfd86c42e8c3d0feb6a3d42845223d740AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAMEgroup__axis2__core__transport__http.html#g58002cf4b89ea44cf210685f5d001738AXIS2_HTTP_RESPONSE_GONE_CODE_VALgroup__axis2__core__transport__http.html#g6881bcfbbe4e80727cb59fa79f18ae34AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VALgroup__axis2__core__transport__http.html#gf5e0ce61d5368cdcc201bc10f6ef60f7axutil_url_set_pathgroup__axis2__core__transport__http.html#gab145b757ab29cc16d40fdad2b388000Member axis2_http_svr_thread_set_workergroup__axis2__http__svr__thread.html#g163b488819242f3e0f5120d7d645980dMember axis2_http_status_line_to_stringgroup__axis2__http__status__line.html#g319d008ee6dbd9e639c652b73c8ad73fhttp status linegroup__axis2__http__status__line.htmlMember axis2_http_simple_response_get_bodygroup__axis2__http__simple__response.html#g49d3ca8a7650d3c713be403293c6f49daxis2_http_simple_response_set_body_streamgroup__axis2__http__simple__response.html#g87033017e9714d33e9d3ae68904a52e6axis2_http_simple_response_tgroup__axis2__http__simple__response.html#g5ebc18702d80d368692d1922f9accb1fMember axis2_http_simple_request_tgroup__axis2__http__simple__request.html#g587c6b13c2e9b94b68e3a2a142cc3416http simple requestgroup__axis2__http__simple__request.htmlMember axis2_http_response_writer_tgroup__axis2__http__response__writer.html#g2259f3ec5abf54528a6b9797e8188771Member axis2_http_request_line_get_urigroup__axis2__http__request__line.html#g710583159d531db8e4a504920d820f07Member axis2_http_out_transport_info_free_void_arggroup__axis2__http__out__transport__info.html#g8ff11c179d868a06362b9dea7edb3d5cAXIS2_HTTP_OUT_TRANSPORT_INFO_FREEgroup__axis2__http__out__transport__info.html#g3174b25bfefbe35ad05b2ecf2a24efb0axis2_http_header_to_external_formgroup__axis2__http__header.html#g405ecf563b1d8c47c22b21900b53f7b1Member axis2_http_client_freegroup__axis2__http__client.html#g201ef99f4cd3520db5d6d6dddb93dfadaxis2_http_client_connect_ssl_hostgroup__axis2__http__client.html#g2a31de92919bfbbd389babce202686ebMember axis2_http_accept_record_creategroup__axis2__http__accept__record.html#g45d98a462f88abf99d5a80f28ae3062dMember axis2_handler_desc_get_parentgroup__axis2__handler__desc.html#gc4ff89737d616b5c948731965e00b564axis2_handler_desc_set_class_namegroup__axis2__handler__desc.html#g29292b75f8442364eeaa7cf81dfde2d6Member axis2_handler_get_namegroup__axis2__handler.html#g155435ede9e1fcbe13b28dc321601216AXIS2_HANDLER_CREATE_FUNCgroup__axis2__handler.html#g097dac3689f86e2e189065c772a551f8axis2_flow_container_set_fault_out_flowgroup__axis2__flow__container.html#g872dda5815ce3274d01182479cfbec54Member axis2_flow_tgroup__axis2__flow.html#gd6d04c1c62cbffd6140a8df8fcbe5a09Member axis2_endpoint_ref_get_metadata_attribute_listgroup__axis2__endpoint__ref.html#gc58bdf7baf4dfc5a9f2e15bd2b40061eaxis2_endpoint_ref_add_extensiongroup__axis2__endpoint__ref.html#gffa43060be66bdfec2e88f007a5efeceendpoint referencegroup__axis2__endpoint__ref.htmlaxis2_addr_disp_creategroup__axis2__disp.html#gf18d7e04a666303b7e2833c3234e770eMember AXIS2_OP_KEYgroup__axis2__desc__constants.html#g356b2b75d01d009037f0cb504118eb8dAXIS2_PARAMETER_KEYgroup__axis2__desc__constants.html#g42f0a3efb9d5e1aecd03f410ee08c1a6Member axis2_desc_get_parentgroup__axis2__description.html#g99cb434d37bf69b9edb0396825694041axis2_desc_get_all_childrengroup__axis2__description.html#g078b2cf3aba1fca7468666905d8c0a4fMember axis2_ctx_tgroup__axis2__ctx.html#ga705ff779281577f08fef5330c23402caxis2_core_utils_get_module_namegroup__axis2__core__utils.html#gb07decd0d4935d6b74ccdb6af263a8ccaxis2_build_client_conf_ctxgroup__axis2__conf__init.html#g76e54d1b9208729089eaa51f0ad954faMember axis2_conf_ctx_get_op_ctx_mapgroup__axis2__conf__ctx.html#gcde62abb6fcb296e62a8dc5fbe04fa38axis2_conf_ctx_register_svc_grp_ctxgroup__axis2__conf__ctx.html#g068ae26464a6cf8b2cc8a530603b516aMember axis2_conf_set_out_fault_phasesgroup__axis2__config.html#g4c4a1f282d942f596e29fb2699afff42Member axis2_conf_get_out_flowgroup__axis2__config.html#g9c2c12ce9e298ae1255d698b0c101f98Member axis2_conf_get_all_in_transportsgroup__axis2__config.html#g287e0d1e671665be290f523539f370d6Group configurationgroup__axis2__config.htmlaxis2_conf_set_dep_enginegroup__axis2__config.html#gddbe656d37ee7d94bdfbaa1a3f293bbdaxis2_conf_get_phases_infogroup__axis2__config.html#ged50d579ca49af8a25416470012edc14axis2_conf_get_transport_ingroup__axis2__config.html#gbb3c960284024e19b4587a8bfe2f54d8Member axis2_engine_resume_receivegroup__axis2__engine.html#g845f6ddb96bf1b9f02ed6ad24a1c3653axis2_engine_get_sender_fault_codegroup__axis2__engine.html#g4233d6e24f32c5d59fe7bd507a91395cMember axis2_callback_set_completegroup__axis2__callback.html#g67f076fe17ac0e95dbea3ce7ecd7111eaxis2_callback_get_datagroup__axis2__callback.html#g8c45ec7f00c453b201c3f11c94c0bec4Member axis2_async_result_creategroup__axis2__async__result.html#g065fafef3286259aa3c8ceb7da9957eeaxis2_any_content_type_get_value_mapgroup__axis2__any__content__type.html#gc67a76c66f54b965bc5872ff132bbb86Member EPR_REFERENCE_PROPERTIESgroup__axis2__addr__consts.html#g4e4e093ba53c71df53a2a3a641192577Member AXIS2_WSA_PREFIX_ACTIONgroup__axis2__addr__consts.html#g1feded3e9bbc7913c3a2abc895bf9844PARAM_SERVICE_GROUP_CONTEXT_IDgroup__axis2__addr__consts.html#g1580e5c766744e70e754e9515b0b781fAXIS2_WSA_NAMESPACEgroup__axis2__addr__consts.html#g9f2d22dc75524b21af3834175e0931e5AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPEgroup__axis2__addr__consts.html#ga475c2e10b1d601b02a2f8be25ed5ab9Member axiom_xpath_compile_expressiongroup__axiom__xpath__api.html#g34b8a60579233870162ebf5d416dc3acaxiom_xpath_evaluate_streaminggroup__axiom__xpath__api.html#g1cd43a5e6fb152d14a218f923418f8d6axiom_xpath_context_tgroup__axiom__xpath__api.html#g82ac95df86678723508c6b4fdda1febbMember axiom_xml_writer_write_end_elementgroup__axiom__xml__writer.html#g0670764ce56a2674c9753995be9de071Member axiom_xml_writer_get_xmlgroup__axiom__xml__writer.html#g7355b7bf221c8dafece5d00b5ed8a9ddaxiom_xml_writer_write_charactersgroup__axiom__xml__writer.html#geda418c524b47842e3df20b4fbba1a41axiom_xml_writer_write_empty_element_with_namespace_prefixgroup__axiom__xml__writer.html#g44f2a95436bfbb3225fa2792f2a747b3Member axiom_xml_reader_get_pi_datagroup__axiom__xml__reader.html#g19f6e1a4ea34d5aa7ba16066501c3a08Member axiom_xml_reader_create_for_filegroup__axiom__xml__reader.html#gcdedc0633fbbd6d3a3f2a1af534f047aaxiom_xml_reader_get_attribute_prefix_by_numbergroup__axiom__xml__reader.html#g6ab4ee9babdcbf9ff38f2ee7fde7f8bdMember axiom_text_set_content_idgroup__axiom__text.html#g6b6f7fea7e2abc3798f92a4a39f42070axiom_text_get_value_strgroup__axiom__text.html#gd311692e5f2cf142803f4f5c48de0745Member axiom_stax_builder_freegroup__axiom__stax__builder.html#gde695886b793011213d197b3c177b305Member axiom_soap_header_block_set_attributegroup__axiom__soap__header__block.html#g0d571598bedb953b01ac834328f816b9axiom_soap_header_block_set_must_understand_with_stringgroup__axiom__soap__header__block.html#g7c285fa98928bc303e499c82cc890c24axiom_soap_header_get_all_header_blocksgroup__axiom__soap__header.html#gcb53361d89fd484c1b66661b7fa75b02axiom_soap_fault_value_set_textgroup__axiom__soap__fault__value.html#ga9675b73de88d4530e715c26c2d7fb95axiom_soap_fault_text_get_langgroup__axiom__soap__fault__text.html#gdd77e0f2bb64f0b2e43c1bf7209416fbsoap fault sub codegroup__axiom__soap__fault__sub__code.htmlMember axiom_soap_fault_reason_create_with_parentgroup__axiom__soap__fault__reason.html#g59ece99159afbd30946a59b5b7a2c094axiom_soap_fault_node_set_valuegroup__axiom__soap__fault__node.html#g7b3b82afef78ea3686d668b02a205ce6Member axiom_soap_fault_code_get_base_nodegroup__axiom__soap__fault__code.html#g4161bbc9b6f72ed1c807d37a05351792Member axiom_soap_fault_get_codegroup__axiom__soap__fault.html#gdc09d5b63b273d0ad5ab13a1e6fed5c8axiom_soap_fault_create_with_parentgroup__axiom__soap__fault.html#g26600e5d6fad315500cad1752d60353daxiom_soap_envelope_increment_refgroup__axiom__soap__envelope.html#ge4c0fcc8adc7d8d816c81f009bb81e0dMember axiom_soap_builder_set_mime_body_partsgroup__axiom__soap__builder.html#g3402c29c059ffbb670cd412871b65e13axiom_soap_builder_set_callback_functiongroup__axiom__soap__builder.html#gecdfaf38e60ea4bdc42e9cde3bd25486Member axiom_soap_body_get_soap_versiongroup__axiom__soap__body.html#ge87f17d53d2995ac6c3b05be6d7dddaaaxiom_soap_body_create_with_parentgroup__axiom__soap__body.html#ged07d656f1b298588cdbc539609d979fpocessing instructiongroup__axiom__processing__instruction.htmlMember axiom_output_freegroup__axiom__output.html#g9b07a1803c3891959ebc7bf4c5d2a349axiom_output_set_ignore_xml_declarationgroup__axiom__output.html#g6c5195c7566ffb6b70a81eae1fa53b8fMember axiom_node_insert_sibling_aftergroup__axiom__node.html#gd3f52c5c7c9886cc3dc3483c26919e72Member AXIOM_PROCESSING_INSTRUCTIONgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab008f7c2f34ead9d68d3e3f0f6612f547axiom_node_get_previous_siblinggroup__axiom__node.html#g39a92d131beb6295b849d9853ee89db7Member axiom_navigator_visitedgroup__axiom__navigator.html#gf2683f8658f619e357c76d8000e599f9Member axiom_namespace_increment_refgroup__axiom__namespace.html#g68cb2615b3d3b07d88b609d2466f893daxiom_namespace_get_prefixgroup__axiom__namespace.html#g802cd063bcb6ef0e95eb989b65b1ca30Member axiom_mtom_caching_callback_tgroup__caching__callback.html#g118942e9e22791ec1c8217d68de51f11Member axiom_mime_parser_freegroup__axiom__mime__parser.html#g0d0558064a7fca5445a4840be45b2600Member axiom_element_to_stringgroup__axiom__element.html#g5aadee18159a878019124f7f5ec063f3Member axiom_element_get_localnamegroup__axiom__element.html#g93563b0b55fa7a91c90b359be5945ac2Member axiom_element_extract_attributesgroup__axiom__element.html#g3bec8c8381b6f16b44077c75e3880f6faxiom_element_get_attribute_value_by_namegroup__axiom__element.html#g177a16ba7e740dc06496f0ed2551c4bdaxiom_element_get_namespacesgroup__axiom__element.html#g84e26919d5e3473cbe1ef5294c0dd9e1axiom_element_find_namespacegroup__axiom__element.html#g65e5b5895356ac73e806618ff314983aaxiom_document_build_allgroup__axiom__document.html#g8c20adf1ab6226417b5946d72f8888d1axiom_doctype_freegroup__axiom__doctype.html#g4704fda24ab25f215df0bca1a71ff26fMember axiom_data_handler_set_file_namegroup__axiom__data__handler.html#g5a80fd78e575238e58fc38062a689258axiom_data_handler_get_mime_idgroup__axiom__data__handler.html#g041b8d7d657f1d833ca29ce4b2ccf0adMember axiom_comment_serializegroup__axiom__comment.html#g63c10f9db415e1f08bbb37624bd8c96daxiom_children_with_specific_attribute_iterator_nextgroup__axiom__children__with__specific__attribute__iterator.html#g82d5c3904628c6fac0333ad55b904066axiom_children_qname_iterator_creategroup__axiom__children__qname__iterator.html#g48494752179044b34f11c1864fa52b75Member axiom_child_element_iterator_has_nextgroup__axiom__child__element__iterator.html#g6abb5119797edb10f7f2aebfa48d4c3bMember axiom_attribute_set_localnamegroup__axiom__attribute.html#g45d596e4d7eaf81d205f9b8f01c580e5axiom_attribute_get_localname_strgroup__axiom__attribute.html#g9e36fa98afd7d60eff62da45e760dce4Page Deprecated Listdeprecated.htmlneethi_registry_tneethi__registry_8h.html#7f11a91c6018d9d57637fbe578906d83neethi_policy_get_nameneethi__policy_8h.html#45caef0ba6957cdcde9faaa697e2d55dneethi_operator_get_typeneethi__operator_8h.html#890188bb62af3b6f20f6f27b7519a957neethi_exactlyone.h File Referenceneethi__exactlyone_8h.htmlAXIS2_RM_MESSAGE_TYPES_TO_DROPneethi__constants_8h.html#e464272b1de9f348da0d371e640d370fAXIS2_RM_POLICY_10_NSneethi__constants_8h.html#dfea9d9fcd034a2c022bf7c911fecadfneethi_assertion.hneethi__assertion_8h.htmlneethi_assertion_createneethi__assertion_8h.html#d01b0260a22ac857ba49f73d9edeca2baxutil_xml_quote_stringgroup__axutil__utils.html#gdeee972b9ba0969828084e2000786873AXUTIL_LOG_FILE_NAME_SIZEgroup__axutil__utils.html#g887f4f3bae78c60b9b92756e4e2507feaxutil_url_set_protocolgroup__axis2__core__transport__http.html#gb0aa03c494f84d75568c55aaf8edee36axutil_uri_to_stringgroup__axutil__uri.html#g9b9e291fb2de237b1ea16e1446cb4ef9AXIS2_URI_UNP_OMITUSERgroup__axutil__uri.html#g72c059826dc908e6e6960b6f9023b0adAXIS2_URI_TELNET_DEFAULT_PORTgroup__axutil__uri.html#g54be7d53a86f2b0d82bf00c7aa8f7c6faxutil_thread.haxutil__thread_8h.htmlaxutil_threadkey_tgroup__axutil__thread.html#g48b4d7958a921bd9780ef76e1b76c3a4axutil_stack_creategroup__axis2__util__stack.html#ga1575b638cbc766d51b637ea5a3f2672axutil_qname_freegroup__axutil__qname.html#gb04bf5c012c622e6c4fcd244a26f934caxutil_param.haxutil__param_8h.htmlaxutil_param_creategroup__axutil__param.html#g9653106fd7e6c73b77388ebb86e67debaxutil_linked_list.haxutil__linked__list_8h.htmlaxutil_linked_list_get_lastgroup__axutil__linked__list.html#gacdf3f19dc61bf262c5e25e1dd3ed5faaxutil_http_chunked_stream_get_current_chunk_sizegroup__axutil__http__chunked__stream.html#g26d8808871536023926a5ef46233fb45axutil_hash_firstgroup__axutil__hash.html#g99452fb3f68e592c7f64286c10b75426axutil_env_check_statusgroup__axutil__env.html#g14eb39c983da990a3cdc5d2505a3ab31axutil_dll_desc_get_timestampgroup__axutil__dll__desc.html#g1c1053fcbea97ccb06e55cc3b6d829caaxutil_dll_desc_free_void_arggroup__axutil__dll__desc.html#g64b825421301ea4a814529b9a4191400axutil_date_time.haxutil__date__time_8h.htmlaxutil_date_time_get_dategroup__axutil__date__time.html#g7f852dcbdfad79040077482406e5f0adaxutil_class_loader.haxutil__class__loader_8h.htmlaxutil_base64_binary_tgroup__axutil__base64__binary.html#gd87df1cdeeff79315010179147857acbaxutil_array_list_free_void_arggroup__axutil__array__list.html#gf649de5177ea73a4e2e39c38af79e62faxis2_transport_sender.haxis2__transport__sender_8h.htmlaxis2_transport_receiver_freegroup__axis2__transport__receiver.html#g18cd0a700f4e7cb37e1c409a3ecfac11axis2_transport_out_desc_set_fault_out_flowgroup__axis2__transport__out__desc.html#ga3a191a5b9b362398741b8fd7c5fbadbaxis2_transport_in_desc_get_fault_phasegroup__axis2__transport__in__desc.html#g7f97aa29114ec9cc9d8002a579f8a235axis2_svr_callback_creategroup__axis2__svr__callback.html#gad3c7690a2469aa3c55a71d0c1fa6b0eaxis2_svc_name_freegroup__axis2__svc__name.html#gcbab528a163f700fa4e7dc90823ed3afaxis2_svc_grp_ctx_get_parentgroup__axis2__svc__grp__ctx.html#g237da85b5cccbee2d725b59a4885d892axis2_svc_grp_add_module_qnamegroup__axis2__svc__grp.html#g5216eb0c4232d0de1f58594f99e22391axis2_svc_ctx_set_svcgroup__axis2__svc__ctx.html#g9d465a820d440585864dd7235d4747ddaxis2_svc_client_get_http_auth_requiredgroup__axis2__svc__client.html#g44f5bf54b151b8435880f3c109ac2eb9axis2_svc_client_send_receive_non_blocking_with_op_qnamegroup__axis2__svc__client.html#gd68cdf7e84aff54c1815c8675772c76caxis2_svc_client_tgroup__axis2__svc__client.html#g09ddaee99db86733d6550231293be4e7axis2_svc_get_all_module_qnamesgroup__axis2__svc.html#g54e06db70cfd22b21deefde65ceacee2axis2_svc_get_stylegroup__axis2__svc.html#g4da58747b15717417ee7399fe0a36cc6axis2_svc_get_rest_mapgroup__axis2__svc.html#g380cf5374766b1bd86666f132121c3dfaxis2_stub_set_endpoint_refgroup__axis2__stub.html#gf746e816fb986b581bc2d3859bb097aaMember axis2_simple_http_svr_conn_freeaxis2__simple__http__svr__conn_8h.html#5718356edb01a8c6a62fc466e4ba5f35axis2_simple_http_svr_conn_closeaxis2__simple__http__svr__conn_8h.html#8e73143cc65dc21245af0fd6135be2adaxis2_phase_rule_set_lastgroup__axis2__phase__rule.html#g65020e799dcdc0bd401d1abc793ea18caxis2_phase_resolver_disengage_module_from_opgroup__axis2__phase__resolver.html#g899969368596162709da90423336dd11axis2_phase_holder_is_phase_existgroup__axis2__phase__holder.html#g353f89d7a5800ff39a464244540535a3axis2_phase_set_first_handlergroup__axis2__phase.html#gc434dafaada6c4a9b1a4137dcafb129fAXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGgroup__axis2__out__transport__info.html#g61f3555a9a1061c23bcc37cd3158b16daxis2_options_set_soap_actiongroup__axis2__options.html#g39f6317b5633f5ee71311f124dac42fcaxis2_options_set_reply_togroup__axis2__options.html#gc2425fafccaf57322da1a07b328ebcb0axis2_options_get_soap_version_urigroup__axis2__options.html#g815f59fcea7c8c19b361121636ecfd2aAXIS2_DEFAULT_TIMEOUT_MILLISECONDSgroup__axis2__options.html#gfc55ac210f2f22e70ac1d905d8509fe4axis2_op_ctx_get_opgroup__axis2__op__ctx.html#g41e85fb871ff0b60c48f8794d85c3270axis2_op_client_infer_transportgroup__axis2__op__client.html#gf628443031365d7e51bb1a08ce338d32axis2_op_client_set_optionsgroup__axis2__op__client.html#g129b0ae65f1bcf960e563d5adc31d7faaxis2_msg_recv_receivegroup__axis2__msg__recv.html#g7f214d78f066fe2c120652d2fce4b544axis2_msg_info_headers_set_actiongroup__axis2__msg__info__headers.html#gc70fa14807b569da33ddc91a6edd5031axis2_msg_info_headers_get_togroup__axis2__msg__info__headers.html#gb280fd5c6eb7ef2f604a88f4682076f8axis2_msg_ctx_set_no_contentgroup__axis2__msg__ctx.html#gcdd6a7139357035806b86b62965fcdccaxis2_msg_ctx_set_transport_headersgroup__axis2__msg__ctx.html#g71be3edb48396a26b8adbd307df23376axis2_msg_ctx_get_current_handler_indexgroup__axis2__msg__ctx.html#g450a580a5f51545746aeb794a0a010d5axis2_msg_ctx_set_svc_grpgroup__axis2__msg__ctx.html#ge687f88abc16f152d2cfecd2e32f6871axis2_msg_ctx_get_doing_mtomgroup__axis2__msg__ctx.html#g06b44f369602fb1f397faf8c3b686fbdaxis2_msg_ctx_get_svc_ctx_idgroup__axis2__msg__ctx.html#ga015e6d25bffee86c4f258077da21a57axis2_msg_ctx_set_wsa_message_idgroup__axis2__msg__ctx.html#g03166053a7a0bb7db94ace6e56436f81axis2_msg_ctx_get_togroup__axis2__msg__ctx.html#g4596067ca561b23abd8c277fff1ba686axis2_msg_ctx_get_basegroup__axis2__msg__ctx.html#g21705c3ecce5d8869ecf66fc68a9cc21axis2_msg.haxis2__msg_8h.htmlaxis2_msg_add_paramgroup__axis2__msg.html#g4a04523e93cd4066b038f14d31f3d60eaxis2_module_desc_is_param_lockedgroup__axis2__module__desc.html#g889f5fc4ff540dc1c8a2b32b145bc2c9axis2_module_desc_get_in_flowgroup__axis2__module__desc.html#ga133856dcfeb27be4c08d8c353c66255axis2_listener_manager_stopgroup__axis2__listener__manager.html#g6c4f3cd813f06a94d27a9780328ac8bdMember axis2_http_transport_utils_process_http_post_requestaxis2__http__transport__utils_8h.html#e309ed43dea34867236087b7f333c1dfaxis2_http_transport_utils_get_request_timeoutaxis2__http__transport__utils_8h.html#2e95ace5a6916b520b2aa2f5fd2fc82eaxis2_http_transport_utils_transport_in_uninitaxis2__http__transport__utils_8h.html#f7234adf7d479a35a5c493bdf927cf58axis2_http_svr_thread_destroygroup__axis2__http__svr__thread.html#g81acbfe55c56823154fee7eac27891dbaxis2_http_simple_request.haxis2__http__simple__request_8h.htmlaxis2_http_simple_request.haxis2__http__simple__request_8h.htmlMember axis2_http_sender_taxis2__http__sender_8h.html#6cd798fd88a2c7e86e4a93497b43fc50axis2_http_sender_sendaxis2__http__sender_8h.html#23a2300c0fe2f0b032d43946e17bdc08axis2_http_response_writer_write_bufgroup__axis2__http__response__writer.html#g6d27ae339974794ede82a7c9e1270c22axis2_http_request_line.haxis2__http__request__line_8h.htmlaxis2_http_header.haxis2__http__header_8h.htmlaxis2_http_client_creategroup__axis2__http__client.html#gfd79db7fb40936a06673e606771aa57daxis2_http_client_tgroup__axis2__http__client.html#gdeeb1e1752239a9e3696e1aa75fe331daxis2_handler_desc_set_parentgroup__axis2__handler__desc.html#g92b9ba1b7c76d813c580f22abb2a028faxis2_ctx_handler_creategroup__axis2__handler.html#geebcba75e6b92e7f3fa9ab4492390194axis2_flow_container_set_fault_in_flowgroup__axis2__flow__container.html#g361c90729eeb72306ef10b06ba41931daxis2_flow.h File Referenceaxis2__flow_8h.htmlaxis2_endpoint_ref.haxis2__endpoint__ref_8h.htmlaxis2_endpoint_ref_get_addressgroup__axis2__endpoint__ref.html#g4bc3d165549d17b00a56119c340d0eabaxis2_disp_tgroup__axis2__disp.html#g8f0bac449c79895127179ee88604be65AXIS2_MODULEREF_KEYgroup__axis2__desc__constants.html#g1bfa79983f0142c83266a4fc9f710cd4axis2_desc_add_paramgroup__axis2__description.html#gd87c1a63197a588dc75066ea80bd2baeaxis2_ctx_set_property_mapgroup__axis2__ctx.html#gd1452d5b24ddbb87565e8b297f7e7fdcaxis2_core_dll_desc.h File Referenceaxis2__core__dll__desc_8h.htmlaxis2_conf_ctx_get_op_ctx_mapgroup__axis2__conf__ctx.html#gcde62abb6fcb296e62a8dc5fbe04fa38axis2_conf_set_enable_mtomgroup__axis2__config.html#g15bbcb1d467b2d394ad101afc7c68530axis2_conf_set_out_fault_phasesgroup__axis2__config.html#g4c4a1f282d942f596e29fb2699afff42axis2_conf_get_all_engaged_modulesgroup__axis2__config.html#ge2aa21b6ff10d77d3180459b7e22ebc1axis2_conf_add_svc_grpgroup__axis2__config.html#gf1d556bc4c78ed899213d9b863834209axis2_callback_get_completegroup__axis2__callback.html#g8b14532e11dc444cd2ad1fbf5fbe3d0daxis2_any_content_type_get_valuegroup__axis2__any__content__type.html#g3526ab922ee7827b7d975316d064dce2AXIS2_WSA_PREFIX_FAULT_TOgroup__axis2__addr__consts.html#g491048fb85ab2213d9df72cb1c1a6ca0EPR_SERVICE_NAME_PORT_NAMEgroup__axis2__addr__consts.html#g58f5d3de5e39fc0722adca9514731fd7axiom_xml_writer_flushgroup__axiom__xml__writer.html#g04303cc47f0648f0176ef3c9cd622998axiom_xml_writer_write_processing_instructiongroup__axiom__xml__writer.html#g50b745030f5b2b7b94de517d6843ae2daxiom_xml_writer_create_for_memorygroup__axiom__xml__writer.html#g79309882da5382c1ec3facc6e5abc862axiom_xml_reader_get_namespace_uri_by_numbergroup__axiom__xml__reader.html#g5e0eb27b0a37e723592881e5a35e0bb2axiom_xml_reader.haxiom__xml__reader_8h.htmlaxiom_soap_header_block.haxiom__soap__header__block_8h.htmlaxiom_soap_fault_value.haxiom__soap__fault__value_8h.htmlaxiom_soap_fault_text_create_with_parentgroup__axiom__soap__fault__text.html#g93c4f13db5c53ccb8082d346781d4b6faxiom_soap_fault_role_set_role_valuegroup__axiom__soap__fault__role.html#g6603a9ab284b22b294ce54e7b01bf057axiom_soap_fault_node.haxiom__soap__fault__node_8h.htmlaxiom_soap_fault_detail.h File Referenceaxiom__soap__fault__detail_8h.htmlaxiom_soap_fault_get_nodegroup__axiom__soap__fault.html#ga63629df8b84a56382c391e4fc0f30e1axiom_soap_envelope_freegroup__axiom__soap__envelope.html#g133462e3b74e84e2ad650fa7b54b303baxiom_soap_builder_get_mime_body_partsgroup__axiom__soap__builder.html#g41b1ec4410e05ade94e2cde9397a616daxiom_soap_body_process_attachmentsgroup__axiom__soap__body.html#g1ef09e32ddc88eba85dac1ddee378b3baxiom_node_to_string_non_optimizedgroup__axiom__node.html#g9f6d265d8c276d0925aef199396cda0aaxiom_node_detachgroup__axiom__node.html#g8b581d1db9d2a0f80abe5aa3bf6cae2daxiom_mtom_sending_callback.h File Referenceaxiom__mtom__sending__callback_8h.htmlaxiom_mime_part_taxiom__mime__part_8h.html#7211acf08c51682b40ad4ca03f316c21axiom_mime_parser_taxiom__mime__parser_8h.html#56ee892c665cb4a6c3e9ccfee77f32a5axiom_document_tgroup__axiom__document.html#gf35ddff3f22d4f7b40e39fb389df6080axiom_data_source_freegroup__axiom__data__source.html#g3465c61c35c61c6886be0326beef86c6axiom_data_handler_set_file_namegroup__axiom__data__handler.html#g5a80fd78e575238e58fc38062a689258axiom_comment_get_valuegroup__axiom__comment.html#g66d8119c3ee5f76a1b1bf71997ede19faxiom_children_with_specific_attribute_iterator.haxiom__children__with__specific__attribute__iterator_8h.htmlaxiom_children_iterator_creategroup__axiom__children__iterator.html#ge1e162cfd416427d54f339543e580d48axiom_attribute.haxiom__attribute_8h.htmlaxiom_attribute_free_void_arggroup__axiom__attribute.html#geb9ac7efe5dbb33273cd37c9ddc99b0arp_trust10.hrp__trust10_8h-source.htmlrp_security_context_token.hrp__security__context__token_8h-source.htmlrp_https_token_builder.hrp__https__token__builder_8h-source.htmlneethi_operator.hneethi__operator_8h-source.htmlguththila_attribute.hguththila__attribute_8h-source.htmlaxutil_utils.haxutil__utils_8h-source.htmlAXIS2_URI_RTSP_DEFAULT_PORTaxutil__uri_8h-source.html#l00068AXIS2_THREAD_MUTEX_NESTEDaxutil__thread_8h-source.html#l00183axutil_properties.haxutil__properties_8h-source.htmlAXIS2_LOG_LEVEL_TRACEaxutil__log_8h-source.html#l00079axutil_hash_index_taxutil__hash_8h-source.html#l00061axutil_env::logaxutil__env_8h-source.html#l00069axutil_array_list.haxutil__array__list_8h-source.htmlaxis2_transport_receiveraxis2__transport__receiver_8h-source.html#l00153AXIS2_SVC_SKELETON_INVOKEaxis2__svc__skeleton_8h-source.html#l00168axis2_svc_ctx_taxis2__svc__ctx_8h-source.html#l00045axis2_policy_include.haxis2__policy__include_8h-source.htmlaxis2_phase_holder.haxis2__phase__holder_8h-source.htmlaxis2_op_ctx_taxis2__op__ctx_8h-source.html#l00052AXIS2_TRANSPORT_SUCCEEDaxis2__msg__ctx_8h-source.html#l00080axis2_module_fill_handler_create_func_mapaxis2__module_8h-source.html#l00153AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPEaxis2__http__transport_8h-source.html#l00975AXIS2_HTTP_PROXY_HOSTaxis2__http__transport_8h-source.html#l00883AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIREDaxis2__http__transport_8h-source.html#l00796AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTMLaxis2__http__transport_8h-source.html#l00710AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHEaxis2__http__transport_8h-source.html#l00623AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNTaxis2__http__transport_8h-source.html#l00534AXIS2_HTTP_HEADER_CONTENT_LOCATIONaxis2__http__transport_8h-source.html#l00448AXIS2_SOCKETaxis2__http__transport_8h-source.html#l00358AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAMEaxis2__http__transport_8h-source.html#l00272AXIS2_HTTP_RESPONSE_GONE_CODE_VALaxis2__http__transport_8h-source.html#l00182AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VALaxis2__http__transport_8h-source.html#l00096axis2_http_server.haxis2__http__server_8h-source.htmlaxis2_http_header_taxis2__http__header_8h-source.html#l00044axis2_endpoint_ref_taxis2__endpoint__ref_8h-source.html#l00052AXIS2_MODULEREF_KEYaxis2__description_8h-source.html#l00073axis2_conf_init.haxis2__conf__init_8h-source.htmlAXIS2_WSA_PREFIX_ACTIONaxis2__addr_8h-source.html#l00160AXIS2_WSA_NONE_URL_SUBMISSIONaxis2__addr_8h-source.html#l00103AXIS2_WSA_RELATES_TOaxis2__addr_8h-source.html#l00048axiom_xpath_context::root_nodeaxiom__xpath_8h-source.html#l00132AXIOM_XPATH_DEBUGaxiom__xpath_8h-source.html#l00043axiom_soap_fault_reason.haxiom__soap__fault__reason_8h-source.htmlAXIOM_ATTRIBUTEaxiom__node_8h-source.html#l00080axiom_mtom_caching_callback.haxiom__mtom__caching__callback_8h-source.htmlaxiom_child_element_iterator.haxiom__child__element__iterator_8h-source.htmlaxutil_log_ops::freestructaxutil__log__ops.html#b4996bdfbcd42be8cf62950dc59c2a7bMember axutil_error::allocatorstructaxutil__error.html#2f53d04714902b5a03c4b646effdb471axutil_env::errorstructaxutil__env.html#b27a4204b2635ac3c0e1b2a4d59e9cabstruct axutil_allocatorstructaxutil__allocator.htmlaxis2_transport_sender_ops::cleanupstructaxis2__transport__sender__ops.html#b7fde0f17733c4e7ae6a001f98e56863axis2_transport_receiver_ops::stopstructaxis2__transport__receiver__ops.html#1d77c3de28af26ef0962dab95f179bcfaxis2_svc_skeleton_ops::init_with_confstructaxis2__svc__skeleton__ops.html#0931f8e4636f97f582421d5babe407b7axis2_module_ops::shutdownstructaxis2__module__ops.html#30119dd5c051394e42cb2f7b5fbd8bbdstruct axiom_xpath_resultstructaxiom__xpath__result.htmlMember axiom_xpath_context::streamingstructaxiom__xpath__context.html#8f0911c1b596c5a4efa622b827bc3e01axiom_xpath_context::nsstructaxiom__xpath__context.html#68ade470d9be8ffa228bf7f3646909a2Member axiom_xml_writer_ops::write_dtdstructaxiom__xml__writer__ops.html#ad4bd1835177f7a4cd51b9684eb70fbbMember axiom_xml_writer_ops::end_start_elementstructaxiom__xml__writer__ops.html#cfc4c8e81bd5e6ea6dc557f0d47aba03axiom_xml_writer_ops::write_dtdstructaxiom__xml__writer__ops.html#ad4bd1835177f7a4cd51b9684eb70fbbaxiom_xml_writer_ops::end_start_elementstructaxiom__xml__writer__ops.html#cfc4c8e81bd5e6ea6dc557f0d47aba03Member axiom_xml_reader_ops::get_namespace_uri_by_numberstructaxiom__xml__reader__ops.html#9e6cb2a23eefe09daa1b6a6d9a470a52axiom_xml_reader_ops::get_namestructaxiom__xml__reader__ops.html#5f53ff51d077111b77cc6ba7806f8e34axiom_xml_reader Struct Referencestructaxiom__xml__reader.htmlrp_x509_token_get_token_version_and_typegroup__rp__x509__token.html#gc8e7b6cb00722022e7420ff333ea4343rp_x509_token_tgroup__rp__x509__token.html#gd64a41ecb4d0c4bc2b5bf1bac70d6660rp_wss11_set_must_support_ref_key_identifiergroup__wss11.html#g616a54d1607d1a94751ebc9dc5e7f586rp_wss10_freegroup__wss10.html#ge00929e7b7bc522ff990f35ed161e1cdrp_username_token_set_useUTprofile10group__rp__username__token.html#ga02634228f8cc55392ef82aa7b2c9674rp_transport_binding_set_binding_commonsgroup__rp__transport__binding.html#gefd044aecea7a83404a2aac21e5052ccrp_token_set_derivedkey_typegroup__rp__token.html#gbfafcde88ad69be6f16b6efecf8d9674rp_symmetric_binding_set_symmetric_asymmetric_binding_commonsgroup__rp__symmetric__binding.html#gfd756321a59cb12c65d2f4882b577853rp_symmetric_asymmetric_binding_commons_creategroup__rp__assymmetric__symmetric__binding__commons.html#ga2cdae7347e2b6ec09d5147ca4fe1c6arp_supporting_tokens_get_algorithmsuitegroup__rp__supporting__tokens.html#g65de66491be521d5704f516b9c07e9a8rp_signed_encrypted_parts_set_bodygroup__rp__signed__encrypted__parts.html#g6f77feed3055f3ca41dcc30b8547503erp_signed_encrypted_elements_add_expressiongroup__rp__signed__encrypted__elements.html#g93f12201d764a21687b843fec5a6d207rp_security_context_token_set_issuergroup__rp__security__context__token.html#g1980bf2dfb65ea0f27e3300954eb8f7aRp_secpolicy_buildergroup__rp__secpolicy__builder.htmlrp_secpolicy_get_signed_partsgroup__rp__secpolicy.html#g02423434aa3c2105a47ec1a16cf1090dRp_saml_token_buildergroup__rp__saml__token__builder.htmlrp_rampart_config_get_certificate_filegroup__rp__rampart__config.html#g2e181ca3d88a38a0e6cff8902dba6a2crp_rampart_config_set_usergroup__rp__rampart__config.html#g96623c8e1bd18a8d52e052a61e81faa1rp_policy_create_from_filegroup__rp__policy__creator.html#g8bfa37b412c532b5e80422d31bcab5f8rp_trust10_get_require_client_entropygroup__trust10.html#g0e36d6ac85dfa464843313614cc41178rp_issued_token_get_requested_sec_token_templategroup__trust10.html#ge9a20360c4012bce4f96c0c49f8b22aarp_https_token_set_derivedkeysgroup__rp__https__token.html#gb134adf7afe1fd2d89dfdd4a189fde4fRp_encryption_token_buildergroup__rp__encryption__token__builder.htmlRP_SCT_MODULEgroup__rp__defines.html#g0ea0f5d463d728f0570ee2201bbb5f48RP_RAMPART_CONFIGgroup__rp__defines.html#g4ff5a2c9caaed48b100041abd6216f4dRP_WSS_X509_V1_TOKEN_11group__rp__defines.html#g4bced2e41492ccdfcf28c93abdeef072RP_INCLUDE_NEVER_SP12group__rp__defines.html#g4e4b27f51a34788bb6f7cbcb95075796RP_XPATH_FILTER20group__rp__defines.html#g92a024dff75a428d1fc2583bd9bdbb3aRP_KW_TRIPLE_DESgroup__rp__defines.html#ge4fbf7005fe5ab912ce534294e4b7aa0RP_ALGO_SUITE_TRIPLE_DES_SHA256group__rp__defines.html#g0975f311ea9d9527cc7e6355473f6d43RP_INCLUDE_TIMESTAMPgroup__rp__defines.html#g64fa227c67daa5ac2032e61a1c587c3eRP_MUST_SUPPORT_REF_EMBEDDED_TOKENgroup__rp__defines.html#gb132e34787a047470b6811e011d5200cRP_SIGNED_ITEMSgroup__rp__defines.html#gbb88f344ee968016cf7e964fe9fd5171Rp_bootstrap_policy_buildergroup__rp__bootstrap__policy__builder.htmlrp_binding_commons_tgroup__rp__binding__commons.html#g142e27245f0cd1f34c51fea4f450739crp_algorithmsuite_get_signature_derivation_keylengthgroup__rp__algoruthmsuite.html#g808545d8335817e32b2fa5a23adb7f93rp_algorithmsuite_set_max_asymmetric_keylengthgroup__rp__algoruthmsuite.html#g03899a86917fc03df171e9fe52ffbd1arp_algorithmsuite_tgroup__rp__algoruthmsuite.html#gf132372b5e308f97983ab1af55da172eaxis2_char_2_bytegroup__axutil__utils.html#g00c2171b534e916a7c6222c6bbfcda79AXIS2_PARAM_CHECK_VOIDgroup__axutil__utils.html#ged65c0b44f912f6d2452bd0f5d458819Member axutil_uri_get_fragmentgroup__axutil__uri.html#g854544404e22e40fc10e470c24273286Member AXIS2_URI_SIP_DEFAULT_PORTgroup__axutil__uri.html#g00c5165abdd8e1e3dc4e649dc91a7d14axutil_uri_get_portgroup__axutil__uri.html#g73046bb3c4357a211c61e8b041214d2fAXIS2_URI_UNP_OMITPATHINFOgroup__axutil__uri.html#gf9be5c22507d50e8852d6b346068bf85AXIS2_URI_NNTP_DEFAULT_PORTgroup__axutil__uri.html#g5cf52008ffc33b4308cdc6ab465d1271type convertorsgroup__axutil__types.htmlaxutil_thread_pool_tgroup__axutil__thread__pool.html#gbb650c8c9202b3d73e753cf8cc8b356eMember axutil_threadkey_tgroup__axutil__thread.html#g48b4d7958a921bd9780ef76e1b76c3a4axutil_thread_yieldgroup__axutil__thread.html#gb260d86a99c9c7af7ae632fb99c59106Member axutil_strndupgroup__axutil__string__utils.html#g8827b05fe58fbe74d0342f9e4ae19a72axutil_strrtrimgroup__axutil__string__utils.html#g534417d7b1135dca0f277683afbb0185string_utilsgroup__axutil__string__utils.htmlaxutil_string_creategroup__axutil__string.html#g7ae6b326c8670f129c62d90f41141717axutil_stream_closegroup__axutil__stream.html#ga07a32f5cfba4129e4fbe856c6460bafMember axutil_stream_typegroup__axutil__stream.html#g8646e3e161857a70ec20d7e85bfb6cf4stackgroup__axis2__util__stack.htmlaxutil_qname_get_urigroup__axutil__qname.html#gaaa9fce6ef2a94083546be7d70eb8a0aaxutil_property_freegroup__axutil__property.html#g07acf9184d88011867fa249652029c60axutil_properties_freegroup__axutil__properties.html#g8537d135fdd4744ee69bc5221383edf7axutil_param_container_creategroup__axutil__param__container.html#g6bddcede7bd592f0f22bd03bdf2ecd32axutil_param_get_value_listgroup__axutil__param.html#g2baae0ac13ac1f884f5c57691e5980b6AXIS2_TEXT_PARAMgroup__axutil__param.html#gd0cccbde323f2c7ddbe78ab5d1d96156axutil_network_handler_set_sock_optiongroup__axutil__network__handler.html#gf4d2e959b57c810c811414775d406268AXIS2_MD5_DIGESTSIZEgroup__axutil__md5.html#g46524d732e43163e7e19261f67e24246axutil_log_freegroup__axutil__log.html#gd1b57eac0cf4e90bf6c6fed6b058aa36AXIS2_LOG_DEBUG_MSGgroup__axutil__log.html#gf58845a1ca2510250b0a50b38327e226Member axutil_linked_list_setgroup__axutil__linked__list.html#g797df541c887e4e30c6523d37149bf88Member axutil_linked_list_add_lastgroup__axutil__linked__list.html#g44b716389b3a40e79a4dae6700ae2b24axutil_linked_list_sizegroup__axutil__linked__list.html#g29f7df9bfa28df5111de92e7af0b8f7bMember axutil_http_chunked_stream_writegroup__axutil__http__chunked__stream.html#g4c48a899b5d7f16cdac71e98a04c86d2Member axutil_hashfunc_defaultgroup__axutil__hash.html#g7cf05c040bc742d2477ee525d422c674Member axutil_hash_index_tgroup__axutil__hash.html#g3c624ec6d027cc0a7e8f07fb849f51f8axutil_hashfunc_defaultgroup__axutil__hash.html#g7cf05c040bc742d2477ee525d422c674Member axutil_file_handler_accessgroup__axutil__file__handler.html#g7180e54d81c91e00f030a6b6b5e49b2eaxutil_file_creategroup__axutil__file.html#gc2a7607eab5f1a826b7b16bf578e3179axutil_error_set_status_codegroup__axutil__error.html#gaaab973f27097ae5e3dd036a9c452355Member axutil_env_create_with_errorgroup__axutil__env.html#gbab7fef475986db1dfcf5c3cec7e5b6bAXIS2_ENV_CHECKgroup__axutil__env.html#g82b7c5dfb8ae2c8f79565619d3f832eeaxutil_duration_set_monthsgroup__axutil__duration.html#g4ad2268b7443c74aab9ed2bdef806a9aaxutil_dll_desc_create_platform_specific_dll_namegroup__axutil__dll__desc.html#gfdf636b3093ced193bc8f78a59deb30aaxutil_dll_desc_freegroup__axutil__dll__desc.html#g3152465c0291056b7fb4678b8dea917daxutil_digest_calc_get_responsegroup__axutil__digest__calc.html#gd999fb9474238370afa302882165bd24Member axutil_date_time_serialize_dategroup__axutil__date__time.html#ga098865ec9b787dd25530c99f22b86e0axutil_date_time_deserialize_date_time_with_time_zonegroup__axutil__date__time.html#gcba63e32abcd477aa6bfa743cc25bcf2axutil_date_time_serialize_dategroup__axutil__date__time.html#ga098865ec9b787dd25530c99f22b86e0Member axutil_base64_binary_get_plain_binarygroup__axutil__base64__binary.html#gaba8514ab627d46d5bd4ca28471620c3axutil_base64_binary_create_with_plain_binarygroup__axutil__base64__binary.html#g60d56fa636505ebc10eed632dc345f1fMember axutil_array_list_add_atgroup__axutil__array__list.html#g6c5f7a93a8d3e7e8ed2eebadd05a59f6axutil_array_list_free_void_arggroup__axutil__array__list.html#gf649de5177ea73a4e2e39c38af79e62fAXIS2_MALLOCgroup__axutil__allocator.html#g75454cdc276a059934e8e4872e3d251ctransport sendergroup__axis2__transport__sender.htmlaxis2_transport_receiver_freegroup__axis2__transport__receiver.html#g18cd0a700f4e7cb37e1c409a3ecfac11Member axis2_transport_out_desc_get_fault_out_flowgroup__axis2__transport__out__desc.html#g36e3acc53b29852e92ad318de26ac385axis2_transport_out_desc_set_sendergroup__axis2__transport__out__desc.html#g945e1f92bebe27aa180358eb7eaaf126Member axis2_transport_in_desc_set_enumgroup__axis2__transport__in__desc.html#g4c11258fcb647146f412d89ccdbd069daxis2_transport_in_desc_is_param_lockedgroup__axis2__transport__in__desc.html#g4554acd6e4b3179b241a5ae1bc187895axis2_transport_in_desc_tgroup__axis2__transport__in__desc.html#g9185c8c5307454b74f49523666f7bda6AXIS2_THREAD_MUTEX_UNNESTEDgroup__axis2__mutex.html#g23f73f33dbd2bc3b73e45765daee0dfdMember AXIS2_SVC_SKELETON_ON_FAULTgroup__axis2__svc__skeleton.html#gc1c9dfc996cb0f8603e042cef200db98Member axis2_svc_name_get_qnamegroup__axis2__svc__name.html#g0d2b872b6822efcc48098f8b462d13c9Member axis2_svc_grp_ctx_get_svc_ctx_mapgroup__axis2__svc__grp__ctx.html#g7c8027f1714d507296e9defc65defeb5axis2_svc_grp_ctx_freegroup__axis2__svc__grp__ctx.html#g0fd950866065679d54ca9f6a8a2edfaaMember axis2_svc_grp_get_all_paramsgroup__axis2__svc__grp.html#g31ba41e7e89d0443c5fb9eda62f627c7axis2_svc_grp_get_svc_grp_ctxgroup__axis2__svc__grp.html#gb251e99e1e5c6b7945f3a6f91fa164a6axis2_svc_grp_set_namegroup__axis2__svc__grp.html#g2cdd211b2086bfd7c24ae4939809ab26axis2_svc_ctx_create_op_ctxgroup__axis2__svc__ctx.html#g6db441773d780252be4111f7a8a8c68fMember axis2_svc_client_set_policygroup__axis2__svc__client.html#g805278c10ee19cda6d41fc224f5b9ea3Member axis2_svc_client_get_op_clientgroup__axis2__svc__client.html#ga67a9dd0d56c30d5f96f28e5e8040c8cMember axis2_svc_client_add_headergroup__axis2__svc__client.html#gb65906f3d7f3a0ad5f75018ffdbbd0a7axis2_svc_client_set_proxygroup__axis2__svc__client.html#ged34edf4ad2491d96c1af33fe669fd1faxis2_svc_client_disengage_modulegroup__axis2__svc__client.html#g8e070993180e86a0d8e5a895dd02490dMember axis2_svc_set_qnamegroup__axis2__svc.html#g30653ba40ccaac99fad8efed0ca18805Member axis2_svc_get_parentgroup__axis2__svc.html#g1469032ca1c58b9eb5b120e7fe9a9ad1Member axis2_svc_create_with_qnamegroup__axis2__svc.html#gc10ba2c54702eb532945cf3fdce2178faxis2_svc_get_param_containergroup__axis2__svc.html#gb0e91f0337ca9f35a18cd119df3821feaxis2_svc_set_svc_descgroup__axis2__svc.html#g4a5c7c02129b43cdb31b47d4d02ed1aeaxis2_svc_add_paramgroup__axis2__svc.html#gc48a028c9452d77839752c8d9c3adbd1Member axis2_stub_set_endpoint_refgroup__axis2__stub.html#gf746e816fb986b581bc2d3859bb097aaaxis2_stub_get_svc_ctx_idgroup__axis2__stub.html#gc313e3c8e03ada17a04e4049121d41d7axis2_rm_assertion_set_polling_wait_timegroup__axis2__rm__assertion.html#gef7b8f9dd2ccaf385f64b8ef0a41c5cdaxis2_rm_assertion_get_retrans_intervalgroup__axis2__rm__assertion.html#g96a9721dbb33a51041efda2d7c9be576axis2_rm_assertion_tgroup__axis2__rm__assertion.html#gc5c452a0e5e495dab71350586f6dc024relates togroup__axis2__relates__to.htmlaxis2_policy_include_get_parentgroup__axis2__policy__include.html#gd25c0fdf48600247429665ed40f07220Member axis2_phases_info_set_in_faultphasesgroup__axis2__phases__info.html#gfed35a8618887bfc9568c24c701dad92axis2_phases_info_get_op_in_faultphasesgroup__axis2__phases__info.html#g3e9ac196d87b66cc25396f7b9b4cd012Member axis2_phase_rule_set_beforegroup__axis2__phase__rule.html#g03fadd5da8392e210b994cd5f425a92faxis2_phase_rule_set_firstgroup__axis2__phase__rule.html#ge2de00428e8ec57f9008d1180b0eac53Member axis2_phase_resolver_create_with_configgroup__axis2__phase__resolver.html#g256c0cd570fa29d36e8834aa2cc4f23caxis2_phase_resolver_engage_module_globallygroup__axis2__phase__resolver.html#g38da02ab67a528c00d8a319e3855c69eAXIS2_PHASE_DISPATCHgroup__axis2__phase__meta.html#gbef3d28ecbcab2b56020f862eae64623axis2_phase_holder_get_phasegroup__axis2__phase__holder.html#g90c45ef85d6fe1611bf16a874a110112Member axis2_phase_get_namegroup__axis2__phase.html#g2c92bf9ab205f20e7b603c8a82646d23axis2_phase_invoke_start_from_handlergroup__axis2__phase.html#gae4d903e6f99f2dbd7e358306cfd0733AXIS2_PHASE_ANYWHEREgroup__axis2__phase.html#g742763fcecad7c9cd3ff889591151a8dMember axis2_options_set_use_separate_listenergroup__axis2__options.html#g4d51e41495fd13829711123fc1c66179Member axis2_options_set_propertygroup__axis2__options.html#g5a364a815c87168bb136d8cbd11476aaMember axis2_options_get_transport_outgroup__axis2__options.html#g31b684c1588681915e4be4242f0e7ee0Member axis2_options_get_fromgroup__axis2__options.html#g7e00548bdf22d85963f03cf96af4324eaxis2_options_set_http_headersgroup__axis2__options.html#ga3c3b6a89eac2785b2eeb4fefe054202axis2_options_get_manage_sessiongroup__axis2__options.html#g31560142acf4f3fdd5784e95215ec8c4axis2_options_set_fromgroup__axis2__options.html#g5c465dd6f0aebb8feb3d92642bb1d3c7axis2_options_get_transport_ingroup__axis2__options.html#g21bb77bedd66cce1e54f470b2b33d983Member axis2_op_ctx_get_response_writtengroup__axis2__op__ctx.html#g875d36b0b70b77d84f99969da22e462faxis2_op_ctx_destroy_mutexgroup__axis2__op__ctx.html#ga465e10f016efca08e1beecbcb0c98ceoperation contextgroup__axis2__op__ctx.htmlMember axis2_op_client_get_operation_contextgroup__axis2__op__client.html#g00eca9bd04926e192466a4d330f5a9a7axis2_op_client_set_wsa_actiongroup__axis2__op__client.html#g562d94703fd1723020cf7cacafc73198axis2_op_client_set_callbackgroup__axis2__op__client.html#g59c3ab7690e5fb5b7f5ab27680f03633Member axis2_op_set_msg_exchange_patterngroup__axis2__op.html#g52a0934ae264d08854a0eb9903dbc889Member axis2_op_get_msggroup__axis2__op.html#g6bacac4dc143d92360b08e6c9c2d58a2Member axis2_op_add_to_engaged_module_listgroup__axis2__op.html#ga54a9d47584ba744fc345f8afa48d08daxis2_op_register_op_ctxgroup__axis2__op.html#gc609bbc51888e90769428cec974590d1axis2_op_set_stylegroup__axis2__op.html#g49c363288528fd63b48030a0f9bc4149axis2_op_add_paramgroup__axis2__op.html#g642a38669d70655fa4ba8dd3be359aa0Group message receivergroup__axis2__msg__recv.htmlAXIS2_MSG_RECV_RECEIVEgroup__axis2__msg__recv.html#gb34287c1340360777b91f6f8fb1a7103Member axis2_msg_info_headers_get_togroup__axis2__msg__info__headers.html#gb280fd5c6eb7ef2f604a88f4682076f8axis2_msg_info_headers_freegroup__axis2__msg__info__headers.html#g7a6d878c6d3c94555e4e9a0200583ee7axis2_msg_info_headers_set_reply_to_anonymousgroup__axis2__msg__info__headers.html#g048b85e9ace9b60a54c500aac7e343cbMember axis2_msg_ctx_set_transport_in_descgroup__axis2__msg__ctx.html#g341daeb3f8280985160048c1c868c64bMember axis2_msg_ctx_set_required_auth_is_httpgroup__axis2__msg__ctx.html#g5232bb8c1a80fc1ddc686308feaa852cMember axis2_msg_ctx_set_message_idgroup__axis2__msg__ctx.html#g9523fae1595a4b3e9dead658deccce7fMember axis2_msg_ctx_set_doing_mtomgroup__axis2__msg__ctx.html#g96f2cfe70142d34f2c3a36d7e256e74fMember axis2_msg_ctx_get_transport_urlgroup__axis2__msg__ctx.html#g62bab01718be9813dc0f5abc847df09cMember axis2_msg_ctx_get_server_sidegroup__axis2__msg__ctx.html#g644ee3f4d6e47f63cb1f3388db52f723Member axis2_msg_ctx_get_out_transport_infogroup__axis2__msg__ctx.html#gb37389b924f4503169165ae6d0371e17Member axis2_msg_ctx_get_flowgroup__axis2__msg__ctx.html#gd70614caf6e01d3f061b994f0e87d0e8Member axis2_msg_ctx_find_opgroup__axis2__msg__ctx.html#g06450d683a212d8246cc5c240bbce9c9Member AXIS2_SVR_PEER_IP_ADDRgroup__axis2__msg__ctx.html#g7474c039348fcaae57ebc785661329ceaxis2_msg_ctx_set_no_contentgroup__axis2__msg__ctx.html#gcdd6a7139357035806b86b62965fcdccaxis2_msg_ctx_set_transport_headersgroup__axis2__msg__ctx.html#g71be3edb48396a26b8adbd307df23376axis2_msg_ctx_get_current_handler_indexgroup__axis2__msg__ctx.html#g450a580a5f51545746aeb794a0a010d5axis2_msg_ctx_set_svc_grpgroup__axis2__msg__ctx.html#ge687f88abc16f152d2cfecd2e32f6871axis2_msg_ctx_get_doing_mtomgroup__axis2__msg__ctx.html#g06b44f369602fb1f397faf8c3b686fbdaxis2_msg_ctx_get_svc_ctx_idgroup__axis2__msg__ctx.html#ga015e6d25bffee86c4f258077da21a57axis2_msg_ctx_set_wsa_message_idgroup__axis2__msg__ctx.html#g03166053a7a0bb7db94ace6e56436f81axis2_msg_ctx_get_togroup__axis2__msg__ctx.html#g4596067ca561b23abd8c277fff1ba686axis2_msg_ctx_get_basegroup__axis2__msg__ctx.html#g21705c3ecce5d8869ecf66fc68a9cc21Member axis2_msg_set_parentgroup__axis2__msg.html#g7701b38d18f59fb09f37e9e974bfc3d0Member axis2_msg_creategroup__axis2__msg.html#ge674ded0d7b93ff698a55334d6221286axis2_msg_set_flowgroup__axis2__msg.html#ge2d0cca919d701cc03f6a99d7fff3164Member axis2_module_desc_set_parentgroup__axis2__module__desc.html#g2571fdc9828be8ccf946ed5b9e0fc205Member axis2_module_desc_get_all_paramsgroup__axis2__module__desc.html#g4c5fa59c3c4ceca4cb2f57425f4e7838axis2_module_desc_is_param_lockedgroup__axis2__module__desc.html#g889f5fc4ff540dc1c8a2b32b145bc2c9axis2_module_desc_get_in_flowgroup__axis2__module__desc.html#ga133856dcfeb27be4c08d8c353c66255modulegroup__axis2__module.htmlMember axis2_http_worker_set_svr_portgroup__axis2__http__worker.html#gfb1d2dcface2bf7416de679db5f7851bMember AXIS2_TRANSPORT_HEADER_PROPERTYgroup__axis2__core__transport__http.html#gefb194067b7161fd9588a369d670a9bcMember AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAMEgroup__axis2__core__transport__http.html#gfd86c42e8c3d0feb6a3d42845223d740Member AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAMEgroup__axis2__core__transport__http.html#g58002cf4b89ea44cf210685f5d001738Member AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAMEgroup__axis2__core__transport__http.html#g930af95c5f1d2f402ca09c43172050d1Member AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAMEgroup__axis2__core__transport__http.html#gb4eba8e2663f58501a1c2f60a2e71556Member AXIS2_HTTP_PROTOCOL_VERSIONgroup__axis2__core__transport__http.html#g67267cee309a9e1efe43c3fa70712ee6Member AXIS2_HTTP_HEADER_PROTOCOL_10group__axis2__core__transport__http.html#g07f18a8888739e20907b373be6a6b082Member AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVEgroup__axis2__core__transport__http.html#g515e805051b55426384443adb07d3d65Member AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIMEgroup__axis2__core__transport__http.html#gfee27b862f7774c8dfa2d22d20b23989Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAMEgroup__axis2__core__transport__http.html#gb516617d27137f5f543b0d8514f68b13Member AXIS2_HTTP_AUTHENTICATIONgroup__axis2__core__transport__http.html#g237ef4fec9cc584aaf4ad2e87df851a8AXIS2_HTTP_NOT_FOUNDgroup__axis2__core__transport__http.html#g01d57b2c369271cd5b3a4587935d31e5AXIS2_COMMAgroup__axis2__core__transport__http.html#gd1eee51e04f7a75b94255b30e1c0b4ddAXIS2_ESC_DOUBLE_QUOTE_STRgroup__axis2__core__transport__http.html#g75d44fc3881b136694ddc1863eee3722AXIS2_PROXY_AUTH_UNAMEgroup__axis2__core__transport__http.html#gc09f7900329058e702247db3b4828775AXIS2_TRANSPORT_HTTPgroup__axis2__core__transport__http.html#g1ddcbbd560ac4cd62e1320f7a9dbb911AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODINGgroup__axis2__core__transport__http.html#g76b4b376e9064ddbf2f033da79e552a1AXIS2_HTTP_HEADER_ACCEPT_LANGUAGEgroup__axis2__core__transport__http.html#g61aed86040e6ed7e7607d7a822103ccdAXIS2_HTTP_HEADER_DATEgroup__axis2__core__transport__http.html#gf10a927d3fc614361a0ce3200ea6c750AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAMEgroup__axis2__core__transport__http.html#gb516617d27137f5f543b0d8514f68b13AXIS2_HTTP_HEADER_CONTENT_LANGUAGEgroup__axis2__core__transport__http.html#g64f362e5120304b5932d9422f0011f62AXIS2_SOCKETgroup__axis2__core__transport__http.html#g221f709187b0a0665e8328ddaa2fb6e2AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAMEgroup__axis2__core__transport__http.html#gc38dd59f733218732d05ab14d95cc3e0AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VALgroup__axis2__core__transport__http.html#g36e0ac6317c7ca0c8a2f6a54404c6325AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VALgroup__axis2__core__transport__http.html#g2b93d55191c18645df532a00afbaf551axutil_url_get_pathgroup__axis2__core__transport__http.html#g6b3dda22f4a9894f8eda3171721b9ee1http transportgroup__axis2__core__trans__http.htmlhttp server threadgroup__axis2__http__svr__thread.htmlaxis2_http_status_line_tgroup__axis2__http__status__line.html#gdfb55bd473dfd8c73003b9c20d7e4e4bMember axis2_http_simple_response_get_body_bytesgroup__axis2__http__simple__response.html#ga7ef4d819677a618a6d28436f756b15aaxis2_http_simple_response_get_bodygroup__axis2__http__simple__response.html#g49d3ca8a7650d3c713be403293c6f49daxis2_http_simple_response_set_status_linegroup__axis2__http__simple__response.html#g516ffbfa78d129d4fd9952ad8db24bc8Member axis2_http_simple_request_add_headergroup__axis2__http__simple__request.html#g8451d9b42f770193cf5d4d5d2b699710axis2_http_simple_request_tgroup__axis2__http__simple__request.html#g587c6b13c2e9b94b68e3a2a142cc3416Member axis2_http_response_writer_closegroup__axis2__http__response__writer.html#ge3d2d72f0450b556f3a4fe0cfd744881Member axis2_http_request_line_parse_linegroup__axis2__http__request__line.html#g423db6e23965c9380c2152eca233db25Member axis2_http_out_transport_info_set_char_encodinggroup__axis2__http__out__transport__info.html#g9368ed3e85952d69b382d57e6d8b9610axis2_http_out_transport_info_tgroup__axis2__http__out__transport__info.html#g488b445412c39ae4b2a3edd1df4f319caxis2_http_header_get_namegroup__axis2__http__header.html#g5963ee03651481ebff143191634ae3ccMember axis2_http_client_free_void_arggroup__axis2__http__client.html#gc33e073ad963820ba18f7b255b060a53axis2_http_client_set_dump_input_msggroup__axis2__http__client.html#g9feb3e75194fa6f3a89132a288700075Member axis2_http_accept_record_freegroup__axis2__http__accept__record.html#g239e70683b74ebbbf004f46a02b63303Member axis2_handler_desc_get_rulesgroup__axis2__handler__desc.html#g7b4d3746f2bd22d912ef0f92b6359749axis2_handler_desc_get_parentgroup__axis2__handler__desc.html#gc4ff89737d616b5c948731965e00b564Member axis2_handler_get_paramgroup__axis2__handler.html#g6359a617f32df26f912923d4c73f695aaxis2_handler_freegroup__axis2__handler.html#g1e0beec4adf09b9326565095bec4691aaxis2_flow_container_creategroup__axis2__flow__container.html#g7eae0c6ff23192492a0b046b3714eabdMember axis2_flow_add_handlergroup__axis2__flow.html#gd5ddebf59dbc1b9e2237398c99d1e253Member axis2_endpoint_ref_get_metadata_listgroup__axis2__endpoint__ref.html#g5ff6d5d4e9bd5d346ed1652c3f0a9566axis2_endpoint_ref_get_svc_namegroup__axis2__endpoint__ref.html#g392b8ac3572d5a3b905b407dbf9c9936axis2_endpoint_ref_tgroup__axis2__endpoint__ref.html#gf6e89c83a6b553e7e3f11e787b3fecd4axis2_req_uri_disp_creategroup__axis2__disp.html#g44abce5a9beda1c85ad8263af5971789Member AXIS2_OUT_FAULTFLOW_KEYgroup__axis2__desc__constants.html#g08546fcedc786f6313440206bbb13090AXIS2_IN_FLOW_KEYgroup__axis2__desc__constants.html#ga41f19199cb6d14fe08b749ce252581aMember axis2_desc_get_policy_includegroup__axis2__description.html#gfb2c12d56fbfa672cf4f577c19aed3afaxis2_desc_get_childgroup__axis2__description.html#g55e705da0e6458ad6dd435087052b266Member axis2_ctx_creategroup__axis2__ctx.html#gcb5d8fd664562a2ddaf88cc3248e977eaxis2_core_utils_get_module_versiongroup__axis2__core__utils.html#g4d8dea8ee5f5b08c45e069e55d01f62bMember axis2_build_client_conf_ctxgroup__axis2__conf__init.html#g76e54d1b9208729089eaa51f0ad954faMember axis2_conf_ctx_get_propertygroup__axis2__conf__ctx.html#ga8842aca9155be5f501e12818c1303e1axis2_conf_ctx_get_svc_grp_ctxgroup__axis2__conf__ctx.html#g74d5c818fd827335b3ef71e8f6c15efaMember axis2_conf_set_out_phasesgroup__axis2__config.html#g70e492fdfb83180cab77006979ce10e0Member axis2_conf_get_out_phasesgroup__axis2__config.html#gdf15d7aa810a6d812818d3ac00085537Member axis2_conf_get_all_modulesgroup__axis2__config.html#gae78d7f53b928733081821be9c869c86Member axis2_conf_tgroup__axis2__config.html#gd32db334e748bbdcaebd55156e493d3baxis2_conf_get_default_module_versiongroup__axis2__config.html#gc57b44693b7d2a19e2268c5860105eb5axis2_conf_set_phases_infogroup__axis2__config.html#g7a51cf9382faf1e4d2cb9440cea1eb83axis2_conf_add_transport_ingroup__axis2__config.html#g78048cf013c8a2441862164f9aaaedbeMember axis2_engine_resume_sendgroup__axis2__engine.html#gba1a56931bc5ad105c7059c2af3cd59baxis2_engine_get_receiver_fault_codegroup__axis2__engine.html#g750a760536008dcec26bff80a891197eMember axis2_callback_set_datagroup__axis2__callback.html#gc336244380c30c63f102efbea2204aeeaxis2_callback_set_on_completegroup__axis2__callback.html#g10b6d858cf29a9426a2b0c7a9690ab15Member axis2_async_result_freegroup__axis2__async__result.html#g7dc808667785c5430baef18f3e377d5caxis2_any_content_type_freegroup__axis2__any__content__type.html#g505a11bc9aecae180b61ca79c82bac61Member EPR_SERVICE_NAMEgroup__axis2__addr__consts.html#ga8706ee876df13fee596dd3d3b90fb55Member AXIS2_WSA_PREFIX_FAULT_TOgroup__axis2__addr__consts.html#g491048fb85ab2213d9df72cb1c1a6ca0Member AXIS2_WSA_ACTIONgroup__axis2__addr__consts.html#g903617fc19d61deaaf5ab3dc024378d3AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUEgroup__axis2__addr__consts.html#g540bf85e886e5f00dc4ba2c84673be19AXIS2_WSA_TOgroup__axis2__addr__consts.html#ga03c11932fc77dffe74a333717adfab7Member axiom_xpath_context_creategroup__axiom__xpath__api.html#g9835edaade1499c3f3f22a1028e841ffaxiom_xpath_streaming_checkgroup__axiom__xpath__api.html#g83c7017c40dd0977276b77d97cbff6a5axiom_xpath_result_tgroup__axiom__xpath__api.html#gd3fd9cff34578fc31d6ebd4d594a87f7Member axiom_xml_writer_write_entity_refgroup__axiom__xml__writer.html#g873890c13fa8b86f1b3c879fa13cc59dMember axiom_xml_writer_get_xml_sizegroup__axiom__xml__writer.html#gaad2c11c45420ff072bed9c4b9a568f9axiom_xml_writer_get_prefixgroup__axiom__xml__writer.html#gecd8543be052df94f2d0767da3126240axiom_xml_writer_write_end_elementgroup__axiom__xml__writer.html#g0670764ce56a2674c9753995be9de071Member axiom_xml_reader_get_pi_targetgroup__axiom__xml__reader.html#g02a3310afc9f6e696a1945b09c81df6eMember axiom_xml_reader_create_for_iogroup__axiom__xml__reader.html#g77bd95155c1f98044ecc2b2c0f525e9baxiom_xml_reader_get_attribute_value_by_numbergroup__axiom__xml__reader.html#g5008312eab21f2d6af4ab9c1facec082Member axiom_text_set_is_binarygroup__axiom__text.html#g636febf81c7bd801197ba1dd6c3967eeaxiom_text_set_optimizegroup__axiom__text.html#g92afcea629a6c1aba1bb66203e8b0453Member axiom_stax_builder_free_selfgroup__axiom__stax__builder.html#g6316c104a0d16efdeaee14a35a03cd06Member axiom_soap_header_block_set_must_understand_with_boolgroup__axiom__soap__header__block.html#gc1c174c041c707b4ee0c1e752c68a850axiom_soap_header_block_get_must_understandgroup__axiom__soap__header__block.html#g5e505325bdbc54550f7f3eef9107738eaxiom_soap_header_remove_header_blockgroup__axiom__soap__header.html#g4d36a1f5427197087a29703d8ac74ac6Member axiom_soap_fault_value_create_with_codegroup__axiom__soap__fault__value.html#gd99d26388683833e9086c8588993018faxiom_soap_fault_text_get_base_nodegroup__axiom__soap__fault__text.html#gc23731689dc612a0019df49423b94fd9axiom_soap_fault_sub_code_create_with_parentgroup__axiom__soap__fault__sub__code.html#g5145cc80fe64551473e01a1520454182Member axiom_soap_fault_reason_freegroup__axiom__soap__fault__reason.html#g0c66d7b20921746f695c48315fce3b8daxiom_soap_fault_node_get_valuegroup__axiom__soap__fault__node.html#g05a2e001e1e82b12e6bf1a6c7b619326Member axiom_soap_fault_code_get_sub_codegroup__axiom__soap__fault__code.html#gc83114a60ca4484a736ea3d83039a897Member axiom_soap_fault_get_detailgroup__axiom__soap__fault.html#gefcbf6ce5d6408bc3f56da09ac2f9afaaxiom_soap_fault_create_with_exceptiongroup__axiom__soap__fault.html#gde9cbf2c313c0adeedea3ac60bf148b4axiom_soap_envelope_get_soap_buildergroup__axiom__soap__envelope.html#g17b40326cf1e991991e667f7ea559640Member axiom_soap_builder_set_mime_parsergroup__axiom__soap__builder.html#gea4871693c3e2aa81ae285bbe9c98a30axiom_soap_builder_set_callback_ctxgroup__axiom__soap__builder.html#gc031d875440a4006012395dd0de317d0Member axiom_soap_body_has_faultgroup__axiom__soap__body.html#g5e88d50ff93d508053b3920f301f301caxiom_soap_body_freegroup__axiom__soap__body.html#g34c1b50ba393f19106007eed20104e1daxiom_processing_instruction_tgroup__axiom__processing__instruction.html#g88db2f28e42e406744274d633b7a6611Member axiom_output_get_char_set_encodinggroup__axiom__output.html#ge2ef7d144c347cb0696b543755ccba2baxiom_output_set_soap11group__axiom__output.html#gd25112ec9c6ff59fbced8134ef58eb75Member axiom_node_insert_sibling_beforegroup__axiom__node.html#ged3250c790969964a948b0469207a735Member AXIOM_TEXTgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab8a11b652dbc4165765d21d3652b186d5axiom_node_get_next_siblinggroup__axiom__node.html#g6d91d78cb733d34724901e75887e85c9AXIOM projectgroup__axiom.htmlMember axiom_namespace_serializegroup__axiom__namespace.html#g17c3ae13c50d93823cde2a237e84afa5axiom_namespace_clonegroup__axiom__namespace.html#g5784d0b07008694433e27272403acd9bMtom_sending_callbackgroup__mtom__sending__callback.htmlMember axiom_mime_parser_get_mime_parts_mapgroup__axiom__mime__parser.html#g617b19ac339bcd891757054a089c3f84Member axiom_element_use_parent_namespacegroup__axiom__element.html#g4ba9f367967bd316db956b33d3d33608Member axiom_element_get_localname_strgroup__axiom__element.html#g2cc5e8c0e639efdcab57e1c0276c7223Member axiom_element_find_declared_namespacegroup__axiom__element.html#g593519ca013b852b980cca016479ed4daxiom_element_create_strgroup__axiom__element.html#g90e269817d14b24aee50b703c0825552axiom_element_get_qnamegroup__axiom__element.html#g7624c9f5fdebd0d20baba3909d147262axiom_element_declare_namespacegroup__axiom__element.html#gb45f118ce5531c486879b1bf7c1f1cffaxiom_document_get_buildergroup__axiom__document.html#g8663a5625accd15c3ae99c5a9b5a68e1axiom_doctype_get_valuegroup__axiom__doctype.html#gaafffb4fb25cdc52471c381de62e5d46Member axiom_data_handler_set_mime_idgroup__axiom__data__handler.html#g276407df5df9bf7600ee499c4c2952baaxiom_data_handler_set_mime_idgroup__axiom__data__handler.html#g276407df5df9bf7600ee499c4c2952baMember axiom_comment_set_valuegroup__axiom__comment.html#g52c8c57ae6df3175de853f09ea54c71faxiom_children_with_specific_attribute_iterator_creategroup__axiom__children__with__specific__attribute__iterator.html#g5fccc2bf8a745e68567b33227ef89c59axiom_children_qname_iterator_freegroup__axiom__children__qname__iterator.html#gfad46c799aceae357a7e35da9bda1f1aMember axiom_child_element_iterator_nextgroup__axiom__child__element__iterator.html#geb91b34e1dc19eaeb969179ce8e85b27Member axiom_attribute_set_localname_strgroup__axiom__attribute.html#g5433c75c8f87f602ae89c9943f45df81axiom_attribute_get_value_strgroup__axiom__attribute.html#g0f1e956758b142ba21d18dcd30cca1d9attributegroup__axiom__attribute.htmlneethi_registry_createneethi__registry_8h.html#9b7d62a8d36a3a03db5271efe27a23e0neethi_policy_set_nameneethi__policy_8h.html#834fb0f1555863cf0d8cb7e9d72aec7aneethi_operator_get_valueneethi__operator_8h.html#901269dda7d00a0fddd7a20021d1a33cneethi_exactlyone_tneethi__exactlyone_8h.html#d085af6e6227d3db18b62c1c0ba950dfAXIS2_RM_MAX_RETRANS_COUNTneethi__constants_8h.html#c2ae75f3ecd86dc12277e1363280ddf7AXIS2_RM_POLICY_11_NSneethi__constants_8h.html#8127f5e0624e12fb80af37440bfa5277neethi_constants.h File Referenceneethi__constants_8h.htmlneethi_assertion_create_with_argsneethi__assertion_8h.html#8a32e42e5f85c66db801b8792d2cb441axutil_hexitgroup__axutil__utils.html#g09e633d0cb2c4acb0affc75c870646dcAXIS2_FUNC_PARAM_CHECKgroup__axutil__utils.html#gc166237d0def75b6826516f64acffbefaxutil_url_get_protocolgroup__axis2__core__transport__http.html#g38b6181e61324e637565d7e0a6bc6012axutil_uri_get_protocolgroup__axutil__uri.html#g7f474fba8db7111c30a4cc5878b09b09AXIS2_URI_UNP_OMITPASSWORDgroup__axutil__uri.html#ga54bd62b2dcdf304deec6087328d9b40AXIS2_URI_GOPHER_DEFAULT_PORTgroup__axutil__uri.html#g1324185e1936eefc96758ac7b3bd1d1eaxutil_thread_pool.h File Referenceaxutil__thread__pool_8h.htmlaxutil_thread_mutex_tgroup__axutil__thread.html#g3d6a99be71c7c750b4ac37efae2bdf87axutil_stack_freegroup__axis2__util__stack.html#g53a011812b6cf0955195e17473e75297axutil_qname_equalsgroup__axutil__qname.html#g1c9a3b98ac4a0f1dd0b323f4c118c2f4axutil_param_container.h File Referenceaxutil__param__container_8h.htmlaxutil_param_get_namegroup__axutil__param.html#geba7fcf049dcead1054b92d93e83835daxutil_md5.h File Referenceaxutil__md5_8h.htmlaxutil_linked_list_remove_firstgroup__axutil__linked__list.html#gfc28d2d0a4f2f1adffde51c2d8182779axutil_http_chunked_stream_write_last_chunkgroup__axutil__http__chunked__stream.html#g517ddae95767dd642b1e79151c68f031axutil_hash_nextgroup__axutil__hash.html#gf273ceaf30433b5bef16fe389afbb3e9axutil_env_freegroup__axutil__env.html#g35511f188ef8470bec29c255e84217dbaxutil_dll_desc_create_platform_specific_dll_namegroup__axutil__dll__desc.html#gfdf636b3093ced193bc8f78a59deb30aaxutil_dll_desc_freegroup__axutil__dll__desc.html#g3152465c0291056b7fb4678b8dea917daxutil_digest_calc.h File Referenceaxutil__digest__calc_8h.htmlaxutil_date_time_get_hourgroup__axutil__date__time.html#g709d3af760c962dc1e69b8e7f821ab70axutil_date_time.h File Referenceaxutil__date__time_8h.htmlaxutil_base64_binary_creategroup__axutil__base64__binary.html#gd4034fe75ef4f78c96a3d4a621e05261axutil_array_list_ensure_capacitygroup__axutil__array__list.html#g07cd8d75ecc51f53224af4b6793dcde7axutil_allocator.h File Referenceaxutil__allocator_8h.htmlaxis2_transport_receiver_initgroup__axis2__transport__receiver.html#g3d4ef4feffc51de764f709a33946b159axis2_transport_out_desc_get_sendergroup__axis2__transport__out__desc.html#g4e924632fe992d0be5e5ba163636a301axis2_transport_in_desc_set_fault_phasegroup__axis2__transport__in__desc.html#gdf835498b897a9987af59160c09d10e7axis2_svr_callback.haxis2__svr__callback_8h.htmlaxis2_svc_name.haxis2__svc__name_8h.htmlaxis2_svc_grp_ctx_freegroup__axis2__svc__grp__ctx.html#g0fd950866065679d54ca9f6a8a2edfaaaxis2_svc_grp_get_parentgroup__axis2__svc__grp.html#gcefdd7d375eaa681d8d14f6c3256c39aaxis2_svc_ctx_get_conf_ctxgroup__axis2__svc__ctx.html#gf0645d1d2501588e81ba725137927348axis2_svc_client_get_proxy_auth_requiredgroup__axis2__svc__client.html#g7c97e5105557a8f3dca54c19f5d30f29axis2_svc_client_send_receive_non_blockinggroup__axis2__svc__client.html#g26a5d5c7cb8a4305908d829f35dcfb13axis2_svc_client_get_svcgroup__axis2__svc__client.html#gadff613f313131cacb5abc9771133294axis2_svc_get_target_nsgroup__axis2__svc.html#g918040e3fdedb586e5d161ca4cc82925axis2_svc_get_op_by_soap_actiongroup__axis2__svc.html#g91fa5f06a989145dadd9d071ca1eb648axis2_svc_get_op_with_namegroup__axis2__svc.html#g49a1d2e36cf1c13d113ac5ed04ab2455axis2_stub_set_endpoint_urigroup__axis2__stub.html#g175f162d0a5a7901f49f882bde4105eeMember axis2_simple_http_svr_conn_get_peer_ipaxis2__simple__http__svr__conn_8h.html#40d5571375a2c2cae2274d29760e3a49axis2_simple_http_svr_conn_is_openaxis2__simple__http__svr__conn_8h.html#186ef9e05e9b1e7125ddf020412caa88axis2_phase_rule_freegroup__axis2__phase__rule.html#g98314dfcdc4e33e9943a9b7649d231e4axis2_phase_resolver_build_transport_chainsgroup__axis2__phase__resolver.html#g9efb7f943f914da282d838fc692bfe37axis2_phase_holder_add_handlergroup__axis2__phase__holder.html#g8d16ae0d83bd80e4d9264f2c99219dcbaxis2_phase_set_last_handlergroup__axis2__phase.html#gd958e22d2aebf7f66390bd8f7a7ecefbAXIS2_OUT_TRANSPORT_INFO_FREEgroup__axis2__out__transport__info.html#g91d375733dd28c9de9060f632cdb69f8axis2_options_set_xml_parser_resetgroup__axis2__options.html#gcb471f91a48af04d45ee124f341e98baaxis2_options_set_transport_outgroup__axis2__options.html#gfa5e260c38cf75997d4ae2b58517166daxis2_options_get_timeout_in_milli_secondsgroup__axis2__options.html#gf5bffc566365333558914d7ca4c727ddAXIS2_TIMEOUT_IN_SECONDSgroup__axis2__options.html#g8d4099b7a4e7a79c33840aeb01b34a43axis2_op_ctx_get_parentgroup__axis2__op__ctx.html#g2c28e9321f282f79b6aa7b5575171fd5axis2_op_client_create_default_soap_envelopegroup__axis2__op__client.html#g3dee8b2af09a8a08f39155bce5304179axis2_op_client_get_optionsgroup__axis2__op__client.html#g0f4b560555e0be42d8f15979b09bc5edaxis2_msg_recv_invoke_business_logicgroup__axis2__msg__recv.html#g4b958421f632a04e659883698ad70728axis2_msg_info_headers_get_message_idgroup__axis2__msg__info__headers.html#gbe06f2880f498d70f44934445d78bf0daxis2_msg_info_headers_set_togroup__axis2__msg__info__headers.html#g3ca4a29c369d4e871f957fe773353325axis2_msg_ctx_get_auth_failedgroup__axis2__msg__ctx.html#g9275a1b7095f53dc1fc3b81946296accaxis2_msg_ctx_get_http_accept_charset_record_listgroup__axis2__msg__ctx.html#gb0be9834b54fbc08fa1acc6f3d9ab0d6axis2_msg_ctx_get_paused_handler_indexgroup__axis2__msg__ctx.html#gfa296d96971800a761b97537f07aad1eaxis2_msg_ctx_get_svc_grp_ctx_idgroup__axis2__msg__ctx.html#g63cef8dc5b5bdba03c1d738594fed173axis2_msg_ctx_set_doing_mtomgroup__axis2__msg__ctx.html#g96f2cfe70142d34f2c3a36d7e256e74faxis2_msg_ctx_set_svc_ctx_idgroup__axis2__msg__ctx.html#g2f35786b04d65569ae12d577e5e58778axis2_msg_ctx_get_wsa_message_idgroup__axis2__msg__ctx.html#g40829d63ca4fca04a39e3313ba840c6aaxis2_msg_ctx_set_fault_togroup__axis2__msg__ctx.html#gf1bce1caf16c721b26fae05bbb7987daaxis2_msg_ctx_get_parentgroup__axis2__msg__ctx.html#gd4ce3d1d6debe530cbb3dffb2a43c866axis2_msg_ctx.h File Referenceaxis2__msg__ctx_8h.htmlaxis2_msg_get_paramgroup__axis2__msg.html#gf286bada1249b588b79d9b90520b5a09axis2_module_desc_get_modulegroup__axis2__module__desc.html#gd421edfcd1fe5c5d9770b9ea74e8b4d9axis2_module_desc_set_in_flowgroup__axis2__module__desc.html#g1dee42234c84e9a1f39829b03abd75efaxis2_listener_manager_get_reply_to_eprgroup__axis2__listener__manager.html#g98741fbe3a3e68a7a631960c2387b0eaMember axis2_http_transport_utils_process_http_put_requestaxis2__http__transport__utils_8h.html#86eff382a23f3dac365a6d37c7d8ff54axis2_http_transport_utils_get_conflictaxis2__http__transport__utils_8h.html#23dc72d3cb48ee6039d39c1a56dd6ee4axis2_http_transport_utils_transport_out_initaxis2__http__transport__utils_8h.html#6e515e0c355171b2a60b9227a2dc1136axis2_http_svr_thread_get_local_portgroup__axis2__http__svr__thread.html#g68ea3285f43e01fc9f2b3e15ca7691e6axis2_http_status_line.h File Referenceaxis2__http__status__line_8h.htmlaxis2_http_simple_request_tgroup__axis2__http__simple__request.html#g587c6b13c2e9b94b68e3a2a142cc3416Member axis2_http_sender_createaxis2__http__sender_8h.html#7b78151a46456e34ef5968a894108033axis2_http_sender_util_add_headeraxis2__http__sender_8h.html#06e60433b94944bbb134e4ea5aa8e877axis2_http_response_writer_print_strgroup__axis2__http__response__writer.html#g2fcb29f5c9d3c09b08267641f6b78178axis2_http_request_line_tgroup__axis2__http__request__line.html#g1070304508a3dd97050d86758db6b3e4axis2_http_out_transport_info.h File Referenceaxis2__http__out__transport__info_8h.htmlaxis2_http_client_free_void_arggroup__axis2__http__client.html#gc33e073ad963820ba18f7b255b060a53axis2_http_client_sendgroup__axis2__http__client.html#g101755ba5822bee5f88615d18fa6259faxis2_handler_desc_freegroup__axis2__handler__desc.html#g8c30a90d80ac928f900cd20e42577840axis2_handler.haxis2__handler_8h.htmlaxis2_flow_container_get_fault_out_flowgroup__axis2__flow__container.html#g1f58a7584d692df17ec20c9f5d5cbf67axis2_flow_tgroup__axis2__flow.html#gd6d04c1c62cbffd6140a8df8fcbe5a09axis2_engine.h File Referenceaxis2__engine_8h.htmlaxis2_endpoint_ref_set_addressgroup__axis2__endpoint__ref.html#g9b3f69452fdb8c38b9c505e56f80914caxis2_disp_get_basegroup__axis2__disp.html#g493cb717b675286752bed9e62b314f38AXIS2_OP_KEYgroup__axis2__desc__constants.html#g356b2b75d01d009037f0cb504118eb8daxis2_desc_get_paramgroup__axis2__description.html#g6d7eb35ea7f0dd0a82bc47324a92bc0baxis2_ctx.haxis2__ctx_8h.htmlaxis2_core_dll_desc.haxis2__core__dll__desc_8h.htmlaxis2_conf_ctx_get_svc_ctx_mapgroup__axis2__conf__ctx.html#g5345c142c9d7868bcb8adbbbc6091c3faxis2_conf_get_axis2_flaggroup__axis2__config.html#g5ec35a0f6f9bd8d6c179b74e27c1a22faxis2_conf_get_all_modulesgroup__axis2__config.html#gae78d7f53b928733081821be9c869c86axis2_conf_get_in_phases_upto_and_including_post_dispatchgroup__axis2__config.html#g39916547b5444449bcd1a87f3a37111daxis2_conf_get_svc_grpgroup__axis2__config.html#g0a81de08c7d260307dce83727e7fbb6caxis2_callback_set_completegroup__axis2__callback.html#g67f076fe17ac0e95dbea3ce7ecd7111eaxis2_any_content_type_get_value_mapgroup__axis2__any__content__type.html#gc67a76c66f54b965bc5872ff132bbb86AXIS2_WSA_PREFIX_REPLY_TOgroup__axis2__addr__consts.html#g4ea0451331116aef7a25dfd57091ddebAXIS2_WSA_NAMESPACE_SUBMISSIONgroup__axis2__addr__consts.html#g4f4910d41b2474a1212c4af6c9c3d769axiom_xml_writer.haxiom__xml__writer_8h.htmlaxiom_xml_writer_write_processing_instruction_datagroup__axiom__xml__writer.html#gf72fcff938ae170e1054a6291af7e785axiom_xml_writer_freegroup__axiom__xml__writer.html#gf050a102040e761077a63b2254390d4aaxiom_xml_reader_get_namespace_prefix_by_numbergroup__axiom__xml__reader.html#gedb9e7e00933a87a9f9681625aa051afaxiom_xml_reader_ops_taxiom__xml__reader_8h.html#8f3d2887b08cc57b6bd25b7f6163b919axiom_soap_header_block_taxiom__soap__header__block_8h.html#ee934c0b0060742228fe3fad6898d45daxiom_soap_header.h File Referenceaxiom__soap__header_8h.htmlaxiom_soap_fault_text_freegroup__axiom__soap__fault__text.html#g67e470106dd5af9d1e93b349438d966aaxiom_soap_fault_role_get_role_valuegroup__axiom__soap__fault__role.html#gdb8ca065a0f02b9bb7c508c013e6d04aaxiom_soap_fault_reason.h File Referenceaxiom__soap__fault__reason_8h.htmlaxiom_soap_fault_detail.haxiom__soap__fault__detail_8h.htmlaxiom_soap_fault_get_rolegroup__axiom__soap__fault.html#gd83a049e57b3aec2aba62dd8d3349a94axiom_soap_envelope_get_base_nodegroup__axiom__soap__envelope.html#ga494a9aa5bb5567f6362ed6ba45ecf32axiom_soap_builder_set_mime_parsergroup__axiom__soap__builder.html#gea4871693c3e2aa81ae285bbe9c98a30axiom_soap_body.haxiom__soap__body_8h.htmlaxiom_node.haxiom__node_8h.htmlaxiom_node_insert_sibling_aftergroup__axiom__node.html#gd3f52c5c7c9886cc3dc3483c26919e72axiom_mtom_sending_callback.haxiom__mtom__sending__callback_8h.htmlaxiom_mime_part_get_content_type_for_mimeaxiom__mime__part_8h.html#5b5fa4502b62c4bd8d173fcd28a3c703axiom_mime_parser_parse_for_soapgroup__axiom__mime__parser.html#gdc5c7fd17d2589e7bcb82db28a2ee2c7axiom_document_creategroup__axiom__document.html#gf15c8c5b6476d1ca0f256ff56854b5afaxiom_data_source_serializegroup__axiom__data__source.html#g488ccc8d887b633e749a88ac260fb9c7axiom_data_handler_get_file_namegroup__axiom__data__handler.html#g0eb87b388f6a8d1c8df21b685cea0161axiom_comment_set_valuegroup__axiom__comment.html#g52c8c57ae6df3175de853f09ea54c71fAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREEgroup__axiom__children__with__specific__attribute__iterator.html#g4584d7e942bb2d1699b25097f0d433e5axiom_children_iterator_freegroup__axiom__children__iterator.html#gaf7cc3ef96f809a6a28d1d9884669f39axiom_child_element_iterator.h File Referenceaxiom__child__element__iterator_8h.htmlaxiom_attribute_freegroup__axiom__attribute.html#gd28f7c80adad15d93a1be5a8918c92c9rp_trust10_builder.hrp__trust10__builder_8h-source.htmlrp_security_context_token_builder.hrp__security__context__token__builder_8h-source.htmlrp_includes.hrp__includes_8h-source.htmlneethi_policy.hneethi__policy_8h-source.htmlguththila_buffer.hguththila__buffer_8h-source.htmlAXIS2_FUNC_PARAM_CHECKaxutil__utils_8h-source.html#l00056AXIS2_URI_SNEWS_DEFAULT_PORTaxutil__uri_8h-source.html#l00070AXIS2_THREAD_MUTEX_UNNESTEDaxutil__thread_8h-source.html#l00185axutil_property.haxutil__property_8h-source.htmlaxutil_log_opsaxutil__log_8h-source.html#l00088axutil_hashfunc_taxutil__hash_8h-source.html#l00070axutil_env::log_enabledaxutil__env_8h-source.html#l00072axutil_array_list_taxutil__array__list_8h-source.html#l00047axis2_transport_sender.haxis2__transport__sender_8h-source.htmlAXIS2_SVC_SKELETON_ON_FAULTaxis2__svc__skeleton_8h-source.html#l00173axis2_svc_grp.haxis2__svc__grp_8h-source.htmlaxis2_policy_include_taxis2__policy__include_8h-source.html#l00040axis2_phase_holder_taxis2__phase__holder_8h-source.html#l00053axis2_options.haxis2__options_8h-source.htmlAXIS2_HTTP_CLIENTaxis2__msg__ctx_8h-source.html#l00083axis2_module_desc.haxis2__module__desc_8h-source.htmlAXIS2_TRANSPORT_HEADER_PROPERTYaxis2__http__transport_8h-source.html#l00981AXIS2_HTTP_PROXY_PORTaxis2__http__transport_8h-source.html#l00888AXIS2_HTTP_RESPONSE_BAD_REQUESTaxis2__http__transport_8h-source.html#l00801AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XMLaxis2__http__transport_8h-source.html#l00715AXIS2_HTTP_HEADER_PRAGMAaxis2__http__transport_8h-source.html#l00628AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCEaxis2__http__transport_8h-source.html#l00539AXIS2_HTTP_HEADER_CONTENT_IDaxis2__http__transport_8h-source.html#l00453AXIS2_HTTP_HEADER_PROTOCOL_10axis2__http__transport_8h-source.html#l00363AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAMEaxis2__http__transport_8h-source.html#l00277AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VALaxis2__http__transport_8h-source.html#l00187AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VALaxis2__http__transport_8h-source.html#l00101axis2_http_simple_request.haxis2__http__simple__request_8h-source.htmlaxis2_http_out_transport_info.haxis2__http__out__transport__info_8h-source.htmlaxis2_engine.haxis2__engine_8h-source.htmlAXIS2_OP_KEYaxis2__description_8h-source.html#l00078axis2_const.haxis2__const_8h-source.htmlPARAM_SERVICE_GROUP_CONTEXT_IDaxis2__addr_8h-source.html#l00165AXIS2_WSA_NAMESPACEaxis2__addr_8h-source.html#l00108AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPEaxis2__addr_8h-source.html#l00051axiom_xpath_context::nodeaxiom__xpath_8h-source.html#l00135AXIOM_XPATH_EVALUATION_ERRORaxiom__xpath_8h-source.html#l00048axiom_soap_fault_role.haxiom__soap__fault__role_8h-source.htmlAXIOM_NAMESPACEaxiom__node_8h-source.html#l00083axiom_mtom_caching_callback_ops_taxiom__mtom__caching__callback_8h-source.html#l00043axiom_children_iterator.haxiom__children__iterator_8h-source.htmlaxutil_log_ops::writestructaxutil__log__ops.html#8992fe7f68747b72629f1b3b73bcffbeMember axutil_error::error_numberstructaxutil__error.html#3da4cc0e92d6497abb53a77de312761eaxutil_env::logstructaxutil__env.html#f417f3c7c7e1555967cec92e76aa9195axutil_allocator::malloc_fnstructaxutil__allocator.html#0d8cb46ec65089504c4dd4f677138692axis2_transport_sender_ops::freestructaxis2__transport__sender__ops.html#70fe1ffdfc05599bb5852c70882bd63aaxis2_transport_receiver_ops::freestructaxis2__transport__receiver__ops.html#7994fd305b8424911cb4bbb0c6fd0245struct axis2_svc_skeleton_opsstructaxis2__svc__skeleton__ops.htmlaxis2_module_ops::fill_handler_create_func_mapstructaxis2__module__ops.html#f2b6df61735d015d43b1f4956ae48817Member axiom_xpath_result::flagstructaxiom__xpath__result.html#6ff5e690ba21cbf4c05128c704d5d955Member axiom_xpath_context::stackstructaxiom__xpath__context.html#77e4cd6d0f33008bf06047a7e9c04559axiom_xpath_context::positionstructaxiom__xpath__context.html#b04502cdafbd1c04afd69929a147855aMember axiom_xml_writer_ops::write_entity_refstructaxiom__xml__writer__ops.html#f7515527519017374d3c999857c19b4bMember axiom_xml_writer_ops::write_start_element_with_namespacestructaxiom__xml__writer__ops.html#cb19bc0de6a28aff413d1116ab94488eaxiom_xml_writer_ops::write_entity_refstructaxiom__xml__writer__ops.html#f7515527519017374d3c999857c19b4baxiom_xml_writer_ops::write_start_element_with_namespacestructaxiom__xml__writer__ops.html#cb19bc0de6a28aff413d1116ab94488eMember axiom_xml_reader_ops::get_namespace_prefix_by_numberstructaxiom__xml__reader__ops.html#038bd2b7b10d16ce5e33f0e0f8003d5caxiom_xml_reader_ops::get_pi_targetstructaxiom__xml__reader__ops.html#65d6db8d669b488efa67f7b11aae87bestruct axiom_xml_readerstructaxiom__xml__reader.htmlrp_x509_token_set_token_version_and_typegroup__rp__x509__token.html#g47c1accf1c9686371945a19c63c3290brp_x509_token_creategroup__rp__x509__token.html#gb9564c4d67d6acc87d5112c5cf2b401erp_wss11_get_must_support_ref_issuer_serialgroup__wss11.html#gd2b589ce244e04308382558608376cacrp_wss10_get_must_support_ref_key_identifiergroup__wss10.html#g66412d8dec816fcae8b66ef88612a135rp_username_token_get_useUTprofile11group__rp__username__token.html#g15bbfe6cc6f1e50f7a0b04fe476094e3rp_transport_binding_set_transport_tokengroup__rp__transport__binding.html#g4874b5ac8783298164b4882819d40655rp_token_get_is_issuer_namegroup__rp__token.html#g21faa5f63b7cfeb03c3b7af1bf1d1c12rp_symmetric_binding_set_protection_tokengroup__rp__symmetric__binding.html#g7002b2aaa9aae576aa249668780cbb07rp_symmetric_asymmetric_binding_commons_freegroup__rp__assymmetric__symmetric__binding__commons.html#gab617a69455b6ff4f1ab98e717aca787rp_supporting_tokens_set_algorithmsuitegroup__rp__supporting__tokens.html#g531920e7db8be856c42feb256f24f99crp_signed_encrypted_parts_get_signedpartsgroup__rp__signed__encrypted__parts.html#gf1a95245468018bc6e66beb7b7c7413arp_signed_encrypted_elements_get_xpath_versiongroup__rp__signed__encrypted__elements.html#g3c2a41e0b10406fc536ba741f3f4a6b5rp_security_context_token_get_bootstrap_policygroup__rp__security__context__token.html#g36e41b3956033b576689146be69d8579rp_secpolicy_builder_buildgroup__rp__secpolicy__builder.html#g1cc44fd8fd890b4ed5e5bae2d86ef30frp_secpolicy_set_encrypted_partsgroup__rp__secpolicy.html#gd9b49da6e87b9e7f64f8b810557dc358rp_saml_token_builder_buildgroup__rp__saml__token__builder.html#g1dfcdf584a35ab3df8b2cde2b660471erp_rampart_config_set_certificate_filegroup__rp__rampart__config.html#g6047a5794c8c1850a46d5b93291d5ed3rp_rampart_config_get_encryption_usergroup__rp__rampart__config.html#g5a52aad3669dc25a642702d91e471a5frp_policy_create_from_om_nodegroup__rp__policy__creator.html#gb50f8055c67bcc414c0828c3225b905brp_trust10_set_require_client_entropygroup__trust10.html#g1d791597d02994058b68f97358c0993drp_issued_token_set_requested_sec_token_templategroup__trust10.html#gaaba126310b59441f7d88e40f1d6e5b3rp_https_token_get_require_client_certificategroup__rp__https__token.html#gd25f6c55119cfa27d2694c46bb7fb177rp_encryption_token_builder_buildgroup__rp__encryption__token__builder.html#gb3cf82b7e4ba76bb4315f348f7b659bbRP_SP_NS_11group__rp__defines.html#gbe249ca5216a796b5b79701bcd8352c8RP_USERgroup__rp__defines.html#gc7b38e6eac59460ec6ba8cba249a7c9fRP_WSS_X509_V3_TOKEN_11group__rp__defines.html#ged358bf742589d6ce6b4b7ff084f3504RP_INCLUDE_ONCE_SP12group__rp__defines.html#g615af9ee759222126fa7103050f7ca1cRP_LAYOUT_STRICTgroup__rp__defines.html#gecbe12978d67e06959a520c7038868feRP_KW_RSA_OAEPgroup__rp__defines.html#g1aff3acac35807af4a75cce199a186f4RP_ALGO_SUITE_BASIC256_SHA256_RSA15group__rp__defines.html#g18f3316a7510b4c18e2f72d94cd205c5RP_ENCRYPT_BEFORE_SIGNINGgroup__rp__defines.html#g13d8b747c1a02721b04d78a40a0f0a81RP_MUST_SUPPORT_REF_THUMBPRINTgroup__rp__defines.html#g3a371dcf90ea101b9caf7559217d8820RP_ENCRYPTED_ITEMSgroup__rp__defines.html#g9f8e9e456f160ae74e61c5c066341cd4rp_bootstrap_policy_builder_buildgroup__rp__bootstrap__policy__builder.html#g1c5fced33138671abc02e5173d4b9d6drp_binding_commons_creategroup__rp__binding__commons.html#gc8d80df5b56c98ea007a4c13f6ccb8fdRp_algorithmsuite_buildergroup__rp__algorithmsuite__builder.htmlrp_algorithmsuite_get_min_asymmetric_keylengthgroup__rp__algoruthmsuite.html#g17d1026374012fd820712bcc1c7c9d53rp_algorithmsuite_creategroup__rp__algoruthmsuite.html#g6cbd2eefc556d17c8eb982a1ffda986fMember AXIS2_CREATE_FUNCTIONgroup__axutil__utils.html#gdf04006f325f60c4a2de4404b68a5b3cAXIS2_ERROR_SETgroup__axutil__utils.html#gacaecc9520a0470ee32e6100942c4088Member axutil_uri_get_hostgroup__axutil__uri.html#gaec4183fc0c510ca0e2a2038d6ed4a8dMember AXIS2_URI_SNEWS_DEFAULT_PORTgroup__axutil__uri.html#g453de6d294e03f6a1950b5ecd1c767a4axutil_uri_get_pathgroup__axutil__uri.html#g6f187b6adfd0e2b46b63214cb29ed45aAXIS2_URI_UNP_OMITQUERY_ONLYgroup__axutil__uri.html#gba651e91d89d096e638945c1dc729b82AXIS2_URI_IMAP_DEFAULT_PORTgroup__axutil__uri.html#g05f6dc24b60711f8c7ed562ceef3cd26AXIS2_ATOIgroup__axutil__types.html#gb4cf88ba910b63082b1524ba2d1bc34eaxutil_thread_pool_get_threadgroup__axutil__thread__pool.html#ge09dd79634b658499b98114aa41661c1Member axutil_thread_creategroup__axutil__thread.html#g1f4f964a275cb3274a110985c0521599axutil_thread_once_initgroup__axutil__thread.html#gac95e6a2e2106ff72daa1ca244286890threadgroup__axutil__thread.htmlaxutil_strtrimgroup__axutil__string__utils.html#g4b3fe5b371f96a3831bf77de352faba2axutil_strdupgroup__axutil__string__utils.html#g700d0b66ff83204a597d2ec69dc71c19axutil_string_create_assume_ownershipgroup__axutil__string.html#g12d5d062c9f901653ec55934667df4ffaxutil_stream_set_readgroup__axutil__stream.html#g19ba77c09c2185f1e5d732dbc578bfdaaxutil_stream_freegroup__axutil__stream.html#gd327ed3142060fe3ccaae3bdc74af6b5axutil_stack_tgroup__axis2__util__stack.html#g2f4bc12193c61ec2ccb06b04e39b6c0baxutil_qname_get_prefixgroup__axutil__qname.html#g7d34b1bd9765dec3c93fbbb44a5a8170axutil_property_set_scopegroup__axutil__property.html#g4779e4b68dcfb3d96eb6fea0d35fe245axutil_properties_get_propertygroup__axutil__properties.html#g673a26d6e215e9d7af7aa38bad55af6baxutil_param_container_free_void_arggroup__axutil__param__container.html#ge74cdd6e7cb30d2617d806899b7209c7axutil_param_value_freegroup__axutil__param.html#g9ec7a1f6cff83a81ce169f0d8b0b16f9AXIS2_DOM_PARAMgroup__axutil__param.html#g6cfc099e6a5c7446f60046fc7ee338c2axutil_network_handler_svr_socket_acceptgroup__axutil__network__handler.html#g3375a0ac8d9e4bba1262337ce0667b81axutil_md5_ctx_tgroup__axutil__md5.html#g1312350f3b8da4d5a04deda33dda0737axutil_log_writegroup__axutil__log.html#g6c6c2b2a80ae4fa9f7090e3d5c7d53ecAXIS2_LOG_INFO_MSGgroup__axutil__log.html#ge14e679de3b1f7ea298bb60ef22d6930Member axutil_linked_list_sizegroup__axutil__linked__list.html#g29f7df9bfa28df5111de92e7af0b8f7bMember axutil_linked_list_check_bounds_exclusivegroup__axutil__linked__list.html#g7f24198b995b898be3265a181b3c8457axutil_linked_list_addgroup__axutil__linked__list.html#g0084179ae23ffb3b65f0345933aaacf3Member axutil_http_chunked_stream_write_last_chunkgroup__axutil__http__chunked__stream.html#g517ddae95767dd642b1e79151c68f031http chunked streamgroup__axutil__http__chunked__stream.htmlMember axutil_hash_tgroup__axutil__hash.html#gb2d7d14db2de92a101573f44421ac12aaxutil_hash_makegroup__axutil__hash.html#g8acab6f89243f53723665aab71e5e945Member axutil_file_handler_closegroup__axutil__file__handler.html#g3d33d43657d61b1d2b6bf092791f6ec4axutil_file_freegroup__axutil__file.html#g73c06b6f04c482c3a124776922b68877axutil_error_get_status_codegroup__axutil__error.html#g4107c6db677ebcb721f7a99654813edaMember axutil_env_create_with_error_loggroup__axutil__env.html#g69b71ca4f32dffb546a225e8f018256eaxutil_env_tgroup__axutil__env.html#gd1083f9198686518871a41ce0e08cd0aaxutil_duration_get_daysgroup__axutil__duration.html#gbbc148b9b1c3d450555ba2c6ce77d7d4Member axutil_dll_desc_creategroup__axutil__dll__desc.html#gbf1b06f952b42a8d5d0fe9bed8796e56axutil_dll_desc_set_namegroup__axutil__dll__desc.html#g4253aba362259ccde18fd2ea632eddd7Member axutil_digest_calc_get_h_a1group__axutil__digest__calc.html#g0d599c73edbb99c815d66eeb05963819Member axutil_date_time_serialize_date_timegroup__axutil__date__time.html#g23bc467a35485b46ccf1ae91a8f63016axutil_date_time_deserialize_time_with_time_zonegroup__axutil__date__time.html#g0fb1bc56d8175e0312c96d189552b418axutil_date_time_serialize_date_timegroup__axutil__date__time.html#g23bc467a35485b46ccf1ae91a8f63016Member axutil_base64_binary_set_encoded_binarygroup__axutil__base64__binary.html#g86b05bf454e80645877f1a55d55b5150axutil_base64_binary_create_with_encoded_binarygroup__axutil__base64__binary.html#gf28fde47d4e1d8dcef7e561960a868e6Member axutil_array_list_check_bound_exclusivegroup__axutil__array__list.html#gdcfecde9d78409f5ff53607d756e3c45axutil_array_list_ensure_capacitygroup__axutil__array__list.html#g07cd8d75ecc51f53224af4b6793dcde7AXIS2_REALLOCgroup__axutil__allocator.html#g9126622fd049275a6ac0d5d4641ea02dAXIS2_TRANSPORT_SENDER_FREEgroup__axis2__transport__sender.html#g29ff197d35f12f1185e0306078a901a9axis2_transport_receiver_initgroup__axis2__transport__receiver.html#g3d4ef4feffc51de764f709a33946b159Member axis2_transport_out_desc_get_fault_phasegroup__axis2__transport__out__desc.html#g494cdcb339e8e0790b9856d84445c81faxis2_transport_out_desc_get_out_phasegroup__axis2__transport__out__desc.html#gc6f65f940c3d5fa1f37f4ce4f2b8cf35Member axis2_transport_in_desc_set_fault_in_flowgroup__axis2__transport__in__desc.html#g4f702a1a39ff523cf65600fc54046643axis2_transport_in_desc_param_containergroup__axis2__transport__in__desc.html#g0ed74fae154568678bd61a80568c5130axis2_transport_in_desc_freegroup__axis2__transport__in__desc.html#g21d5acc0496701bb3a3d3c6e12f8a45aaxutil_thread_mutex_tgroup__axis2__mutex.html#g3d6a99be71c7c750b4ac37efae2bdf87Member axis2_svc_skeleton_ops_tgroup__axis2__svc__skeleton.html#gcaa7c83955b9bfe9476b6afc73833b28Member axis2_svc_name_set_endpoint_namegroup__axis2__svc__name.html#g48f0c6167341579c0655b66b556cd1d3Member axis2_svc_grp_ctx_get_svc_grpgroup__axis2__svc__grp__ctx.html#g07609d72f69f20b13a8a6d9d9c7a51ccaxis2_svc_grp_ctx_initgroup__axis2__svc__grp__ctx.html#ga9b023de30ee0669a6e19b37417c4539Member axis2_svc_grp_get_all_svcsgroup__axis2__svc__grp.html#g57f4154c413ac2fd518ac1ad1bd863feaxis2_svc_grp_get_param_containergroup__axis2__svc__grp.html#g976d1818875fea5709a06760e1f938f1axis2_svc_grp_get_namegroup__axis2__svc__grp.html#g258d00be25cb490124899f9c29a56b95Group service contextgroup__axis2__svc__ctx.htmlMember axis2_svc_client_set_policy_from_omgroup__axis2__svc__client.html#g43d7672cdea91171fc89fcc06799e1dcMember axis2_svc_client_get_optionsgroup__axis2__svc__client.html#g2014faaebc9685d685b9b33ac7fdbb48Member axis2_svc_client_creategroup__axis2__svc__client.html#ga53015f155024d22a32e65132cd50e4caxis2_svc_client_get_svc_ctxgroup__axis2__svc__client.html#g507f51f4a690c9d13e02c98dc17eb02caxis2_svc_client_add_headergroup__axis2__svc__client.html#gb65906f3d7f3a0ad5f75018ffdbbd0a7Member axis2_svc_set_stylegroup__axis2__svc.html#gae80b545f3209e5b3a7afada2c8151e2Member axis2_svc_get_qnamegroup__axis2__svc.html#gb08959beaff32b83172f690ca959f65fMember axis2_svc_disengage_modulegroup__axis2__svc.html#gbccd941c1f48817cb8aad67eb017f70aaxis2_svc_get_flow_containergroup__axis2__svc.html#g3ba0227aea526ef6ca2123cbecdc53c1axis2_svc_get_svc_wsdl_pathgroup__axis2__svc.html#g1287041d3b531780558da54386ed38a3axis2_svc_get_paramgroup__axis2__svc.html#g5e42b969b0b6de99d284da0db942e969Member axis2_stub_set_endpoint_urigroup__axis2__stub.html#g175f162d0a5a7901f49f882bde4105eeaxis2_stub_engage_modulegroup__axis2__stub.html#gb1137e8b1493ebfbecb29e81b6554974axis2_rm_assertion_get_terminate_delaygroup__axis2__rm__assertion.html#g602797e195a1a36834f0269da4c383cfaxis2_rm_assertion_set_retrans_intervalgroup__axis2__rm__assertion.html#g91468f1a423806ed2a93af1e6a3a4f1faxis2_rm_assertion_creategroup__axis2__rm__assertion.html#g4f3264dca9abd398e1f99914b2e173a9axis2_relates_to_tgroup__axis2__relates__to.html#gd92fd7b0e63b44c6343db15b61aeba45axis2_policy_include_get_policygroup__axis2__policy__include.html#g58c8662b6086a3bd3b9b89be604f6a79Member axis2_phases_info_set_in_phasesgroup__axis2__phases__info.html#gc58249a95191f44734acbb8d1ea60fabaxis2_phases_info_get_op_out_faultphasesgroup__axis2__phases__info.html#ge6a731fdeab3aed6615283a43e2909d0Member axis2_phase_rule_set_firstgroup__axis2__phase__rule.html#ge2de00428e8ec57f9008d1180b0eac53axis2_phase_rule_is_lastgroup__axis2__phase__rule.html#gc8418e7c4a81d34a72a1c421c014c953Member axis2_phase_resolver_create_with_config_and_svcgroup__axis2__phase__resolver.html#ga476f0ca50e5c9b0a45e62e8bf5bd352axis2_phase_resolver_engage_module_to_svcgroup__axis2__phase__resolver.html#gbbf06ef19a61ea00c495c980f8cbee1bAXIS2_PHASE_POST_DISPATCHgroup__axis2__phase__meta.html#g9eac44b19c26bc57f84dbafff10e323aaxis2_phase_holder_build_transport_handler_chaingroup__axis2__phase__holder.html#g0994dce48be4df6e0100cf3ca382e768Member axis2_phase_insert_aftergroup__axis2__phase.html#g3fb24331f3f5b78eb1b2aab75de94fe5axis2_phase_freegroup__axis2__phase.html#g0a45133876a1cec57dc49bcd1720dc76axis2_phase_tgroup__axis2__phase.html#gbd87daad5497d3a4d756e20c008e3ac4Member axis2_options_set_xml_parser_resetgroup__axis2__options.html#gcb471f91a48af04d45ee124f341e98baMember axis2_options_set_proxy_auth_infogroup__axis2__options.html#g1d156a086d838faecb313d2cc96f80dcMember axis2_options_get_transport_receivergroup__axis2__options.html#g2503c35d1dd383cc8f18cba198097df3Member axis2_options_get_manage_sessiongroup__axis2__options.html#g31560142acf4f3fdd5784e95215ec8c4axis2_options_creategroup__axis2__options.html#gdda6f5257f3532ec3fa9ca4b316fb0f1axis2_options_set_manage_sessiongroup__axis2__options.html#g61fc4980e653dcc854819966af927b01axis2_options_set_togroup__axis2__options.html#geb3c591479ec264bd1e36221d22e31c7axis2_options_get_transport_in_protocolgroup__axis2__options.html#gd49160ba8b51fd82aafdc8bbd034851aMember axis2_op_ctx_increment_refgroup__axis2__op__ctx.html#g20a35685dc844e4c81aac603a8121dcbaxis2_op_ctx_is_in_usegroup__axis2__op__ctx.html#g016e131eb3c18c134e81f48f0639eae5axis2_op_ctx_tgroup__axis2__op__ctx.html#ga1a3bbd22f2313e8da5bd031ea8190c9Member axis2_op_client_get_optionsgroup__axis2__op__client.html#g0f4b560555e0be42d8f15979b09bc5edaxis2_op_client_get_svc_ctxgroup__axis2__op__client.html#g7d8f7b0e623e96ad796d3d93f3d443fcaxis2_op_client_get_callbackgroup__axis2__op__client.html#g2d750a878fe19e11a1d130467fa76370Member axis2_op_set_msg_recvgroup__axis2__op.html#g4d6dc17290afa1d5ed5e00d9c2311bcfMember axis2_op_get_msg_exchange_patterngroup__axis2__op.html#g462462d70f7534b112d1ca683093d0ccMember axis2_op_creategroup__axis2__op.html#g363737401304df2a665f0bbda92e3df3axis2_op_get_msggroup__axis2__op.html#g6bacac4dc143d92360b08e6c9c2d58a2axis2_op_engage_modulegroup__axis2__op.html#g2898d2698c34db4d41003046ae3ae7c4axis2_op_get_paramgroup__axis2__op.html#gc1bdf618feaa90bdc941a41f3a60f8caMember axis2_msg_recv_tgroup__axis2__msg__recv.html#g7547da0893782e6165696315481247deAXIS2_MSG_RECV_LOAD_AND_INIT_SVCgroup__axis2__msg__recv.html#g74593508310553ca87df6da9b3b50ddaMember axis2_msg_info_headers_set_actiongroup__axis2__msg__info__headers.html#gc70fa14807b569da33ddc91a6edd5031Group message information headersgroup__axis2__msg__info__headers.htmlaxis2_msg_info_headers_get_reply_to_anonymousgroup__axis2__msg__info__headers.html#gd97b6d6039b46707d5e1e88a7610c050Member axis2_msg_ctx_set_transport_out_descgroup__axis2__msg__ctx.html#g7a70711fb12e2503062ae6f3f91430c6Member axis2_msg_ctx_set_response_soap_envelopegroup__axis2__msg__ctx.html#gff90d0a3f90a95b7dcbce89c6a4d9a35Member axis2_msg_ctx_set_msg_idgroup__axis2__msg__ctx.html#g1371f00e4242de82b6475dd9443ab5dbMember axis2_msg_ctx_set_doing_restgroup__axis2__msg__ctx.html#g22fa631d4d7d1c62cc6186411dd47996Member axis2_msg_ctx_get_wsa_actiongroup__axis2__msg__ctx.html#g0d5ac74951bdd09c0d78f30899390c2bMember axis2_msg_ctx_get_soap_actiongroup__axis2__msg__ctx.html#g08e437e115186c445459c16088afd023Member axis2_msg_ctx_get_output_writtengroup__axis2__msg__ctx.html#g634e1277b8a4e29dd9bbbfe8e27350d7Member axis2_msg_ctx_get_fromgroup__axis2__msg__ctx.html#g8494bb2e6d1b4663da5dbf99ef2ee16eMember axis2_msg_ctx_find_svcgroup__axis2__msg__ctx.html#g0466cae16b55c308d5adb92c11bd6665Member AXIS2_TRANSPORT_HEADERSgroup__axis2__msg__ctx.html#g44eafb1b488dbb8b1a5c96b1a20e0672axis2_msg_ctx_get_auth_failedgroup__axis2__msg__ctx.html#g9275a1b7095f53dc1fc3b81946296accaxis2_msg_ctx_get_http_accept_charset_record_listgroup__axis2__msg__ctx.html#gb0be9834b54fbc08fa1acc6f3d9ab0d6axis2_msg_ctx_get_paused_handler_indexgroup__axis2__msg__ctx.html#gfa296d96971800a761b97537f07aad1eaxis2_msg_ctx_get_svc_grp_ctx_idgroup__axis2__msg__ctx.html#g63cef8dc5b5bdba03c1d738594fed173axis2_msg_ctx_set_doing_mtomgroup__axis2__msg__ctx.html#g96f2cfe70142d34f2c3a36d7e256e74faxis2_msg_ctx_set_svc_ctx_idgroup__axis2__msg__ctx.html#g2f35786b04d65569ae12d577e5e58778axis2_msg_ctx_get_wsa_message_idgroup__axis2__msg__ctx.html#g40829d63ca4fca04a39e3313ba840c6aaxis2_msg_ctx_set_fault_togroup__axis2__msg__ctx.html#gf1bce1caf16c721b26fae05bbb7987daaxis2_msg_ctx_get_parentgroup__axis2__msg__ctx.html#gd4ce3d1d6debe530cbb3dffb2a43c866message contextgroup__axis2__msg__ctx.htmlMember axis2_msg_freegroup__axis2__msg.html#g168f956533c439c704e34253f1bf77b3axis2_msg_get_directiongroup__axis2__msg.html#gcbb409dc87613a84ac8bde394869f6adMember axis2_module_desc_set_qnamegroup__axis2__module__desc.html#g85c96803117bc02ca8d224d4b9517372Member axis2_module_desc_get_fault_in_flowgroup__axis2__module__desc.html#g3ec33b603cdf59e705be51f6b91325f6axis2_module_desc_get_modulegroup__axis2__module__desc.html#gd421edfcd1fe5c5d9770b9ea74e8b4d9axis2_module_desc_set_in_flowgroup__axis2__module__desc.html#g1dee42234c84e9a1f39829b03abd75efaxis2_module_initgroup__axis2__module.html#g9ca78c64c10ccef1c279b93faf24d2a8listener managergroup__axis2__listener__manager.htmlMember AXIS2_TRANSPORT_HTTPgroup__axis2__core__transport__http.html#g1ddcbbd560ac4cd62e1320f7a9dbb911Member AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VALgroup__axis2__core__transport__http.html#ge1daeb79f903cfe5964a3b1891ed46f2Member AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VALgroup__axis2__core__transport__http.html#gd89f1d15edf0e06ac7c26655845cf2f5Member AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VALgroup__axis2__core__transport__http.html#g62d74f38da83eb95707d511798346e47Member AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VALgroup__axis2__core__transport__http.html#gaaeb6d5f5ea5c1442a61ea3009081856Member AXIS2_HTTP_PROXYgroup__axis2__core__transport__http.html#g4c55c519f73b103d735efd65fd37afa4Member AXIS2_HTTP_HEADER_PROTOCOL_11group__axis2__core__transport__http.html#ga059195e76fd72d1a531680c991defa5Member AXIS2_HTTP_HEADER_CONTENT_IDgroup__axis2__core__transport__http.html#g9d932e01e3f334bd376beb8f8851d3efMember AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XMLgroup__axis2__core__transport__http.html#gef0bfc5a01841f012044e38a849f96f3Member AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTHgroup__axis2__core__transport__http.html#gba2efbcc1aed54000de30ca5c7c28875Member AXIS2_HTTP_AUTHENTICATION_PASSWORDgroup__axis2__core__transport__http.html#geae1eccf45b27f3dfd448effee9cb59eAXIS2_HTTP_NOT_IMPLEMENTEDgroup__axis2__core__transport__http.html#g738747db858528695f06ddb2d2bb566cAXIS2_Qgroup__axis2__core__transport__http.html#g44bca1e2d0f3d3629f828d70e27dd9dcAXIS2_ESC_SINGLE_QUOTEgroup__axis2__core__transport__http.html#g6cb1ce6c7549fa2f8c6142cde8031ee1AXIS2_PROXY_AUTH_PASSWDgroup__axis2__core__transport__http.html#gb59da22cef175f1a911f00d5c7bbdd4dAXIS2_RESPONSE_WRITTENgroup__axis2__core__transport__http.html#g03b98cb0b86081af154df77a6f9214a8AXIS2_HTTP_RESPONSE_OKgroup__axis2__core__transport__http.html#gd619f095f1055dd18b1be82469e053adAXIS2_HTTP_HEADER_ALLOWgroup__axis2__core__transport__http.html#g0bde0495f84ae4adf82449fb835d3ec6AXIS2_HTTP_HEADER_SERVER_AXIS2Cgroup__axis2__core__transport__http.html#g10e4887082c6a2e487933b368f76d6a0AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URIgroup__axis2__core__transport__http.html#g4100ea09340e7b246a25284f6d05f8a4AXIS2_HTTP_HEADER_CONTENT_LENGTH_group__axis2__core__transport__http.html#g31261c8c6e061919a34c012a5bf45274AXIS2_HTTP_HEADER_PROTOCOL_10group__axis2__core__transport__http.html#g07f18a8888739e20907b373be6a6b082AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAMEgroup__axis2__core__transport__http.html#g7e7864571bcfffa1a9ebe3e5ceaa86e1AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VALgroup__axis2__core__transport__http.html#g659f6520d1b830a5c51a049678a240bbAXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VALgroup__axis2__core__transport__http.html#gdb4f4a6aae3a4eb49ad854cbe74c2907axutil_url_clonegroup__axis2__core__transport__http.html#gede18e70d76d9bb3542106eb5f0d9d98Group http transportgroup__axis2__core__trans__http.htmlaxis2_http_svr_thread_tgroup__axis2__http__svr__thread.html#gc9b1bf4adaabb85af85ffc9f56099239axis2_http_status_line_get_status_codegroup__axis2__http__status__line.html#g1520ba9334144bcf3debdff777909e30Member axis2_http_simple_response_get_charsetgroup__axis2__http__simple__response.html#g089edeaf57d72e069e00daab229feb36axis2_http_simple_response_get_body_bytesgroup__axis2__http__simple__response.html#ga7ef4d819677a618a6d28436f756b15aaxis2_http_simple_response_get_phrasegroup__axis2__http__simple__response.html#g965654d448f369bcd78c25eb8ba68a40Member axis2_http_simple_request_contains_headergroup__axis2__http__simple__request.html#gbf7dd0d486ee2058b0ffb1db75510c7faxis2_http_simple_request_get_request_linegroup__axis2__http__simple__request.html#g6ac660f82dcc2f279f88179c9c8e93a1Member axis2_http_response_writer_creategroup__axis2__http__response__writer.html#g115bd88c5873671ae1d9254c3d76fd62Member axis2_http_request_line_to_stringgroup__axis2__http__request__line.html#g0ad4fd96368580cc4bbf594f6efde5b7Member axis2_http_out_transport_info_set_content_typegroup__axis2__http__out__transport__info.html#g6c6fc7b1cf689442c23c5d2db2353acfaxis2_http_out_transport_info_set_content_typegroup__axis2__http__out__transport__info.html#g6c6fc7b1cf689442c23c5d2db2353acfaxis2_http_header_get_valuegroup__axis2__http__header.html#g79fab3410cde781fa766423032972c74Member axis2_http_client_get_key_filegroup__axis2__http__client.html#g59c9e33acb7844f4b9613286e3dd5c98axis2_http_client_set_server_certgroup__axis2__http__client.html#gb9f482d072c34edf2b8a6b901dcc52d2Member axis2_http_accept_record_get_levelgroup__axis2__http__accept__record.html#g6db10df60b5e5856bce8c554e612b946Member axis2_handler_desc_is_param_lockedgroup__axis2__handler__desc.html#g0ecc479c307be432ced66fc9cb18764aaxis2_handler_desc_set_parentgroup__axis2__handler__desc.html#g92b9ba1b7c76d813c580f22abb2a028fMember axis2_handler_initgroup__axis2__handler.html#g2c33a42d1670dbe42f287a5e3d6dfd1daxis2_handler_initgroup__axis2__handler.html#g2c33a42d1670dbe42f287a5e3d6dfd1dGroup flow containergroup__axis2__flow__container.htmlMember axis2_flow_creategroup__axis2__flow.html#g5b4b49a29511e4ec79aa4e61f5d39683Member axis2_endpoint_ref_get_ref_attribute_listgroup__axis2__endpoint__ref.html#g3708574ea51cc3ef8c93209a2d7d482aaxis2_endpoint_ref_set_svc_namegroup__axis2__endpoint__ref.html#g0a8954c0a595aa9016d125b1c171bcdaaxis2_endpoint_ref_creategroup__axis2__endpoint__ref.html#g693024d7cd181441f76eda5023b775deaxis2_rest_disp_creategroup__axis2__disp.html#g71f97a999b7c67d329477b2a0dc1b2ceMember AXIS2_OUT_FLOW_KEYgroup__axis2__desc__constants.html#ge57a6cd0804eca94aa386d8859dfb184AXIS2_OUT_FLOW_KEYgroup__axis2__desc__constants.html#ge57a6cd0804eca94aa386d8859dfb184Member axis2_desc_is_param_lockedgroup__axis2__description.html#gdbc1f8ca75485da47fb76f148e794336axis2_desc_remove_childgroup__axis2__description.html#g36c19818ab4b074242cc72c3f427e686Member axis2_ctx_freegroup__axis2__ctx.html#g6cc540335eb01194fc20626e774f9991axis2_core_utils_is_latest_mod_vergroup__axis2__core__utils.html#gf7b69806e963aaa112fa1d4eaff0b02fMember axis2_build_conf_ctxgroup__axis2__conf__init.html#g5094fdc635f36e4ed3cc935dbccf7354Member axis2_conf_ctx_get_root_dirgroup__axis2__conf__ctx.html#g8be4f6863d1a226ef4a239afcb191e6caxis2_conf_ctx_get_root_dirgroup__axis2__conf__ctx.html#g8be4f6863d1a226ef4a239afcb191e6cMember axis2_conf_set_phases_infogroup__axis2__config.html#g7a51cf9382faf1e4d2cb9440cea1eb83Member axis2_conf_get_paramgroup__axis2__config.html#g1335e3c90eb343f5a06ad1cdc761f638Member axis2_conf_get_all_out_transportsgroup__axis2__config.html#g2e5723e559a264f763e22e898990a63cMember axis2_conf_add_default_module_versiongroup__axis2__config.html#g0f7af7f98fa7f8b51d0ec1fd729fde6baxis2_conf_get_default_modulegroup__axis2__config.html#gcc150b948c4762e423777fe2f622fba0axis2_conf_add_msg_recvgroup__axis2__config.html#g2563c430243b6cce5142109b1f7fae84axis2_conf_get_transport_outgroup__axis2__config.html#gaf9cf73e931cfb1fcb70206de2adaa26Member axis2_engine_sendgroup__axis2__engine.html#g7a9ad14546e8c132d3a5ea9b14206b51axis2_engine_freegroup__axis2__engine.html#g7ca747905b4bb17877e94a44aad3887dMember axis2_callback_set_envelopegroup__axis2__callback.html#g5dc5998d5db574ef86f05d29fa5cd95daxis2_callback_set_on_errorgroup__axis2__callback.html#ga394bc5fddfd86a25c29930b08d39628Member axis2_async_result_get_envelopegroup__axis2__async__result.html#g78f7a7e270e176c1094ca43d106561b1Group any content typegroup__axis2__any__content__type.htmlMember EPR_SERVICE_NAME_PORT_NAMEgroup__axis2__addr__consts.html#g58f5d3de5e39fc0722adca9514731fd7Member AXIS2_WSA_PREFIX_MESSAGE_IDgroup__axis2__addr__consts.html#g02319f4c933bec23d60e64376ef6c926Member AXIS2_WSA_ANONYMOUS_URLgroup__axis2__addr__consts.html#g20752682a087c66467fbf5f09c434c7eAXIS2_WSA_ANONYMOUS_URLgroup__axis2__addr__consts.html#g20752682a087c66467fbf5f09c434c7eAXIS2_WSA_FROMgroup__axis2__addr__consts.html#g2e581c359ddbed08e8fc9aaf3adbc639Member axiom_xpath_evaluategroup__axiom__xpath__api.html#g2012e8e16e51b0d9aec32d85ae12a61aaxiom_xpath_register_default_functions_setgroup__axiom__xpath__api.html#gaa194fb637ad142a32510933243ddda5axiom_xpath_result_node_tgroup__axiom__xpath__api.html#g3ee61d21a66efdb14f7609b79e7c0002Member axiom_xml_writer_write_namespacegroup__axiom__xml__writer.html#g3bb91e88f62e6620f1236dccbba5c0b6Member axiom_xml_writer_set_default_prefixgroup__axiom__xml__writer.html#gc8897fef6328a061e47a9a51bf7428b1axiom_xml_writer_set_prefixgroup__axiom__xml__writer.html#g3d7148110d6d45f2239ea90632057774axiom_xml_writer_write_end_documentgroup__axiom__xml__writer.html#g293c2a405e80ab47f2ca1e87d51dd670Member axiom_xml_reader_get_prefixgroup__axiom__xml__reader.html#g044e4fce90018e0abe787a224673109eMember axiom_xml_reader_create_for_memorygroup__axiom__xml__reader.html#g2c03628448af33ea26951fc798e6ef84axiom_xml_reader_get_attribute_namespace_by_numbergroup__axiom__xml__reader.html#g8095baf49f5ae2577dc6ddd47bbf9b80Member axiom_text_set_is_swagroup__axiom__text.html#g825ec8b46977acc79eeb695d741b6d19axiom_text_set_is_binarygroup__axiom__text.html#g636febf81c7bd801197ba1dd6c3967eeMember axiom_stax_builder_get_documentgroup__axiom__stax__builder.html#g0d9f465b7ff6d9d3b6f918a674300db4Member axiom_soap_header_block_set_must_understand_with_stringgroup__axiom__soap__header__block.html#g7c285fa98928bc303e499c82cc890c24axiom_soap_header_block_is_processedgroup__axiom__soap__header__block.html#g9a567ec94c9574efa6a69b071b2fd23bMember axiom_soap_header_add_header_blockgroup__axiom__soap__header.html#g88dc23b19a4bd564638b4ffcaab955f9Member axiom_soap_fault_value_create_with_subcodegroup__axiom__soap__fault__value.html#g5a2d7ab98ab366e24568ec2bd31abcc9axiom_soap_fault_text_set_textgroup__axiom__soap__fault__text.html#gbdde017acd991c0a8178cefcdd3f60efaxiom_soap_fault_sub_code_create_with_parent_valuegroup__axiom__soap__fault__sub__code.html#g14d4c68d8cf092dc1b3da0342d6c85f7Member axiom_soap_fault_reason_get_all_soap_fault_textsgroup__axiom__soap__fault__reason.html#ge03a74d45b0ecd4da089c00c2fe01a3baxiom_soap_fault_node_get_base_nodegroup__axiom__soap__fault__node.html#ge0042486c9cf7de00a33470328b7b54fMember axiom_soap_fault_code_get_valuegroup__axiom__soap__fault__code.html#g3fa2d0d9855320b37aa4f2d8a5fa1363Member axiom_soap_fault_get_exceptiongroup__axiom__soap__fault.html#g09b8c77a2a3de953b14fa8a56a8ed11eaxiom_soap_fault_create_default_faultgroup__axiom__soap__fault.html#ga4dfaa0b36503de97f4b4a6b9c1fce94Member axiom_soap_envelope_creategroup__axiom__soap__envelope.html#g5041f00b86da0b31997634056ab91879Member axiom_soap_builder_set_processing_detail_elementsgroup__axiom__soap__builder.html#g4b4ece690ddf6f42c3a0151e4718be72axiom_soap_builder_create_attachmentsgroup__axiom__soap__builder.html#g182969b7d0d2d6a21bd05a953519fb7dsoap buildergroup__axiom__soap__builder.htmlaxiom_soap_body_has_faultgroup__axiom__soap__body.html#g5e88d50ff93d508053b3920f301f301caxiom_processing_instruction_creategroup__axiom__processing__instruction.html#gee29de6b25aec51c2c00ed8eef754010Member axiom_output_get_content_typegroup__axiom__output.html#g993ce7f461a59a39432f689734c37aa2axiom_output_set_xml_versiongroup__axiom__output.html#g3c26ffb2f530d6d05252def97a4ac01eMember axiom_node_is_completegroup__axiom__node.html#g94ec253a7993a968b8a2e5fc80c7f5f3Member AXIOM_DATA_SOURCEgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab32efd4c02439b7c8314fcd8a4a4ae417axiom_node_get_node_typegroup__axiom__node.html#g5f0287bd7a7487da62528717787b69b4AXIOMgroup__axiom__om.htmlMember axiom_namespace_set_uri_strgroup__axiom__namespace.html#gbe19e6e6925823e891731f29a3177c58axiom_namespace_to_stringgroup__axiom__namespace.html#g8b76cb45556ef58b9c729f459bd1528aAXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLERgroup__mtom__sending__callback.html#g94942a31b2618aab652c761b4b8c0b10Member axiom_mime_parser_get_soap_body_lengroup__axiom__mime__parser.html#g40a67e95af791703fa91d7b796ea89a2Flowgroup__axiom__mime__parser.htmlMember axiom_element_get_namespacegroup__axiom__element.html#g53fce175e2e0f41af39fe374b26fd370Member axiom_element_find_namespace_urigroup__axiom__element.html#gf9f1cddbbc96f961843ff476dd583faeaxiom_element_get_localname_strgroup__axiom__element.html#g2cc5e8c0e639efdcab57e1c0276c7223axiom_element_get_childrengroup__axiom__element.html#g17f61bf6ca1ba4f7280a62381533ffb9axiom_element_declare_namespace_assume_param_ownershipgroup__axiom__element.html#g5ee04cdb4b674180c16c1068ae474e05axiom_document_set_buildergroup__axiom__document.html#g616f57c62b173076d9cc94eb7caca957axiom_doctype_set_valuegroup__axiom__doctype.html#g7a9798d07369fd4a0a3cff0098e55886Member axiom_data_handler_write_togroup__axiom__data__handler.html#g47e0e307ecd1fc27223fb67f10e194edaxiom_data_handler_get_data_handler_typegroup__axiom__data__handler.html#gc95c723477124e5707df871340fbfb4eFlowgroup__axiom__data__handler.htmlMember axiom_children_with_specific_attribute_iterator_creategroup__axiom__children__with__specific__attribute__iterator.html#g5fccc2bf8a745e68567b33227ef89c59axiom_children_qname_iterator_removegroup__axiom__children__qname__iterator.html#g6c9fd0776505254c0073943eece20134Member axiom_child_element_iterator_removegroup__axiom__child__element__iterator.html#g5fdb1dfafa5ec44ffc46f3bb1301cd86Member axiom_attribute_set_namespacegroup__axiom__attribute.html#g4b27824f6bb94509562fe09644adf9a3axiom_attribute_set_localname_strgroup__axiom__attribute.html#g5433c75c8f87f602ae89c9943f45df81axiom_attribute_tgroup__axiom__attribute.html#gf77817edfc3f692871ad6e3a4d1160ffneethi_registry_create_with_parentneethi__registry_8h.html#54a23a357c2f6857326eaa76abc9845eneethi_policy_get_idneethi__policy_8h.html#eaffd6d9dd0401646925ec45a93a1aa7neethi_operator_set_valueneethi__operator_8h.html#8f23f35b4529e771dbf3f6d6572c9caaneethi_exactlyone_createneethi__exactlyone_8h.html#640b9c6e389ce8b151213929af13a7beAXIS2_RM_SENDER_SLEEP_TIMEneethi__constants_8h.html#595b352e1a1790c9ebed4a5edd8a6d0bAXIS2_SANDESHA2_NSneethi__constants_8h.html#af07899d16ab5abcebc00fec1e3165ecneethi_constants.hneethi__constants_8h.htmlneethi_assertion_freeneethi__assertion_8h.html#fac01c84ab8b9a584352bdf6c19f355eaxutil_url_decodegroup__axutil__utils.html#g3f4e6e5f6cbe22739225e5c3b758df65AXIS2_PARAM_CHECKgroup__axutil__utils.html#g991e733569102d01d912614940aca452axutil_url_set_hostgroup__axis2__core__transport__http.html#ge63489233ed0372f6e5f68892d6b6ba8axutil_uri_get_servergroup__axutil__uri.html#gce1f53b8049d45a7964ea893edcef747AXIS2_URI_UNP_OMITUSERINFOgroup__axutil__uri.html#gdf97648c61c101a22ed8628355171496AXIS2_URI_HTTP_DEFAULT_PORTgroup__axutil__uri.html#g61a736bf61ac0e9773d506a2faf98298axutil_thread_pool.haxutil__thread__pool_8h.htmlaxutil_threadattr_creategroup__axutil__thread.html#g6b8cf75c5b88d3389e3b9ea6f5371101axutil_stack_popgroup__axis2__util__stack.html#g185e06672da6c8bb57b2f693049a556faxutil_qname_clonegroup__axutil__qname.html#g2f085b6bb1bb492f5dab48f14d5c544daxutil_param_container.haxutil__param__container_8h.htmlaxutil_param_get_valuegroup__axutil__param.html#gbe8ba6300e567a0437e0c66dbcdbe729axutil_md5.haxutil__md5_8h.htmlaxutil_linked_list_remove_lastgroup__axutil__linked__list.html#g275168372eb9ef197be1565946651a2caxutil_http_chunked_stream_freegroup__axutil__http__chunked__stream.html#gad093be0fb9f42e204234812c6bbcb34axutil_hash_thisgroup__axutil__hash.html#ga6297355c83ada8f228ab1d6f46e3b50axutil_env_free_maskedgroup__axutil__env.html#g538c867378b066cd37390a8a0589f6cbaxutil_dll_desc.haxutil__dll__desc_8h.htmlaxutil_dll_desc_set_namegroup__axutil__dll__desc.html#g4253aba362259ccde18fd2ea632eddd7axutil_digest_calc.haxutil__digest__calc_8h.htmlaxutil_date_time_get_minutegroup__axutil__date__time.html#gb90d270ad77e3ad9b2dd7ed4e0120a63axutil_date_time.haxutil__date__time_8h.htmlaxutil_base64_binary_create_with_plain_binarygroup__axutil__base64__binary.html#g60d56fa636505ebc10eed632dc345f1faxutil_array_list_sizegroup__axutil__array__list.html#g89efc3fe773e2655f1884121a97273f3axutil_allocator.haxutil__allocator_8h.htmlaxis2_transport_receiver_startgroup__axis2__transport__receiver.html#g1d554a5c0ed340fba59530e01d078325axis2_transport_out_desc_set_sendergroup__axis2__transport__out__desc.html#g945e1f92bebe27aa180358eb7eaaf126axis2_transport_in_desc_add_paramgroup__axis2__transport__in__desc.html#g23edaa772c9490e9f9a42c62ff501087axis2_transport_in_desc.h File Referenceaxis2__transport__in__desc_8h.htmlaxis2_svc_skeleton.h File Referenceaxis2__svc__skeleton_8h.htmlaxis2_svc_grp_ctx_initgroup__axis2__svc__grp__ctx.html#ga9b023de30ee0669a6e19b37417c4539axis2_svc_grp_set_parentgroup__axis2__svc__grp.html#ga97c377688555569fa102742ff6adfedaxis2_svc_ctx_create_op_ctxgroup__axis2__svc__ctx.html#g6db441773d780252be4111f7a8a8c68faxis2_svc_client_set_policy_from_omgroup__axis2__svc__client.html#g43d7672cdea91171fc89fcc06799e1dcaxis2_svc_client_create_op_clientgroup__axis2__svc__client.html#g3feaab85a53c0340422ec9af52f69907axis2_svc_client_get_conf_ctxgroup__axis2__svc__client.html#gb3a17a94a9587abae4aaa7c3897d5005saxis2_svc_et_target_nsgroup__axis2__svc.html#gb3d818fcf7a3a43f8358f7c3a1a23689axis2_svc_get_namegroup__axis2__svc.html#ga2590adf8cb809185ccd1117e5c38767axis2_svc_get_all_opsgroup__axis2__svc.html#g1574ba3e87a679748c2395a521787d56axis2_stub_set_use_separate_listenergroup__axis2__stub.html#gf3fdc7a48ad18635e54089e1e7e9d416Member axis2_simple_http_svr_conn_get_streamaxis2__simple__http__svr__conn_8h.html#ae980e99f336b1d6e33c8c33f857eabcaxis2_simple_http_svr_conn_set_keep_aliveaxis2__simple__http__svr__conn_8h.html#03a2d4fcb2b4fd8cbb7a5599d8017937axis2_phase_rule_clonegroup__axis2__phase__rule.html#gdddf387d390d87edc5125127ae2ab3edaxis2_phase_resolver_creategroup__axis2__phase__resolver.html#g13fa6c6ea63393abfbb1740161a07555axis2_phase_holder_remove_handlergroup__axis2__phase__holder.html#g75e5acc55fdf29ee948daca03b582a6aaxis2_phase_add_handler_descgroup__axis2__phase.html#g9b592193365d716976f3f68d61bb7a6faxis2_out_transport_info_tgroup__axis2__out__transport__info.html#gb841f7dbcba89c8b6f55c193007d68c7axis2_options_get_xml_parser_resetgroup__axis2__options.html#g079c0d74ca8b4a6bdf94b5afe45c8b1caxis2_options_set_sender_transportgroup__axis2__options.html#g20bad0d888b7d491992595703dd11ddaaxis2_options_get_togroup__axis2__options.html#gd01536ebcfafaa661a44f5049650a9e8AXIS2_COPY_PROPERTIESgroup__axis2__options.html#g8e84174996e7ce97d2ec4c7b49956ad7axis2_op_ctx_add_msg_ctxgroup__axis2__op__ctx.html#gd9f9beba0ac1e3e0cfafe4ee0fd9ffb8axis2_op_client_engage_modulegroup__axis2__op__client.html#g29f69ee655f82cefb0f12dd2a964e844axis2_op_client_add_msg_ctxgroup__axis2__op__client.html#gc4c291b473d3aa4bcc19308018521347axis2_msg_recv_make_new_svc_objgroup__axis2__msg__recv.html#g0c811674ed07fe53ca54639291e0d001axis2_msg_info_headers_set_message_idgroup__axis2__msg__info__headers.html#ge85e94287e9fd4a3b21f7ebe681dfa0eaxis2_msg_info_headers_get_fromgroup__axis2__msg__info__headers.html#g6783234388f589ae7d6d794558c7f994axis2_msg_ctx_set_auth_failedgroup__axis2__msg__ctx.html#ge3e9e1cfad899c5f40249fa9d9d65d08axis2_msg_ctx_extract_http_accept_charset_record_listgroup__axis2__msg__ctx.html#gb0f787898e23723828108b29bbd66487axis2_msg_ctx_set_current_phase_indexgroup__axis2__msg__ctx.html#g977af6908d6522c8a9f440841d68a2b5axis2_msg_ctx_set_svc_grp_ctx_idgroup__axis2__msg__ctx.html#g420039e5d3ebb705ae0dd172a7e1d760axis2_msg_ctx_get_doing_restgroup__axis2__msg__ctx.html#g3df7388fa1f7bfe10b559a0a5a2ff1dcaxis2_msg_ctx_get_conf_ctxgroup__axis2__msg__ctx.html#g08b24ce7f8f48a571a0a3461d7e17af9axis2_msg_ctx_get_msg_info_headersgroup__axis2__msg__ctx.html#g65e6d0ad0877aeff2a9199c31fecec01axis2_msg_ctx_set_fromgroup__axis2__msg__ctx.html#gf448b8b9b290531148d0e1dfa9a46c15axis2_msg_ctx_set_parentgroup__axis2__msg__ctx.html#gc744a1bb471165ffafb70dfc3ac983deAXIS2_TRANSPORT_HEADERSgroup__axis2__msg__ctx.html#g44eafb1b488dbb8b1a5c96b1a20e0672axis2_msg_get_all_paramsgroup__axis2__msg.html#g6e0c544674fad801039013b66e5f548aaxis2_module_desc_set_modulegroup__axis2__module__desc.html#g0177e17d95d9dff343c5a0383464b5fbaxis2_module_desc_get_out_flowgroup__axis2__module__desc.html#gee74a4f6384c34f35780864b8c36cc50axis2_listener_manager_get_conf_ctxgroup__axis2__listener__manager.html#g7bbcb6361e6cd875b2a95198645573c6Member axis2_http_transport_utils_process_requestaxis2__http__transport__utils_8h.html#658b7a4b49b9e111bfa4785681f62133axis2_http_transport_utils_get_goneaxis2__http__transport__utils_8h.html#763a3954121f089d37da805ac4af8639axis2_http_transport_utils_transport_out_uninitaxis2__http__transport__utils_8h.html#ce91ce568d0eb89a81342a42e36f60ebaxis2_http_svr_thread_is_runninggroup__axis2__http__svr__thread.html#gf5fb6670fb1523a14af93a19f461a934axis2_http_status_line.haxis2__http__status__line_8h.htmlaxis2_http_simple_request_get_request_linegroup__axis2__http__simple__request.html#g6ac660f82dcc2f279f88179c9c8e93a1Member axis2_http_sender_freeaxis2__http__sender_8h.html#162893dae3afbc0fe252e4212c5b3041axis2_http_sender_set_chunkedaxis2__http__sender_8h.html#f0ef471e61eef4e81579b2c69317769baxis2_http_response_writer_print_intgroup__axis2__http__response__writer.html#gbeed0ef80c00b522dd1372901ecca873axis2_http_request_line_get_methodgroup__axis2__http__request__line.html#gc5ba67dbf9bbfb3a87a051f54242e17baxis2_http_out_transport_info.haxis2__http__out__transport__info_8h.htmlaxis2_http_client_set_mime_partsgroup__axis2__http__client.html#g510fbffdd8c52737d1b168ddf8cfee02axis2_http_client_recieve_headergroup__axis2__http__client.html#g5f5f7785804c35e3eb2adf658ac03343axis2_handler_desc_get_param_containergroup__axis2__handler__desc.html#g09fbdbcc01525968858a53740aaf164eaxis2_handler_desc.h File Referenceaxis2__handler__desc_8h.htmlaxis2_flow_container_set_fault_out_flowgroup__axis2__flow__container.html#g872dda5815ce3274d01182479cfbec54axis2_flow_creategroup__axis2__flow.html#g5b4b49a29511e4ec79aa4e61f5d39683axis2_engine_tgroup__axis2__engine.html#g9e253706c74ca12c9674c3714861fe74axis2_endpoint_ref_get_interface_qnamegroup__axis2__endpoint__ref.html#gecddf65a57bf6a269b8d31ea99165049axis2_disp_get_namegroup__axis2__disp.html#g4b87234842d634edc406ccbf9aaa4f14AXIS2_CLASSLOADER_KEYgroup__axis2__desc__constants.html#g60fdf1e9762c3a7806e25188fe2e1434axis2_desc_get_all_paramsgroup__axis2__description.html#g512aaa44dd670d0ed3365033b1459e53axis2_defines.h File Referenceaxis2__defines_8h.htmlAXIS2_SVC_DLLgroup__axis2__core__dll__desc.html#gc85501c69d2e20cc485d866817f732b7axis2_conf_ctx_get_svc_grp_ctx_mapgroup__axis2__conf__ctx.html#ga8be6a3dce54129fddc3ca40fe95e03aaxis2_conf_set_axis2_flaggroup__axis2__config.html#ga50c055fdc6e639f274aaf9972d92adeaxis2_conf_add_modulegroup__axis2__config.html#gd1f8225ed64ad78477b72eacd8f6a48aaxis2_conf_get_out_flowgroup__axis2__config.html#g9c2c12ce9e298ae1255d698b0c101f98axis2_conf_get_all_svc_grpsgroup__axis2__config.html#g51f16242864d15ff2d77442615d51832axis2_callback_get_envelopegroup__axis2__callback.html#ga3509e9b59969fe43e4930cdd8a2bd9aaxis2_any_content_type_freegroup__axis2__any__content__type.html#g505a11bc9aecae180b61ca79c82bac61AXIS2_WSA_PREFIX_TOgroup__axis2__addr__consts.html#gfc85ee803652f7b516adce75a32d195eAXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSIONgroup__axis2__addr__consts.html#g96acda046fde6398ecd5c494b5feb1abaxis2_addr.h File Referenceaxis2__addr_8h.htmlaxiom_xml_writer_write_cdatagroup__axiom__xml__writer.html#g576af9f5d4f98d90ec40d30844f49467axiom_xml_writer_write_start_elementgroup__axiom__xml__writer.html#g8fb66c4d3f5b6b4ddee7d62ad9ed70ccaxiom_xml_reader_get_prefixgroup__axiom__xml__reader.html#g044e4fce90018e0abe787a224673109eaxiom_xml_reader_taxiom__xml__reader_8h.html#858067fccbb02c86b5e18764fc3225d9axiom_soap_header_block_create_with_parentgroup__axiom__soap__header__block.html#g5188d7fed9873736576a093ccdc6f601axiom_soap_header.haxiom__soap__header_8h.htmlaxiom_soap_fault_text_set_langgroup__axiom__soap__fault__text.html#gddf6b270d8a7a242feebfcab0456884daxiom_soap_fault_role_get_base_nodegroup__axiom__soap__fault__role.html#g609089f41190a886185cc053560e1c80axiom_soap_fault_reason.haxiom__soap__fault__reason_8h.htmlaxiom_soap_fault_detail_taxiom__soap__fault__detail_8h.html#d57eedd30cd69476043e1efc009682e5axiom_soap_fault_get_detailgroup__axiom__soap__fault.html#gefcbf6ce5d6408bc3f56da09ac2f9afaaxiom_soap_envelope_get_soap_versiongroup__axiom__soap__envelope.html#g9f64833d41691f1ae7db590fd11aa25caxiom_soap_builder_set_callback_functiongroup__axiom__soap__builder.html#gecdfaf38e60ea4bdc42e9cde3bd25486axiom_soap_builder.h File Referenceaxiom__soap__builder_8h.htmlaxiom_soap.h File Referenceaxiom__soap_8h.htmlaxiom_node_insert_sibling_beforegroup__axiom__node.html#ged3250c790969964a948b0469207a735AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLERgroup__mtom__sending__callback.html#g94942a31b2618aab652c761b4b8c0b10axiom_mime_part_createaxiom__mime__part_8h.html#e71826186bee5d49b56847a207cafcfcaxiom_mime_parser_parse_for_attachmentsgroup__axiom__mime__parser.html#gad740844c9b6e98882ecdd80d5059b73axiom_document_freegroup__axiom__document.html#gcc7942d49c50f48f063e9576c361e939axiom_data_source_get_streamgroup__axiom__data__source.html#g7d282214512f2f2b21fdab3a2826140faxiom_data_handler_freegroup__axiom__data__handler.html#g790d6d952b28f7aa0202216ef5074489axiom_comment_serializegroup__axiom__comment.html#g63c10f9db415e1f08bbb37624bd8c96dAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVEgroup__axiom__children__with__specific__attribute__iterator.html#gb97098253d2c2c12c13652878b917b56axiom_children_iterator_removegroup__axiom__children__iterator.html#g43a2456b06e06c44abb0d0cc93230514axiom_child_element_iterator.haxiom__child__element__iterator_8h.htmlaxiom_attribute_get_qnamegroup__axiom__attribute.html#g749197cc40576ff4139c9d19298f9f24rp_username_token.hrp__username__token_8h-source.htmlrp_signature_token_builder.hrp__signature__token__builder_8h-source.htmlrp_initiator_token_builder.hrp__initiator__token__builder_8h-source.htmlneethi_reference.hneethi__reference_8h-source.htmlguththila_defines.hguththila__defines_8h-source.htmlAXIS2_PARAM_CHECKaxutil__utils_8h-source.html#l00078AXIS2_URI_ACAP_DEFAULT_PORTaxutil__uri_8h-source.html#l00072axutil_thread_pool.haxutil__thread__pool_8h-source.htmlaxutil_qname.haxutil__qname_8h-source.htmlaxutil_logaxutil__log_8h-source.html#l00123axutil_http_chunked_stream.haxutil__http__chunked__stream_8h-source.htmlaxutil_env::thread_poolaxutil__env_8h-source.html#l00075axutil_base64.haxutil__base64_8h-source.htmlaxis2_transport_sender_taxis2__transport__sender_8h-source.html#l00053axis2_svr_callback.haxis2__svr__callback_8h-source.htmlaxis2_svc_grp_taxis2__svc__grp_8h-source.html#l00059axis2_raw_xml_in_out_msg_recv.haxis2__raw__xml__in__out__msg__recv_8h-source.htmlaxis2_phase_meta.haxis2__phase__meta_8h-source.htmlAXIS2_DEFAULT_TIMEOUT_MILLISECONDSaxis2__options_8h-source.html#l00047AXIS2_TRANSPORT_URLaxis2__msg__ctx_8h-source.html#l00086axis2_module_desc_taxis2__module__desc_8h-source.html#l00056axis2_http_transport_sender.haxis2__http__transport__sender_8h-source.htmlAXIS2_HTTP_PROXY_USERNAMEaxis2__http__transport_8h-source.html#l00893AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERRORaxis2__http__transport_8h-source.html#l00806AXIS2_HTTP_HEADER_ACCEPT_TEXT_XMLaxis2__http__transport_8h-source.html#l00720AXIS2_HTTP_HEADER_LOCATIONaxis2__http__transport_8h-source.html#l00633AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCEaxis2__http__transport_8h-source.html#l00544AXIS2_HTTP_HEADER_SOAP_ACTIONaxis2__http__transport_8h-source.html#l00458AXIS2_HTTP_HEADER_PROTOCOL_11axis2__http__transport_8h-source.html#l00368AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAMEaxis2__http__transport_8h-source.html#l00282AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VALaxis2__http__transport_8h-source.html#l00192AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VALaxis2__http__transport_8h-source.html#l00106axis2_http_simple_request_taxis2__http__simple__request_8h-source.html#l00047axis2_http_out_transport_info_taxis2__http__out__transport__info_8h-source.html#l00046axis2_engine_taxis2__engine_8h-source.html#l00049AXIS2_CLASSLOADER_KEYaxis2__description_8h-source.html#l00083axis2_core_dll_desc.haxis2__core__dll__desc_8h-source.htmlaxis2_addr_mod.haxis2__addr__mod_8h-source.htmlAXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUEaxis2__addr_8h-source.html#l00111AXIS2_WSA_TOaxis2__addr_8h-source.html#l00054axiom_xpath_context::attributeaxiom__xpath_8h-source.html#l00138axiom_xpath_expression_taxiom__xpath_8h-source.html#l00058axiom_soap_fault_sub_code.haxiom__soap__fault__sub__code_8h-source.htmlAXIOM_PROCESSING_INSTRUCTIONaxiom__node_8h-source.html#l00086axiom_mtom_caching_callback_taxiom__mtom__caching__callback_8h-source.html#l00048axiom_children_qname_iterator.haxiom__children__qname__iterator_8h-source.htmlstruct axutil_log_opsstructaxutil__log__ops.htmlMember axutil_error::status_codestructaxutil__error.html#39bc351d123f4f466b12c7157b29487faxutil_env::log_enabledstructaxutil__env.html#d75ee149d2ed1a3c5e421e8735ead35aaxutil_allocator::reallocstructaxutil__allocator.html#294a6dd809f99bbfd0b44e2b04b32835Member axis2_transport_sender_ops::initstructaxis2__transport__sender__ops.html#21532f7b79a45af83a0daf97ccc9130cMember axis2_transport_receiver_ops::initstructaxis2__transport__receiver__ops.html#885be2bbdb84dd0733ee6b746a06135aMember axis2_svc_skeleton_ops::initstructaxis2__svc__skeleton__ops.html#6c3313db00614c0ae6a0e3596496e5fdstruct axis2_module_opsstructaxis2__module__ops.htmlMember axiom_xpath_result::nodesstructaxiom__xpath__result.html#bafb4ff3d0383acf641635ad5f6ec680axiom_xpath_expression Struct Referencestructaxiom__xpath__expression.htmlaxiom_xpath_context::sizestructaxiom__xpath__context.html#cd86eda7252b33546209149883171d5bMember axiom_xml_writer_ops::write_start_documentstructaxiom__xml__writer__ops.html#ceb71f8c3dc1e4d6dae3b8e098238752Member axiom_xml_writer_ops::write_start_element_with_namespace_prefixstructaxiom__xml__writer__ops.html#181de53ec63a06c1dbbd9d724c34929faxiom_xml_writer_ops::write_start_documentstructaxiom__xml__writer__ops.html#ceb71f8c3dc1e4d6dae3b8e098238752axiom_xml_writer_ops::write_start_element_with_namespace_prefixstructaxiom__xml__writer__ops.html#181de53ec63a06c1dbbd9d724c34929fMember axiom_xml_reader_ops::get_prefixstructaxiom__xml__reader__ops.html#fb35c54f64deebf15f5e46040e12e47daxiom_xml_reader_ops::get_pi_datastructaxiom__xml__reader__ops.html#22fa968eae5d05ca0c5e774ecf43c6e0axiom_xml_reader::opsstructaxiom__xml__reader.html#2fe6911dcfd9bb82ea01f252b87f9d3erp_x509_token_increment_refgroup__rp__x509__token.html#gb16123a39a04a3c03b16aef8cde8b1eerp_x509_token_freegroup__rp__x509__token.html#gf110d0ec370933b95e01bd38de6ec1a0rp_wss11_set_must_support_ref_issuer_serialgroup__wss11.html#gead8ef966e8f1ef18a43c30283744726rp_wss10_set_must_support_ref_key_identifiergroup__wss10.html#g4c4ae46173260b395853ba5bdd283bb5rp_username_token_set_useUTprofile11group__rp__username__token.html#g63a85651edb0908bc68aadc9a8b829e0rp_transport_binding_get_transport_tokengroup__rp__transport__binding.html#g30d67ebb0ea5fd1b7277cc0d843cb51erp_token_set_is_issuer_namegroup__rp__token.html#gb1dd9414167fdf46dce481aaef366d39rp_symmetric_binding_get_protection_tokengroup__rp__symmetric__binding.html#gc1f1ee6b389048ca8ca00101e0a91f37rp_symmetric_asymmetric_binding_commons_get_binding_commonsgroup__rp__assymmetric__symmetric__binding__commons.html#g0a2abcd9b7a19d8bcee35fd39f46ea3frp_supporting_tokens_get_signed_partsgroup__rp__supporting__tokens.html#gc2ed5ccd8ef2c2599ade37217415ad97rp_signed_encrypted_parts_set_signedpartsgroup__rp__signed__encrypted__parts.html#ge67947a0d9f35e55b3d31e8a9c6cd7farp_signed_encrypted_elements_set_xpath_versiongroup__rp__signed__encrypted__elements.html#g5590c314768a51ec45871f038f870775rp_security_context_token_set_bootstrap_policygroup__rp__security__context__token.html#g1b17d27ed74d23202f529ff1b5a11843Rp_security_context_tokengroup__rp__security__context__token.htmlrp_secpolicy_get_encrypted_partsgroup__rp__secpolicy.html#g51518f64df980b27288b507bf3dcb8d1Rp_secpolicygroup__rp__secpolicy.htmlrp_rampart_config_get_time_to_livegroup__rp__rampart__config.html#g7ed9804746bb3cb6f120db6237d38292rp_rampart_config_set_encryption_usergroup__rp__rampart__config.html#gf9e7405c7ddf913897fb03bb4c7d25d0Rp_propertygroup__rp__property.htmlrp_trust10_get_require_server_entropygroup__trust10.html#gfe968ce507f8ed5eb0fa381bd202c2b8rp_issued_token_get_derivedkeysgroup__trust10.html#g8549f071101c01d7ee848a25d4df18a9rp_https_token_set_require_client_certificategroup__rp__https__token.html#g0df991760f144762b90ff44e21f8575dRp_headergroup__rp__header.htmlRP_SP_NS_12group__rp__defines.html#g7a01bac2dceff567b0f66cd3d4a0b49bRP_ENCRYPTION_USERgroup__rp__defines.html#ga6339e6f2ea9402b6449e56fdc6ddd2fRP_WSS_X509_PKCS7_TOKEN_11group__rp__defines.html#g00b251131cf63bf60a95a6716e30f68aRP_INCLUDE_ALWAYS_TO_RECIPIENT_SP12group__rp__defines.html#g020e2cb6c2c177ca9cb032aed7684bf2RP_LAYOUT_LAXgroup__rp__defines.html#g67db5db86649462cdadea7a2b8aff35bRP_KW_RSA15group__rp__defines.html#g934c8ddca203c4057a0aa8e0a9b01509RP_ALGO_SUITE_BASIC192_SHA256_RSA15group__rp__defines.html#g971f60e509a5b8d9796e30008e2df9bfRP_SIGN_BEFORE_ENCRYPTINGgroup__rp__defines.html#g2f9bcd0c8fd43fb929cfab9dc8520a29RP_MUST_SUPPORT_REF_ENCRYPTED_KEYgroup__rp__defines.html#ga497fe4fe8731631326017849d4418f8RP_BODYgroup__rp__defines.html#g825aba16344efb1c886bb484d732b1e9Rp_definesgroup__rp__defines.htmlrp_binding_commons_freegroup__rp__binding__commons.html#g9887bd8d3dc58a8878a527e5aad5fe58rp_algorithmsuite_builder_buildgroup__rp__algorithmsuite__builder.html#gc07115e7a15417d1f5cdfd71556c6aa0rp_algorithmsuite_set_min_asymmetric_keylengthgroup__rp__algoruthmsuite.html#g695f6968106596f287c93743d4e6e910rp_algorithmsuite_freegroup__rp__algoruthmsuite.html#g18e4999b3c8ec5da653aaf324a911567Member AXIS2_ERROR_SETgroup__axutil__utils.html#gacaecc9520a0470ee32e6100942c4088AXIS2_HANDLE_ERROR_WITH_FILEgroup__axutil__utils.html#gd604b1a4dd6fa46d73119de36a43b23fMember axutil_uri_get_pathgroup__axutil__uri.html#g6f187b6adfd0e2b46b63214cb29ed45aMember AXIS2_URI_SSH_DEFAULT_PORTgroup__axutil__uri.html#g173cf9fac502ce166634f8cac97ad72baxutil_uri_clonegroup__axutil__uri.html#g6daaaa0010e8fa2bf4a62843633eb747AXIS2_URI_UNP_OMITFRAGMENT_ONLYgroup__axutil__uri.html#gfd1c52b377d713e8c562d138971e3da9AXIS2_URI_PROSPERO_DEFAULT_PORTgroup__axutil__uri.html#g501f92278c7825a20f532aaeae3b59caAXIS2_STRTOULgroup__axutil__types.html#ge16ce4990e15f6d94e34ee08ca8063d7axutil_thread_pool_join_threadgroup__axutil__thread__pool.html#g0ddd6d44254100fbbeb71db92112e7bdMember axutil_thread_detachgroup__axutil__thread.html#gf80d1cd64a4f888588f502bb836ace47axutil_thread_oncegroup__axutil__thread.html#ga79f8c61310cfb8b6d6f3a9183114995AXIS2_THREAD_MUTEX_DEFAULTgroup__axutil__thread.html#gd096680721aedfeb237647a9d59deedfaxutil_string_replacegroup__axutil__string__utils.html#gd262592f6f079b1dd4e5380ba0edcdbdaxutil_strndupgroup__axutil__string__utils.html#g8827b05fe58fbe74d0342f9e4ae19a72axutil_string_create_constgroup__axutil__string.html#gf3c10a118a1ab009b22542abeef72b06axutil_stream_set_writegroup__axutil__stream.html#g62f7fcaec850dd761a8ff587a7f4005faxutil_stream_free_void_arggroup__axutil__stream.html#g35645c14df7fdd3c4d61b381a543f9edaxutil_stack_creategroup__axis2__util__stack.html#ga1575b638cbc766d51b637ea5a3f2672axutil_qname_get_localpartgroup__axutil__qname.html#gd204cce2ce51abb0decb1199d66f0b69axutil_property_set_free_funcgroup__axutil__property.html#gccacdec563fbe50dd5ec0b14735e5062axutil_properties_set_propertygroup__axutil__properties.html#g8eca6a87dc8f9facbdcd3adf8c25a2fcaxutil_param_container_freegroup__axutil__param__container.html#g8da05e09f9c6144927118bb7d7e0b53eaxutil_param_set_value_freegroup__axutil__param.html#geb59cb596b796b3e47a31cb8f2b4e9baaxutil_param_tgroup__axutil__param.html#g981b70a687a717bd789af2bf554d47a3axutil_network_handler_get_svr_ipgroup__axutil__network__handler.html#ge133f7aaab676ec5220383a1fc6a18b5axutil_md5_ctx_creategroup__axutil__md5.html#gb1b0077f4d73b00f536914cf44b81437axutil_log_creategroup__axutil__log.html#g812821326a1fb8ee54b2d1b5adbd8c9dAXIS2_LOG_WARNING_MSGgroup__axutil__log.html#g12c9909faca5dee154aa61522a16b5f1Member axutil_linked_list_to_arraygroup__axutil__linked__list.html#g4072abee56f46a98d34b66d8b41bea85Member axutil_linked_list_check_bounds_inclusivegroup__axutil__linked__list.html#g44c386ea5a8baf8bc1574b6a6b42e454axutil_linked_list_removegroup__axutil__linked__list.html#ga595fa9b25737e98268cababb5a23ccdlinked listgroup__axutil__linked__list.htmlaxutil_http_chunked_stream_tgroup__axutil__http__chunked__stream.html#g4f21d685413463e10ac26b40046a25ffMember axutil_hashfunc_tgroup__axutil__hash.html#gb07fdbe39a3c5b3fdaed1a8c8d1a177baxutil_hash_make_customgroup__axutil__hash.html#gc97083ad0e5a219bfd47666ec718e66bMember axutil_file_handler_opengroup__axutil__file__handler.html#ga530cb76dd78fa86c1e419d80c9b53fbaxutil_file_set_namegroup__axutil__file.html#g384683ef4cc4e067175f1c43acc51007axutil_error_set_error_messagegroup__axutil__error.html#g14d4772cbdc268f1c20c13281360f2ecMember axutil_env_create_with_error_log_thread_poolgroup__axutil__env.html#g354311dd06dcbb5cb4e2d6ec2532e8a6Member axutil_env_tgroup__axutil__env.html#gd1083f9198686518871a41ce0e08cd0aaxutil_duration_set_daysgroup__axutil__duration.html#g334e4adfbdb39f3980d6862e15abff59Member axutil_dll_desc_create_platform_specific_dll_namegroup__axutil__dll__desc.html#gfdf636b3093ced193bc8f78a59deb30aaxutil_dll_desc_get_namegroup__axutil__dll__desc.html#g937e56d905ae2b6b342500c3a19c5486Member axutil_digest_calc_get_responsegroup__axutil__digest__calc.html#gd999fb9474238370afa302882165bd24Member axutil_date_time_serialize_date_time_without_millisecondgroup__axutil__date__time.html#g13442224f7ef0eec0c3bc37f58abd3deaxutil_date_time_serialize_date_time_with_time_zonegroup__axutil__date__time.html#gc70e37f23df2f9ea4162b80b251c94b4axutil_date_time_serialize_date_time_without_millisecondgroup__axutil__date__time.html#g13442224f7ef0eec0c3bc37f58abd3deMember axutil_base64_binary_set_plain_binarygroup__axutil__base64__binary.html#gff50faa77b39aa4f87d72427a2c090b2axutil_base64_binary_freegroup__axutil__base64__binary.html#gc8130363c9fd8ed48a903fef17e0cb43Member axutil_array_list_check_bound_inclusivegroup__axutil__array__list.html#g7e79d235403a8cc6cf5dcf93e8c79dc1axutil_array_list_sizegroup__axutil__array__list.html#g89efc3fe773e2655f1884121a97273f3AXIS2_FREEgroup__axutil__allocator.html#gbdd0a8a66ad0e49b2f99e07244ccaa2fAXIS2_TRANSPORT_SENDER_INITgroup__axis2__transport__sender.html#g1e3ea665c5968395b11d116c869bb409axis2_transport_receiver_startgroup__axis2__transport__receiver.html#g1d554a5c0ed340fba59530e01d078325Member axis2_transport_out_desc_get_out_flowgroup__axis2__transport__out__desc.html#g2e7d8904b18d357a6b73f7b8cf301460axis2_transport_out_desc_set_out_phasegroup__axis2__transport__out__desc.html#ga7e6529ba14d6223e216a338d0d21737Member axis2_transport_in_desc_set_fault_phasegroup__axis2__transport__in__desc.html#gdf835498b897a9987af59160c09d10e7axis2_transport_in_desc_creategroup__axis2__transport__in__desc.html#g89b3450ffcd518c2a46edea5878cb917axis2_transport_in_desc_free_void_arggroup__axis2__transport__in__desc.html#gfd336f266ce3e3cde1ef38b475e19dacaxutil_thread_mutex_creategroup__axis2__mutex.html#gcab265f8a3be8ef7c20442a3c5bccd67Member axis2_svc_skeleton_tgroup__axis2__svc__skeleton.html#gc1e79d5cf892025c1f663b2122c5ea50Member axis2_svc_name_set_qnamegroup__axis2__svc__name.html#g789b2cc0d8e7a1d95d5f3989a78524d0Member axis2_svc_grp_ctx_initgroup__axis2__svc__grp__ctx.html#ga9b023de30ee0669a6e19b37417c4539axis2_svc_grp_ctx_get_idgroup__axis2__svc__grp__ctx.html#g5706c6b6c2d6ad360b0fcae17e66e521Member axis2_svc_grp_get_basegroup__axis2__svc__grp.html#g6a55741ccaf95a3dff7731efcc92f72baxis2_svc_grp_creategroup__axis2__svc__grp.html#g5de18e0924a843af891f2c2eb274f580axis2_svc_grp_add_svcgroup__axis2__svc__grp.html#g731315038a625a4436953951a1dce15bMember axis2_svc_ctx_tgroup__axis2__svc__ctx.html#g2a3845db3eb9e9a47b992f6c8882e482Member axis2_svc_client_set_proxygroup__axis2__svc__client.html#ged34edf4ad2491d96c1af33fe669fd1fMember axis2_svc_client_get_override_optionsgroup__axis2__svc__client.html#g6d96f187c2183a936646d3c9c39b4a68Member axis2_svc_client_create_op_clientgroup__axis2__svc__client.html#g3feaab85a53c0340422ec9af52f69907axis2_svc_client_freegroup__axis2__svc__client.html#g11a6f345606279e19578c9f4442ae756axis2_svc_client_remove_all_headersgroup__axis2__svc__client.html#gd14cd1a3ec6aa3891369cd9bd671030bMember axis2_svc_set_svc_descgroup__axis2__svc.html#g4a5c7c02129b43cdb31b47d4d02ed1aeMember axis2_svc_get_rest_mapgroup__axis2__svc.html#g380cf5374766b1bd86666f132121c3dfMember axis2_svc_engage_modulegroup__axis2__svc.html#gf2edbd32031290c35891d23080566790axis2_svc_creategroup__axis2__svc.html#gc45855d3d550a76bcca692eaa51dfdcbaxis2_svc_set_svc_wsdl_pathgroup__axis2__svc.html#gf864bfde998f8c76bf3264821df8460faxis2_svc_get_all_paramsgroup__axis2__svc.html#g0db6ea3cba35603e3bea428005a1e681Member axis2_stub_set_soap_versiongroup__axis2__stub.html#gcffd202b2340ff245a1c972669b8ad39axis2_stub_get_svc_clientgroup__axis2__stub.html#g2d32f2fc661d49f68c8d144ada54acd8axis2_rm_assertion_set_terminate_delaygroup__axis2__rm__assertion.html#g3916ba8aa13fb569fdf3dc4642f741adaxis2_rm_assertion_get_ack_intervalgroup__axis2__rm__assertion.html#g37e233bc5493903609e6f68cac68adecaxis2_rm_assertion_freegroup__axis2__rm__assertion.html#g3430b018e0ff8ec9ced24bb3547acaf4axis2_relates_to_creategroup__axis2__relates__to.html#g1f7a4765f50521b1cc0bedc34da084beaxis2_policy_include_get_effective_policygroup__axis2__policy__include.html#g91990578717b1504852e62f78179ee48Member axis2_phases_info_set_op_phasesgroup__axis2__phases__info.html#g5998f17f8771a465338f283ce585f82baxis2_phases_info_set_op_phasesgroup__axis2__phases__info.html#g5998f17f8771a465338f283ce585f82bMember axis2_phase_rule_set_lastgroup__axis2__phase__rule.html#g65020e799dcdc0bd401d1abc793ea18caxis2_phase_rule_set_lastgroup__axis2__phase__rule.html#g65020e799dcdc0bd401d1abc793ea18cMember axis2_phase_resolver_disengage_module_from_opgroup__axis2__phase__resolver.html#g899969368596162709da90423336dd11axis2_phase_resolver_engage_module_to_opgroup__axis2__phase__resolver.html#g0bb13c67fd8595207d8f5b4e5dc801fdAXIS2_PHASE_POLICY_DETERMINATIONgroup__axis2__phase__meta.html#g075c8a66523df9238dba2ef8c1233d7baxis2_phase_holder_creategroup__axis2__phase__holder.html#ge6fae04b3bb98068ed177dfc25039489Member axis2_phase_insert_beforegroup__axis2__phase.html#g72deb07fffca51fe7f953ac82c6616b2axis2_phase_creategroup__axis2__phase.html#ga8094ea4f993c65b5024f912769311b5axis2_phase_add_handler_atgroup__axis2__phase.html#g3a631359739cd8aea355f835dcd170dbout transport infogroup__axis2__out__transport__info.htmlMember axis2_options_set_relates_togroup__axis2__options.html#g209582f680d8310f26952d036d130b55Member axis2_options_get_use_separate_listenergroup__axis2__options.html#g44f65542c0790f426a539e8a48bba49cMember axis2_options_get_message_idgroup__axis2__options.html#g7b435f608628b067d41d269894245bf7axis2_options_create_with_parentgroup__axis2__options.html#ge74438488efabde966a1fbefbb1642e2axis2_options_set_msg_info_headersgroup__axis2__options.html#g85559daaff1957e799f5ff93c8f5c805axis2_options_set_transport_receivergroup__axis2__options.html#g3b599f4516c8eb809d9c957f79e3b348axis2_options_get_message_idgroup__axis2__options.html#g7b435f608628b067d41d269894245bf7Member axis2_op_ctx_initgroup__axis2__op__ctx.html#g53622e5d4c37263fc6261e2b08f9116eaxis2_op_ctx_set_in_usegroup__axis2__op__ctx.html#g6b8ae393777089b614b4a771720ce8ddaxis2_op_ctx_creategroup__axis2__op__ctx.html#gddc4d7ced709336945c3f951561cc5fdMember axis2_op_client_get_soap_actiongroup__axis2__op__client.html#g14365a94c8700089b3f3ccf1df9620a0axis2_op_client_set_reusegroup__axis2__op__client.html#geaaa726f66d8836c6bc46c946c960b9eaxis2_op_client_executegroup__axis2__op__client.html#g54d84d352d333aacf2f7bb79b8d53a9aMember axis2_op_set_out_flowgroup__axis2__op.html#g17294ba6ee8144d9c89c05db4b938188Member axis2_op_get_msg_recvgroup__axis2__op.html#g497a76b535ba0288733f9e0197d1eb2eMember axis2_op_create_from_modulegroup__axis2__op.html#g1c375463b20738f3a5a4d81859f8f420axis2_op_add_msggroup__axis2__op.html#g8a6c92b0427612989a196efe5874c2f5axis2_op_add_to_engaged_module_listgroup__axis2__op.html#ga54a9d47584ba744fc345f8afa48d08daxis2_op_get_all_paramsgroup__axis2__op.html#ga7d5af951f8b08565907ecb4fcb9ed22Member axis2_msg_recv_creategroup__axis2__msg__recv.html#g42a2c7d0a184de466763b4502cf48897axis2_msg_recv_freegroup__axis2__msg__recv.html#gb83887c699d1bf14afb27ad65cf9b8d4Member axis2_msg_info_headers_set_fault_togroup__axis2__msg__info__headers.html#g9d097759c95b088583709dd83e19ca90Member axis2_msg_info_headers_tgroup__axis2__msg__info__headers.html#g556873fdfa94e29e43d96728871f3192axis2_msg_info_headers_get_fault_togroup__axis2__msg__info__headers.html#g5be8673619408ed53d062372d6e46414Member axis2_msg_ctx_set_transport_out_streamgroup__axis2__msg__ctx.html#g4c96b5bf44bd6bb0364b877554605e63Member axis2_msg_ctx_set_rest_http_methodgroup__axis2__msg__ctx.html#ge935eeecdb3a557edc1057ba572ff5c9Member axis2_msg_ctx_set_msg_info_headersgroup__axis2__msg__ctx.html#g894cd26e3ef286e8cc115d87cc0d31a5Member axis2_msg_ctx_set_execution_chaingroup__axis2__msg__ctx.html#g5e62146dab073f13160aa411a6db4a70Member axis2_msg_ctx_get_wsa_message_idgroup__axis2__msg__ctx.html#g40829d63ca4fca04a39e3313ba840c6aMember axis2_msg_ctx_get_soap_envelopegroup__axis2__msg__ctx.html#g6cc0c3db53e071721b027ec89d0bbc23Member axis2_msg_ctx_get_parametergroup__axis2__msg__ctx.html#gf6f4791211bb2e7bb2a3da886da0c06aMember axis2_msg_ctx_get_http_accept_charset_record_listgroup__axis2__msg__ctx.html#gb0be9834b54fbc08fa1acc6f3d9ab0d6Member axis2_msg_ctx_freegroup__axis2__msg__ctx.html#gb324606b76e49c07e3ea0454f964284aMember AXIS2_TRANSPORT_INgroup__axis2__msg__ctx.html#g565c1b1f3f6b81f999fd20765b652c18axis2_msg_ctx_set_auth_failedgroup__axis2__msg__ctx.html#ge3e9e1cfad899c5f40249fa9d9d65d08axis2_msg_ctx_extract_http_accept_charset_record_listgroup__axis2__msg__ctx.html#gb0f787898e23723828108b29bbd66487axis2_msg_ctx_set_current_phase_indexgroup__axis2__msg__ctx.html#g977af6908d6522c8a9f440841d68a2b5axis2_msg_ctx_set_svc_grp_ctx_idgroup__axis2__msg__ctx.html#g420039e5d3ebb705ae0dd172a7e1d760axis2_msg_ctx_get_doing_restgroup__axis2__msg__ctx.html#g3df7388fa1f7bfe10b559a0a5a2ff1dcaxis2_msg_ctx_get_conf_ctxgroup__axis2__msg__ctx.html#g08b24ce7f8f48a571a0a3461d7e17af9axis2_msg_ctx_get_msg_info_headersgroup__axis2__msg__ctx.html#g65e6d0ad0877aeff2a9199c31fecec01axis2_msg_ctx_set_fromgroup__axis2__msg__ctx.html#gf448b8b9b290531148d0e1dfa9a46c15axis2_msg_ctx_set_parentgroup__axis2__msg__ctx.html#gc744a1bb471165ffafb70dfc3ac983deAXIS2_TRANSPORT_HEADERSgroup__axis2__msg__ctx.html#g44eafb1b488dbb8b1a5c96b1a20e0672Member axis2_msg_get_all_paramsgroup__axis2__msg.html#g6e0c544674fad801039013b66e5f548aaxis2_msg_set_directiongroup__axis2__msg.html#g4d684f4bc237a32fcf2d2462d4c3166amessagegroup__axis2__msg.htmlMember axis2_module_desc_get_fault_out_flowgroup__axis2__module__desc.html#g4879dd6cadbceca1634e17924429d6c0axis2_module_desc_set_modulegroup__axis2__module__desc.html#g0177e17d95d9dff343c5a0383464b5fbaxis2_module_desc_get_out_flowgroup__axis2__module__desc.html#gee74a4f6384c34f35780864b8c36cc50axis2_module_shutdowngroup__axis2__module.html#g387fcdad65e41987b62d36fd4ac4bdf2axis2_listener_manager_tgroup__axis2__listener__manager.html#g1b9eeb7e6361aff1035273fbaa47cf47Member AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPEgroup__axis2__core__transport__http.html#g08ad8450d41db5e2a7e4d57d40191daaMember AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAMEgroup__axis2__core__transport__http.html#gc38dd59f733218732d05ab14d95cc3e0Member AXIS2_HTTP_RESPONSE_OKgroup__axis2__core__transport__http.html#gd619f095f1055dd18b1be82469e053adMember AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAMEgroup__axis2__core__transport__http.html#gcb15963d6652a8e59bd9a17a543c28b0Member AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAMEgroup__axis2__core__transport__http.html#gb6bf35e03a31b0681ac78579fc4ee31bMember AXIS2_HTTP_PROXYgroup__axis2__core__transport__http.html#g4c55c519f73b103d735efd65fd37afa4Member AXIS2_HTTP_HEADER_PROXY_AUTHENTICATEgroup__axis2__core__transport__http.html#geddbcea86297c399e4cbf86018518b38Member AXIS2_HTTP_HEADER_CONTENT_LANGUAGEgroup__axis2__core__transport__http.html#g64f362e5120304b5932d9422f0011f62Member AXIS2_HTTP_HEADER_ACCEPT_CHARSETgroup__axis2__core__transport__http.html#g449a06d1832f3499d7f44477297aa5cfMember AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INTgroup__axis2__core__transport__http.html#ged1536c9d0d31edc7784d6a0d4deb465Member AXIS2_HTTP_AUTHENTICATION_USERNAMEgroup__axis2__core__transport__http.html#ge1b4dc677984bfe9a506cce27609fce4AXIS2_HTTP_INTERNAL_SERVER_ERRORgroup__axis2__core__transport__http.html#gdc0d8e5099f28abdb2ad97edd3c4f9b5AXIS2_EQ_N_SEMICOLONgroup__axis2__core__transport__http.html#g71b365c1f08cf861dd9ef0ee15b76e51AXIS2_DOUBLE_QUOTEgroup__axis2__core__transport__http.html#gbe9140a4b4825ed7e6973dd58dff2f21AXIS2_HTTP_AUTH_TYPE_BASICgroup__axis2__core__transport__http.html#g60a2d4490ccbe3d41fe0b360eb23249fMTOM_RECIVED_CONTENT_TYPEgroup__axis2__core__transport__http.html#g4e437df1659bd50989c3b83dcd36aa02AXIS2_HTTP_RESPONSE_NOCONTENTgroup__axis2__core__transport__http.html#g6f43ed8b97ef8c44ab67303cd7a62ec5AXIS2_HTTP_HEADER_ACCEPT_ALLgroup__axis2__core__transport__http.html#g56c623b271a17c0242bc5b65771edd82AXIS2_HTTP_HEADER_ACCEPT_group__axis2__core__transport__http.html#gd4494b579608dbd0d22558cd3a6c0296AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSEgroup__axis2__core__transport__http.html#g6c79ce1be4f9393feb8dc59b6d19240fAXIS2_HTTP_HEADER_CONTENT_LOCATIONgroup__axis2__core__transport__http.html#g0b402a64da187367a69cc8c38573594fAXIS2_HTTP_HEADER_PROTOCOL_11group__axis2__core__transport__http.html#ga059195e76fd72d1a531680c991defa5AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAMEgroup__axis2__core__transport__http.html#gb914a2dad79e1b54a85e7e5bd0a0855eAXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VALgroup__axis2__core__transport__http.html#ge62020f7bdd1242ff347866a595a7160AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VALgroup__axis2__core__transport__http.html#g1efb4d654d0cec0fa1e0aadd84785b34axutil_url_freegroup__axis2__core__transport__http.html#ga59362fd1492a43a2403d045122f1641core http transportgroup__axis2__core__transport__http.htmlaxis2_http_svr_thread_rungroup__axis2__http__svr__thread.html#g0c8d29b7372ac3dbf15a159c5fa514cdaxis2_http_status_line_get_http_versiongroup__axis2__http__status__line.html#g390e05c6879613417b978d8a3242d8c5Member axis2_http_simple_response_get_content_lengthgroup__axis2__http__simple__response.html#g03db587b463dda8c908be746d028eb43axis2_http_simple_response_freegroup__axis2__http__simple__response.html#gdbbd2a523cf92636c6e1f7a8abb04aacaxis2_http_simple_response_get_status_codegroup__axis2__http__simple__response.html#gb0515fe0071d2874e9d44ecd45a6d10cMember axis2_http_simple_request_creategroup__axis2__http__simple__request.html#g1ede2c7bbd3f657b898f2b98c97e2a20axis2_http_simple_request_set_request_linegroup__axis2__http__simple__request.html#gb86fa24c5e3e0a99591bf8b3cb48dd20Member axis2_http_response_writer_create_with_encodinggroup__axis2__http__response__writer.html#gfa1431f2e3ffb7a707769039b0d2407bhttp response writergroup__axis2__http__response__writer.htmlhttp request linegroup__axis2__http__request__line.htmlaxis2_http_out_transport_info_set_char_encodinggroup__axis2__http__out__transport__info.html#g9368ed3e85952d69b382d57e6d8b9610axis2_http_header_freegroup__axis2__http__header.html#ge3c5a41a47460b57aa99786bd7590e86Member axis2_http_client_get_proxygroup__axis2__http__client.html#geafedbee3be84605e6872b2ba4ed7cb4axis2_http_client_get_server_certgroup__axis2__http__client.html#g359e463dc9e7f0a7b33f2b3f91b1484eMember axis2_http_accept_record_get_namegroup__axis2__http__accept__record.html#g61ea3c1ecec15e26ee9ff5d0f4bfb20eMember axis2_handler_desc_set_class_namegroup__axis2__handler__desc.html#g29292b75f8442364eeaa7cf81dfde2d6axis2_handler_desc_freegroup__axis2__handler__desc.html#g8c30a90d80ac928f900cd20e42577840Member axis2_handler_invokegroup__axis2__handler.html#gf53f1c483110e9e371069a9d87985742axis2_handler_invokegroup__axis2__handler.html#gf53f1c483110e9e371069a9d87985742Member axis2_flow_container_tgroup__axis2__flow__container.html#g645e6696dcbc315b06681604a150254fMember axis2_flow_freegroup__axis2__flow.html#gfe394cb1e43be0a398b00c70c20c8829Member axis2_endpoint_ref_get_ref_param_listgroup__axis2__endpoint__ref.html#g53737580ff3a85142e9a5360726e0175axis2_endpoint_ref_freegroup__axis2__endpoint__ref.html#g4bae551a22a4afaa171d2eb69373cfb0axis2_endpoint_ref_free_void_arggroup__axis2__endpoint__ref.html#ge08a42ff4f8c7c14db52be97ef6c75c8axis2_soap_body_disp_creategroup__axis2__disp.html#g417c2e8127f982ad198e4804a331016cMember AXIS2_PARAMETER_KEYgroup__axis2__desc__constants.html#g42f0a3efb9d5e1aecd03f410ee08c1a6AXIS2_IN_FAULTFLOW_KEYgroup__axis2__desc__constants.html#g77261af724a23bba3aef5a6ead323803Member axis2_desc_remove_childgroup__axis2__description.html#g36c19818ab4b074242cc72c3f427e686axis2_desc_set_parentgroup__axis2__description.html#g3847e0acbaa726663410a42ddead9448Member axis2_ctx_get_all_propertiesgroup__axis2__ctx.html#gff927e494c30e1e2b89da57679285f49axis2_core_utils_get_rest_op_with_method_and_locationgroup__axis2__core__utils.html#g8eeb798ea9067eaac0afb767c9543162Member axis2_build_conf_ctx_with_filegroup__axis2__conf__init.html#gb75c062fd9d2b0ce1dd43751ad11bbddMember axis2_conf_ctx_get_svc_ctxgroup__axis2__conf__ctx.html#ge90cb5dd919956c1e2eb52fa69c6734baxis2_conf_ctx_set_root_dirgroup__axis2__conf__ctx.html#gc9b785de188769a7f695b6d21c5d8fceMember axis2_conf_set_repogroup__axis2__config.html#g9b73dd9150ace3dca82364a4c77e0f7aMember axis2_conf_get_phases_infogroup__axis2__config.html#ged50d579ca49af8a25416470012edc14Member axis2_conf_get_all_paramsgroup__axis2__config.html#g2cf688584fa948c9ffaf8e5b9b7747e4Member axis2_conf_add_modulegroup__axis2__config.html#gd1f8225ed64ad78477b72eacd8f6a48aaxis2_conf_add_default_module_versiongroup__axis2__config.html#g0f7af7f98fa7f8b51d0ec1fd729fde6baxis2_conf_get_msg_recvgroup__axis2__config.html#g569170784a8f375728854f94d035509daxis2_conf_add_transport_outgroup__axis2__config.html#gec80422b458c7baf542450a6b0d6a87eMember axis2_engine_send_faultgroup__axis2__engine.html#g6d77e1d59b04cb68e36581e946946a2daxis2_engine_resume_receivegroup__axis2__engine.html#g845f6ddb96bf1b9f02ed6ad24a1c3653Member axis2_callback_set_errorgroup__axis2__callback.html#ge07a62751c3bdbbab934632926e2eb5caxis2_callback_freegroup__axis2__callback.html#g8aff2c00d30222f8cd4a3b68e30dc449Member axis2_async_result_get_resultgroup__axis2__async__result.html#g4b31e913ac079031b24e18c67236ef25Member axis2_any_content_type_tgroup__axis2__any__content__type.html#g44968ee69ad6bda6b83de21f2105ef70Member PARAM_SERVICE_GROUP_CONTEXT_IDgroup__axis2__addr__consts.html#g1580e5c766744e70e754e9515b0b781fMember AXIS2_WSA_PREFIX_REPLY_TOgroup__axis2__addr__consts.html#g4ea0451331116aef7a25dfd57091ddebMember AXIS2_WSA_ANONYMOUS_URL_SUBMISSIONgroup__axis2__addr__consts.html#g2fd3980a63df468bac1580dd249639dbAXIS2_WSA_NONE_URLgroup__axis2__addr__consts.html#g92e906914bd8ae5a8d3f6014f4bcb189AXIS2_WSA_REPLY_TOgroup__axis2__addr__consts.html#g4c2fe672174cb7f77f5fc68e7c78249aMember axiom_xpath_evaluate_streaminggroup__axiom__xpath__api.html#g1cd43a5e6fb152d14a218f923418f8d6axiom_xpath_register_functiongroup__axiom__xpath__api.html#gb6cc87a2fa3c5adf9d7844d21e2f747baxiom_xpath_function_tgroup__axiom__xpath__api.html#g38e64c9e22325dcc0750e0f32ef0417aMember axiom_xml_writer_write_processing_instructiongroup__axiom__xml__writer.html#g50b745030f5b2b7b94de517d6843ae2dMember axiom_xml_writer_set_prefixgroup__axiom__xml__writer.html#g3d7148110d6d45f2239ea90632057774axiom_xml_writer_set_default_prefixgroup__axiom__xml__writer.html#gc8897fef6328a061e47a9a51bf7428b1axiom_xml_writer_write_attributegroup__axiom__xml__writer.html#gea0009f113fc69456db5fedf684e04f4Member axiom_xml_reader_get_valuegroup__axiom__xml__reader.html#gc28be6f3ba09e107505989be82ccaa74Member axiom_xml_reader_freegroup__axiom__xml__reader.html#g9bf782a28329a5661230324bde422a03axiom_xml_reader_get_valuegroup__axiom__xml__reader.html#gc28be6f3ba09e107505989be82ccaa74Member axiom_text_set_optimizegroup__axiom__text.html#g92afcea629a6c1aba1bb66203e8b0453axiom_text_get_data_handlergroup__axiom__text.html#ge5eaee2c45f9f4d56fac397aa80b92eeMember axiom_stax_builder_is_completegroup__axiom__stax__builder.html#g5e83abf52f71f132e9e3171c29955fdfMember axiom_soap_header_block_set_processedgroup__axiom__soap__header__block.html#g6739c1882b9749f7ec0048a223f6e817axiom_soap_header_block_set_processedgroup__axiom__soap__header__block.html#g6739c1882b9749f7ec0048a223f6e817Member axiom_soap_header_examine_all_header_blocksgroup__axiom__soap__header.html#g74a56d9fd3b49055bae4091fcd5bb4ffMember axiom_soap_fault_value_freegroup__axiom__soap__fault__value.html#gfcf173b98eb2445f42f1ea76255c87d4axiom_soap_fault_text_get_textgroup__axiom__soap__fault__text.html#g5b2f411950e2d7ff211d5b37ef292a60axiom_soap_fault_sub_code_freegroup__axiom__soap__fault__sub__code.html#g141061c23cdbbbaa96d6badc6d548a00Member axiom_soap_fault_reason_get_base_nodegroup__axiom__soap__fault__reason.html#gbcb9c1530fc5e98650663b07d0be4ddcMember axiom_soap_fault_node_create_with_parentgroup__axiom__soap__fault__node.html#gba7df4c62d60b0dcee65c5cc9fa9482asoap fault detailgroup__axiom__soap__fault__detail.htmlMember axiom_soap_fault_get_nodegroup__axiom__soap__fault.html#ga63629df8b84a56382c391e4fc0f30e1axiom_soap_fault_freegroup__axiom__soap__fault.html#g42e25abd4f06fe253fcb286cde0b2cb8Member axiom_soap_envelope_create_default_soap_envelopegroup__axiom__soap__envelope.html#gcc0331effc60b8a61285e3ec07e32652SOAPgroup__axiom__soap.htmlaxiom_soap_builder_replace_xopgroup__axiom__soap__builder.html#g47fa092580910242a0a889cffd94404baxiom_soap_builder_creategroup__axiom__soap__builder.html#g774e5f3b0fd997c686481d8ec16c2264axiom_soap_body_get_faultgroup__axiom__soap__body.html#ga5be4d54bfebaa44966685511e2ad96baxiom_processing_instruction_freegroup__axiom__processing__instruction.html#g06af573c47864169915c876052a8833aMember axiom_output_get_next_content_idgroup__axiom__output.html#ge637ec921a812520c45db189ea8fcc0aaxiom_output_get_xml_versiongroup__axiom__output.html#gb05614cac67f482f69d55a71e96bbb8fMember axiom_node_serializegroup__axiom__node.html#g1936a8e535927d9726d804092ad9d4d3Member axiom_node_add_childgroup__axiom__node.html#gd0406c625e1dbde273a6010cf8bab38caxiom_node_get_data_elementgroup__axiom__node.html#geb488e8c836956940ea4c01b92a0c421nodegroup__axiom__node.htmlMember axiom_namespace_to_stringgroup__axiom__namespace.html#g8b76cb45556ef58b9c729f459bd1528aaxiom_namespace_increment_refgroup__axiom__namespace.html#g68cb2615b3d3b07d88b609d2466f893dAXIOM_MTOM_SENDING_CALLBACK_LOAD_DATAgroup__mtom__sending__callback.html#g4bd56dcddd5fe934a05b794317878f8eMember axiom_mime_parser_get_soap_body_strgroup__axiom__mime__parser.html#g6550688f1ddcc45d11363947f441e2beaxiom_mime_parser_parse_for_soapgroup__axiom__mime__parser.html#gdc5c7fd17d2589e7bcb82db28a2ee2c7Member axiom_element_get_namespacesgroup__axiom__element.html#g84e26919d5e3473cbe1ef5294c0dd9e1Member axiom_element_find_namespace_with_qnamegroup__axiom__element.html#gc363654f71f94ab91d12842cbbcc0eadaxiom_element_set_localname_strgroup__axiom__element.html#ga3b45a51539b2bd11c3b631b90f2b2b6axiom_element_get_children_with_qnamegroup__axiom__element.html#gd10f3b1eafe5c095f90c9086da45b657axiom_element_find_namespace_with_qnamegroup__axiom__element.html#gc363654f71f94ab91d12842cbbcc0eadaxiom_document_serializegroup__axiom__document.html#g7e34e3977661164aedae9b5d2dd9ada5axiom_doctype_serializegroup__axiom__doctype.html#gb6fc65e0ba230a28101b082e7490c1f0data_sourcegroup__axiom__data__source.htmlaxiom_data_handler_set_data_handler_typegroup__axiom__data__handler.html#g0556858babbb3eb237490e1d515e6b72axiom_data_handler_get_content_typegroup__axiom__data__handler.html#ga132e800329243265ca138c661fa34d5Member axiom_children_with_specific_attribute_iterator_freegroup__axiom__children__with__specific__attribute__iterator.html#g3ca5674c5cd482e3dcce3ebc443f1804axiom_children_qname_iterator_has_nextgroup__axiom__children__qname__iterator.html#ge1a3ae54bd136f343484e2b9733d8a51children iteratorgroup__axiom__children__iterator.htmlMember axiom_attribute_set_valuegroup__axiom__attribute.html#g04e602a4d9456b9111bdbad5ea89a0ecaxiom_attribute_set_value_strgroup__axiom__attribute.html#g10bfe30de55eb9f2f19829b1578913c1axiom_attribute_creategroup__axiom__attribute.html#gda66e5da53578d93c34f0c717394605dneethi_registry_freeneethi__registry_8h.html#a47ef1f92f5b134c8fd07c7e74ccf0a2neethi_policy_set_idneethi__policy_8h.html#30bc9554f06cd3f8fec2c47ea62ccc6aneethi_operator_serializeneethi__operator_8h.html#023f23460bd1719c28b44866fc9297abneethi_exactlyone_freeneethi__exactlyone_8h.html#472afb52dbc09e0ec7094ec0f47849fcAXIS2_RM_INVOKER_SLEEP_TIMEneethi__constants_8h.html#b6897118c7d82fc63e6c4c75244b6e3bAXIS2_RM_RMASSERTIONneethi__constants_8h.html#51acfb826f94ad776f381cb3d0d35a6dNEETHI_EXACTLYONEneethi__constants_8h.html#537e1b380c380c9001b901e2f3bc3ebcneethi_assertion_get_typeneethi__assertion_8h.html#e4111b81f0c40567e7e3272cca776eb4axis2_char_2_bytegroup__axutil__utils.html#g00c2171b534e916a7c6222c6bbfcda79AXIS2_PARAM_CHECK_VOIDgroup__axutil__utils.html#ged65c0b44f912f6d2452bd0f5d458819axutil_url_get_hostgroup__axis2__core__transport__http.html#gad9bb5d4abf512b67080b8fce4d03f12axutil_uri_get_hostgroup__axutil__uri.html#gaec4183fc0c510ca0e2a2038d6ed4a8dAXIS2_URI_UNP_REVEALPASSWORDgroup__axutil__uri.html#ge4deae533f770383007885c27f9eb977AXIS2_URI_POP_DEFAULT_PORTgroup__axutil__uri.html#g641f01da5297ffdc17302e3a35ec5df9axutil_thread_pool_tgroup__axutil__thread__pool.html#gbb650c8c9202b3d73e753cf8cc8b356eaxutil_threadattr_detach_setgroup__axutil__thread.html#g64df222946d03707ee4c00164d7f567aaxutil_stack_pushgroup__axis2__util__stack.html#g85b54183c8e47bb39d1d551cbee63dfdaxutil_qname_get_urigroup__axutil__qname.html#gaaa9fce6ef2a94083546be7d70eb8a0aaxutil_param_container_tgroup__axutil__param__container.html#g8af5f81b6afd788f15cb87ac5c992e9caxutil_param_set_namegroup__axutil__param.html#gf67948fa2fd421b2d41ff4661f7cfd81AXIS2_MD5_DIGESTSIZEgroup__axutil__md5.html#g46524d732e43163e7e19261f67e24246axutil_linked_list_add_firstgroup__axutil__linked__list.html#g8b4efcdc1364da7880fb40603f4925d8axutil_http_chunked_stream_creategroup__axutil__http__chunked__stream.html#gdb1279ececa520dfa7ebd40a54f5fc26axutil_hash_countgroup__axutil__hash.html#ga6cd5c55cdad46b0b9d3133ff77ed314axutil_env_increment_refgroup__axutil__env.html#g5ea411964e441ce76a071a1ac3a08a78axutil_env.h File Referenceaxutil__env_8h.htmlaxutil_dll_desc_get_namegroup__axutil__dll__desc.html#g937e56d905ae2b6b342500c3a19c5486AXIS2_DIGEST_HASH_LENgroup__axutil__digest__calc.html#gf5e01ac5808390ef37a5a646a86d8920axutil_date_time_get_secondgroup__axutil__date__time.html#g36782202dd7f88a864f748649b3dff6baxutil_date_time_tgroup__axutil__date__time.html#g4da4e2730a27e29e18a358849362f24eaxutil_base64_binary_create_with_encoded_binarygroup__axutil__base64__binary.html#gf28fde47d4e1d8dcef7e561960a868e6axutil_array_list_is_emptygroup__axutil__array__list.html#g3ed8b5b9d4a0a4e76e4c55d92a307a0dAXIS2_MALLOCgroup__axutil__allocator.html#g75454cdc276a059934e8e4872e3d251caxis2_transport_receiver_stopgroup__axis2__transport__receiver.html#g473f9011903bfe42bacb4800979f47a9axis2_transport_out_desc_get_out_phasegroup__axis2__transport__out__desc.html#gc6f65f940c3d5fa1f37f4ce4f2b8cf35axis2_transport_in_desc_get_paramgroup__axis2__transport__in__desc.html#g1985a26ee0e62392581b1a0092afae5faxis2_transport_in_desc.haxis2__transport__in__desc_8h.htmlAXIS2_SVC_SKELETON_INITgroup__axis2__svc__skeleton.html#g65d05f1f29f563149acfba91f3a23a91axis2_svc_grp_ctx_get_idgroup__axis2__svc__grp__ctx.html#g5706c6b6c2d6ad360b0fcae17e66e521axis2_svc_grp_engage_modulegroup__axis2__svc__grp.html#geb8c8fe09b2911addbb171aee5a09d47axis2_svc_ctx.haxis2__svc__ctx_8h.htmlaxis2_svc_client_set_policygroup__axis2__svc__client.html#g805278c10ee19cda6d41fc224f5b9ea3axis2_svc_client_finalize_invokegroup__axis2__svc__client.html#g3376dc048e45a0e943698375698c7420axis2_svc_client_set_optionsgroup__axis2__svc__client.html#ge976c74f5398693aa8b6d2c083b982bfaxis2_svc_get_target_ns_prefixgroup__axis2__svc.html#g704a51af7fc2485128d53a9dae23d184axis2_svc_set_namegroup__axis2__svc.html#gc04e374dc9571b5726b88bfd2e68e702axis2_svc_set_parentgroup__axis2__svc.html#g260a062049966a472bd05355015736afaxis2_stub_set_soap_versiongroup__axis2__stub.html#gcffd202b2340ff245a1c972669b8ad39Member axis2_simple_http_svr_conn_get_svr_ipaxis2__simple__http__svr__conn_8h.html#a77cb5a274e07015c40d81f352349b29axis2_simple_http_svr_conn_is_keep_aliveaxis2__simple__http__svr__conn_8h.html#6fac44d24157d8947ec27056b3e9d66eaxis2_phase_rule_creategroup__axis2__phase__rule.html#gdb84f9ccb0bf175221c9265f148cd32caxis2_phase_resolver_create_with_configgroup__axis2__phase__resolver.html#g256c0cd570fa29d36e8834aa2cc4f23caxis2_phase_holder_get_phasegroup__axis2__phase__holder.html#g90c45ef85d6fe1611bf16a874a110112axis2_phase_remove_handler_descgroup__axis2__phase.html#g2e667feb5d15a4e336e1eee3a6f77696axis2_out_transport_info_ops_tgroup__axis2__out__transport__info.html#g3ff953fff5a9aef3b5cd1ffbdb7ee636axis2_options_freegroup__axis2__options.html#g1cc19bb9faf77ab2afaf79781e409fc0axis2_options_set_soap_version_urigroup__axis2__options.html#gfa4179613c1277d4301bb25065e9007baxis2_options_get_use_separate_listenergroup__axis2__options.html#g44f65542c0790f426a539e8a48bba49caxis2_options_tgroup__axis2__options.html#g26794bbdc46cdd3481c7e9079c0d6094axis2_op_ctx_get_msg_ctxgroup__axis2__op__ctx.html#g0f79838f18e6689ea44620975092280faxis2_op_client_set_soap_version_urigroup__axis2__op__client.html#g29eb95e1d34ec16811f0e002e02e2c34axis2_op_client_add_out_msg_ctxgroup__axis2__op__client.html#g192dc8b5bb7c1159c7feede39434f1c3axis2_msg_recv_get_impl_objgroup__axis2__msg__recv.html#g428a780b155ad3d087c6222c1cbed978axis2_msg_info_headers_set_in_message_idgroup__axis2__msg__info__headers.html#gbfb3b68d69fffce5abe41d50a8d3e225axis2_msg_info_headers_set_fromgroup__axis2__msg__info__headers.html#g917b50452decc40c55c8e8afbcf943a6axis2_msg_ctx_get_required_auth_is_httpgroup__axis2__msg__ctx.html#g6b79cdeb28ab6632c0d4d3300b4ca478axis2_msg_ctx_set_http_accept_charset_record_listgroup__axis2__msg__ctx.html#g52ba5fc8306a6c85435d46ba925312f5axis2_msg_ctx_get_current_phase_indexgroup__axis2__msg__ctx.html#g8a5c8277c0574011517121e95d28d693axis2_msg_ctx_set_find_svcgroup__axis2__msg__ctx.html#gabceeec2b7643a21f1794f4f729af19baxis2_msg_ctx_set_doing_restgroup__axis2__msg__ctx.html#g22fa631d4d7d1c62cc6186411dd47996axis2_msg_ctx_get_svc_ctxgroup__axis2__msg__ctx.html#g983409d62673569724c9bb4532c8465eaxis2_msg_ctx_get_pausedgroup__axis2__msg__ctx.html#g3fb1000ba8d6fb99b8f443ec4b9804f8axis2_msg_ctx_set_in_fault_flowgroup__axis2__msg__ctx.html#g5a5a0204f62d42f7e79cf8d0c9fa9278axis2_msg_ctx_freegroup__axis2__msg__ctx.html#gb324606b76e49c07e3ea0454f964284aAXIS2_TRANSPORT_OUTgroup__axis2__msg__ctx.html#g54db92215436083e7d8202149773c193axis2_msg_is_param_lockedgroup__axis2__msg.html#g51ae7e6eb9afee5f7e82bd7f8c21bf96axis2_module_desc_get_param_containergroup__axis2__module__desc.html#g1a09ad8c0b308f4793ca1643059c7810axis2_module_desc_set_out_flowgroup__axis2__module__desc.html#g7eb90b76e13c85492f9b27c2eca2a965axis2_listener_manager_freegroup__axis2__listener__manager.html#g4fa9a09dcf7fb5491806eb62ca43db25Member axis2_http_transport_utils_transport_in_initaxis2__http__transport__utils_8h.html#5b1c4741faf0fe96b7fe03186c69abddaxis2_http_transport_utils_get_precondition_failedaxis2__http__transport__utils_8h.html#61f7e292525f4d7501187bb54090beb1axis2_http_transport_utils_process_requestaxis2__http__transport__utils_8h.html#658b7a4b49b9e111bfa4785681f62133axis2_http_svr_thread_set_workergroup__axis2__http__svr__thread.html#g163b488819242f3e0f5120d7d645980daxis2_http_status_line_tgroup__axis2__http__status__line.html#gdfb55bd473dfd8c73003b9c20d7e4e4baxis2_http_simple_request_set_request_linegroup__axis2__http__simple__request.html#gb86fa24c5e3e0a99591bf8b3cb48dd20Member axis2_http_sender_get_header_infoaxis2__http__sender_8h.html#22b551f3e5b5b6401bf0eb76d76d6dcaaxis2_http_sender_set_om_outputaxis2__http__sender_8h.html#4ed1abf9d12cdc4f38eda059dc874d28axis2_http_response_writer_println_strgroup__axis2__http__response__writer.html#g12c2594faab7f36ac670b500b5ca9a48axis2_http_request_line_get_http_versiongroup__axis2__http__request__line.html#g104a1455c97d7a340e9690c8964abcd0AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEgroup__axis2__http__out__transport__info.html#gc65a46f52b077ea5b9355094f93db1d2axis2_http_client_get_mime_partsgroup__axis2__http__client.html#gc0a1ed43f08184c5eae980ceebf212b7axis2_http_client_get_responsegroup__axis2__http__client.html#gd341b350cc543e7e7dbdba85c7ca952eaxis2_handler_desc_creategroup__axis2__handler__desc.html#g87d6dacc6e0aba457cad85bbc1ed037faxis2_handler_desc_tgroup__axis2__handler__desc.html#gafcabd9d344f36395e60f1b4677835d9axis2_flow_container_creategroup__axis2__flow__container.html#g7eae0c6ff23192492a0b046b3714eabdaxis2_flow_freegroup__axis2__flow.html#gfe394cb1e43be0a398b00c70c20c8829axis2_engine_sendgroup__axis2__engine.html#g7a9ad14546e8c132d3a5ea9b14206b51axis2_endpoint_ref_set_interface_qnamegroup__axis2__endpoint__ref.html#g1a0f57e4779a0a9beb7133b0dc6932c5axis2_disp_set_namegroup__axis2__disp.html#g8282e341346127933098f7f170c6fd5eAXIS2_CONTEXTPATH_KEYgroup__axis2__desc__constants.html#gdafd2bf300a94a15b2e9e896d5ad081aaxis2_desc_is_param_lockedgroup__axis2__description.html#gdbc1f8ca75485da47fb76f148e794336axis2_defines.haxis2__defines_8h.htmlAXIS2_HANDLER_DLLgroup__axis2__core__dll__desc.html#g0d087cec4cc652dee50e05cd72c91c0daxis2_conf_ctx_register_op_ctxgroup__axis2__conf__ctx.html#gbb9159aa11b1ed08deb4f02a2b320a64axis2_conf_get_enable_securitygroup__axis2__config.html#g9ce5a88eaac674320f4b67dabf634026axis2_conf_set_default_dispatchersgroup__axis2__config.html#g325b14f8715288333af6003ece30414daxis2_conf_get_in_fault_flowgroup__axis2__config.html#g90731a7c7f62c1fc619074a50c43450daxis2_conf_add_svcgroup__axis2__config.html#gfc6aefecf137595736194e704c8849e6axis2_callback_set_envelopegroup__axis2__callback.html#g5dc5998d5db574ef86f05d29fa5cd95daxis2_any_content_type.haxis2__any__content__type_8h.htmlAXIS2_WSA_PREFIX_MESSAGE_IDgroup__axis2__addr__consts.html#g02319f4c933bec23d60e64376ef6c926AXIS2_WSA_ANONYMOUS_URL_SUBMISSIONgroup__axis2__addr__consts.html#g2fd3980a63df468bac1580dd249639dbAXIS2_WSA_MESSAGE_IDgroup__axis2__addr__consts.html#g36bf0a69968793ca68ca864fb1537df6axiom_xml_writer_write_dtdgroup__axiom__xml__writer.html#ged60c82c50443d672009d2e51e0e4033axiom_xml_writer_end_start_elementgroup__axiom__xml__writer.html#g84a78120dfae180cfc12998fa83907a9axiom_xml_reader_get_namegroup__axiom__xml__reader.html#g4aa5740186e9a96828f3faceee38f09eaxiom_xml_reader_create_for_filegroup__axiom__xml__reader.html#gcdedc0633fbbd6d3a3f2a1af534f047aaxiom_soap_header_block_freegroup__axiom__soap__header__block.html#g215a0b781dc39c516b2ae2943fb0c9c8axiom_soap_header_taxiom__soap__header_8h.html#b9a39663522da190c4e728076a37c199axiom_soap_fault_text_get_langgroup__axiom__soap__fault__text.html#gdd77e0f2bb64f0b2e43c1bf7209416fbaxiom_soap_fault_role.haxiom__soap__fault__role_8h.htmlaxiom_soap_fault_reason_taxiom__soap__fault__reason_8h.html#765544ca861b36e0f3d536ea9f26d13eaxiom_soap_fault_detail_create_with_parentgroup__axiom__soap__fault__detail.html#ga176a5c0fe38155991dddde2e8d36229axiom_soap_fault_get_exceptiongroup__axiom__soap__fault.html#g09b8c77a2a3de953b14fa8a56a8ed11eaxiom_soap_envelope_get_namespacegroup__axiom__soap__envelope.html#ga357f2d36fb2912f9c6bc258a6cb8c0daxiom_soap_builder_set_callback_ctxgroup__axiom__soap__builder.html#gc031d875440a4006012395dd0de317d0axiom_soap_builder.haxiom__soap__builder_8h.htmlaxiom_soap.haxiom__soap_8h.htmlaxiom_node_serializegroup__axiom__node.html#g1936a8e535927d9726d804092ad9d4d3AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATAgroup__mtom__sending__callback.html#g4bd56dcddd5fe934a05b794317878f8eaxiom_mime_part_create_part_listaxiom__mime__part_8h.html#28a806a0961d30b9e844ee0cb1bfc432axiom_mime_parser_get_mime_parts_mapgroup__axiom__mime__parser.html#g617b19ac339bcd891757054a089c3f84axiom_document_free_selfgroup__axiom__document.html#g03b25353883e6de5acbc0b80bcb0b456axiom_data_source.haxiom__data__source_8h.htmlaxiom_data_handler_creategroup__axiom__data__handler.html#gf1a1862c29144a3234025b1218a83c97axiom_comment.haxiom__comment_8h.htmlAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXTgroup__axiom__children__with__specific__attribute__iterator.html#g98ebd2187466c7c8c4144cdb43f41ad0axiom_children_iterator_has_nextgroup__axiom__children__iterator.html#g2feaa85fe1cc83968e6f8bb51cc546d7AXIOM_CHILD_ELEMENT_ITERATOR_FREEgroup__axiom__child__element__iterator.html#gc0758626b28bbfbd90601deb7bb99941axiom_attribute_serializegroup__axiom__attribute.html#gac6dabe7926ef1275437d5b5d1363108rp_username_token_builder.hrp__username__token__builder_8h-source.htmlrp_signed_encrypted_elements.hrp__signed__encrypted__elements_8h-source.htmlrp_issued_token.hrp__issued__token_8h-source.htmlneethi_registry.hneethi__registry_8h-source.htmlguththila_error.hguththila__error_8h-source.htmlAXIS2_ERROR_SETaxutil__utils_8h-source.html#l00110AXIS2_URI_NFS_DEFAULT_PORTaxutil__uri_8h-source.html#l00074axutil_types.haxutil__types_8h-source.htmlaxutil_rand.haxutil__rand_8h-source.htmlaxutil_log::opsaxutil__log_8h-source.html#l00127axutil_http_chunked_stream_taxutil__http__chunked__stream_8h-source.html#l00043axutil_error.haxutil__error_8h-source.htmlaxutil_base64_binary.haxutil__base64__binary_8h-source.htmlaxis2_transport_sender_ops_taxis2__transport__sender_8h-source.html#l00056axis2_svr_callback_taxis2__svr__callback_8h-source.html#l00042axis2_svc_grp_ctx.haxis2__svc__grp__ctx_8h-source.htmlaxis2_relates_to.haxis2__relates__to_8h-source.htmlAXIS2_PHASE_TRANSPORT_INaxis2__phase__meta_8h-source.html#l00057AXIS2_TIMEOUT_IN_SECONDSaxis2__options_8h-source.html#l00050AXIS2_SVR_PEER_IP_ADDRaxis2__msg__ctx_8h-source.html#l00089axis2_msg.haxis2__msg_8h-source.htmlaxis2_http_transport_utils.haxis2__http__transport__utils_8h-source.htmlAXIS2_HTTP_PROXY_PASSWORDaxis2__http__transport_8h-source.html#l00898AXIS2_HTTP_REQ_TYPEaxis2__http__transport_8h-source.html#l00811AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAPaxis2__http__transport_8h-source.html#l00725AXIS2_HTTP_REQUEST_HEADERSaxis2__http__transport_8h-source.html#l00638AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTHaxis2__http__transport_8h-source.html#l00549AXIS2_HTTP_HEADER_AUTHORIZATIONaxis2__http__transport_8h-source.html#l00464AXIS2_HTTP_CHAR_SET_ENCODINGaxis2__http__transport_8h-source.html#l00373AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAMEaxis2__http__transport_8h-source.html#l00288AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VALaxis2__http__transport_8h-source.html#l00197AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VALaxis2__http__transport_8h-source.html#l00111axis2_http_simple_response.haxis2__http__simple__response_8h-source.htmlAXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEaxis2__http__out__transport__info_8h-source.html#l00165axis2_flow.haxis2__flow_8h-source.htmlAXIS2_CONTEXTPATH_KEYaxis2__description_8h-source.html#l00088axis2_core_utils.haxis2__core__utils_8h-source.htmlaxis2_any_content_type.haxis2__any__content__type_8h-source.htmlAXIS2_WSA_ANONYMOUS_URLaxis2__addr_8h-source.html#l00114AXIS2_WSA_FROMaxis2__addr_8h-source.html#l00057axiom_xpath_context::nsaxiom__xpath_8h-source.html#l00141axiom_xpath_context_taxiom__xpath_8h-source.html#l00065axiom_soap_fault_text.haxiom__soap__fault__text_8h-source.htmlAXIOM_TEXTaxiom__node_8h-source.html#l00089axiom_mtom_caching_callback_opsaxiom__mtom__caching__callback_8h-source.html#l00063axiom_children_with_specific_attribute_iterator.haxiom__children__with__specific__attribute__iterator_8h-source.htmlMember axutil_log_ops::freestructaxutil__log__ops.html#b4996bdfbcd42be8cf62950dc59c2a7bMember axutil_error::messagestructaxutil__error.html#a016f4ce55a9b63eb01dc66430d04c4faxutil_env::thread_poolstructaxutil__env.html#7c86321a6c579db87fa5997fbcb1f10baxutil_allocator::free_fnstructaxutil__allocator.html#e6cbe542556d5b628c55101ad66b83aeMember axis2_transport_sender_ops::invokestructaxis2__transport__sender__ops.html#4505f960f783bc86aa9e44b7a45d0a02Member axis2_transport_receiver_ops::startstructaxis2__transport__receiver__ops.html#1c192e805fc0f8bc17c03320bd4c6db5Member axis2_svc_skeleton_ops::invokestructaxis2__svc__skeleton__ops.html#f7e231e87bb2db245c626f5037c7d263Member axis2_module_ops::initstructaxis2__module__ops.html#38448a11b9ccf9d0f9c53102fa12423eaxiom_xpath_result_node Struct Referencestructaxiom__xpath__result__node.htmlaxiom_xpath_expression::expr_strstructaxiom__xpath__expression.html#0b32a7b977d8a6475fb2abfb96935002axiom_xpath_context::exprstructaxiom__xpath__context.html#14c81c80f9a4de981dd4994de028e56fMember axiom_xml_writer_ops::write_start_document_with_versionstructaxiom__xml__writer__ops.html#6369d78e9156277c1130c09d023d9620Member axiom_xml_writer_ops::write_empty_elementstructaxiom__xml__writer__ops.html#9f17f154c81b94a06d0f0e15ddafa5b0axiom_xml_writer_ops::write_start_document_with_versionstructaxiom__xml__writer__ops.html#6369d78e9156277c1130c09d023d9620axiom_xml_writer_ops::write_empty_elementstructaxiom__xml__writer__ops.html#9f17f154c81b94a06d0f0e15ddafa5b0Member axiom_xml_reader_ops::get_namestructaxiom__xml__reader__ops.html#5f53ff51d077111b77cc6ba7806f8e34axiom_xml_reader_ops::get_dtdstructaxiom__xml__reader__ops.html#a9507f65a18b044ed7e33f088101d397axiom_xml_reader_ops Struct Referencestructaxiom__xml__reader__ops.htmlRp_x509_token_buildergroup__rp__x509__token__builder.htmlrp_x509_token_get_inclusiongroup__rp__x509__token.html#g4ea8d61d443e60654fbbf7da620b6882rp_wss11_get_must_support_ref_external_urigroup__wss11.html#gb2040645c5435902b8152a53e26e005arp_wss10_get_must_support_ref_issuer_serialgroup__wss10.html#g071a5e3c79f6d06b2779c5cf30581f81rp_username_token_get_issuergroup__rp__username__token.html#gc29301ad6441580a992d41573852b6f7rp_transport_binding_increment_refgroup__rp__transport__binding.html#ge158dc3bd43c65e953f98d698454c83crp_token_get_claimgroup__rp__token.html#g12264e99e2b50c7a76f95c52b160de37rp_symmetric_binding_set_encryption_tokengroup__rp__symmetric__binding.html#ga8621fa1694090eaedee1e5ed4095090rp_symmetric_asymmetric_binding_commons_set_binding_commonsgroup__rp__assymmetric__symmetric__binding__commons.html#g81a1b18a36d088ff75fdce40745f42edrp_supporting_tokens_set_signed_partsgroup__rp__supporting__tokens.html#gaa024339ce45dd6483f7bc04475c96d1rp_signed_encrypted_parts_get_attachmentsgroup__rp__signed__encrypted__parts.html#gd8caa96b20e01640d35a581515aa6fdfrp_signed_encrypted_elements_increment_refgroup__rp__signed__encrypted__elements.html#gc96bb5e373fb67dda144d1a9163cc48brp_security_context_token_get_is_secure_conversation_tokengroup__rp__security__context__token.html#g83f3778994c4be8a21e197037822ae0arp_security_context_token_tgroup__rp__security__context__token.html#gaf17c2aa0e827051919828f1500ea4acrp_secpolicy_set_signed_elementsgroup__rp__secpolicy.html#g7adb5c6df9a5f192e580fd212bcdcba5rp_secpolicy_tgroup__rp__secpolicy.html#g98d66fa966518fe2a15083d53d8164e9rp_rampart_config_set_time_to_livegroup__rp__rampart__config.html#ga2b9ae9ae327909842fc8407ee3b7ad7rp_rampart_config_get_password_callback_classgroup__rp__rampart__config.html#g1617955368a04093d9955849def58488rp_property_tgroup__rp__property.html#g47fe466d954de1660f4b2abd8ec4f96arp_trust10_set_require_server_entropygroup__trust10.html#g0c0b404c2a7b79f93f56e04aeccd1f4drp_issued_token_set_derivedkeysgroup__trust10.html#g886e119069efb650bb322aee61c09a99rp_https_token_increment_refgroup__rp__https__token.html#g148dc8aeb8e173fe4cb42a0417d7160crp_header_tgroup__rp__header.html#gc9d6d37f1c14e5a019e2ad11deb2b230RP_SECURITY_NSgroup__rp__defines.html#gec742b777732a4355c3ff8f7d14f9365RP_PASSWORD_CALLBACK_CLASSgroup__rp__defines.html#g8422ff6ea4e74c2f2e0db01af76cae6aRP_WSS_X509_PKI_PATH_V1_TOKEN_11group__rp__defines.html#gb0fc15d6b817aac7d608afc1480a9ef0RP_INCLUDE_ALWAYS_TO_INITIATOR_SP12group__rp__defines.html#g8ee79bd71d9d31b731ccc24fe861bfa3RP_LAYOUT_LAX_TIMESTAMP_FIRSTgroup__rp__defines.html#g0f8b47915646c20a0d94ac902287ba28RP_P_SHA1group__rp__defines.html#g2ca574dfe57d13269c687c796ab863f6RP_ALGO_SUITE_BASIC128_SHA256_RSA15group__rp__defines.html#gf69bdd271a26d427e6328bea020c9e26RP_ENCRYPT_SIGNATUREgroup__rp__defines.html#g689e6ac870f17ed1452450e3692411adRP_REQUIRE_SIGNATURE_CONFIRMATIONgroup__rp__defines.html#g67f0cf65694966510819ed01fe83c142RP_HEADERgroup__rp__defines.html#gb06f66bec25afc8e66e3accfb049b52eRP_POLICYgroup__rp__defines.html#ga5176afaa106beff5b6e23a14adbdacfrp_binding_commons_get_algorithmsuitegroup__rp__binding__commons.html#g5a0c03fb0953867237ba5c6637fad067Rp_asymmetric_bindinggroup__rp__asymmetric__binding.htmlrp_algorithmsuite_get_symmetrickeywrapgroup__rp__algoruthmsuite.html#g9a98ad5abeab21a87d7d387e36e8f2a1rp_algorithmsuite_get_algosuite_stringgroup__rp__algoruthmsuite.html#gc3b5773e6d1f981f4f1e4b305337a80aMember AXIS2_FUNC_PARAM_CHECKgroup__axutil__utils.html#gc166237d0def75b6826516f64acffbefAXIS2_HANDLE_ERRORgroup__axutil__utils.html#g90cce8a56477673e8a291103addcf6c7Member axutil_uri_get_protocolgroup__axutil__uri.html#g7f474fba8db7111c30a4cc5878b09b09Member AXIS2_URI_TELNET_DEFAULT_PORTgroup__axutil__uri.html#g54be7d53a86f2b0d82bf00c7aa8f7c6faxutil_uri_get_querygroup__axutil__uri.html#gc967a6e1c1b5193f500f0af22506ecaaAXIS2_URI_UNP_OMITQUERYgroup__axutil__uri.html#g83806b77d30e0c012192145ee73c4eb4AXIS2_URI_WAIS_DEFAULT_PORTgroup__axutil__uri.html#gc73c5de55dd281e5db79bcd377bbf1baAXIS2_STRTOLgroup__axutil__types.html#g9f34abbfec8a98cbfc75bb9aa6ce6203axutil_thread_pool_exit_threadgroup__axutil__thread__pool.html#g4918b9dbaed331af5602f5a9e6ebb6efMember axutil_thread_exitgroup__axutil__thread.html#gce2c40eabd0a117145610897e3b0b350axutil_thread_detachgroup__axutil__thread.html#gf80d1cd64a4f888588f502bb836ace47AXIS2_THREAD_MUTEX_NESTEDgroup__axutil__thread.html#g4c1de3e53fdd5e35bff45518bf01adb9axutil_string_substring_starting_atgroup__axutil__string__utils.html#g3fbd93acf1500a6eb20839e6035bdb46axutil_strmemdupgroup__axutil__string__utils.html#gd2bde5b665c91059e573e276db3fe33eaxutil_string_freegroup__axutil__string.html#g940859e6f4889463780078c9845bf41faxutil_stream_set_skipgroup__axutil__stream.html#g4f950f4757470df7781a2d2c6075dd30axutil_stream_readgroup__axutil__stream.html#g50c7a90bb8fd3b6d3655c50e82120a0baxutil_stack_freegroup__axis2__util__stack.html#g53a011812b6cf0955195e17473e75297axutil_qname_to_stringgroup__axutil__qname.html#gce05f5dabf88994e7ae8b3bf46fa968eaxutil_property_set_valuegroup__axutil__property.html#g95fa27c49026062b1f090cff493eefbfaxutil_properties_get_allgroup__axutil__properties.html#g51e05e9bed9a4ff4649d6c62396db865axutil_param_container_add_paramgroup__axutil__param__container.html#g9a877505574102079a55cbdb6aae06fdaxutil_param_dummy_free_fngroup__axutil__param.html#g768c11ad8c475b7b0bacb7469f42d8daAXIS2_PARAM_VALUE_FREEgroup__axutil__param.html#ga5c678036ca483c53d4a73a1fa85c8daaxutil_network_handler_get_peer_ipgroup__axutil__network__handler.html#g6893a70c0b453c417e17e7491c8140e5axutil_md5_ctx_freegroup__axutil__md5.html#g15ae76fd76cb90f4325f88fcf34ea754axutil_log_impl_get_time_strgroup__axutil__log.html#g0a28c225228582e51392ee0c8bc264c4AXIS2_LOG_ERROR_MSGgroup__axutil__log.html#gc2f795ff09f4aeb95dd0a561214b2135Member entry_s::nextgroup__axutil__linked__list.html#g8663ba871d35c8166f3a61ce49c3d0f0Member axutil_linked_list_cleargroup__axutil__linked__list.html#g02d3d806618b29e546e6b99b451bdc5faxutil_linked_list_cleargroup__axutil__linked__list.html#g02d3d806618b29e546e6b99b451bdc5fentry_tgroup__axutil__linked__list.html#gc8fdf0a0a29c429a84e7beb8bcbd00ceaxis2_callback_info_tgroup__axutil__http__chunked__stream.html#g786f210ecd38135dc3656057e20adaffMember axutil_hash_contains_keygroup__axutil__hash.html#g56cd2ac6c7addaf693c820abe1d180f5axutil_hash_copygroup__axutil__hash.html#g816156cbb7a006f8cd83cf25397c1bdageneric objectgroup__axutil__generic__obj.htmlaxutil_file_get_namegroup__axutil__file.html#g5f577a2ce03ca80db8293a732ea60476axutil_error_initgroup__axutil__error.html#gca400ab90e600bfe18efe4804727900dMember axutil_env_enable_loggroup__axutil__env.html#g3a5d8481e405b8b63bd05df9b33b9ccdaxutil_env_creategroup__axutil__env.html#g136fef9fc5d4e435f40a0949375d324daxutil_duration_get_hoursgroup__axutil__duration.html#gc5ac3bbb310d26ed8274636a9e2ae5f8Member axutil_dll_desc_get_namegroup__axutil__dll__desc.html#g937e56d905ae2b6b342500c3a19c5486axutil_dll_desc_set_typegroup__axutil__dll__desc.html#g3b1a1bd5ea456edd7c93dc771ecbf3b1dir handlergroup__axutil__dir__handler.htmlMember axutil_date_time_serialize_timegroup__axutil__date__time.html#gad77bd48f8d22855617fc1678c08e8adaxutil_date_time_serialize_time_with_time_zonegroup__axutil__date__time.html#ga3f3216bc29d2824896ac920e27a4c27axutil_date_time_get_yeargroup__axutil__date__time.html#g0004b9c5cc5e1a1a5b3e3f517a7fcde5class loadergroup__axutil__class__loader.htmlaxutil_base64_binary_set_plain_binarygroup__axutil__base64__binary.html#gff50faa77b39aa4f87d72427a2c090b2Member axutil_array_list_containsgroup__axutil__array__list.html#g7a0aa68c089a2905ed506213aba40578axutil_array_list_is_emptygroup__axutil__array__list.html#g3ed8b5b9d4a0a4e76e4c55d92a307a0daxutil_allocator_tgroup__axutil__allocator.html#g24403baa66b6208837ff50b46f8ba930AXIS2_TRANSPORT_SENDER_INVOKEgroup__axis2__transport__sender.html#gbe928f1aa5166c508c6579e5289ee0e0axis2_transport_receiver_stopgroup__axis2__transport__receiver.html#g473f9011903bfe42bacb4800979f47a9Member axis2_transport_out_desc_get_out_phasegroup__axis2__transport__out__desc.html#gc6f65f940c3d5fa1f37f4ce4f2b8cf35axis2_transport_out_desc_get_fault_phasegroup__axis2__transport__out__desc.html#g494cdcb339e8e0790b9856d84445c81fMember axis2_transport_in_desc_set_in_flowgroup__axis2__transport__in__desc.html#ga0d8c3fa889518560959a8b19900e31bGroup transport in descriptiongroup__axis2__transport__in__desc.htmlaxis2_transport_in_desc_get_enumgroup__axis2__transport__in__desc.html#g6ec4b9bf77f2828b7461de54bb7655ceaxutil_thread_mutex_lockgroup__axis2__mutex.html#g7f987573535cf90ba67b2b2ae047ee46server callbackgroup__axis2__svr__callback.htmlservice APIgroup__axis2__soc__api.htmlMember axis2_svc_grp_ctx_set_idgroup__axis2__svc__grp__ctx.html#ga13372f182ee6a6e712b82268a1e19e7axis2_svc_grp_ctx_set_idgroup__axis2__svc__grp__ctx.html#ga13372f182ee6a6e712b82268a1e19e7Member axis2_svc_grp_get_namegroup__axis2__svc__grp.html#g258d00be25cb490124899f9c29a56b95axis2_svc_grp_create_with_confgroup__axis2__svc__grp.html#ge65bd5202186937874e51ceb0fd9d97eaxis2_svc_grp_get_svcgroup__axis2__svc__grp.html#g7df1792c61f47097ac93f7b729efd773Member axis2_svc_ctx_creategroup__axis2__svc__ctx.html#gfde2ce40c07183001b2a1ef867fb36aeMember axis2_svc_client_set_proxy_with_authgroup__axis2__svc__client.html#gcfe99e1b20b72175564545aa3643a578Member axis2_svc_client_get_own_endpoint_refgroup__axis2__svc__client.html#gd844bd63844eaec8549c5fdc9b1a4567Member axis2_svc_client_create_with_conf_ctx_and_svcgroup__axis2__svc__client.html#g65fd398dd0af4f6b928039b27bb6bef0axis2_svc_client_get_op_clientgroup__axis2__svc__client.html#ga67a9dd0d56c30d5f96f28e5e8040c8caxis2_svc_client_send_robust_with_op_qnamegroup__axis2__svc__client.html#g42a973429ce779dc574052bb6a8b1849Member axis2_svc_set_svc_folder_pathgroup__axis2__svc.html#g6101f397d6874038f5063d9c92c0aae4Member axis2_svc_get_rest_op_list_with_method_and_locationgroup__axis2__svc.html#g084262a14dff6edf6e822e13a0c7bdfaMember axis2_svc_freegroup__axis2__svc.html#g6adc90fa30952058bb566df6727c75daaxis2_svc_create_with_qnamegroup__axis2__svc.html#gc10ba2c54702eb532945cf3fdce2178faxis2_svc_get_svc_folder_pathgroup__axis2__svc.html#g3b8e9e9280ddc1bb96795b595a9bfbd2axis2_svc_is_param_lockedgroup__axis2__svc.html#ge02611f21135d71edfffba0bdfc24388Member axis2_stub_set_use_separate_listenergroup__axis2__stub.html#gf3fdc7a48ad18635e54089e1e7e9d416axis2_stub_get_optionsgroup__axis2__stub.html#ge0caef65d517bbde1018db927bbf2e27axis2_rm_assertion_get_sandesha2_dbgroup__axis2__rm__assertion.html#g0f66cf6c2237a04bad5115eaca3921d0axis2_rm_assertion_set_ack_intervalgroup__axis2__rm__assertion.html#gd4bf02f80299bbd717f510ff464c37b0axis2_rm_assertion_get_is_sequence_strgroup__axis2__rm__assertion.html#gc5fd84ca5a44401658e5c83523763d96axis2_relates_to_get_valuegroup__axis2__relates__to.html#g06f3ca8b23f7f1ec80eb753a75203cf4axis2_policy_include_get_policy_elementsgroup__axis2__policy__include.html#g18de6c808a308e7396935642dc0d1df2Member axis2_phases_info_set_out_faultphasesgroup__axis2__phases__info.html#g117fd37b24eac5a121346998b04dfdd0axis2_phases_info_creategroup__axis2__phases__info.html#g6c64569d496cd6d9845761b1f1831f8fMember axis2_phase_rule_set_namegroup__axis2__phase__rule.html#g2b76a8aa8c2004573d01df1c95b74ee6axis2_phase_rule_freegroup__axis2__phase__rule.html#g98314dfcdc4e33e9943a9b7649d231e4Member axis2_phase_resolver_disengage_module_from_svcgroup__axis2__phase__resolver.html#g65dbd4a356861cb3517d4788f45b874caxis2_phase_resolver_build_execution_chains_for_svcgroup__axis2__phase__resolver.html#g2d199ef8c0cf2c6f0477a0b7f3008798AXIS2_PHASE_MESSAGE_PROCESSINGgroup__axis2__phase__meta.html#geb71cd8aa33841c8b2abda26b32dd551axis2_phase_holder_create_with_phasesgroup__axis2__phase__holder.html#g235fffaa9ed52a2e633ab2780c52fe5bMember axis2_phase_insert_before_and_aftergroup__axis2__phase.html#g29a679a896554e2527612d146532ebcdaxis2_phase_increment_refgroup__axis2__phase.html#ge2b5eec3eb335795defbc87262186d85axis2_phase_add_handlergroup__axis2__phase.html#g8fc3f0608dac0d516c0646b0e8e1d022AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEgroup__axis2__out__transport__info.html#g4c6d71c71837c7ec5109d73315421c5cMember axis2_options_set_reply_togroup__axis2__options.html#gc2425fafccaf57322da1a07b328ebcb0Member axis2_options_get_xml_parser_resetgroup__axis2__options.html#g079c0d74ca8b4a6bdf94b5afe45c8b1cMember axis2_options_get_msg_info_headersgroup__axis2__options.html#gf88ecbaac26036de8311ecf8552ef396axis2_options_set_http_auth_infogroup__axis2__options.html#g075f4088b1263d5a932486293c099238axis2_options_get_msg_info_headersgroup__axis2__options.html#gf88ecbaac26036de8311ecf8552ef396axis2_options_set_transport_ingroup__axis2__options.html#g7adae8ea3c133854375e0a0dc02a2446axis2_options_get_propertiesgroup__axis2__options.html#g244f26e4bca15b715a13240f0c95605bMember axis2_op_ctx_is_in_usegroup__axis2__op__ctx.html#g016e131eb3c18c134e81f48f0639eae5axis2_op_ctx_increment_refgroup__axis2__op__ctx.html#g20a35685dc844e4c81aac603a8121dcbaxis2_op_ctx_get_basegroup__axis2__op__ctx.html#ge3983155246957addf3cf44128797b11Member axis2_op_client_get_svc_ctxgroup__axis2__op__client.html#g7d8f7b0e623e96ad796d3d93f3d443fcaxis2_op_client_two_way_sendgroup__axis2__op__client.html#g2325f68d3df4f2b324354837f5f7b20caxis2_op_client_resetgroup__axis2__op__client.html#g8d87312f023b335ea8a2bf723161fb84Member axis2_op_set_parentgroup__axis2__op.html#g0165b6250afa9b6ad3889bd160ae3f3cMember axis2_op_get_out_flowgroup__axis2__op.html#g0e48f8565d6852e9e477c63e13efbad4Member axis2_op_create_with_qnamegroup__axis2__op.html#gcf1b842dded98ee8f9ecbb940fa0ca2baxis2_op_is_from_modulegroup__axis2__op.html#g16832b71e04062cac2acb9a0ed4e4d04axis2_op_get_all_modulesgroup__axis2__op.html#g0c59eea9d18fa94ff2b2375c0efd1929axis2_op_is_param_lockedgroup__axis2__op.html#g118ba8c76ce88e87fb343802fbf475c2Member axis2_msg_recv_delete_svc_objgroup__axis2__msg__recv.html#gff566d302fe1980913798086325ec2a6axis2_msg_recv_receivegroup__axis2__msg__recv.html#g7f214d78f066fe2c120652d2fce4b544Member axis2_msg_info_headers_set_fault_to_anonymousgroup__axis2__msg__info__headers.html#gcdd63e8863b18076b46aee90f5b05c6fMember axis2_msg_info_headers_add_ref_paramgroup__axis2__msg__info__headers.html#ga95d76b3311e4885959e2a5609a327f0axis2_msg_info_headers_set_fault_togroup__axis2__msg__info__headers.html#g9d097759c95b088583709dd83e19ca90Member axis2_msg_ctx_set_transport_urlgroup__axis2__msg__ctx.html#gcd9816724abf529406fa977b6838f481Member axis2_msg_ctx_set_server_sidegroup__axis2__msg__ctx.html#g3d12635f667d18ad9e5ce6ed6af42560Member axis2_msg_ctx_set_new_thread_requiredgroup__axis2__msg__ctx.html#ga93cc6c40d67fed5df3f6891bce068a1Member axis2_msg_ctx_set_fault_soap_envelopegroup__axis2__msg__ctx.html#g5a75d1d93e2cee20aab553cdaa02b414Member axis2_msg_ctx_increment_refgroup__axis2__msg__ctx.html#g88942393726b78bdb836462dd04aa6baMember axis2_msg_ctx_get_status_codegroup__axis2__msg__ctx.html#g6f928344dc07a6808c1d7a5365e26e86Member axis2_msg_ctx_get_parentgroup__axis2__msg__ctx.html#gd4ce3d1d6debe530cbb3dffb2a43c866Member axis2_msg_ctx_get_http_accept_language_record_listgroup__axis2__msg__ctx.html#gffc30ac34ed6fffb2980a1e95532b51dMember axis2_msg_ctx_get_auth_failedgroup__axis2__msg__ctx.html#g9275a1b7095f53dc1fc3b81946296accMember AXIS2_TRANSPORT_OUTgroup__axis2__msg__ctx.html#g54db92215436083e7d8202149773c193axis2_msg_ctx_get_required_auth_is_httpgroup__axis2__msg__ctx.html#g6b79cdeb28ab6632c0d4d3300b4ca478axis2_msg_ctx_set_http_accept_charset_record_listgroup__axis2__msg__ctx.html#g52ba5fc8306a6c85435d46ba925312f5axis2_msg_ctx_get_current_phase_indexgroup__axis2__msg__ctx.html#g8a5c8277c0574011517121e95d28d693axis2_msg_ctx_set_find_svcgroup__axis2__msg__ctx.html#gabceeec2b7643a21f1794f4f729af19baxis2_msg_ctx_set_doing_restgroup__axis2__msg__ctx.html#g22fa631d4d7d1c62cc6186411dd47996axis2_msg_ctx_get_svc_ctxgroup__axis2__msg__ctx.html#g983409d62673569724c9bb4532c8465eaxis2_msg_ctx_get_pausedgroup__axis2__msg__ctx.html#g3fb1000ba8d6fb99b8f443ec4b9804f8axis2_msg_ctx_set_in_fault_flowgroup__axis2__msg__ctx.html#g5a5a0204f62d42f7e79cf8d0c9fa9278axis2_msg_ctx_freegroup__axis2__msg__ctx.html#gb324606b76e49c07e3ea0454f964284aAXIS2_TRANSPORT_OUTgroup__axis2__msg__ctx.html#g54db92215436083e7d8202149773c193Member axis2_msg_get_basegroup__axis2__msg.html#ge6b0879687a82eec5c5cf621bd803623axis2_msg_get_element_qnamegroup__axis2__msg.html#g3c21abaa1b0447d184b8a408cf2f75c1AXIS2_MSG_INgroup__axis2__msg.html#g862a13ab2bca0822defd770d15a27fbfMember axis2_module_desc_get_flow_containergroup__axis2__module__desc.html#g268f3d8499ddd8eb7a17d775dc1a2663axis2_module_desc_get_param_containergroup__axis2__module__desc.html#g1a09ad8c0b308f4793ca1643059c7810axis2_module_desc_set_out_flowgroup__axis2__module__desc.html#g7eb90b76e13c85492f9b27c2eca2a965axis2_module_fill_handler_create_func_mapgroup__axis2__module.html#g1b38c2e3368e87c2309a12ea71e96177axis2_listener_manager_make_sure_startedgroup__axis2__listener__manager.html#g1e7458c7473be15ce253a9a0a5ff133fMember MTOM_RECIVED_CONTENT_TYPEgroup__axis2__core__transport__http.html#g4e437df1659bd50989c3b83dcd36aa02Member AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VALgroup__axis2__core__transport__http.html#g5feb9af80cec5cf84ca90ecc4a284309Member AXIS2_HTTP_RESPONSE_OK_CODE_NAMEgroup__axis2__core__transport__http.html#gdcde5ce921f690be927f7782153855afMember AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VALgroup__axis2__core__transport__http.html#g88016f16d8d3d41475576f7322e7f836Member AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VALgroup__axis2__core__transport__http.html#gc8fe5a899dcb987cb34177c8585244f2Member AXIS2_HTTP_PROXY_HOSTgroup__axis2__core__transport__http.html#ga9e5947feac7aaf42edeadda21d0e87fMember AXIS2_HTTP_HEADER_PROXY_AUTHORIZATIONgroup__axis2__core__transport__http.html#g7547866a8d8f46d886f8175c0380922dMember AXIS2_HTTP_HEADER_CONTENT_LENGTHgroup__axis2__core__transport__http.html#g0e020ef249d8e47b4894f32cae5ae7a5Member AXIS2_HTTP_HEADER_ACCEPT_LANGUAGEgroup__axis2__core__transport__http.html#g61aed86040e6ed7e7607d7a822103ccdMember AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSEgroup__axis2__core__transport__http.html#ga16b08f8b5ef35bfc5fe297f3f538474Member AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5group__axis2__core__transport__http.html#g33a5591170fe0c7ddb8b093d9dc5eeb3AXIS2_HTTP_METHOD_NOT_ALLOWEDgroup__axis2__core__transport__http.html#g2ae8b9092f69488116c3dff6fdca3a40AXIS2_LEVELgroup__axis2__core__transport__http.html#g4613e733941632bb83895bd2564744b2AXIS2_ESC_NULLgroup__axis2__core__transport__http.html#g81524e2fd94ce17dc57637cddf7137c7AXIS2_HTTP_AUTH_TYPE_DIGESTgroup__axis2__core__transport__http.html#g2a5ff77377ac2a8e936127652762e523AXIS2_HTTP_AUTHENTICATIONgroup__axis2__core__transport__http.html#g237ef4fec9cc584aaf4ad2e87df851a8AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZEDgroup__axis2__core__transport__http.html#g260942288ca65c3d2330e86413c2e380AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALLgroup__axis2__core__transport__http.html#g16d2ec41cb53fa6e326fb235731d024aAXIS2_HTTP_HEADER_EXPECT_group__axis2__core__transport__http.html#gf24b5438e23a49ccf746701add2bad8cAXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNTgroup__axis2__core__transport__http.html#g985d40e235b787eb6289382921e41c9bAXIS2_HTTP_HEADER_CONTENT_IDgroup__axis2__core__transport__http.html#g9d932e01e3f334bd376beb8f8851d3efAXIS2_HTTP_CHAR_SET_ENCODINGgroup__axis2__core__transport__http.html#g4ec14356366a58d49f18c53ffdf8b182AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAMEgroup__axis2__core__transport__http.html#gfb9cd4eeff300cfd9977b3b5962e999dAXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VALgroup__axis2__core__transport__http.html#gc1df017dad307a4033f4608248c3f800AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VALgroup__axis2__core__transport__http.html#g88016f16d8d3d41475576f7322e7f836axutil_url_encodegroup__axis2__core__transport__http.html#g5985b2e930a5c92fe5c31ed603887d3daxutil_url_tgroup__axis2__core__transport__http.html#g2995bfe02958f78d04ccc19241dd921baxis2_http_svr_thread_destroygroup__axis2__http__svr__thread.html#g81acbfe55c56823154fee7eac27891dbaxis2_http_status_line_get_reason_phrasegroup__axis2__http__status__line.html#g7ca13bebe337e3af6d598364bec86a2aMember axis2_http_simple_response_get_content_typegroup__axis2__http__simple__response.html#g539ffae585e4a8a47e1d8cd4c870c897axis2_http_simple_response_creategroup__axis2__http__simple__response.html#g209ed72631aa32675b22ce693ba18020axis2_http_simple_response_get_http_versiongroup__axis2__http__simple__response.html#g4962ea33b78c3b7057a700b5493e4ac6Member axis2_http_simple_request_freegroup__axis2__http__simple__request.html#gaeb4abc4abfbf9b5789b986c1bf47d48axis2_http_simple_request_contains_headergroup__axis2__http__simple__request.html#gbf7dd0d486ee2058b0ffb1db75510c7fMember axis2_http_response_writer_flushgroup__axis2__http__response__writer.html#gb1a6a1b2186ba65ec6bf6d94ee0d6385axis2_http_response_writer_tgroup__axis2__http__response__writer.html#g2259f3ec5abf54528a6b9797e8188771axis2_http_request_line_tgroup__axis2__http__request__line.html#g1070304508a3dd97050d86758db6b3e4axis2_http_out_transport_info_freegroup__axis2__http__out__transport__info.html#gd6d974df0df738b3e994146bf2445c17axis2_http_header_creategroup__axis2__http__header.html#g36d6aff978955bdebabf97f2f3fedcb4Member axis2_http_client_get_responsegroup__axis2__http__client.html#gd341b350cc543e7e7dbdba85c7ca952eaxis2_http_client_set_key_filegroup__axis2__http__client.html#g90dd4214f012bb8f75c9dc572eb78945Member axis2_http_accept_record_get_quality_factorgroup__axis2__http__accept__record.html#ge98e15ea5ff044610c235f7c45d947d7Member axis2_handler_desc_set_handlergroup__axis2__handler__desc.html#gba47ad772ed9b1efa3b1ac2a66d1a2cdaxis2_handler_desc_get_param_containergroup__axis2__handler__desc.html#g09fbdbcc01525968858a53740aaf164ehandler descriptiongroup__axis2__handler__desc.htmlaxis2_handler_get_namegroup__axis2__handler.html#g155435ede9e1fcbe13b28dc321601216Member axis2_flow_container_creategroup__axis2__flow__container.html#g7eae0c6ff23192492a0b046b3714eabdMember axis2_flow_free_void_arggroup__axis2__flow.html#g42ad166a913ea806e83ad0f60ac49d73Member axis2_endpoint_ref_get_svc_namegroup__axis2__endpoint__ref.html#g392b8ac3572d5a3b905b407dbf9c9936Group endpoint referencegroup__axis2__endpoint__ref.htmlaxis2_endpoint_ref_get_addressgroup__axis2__endpoint__ref.html#g4bc3d165549d17b00a56119c340d0eabaxis2_soap_action_disp_creategroup__axis2__disp.html#g7ce7cd65ca6b36076181dad1f6560bceMember AXIS2_PHASES_KEYgroup__axis2__desc__constants.html#g8e2aaf910542b2301b9b76fec0f892b5AXIS2_OUT_FAULTFLOW_KEYgroup__axis2__desc__constants.html#g08546fcedc786f6313440206bbb13090Member axis2_desc_set_parentgroup__axis2__description.html#g3847e0acbaa726663410a42ddead9448axis2_desc_get_parentgroup__axis2__description.html#g99cb434d37bf69b9edb0396825694041Member axis2_ctx_get_propertygroup__axis2__ctx.html#g2344da02e08fe0a2b88b7bb5e21fafe8axis2_core_utils_prepare_rest_mappinggroup__axis2__core__utils.html#ge868bcf4b107b770578c8af4234ce65fAxis2/C projectgroup__axis2.htmlMember axis2_conf_ctx_get_svc_ctx_mapgroup__axis2__conf__ctx.html#g5345c142c9d7868bcb8adbbbc6091c3faxis2_conf_ctx_initgroup__axis2__conf__ctx.html#g95ac09f843d1594d5bf3bf4f6f424fb0configuration contextgroup__axis2__conf__ctx.htmlMember axis2_conf_get_repogroup__axis2__config.html#ge352936161aa818a3b9b6b812851be01Member axis2_conf_get_all_svc_grpsgroup__axis2__config.html#g51f16242864d15ff2d77442615d51832Member axis2_conf_add_msg_recvgroup__axis2__config.html#g2563c430243b6cce5142109b1f7fae84axis2_conf_engage_module_with_versiongroup__axis2__config.html#g437349fa6fb067fc0cf6b23f731e5b5baxis2_conf_set_out_phasesgroup__axis2__config.html#g70e492fdfb83180cab77006979ce10e0axis2_conf_get_all_in_transportsgroup__axis2__config.html#g287e0d1e671665be290f523539f370d6configurationgroup__axis2__config.htmlaxis2_engine_resume_sendgroup__axis2__engine.html#gba1a56931bc5ad105c7059c2af3cd59bMember axis2_callback_set_on_completegroup__axis2__callback.html#g10b6d858cf29a9426a2b0c7a9690ab15axis2_callback_creategroup__axis2__callback.html#g9fea0849294631c64f627f509afbe4fdcallbackgroup__axis2__callback.htmlMember axis2_any_content_type_add_valuegroup__axis2__any__content__type.html#gcd40c74289137bd053e5f39787469d7eWS-Addressing Modulegroup__axis2__mod__addr.htmlMember AXIS2_WSA_PREFIX_TOgroup__axis2__addr__consts.html#gfc85ee803652f7b516adce75a32d195eMember AXIS2_WSA_DEFAULT_PREFIXgroup__axis2__addr__consts.html#g0a39a1ed9bcd873cef011bef81d20d85AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTEgroup__axis2__addr__consts.html#g4739c8ded874a3d7901bc6229a46dc24AXIS2_WSA_FAULT_TOgroup__axis2__addr__consts.html#g9bf69cecc6d28fe398d610195617f1bdMember axiom_xpath_free_contextgroup__axiom__xpath__api.html#g9c605179eff1ce688aeed2bb3a5a615faxiom_xpath_get_functiongroup__axiom__xpath__api.html#g0cff83ae01a93dfd36978407b9895399axiom_xpath_compile_expressiongroup__axiom__xpath__api.html#g34b8a60579233870162ebf5d416dc3acMember axiom_xml_writer_write_processing_instruction_datagroup__axiom__xml__writer.html#gf72fcff938ae170e1054a6291af7e785Member axiom_xml_writer_write_attributegroup__axiom__xml__writer.html#gea0009f113fc69456db5fedf684e04f4axiom_xml_writer_write_encodedgroup__axiom__xml__writer.html#g4af81c3bec86f454b46fe927341fd5c1axiom_xml_writer_write_attribute_with_namespacegroup__axiom__xml__writer.html#gd75f18f14f1eb494c59e58532cd16060Member axiom_xml_reader_initgroup__axiom__xml__reader.html#g8e39a922babd615678d53209c3d86c25Member axiom_xml_reader_get_attribute_countgroup__axiom__xml__reader.html#gae564cf8501da5b814ff04c2ff193c72axiom_xml_reader_get_namespace_countgroup__axiom__xml__reader.html#g5b6d2609022f69113b08cc5b592ce200Member axiom_text_set_valuegroup__axiom__text.html#g38e8fc267df5245ee5b65b62c37ecac9axiom_text_get_content_idgroup__axiom__text.html#g7f941bcbbeda74c50e117100e190fdc6Member axiom_stax_builder_nextgroup__axiom__stax__builder.html#g36663b99e04b43c27f49fa8d0aac6140Member axiom_soap_header_block_set_rolegroup__axiom__soap__header__block.html#g070c1dfff7559b2a6671cb560827767caxiom_soap_header_block_get_rolegroup__axiom__soap__header__block.html#g1c3d15f1ba49d72671ed03e0eec0563aMember axiom_soap_header_examine_header_blocksgroup__axiom__soap__header.html#g1715ee6353da48cd2148b8adfd227814Member axiom_soap_fault_value_get_base_nodegroup__axiom__soap__fault__value.html#g053a9854d77b033ae8655e9ca88be500Member axiom_soap_fault_text_create_with_parentgroup__axiom__soap__fault__text.html#g93c4f13db5c53ccb8082d346781d4b6faxiom_soap_fault_sub_code_get_sub_codegroup__axiom__soap__fault__sub__code.html#gd34ca96ee79733b00b3d2d143e9b9702Member axiom_soap_fault_reason_get_first_soap_fault_textgroup__axiom__soap__fault__reason.html#ge33699fe9001ee509233d1055d2390a5Member axiom_soap_fault_node_freegroup__axiom__soap__fault__node.html#gd0154dab46d6359bec398b15c8366e32axiom_soap_fault_detail_create_with_parentgroup__axiom__soap__fault__detail.html#ga176a5c0fe38155991dddde2e8d36229Member axiom_soap_fault_get_reasongroup__axiom__soap__fault.html#g849b1969173ab4ff6394867262770179axiom_soap_fault_get_codegroup__axiom__soap__fault.html#gdc09d5b63b273d0ad5ab13a1e6fed5c8Member axiom_soap_envelope_create_default_soap_fault_envelopegroup__axiom__soap__envelope.html#gb7fc6e54a5c354e7e5f285c78e7f7fc0soap envelopegroup__axiom__soap__envelope.htmlMember axiom_soap_builder_creategroup__axiom__soap__builder.html#g774e5f3b0fd997c686481d8ec16c2264axiom_soap_builder_freegroup__axiom__soap__builder.html#gf57256b5e28bf4df73bb2ff089263a9daxiom_soap_body_get_base_nodegroup__axiom__soap__body.html#g9bbf0f7a4ecab44106145d9b97f07dfcaxiom_processing_instruction_set_valuegroup__axiom__processing__instruction.html#gad6d1e6dc317ee2af133e3ee19ad8d19Member axiom_output_get_root_content_idgroup__axiom__output.html#g80d298f65e9301fcb36805957ef2b502axiom_output_set_char_set_encodinggroup__axiom__output.html#g10458f16130c10c283d21eac9a7c6eb5Member axiom_node_serialize_sub_treegroup__axiom__node.html#ga5e126b3d2462d4569e0d4b0a9bcd80eMember axiom_node_creategroup__axiom__node.html#g1558b403be5c6339997a7730596337bbaxiom_node_is_completegroup__axiom__node.html#g94ec253a7993a968b8a2e5fc80c7f5f3Member axiom_types_tgroup__axiom__node.html#g1d63f86448ef155d8b2baa77ef7ae2abnavigatorgroup__axiom__navigator.htmlaxiom_namespace_create_strgroup__axiom__namespace.html#g0861c4c5aa32eae919f2b1035bd308ddAXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLERgroup__mtom__sending__callback.html#gad9fbb348469253ab2f95b1e73322102Member axiom_mime_parser_parse_for_soapgroup__axiom__mime__parser.html#gdc5c7fd17d2589e7bcb82db28a2ee2c7axiom_mime_parser_parse_for_attachmentsgroup__axiom__mime__parser.html#gad740844c9b6e98882ecdd80d5059b73Member axiom_element_get_qnamegroup__axiom__element.html#g7624c9f5fdebd0d20baba3909d147262Member axiom_element_freegroup__axiom__element.html#ga93dfaff8cd3e00e6f691089a5700d90axiom_element_get_is_emptygroup__axiom__element.html#g26bc8c60cd61379014ea37dcae83dec7axiom_element_get_first_child_with_qnamegroup__axiom__element.html#gd3f2d1134ad645414483e3f84add0ab6axiom_element_add_attributegroup__axiom__element.html#g85f27529264c69b4678b5e10cf1417c8Member axiom_document_build_allgroup__axiom__document.html#g8c20adf1ab6226417b5946d72f8888d1Member axiom_doctype_creategroup__axiom__doctype.html#gf5a0bbfb2f36e549919f1aa3fb6982c8axiom_data_source_tgroup__axiom__data__source.html#gb52389bbd2e986cbd069892a92583ef4axiom_data_handler_get_user_paramgroup__axiom__data__handler.html#gc163510d1280fa477463c282863f85b5axiom_data_handler_set_content_typegroup__axiom__data__handler.html#gbd786bd0c93181d5232492e486d59799Member axiom_children_with_specific_attribute_iterator_has_nextgroup__axiom__children__with__specific__attribute__iterator.html#g4965a74d2c7af2a6f0588c3cc15c13ecaxiom_children_qname_iterator_nextgroup__axiom__children__qname__iterator.html#gf407f75da538e75839c59fa385017680axiom_children_iterator_creategroup__axiom__children__iterator.html#ge1e162cfd416427d54f339543e580d48Member axiom_attribute_set_value_strgroup__axiom__attribute.html#g10bfe30de55eb9f2f19829b1578913c1Member axiom_attribute_clonegroup__axiom__attribute.html#g21014966fb2d80f589bbbe23a66ff478axiom_attribute_free_void_arggroup__axiom__attribute.html#geb9ac7efe5dbb33273cd37c9ddc99b0aneethi_registry_registerneethi__registry_8h.html#236183d04df074fa722785caea5de76aneethi_policy_serializeneethi__policy_8h.html#5d0d22f9751edbcbee8c49a915fe7c6bneethi_operator_set_value_nullneethi__operator_8h.html#44fc7d06dab790d3c9e6c7d3d32df18dneethi_exactlyone_get_policy_componentsneethi__exactlyone_8h.html#31683ba6eac4ec7447d32a4751aa707bAXIS2_RM_POLLING_WAIT_TIMEneethi__constants_8h.html#4e669b65e31f97e4e28e4c3d3f94df31AXIS2_RM_INACTIVITY_TIMEOUTneethi__constants_8h.html#9adcfbf3be76d53fc14fd1db2f31ba52NEETHI_ALLneethi__constants_8h.html#6be1d284af4b21f57c25f30ae8690e0cneethi_assertion_get_valueneethi__assertion_8h.html#6d54e73d55f947ebf828ac587f3857b3axutil_utils.haxutil__utils_8h.htmlAXIS2_ERROR_SETgroup__axutil__utils.html#gacaecc9520a0470ee32e6100942c4088axutil_url_set_servergroup__axis2__core__transport__http.html#gc57e4c24c42fa7b7fe49dfcf5f43ab2caxutil_uri_get_portgroup__axutil__uri.html#g73046bb3c4357a211c61e8b041214d2fAXIS2_URI_UNP_OMITPATHINFOgroup__axutil__uri.html#gf9be5c22507d50e8852d6b346068bf85AXIS2_URI_NNTP_DEFAULT_PORTgroup__axutil__uri.html#g5cf52008ffc33b4308cdc6ab465d1271axutil_thread_pool_get_threadgroup__axutil__thread__pool.html#ge09dd79634b658499b98114aa41661c1axutil_threadattr_is_detachgroup__axutil__thread.html#ga27f549c32aa22df6c911fc565624d52axutil_stack_sizegroup__axis2__util__stack.html#gf95d451989a4b2ab4dd443fb9d1a051caxutil_qname_get_prefixgroup__axutil__qname.html#g7d34b1bd9765dec3c93fbbb44a5a8170axutil_param_container_creategroup__axutil__param__container.html#g6bddcede7bd592f0f22bd03bdf2ecd32axutil_param_set_valuegroup__axutil__param.html#g34fd69866c83a371ecc43be5e1c8627eaxutil_md5_ctx_tgroup__axutil__md5.html#g1312350f3b8da4d5a04deda33dda0737axutil_linked_list_add_lastgroup__axutil__linked__list.html#g44b716389b3a40e79a4dae6700ae2b24axutil_http_chunked_stream_get_end_of_chunksgroup__axutil__http__chunked__stream.html#g285b878275a7a9544f7162ee2e1d4af8axutil_hash_overlaygroup__axutil__hash.html#g868c52ba2d5ffc3aae86b68f5fc772a7axutil_env.haxutil__env_8h.htmlaxutil_env.haxutil__env_8h.htmlaxutil_dll_desc_set_typegroup__axutil__dll__desc.html#g3b1a1bd5ea456edd7c93dc771ecbf3b1AXIS2_DIGEST_HASH_HEX_LENgroup__axutil__digest__calc.html#g0e4e3dc73e837b599a0b3143bed73518axutil_date_time_get_msecgroup__axutil__date__time.html#gaee91945923ba46dd833ea4fefadb355axutil_date_time_creategroup__axutil__date__time.html#g0ee93dfad91aee27df47dfea472273c8axutil_base64_binary_freegroup__axutil__base64__binary.html#gc8130363c9fd8ed48a903fef17e0cb43axutil_array_list_containsgroup__axutil__array__list.html#g7a0aa68c089a2905ed506213aba40578AXIS2_REALLOCgroup__axutil__allocator.html#g9126622fd049275a6ac0d5d4641ea02daxis2_transport_receiver_get_reply_to_eprgroup__axis2__transport__receiver.html#g716be8f00a030e32139abdde3c2ca56caxis2_transport_out_desc_set_out_phasegroup__axis2__transport__out__desc.html#ga7e6529ba14d6223e216a338d0d21737axis2_transport_in_desc_is_param_lockedgroup__axis2__transport__in__desc.html#g4554acd6e4b3179b241a5ae1bc187895axis2_transport_in_desc_tgroup__axis2__transport__in__desc.html#g9185c8c5307454b74f49523666f7bda6AXIS2_SVC_SKELETON_INIT_WITH_CONFgroup__axis2__svc__skeleton.html#g8badcde91b5f58a020eaaafde4a0e431axis2_svc_grp_ctx_set_idgroup__axis2__svc__grp__ctx.html#ga13372f182ee6a6e712b82268a1e19e7axis2_svc_grp_get_all_module_qnamesgroup__axis2__svc__grp.html#g16877756d60ea286f08b8be863bae9e6axis2_svc_grp.h File Referenceaxis2__svc__grp_8h.htmlaxis2_svc_client_get_http_headersgroup__axis2__svc__client.html#g5ae49a916d0f5ed2cc2c53c60729dd9baxis2_svc_client_get_own_endpoint_refgroup__axis2__svc__client.html#gd844bd63844eaec8549c5fdc9b1a4567axis2_svc_client_get_optionsgroup__axis2__svc__client.html#g2014faaebc9685d685b9b33ac7fdbb48axis2_svc_set_target_ns_prefixgroup__axis2__svc.html#g860eb0e255e66356581304f9cfc772a9axis2_svc_set_last_updategroup__axis2__svc.html#g8f763e28256c43eebf4e371ff61afb1eaxis2_svc_get_parentgroup__axis2__svc.html#g1469032ca1c58b9eb5b120e7fe9a9ad1axis2_stub_get_svc_ctx_idgroup__axis2__stub.html#gc313e3c8e03ada17a04e4049121d41d7Member axis2_simple_http_svr_conn_get_writeraxis2__simple__http__svr__conn_8h.html#20ca807331098d9e762a931b0ada7921axis2_simple_http_svr_conn_get_streamaxis2__simple__http__svr__conn_8h.html#ae980e99f336b1d6e33c8c33f857eabcaxis2_phase_rule.haxis2__phase__rule_8h.htmlaxis2_phase_resolver_create_with_config_and_svcgroup__axis2__phase__resolver.html#ga476f0ca50e5c9b0a45e62e8bf5bd352axis2_phase_holder_build_transport_handler_chaingroup__axis2__phase__holder.html#g0994dce48be4df6e0100cf3ca382e768axis2_phase_insert_beforegroup__axis2__phase.html#g72deb07fffca51fe7f953ac82c6616b2axis2_out_transport_info.haxis2__out__transport__info_8h.htmlaxis2_options_set_enable_restgroup__axis2__options.html#gb1533f1ffce6cb2842f60cd14a1270baaxis2_options_set_timeout_in_milli_secondsgroup__axis2__options.html#gb75870ba3c356a79e749135f32e2971caxis2_options_get_parentgroup__axis2__options.html#g44755ea1568201951ee3c75358323039axis2_options_get_actiongroup__axis2__options.html#g678ae601586531dca4425014f09cd9caaxis2_op_ctx_get_is_completegroup__axis2__op__ctx.html#gb22ed4938df18e52dacc388e89a140d0axis2_op_client_set_soap_actiongroup__axis2__op__client.html#ge0632b67dbea1fc8f7ae1f7708e1b98daxis2_op_client_get_msg_ctxgroup__axis2__op__client.html#g93425b6dc6cf293b02480959b276d1fdaxis2_msg_recv_set_scopegroup__axis2__msg__recv.html#g7514db74a30752f14c1208adcabff8fcaxis2_msg_info_headers_get_relates_togroup__axis2__msg__info__headers.html#g32e68bb5397e49a5109625e06485e032axis2_msg_info_headers_get_reply_togroup__axis2__msg__info__headers.html#g98b339f94e7b186fb4eaed76116e8dc0axis2_msg_ctx_set_required_auth_is_httpgroup__axis2__msg__ctx.html#g5232bb8c1a80fc1ddc686308feaa852caxis2_msg_ctx_get_http_accept_language_record_listgroup__axis2__msg__ctx.html#gffc30ac34ed6fffb2980a1e95532b51daxis2_msg_ctx_get_paused_phase_indexgroup__axis2__msg__ctx.html#ge9096fd622018cf004f072ae25d81d8caxis2_msg_ctx_set_find_opgroup__axis2__msg__ctx.html#g503c723831560c6e3a45393ac9642c2daxis2_msg_ctx_set_do_rest_through_postgroup__axis2__msg__ctx.html#ge24672999a7262595e06e6453c5bce32axis2_msg_ctx_set_conf_ctxgroup__axis2__msg__ctx.html#gcc3d9fecb8c5af62948f1c1cabbef599axis2_msg_ctx_set_pausedgroup__axis2__msg__ctx.html#g946233e40d8bf6d9d1dd82b25afc117faxis2_msg_ctx_set_soap_envelopegroup__axis2__msg__ctx.html#g805be33a022232ca42fb58fad77e6ddfaxis2_msg_ctx_initgroup__axis2__msg__ctx.html#g0287fe8763ddf42e505d6454d9912a2dAXIS2_TRANSPORT_INgroup__axis2__msg__ctx.html#g565c1b1f3f6b81f999fd20765b652c18axis2_msg_set_parentgroup__axis2__msg.html#g7701b38d18f59fb09f37e9e974bfc3d0axis2_module_desc_get_flow_containergroup__axis2__module__desc.html#g268f3d8499ddd8eb7a17d775dc1a2663axis2_module_desc_get_fault_in_flowgroup__axis2__module__desc.html#g3ec33b603cdf59e705be51f6b91325f6axis2_listener_manager_creategroup__axis2__listener__manager.html#g5ec86a93f88b4b786b0e121b545147eeMember axis2_http_transport_utils_transport_in_uninitaxis2__http__transport__utils_8h.html#f7234adf7d479a35a5c493bdf927cf58axis2_http_transport_utils_get_request_entity_too_largeaxis2__http__transport__utils_8h.html#cb9b8fb8db5ac26fd82e5b9f73800573axis2_http_transport_utils_process_http_post_requestaxis2__http__transport__utils_8h.html#e309ed43dea34867236087b7f333c1dfaxis2_http_svr_thread_freegroup__axis2__http__svr__thread.html#gc9ba98f63d99c0cd0e5d3b8c4b7cd15aaxis2_http_status_line_get_status_codegroup__axis2__http__status__line.html#g1520ba9334144bcf3debdff777909e30axis2_http_simple_request_contains_headergroup__axis2__http__simple__request.html#gbf7dd0d486ee2058b0ffb1db75510c7fMember axis2_http_sender_get_timeout_valuesaxis2__http__sender_8h.html#d7fba5bcef2d635354c29dae74580748axis2_http_sender_set_http_versionaxis2__http__sender_8h.html#eebaac858f5ef79d511a6c22222324fcaxis2_http_response_writer_printlngroup__axis2__http__response__writer.html#g16200523d3e8833f40e37d80767722bbaxis2_http_request_line_get_urigroup__axis2__http__request__line.html#g710583159d531db8e4a504920d820f07AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGgroup__axis2__http__out__transport__info.html#gc17624b984364754cbd36a32f62e1ba6axis2_http_client_set_doing_mtomgroup__axis2__http__client.html#gf8d80f790e97ab0d79eb060c326a226eaxis2_http_client_set_urlgroup__axis2__http__client.html#g66ab25088ee5cbc88dbe28e129711f5baxis2_handler_desc.haxis2__handler__desc_8h.htmlaxis2_handler_desc_get_namegroup__axis2__handler__desc.html#g11aa71d93a360714ef716667458b545faxis2_flow_container.haxis2__flow__container_8h.htmlaxis2_flow_add_handlergroup__axis2__flow.html#gd5ddebf59dbc1b9e2237398c99d1e253axis2_engine_receivegroup__axis2__engine.html#g1ed2e678409c629544ba0f11f7c5fe8faxis2_endpoint_ref_get_ref_param_listgroup__axis2__endpoint__ref.html#g53737580ff3a85142e9a5360726e0175axis2_disp_freegroup__axis2__disp.html#g4ba871cc3cb7913ca8850de9cf6ce8e1AXIS2_MESSAGE_RECEIVER_KEYgroup__axis2__desc__constants.html#g76dbd7e6c256011caeed55fb259b4123axis2_desc_add_childgroup__axis2__description.html#g8cdc3537ca1820de45ba467eec1ce8c9AXIS2_IN_FLOWaxis2__defines_8h.html#9094b305bdfb0e4679f847f8809fc888AXIS2_MSG_RECV_DLLgroup__axis2__core__dll__desc.html#gf67276a63175c0f1a5176c20aab83f62axis2_conf_ctx_get_op_ctxgroup__axis2__conf__ctx.html#g42e7023af97b04e9ac5d192c20c6980eaxis2_conf_set_enable_securitygroup__axis2__config.html#g11191aa7774fd9d4b441d773735e7096axis2_conf_set_dispatch_phasegroup__axis2__config.html#g131077965ba3a728525239560327a9e5axis2_conf_get_out_fault_flowgroup__axis2__config.html#gd14aad417357ead8d2080d5798e884feaxis2_conf_get_svcgroup__axis2__config.html#g52a73101f2e0fead3788761b4b32fb6faxis2_callback_get_errorgroup__axis2__callback.html#gb62d7c70252cad340b35f22e03a3f80faxis2_async_result.h File Referenceaxis2__async__result_8h.htmlAXIS2_WSA_PREFIX_ACTIONgroup__axis2__addr__consts.html#g1feded3e9bbc7913c3a2abc895bf9844AXIS2_WSA_NONE_URL_SUBMISSIONgroup__axis2__addr__consts.html#g4436004b04180b21593a423576b60ef9AXIS2_WSA_RELATES_TOgroup__axis2__addr__consts.html#gd5e65fcd5241c76c23a50f846441266aaxiom_xml_writer_write_entity_refgroup__axiom__xml__writer.html#g873890c13fa8b86f1b3c879fa13cc59daxiom_xml_writer_write_start_element_with_namespacegroup__axiom__xml__writer.html#gcbc6f4b9ed8f7825c3acd34ef323de63axiom_xml_reader_get_pi_targetgroup__axiom__xml__reader.html#g02a3310afc9f6e696a1945b09c81df6eaxiom_xml_reader_create_for_iogroup__axiom__xml__reader.html#g77bd95155c1f98044ecc2b2c0f525e9baxiom_soap_header_block_set_rolegroup__axiom__soap__header__block.html#g070c1dfff7559b2a6671cb560827767caxiom_soap_header_create_with_parentgroup__axiom__soap__header.html#gdc95d432dd64bf5c37e3bd47cd908f4faxiom_soap_fault_text_get_base_nodegroup__axiom__soap__fault__text.html#gc23731689dc612a0019df49423b94fd9axiom_soap_fault_sub_code.h File Referenceaxiom__soap__fault__sub__code_8h.htmlaxiom_soap_fault_reason_create_with_parentgroup__axiom__soap__fault__reason.html#g59ece99159afbd30946a59b5b7a2c094axiom_soap_fault_detail_freegroup__axiom__soap__fault__detail.html#g04a0d4c7bb96ffa60a7b5e4a6440af79axiom_soap_fault_set_exceptiongroup__axiom__soap__fault.html#g0f64a1849d8b05a3281e6df8e1c0602baxiom_soap_envelope_set_soap_versiongroup__axiom__soap__envelope.html#g2d58cc830b1e909c68424349746e93a8axiom_soap_builder_create_attachmentsgroup__axiom__soap__builder.html#g182969b7d0d2d6a21bd05a953519fb7daxiom_soap_builder_taxiom__soap__builder_8h.html#993509c51a497bca668cc5a84f864757axiom_soap.haxiom__soap_8h.htmlaxiom_node_get_parentgroup__axiom__node.html#g95cc9c4355bfab75e03ad61014b72075AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLERgroup__mtom__sending__callback.html#gad9fbb348469253ab2f95b1e73322102axiom_mime_part_freeaxiom__mime__part_8h.html#817580de26ce5bc950ff6be20687b1f3axiom_mime_parser_freegroup__axiom__mime__parser.html#g0d0558064a7fca5445a4840be45b2600axiom_document_build_nextgroup__axiom__document.html#g3f02c87e2de3ca020f867a8496346967axiom_doctype.h File Referenceaxiom__doctype_8h.htmlaxiom_data_handler_add_binary_datagroup__axiom__data__handler.html#g59f350354c2e8ed104d5e2f1384552afaxiom_data_handler.h File Referenceaxiom__data__handler_8h.htmlAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXTgroup__axiom__children__with__specific__attribute__iterator.html#g879ae629d4d78b85e6631b3753e5e8c1axiom_children_iterator_nextgroup__axiom__children__iterator.html#gf494b239eadffce560091d7896b1ab8fAXIOM_CHILD_ELEMENT_ITERATOR_REMOVEgroup__axiom__child__element__iterator.html#g2787bc3aad29d5182215ca6977eb4356axiom_attribute_get_localnamegroup__axiom__attribute.html#g7ec0c8a1b00cdd260d3bbbe9c25d48d6rp_wss10.hrp__wss10_8h-source.htmlrp_signed_encrypted_items.hrp__signed__encrypted__items_8h-source.htmlrp_issued_token_builder.hrp__issued__token__builder_8h-source.htmlneethi_util.hneethi__util_8h-source.htmlguththila_namespace.hguththila__namespace_8h-source.htmlAXIS2_HANDLE_ERROR_WITH_FILEaxutil__utils_8h-source.html#l00125AXIS2_URI_TIP_DEFAULT_PORTaxutil__uri_8h-source.html#l00076axutil_uri.haxutil__uri_8h-source.htmlaxutil_stack.haxutil__stack_8h-source.htmlaxutil_log::levelaxutil__log_8h-source.html#l00130axutil_linked_list.haxutil__linked__list_8h-source.htmlaxutil_erroraxutil__error_8h-source.html#l00743axutil_base64_binary_taxutil__base64__binary_8h-source.html#l00043axis2_transport_sender_opsaxis2__transport__sender_8h-source.html#l00062axis2_thread_mutex.haxis2__thread__mutex_8h-source.htmlaxis2_svc_grp_ctx_taxis2__svc__grp__ctx_8h-source.html#l00048axis2_relates_to_taxis2__relates__to_8h-source.html#l00048AXIS2_PHASE_PRE_DISPATCHaxis2__phase__meta_8h-source.html#l00060AXIS2_COPY_PROPERTIESaxis2__options_8h-source.html#l00053axis2_msg_ctx_taxis2__msg__ctx_8h-source.html#l00110AXIS2_MSG_INaxis2__msg_8h-source.html#l00043axis2_http_worker.haxis2__http__worker_8h-source.htmlAXIS2_HTTP_METHODaxis2__http__transport_8h-source.html#l00906AXIS2_HTTP_SO_TIMEOUTaxis2__http__transport_8h-source.html#l00816AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODEDaxis2__http__transport_8h-source.html#l00730AXIS2_HTTP_RESPONSE_HEADERSaxis2__http__transport_8h-source.html#l00643AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INTaxis2__http__transport_8h-source.html#l00554AXIS2_HTTP_HEADER_WWW_AUTHENTICATEaxis2__http__transport_8h-source.html#l00469AXIS2_HTTP_POSTaxis2__http__transport_8h-source.html#l00378AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAMEaxis2__http__transport_8h-source.html#l00293AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VALaxis2__http__transport_8h-source.html#l00202AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VALaxis2__http__transport_8h-source.html#l00116axis2_http_simple_response_taxis2__http__simple__response_8h-source.html#l00047AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGaxis2__http__out__transport__info_8h-source.html#l00169axis2_flow_taxis2__flow_8h-source.html#l00049AXIS2_MESSAGE_RECEIVER_KEYaxis2__description_8h-source.html#l00093axis2_ctx.haxis2__ctx_8h-source.htmlaxis2_any_content_type_taxis2__any__content__type_8h-source.html#l00047AXIS2_WSA_NONE_URLaxis2__addr_8h-source.html#l00117AXIS2_WSA_REPLY_TOaxis2__addr_8h-source.html#l00060axiom_xpath_context::positionaxiom__xpath_8h-source.html#l00144axiom_xpath_result_taxiom__xpath_8h-source.html#l00072axiom_soap_fault_value.haxiom__soap__fault__value_8h-source.htmlAXIOM_DATA_SOURCEaxiom__node_8h-source.html#l00092axiom_mtom_sending_callback.haxiom__mtom__sending__callback_8h-source.htmlaxiom_comment.haxiom__comment_8h-source.htmlMember axutil_log_ops::writestructaxutil__log__ops.html#8992fe7f68747b72629f1b3b73bcffbeaxutil_log Struct Referencestructaxutil__log.htmlaxutil_env::refstructaxutil__env.html#a1cde669fb848cfe2f6334af1ec4069caxutil_allocator::local_poolstructaxutil__allocator.html#1f67d021f43b871aadf0d882ed1c13a5Member axis2_transport_sender_ops::cleanupstructaxis2__transport__sender__ops.html#b7fde0f17733c4e7ae6a001f98e56863Member axis2_transport_receiver_ops::get_reply_to_eprstructaxis2__transport__receiver__ops.html#46c5e7de76ce872bb45c0262a637ce24Member axis2_svc_skeleton_ops::on_faultstructaxis2__svc__skeleton__ops.html#84abaf5bdda303774fe1abe6d4808577Member axis2_module_ops::shutdownstructaxis2__module__ops.html#30119dd5c051394e42cb2f7b5fbd8bbdaxiom_xpath_result_node::typestructaxiom__xpath__result__node.html#641f491b7161bd35e233eb0e2fa31c32axiom_xpath_expression::expr_lenstructaxiom__xpath__expression.html#a1a11ffb3130f1b7c406f10c00364f35axiom_xpath_context::streamingstructaxiom__xpath__context.html#8f0911c1b596c5a4efa622b827bc3e01Member axiom_xml_writer_ops::write_start_document_with_version_encodingstructaxiom__xml__writer__ops.html#50e3ebac8e1e667ec229d879cf854158Member axiom_xml_writer_ops::write_empty_element_with_namespacestructaxiom__xml__writer__ops.html#a5ebeba99a64158870c0a170f2ede136axiom_xml_writer_ops::write_start_document_with_version_encodingstructaxiom__xml__writer__ops.html#50e3ebac8e1e667ec229d879cf854158axiom_xml_writer_ops::write_empty_element_with_namespacestructaxiom__xml__writer__ops.html#a5ebeba99a64158870c0a170f2ede136Member axiom_xml_reader_ops::get_pi_targetstructaxiom__xml__reader__ops.html#65d6db8d669b488efa67f7b11aae87beaxiom_xml_reader_ops::xml_freestructaxiom__xml__reader__ops.html#5fc97ffea35f86a12e538528e9024e04struct axiom_xml_reader_opsstructaxiom__xml__reader__ops.htmlrp_x509_token_builder_buildgroup__rp__x509__token__builder.html#g4ae593891554573887efb417d8ec0f8arp_x509_token_set_inclusiongroup__rp__x509__token.html#g14eb9a6fdd076d16386b83735c8e39b3rp_wss11_set_must_support_ref_external_urigroup__wss11.html#gbd3abd780b9d6b10cbd7eecc92144688rp_wss10_set_must_support_ref_issuer_serialgroup__wss10.html#gbd74037b430fef44183d4d00a662d28brp_username_token_set_issuergroup__rp__username__token.html#gdeca847b0afd038bc88b9a560e04f143Rp_transport_binding_buildergroup__rp__transport__binding__builder.htmlrp_token_set_claimgroup__rp__token.html#g366bd9770b436fa2588588dd717c4fe2rp_symmetric_binding_get_encryption_tokengroup__rp__symmetric__binding.html#g42ecffb74b2c6437a57021376bed8af4rp_symmetric_asymmetric_binding_commons_get_signature_protectiongroup__rp__assymmetric__symmetric__binding__commons.html#g85be4e3f9e15b6ffd283a69ab3c75c27rp_supporting_tokens_get_signed_elementsgroup__rp__supporting__tokens.html#g1f7479470b12d7fa9603954e12e3a098rp_signed_encrypted_parts_set_attachmentsgroup__rp__signed__encrypted__parts.html#gaf4d4bd942192c4147935b2c5612bdd3Rp_signed_encrypted_itemsgroup__rp__signed__encrypted__items.htmlrp_security_context_token_set_is_secure_conversation_tokengroup__rp__security__context__token.html#gaab494b44b3f063433cee9c31b770057rp_security_context_token_creategroup__rp__security__context__token.html#ge2ac215a742a5b3c1072d0441b8812b2rp_secpolicy_get_signed_elementsgroup__rp__secpolicy.html#g2b2c212c67a80d4b121927352708dfb7rp_secpolicy_creategroup__rp__secpolicy.html#ge5f7f674364b8c4d52bddea8209db6abrp_rampart_config_get_clock_skew_buffergroup__rp__rampart__config.html#gfe5eb077aabba12f0d6f4e018745f4c9rp_rampart_config_set_password_callback_classgroup__rp__rampart__config.html#g13f3e604056671bf0f4dad414b71d713rp_property_creategroup__rp__property.html#g2eceaff5e2027330e5fcf0ccd2a21086rp_trust10_get_must_support_issued_tokengroup__trust10.html#g4d50f91af9002c62709514e6b3bcabe4rp_issued_token_get_require_external_referencegroup__trust10.html#gdf12a868730d6c53f43cdd950a8c0074Rp_https_token_buildergroup__rp__https__token__builder.htmlrp_header_creategroup__rp__header.html#gec2ea83f152cc0c12c06dace03e576f9RP_POLICY_NSgroup__rp__defines.html#g453ef4620e80da58473e842b6b3daf4bRP_AUTHN_MODULE_NAMEgroup__rp__defines.html#g9560de2ca7bfc7e54551daea865cb4c2RP_WSS_USERNAME_TOKEN_10group__rp__defines.html#ga9ba6bbe5343c8bd8375df0098e860d8RP_INCLUDE_ALWAYS_SP12group__rp__defines.html#gc57fc7e14d15f909a630927cd9d8edd5RP_LAYOUT_LAX_TIMESTAMP_LASTgroup__rp__defines.html#g46bd5ac3dcb21d16c03dbf6e5f7f91ccRP_P_SHA1_L128group__rp__defines.html#g6752441d2bbec439ca817f0e2b84209dRP_ALGO_SUITE_TRIPLE_DES_SHA256_RSA15group__rp__defines.html#ga893e83a1e595f4fc05117c77fd38ad6RP_PROTECT_TOKENSgroup__rp__defines.html#g86c7bcb5f9042534ade0ff7c36b92160RP_MUST_SUPPORT_CLIENT_CHALLENGEgroup__rp__defines.html#g113e17f94bca46cd5746e3628225d349RP_NAMEgroup__rp__defines.html#gfa11f87332e3092e8917f30c87fde176RP_EXACTLY_ONEgroup__rp__defines.html#gdc8f4687246fd8a13ffe4605108d2939rp_binding_commons_set_algorithmsuitegroup__rp__binding__commons.html#g9f5e9419889dc6da185d17ece54f12a9rp_asymmetric_binding_tgroup__rp__asymmetric__binding.html#g1fb1680523a6ddd2d70f44e934a31ddarp_algorithmsuite_get_asymmetrickeywrapgroup__rp__algoruthmsuite.html#g8c1845e0b34676a2ed83b47fe6ef476frp_algorithmsuite_set_algosuitegroup__rp__algoruthmsuite.html#gcdb529a0a8f9f9f1f835209a9a064bd0Member AXIS2_HANDLE_ERRORgroup__axutil__utils.html#g90cce8a56477673e8a291103addcf6c7AXIS2_CREATE_FUNCTIONgroup__axutil__utils.html#gdf04006f325f60c4a2de4404b68a5b3cMember axutil_uri_get_querygroup__axutil__uri.html#gc967a6e1c1b5193f500f0af22506ecaaMember AXIS2_URI_TIP_DEFAULT_PORTgroup__axutil__uri.html#g2a5977799c7e472bc7f0ea1ee440a2c3axutil_uri_get_fragmentgroup__axutil__uri.html#g854544404e22e40fc10e470c24273286axis2_port_tgroup__axutil__uri.html#ge872059061cd893ffffc348e725bd021AXIS2_URI_LDAP_DEFAULT_PORTgroup__axutil__uri.html#gf49acba5d4eb35310a62cb62385538efAXIS2_ATOLgroup__axutil__types.html#g8ad1d8a008341eebbbcdcb8816e2f211axutil_thread_pool_thread_detachgroup__axutil__thread__pool.html#ga9a805c61ea2a61f0d92f2d298ea9fa1Member axutil_thread_joingroup__axutil__thread.html#g4503fd95978af26c67875430c4cf11d9axutil_thread_mutex_creategroup__axutil__thread.html#gcab265f8a3be8ef7c20442a3c5bccd67AXIS2_THREAD_MUTEX_UNNESTEDgroup__axutil__thread.html#g23f73f33dbd2bc3b73e45765daee0dfdaxutil_string_substring_ending_atgroup__axutil__string__utils.html#g5fa2c2b4d112595920df38373dd25415axutil_memchrgroup__axutil__string__utils.html#gac65467f846187109b70d00a875d39b1axutil_string_equalsgroup__axutil__string.html#g026785c54c66b09cb278f1e20c47b6bfMember axutil_stream_typegroup__axutil__stream.html#g8646e3e161857a70ec20d7e85bfb6cf4axutil_stream_writegroup__axutil__stream.html#g535e43c801c4c0531429c580e96846b6axutil_stack_popgroup__axis2__util__stack.html#g185e06672da6c8bb57b2f693049a556fMember axutil_qname_clonegroup__axutil__qname.html#g2f085b6bb1bb492f5dab48f14d5c544daxutil_property_get_valuegroup__axutil__property.html#g00682540a3f8276cbb25eee7e3cf2873axutil_properties_loadgroup__axutil__properties.html#g03fc8e50603f117ced5b530f6cc6aca8axutil_param_container_get_paramgroup__axutil__param__container.html#g0be3762df4b647179952763acbe0c272Member AXIS2_DOM_PARAMgroup__axutil__param.html#g6cfc099e6a5c7446f60046fc7ee338c2axutil_param_creategroup__axutil__param.html#g9653106fd7e6c73b77388ebb86e67debaxutil_network_handler_open_dgram_socketgroup__axutil__network__handler.html#g21550c4c0f6e9d182e92ca6e1df7ff9daxutil_md5_updategroup__axutil__md5.html#g4376674b24f5e755fef8113029600a58axutil_log_create_defaultgroup__axutil__log.html#g4e372dee3999df3b961708add2895e3dAXIS2_LOG_CRITICAL_MSGgroup__axutil__log.html#g2b61303ec226e10951315787e8358794Member entry_s::previousgroup__axutil__linked__list.html#g13ae42624c368b144f54520dcca0e770Member axutil_linked_list_containsgroup__axutil__linked__list.html#g0382c1da7f8f02d41a6c8993800af85baxutil_linked_list_getgroup__axutil__linked__list.html#g2070ee8b2583d38a8dfe619c02698e7aaxutil_linked_list_creategroup__axutil__linked__list.html#g243e4777c89d6e52552208c96f343323axutil_http_chunked_stream_readgroup__axutil__http__chunked__stream.html#g5757665e6c5f81846dde7f69fa0a5413Member axutil_hash_copygroup__axutil__hash.html#g816156cbb7a006f8cd83cf25397c1bdaaxutil_hash_setgroup__axutil__hash.html#gdd1a3888b91267e2fc5f84293ec56002axutil_generic_obj_creategroup__axutil__generic__obj.html#g30cba3f5ffd571a1d76db08f06c214ffaxutil_file_set_pathgroup__axutil__file.html#gffdd7f4179681c3b206d29a6d1ad144eaxutil_error_freegroup__axutil__error.html#g3ccdfbc08ec8a92def154e96c9716b78Member axutil_env_freegroup__axutil__env.html#g35511f188ef8470bec29c255e84217dbaxutil_env_create_allgroup__axutil__env.html#g2dc8a2c80be26e619410e196725a9599axutil_duration_set_hoursgroup__axutil__duration.html#g894f6742f8573c6800ba213b7f8ef34dMember axutil_dll_desc_set_namegroup__axutil__dll__desc.html#g4253aba362259ccde18fd2ea632eddd7axutil_dll_desc_get_typegroup__axutil__dll__desc.html#g02830cdb3773cddfe396409c58f26c2cAXIS2_AAR_SUFFIXgroup__axutil__dir__handler.html#g4e2f0c373e4d2f288cbceb3db384111aMember axutil_date_time_set_date_timegroup__axutil__date__time.html#g5f6d46804df89a05c8c4c6b5b97e47a3axutil_date_time_is_utcgroup__axutil__date__time.html#ga0f217050774bcc2c6d60f4f60852a4aaxutil_date_time_get_monthgroup__axutil__date__time.html#ga444d7cd64986d34e38f60f2e30aa67daxutil_class_loader_initgroup__axutil__class__loader.html#gc2d031d6b132556f8a3ee5515d84a4e4axutil_base64_binary_get_plain_binarygroup__axutil__base64__binary.html#gaba8514ab627d46d5bd4ca28471620c3Member axutil_array_list_creategroup__axutil__array__list.html#g97d190815f1d8ab2045c203ebd92919baxutil_array_list_containsgroup__axutil__array__list.html#g7a0aa68c089a2905ed506213aba40578Member axutil_allocator_tgroup__axutil__allocator.html#g24403baa66b6208837ff50b46f8ba930AXIS2_TRANSPORT_SENDER_CLEANUPgroup__axis2__transport__sender.html#gaa44d10358d3bfa8bf299fd33d1674baaxis2_transport_receiver_get_reply_to_eprgroup__axis2__transport__receiver.html#g716be8f00a030e32139abdde3c2ca56cMember axis2_transport_out_desc_get_paramgroup__axis2__transport__out__desc.html#gff44a8c8a8cc57ca618f6c84c18e322eaxis2_transport_out_desc_set_fault_phasegroup__axis2__transport__out__desc.html#gc40075ffa1f0d29c109d9b7e87a4dc1cMember axis2_transport_in_desc_set_in_phasegroup__axis2__transport__in__desc.html#gd86f037c003fa111e619a7e9ae5474eaMember axis2_transport_in_desc_tgroup__axis2__transport__in__desc.html#g9185c8c5307454b74f49523666f7bda6axis2_transport_in_desc_set_enumgroup__axis2__transport__in__desc.html#g4c11258fcb647146f412d89ccdbd069daxutil_thread_mutex_trylockgroup__axis2__mutex.html#ga050c6ecf8209ba57ea8ec79330632bbaxis2_svr_callback_tgroup__axis2__svr__callback.html#gbae96544b63cca63da330e4d6ccb489cservice skeletongroup__axis2__svc__skeleton.htmlservice namegroup__axis2__svc__name.htmlaxis2_svc_grp_ctx_get_svc_ctxgroup__axis2__svc__grp__ctx.html#gb928c64e7297cf73eabac7dd6c851ecdMember axis2_svc_grp_get_paramgroup__axis2__svc__grp.html#g4d666a7940bfb4377d1aba5c1815d577axis2_svc_grp_get_basegroup__axis2__svc__grp.html#g6a55741ccaf95a3dff7731efcc92f72baxis2_svc_grp_get_all_svcsgroup__axis2__svc__grp.html#g57f4154c413ac2fd518ac1ad1bd863feMember axis2_svc_ctx_create_op_ctxgroup__axis2__svc__ctx.html#g6db441773d780252be4111f7a8a8c68fMember axis2_svc_client_set_target_endpoint_refgroup__axis2__svc__client.html#gb60879c0484ac46ae301c7c4f13ba6e6Member axis2_svc_client_get_proxy_auth_requiredgroup__axis2__svc__client.html#g7c97e5105557a8f3dca54c19f5d30f29Member axis2_svc_client_disengage_modulegroup__axis2__svc__client.html#g8e070993180e86a0d8e5a895dd02490daxis2_svc_client_creategroup__axis2__svc__client.html#ga53015f155024d22a32e65132cd50e4caxis2_svc_client_send_robustgroup__axis2__svc__client.html#g715a6de724d3a0d1d93bd11620c3ee78Member axis2_svc_set_svc_wsdl_pathgroup__axis2__svc.html#gf864bfde998f8c76bf3264821df8460fMember axis2_svc_get_stylegroup__axis2__svc.html#g4da58747b15717417ee7399fe0a36cc6Member axis2_svc_get_all_module_qnamesgroup__axis2__svc.html#g54e06db70cfd22b21deefde65ceacee2axis2_svc_get_impl_classgroup__axis2__svc.html#gf6f7ea1789d1722c1996fba9d16115a1axis2_svc_set_svc_folder_pathgroup__axis2__svc.html#g6101f397d6874038f5063d9c92c0aae4axis2_svc_engage_modulegroup__axis2__svc.html#gf2edbd32031290c35891d23080566790servicegroup__axis2__svc.htmlaxis2_stub_create_with_endpoint_ref_and_client_homegroup__axis2__stub.html#g1ed17d951b3cca323b94074a747fbac7axis2_rm_assertion_set_sandesha2_dbgroup__axis2__rm__assertion.html#g9a4d02a4f9c4bb7cbd7bc53749331290axis2_rm_assertion_get_is_exp_backoffgroup__axis2__rm__assertion.html#g42b9cc4bdf1baad52908a66d022b523faxis2_rm_assertion_set_is_sequence_strgroup__axis2__rm__assertion.html#g0fdc49e4197d2a45e2b38a8de114d1c9axis2_relates_to_set_valuegroup__axis2__relates__to.html#gaa3dd97df52d084ea15a5d05d6931a82axis2_policy_include_get_policy_elements_with_typegroup__axis2__policy__include.html#g50e638614fd18069ee9cae3fd9ace82cMember axis2_phases_info_set_out_phasesgroup__axis2__phases__info.html#g63052550bd87d86126ced76204f0ff0baxis2_phases_info_copy_flowgroup__axis2__phases__info.html#g56f0a343c04bbd2bdcf5af2fef9cbe46phases informationgroup__axis2__phases__info.htmlaxis2_phase_rule_clonegroup__axis2__phase__rule.html#gdddf387d390d87edc5125127ae2ab3edMember axis2_phase_resolver_engage_module_globallygroup__axis2__phase__resolver.html#g38da02ab67a528c00d8a319e3855c69eaxis2_phase_resolver_build_execution_chains_for_module_opgroup__axis2__phase__resolver.html#gf5b9efb389e34a23b0bb7feb5974c0fcAXIS2_PHASE_MESSAGE_OUTgroup__axis2__phase__meta.html#g5fd68500c1d841c3cb7b52570039a237Group phase holdergroup__axis2__phase__holder.htmlMember axis2_phase_insert_handler_descgroup__axis2__phase.html#g60f6b9e367666f8232f3287478c83b32Group phasesgroup__axis2__phase.htmlaxis2_phase_remove_handlergroup__axis2__phase.html#g54cc63e78b54a9b1b91783b07fb3b6e9AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGgroup__axis2__out__transport__info.html#g61f3555a9a1061c23bcc37cd3158b16dMember axis2_options_set_sender_transportgroup__axis2__options.html#g20bad0d888b7d491992595703dd11ddaMember axis2_options_set_actiongroup__axis2__options.html#g3034f3d572a3f31d708250ffa374931dMember axis2_options_get_parentgroup__axis2__options.html#g44755ea1568201951ee3c75358323039axis2_options_set_proxy_auth_infogroup__axis2__options.html#g1d156a086d838faecb313d2cc96f80dcaxis2_options_get_soap_versiongroup__axis2__options.html#g11ee50a4d0d759ce0199e4009c958b25axis2_options_set_transport_in_protocolgroup__axis2__options.html#g23c960bfdb5ace4fce7997b3d00be21daxis2_options_get_propertygroup__axis2__options.html#g326904f3372180e2da28e235de21881fMember axis2_op_ctx_set_completegroup__axis2__op__ctx.html#g36163f4ddb00ed3a319f42a1bd1700fcGroup operation contextgroup__axis2__op__ctx.htmlaxis2_op_ctx_freegroup__axis2__op__ctx.html#gc2a1dddeaf5f17bae65a8f26baef933bMember axis2_op_client_infer_transportgroup__axis2__op__client.html#gf628443031365d7e51bb1a08ce338d32axis2_op_client_receivegroup__axis2__op__client.html#g9e6d223494c0b13bb9070a87fb2b53a6axis2_op_client_completegroup__axis2__op__client.html#g6b4c57a19d49087b557fe094f7e231c8Member axis2_op_set_qnamegroup__axis2__op.html#gbe0ca6f87c2c653fbac05ca6da7ff706Member axis2_op_get_paramgroup__axis2__op.html#gc1bdf618feaa90bdc941a41f3a60f8caMember axis2_op_engage_modulegroup__axis2__op.html#g2898d2698c34db4d41003046ae3ae7c4axis2_op_set_wsamapping_listgroup__axis2__op.html#g40970b24e863c1073914adcdd8fcfbb1axis2_op_get_axis_specific_mep_constgroup__axis2__op.html#gc92244a5db8c70d5708178b946e66e1faxis2_op_set_parentgroup__axis2__op.html#g0165b6250afa9b6ad3889bd160ae3f3cMember axis2_msg_recv_freegroup__axis2__msg__recv.html#gb83887c699d1bf14afb27ad65cf9b8d4axis2_msg_recv_invoke_business_logicgroup__axis2__msg__recv.html#g4b958421f632a04e659883698ad70728Member axis2_msg_info_headers_set_fault_to_nonegroup__axis2__msg__info__headers.html#g4f66e5d4b845de21780aa409b8997672Member axis2_msg_info_headers_creategroup__axis2__msg__info__headers.html#g380a396ffcbb6e663cda2851630f018faxis2_msg_info_headers_set_fault_to_nonegroup__axis2__msg__info__headers.html#g4f66e5d4b845de21780aa409b8997672Member axis2_msg_ctx_set_wsa_actiongroup__axis2__msg__ctx.html#g1d1b6917c9c9b885e1f658b0787afea3Member axis2_msg_ctx_set_soap_actiongroup__axis2__msg__ctx.html#g7c76ec8bcc8ec1fa8728d60625de44c8Member axis2_msg_ctx_set_no_contentgroup__axis2__msg__ctx.html#gcdd6a7139357035806b86b62965fcdccMember axis2_msg_ctx_set_fault_togroup__axis2__msg__ctx.html#gf1bce1caf16c721b26fae05bbb7987daMember axis2_msg_ctx_initgroup__axis2__msg__ctx.html#g0287fe8763ddf42e505d6454d9912a2dMember axis2_msg_ctx_get_supported_rest_http_methodsgroup__axis2__msg__ctx.html#ged338ca86cf608cac71350fb54a6e4f2Member axis2_msg_ctx_get_pausedgroup__axis2__msg__ctx.html#g3fb1000ba8d6fb99b8f443ec4b9804f8Member axis2_msg_ctx_get_http_accept_record_listgroup__axis2__msg__ctx.html#gf9fa321552ac0debc4cd7e094e7e12edMember axis2_msg_ctx_get_auth_typegroup__axis2__msg__ctx.html#g6cef678fb88ba92bfc2201b0e077cf69Member AXIS2_TRANSPORT_SUCCEEDgroup__axis2__msg__ctx.html#g45fb20080ffa2a4f7d18a844193ada04axis2_msg_ctx_set_required_auth_is_httpgroup__axis2__msg__ctx.html#g5232bb8c1a80fc1ddc686308feaa852caxis2_msg_ctx_get_http_accept_language_record_listgroup__axis2__msg__ctx.html#gffc30ac34ed6fffb2980a1e95532b51daxis2_msg_ctx_get_paused_phase_indexgroup__axis2__msg__ctx.html#ge9096fd622018cf004f072ae25d81d8caxis2_msg_ctx_set_find_opgroup__axis2__msg__ctx.html#g503c723831560c6e3a45393ac9642c2daxis2_msg_ctx_set_do_rest_through_postgroup__axis2__msg__ctx.html#ge24672999a7262595e06e6453c5bce32axis2_msg_ctx_set_conf_ctxgroup__axis2__msg__ctx.html#gcc3d9fecb8c5af62948f1c1cabbef599axis2_msg_ctx_set_pausedgroup__axis2__msg__ctx.html#g946233e40d8bf6d9d1dd82b25afc117faxis2_msg_ctx_set_soap_envelopegroup__axis2__msg__ctx.html#g805be33a022232ca42fb58fad77e6ddfaxis2_msg_ctx_initgroup__axis2__msg__ctx.html#g0287fe8763ddf42e505d6454d9912a2dAXIS2_TRANSPORT_INgroup__axis2__msg__ctx.html#g565c1b1f3f6b81f999fd20765b652c18Member axis2_msg_get_directiongroup__axis2__msg.html#gcbb409dc87613a84ac8bde394869f6adaxis2_msg_set_element_qnamegroup__axis2__msg.html#g7fd20aa2eb6b5f479e7ca67e05b13bfdAXIS2_MSG_OUTgroup__axis2__msg.html#gf8324fc49bef947986c6333e608def13Member axis2_module_desc_get_in_flowgroup__axis2__module__desc.html#ga133856dcfeb27be4c08d8c353c66255axis2_module_desc_get_flow_containergroup__axis2__module__desc.html#g268f3d8499ddd8eb7a17d775dc1a2663axis2_module_desc_get_fault_in_flowgroup__axis2__module__desc.html#g3ec33b603cdf59e705be51f6b91325f6axis2_module_ops_tgroup__axis2__module.html#gd48171d2877468bdaca74a22473c9c09axis2_listener_manager_stopgroup__axis2__listener__manager.html#g6c4f3cd813f06a94d27a9780328ac8bdhttp transport sendergroup__axis2__http__transport__sender.htmlMember AXIS2_HTTP_RESPONSE_WORDgroup__axis2__core__transport__http.html#gba2c0178cd8d60f090fb8678b5c9b03cMember AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAMEgroup__axis2__core__transport__http.html#g6cad1759212a0609ced900ffc4a19d2aMember AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAMEgroup__axis2__core__transport__http.html#g41f92c4aa1895c74af9b9e4b4dbe56b6Member AXIS2_HTTP_RESPONSE_GONE_CODE_NAMEgroup__axis2__core__transport__http.html#gd303b59f01fb0bb95e83fcbcb2db7990Member AXIS2_HTTP_PROXY_PASSWORDgroup__axis2__core__transport__http.html#gcf426e94f93bdbaa4dcc854011b93955Member AXIS2_HTTP_HEADER_SERVERgroup__axis2__core__transport__http.html#g6e8577f55d5317c01346f869befc1609Member AXIS2_HTTP_HEADER_CONTENT_LOCATIONgroup__axis2__core__transport__http.html#g0b402a64da187367a69cc8c38573594fMember AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATEDgroup__axis2__core__transport__http.html#g2290b88358295c2898cb7100eb0f6008Member AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUEgroup__axis2__core__transport__http.html#g915aad32281c0eacaf0c2f7191ffeafaMember AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESSgroup__axis2__core__transport__http.html#g967c6155a51ee23899073a36160ac93bAXIS2_HTTP_NOT_ACCEPTABLEgroup__axis2__core__transport__http.html#g22ea2c664e9ea33823c3268ed16bd8f9AXIS2_SPACE_SEMICOLONgroup__axis2__core__transport__http.html#g5e2678dadf9176c36a624acc13dbb46fAXIS2_SEMI_COLON_STRgroup__axis2__core__transport__http.html#g66e01af43c47e5b58acf768a384328c8AXIS2_PROXY_AUTH_TYPE_BASICgroup__axis2__core__transport__http.html#g4b3514f8ad6a7b02339b3285f1b6dd6aAXIS2_HTTP_AUTHENTICATION_USERNAMEgroup__axis2__core__transport__http.html#ge1b4dc677984bfe9a506cce27609fce4AXIS2_HTTP_RESPONSE_HTTP_FORBIDDENgroup__axis2__core__transport__http.html#gbe9063c944bf0ee54d0826e8d45c3851AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAINgroup__axis2__core__transport__http.html#gbf89d89663c4bf055978bf309e7c8726AXIS2_HTTP_HEADER_CACHE_CONTROLgroup__axis2__core__transport__http.html#g1a535c99eb673336b9b38fd993cd56e3AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCEgroup__axis2__core__transport__http.html#g9227215ac541bf3f91e7e62d999189c5AXIS2_HTTP_HEADER_SOAP_ACTIONgroup__axis2__core__transport__http.html#gb4e1e11e47d5a3cdc80c00124011f55bAXIS2_HTTP_POSTgroup__axis2__core__transport__http.html#ga87daff52ebfdd522beeb0844766da32AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAMEgroup__axis2__core__transport__http.html#g29fd87a1f90a8cab364caa657cffbd28AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VALgroup__axis2__core__transport__http.html#g08b3f107882bd3a332c004c5d4d9b7a3AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VALgroup__axis2__core__transport__http.html#g1687d47d798827fa045c2a4611ab6c99axutil_url_get_querygroup__axis2__core__transport__http.html#gf7befb7b76d23590bba5057e6a18da35axutil_url_creategroup__axis2__core__transport__http.html#gac4b861aae3cb849ec4ff7ebaa288bb3axis2_http_svr_thread_get_local_portgroup__axis2__http__svr__thread.html#g68ea3285f43e01fc9f2b3e15ca7691e6axis2_http_status_line_starts_with_httpgroup__axis2__http__status__line.html#gc8a15adb266f3dbd37ede4817928ca1bMember axis2_http_simple_response_get_first_headergroup__axis2__http__simple__response.html#g20578210d80cff19667f2f1ebd1bb179axis2_http_simple_response_create_defaultgroup__axis2__http__simple__response.html#g71cf4068dafd95eb76c3658d06ab4865axis2_http_simple_response_get_status_linegroup__axis2__http__simple__response.html#g810b45733a4becb6b00e2ce66109c14eMember axis2_http_simple_request_get_bodygroup__axis2__http__simple__request.html#g96fc519ef12d1ceeb0a8e7c139217331axis2_http_simple_request_get_headersgroup__axis2__http__simple__request.html#g9fe9677642fa793af996875b3cee31d9Member axis2_http_response_writer_freegroup__axis2__http__response__writer.html#g4aa971c45559a87946fd94f348b7d4d7axis2_http_response_writer_get_encodinggroup__axis2__http__response__writer.html#g4d45835e7866ec6076b41f000c5b3beeaxis2_http_request_line_get_methodgroup__axis2__http__request__line.html#gc5ba67dbf9bbfb3a87a051f54242e17baxis2_http_out_transport_info_creategroup__axis2__http__out__transport__info.html#gdabad3886ddb36d456a502e6e257ad88axis2_http_header_create_by_strgroup__axis2__http__header.html#gea6446730aadb5a0ec0dfb43c9eb9bedMember axis2_http_client_get_server_certgroup__axis2__http__client.html#g359e463dc9e7f0a7b33f2b3f91b1484eaxis2_http_client_get_key_filegroup__axis2__http__client.html#g59c9e33acb7844f4b9613286e3dd5c98Member axis2_http_accept_record_to_stringgroup__axis2__http__accept__record.html#g8a6bd83de0b54aa34e6b297a02a13782Member axis2_handler_desc_set_namegroup__axis2__handler__desc.html#gae78bea7a133eae9b6c479400a2249d3axis2_handler_desc_creategroup__axis2__handler__desc.html#g87d6dacc6e0aba457cad85bbc1ed037faxis2_handler_desc_tgroup__axis2__handler__desc.html#gafcabd9d344f36395e60f1b4677835d9axis2_handler_get_paramgroup__axis2__handler.html#g6359a617f32df26f912923d4c73f695aMember axis2_flow_container_freegroup__axis2__flow__container.html#ge766ce97e139207a8fe5b7a92b6003b2Member axis2_flow_get_handlergroup__axis2__flow.html#g0f925593bca54ac897ea32016b4374fbMember axis2_endpoint_ref_set_addressgroup__axis2__endpoint__ref.html#g9b3f69452fdb8c38b9c505e56f80914cMember axis2_endpoint_ref_tgroup__axis2__endpoint__ref.html#gf6e89c83a6b553e7e3f11e787b3fecd4axis2_endpoint_ref_set_addressgroup__axis2__endpoint__ref.html#g9b3f69452fdb8c38b9c505e56f80914cGroup dispatchergroup__axis2__disp.htmlMember AXIS2_SERVICE_CLASSgroup__axis2__desc__constants.html#g51520c8629c59965bb63041e7852d2b7AXIS2_PHASES_KEYgroup__axis2__desc__constants.html#g8e2aaf910542b2301b9b76fec0f892b5Member axis2_desc_set_policy_includegroup__axis2__description.html#gf57219b0bfcd05648d8d6ab574807951axis2_desc_set_policy_includegroup__axis2__description.html#gf57219b0bfcd05648d8d6ab574807951Member axis2_ctx_get_property_mapgroup__axis2__ctx.html#gc516a4bacec4a38f5e201273b77781dbaxis2_core_utils_free_rest_mapgroup__axis2__core__utils.html#g7d1b7a5a6fb573d55d754d0c5045b4ddCore DLL descriptiongroup__axis2__core__dll__desc.htmlMember axis2_conf_ctx_get_svc_grp_ctxgroup__axis2__conf__ctx.html#g74d5c818fd827335b3ef71e8f6c15efaaxis2_conf_ctx_freegroup__axis2__conf__ctx.html#g0d6bee37eb671fb1f538b6d96484f46faxis2_conf_ctx_tgroup__axis2__conf__ctx.html#gab2f89df328e63d4f9fa3a4d035d18f0Member axis2_conf_get_svcgroup__axis2__config.html#g52a73101f2e0fead3788761b4b32fb6fMember axis2_conf_get_all_svcsgroup__axis2__config.html#gb3d4be2ef73eee238915c80a8f9b155cMember axis2_conf_add_paramgroup__axis2__config.html#g03227082f8dcb6d49c70ae123224618daxis2_conf_creategroup__axis2__config.html#g87f521276d7d6dfde72b289121c80a79axis2_conf_get_out_phasesgroup__axis2__config.html#gdf15d7aa810a6d812818d3ac00085537axis2_conf_get_all_out_transportsgroup__axis2__config.html#g2e5723e559a264f763e22e898990a63caxis2_conf_tgroup__axis2__config.html#gd32db334e748bbdcaebd55156e493d3baxis2_engine_creategroup__axis2__engine.html#ged13c1a9fe02067b8678f4d1c8a412a5Member axis2_callback_set_on_errorgroup__axis2__callback.html#ga394bc5fddfd86a25c29930b08d39628Group callbackgroup__axis2__callback.htmlaxis2_callback_tgroup__axis2__callback.html#g0d855254802281de06d16c71627226b5Member axis2_any_content_type_creategroup__axis2__any__content__type.html#g7f5efe9330957a64581ba12a0d09857caddressing module interfacegroup__axis2__addr__mod.htmlMember AXIS2_WSA_RELATES_TOgroup__axis2__addr__consts.html#gd5e65fcd5241c76c23a50f846441266aMember AXIS2_WSA_FAULT_TOgroup__axis2__addr__consts.html#g9bf69cecc6d28fe398d610195617f1bdAXIS2_WSA_TYPE_ATTRIBUTE_VALUEgroup__axis2__addr__consts.html#g170975fbb730fc9f4ef77012b6dd9db7AXIS2_WSA_ACTIONgroup__axis2__addr__consts.html#g903617fc19d61deaaf5ab3dc024378d3Member axiom_xpath_free_expressiongroup__axiom__xpath__api.html#g5c75692634a5b8c50aa215838164873cMember AXIOM_XPATH_DEBUGgroup__axiom__xpath__api.html#g27553a5a92aa57f6fb905367f9e950a5axiom_xpath_context_creategroup__axiom__xpath__api.html#g9835edaade1499c3f3f22a1028e841ffMember axiom_xml_writer_write_rawgroup__axiom__xml__writer.html#g5229740973a7dc818a405bd209866071Member axiom_xml_writer_write_attribute_with_namespacegroup__axiom__xml__writer.html#gd75f18f14f1eb494c59e58532cd16060axiom_xml_writer_get_xmlgroup__axiom__xml__writer.html#g7355b7bf221c8dafece5d00b5ed8a9ddaxiom_xml_writer_write_attribute_with_namespace_prefixgroup__axiom__xml__writer.html#g970cc4979b16407cc69a77384b096f3fMember axiom_xml_reader_nextgroup__axiom__xml__reader.html#g3374162deb7e15d0a66fb47d5de68d4dMember axiom_xml_reader_get_attribute_name_by_numbergroup__axiom__xml__reader.html#g41431f427bb3e0d68091225f346af9efaxiom_xml_reader_get_namespace_uri_by_numbergroup__axiom__xml__reader.html#g5e0eb27b0a37e723592881e5a35e0bb2Member axiom_text_set_value_strgroup__axiom__text.html#g345a35e52d57a4626006d527ba1e7b63axiom_text_set_content_idgroup__axiom__text.html#g6b6f7fea7e2abc3798f92a4a39f42070Member axiom_stax_builder_next_with_tokengroup__axiom__stax__builder.html#g1e1c4fa9591e1e0886420ff43a164f9bstax buildergroup__axiom__stax__builder.htmlaxiom_soap_header_block_set_attributegroup__axiom__soap__header__block.html#g0d571598bedb953b01ac834328f816b9Member axiom_soap_header_extract_header_blocksgroup__axiom__soap__header.html#gba1977d593ac1686da79c207b5caa797Member axiom_soap_fault_value_get_textgroup__axiom__soap__fault__value.html#g6cdb2c327cffc7d0d3c2ca6660e715eeMember axiom_soap_fault_text_freegroup__axiom__soap__fault__text.html#g67e470106dd5af9d1e93b349438d966aaxiom_soap_fault_sub_code_get_valuegroup__axiom__soap__fault__sub__code.html#g9c4864e1ac6156b4ef1cce4b4e81cfdeMember axiom_soap_fault_reason_get_soap_fault_textgroup__axiom__soap__fault__reason.html#g954ae459d11fa8b57d48a23bd1846b38Member axiom_soap_fault_node_get_base_nodegroup__axiom__soap__fault__node.html#ge0042486c9cf7de00a33470328b7b54faxiom_soap_fault_detail_freegroup__axiom__soap__fault__detail.html#g04a0d4c7bb96ffa60a7b5e4a6440af79Member axiom_soap_fault_get_rolegroup__axiom__soap__fault.html#gd83a049e57b3aec2aba62dd8d3349a94axiom_soap_fault_get_reasongroup__axiom__soap__fault.html#g849b1969173ab4ff6394867262770179Member axiom_soap_envelope_create_with_soap_version_prefixgroup__axiom__soap__envelope.html#g13d7cc5563a577ffe36537fcab3c6220axiom_soap_envelope_creategroup__axiom__soap__envelope.html#g5041f00b86da0b31997634056ab91879Member axiom_soap_builder_freegroup__axiom__soap__builder.html#gf57256b5e28bf4df73bb2ff089263a9daxiom_soap_builder_get_soap_envelopegroup__axiom__soap__builder.html#geb67f37a1ab8b01af8f9073c137cd92baxiom_soap_body_get_soap_versiongroup__axiom__soap__body.html#ge87f17d53d2995ac6c3b05be6d7dddaaaxiom_processing_instruction_set_targetgroup__axiom__processing__instruction.html#g7962efd34e6f8aaa1585dc45cd8ed6d6Member axiom_output_get_xml_versiongroup__axiom__output.html#gb05614cac67f482f69d55a71e96bbb8faxiom_output_get_char_set_encodinggroup__axiom__output.html#ge2ef7d144c347cb0696b543755ccba2bMember axiom_node_sub_tree_to_stringgroup__axiom__node.html#g7fa2bbf70033a1eb6943a9b2c1c4de59Member axiom_node_create_from_buffergroup__axiom__node.html#gaf55148ae4b5101b0688900819eb6823axiom_node_get_documentgroup__axiom__node.html#g2bdaabafdd623955d2837ad00e536603axiom_node_creategroup__axiom__node.html#g1558b403be5c6339997a7730596337bbaxiom_navigator_tgroup__axiom__navigator.html#g1c4fb3fe10ecd2fbcaa9e05ddb873adaaxiom_namespace_set_uri_strgroup__axiom__namespace.html#gbe19e6e6925823e891731f29a3177c58AXIOM_MTOM_SENDING_CALLBACK_FREEgroup__mtom__sending__callback.html#g211dda45a1cf339794a6ed55fe4f94d9Member axiom_mime_parser_set_attachment_dirgroup__axiom__mime__parser.html#gd8edc291c3b20e88329ee6e077ca3a0caxiom_mime_parser_get_mime_parts_mapgroup__axiom__mime__parser.html#g617b19ac339bcd891757054a089c3f84Member axiom_element_get_textgroup__axiom__element.html#gd8bad88ee39396639a639f2d6943e631Member axiom_element_gather_parent_namespacesgroup__axiom__element.html#gc8dab634252188bf3c3d28705aed8659axiom_element_set_is_emptygroup__axiom__element.html#g645cc8a03a1dbdb3d846c0cdb801cc0daxiom_element_remove_attributegroup__axiom__element.html#g357eef9527ea48d774a7531b43c5e188axiom_element_get_attributegroup__axiom__element.html#g3576a6b54cbe7d1b5f0967fc91e17424Member axiom_document_build_nextgroup__axiom__document.html#g3f02c87e2de3ca020f867a8496346967Member axiom_doctype_freegroup__axiom__doctype.html#g4704fda24ab25f215df0bca1a71ff26fMember axiom_data_source_tgroup__axiom__data__source.html#gb52389bbd2e986cbd069892a92583ef4axiom_data_handler_set_user_paramgroup__axiom__data__handler.html#g5460ac6ce9def711cfa29f631591620eaxiom_data_handler_get_cachedgroup__axiom__data__handler.html#g12b16a32671739f4faa56c72ec99bc8cMember axiom_children_with_specific_attribute_iterator_nextgroup__axiom__children__with__specific__attribute__iterator.html#g82d5c3904628c6fac0333ad55b904066Member axiom_children_qname_iterator_freegroup__axiom__children__qname__iterator.html#gfad46c799aceae357a7e35da9bda1f1aaxiom_children_iterator_freegroup__axiom__children__iterator.html#gaf7cc3ef96f809a6a28d1d9884669f39child element iteratorgroup__axiom__child__element__iterator.htmlMember axiom_attribute_creategroup__axiom__attribute.html#gda66e5da53578d93c34f0c717394605daxiom_attribute_freegroup__axiom__attribute.html#gd28f7c80adad15d93a1be5a8918c92c9neethi_registry_lookupneethi__registry_8h.html#9b43f1f8fa45babe33484057d027b3beneethi_policy_set_root_nodeneethi__policy_8h.html#da2217fa1da18caedb771c3a2bea7b37neethi_operator_increment_refneethi__operator_8h.html#226414d593d19daf8859e6275a726c05neethi_exactlyone_add_policy_componentsneethi__exactlyone_8h.html#04a8e20a6dc561cfc282f187fcd4e6e7AXIS2_RM_TERMINATE_DELAYneethi__constants_8h.html#e6933303ae55b03d79939877f84e4caeAXIS2_RM_BASE_RETRANSMISSION_INTERVALneethi__constants_8h.html#1ee2d783c1d64d91b01306554f6f4b20NEETHI_POLICYneethi__constants_8h.html#174be3e8391711f418bc41c3dad8fcfdneethi_assertion_set_valueneethi__assertion_8h.html#2cfeb7f7942877be867a4aa025556a18neethi_all.h File Referenceneethi__all_8h.htmlAXIS2_HANDLE_ERROR_WITH_FILEgroup__axutil__utils.html#gd604b1a4dd6fa46d73119de36a43b23faxutil_url_get_servergroup__axis2__core__transport__http.html#ga30b443b3e72903920e56410f91d83ccaxutil_uri_get_pathgroup__axutil__uri.html#g6f187b6adfd0e2b46b63214cb29ed45aAXIS2_URI_UNP_OMITQUERY_ONLYgroup__axutil__uri.html#gba651e91d89d096e638945c1dc729b82AXIS2_URI_IMAP_DEFAULT_PORTgroup__axutil__uri.html#g05f6dc24b60711f8c7ed562ceef3cd26axutil_thread_pool_join_threadgroup__axutil__thread__pool.html#g0ddd6d44254100fbbeb71db92112e7bdaxutil_thread_creategroup__axutil__thread.html#g1f4f964a275cb3274a110985c0521599axutil_stack_getgroup__axis2__util__stack.html#gd20eebb41e7cca8b6eba7de3c12b6229axutil_qname_get_localpartgroup__axutil__qname.html#gd204cce2ce51abb0decb1199d66f0b69axutil_param_container_free_void_arggroup__axutil__param__container.html#ge74cdd6e7cb30d2617d806899b7209c7axutil_param_is_lockedgroup__axutil__param.html#g9196d434bed17f0b351addbb46e784d8axutil_md5_ctx_creategroup__axutil__md5.html#gb1b0077f4d73b00f536914cf44b81437axutil_linked_list_containsgroup__axutil__linked__list.html#g0382c1da7f8f02d41a6c8993800af85baxutil_http_chunked_stream.haxutil__http__chunked__stream_8h.htmlaxutil_hash_mergegroup__axutil__hash.html#g146257867c0be68eedae4ef822d4d341axutil_hash.h File Referenceaxutil__hash_8h.htmlAXIS_ENV_FREE_LOGgroup__axutil__env.html#g447fa899e815a5ead66d7d11b3ec9b64axutil_dll_desc_get_typegroup__axutil__dll__desc.html#g02830cdb3773cddfe396409c58f26c2caxutil_digest_hash_tgroup__axutil__digest__calc.html#g7b12cc8df6ad3991f6f9de2e283e1c70axutil_date_time_comparegroup__axutil__date__time.html#g325f00cb4ca6034f6f5eb518d86e2762axutil_date_time_create_with_offsetgroup__axutil__date__time.html#gea6816360a669494d00e4d9b985ae415axutil_base64_binary_set_plain_binarygroup__axutil__base64__binary.html#gff50faa77b39aa4f87d72427a2c090b2axutil_array_list_index_ofgroup__axutil__array__list.html#gb539c683dea5713f8388e131e686ad28AXIS2_FREEgroup__axutil__allocator.html#gbdd0a8a66ad0e49b2f99e07244ccaa2faxis2_transport_receiver_get_conf_ctxgroup__axis2__transport__receiver.html#gf81f5bfd42d9cc2367268cf0ab197e6caxis2_transport_out_desc_get_fault_phasegroup__axis2__transport__out__desc.html#g494cdcb339e8e0790b9856d84445c81faxis2_transport_in_desc_param_containergroup__axis2__transport__in__desc.html#g0ed74fae154568678bd61a80568c5130axis2_transport_in_desc_freegroup__axis2__transport__in__desc.html#g21d5acc0496701bb3a3d3c6e12f8a45aAXIS2_SVC_SKELETON_FREEgroup__axis2__svc__skeleton.html#g2d7f27e2cbfaff2288c6ecfccb55ff26axis2_svc_grp_ctx_get_svc_ctxgroup__axis2__svc__grp__ctx.html#gb928c64e7297cf73eabac7dd6c851ecdaxis2_svc_grp_add_module_refgroup__axis2__svc__grp.html#gacc300eeed7bf4ccc14d68c114ac7c9aaxis2_svc_grp_tgroup__axis2__svc__grp.html#g5ef2d05d92b41f84d9dc381ad21d54c4axis2_svc_client_get_http_status_codegroup__axis2__svc__client.html#geb637da8be4b1005dc722694311d058baxis2_svc_client_get_target_endpoint_refgroup__axis2__svc__client.html#gf7576c7c16ad4859bbf04f771d03cc3eaxis2_svc_client_set_override_optionsgroup__axis2__svc__client.html#g59e0659abbb66ae2100a66e93d692462gaxis2_svc_et_ns_mapgroup__axis2__svc.html#ga7e8bf2f3909dd8ae968f3677da9d980axis2_svc_get_last_updategroup__axis2__svc.html#g788443be98d1d5ca71f1989f74cd96c9axis2_svc_set_qnamegroup__axis2__svc.html#g30653ba40ccaac99fad8efed0ca18805axis2_stub_engage_modulegroup__axis2__stub.html#gb1137e8b1493ebfbecb29e81b6554974Member axis2_simple_http_svr_conn_is_keep_aliveaxis2__simple__http__svr__conn_8h.html#6fac44d24157d8947ec27056b3e9d66eaxis2_simple_http_svr_conn_get_writeraxis2__simple__http__svr__conn_8h.html#20ca807331098d9e762a931b0ada7921axis2_relates_to.h File Referenceaxis2__relates__to_8h.htmlaxis2_phase_resolver.haxis2__phase__resolver_8h.htmlaxis2_phase_holder_creategroup__axis2__phase__holder.html#ge6fae04b3bb98068ed177dfc25039489axis2_phase_insert_aftergroup__axis2__phase.html#g3fb24331f3f5b78eb1b2aab75de94fe5axis2_phase.h File Referenceaxis2__phase_8h.htmlaxis2_options_set_test_http_authgroup__axis2__options.html#g08d3a84142e28bf18609aa127f5e43daaxis2_options_set_transport_infogroup__axis2__options.html#ga80d984e3d86b89084d9aefd0da22196axis2_options_set_parentgroup__axis2__options.html#g787038bb34b488493d73fbfe1af919ffaxis2_options_get_fault_togroup__axis2__options.html#g283b491d25be268924fdfb3410003cceaxis2_op_ctx_set_completegroup__axis2__op__ctx.html#g36163f4ddb00ed3a319f42a1bd1700fcaxis2_op_client_set_wsa_actiongroup__axis2__op__client.html#g562d94703fd1723020cf7cacafc73198axis2_op_client_set_callbackgroup__axis2__op__client.html#g59c3ab7690e5fb5b7f5ab27680f03633axis2_msg_recv_get_scopegroup__axis2__msg__recv.html#g8373c3b1dd3b4d774d6ecedd0993f4d5axis2_msg_info_headers_set_relates_togroup__axis2__msg__info__headers.html#g26b2b3881cbf3f3f02f1c512c96485ffaxis2_msg_info_headers_set_reply_togroup__axis2__msg__info__headers.html#g3de0c94851f356772629aa5851290f2faxis2_msg_ctx_set_auth_typegroup__axis2__msg__ctx.html#gca7170d81a37be6c49260e9b754d1912axis2_msg_ctx_extract_http_accept_language_record_listgroup__axis2__msg__ctx.html#gff16a50cb3f3aeff0e17d9facb8b11a9axis2_msg_ctx_get_charset_encodinggroup__axis2__msg__ctx.html#g872a75f28661a8c83694e47825d3c7d0axis2_msg_ctx_find_svcgroup__axis2__msg__ctx.html#g0466cae16b55c308d5adb92c11bd6665axis2_msg_ctx_get_do_rest_through_postgroup__axis2__msg__ctx.html#g92affc014f41b9458d497f9f413c96b0axis2_msg_ctx_set_svc_ctxgroup__axis2__msg__ctx.html#gdf577adcf8ca0e59934d9d2e6c85ac6daxis2_msg_ctx_is_keep_alivegroup__axis2__msg__ctx.html#gd087e49c05924aa5e1132d6ebce8f5c9axis2_msg_ctx_set_response_soap_envelopegroup__axis2__msg__ctx.html#gff90d0a3f90a95b7dcbce89c6a4d9a35axis2_msg_ctx_get_fault_togroup__axis2__msg__ctx.html#g67ec8b0b713a7e2f0f0ba6d04ea8c483AXIS2_CHARACTER_SET_ENCODINGgroup__axis2__msg__ctx.html#g7c5ab0e072df1c661f2e547ac7185d1faxis2_msg_get_parentgroup__axis2__msg.html#g8191091ac7e17ed45c6d0ed3c9bc3d59axis2_module_desc_creategroup__axis2__module__desc.html#gb7bdee97a344fe15071d867b83b02d78axis2_module_desc_set_fault_in_flowgroup__axis2__module__desc.html#gc298b10b80e0259f8a0c44411d544ba0axis2_listener_manager.haxis2__listener__manager_8h.htmlMember axis2_http_transport_utils_transport_out_initaxis2__http__transport__utils_8h.html#6e515e0c355171b2a60b9227a2dc1136axis2_http_transport_utils_get_service_unavailableaxis2__http__transport__utils_8h.html#ff36076ac746291bea47f2f73642c7fbaxis2_http_transport_utils_process_http_put_requestaxis2__http__transport__utils_8h.html#86eff382a23f3dac365a6d37c7d8ff54axis2_http_svr_thread_creategroup__axis2__http__svr__thread.html#ga08b88e3cf6d3816a290fb222d755fc5axis2_http_status_line_get_http_versiongroup__axis2__http__status__line.html#g390e05c6879613417b978d8a3242d8c5axis2_http_simple_request_get_headersgroup__axis2__http__simple__request.html#g9fe9677642fa793af996875b3cee31d9Member axis2_http_sender_process_responseaxis2__http__sender_8h.html#d59456a80bebf0481cd502c618943c67axis2_http_sender_freeaxis2__http__sender_8h.html#162893dae3afbc0fe252e4212c5b3041axis2_http_response_writer_freegroup__axis2__http__response__writer.html#g4aa971c45559a87946fd94f348b7d4d7axis2_http_request_line_to_stringgroup__axis2__http__request__line.html#g0ad4fd96368580cc4bbf594f6efde5b7AXIS2_HTTP_OUT_TRANSPORT_INFO_FREEgroup__axis2__http__out__transport__info.html#g3174b25bfefbe35ad05b2ecf2a24efb0axis2_http_client_get_doing_mtomgroup__axis2__http__client.html#g44f3b5ef09c1adae873815f3b8209836axis2_http_client_get_urlgroup__axis2__http__client.html#g703df971a6d10953a217b2aaa173a626axis2_http_accept_record.h File Referenceaxis2__http__accept__record_8h.htmlaxis2_handler_desc_set_namegroup__axis2__handler__desc.html#gae78bea7a133eae9b6c479400a2249d3axis2_handler.h File Referenceaxis2__handler_8h.htmlaxis2_flow_get_handlergroup__axis2__flow.html#g0f925593bca54ac897ea32016b4374fbaxis2_engine_send_faultgroup__axis2__engine.html#g6d77e1d59b04cb68e36581e946946a2daxis2_endpoint_ref_get_metadata_listgroup__axis2__endpoint__ref.html#g5ff6d5d4e9bd5d346ed1652c3f0a9566axis2_disp_creategroup__axis2__disp.html#g65066d9785fb1f3dbeeef3e4b478fccdAXIS2_STYLE_KEYgroup__axis2__desc__constants.html#gefc06b1782ab35854a0b8f2ce51044dbaxis2_desc_get_all_childrengroup__axis2__description.html#g078b2cf3aba1fca7468666905d8c0a4fAXIS2_OUT_FLOWaxis2__defines_8h.html#29322231941ef510a61878291a3d90beAXIS2_MODULE_DLLgroup__axis2__core__dll__desc.html#gfcbaad08f77b2af42f013e34fb8c2ec8axis2_conf_ctx_register_svc_ctxgroup__axis2__conf__ctx.html#g2e9f3ef21b1f3e781232f2835058154aaxis2_conf_get_security_contextgroup__axis2__config.html#g05611c63df4255acffa7b684ba995afeaxis2_conf_get_repogroup__axis2__config.html#ge352936161aa818a3b9b6b812851be01axis2_conf_get_all_faulty_svcsgroup__axis2__config.html#g9024b3f7f97461ba822eebc7d6c1a812axis2_conf_remove_svcgroup__axis2__config.html#gd35639715fb90bc32ea9f04cbfaffedeaxis2_callback_set_errorgroup__axis2__callback.html#ge07a62751c3bdbbab934632926e2eb5caxis2_async_result_tgroup__axis2__async__result.html#g7f79cfe086dfb98806cc3c0c3b408c3cPARAM_SERVICE_GROUP_CONTEXT_IDgroup__axis2__addr__consts.html#g1580e5c766744e70e754e9515b0b781fAXIS2_WSA_NAMESPACEgroup__axis2__addr__consts.html#g9f2d22dc75524b21af3834175e0931e5AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPEgroup__axis2__addr__consts.html#ga475c2e10b1d601b02a2f8be25ed5ab9axiom_xml_writer_write_start_documentgroup__axiom__xml__writer.html#g56cd0aed921b578b91c92c1dd78c989eaxiom_xml_writer_write_start_element_with_namespace_prefixgroup__axiom__xml__writer.html#gbbc4c3ec83abb98b8def106b6733382eaxiom_xml_reader_get_pi_datagroup__axiom__xml__reader.html#g19f6e1a4ea34d5aa7ba16066501c3a08axiom_xml_reader_create_for_memorygroup__axiom__xml__reader.html#g2c03628448af33ea26951fc798e6ef84axiom_soap_header_block_set_must_understand_with_boolgroup__axiom__soap__header__block.html#gc1c174c041c707b4ee0c1e752c68a850axiom_soap_header_freegroup__axiom__soap__header.html#gb4bd1325c0f03050c79ec4302fb9fb12axiom_soap_fault_text_set_textgroup__axiom__soap__fault__text.html#gbdde017acd991c0a8178cefcdd3f60efaxiom_soap_fault_sub_code.haxiom__soap__fault__sub__code_8h.htmlaxiom_soap_fault_reason_freegroup__axiom__soap__fault__reason.html#g0c66d7b20921746f695c48315fce3b8daxiom_soap_fault_detail_add_detail_entrygroup__axiom__soap__fault__detail.html#g30e68309c908c12c28fc2721db04296baxiom_soap_fault_get_base_nodegroup__axiom__soap__fault.html#g10bfdaaa36e70a7cab19f4d871cac698axiom_soap_envelope_increment_refgroup__axiom__soap__envelope.html#ge4c0fcc8adc7d8d816c81f009bb81e0daxiom_soap_builder_replace_xopgroup__axiom__soap__builder.html#g47fa092580910242a0a889cffd94404baxiom_soap_builder_creategroup__axiom__soap__builder.html#g774e5f3b0fd997c686481d8ec16c2264axiom_soap_body.h File Referenceaxiom__soap__body_8h.htmlaxiom_node_get_first_childgroup__axiom__node.html#gfc7806095f1e72667a49eab5945b66e3AXIOM_MTOM_SENDING_CALLBACK_FREEgroup__mtom__sending__callback.html#g211dda45a1cf339794a6ed55fe4f94d9axiom_mime_part.haxiom__mime__part_8h.htmlaxiom_mime_parser_get_soap_body_lengroup__axiom__mime__parser.html#g40a67e95af791703fa91d7b796ea89a2axiom_document_get_root_elementgroup__axiom__document.html#ge81610bc3a9b0124ad91f502c3b36f7daxiom_doctype.haxiom__doctype_8h.htmlaxiom_data_handler_get_mime_idgroup__axiom__data__handler.html#g041b8d7d657f1d833ca29ce4b2ccf0adaxiom_data_handler.haxiom__data__handler_8h.htmlaxiom_children_with_specific_attribute_iterator_taxiom__children__with__specific__attribute__iterator_8h.html#4df778eeb5f8d6c52e38467ada1aed56axiom_children_iterator_resetgroup__axiom__children__iterator.html#g0a84a4adc451ea9428f38bef04a8f0afAXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXTgroup__axiom__child__element__iterator.html#g9bf4c687c0bacf5d593a3bc54c415790axiom_attribute_get_valuegroup__axiom__attribute.html#g95d26b917b6beea23aada61bf1402376rp_wss10_builder.hrp__wss10__builder_8h-source.htmlrp_signed_encrypted_parts.hrp__signed__encrypted__parts_8h-source.htmlrp_layout.hrp__layout_8h-source.htmlrp_algorithmsuite.hrp__algorithmsuite_8h-source.htmlguththila_reader.hguththila__reader_8h-source.htmlAXIS2_HANDLE_ERRORaxutil__utils_8h-source.html#l00138AXIS2_URI_SIP_DEFAULT_PORTaxutil__uri_8h-source.html#l00078AXIS2_URI_FTP_DEFAULT_PORTaxutil__uri_8h-source.html#l00044axutil_stream.haxutil__stream_8h-source.htmlaxutil_log::sizeaxutil__log_8h-source.html#l00133entry_saxutil__linked__list_8h-source.html#l00046axutil_error::allocatoraxutil__error_8h-source.html#l00750axutil_class_loader.haxutil__class__loader_8h-source.htmlaxis2_transport_senderaxis2__transport__sender_8h-source.html#l00127axutil_thread_mutex_taxis2__thread__mutex_8h-source.html#l00042axis2_svc_name.haxis2__svc__name_8h-source.htmlaxis2_rm_assertion.haxis2__rm__assertion_8h-source.htmlAXIS2_PHASE_DISPATCHaxis2__phase__meta_8h-source.html#l00063axis2_options_taxis2__options_8h-source.html#l00061AXIS2_MSG_CTX_FIND_SVCaxis2__msg__ctx_8h-source.html#l00129AXIS2_MSG_OUTaxis2__msg_8h-source.html#l00046axis2_http_worker_taxis2__http__worker_8h-source.html#l00047AXIS2_SSL_SERVER_CERTaxis2__http__transport_8h-source.html#l00911AXIS2_HTTP_CONNECTION_TIMEOUTaxis2__http__transport_8h-source.html#l00821AXIS2_HTTP_HEADER_ACCEPT_XOP_XMLaxis2__http__transport_8h-source.html#l00735AXIS2_HTTP_HEADER_TRANSFER_ENCODINGaxis2__http__transport_8h-source.html#l00650AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUEaxis2__http__transport_8h-source.html#l00559AXIS2_HTTP_HEADER_PROXY_AUTHENTICATEaxis2__http__transport_8h-source.html#l00474AXIS2_HTTP_GETaxis2__http__transport_8h-source.html#l00383AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAMEaxis2__http__transport_8h-source.html#l00298AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VALaxis2__http__transport_8h-source.html#l00207AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VALaxis2__http__transport_8h-source.html#l00121axis2_http_status_line.haxis2__http__status__line_8h-source.htmlAXIS2_HTTP_OUT_TRANSPORT_INFO_FREEaxis2__http__out__transport__info_8h-source.html#l00172axis2_flow_container.haxis2__flow__container_8h-source.htmlAXIS2_STYLE_KEYaxis2__description_8h-source.html#l00098axis2_ctx_taxis2__ctx_8h-source.html#l00054axis2_async_result.haxis2__async__result_8h-source.htmlAXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTEaxis2__addr_8h-source.html#l00122AXIS2_WSA_FAULT_TOaxis2__addr_8h-source.html#l00063axiom_xpath_context::sizeaxiom__xpath_8h-source.html#l00148axiom_xpath_result_node_taxiom__xpath_8h-source.html#l00078axiom_soap_header.haxiom__soap__header_8h-source.htmlaxiom_output.haxiom__output_8h-source.htmlaxiom_mtom_sending_callback_ops_taxiom__mtom__sending__callback_8h-source.html#l00043axiom_data_handler.haxiom__data__handler_8h-source.htmlentry_s Struct Referencestructentry__s.htmlstruct axutil_logstructaxutil__log.htmlstruct axutil_envstructaxutil__env.htmlaxutil_allocator::global_poolstructaxutil__allocator.html#02950180254570b99f2d93ee3a9e45f7Member axis2_transport_sender_ops::freestructaxis2__transport__sender__ops.html#70fe1ffdfc05599bb5852c70882bd63aMember axis2_transport_receiver_ops::get_conf_ctxstructaxis2__transport__receiver__ops.html#c7cdf3c0d65565e17f021ad3a6f2f191Member axis2_svc_skeleton_ops::freestructaxis2__svc__skeleton__ops.html#9b16e26ef87c9c4d460ee903adf70da3Member axis2_module_ops::fill_handler_create_func_mapstructaxis2__module__ops.html#f2b6df61735d015d43b1f4956ae48817axiom_xpath_result_node::valuestructaxiom__xpath__result__node.html#544c05626367c25b702215e72adb3944axiom_xpath_expression::expr_ptrstructaxiom__xpath__expression.html#7824b23ee7d5162029dfe80e08ecbf4aaxiom_xpath_context::stackstructaxiom__xpath__context.html#77e4cd6d0f33008bf06047a7e9c04559Member axiom_xml_writer_ops::write_charactersstructaxiom__xml__writer__ops.html#bd4740a7d7c8ec64f9989942adf95683Member axiom_xml_writer_ops::write_empty_element_with_namespace_prefixstructaxiom__xml__writer__ops.html#1b5832263ff6777425b0a02370e69e2caxiom_xml_writer_ops::write_charactersstructaxiom__xml__writer__ops.html#bd4740a7d7c8ec64f9989942adf95683axiom_xml_writer_ops::write_empty_element_with_namespace_prefixstructaxiom__xml__writer__ops.html#1b5832263ff6777425b0a02370e69e2cMember axiom_xml_reader_ops::get_pi_datastructaxiom__xml__reader__ops.html#22fa968eae5d05ca0c5e774ecf43c6e0axiom_xml_reader_ops::get_char_set_encodingstructaxiom__xml__reader__ops.html#7f8c57bb6d5dcf59ff55fd3cbc677da2axiom_xml_reader_ops::nextstructaxiom__xml__reader__ops.html#27dc955258fc16d29d509b44cc34f5b2axiom_mtom_caching_callback_ops Struct Referencestructaxiom__mtom__caching__callback__ops.htmlrp_x509_token_get_derivedkeygroup__rp__x509__token.html#g07e2b9872fc43fde0f62e5df33a5eb31rp_wss11_get_must_support_ref_embedded_tokengroup__wss11.html#gf0aa78c329fccc5852dc86437c175b0erp_wss10_get_must_support_ref_external_urigroup__wss10.html#g26c231cfb87af46792017f204d90a0a7rp_username_token_get_derivedkey_typegroup__rp__username__token.html#g9adf3a7a3619f7c3b22e69b7ef8b4138rp_transport_binding_builder_buildgroup__rp__transport__binding__builder.html#ga1e96523d4ddfabe4b745cc91a9764e2rp_token_increment_refgroup__rp__token.html#g2fe4ca83bdd2fd673e956aec5fc1e110rp_symmetric_binding_set_signature_tokengroup__rp__symmetric__binding.html#gdc38c7495fc1634636580ae9e0e76767rp_symmetric_asymmetric_binding_commons_set_signature_protectiongroup__rp__assymmetric__symmetric__binding__commons.html#gb1b2b665733a6cbf2f681ffa6d5f472arp_supporting_tokens_set_signed_elementsgroup__rp__supporting__tokens.html#g2ada057bb19619af842d56c6bb95d872rp_signed_encrypted_parts_get_headersgroup__rp__signed__encrypted__parts.html#gd9b6bbac990e192bbe5ae319787ddb26rp_signed_encrypted_items_tgroup__rp__signed__encrypted__items.html#g7b06c2a17d5d4de20bc3bc02e1b9aab4rp_security_context_token_increment_refgroup__rp__security__context__token.html#g17b0811ba9f887ef2c628e7ebfab235brp_security_context_token_freegroup__rp__security__context__token.html#g8ff4f5693e6b376883ce690510b933ccrp_secpolicy_set_encrypted_elementsgroup__rp__secpolicy.html#g307076d7b3eeb4b268a76bdf6e579ddarp_secpolicy_freegroup__rp__secpolicy.html#gdba0daba050c46a20911fa3869a932b4rp_rampart_config_set_clock_skew_buffergroup__rp__rampart__config.html#g84f250466f39fe7fd1b0c81f20f77997rp_rampart_config_get_authenticate_modulegroup__rp__rampart__config.html#gb369a3b673b1f4c566bf9b34709f8259rp_property_freegroup__rp__property.html#g1819fb02b5fadad659ff1fddc010d9e8rp_trust10_set_must_support_issued_tokengroup__trust10.html#g7bcc8f70555aa885edfb6e92bd4267a3rp_issued_token_set_require_exernal_referencegroup__trust10.html#g8f634b4e2dbd45061c0a82b0a0c34148rp_https_token_builder_buildgroup__rp__https__token__builder.html#gcb9f7cec90277065e862c4c14a32ce02rp_header_freegroup__rp__header.html#g59edb278af52ff10a978685811cb3388RP_RAMPART_NSgroup__rp__defines.html#gb394b241df2b51328bef824ab88c1946RP_PASSWORD_TYPEgroup__rp__defines.html#g4e08917eda04ed7c9b2cf7dd0e335485RP_WSS_USERNAME_TOKEN_11group__rp__defines.html#gf8b35ecc21ef3bd5db830be70f92a749RP_REQUEST_SEC_TOKEN_TEMPLATEgroup__rp__defines.html#g8e44f6d4cf1fbb45901e47c2a9c4ce39RP_USERNAME_TOKENgroup__rp__defines.html#g7fdb7db8285c8601bf14aba0f9090c1eRP_P_SHA1_L192group__rp__defines.html#gee3408c961f83c3864be84d70e31f589RP_HMAC_SHA1group__rp__defines.html#g8ddae457a7852b455da1ae3a310fd201RP_ONLY_SIGN_ENTIRE_HEADERS_AND_BODYgroup__rp__defines.html#g3a40be888eb3a8fb0212c9fd628192ddRP_MUST_SUPPORT_SERVER_CHALLENGEgroup__rp__defines.html#g48549e2bdf6c249dffe4cdbf2512c0d4RP_NAMESPACEgroup__rp__defines.html#gc7da94ee493eee9ad8ff6cd001e8d211RP_ALLgroup__rp__defines.html#g88d90781ea1a51aa657b606a7481eae3rp_binding_commons_get_include_timestampgroup__rp__binding__commons.html#g071a26afe675ed302e594679361692b3rp_asymmetric_binding_creategroup__rp__asymmetric__binding.html#g4080526a286f336f36a681ada409dbd1rp_algorithmsuite_get_signature_key_derivationgroup__rp__algoruthmsuite.html#g30c408f52be3fe2f5d6d8dca55ce4714rp_algorithmsuite_get_symmetric_signaturegroup__rp__algoruthmsuite.html#gb876ee251a2146048b38e41d36d45599Member AXIS2_HANDLE_ERROR_WITH_FILEgroup__axutil__utils.html#gd604b1a4dd6fa46d73119de36a43b23fAXIS2_DELETE_FUNCTIONgroup__axutil__utils.html#ge86646a079a6a5dbee0e087b31470d81Member axutil_uri_get_servergroup__axutil__uri.html#gce1f53b8049d45a7964ea893edcef747Member AXIS2_URI_UNP_OMITFRAGMENT_ONLYgroup__axutil__uri.html#gfd1c52b377d713e8c562d138971e3da9Member AXIS2_URI_ACAP_DEFAULT_PORTgroup__axutil__uri.html#g597c0ffd3d295c93b341d41934926b8aaxutil_uri_tgroup__axutil__uri.html#g64b8c26cacf7573df632058226941a9eAXIS2_URI_HTTPS_DEFAULT_PORTgroup__axutil__uri.html#g3c34f69d375f38e461f09374ad90ee9caxutil_atoigroup__axutil__types.html#gbf0c2fe4c961e7329012ceb162361447axutil_thread_pool_freegroup__axutil__thread__pool.html#gc0cc0e6ac3ceae901d69907955be7c8fMember axutil_thread_mutex_creategroup__axutil__thread.html#gcab265f8a3be8ef7c20442a3c5bccd67axutil_thread_mutex_lockgroup__axutil__thread.html#g7f987573535cf90ba67b2b2ae047ee46axutil_thread_tgroup__axutil__thread.html#g7b2442c6150883ffac05fd2c4844b7ccaxutil_string_tolowergroup__axutil__string__utils.html#gf407c3ed17d58602e5ff165a9d8880d6axutil_strcmpgroup__axutil__string__utils.html#gbfcd898738c57cfc744070d942cf9b61axutil_string_clonegroup__axutil__string.html#ga117973350a2025cfcc0463f6f21fdfaMember axutil_stream_create_basicgroup__axutil__stream.html#g0eaf7a2ca366ab5e01ce5d71072f8702axutil_stream_skipgroup__axutil__stream.html#g0fbee1c75bbcf404dc9a58366ab1d1b7axutil_stack_pushgroup__axis2__util__stack.html#g85b54183c8e47bb39d1d551cbee63dfdMember axutil_qname_creategroup__axutil__qname.html#gf2494bb225ee6ca4fd80641e5c8f30b5axutil_property_set_own_valuegroup__axutil__property.html#g6b875290eadc9fd632814c70706fbc1eaxutil_properties_storegroup__axutil__properties.html#g7be00557b60d6c63269b6f894c8f3683axutil_param_container_get_paramsgroup__axutil__param__container.html#geb219d10e4cff60dde4b8af15548d13aMember AXIS2_TEXT_PARAMgroup__axutil__param.html#gd0cccbde323f2c7ddbe78ab5d1d96156axutil_param_get_namegroup__axutil__param.html#geba7fcf049dcead1054b92d93e83835daxutil_network_handler_send_dgramgroup__axutil__network__handler.html#ga13001dd8a71fbbbaed115b8b5c28d87axutil_md5_finalgroup__axutil__md5.html#g7954e033ab5182e623ade60ae1f7051fMember AXIS2_LOG_PROJECT_PREFIXgroup__axutil__log.html#gf01a406e8f8b40a092a8e32c337ef029AXIS2_LOG_TRACE_MSGgroup__axutil__log.html#g5708db08e730a072aedb715b7f329e5aloggroup__axutil__log.htmlMember axutil_linked_list_creategroup__axutil__linked__list.html#g243e4777c89d6e52552208c96f343323axutil_linked_list_setgroup__axutil__linked__list.html#g797df541c887e4e30c6523d37149bf88axutil_linked_list_freegroup__axutil__linked__list.html#gc4d4cf327ad7dbdef42f15736e99069eaxutil_http_chunked_stream_writegroup__axutil__http__chunked__stream.html#g4c48a899b5d7f16cdac71e98a04c86d2Member axutil_hash_countgroup__axutil__hash.html#ga6cd5c55cdad46b0b9d3133ff77ed314axutil_hash_getgroup__axutil__hash.html#gc9571a63cb988174c01e18634f9a93bbaxutil_generic_obj_freegroup__axutil__generic__obj.html#g9078b7bbf3d48a0e8ca07450ee4e32fcaxutil_file_get_pathgroup__axutil__file.html#gc575a9ae736185acdc0b453c17eca6b0axutil_error_creategroup__axutil__error.html#gb06c94ea0b09855f7b2d1f51a0187b70Member axutil_env_free_maskedgroup__axutil__env.html#g538c867378b066cd37390a8a0589f6cbaxutil_env_create_with_errorgroup__axutil__env.html#gbab7fef475986db1dfcf5c3cec7e5b6baxutil_duration_get_minsgroup__axutil__duration.html#g0a67643a62d4ad5d66574c5f6bfb1dceAxutil_durationgroup__axutil__duration.htmlaxutil_dll_desc_set_load_optionsgroup__axutil__dll__desc.html#ge4cf29a0d636dd7bd51aea72e54041d4AXIS2_MAR_SUFFIXgroup__axutil__dir__handler.html#gb9cf60c4e364bcf629fd897f031fd8b7UUID generatorgroup__axutil__uuid__gen.htmlMember axutil_date_time_comparegroup__axutil__date__time.html#g325f00cb4ca6034f6f5eb518d86e2762axutil_date_time_get_dategroup__axutil__date__time.html#g7f852dcbdfad79040077482406e5f0adaxutil_class_loader_delete_dllgroup__axutil__class__loader.html#gaf81678d312760355aff410b14736d3aaxutil_base64_binary_set_encoded_binarygroup__axutil__base64__binary.html#g86b05bf454e80645877f1a55d55b5150Member axutil_array_list_ensure_capacitygroup__axutil__array__list.html#g07cd8d75ecc51f53224af4b6793dcde7axutil_array_list_index_ofgroup__axutil__array__list.html#gb539c683dea5713f8388e131e686ad28axutil_allocator_initgroup__axutil__allocator.html#g102e762ca4def99ded7ef3f0244f2f88axis2_transport_sender_tgroup__axis2__transport__sender.html#gaec2671b224403aa77de843348bb7711axis2_transport_receiver_get_conf_ctxgroup__axis2__transport__receiver.html#gf81f5bfd42d9cc2367268cf0ab197e6cMember axis2_transport_out_desc_get_sendergroup__axis2__transport__out__desc.html#g4e924632fe992d0be5e5ba163636a301axis2_transport_out_desc_add_paramgroup__axis2__transport__out__desc.html#g8621dd5272956b27dea575d3faea7661Member axis2_transport_in_desc_set_recvgroup__axis2__transport__in__desc.html#g1bc9262c72e46d7d485f126f7c054d48Member axis2_transport_in_desc_add_paramgroup__axis2__transport__in__desc.html#g23edaa772c9490e9f9a42c62ff501087axis2_transport_in_desc_get_in_flowgroup__axis2__transport__in__desc.html#g8f29949d324d08e6c759ccf650ccab29axutil_thread_mutex_unlockgroup__axis2__mutex.html#gd275462277abb24342d1b69967ba79b4axis2_svr_callback_freegroup__axis2__svr__callback.html#g1357c2b8b7a968161bb890f04ce11903AXIS2_SVC_SKELETON_INITgroup__axis2__svc__skeleton.html#g65d05f1f29f563149acfba91f3a23a91axis2_svc_name_tgroup__axis2__svc__name.html#gf3d9c6a25fce098b03819d1ac546270caxis2_svc_grp_ctx_fill_svc_ctx_mapgroup__axis2__svc__grp__ctx.html#gd39cf31f9ed602c15a98b847072fcb3cMember axis2_svc_grp_get_parentgroup__axis2__svc__grp.html#gcefdd7d375eaa681d8d14f6c3256c39aGroup service groupgroup__axis2__svc__grp.htmlaxis2_svc_grp_remove_svcgroup__axis2__svc__grp.html#gbd962a135fad725b13f351adbc4f495aMember axis2_svc_ctx_freegroup__axis2__svc__ctx.html#g0ef5d19c153f6e053ebc0c0146d0bbd6service contextgroup__axis2__svc__ctx.htmlMember axis2_svc_client_get_svcgroup__axis2__svc__client.html#gadff613f313131cacb5abc9771133294Member axis2_svc_client_engage_modulegroup__axis2__svc__client.html#ge2df35732ba09cb585e44917306ecfcdaxis2_svc_client_create_with_conf_ctx_and_svcgroup__axis2__svc__client.html#g65fd398dd0af4f6b928039b27bb6bef0axis2_svc_client_fire_and_forget_with_op_qnamegroup__axis2__svc__client.html#g43fb8eb372420c98fa3eac2f1616af9dMember axis2_svc_set_target_ns_prefixgroup__axis2__svc.html#g860eb0e255e66356581304f9cfc772a9Member axis2_svc_get_svc_descgroup__axis2__svc.html#g52c960cead461a124b76b2fb4e3835b2Member axis2_svc_get_all_opsgroup__axis2__svc.html#g1574ba3e87a679748c2395a521787d56axis2_svc_set_impl_classgroup__axis2__svc.html#g3d991c17e24349b787a3da7168c0eb3eaxis2_svc_get_file_namegroup__axis2__svc.html#g2e55e1cb76fb887f300111c732915384axis2_svc_disengage_modulegroup__axis2__svc.html#gbccd941c1f48817cb8aad67eb017f70aaxis2_svc_tgroup__axis2__svc.html#gc4a9229f924f3af161d02183a9dd6ca3axis2_stub_create_with_endpoint_uri_and_client_homegroup__axis2__stub.html#gb7634341e5e96506963b79ac3b5ebe6eaxis2_rm_assertion_get_from_policygroup__axis2__rm__assertion.html#ge32de657355d21b51327a68e5cf44db1axis2_rm_assertion_set_is_exp_backoffgroup__axis2__rm__assertion.html#gb887a59b3d184b7fba788ea26c3c9a7aaxis2_rm_assertion_get_is_sequence_transport_securitygroup__axis2__rm__assertion.html#g09ce868118dd0057c085cbb761803652axis2_relates_to_get_relationship_typegroup__axis2__relates__to.html#g3208f2fae771fc2fe5e6a604f0b9c3bfaxis2_policy_include_register_policygroup__axis2__policy__include.html#g0b43923c8bdb7e33cdd95ba3787312a2policy includegroup__axis2__policy__include.htmlGroup phases informationgroup__axis2__phases__info.htmlaxis2_phases_info_tgroup__axis2__phases__info.html#g046cd908ab0e26ffabd953b41415a712axis2_phase_rule_creategroup__axis2__phase__rule.html#gdb84f9ccb0bf175221c9265f148cd32cMember axis2_phase_resolver_engage_module_to_opgroup__axis2__phase__resolver.html#g0bb13c67fd8595207d8f5b4e5dc801fdaxis2_phase_resolver_disengage_module_from_svcgroup__axis2__phase__resolver.html#g65dbd4a356861cb3517d4788f45b874cAXIS2_TRANSPORT_PHASEgroup__axis2__phase__meta.html#g4d5e6cdd0a0c2098efe56f524fe4d3dcMember axis2_phase_holder_tgroup__axis2__phase__holder.html#g10df00c78200bd75b25c443e6c6d568eMember axis2_phase_invokegroup__axis2__phase.html#gde224602c7b9f220ea14f2e2e8be9e66Member AXIS2_PHASE_AFTERgroup__axis2__phase.html#g6c7946dfabebe6b1651c4e444f6981fdaxis2_phase_invokegroup__axis2__phase.html#gde224602c7b9f220ea14f2e2e8be9e66AXIS2_OUT_TRANSPORT_INFO_FREEgroup__axis2__out__transport__info.html#g91d375733dd28c9de9060f632cdb69f8Member axis2_options_set_soap_actiongroup__axis2__options.html#g39f6317b5633f5ee71311f124dac42fcMember axis2_options_set_enable_mtomgroup__axis2__options.html#g1b441d3770ced54ff17f117022ea082fMember axis2_options_get_propertiesgroup__axis2__options.html#g244f26e4bca15b715a13240f0c95605bGroup optionsgroup__axis2__options.htmlaxis2_options_set_soap_versiongroup__axis2__options.html#ge0a82c10e919078b3e06509e0ffe1042axis2_options_set_message_idgroup__axis2__options.html#g7d0fbc43a55e0e40f1f124d317cd2675axis2_options_get_relates_togroup__axis2__options.html#ga20805b9f4550070953e4f1e189ed78aMember axis2_op_ctx_set_in_usegroup__axis2__op__ctx.html#g6b8ae393777089b614b4a771720ce8ddMember axis2_op_ctx_tgroup__axis2__op__ctx.html#ga1a3bbd22f2313e8da5bd031ea8190c9axis2_op_ctx_initgroup__axis2__op__ctx.html#g53622e5d4c37263fc6261e2b08f9116eMember axis2_op_client_prepare_invocationgroup__axis2__op__client.html#gec56200ff2784f4adfff5679562f1ba5Group operation clientgroup__axis2__op__client.htmlaxis2_op_client_get_operation_contextgroup__axis2__op__client.html#g00eca9bd04926e192466a4d330f5a9a7Member axis2_op_set_rest_http_locationgroup__axis2__op.html#gb74832ea66fe6c054f540848045fd417Member axis2_op_get_parentgroup__axis2__op.html#gd4dcb1a2db3a2a05cfc23a853553b314Member axis2_op_find_existing_op_ctxgroup__axis2__op.html#g41ce1517f61709b1fd0819a86671f5bfaxis2_op_get_wsamapping_listgroup__axis2__op.html#gcf4875f7477726d9ae5a901bf9f9c46faxis2_op_get_fault_in_flowgroup__axis2__op.html#g1293a6929137fe7d795790141ec0d3d1axis2_op_get_parentgroup__axis2__op.html#gd4dcb1a2db3a2a05cfc23a853553b314Member axis2_msg_recv_get_impl_objgroup__axis2__msg__recv.html#g428a780b155ad3d087c6222c1cbed978axis2_msg_recv_make_new_svc_objgroup__axis2__msg__recv.html#g0c811674ed07fe53ca54639291e0d001Member axis2_msg_info_headers_set_fromgroup__axis2__msg__info__headers.html#g917b50452decc40c55c8e8afbcf943a6Member axis2_msg_info_headers_freegroup__axis2__msg__info__headers.html#g7a6d878c6d3c94555e4e9a0200583ee7axis2_msg_info_headers_get_fault_to_nonegroup__axis2__msg__info__headers.html#g6e4af66cb1dcc12ce970ef098f364f77Member axis2_msg_ctx_set_wsa_message_idgroup__axis2__msg__ctx.html#g03166053a7a0bb7db94ace6e56436f81Member axis2_msg_ctx_set_soap_envelopegroup__axis2__msg__ctx.html#g805be33a022232ca42fb58fad77e6ddfMember axis2_msg_ctx_set_opgroup__axis2__msg__ctx.html#ge1629a4a314446a0f87b1a4c7f87c4e0Member axis2_msg_ctx_set_find_opgroup__axis2__msg__ctx.html#g503c723831560c6e3a45393ac9642c2dMember axis2_msg_ctx_is_keep_alivegroup__axis2__msg__ctx.html#gd087e49c05924aa5e1132d6ebce8f5c9Member axis2_msg_ctx_get_svcgroup__axis2__msg__ctx.html#gc8c3e9a503359dd12bf940580e659de3Member axis2_msg_ctx_get_paused_handler_indexgroup__axis2__msg__ctx.html#gfa296d96971800a761b97537f07aad1eMember axis2_msg_ctx_get_http_output_headersgroup__axis2__msg__ctx.html#gbba5b7ca4deab1b41fda5701ec5b1be7Member axis2_msg_ctx_get_basegroup__axis2__msg__ctx.html#g21705c3ecce5d8869ecf66fc68a9cc21Member AXIS2_TRANSPORT_URLgroup__axis2__msg__ctx.html#g698a681ef62502de45559859fe9e2cbdaxis2_msg_ctx_set_auth_typegroup__axis2__msg__ctx.html#gca7170d81a37be6c49260e9b754d1912axis2_msg_ctx_extract_http_accept_language_record_listgroup__axis2__msg__ctx.html#gff16a50cb3f3aeff0e17d9facb8b11a9axis2_msg_ctx_get_charset_encodinggroup__axis2__msg__ctx.html#g872a75f28661a8c83694e47825d3c7d0axis2_msg_ctx_find_svcgroup__axis2__msg__ctx.html#g0466cae16b55c308d5adb92c11bd6665axis2_msg_ctx_get_do_rest_through_postgroup__axis2__msg__ctx.html#g92affc014f41b9458d497f9f413c96b0axis2_msg_ctx_set_svc_ctxgroup__axis2__msg__ctx.html#gdf577adcf8ca0e59934d9d2e6c85ac6daxis2_msg_ctx_is_keep_alivegroup__axis2__msg__ctx.html#gd087e49c05924aa5e1132d6ebce8f5c9axis2_msg_ctx_set_response_soap_envelopegroup__axis2__msg__ctx.html#gff90d0a3f90a95b7dcbce89c6a4d9a35axis2_msg_ctx_get_fault_togroup__axis2__msg__ctx.html#g67ec8b0b713a7e2f0f0ba6d04ea8c483AXIS2_CHARACTER_SET_ENCODINGgroup__axis2__msg__ctx.html#g7c5ab0e072df1c661f2e547ac7185d1fMember axis2_msg_get_element_qnamegroup__axis2__msg.html#g3c21abaa1b0447d184b8a408cf2f75c1axis2_msg_get_namegroup__axis2__msg.html#g4d0a9953fea4185365e869b71b6dec42AXIS2_MSG_IN_FAULTgroup__axis2__msg.html#gc1a93d406ebcea483078bcd581674befMember axis2_module_desc_get_modulegroup__axis2__module__desc.html#gd421edfcd1fe5c5d9770b9ea74e8b4d9axis2_module_desc_creategroup__axis2__module__desc.html#gb7bdee97a344fe15071d867b83b02d78axis2_module_desc_set_fault_in_flowgroup__axis2__module__desc.html#gc298b10b80e0259f8a0c44411d544ba0axis2_module_tgroup__axis2__module.html#gd7178056a81383c23d68a1ec747a90e5axis2_listener_manager_get_reply_to_eprgroup__axis2__listener__manager.html#g98741fbe3a3e68a7a631960c2387b0eaaxis2_http_transport_sender_creategroup__axis2__http__transport__sender.html#g900f9936770cbf56d5a071ae4c18ddb7Member AXIS2_HTTP_SO_TIMEOUTgroup__axis2__core__transport__http.html#ge6edcd873e39fdfa753d127bbf4709f4Member AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VALgroup__axis2__core__transport__http.html#g659f6520d1b830a5c51a049678a240bbMember AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VALgroup__axis2__core__transport__http.html#g1efb4d654d0cec0fa1e0aadd84785b34Member AXIS2_HTTP_RESPONSE_GONE_CODE_VALgroup__axis2__core__transport__http.html#g6881bcfbbe4e80727cb59fa79f18ae34Member AXIS2_HTTP_PROXY_PORTgroup__axis2__core__transport__http.html#g8c4d32828f2a5964438273eab633a609Member AXIS2_HTTP_HEADER_SERVER_AXIS2Cgroup__axis2__core__transport__http.html#g10e4887082c6a2e487933b368f76d6a0Member AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODINGgroup__axis2__core__transport__http.html#gffce846de2f228a3882f820da253fd5dMember AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALLgroup__axis2__core__transport__http.html#g16d2ec41cb53fa6e326fb235731d024aMember AXIS2_HTTP_CHAR_SET_ENCODINGgroup__axis2__core__transport__http.html#g4ec14356366a58d49f18c53ffdf8b182Member AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCEgroup__axis2__core__transport__http.html#gb7ec0daecbdc84bee14f04cf14cf2d3fAXIS2_HTTP_BAD_REQUESTgroup__axis2__core__transport__http.html#gcd8893bcff4cd433d4631eaf0b5188b6AXIS2_SPACEgroup__axis2__core__transport__http.html#gf238ca7eedf156197984a398516f2894AXIS2_SEMI_COLONgroup__axis2__core__transport__http.html#gb5abffb907f1a507c88aba72625ed98bAXIS2_PROXY_AUTH_TYPE_DIGESTgroup__axis2__core__transport__http.html#g176f20149afa6994c7b7931052867d65AXIS2_HTTP_AUTHENTICATION_PASSWORDgroup__axis2__core__transport__http.html#geae1eccf45b27f3dfd448effee9cb59eAXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIREDgroup__axis2__core__transport__http.html#gc762444e8bf5c31e6086a67b6e78e6dbAXIS2_HTTP_HEADER_ACCEPT_TEXT_HTMLgroup__axis2__core__transport__http.html#gcea94cbb9325b4681bd8408f22b79689AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHEgroup__axis2__core__transport__http.html#g0d6c4dc77116af03a5f48f4cabcf88faAXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCEgroup__axis2__core__transport__http.html#gb7ec0daecbdc84bee14f04cf14cf2d3fAXIS2_HTTP_HEADER_SOAP_ACTION_group__axis2__core__transport__http.html#gbc2d488e1ebda346f8570889c858bfe4AXIS2_HTTP_GETgroup__axis2__core__transport__http.html#g9543bae0fe6b33ddc101b80c9879440bAXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAMEgroup__axis2__core__transport__http.html#g930af95c5f1d2f402ca09c43172050d1AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VALgroup__axis2__core__transport__http.html#ge1daeb79f903cfe5964a3b1891ed46f2AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VALgroup__axis2__core__transport__http.html#gd89f1d15edf0e06ac7c26655845cf2f5AXIS2_HTTP_OUT_TRANSPORT_INFOgroup__axis2__core__transport__http.html#gd61b73b7e24d6c8084805a6faa62925caxutil_url_parse_stringgroup__axis2__core__transport__http.html#g9109e28b9f161b847046706471c28515axis2_http_svr_thread_is_runninggroup__axis2__http__svr__thread.html#gf5fb6670fb1523a14af93a19f461a934axis2_http_status_line_to_stringgroup__axis2__http__status__line.html#g319d008ee6dbd9e639c652b73c8ad73fMember axis2_http_simple_response_get_headersgroup__axis2__http__simple__response.html#g0a5b2fdcf5a56cfe9c54eadea6459aabaxis2_http_simple_response_get_mime_partsgroup__axis2__http__simple__response.html#g7aeac2ec4436e30a81c4305642d9c084axis2_http_simple_response_contains_headergroup__axis2__http__simple__response.html#gd24d24f61b5ebe5c92329a985743d3afMember axis2_http_simple_request_get_body_bytesgroup__axis2__http__simple__request.html#ge431df3effadffc3192024b49dffc4bdaxis2_http_simple_request_get_first_headergroup__axis2__http__simple__request.html#gf9b0570c70ee242116e4208dca302273Member axis2_http_response_writer_get_encodinggroup__axis2__http__response__writer.html#g4d45835e7866ec6076b41f000c5b3beeaxis2_http_response_writer_closegroup__axis2__http__response__writer.html#ge3d2d72f0450b556f3a4fe0cfd744881axis2_http_request_line_get_http_versiongroup__axis2__http__request__line.html#g104a1455c97d7a340e9690c8964abcd0axis2_http_out_transport_info_free_void_arggroup__axis2__http__out__transport__info.html#g8ff11c179d868a06362b9dea7edb3d5cGroup http headergroup__axis2__http__header.htmlMember axis2_http_client_get_timeoutgroup__axis2__http__client.html#g32bb50461fab10fa658ac0d1c659e7daaxis2_http_client_freegroup__axis2__http__client.html#g201ef99f4cd3520db5d6d6dddb93dfadhttp clientgroup__axis2__http__client.htmlMember axis2_handler_desc_set_parentgroup__axis2__handler__desc.html#g92b9ba1b7c76d813c580f22abb2a028fGroup handler descriptiongroup__axis2__handler__desc.htmlaxis2_handler_desc_get_namegroup__axis2__handler__desc.html#g11aa71d93a360714ef716667458b545faxis2_handler_get_handler_descgroup__axis2__handler.html#g68ed525c6303fcf9cda284eef07b270eMember axis2_flow_container_get_fault_in_flowgroup__axis2__flow__container.html#g60301ffa364f8eb0a003bf87d2ac47a9Member axis2_flow_get_handler_countgroup__axis2__flow.html#g161794e7edbc62bc9e93ed573360cbb8Member axis2_endpoint_ref_set_interface_qnamegroup__axis2__endpoint__ref.html#g1a0f57e4779a0a9beb7133b0dc6932c5Member axis2_endpoint_ref_add_extensiongroup__axis2__endpoint__ref.html#gffa43060be66bdfec2e88f007a5efeceaxis2_endpoint_ref_get_interface_qnamegroup__axis2__endpoint__ref.html#gecddf65a57bf6a269b8d31ea99165049Member axis2_disp_tgroup__axis2__disp.html#g8f0bac449c79895127179ee88604be65Member AXIS2_SERVICE_CLASS_NAMEgroup__axis2__desc__constants.html#gdf28480aee109151d20c606df2da34baAXIS2_SERVICE_CLASSgroup__axis2__desc__constants.html#g51520c8629c59965bb63041e7852d2b7descriptiongroup__axis2__desc.htmlaxis2_desc_get_policy_includegroup__axis2__description.html#gfb2c12d56fbfa672cf4f577c19aed3afMember axis2_ctx_set_propertygroup__axis2__ctx.html#g7cf1781574ed208e2ca552cde99501bbContext Hierarchygroup__axis2__context.htmlAXIS2_SVC_DLLgroup__axis2__core__dll__desc.html#gc85501c69d2e20cc485d866817f732b7Member axis2_conf_ctx_get_svc_grp_ctx_mapgroup__axis2__conf__ctx.html#ga8be6a3dce54129fddc3ca40fe95e03aaxis2_conf_ctx_fill_ctxsgroup__axis2__conf__ctx.html#ge4ac0ac0a8960a7e8d5a1c898877fa56axis2_conf_ctx_creategroup__axis2__conf__ctx.html#g9d44e6d988ccfa96510146c18118f272Member axis2_conf_get_svc_grpgroup__axis2__config.html#g0a81de08c7d260307dce83727e7fbb6cMember axis2_conf_get_all_svcs_to_loadgroup__axis2__config.html#g4e60a26bae6ab18adf601fc3dc0ccd6dMember axis2_conf_add_svcgroup__axis2__config.html#gfc6aefecf137595736194e704c8849e6axis2_conf_get_enable_mtomgroup__axis2__config.html#g5c41a261d23542a2df0e94da5920c993axis2_conf_set_in_fault_phasesgroup__axis2__config.html#gb9219d57c1060b93d19a39cc95ced711axis2_conf_get_modulegroup__axis2__config.html#g0821f7d4a53d5731c23d9be80fd5cbe0axis2_conf_freegroup__axis2__config.html#g06062b4f3ea3a4fb05c0e55d76f6ca8cGroup enginegroup__axis2__engine.htmlcallback message receiver. This can be considered as agroup__axis2__callback__recv.htmlMember axis2_callback_tgroup__axis2__callback.html#g0d855254802281de06d16c71627226b5axis2_on_complete_func_ptrgroup__axis2__callback.html#g24412ea84a2372e48f030ff7fa2f57ceMember axis2_any_content_type_freegroup__axis2__any__content__type.html#g505a11bc9aecae180b61ca79c82bac61ADDR_IN_HANDLERgroup__axis2__addr__mod.html#g3b4c3a57a4c4932163e7dd2954a5bd83Member AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPEgroup__axis2__addr__consts.html#ga475c2e10b1d601b02a2f8be25ed5ab9Member AXIS2_WSA_FROMgroup__axis2__addr__consts.html#g2e581c359ddbed08e8fc9aaf3adbc639AXIS2_WSA_INTERFACE_NAMEgroup__axis2__addr__consts.html#gc35528fdb8d4a0da501462f1205e4eccAXIS2_WSA_MAPPINGgroup__axis2__addr__consts.html#g5b94c2283807555fadb4baf18d3b134bMember axiom_xpath_free_resultgroup__axiom__xpath__api.html#gbce6df5e417ac892e3c472a9e8d9b159Member AXIOM_XPATH_EVALUATION_ERRORgroup__axiom__xpath__api.html#g7a66629a5a092f0d5514c34d5575c753axiom_xpath_evaluategroup__axiom__xpath__api.html#g2012e8e16e51b0d9aec32d85ae12a61aMember axiom_xml_writer_write_start_documentgroup__axiom__xml__writer.html#g56cd0aed921b578b91c92c1dd78c989eMember axiom_xml_writer_write_attribute_with_namespace_prefixgroup__axiom__xml__writer.html#g970cc4979b16407cc69a77384b096f3faxiom_xml_writer_get_xml_sizegroup__axiom__xml__writer.html#gaad2c11c45420ff072bed9c4b9a568f9axiom_xml_writer_write_namespacegroup__axiom__xml__writer.html#g3bb91e88f62e6620f1236dccbba5c0b6Member axiom_xml_reader_xml_freegroup__axiom__xml__reader.html#g06c3e71eb295e7a0869a21ca2c88386dMember axiom_xml_reader_get_attribute_namespace_by_numbergroup__axiom__xml__reader.html#g8095baf49f5ae2577dc6ddd47bbf9b80axiom_xml_reader_get_namespace_prefix_by_numbergroup__axiom__xml__reader.html#gedb9e7e00933a87a9f9681625aa051afparsergroup__axiom__parser.htmlaxiom_text_set_is_swagroup__axiom__text.html#g825ec8b46977acc79eeb695d741b6d19textgroup__axiom__text.htmlaxiom_stax_builder_tgroup__axiom__stax__builder.html#g3d226ed2a10a2beacb781dc658ce72d2axiom_soap_header_block_get_attributegroup__axiom__soap__header__block.html#gbe505ca156a1f25b44b3fc2d92aab5bcMember axiom_soap_header_freegroup__axiom__soap__header.html#gb4bd1325c0f03050c79ec4302fb9fb12Member axiom_soap_fault_value_set_textgroup__axiom__soap__fault__value.html#ga9675b73de88d4530e715c26c2d7fb95Member axiom_soap_fault_text_get_base_nodegroup__axiom__soap__fault__text.html#gc23731689dc612a0019df49423b94fd9axiom_soap_fault_sub_code_get_base_nodegroup__axiom__soap__fault__sub__code.html#gfd47ab5044ec19f802569ba9a5555031soap fault rolegroup__axiom__soap__fault__role.htmlMember axiom_soap_fault_node_get_valuegroup__axiom__soap__fault__node.html#g05a2e001e1e82b12e6bf1a6c7b619326axiom_soap_fault_detail_add_detail_entrygroup__axiom__soap__fault__detail.html#g30e68309c908c12c28fc2721db04296bMember axiom_soap_fault_set_exceptiongroup__axiom__soap__fault.html#g0f64a1849d8b05a3281e6df8e1c0602baxiom_soap_fault_get_nodegroup__axiom__soap__fault.html#ga63629df8b84a56382c391e4fc0f30e1Member axiom_soap_envelope_freegroup__axiom__soap__envelope.html#g133462e3b74e84e2ad650fa7b54b303baxiom_soap_envelope_create_with_soap_version_prefixgroup__axiom__soap__envelope.html#g13d7cc5563a577ffe36537fcab3c6220Member axiom_soap_builder_get_documentgroup__axiom__soap__builder.html#g9889a86a4c589ea9140e6c7c0f427261axiom_soap_builder_get_documentgroup__axiom__soap__builder.html#g9889a86a4c589ea9140e6c7c0f427261axiom_soap_body_buildgroup__axiom__soap__body.html#g5a7066590890390e527b0a718178c785axiom_processing_instruction_get_targetgroup__axiom__processing__instruction.html#gfc68e82e5fbd9d82f822e3fa1bd386b0Member axiom_output_get_xml_writergroup__axiom__output.html#g228008fd140581a1f01faeeb4f2b769caxiom_output_set_do_optimizegroup__axiom__output.html#g9df8ee0f0069d4606aed3dc185305d1bMember axiom_node_to_stringgroup__axiom__node.html#g0cf9fdca65f2b7c5ab0e485cf21bc3baMember axiom_node_detachgroup__axiom__node.html#g8b581d1db9d2a0f80abe5aa3bf6cae2daxiom_node_to_stringgroup__axiom__node.html#g0cf9fdca65f2b7c5ab0e485cf21bc3baaxiom_node_create_from_buffergroup__axiom__node.html#gaf55148ae4b5101b0688900819eb6823axiom_navigator_creategroup__axiom__navigator.html#g75c9187ecdec12d397fc4af8867b588daxiom_namespace_get_uri_strgroup__axiom__namespace.html#g01fee608906cecb26287af5228c2f713axiom_mtom_sending_callback_ops_tgroup__mtom__sending__callback.html#g2ec4f4b0d36484d7d80600f079ad153cMember axiom_mime_parser_set_buffer_sizegroup__axiom__mime__parser.html#gbe1b6ea790d1a5315b0b46df54e26a2eaxiom_mime_parser_freegroup__axiom__mime__parser.html#g0d0558064a7fca5445a4840be45b2600Member axiom_element_redeclare_parent_namespacesgroup__axiom__element.html#ga81ac198c70919220ad1ec3b61c8de27Member axiom_element_get_all_attributesgroup__axiom__element.html#g723f2020e8872c13fd7f7a0cf58ccf0baxiom_element_gather_parent_namespacesgroup__axiom__element.html#gc8dab634252188bf3c3d28705aed8659axiom_element_set_textgroup__axiom__element.html#g01aeeeff52453bbee70f8b2dfd224b10axiom_element_get_attribute_valuegroup__axiom__element.html#g430ca6654bedc354b143b4c424691a2aMember axiom_document_creategroup__axiom__document.html#gf15c8c5b6476d1ca0f256ff56854b5afMember axiom_doctype_get_valuegroup__axiom__doctype.html#gaafffb4fb25cdc52471c381de62e5d46axiom_data_source_creategroup__axiom__data__source.html#g9b82e6341822df244dead7cd94df063cMember axiom_data_handler_creategroup__axiom__data__handler.html#gf1a1862c29144a3234025b1218a83c97axiom_data_handler_set_cachedgroup__axiom__data__handler.html#gc6da7f863c5e580fc47dcf6a380f4d57Member axiom_children_with_specific_attribute_iterator_removegroup__axiom__children__with__specific__attribute__iterator.html#g5a6f6f5c3e00b9bc512ee30d8e452413Member axiom_children_qname_iterator_has_nextgroup__axiom__children__qname__iterator.html#ge1a3ae54bd136f343484e2b9733d8a51axiom_children_iterator_removegroup__axiom__children__iterator.html#g43a2456b06e06c44abb0d0cc93230514AXIOM_CHILD_ELEMENT_ITERATOR_FREEgroup__axiom__child__element__iterator.html#gc0758626b28bbfbd90601deb7bb99941Member axiom_attribute_create_strgroup__axiom__attribute.html#gb9836150f9d8af4256bcadace600c79faxiom_attribute_get_qnamegroup__axiom__attribute.html#g749197cc40576ff4139c9d19298f9f24neethi_registry.hneethi__registry_8h.htmlneethi_policy_get_attributesneethi__policy_8h.html#547c635eb3a8fafe92b35e1b6c5d1cb2neethi_operator.hneethi__operator_8h.htmlneethi_exactlyone_add_operatorneethi__exactlyone_8h.html#629125c7995e76ffa81794c43b134ad7neethi_constants.hneethi__constants_8h.htmlAXIS2_RM_EXPONENTIAL_BACK_OFFneethi__constants_8h.html#80fcfb910c40274c3777bc6c39e7f4bcNEETHI_REFERENCEneethi__constants_8h.html#b03a95e548ce4666f9d18e11e70a3695neethi_assertion_get_elementneethi__assertion_8h.html#3943a0823f3ebc41d697247f91d3e60aneethi_all_tneethi__all_8h.html#1648329c51b0d4331ac501a2caf4fbb0AXIS2_HANDLE_ERRORgroup__axutil__utils.html#g90cce8a56477673e8a291103addcf6c7axutil_url_set_portgroup__axis2__core__transport__http.html#gd501b4d46e8e72cf5aef32c666f0848faxutil_uri_clonegroup__axutil__uri.html#g6daaaa0010e8fa2bf4a62843633eb747AXIS2_URI_UNP_OMITFRAGMENT_ONLYgroup__axutil__uri.html#gfd1c52b377d713e8c562d138971e3da9AXIS2_URI_PROSPERO_DEFAULT_PORTgroup__axutil__uri.html#g501f92278c7825a20f532aaeae3b59caaxutil_thread_pool_exit_threadgroup__axutil__thread__pool.html#g4918b9dbaed331af5602f5a9e6ebb6efaxutil_thread_exitgroup__axutil__thread.html#gce2c40eabd0a117145610897e3b0b350axutil_stack_get_atgroup__axis2__util__stack.html#g9a678b9689a64fe779cbbb484c6409edaxutil_qname_to_stringgroup__axutil__qname.html#gce05f5dabf88994e7ae8b3bf46fa968eaxutil_param_container_freegroup__axutil__param__container.html#g8da05e09f9c6144927118bb7d7e0b53eaxutil_param_set_lockedgroup__axutil__param.html#g970029b6a857fd5c0ec6cd92561b2803axutil_md5_ctx_freegroup__axutil__md5.html#g15ae76fd76cb90f4325f88fcf34ea754axutil_linked_list_sizegroup__axutil__linked__list.html#g29f7df9bfa28df5111de92e7af0b8f7baxutil_linked_list.h File Referenceaxutil__linked__list_8h.htmlaxutil_hash_contains_keygroup__axutil__hash.html#g56cd2ac6c7addaf693c820abe1d180f5axutil_hash.haxutil__hash_8h.htmlAXIS_ENV_FREE_ERRORgroup__axutil__env.html#g7e82bfc152825a777665e7acf05a682faxutil_dll_desc_set_load_optionsgroup__axutil__dll__desc.html#ge4cf29a0d636dd7bd51aea72e54041d4axutil_digest_hash_hex_tgroup__axutil__digest__calc.html#ge50b8d4b7fce951084e34b414c6edfebaxutil_date_time_utc_to_localgroup__axutil__date__time.html#g38a2fda9394cf820c042acca26d3727aaxutil_date_time_freegroup__axutil__date__time.html#gbb52288b98f13be3abf56d29248503cfaxutil_base64_binary_get_plain_binarygroup__axutil__base64__binary.html#gaba8514ab627d46d5bd4ca28471620c3axutil_array_list_getgroup__axutil__array__list.html#gb6e54fa2917ddc0128e98a3bb0adcfadaxutil_allocator_tgroup__axutil__allocator.html#g24403baa66b6208837ff50b46f8ba930axis2_transport_receiver_is_runninggroup__axis2__transport__receiver.html#g22a8d2cdd593d7966ec853042b6542beaxis2_transport_out_desc_set_fault_phasegroup__axis2__transport__out__desc.html#gc40075ffa1f0d29c109d9b7e87a4dc1caxis2_transport_in_desc_creategroup__axis2__transport__in__desc.html#g89b3450ffcd518c2a46edea5878cb917axis2_transport_in_desc_free_void_arggroup__axis2__transport__in__desc.html#gfd336f266ce3e3cde1ef38b475e19dacAXIS2_SVC_SKELETON_INVOKEgroup__axis2__svc__skeleton.html#ge181b2f813a771eea6d587f3f2652e7eaxis2_svc_grp_ctx_fill_svc_ctx_mapgroup__axis2__svc__grp__ctx.html#gd39cf31f9ed602c15a98b847072fcb3caxis2_svc_grp_get_all_module_refsgroup__axis2__svc__grp.html#g3a16449604a71def11e817c5f076e2e1axis2_svc_grp_freegroup__axis2__svc__grp.html#gd9a82fef7fbe4a5a307833c04add09cdaxis2_svc_client.haxis2__svc__client_8h.htmlaxis2_svc_client_set_target_endpoint_refgroup__axis2__svc__client.html#gb60879c0484ac46ae301c7c4f13ba6e6axis2_svc_client_get_override_optionsgroup__axis2__svc__client.html#g6d96f187c2183a936646d3c9c39b4a68axis2_svc_set_ns_mapgroup__axis2__svc.html#g7d09d2191060dc07c499d61790f29d7eaxis2_svc_get_svc_descgroup__axis2__svc.html#g52c960cead461a124b76b2fb4e3835b2axis2_svc_get_qnamegroup__axis2__svc.html#gb08959beaff32b83172f690ca959f65faxis2_stub_get_svc_clientgroup__axis2__stub.html#g2d32f2fc661d49f68c8d144ada54acd8Member axis2_simple_http_svr_conn_is_openaxis2__simple__http__svr__conn_8h.html#186ef9e05e9b1e7125ddf020412caa88axis2_simple_http_svr_conn_read_requestaxis2__simple__http__svr__conn_8h.html#66c2425d7f064862abd57a3039214531axis2_relates_to_tgroup__axis2__relates__to.html#gd92fd7b0e63b44c6343db15b61aeba45axis2_phase_rule.h File Referenceaxis2__phase__rule_8h.htmlaxis2_phase_holder_create_with_phasesgroup__axis2__phase__holder.html#g235fffaa9ed52a2e633ab2780c52fe5baxis2_phase_insert_before_and_aftergroup__axis2__phase.html#g29a679a896554e2527612d146532ebcdAXIS2_PHASE_BOTH_BEFORE_AFTERgroup__axis2__phase.html#ge1f25ec22e7fe0eb476632ddd03df7e9axis2_options_set_test_proxy_authgroup__axis2__options.html#gb5f388b034b9c34825711fd8fef977e9axis2_options_set_use_separate_listenergroup__axis2__options.html#g4d51e41495fd13829711123fc1c66179axis2_options_set_actiongroup__axis2__options.html#g3034f3d572a3f31d708250ffa374931daxis2_options_get_fromgroup__axis2__options.html#g7e00548bdf22d85963f03cf96af4324eaxis2_op_ctx_cleanupgroup__axis2__op__ctx.html#g7ae8623d063eed0d7120d49f025bc60baxis2_op_client_get_svc_ctxgroup__axis2__op__client.html#g7d8f7b0e623e96ad796d3d93f3d443fcaxis2_op_client_get_callbackgroup__axis2__op__client.html#g2d750a878fe19e11a1d130467fa76370axis2_msg_recv_delete_svc_objgroup__axis2__msg__recv.html#gff566d302fe1980913798086325ec2a6axis2_msg_info_headers_get_all_ref_paramsgroup__axis2__msg__info__headers.html#g085e872c1d2b336e927df9f2f7d9a4aeaxis2_msg_info_headers_set_reply_to_nonegroup__axis2__msg__info__headers.html#g64bfb8b2ebdabd55719c6b3b300a5499axis2_msg_ctx_get_auth_typegroup__axis2__msg__ctx.html#g6cef678fb88ba92bfc2201b0e077cf69axis2_msg_ctx_set_http_accept_language_record_listgroup__axis2__msg__ctx.html#g09473f96d43873ca693eb02cd809354eaxis2_msg_ctx_set_charset_encodinggroup__axis2__msg__ctx.html#gf0b8b26d1b8a7ad80a2930afb0c2363aaxis2_msg_ctx_find_opgroup__axis2__msg__ctx.html#g06450d683a212d8246cc5c240bbce9c9axis2_msg_ctx_get_manage_sessiongroup__axis2__msg__ctx.html#g498e34d21eed5b6fe789f85425c1565aaxis2_msg_ctx_set_msg_info_headersgroup__axis2__msg__ctx.html#g894cd26e3ef286e8cc115d87cc0d31a5axis2_msg_ctx_set_keep_alivegroup__axis2__msg__ctx.html#g29a042eb384e9af2798aea7a91cd7d71axis2_msg_ctx_set_fault_soap_envelopegroup__axis2__msg__ctx.html#g5a75d1d93e2cee20aab553cdaa02b414axis2_msg_ctx_get_fromgroup__axis2__msg__ctx.html#g8494bb2e6d1b4663da5dbf99ef2ee16eAXIS2_UTF_8group__axis2__msg__ctx.html#g7b3f76abded0b271e02ee3d8e3ace866axis2_msg_get_flowgroup__axis2__msg.html#ga008e28053a1c980b867502b0619a6a2axis2_module_desc_create_with_qnamegroup__axis2__module__desc.html#g32a5747341faa2fd783403556d884802axis2_module_desc_get_fault_out_flowgroup__axis2__module__desc.html#g4879dd6cadbceca1634e17924429d6c0axis2_module.h File Referenceaxis2__module_8h.htmlaxis2_http_worker.h File Referenceaxis2__http__worker_8h.htmlaxis2_http_transport_utils_get_internal_server_erroraxis2__http__transport__utils_8h.html#e7610310e4b0566d08f796bb0e254b2baxis2_http_transport_utils_process_http_get_requestaxis2__http__transport__utils_8h.html#f1f14d12ff155b01d6d08c7ce43518ecaxis2_http_svr_thread.haxis2__http__svr__thread_8h.htmlaxis2_http_status_line_get_reason_phrasegroup__axis2__http__status__line.html#g7ca13bebe337e3af6d598364bec86a2aaxis2_http_simple_request_get_first_headergroup__axis2__http__simple__request.html#gf9b0570c70ee242116e4208dca302273Member axis2_http_sender_sendaxis2__http__sender_8h.html#23a2300c0fe2f0b032d43946e17bdc08axis2_http_sender_get_header_infoaxis2__http__sender_8h.html#22b551f3e5b5b6401bf0eb76d76d6dcaaxis2_http_response_writer_creategroup__axis2__http__response__writer.html#g115bd88c5873671ae1d9254c3d76fd62axis2_http_request_line_freegroup__axis2__http__request__line.html#gd8aa2d51456b6843690d75278de59abeaxis2_http_out_transport_info_tgroup__axis2__http__out__transport__info.html#g488b445412c39ae4b2a3edd1df4f319caxis2_http_client_set_mtom_sending_callback_namegroup__axis2__http__client.html#g1ef225a7f5533530b33a55f4fd946d06axis2_http_client_set_timeoutgroup__axis2__http__client.html#g7b4a59a173e56ce5e461a5e65e219defaxis2_http_accept_record.haxis2__http__accept__record_8h.htmlaxis2_handler_desc_get_rulesgroup__axis2__handler__desc.html#g7b4d3746f2bd22d912ef0f92b6359749axis2_handler_tgroup__axis2__handler.html#g62e76f39f224fb84e98b6b77fdf4655caxis2_flow_get_handler_countgroup__axis2__flow.html#g161794e7edbc62bc9e93ed573360cbb8axis2_engine_receive_faultgroup__axis2__engine.html#gc42896a93f7288df6e7a10ceb9e31e31axis2_endpoint_ref_get_ref_attribute_listgroup__axis2__endpoint__ref.html#g3708574ea51cc3ef8c93209a2d7d482aaxis2_disp_find_svc_and_opgroup__axis2__disp.html#g9d2a959239d55f45641c0759b79243b2AXIS2_PARAMETER_KEYgroup__axis2__desc__constants.html#g42f0a3efb9d5e1aecd03f410ee08c1a6axis2_desc_get_childgroup__axis2__description.html#g55e705da0e6458ad6dd435087052b266AXIS2_FAULT_IN_FLOWaxis2__defines_8h.html#171143230a231ff07fcf8402b523a713AXIS2_TRANSPORT_RECV_DLLgroup__axis2__core__dll__desc.html#g638ccbb8278365752429a75aa89c5c7faxis2_conf_ctx_get_svc_ctxgroup__axis2__conf__ctx.html#ge90cb5dd919956c1e2eb52fa69c6734baxis2_conf_set_security_contextgroup__axis2__config.html#g8fe9cfa417c2e423b0ee6973cde58231axis2_conf_set_repogroup__axis2__config.html#g9b73dd9150ace3dca82364a4c77e0f7aaxis2_conf_get_all_faulty_modulesgroup__axis2__config.html#g12b5a698718da795312b3e09fdeac1c4axis2_conf_add_paramgroup__axis2__config.html#g03227082f8dcb6d49c70ae123224618daxis2_callback_set_datagroup__axis2__callback.html#gc336244380c30c63f102efbea2204aeeaxis2_async_result_get_envelopegroup__axis2__async__result.html#g78f7a7e270e176c1094ca43d106561b1axis2_addr.haxis2__addr_8h.htmlAXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUEgroup__axis2__addr__consts.html#g540bf85e886e5f00dc4ba2c84673be19AXIS2_WSA_TOgroup__axis2__addr__consts.html#ga03c11932fc77dffe74a333717adfab7axiom_xml_writer_write_start_document_with_versiongroup__axiom__xml__writer.html#g41c370608ae8441c2601a5edc7addf2baxiom_xml_writer_write_empty_elementgroup__axiom__xml__writer.html#gf69e17121911506e5e1aff50f35d6e42axiom_xml_reader_get_dtdgroup__axiom__xml__reader.html#g1c1f7c88232c5aec33cafc72fda5830eaxiom_xml_reader_initgroup__axiom__xml__reader.html#g8e39a922babd615678d53209c3d86c25axiom_soap_header_block_set_must_understand_with_stringgroup__axiom__soap__header__block.html#g7c285fa98928bc303e499c82cc890c24axiom_soap_header_add_header_blockgroup__axiom__soap__header.html#g88dc23b19a4bd564638b4ffcaab955f9axiom_soap_fault_text_get_textgroup__axiom__soap__fault__text.html#g5b2f411950e2d7ff211d5b37ef292a60axiom_soap_fault_sub_code_taxiom__soap__fault__sub__code_8h.html#c7b96318bcb005e4a78e547160a617a9axiom_soap_fault_reason_get_soap_fault_textgroup__axiom__soap__fault__reason.html#g954ae459d11fa8b57d48a23bd1846b38axiom_soap_fault_detail_get_all_detail_entriesgroup__axiom__soap__fault__detail.html#g211f2e71c7d481d141498b3d0ab6d8c0axiom_soap_fault.haxiom__soap__fault_8h.htmlaxiom_soap_envelope_get_soap_buildergroup__axiom__soap__envelope.html#g17b40326cf1e991991e667f7ea559640axiom_soap_builder.haxiom__soap__builder_8h.htmlaxiom_soap_builder_freegroup__axiom__soap__builder.html#gf57256b5e28bf4df73bb2ff089263a9daxiom_soap_body.haxiom__soap__body_8h.htmlaxiom_node_get_first_elementgroup__axiom__node.html#g2c569263c409668ff1b653aeb7712bb5axiom_mtom_sending_callback_ops_tgroup__mtom__sending__callback.html#g2ec4f4b0d36484d7d80600f079ad153cMember AXIOM_MIME_PART_BUFFERaxiom__mime__part_8h.html#e5d74402433163c4fd1259ff4b7bf4684ed963acaf82e2ca1343397b3e0a520faxiom_mime_parser_get_soap_body_strgroup__axiom__mime__parser.html#g6550688f1ddcc45d11363947f441e2beaxiom_document_set_root_elementgroup__axiom__document.html#gca387e2c8ed19b5bd4123fc6455fa071axiom_doctype_tgroup__axiom__doctype.html#g989bc6cdb5a69100c2a937b4d86d2b90axiom_data_handler_set_mime_idgroup__axiom__data__handler.html#g276407df5df9bf7600ee499c4c2952baaxiom_data_handler_type_taxiom__data__handler_8h.html#5a1f7c4ceb3674494b3bc5fbd9ff50a8axiom_children_with_specific_attribute_iterator_freegroup__axiom__children__with__specific__attribute__iterator.html#g3ca5674c5cd482e3dcce3ebc443f1804axiom_children_iterator.haxiom__children__iterator_8h.htmlAXIOM_CHILD_ELEMENT_ITERATOR_NEXTgroup__axiom__child__element__iterator.html#g0140cb62ccf00ac3f6bfdc4937839f21axiom_attribute_get_namespacegroup__axiom__attribute.html#gf5237ea2eed7bb6326f19e2cda6ffe9crp_wss11.hrp__wss11_8h-source.htmlrp_signed_encrypted_parts_builder.hrp__signed__encrypted__parts__builder_8h-source.htmlrp_layout_builder.hrp__layout__builder_8h-source.htmlrp_algorithmsuite_builder.hrp__algorithmsuite__builder_8h-source.htmlguththila_stack.hguththila__stack_8h-source.htmlAXIS2_CREATE_FUNCTIONaxutil__utils_8h-source.html#l00144AXIS2_URI_UNP_OMITSITEPARTaxutil__uri_8h-source.html#l00083AXIS2_URI_SSH_DEFAULT_PORTaxutil__uri_8h-source.html#l00046axutil_stream_typeaxutil__stream_8h-source.html#l00045axutil_log::enabledaxutil__log_8h-source.html#l00136entry_s::dataaxutil__linked__list_8h-source.html#l00050axutil_error::error_numberaxutil__error_8h-source.html#l00753axutil_config.haxutil__config_8h-source.htmlaxis2_transport_sender::opsaxis2__transport__sender_8h-source.html#l00131AXIS2_THREAD_MUTEX_DEFAULTaxis2__thread__mutex_8h-source.html#l00044axis2_svc_name_taxis2__svc__name_8h-source.html#l00048axis2_rm_assertion_builder.haxis2__rm__assertion__builder_8h-source.htmlAXIS2_PHASE_POST_DISPATCHaxis2__phase__meta_8h-source.html#l00066axis2_out_transport_info.haxis2__out__transport__info_8h-source.htmlAXIS2_MSG_CTX_FIND_OPaxis2__msg__ctx_8h-source.html#l00136AXIS2_MSG_IN_FAULTaxis2__msg_8h-source.html#l00049axis2_listener_manager.haxis2__listener__manager_8h-source.htmlAXIS2_SSL_KEY_FILEaxis2__http__transport_8h-source.html#l00916AXIS2_HTTP_DEFAULT_SO_TIMEOUTaxis2__http__transport_8h-source.html#l00826AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATEDaxis2__http__transport_8h-source.html#l00740AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKEDaxis2__http__transport_8h-source.html#l00655AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSEaxis2__http__transport_8h-source.html#l00564AXIS2_HTTP_HEADER_PROXY_AUTHORIZATIONaxis2__http__transport_8h-source.html#l00479AXIS2_HTTP_HEADaxis2__http__transport_8h-source.html#l00388AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAMEaxis2__http__transport_8h-source.html#l00303AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VALaxis2__http__transport_8h-source.html#l00212AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VALaxis2__http__transport_8h-source.html#l00126axis2_http_status_line_taxis2__http__status__line_8h-source.html#l00043axis2_http_request_line.haxis2__http__request__line_8h-source.htmlaxis2_flow_container_taxis2__flow__container_8h-source.html#l00049AXIS2_PARAMETER_KEYaxis2__description_8h-source.html#l00103axis2_defines.haxis2__defines_8h-source.htmlaxis2_async_result_taxis2__async__result_8h-source.html#l00046AXIS2_WSA_TYPE_ATTRIBUTE_VALUEaxis2__addr_8h-source.html#l00125AXIS2_WSA_ACTIONaxis2__addr_8h-source.html#l00066axiom_xpath_context::expraxiom__xpath_8h-source.html#l00151axiom_xpath_result_type_taxiom__xpath_8h-source.html#l00083axiom_soap_header_block.haxiom__soap__header__block_8h-source.htmlaxiom_output_taxiom__output_8h-source.html#l00044axiom_mtom_sending_callback_taxiom__mtom__sending__callback_8h-source.html#l00048axiom_data_source.haxiom__data__source_8h-source.htmlentry_s::datastructentry__s.html#b1fbd52ad6c6a83972b0dadd3c875faeaxutil_log::opsstructaxutil__log.html#111db95f40c855be83d589bc6d21b3b3Member axutil_env::allocatorstructaxutil__env.html#87272b6ccdf0c983d462705f78c466f0axutil_allocator::current_poolstructaxutil__allocator.html#5cc7eedc4bf6759a40e61bef6e15848eaxis2_version_t Struct Referencestructaxis2__version__t.htmlMember axis2_transport_receiver_ops::is_runningstructaxis2__transport__receiver__ops.html#ded8017d792312c9ddcef119c2ffaeb4Member axis2_svc_skeleton_ops::init_with_confstructaxis2__svc__skeleton__ops.html#0931f8e4636f97f582421d5babe407b7axis2_svc_skeleton Struct Referencestructaxis2__svc__skeleton.htmlstruct axiom_xpath_result_nodestructaxiom__xpath__result__node.htmlaxiom_xpath_expression::operationsstructaxiom__xpath__expression.html#6eae7cd6440ee80cb9ae2ad7955f84f6struct axiom_xpath_contextstructaxiom__xpath__context.htmlMember axiom_xml_writer_ops::get_prefixstructaxiom__xml__writer__ops.html#d146f0f6c94b7b3e2e9c9a771f09bfbdMember axiom_xml_writer_ops::write_end_elementstructaxiom__xml__writer__ops.html#8527242f1ab3148202bc6199a138181baxiom_xml_writer_ops::get_prefixstructaxiom__xml__writer__ops.html#d146f0f6c94b7b3e2e9c9a771f09bfbdaxiom_xml_writer_ops::write_end_elementstructaxiom__xml__writer__ops.html#8527242f1ab3148202bc6199a138181bMember axiom_xml_reader_ops::get_dtdstructaxiom__xml__reader__ops.html#a9507f65a18b044ed7e33f088101d397axiom_xml_reader_ops::get_namespace_uristructaxiom__xml__reader__ops.html#61441a7ed7c3eb2d8e3755deb63383b2axiom_xml_reader_ops::freestructaxiom__xml__reader__ops.html#b6c0094b13a222f82a3362d30026dd70axiom_mtom_caching_callback_ops::init_handlerstructaxiom__mtom__caching__callback__ops.html#cb0dee62e7dca9f323169eeec32323berp_x509_token_set_derivedkeygroup__rp__x509__token.html#gcd2cf5e28b2f9549c04911e6b8190993rp_wss11_set_must_support_ref_embedded_tokengroup__wss11.html#g45aacb45fbd46e140d3272f441c2807frp_wss10_set_must_support_ref_external_urigroup__wss10.html#g7fe6d48c6c0840d2cfe4cf808ee5fd43rp_username_token_set_derivedkey_typegroup__rp__username__token.html#gc24148614bebf483155acdac673486aaRp_transport_token_buildergroup__rp__transport__token__builder.htmlrp_token_set_derive_key_versiongroup__rp__token.html#g0255a213ead985ee42c976c357bf32f1rp_symmetric_binding_get_signature_tokengroup__rp__symmetric__binding.html#gc65d97805411c9212454b2743a47872brp_symmetric_asymmetric_binding_commons_get_token_protectiongroup__rp__assymmetric__symmetric__binding__commons.html#g90cf54f9fb6cd7e9c9469e207d9de129rp_supporting_tokens_get_encrypted_partsgroup__rp__supporting__tokens.html#ga8eb42422f350ff10949d397a516ba33rp_signed_encrypted_parts_add_headergroup__rp__signed__encrypted__parts.html#g78972d9f5b3c8dd42da55fb73a22f142rp_signed_encrypted_items_creategroup__rp__signed__encrypted__items.html#gf1482f43cab0f5f4c38d344f383d06f4Rp_security_context_token_buildergroup__rp__security__context__token__builder.htmlrp_security_context_token_get_inclusiongroup__rp__security__context__token.html#g4c054ec5798037fde50a2c2566caa0ccrp_secpolicy_get_encrypted_elementsgroup__rp__secpolicy.html#gbe19176eb7747997f6c8c6d3ac95ef06rp_secpolicy_set_bindinggroup__rp__secpolicy.html#gb121494114362737dff61008150e671drp_rampart_config_get_need_millisecond_precisiongroup__rp__rampart__config.html#gd7002602c8312bb90caa42114796473crp_rampart_config_set_authenticate_modulegroup__rp__rampart__config.html#gbcbe8d854326e573314f8b7ce98e2829rp_property_set_valuegroup__rp__property.html#ga628d0045eaf1a9172a839390491f8e1rp_trust10_increment_refgroup__trust10.html#g24d40bb17d1f997faff613f6fd0454adrp_issued_token_get_require_internal_referencegroup__trust10.html#g9670ecbc483ab5f347e8b8533e3dd3a4Rp_initiator_token_buildergroup__rp__initiator__token__builder.htmlrp_header_get_namegroup__rp__header.html#g9f818b5e006370f42d9e8aa26c1ba36dRP_POLICY_PREFIXgroup__rp__defines.html#g85f93c7ef954565b0e5d59afe0de42faRP_PLAINTEXTgroup__rp__defines.html#gcb62144e67dd29cead200002a273e706RP_WSS_SAML_V10_TOKEN_V10group__rp__defines.html#g12a47f1896d6a5aa334651ad992f7873RP_REQUIRE_KEY_IDENTIFIRE_REFERENCEgroup__rp__defines.html#ge8c92e76e1e3a5ff28a2ff5c5914c5b8RP_X509_TOKENgroup__rp__defines.html#g5fbb45e632f4adb3b0ce1704101c6c50RP_P_SHA1_L256group__rp__defines.html#g8e2082e7095a76d8b1eb4cda533accf1RP_RSA_SHA1group__rp__defines.html#g84c8f3814afb71d1f9cb72e5b5ce3bf9RP_ALGO_SUITE_BASIC256group__rp__defines.html#gdfdc0be68b931e6825013768fd68decaRP_REQUIRE_CLIENT_ENTROPYgroup__rp__defines.html#g8a3bf4f7261a7d1d5ea749659d7d21d4RP_ELEMENTgroup__rp__defines.html#gc0b962e8bd7aebfa205d90de40884dc7RP_SYMMETRIC_BINDINGgroup__rp__defines.html#g74f1cad38111c56a425971b4e2974c2drp_binding_commons_set_include_timestampgroup__rp__binding__commons.html#gb68f72e430ce3ead78235135b32e09f4rp_asymmetric_binding_freegroup__rp__asymmetric__binding.html#gf805a92158eb35ea310a20dc85984f65rp_algorithmsuite_get_encryption_key_derivationgroup__rp__algoruthmsuite.html#gd9800a657535b8f4f0287eed6f6cb3a4rp_algorithmsuite_set_symmetric_signaturegroup__rp__algoruthmsuite.html#g087f211ecd99de088caef6c6acf75517Member AXIS2_PARAM_CHECKgroup__axutil__utils.html#g991e733569102d01d912614940aca452AXIS2_TARGET_EPRgroup__axutil__utils.html#g9ab4342f2827e4d72898290fb3a1d4b3Member axutil_uri_parse_hostinfogroup__axutil__uri.html#g7ae7fb761871229bea556e730c092eeaMember AXIS2_URI_UNP_OMITPASSWORDgroup__axutil__uri.html#ga54bd62b2dcdf304deec6087328d9b40Member AXIS2_URI_FTP_DEFAULT_PORTgroup__axutil__uri.html#g890a29bb1a4b69ad44210eb56093ef9daxutil_uri_creategroup__axutil__uri.html#g935c3b7a98e6a20f2020ab3369da88e5AXIS2_URI_RTSP_DEFAULT_PORTgroup__axutil__uri.html#g0e844d7bf3c95b104e6a25b4680a3263axutil_strtoulgroup__axutil__types.html#g3d6c8870244da9b6d6294a420eb9232aaxutil_thread_pool_initgroup__axutil__thread__pool.html#gfadbfea2d099917420634549da19444eMember axutil_thread_mutex_destroygroup__axutil__thread.html#g7e441c4b47fe4466ff385e396258ead3axutil_thread_mutex_trylockgroup__axutil__thread.html#ga050c6ecf8209ba57ea8ec79330632bbaxutil_threadattr_tgroup__axutil__thread.html#g00ba127eb9ea681435b79dfd52132bc9axutil_string_touppergroup__axutil__string__utils.html#gf53501a68e7cb1ecc2ef8c0ef3a20585axutil_strncmpgroup__axutil__string__utils.html#gc212cb9a58d9801d05527395616668ecaxutil_string_get_buffergroup__axutil__string.html#g9c0f8f5767c62ec199047bf8c1071630Member axutil_stream_create_filegroup__axutil__stream.html#g1c531cc65e9cf1a2f652795d5846ff1faxutil_stream_get_lengroup__axutil__stream.html#g614ce1d0378d9e899d65e738dfe05e09axutil_stack_sizegroup__axis2__util__stack.html#gf95d451989a4b2ab4dd443fb9d1a051cMember axutil_qname_create_from_stringgroup__axutil__qname.html#gf1f907c61c777c414eccd333e4947b44axutil_property_clonegroup__axutil__property.html#ga7b77628cd8b33c8e61ce58d187d13d9Member axutil_properties_creategroup__axutil__properties.html#g302e608ffd3717db9df97520f165f3a5axutil_param_container_is_param_lockedgroup__axutil__param__container.html#g7b92618a34e898b748abd9ad5312d5b8Member AXIS2_PARAM_VALUE_FREEgroup__axutil__param.html#ga5c678036ca483c53d4a73a1fa85c8daaxutil_param_get_valuegroup__axutil__param.html#gbe8ba6300e567a0437e0c66dbcdbe729axutil_network_handler_read_dgramgroup__axutil__network__handler.html#ge344861dbf1caae373d431770686a4aeaxutil_md5group__axutil__md5.html#g9e7aead74d8d68f3d8f8177d17239da0Member axutil_log_levels_tgroup__axutil__log.html#g0c477f6f8724a6258a9caaabfcf2c482AXIS2_LEN_VALUEgroup__axutil__log.html#g32188d0af06439b70c3ba50f5f502305AXIS2_LOG_FREEgroup__axutil__log.html#g5ab7c46437ad4fa1a63439e87bc1bfc2Member axutil_linked_list_getgroup__axutil__linked__list.html#g2070ee8b2583d38a8dfe619c02698e7aaxutil_linked_list_add_at_indexgroup__axutil__linked__list.html#gde56abab810e3643547facceb1858c8baxutil_linked_list_get_entrygroup__axutil__linked__list.html#g2d5024ce7b59b66e82978f8ca0c74a06axutil_http_chunked_stream_get_current_chunk_sizegroup__axutil__http__chunked__stream.html#g26d8808871536023926a5ef46233fb45Member axutil_hash_firstgroup__axutil__hash.html#g99452fb3f68e592c7f64286c10b75426axutil_hash_firstgroup__axutil__hash.html#g99452fb3f68e592c7f64286c10b75426axutil_generic_obj_set_free_funcgroup__axutil__generic__obj.html#g67302da7c330704a1d27928a4c550a5baxutil_file_set_timestampgroup__axutil__file.html#ga5158828f392b71ad82530586fc87eb4Member AXIS2_ERROR_FREEgroup__axutil__error.html#g0d679c0b9abcee889fc0dc0b694fab99Member axutil_env_increment_refgroup__axutil__env.html#g5ea411964e441ce76a071a1ac3a08a78axutil_env_create_with_error_loggroup__axutil__env.html#g69b71ca4f32dffb546a225e8f018256eaxutil_duration_set_minsgroup__axutil__duration.html#gdb003ce593facb6615a47efbc0ffd310axutil_duration_tgroup__axutil__duration.html#g3b1bbd97498a2eba8ab72d7187be3846axutil_dll_desc_get_load_optionsgroup__axutil__dll__desc.html#gcd8cde673f0a367ae40b0a75ec96af47axutil_dir_handler_list_services_or_modules_in_dirgroup__axutil__dir__handler.html#gcda4985b02ac72f442822e774481fa65axutil_get_millisecondsgroup__axutil__uuid__gen.html#g4b29c863f58af35241f6c637fac4a02bMember axutil_date_time_creategroup__axutil__date__time.html#g0ee93dfad91aee27df47dfea472273c8axutil_date_time_get_hourgroup__axutil__date__time.html#g709d3af760c962dc1e69b8e7f821ab70axutil_class_loader_create_dllgroup__axutil__class__loader.html#g90ba5440dd4a1c6cdf43313a26bccb70axutil_base64_binary_get_encoded_binarygroup__axutil__base64__binary.html#g417e167050fc9c2f38f129979ba2e0a8Member axutil_array_list_freegroup__axutil__array__list.html#g549e9d4e6c502650ea76d0134551130eaxutil_array_list_getgroup__axutil__array__list.html#gb6e54fa2917ddc0128e98a3bb0adcfadaxutil_allocator_freegroup__axutil__allocator.html#g5e629bf41638a6df23793dbefb542f5baxis2_transport_sender_ops_tgroup__axis2__transport__sender.html#ga6fa9ad0eb8d6d93e6549a0517d8ac73axis2_transport_receiver_is_runninggroup__axis2__transport__receiver.html#g22a8d2cdd593d7966ec853042b6542beMember axis2_transport_out_desc_is_param_lockedgroup__axis2__transport__out__desc.html#g7a1d79a2e07e83772081c39aeaae5abcaxis2_transport_out_desc_get_paramgroup__axis2__transport__out__desc.html#gff44a8c8a8cc57ca618f6c84c18e322etransport out descriptiongroup__axis2__transport__out__desc.htmlMember axis2_transport_in_desc_creategroup__axis2__transport__in__desc.html#g89b3450ffcd518c2a46edea5878cb917axis2_transport_in_desc_set_in_flowgroup__axis2__transport__in__desc.html#ga0d8c3fa889518560959a8b19900e31baxutil_thread_mutex_destroygroup__axis2__mutex.html#g7e441c4b47fe4466ff385e396258ead3axis2_svr_callback_handle_resultgroup__axis2__svr__callback.html#gd89712afed2d93a2852d75ce7927b461AXIS2_SVC_SKELETON_INIT_WITH_CONFgroup__axis2__svc__skeleton.html#g8badcde91b5f58a020eaaafde4a0e431axis2_svc_name_creategroup__axis2__svc__name.html#gd9c5d80b2a677f7d60e7ab28476110fbaxis2_svc_grp_ctx_get_svc_grpgroup__axis2__svc__grp__ctx.html#g07609d72f69f20b13a8a6d9d9c7a51ccMember axis2_svc_grp_get_svcgroup__axis2__svc__grp.html#g7df1792c61f47097ac93f7b729efd773Member axis2_svc_grp_tgroup__axis2__svc__grp.html#g5ef2d05d92b41f84d9dc381ad21d54c4axis2_svc_grp_add_paramgroup__axis2__svc__grp.html#g8e39014339ba95a2d64db6dac4e03811Member axis2_svc_ctx_get_basegroup__axis2__svc__ctx.html#gf2139308d0b7d17fb9e5cfe531927eccaxis2_svc_ctx_tgroup__axis2__svc__ctx.html#g2a3845db3eb9e9a47b992f6c8882e482Member axis2_svc_client_get_svc_ctxgroup__axis2__svc__client.html#g507f51f4a690c9d13e02c98dc17eb02cMember axis2_svc_client_finalize_invokegroup__axis2__svc__client.html#g3376dc048e45a0e943698375698c7420axis2_svc_client_get_last_response_soap_envelopegroup__axis2__svc__client.html#g53d3a7c3bd84013e1ace71061b0ef98caxis2_svc_client_fire_and_forgetgroup__axis2__svc__client.html#g97dacfdcae000a9830c68a92867c45a7Member gaxis2_svc_et_ns_mapgroup__axis2__svc.html#ga7e8bf2f3909dd8ae968f3677da9d980Member axis2_svc_get_svc_folder_pathgroup__axis2__svc.html#g3b8e9e9280ddc1bb96795b595a9bfbd2Member axis2_svc_get_all_paramsgroup__axis2__svc.html#g0db6ea3cba35603e3bea428005a1e681axis2_svc_get_basegroup__axis2__svc.html#g6a9dc1faae21544f140b511419e6d886axis2_svc_set_file_namegroup__axis2__svc.html#gd0ce8a174e0bb8ecca7b8666669a775faxis2_svc_is_module_engagedgroup__axis2__svc.html#gd0f98db137449b246ef2b2b6ec6ba6a4axis2_svc_freegroup__axis2__svc.html#g6adc90fa30952058bb566df6727c75daGroup stubgroup__axis2__stub.htmlAxis2_rm_assertion_buildergroup__axis2__rm__assertion__builder.htmlaxis2_rm_assertion_get_storage_mgrgroup__axis2__rm__assertion.html#g22e762940d942dac25f8c7c37340e6f8axis2_rm_assertion_set_is_sequence_transport_securitygroup__axis2__rm__assertion.html#g6862204254a0b7efcb46cbab24678326axis2_relates_to_set_relationship_typegroup__axis2__relates__to.html#g964c1e6a4cd9029fade0c95209b46166axis2_policy_include_get_policy_with_keygroup__axis2__policy__include.html#g6a247e40a974fd84871c7a26acc14d61axis2_policy_include_tgroup__axis2__policy__include.html#gb5e52f7f3e7c7736ee9b658f58ab6106Member axis2_phases_info_tgroup__axis2__phases__info.html#g046cd908ab0e26ffabd953b41415a712axis2_phases_info_freegroup__axis2__phases__info.html#g944b8a5502c31e04875710e4cff6147fGroup phase rulegroup__axis2__phase__rule.htmlMember axis2_phase_resolver_engage_module_to_svcgroup__axis2__phase__resolver.html#gbbf06ef19a61ea00c495c980f8cbee1baxis2_phase_resolver_disengage_module_from_opgroup__axis2__phase__resolver.html#g899969368596162709da90423336dd11Member AXIS2_PHASE_DISPATCHgroup__axis2__phase__meta.html#gbef3d28ecbcab2b56020f862eae64623Member axis2_phase_holder_add_handlergroup__axis2__phase__holder.html#g8d16ae0d83bd80e4d9264f2c99219dcbMember axis2_phase_invoke_start_from_handlergroup__axis2__phase.html#gae4d903e6f99f2dbd7e358306cfd0733Member AXIS2_PHASE_ANYWHEREgroup__axis2__phase.html#g742763fcecad7c9cd3ff889591151a8daxis2_phase_get_namegroup__axis2__phase.html#g2c92bf9ab205f20e7b603c8a82646d23axis2_out_transport_info_tgroup__axis2__out__transport__info.html#gb841f7dbcba89c8b6f55c193007d68c7Member axis2_options_set_soap_versiongroup__axis2__options.html#ge0a82c10e919078b3e06509e0ffe1042Member axis2_options_set_enable_restgroup__axis2__options.html#gb1533f1ffce6cb2842f60cd14a1270baMember axis2_options_get_propertygroup__axis2__options.html#g326904f3372180e2da28e235de21881fMember AXIS2_COPY_PROPERTIESgroup__axis2__options.html#g8e84174996e7ce97d2ec4c7b49956ad7axis2_options_set_enable_mtomgroup__axis2__options.html#g1b441d3770ced54ff17f117022ea082faxis2_options_set_propertiesgroup__axis2__options.html#g585f0123a394ba50e4aa472a026517b7axis2_options_get_reply_togroup__axis2__options.html#g29a591f1954522269e4dcdbcea8f4cdeMember axis2_op_ctx_set_parentgroup__axis2__op__ctx.html#g89c08b1de5351278b0fa7f429e8c5c4dMember axis2_op_ctx_add_msg_ctxgroup__axis2__op__ctx.html#gd9f9beba0ac1e3e0cfafe4ee0fd9ffb8axis2_op_ctx_get_opgroup__axis2__op__ctx.html#g41e85fb871ff0b60c48f8794d85c3270Member axis2_op_client_prepare_soap_envelopegroup__axis2__op__client.html#g1fab78418f77376796c5d80703f28870Member axis2_op_client_tgroup__axis2__op__client.html#g6bc9ac9f149e65002cdfc265f8a7e505axis2_op_client_set_callback_recvgroup__axis2__op__client.html#gd411a2de66868e708b7e5c02683291a9Member axis2_op_set_rest_http_methodgroup__axis2__op.html#gf94055dea4ef812645371eede4935db2Member axis2_op_get_qnamegroup__axis2__op.html#gc29a00eec143ec118c61ce7d08df09c3Member axis2_op_find_op_ctxgroup__axis2__op.html#gcc6b42d73fa1f2b7eb5e626dc09c7672axis2_op_get_param_containergroup__axis2__op.html#g7df85e46e753d8de9db16f472bfada24axis2_op_get_fault_out_flowgroup__axis2__op.html#gf0b956c2bcc05e930cc3c2dcdc8a5abfaxis2_op_set_rest_http_methodgroup__axis2__op.html#gf94055dea4ef812645371eede4935db2Member axis2_msg_recv_get_scopegroup__axis2__msg__recv.html#g8373c3b1dd3b4d774d6ecedd0993f4d5axis2_msg_recv_get_impl_objgroup__axis2__msg__recv.html#g428a780b155ad3d087c6222c1cbed978Member axis2_msg_info_headers_set_in_message_idgroup__axis2__msg__info__headers.html#gbfb3b68d69fffce5abe41d50a8d3e225Member axis2_msg_info_headers_get_actiongroup__axis2__msg__info__headers.html#g23bef716feab65ea5cea145875c7053daxis2_msg_info_headers_set_fault_to_anonymousgroup__axis2__msg__info__headers.html#gcdd63e8863b18076b46aee90f5b05c6fmessage information headersgroup__axis2__msg__info__headers.htmlMember axis2_msg_ctx_set_status_codegroup__axis2__msg__ctx.html#g5550d319956309bc34205cba288e14b8Member axis2_msg_ctx_set_op_ctxgroup__axis2__msg__ctx.html#geefba02d7fc287e3bdf530dc3743d049Member axis2_msg_ctx_set_find_svcgroup__axis2__msg__ctx.html#gabceeec2b7643a21f1794f4f729af19bMember axis2_msg_ctx_is_pausedgroup__axis2__msg__ctx.html#g991577142c2a5c69df03c1c68c21834bMember axis2_msg_ctx_get_svc_ctxgroup__axis2__msg__ctx.html#g983409d62673569724c9bb4532c8465eMember axis2_msg_ctx_get_paused_handler_namegroup__axis2__msg__ctx.html#g366fd625ade004c3f9d144cd5544d5beMember axis2_msg_ctx_get_in_fault_flowgroup__axis2__msg__ctx.html#g01232a7693673fae962371c41cc154bdMember axis2_msg_ctx_get_charset_encodinggroup__axis2__msg__ctx.html#g872a75f28661a8c83694e47825d3c7d0Member AXIS2_UTF_16group__axis2__msg__ctx.html#g18012bb0c44b6992bbceef98b7b81608axis2_msg_ctx_get_auth_typegroup__axis2__msg__ctx.html#g6cef678fb88ba92bfc2201b0e077cf69axis2_msg_ctx_set_http_accept_language_record_listgroup__axis2__msg__ctx.html#g09473f96d43873ca693eb02cd809354eaxis2_msg_ctx_set_charset_encodinggroup__axis2__msg__ctx.html#gf0b8b26d1b8a7ad80a2930afb0c2363aaxis2_msg_ctx_find_opgroup__axis2__msg__ctx.html#g06450d683a212d8246cc5c240bbce9c9axis2_msg_ctx_get_manage_sessiongroup__axis2__msg__ctx.html#g498e34d21eed5b6fe789f85425c1565aaxis2_msg_ctx_set_msg_info_headersgroup__axis2__msg__ctx.html#g894cd26e3ef286e8cc115d87cc0d31a5axis2_msg_ctx_set_keep_alivegroup__axis2__msg__ctx.html#g29a042eb384e9af2798aea7a91cd7d71axis2_msg_ctx_set_fault_soap_envelopegroup__axis2__msg__ctx.html#g5a75d1d93e2cee20aab553cdaa02b414axis2_msg_ctx_get_fromgroup__axis2__msg__ctx.html#g8494bb2e6d1b4663da5dbf99ef2ee16eAXIS2_UTF_8group__axis2__msg__ctx.html#g7b3f76abded0b271e02ee3d8e3ace866Member axis2_msg_get_flowgroup__axis2__msg.html#ga008e28053a1c980b867502b0619a6a2axis2_msg_set_namegroup__axis2__msg.html#gc15cc16ed5f275763b938f3ae63d6566AXIS2_MSG_OUT_FAULTgroup__axis2__msg.html#g3786b0350a135a0e12915b6e77d6fedfMember axis2_module_desc_get_out_flowgroup__axis2__module__desc.html#gee74a4f6384c34f35780864b8c36cc50axis2_module_desc_create_with_qnamegroup__axis2__module__desc.html#g32a5747341faa2fd783403556d884802axis2_module_desc_get_fault_out_flowgroup__axis2__module__desc.html#g4879dd6cadbceca1634e17924429d6c0axis2_module_creategroup__axis2__module.html#gbbf3d0b019a87d06a865131d41d57fc4axis2_listener_manager_get_conf_ctxgroup__axis2__listener__manager.html#g7bbcb6361e6cd875b2a95198645573c6Member axis2_http_transport_sender_creategroup__axis2__http__transport__sender.html#g900f9936770cbf56d5a071ae4c18ddb7Member AXIS2_HTTP_TRANSPORT_ERRORgroup__axis2__core__transport__http.html#g2657d8649140202746d0586df1cb3562Member AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIREDgroup__axis2__core__transport__http.html#gc762444e8bf5c31e6086a67b6e78e6dbMember AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAMEgroup__axis2__core__transport__http.html#ga23b9385d5fa7674f088243057b7f762Member AXIS2_HTTP_RESPONSE_HEADERSgroup__axis2__core__transport__http.html#g65d58338758223c7389be306c89aa191Member AXIS2_HTTP_PROXY_USERNAMEgroup__axis2__core__transport__http.html#gefdd80aa5585b6d5bd25326ad505a32eMember AXIS2_HTTP_HEADER_SET_COOKIEgroup__axis2__core__transport__http.html#gdf007b00114dbf93cd0f1b04b9875ea9Member AXIS2_HTTP_HEADER_CONTENT_TYPEgroup__axis2__core__transport__http.html#ga91f6adffc487d3a7577e79e71666e23Member AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTMLgroup__axis2__core__transport__http.html#gcea94cbb9325b4681bd8408f22b79689Member AXIS2_HTTP_CONNECTION_TIMEOUTgroup__axis2__core__transport__http.html#g5313444a243f123e6eaea848131c3a46Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHMgroup__axis2__core__transport__http.html#g6f9db4bd605545bb111b38992a1d48b2AXIS2_HTTP_REQUEST_TIMEOUTgroup__axis2__core__transport__http.html#g2c39cd9cbba2e12e6f990f14cd73ced7AXIS2_RETURNgroup__axis2__core__transport__http.html#g5e6c0eac0404a63ecbde66d5a8488e6aAXIS2_COLONgroup__axis2__core__transport__http.html#g3d3518b7fca87c83191965707e70fb2dAXIS2_HTTP_TRANSPORT_ERRORgroup__axis2__core__transport__http.html#g2657d8649140202746d0586df1cb3562AXIS2_HTTP_PROXY_HOSTgroup__axis2__core__transport__http.html#ga9e5947feac7aaf42edeadda21d0e87fAXIS2_HTTP_RESPONSE_BAD_REQUESTgroup__axis2__core__transport__http.html#gc34d4c0dd37cfc29e7c3e6b6be353b16AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XMLgroup__axis2__core__transport__http.html#gef0bfc5a01841f012044e38a849f96f3AXIS2_HTTP_HEADER_PRAGMAgroup__axis2__core__transport__http.html#gfc3e05270a7f8ae8af02d7cc15d3724eAXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTHgroup__axis2__core__transport__http.html#gba2efbcc1aed54000de30ca5c7c28875AXIS2_HTTP_HEADER_AUTHORIZATIONgroup__axis2__core__transport__http.html#g92ce5079ab054bdc638afb35e4084b8eAXIS2_HTTP_HEADgroup__axis2__core__transport__http.html#gdaa0f6f257ae571166bc0f8aa770642eAXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAMEgroup__axis2__core__transport__http.html#g9372668c3dc481f398168892654d8d65AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAMEgroup__axis2__core__transport__http.html#gb6bf35e03a31b0681ac78579fc4ee31bAXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VALgroup__axis2__core__transport__http.html#g5feb9af80cec5cf84ca90ecc4a284309Member AXIS2_HTTP_OUT_TRANSPORT_INFOgroup__axis2__core__transport__http.html#gd61b73b7e24d6c8084805a6faa62925caxutil_url_to_urigroup__axis2__core__transport__http.html#g9ada03eda8fce058ea92a4672ba331c8axis2_http_svr_thread_set_workergroup__axis2__http__svr__thread.html#g163b488819242f3e0f5120d7d645980daxis2_http_status_line_freegroup__axis2__http__status__line.html#gc063225dd0eb855ae6a0fb258da36446Member axis2_http_simple_response_get_http_versiongroup__axis2__http__simple__response.html#g4962ea33b78c3b7057a700b5493e4ac6axis2_http_simple_response_set_mime_partsgroup__axis2__http__simple__response.html#g13433631244e22e3d69dd8921cae7f83axis2_http_simple_response_get_headersgroup__axis2__http__simple__response.html#g0a5b2fdcf5a56cfe9c54eadea6459aabMember axis2_http_simple_request_get_charsetgroup__axis2__http__simple__request.html#g340aaf878e94c5e010931b4a1de7a230axis2_http_simple_request_remove_headersgroup__axis2__http__simple__request.html#g13c4f13d8fb1461784477498c78624d0Member axis2_http_response_writer_print_intgroup__axis2__http__response__writer.html#gbeed0ef80c00b522dd1372901ecca873axis2_http_response_writer_flushgroup__axis2__http__response__writer.html#gb1a6a1b2186ba65ec6bf6d94ee0d6385axis2_http_request_line_get_urigroup__axis2__http__request__line.html#g710583159d531db8e4a504920d820f07axis2_http_out_transport_info_set_char_encoding_funcgroup__axis2__http__out__transport__info.html#gc4276f577d844fa23ed6e0e680a2d7baMember axis2_http_header_tgroup__axis2__http__header.html#gd8f14a5acb342f2f99bcfe3c71e7857eMember axis2_http_client_get_urlgroup__axis2__http__client.html#g703df971a6d10953a217b2aaa173a626axis2_http_client_creategroup__axis2__http__client.html#gfd79db7fb40936a06673e606771aa57daxis2_http_client_tgroup__axis2__http__client.html#gdeeb1e1752239a9e3696e1aa75fe331dMember axis2_handler_desc_set_rulesgroup__axis2__handler__desc.html#g6f0e73a9285c1d118d5d7de0ef0d2877Member axis2_handler_desc_tgroup__axis2__handler__desc.html#gafcabd9d344f36395e60f1b4677835d9axis2_handler_desc_set_namegroup__axis2__handler__desc.html#gae78bea7a133eae9b6c479400a2249d3axis2_handler_set_invokegroup__axis2__handler.html#g57900872f5ba915d669bc0e3e243d6deMember axis2_flow_container_get_fault_out_flowgroup__axis2__flow__container.html#g1f58a7584d692df17ec20c9f5d5cbf67flow containergroup__axis2__flow__container.htmlMember axis2_endpoint_ref_set_svc_namegroup__axis2__endpoint__ref.html#g0a8954c0a595aa9016d125b1c171bcdaMember axis2_endpoint_ref_add_metadatagroup__axis2__endpoint__ref.html#g7a2002fe15ecff7ca9ccf00e0289d8d4axis2_endpoint_ref_set_interface_qnamegroup__axis2__endpoint__ref.html#g1a0f57e4779a0a9beb7133b0dc6932c5Member axis2_addr_disp_creategroup__axis2__disp.html#gf18d7e04a666303b7e2833c3234e770eMember AXIS2_STYLE_KEYgroup__axis2__desc__constants.html#gefc06b1782ab35854a0b8f2ce51044dbAXIS2_SERVICE_CLASS_NAMEgroup__axis2__desc__constants.html#gdf28480aee109151d20c606df2da34badescription related constantsgroup__axis2__desc__constants.htmlGroup descriptiongroup__axis2__description.htmlMember axis2_ctx_set_property_mapgroup__axis2__ctx.html#gd1452d5b24ddbb87565e8b297f7e7fdccontextgroup__axis2__ctx.htmlAXIS2_HANDLER_DLLgroup__axis2__core__dll__desc.html#g0d087cec4cc652dee50e05cd72c91c0dMember axis2_conf_ctx_initgroup__axis2__conf__ctx.html#g95ac09f843d1594d5bf3bf4f6f424fb0axis2_conf_ctx_set_propertygroup__axis2__conf__ctx.html#gfbb679038aba7d0305f8607a5449f381axis2_conf_ctx_set_confgroup__axis2__conf__ctx.html#g2219982ff63cd78a432352482079907aMember axis2_conf_get_transport_ingroup__axis2__config.html#gbb3c960284024e19b4587a8bfe2f54d8Member axis2_conf_get_axis2_flaggroup__axis2__config.html#g5ec35a0f6f9bd8d6c179b74e27c1a22fMember axis2_conf_add_svc_grpgroup__axis2__config.html#gf1d556bc4c78ed899213d9b863834209axis2_conf_set_enable_mtomgroup__axis2__config.html#g15bbcb1d467b2d394ad101afc7c68530axis2_conf_set_out_fault_phasesgroup__axis2__config.html#g4c4a1f282d942f596e29fb2699afff42axis2_conf_get_all_engaged_modulesgroup__axis2__config.html#ge2aa21b6ff10d77d3180459b7e22ebc1axis2_conf_add_svc_grpgroup__axis2__config.html#gf1d556bc4c78ed899213d9b863834209Member axis2_engine_tgroup__axis2__engine.html#g9e253706c74ca12c9674c3714861fe74Group callback message receiver. This can be considered as agroup__axis2__callback__recv.htmlMember axis2_on_complete_func_ptrgroup__axis2__callback.html#g24412ea84a2372e48f030ff7fa2f57ceaxis2_on_error_func_ptrgroup__axis2__callback.html#g195846304fc14b2bd2a55b19b04d220fMember axis2_any_content_type_get_valuegroup__axis2__any__content__type.html#g3526ab922ee7827b7d975316d064dce2ADDR_OUT_HANDLERgroup__axis2__addr__mod.html#g548464c0a3175fda2786d94545f1b2ddMember AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUEgroup__axis2__addr__consts.html#g540bf85e886e5f00dc4ba2c84673be19Member AXIS2_WSA_INTERFACE_NAMEgroup__axis2__addr__consts.html#gc35528fdb8d4a0da501462f1205e4eccAXIS2_WSA_SERVICE_NAME_ENDPOINT_NAMEgroup__axis2__addr__consts.html#gc92b4d9b87dc12c105b8578dcf586c79EPR_ADDRESSgroup__axis2__addr__consts.html#g50b15986d08ce1bb6cb8a3d3b9551449Member axiom_xpath_get_functiongroup__axiom__xpath__api.html#g0cff83ae01a93dfd36978407b9895399Member axiom_xpath_context_tgroup__axiom__xpath__api.html#g82ac95df86678723508c6b4fdda1febbaxiom_xpath_cast_node_to_booleangroup__axiom__xpath__api.html#gc2019dd703c5522ea3373e3e061ada47Member axiom_xml_writer_write_start_document_with_versiongroup__axiom__xml__writer.html#g41c370608ae8441c2601a5edc7addf2bMember axiom_xml_writer_write_cdatagroup__axiom__xml__writer.html#g576af9f5d4f98d90ec40d30844f49467axiom_xml_writer_get_typegroup__axiom__xml__writer.html#gbc1a524cdc028b34aaab64a51f7dd0c8axiom_xml_writer_write_default_namespacegroup__axiom__xml__writer.html#gf73ddc31e494b9a063fe84933e2c4f5fXML writergroup__axiom__xml__writer.htmlMember axiom_xml_reader_get_attribute_prefix_by_numbergroup__axiom__xml__reader.html#g6ab4ee9babdcbf9ff38f2ee7fde7f8bdaxiom_xml_reader_get_prefixgroup__axiom__xml__reader.html#g044e4fce90018e0abe787a224673109eXML readergroup__axiom__xml__reader.htmlMember axiom_text_creategroup__axiom__text.html#g6ec9f4843b931cbf3220ae0505aa933baxiom_text_tgroup__axiom__text.html#g08375577fd21439aeeb6a19f87fd3810axiom_stax_builder_creategroup__axiom__stax__builder.html#gaa043427387b30005fbbf90f0c96cff0axiom_soap_header_block_get_base_nodegroup__axiom__soap__header__block.html#gc44f185b24f7311ce7b24fa24c3a7418Member axiom_soap_header_get_all_header_blocksgroup__axiom__soap__header.html#gcb53361d89fd484c1b66661b7fa75b02soap headergroup__axiom__soap__header.htmlMember axiom_soap_fault_text_get_langgroup__axiom__soap__fault__text.html#gdd77e0f2bb64f0b2e43c1bf7209416fbMember axiom_soap_fault_sub_code_create_with_parentgroup__axiom__soap__fault__sub__code.html#g5145cc80fe64551473e01a1520454182axiom_soap_fault_role_create_with_parentgroup__axiom__soap__fault__role.html#ge4555a85573415bb8b4276acf1ee5694Member axiom_soap_fault_node_set_valuegroup__axiom__soap__fault__node.html#g7b3b82afef78ea3686d668b02a205ce6axiom_soap_fault_detail_get_all_detail_entriesgroup__axiom__soap__fault__detail.html#g211f2e71c7d481d141498b3d0ab6d8c0soap fault codegroup__axiom__soap__fault__code.htmlaxiom_soap_fault_get_rolegroup__axiom__soap__fault.html#gd83a049e57b3aec2aba62dd8d3349a94Member axiom_soap_envelope_get_base_nodegroup__axiom__soap__envelope.html#ga494a9aa5bb5567f6362ed6ba45ecf32axiom_soap_envelope_create_default_soap_envelopegroup__axiom__soap__envelope.html#gcc0331effc60b8a61285e3ec07e32652Member axiom_soap_builder_get_document_elementgroup__axiom__soap__builder.html#g612ed080bcef174cde30adb0fc087c2aaxiom_soap_builder_nextgroup__axiom__soap__builder.html#gbb3d06154356e916298f4740d5b8eaebaxiom_soap_body_add_childgroup__axiom__soap__body.html#g67ce69f3f13c325bd541fff5a2059d49axiom_processing_instruction_get_valuegroup__axiom__processing__instruction.html#ga99551b7aa26abd73d5d6f788c288eb4Member axiom_output_is_ignore_xml_declarationgroup__axiom__output.html#g81bff0ffb6194b14d744b02119ee1f64axiom_output_get_xml_writergroup__axiom__output.html#g228008fd140581a1f01faeeb4f2b769cMember axiom_node_to_string_non_optimizedgroup__axiom__node.html#g9f6d265d8c276d0925aef199396cda0aMember axiom_node_free_treegroup__axiom__node.html#g934d857b13c36866a6c85078f156bc82axiom_node_serialize_sub_treegroup__axiom__node.html#ga5e126b3d2462d4569e0d4b0a9bcd80eaxiom_node_free_treegroup__axiom__node.html#g934d857b13c36866a6c85078f156bc82axiom_navigator_freegroup__axiom__navigator.html#g8645e38b5959e3693b59aa8b794c74a4axiom_namespace_get_prefix_strgroup__axiom__namespace.html#g5e91b447c16d8fc05a3080c1e33e1fe8axiom_mtom_sending_callback_tgroup__mtom__sending__callback.html#g1b8c0dbaa427283987be2131fcb340eeMember axiom_mime_parser_set_caching_callback_namegroup__axiom__mime__parser.html#g6440482e9821e7bd06be17382568f9b2axiom_mime_parser_get_soap_body_lengroup__axiom__mime__parser.html#g40a67e95af791703fa91d7b796ea89a2Member axiom_element_remove_attributegroup__axiom__element.html#g357eef9527ea48d774a7531b43c5e188Member axiom_element_get_attributegroup__axiom__element.html#g3576a6b54cbe7d1b5f0967fc91e17424axiom_element_use_parent_namespacegroup__axiom__element.html#g4ba9f367967bd316db956b33d3d33608axiom_element_get_textgroup__axiom__element.html#gd8bad88ee39396639a639f2d6943e631axiom_element_freegroup__axiom__element.html#ga93dfaff8cd3e00e6f691089a5700d90Member axiom_document_freegroup__axiom__document.html#gcc7942d49c50f48f063e9576c361e939Member axiom_doctype_serializegroup__axiom__doctype.html#gb6fc65e0ba230a28101b082e7490c1f0axiom_data_source_freegroup__axiom__data__source.html#g3465c61c35c61c6886be0326beef86c6Member axiom_data_handler_freegroup__axiom__data__handler.html#g790d6d952b28f7aa0202216ef5074489axiom_data_handler_get_input_streamgroup__axiom__data__handler.html#g1fcb504cd3cdb758b5247066c1cb332ccommentgroup__axiom__comment.htmlMember axiom_children_qname_iterator_nextgroup__axiom__children__qname__iterator.html#gf407f75da538e75839c59fa385017680axiom_children_iterator_has_nextgroup__axiom__children__iterator.html#g2feaa85fe1cc83968e6f8bb51cc546d7AXIOM_CHILD_ELEMENT_ITERATOR_REMOVEgroup__axiom__child__element__iterator.html#g2787bc3aad29d5182215ca6977eb4356Member axiom_attribute_freegroup__axiom__attribute.html#gd28f7c80adad15d93a1be5a8918c92c9axiom_attribute_serializegroup__axiom__attribute.html#gac6dabe7926ef1275437d5b5d1363108neethi_util.h File Referenceneethi__util_8h.htmlneethi_policy.hneethi__policy_8h.htmlneethi_policy.h File Referenceneethi__policy_8h.htmlneethi_exactlyone_is_emptyneethi__exactlyone_8h.html#59cc59dd61b070a376fbfbe594b0c8b1neethi_engine.h File Referenceneethi__engine_8h.htmlAXIS2_RM_ACKNOWLEDGEMENT_INTERVALneethi__constants_8h.html#fcdeca3819f20c6bf4d3b906656cccb5NEETHI_URIneethi__constants_8h.html#4bb016adb45a957de9f9420c9c1c6662neethi_assertion_set_elementneethi__assertion_8h.html#215c4e55fd8c174605cef98d7819d9d9neethi_all_createneethi__all_8h.html#9111a1123ff98f2ba47d9e6ccf9ac573AXIS2_CREATE_FUNCTIONgroup__axutil__utils.html#gdf04006f325f60c4a2de4404b68a5b3caxutil_url_get_portgroup__axis2__core__transport__http.html#gb646b26c999e60306479be7db8036d55axutil_uri_get_querygroup__axutil__uri.html#gc967a6e1c1b5193f500f0af22506ecaaAXIS2_URI_UNP_OMITQUERYgroup__axutil__uri.html#g83806b77d30e0c012192145ee73c4eb4AXIS2_URI_WAIS_DEFAULT_PORTgroup__axutil__uri.html#gc73c5de55dd281e5db79bcd377bbf1baaxutil_thread_pool_thread_detachgroup__axutil__thread__pool.html#ga9a805c61ea2a61f0d92f2d298ea9fa1axutil_thread_joingroup__axutil__thread.html#g4503fd95978af26c67875430c4cf11d9axutil_stack.haxutil__stack_8h.htmlaxutil_qname.haxutil__qname_8h.htmlaxutil_param_container_add_paramgroup__axutil__param__container.html#g9a877505574102079a55cbdb6aae06fdaxutil_param_get_param_typegroup__axutil__param.html#g5fd6c7f443ffcf002cc042c3aca0b276axutil_md5_updategroup__axutil__md5.html#g4376674b24f5e755fef8113029600a58axutil_linked_list_addgroup__axutil__linked__list.html#g0084179ae23ffb3b65f0345933aaacf3axutil_linked_list.haxutil__linked__list_8h.htmlaxutil_hash_freegroup__axutil__hash.html#ge49a13a2adc0881ffdd7f69c6459b949AXIS2_HASH_KEY_STRINGgroup__axutil__hash.html#g9d76d1650779662f4e6727f4284e34d9AXIS_ENV_FREE_THREADPOOLgroup__axutil__env.html#g79f0bf625d0f1496c0bfba6089b8b158axutil_dll_desc_get_load_optionsgroup__axutil__dll__desc.html#gcd8cde673f0a367ae40b0a75ec96af47axutil_digest_calc_get_h_a1group__axutil__digest__calc.html#g0d599c73edbb99c815d66eeb05963819axutil_date_time_local_to_utcgroup__axutil__date__time.html#gf6ded9a9079fac6f4c57a829fc2b4f8daxutil_date_time_deserialize_timegroup__axutil__date__time.html#g7e5fb45f3ddfccdbb4a22f27d07f6c58axutil_base64_binary_set_encoded_binarygroup__axutil__base64__binary.html#g86b05bf454e80645877f1a55d55b5150axutil_array_list_setgroup__axutil__array__list.html#g77177f8cd9a95ec0bedeec6906352395Member axutil_allocator_tgroup__axutil__allocator.html#g24403baa66b6208837ff50b46f8ba930axis2_transport_receiver.haxis2__transport__receiver_8h.htmlaxis2_transport_out_desc_add_paramgroup__axis2__transport__out__desc.html#g8621dd5272956b27dea575d3faea7661axis2_transport_in_desc.haxis2__transport__in__desc_8h.htmlaxis2_transport_in_desc_get_enumgroup__axis2__transport__in__desc.html#g6ec4b9bf77f2828b7461de54bb7655ceAXIS2_SVC_SKELETON_ON_FAULTgroup__axis2__svc__skeleton.html#gc1c9dfc996cb0f8603e042cef200db98axis2_svc_grp_ctx_get_svc_grpgroup__axis2__svc__grp__ctx.html#g07609d72f69f20b13a8a6d9d9c7a51ccaxis2_svc_grp_get_svc_grp_ctxgroup__axis2__svc__grp.html#gb251e99e1e5c6b7945f3a6f91fa164a6axis2_svc_grp_set_namegroup__axis2__svc__grp.html#g2cdd211b2086bfd7c24ae4939809ab26axis2_svc_ctx.h File Referenceaxis2__svc__ctx_8h.htmlaxis2_svc_client_set_proxy_with_authgroup__axis2__svc__client.html#gcfe99e1b20b72175564545aa3643a578axis2_svc_client_engage_modulegroup__axis2__svc__client.html#ge2df35732ba09cb585e44917306ecfcdaxis2_svc_get_param_containergroup__axis2__svc.html#gb0e91f0337ca9f35a18cd119df3821feaxis2_svc_set_svc_descgroup__axis2__svc.html#g4a5c7c02129b43cdb31b47d4d02ed1aeaxis2_svc_add_paramgroup__axis2__svc.html#gc48a028c9452d77839752c8d9c3adbd1axis2_stub_get_optionsgroup__axis2__stub.html#ge0caef65d517bbde1018db927bbf2e27Member axis2_simple_http_svr_conn_read_requestaxis2__simple__http__svr__conn_8h.html#66c2425d7f064862abd57a3039214531axis2_simple_http_svr_conn_write_responseaxis2__simple__http__svr__conn_8h.html#9c5f441d8ba42ed821177698719aae49axis2_relates_to_creategroup__axis2__relates__to.html#g1f7a4765f50521b1cc0bedc34da084beaxis2_phase_rule_tgroup__axis2__phase__rule.html#g9c63c3673a8a009300b1d5c6d89cc3f5axis2_phase_holder.haxis2__phase__holder_8h.htmlaxis2_phase_insert_handler_descgroup__axis2__phase.html#g60f6b9e367666f8232f3287478c83b32AXIS2_PHASE_BEFOREgroup__axis2__phase.html#gedaee8553f3bd49535a393920321b836axis2_options_set_http_methodgroup__axis2__options.html#g1c7eff578547cf234abd57ea34f2e0b9axis2_options_add_reference_parametergroup__axis2__options.html#g37109110cd1537d898fd4ec78787988eaxis2_options_set_fault_togroup__axis2__options.html#g14e60636d93226301003417edc5c96a0axis2_options_get_transport_receivergroup__axis2__options.html#g2503c35d1dd383cc8f18cba198097df3axis2_op_ctx_set_parentgroup__axis2__op__ctx.html#g89c08b1de5351278b0fa7f429e8c5c4daxis2_op_client_set_reusegroup__axis2__op__client.html#geaaa726f66d8836c6bc46c946c960b9eaxis2_op_client_executegroup__axis2__op__client.html#g54d84d352d333aacf2f7bb79b8d53a9aaxis2_msg_recv_set_invoke_business_logicgroup__axis2__msg__recv.html#g16539b5323421debe6696589e5f1d9d0axis2_msg_info_headers_add_ref_paramgroup__axis2__msg__info__headers.html#ga95d76b3311e4885959e2a5609a327f0axis2_msg_info_headers_get_reply_to_nonegroup__axis2__msg__info__headers.html#gaa81e0e4e5e338f395c2682ab11c665daxis2_msg_ctx_get_http_output_headersgroup__axis2__msg__ctx.html#gbba5b7ca4deab1b41fda5701ec5b1be7axis2_msg_ctx_get_content_languagegroup__axis2__msg__ctx.html#g8343c9fe27d659cfe939ff865033bc3daxis2_msg_ctx_get_status_codegroup__axis2__msg__ctx.html#g6f928344dc07a6808c1d7a5365e26e86axis2_msg_ctx_get_optionsgroup__axis2__msg__ctx.html#g8af21689d7304ae4712308a4951a071eaxis2_msg_ctx_set_manage_sessiongroup__axis2__msg__ctx.html#g28c3e7dd62554357c3fd42c9b6e9dc48axis2_msg_ctx_get_parametergroup__axis2__msg__ctx.html#gf6f4791211bb2e7bb2a3da886da0c06aaxis2_msg_ctx_get_transport_in_descgroup__axis2__msg__ctx.html#gd45ce053de9a2aeb9fc0d5d103f7c73aaxis2_msg_ctx_set_message_idgroup__axis2__msg__ctx.html#g9523fae1595a4b3e9dead658deccce7faxis2_msg_ctx_get_in_fault_flowgroup__axis2__msg__ctx.html#g01232a7693673fae962371c41cc154bdAXIS2_UTF_16group__axis2__msg__ctx.html#g18012bb0c44b6992bbceef98b7b81608axis2_msg_set_flowgroup__axis2__msg.html#ge2d0cca919d701cc03f6a99d7fff3164axis2_module_desc_free_void_arggroup__axis2__module__desc.html#g346c54cf62f63272833814eeb412904daxis2_module_desc_set_fault_out_flowgroup__axis2__module__desc.html#ga36710d6c228635ea4223b1de3b40e97axis2_module_initgroup__axis2__module.html#g9ca78c64c10ccef1c279b93faf24d2a8axis2_http_worker.haxis2__http__worker_8h.htmlaxis2_http_transport_utils_get_services_htmlaxis2__http__transport__utils_8h.html#1e48a78dda202ca20f9bdf20a9687347axis2_http_transport_utils_process_http_head_requestaxis2__http__transport__utils_8h.html#ad02c7a6fe8b160cc09e9e639b030c39axis2_http_transport_sender.h File Referenceaxis2__http__transport__sender_8h.htmlaxis2_http_status_line_starts_with_httpgroup__axis2__http__status__line.html#gc8a15adb266f3dbd37ede4817928ca1baxis2_http_simple_request_remove_headersgroup__axis2__http__simple__request.html#g13c4f13d8fb1461784477498c78624d0Member axis2_http_sender_set_chunkedaxis2__http__sender_8h.html#f0ef471e61eef4e81579b2c69317769baxis2_http_sender_process_responseaxis2__http__sender_8h.html#d59456a80bebf0481cd502c618943c67axis2_http_response_writer_create_with_encodinggroup__axis2__http__response__writer.html#gfa1431f2e3ffb7a707769039b0d2407baxis2_http_request_line_creategroup__axis2__http__request__line.html#gf722f10a9e8b2f115af74dcbd066339aaxis2_http_out_transport_info_set_content_typegroup__axis2__http__out__transport__info.html#g6c6fc7b1cf689442c23c5d2db2353acfaxis2_http_client.haxis2__http__client_8h.htmlaxis2_http_client_get_timeoutgroup__axis2__http__client.html#g32bb50461fab10fa658ac0d1c659e7daaxis2_http_accept_record_tgroup__axis2__http__accept__record.html#ge384ef207777c3f8a0e151650e043b90axis2_handler_desc_set_rulesgroup__axis2__handler__desc.html#g6f0e73a9285c1d118d5d7de0ef0d2877AXIS2_HANDLER_INVOKEgroup__axis2__handler.html#g2c528673112976486f57a552795378f0axis2_flow_free_void_arggroup__axis2__flow.html#g42ad166a913ea806e83ad0f60ac49d73axis2_engine_create_fault_msg_ctxgroup__axis2__engine.html#g048a9c624d618b3c705d41ae77bab9d0axis2_endpoint_ref_get_metadata_attribute_listgroup__axis2__endpoint__ref.html#gc58bdf7baf4dfc5a9f2e15bd2b40061eaxis2_addr_disp_creategroup__axis2__disp.html#gf18d7e04a666303b7e2833c3234e770eAXIS2_IN_FLOW_KEYgroup__axis2__desc__constants.html#ga41f19199cb6d14fe08b749ce252581aaxis2_desc_remove_childgroup__axis2__description.html#g36c19818ab4b074242cc72c3f427e686AXIS2_FAULT_OUT_FLOWaxis2__defines_8h.html#8043878d85527a6ae8688f1df13e70d7AXIS2_TRANSPORT_SENDER_DLLgroup__axis2__core__dll__desc.html#gd7daccecc53ff3e7916e1bcfc78c23ecaxis2_conf_ctx_register_svc_grp_ctxgroup__axis2__conf__ctx.html#g068ae26464a6cf8b2cc8a530603b516aaxis2_conf_get_param_containergroup__axis2__config.html#g83de5146ca7d0529d1af8ec8f1944013axis2_conf_get_axis2_xmlgroup__axis2__config.html#ga0d096c494a2ad9eb24767275d0baa7eaxis2_conf_get_all_svcsgroup__axis2__config.html#gb3d4be2ef73eee238915c80a8f9b155caxis2_conf_get_paramgroup__axis2__config.html#g1335e3c90eb343f5a06ad1cdc761f638axis2_callback_get_datagroup__axis2__callback.html#g8c45ec7f00c453b201c3f11c94c0bec4axis2_async_result_get_resultgroup__axis2__async__result.html#g4b31e913ac079031b24e18c67236ef25axis2_addr_mod.h File Referenceaxis2__addr__mod_8h.htmlAXIS2_WSA_ANONYMOUS_URLgroup__axis2__addr__consts.html#g20752682a087c66467fbf5f09c434c7eAXIS2_WSA_FROMgroup__axis2__addr__consts.html#g2e581c359ddbed08e8fc9aaf3adbc639axiom_xml_writer_write_start_document_with_version_encodinggroup__axiom__xml__writer.html#gc04ed21c2449d5ead09d7deca9fbfb18axiom_xml_writer_write_empty_element_with_namespacegroup__axiom__xml__writer.html#gf9edf4fa8cabfcad5c4df01f33ef5314axiom_xml_reader_xml_freegroup__axiom__xml__reader.html#g06c3e71eb295e7a0869a21ca2c88386daxiom_xml_reader_cleanupgroup__axiom__xml__reader.html#gaaf09b4bb704c449270da3eebda5e813axiom_soap_header_block_get_must_understandgroup__axiom__soap__header__block.html#g5e505325bdbc54550f7f3eef9107738eaxiom_soap_header_examine_header_blocksgroup__axiom__soap__header.html#g1715ee6353da48cd2148b8adfd227814axiom_soap_fault_text.haxiom__soap__fault__text_8h.htmlaxiom_soap_fault_sub_code_create_with_parentgroup__axiom__soap__fault__sub__code.html#g5145cc80fe64551473e01a1520454182axiom_soap_fault_reason_get_all_soap_fault_textsgroup__axiom__soap__fault__reason.html#ge03a74d45b0ecd4da089c00c2fe01a3baxiom_soap_fault_detail_get_base_nodegroup__axiom__soap__fault__detail.html#g85a5beb382158427f7d560b62bdd2fa3axiom_soap_fault_code.h File Referenceaxiom__soap__fault__code_8h.htmlaxiom_soap_envelope.haxiom__soap__envelope_8h.htmlaxiom_soap_envelope.h File Referenceaxiom__soap__envelope_8h.htmlaxiom_soap_builder_get_soap_envelopegroup__axiom__soap__builder.html#geb67f37a1ab8b01af8f9073c137cd92baxiom_soap_body_taxiom__soap__body_8h.html#589c2cdcc077459c273e2c7841362038axiom_node_get_last_childgroup__axiom__node.html#g9f55bfff8ac1c89995dfc93d47ddcd0aaxiom_mtom_sending_callback_tgroup__mtom__sending__callback.html#g1b8c0dbaa427283987be2131fcb340eeMember axiom_mime_part_createaxiom__mime__part_8h.html#e71826186bee5d49b56847a207cafcfcaxiom_mime_parser_creategroup__axiom__mime__parser.html#g05b3c82c78a50ffe9d1d05fffdc4c2eeaxiom_document_build_allgroup__axiom__document.html#g8c20adf1ab6226417b5946d72f8888d1axiom_doctype_creategroup__axiom__doctype.html#gf5a0bbfb2f36e549919f1aa3fb6982c8axiom_data_handler_get_data_handler_typegroup__axiom__data__handler.html#gc95c723477124e5707df871340fbfb4eaxiom_data_handler_taxiom__data__handler_8h.html#a7f04fc1b953a4a8f4bc5613a0dd1fddaxiom_children_with_specific_attribute_iterator_removegroup__axiom__children__with__specific__attribute__iterator.html#g5a6f6f5c3e00b9bc512ee30d8e452413axiom_children_qname_iterator.h File Referenceaxiom__children__qname__iterator_8h.htmlaxiom_child_element_iterator_taxiom__child__element__iterator_8h.html#00379fb89228e5c586722403b008a3b2axiom_attribute_set_localnamegroup__axiom__attribute.html#g45d596e4d7eaf81d205f9b8f01c580e5rp_wss11_builder.hrp__wss11__builder_8h-source.htmlrp_supporting_tokens.hrp__supporting__tokens_8h-source.htmlrp_policy_creator.hrp__policy__creator_8h-source.htmlrp_asymmetric_binding.hrp__asymmetric__binding_8h-source.htmlguththila_token.hguththila__token_8h-source.htmlaxis2_scopesaxutil__utils_8h-source.html#l00172AXIS2_URI_UNP_OMITUSERaxutil__uri_8h-source.html#l00086AXIS2_URI_TELNET_DEFAULT_PORTaxutil__uri_8h-source.html#l00048axutil_string.haxutil__string_8h-source.htmlAXIS2_LOG_PROJECT_PREFIXaxutil__log_8h-source.html#l00239entry_s::nextaxutil__linked__list_8h-source.html#l00053axutil_error::status_codeaxutil__error_8h-source.html#l00755axutil_date_time.haxutil__date__time_8h-source.htmlAXIS2_TRANSPORT_SENDER_FREEaxis2__transport__sender_8h-source.html#l00148AXIS2_THREAD_MUTEX_NESTEDaxis2__thread__mutex_8h-source.html#l00046axis2_svc_skeleton.haxis2__svc__skeleton_8h-source.htmlaxis2_simple_http_svr_conn.haxis2__simple__http__svr__conn_8h-source.htmlAXIS2_PHASE_POLICY_DETERMINATIONaxis2__phase__meta_8h-source.html#l00069axis2_out_transport_info_taxis2__out__transport__info_8h-source.html#l00044axis2_msg_info_headers.haxis2__msg__info__headers_8h-source.htmlAXIS2_MSG_OUT_FAULTaxis2__msg_8h-source.html#l00052axis2_listener_manager_taxis2__listener__manager_8h-source.html#l00049AXIS2_SSL_PASSPHRASEaxis2__http__transport_8h-source.html#l00921AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUTaxis2__http__transport_8h-source.html#l00831AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIMEaxis2__http__transport_8h-source.html#l00745AXIS2_HTTP_HEADER_CONNECTIONaxis2__http__transport_8h-source.html#l00660AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5axis2__http__transport_8h-source.html#l00569AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALMaxis2__http__transport_8h-source.html#l00484AXIS2_HTTP_PUTaxis2__http__transport_8h-source.html#l00393AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAMEaxis2__http__transport_8h-source.html#l00308AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAMEaxis2__http__transport_8h-source.html#l00217AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VALaxis2__http__transport_8h-source.html#l00131axis2_http_svr_thread.haxis2__http__svr__thread_8h-source.htmlaxis2_http_request_line_taxis2__http__request__line_8h-source.html#l00043axis2_handler.haxis2__handler_8h-source.htmlAXIS2_IN_FLOW_KEYaxis2__description_8h-source.html#l00108AXIS2_IN_FLOWaxis2__defines_8h-source.html#l00036axis2_callback.haxis2__callback_8h-source.htmlAXIS2_WSA_INTERFACE_NAMEaxis2__addr_8h-source.html#l00128AXIS2_WSA_MAPPINGaxis2__addr_8h-source.html#l00069axiom_xpath_context::streamingaxiom__xpath_8h-source.html#l00154axiom_xpath_expressionaxiom__xpath_8h-source.html#l00099axiom_stax_builder.haxiom__stax__builder_8h-source.htmlaxiom_processing_instruction.haxiom__processing__instruction_8h-source.htmlaxiom_mtom_sending_callback_opsaxiom__mtom__sending__callback_8h-source.html#l00063axiom_data_source_taxiom__data__source_8h-source.html#l00047entry_s::nextgroup__axutil__linked__list.html#g8663ba871d35c8166f3a61ce49c3d0f0axutil_log::levelstructaxutil__log.html#083fd70b8c1f8b74b63cf5e2121aa945Member axutil_env::errorstructaxutil__env.html#b27a4204b2635ac3c0e1b2a4d59e9cabstruct axutil_allocatorstructaxutil__allocator.htmlaxis2_version_t::majorstructaxis2__version__t.html#5b09e7b8017cf59f4c1dce05043b6b6dMember axis2_transport_receiver_ops::stopstructaxis2__transport__receiver__ops.html#1d77c3de28af26ef0962dab95f179bcfaxis2_transport_receiver Struct Referencestructaxis2__transport__receiver.htmlaxis2_svc_skeleton::opsstructaxis2__svc__skeleton.html#94510b1f879d2402c1402142d75f948cMember axiom_xpath_result_node::typestructaxiom__xpath__result__node.html#641f491b7161bd35e233eb0e2fa31c32axiom_xpath_expression::startstructaxiom__xpath__expression.html#e21223fbdd92617ef4b63c2df60fe6feMember axiom_xpath_context::envstructaxiom__xpath__context.html#0147eb85d75a7c4d9e607d31f248102eMember axiom_xml_writer_ops::set_prefixstructaxiom__xml__writer__ops.html#1dc7aaaa7a93eb687a9df7954284a8caMember axiom_xml_writer_ops::write_end_documentstructaxiom__xml__writer__ops.html#3138b51841a55f98918bf692cf7801c2axiom_xml_writer_ops::set_prefixstructaxiom__xml__writer__ops.html#1dc7aaaa7a93eb687a9df7954284a8caaxiom_xml_writer_ops::write_end_documentstructaxiom__xml__writer__ops.html#3138b51841a55f98918bf692cf7801c2Member axiom_xml_reader_ops::xml_freestructaxiom__xml__reader__ops.html#5fc97ffea35f86a12e538528e9024e04axiom_xml_reader_ops::get_namespace_uri_by_prefixstructaxiom__xml__reader__ops.html#7de10de8f774ecee32d6ec0590e90501axiom_xml_reader_ops::get_attribute_countstructaxiom__xml__reader__ops.html#22a176378851114e11809eabd8b4ae46axiom_mtom_caching_callback_ops::cachestructaxiom__mtom__caching__callback__ops.html#eee2e2b2ed7226da2beb403def8418d5rp_x509_token_get_derivedkey_versiongroup__rp__x509__token.html#gc54c9d043eca645350a0c9cc3f324c88rp_wss11_get_must_support_ref_thumbprintgroup__wss11.html#gf531257987862eff835e8109ed0daf81rp_wss10_get_must_support_ref_embedded_tokengroup__wss10.html#g5ae05bb6ebb65d1541caf6ca09b244eerp_username_token_get_is_issuer_namegroup__rp__username__token.html#g898d059fb246a513310b931e5269dfb3rp_transport_token_builder_buildgroup__rp__transport__token__builder.html#gbff8c9571378b7547d6ce04680bdeb44rp_token_get_derive_key_versiongroup__rp__token.html#g27c0e47f4ee059fe9c3f6c24fe5fe172rp_symmetric_binding_increment_refgroup__rp__symmetric__binding.html#g4101a4791015941d21c9422c2626c4b7rp_symmetric_asymmetric_binding_commons_set_token_protectiongroup__rp__assymmetric__symmetric__binding__commons.html#gd6b1e89b6465d75ee84da0443bcd8641rp_supporting_tokens_set_encrypted_partsgroup__rp__supporting__tokens.html#gf47d4a87ae0a483baee229720a07d4f0rp_signed_encrypted_parts_increment_refgroup__rp__signed__encrypted__parts.html#g54f4d69beab213b35b15fde000244fd1rp_signed_encrypted_items_freegroup__rp__signed__encrypted__items.html#g96d8a0460708872605f59f5bd7c7fb7brp_security_context_token_builder_buildgroup__rp__security__context__token__builder.html#g2153eec838a35bc6914b560c5579eee7rp_security_context_token_set_inclusiongroup__rp__security__context__token.html#gc4052abf1481255edbb3abe54e1d1480rp_secpolicy_set_signed_itemsgroup__rp__secpolicy.html#gf61dfacb569728a8b85708faedd2b83frp_secpolicy_get_bindinggroup__rp__secpolicy.html#g790d3b22c329aff817ac0e54c8ed8623rp_rampart_config_set_need_millisecond_precisiongroup__rp__rampart__config.html#gf6a8139c7e6472cfae7e287517c1e526rp_rampart_config_get_replay_detectorgroup__rp__rampart__config.html#g14e9ce2cd5b98fdc91bf2bb642ff6e43rp_property_get_valuegroup__rp__property.html#gee7d804294fc158860cc2b11cf79560bRp_layoutgroup__rp__layout.htmlrp_issued_token_set_require_internal_referencegroup__trust10.html#g4d6b09103852ed108989a325828c7fc0rp_initiator_token_builder_buildgroup__rp__initiator__token__builder.html#g67107ac62f2e706f74343a91b105e3e8rp_header_set_namegroup__rp__header.html#g1015e756c757244430a175f2cf0d389eRP_RAMPART_PREFIXgroup__rp__defines.html#g49a41ee78801ee52c645d1a478a8a1e1RP_DIGESTgroup__rp__defines.html#gf9388beb1c77ded39982a54a3edba270RP_WSS_SAML_V11_TOKEN_V10group__rp__defines.html#ga04b3eb5f5939fb30d706893d5baf365RP_REQUIRE_ISSUER_SERIAL_REFERENCEgroup__rp__defines.html#g1b418354ff1e2eafb5cf677f99971097RP_SAML_TOKENgroup__rp__defines.html#g98bc0e06d1a946bd1ad60348a543e029RP_X_PATHgroup__rp__defines.html#g730a18cb5396093ab75396605dd63ca1RP_SHA1group__rp__defines.html#g3a7cc72f28f5e01177476b2a28b4b469RP_ALGO_SUITE_BASIC192group__rp__defines.html#gd2348ec03a48a905f3c18ffdc5fe3f94RP_REQUIRE_SERVER_ENTROPHYgroup__rp__defines.html#g3bf460844a6d8a1de40fe317e9bb49dbRP_ATTACHMENTSgroup__rp__defines.html#g932eae21ebfaf69dc8c631f672be1f92RP_ASYMMETRIC_BINDINGgroup__rp__defines.html#g5aee5ecec85697552d1eb47739461504rp_binding_commons_get_layoutgroup__rp__binding__commons.html#gfa0f14ef55c510842b0abbfc9144e4farp_asymmetric_binding_get_symmetric_asymmetric_binding_commonsgroup__rp__asymmetric__binding.html#ga0a50f5ca62980cf52c8adadd57f69b5rp_algorithmsuite_get_soap_normalizationgroup__rp__algoruthmsuite.html#g902f94d642e08300282fc99c21eb12fbrp_algorithmsuite_get_asymmetric_signaturegroup__rp__algoruthmsuite.html#gf0cb6550c016c6496ebd8f9f261bac7dMember axis2_scopesgroup__axutil__utils.html#g102944cbbb59586e2d48aa4a95a55f64AXIS2_DUMP_INPUT_MSG_TRUEgroup__axutil__utils.html#g9a2ecb69f3dc20cdeef5667bf029a455Member axutil_uri_parse_relativegroup__axutil__uri.html#gb1f06713caf077056cf82e14dddb3f6bMember AXIS2_URI_UNP_OMITPATHINFOgroup__axutil__uri.html#gf9be5c22507d50e8852d6b346068bf85Member AXIS2_URI_GOPHER_DEFAULT_PORTgroup__axutil__uri.html#g1324185e1936eefc96758ac7b3bd1d1eaxutil_uri_port_of_schemegroup__axutil__uri.html#gdf1a3e50e6387fafd45b14e1aa0f8208AXIS2_URI_SNEWS_DEFAULT_PORTgroup__axutil__uri.html#g453de6d294e03f6a1950b5ecd1c767a4axutil_strtolgroup__axutil__types.html#g57ae365c36198358746da262a8c371e3axutil_init_thread_envgroup__axutil__thread__pool.html#gbc008925cad197747506eb338fd26b1fMember axutil_thread_mutex_lockgroup__axutil__thread.html#g7f987573535cf90ba67b2b2ae047ee46axutil_thread_mutex_unlockgroup__axutil__thread.html#gd275462277abb24342d1b69967ba79b4axutil_thread_once_tgroup__axutil__thread.html#g62e2f1428e742cdfad365b22fc2c271baxutil_strcasestrgroup__axutil__string__utils.html#g40d66df30dd87c5c2e39c851473414adaxutil_strlengroup__axutil__string__utils.html#g9bdfa21d0c5b8bf21cb9edcaa03ccd33axutil_string_get_lengthgroup__axutil__string.html#gca7b79811404b25130d326842b74c414Member axutil_stream_create_socketgroup__axutil__stream.html#g86be0e77c1793480716cd0de34e8fe6baxutil_stream_create_basicgroup__axutil__stream.html#g0eaf7a2ca366ab5e01ce5d71072f8702axutil_stack_getgroup__axis2__util__stack.html#gd20eebb41e7cca8b6eba7de3c12b6229Member axutil_qname_equalsgroup__axutil__qname.html#g1c9a3b98ac4a0f1dd0b323f4c118c2f4Member axutil_property_creategroup__axutil__property.html#g0c788c91efff2e54567af74055b85a52Member axutil_properties_freegroup__axutil__properties.html#g8537d135fdd4744ee69bc5221383edf7Member axutil_param_container_add_paramgroup__axutil__param__container.html#g9a877505574102079a55cbdb6aae06fdMember axutil_param_creategroup__axutil__param.html#g9653106fd7e6c73b77388ebb86e67debaxutil_param_set_namegroup__axutil__param.html#gf67948fa2fd421b2d41ff4661f7cfd81axutil_network_handler_create_dgram_svr_socketgroup__axutil__network__handler.html#g2435f6c5b98a0b6bec78ee95702f9276Member AXIS2_MD5_DIGESTSIZEgroup__axutil__md5.html#g46524d732e43163e7e19261f67e24246Member axutil_log_levelsgroup__axutil__log.html#gd0a4d978fc80ce29636196b75e21b06daxutil_log_levels_tgroup__axutil__log.html#g0c477f6f8724a6258a9caaabfcf2c482AXIS2_LOG_WRITEgroup__axutil__log.html#g0d322dbc6a5fa08d12c606f466763117Member axutil_linked_list_get_entrygroup__axutil__linked__list.html#g2d5024ce7b59b66e82978f8ca0c74a06axutil_linked_list_remove_at_indexgroup__axutil__linked__list.html#g2c79f16cebb8e5cb1bdc55f5c83952daaxutil_linked_list_remove_entrygroup__axutil__linked__list.html#ge16515ceea10d7cc07f34eb9e1a5d37aaxutil_http_chunked_stream_write_last_chunkgroup__axutil__http__chunked__stream.html#g517ddae95767dd642b1e79151c68f031Member axutil_hash_freegroup__axutil__hash.html#ge49a13a2adc0881ffdd7f69c6459b949axutil_hash_nextgroup__axutil__hash.html#gf273ceaf30433b5bef16fe389afbb3e9axutil_generic_obj_set_valuegroup__axutil__generic__obj.html#g3157b904409e8177f148b8f3f4cb381eaxutil_file_get_timestampgroup__axutil__file.html#g5551c06b8c44f610a21c54d223289390Member axutil_error_tgroup__axutil__error.html#gd3e0dd837fed2e7c5a7ba30d21846cf4errorgroup__axutil__error.htmlaxutil_env_create_with_error_log_thread_poolgroup__axutil__env.html#g354311dd06dcbb5cb4e2d6ec2532e8a6axutil_duration_get_secondsgroup__axutil__duration.html#g0165940378f50d4e090995fd92c10892axutil_duration_creategroup__axutil__duration.html#g16290b58f9407559bf66a271985a1430axutil_dll_desc_set_dl_handlergroup__axutil__dll__desc.html#gf6b509b4c4730d6cc43121a7d20e7db5axutil_dir_handler_list_service_or_module_dirsgroup__axutil__dir__handler.html#g023fa12ed7c96e3721b2373607384895axutil_uuid_gengroup__axutil__uuid__gen.html#g640d70c68f3b45aab96599d03e2491f4Member axutil_date_time_deserialize_dategroup__axutil__date__time.html#g41eaf8f9265a60efd098ac335e89cb0caxutil_date_time_get_minutegroup__axutil__date__time.html#gb90d270ad77e3ad9b2dd7ed4e0120a63Axutil_date_timegroup__axutil__date__time.htmlaxutil_base64_binary_get_encoded_binary_lengroup__axutil__base64__binary.html#ge89f2a3f7e788c995ab764df3ba896cdMember axutil_array_list_free_void_arggroup__axutil__array__list.html#gf649de5177ea73a4e2e39c38af79e62faxutil_array_list_setgroup__axutil__array__list.html#g77177f8cd9a95ec0bedeec6906352395axutil_allocator_switch_to_global_poolgroup__axutil__allocator.html#g7c4b9b9277c33abdfbd7f5838c1482daaxis2_transport_sender_creategroup__axis2__transport__sender.html#gd6e69829fc6298d56fe3bf89c523949bGroup transport receivergroup__axis2__transport__receiver.htmlMember axis2_transport_out_desc_set_enumgroup__axis2__transport__out__desc.html#g3f8f58f6a90b6edc394949481eb2fe04axis2_transport_out_desc_is_param_lockedgroup__axis2__transport__out__desc.html#g7a1d79a2e07e83772081c39aeaae5abcaxis2_transport_out_desc_tgroup__axis2__transport__out__desc.html#g30caf90fd8fb7b0c89700bcb12e250dfMember axis2_transport_in_desc_freegroup__axis2__transport__in__desc.html#g21d5acc0496701bb3a3d3c6e12f8a45aaxis2_transport_in_desc_get_fault_in_flowgroup__axis2__transport__in__desc.html#g7eefabf8404784204c46c7d4ff639211Member AXIS2_THREAD_MUTEX_DEFAULTgroup__axis2__mutex.html#gd096680721aedfeb237647a9d59deedfaxis2_svr_callback_handle_faultgroup__axis2__svr__callback.html#g047c37ee9b79b4dd89a3f55761e6506cAXIS2_SVC_SKELETON_FREEgroup__axis2__svc__skeleton.html#g2d7f27e2cbfaff2288c6ecfccb55ff26axis2_svc_name_get_qnamegroup__axis2__svc__name.html#g0d2b872b6822efcc48098f8b462d13c9axis2_svc_grp_ctx_get_svc_ctx_mapgroup__axis2__svc__grp__ctx.html#g7c8027f1714d507296e9defc65defeb5Member axis2_svc_grp_get_svc_grp_ctxgroup__axis2__svc__grp.html#gb251e99e1e5c6b7945f3a6f91fa164a6Member axis2_svc_grp_add_module_qnamegroup__axis2__svc__grp.html#g5216eb0c4232d0de1f58594f99e22391axis2_svc_grp_get_paramgroup__axis2__svc__grp.html#g4d666a7940bfb4377d1aba5c1815d577Member axis2_svc_ctx_get_conf_ctxgroup__axis2__svc__ctx.html#gf0645d1d2501588e81ba725137927348axis2_svc_ctx_creategroup__axis2__svc__ctx.html#gfde2ce40c07183001b2a1ef867fb36aeMember axis2_svc_client_get_target_endpoint_refgroup__axis2__svc__client.html#gf7576c7c16ad4859bbf04f771d03cc3eMember axis2_svc_client_fire_and_forgetgroup__axis2__svc__client.html#g97dacfdcae000a9830c68a92867c45a7axis2_svc_client_get_last_response_has_faultgroup__axis2__svc__client.html#ge0c17bd903894f28245d22e996c54dbdaxis2_svc_client_send_receive_with_op_qnamegroup__axis2__svc__client.html#g6e0d00d836295f92e14473d3cf3bf78bMember saxis2_svc_et_target_nsgroup__axis2__svc.html#gb3d818fcf7a3a43f8358f7c3a1a23689Member axis2_svc_get_svc_wsdl_pathgroup__axis2__svc.html#g1287041d3b531780558da54386ed38a3Member axis2_svc_get_basegroup__axis2__svc.html#g6a9dc1faae21544f140b511419e6d886axis2_svc_get_mutexgroup__axis2__svc.html#g97b0a26fada7f86232df3fdfcba849afaxis2_svc_add_mappinggroup__axis2__svc.html#ga99aa4caaa67315dee21b53283163999axis2_svc_get_engaged_module_listgroup__axis2__svc.html#g41a846eaf8687e08757fa82924441157axis2_svc_add_opgroup__axis2__svc.html#g5cbd6c2e47273db94632e6d5a407ffa9Member AXIOM_SOAP_11group__axis2__stub.html#g474df5196c2a46015268b108ce2dde5caxis2_rm_assertion_builder_buildgroup__axis2__rm__assertion__builder.html#gdae1c8fae970969170192eef43b41bc4axis2_rm_assertion_set_storage_mgrgroup__axis2__rm__assertion.html#g6ae614b2599da766fe6b43cf741c65f1axis2_rm_assertion_get_is_exactly_oncegroup__axis2__rm__assertion.html#gb98a5416600b1cc31b127d3607e00264axis2_relates_to_freegroup__axis2__relates__to.html#g6f8c0bf96b07b67ed99af0ea01136e3eaxis2_policy_include_add_policy_elementgroup__axis2__policy__include.html#ga0251ea676df200e02b78b66471e0394axis2_policy_include_creategroup__axis2__policy__include.html#g2c111101ec579191588807b7668123aaMember axis2_phases_info_creategroup__axis2__phases__info.html#g6c64569d496cd6d9845761b1f1831f8faxis2_phases_info_set_in_phasesgroup__axis2__phases__info.html#gc58249a95191f44734acbb8d1ea60fabMember axis2_phase_rule_tgroup__axis2__phase__rule.html#g9c63c3673a8a009300b1d5c6d89cc3f5Member axis2_phase_resolver_freegroup__axis2__phase__resolver.html#gec0d6b1a44b15361b0c840ef947572dfaxis2_phase_resolver_build_transport_chainsgroup__axis2__phase__resolver.html#g9efb7f943f914da282d838fc692bfe37Member AXIS2_PHASE_MESSAGE_OUTgroup__axis2__phase__meta.html#g5fd68500c1d841c3cb7b52570039a237Member axis2_phase_holder_build_transport_handler_chaingroup__axis2__phase__holder.html#g0994dce48be4df6e0100cf3ca382e768Member axis2_phase_remove_handlergroup__axis2__phase.html#g54cc63e78b54a9b1b91783b07fb3b6e9Member AXIS2_PHASE_BEFOREgroup__axis2__phase.html#gedaee8553f3bd49535a393920321b836axis2_phase_get_handler_countgroup__axis2__phase.html#gf518d1c97d2c1a16427259de20a80628axis2_out_transport_info_ops_tgroup__axis2__out__transport__info.html#g3ff953fff5a9aef3b5cd1ffbdb7ee636Member axis2_options_set_soap_version_urigroup__axis2__options.html#gfa4179613c1277d4301bb25065e9007bMember axis2_options_set_fault_togroup__axis2__options.html#g14e60636d93226301003417edc5c96a0Member axis2_options_get_relates_togroup__axis2__options.html#ga20805b9f4550070953e4f1e189ed78aMember AXIS2_DEFAULT_TIMEOUT_MILLISECONDSgroup__axis2__options.html#gfc55ac210f2f22e70ac1d905d8509fe4axis2_options_get_enable_mtomgroup__axis2__options.html#g868f6cfddb5dcae40c8dcaf870eb688faxis2_options_set_propertygroup__axis2__options.html#g5a364a815c87168bb136d8cbd11476aaaxis2_options_get_transport_outgroup__axis2__options.html#g31b684c1588681915e4be4242f0e7ee0Member axis2_op_ctx_set_response_writtengroup__axis2__op__ctx.html#ge742cc55efddb40eddffae46ba11125bMember axis2_op_ctx_cleanupgroup__axis2__op__ctx.html#g7ae8623d063eed0d7120d49f025bc60baxis2_op_ctx_get_parentgroup__axis2__op__ctx.html#g2c28e9321f282f79b6aa7b5575171fd5Member axis2_op_client_receivegroup__axis2__op__client.html#g9e6d223494c0b13bb9070a87fb2b53a6Member axis2_op_client_add_msg_ctxgroup__axis2__op__client.html#gc4c291b473d3aa4bcc19308018521347axis2_op_client_freegroup__axis2__op__client.html#g3f2aaeed111dbfc0bb5074d6384de49aMember axis2_op_set_stylegroup__axis2__op.html#g49c363288528fd63b48030a0f9bc4149Member axis2_op_get_rest_http_locationgroup__axis2__op.html#g2346e418ceb5c2c3a3a0863137b1ea83Member axis2_op_freegroup__axis2__op.html#gd1ecba5cbec7a54a42ea8199f38d9d74axis2_op_remove_from_engaged_module_listgroup__axis2__op.html#g9f7d35efd6f1787cbccefb3fda7f57ccaxis2_op_get_out_flowgroup__axis2__op.html#g0e48f8565d6852e9e477c63e13efbad4axis2_op_get_rest_http_methodgroup__axis2__op.html#ga8727e126abd06683ddab5830164a336Member axis2_msg_recv_invoke_business_logicgroup__axis2__msg__recv.html#g4b958421f632a04e659883698ad70728axis2_msg_recv_set_scopegroup__axis2__msg__recv.html#g7514db74a30752f14c1208adcabff8fcMember axis2_msg_info_headers_set_message_idgroup__axis2__msg__info__headers.html#ge85e94287e9fd4a3b21f7ebe681dfa0eMember axis2_msg_info_headers_get_all_ref_paramsgroup__axis2__msg__info__headers.html#g085e872c1d2b336e927df9f2f7d9a4aeaxis2_msg_info_headers_get_fault_to_anonymousgroup__axis2__msg__info__headers.html#g4654c31f1dc87401fc8f8acb9de79c4eaxis2_msg_info_headers_tgroup__axis2__msg__info__headers.html#g556873fdfa94e29e43d96728871f3192Member axis2_msg_ctx_set_supported_rest_http_methodsgroup__axis2__msg__ctx.html#g0fb6ae57c92a4554697bd3e3877cd512Member axis2_msg_ctx_set_optionsgroup__axis2__msg__ctx.html#gccc481e49357f41dc151e130622385faMember axis2_msg_ctx_set_flowgroup__axis2__msg__ctx.html#gda9507539e7d87a7f835ab89ab1b9b28Member axis2_msg_ctx_reset_out_transport_infogroup__axis2__msg__ctx.html#ga340eaf8ff86f9bc8324f9e082f8dfbeMember axis2_msg_ctx_get_svc_ctx_idgroup__axis2__msg__ctx.html#ga015e6d25bffee86c4f258077da21a57Member axis2_msg_ctx_get_paused_phase_indexgroup__axis2__msg__ctx.html#ge9096fd622018cf004f072ae25d81d8cMember axis2_msg_ctx_get_is_soap_11group__axis2__msg__ctx.html#g6dbf37da7d9d04410d2a78aa621c9fb5Member axis2_msg_ctx_get_conf_ctxgroup__axis2__msg__ctx.html#g08b24ce7f8f48a571a0a3461d7e17af9Member AXIS2_UTF_8group__axis2__msg__ctx.html#g7b3f76abded0b271e02ee3d8e3ace866axis2_msg_ctx_get_http_output_headersgroup__axis2__msg__ctx.html#gbba5b7ca4deab1b41fda5701ec5b1be7axis2_msg_ctx_get_content_languagegroup__axis2__msg__ctx.html#g8343c9fe27d659cfe939ff865033bc3daxis2_msg_ctx_get_status_codegroup__axis2__msg__ctx.html#g6f928344dc07a6808c1d7a5365e26e86axis2_msg_ctx_get_optionsgroup__axis2__msg__ctx.html#g8af21689d7304ae4712308a4951a071eaxis2_msg_ctx_set_manage_sessiongroup__axis2__msg__ctx.html#g28c3e7dd62554357c3fd42c9b6e9dc48axis2_msg_ctx_get_parametergroup__axis2__msg__ctx.html#gf6f4791211bb2e7bb2a3da886da0c06aaxis2_msg_ctx_get_transport_in_descgroup__axis2__msg__ctx.html#gd45ce053de9a2aeb9fc0d5d103f7c73aaxis2_msg_ctx_set_message_idgroup__axis2__msg__ctx.html#g9523fae1595a4b3e9dead658deccce7faxis2_msg_ctx_get_in_fault_flowgroup__axis2__msg__ctx.html#g01232a7693673fae962371c41cc154bdAXIS2_UTF_16group__axis2__msg__ctx.html#g18012bb0c44b6992bbceef98b7b81608Member axis2_msg_get_namegroup__axis2__msg.html#g4d0a9953fea4185365e869b71b6dec42axis2_msg_get_basegroup__axis2__msg.html#ge6b0879687a82eec5c5cf621bd803623axis2_msg_tgroup__axis2__msg.html#g20e480486e264ed4fb5df0517ce76b09Member axis2_module_desc_get_paramgroup__axis2__module__desc.html#g4c2f8d8e3b263468edc82aa1d53aea3aaxis2_module_desc_free_void_arggroup__axis2__module__desc.html#g346c54cf62f63272833814eeb412904daxis2_module_desc_set_fault_out_flowgroup__axis2__module__desc.html#ga36710d6c228635ea4223b1de3b40e97Group modulegroup__axis2__module.htmlaxis2_listener_manager_freegroup__axis2__listener__manager.html#g4fa9a09dcf7fb5491806eb62ca43db25http workergroup__axis2__http__worker.htmlMember AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPEgroup__axis2__core__transport__http.html#g3b84425331fca9839c0d0509a743014eMember AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAMEgroup__axis2__core__transport__http.html#g25218dbccb5bd8dfa452d911ed89dfa4Member AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VALgroup__axis2__core__transport__http.html#g2b93d55191c18645df532a00afbaf551Member AXIS2_HTTP_RESPONSE_HTTP_FORBIDDENgroup__axis2__core__transport__http.html#gbe9063c944bf0ee54d0826e8d45c3851Member AXIS2_HTTP_PUTgroup__axis2__core__transport__http.html#g6251a130901459f2d6145e67c717de2fMember AXIS2_HTTP_HEADER_SET_COOKIE2group__axis2__core__transport__http.html#g409d0d7c0661ff91bb8923099bd9ae4cMember AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARYgroup__axis2__core__transport__http.html#g36f29985a9ef2063dc91fe05e5bf852cMember AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAINgroup__axis2__core__transport__http.html#gbf89d89663c4bf055978bf309e7c8726Member AXIS2_HTTP_CRLFgroup__axis2__core__transport__http.html#g25c0536f1517e6a1516ac81993a40304Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCEgroup__axis2__core__transport__http.html#g9227215ac541bf3f91e7e62d999189c5AXIS2_HTTP_CONFLICTgroup__axis2__core__transport__http.html#ge65ac7c6dbbf45201de3a06ef34049fcAXIS2_NEW_LINEgroup__axis2__core__transport__http.html#ge23324bffffdb380eca0dc4f5d350d07AXIS2_COLON_STRgroup__axis2__core__transport__http.html#gf690ec1ffb8cad7e6f123cf6562dd0acAXIS2_HTTP_UNSUPPORTED_MEDIA_TYPEgroup__axis2__core__transport__http.html#g3b84425331fca9839c0d0509a743014eAXIS2_HTTP_PROXY_PORTgroup__axis2__core__transport__http.html#g8c4d32828f2a5964438273eab633a609AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERRORgroup__axis2__core__transport__http.html#gc92cd0d766ff006829c0d4dd97d9a7c8AXIS2_HTTP_HEADER_ACCEPT_TEXT_XMLgroup__axis2__core__transport__http.html#g157d87764d28d5d478dbd4f5054013e0AXIS2_HTTP_HEADER_LOCATIONgroup__axis2__core__transport__http.html#ge1c6e00125354fa650944145598917b6AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INTgroup__axis2__core__transport__http.html#ged1536c9d0d31edc7784d6a0d4deb465AXIS2_HTTP_HEADER_WWW_AUTHENTICATEgroup__axis2__core__transport__http.html#gfc1108eecccf6c8c3afe77b86841bd9fAXIS2_HTTP_PUTgroup__axis2__core__transport__http.html#g6251a130901459f2d6145e67c717de2fAXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAMEgroup__axis2__core__transport__http.html#g25218dbccb5bd8dfa452d911ed89dfa4AXIS2_HTTP_RESPONSE_OK_CODE_NAMEgroup__axis2__core__transport__http.html#gdcde5ce921f690be927f7782153855afAXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VALgroup__axis2__core__transport__http.html#g749faf0ed6ce0f4453ccc8ee41088ef1AXIS2_HTTP_CRLFgroup__axis2__core__transport__http.html#g25c0536f1517e6a1516ac81993a40304axutil_url_to_external_formgroup__axis2__core__transport__http.html#gd7799e682b56a35ce09dbe290b1f5fdaaxis2_http_svr_thread_freegroup__axis2__http__svr__thread.html#gc9ba98f63d99c0cd0e5d3b8c4b7cd15aaxis2_http_status_line_creategroup__axis2__http__status__line.html#gbaf68d23c0e7e8d0e91687a7d6e9b848Member axis2_http_simple_response_get_phrasegroup__axis2__http__simple__response.html#g965654d448f369bcd78c25eb8ba68a40axis2_http_simple_response_set_http_versiongroup__axis2__http__simple__response.html#gd04b7c0ef9570a7e2f1dd2e8ffdc89f3axis2_http_simple_response_extract_headersgroup__axis2__http__simple__response.html#g4c84cd1eb2d04211699a348817f0fb3cMember axis2_http_simple_request_get_content_lengthgroup__axis2__http__simple__request.html#g240a77f497fd89d640f9e7364263647faxis2_http_simple_request_add_headergroup__axis2__http__simple__request.html#g8451d9b42f770193cf5d4d5d2b699710Member axis2_http_response_writer_print_strgroup__axis2__http__response__writer.html#g2fcb29f5c9d3c09b08267641f6b78178axis2_http_response_writer_write_chargroup__axis2__http__response__writer.html#g9368c11f97efadb018f9319d374fcf18axis2_http_request_line_to_stringgroup__axis2__http__request__line.html#g0ad4fd96368580cc4bbf594f6efde5b7axis2_http_out_transport_info_set_content_type_funcgroup__axis2__http__out__transport__info.html#g58b3c716940a7492bb16a70284fd6fe0Member axis2_http_header_creategroup__axis2__http__header.html#g36d6aff978955bdebabf97f2f3fedcb4Member axis2_http_client_recieve_headergroup__axis2__http__client.html#g5f5f7785804c35e3eb2adf658ac03343axis2_http_client_free_void_arggroup__axis2__http__client.html#gc33e073ad963820ba18f7b255b060a53axis2_http_client_sendgroup__axis2__http__client.html#g101755ba5822bee5f88615d18fa6259fHTTP Accept recordgroup__axis2__http__accept__record.htmlMember axis2_handler_desc_add_paramgroup__axis2__handler__desc.html#g737790760fbba87a858641543d446814axis2_handler_desc_get_rulesgroup__axis2__handler__desc.html#g7b4d3746f2bd22d912ef0f92b6359749axis2_handler_creategroup__axis2__handler.html#gf6ebc6af97f6e0f7f3709c3b474cb1e3Member axis2_flow_container_get_in_flowgroup__axis2__flow__container.html#g977c13c226bc8108499ef62d21ac903caxis2_flow_container_tgroup__axis2__flow__container.html#g645e6696dcbc315b06681604a150254fflowgroup__axis2__flow.htmlMember axis2_endpoint_ref_add_metadata_attributegroup__axis2__endpoint__ref.html#g67bc0356744635c35d3d6bb7755dcbfbaxis2_endpoint_ref_get_ref_param_listgroup__axis2__endpoint__ref.html#g53737580ff3a85142e9a5360726e0175Member axis2_disp_creategroup__axis2__disp.html#g65066d9785fb1f3dbeeef3e4b478fccddispatchergroup__axis2__disp.htmlMember AXIS2_CLASSLOADER_KEYgroup__axis2__desc__constants.html#g60fdf1e9762c3a7806e25188fe2e1434AXIS2_EXECUTION_CHAIN_KEYgroup__axis2__desc__constants.html#gadedea70ac9dab41e3006111329f0274Member axis2_desc_tgroup__axis2__description.html#g9bbf771ae43a8364c5f453c7077f0f1edescriptiongroup__axis2__description.htmlaxis2_ctx_tgroup__axis2__ctx.html#ga705ff779281577f08fef5330c23402cAXIS2_MSG_RECV_DLLgroup__axis2__core__dll__desc.html#gf67276a63175c0f1a5176c20aab83f62Member axis2_conf_ctx_register_op_ctxgroup__axis2__conf__ctx.html#gbb9159aa11b1ed08deb4f02a2b320a64axis2_conf_ctx_get_propertygroup__axis2__conf__ctx.html#ga8842aca9155be5f501e12818c1303e1axis2_conf_ctx_get_basegroup__axis2__conf__ctx.html#ge66a52699ed3a03ae50286e9ea859abbMember axis2_conf_get_transport_outgroup__axis2__config.html#gaf9cf73e931cfb1fcb70206de2adaa26Member axis2_conf_get_axis2_xmlgroup__axis2__config.html#ga0d096c494a2ad9eb24767275d0baa7eMember axis2_conf_add_transport_ingroup__axis2__config.html#g78048cf013c8a2441862164f9aaaedbeaxis2_conf_get_axis2_flaggroup__axis2__config.html#g5ec35a0f6f9bd8d6c179b74e27c1a22faxis2_conf_get_all_modulesgroup__axis2__config.html#gae78d7f53b928733081821be9c869c86axis2_conf_get_in_phases_upto_and_including_post_dispatchgroup__axis2__config.html#g39916547b5444449bcd1a87f3a37111daxis2_conf_get_svc_grpgroup__axis2__config.html#g0a81de08c7d260307dce83727e7fbb6cMember axis2_engine_creategroup__axis2__engine.html#ged13c1a9fe02067b8678f4d1c8a412a5enginegroup__axis2__engine.htmlMember axis2_on_error_func_ptrgroup__axis2__callback.html#g195846304fc14b2bd2a55b19b04d220faxis2_callback_invoke_on_completegroup__axis2__callback.html#g3cec591f0caffc39e747b02ba29060baMember axis2_any_content_type_get_value_mapgroup__axis2__any__content__type.html#gc67a76c66f54b965bc5872ff132bbb86axis2_addr_in_handler_creategroup__axis2__addr__mod.html#gceab132029893e997dca5687c6228de3Member AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSIONgroup__axis2__addr__consts.html#g96acda046fde6398ecd5c494b5feb1abMember AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTEgroup__axis2__addr__consts.html#g4739c8ded874a3d7901bc6229a46dc24AXIS2_WSA_POLICIESgroup__axis2__addr__consts.html#ge70b4a9e6cbf4bed35ea66db740dcd14EPR_REFERENCE_PARAMETERSgroup__axis2__addr__consts.html#g72037ab1241ed326161516f373649416Member axiom_xpath_get_namespacegroup__axiom__xpath__api.html#g81ba6657a1992f1b45a0930f7a413b68Member axiom_xpath_expression_tgroup__axiom__xpath__api.html#g064994aadf8d1c9a29e2be75a84bf0feaxiom_xpath_cast_node_to_numbergroup__axiom__xpath__api.html#ge9336d53cde0e884f5fb213b9df02674Member axiom_xml_writer_write_start_document_with_version_encodinggroup__axiom__xml__writer.html#gc04ed21c2449d5ead09d7deca9fbfb18Member axiom_xml_writer_write_charactersgroup__axiom__xml__writer.html#geda418c524b47842e3df20b4fbba1a41axiom_xml_writer_write_rawgroup__axiom__xml__writer.html#g5229740973a7dc818a405bd209866071axiom_xml_writer_write_commentgroup__axiom__xml__writer.html#g62018bab93eafc410e4f4c2c0b2d5a93axiom_xml_writer_creategroup__axiom__xml__writer.html#g193830479789aa7b7c199a6abb390288Member axiom_xml_reader_get_attribute_value_by_numbergroup__axiom__xml__reader.html#g5008312eab21f2d6af4ab9c1facec082axiom_xml_reader_get_namegroup__axiom__xml__reader.html#g4aa5740186e9a96828f3faceee38f09eaxiom_xml_reader_create_for_filegroup__axiom__xml__reader.html#gcdedc0633fbbd6d3a3f2a1af534f047aMember axiom_text_create_strgroup__axiom__text.html#g680d66526e3cbc1179a65f4185f29910axiom_text_creategroup__axiom__text.html#g6ec9f4843b931cbf3220ae0505aa933baxiom_stax_builder_nextgroup__axiom__stax__builder.html#g36663b99e04b43c27f49fa8d0aac6140axiom_soap_header_block_get_soap_versiongroup__axiom__soap__header__block.html#gee5697cf3757399514eec4d2253b323eMember axiom_soap_header_get_base_nodegroup__axiom__soap__header.html#g91bacc73f64c81dbb156c1159083fa7aaxiom_soap_header_create_with_parentgroup__axiom__soap__header.html#gdc95d432dd64bf5c37e3bd47cd908f4fMember axiom_soap_fault_text_get_textgroup__axiom__soap__fault__text.html#g5b2f411950e2d7ff211d5b37ef292a60Member axiom_soap_fault_sub_code_create_with_parent_valuegroup__axiom__soap__fault__sub__code.html#g14d4c68d8cf092dc1b3da0342d6c85f7axiom_soap_fault_role_freegroup__axiom__soap__fault__role.html#g65884e3c4a1f088240630672ab24eb06soap fault reasongroup__axiom__soap__fault__reason.htmlaxiom_soap_fault_detail_get_base_nodegroup__axiom__soap__fault__detail.html#g85a5beb382158427f7d560b62bdd2fa3axiom_soap_fault_code_create_with_parentgroup__axiom__soap__fault__code.html#g118a27d270da7111861d94c1301be667axiom_soap_fault_get_detailgroup__axiom__soap__fault.html#gefcbf6ce5d6408bc3f56da09ac2f9afaMember axiom_soap_envelope_get_bodygroup__axiom__soap__envelope.html#g662a2d8cd4bf9a7a82f79492c9b16ad3axiom_soap_envelope_create_default_soap_fault_envelopegroup__axiom__soap__envelope.html#gb7fc6e54a5c354e7e5f285c78e7f7fc0Member axiom_soap_builder_get_mime_body_partsgroup__axiom__soap__builder.html#g41b1ec4410e05ade94e2cde9397a616daxiom_soap_builder_get_document_elementgroup__axiom__soap__builder.html#g612ed080bcef174cde30adb0fc087c2aaxiom_soap_body_convert_fault_to_soap11group__axiom__soap__body.html#g9e5fafdf4c3be8634b6460caaf2483c0axiom_processing_instruction_serializegroup__axiom__processing__instruction.html#g1e1686dc2df0b37ecb59f2a71d5ca7d8Member axiom_output_is_optimizedgroup__axiom__output.html#g1b0aca50dd4aa5ac231c2e67d27022e3axiom_output_get_content_typegroup__axiom__output.html#g993ce7f461a59a39432f689734c37aa2outputgroup__axiom__output.htmlMember axiom_node_get_data_elementgroup__axiom__node.html#geb488e8c836956940ea4c01b92a0c421axiom_node_sub_tree_to_stringgroup__axiom__node.html#g7fa2bbf70033a1eb6943a9b2c1c4de59axiom_node_add_childgroup__axiom__node.html#gd0406c625e1dbde273a6010cf8bab38caxiom_navigator_is_navigablegroup__axiom__navigator.html#g2d8801b3e5d9046ce1db9e564c62b28aMember axiom_namespace_clonegroup__axiom__namespace.html#g5784d0b07008694433e27272403acd9bMember axiom_mtom_sending_callback_ops_tgroup__mtom__sending__callback.html#g2ec4f4b0d36484d7d80600f079ad153cMember axiom_mime_parser_set_max_buffersgroup__axiom__mime__parser.html#g5673d9d89ee85532d51e16756c712e68axiom_mime_parser_get_soap_body_strgroup__axiom__mime__parser.html#g6550688f1ddcc45d11363947f441e2beMember axiom_element_serialize_end_partgroup__axiom__element.html#ge12cd52e93534b7f123bc97a828eb967Member axiom_element_get_attribute_valuegroup__axiom__element.html#g430ca6654bedc354b143b4c424691a2aaxiom_element_redeclare_parent_namespacesgroup__axiom__element.html#ga81ac198c70919220ad1ec3b61c8de27axiom_element_get_first_elementgroup__axiom__element.html#g83dd3135f56980148c1a5c25fbc2e231axiom_element_serialize_start_partgroup__axiom__element.html#g8e6697b5ebbad4a3ebccd3d2904e77a2Member axiom_document_free_selfgroup__axiom__document.html#g03b25353883e6de5acbc0b80bcb0b456Member axiom_doctype_set_valuegroup__axiom__doctype.html#g7a9798d07369fd4a0a3cff0098e55886axiom_data_source_serializegroup__axiom__data__source.html#g488ccc8d887b633e749a88ac260fb9c7Member axiom_data_handler_get_cachedgroup__axiom__data__handler.html#g12b16a32671739f4faa56c72ec99bc8caxiom_data_handler_get_input_stream_lengroup__axiom__data__handler.html#g2f9ba62f37963b8425b85710a1873845axiom_comment_tgroup__axiom__comment.html#g461a34750e5dc2697cd8f5370f8843d6Member axiom_children_qname_iterator_removegroup__axiom__children__qname__iterator.html#g6c9fd0776505254c0073943eece20134axiom_children_iterator_nextgroup__axiom__children__iterator.html#gf494b239eadffce560091d7896b1ab8fAXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXTgroup__axiom__child__element__iterator.html#g9bf4c687c0bacf5d593a3bc54c415790Member axiom_attribute_free_void_arggroup__axiom__attribute.html#geb9ac7efe5dbb33273cd37c9ddc99b0aaxiom_attribute_get_localnamegroup__axiom__attribute.html#g7ec0c8a1b00cdd260d3bbbe9c25d48d6neethi_util_create_policy_from_fileneethi__util_8h.html#fe5f86b49e668e404d23fba3f625f75fneethi_reference.h File Referenceneethi__reference_8h.htmlneethi_policy_tneethi__policy_8h.html#8eeaeb2f44100b9c4645210c490f20bfneethi_exactlyone_serializeneethi__exactlyone_8h.html#66465cf27bd9b8819a8c14775a62e348neethi_engine_get_policyneethi__engine_8h.html#4b9e5806331f8f5c77c5f4c04990d32dAXIS2_RM_SEQUENCE_STRneethi__constants_8h.html#aabedbb2d763e9b6b50590691c200658NEETHI_NAMESPACEneethi__constants_8h.html#c3ef938fa9c3fd24bce27b96615cd213neethi_assertion_get_is_optionalneethi__assertion_8h.html#5c48e67ff8a6331ba57e59d4dec6a77fneethi_all_freeneethi__all_8h.html#4e856bf98127ecceaaa537da378690d3AXIS2_DELETE_FUNCTIONgroup__axutil__utils.html#ge86646a079a6a5dbee0e087b31470d81axutil_url_set_pathgroup__axis2__core__transport__http.html#gab145b757ab29cc16d40fdad2b388000axutil_uri_get_fragmentgroup__axutil__uri.html#g854544404e22e40fc10e470c24273286axis2_port_tgroup__axutil__uri.html#ge872059061cd893ffffc348e725bd021AXIS2_URI_LDAP_DEFAULT_PORTgroup__axutil__uri.html#gf49acba5d4eb35310a62cb62385538efaxutil_thread_pool_freegroup__axutil__thread__pool.html#gc0cc0e6ac3ceae901d69907955be7c8faxutil_thread_yieldgroup__axutil__thread.html#gb260d86a99c9c7af7ae632fb99c59106axutil_thread.h File Referenceaxutil__thread_8h.htmlaxutil_rand.h File Referenceaxutil__rand_8h.htmlaxutil_param_container_get_paramgroup__axutil__param__container.html#g0be3762df4b647179952763acbe0c272axutil_param_set_param_typegroup__axutil__param.html#gb96a02fe95d09bece58dec0b636d619aaxutil_md5_finalgroup__axutil__md5.html#g7954e033ab5182e623ade60ae1f7051faxutil_linked_list_removegroup__axutil__linked__list.html#ga595fa9b25737e98268cababb5a23ccdaxutil_linked_list_taxutil__linked__list_8h.html#446e8bbcc12dfbe77906c111553cb942axutil_hash_free_void_arggroup__axutil__hash.html#g8eb012f8273cfcda84f562dc31385270axutil_hash_tgroup__axutil__hash.html#gb2d7d14db2de92a101573f44421ac12aAXIS2_ENV_CHECKgroup__axutil__env.html#g82b7c5dfb8ae2c8f79565619d3f832eeaxutil_dll_desc_set_dl_handlergroup__axutil__dll__desc.html#gf6b509b4c4730d6cc43121a7d20e7db5axutil_digest_calc_get_responsegroup__axutil__digest__calc.html#gd999fb9474238370afa302882165bd24axutil_date_time_get_time_zone_hourgroup__axutil__date__time.html#g6081207d7dd1f35be47849694ebc010baxutil_date_time_deserialize_dategroup__axutil__date__time.html#g41eaf8f9265a60efd098ac335e89cb0caxutil_base64_binary_get_encoded_binarygroup__axutil__base64__binary.html#g417e167050fc9c2f38f129979ba2e0a8axutil_array_list_addgroup__axutil__array__list.html#g507c7dbb9fe09bbca571739e64ff9835axutil_allocator_initgroup__axutil__allocator.html#g102e762ca4def99ded7ef3f0244f2f88axis2_transport_sender.h File Referenceaxis2__transport__sender_8h.htmlaxis2_transport_out_desc_get_paramgroup__axis2__transport__out__desc.html#gff44a8c8a8cc57ca618f6c84c18e322eaxis2_transport_out_desc.h File Referenceaxis2__transport__out__desc_8h.htmlaxis2_transport_in_desc_set_enumgroup__axis2__transport__in__desc.html#g4c11258fcb647146f412d89ccdbd069daxis2_svc_skeleton_ops_tgroup__axis2__svc__skeleton.html#gcaa7c83955b9bfe9476b6afc73833b28axis2_svc_grp_ctx_get_svc_ctx_mapgroup__axis2__svc__grp__ctx.html#g7c8027f1714d507296e9defc65defeb5axis2_svc_grp_get_param_containergroup__axis2__svc__grp.html#g976d1818875fea5709a06760e1f938f1axis2_svc_grp_get_namegroup__axis2__svc__grp.html#g258d00be25cb490124899f9c29a56b95axis2_svc_ctx_tgroup__axis2__svc__ctx.html#g2a3845db3eb9e9a47b992f6c8882e482axis2_svc_client_set_proxygroup__axis2__svc__client.html#ged34edf4ad2491d96c1af33fe669fd1faxis2_svc_client_disengage_modulegroup__axis2__svc__client.html#g8e070993180e86a0d8e5a895dd02490daxis2_svc_get_flow_containergroup__axis2__svc.html#g3ba0227aea526ef6ca2123cbecdc53c1axis2_svc_get_svc_wsdl_pathgroup__axis2__svc.html#g1287041d3b531780558da54386ed38a3axis2_svc_get_paramgroup__axis2__svc.html#g5e42b969b0b6de99d284da0db942e969axis2_stub_create_with_endpoint_ref_and_client_homegroup__axis2__stub.html#g1ed17d951b3cca323b94074a747fbac7Member axis2_simple_http_svr_conn_set_keep_aliveaxis2__simple__http__svr__conn_8h.html#03a2d4fcb2b4fd8cbb7a5599d8017937axis2_simple_http_svr_conn_set_rcv_timeoutaxis2__simple__http__svr__conn_8h.html#29cb398cc123654c068598dfec057da7axis2_relates_to_get_valuegroup__axis2__relates__to.html#g06f3ca8b23f7f1ec80eb753a75203cf4axis2_phase_rule_get_beforegroup__axis2__phase__rule.html#g74c03a05867ebf1ab9f697c7901d53b1axis2_phase_resolver.h File Referenceaxis2__phase__resolver_8h.htmlaxis2_phase_get_all_handlersgroup__axis2__phase.html#g7a5ebcc5fa87ec0057a8d49a099e904dAXIS2_PHASE_AFTERgroup__axis2__phase.html#g6c7946dfabebe6b1651c4e444f6981fdaxis2_options_set_http_headersgroup__axis2__options.html#ga3c3b6a89eac2785b2eeb4fefe054202axis2_options_get_manage_sessiongroup__axis2__options.html#g31560142acf4f3fdd5784e95215ec8c4axis2_options_set_fromgroup__axis2__options.html#g5c465dd6f0aebb8feb3d92642bb1d3c7axis2_options_get_transport_ingroup__axis2__options.html#g21bb77bedd66cce1e54f470b2b33d983axis2_op_ctx_get_msg_ctx_mapgroup__axis2__op__ctx.html#g58997985678d28231a97a605967467bcaxis2_op_client_two_way_sendgroup__axis2__op__client.html#g2325f68d3df4f2b324354837f5f7b20caxis2_op_client_resetgroup__axis2__op__client.html#g8d87312f023b335ea8a2bf723161fb84axis2_msg_recv_set_derivedgroup__axis2__msg__recv.html#gcdc64450f40747240f24a4e40f053a5aaxis2_msg_info_headers_freegroup__axis2__msg__info__headers.html#g7a6d878c6d3c94555e4e9a0200583ee7axis2_msg_info_headers_set_reply_to_anonymousgroup__axis2__msg__info__headers.html#g048b85e9ace9b60a54c500aac7e343cbaxis2_msg_ctx_extract_http_output_headersgroup__axis2__msg__ctx.html#gdaa7cdb0148e178e1709bef54be82ad6axis2_msg_ctx_set_content_languagegroup__axis2__msg__ctx.html#g785e9bfaf312d05d4f8decbf27546262axis2_msg_ctx_set_status_codegroup__axis2__msg__ctx.html#g5550d319956309bc34205cba288e14b8axis2_msg_ctx_is_pausedgroup__axis2__msg__ctx.html#g991577142c2a5c69df03c1c68c21834baxis2_msg_ctx_get_is_soap_11group__axis2__msg__ctx.html#g6dbf37da7d9d04410d2a78aa621c9fb5axis2_msg_ctx_get_module_parametergroup__axis2__msg__ctx.html#g99a3b44ee061e8f7ad4a4e11aa705ab1axis2_msg_ctx_get_transport_out_descgroup__axis2__msg__ctx.html#gb4f72089846618d10501bdb9e28f2e01axis2_msg_ctx_set_process_faultgroup__axis2__msg__ctx.html#g7ed492aa405ef700226a3a19cf6c1433axis2_msg_ctx_get_soap_envelopegroup__axis2__msg__ctx.html#g6cc0c3db53e071721b027ec89d0bbc23AXIS2_DEFAULT_CHAR_SET_ENCODINGgroup__axis2__msg__ctx.html#g6322d4be41907e2a6d3d63a4c5e57dcbaxis2_msg_get_directiongroup__axis2__msg.html#gcbb409dc87613a84ac8bde394869f6adaxis2_module_desc.haxis2__module__desc_8h.htmlaxis2_module_desc_get_qnamegroup__axis2__module__desc.html#g9438beca852762d657353cf0c31146afaxis2_module_shutdowngroup__axis2__module.html#g387fcdad65e41987b62d36fd4ac4bdf2axis2_http_worker_tgroup__axis2__http__worker.html#g91faee703d8722cd152199811c1e4c4faxis2_http_transport_utils_get_services_static_wsdlaxis2__http__transport__utils_8h.html#ca3a8eafdc18cc90bbd0f4fc97198aa4axis2_http_transport_utils_process_http_delete_requestaxis2__http__transport__utils_8h.html#500fdb4844bb9355a78c22fea6f5ef7baxis2_http_transport_sender.haxis2__http__transport__sender_8h.htmlaxis2_http_status_line_to_stringgroup__axis2__http__status__line.html#g319d008ee6dbd9e639c652b73c8ad73faxis2_http_simple_request_add_headergroup__axis2__http__simple__request.html#g8451d9b42f770193cf5d4d5d2b699710Member axis2_http_sender_set_http_versionaxis2__http__sender_8h.html#eebaac858f5ef79d511a6c22222324fcaxis2_http_sender_get_timeout_valuesaxis2__http__sender_8h.html#d7fba5bcef2d635354c29dae74580748axis2_http_response_writer.haxis2__http__response__writer_8h.htmlaxis2_http_request_line_parse_linegroup__axis2__http__request__line.html#g423db6e23965c9380c2152eca233db25axis2_http_out_transport_info_set_char_encodinggroup__axis2__http__out__transport__info.html#g9368ed3e85952d69b382d57e6d8b9610axis2_http_header.h File Referenceaxis2__http__header_8h.htmlaxis2_http_client_set_proxygroup__axis2__http__client.html#gbbfff130bda80cf00cb020a08d92e900axis2_http_accept_record_get_quality_factorgroup__axis2__http__accept__record.html#ge98e15ea5ff044610c235f7c45d947d7axis2_handler_desc_get_paramgroup__axis2__handler__desc.html#g8123741b6af07768a2259a2d15102e13AXIS2_HANDLER_CREATE_FUNCgroup__axis2__handler.html#g097dac3689f86e2e189065c772a551f8axis2_flow.haxis2__flow_8h.htmlaxis2_engine_invoke_phasesgroup__axis2__engine.html#g95c41e8b17352fcd0df40a1af8952e28axis2_endpoint_ref_get_extension_listgroup__axis2__endpoint__ref.html#gb68c9bf3c7b34f5f7b5f2228de5e9a2eaxis2_req_uri_disp_creategroup__axis2__disp.html#g44abce5a9beda1c85ad8263af5971789AXIS2_OUT_FLOW_KEYgroup__axis2__desc__constants.html#ge57a6cd0804eca94aa386d8859dfb184axis2_desc_set_parentgroup__axis2__description.html#g3847e0acbaa726663410a42ddead9448axis2_defines.haxis2__defines_8h.htmlaxis2_core_dll_desc.haxis2__core__dll__desc_8h.htmlaxis2_conf_ctx_get_svc_grp_ctxgroup__axis2__conf__ctx.html#g74d5c818fd827335b3ef71e8f6c15efaaxis2_conf_get_basegroup__axis2__config.html#gdcada32afcb07e8386d0eae0e7f75c72axis2_conf_set_axis2_xmlgroup__axis2__config.html#g9752b59114c2e54f0df629ffe9c27657axis2_conf_get_all_svcs_to_loadgroup__axis2__config.html#g4e60a26bae6ab18adf601fc3dc0ccd6daxis2_conf_get_all_paramsgroup__axis2__config.html#g2cf688584fa948c9ffaf8e5b9b7747e4axis2_callback_set_on_completegroup__axis2__callback.html#g10b6d858cf29a9426a2b0c7a9690ab15axis2_async_result_freegroup__axis2__async__result.html#g7dc808667785c5430baef18f3e377d5cADDR_IN_HANDLERgroup__axis2__addr__mod.html#g3b4c3a57a4c4932163e7dd2954a5bd83AXIS2_WSA_NONE_URLgroup__axis2__addr__consts.html#g92e906914bd8ae5a8d3f6014f4bcb189AXIS2_WSA_REPLY_TOgroup__axis2__addr__consts.html#g4c2fe672174cb7f77f5fc68e7c78249aaxiom_xml_writer_write_charactersgroup__axiom__xml__writer.html#geda418c524b47842e3df20b4fbba1a41axiom_xml_writer_write_empty_element_with_namespace_prefixgroup__axiom__xml__writer.html#g44f2a95436bfbb3225fa2792f2a747b3axiom_xml_reader_get_char_set_encodinggroup__axiom__xml__reader.html#gfea9c20e6adcb4fa1228bba4de19774caxiom_xml_reader_nextgroup__axiom__xml__reader.html#g3374162deb7e15d0a66fb47d5de68d4daxiom_soap_header_block_is_processedgroup__axiom__soap__header__block.html#g9a567ec94c9574efa6a69b071b2fd23baxiom_soap_header_get_header_blocks_with_namespace_urigroup__axiom__soap__header.html#g15e88be95ee0a6652bb04f8b8e555b9daxiom_soap_fault_value.h File Referenceaxiom__soap__fault__value_8h.htmlaxiom_soap_fault_sub_code_create_with_parent_valuegroup__axiom__soap__fault__sub__code.html#g14d4c68d8cf092dc1b3da0342d6c85f7axiom_soap_fault_reason_get_first_soap_fault_textgroup__axiom__soap__fault__reason.html#ge33699fe9001ee509233d1055d2390a5axiom_soap_fault_detail.haxiom__soap__fault__detail_8h.htmlaxiom_soap_fault_code.haxiom__soap__fault__code_8h.htmlaxiom_soap_fault.h File Referenceaxiom__soap__fault_8h.htmlaxiom_soap_envelope.haxiom__soap__envelope_8h.htmlaxiom_soap_builder_get_documentgroup__axiom__soap__builder.html#g9889a86a4c589ea9140e6c7c0f427261axiom_soap_body_create_with_parentgroup__axiom__soap__body.html#ged07d656f1b298588cdbc539609d979faxiom_node_get_previous_siblinggroup__axiom__node.html#g39a92d131beb6295b849d9853ee89db7axiom_mtom_sending_callback.haxiom__mtom__sending__callback_8h.htmlaxiom_mtom_caching_callback.h File Referenceaxiom__mtom__caching__callback_8h.htmlaxiom_mime_parser_set_buffer_sizegroup__axiom__mime__parser.html#gbe1b6ea790d1a5315b0b46df54e26a2eaxiom_document_get_buildergroup__axiom__document.html#g8663a5625accd15c3ae99c5a9b5a68e1axiom_doctype_freegroup__axiom__doctype.html#g4704fda24ab25f215df0bca1a71ff26faxiom_data_handler_set_data_handler_typegroup__axiom__data__handler.html#g0556858babbb3eb237490e1d515e6b72axiom_data_handler_get_content_typegroup__axiom__data__handler.html#ga132e800329243265ca138c661fa34d5axiom_children_with_specific_attribute_iterator_has_nextgroup__axiom__children__with__specific__attribute__iterator.html#g4965a74d2c7af2a6f0588c3cc15c13ecaxiom_children_qname_iterator.haxiom__children__qname__iterator_8h.htmlaxiom_child_element_iterator_freegroup__axiom__child__element__iterator.html#gc3408b3bce2aad5ff7e0d5f66684e583axiom_attribute_set_valuegroup__axiom__attribute.html#g04e602a4d9456b9111bdbad5ea89a0ecrp_x509_token.hrp__x509__token_8h-source.htmlrp_supporting_tokens_builder.hrp__supporting__tokens__builder_8h-source.htmlrp_property.hrp__property_8h-source.htmlrp_asymmetric_binding_builder.hrp__asymmetric__binding__builder_8h-source.htmlguththila_xml_writer.hguththila__xml__writer_8h-source.htmlAXIS2_SCOPE_REQUESTaxutil__utils_8h-source.html#l00176AXIS2_URI_UNP_OMITPASSWORDaxutil__uri_8h-source.html#l00089AXIS2_URI_GOPHER_DEFAULT_PORTaxutil__uri_8h-source.html#l00050axutil_string_util.haxutil__string__util_8h-source.htmlaxutil_log_default.haxutil__log__default_8h-source.htmlentry_s::previousaxutil__linked__list_8h-source.html#l00056axutil_error::messageaxutil__error_8h-source.html#l00761axutil_date_time_util.haxutil__date__time__util_8h-source.htmlAXIS2_TRANSPORT_SENDER_INITaxis2__transport__sender_8h-source.html#l00153AXIS2_THREAD_MUTEX_UNNESTEDaxis2__thread__mutex_8h-source.html#l00048axis2_svc_skeleton_ops_taxis2__svc__skeleton_8h-source.html#l00051axis2_stub.haxis2__stub_8h-source.htmlAXIS2_PHASE_MESSAGE_PROCESSINGaxis2__phase__meta_8h-source.html#l00072AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPEaxis2__out__transport__info_8h-source.html#l00078axis2_msg_info_headers_taxis2__msg__info__headers_8h-source.html#l00059axis2_msg_taxis2__msg_8h-source.html#l00060axis2_module.haxis2__module_8h-source.htmlAXIS2_HTTP_AUTH_UNAMEaxis2__http__transport_8h-source.html#l00926AXIS2_HTTP_ISO_8859_1axis2__http__transport_8h-source.html#l00838AXIS2_HTTP_HEADER_COOKIEaxis2__http__transport_8h-source.html#l00750AXIS2_HTTP_HEADER_CONNECTION_CLOSEaxis2__http__transport_8h-source.html#l00665AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESSaxis2__http__transport_8h-source.html#l00574AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAINaxis2__http__transport_8h-source.html#l00489AXIS2_HTTP_DELETEaxis2__http__transport_8h-source.html#l00398AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAMEaxis2__http__transport_8h-source.html#l00313AXIS2_HTTP_RESPONSE_OK_CODE_NAMEaxis2__http__transport_8h-source.html#l00222AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VALaxis2__http__transport_8h-source.html#l00136axis2_http_svr_thread_taxis2__http__svr__thread_8h-source.html#l00044axis2_http_response_writer.haxis2__http__response__writer_8h-source.htmlaxis2_handler_taxis2__handler_8h-source.html#l00051AXIS2_OUT_FLOW_KEYaxis2__description_8h-source.html#l00113AXIS2_OUT_FLOWaxis2__defines_8h-source.html#l00039axis2_callback_taxis2__callback_8h-source.html#l00048AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAMEaxis2__addr_8h-source.html#l00131EPR_ADDRESSaxis2__addr_8h-source.html#l00074axiom_xpath_context::stackaxiom__xpath_8h-source.html#l00157axiom_xpath_expression::expr_straxiom__xpath_8h-source.html#l00102axiom_text.haxiom__text_8h-source.htmlaxiom_soap.haxiom__soap_8h-source.htmlaxiom_namespace.haxiom__namespace_8h-source.htmlaxiom_defines.haxiom__defines_8h-source.htmlentry_s::previousgroup__axutil__linked__list.html#g13ae42624c368b144f54520dcca0e770axutil_log::sizestructaxutil__log.html#3ad3ef2ff2f88500c8bf1520aca564cfMember axutil_env::logstructaxutil__env.html#f417f3c7c7e1555967cec92e76aa9195Member axutil_allocator::malloc_fnstructaxutil__allocator.html#0d8cb46ec65089504c4dd4f677138692axis2_version_t::minorstructaxis2__version__t.html#11a05482ca7deefd3e496943145d7c2dMember axis2_transport_receiver_ops::freestructaxis2__transport__receiver__ops.html#7994fd305b8424911cb4bbb0c6fd0245struct axis2_transport_receiverstructaxis2__transport__receiver.htmlaxis2_svc_skeleton::func_arraystructaxis2__svc__skeleton.html#599e6715f5ab52169b173654a4baff55Member axiom_xpath_result_node::valuestructaxiom__xpath__result__node.html#544c05626367c25b702215e72adb3944struct axiom_xpath_expressionstructaxiom__xpath__expression.htmlMember axiom_xpath_context::namespacesstructaxiom__xpath__context.html#2d2e8abbabd6efcc439bdab7e179e910Member axiom_xml_writer_ops::set_default_prefixstructaxiom__xml__writer__ops.html#6e82203c544a4ff8b4fd83446d6f7917Member axiom_xml_writer_ops::write_attributestructaxiom__xml__writer__ops.html#3cfbfc24a004f6dc69ddf4a794e0f4dcaxiom_xml_writer_ops::set_default_prefixstructaxiom__xml__writer__ops.html#6e82203c544a4ff8b4fd83446d6f7917axiom_xml_writer_ops::write_attributestructaxiom__xml__writer__ops.html#3cfbfc24a004f6dc69ddf4a794e0f4dcMember axiom_xml_reader_ops::get_char_set_encodingstructaxiom__xml__reader__ops.html#7f8c57bb6d5dcf59ff55fd3cbc677da2Member axiom_xml_reader_ops::nextstructaxiom__xml__reader__ops.html#27dc955258fc16d29d509b44cc34f5b2axiom_xml_reader_ops::get_attribute_name_by_numberstructaxiom__xml__reader__ops.html#2c68389efbe57ee92f34688edf4298dfaxiom_mtom_caching_callback_ops::close_handlerstructaxiom__mtom__caching__callback__ops.html#5013ac43e3bd63131dbefbf2973389e3rp_x509_token_set_derivedkey_versiongroup__rp__x509__token.html#g185d834b896bf9ea44a5c8b89f8d8c17rp_wss11_set_must_support_ref_thumbprintgroup__wss11.html#g05e24bd8dd5d0c226753a8fa64e77c2arp_wss10_set_must_support_ref_embedded_tokengroup__wss10.html#gbf46ea24bc9745c4cb03a65642da86d5rp_username_token_set_is_issuer_namegroup__rp__username__token.html#gcba6622f2e50f3c332a9c330727bc606Rp_trust10_buildergroup__rp__trust10__builder.htmlrp_token_set_inclusiongroup__rp__token.html#gdc488bbcde52b56935f85c56c4f4210fRp_symmetric_binding_buildergroup__rp__symmetric__binding__builder.htmlrp_symmetric_asymmetric_binding_commons_get_entire_headers_and_body_signaturesgroup__rp__assymmetric__symmetric__binding__commons.html#g2dd3baecdca546e9f9a7d81c85d5a103rp_supporting_tokens_get_encrypted_elementsgroup__rp__supporting__tokens.html#g771f406f441fb1d8c4da57093889a412Rp_signed_encrypted_parts_buildergroup__rp__signed__encrypted__parts__builder.htmlrp_signed_encrypted_items_get_signeditemsgroup__rp__signed__encrypted__items.html#gab30ce14815455f139e77f59663befb9Rp_signature_token_buildergroup__rp__signature__token__builder.htmlrp_security_context_token_get_derivedkeygroup__rp__security__context__token.html#g795d293a6f233e8a46d1017cb32fd82erp_secpolicy_get_signed_itemsgroup__rp__secpolicy.html#g10c323820a392a313388d32be1f3534arp_secpolicy_set_supporting_tokensgroup__rp__secpolicy.html#gcd5c193454d49b0366b01118b856b444rp_rampart_config_get_rd_valgroup__rp__rampart__config.html#geea60f28d451ebc6ae7a9a9d86456ea7rp_rampart_config_set_replay_detectorgroup__rp__rampart__config.html#g5a7b03cf8f659fb35436820a2ca1912crp_property_get_typegroup__rp__property.html#g878d80887805562ce29160d902eb64d3rp_layout_tgroup__rp__layout.html#g2c61dd38d0c9e2780e6090a6660df985rp_issued_token_increment_refgroup__trust10.html#gff5787c8c62213cf6b9455962de248bbTrust10group__trust10.htmlrp_header_get_namespacegroup__rp__header.html#gd968d12e5ff3b7072c6d8771cb771eaaRP_SP_PREFIXgroup__rp__defines.html#gb9ca8650490520aa3a45264e4133e11eRP_RECEIVER_CERTIFICATEgroup__rp__defines.html#g99b02de48678314054f6d32f276494fdRP_WSS_SAML_V10_TOKEN_V11group__rp__defines.html#g7602a04607bab6a303a7bdc6e45266e5RP_REQUIRE_EMBEDDED_TOKEN_REFERENCEgroup__rp__defines.html#g004b384d39226d869d33e47825971b7eRP_ISSUED_TOKENgroup__rp__defines.html#ge6a8594ac7d64290e046896fc41474a5RP_XPATH20group__rp__defines.html#gb93fe46d146c0292e739ae3d7693292eRP_SHA256group__rp__defines.html#g757a9d81e9fde87b698d944da60272c3RP_ALGO_SUITE_BASIC128group__rp__defines.html#g2ec223b4809cba618975480c3a75db30RP_MUST_SUPPORT_ISSUED_TOKENSgroup__rp__defines.html#gfe4bb2897ec26bbbeb5e94381ce069efRP_XPATHgroup__rp__defines.html#g012e179154db0bb1d11ae585ab35e3caRP_TRANSPORT_BINDINGgroup__rp__defines.html#g89b20141d4df869b10e6e6d2921dc302rp_binding_commons_set_layoutgroup__rp__binding__commons.html#g379e2cc61c50116e46d3b3c9030e3503rp_asymmetric_binding_set_symmetric_asymmetric_binding_commonsgroup__rp__asymmetric__binding.html#g24994833d9f870fd4e618f81c15418fcrp_algorithmsuite_set_soap_normalizationgroup__rp__algoruthmsuite.html#g02f5676806e3dec726046bd02ce240b1rp_algorithmsuite_set_asymmetric_signaturegroup__rp__algoruthmsuite.html#g92934a484425d029209f5a4b559316a4Member AXIS2_SCOPE_REQUESTgroup__axutil__utils.html#gg102944cbbb59586e2d48aa4a95a55f64cc1ec46379b5a425419e5c7865cb3a5eAXIS2_FREE_VOID_ARGgroup__axutil__utils.html#gc9ac1d802046d30769ab1074c935e292Member axutil_uri_parse_stringgroup__axutil__uri.html#g89c8721392b5307aa708bd0581cc6f87Member AXIS2_URI_UNP_OMITQUERYgroup__axutil__uri.html#g83806b77d30e0c012192145ee73c4eb4Member AXIS2_URI_HTTP_DEFAULT_PORTgroup__axutil__uri.html#g61a736bf61ac0e9773d506a2faf98298axutil_uri_parse_stringgroup__axutil__uri.html#g89c8721392b5307aa708bd0581cc6f87AXIS2_URI_ACAP_DEFAULT_PORTgroup__axutil__uri.html#g597c0ffd3d295c93b341d41934926b8aaxutil_atolgroup__axutil__types.html#g439d2ddcce6903cccdbdae1ea7f51219axutil_free_thread_envgroup__axutil__thread__pool.html#g86828fbfa2efa9e9f864fad6fccfee11Member axutil_thread_mutex_trylockgroup__axutil__thread.html#ga050c6ecf8209ba57ea8ec79330632bbaxutil_thread_mutex_destroygroup__axutil__thread.html#g7e441c4b47fe4466ff385e396258ead3axutil_thread_start_tgroup__axutil__thread.html#g8b1ee6e8fa770ee290503c43c087f633Member axutil_strcasestrgroup__axutil__string__utils.html#g40d66df30dd87c5c2e39c851473414adaxutil_strcasecmpgroup__axutil__string__utils.html#g8a9c2f76adab0c61524c0b3a504af2c1Group stringgroup__axutil__string.htmlMember axutil_stream_freegroup__axutil__stream.html#gd327ed3142060fe3ccaae3bdc74af6b5Member axutil_stream_create_basicgroup__axutil__stream.html#g0eaf7a2ca366ab5e01ce5d71072f8702axutil_stack_get_atgroup__axis2__util__stack.html#g9a678b9689a64fe779cbbb484c6409edMember axutil_qname_freegroup__axutil__qname.html#gb04bf5c012c622e6c4fcd244a26f934cMember axutil_property_create_with_argsgroup__axutil__property.html#ged645c265ef719bd0b9513fc1e04d699Member axutil_properties_get_allgroup__axutil__properties.html#g51e05e9bed9a4ff4649d6c62396db865Member axutil_param_container_creategroup__axutil__param__container.html#g6bddcede7bd592f0f22bd03bdf2ecd32Member axutil_param_get_namegroup__axutil__param.html#geba7fcf049dcead1054b92d93e83835daxutil_param_set_valuegroup__axutil__param.html#g34fd69866c83a371ecc43be5e1c8627eaxutil_network_handler_bind_socketgroup__axutil__network__handler.html#gdef5cf5d89c4d224225c6fbcd26ba3b4Member axutil_md5group__axutil__md5.html#g9e7aead74d8d68f3d8f8177d17239da0Member AXIS2_LOG_LEVEL_CRITICALgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06d3d9bff0d07c3094f69ff9e74ef717ed7Member axutil_log_levels_tgroup__axutil__log.html#g0c477f6f8724a6258a9caaabfcf2c482AXIS2_LOG_USERgroup__axutil__log.html#gb59fc09f7e7becb91b363dffe6a6d932Member axutil_linked_list_get_firstgroup__axutil__linked__list.html#g44896e7785095b36bed80d7c0b438a1aaxutil_linked_list_index_ofgroup__axutil__linked__list.html#gfeae08bd167aff16b4a56dfd7aa5d336axutil_linked_list_check_bounds_inclusivegroup__axutil__linked__list.html#g44c386ea5a8baf8bc1574b6a6b42e454axutil_http_chunked_stream_freegroup__axutil__http__chunked__stream.html#gad093be0fb9f42e204234812c6bbcb34Member axutil_hash_free_void_arggroup__axutil__hash.html#g8eb012f8273cfcda84f562dc31385270axutil_hash_thisgroup__axutil__hash.html#ga6297355c83ada8f228ab1d6f46e3b50axutil_generic_obj_get_valuegroup__axutil__generic__obj.html#g75c534ae2f42188052b8c1174e94a02caxutil_file_clonegroup__axutil__file.html#g7bc7b87db04b454cf21009693e44585cMember axutil_error_creategroup__axutil__error.html#gb06c94ea0b09855f7b2d1f51a0187b70AXIS2_ERROR_FREEgroup__axutil__error.html#g0d679c0b9abcee889fc0dc0b694fab99axutil_env_enable_loggroup__axutil__env.html#g3a5d8481e405b8b63bd05df9b33b9ccdaxutil_duration_set_secondsgroup__axutil__duration.html#g9dd060a6efaf47cb87ef4ac5d02a0a83axutil_duration_create_from_valuesgroup__axutil__duration.html#ge43158e9af48612b610b2810b9826568axutil_dll_desc_get_dl_handlergroup__axutil__dll__desc.html#gbc86df1d8abc1ce4d9379dc9b9cf6ee6Member axutil_dir_handler_list_service_or_module_dirsgroup__axutil__dir__handler.html#g023fa12ed7c96e3721b2373607384895Member axutil_get_millisecondsgroup__axutil__uuid__gen.html#g4b29c863f58af35241f6c637fac4a02bMember axutil_date_time_deserialize_date_timegroup__axutil__date__time.html#g90dabd89b0fd6ecf8ea512d748276e25axutil_date_time_get_secondgroup__axutil__date__time.html#g36782202dd7f88a864f748649b3dff6baxutil_date_time_tgroup__axutil__date__time.html#g4da4e2730a27e29e18a358849362f24eaxutil_base64_binary_get_decoded_binary_lengroup__axutil__base64__binary.html#g034abbbb58b90573b08d649d3c8939a4Member axutil_array_list_getgroup__axutil__array__list.html#gb6e54fa2917ddc0128e98a3bb0adcfadaxutil_array_list_addgroup__axutil__array__list.html#g507c7dbb9fe09bbca571739e64ff9835axutil_allocator_switch_to_local_poolgroup__axutil__allocator.html#g84fcfb6c00bfaf95d676a8cc98c2ac33Group transport sendergroup__axis2__transport__sender.htmlMember axis2_transport_receiver_ops_tgroup__axis2__transport__receiver.html#gf65f9d0fa8f0c218a317c0c53c692a2bMember axis2_transport_out_desc_set_fault_out_flowgroup__axis2__transport__out__desc.html#ga3a191a5b9b362398741b8fd7c5fbadbaxis2_transport_out_desc_param_containergroup__axis2__transport__out__desc.html#g95608d7aa5b139240847799013fd8e2aaxis2_transport_out_desc_freegroup__axis2__transport__out__desc.html#g17a66a405da41dd82b2dc42b730179eaMember axis2_transport_in_desc_free_void_arggroup__axis2__transport__in__desc.html#gfd336f266ce3e3cde1ef38b475e19dacaxis2_transport_in_desc_set_fault_in_flowgroup__axis2__transport__in__desc.html#g4f702a1a39ff523cf65600fc54046643Member AXIS2_THREAD_MUTEX_NESTEDgroup__axis2__mutex.html#g4c1de3e53fdd5e35bff45518bf01adb9axis2_svr_callback_creategroup__axis2__svr__callback.html#gad3c7690a2469aa3c55a71d0c1fa6b0eAXIS2_SVC_SKELETON_INVOKEgroup__axis2__svc__skeleton.html#ge181b2f813a771eea6d587f3f2652e7eaxis2_svc_name_set_qnamegroup__axis2__svc__name.html#g789b2cc0d8e7a1d95d5f3989a78524d0Group service group contextgroup__axis2__svc__grp__ctx.htmlMember axis2_svc_grp_is_param_lockedgroup__axis2__svc__grp.html#g9b85dce29fc8a1d23a29911ace09fe32Member axis2_svc_grp_add_module_refgroup__axis2__svc__grp.html#gacc300eeed7bf4ccc14d68c114ac7c9aaxis2_svc_grp_get_all_paramsgroup__axis2__svc__grp.html#g31ba41e7e89d0443c5fb9eda62f627c7Member axis2_svc_ctx_get_parentgroup__axis2__svc__ctx.html#g2e53ac655251a1f8c59eeb30fbc5565daxis2_svc_ctx_get_basegroup__axis2__svc__ctx.html#gf2139308d0b7d17fb9e5cfe531927eccMember axis2_svc_client_remove_all_headersgroup__axis2__svc__client.html#gd14cd1a3ec6aa3891369cd9bd671030bMember axis2_svc_client_fire_and_forget_with_op_qnamegroup__axis2__svc__client.html#g43fb8eb372420c98fa3eac2f1616af9daxis2_svc_client_get_auth_typegroup__axis2__svc__client.html#g9915f900a8e029e180b132bba116f5dbaxis2_svc_client_send_receivegroup__axis2__svc__client.html#g2748baf670a594d5bf8dd49d9038dbc5service clientgroup__axis2__svc__client.htmlMember axis2_svc_get_target_nsgroup__axis2__svc.html#g918040e3fdedb586e5d161ca4cc82925Member axis2_svc_get_engaged_module_listgroup__axis2__svc.html#g41a846eaf8687e08757fa82924441157Group servicegroup__axis2__svc.htmlaxis2_svc_add_rest_mappinggroup__axis2__svc.html#g4a9c6e0b84fff520b00f2bfd182e0e87axis2_svc_add_module_opsgroup__axis2__svc.html#g0a974ad2f1876c560ebe6ef3ce9cea40axis2_svc_get_op_with_qnamegroup__axis2__svc.html#g3c994b6da8e2a6adeb9e61771718366cMember AXIOM_SOAP_12group__axis2__stub.html#ga869c2c88438ec26ab81a36b8727ac80stubgroup__axis2__stub.htmlaxis2_rm_assertion_get_message_types_to_dropgroup__axis2__rm__assertion.html#g9fcb6b440465da5538d49ba8a6bf1ddfaxis2_rm_assertion_set_is_exactly_oncegroup__axis2__rm__assertion.html#g26588b9ee7c10e6878844357934fcdd7Group relates togroup__axis2__relates__to.htmlaxis2_policy_include_add_policy_reference_elementgroup__axis2__policy__include.html#g02393d023d95c5682c6de4c594cd5515axis2_policy_include_create_with_descgroup__axis2__policy__include.html#gd1e15e759b63a9ffeeef0204840e5f68Member axis2_phases_info_freegroup__axis2__phases__info.html#g944b8a5502c31e04875710e4cff6147faxis2_phases_info_set_out_phasesgroup__axis2__phases__info.html#g63052550bd87d86126ced76204f0ff0bMember axis2_phase_rule_clonegroup__axis2__phase__rule.html#gdddf387d390d87edc5125127ae2ab3edphase rulegroup__axis2__phase__rule.htmlaxis2_phase_resolver_creategroup__axis2__phase__resolver.html#g13fa6c6ea63393abfbb1740161a07555Member AXIS2_PHASE_MESSAGE_PROCESSINGgroup__axis2__phase__meta.html#geb71cd8aa33841c8b2abda26b32dd551Member axis2_phase_holder_creategroup__axis2__phase__holder.html#ge6fae04b3bb98068ed177dfc25039489Member axis2_phase_remove_handler_descgroup__axis2__phase.html#g2e667feb5d15a4e336e1eee3a6f77696Member AXIS2_PHASE_BOTH_BEFORE_AFTERgroup__axis2__phase.html#ge1f25ec22e7fe0eb476632ddd03df7e9axis2_phase_set_first_handlergroup__axis2__phase.html#gc434dafaada6c4a9b1a4137dcafb129fGroup out transport infogroup__axis2__out__transport__info.htmlMember axis2_options_set_test_http_authgroup__axis2__options.html#g08d3a84142e28bf18609aa127f5e43daMember axis2_options_set_fromgroup__axis2__options.html#g5c465dd6f0aebb8feb3d92642bb1d3c7Member axis2_options_get_reply_togroup__axis2__options.html#g29a591f1954522269e4dcdbcea8f4cdeMember AXIS2_TIMEOUT_IN_SECONDSgroup__axis2__options.html#g8d4099b7a4e7a79c33840aeb01b34a43axis2_options_get_soap_actiongroup__axis2__options.html#g67dbecc87ad94df19286a2a87178ce34axis2_options_set_relates_togroup__axis2__options.html#g209582f680d8310f26952d036d130b55axis2_options_get_sender_transport_protocolgroup__axis2__options.html#g99d8d5efc4c5cb0549c7ea93425f14f2optionsgroup__axis2__options.htmlMember axis2_op_ctx_creategroup__axis2__op__ctx.html#gddc4d7ced709336945c3f951561cc5fdaxis2_op_ctx_add_msg_ctxgroup__axis2__op__ctx.html#gd9f9beba0ac1e3e0cfafe4ee0fd9ffb8Member axis2_op_client_resetgroup__axis2__op__client.html#g8d87312f023b335ea8a2bf723161fb84Member axis2_op_client_add_out_msg_ctxgroup__axis2__op__client.html#g192dc8b5bb7c1159c7feede39434f1c3axis2_op_client_creategroup__axis2__op__client.html#g3c0a62606205ce5678c3492dc7e52bf2Member axis2_op_set_wsamapping_listgroup__axis2__op.html#g40970b24e863c1073914adcdd8fcfbb1Member axis2_op_get_rest_http_methodgroup__axis2__op.html#ga8727e126abd06683ddab5830164a336Member axis2_op_free_void_arggroup__axis2__op.html#gccd673b28205b690db8852990efd1ebeaxis2_op_create_from_modulegroup__axis2__op.html#g1c375463b20738f3a5a4d81859f8f420axis2_op_get_in_flowgroup__axis2__op.html#gc7238b80fb87bc6b56ee74d1cf80a7d4axis2_op_set_rest_http_locationgroup__axis2__op.html#gb74832ea66fe6c054f540848045fd417Member axis2_msg_recv_make_new_svc_objgroup__axis2__msg__recv.html#g0c811674ed07fe53ca54639291e0d001axis2_msg_recv_get_scopegroup__axis2__msg__recv.html#g8373c3b1dd3b4d774d6ecedd0993f4d5Member axis2_msg_info_headers_set_relates_togroup__axis2__msg__info__headers.html#g26b2b3881cbf3f3f02f1c512c96485ffMember axis2_msg_info_headers_get_fault_togroup__axis2__msg__info__headers.html#g5be8673619408ed53d062372d6e46414axis2_msg_info_headers_get_actiongroup__axis2__msg__info__headers.html#g23bef716feab65ea5cea145875c7053daxis2_msg_info_headers_creategroup__axis2__msg__info__headers.html#g380a396ffcbb6e663cda2851630f018fMember axis2_msg_ctx_set_svcgroup__axis2__msg__ctx.html#g643f1a3cc4d31f7b665f43a2dfc97967Member axis2_msg_ctx_set_out_transport_infogroup__axis2__msg__ctx.html#g2e8b202d57caca29121bd55ede2ad3d6Member axis2_msg_ctx_set_fromgroup__axis2__msg__ctx.html#gf448b8b9b290531148d0e1dfa9a46c15Member axis2_msg_ctx_reset_transport_out_streamgroup__axis2__msg__ctx.html#gb0006ce05885ace9a09c0841fe297fb7Member axis2_msg_ctx_get_svc_grpgroup__axis2__msg__ctx.html#gb891cdde11906cc42a250459516acc8cMember axis2_msg_ctx_get_paused_phase_namegroup__axis2__msg__ctx.html#gbbca92a3ca5b7eb586b3bcb55eb3589bMember axis2_msg_ctx_get_manage_sessiongroup__axis2__msg__ctx.html#g498e34d21eed5b6fe789f85425c1565aMember axis2_msg_ctx_get_content_languagegroup__axis2__msg__ctx.html#g8343c9fe27d659cfe939ff865033bc3dMember AXIS2_MSG_CTX_FIND_OPgroup__axis2__msg__ctx.html#g0b84b027d9bcb64409d21de24751e904axis2_msg_ctx_extract_http_output_headersgroup__axis2__msg__ctx.html#gdaa7cdb0148e178e1709bef54be82ad6axis2_msg_ctx_set_content_languagegroup__axis2__msg__ctx.html#g785e9bfaf312d05d4f8decbf27546262axis2_msg_ctx_set_status_codegroup__axis2__msg__ctx.html#g5550d319956309bc34205cba288e14b8axis2_msg_ctx_is_pausedgroup__axis2__msg__ctx.html#g991577142c2a5c69df03c1c68c21834baxis2_msg_ctx_get_is_soap_11group__axis2__msg__ctx.html#g6dbf37da7d9d04410d2a78aa621c9fb5axis2_msg_ctx_get_module_parametergroup__axis2__msg__ctx.html#g99a3b44ee061e8f7ad4a4e11aa705ab1axis2_msg_ctx_get_transport_out_descgroup__axis2__msg__ctx.html#gb4f72089846618d10501bdb9e28f2e01axis2_msg_ctx_set_process_faultgroup__axis2__msg__ctx.html#g7ed492aa405ef700226a3a19cf6c1433axis2_msg_ctx_get_soap_envelopegroup__axis2__msg__ctx.html#g6cc0c3db53e071721b027ec89d0bbc23AXIS2_DEFAULT_CHAR_SET_ENCODINGgroup__axis2__msg__ctx.html#g6322d4be41907e2a6d3d63a4c5e57dcbMember axis2_msg_get_paramgroup__axis2__msg.html#gf286bada1249b588b79d9b90520b5a09axis2_msg_get_param_containergroup__axis2__msg.html#gcf3f23e957699279a048452b64a671f0axis2_msg_creategroup__axis2__msg.html#ge674ded0d7b93ff698a55334d6221286Member axis2_module_desc_get_param_containergroup__axis2__module__desc.html#g1a09ad8c0b308f4793ca1643059c7810Group module descriptiongroup__axis2__module__desc.htmlaxis2_module_desc_get_qnamegroup__axis2__module__desc.html#g9438beca852762d657353cf0c31146afMember axis2_module_fill_handler_create_func_mapgroup__axis2__module.html#g1b38c2e3368e87c2309a12ea71e96177axis2_listener_manager_creategroup__axis2__listener__manager.html#g5ec86a93f88b4b786b0e121b545147eeaxis2_http_worker_tgroup__axis2__http__worker.html#g91faee703d8722cd152199811c1e4c4fMember AXIS2_PROXY_AUTH_PASSWDgroup__axis2__core__transport__http.html#gb59da22cef175f1a911f00d5c7bbdd4dMember AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VALgroup__axis2__core__transport__http.html#g8c1aaed1795045a2941db1d7ff83ea0dMember AXIS2_HTTP_RESPONSE_NOCONTENTgroup__axis2__core__transport__http.html#g6f43ed8b97ef8c44ab67303cd7a62ec5Member AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAMEgroup__axis2__core__transport__http.html#gfb9cd4eeff300cfd9977b3b5962e999dMember AXIS2_HTTP_REQ_TYPEgroup__axis2__core__transport__http.html#ge26dc39d2021bdecd767903de8a8d933Member AXIS2_HTTP_HEADER_SOAP_ACTIONgroup__axis2__core__transport__http.html#gb4e1e11e47d5a3cdc80c00124011f55bMember AXIS2_HTTP_HEADER_COOKIEgroup__axis2__core__transport__http.html#ged13c38bda5b20b76e96a811f9b57eb5Member AXIS2_HTTP_HEADER_ACCEPT_TEXT_XMLgroup__axis2__core__transport__http.html#g157d87764d28d5d478dbd4f5054013e0Member AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUTgroup__axis2__core__transport__http.html#gdb5030612a6745a455336726997bffe8Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAINgroup__axis2__core__transport__http.html#g2b6a75f2b867627c8f56dec85c3dbd4eAXIS2_HTTP_GONEgroup__axis2__core__transport__http.html#g4ed27e05d24e7523a151e84425a62acfAXIS2_F_SLASHgroup__axis2__core__transport__http.html#gd8c1ddefae4b7772069f9c410836618aAXIS2_CONTENT_TYPE_ACTIONgroup__axis2__core__transport__http.html#gb94f4a1a46297b0fdcaa3c27c139cd95AXIS2_TRANSPORT_HEADER_PROPERTYgroup__axis2__core__transport__http.html#gefb194067b7161fd9588a369d670a9bcAXIS2_HTTP_PROXY_USERNAMEgroup__axis2__core__transport__http.html#gefdd80aa5585b6d5bd25326ad505a32eAXIS2_HTTP_REQ_TYPEgroup__axis2__core__transport__http.html#ge26dc39d2021bdecd767903de8a8d933AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAPgroup__axis2__core__transport__http.html#g336ac19a399cec8114b60826e13b19ddAXIS2_HTTP_REQUEST_HEADERSgroup__axis2__core__transport__http.html#g1889687e929d76a901c9ecd2b7e5d426AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUEgroup__axis2__core__transport__http.html#g915aad32281c0eacaf0c2f7191ffeafaAXIS2_HTTP_HEADER_PROXY_AUTHENTICATEgroup__axis2__core__transport__http.html#geddbcea86297c399e4cbf86018518b38AXIS2_HTTP_DELETEgroup__axis2__core__transport__http.html#gb1173327e209f402f4a8f8e20a2484c8AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAMEgroup__axis2__core__transport__http.html#g92a532e419e6862add5d80104bc512f6AXIS2_HTTP_RESPONSE_CREATED_CODE_NAMEgroup__axis2__core__transport__http.html#geeb82e962fc5a5d0fd0fb15be231dea2AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VALgroup__axis2__core__transport__http.html#g02596fe5de4ccc0c872e50cbfea54bdbAXIS2_HTTP_PROTOCOL_VERSIONgroup__axis2__core__transport__http.html#g67267cee309a9e1efe43c3fa70712ee6axutil_url_set_protocolgroup__axis2__core__transport__http.html#gb0aa03c494f84d75568c55aaf8edee36axis2_http_svr_thread_creategroup__axis2__http__svr__thread.html#ga08b88e3cf6d3816a290fb222d755fc5axis2_http_status_line_set_http_versiongroup__axis2__http__status__line.html#g8cd0bfb7636c2c82426eda8568356039Member axis2_http_simple_response_get_status_codegroup__axis2__http__simple__response.html#gb0515fe0071d2874e9d44ecd45a6d10caxis2_http_simple_response_get_mtom_sending_callback_namegroup__axis2__http__simple__response.html#gf0ce33a819bfe371c4a16847c6fb440baxis2_http_simple_response_get_first_headergroup__axis2__http__simple__response.html#g20578210d80cff19667f2f1ebd1bb179Member axis2_http_simple_request_get_content_typegroup__axis2__http__simple__request.html#g74b99f552c7acdf24cfdc693ac77f732axis2_http_simple_request_get_content_typegroup__axis2__http__simple__request.html#g74b99f552c7acdf24cfdc693ac77f732Member axis2_http_response_writer_printlngroup__axis2__http__response__writer.html#g16200523d3e8833f40e37d80767722bbaxis2_http_response_writer_write_bufgroup__axis2__http__response__writer.html#g6d27ae339974794ede82a7c9e1270c22axis2_http_request_line_freegroup__axis2__http__request__line.html#gd8aa2d51456b6843690d75278de59abeaxis2_http_out_transport_info_set_free_funcgroup__axis2__http__out__transport__info.html#g807bd1058da0dbbe0422c65f7b833f7dMember axis2_http_header_create_by_strgroup__axis2__http__header.html#gea6446730aadb5a0ec0dfb43c9eb9bedMember axis2_http_client_sendgroup__axis2__http__client.html#g101755ba5822bee5f88615d18fa6259faxis2_http_client_set_mime_partsgroup__axis2__http__client.html#g510fbffdd8c52737d1b168ddf8cfee02axis2_http_client_recieve_headergroup__axis2__http__client.html#g5f5f7785804c35e3eb2adf658ac03343axis2_http_accept_record_tgroup__axis2__http__accept__record.html#ge384ef207777c3f8a0e151650e043b90Member axis2_handler_desc_creategroup__axis2__handler__desc.html#g87d6dacc6e0aba457cad85bbc1ed037faxis2_handler_desc_set_rulesgroup__axis2__handler__desc.html#g6f0e73a9285c1d118d5d7de0ef0d2877axis2_ctx_handler_creategroup__axis2__handler.html#geebcba75e6b92e7f3fa9ab4492390194Member axis2_flow_container_get_out_flowgroup__axis2__flow__container.html#gc469d08060b162390a2aca7c2bcc5d9eaxis2_flow_container_freegroup__axis2__flow__container.html#ge766ce97e139207a8fe5b7a92b6003b2axis2_flow_tgroup__axis2__flow.html#gd6d04c1c62cbffd6140a8df8fcbe5a09Member axis2_endpoint_ref_add_ref_attributegroup__axis2__endpoint__ref.html#g354234bb6da2cdecae159fa2045c904aaxis2_endpoint_ref_get_metadata_listgroup__axis2__endpoint__ref.html#g5ff6d5d4e9bd5d346ed1652c3f0a9566Member axis2_disp_freegroup__axis2__disp.html#g4ba871cc3cb7913ca8850de9cf6ce8e1AXIS2_DISP_NAMESPACEgroup__axis2__disp.html#g42ef8731adead6a2e762ebd8388118c5Member AXIS2_CONTEXTPATH_KEYgroup__axis2__desc__constants.html#gdafd2bf300a94a15b2e9e896d5ad081aAXIS2_EXECUTION_OUT_CHAIN_KEYgroup__axis2__desc__constants.html#ga994ccbb1a096606c1d53d3102dacb54Member axis2_desc_add_childgroup__axis2__description.html#g8cdc3537ca1820de45ba467eec1ce8c9axis2_desc_tgroup__axis2__description.html#g9bbf771ae43a8364c5f453c7077f0f1eaxis2_ctx_creategroup__axis2__ctx.html#gcb5d8fd664562a2ddaf88cc3248e977eAXIS2_MODULE_DLLgroup__axis2__core__dll__desc.html#gfcbaad08f77b2af42f013e34fb8c2ec8Member axis2_conf_ctx_register_svc_ctxgroup__axis2__conf__ctx.html#g2e9f3ef21b1f3e781232f2835058154aGroup configuration contextgroup__axis2__conf__ctx.htmlaxis2_conf_ctx_get_confgroup__axis2__conf__ctx.html#g118ac5ba83bb6ba1d8c054513d960d08Member axis2_conf_is_engagedgroup__axis2__config.html#g7756e8038846da3d822c690279ecfcc6Member axis2_conf_get_basegroup__axis2__config.html#gdcada32afcb07e8386d0eae0e7f75c72Member axis2_conf_add_transport_outgroup__axis2__config.html#gec80422b458c7baf542450a6b0d6a87eaxis2_conf_set_axis2_flaggroup__axis2__config.html#ga50c055fdc6e639f274aaf9972d92adeaxis2_conf_add_modulegroup__axis2__config.html#gd1f8225ed64ad78477b72eacd8f6a48aaxis2_conf_get_out_flowgroup__axis2__config.html#g9c2c12ce9e298ae1255d698b0c101f98axis2_conf_get_all_svc_grpsgroup__axis2__config.html#g51f16242864d15ff2d77442615d51832Member axis2_engine_create_fault_msg_ctxgroup__axis2__engine.html#g048a9c624d618b3c705d41ae77bab9d0axis2_engine_tgroup__axis2__engine.html#g9e253706c74ca12c9674c3714861fe74Member axis2_callback_creategroup__axis2__callback.html#g9fea0849294631c64f627f509afbe4fdaxis2_callback_report_errorgroup__axis2__callback.html#gde78d3a3af4710cb489ae4a6e27a9dcfasync resultgroup__axis2__async__result.htmlaxis2_addr_out_handler_creategroup__axis2__addr__mod.html#g80cd9d16412689c7e01c7ab17f4a3339Member AXIS2_WSA_REPLY_TOgroup__axis2__addr__consts.html#g4c2fe672174cb7f77f5fc68e7c78249aMember AXIS2_WSA_MAPPINGgroup__axis2__addr__consts.html#g5b94c2283807555fadb4baf18d3b134bAXIS2_WSA_METADATAgroup__axis2__addr__consts.html#g24ec2266e6ace775fa784c8a79a1da7cEPR_SERVICE_NAMEgroup__axis2__addr__consts.html#ga8706ee876df13fee596dd3d3b90fb55Member axiom_xpath_register_default_functions_setgroup__axiom__xpath__api.html#gaa194fb637ad142a32510933243ddda5Member axiom_xpath_result_node_tgroup__axiom__xpath__api.html#g3ee61d21a66efdb14f7609b79e7c0002axiom_xpath_cast_node_to_stringgroup__axiom__xpath__api.html#g326af499dbf89b48595f9f8464472488Member axiom_xml_writer_write_start_elementgroup__axiom__xml__writer.html#g8fb66c4d3f5b6b4ddee7d62ad9ed70ccMember axiom_xml_writer_write_commentgroup__axiom__xml__writer.html#g62018bab93eafc410e4f4c2c0b2d5a93axiom_xml_writer_flushgroup__axiom__xml__writer.html#g04303cc47f0648f0176ef3c9cd622998axiom_xml_writer_write_processing_instructiongroup__axiom__xml__writer.html#g50b745030f5b2b7b94de517d6843ae2daxiom_xml_writer_create_for_memorygroup__axiom__xml__writer.html#g79309882da5382c1ec3facc6e5abc862Member axiom_xml_reader_get_char_set_encodinggroup__axiom__xml__reader.html#gfea9c20e6adcb4fa1228bba4de19774caxiom_xml_reader_get_pi_targetgroup__axiom__xml__reader.html#g02a3310afc9f6e696a1945b09c81df6eaxiom_xml_reader_create_for_iogroup__axiom__xml__reader.html#g77bd95155c1f98044ecc2b2c0f525e9bMember axiom_text_create_with_data_handlergroup__axiom__text.html#gab4be5d4a50ee8c04058d77957abef1caxiom_text_create_strgroup__axiom__text.html#g680d66526e3cbc1179a65f4185f29910axiom_stax_builder_discard_current_elementgroup__axiom__stax__builder.html#g93547cae8f1309902bbf1f54b9d73dcfMember axiom_soap_header_block_create_with_parentgroup__axiom__soap__header__block.html#g5188d7fed9873736576a093ccdc6f601Member axiom_soap_header_get_header_blocks_with_namespace_urigroup__axiom__soap__header.html#g15e88be95ee0a6652bb04f8b8e555b9daxiom_soap_header_freegroup__axiom__soap__header.html#gb4bd1325c0f03050c79ec4302fb9fb12Member axiom_soap_fault_text_set_langgroup__axiom__soap__fault__text.html#gddf6b270d8a7a242feebfcab0456884dMember axiom_soap_fault_sub_code_freegroup__axiom__soap__fault__sub__code.html#g141061c23cdbbbaa96d6badc6d548a00axiom_soap_fault_role_set_role_valuegroup__axiom__soap__fault__role.html#g6603a9ab284b22b294ce54e7b01bf057axiom_soap_fault_reason_create_with_parentgroup__axiom__soap__fault__reason.html#g59ece99159afbd30946a59b5b7a2c094Member axiom_soap_fault_detail_add_detail_entrygroup__axiom__soap__fault__detail.html#g30e68309c908c12c28fc2721db04296baxiom_soap_fault_code_create_with_parent_valuegroup__axiom__soap__fault__code.html#ge71666a1e807569863113eafee61e10baxiom_soap_fault_get_exceptiongroup__axiom__soap__fault.html#g09b8c77a2a3de953b14fa8a56a8ed11eMember axiom_soap_envelope_get_headergroup__axiom__soap__envelope.html#ge45fe5ee486a2cba9fd1fbdf50211b36axiom_soap_envelope_get_headergroup__axiom__soap__envelope.html#ge45fe5ee486a2cba9fd1fbdf50211b36Member axiom_soap_builder_get_soap_envelopegroup__axiom__soap__builder.html#geb67f37a1ab8b01af8f9073c137cd92baxiom_soap_builder_set_bool_processing_mandatory_fault_elementsgroup__axiom__soap__builder.html#g87f4a91ddb83e585b2e06c1584bb503baxiom_soap_body_process_attachmentsgroup__axiom__soap__body.html#g1ef09e32ddc88eba85dac1ddee378b3bMember axiom_processing_instruction_creategroup__axiom__processing__instruction.html#gee29de6b25aec51c2c00ed8eef754010Member axiom_output_is_soap11group__axiom__output.html#g7b025e102e45a08c122dcbc04ff2b273axiom_output_write_xml_version_encodinggroup__axiom__output.html#gd09c70236323b9999e97f25b88b872d2axiom_output_tgroup__axiom__output.html#gfe1ea804d7a8179e85371f065cd9df09Member axiom_node_get_documentgroup__axiom__node.html#g2bdaabafdd623955d2837ad00e536603axiom_node_to_string_non_optimizedgroup__axiom__node.html#g9f6d265d8c276d0925aef199396cda0aaxiom_node_detachgroup__axiom__node.html#g8b581d1db9d2a0f80abe5aa3bf6cae2daxiom_navigator_is_completedgroup__axiom__navigator.html#g1142639e6dfe2a5074523570f93fe5cfMember axiom_namespace_creategroup__axiom__namespace.html#gde56c72c2d0eae4fa5a386958ed63d95Member axiom_mtom_sending_callback_tgroup__mtom__sending__callback.html#g1b8c0dbaa427283987be2131fcb340eeCaching_callbackgroup__caching__callback.htmlaxiom_mime_parser_creategroup__axiom__mime__parser.html#g05b3c82c78a50ffe9d1d05fffdc4c2eeMember axiom_element_serialize_start_partgroup__axiom__element.html#g8e6697b5ebbad4a3ebccd3d2904e77a2Member axiom_element_get_attribute_value_by_namegroup__axiom__element.html#g177a16ba7e740dc06496f0ed2551c4bdMember axiom_element_add_attributegroup__axiom__element.html#g85f27529264c69b4678b5e10cf1417c8axiom_element_to_stringgroup__axiom__element.html#g5aadee18159a878019124f7f5ec063f3axiom_element_serialize_end_partgroup__axiom__element.html#ge12cd52e93534b7f123bc97a828eb967Member axiom_document_get_buildergroup__axiom__document.html#g8663a5625accd15c3ae99c5a9b5a68e1documentgroup__axiom__document.htmlaxiom_data_source_get_streamgroup__axiom__data__source.html#g7d282214512f2f2b21fdab3a2826140fMember axiom_data_handler_get_content_typegroup__axiom__data__handler.html#ga132e800329243265ca138c661fa34d5axiom_data_handler_read_fromgroup__axiom__data__handler.html#ge35b85ccac0a5bd5fd659124c75d5ca2axiom_comment_creategroup__axiom__comment.html#g62b7b89d4be6473a3a801fa2d5a0d582children with specific attribute iteratorgroup__axiom__children__with__specific__attribute__iterator.htmlaxiom_children_iterator_resetgroup__axiom__children__iterator.html#g0a84a4adc451ea9428f38bef04a8f0afAXIOM_CHILD_ELEMENT_ITERATOR_NEXTgroup__axiom__child__element__iterator.html#g0140cb62ccf00ac3f6bfdc4937839f21Member axiom_attribute_get_localnamegroup__axiom__attribute.html#g7ec0c8a1b00cdd260d3bbbe9c25d48d6axiom_attribute_get_valuegroup__axiom__attribute.html#g95d26b917b6beea23aada61bf1402376neethi_util_create_policy_from_omneethi__util_8h.html#0a7ea603d1581587b4e300859d7fb9abneethi_reference_tneethi__reference_8h.html#902850ff029a989556bba0a762752cedneethi_policy_createneethi__policy_8h.html#ab8d9370b5f8f906f7402385a0a40cf5neethi_exactlyone.hneethi__exactlyone_8h.htmlneethi_engine_get_normalizeneethi__engine_8h.html#5a5d99983dd578517d0c735c8c678a0aAXIS2_RM_SEQUENCE_TRANSPORT_SECURITYneethi__constants_8h.html#ab3a85532110f6bd9a9cfb962c401cbeNEETHI_POLICY_15_NAMESPACEneethi__constants_8h.html#c5b61d0a6390137719c583e6517cf34dneethi_assertion_set_is_optionalneethi__assertion_8h.html#a0174e7661c0421e6006ba9d02745edeneethi_all_get_policy_componentsneethi__all_8h.html#c665822308eb425467ff0c9b32b800b7AXIS2_TARGET_EPRgroup__axutil__utils.html#g9ab4342f2827e4d72898290fb3a1d4b3axutil_url_get_pathgroup__axis2__core__transport__http.html#g6b3dda22f4a9894f8eda3171721b9ee1axutil_uri.haxutil__uri_8h.htmlaxutil_uri_tgroup__axutil__uri.html#g64b8c26cacf7573df632058226941a9eAXIS2_URI_HTTPS_DEFAULT_PORTgroup__axutil__uri.html#g3c34f69d375f38e461f09374ad90ee9caxutil_thread_pool_initgroup__axutil__thread__pool.html#gfadbfea2d099917420634549da19444eaxutil_thread_once_initgroup__axutil__thread.html#gac95e6a2e2106ff72daa1ca244286890axutil_thread.haxutil__thread_8h.htmlaxutil_rand.haxutil__rand_8h.htmlaxutil_param_container_get_paramsgroup__axutil__param__container.html#geb219d10e4cff60dde4b8af15548d13aaxutil_param_freegroup__axutil__param.html#g5412cbc4fc9fff64f101304e1f21c343axutil_md5group__axutil__md5.html#g9e7aead74d8d68f3d8f8177d17239da0axutil_linked_list_cleargroup__axutil__linked__list.html#g02d3d806618b29e546e6b99b451bdc5fentry_tgroup__axutil__linked__list.html#gc8fdf0a0a29c429a84e7beb8bcbd00ceaxutil_hash_set_envgroup__axutil__hash.html#gcf5da6ec41283048d3275d51482467c7axutil_hash_index_tgroup__axutil__hash.html#g3c624ec6d027cc0a7e8f07fb849f51f8axutil_env_tgroup__axutil__env.html#gd1083f9198686518871a41ce0e08cd0aaxutil_dll_desc_get_dl_handlergroup__axutil__dll__desc.html#gbc86df1d8abc1ce4d9379dc9b9cf6ee6axutil_digest_calc.haxutil__digest__calc_8h.htmlaxutil_date_time_get_time_zone_minutegroup__axutil__date__time.html#gde0f3aaf4e099d4f3c610367d742b987axutil_date_time_deserialize_date_timegroup__axutil__date__time.html#g90dabd89b0fd6ecf8ea512d748276e25axutil_base64_binary_get_encoded_binary_lengroup__axutil__base64__binary.html#ge89f2a3f7e788c995ab764df3ba896cdaxutil_array_list_add_atgroup__axutil__array__list.html#g6c5f7a93a8d3e7e8ed2eebadd05a59f6axutil_allocator_freegroup__axutil__allocator.html#g5e629bf41638a6df23793dbefb542f5baxis2_transport_sender.haxis2__transport__sender_8h.htmlaxis2_transport_out_desc_is_param_lockedgroup__axis2__transport__out__desc.html#g7a1d79a2e07e83772081c39aeaae5abcaxis2_transport_out_desc_tgroup__axis2__transport__out__desc.html#g30caf90fd8fb7b0c89700bcb12e250dfaxis2_transport_in_desc_get_in_flowgroup__axis2__transport__in__desc.html#g8f29949d324d08e6c759ccf650ccab29axis2_svc_skeleton_tgroup__axis2__svc__skeleton.html#gc1e79d5cf892025c1f663b2122c5ea50axis2_svc_grp_ctx.haxis2__svc__grp__ctx_8h.htmlaxis2_svc_grp_creategroup__axis2__svc__grp.html#g5de18e0924a843af891f2c2eb274f580axis2_svc_grp_add_svcgroup__axis2__svc__grp.html#g731315038a625a4436953951a1dce15baxis2_svc_ctx_creategroup__axis2__svc__ctx.html#gfde2ce40c07183001b2a1ef867fb36aeaxis2_svc_client_get_svc_ctxgroup__axis2__svc__client.html#g507f51f4a690c9d13e02c98dc17eb02caxis2_svc_client_add_headergroup__axis2__svc__client.html#gb65906f3d7f3a0ad5f75018ffdbbd0a7axis2_svc_creategroup__axis2__svc.html#gc45855d3d550a76bcca692eaa51dfdcbaxis2_svc_set_svc_wsdl_pathgroup__axis2__svc.html#gf864bfde998f8c76bf3264821df8460faxis2_svc_get_all_paramsgroup__axis2__svc.html#g0db6ea3cba35603e3bea428005a1e681axis2_stub_create_with_endpoint_uri_and_client_homegroup__axis2__stub.html#gb7634341e5e96506963b79ac3b5ebe6eMember axis2_simple_http_svr_conn_set_rcv_timeoutaxis2__simple__http__svr__conn_8h.html#29cb398cc123654c068598dfec057da7axis2_simple_http_svr_conn_set_snd_timeoutaxis2__simple__http__svr__conn_8h.html#8c6523b52c1259a074454155d2518af5axis2_relates_to_set_valuegroup__axis2__relates__to.html#gaa3dd97df52d084ea15a5d05d6931a82axis2_phase_rule_set_beforegroup__axis2__phase__rule.html#g03fadd5da8392e210b994cd5f425a92faxis2_phase_resolver_tgroup__axis2__phase__resolver.html#g1d7f5ab5b7042b14e61751be6e6bcb7caxis2_phase_invoke_start_from_handlergroup__axis2__phase.html#gae4d903e6f99f2dbd7e358306cfd0733AXIS2_PHASE_ANYWHEREgroup__axis2__phase.html#g742763fcecad7c9cd3ff889591151a8daxis2_options_creategroup__axis2__options.html#gdda6f5257f3532ec3fa9ca4b316fb0f1axis2_options_set_manage_sessiongroup__axis2__options.html#g61fc4980e653dcc854819966af927b01axis2_options_set_togroup__axis2__options.html#geb3c591479ec264bd1e36221d22e31c7axis2_options_get_transport_in_protocolgroup__axis2__options.html#gd49160ba8b51fd82aafdc8bbd034851aaxis2_op_ctx_set_response_writtengroup__axis2__op__ctx.html#ge742cc55efddb40eddffae46ba11125baxis2_op_client_receivegroup__axis2__op__client.html#g9e6d223494c0b13bb9070a87fb2b53a6axis2_op_client_completegroup__axis2__op__client.html#g6b4c57a19d49087b557fe094f7e231c8axis2_msg_recv_get_derivedgroup__axis2__msg__recv.html#g30553acfda7bbb75d8031cc0843322c1axis2_msg_info_headers.haxis2__msg__info__headers_8h.htmlaxis2_msg_info_headers_get_reply_to_anonymousgroup__axis2__msg__info__headers.html#gd97b6d6039b46707d5e1e88a7610c050axis2_msg_ctx_set_http_output_headersgroup__axis2__msg__ctx.html#gc4e3c9a6394f3533e0e79a09626d37a4axis2_msg_ctx_get_http_accept_record_listgroup__axis2__msg__ctx.html#gf9fa321552ac0debc4cd7e094e7e12edaxis2_msg_ctx_get_transport_out_streamgroup__axis2__msg__ctx.html#g1537c848176093a8cdcc4f02721a052daxis2_msg_ctx_set_optionsgroup__axis2__msg__ctx.html#gccc481e49357f41dc151e130622385faaxis2_msg_ctx_set_is_soap_11group__axis2__msg__ctx.html#gf29b11075b84a7f2ede4f47da724f6a9axis2_msg_ctx_get_propertygroup__axis2__msg__ctx.html#gb16fd5cd1ee2c9ad86c08529d2194fd4axis2_msg_ctx_set_transport_in_descgroup__axis2__msg__ctx.html#g341daeb3f8280985160048c1c868c64baxis2_msg_ctx_set_relates_togroup__axis2__msg__ctx.html#g619646919121558645495bc791b14688axis2_msg_ctx_get_response_soap_envelopegroup__axis2__msg__ctx.html#g6430b72e8f0d297545d5c77dbde13f88AXIS2_TRANSPORT_SUCCEEDgroup__axis2__msg__ctx.html#g45fb20080ffa2a4f7d18a844193ada04axis2_msg_set_directiongroup__axis2__msg.html#g4d684f4bc237a32fcf2d2462d4c3166aaxis2_msg.h File Referenceaxis2__msg_8h.htmlaxis2_module_desc_set_qnamegroup__axis2__module__desc.html#g85c96803117bc02ca8d224d4b9517372axis2_module_fill_handler_create_func_mapgroup__axis2__module.html#g1b38c2e3368e87c2309a12ea71e96177axis2_http_worker_process_requestgroup__axis2__http__worker.html#ga1cebc142b582731d6ccfe31e4eec310axis2_http_transport_utils_create_soap_msgaxis2__http__transport__utils_8h.html#c495bc017e64881c3a01348486e90478axis2_http_transport_utils_select_builder_for_mimeaxis2__http__transport__utils_8h.html#786e56ff099ea35fcc97fa4271461af8axis2_http_transport_sender_creategroup__axis2__http__transport__sender.html#g900f9936770cbf56d5a071ae4c18ddb7axis2_http_status_line_freegroup__axis2__http__status__line.html#gc063225dd0eb855ae6a0fb258da36446axis2_http_simple_request_get_content_typegroup__axis2__http__simple__request.html#g74b99f552c7acdf24cfdc693ac77f732Member axis2_http_sender_set_om_outputaxis2__http__sender_8h.html#4ed1abf9d12cdc4f38eda059dc874d28axis2_http_sender_get_param_stringaxis2__http__sender_8h.html#0eb092e1b59bfa416aaabc74f833a8ffaxis2_http_sender.h File Referenceaxis2__http__sender_8h.htmlaxis2_http_request_line.haxis2__http__request__line_8h.htmlaxis2_http_out_transport_info_freegroup__axis2__http__out__transport__info.html#gd6d974df0df738b3e994146bf2445c17axis2_http_header.haxis2__http__header_8h.htmlaxis2_http_client_get_proxygroup__axis2__http__client.html#geafedbee3be84605e6872b2ba4ed7cb4axis2_http_accept_record_get_namegroup__axis2__http__accept__record.html#g61ea3c1ecec15e26ee9ff5d0f4bfb20eaxis2_handler_desc_add_paramgroup__axis2__handler__desc.html#g737790760fbba87a858641543d446814axis2_handler_freegroup__axis2__handler.html#g1e0beec4adf09b9326565095bec4691aaxis2_flow_container.h File Referenceaxis2__flow__container_8h.htmlaxis2_engine_resume_invocation_phasesgroup__axis2__engine.html#ga9d62410babeb061b9bf300d6a837ca2axis2_endpoint_ref_add_ref_paramgroup__axis2__endpoint__ref.html#g0c88ce2256c5379a21cc3a881b9131acaxis2_rest_disp_creategroup__axis2__disp.html#g71f97a999b7c67d329477b2a0dc1b2ceAXIS2_IN_FAULTFLOW_KEYgroup__axis2__desc__constants.html#g77261af724a23bba3aef5a6ead323803axis2_desc_get_parentgroup__axis2__description.html#g99cb434d37bf69b9edb0396825694041Member AXIS2_FAULT_IN_FLOWaxis2__defines_8h.html#171143230a231ff07fcf8402b523a713axis2_ctx.h File Referenceaxis2__ctx_8h.htmlaxis2_conf_ctx_get_root_dirgroup__axis2__conf__ctx.html#g8be4f6863d1a226ef4a239afcb191e6caxis2_conf_get_handlersgroup__axis2__config.html#g4201e005521a5165322c04af1d0c493daxis2_conf_engage_modulegroup__axis2__config.html#gd606b44f38e986772f34e7eea44f1213axis2_conf_is_engagedgroup__axis2__config.html#g7756e8038846da3d822c690279ecfcc6axis2_conf_is_param_lockedgroup__axis2__config.html#g8fe2754bf14d3965c99a32b92909cb1daxis2_callback_set_on_errorgroup__axis2__callback.html#ga394bc5fddfd86a25c29930b08d39628axis2_async_result_creategroup__axis2__async__result.html#g065fafef3286259aa3c8ceb7da9957eeADDR_OUT_HANDLERgroup__axis2__addr__mod.html#g548464c0a3175fda2786d94545f1b2ddAXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTEgroup__axis2__addr__consts.html#g4739c8ded874a3d7901bc6229a46dc24AXIS2_WSA_FAULT_TOgroup__axis2__addr__consts.html#g9bf69cecc6d28fe398d610195617f1bdaxiom_xml_writer_get_prefixgroup__axiom__xml__writer.html#gecd8543be052df94f2d0767da3126240axiom_xml_writer_write_end_elementgroup__axiom__xml__writer.html#g0670764ce56a2674c9753995be9de071axiom_xml_reader_get_namespace_urigroup__axiom__xml__reader.html#geb34cdd664cab7fd67f4ef1b15e5c53faxiom_xml_reader_freegroup__axiom__xml__reader.html#g9bf782a28329a5661230324bde422a03axiom_soap_header_block_set_processedgroup__axiom__soap__header__block.html#g6739c1882b9749f7ec0048a223f6e817axiom_soap_header_examine_all_header_blocksgroup__axiom__soap__header.html#g74a56d9fd3b49055bae4091fcd5bb4ffaxiom_soap_fault_value.haxiom__soap__fault__value_8h.htmlaxiom_soap_fault_sub_code_freegroup__axiom__soap__fault__sub__code.html#g141061c23cdbbbaa96d6badc6d548a00axiom_soap_fault_reason_add_soap_fault_textgroup__axiom__soap__fault__reason.html#g7f1ab419bbb1d48404811c18d58ebef0axiom_soap_fault_node.h File Referenceaxiom__soap__fault__node_8h.htmlaxiom_soap_fault_code_taxiom__soap__fault__code_8h.html#8bc9f8404a5b11217aee7727fd79f7f6axiom_soap_fault.haxiom__soap__fault_8h.htmlaxiom_soap_envelope_taxiom__soap__envelope_8h.html#bef9e60930a2cfbed91eed035a32c98eaxiom_soap_builder_nextgroup__axiom__soap__builder.html#gbb3d06154356e916298f4740d5b8eaebaxiom_soap_body_freegroup__axiom__soap__body.html#g34c1b50ba393f19106007eed20104e1daxiom_node_get_next_siblinggroup__axiom__node.html#g6d91d78cb733d34724901e75887e85c9axiom_node.h File Referenceaxiom__node_8h.htmlaxiom_mtom_caching_callback.haxiom__mtom__caching__callback_8h.htmlaxiom_mime_parser_set_max_buffersgroup__axiom__mime__parser.html#g5673d9d89ee85532d51e16756c712e68axiom_document_set_buildergroup__axiom__document.html#g616f57c62b173076d9cc94eb7caca957axiom_doctype_get_valuegroup__axiom__doctype.html#gaafffb4fb25cdc52471c381de62e5d46axiom_data_handler_get_user_paramgroup__axiom__data__handler.html#gc163510d1280fa477463c282863f85b5axiom_data_handler_set_content_typegroup__axiom__data__handler.html#gbd786bd0c93181d5232492e486d59799axiom_children_with_specific_attribute_iterator_nextgroup__axiom__children__with__specific__attribute__iterator.html#g82d5c3904628c6fac0333ad55b904066axiom_children_qname_iterator_taxiom__children__qname__iterator_8h.html#4fcd32bab710cef71eaf7ee504de2f43axiom_child_element_iterator_removegroup__axiom__child__element__iterator.html#g5fdb1dfafa5ec44ffc46f3bb1301cd86axiom_attribute_set_namespacegroup__axiom__attribute.html#g4b27824f6bb94509562fe09644adf9a3rp_x509_token_builder.hrp__x509__token__builder_8h-source.htmlrp_symmetric_asymmetric_binding_commons.hrp__symmetric__asymmetric__binding__commons_8h-source.htmlrp_protection_token_builder.hrp__protection__token__builder_8h-source.htmlrp_binding_commons.hrp__binding__commons_8h-source.htmlneethi_all.hneethi__all_8h-source.htmlAXIS2_SCOPE_SESSIONaxutil__utils_8h-source.html#l00179AXIS2_URI_UNP_OMITUSERINFOaxutil__uri_8h-source.html#l00092AXIS2_URI_HTTP_DEFAULT_PORTaxutil__uri_8h-source.html#l00052axutil_thread.haxutil__thread_8h-source.htmlaxutil_md5.haxutil__md5_8h-source.htmlaxutil_log.haxutil__log_8h-source.htmlAXIS2_ERROR_FREEaxutil__error_8h-source.html#l00851axutil_digest_calc.haxutil__digest__calc_8h-source.htmlAXIS2_TRANSPORT_SENDER_INVOKEaxis2__transport__sender_8h-source.html#l00158axis2_transport_in_desc.haxis2__transport__in__desc_8h-source.htmlaxis2_svc_skeleton_taxis2__svc__skeleton_8h-source.html#l00054AXIOM_SOAP_11axis2__stub_8h-source.html#l00042AXIS2_PHASE_MESSAGE_OUTaxis2__phase__meta_8h-source.html#l00075AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGaxis2__out__transport__info_8h-source.html#l00082axis2_msg_recv.haxis2__msg__recv_8h-source.htmlaxis2_msg_ctx.haxis2__msg__ctx_8h-source.htmlaxis2_module_ops_taxis2__module_8h-source.html#l00056AXIS2_HTTP_AUTH_PASSWDaxis2__http__transport_8h-source.html#l00931AXIS2_HTTP_DEFAULT_CONTENT_CHARSETaxis2__http__transport_8h-source.html#l00843AXIS2_HTTP_HEADER_COOKIE2axis2__http__transport_8h-source.html#l00755AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVEaxis2__http__transport_8h-source.html#l00670AXIS2_HTTP_HEADER_EXPECTaxis2__http__transport_8h-source.html#l00579AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCEaxis2__http__transport_8h-source.html#l00494AXIS2_HTTP_HEADER_HOSTaxis2__http__transport_8h-source.html#l00403AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAMEaxis2__http__transport_8h-source.html#l00318AXIS2_HTTP_RESPONSE_ACK_CODE_NAMEaxis2__http__transport_8h-source.html#l00232AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VALaxis2__http__transport_8h-source.html#l00141axis2_http_transport.haxis2__http__transport_8h-source.htmlaxis2_http_response_writer_taxis2__http__response__writer_8h-source.html#l00044AXIS2_HANDLER_CREATE_FUNCaxis2__handler_8h-source.html#l00153AXIS2_IN_FAULTFLOW_KEYaxis2__description_8h-source.html#l00118AXIS2_FAULT_IN_FLOWaxis2__defines_8h-source.html#l00042axis2_on_complete_func_ptraxis2__callback_8h-source.html#l00052AXIS2_WSA_POLICIESaxis2__addr_8h-source.html#l00134EPR_REFERENCE_PARAMETERSaxis2__addr_8h-source.html#l00077axiom_xpath_resultaxiom__xpath_8h-source.html#l00168axiom_xpath_expression::expr_lenaxiom__xpath_8h-source.html#l00105axiom_util.haxiom__util_8h-source.htmlaxiom_soap_body.haxiom__soap__body_8h-source.htmlaxiom_navigator.haxiom__navigator_8h-source.htmlaxiom_doctype.haxiom__doctype_8h-source.htmlstruct entry_sstructentry__s.htmlaxutil_log::enabledstructaxutil__log.html#61962855615898f2ff2409bbe9fb7cccMember axutil_env::log_enabledstructaxutil__env.html#d75ee149d2ed1a3c5e421e8735ead35aMember axutil_allocator::reallocstructaxutil__allocator.html#294a6dd809f99bbfd0b44e2b04b32835axis2_version_t::patchstructaxis2__version__t.html#d7e342f0dcdf63a6f80720b36565dd8aaxis2_transport_sender Struct Referencestructaxis2__transport__sender.htmlaxis2_transport_receiver::opsstructaxis2__transport__receiver.html#7a1258cb3c5224af3139d90e472f2854struct axis2_svc_skeletonstructaxis2__svc__skeleton.htmlaxis2_module Struct Referencestructaxis2__module.htmlMember axiom_xpath_expression::expr_strstructaxiom__xpath__expression.html#0b32a7b977d8a6475fb2abfb96935002Member axiom_xpath_context::functionsstructaxiom__xpath__context.html#75328031d141a5cb91f708785c11ca7aMember axiom_xml_writer_ops::write_encodedstructaxiom__xml__writer__ops.html#18abc643865e39e695f7c818680c0b98Member axiom_xml_writer_ops::write_attribute_with_namespacestructaxiom__xml__writer__ops.html#9be76a40295724f89c21460a0cbb420eaxiom_xml_writer_ops::write_encodedstructaxiom__xml__writer__ops.html#18abc643865e39e695f7c818680c0b98axiom_xml_writer_ops::write_attribute_with_namespacestructaxiom__xml__writer__ops.html#9be76a40295724f89c21460a0cbb420eMember axiom_xml_reader_ops::get_namespace_uristructaxiom__xml__reader__ops.html#61441a7ed7c3eb2d8e3755deb63383b2Member axiom_xml_reader_ops::freestructaxiom__xml__reader__ops.html#b6c0094b13a222f82a3362d30026dd70axiom_xml_reader_ops::get_attribute_prefix_by_numberstructaxiom__xml__reader__ops.html#3ff29576e6e09c6f9eede201aaea50a3axiom_mtom_caching_callback_ops::freestructaxiom__mtom__caching__callback__ops.html#5bdadbcd7eea6fd9763f834175b1e1a5rp_x509_token_get_require_key_identifier_referencegroup__rp__x509__token.html#gd0d55ac0fa19705422544fa4d6706d84rp_wss11_set_must_support_ref_encryptedkeygroup__wss11.html#g6f1083d506fa42406270845aef21374crp_wss10_increment_refgroup__wss10.html#gec4a75a48ef367e02bb6cdc60b07d188rp_username_token_get_claimgroup__rp__username__token.html#g1a58b1a95a21e53a49b556a966955c74rp_trust10_builder_buildgroup__rp__trust10__builder.html#g04826103071e74c4c9c2dd36a504f619rp_token_get_inclusiongroup__rp__token.html#g8890c6009b655b7fb964eb769ce1030arp_symmetric_binding_builder_buildgroup__rp__symmetric__binding__builder.html#g22d46ca1277199932f56b9e4637a2154rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signaturesgroup__rp__assymmetric__symmetric__binding__commons.html#g05e0faf380792dcb97da61e992d899b6rp_supporting_tokens_set_encrypted_elementsgroup__rp__supporting__tokens.html#g4d3c57a13415133e32a0d07b26aa591arp_signed_encrypted_parts_builder_buildgroup__rp__signed__encrypted__parts__builder.html#ga954c6f31f27d45dc54eeb4dcbf51919rp_signed_encrypted_items_set_signeditemsgroup__rp__signed__encrypted__items.html#g921e1ea22b3e0145b216d5a1862711a5rp_signature_token_builder_buildgroup__rp__signature__token__builder.html#g504d7d1ae9d5ff43bbbecbeff2551ee4rp_security_context_token_set_derivedkeygroup__rp__security__context__token.html#gf7c0a58024bd0e99f703edd7e137ea0arp_secpolicy_set_encrypted_itemsgroup__rp__secpolicy.html#g032535dd3a0c42aff23a1c03d6eef878rp_secpolicy_get_supporting_tokensgroup__rp__secpolicy.html#gf6d2ecbcafec0f7c16ce85889b5e7e60rp_rampart_config_set_rd_valgroup__rp__rampart__config.html#gfc76d66e2ddc65c599a9f21898f4d900rp_rampart_config_get_sct_providergroup__rp__rampart__config.html#g9ef32d5607e4c33aad0fed4d497e7d88rp_property_increment_refgroup__rp__property.html#gf93de55d92c759625827a2b3e8679fc5rp_layout_creategroup__rp__layout.html#g2c19ad5845cae1e0ec342cbe5ebe723drp_issued_token_builder_buildgroup__trust10.html#g9a31fe343b331663a210c5b6c6d03973rp_issued_token_tgroup__trust10.html#g2d2c4a8077cc0617a182938227741af1rp_header_set_namespacegroup__rp__header.html#g308a9610d4510ea4e208d2f1095ecf1cRp_elementgroup__rp__element.htmlRP_CERTIFICATEgroup__rp__defines.html#g1511c8736142c268b03b608c5336c221RP_WSS_SAML_V11_TOKEN_V11group__rp__defines.html#g9bd192eb39e65bcd48abcc9174774bcfRP_REQUIRE_THUMBPRINT_REFERENCEgroup__rp__defines.html#gef1bccba8832ee6e25fe69e27e05252bRP_SECURITY_CONTEXT_TOKENgroup__rp__defines.html#g63333cdbc955223b46bfb0ee63590db7RP_C14Ngroup__rp__defines.html#g530639fc33310772d1dd40115fd68e3fRP_SHA512group__rp__defines.html#gd456b4a0722c06da9a2f6e13a4fc4f60RP_ALGO_SUITE_TRIPLE_DESgroup__rp__defines.html#g4ff37829e639c7a3f631f421846ea5beRP_PROTECTION_TOKENgroup__rp__defines.html#g7964406ae04669af10a6ea80ca64addbRP_XPATH_VERSIONgroup__rp__defines.html#g0d8719cbe3f75f1e136e6ff658e430afRP_SIGNED_SUPPORTING_TOKENSgroup__rp__defines.html#g47ffd5b72e01f635a52a3293ddf5c86crp_binding_commons_get_signed_supporting_tokensgroup__rp__binding__commons.html#g060aa01d8cddd41d8b4959dce46733dbrp_asymmetric_binding_set_initiator_tokengroup__rp__asymmetric__binding.html#g3ac38d05bf6bcada9c97bb4104824556rp_algorithmsuite_get_str_transformationgroup__rp__algoruthmsuite.html#g5a952cad1b58fd70c784a033e7fb649brp_algorithmsuite_get_computed_keygroup__rp__algoruthmsuite.html#g45e3ab9a58eb58ce64725f8cc5e6f0f3Member AXIS2_SCOPE_SESSIONgroup__axutil__utils.html#gg102944cbbb59586e2d48aa4a95a55f642d266cec752e517e50f5063d9680043eAXIS2_READ_INPUT_CALLBACKgroup__axutil__utils.html#gc9c223058db1f5e3669bfafb73f13fc8Member axutil_uri_port_of_schemegroup__axutil__uri.html#gdf1a3e50e6387fafd45b14e1aa0f8208Member AXIS2_URI_UNP_OMITQUERY_ONLYgroup__axutil__uri.html#gba651e91d89d096e638945c1dc729b82Member AXIS2_URI_HTTPS_DEFAULT_PORTgroup__axutil__uri.html#g3c34f69d375f38e461f09374ad90ee9caxutil_uri_parse_hostinfogroup__axutil__uri.html#g7ae7fb761871229bea556e730c092eeaAXIS2_URI_NFS_DEFAULT_PORTgroup__axutil__uri.html#g938eb255d804e1aff7e1d92ffb5f5b9dGroup type convertorsgroup__axutil__types.htmlMember axutil_free_thread_envgroup__axutil__thread__pool.html#g86828fbfa2efa9e9f864fad6fccfee11Member axutil_thread_mutex_unlockgroup__axutil__thread.html#gd275462277abb24342d1b69967ba79b4Member AXIS2_THREAD_MUTEX_DEFAULTgroup__axutil__thread.html#gd096680721aedfeb237647a9d59deedfaxutil_threadkey_tgroup__axutil__thread.html#g48b4d7958a921bd9780ef76e1b76c3a4Member axutil_strcatgroup__axutil__string__utils.html#g6f853777560c912e0dd6416eb95fe2eaaxutil_strncasecmpgroup__axutil__string__utils.html#g60ac89bddd68b281ad974d316e9c187cMember axutil_string_clonegroup__axutil__string.html#ga117973350a2025cfcc0463f6f21fdfaMember axutil_stream_free_void_arggroup__axutil__stream.html#g35645c14df7fdd3c4d61b381a543f9edaxutil_stream_create_filegroup__axutil__stream.html#g1c531cc65e9cf1a2f652795d5846ff1fMember axutil_stack_freegroup__axis2__util__stack.html#g53a011812b6cf0955195e17473e75297Member axutil_qname_to_stringgroup__axutil__qname.html#gce05f5dabf88994e7ae8b3bf46fa968eMember axutil_property_set_scopegroup__axutil__property.html#g4779e4b68dcfb3d96eb6fea0d35fe245Member axutil_properties_get_propertygroup__axutil__properties.html#g673a26d6e215e9d7af7aa38bad55af6bMember axutil_param_container_freegroup__axutil__param__container.html#g8da05e09f9c6144927118bb7d7e0b53eMember axutil_param_get_param_typegroup__axutil__param.html#g5fd6c7f443ffcf002cc042c3aca0b276axutil_param_is_lockedgroup__axutil__param.html#g9196d434bed17f0b351addbb46e784d8axutil_network_hadler_create_multicast_svr_socketgroup__axutil__network__handler.html#g18bd326db40c6f0187532890f57c6fa8Member axutil_md5_ctx_creategroup__axutil__md5.html#gb1b0077f4d73b00f536914cf44b81437Member AXIS2_LOG_LEVEL_ERRORgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06d410d801a5f0eb97df330d0da1047619eMember axutil_log_levelsgroup__axutil__log.html#gd0a4d978fc80ce29636196b75e21b06dAXIS2_LOG_DEBUGgroup__axutil__log.html#g1b47453e0a3e4ab403f0ff82bc5c85faMember axutil_linked_list_get_lastgroup__axutil__linked__list.html#gacdf3f19dc61bf262c5e25e1dd3ed5faaxutil_linked_list_last_index_ofgroup__axutil__linked__list.html#g9613b65e8b1f91c6a7ed5c3e2befa312axutil_linked_list_check_bounds_exclusivegroup__axutil__linked__list.html#g7f24198b995b898be3265a181b3c8457axutil_http_chunked_stream_creategroup__axutil__http__chunked__stream.html#gdb1279ececa520dfa7ebd40a54f5fc26Member axutil_hash_getgroup__axutil__hash.html#gc9571a63cb988174c01e18634f9a93bbaxutil_hash_countgroup__axutil__hash.html#ga6cd5c55cdad46b0b9d3133ff77ed314axutil_generic_obj_set_typegroup__axutil__generic__obj.html#g806eb1a21386d73fbf4fb0f7966dc855Member axutil_file_clonegroup__axutil__file.html#g7bc7b87db04b454cf21009693e44585cMember axutil_error_freegroup__axutil__error.html#g3ccdfbc08ec8a92def154e96c9716b78AXIS2_ERROR_GET_MESSAGEgroup__axutil__error.html#ge773ce075b4c0df2fe3029569b28d7e0axutil_env_check_statusgroup__axutil__env.html#g14eb39c983da990a3cdc5d2505a3ab31axutil_duration_get_is_negativegroup__axutil__duration.html#g5f71556ad7b17688e1fd5f506a1c9babaxutil_duration_create_from_stringgroup__axutil__duration.html#g7447afeb2efaae420f6f66ef10095a38axutil_dll_desc_set_create_functgroup__axutil__dll__desc.html#g5f76bc6cce702fc9f925b950fac6d9f9Member axutil_dir_handler_list_services_or_modules_in_dirgroup__axutil__dir__handler.html#gcda4985b02ac72f442822e774481fa65Member axutil_uuid_gengroup__axutil__uuid__gen.html#g640d70c68f3b45aab96599d03e2491f4Member axutil_date_time_deserialize_timegroup__axutil__date__time.html#g7e5fb45f3ddfccdbb4a22f27d07f6c58axutil_date_time_get_msecgroup__axutil__date__time.html#gaee91945923ba46dd833ea4fefadb355axutil_date_time_creategroup__axutil__date__time.html#g0ee93dfad91aee27df47dfea472273c8Member axutil_base64_binary_tgroup__axutil__base64__binary.html#gd87df1cdeeff79315010179147857acbMember axutil_array_list_index_ofgroup__axutil__array__list.html#gb539c683dea5713f8388e131e686ad28axutil_array_list_add_atgroup__axutil__array__list.html#g6c5f7a93a8d3e7e8ed2eebadd05a59f6Member axutil_allocator_tgroup__axutil__allocator.html#g24403baa66b6208837ff50b46f8ba930Member AXIS2_TRANSPORT_SENDER_CLEANUPgroup__axis2__transport__sender.html#gaa44d10358d3bfa8bf299fd33d1674baMember axis2_transport_receiver_tgroup__axis2__transport__receiver.html#gc3080d6ec44ab99a8d64ba4b5196daebMember axis2_transport_out_desc_set_fault_phasegroup__axis2__transport__out__desc.html#gc40075ffa1f0d29c109d9b7e87a4dc1caxis2_transport_out_desc_creategroup__axis2__transport__out__desc.html#g7f4ccfe57406b9e031c12ec4c0fe84abaxis2_transport_out_desc_free_void_arggroup__axis2__transport__out__desc.html#gf4917e987d796cc459ef55d00047fe33Member axis2_transport_in_desc_get_enumgroup__axis2__transport__in__desc.html#g6ec4b9bf77f2828b7461de54bb7655ceaxis2_transport_in_desc_get_recvgroup__axis2__transport__in__desc.html#gf86d50b87ddbb9adfb9856526a7a0cdfMember AXIS2_THREAD_MUTEX_UNNESTEDgroup__axis2__mutex.html#g23f73f33dbd2bc3b73e45765daee0dfdMember axis2_svr_callback_tgroup__axis2__svr__callback.html#gbae96544b63cca63da330e4d6ccb489cAXIS2_SVC_SKELETON_ON_FAULTgroup__axis2__svc__skeleton.html#gc1c9dfc996cb0f8603e042cef200db98axis2_svc_name_get_endpoint_namegroup__axis2__svc__name.html#g0dcc0f40f026a534ec485569f049b702Member axis2_svc_grp_ctx_tgroup__axis2__svc__grp__ctx.html#g340e0c5f75d6579013ff5768b37e4a07Member axis2_svc_grp_remove_svcgroup__axis2__svc__grp.html#gbd962a135fad725b13f351adbc4f495aMember axis2_svc_grp_add_paramgroup__axis2__svc__grp.html#g8e39014339ba95a2d64db6dac4e03811axis2_svc_grp_is_param_lockedgroup__axis2__svc__grp.html#g9b85dce29fc8a1d23a29911ace09fe32Member axis2_svc_ctx_get_svcgroup__axis2__svc__ctx.html#g3c50b06c933101a834e178e6e9305237axis2_svc_ctx_get_parentgroup__axis2__svc__ctx.html#g2e53ac655251a1f8c59eeb30fbc5565dMember axis2_svc_client_send_receivegroup__axis2__svc__client.html#g2748baf670a594d5bf8dd49d9038dbc5Member axis2_svc_client_freegroup__axis2__svc__client.html#g11a6f345606279e19578c9f4442ae756axis2_svc_client_get_http_auth_requiredgroup__axis2__svc__client.html#g44f5bf54b151b8435880f3c109ac2eb9axis2_svc_client_send_receive_non_blocking_with_op_qnamegroup__axis2__svc__client.html#gd68cdf7e84aff54c1815c8675772c76caxis2_svc_client_tgroup__axis2__svc__client.html#g09ddaee99db86733d6550231293be4e7Member axis2_svc_get_target_ns_prefixgroup__axis2__svc.html#g704a51af7fc2485128d53a9dae23d184Member axis2_svc_get_file_namegroup__axis2__svc.html#g2e55e1cb76fb887f300111c732915384Member axis2_svc_tgroup__axis2__svc.html#gc4a9229f924f3af161d02183a9dd6ca3axis2_svc_add_module_qnamegroup__axis2__svc.html#ga45683c7b157225d4fd3d071337d7704axis2_svc_set_stylegroup__axis2__svc.html#gae80b545f3209e5b3a7afada2c8151e2axis2_svc_get_rest_op_list_with_method_and_locationgroup__axis2__svc.html#g084262a14dff6edf6e822e13a0c7bdfaMember axis2_stub_tgroup__axis2__stub.html#g8ffbf8bf99ffec0caa07cf7aacf17281AXIOM_SOAP_11group__axis2__stub.html#g474df5196c2a46015268b108ce2dde5caxis2_rm_assertion_set_message_types_to_dropgroup__axis2__rm__assertion.html#gf8176194b68fedf46fc8ca9e3e961578axis2_rm_assertion_get_is_atleast_oncegroup__axis2__rm__assertion.html#gcce768b95ee085cc0b04be7badb160a6Member axis2_relates_to_tgroup__axis2__relates__to.html#gd92fd7b0e63b44c6343db15b61aeba45axis2_policy_include_remove_policy_elementgroup__axis2__policy__include.html#g1262bf59204bfca211f7e2c5c8993600axis2_policy_include_freegroup__axis2__policy__include.html#g491a884eab1c3783e77a70dd1ca84effMember axis2_phases_info_get_in_faultphasesgroup__axis2__phases__info.html#g076618d23020936a6c629c96a33d1bfeaxis2_phases_info_set_in_faultphasesgroup__axis2__phases__info.html#gfed35a8618887bfc9568c24c701dad92Member axis2_phase_rule_creategroup__axis2__phase__rule.html#gdb84f9ccb0bf175221c9265f148cd32caxis2_phase_rule_tgroup__axis2__phase__rule.html#g9c63c3673a8a009300b1d5c6d89cc3f5axis2_phase_resolver_create_with_configgroup__axis2__phase__resolver.html#g256c0cd570fa29d36e8834aa2cc4f23cMember AXIS2_PHASE_POLICY_DETERMINATIONgroup__axis2__phase__meta.html#g075c8a66523df9238dba2ef8c1233d7bMember axis2_phase_holder_create_with_phasesgroup__axis2__phase__holder.html#g235fffaa9ed52a2e633ab2780c52fe5bMember axis2_phase_set_first_handlergroup__axis2__phase.html#gc434dafaada6c4a9b1a4137dcafb129fMember axis2_phase_tgroup__axis2__phase.html#gbd87daad5497d3a4d756e20c008e3ac4axis2_phase_set_last_handlergroup__axis2__phase.html#gd958e22d2aebf7f66390bd8f7a7ecefbMember AXIS2_OUT_TRANSPORT_INFO_FREEgroup__axis2__out__transport__info.html#g91d375733dd28c9de9060f632cdb69f8Member axis2_options_set_test_proxy_authgroup__axis2__options.html#gb5f388b034b9c34825711fd8fef977e9Member axis2_options_set_http_auth_infogroup__axis2__options.html#g075f4088b1263d5a932486293c099238Member axis2_options_get_sender_transport_protocolgroup__axis2__options.html#g99d8d5efc4c5cb0549c7ea93425f14f2Member axis2_options_tgroup__axis2__options.html#g26794bbdc46cdd3481c7e9079c0d6094axis2_options_set_soap_actiongroup__axis2__options.html#g39f6317b5633f5ee71311f124dac42fcaxis2_options_set_reply_togroup__axis2__options.html#gc2425fafccaf57322da1a07b328ebcb0axis2_options_get_soap_version_urigroup__axis2__options.html#g815f59fcea7c8c19b361121636ecfd2aAXIS2_DEFAULT_TIMEOUT_MILLISECONDSgroup__axis2__options.html#gfc55ac210f2f22e70ac1d905d8509fe4Member axis2_op_ctx_destroy_mutexgroup__axis2__op__ctx.html#ga465e10f016efca08e1beecbcb0c98ceaxis2_op_ctx_get_msg_ctxgroup__axis2__op__ctx.html#g0f79838f18e6689ea44620975092280fMember axis2_op_client_set_callbackgroup__axis2__op__client.html#g59c3ab7690e5fb5b7f5ab27680f03633Member axis2_op_client_completegroup__axis2__op__client.html#g6b4c57a19d49087b557fe094f7e231c8axis2_op_client_get_soap_actiongroup__axis2__op__client.html#g14365a94c8700089b3f3ccf1df9620a0client APIgroup__axis2__client__api.htmlMember axis2_op_get_stylegroup__axis2__op.html#ga0a58defbcb90d40ab35416225af044fMember axis2_op_get_all_module_qnamesgroup__axis2__op.html#ge7b0cabe5e54eda2d24590d72bc61638axis2_op_create_with_qnamegroup__axis2__op.html#gcf1b842dded98ee8f9ecbb940fa0ca2baxis2_op_set_fault_in_flowgroup__axis2__op.html#gd86a41350164282a15b96ed5e4d95303axis2_op_get_rest_http_locationgroup__axis2__op.html#g2346e418ceb5c2c3a3a0863137b1ea83Member axis2_msg_recv_receivegroup__axis2__msg__recv.html#g7f214d78f066fe2c120652d2fce4b544axis2_msg_recv_delete_svc_objgroup__axis2__msg__recv.html#gff566d302fe1980913798086325ec2a6Member axis2_msg_info_headers_set_reply_togroup__axis2__msg__info__headers.html#g3de0c94851f356772629aa5851290f2fMember axis2_msg_info_headers_get_fault_to_anonymousgroup__axis2__msg__info__headers.html#g4654c31f1dc87401fc8f8acb9de79c4eaxis2_msg_info_headers_set_actiongroup__axis2__msg__info__headers.html#gc70fa14807b569da33ddc91a6edd5031axis2_msg_info_headers_get_togroup__axis2__msg__info__headers.html#gb280fd5c6eb7ef2f604a88f4682076f8Member axis2_msg_ctx_set_svc_ctxgroup__axis2__msg__ctx.html#gdf577adcf8ca0e59934d9d2e6c85ac6dMember axis2_msg_ctx_set_output_writtengroup__axis2__msg__ctx.html#gfd23fcda1919b4f2d1cf361c53ab70cdMember axis2_msg_ctx_set_http_accept_charset_record_listgroup__axis2__msg__ctx.html#g52ba5fc8306a6c85435d46ba925312f5Member axis2_msg_ctx_set_auth_failedgroup__axis2__msg__ctx.html#ge3e9e1cfad899c5f40249fa9d9d65d08Member axis2_msg_ctx_get_svc_grp_ctxgroup__axis2__msg__ctx.html#gb226c5f347f50990837307de37b2c874Member axis2_msg_ctx_get_process_faultgroup__axis2__msg__ctx.html#g16845c84b066ba612fd26340de37a842Member axis2_msg_ctx_get_module_parametergroup__axis2__msg__ctx.html#g99a3b44ee061e8f7ad4a4e11aa705ab1Member axis2_msg_ctx_get_current_handler_indexgroup__axis2__msg__ctx.html#g450a580a5f51545746aeb794a0a010d5Member AXIS2_MSG_CTX_FIND_SVCgroup__axis2__msg__ctx.html#g9949f405b8bfac0ee5015d67d3ee949caxis2_msg_ctx_set_http_output_headersgroup__axis2__msg__ctx.html#gc4e3c9a6394f3533e0e79a09626d37a4axis2_msg_ctx_get_http_accept_record_listgroup__axis2__msg__ctx.html#gf9fa321552ac0debc4cd7e094e7e12edaxis2_msg_ctx_get_transport_out_streamgroup__axis2__msg__ctx.html#g1537c848176093a8cdcc4f02721a052daxis2_msg_ctx_set_optionsgroup__axis2__msg__ctx.html#gccc481e49357f41dc151e130622385faaxis2_msg_ctx_set_is_soap_11group__axis2__msg__ctx.html#gf29b11075b84a7f2ede4f47da724f6a9axis2_msg_ctx_get_propertygroup__axis2__msg__ctx.html#gb16fd5cd1ee2c9ad86c08529d2194fd4axis2_msg_ctx_set_transport_in_descgroup__axis2__msg__ctx.html#g341daeb3f8280985160048c1c868c64baxis2_msg_ctx_set_relates_togroup__axis2__msg__ctx.html#g619646919121558645495bc791b14688axis2_msg_ctx_get_response_soap_envelopegroup__axis2__msg__ctx.html#g6430b72e8f0d297545d5c77dbde13f88AXIS2_TRANSPORT_SUCCEEDgroup__axis2__msg__ctx.html#g45fb20080ffa2a4f7d18a844193ada04Member axis2_msg_get_param_containergroup__axis2__msg.html#gcf3f23e957699279a048452b64a671f0axis2_msg_increment_refgroup__axis2__msg.html#g88c91bcaf0e249122383433ebc308c88axis2_msg_freegroup__axis2__msg.html#g168f956533c439c704e34253f1bf77b3Member axis2_module_desc_get_parentgroup__axis2__module__desc.html#gb01c8f56f9c94ca518849c09bc7bf0d8Member axis2_module_desc_tgroup__axis2__module__desc.html#g2d21719bf20fcf0dbd25ea4093e28acfaxis2_module_desc_set_qnamegroup__axis2__module__desc.html#g85c96803117bc02ca8d224d4b9517372Member axis2_module_initgroup__axis2__module.html#g9ca78c64c10ccef1c279b93faf24d2a8Group listener managergroup__axis2__listener__manager.htmlaxis2_http_worker_process_requestgroup__axis2__http__worker.html#ga1cebc142b582731d6ccfe31e4eec310Member AXIS2_PROXY_AUTH_TYPE_BASICgroup__axis2__core__transport__http.html#g4b3514f8ad6a7b02339b3285f1b6dd6aMember AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAMEgroup__axis2__core__transport__http.html#gf62cb9301617a05ff7d1872179d9227dMember AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAMEgroup__axis2__core__transport__http.html#g4676d113f86779573d4f82ba07efba1aMember AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZEDgroup__axis2__core__transport__http.html#g260942288ca65c3d2330e86413c2e380Member AXIS2_HTTP_REQUEST_HEADERSgroup__axis2__core__transport__http.html#g1889687e929d76a901c9ecd2b7e5d426Member AXIS2_HTTP_HEADER_TRANSFER_ENCODINGgroup__axis2__core__transport__http.html#g461d311d1ec2d09c1c8bb79c57ec3010Member AXIS2_HTTP_HEADER_COOKIE2group__axis2__core__transport__http.html#gda0d7c2e809f2f097ceff31ff8b10ec3Member AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODEDgroup__axis2__core__transport__http.html#gfca0896e01e88407af7c460978a61c22Member AXIS2_HTTP_DEFAULT_CONTENT_CHARSETgroup__axis2__core__transport__http.html#gf450a14ac41665f1d287cc2dd4c3cd0bMember AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCEgroup__axis2__core__transport__http.html#gde5b4d81e6731baad36326ec004d6682AXIS2_HTTP_PRECONDITION_FAILEDgroup__axis2__core__transport__http.html#g7c13c7c6feedef09563a60afa0eddb53AXIS2_B_SLASHgroup__axis2__core__transport__http.html#g23f8b7194f5d03921a5074a2b3ff02e5AXIS2_CONTENT_TYPE_CHARSETgroup__axis2__core__transport__http.html#gac487667c33b3e9176a25fdae83cf42dAXIS2_TRANSPORT_URL_HTTPSgroup__axis2__core__transport__http.html#g01e315804021f7d537788e5905cce34bAXIS2_HTTP_PROXY_PASSWORDgroup__axis2__core__transport__http.html#gcf426e94f93bdbaa4dcc854011b93955AXIS2_HTTP_SO_TIMEOUTgroup__axis2__core__transport__http.html#ge6edcd873e39fdfa753d127bbf4709f4AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODEDgroup__axis2__core__transport__http.html#gfca0896e01e88407af7c460978a61c22AXIS2_HTTP_RESPONSE_HEADERSgroup__axis2__core__transport__http.html#g65d58338758223c7389be306c89aa191AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSEgroup__axis2__core__transport__http.html#ga16b08f8b5ef35bfc5fe297f3f538474AXIS2_HTTP_HEADER_PROXY_AUTHORIZATIONgroup__axis2__core__transport__http.html#g7547866a8d8f46d886f8175c0380922dAXIS2_HTTP_HEADER_HOSTgroup__axis2__core__transport__http.html#gb29c7a0712193dafd41466407477ecd4AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAMEgroup__axis2__core__transport__http.html#gb4eba8e2663f58501a1c2f60a2e71556AXIS2_HTTP_RESPONSE_ACK_CODE_NAMEgroup__axis2__core__transport__http.html#g47f4681eb9a495b5bcf0056c9a614acfAXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VALgroup__axis2__core__transport__http.html#gc8fe5a899dcb987cb34177c8585244f2AXIS2_HTTP_REQUEST_URIgroup__axis2__core__transport__http.html#g7da0b80a7c45aa688fa12b4d3480e6fcaxutil_url_get_protocolgroup__axis2__core__transport__http.html#g38b6181e61324e637565d7e0a6bc6012Member axis2_http_svr_thread_tgroup__axis2__http__svr__thread.html#gc9b1bf4adaabb85af85ffc9f56099239Member axis2_http_status_line_tgroup__axis2__http__status__line.html#gdfb55bd473dfd8c73003b9c20d7e4e4bMember axis2_http_simple_response_get_status_linegroup__axis2__http__simple__response.html#g810b45733a4becb6b00e2ce66109c14eaxis2_http_simple_response_set_mtom_sending_callback_namegroup__axis2__http__simple__response.html#g1fea9f825bd5e6afd87162de34b37fd2axis2_http_simple_response_remove_headersgroup__axis2__http__simple__response.html#gdfa6f0f0bb03760a6f799517ed48733dMember axis2_http_simple_request_get_first_headergroup__axis2__http__simple__request.html#gf9b0570c70ee242116e4208dca302273axis2_http_simple_request_get_charsetgroup__axis2__http__simple__request.html#g340aaf878e94c5e010931b4a1de7a230Member axis2_http_response_writer_println_strgroup__axis2__http__response__writer.html#g12c2594faab7f36ac670b500b5ca9a48axis2_http_response_writer_print_strgroup__axis2__http__response__writer.html#g2fcb29f5c9d3c09b08267641f6b78178axis2_http_request_line_creategroup__axis2__http__request__line.html#gf722f10a9e8b2f115af74dcbd066339aGroup http out transport infogroup__axis2__http__out__transport__info.htmlMember axis2_http_header_freegroup__axis2__http__header.html#ge3c5a41a47460b57aa99786bd7590e86Member axis2_http_client_set_key_filegroup__axis2__http__client.html#g90dd4214f012bb8f75c9dc572eb78945axis2_http_client_get_mime_partsgroup__axis2__http__client.html#gc0a1ed43f08184c5eae980ceebf212b7axis2_http_client_get_responsegroup__axis2__http__client.html#gd341b350cc543e7e7dbdba85c7ca952eaxis2_http_accept_record_get_quality_factorgroup__axis2__http__accept__record.html#ge98e15ea5ff044610c235f7c45d947d7Member axis2_handler_desc_freegroup__axis2__handler__desc.html#g8c30a90d80ac928f900cd20e42577840axis2_handler_desc_get_paramgroup__axis2__handler__desc.html#g8123741b6af07768a2259a2d15102e13Group handlergroup__axis2__handler.htmlMember axis2_flow_container_set_fault_in_flowgroup__axis2__flow__container.html#g361c90729eeb72306ef10b06ba41931daxis2_flow_container_get_in_flowgroup__axis2__flow__container.html#g977c13c226bc8108499ef62d21ac903caxis2_flow_creategroup__axis2__flow.html#g5b4b49a29511e4ec79aa4e61f5d39683Member axis2_endpoint_ref_add_ref_paramgroup__axis2__endpoint__ref.html#g0c88ce2256c5379a21cc3a881b9131acaxis2_endpoint_ref_get_ref_attribute_listgroup__axis2__endpoint__ref.html#g3708574ea51cc3ef8c93209a2d7d482aMember axis2_disp_get_basegroup__axis2__disp.html#g493cb717b675286752bed9e62b314f38axis2_disp_tgroup__axis2__disp.html#g8f0bac449c79895127179ee88604be65Member AXIS2_EXECUTION_CHAIN_KEYgroup__axis2__desc__constants.html#gadedea70ac9dab41e3006111329f0274AXIS2_EXECUTION_FAULT_CHAIN_KEYgroup__axis2__desc__constants.html#g2df623b0c60be4c12c415251ba683eb9Member axis2_desc_add_paramgroup__axis2__description.html#gd87c1a63197a588dc75066ea80bd2baeaxis2_desc_creategroup__axis2__description.html#ge7a0b8d3cff8a247692c220fc7272117axis2_ctx_set_propertygroup__axis2__ctx.html#g7cf1781574ed208e2ca552cde99501bbAXIS2_TRANSPORT_RECV_DLLgroup__axis2__core__dll__desc.html#g638ccbb8278365752429a75aa89c5c7fMember axis2_conf_ctx_register_svc_grp_ctxgroup__axis2__conf__ctx.html#g068ae26464a6cf8b2cc8a530603b516aMember axis2_conf_ctx_tgroup__axis2__conf__ctx.html#gab2f89df328e63d4f9fa3a4d035d18f0axis2_conf_ctx_get_op_ctx_mapgroup__axis2__conf__ctx.html#gcde62abb6fcb296e62a8dc5fbe04fa38Member axis2_conf_is_param_lockedgroup__axis2__config.html#g8fe2754bf14d3965c99a32b92909cb1dMember axis2_conf_get_default_modulegroup__axis2__config.html#gcc150b948c4762e423777fe2f622fba0Member axis2_conf_creategroup__axis2__config.html#g87f521276d7d6dfde72b289121c80a79axis2_conf_get_enable_securitygroup__axis2__config.html#g9ce5a88eaac674320f4b67dabf634026axis2_conf_set_default_dispatchersgroup__axis2__config.html#g325b14f8715288333af6003ece30414daxis2_conf_get_in_fault_flowgroup__axis2__config.html#g90731a7c7f62c1fc619074a50c43450daxis2_conf_add_svcgroup__axis2__config.html#gfc6aefecf137595736194e704c8849e6Member axis2_engine_freegroup__axis2__engine.html#g7ca747905b4bb17877e94a44aad3887daxis2_engine_sendgroup__axis2__engine.html#g7a9ad14546e8c132d3a5ea9b14206b51Member axis2_callback_freegroup__axis2__callback.html#g8aff2c00d30222f8cd4a3b68e30dc449axis2_callback_get_completegroup__axis2__callback.html#g8b14532e11dc444cd2ad1fbf5fbe3d0daxis2_async_result_tgroup__axis2__async__result.html#g7f79cfe086dfb98806cc3c0c3b408c3cMember axis2_addr_in_handler_creategroup__axis2__addr__mod.html#gceab132029893e997dca5687c6228de3Member AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAMEgroup__axis2__addr__consts.html#gc92b4d9b87dc12c105b8578dcf586c79Member AXIS2_WSA_MESSAGE_IDgroup__axis2__addr__consts.html#g36bf0a69968793ca68ca864fb1537df6AXIS2_WSA_VERSIONgroup__axis2__addr__consts.html#g297643cc83960855fedf77da10dfee07EPR_REFERENCE_PROPERTIESgroup__axis2__addr__consts.html#g4e4e093ba53c71df53a2a3a641192577Member axiom_xpath_register_functiongroup__axiom__xpath__api.html#gb6cc87a2fa3c5adf9d7844d21e2f747bMember axiom_xpath_result_tgroup__axiom__xpath__api.html#gd3fd9cff34578fc31d6ebd4d594a87f7axiom_xpath_cast_node_to_axiom_nodegroup__axiom__xpath__api.html#gff7f77f32a203e90418d1e920f5ab30dMember axiom_xml_writer_write_start_element_with_namespacegroup__axiom__xml__writer.html#gcbc6f4b9ed8f7825c3acd34ef323de63Member axiom_xml_writer_write_default_namespacegroup__axiom__xml__writer.html#gf73ddc31e494b9a063fe84933e2c4f5fMember axiom_xml_writer_creategroup__axiom__xml__writer.html#g193830479789aa7b7c199a6abb390288axiom_xml_writer_write_processing_instruction_datagroup__axiom__xml__writer.html#gf72fcff938ae170e1054a6291af7e785axiom_xml_writer_freegroup__axiom__xml__writer.html#gf050a102040e761077a63b2254390d4aMember axiom_xml_reader_get_dtdgroup__axiom__xml__reader.html#g1c1f7c88232c5aec33cafc72fda5830eaxiom_xml_reader_get_pi_datagroup__axiom__xml__reader.html#g19f6e1a4ea34d5aa7ba16066501c3a08axiom_xml_reader_create_for_memorygroup__axiom__xml__reader.html#g2c03628448af33ea26951fc798e6ef84Member axiom_text_freegroup__axiom__text.html#g0eb6a7b65c61cee5e6a5a5d1a93ab44eaxiom_text_create_with_data_handlergroup__axiom__text.html#gab4be5d4a50ee8c04058d77957abef1caxiom_stax_builder_freegroup__axiom__stax__builder.html#gde695886b793011213d197b3c177b305Member axiom_soap_header_block_freegroup__axiom__soap__header__block.html#g215a0b781dc39c516b2ae2943fb0c9c8Member axiom_soap_header_get_soap_versiongroup__axiom__soap__header.html#g97f0b56a661fd9a5fd793a3eb22c963caxiom_soap_header_add_header_blockgroup__axiom__soap__header.html#g88dc23b19a4bd564638b4ffcaab955f9Member axiom_soap_fault_text_set_textgroup__axiom__soap__fault__text.html#gbdde017acd991c0a8178cefcdd3f60efMember axiom_soap_fault_sub_code_get_base_nodegroup__axiom__soap__fault__sub__code.html#gfd47ab5044ec19f802569ba9a5555031axiom_soap_fault_role_get_role_valuegroup__axiom__soap__fault__role.html#gdb8ca065a0f02b9bb7c508c013e6d04aaxiom_soap_fault_reason_freegroup__axiom__soap__fault__reason.html#g0c66d7b20921746f695c48315fce3b8dMember axiom_soap_fault_detail_create_with_parentgroup__axiom__soap__fault__detail.html#ga176a5c0fe38155991dddde2e8d36229axiom_soap_fault_code_freegroup__axiom__soap__fault__code.html#gfdd4b60f7ffa4b77e26fed1bdc80c649axiom_soap_fault_set_exceptiongroup__axiom__soap__fault.html#g0f64a1849d8b05a3281e6df8e1c0602bMember axiom_soap_envelope_get_namespacegroup__axiom__soap__envelope.html#ga357f2d36fb2912f9c6bc258a6cb8c0daxiom_soap_envelope_get_bodygroup__axiom__soap__envelope.html#g662a2d8cd4bf9a7a82f79492c9b16ad3Member axiom_soap_builder_get_soap_versiongroup__axiom__soap__builder.html#g023955efd4b61a9a8852a5c79e893c48axiom_soap_builder_set_processing_detail_elementsgroup__axiom__soap__builder.html#g4b4ece690ddf6f42c3a0151e4718be72Member axiom_soap_body_add_childgroup__axiom__soap__body.html#g67ce69f3f13c325bd541fff5a2059d49Member axiom_processing_instruction_freegroup__axiom__processing__instruction.html#g06af573c47864169915c876052a8833aMember axiom_output_set_char_set_encodinggroup__axiom__output.html#g10458f16130c10c283d21eac9a7c6eb5axiom_output_is_optimizedgroup__axiom__output.html#g1b0aca50dd4aa5ac231c2e67d27022e3Member axiom_output_tgroup__axiom__output.html#gfe1ea804d7a8179e85371f065cd9df09Member axiom_node_get_first_childgroup__axiom__node.html#gfc7806095f1e72667a49eab5945b66e3Member AXIOM_INVALIDgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab8095bbfed954c5b83f7cb2b9be88b424axiom_node_insert_sibling_aftergroup__axiom__node.html#gd3f52c5c7c9886cc3dc3483c26919e72axiom_navigator_nextgroup__axiom__navigator.html#gb081ab166d7ef666c0e8dccd32c6a50aMember axiom_namespace_create_strgroup__axiom__namespace.html#g0861c4c5aa32eae919f2b1035bd308ddnamespacegroup__axiom__namespace.htmlAXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLERgroup__caching__callback.html#g6eeff81d72ec0c2208fdc32540dd19b9axiom_mime_parser_set_buffer_sizegroup__axiom__mime__parser.html#gbe1b6ea790d1a5315b0b46df54e26a2eMember axiom_element_set_is_emptygroup__axiom__element.html#g645cc8a03a1dbdb3d846c0cdb801cc0dMember axiom_element_get_child_elementsgroup__axiom__element.html#g199de4cfc7d507edca6d2b11e9a9bd9dMember axiom_element_buildgroup__axiom__element.html#g83e7bba094816b770c93c78ec9b96d13axiom_element_get_child_elementsgroup__axiom__element.html#g199de4cfc7d507edca6d2b11e9a9bd9daxiom_element_find_declared_namespacegroup__axiom__element.html#g593519ca013b852b980cca016479ed4dMember axiom_document_get_root_elementgroup__axiom__document.html#ge81610bc3a9b0124ad91f502c3b36f7daxiom_document_tgroup__axiom__document.html#gf35ddff3f22d4f7b40e39fb389df6080Member axiom_data_source_creategroup__axiom__data__source.html#g9b82e6341822df244dead7cd94df063cMember axiom_data_handler_get_file_namegroup__axiom__data__handler.html#g0eb87b388f6a8d1c8df21b685cea0161axiom_data_handler_set_binary_datagroup__axiom__data__handler.html#gcdd5abcf6725059de9409e8ea486980baxiom_comment_freegroup__axiom__comment.html#g9635ad8ab4986d9ed2411937363b4427AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREEgroup__axiom__children__with__specific__attribute__iterator.html#g4584d7e942bb2d1699b25097f0d433e5Member axiom_children_iterator_creategroup__axiom__children__iterator.html#ge1e162cfd416427d54f339543e580d48axiom_child_element_iterator_freegroup__axiom__child__element__iterator.html#gc3408b3bce2aad5ff7e0d5f66684e583Member axiom_attribute_get_localname_strgroup__axiom__attribute.html#g9e36fa98afd7d60eff62da45e760dce4axiom_attribute_get_namespacegroup__axiom__attribute.html#gf5237ea2eed7bb6326f19e2cda6ffe9cneethi_util.hneethi__util_8h.htmlneethi_reference_createneethi__reference_8h.html#1c7f01b6993a4e466f05840545f480b2neethi_policy_freeneethi__policy_8h.html#793cbadd87375641db7d177924ad6964neethi_includes.h File Referenceneethi__includes_8h.htmlneethi_engine_normalizeneethi__engine_8h.html#25af73071e5b0d2659b69c29f956d0beAXIS2_RM_DELIVERY_ASSURANCEneethi__constants_8h.html#6c99cfca7ffc5a3c9b4afbce322ad0e5NEETHI_PREFIXneethi__constants_8h.html#a47a465f8ba2000c8b5a8a639297bf0dneethi_assertion_get_policy_componentsneethi__assertion_8h.html#16acebbad0e3d9981b117477ec49a560neethi_all_add_policy_componentsneethi__all_8h.html#d22ebc5cb979acfe235c0392ef21f05aAXIS2_DUMP_INPUT_MSG_TRUEgroup__axutil__utils.html#g9a2ecb69f3dc20cdeef5667bf029a455axutil_url_clonegroup__axis2__core__transport__http.html#gede18e70d76d9bb3542106eb5f0d9d98axutil_url.h File Referenceaxutil__url_8h.htmlaxutil_uri_creategroup__axutil__uri.html#g935c3b7a98e6a20f2020ab3369da88e5AXIS2_URI_RTSP_DEFAULT_PORTgroup__axutil__uri.html#g0e844d7bf3c95b104e6a25b4680a3263axutil_init_thread_envgroup__axutil__thread__pool.html#gbc008925cad197747506eb338fd26b1faxutil_thread_oncegroup__axutil__thread.html#ga79f8c61310cfb8b6d6f3a9183114995AXIS2_THREAD_MUTEX_DEFAULTgroup__axutil__thread.html#gd096680721aedfeb237647a9d59deedfaxutil_randgroup__axutil__rand.html#g928a5beaf5c048d213b71ac49bef82b0axutil_param_container_is_param_lockedgroup__axutil__param__container.html#g7b92618a34e898b748abd9ad5312d5b8axutil_param_set_attributesgroup__axutil__param.html#gf66ab2cb02174f4220e322ebd2ea0ca9axutil_md5.haxutil__md5_8h.htmlaxutil_linked_list_getgroup__axutil__linked__list.html#g2070ee8b2583d38a8dfe619c02698e7aaxutil_linked_list_creategroup__axutil__linked__list.html#g243e4777c89d6e52552208c96f343323axutil_hash.haxutil__hash_8h.htmlaxutil_hashfunc_tgroup__axutil__hash.html#gb07fdbe39a3c5b3fdaed1a8c8d1a177bMember axutil_env_tgroup__axutil__env.html#gd1083f9198686518871a41ce0e08cd0aaxutil_dll_desc_set_create_functgroup__axutil__dll__desc.html#g5f76bc6cce702fc9f925b950fac6d9f9axutil_dll_desc.h File Referenceaxutil__dll__desc_8h.htmlaxutil_date_time_is_time_zone_positivegroup__axutil__date__time.html#g0290358524574d067eda7a683c6ebd39axutil_date_time_set_date_timegroup__axutil__date__time.html#g5f6d46804df89a05c8c4c6b5b97e47a3axutil_base64_binary_get_decoded_binary_lengroup__axutil__base64__binary.html#g034abbbb58b90573b08d649d3c8939a4axutil_array_list_removegroup__axutil__array__list.html#g2aefd638d987a77684c95d3d49250c9aaxutil_allocator_switch_to_global_poolgroup__axutil__allocator.html#g7c4b9b9277c33abdfbd7f5838c1482daAXIS2_TRANSPORT_SENDER_FREEgroup__axis2__transport__sender.html#g29ff197d35f12f1185e0306078a901a9axis2_transport_out_desc_param_containergroup__axis2__transport__out__desc.html#g95608d7aa5b139240847799013fd8e2aaxis2_transport_out_desc_freegroup__axis2__transport__out__desc.html#g17a66a405da41dd82b2dc42b730179eaaxis2_transport_in_desc_set_in_flowgroup__axis2__transport__in__desc.html#ga0d8c3fa889518560959a8b19900e31baxis2_svc_skeleton.haxis2__svc__skeleton_8h.htmlaxis2_svc_name.h File Referenceaxis2__svc__name_8h.htmlaxis2_svc_grp_create_with_confgroup__axis2__svc__grp.html#ge65bd5202186937874e51ceb0fd9d97eaxis2_svc_grp_get_svcgroup__axis2__svc__grp.html#g7df1792c61f47097ac93f7b729efd773axis2_svc_ctx_get_basegroup__axis2__svc__ctx.html#gf2139308d0b7d17fb9e5cfe531927eccaxis2_svc_client_freegroup__axis2__svc__client.html#g11a6f345606279e19578c9f4442ae756axis2_svc_client_remove_all_headersgroup__axis2__svc__client.html#gd14cd1a3ec6aa3891369cd9bd671030baxis2_svc_create_with_qnamegroup__axis2__svc.html#gc10ba2c54702eb532945cf3fdce2178faxis2_svc_get_svc_folder_pathgroup__axis2__svc.html#g3b8e9e9280ddc1bb96795b595a9bfbd2axis2_svc_is_param_lockedgroup__axis2__svc.html#ge02611f21135d71edfffba0bdfc24388axis2_stub.haxis2__stub_8h.htmlMember axis2_simple_http_svr_conn_set_snd_timeoutaxis2__simple__http__svr__conn_8h.html#8c6523b52c1259a074454155d2518af5axis2_simple_http_svr_conn_get_svr_ipaxis2__simple__http__svr__conn_8h.html#a77cb5a274e07015c40d81f352349b29axis2_relates_to_get_relationship_typegroup__axis2__relates__to.html#g3208f2fae771fc2fe5e6a604f0b9c3bfaxis2_phase_rule_get_aftergroup__axis2__phase__rule.html#gc510de132f16f900e4d1ded091d70a1eaxis2_phase_resolver_freegroup__axis2__phase__resolver.html#gec0d6b1a44b15361b0c840ef947572dfaxis2_phase_freegroup__axis2__phase.html#g0a45133876a1cec57dc49bcd1720dc76axis2_phase_tgroup__axis2__phase.html#gbd87daad5497d3a4d756e20c008e3ac4axis2_options_create_with_parentgroup__axis2__options.html#ge74438488efabde966a1fbefbb1642e2axis2_options_set_msg_info_headersgroup__axis2__options.html#g85559daaff1957e799f5ff93c8f5c805axis2_options_set_transport_receivergroup__axis2__options.html#g3b599f4516c8eb809d9c957f79e3b348axis2_options_get_message_idgroup__axis2__options.html#g7b435f608628b067d41d269894245bf7axis2_op_ctx_get_response_writtengroup__axis2__op__ctx.html#g875d36b0b70b77d84f99969da22e462faxis2_op_client.haxis2__op__client_8h.htmlaxis2_op_client_get_operation_contextgroup__axis2__op__client.html#g00eca9bd04926e192466a4d330f5a9a7axis2_msg_recv_set_receivegroup__axis2__msg__recv.html#gbac792c20ab498050143ac9046b0950aaxis2_msg_recv.h File Referenceaxis2__msg__recv_8h.htmlaxis2_msg_info_headers_get_fault_togroup__axis2__msg__info__headers.html#g5be8673619408ed53d062372d6e46414axis2_msg_ctx_get_mime_partsgroup__axis2__msg__ctx.html#gba89508cadc90f7895adb2150b7f42f1axis2_msg_ctx_extract_http_accept_record_listgroup__axis2__msg__ctx.html#gadaa4476daadd7ae65a0c58e06989eedaxis2_msg_ctx_set_transport_out_streamgroup__axis2__msg__ctx.html#g4c96b5bf44bd6bb0364b877554605e63axis2_msg_ctx_set_flowgroup__axis2__msg__ctx.html#gda9507539e7d87a7f835ab89ab1b9b28axis2_msg_ctx_get_svc_grp_ctxgroup__axis2__msg__ctx.html#gb226c5f347f50990837307de37b2c874axis2_msg_ctx_get_property_valuegroup__axis2__msg__ctx.html#g1cf9c2fd4213e497c0b51ddaa4742d34axis2_msg_ctx_set_transport_out_descgroup__axis2__msg__ctx.html#g7a70711fb12e2503062ae6f3f91430c6axis2_msg_ctx_set_reply_togroup__axis2__msg__ctx.html#g35bc63b6c82bdcc9fce81815e3ca5c4caxis2_msg_ctx_get_fault_soap_envelopegroup__axis2__msg__ctx.html#gcad76203a38152006e85476751ae7826AXIS2_HTTP_CLIENTgroup__axis2__msg__ctx.html#g54e451fddf8b69dd8a9cd357d81a2525axis2_msg_get_element_qnamegroup__axis2__msg.html#g3c21abaa1b0447d184b8a408cf2f75c1AXIS2_MSG_INgroup__axis2__msg.html#g862a13ab2bca0822defd770d15a27fbfaxis2_module_desc_add_opgroup__axis2__module__desc.html#g6b5f55cbf9b71e1e662c7dc8fdc5489daxis2_module_ops_tgroup__axis2__module.html#gd48171d2877468bdaca74a22473c9c09axis2_http_worker_set_svr_portgroup__axis2__http__worker.html#gfb1d2dcface2bf7416de679db5f7851baxis2_http_transport_utils_process_accept_headersaxis2__http__transport__utils_8h.html#7639517e1cffa2769518b81e1891ab30axis2_http_transport_utils_do_write_mtomaxis2__http__transport__utils_8h.html#7b847d5cc53c0d75c5c484ab081c4350axis2_http_transport_sender.haxis2__http__transport__sender_8h.htmlaxis2_http_status_line_creategroup__axis2__http__status__line.html#gbaf68d23c0e7e8d0e91687a7d6e9b848axis2_http_simple_request_get_charsetgroup__axis2__http__simple__request.html#g340aaf878e94c5e010931b4a1de7a230axis2_http_server.h File Referenceaxis2__http__server_8h.htmlaxis2_http_sender_createaxis2__http__sender_8h.html#7b78151a46456e34ef5968a894108033axis2_http_sender.haxis2__http__sender_8h.htmlaxis2_http_response_writer.h File Referenceaxis2__http__response__writer_8h.htmlaxis2_http_out_transport_info_creategroup__axis2__http__out__transport__info.html#gdabad3886ddb36d456a502e6e257ad88axis2_http_header_tgroup__axis2__http__header.html#gd8f14a5acb342f2f99bcfe3c71e7857eaxis2_http_client_connect_ssl_hostgroup__axis2__http__client.html#g2a31de92919bfbbd389babce202686ebaxis2_http_accept_record_get_levelgroup__axis2__http__accept__record.html#g6db10df60b5e5856bce8c554e612b946axis2_handler_desc_get_all_paramsgroup__axis2__handler__desc.html#gd3abdf743cd711b6277f2e4754211396axis2_handler_initgroup__axis2__handler.html#g2c33a42d1670dbe42f287a5e3d6dfd1daxis2_flow_container_tgroup__axis2__flow__container.html#g645e6696dcbc315b06681604a150254faxis2_engine_get_sender_fault_codegroup__axis2__engine.html#g4233d6e24f32c5d59fe7bd507a91395caxis2_endpoint_ref_add_metadatagroup__axis2__endpoint__ref.html#g7a2002fe15ecff7ca9ccf00e0289d8d4axis2_soap_body_disp_creategroup__axis2__disp.html#g417c2e8127f982ad198e4804a331016cAXIS2_OUT_FAULTFLOW_KEYgroup__axis2__desc__constants.html#g08546fcedc786f6313440206bbb13090axis2_desc_set_policy_includegroup__axis2__description.html#gf57219b0bfcd05648d8d6ab574807951Member AXIS2_FAULT_OUT_FLOWaxis2__defines_8h.html#8043878d85527a6ae8688f1df13e70d7axis2_ctx_tgroup__axis2__ctx.html#ga705ff779281577f08fef5330c23402caxis2_conf_ctx_set_root_dirgroup__axis2__conf__ctx.html#gc9b785de188769a7f695b6d21c5d8fceaxis2_conf.haxis2__conf_8h.htmlaxis2_conf_set_dep_enginegroup__axis2__config.html#gddbe656d37ee7d94bdfbaa1a3f293bbdaxis2_conf_get_phases_infogroup__axis2__config.html#ged50d579ca49af8a25416470012edc14axis2_conf_get_transport_ingroup__axis2__config.html#gbb3c960284024e19b4587a8bfe2f54d8axis2_callback_freegroup__axis2__callback.html#g8aff2c00d30222f8cd4a3b68e30dc449axis2_async_result.haxis2__async__result_8h.htmlaxis2_addr_in_handler_creategroup__axis2__addr__mod.html#gceab132029893e997dca5687c6228de3AXIS2_WSA_TYPE_ATTRIBUTE_VALUEgroup__axis2__addr__consts.html#g170975fbb730fc9f4ef77012b6dd9db7AXIS2_WSA_ACTIONgroup__axis2__addr__consts.html#g903617fc19d61deaaf5ab3dc024378d3axiom_xml_writer_set_prefixgroup__axiom__xml__writer.html#g3d7148110d6d45f2239ea90632057774axiom_xml_writer_write_end_documentgroup__axiom__xml__writer.html#g293c2a405e80ab47f2ca1e87d51dd670axiom_xml_reader_get_namespace_uri_by_prefixgroup__axiom__xml__reader.html#g19fa07ce807e4e7b7442b46ccac57120axiom_xml_reader_get_attribute_countgroup__axiom__xml__reader.html#gae564cf8501da5b814ff04c2ff193c72axiom_soap_header_block_get_rolegroup__axiom__soap__header__block.html#g1c3d15f1ba49d72671ed03e0eec0563aaxiom_soap_header_extract_header_blocksgroup__axiom__soap__header.html#gba1977d593ac1686da79c207b5caa797axiom_soap_fault_value_taxiom__soap__fault__value_8h.html#aa9f3b5fc12638705101facd731f042faxiom_soap_fault_sub_code_get_sub_codegroup__axiom__soap__fault__sub__code.html#gd34ca96ee79733b00b3d2d143e9b9702axiom_soap_fault_reason_get_base_nodegroup__axiom__soap__fault__reason.html#gbcb9c1530fc5e98650663b07d0be4ddcaxiom_soap_fault_node.haxiom__soap__fault__node_8h.htmlaxiom_soap_fault_code_create_with_parentgroup__axiom__soap__fault__code.html#g118a27d270da7111861d94c1301be667axiom_soap_fault_taxiom__soap__fault_8h.html#5ac54e3625d52416748068dd1e15baeeaxiom_soap_envelope_creategroup__axiom__soap__envelope.html#g5041f00b86da0b31997634056ab91879axiom_soap_builder_get_document_elementgroup__axiom__soap__builder.html#g612ed080bcef174cde30adb0fc087c2aaxiom_soap_body_has_faultgroup__axiom__soap__body.html#g5e88d50ff93d508053b3920f301f301caxiom_node_get_node_typegroup__axiom__node.html#g5f0287bd7a7487da62528717787b69b4axiom_node.haxiom__node_8h.htmlAXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLERgroup__caching__callback.html#g6eeff81d72ec0c2208fdc32540dd19b9axiom_mime_parser_set_attachment_dirgroup__axiom__mime__parser.html#gd8edc291c3b20e88329ee6e077ca3a0caxiom_document_serializegroup__axiom__document.html#g7e34e3977661164aedae9b5d2dd9ada5axiom_doctype_set_valuegroup__axiom__doctype.html#g7a9798d07369fd4a0a3cff0098e55886axiom_data_handler_set_user_paramgroup__axiom__data__handler.html#g5460ac6ce9def711cfa29f631591620eaxiom_data_handler_get_cachedgroup__axiom__data__handler.html#g12b16a32671739f4faa56c72ec99bc8caxiom_children_with_specific_attribute_iterator_creategroup__axiom__children__with__specific__attribute__iterator.html#g5fccc2bf8a745e68567b33227ef89c59axiom_children_qname_iterator_creategroup__axiom__children__qname__iterator.html#g48494752179044b34f11c1864fa52b75axiom_child_element_iterator_has_nextgroup__axiom__child__element__iterator.html#g6abb5119797edb10f7f2aebfa48d4c3baxiom_attribute_clonegroup__axiom__attribute.html#g21014966fb2d80f589bbbe23a66ff478axiom.h File Referenceaxiom_8h.htmlrp_symmetric_binding.hrp__symmetric__binding_8h-source.htmlrp_rampart_config.hrp__rampart__config_8h-source.htmlrp_bootstrap_policy_builder.hrp__bootstrap__policy__builder_8h-source.htmlneethi_assertion.hneethi__assertion_8h-source.htmlAXIS2_SCOPE_APPLICATIONaxutil__utils_8h-source.html#l00182AXIS2_URI_UNP_REVEALPASSWORDaxutil__uri_8h-source.html#l00096AXIS2_URI_POP_DEFAULT_PORTaxutil__uri_8h-source.html#l00054axutil_thread_taxutil__thread_8h-source.html#l00049AXIS2_MD5_DIGESTSIZEaxutil__md5_8h-source.html#l00048axutil_log_levelsaxutil__log_8h-source.html#l00057axutil_error_default.haxutil__error__default_8h-source.htmlaxutil_dir_handler.haxutil__dir__handler_8h-source.htmlAXIS2_TRANSPORT_SENDER_CLEANUPaxis2__transport__sender_8h-source.html#l00163axis2_transport_in_desc_taxis2__transport__in__desc_8h-source.html#l00058axis2_svc_skeleton_opsaxis2__svc__skeleton_8h-source.html#l00060AXIOM_SOAP_12axis2__stub_8h-source.html#l00046AXIS2_TRANSPORT_PHASEaxis2__phase__meta_8h-source.html#l00081AXIS2_OUT_TRANSPORT_INFO_FREEaxis2__out__transport__info_8h-source.html#l00085axis2_msg_recv_taxis2__msg__recv_8h-source.html#l00057AXIS2_TRANSPORT_HEADERSaxis2__msg__ctx_8h-source.html#l00059axis2_module_taxis2__module_8h-source.html#l00059AXIS2_PROXY_AUTH_UNAMEaxis2__http__transport_8h-source.html#l00936AXIS2_TRANSPORT_HTTPaxis2__http__transport_8h-source.html#l00848AXIS2_HTTP_HEADER_SET_COOKIEaxis2__http__transport_8h-source.html#l00760AXIS2_HTTP_HEADER_ACCEPTaxis2__http__transport_8h-source.html#l00675AXIS2_HTTP_HEADER_EXPECT_100_CONTINUEaxis2__http__transport_8h-source.html#l00584AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUEaxis2__http__transport_8h-source.html#l00499AXIS2_HTP_HEADER_CONTENT_DESCRIPTIONaxis2__http__transport_8h-source.html#l00408AXIS2_HTTP_RESPONSE_GONE_CODE_NAMEaxis2__http__transport_8h-source.html#l00323AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAMEaxis2__http__transport_8h-source.html#l00237AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VALaxis2__http__transport_8h-source.html#l00146AXIS2_HTTP_OUT_TRANSPORT_INFOaxis2__http__transport_8h-source.html#l00046axis2_http_sender.haxis2__http__sender_8h-source.htmlaxis2_handler_desc.haxis2__handler__desc_8h-source.htmlAXIS2_OUT_FAULTFLOW_KEYaxis2__description_8h-source.html#l00123AXIS2_FAULT_OUT_FLOWaxis2__defines_8h-source.html#l00045axis2_on_error_func_ptraxis2__callback_8h-source.html#l00058AXIS2_WSA_METADATAaxis2__addr_8h-source.html#l00137EPR_SERVICE_NAMEaxis2__addr_8h-source.html#l00080axiom_xpath_result::flagaxiom__xpath_8h-source.html#l00172axiom_xpath_expression::expr_ptraxiom__xpath_8h-source.html#l00108axiom_xml_reader.haxiom__xml__reader_8h-source.htmlaxiom_soap_builder.haxiom__soap__builder_8h-source.htmlaxiom_node.haxiom__node_8h-source.htmlaxiom_document.haxiom__document_8h-source.htmlMember entry_s::datastructentry__s.html#b1fbd52ad6c6a83972b0dadd3c875faestruct axutil_logstructaxutil__log.htmlMember axutil_env::thread_poolstructaxutil__env.html#7c86321a6c579db87fa5997fbcb1f10bMember axutil_allocator::free_fnstructaxutil__allocator.html#e6cbe542556d5b628c55101ad66b83aeaxis2_version_t::is_devstructaxis2__version__t.html#40d035997f83cf806430645f58d346d1axis2_transport_sender::opsstructaxis2__transport__sender.html#350bdcb21fd85adaea9b32bb5c5ddc4baxis2_transport_receiver_ops Struct Referencestructaxis2__transport__receiver__ops.htmlMember axis2_svc_skeleton::opsstructaxis2__svc__skeleton.html#94510b1f879d2402c1402142d75f948caxis2_module::opsstructaxis2__module.html#ccf66293c4ca5b49aab449345768c1ddMember axiom_xpath_expression::expr_lenstructaxiom__xpath__expression.html#a1a11ffb3130f1b7c406f10c00364f35Member axiom_xpath_context::root_nodestructaxiom__xpath__context.html#93e79adc5cea5fe45a5dc40d795dd50caxiom_xpath_context Struct Referencestructaxiom__xpath__context.htmlMember axiom_xml_writer_ops::write_attribute_with_namespace_prefixstructaxiom__xml__writer__ops.html#b95d7b90c1debb4474301a63248679dcaxiom_xml_writer_ops::get_xmlstructaxiom__xml__writer__ops.html#01879ea98fa959a6b2ad20e786adad3eaxiom_xml_writer_ops::write_attribute_with_namespace_prefixstructaxiom__xml__writer__ops.html#b95d7b90c1debb4474301a63248679dcaxiom_xml_writer Struct Referencestructaxiom__xml__writer.htmlMember axiom_xml_reader_ops::get_attribute_countstructaxiom__xml__reader__ops.html#22a176378851114e11809eabd8b4ae46axiom_xml_reader_ops::get_attribute_value_by_numberstructaxiom__xml__reader__ops.html#20f3de0e5c250e3af7552797e330efb6struct axiom_mtom_caching_callback_opsstructaxiom__mtom__caching__callback__ops.htmlrp_x509_token_set_require_key_identifier_referencegroup__rp__x509__token.html#gaa4646f2e5c872c07fda6b75b23a8aa0rp_wss11_get_must_support_ref_encryptedkeygroup__wss11.html#gf932f84c3d2491b7f6e8a622b966e314Rp_wss10_buildergroup__rp__wss10__builder.htmlrp_username_token_set_claimgroup__rp__username__token.html#g693d468e90f001ce4d5dd5651dc47099Rp_username_tokengroup__rp__username__token.htmlRp_token_identifiergroup__rp__token__identifier.htmlRp_tokengroup__rp__token.htmlrp_symmetric_asymmetric_binding_commons_get_protection_ordergroup__rp__assymmetric__symmetric__binding__commons.html#g03ee1f914a9ef3a7e660ac6628558b4drp_supporting_tokens_get_typegroup__rp__supporting__tokens.html#g0ee87d2f1f7963b0243e94471023d416Member rp_signed_encrypted_parts_builder_buildgroup__rp__signed__encrypted__parts__builder.html#ga954c6f31f27d45dc54eeb4dcbf51919rp_signed_encrypted_items_get_elementsgroup__rp__signed__encrypted__items.html#g09a7eb093ee6bcb0c0adcb8b19d33b89Rp_signed_encrypted_elementsgroup__rp__signed__encrypted__elements.htmlrp_security_context_token_get_derivedkey_versiongroup__rp__security__context__token.html#gfb9f478cbe7748f472f1444b6fbd36a5rp_secpolicy_get_encrypted_itemsgroup__rp__secpolicy.html#ga5bf3e1ef0f29de0d3817dabd21f6c6brp_secpolicy_set_signed_supporting_tokensgroup__rp__secpolicy.html#g0935f963a078a05b3fbd115bd52b926erp_rampart_config_increment_refgroup__rp__rampart__config.html#gde21c1d919cf0d8379454555b407ececrp_rampart_config_set_sct_providergroup__rp__rampart__config.html#g840425e9e4546fc93f8432707be30679Rp_protection_token_buildergroup__rp__protection__token__builder.htmlrp_layout_freegroup__rp__layout.html#gb2b3c0fd58394d9afe07989c905e477drp_issued_token_builder_process_alternativesgroup__trust10.html#ge5465a30488d8ff61d5102f8fd58c4f4rp_trust10_tgroup__trust10.html#g771561a7c55a68d0164fa07eb581f62aRp_https_tokengroup__rp__https__token.htmlrp_element_tgroup__rp__element.html#g1d3754ba7ce595c24840e609854b2936RP_PRIVATE_KEYgroup__rp__defines.html#g802ac2a1418c1b28992934d271a6b869RP_WSS_SAML_V20_TOKEN_V11group__rp__defines.html#gf078be138820670f427f68edfecca556RP_REQUIRE_DERIVED_KEYSgroup__rp__defines.html#ga650244f0d36ce47bf8d69ef3c804a30RP_SECURE_CONVERSATION_TOKENgroup__rp__defines.html#gf221c3525ddd9be5f64c42badfbfb065RP_EX_C14Ngroup__rp__defines.html#g65b0299d763c94953d6bf7dbae3667edRP_AES128group__rp__defines.html#gfc84e962ee003f7e43a1b23547677d1bRP_ALGO_SUITE_BASIC256_RSA15group__rp__defines.html#ga18c36fb453faacddc0da0b2e6e1f513RP_ENCRYPTION_TOKENgroup__rp__defines.html#ga92653f222fc6d5c1aee3600f43d4d3cRP_WSS10group__rp__defines.html#g17f938ae6838f13a153af7a3d66fcbfbRP_SIGNED_ENDORSING_SUPPORTING_TOKENSgroup__rp__defines.html#g970aaebcb184e98537a74598a315be4crp_binding_commons_set_signed_supporting_tokensgroup__rp__binding__commons.html#gd03b3a2cff11aae9a579f5c68b70741frp_asymmetric_binding_get_initiator_tokengroup__rp__asymmetric__binding.html#g9aa6e0167110d6b0b3c3b85ec16ddbbbrp_algorithmsuite_set_str_transformationgroup__rp__algoruthmsuite.html#g24e94fcbf6cffa01c240d4d04a871393rp_algorithmsuite_set_computed_keygroup__rp__algoruthmsuite.html#g0d6943f38df043fe54e5fcab85243d63Member AXIS2_SCOPE_APPLICATIONgroup__axutil__utils.html#gg102944cbbb59586e2d48aa4a95a55f64211e1eee49971c621d7a894b4c6bdfdaAXIS2_CLOSE_INPUT_CALLBACKgroup__axutil__utils.html#g6c389ab017cb07436a020fb223214c5aMember axutil_uri_resolve_relativegroup__axutil__uri.html#g57054f49c2c3615b1205fa4702aab1a4Member AXIS2_URI_UNP_OMITSITEPARTgroup__axutil__uri.html#g9fbeb5793112dac6d410949e2f9b8547Member AXIS2_URI_IMAP_DEFAULT_PORTgroup__axutil__uri.html#g05f6dc24b60711f8c7ed562ceef3cd26axutil_uri_resolve_relativegroup__axutil__uri.html#g57054f49c2c3615b1205fa4702aab1a4AXIS2_URI_TIP_DEFAULT_PORTgroup__axutil__uri.html#g2a5977799c7e472bc7f0ea1ee440a2c3URIgroup__axutil__uri.htmlMember axutil_init_thread_envgroup__axutil__thread__pool.html#gbc008925cad197747506eb338fd26b1fMember axutil_thread_oncegroup__axutil__thread.html#ga79f8c61310cfb8b6d6f3a9183114995Member AXIS2_THREAD_MUTEX_NESTEDgroup__axutil__thread.html#g4c1de3e53fdd5e35bff45518bf01adb9axutil_thread_mutex_tgroup__axutil__thread.html#g3d6a99be71c7c750b4ac37efae2bdf87Member axutil_strchrgroup__axutil__string__utils.html#gb8e4a59c1f0dccadb35f30e47991291baxutil_stracatgroup__axutil__string__utils.html#g4fc84a016b0e586c15ff09eea315e00aMember axutil_string_creategroup__axutil__string.html#g7ae6b326c8670f129c62d90f41141717Member axutil_stream_get_buffergroup__axutil__stream.html#gb95c687ddd6d6b1a4d3dd37ca3e00a34Member axutil_stream_create_filegroup__axutil__stream.html#g1c531cc65e9cf1a2f652795d5846ff1fMember axutil_stack_getgroup__axis2__util__stack.html#gd20eebb41e7cca8b6eba7de3c12b6229randgroup__axutil__rand.htmlqnamegroup__axutil__qname.htmlMember axutil_properties_loadgroup__axutil__properties.html#g03fc8e50603f117ced5b530f6cc6aca8Member axutil_param_container_free_void_arggroup__axutil__param__container.html#ge74cdd6e7cb30d2617d806899b7209c7Member axutil_param_get_valuegroup__axutil__param.html#gbe8ba6300e567a0437e0c66dbcdbe729axutil_param_set_lockedgroup__axutil__param.html#g970029b6a857fd5c0ec6cd92561b2803Member axutil_network_handler_close_socketgroup__axutil__network__handler.html#g71fbbdcbc95a7ddf46dc34e652d4b79cMember axutil_md5_ctx_freegroup__axutil__md5.html#g15ae76fd76cb90f4325f88fcf34ea754Member AXIS2_LOG_LEVEL_WARNINGgroup__axutil__log.html#ggd0a4d978fc80ce29636196b75e21b06de7f00415a79bf4f624bda5ddd6bbbf8eaxutil_log_impl_log_criticalgroup__axutil__log.html#g19929b09aca81790b1d774e867aecde3AXIS2_LOG_INFOgroup__axutil__log.html#ged5d4b0fe87464cdd3949848a0054269Member axutil_linked_list_index_ofgroup__axutil__linked__list.html#gfeae08bd167aff16b4a56dfd7aa5d336axutil_linked_list_to_arraygroup__axutil__linked__list.html#g4072abee56f46a98d34b66d8b41bea85axutil_linked_list_get_firstgroup__axutil__linked__list.html#g44896e7785095b36bed80d7c0b438a1aaxutil_http_chunked_stream_get_end_of_chunksgroup__axutil__http__chunked__stream.html#g285b878275a7a9544f7162ee2e1d4af8Member axutil_hash_makegroup__axutil__hash.html#g8acab6f89243f53723665aab71e5e945axutil_hash_overlaygroup__axutil__hash.html#g868c52ba2d5ffc3aae86b68f5fc772a7axutil_generic_obj_get_typegroup__axutil__generic__obj.html#gc1866616d170ddd7b10d51d11d166015Member axutil_file_creategroup__axutil__file.html#gc2a7607eab5f1a826b7b16bf578e3179Member axutil_error_get_messagegroup__axutil__error.html#ga5db58c2bae8083db45dcb933511480cAXIS2_ERROR_SET_MESSAGEgroup__axutil__error.html#g82980c1d75cb61f526b9defebf908a34axutil_env_freegroup__axutil__env.html#g35511f188ef8470bec29c255e84217dbaxutil_duration_set_is_negativegroup__axutil__duration.html#gaf1611c85de7607b95d26462f9326c3eaxutil_duration_freegroup__axutil__duration.html#g43eb29e18a81a6cc6f776151172e1f1baxutil_dll_desc_get_create_functgroup__axutil__dll__desc.html#gffea68b7ee5783bc13a8a56b46602e80DLL descriptiongroup__axutil__dll__desc.htmlutilitiesgroup__axis2__util.htmlMember axutil_date_time_freegroup__axutil__date__time.html#gbb52288b98f13be3abf56d29248503cfaxutil_date_time_comparegroup__axutil__date__time.html#g325f00cb4ca6034f6f5eb518d86e2762axutil_date_time_create_with_offsetgroup__axutil__date__time.html#gea6816360a669494d00e4d9b985ae415Member axutil_base64_binary_creategroup__axutil__base64__binary.html#gd4034fe75ef4f78c96a3d4a621e05261Member axutil_array_list_is_emptygroup__axutil__array__list.html#g3ed8b5b9d4a0a4e76e4c55d92a307a0daxutil_array_list_removegroup__axutil__array__list.html#g2aefd638d987a77684c95d3d49250c9aMember axutil_allocator_freegroup__axutil__allocator.html#g5e629bf41638a6df23793dbefb542f5bMember AXIS2_TRANSPORT_SENDER_FREEgroup__axis2__transport__sender.html#g29ff197d35f12f1185e0306078a901a9Member axis2_transport_receiver_freegroup__axis2__transport__receiver.html#g18cd0a700f4e7cb37e1c409a3ecfac11Member axis2_transport_out_desc_set_out_flowgroup__axis2__transport__out__desc.html#ga6d6933bd2681ae8f703e6081b63ef64Group transport out descriptiongroup__axis2__transport__out__desc.htmlaxis2_transport_out_desc_get_enumgroup__axis2__transport__out__desc.html#gc56b3eb46671968107d9f6e2a8421c66Member axis2_transport_in_desc_get_fault_in_flowgroup__axis2__transport__in__desc.html#g7eefabf8404784204c46c7d4ff639211axis2_transport_in_desc_set_recvgroup__axis2__transport__in__desc.html#g1bc9262c72e46d7d485f126f7c054d48Member axutil_thread_mutex_tgroup__axis2__mutex.html#g3d6a99be71c7c750b4ac37efae2bdf87Member axis2_svr_callback_creategroup__axis2__svr__callback.html#gad3c7690a2469aa3c55a71d0c1fa6b0eaxis2_svc_skeleton_ops_tgroup__axis2__svc__skeleton.html#gcaa7c83955b9bfe9476b6afc73833b28axis2_svc_name_set_endpoint_namegroup__axis2__svc__name.html#g48f0c6167341579c0655b66b556cd1d3Member axis2_svc_grp_ctx_creategroup__axis2__svc__grp__ctx.html#ge0d00b9b416c6d13673844dae01c7dd1Member axis2_svc_grp_set_namegroup__axis2__svc__grp.html#g2cdd211b2086bfd7c24ae4939809ab26Member axis2_svc_grp_add_svcgroup__axis2__svc__grp.html#g731315038a625a4436953951a1dce15baxis2_svc_grp_add_module_qnamegroup__axis2__svc__grp.html#g5216eb0c4232d0de1f58594f99e22391Member axis2_svc_ctx_get_svc_idgroup__axis2__svc__ctx.html#ge6b5b3dec329ae2a97080f4a02d8874baxis2_svc_ctx_set_parentgroup__axis2__svc__ctx.html#gccbd28eff1c261a89ae12ba43382c284Member axis2_svc_client_send_receive_non_blockinggroup__axis2__svc__client.html#g26a5d5c7cb8a4305908d829f35dcfb13Member axis2_svc_client_get_auth_typegroup__axis2__svc__client.html#g9915f900a8e029e180b132bba116f5dbaxis2_svc_client_get_proxy_auth_requiredgroup__axis2__svc__client.html#g7c97e5105557a8f3dca54c19f5d30f29axis2_svc_client_send_receive_non_blockinggroup__axis2__svc__client.html#g26a5d5c7cb8a4305908d829f35dcfb13axis2_svc_client_get_svcgroup__axis2__svc__client.html#gadff613f313131cacb5abc9771133294Member axis2_svc_is_module_engagedgroup__axis2__svc.html#gd0f98db137449b246ef2b2b6ec6ba6a4Member axis2_svc_get_last_updategroup__axis2__svc.html#g788443be98d1d5ca71f1989f74cd96c9Member axis2_svc_add_mappinggroup__axis2__svc.html#ga99aa4caaa67315dee21b53283163999axis2_svc_get_all_module_qnamesgroup__axis2__svc.html#g54e06db70cfd22b21deefde65ceacee2axis2_svc_get_stylegroup__axis2__svc.html#g4da58747b15717417ee7399fe0a36cc6axis2_svc_get_rest_mapgroup__axis2__svc.html#g380cf5374766b1bd86666f132121c3dfMember axis2_stub_create_with_endpoint_ref_and_client_homegroup__axis2__stub.html#g1ed17d951b3cca323b94074a747fbac7AXIOM_SOAP_12group__axis2__stub.html#ga869c2c88438ec26ab81a36b8727ac80axis2_rm_assertion_get_max_retrans_countgroup__axis2__rm__assertion.html#g25e1029bb145300afc1b3804262fe968axis2_rm_assertion_set_is_atleast_oncegroup__axis2__rm__assertion.html#ga2c7621f45016dd0ba11a68b2dfebccfMember axis2_relates_to_creategroup__axis2__relates__to.html#g1f7a4765f50521b1cc0bedc34da084beaxis2_policy_include_remove_all_policy_elementgroup__axis2__policy__include.html#g294f37ee0b2109338ceb97765b341dd6axis2_policy_include_set_registrygroup__axis2__policy__include.html#g4faeec17b7e678fb8270cce468a82a6eMember axis2_phases_info_get_in_phasesgroup__axis2__phases__info.html#g2048bb68c1df4bfef9129518f8edaf39axis2_phases_info_set_out_faultphasesgroup__axis2__phases__info.html#g117fd37b24eac5a121346998b04dfdd0Member axis2_phase_rule_freegroup__axis2__phase__rule.html#g98314dfcdc4e33e9943a9b7649d231e4axis2_phase_rule_get_beforegroup__axis2__phase__rule.html#g74c03a05867ebf1ab9f697c7901d53b1axis2_phase_resolver_create_with_config_and_svcgroup__axis2__phase__resolver.html#ga476f0ca50e5c9b0a45e62e8bf5bd352Member AXIS2_PHASE_POST_DISPATCHgroup__axis2__phase__meta.html#g9eac44b19c26bc57f84dbafff10e323aMember axis2_phase_holder_freegroup__axis2__phase__holder.html#gd8944d99a6a3a7ac43dfa474cf5e535aMember axis2_phase_set_last_handlergroup__axis2__phase.html#gd958e22d2aebf7f66390bd8f7a7ecefbMember axis2_phase_add_handlergroup__axis2__phase.html#g8fc3f0608dac0d516c0646b0e8e1d022axis2_phase_add_handler_descgroup__axis2__phase.html#g9b592193365d716976f3f68d61bb7a6fMember AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODINGgroup__axis2__out__transport__info.html#g61f3555a9a1061c23bcc37cd3158b16dMember axis2_options_set_timeout_in_milli_secondsgroup__axis2__options.html#gb75870ba3c356a79e749135f32e2971cMember axis2_options_set_http_headersgroup__axis2__options.html#ga3c3b6a89eac2785b2eeb4fefe054202Member axis2_options_get_soap_actiongroup__axis2__options.html#g67dbecc87ad94df19286a2a87178ce34Member axis2_options_add_reference_parametergroup__axis2__options.html#g37109110cd1537d898fd4ec78787988eaxis2_options_set_xml_parser_resetgroup__axis2__options.html#gcb471f91a48af04d45ee124f341e98baaxis2_options_set_transport_outgroup__axis2__options.html#gfa5e260c38cf75997d4ae2b58517166daxis2_options_get_timeout_in_milli_secondsgroup__axis2__options.html#gf5bffc566365333558914d7ca4c727ddAXIS2_TIMEOUT_IN_SECONDSgroup__axis2__options.html#g8d4099b7a4e7a79c33840aeb01b34a43Member axis2_op_ctx_freegroup__axis2__op__ctx.html#gc2a1dddeaf5f17bae65a8f26baef933baxis2_op_ctx_get_is_completegroup__axis2__op__ctx.html#gb22ed4938df18e52dacc388e89a140d0Member axis2_op_client_set_callback_recvgroup__axis2__op__client.html#gd411a2de66868e708b7e5c02683291a9Member axis2_op_client_creategroup__axis2__op__client.html#g3c0a62606205ce5678c3492dc7e52bf2axis2_op_client_prepare_invocationgroup__axis2__op__client.html#gec56200ff2784f4adfff5679562f1ba5operation clientgroup__axis2__op__client.htmlMember axis2_op_get_wsamapping_listgroup__axis2__op.html#gcf4875f7477726d9ae5a901bf9f9c46fMember axis2_op_get_all_modulesgroup__axis2__op.html#g0c59eea9d18fa94ff2b2375c0efd1929axis2_op_get_basegroup__axis2__op.html#gf04e4c6f801ea0fb353b04f329c68760axis2_op_set_fault_out_flowgroup__axis2__op.html#g9f6107dc7ed032712720a32e47147abfaxis2_op_set_qnamegroup__axis2__op.html#gbe0ca6f87c2c653fbac05ca6da7ff706Member axis2_msg_recv_set_scopegroup__axis2__msg__recv.html#g7514db74a30752f14c1208adcabff8fcaxis2_msg_recv_set_invoke_business_logicgroup__axis2__msg__recv.html#g16539b5323421debe6696589e5f1d9d0Member axis2_msg_info_headers_set_reply_to_anonymousgroup__axis2__msg__info__headers.html#g048b85e9ace9b60a54c500aac7e343cbMember axis2_msg_info_headers_get_fault_to_nonegroup__axis2__msg__info__headers.html#g6e4af66cb1dcc12ce970ef098f364f77axis2_msg_info_headers_get_message_idgroup__axis2__msg__info__headers.html#gbe06f2880f498d70f44934445d78bf0daxis2_msg_info_headers_set_togroup__axis2__msg__info__headers.html#g3ca4a29c369d4e871f957fe773353325Member axis2_msg_ctx_set_svc_ctx_idgroup__axis2__msg__ctx.html#g2f35786b04d65569ae12d577e5e58778Member axis2_msg_ctx_set_parentgroup__axis2__msg__ctx.html#gc744a1bb471165ffafb70dfc3ac983deMember axis2_msg_ctx_set_http_accept_language_record_listgroup__axis2__msg__ctx.html#g09473f96d43873ca693eb02cd809354eMember axis2_msg_ctx_set_auth_typegroup__axis2__msg__ctx.html#gca7170d81a37be6c49260e9b754d1912Member axis2_msg_ctx_get_svc_grp_ctx_idgroup__axis2__msg__ctx.html#g63cef8dc5b5bdba03c1d738594fed173Member axis2_msg_ctx_get_propertygroup__axis2__msg__ctx.html#gb16fd5cd1ee2c9ad86c08529d2194fd4Member axis2_msg_ctx_get_msg_idgroup__axis2__msg__ctx.html#g1f05e034e633a5649c4aead35b9b2b3fMember axis2_msg_ctx_get_current_phase_indexgroup__axis2__msg__ctx.html#g8a5c8277c0574011517121e95d28d693Member axis2_msg_ctx_tgroup__axis2__msg__ctx.html#g160acae289ac39cb49fa625ffd88e410axis2_msg_ctx_get_mime_partsgroup__axis2__msg__ctx.html#gba89508cadc90f7895adb2150b7f42f1axis2_msg_ctx_extract_http_accept_record_listgroup__axis2__msg__ctx.html#gadaa4476daadd7ae65a0c58e06989eedaxis2_msg_ctx_set_transport_out_streamgroup__axis2__msg__ctx.html#g4c96b5bf44bd6bb0364b877554605e63axis2_msg_ctx_set_flowgroup__axis2__msg__ctx.html#gda9507539e7d87a7f835ab89ab1b9b28axis2_msg_ctx_get_svc_grp_ctxgroup__axis2__msg__ctx.html#gb226c5f347f50990837307de37b2c874axis2_msg_ctx_get_property_valuegroup__axis2__msg__ctx.html#g1cf9c2fd4213e497c0b51ddaa4742d34axis2_msg_ctx_set_transport_out_descgroup__axis2__msg__ctx.html#g7a70711fb12e2503062ae6f3f91430c6axis2_msg_ctx_set_reply_togroup__axis2__msg__ctx.html#g35bc63b6c82bdcc9fce81815e3ca5c4caxis2_msg_ctx_get_fault_soap_envelopegroup__axis2__msg__ctx.html#gcad76203a38152006e85476751ae7826AXIS2_HTTP_CLIENTgroup__axis2__msg__ctx.html#g54e451fddf8b69dd8a9cd357d81a2525Member axis2_msg_get_parentgroup__axis2__msg.html#g8191091ac7e17ed45c6d0ed3c9bc3d59Group messagegroup__axis2__msg.htmlaxis2_msg_add_paramgroup__axis2__msg.html#g4a04523e93cd4066b038f14d31f3d60eMember axis2_module_desc_get_qnamegroup__axis2__module__desc.html#g9438beca852762d657353cf0c31146afMember axis2_module_desc_add_opgroup__axis2__module__desc.html#g6b5f55cbf9b71e1e662c7dc8fdc5489daxis2_module_desc_add_opgroup__axis2__module__desc.html#g6b5f55cbf9b71e1e662c7dc8fdc5489dMember axis2_module_shutdowngroup__axis2__module.html#g387fcdad65e41987b62d36fd4ac4bdf2Member axis2_listener_manager_tgroup__axis2__listener__manager.html#g1b9eeb7e6361aff1035273fbaa47cf47axis2_http_worker_set_svr_portgroup__axis2__http__worker.html#gfb1d2dcface2bf7416de679db5f7851bMember AXIS2_PROXY_AUTH_TYPE_DIGESTgroup__axis2__core__transport__http.html#g176f20149afa6994c7b7931052867d65Member AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VALgroup__axis2__core__transport__http.html#ge62020f7bdd1242ff347866a595a7160Member AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VALgroup__axis2__core__transport__http.html#gf5e0ce61d5368cdcc201bc10f6ef60f7Member AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAMEgroup__axis2__core__transport__http.html#gb914a2dad79e1b54a85e7e5bd0a0855eMember AXIS2_HTTP_REQUEST_URIgroup__axis2__core__transport__http.html#g7da0b80a7c45aa688fa12b4d3480e6fcMember AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKEDgroup__axis2__core__transport__http.html#g1d4477901ae22459b5eb40899bb214f7Member AXIS2_HTTP_HEADER_DATEgroup__axis2__core__transport__http.html#gf10a927d3fc614361a0ce3200ea6c750Member AXIS2_HTTP_HEADER_ACCEPT_XOP_XMLgroup__axis2__core__transport__http.html#gd18cb3c06967a304abcb9c4d83b8c484Member AXIS2_HTTP_DEFAULT_SO_TIMEOUTgroup__axis2__core__transport__http.html#g300d7bab850c2273107be0221fceab94Member AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNTgroup__axis2__core__transport__http.html#g985d40e235b787eb6289382921e41c9bAXIS2_HTTP_TOO_LARGEgroup__axis2__core__transport__http.html#gf6ae3d004571fbff97407aef8edddf87AXIS2_EQgroup__axis2__core__transport__http.html#g9ed1c4993eb2b230ec228a0e0271454fAXIS2_CHARSETgroup__axis2__core__transport__http.html#g8335bf1996847c7919f9d494c55bf402AXIS2_Q_MARK_STRgroup__axis2__core__transport__http.html#gf2fc4ceae5b788191c81e2ae40535a67AXIS2_HTTP_PROXY_APIgroup__axis2__core__transport__http.html#g86ca433356ccd50e114a0f567f1ef105AXIS2_HTTP_CONNECTION_TIMEOUTgroup__axis2__core__transport__http.html#g5313444a243f123e6eaea848131c3a46AXIS2_HTTP_HEADER_ACCEPT_XOP_XMLgroup__axis2__core__transport__http.html#gd18cb3c06967a304abcb9c4d83b8c484AXIS2_HTTP_HEADER_TRANSFER_ENCODINGgroup__axis2__core__transport__http.html#g461d311d1ec2d09c1c8bb79c57ec3010AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5group__axis2__core__transport__http.html#g33a5591170fe0c7ddb8b093d9dc5eeb3AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALMgroup__axis2__core__transport__http.html#g32e1895827f44dedb77c105d34038702AXIS2_HTP_HEADER_CONTENT_DESCRIPTIONgroup__axis2__core__transport__http.html#gaf71422595d3d2a88631a22d9cdb32c7AXIS2_HTTP_RESPONSE_GONE_CODE_NAMEgroup__axis2__core__transport__http.html#gd303b59f01fb0bb95e83fcbcb2db7990AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAMEgroup__axis2__core__transport__http.html#ga23b9385d5fa7674f088243057b7f762AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VALgroup__axis2__core__transport__http.html#gf141ddaba1e16e4c4fbd838960d3240cAXIS2_HTTP_RESPONSE_CODEgroup__axis2__core__transport__http.html#ga2cd15599158f56d3e036c5907508af7axutil_url_set_hostgroup__axis2__core__transport__http.html#ge63489233ed0372f6e5f68892d6b6ba8Member axis2_http_svr_thread_creategroup__axis2__http__svr__thread.html#ga08b88e3cf6d3816a290fb222d755fc5Member axis2_http_status_line_creategroup__axis2__http__status__line.html#gbaf68d23c0e7e8d0e91687a7d6e9b848Member axis2_http_simple_response_remove_headersgroup__axis2__http__simple__response.html#gdfa6f0f0bb03760a6f799517ed48733dMember axis2_http_simple_response_tgroup__axis2__http__simple__response.html#g5ebc18702d80d368692d1922f9accb1faxis2_http_simple_response_set_headergroup__axis2__http__simple__response.html#g0b3b364adf9ce38f2dc1aa89caf7a3dfMember axis2_http_simple_request_get_headersgroup__axis2__http__simple__request.html#g9fe9677642fa793af996875b3cee31d9axis2_http_simple_request_get_content_lengthgroup__axis2__http__simple__request.html#g240a77f497fd89d640f9e7364263647fMember axis2_http_response_writer_write_bufgroup__axis2__http__response__writer.html#g6d27ae339974794ede82a7c9e1270c22axis2_http_response_writer_print_intgroup__axis2__http__response__writer.html#gbeed0ef80c00b522dd1372901ecca873axis2_http_request_line_parse_linegroup__axis2__http__request__line.html#g423db6e23965c9380c2152eca233db25Member AXIS2_HTTP_OUT_TRANSPORT_INFO_FREEgroup__axis2__http__out__transport__info.html#g3174b25bfefbe35ad05b2ecf2a24efb0Member axis2_http_header_get_namegroup__axis2__http__header.html#g5963ee03651481ebff143191634ae3ccMember axis2_http_client_set_proxygroup__axis2__http__client.html#gbbfff130bda80cf00cb020a08d92e900axis2_http_client_set_doing_mtomgroup__axis2__http__client.html#gf8d80f790e97ab0d79eb060c326a226eaxis2_http_client_set_urlgroup__axis2__http__client.html#g66ab25088ee5cbc88dbe28e129711f5baxis2_http_accept_record_get_namegroup__axis2__http__accept__record.html#g61ea3c1ecec15e26ee9ff5d0f4bfb20eMember axis2_handler_desc_get_all_paramsgroup__axis2__handler__desc.html#gd3abdf743cd711b6277f2e4754211396axis2_handler_desc_add_paramgroup__axis2__handler__desc.html#g737790760fbba87a858641543d446814Member AXIS2_HANDLER_CREATE_FUNCgroup__axis2__handler.html#g097dac3689f86e2e189065c772a551f8Member axis2_flow_container_set_fault_out_flowgroup__axis2__flow__container.html#g872dda5815ce3274d01182479cfbec54axis2_flow_container_set_in_flowgroup__axis2__flow__container.html#g4b57cb3cef283e2f8243e2a85ed33553axis2_flow_freegroup__axis2__flow.html#gfe394cb1e43be0a398b00c70c20c8829Member axis2_endpoint_ref_creategroup__axis2__endpoint__ref.html#g693024d7cd181441f76eda5023b775deaxis2_endpoint_ref_get_metadata_attribute_listgroup__axis2__endpoint__ref.html#gc58bdf7baf4dfc5a9f2e15bd2b40061eMember axis2_disp_get_namegroup__axis2__disp.html#g4b87234842d634edc406ccbf9aaa4f14axis2_disp_get_basegroup__axis2__disp.html#g493cb717b675286752bed9e62b314f38Member AXIS2_EXECUTION_FAULT_CHAIN_KEYgroup__axis2__desc__constants.html#g2df623b0c60be4c12c415251ba683eb9AXIS2_MODULEREF_KEYgroup__axis2__desc__constants.html#g1bfa79983f0142c83266a4fc9f710cd4Member axis2_desc_creategroup__axis2__description.html#ge7a0b8d3cff8a247692c220fc7272117axis2_desc_freegroup__axis2__description.html#gd72218caf033deeecd16ebf8240dd286axis2_ctx_get_propertygroup__axis2__ctx.html#g2344da02e08fe0a2b88b7bb5e21fafe8AXIS2_TRANSPORT_SENDER_DLLgroup__axis2__core__dll__desc.html#gd7daccecc53ff3e7916e1bcfc78c23ecMember axis2_conf_ctx_set_confgroup__axis2__conf__ctx.html#g2219982ff63cd78a432352482079907aMember axis2_conf_ctx_creategroup__axis2__conf__ctx.html#g9d44e6d988ccfa96510146c18118f272axis2_conf_ctx_get_svc_ctx_mapgroup__axis2__conf__ctx.html#g5345c142c9d7868bcb8adbbbc6091c3fMember axis2_conf_remove_svcgroup__axis2__config.html#gd35639715fb90bc32ea9f04cbfaffedeMember axis2_conf_get_default_module_versiongroup__axis2__config.html#gc57b44693b7d2a19e2268c5860105eb5Member axis2_conf_engage_modulegroup__axis2__config.html#gd606b44f38e986772f34e7eea44f1213axis2_conf_set_enable_securitygroup__axis2__config.html#g11191aa7774fd9d4b441d773735e7096axis2_conf_set_dispatch_phasegroup__axis2__config.html#g131077965ba3a728525239560327a9e5axis2_conf_get_out_fault_flowgroup__axis2__config.html#gd14aad417357ead8d2080d5798e884feaxis2_conf_get_svcgroup__axis2__config.html#g52a73101f2e0fead3788761b4b32fb6fMember axis2_engine_get_receiver_fault_codegroup__axis2__engine.html#g750a760536008dcec26bff80a891197eaxis2_engine_receivegroup__axis2__engine.html#g1ed2e678409c629544ba0f11f7c5fe8fMember axis2_callback_get_completegroup__axis2__callback.html#g8b14532e11dc444cd2ad1fbf5fbe3d0daxis2_callback_set_completegroup__axis2__callback.html#g67f076fe17ac0e95dbea3ce7ecd7111eaxis2_async_result_get_envelopegroup__axis2__async__result.html#g78f7a7e270e176c1094ca43d106561b1Member axis2_addr_out_handler_creategroup__axis2__addr__mod.html#g80cd9d16412689c7e01c7ab17f4a3339Member AXIS2_WSA_TOgroup__axis2__addr__consts.html#ga03c11932fc77dffe74a333717adfab7Member AXIS2_WSA_METADATAgroup__axis2__addr__consts.html#g24ec2266e6ace775fa784c8a79a1da7cAXIS2_WSA_DEFAULT_PREFIXgroup__axis2__addr__consts.html#g0a39a1ed9bcd873cef011bef81d20d85EPR_PORT_TYPEgroup__axis2__addr__consts.html#g08e974b9cc0517032404490c7e4a4c24Member axiom_xpath_register_namespacegroup__axiom__xpath__api.html#g521831b95af07a1d758870955e21ec46Member axiom_xpath_result_type_tgroup__axiom__xpath__api.html#gc71f49207aafbf3bc545c23a8f094c6faxiom_xpath_free_contextgroup__axiom__xpath__api.html#g9c605179eff1ce688aeed2bb3a5a615fMember axiom_xml_writer_write_start_element_with_namespace_prefixgroup__axiom__xml__writer.html#gbbc4c3ec83abb98b8def106b6733382eMember axiom_xml_writer_write_dtdgroup__axiom__xml__writer.html#ged60c82c50443d672009d2e51e0e4033Member axiom_xml_writer_create_for_memorygroup__axiom__xml__writer.html#g79309882da5382c1ec3facc6e5abc862axiom_xml_writer_write_cdatagroup__axiom__xml__writer.html#g576af9f5d4f98d90ec40d30844f49467axiom_xml_writer_write_start_elementgroup__axiom__xml__writer.html#g8fb66c4d3f5b6b4ddee7d62ad9ed70ccMember axiom_xml_reader_get_namegroup__axiom__xml__reader.html#g4aa5740186e9a96828f3faceee38f09eaxiom_xml_reader_get_dtdgroup__axiom__xml__reader.html#g1c1f7c88232c5aec33cafc72fda5830eaxiom_xml_reader_initgroup__axiom__xml__reader.html#g8e39a922babd615678d53209c3d86c25Member axiom_text_get_content_idgroup__axiom__text.html#g7f941bcbbeda74c50e117100e190fdc6axiom_text_freegroup__axiom__text.html#g0eb6a7b65c61cee5e6a5a5d1a93ab44eaxiom_stax_builder_free_selfgroup__axiom__stax__builder.html#g6316c104a0d16efdeaee14a35a03cd06Member axiom_soap_header_block_get_attributegroup__axiom__soap__header__block.html#gbe505ca156a1f25b44b3fc2d92aab5bcMember axiom_soap_header_remove_header_blockgroup__axiom__soap__header.html#g4d36a1f5427197087a29703d8ac74ac6axiom_soap_header_examine_header_blocksgroup__axiom__soap__header.html#g1715ee6353da48cd2148b8adfd227814soap fault valuegroup__axiom__soap__fault__value.htmlMember axiom_soap_fault_sub_code_get_sub_codegroup__axiom__soap__fault__sub__code.html#gd34ca96ee79733b00b3d2d143e9b9702axiom_soap_fault_role_get_base_nodegroup__axiom__soap__fault__role.html#g609089f41190a886185cc053560e1c80axiom_soap_fault_reason_get_soap_fault_textgroup__axiom__soap__fault__reason.html#g954ae459d11fa8b57d48a23bd1846b38Member axiom_soap_fault_detail_freegroup__axiom__soap__fault__detail.html#g04a0d4c7bb96ffa60a7b5e4a6440af79axiom_soap_fault_code_get_sub_codegroup__axiom__soap__fault__code.html#gc83114a60ca4484a736ea3d83039a897axiom_soap_fault_get_base_nodegroup__axiom__soap__fault.html#g10bfdaaa36e70a7cab19f4d871cac698Member axiom_soap_envelope_get_soap_buildergroup__axiom__soap__envelope.html#g17b40326cf1e991991e667f7ea559640axiom_soap_envelope_serializegroup__axiom__soap__envelope.html#gf409ccdda293c3e5b8b0e3da3e5417beMember axiom_soap_builder_is_processing_detail_elementsgroup__axiom__soap__builder.html#gb428e7fa5b20be177e665700d34aa138axiom_soap_builder_is_processing_detail_elementsgroup__axiom__soap__builder.html#gb428e7fa5b20be177e665700d34aa138Member axiom_soap_body_buildgroup__axiom__soap__body.html#g5a7066590890390e527b0a718178c785Member axiom_processing_instruction_get_targetgroup__axiom__processing__instruction.html#gfc68e82e5fbd9d82f822e3fa1bd386b0Member axiom_output_set_do_optimizegroup__axiom__output.html#g9df8ee0f0069d4606aed3dc185305d1baxiom_output_get_next_content_idgroup__axiom__output.html#ge637ec921a812520c45db189ea8fcc0aaxiom_output_creategroup__axiom__output.html#g623e9e800d5694aa58f5017bbdf5ed29Member axiom_node_get_first_elementgroup__axiom__node.html#g2c569263c409668ff1b653aeb7712bb5Member AXIOM_DOCUMENTgroup__axiom__node.html#gg1d63f86448ef155d8b2baa77ef7ae2ab7d1cd7babba0b26f356b3551f3928137axiom_node_insert_sibling_beforegroup__axiom__node.html#ged3250c790969964a948b0469207a735axiom_navigator_visitedgroup__axiom__navigator.html#gf2683f8658f619e357c76d8000e599f9Member axiom_namespace_equalsgroup__axiom__namespace.html#gbb08fb933c55696b786e16485f1e8f6baxiom_namespace_tgroup__axiom__namespace.html#g7f4bfc71c31d922fedc3f46a5b64567dAXIOM_MTOM_CACHING_CALLBACK_CACHEgroup__caching__callback.html#g89eb1e761dd12f88a343f828ab8baaeeaxiom_mime_parser_set_max_buffersgroup__axiom__mime__parser.html#g5673d9d89ee85532d51e16756c712e68Member axiom_element_set_localnamegroup__axiom__element.html#ga7b390c6b772f6c529cab878331ec45fMember axiom_element_get_childrengroup__axiom__element.html#g17f61bf6ca1ba4f7280a62381533ffb9Member axiom_element_creategroup__axiom__element.html#g5f39a92b374c459df18a43bd8946ca0baxiom_element_buildgroup__axiom__element.html#g83e7bba094816b770c93c78ec9b96d13axiom_element_get_localnamegroup__axiom__element.html#g93563b0b55fa7a91c90b359be5945ac2Member axiom_document_serializegroup__axiom__document.html#g7e34e3977661164aedae9b5d2dd9ada5axiom_document_creategroup__axiom__document.html#gf15c8c5b6476d1ca0f256ff56854b5afMember axiom_data_source_freegroup__axiom__data__source.html#g3465c61c35c61c6886be0326beef86c6Member axiom_data_handler_get_input_streamgroup__axiom__data__handler.html#g1fcb504cd3cdb758b5247066c1cb332caxiom_data_handler_write_togroup__axiom__data__handler.html#g47e0e307ecd1fc27223fb67f10e194edaxiom_comment_get_valuegroup__axiom__comment.html#g66d8119c3ee5f76a1b1bf71997ede19fAXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVEgroup__axiom__children__with__specific__attribute__iterator.html#gb97098253d2c2c12c13652878b917b56Member axiom_children_iterator_freegroup__axiom__children__iterator.html#gaf7cc3ef96f809a6a28d1d9884669f39axiom_child_element_iterator_removegroup__axiom__child__element__iterator.html#g5fdb1dfafa5ec44ffc46f3bb1301cd86Member axiom_attribute_get_namespacegroup__axiom__attribute.html#gf5237ea2eed7bb6326f19e2cda6ffe9caxiom_attribute_set_localnamegroup__axiom__attribute.html#g45d596e4d7eaf81d205f9b8f01c580e5rp_builders.h File Referencerp__builders_8h.htmlneethi_reference_freeneethi__reference_8h.html#1b013147f461061d73cbda3fce28aa7cneethi_policy_get_policy_componentsneethi__policy_8h.html#ed37eaf1e09a12119ba392a5f32102e2neethi_includes.hneethi__includes_8h.htmlneethi_engine_mergeneethi__engine_8h.html#1c8803906ffd7ef88eb46e8c201809d7AXIS2_RM_EXACTLY_ONCEneethi__constants_8h.html#06b5e21e3cb8ad406e8cd18c4fdf0c8aNEETHI_WSU_NSneethi__constants_8h.html#990b5750cf84f8c943e01f96be18a7dcneethi_assertion_add_policy_componentsneethi__assertion_8h.html#b3f4027203645bff77f58243f9b9e911neethi_all_add_operatorneethi__all_8h.html#96c82374cc5115ec6e0e2ae2eba5c969AXIS2_FREE_VOID_ARGgroup__axutil__utils.html#gc9ac1d802046d30769ab1074c935e292axutil_url_freegroup__axis2__core__transport__http.html#ga59362fd1492a43a2403d045122f1641axutil_url.haxutil__url_8h.htmlaxutil_uri_port_of_schemegroup__axutil__uri.html#gdf1a3e50e6387fafd45b14e1aa0f8208AXIS2_URI_SNEWS_DEFAULT_PORTgroup__axutil__uri.html#g453de6d294e03f6a1950b5ecd1c767a4axutil_free_thread_envgroup__axutil__thread__pool.html#g86828fbfa2efa9e9f864fad6fccfee11axutil_thread_detachgroup__axutil__thread.html#gf80d1cd64a4f888588f502bb836ace47AXIS2_THREAD_MUTEX_NESTEDgroup__axutil__thread.html#g4c1de3e53fdd5e35bff45518bf01adb9axutil_rand_with_rangegroup__axutil__rand.html#gc3ab8d15d9b62a720c6a2b423ea578ebaxutil_param_container.haxutil__param__container_8h.htmlaxutil_param_get_attributesgroup__axutil__param.html#ga54565061883614c48b6a4d510bb3e89axutil_param.h File Referenceaxutil__param_8h.htmlaxutil_linked_list_setgroup__axutil__linked__list.html#g797df541c887e4e30c6523d37149bf88axutil_linked_list_freegroup__axutil__linked__list.html#gc4d4cf327ad7dbdef42f15736e99069eaxutil_http_chunked_stream.h File Referenceaxutil__http__chunked__stream_8h.htmlaxutil_hashfunc_defaultgroup__axutil__hash.html#g7cf05c040bc742d2477ee525d422c674axutil_env_creategroup__axutil__env.html#g136fef9fc5d4e435f40a0949375d324daxutil_dll_desc_get_create_functgroup__axutil__dll__desc.html#gffea68b7ee5783bc13a8a56b46602e80axutil_dll_desc.haxutil__dll__desc_8h.htmlaxutil_date_time_set_time_zonegroup__axutil__date__time.html#g8d08022eecfba692d230b028570c2cacaxutil_date_time_serialize_timegroup__axutil__date__time.html#gad77bd48f8d22855617fc1678c08e8adaxutil_base64_binary.haxutil__base64__binary_8h.htmlaxutil_array_list_check_bound_inclusivegroup__axutil__array__list.html#g7e79d235403a8cc6cf5dcf93e8c79dc1axutil_allocator_switch_to_local_poolgroup__axutil__allocator.html#g84fcfb6c00bfaf95d676a8cc98c2ac33AXIS2_TRANSPORT_SENDER_INITgroup__axis2__transport__sender.html#g1e3ea665c5968395b11d116c869bb409axis2_transport_out_desc_creategroup__axis2__transport__out__desc.html#g7f4ccfe57406b9e031c12ec4c0fe84abaxis2_transport_out_desc_free_void_arggroup__axis2__transport__out__desc.html#gf4917e987d796cc459ef55d00047fe33axis2_transport_in_desc_get_fault_in_flowgroup__axis2__transport__in__desc.html#g7eefabf8404784204c46c7d4ff639211axis2_svr_callback.h File Referenceaxis2__svr__callback_8h.htmlaxis2_svc_name_tgroup__axis2__svc__name.html#gf3d9c6a25fce098b03819d1ac546270caxis2_svc_grp_get_basegroup__axis2__svc__grp.html#g6a55741ccaf95a3dff7731efcc92f72baxis2_svc_grp_get_all_svcsgroup__axis2__svc__grp.html#g57f4154c413ac2fd518ac1ad1bd863feaxis2_svc_ctx_get_parentgroup__axis2__svc__ctx.html#g2e53ac655251a1f8c59eeb30fbc5565daxis2_svc_client_get_op_clientgroup__axis2__svc__client.html#ga67a9dd0d56c30d5f96f28e5e8040c8caxis2_svc_client_send_robust_with_op_qnamegroup__axis2__svc__client.html#g42a973429ce779dc574052bb6a8b1849axis2_svc_get_impl_classgroup__axis2__svc.html#gf6f7ea1789d1722c1996fba9d16115a1axis2_svc_set_svc_folder_pathgroup__axis2__svc.html#g6101f397d6874038f5063d9c92c0aae4axis2_svc_engage_modulegroup__axis2__svc.html#gf2edbd32031290c35891d23080566790axis2_svc.h File Referenceaxis2__svc_8h.htmlMember axis2_simple_http_svr_conn_write_responseaxis2__simple__http__svr__conn_8h.html#9c5f441d8ba42ed821177698719aae49axis2_simple_http_svr_conn_get_peer_ipaxis2__simple__http__svr__conn_8h.html#40d5571375a2c2cae2274d29760e3a49axis2_relates_to_set_relationship_typegroup__axis2__relates__to.html#g964c1e6a4cd9029fade0c95209b46166axis2_phase_rule_set_aftergroup__axis2__phase__rule.html#g5e8872d7d5383aaaaee7ac6d200a7303axis2_phase_resolver_engage_module_globallygroup__axis2__phase__resolver.html#g38da02ab67a528c00d8a319e3855c69eaxis2_phase_creategroup__axis2__phase.html#ga8094ea4f993c65b5024f912769311b5axis2_phase_add_handler_atgroup__axis2__phase.html#g3a631359739cd8aea355f835dcd170dbaxis2_options_set_http_auth_infogroup__axis2__options.html#g075f4088b1263d5a932486293c099238axis2_options_get_msg_info_headersgroup__axis2__options.html#gf88ecbaac26036de8311ecf8552ef396axis2_options_set_transport_ingroup__axis2__options.html#g7adae8ea3c133854375e0a0dc02a2446axis2_options_get_propertiesgroup__axis2__options.html#g244f26e4bca15b715a13240f0c95605baxis2_op_ctx_destroy_mutexgroup__axis2__op__ctx.html#ga465e10f016efca08e1beecbcb0c98ceaxis2_op_ctx.h File Referenceaxis2__op__ctx_8h.htmlaxis2_op_client_set_callback_recvgroup__axis2__op__client.html#gd411a2de66868e708b7e5c02683291a9axis2_msg_recv_set_load_and_init_svcgroup__axis2__msg__recv.html#g4fde87faee6913c5852a3866b877f22faxis2_msg_recv.haxis2__msg__recv_8h.htmlaxis2_msg_info_headers_set_fault_togroup__axis2__msg__info__headers.html#g9d097759c95b088583709dd83e19ca90axis2_msg_ctx_set_mime_partsgroup__axis2__msg__ctx.html#gb9ed9b1c95c2f6e441193a5c0b67f4b2axis2_msg_ctx_set_http_accept_record_listgroup__axis2__msg__ctx.html#gce2ea5a21e0da1e0502722471013cf58axis2_msg_ctx_reset_transport_out_streamgroup__axis2__msg__ctx.html#gb0006ce05885ace9a09c0841fe297fb7axis2_msg_ctx_get_flowgroup__axis2__msg__ctx.html#gd70614caf6e01d3f061b994f0e87d0e8axis2_msg_ctx_set_svc_grp_ctxgroup__axis2__msg__ctx.html#g608927368afc580dfa9f30a88438cab7axis2_msg_ctx_set_propertygroup__axis2__msg__ctx.html#gdd7cf73dd9e04efe08b461854807b698axis2_msg_ctx_get_op_ctxgroup__axis2__msg__ctx.html#g4778817a289307212f46e1b60d5eab51axis2_msg_ctx_set_server_sidegroup__axis2__msg__ctx.html#g3d12635f667d18ad9e5ce6ed6af42560axis2_msg_ctx_set_msg_idgroup__axis2__msg__ctx.html#g1371f00e4242de82b6475dd9443ab5dbAXIS2_TRANSPORT_URLgroup__axis2__msg__ctx.html#g698a681ef62502de45559859fe9e2cbdaxis2_msg_set_element_qnamegroup__axis2__msg.html#g7fd20aa2eb6b5f479e7ca67e05b13bfdAXIS2_MSG_OUTgroup__axis2__msg.html#gf8324fc49bef947986c6333e608def13axis2_module_desc_get_all_opsgroup__axis2__module__desc.html#gd780223e3a54586ef6bf173c49eb9d9baxis2_module_tgroup__axis2__module.html#gd7178056a81383c23d68a1ec747a90e5axis2_http_worker_freegroup__axis2__http__worker.html#g1a3b73fc4ba2f66ea1dc74d791a70d88axis2_http_transport_utils_send_mtom_messageaxis2__http__transport__utils_8h.html#b3cbdc9df8303525fa37c81da4818bc7axis2_http_transport_utils_get_request_paramsaxis2__http__transport__utils_8h.html#4b9a470c2a851d91a7a29b682b097288axis2_http_transport_utils.h File Referenceaxis2__http__transport__utils_8h.htmlaxis2_http_status_line_set_http_versiongroup__axis2__http__status__line.html#g8cd0bfb7636c2c82426eda8568356039axis2_http_simple_request_get_content_lengthgroup__axis2__http__simple__request.html#g240a77f497fd89d640f9e7364263647faxis2_http_server.haxis2__http__server_8h.htmlaxis2_http_sender.haxis2__http__sender_8h.htmlAXIS2_HTTP_SENDER_SENDaxis2__http__sender_8h.html#e502c287e52aae7ed166e6c60b1aee69axis2_http_response_writer.haxis2__http__response__writer_8h.htmlaxis2_http_out_transport_info_free_void_arggroup__axis2__http__out__transport__info.html#g8ff11c179d868a06362b9dea7edb3d5caxis2_http_header_to_external_formgroup__axis2__http__header.html#g405ecf563b1d8c47c22b21900b53f7b1axis2_http_client_set_dump_input_msggroup__axis2__http__client.html#g9feb3e75194fa6f3a89132a288700075axis2_http_accept_record_to_stringgroup__axis2__http__accept__record.html#g8a6bd83de0b54aa34e6b297a02a13782axis2_handler_desc_is_param_lockedgroup__axis2__handler__desc.html#g0ecc479c307be432ced66fc9cb18764aaxis2_handler_invokegroup__axis2__handler.html#gf53f1c483110e9e371069a9d87985742axis2_flow_container_freegroup__axis2__flow__container.html#ge766ce97e139207a8fe5b7a92b6003b2axis2_engine_get_receiver_fault_codegroup__axis2__engine.html#g750a760536008dcec26bff80a891197eaxis2_endpoint_ref_add_ref_attributegroup__axis2__endpoint__ref.html#g354234bb6da2cdecae159fa2045c904aaxis2_soap_action_disp_creategroup__axis2__disp.html#g7ce7cd65ca6b36076181dad1f6560bceAXIS2_PHASES_KEYgroup__axis2__desc__constants.html#g8e2aaf910542b2301b9b76fec0f892b5axis2_desc_get_policy_includegroup__axis2__description.html#gfb2c12d56fbfa672cf4f577c19aed3afMember AXIS2_IN_FLOWaxis2__defines_8h.html#9094b305bdfb0e4679f847f8809fc888axis2_ctx_creategroup__axis2__ctx.html#gcb5d8fd664562a2ddaf88cc3248e977eaxis2_conf_ctx_initgroup__axis2__conf__ctx.html#g95ac09f843d1594d5bf3bf4f6f424fb0axis2_conf_ctx.h File Referenceaxis2__conf__ctx_8h.htmlaxis2_conf_get_default_module_versiongroup__axis2__config.html#gc57b44693b7d2a19e2268c5860105eb5axis2_conf_set_phases_infogroup__axis2__config.html#g7a51cf9382faf1e4d2cb9440cea1eb83axis2_conf_add_transport_ingroup__axis2__config.html#g78048cf013c8a2441862164f9aaaedbeaxis2_callback_creategroup__axis2__callback.html#g9fea0849294631c64f627f509afbe4fdaxis2_callback.h File Referenceaxis2__callback_8h.htmlaxis2_addr_out_handler_creategroup__axis2__addr__mod.html#g80cd9d16412689c7e01c7ab17f4a3339AXIS2_WSA_INTERFACE_NAMEgroup__axis2__addr__consts.html#gc35528fdb8d4a0da501462f1205e4eccAXIS2_WSA_MAPPINGgroup__axis2__addr__consts.html#g5b94c2283807555fadb4baf18d3b134baxiom_xml_writer_set_default_prefixgroup__axiom__xml__writer.html#gc8897fef6328a061e47a9a51bf7428b1axiom_xml_writer_write_attributegroup__axiom__xml__writer.html#gea0009f113fc69456db5fedf684e04f4axiom_xml_reader.haxiom__xml__reader_8h.htmlaxiom_xml_reader_get_attribute_name_by_numbergroup__axiom__xml__reader.html#g41431f427bb3e0d68091225f346af9efaxiom_soap_header_block_set_attributegroup__axiom__soap__header__block.html#g0d571598bedb953b01ac834328f816b9axiom_soap_header_get_base_nodegroup__axiom__soap__header.html#g91bacc73f64c81dbb156c1159083fa7aaxiom_soap_fault_value_create_with_subcodegroup__axiom__soap__fault__value.html#g5a2d7ab98ab366e24568ec2bd31abcc9axiom_soap_fault_sub_code_get_valuegroup__axiom__soap__fault__sub__code.html#g9c4864e1ac6156b4ef1cce4b4e81cfdeaxiom_soap_fault_reason.haxiom__soap__fault__reason_8h.htmlaxiom_soap_fault_node_taxiom__soap__fault__node_8h.html#f4c85181370478bdc2761222a3cac16eaxiom_soap_fault_code_create_with_parent_valuegroup__axiom__soap__fault__code.html#ge71666a1e807569863113eafee61e10baxiom_soap_fault_create_with_parentgroup__axiom__soap__fault.html#g26600e5d6fad315500cad1752d60353daxiom_soap_envelope_create_with_soap_version_prefixgroup__axiom__soap__envelope.html#g13d7cc5563a577ffe36537fcab3c6220axiom_soap_builder_set_bool_processing_mandatory_fault_elementsgroup__axiom__soap__builder.html#g87f4a91ddb83e585b2e06c1584bb503baxiom_soap_body_get_faultgroup__axiom__soap__body.html#ga5be4d54bfebaa44966685511e2ad96baxiom_node_get_data_elementgroup__axiom__node.html#geb488e8c836956940ea4c01b92a0c421axiom_node_taxiom__node_8h.html#69f1378ea7db6ff0162d243792736648AXIOM_MTOM_CACHING_CALLBACK_CACHEgroup__caching__callback.html#g89eb1e761dd12f88a343f828ab8baaeeaxiom_mime_parser_set_caching_callback_namegroup__axiom__mime__parser.html#g6440482e9821e7bd06be17382568f9b2axiom_document.haxiom__document_8h.htmlaxiom_doctype_serializegroup__axiom__doctype.html#gb6fc65e0ba230a28101b082e7490c1f0axiom_data_handler.haxiom__data__handler_8h.htmlaxiom_data_handler_set_cachedgroup__axiom__data__handler.html#gc6da7f863c5e580fc47dcf6a380f4d57axiom_children_with_specific_attribute_iterator.haxiom__children__with__specific__attribute__iterator_8h.htmlaxiom_children_qname_iterator_freegroup__axiom__children__qname__iterator.html#gfad46c799aceae357a7e35da9bda1f1aaxiom_child_element_iterator_nextgroup__axiom__child__element__iterator.html#geb91b34e1dc19eaeb969179ce8e85b27axiom_attribute_increment_refgroup__axiom__attribute.html#g4e9157492474b5a0e828935b606f943eaxiom.haxiom_8h.htmlrp_symmetric_binding_builder.hrp__symmetric__binding__builder_8h-source.htmlrp_rampart_config_builder.hrp__rampart__config__builder_8h-source.htmlrp_builders.hrp__builders_8h-source.htmlneethi_assertion_builder.hneethi__assertion__builder_8h-source.htmlaxutil_utils_defines.haxutil__utils__defines_8h-source.htmlAXIS2_URI_UNP_OMITPATHINFOaxutil__uri_8h-source.html#l00099AXIS2_URI_NNTP_DEFAULT_PORTaxutil__uri_8h-source.html#l00056axutil_threadattr_taxutil__thread_8h-source.html#l00052axutil_network_handler.haxutil__network__handler_8h-source.htmlAXIS2_LOG_LEVEL_CRITICALaxutil__log_8h-source.html#l00061axutil_file.haxutil__file_8h-source.htmlaxutil_dll_desc.haxutil__dll__desc_8h-source.htmlaxis2_util.haxis2__util_8h-source.htmlaxis2_transport_out_desc.haxis2__transport__out__desc_8h-source.htmlaxis2_svc_skeletonaxis2__svc__skeleton_8h-source.html#l00139axis2_stub_taxis2__stub_8h-source.html#l00054axis2_phase_resolver.haxis2__phase__resolver_8h-source.htmlaxis2_phase.haxis2__phase_8h-source.htmlaxis2_op.haxis2__op_8h-source.htmlAXIS2_TRANSPORT_OUTaxis2__msg__ctx_8h-source.html#l00062axis2_module_opsaxis2__module_8h-source.html#l00074AXIS2_PROXY_AUTH_PASSWDaxis2__http__transport_8h-source.html#l00941AXIS2_RESPONSE_WRITTENaxis2__http__transport_8h-source.html#l00853AXIS2_HTTP_HEADER_SET_COOKIE2axis2__http__transport_8h-source.html#l00765AXIS2_HTTP_HEADER_ACCEPT_CHARSETaxis2__http__transport_8h-source.html#l00680AXIS2_HTTP_HEADER_USER_AGENTaxis2__http__transport_8h-source.html#l00589AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALEaxis2__http__transport_8h-source.html#l00504AXIS2_HTTP_HEADER_CONTENT_TYPEaxis2__http__transport_8h-source.html#l00413AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAMEaxis2__http__transport_8h-source.html#l00328AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAMEaxis2__http__transport_8h-source.html#l00242AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VALaxis2__http__transport_8h-source.html#l00152AXIS2_HTTP_CRLFaxis2__http__transport_8h-source.html#l00051axis2_http_sender_taxis2__http__sender_8h-source.html#l00051axis2_handler_desc_taxis2__handler__desc_8h-source.html#l00050AXIS2_PHASES_KEYaxis2__description_8h-source.html#l00128axis2_desc.haxis2__desc_8h-source.htmlaxis2_callback_recv.haxis2__callback__recv_8h-source.htmlAXIS2_WSA_VERSIONaxis2__addr_8h-source.html#l00142EPR_REFERENCE_PROPERTIESaxis2__addr_8h-source.html#l00083axiom_xpath_result::nodesaxiom__xpath_8h-source.html#l00175axiom_xpath_expression::operationsaxiom__xpath_8h-source.html#l00111axiom_xml_reader_opsaxiom__xml__reader_8h-source.html#l00072axiom_soap_const.haxiom__soap__const_8h-source.htmlaxiom_types_taxiom__node_8h-source.html#l00061axiom_element.haxiom__element_8h-source.htmlaxis2c-src-1.6.0/docs/api/html/search.php0000644000175000017500000002376711172017604021275 0ustar00manjulamanjula00000000000000 Search
  • Main Page
  • Modules
  • Classes
  • Files
  • Directories
  • Related Pages
  • Examples
  • 1 document matching your query."; } else // $num>1 { return "Found $num documents matching your query. Showing best matches first."; } } function report_matches() { return "Matches: "; } function end_form($value) { echo " \n \n
    \n
    \n
  • \n
\n
\n"; } function readInt($file) { $b1 = ord(fgetc($file)); $b2 = ord(fgetc($file)); $b3 = ord(fgetc($file)); $b4 = ord(fgetc($file)); return ($b1<<24)|($b2<<16)|($b3<<8)|$b4; } function readString($file) { $result=""; while (ord($c=fgetc($file))) $result.=$c; return $result; } function readHeader($file) { $header =fgetc($file); $header.=fgetc($file); $header.=fgetc($file); $header.=fgetc($file); return $header; } function computeIndex($word) { // Fast string hashing //$lword = strtolower($word); //$l = strlen($lword); //for ($i=0;$i<$l;$i++) //{ // $c = ord($lword{$i}); // $v = (($v & 0xfc00) ^ ($v << 6) ^ $c) & 0xffff; //} //return $v; // Simple hashing that allows for substring search if (strlen($word)<2) return -1; // high char of the index $hi = ord($word{0}); if ($hi==0) return -1; // low char of the index $lo = ord($word{1}); if ($lo==0) return -1; // return index return $hi*256+$lo; } function search($file,$word,&$statsList) { $index = computeIndex($word); if ($index!=-1) // found a valid index { fseek($file,$index*4+4); // 4 bytes per entry, skip header $index = readInt($file); if ($index) // found words matching the hash key { $start=sizeof($statsList); $count=$start; fseek($file,$index); $w = readString($file); while ($w) { $statIdx = readInt($file); if ($word==substr($w,0,strlen($word))) { // found word that matches (as substring) $statsList[$count++]=array( "word"=>$word, "match"=>$w, "index"=>$statIdx, "full"=>strlen($w)==strlen($word), "docs"=>array() ); } $w = readString($file); } $totalHi=0; $totalFreqHi=0; $totalFreqLo=0; for ($count=$start;$count $idx, "freq" => $freq>>1, "rank" => 0.0, "hi" => $freq&1 ); if ($freq&1) // word occurs in high priority doc { $totalHi++; $totalFreqHi+=$freq*$multiplier; } else // word occurs in low priority doc { $totalFreqLo+=$freq*$multiplier; } } // read name and url info for the doc for ($i=0;$i<$numDocs;$i++) { fseek($file,$docInfo[$i]["idx"]); $docInfo[$i]["name"]=readString($file); $docInfo[$i]["url"]=readString($file); } $statInfo["docs"]=$docInfo; } $totalFreq=($totalHi+1)*$totalFreqLo + $totalFreqHi; for ($count=$start;$count$key, "name"=>$di["name"], "rank"=>$rank ); } $docs[$key]["words"][] = array( "word"=>$wordInfo["word"], "match"=>$wordInfo["match"], "freq"=>$di["freq"] ); } } return $docs; } function filter_results($docs,&$requiredWords,&$forbiddenWords) { $filteredDocs=array(); while (list ($key, $val) = each ($docs)) { $words = &$docs[$key]["words"]; $copy=1; // copy entry by default if (sizeof($requiredWords)>0) { foreach ($requiredWords as $reqWord) { $found=0; foreach ($words as $wordInfo) { $found = $wordInfo["word"]==$reqWord; if ($found) break; } if (!$found) { $copy=0; // document contains none of the required words break; } } } if (sizeof($forbiddenWords)>0) { foreach ($words as $wordInfo) { if (in_array($wordInfo["word"],$forbiddenWords)) { $copy=0; // document contains a forbidden word break; } } } if ($copy) $filteredDocs[$key]=$docs[$key]; } return $filteredDocs; } function compare_rank($a,$b) { if ($a["rank"] == $b["rank"]) { return 0; } return ($a["rank"]>$b["rank"]) ? -1 : 1; } function sort_results($docs,&$sorted) { $sorted = $docs; usort($sorted,"compare_rank"); return $sorted; } function report_results(&$docs) { echo "\n"; echo " \n"; echo " \n"; echo " \n"; $numDocs = sizeof($docs); if ($numDocs==0) { echo " \n"; echo " \n"; echo " \n"; } else { echo " \n"; echo " \n"; echo " \n"; $num=1; foreach ($docs as $doc) { echo " \n"; echo " "; echo "\n"; echo " \n"; echo " \n"; echo " \n"; $num++; } } echo "

".search_results()."

".matches_text(0)."
".matches_text($numDocs); echo "\n"; echo "
$num.".$doc["name"]."
".report_matches()." "; foreach ($doc["words"] as $wordInfo) { $word = $wordInfo["word"]; $matchRight = substr($wordInfo["match"],strlen($word)); echo "$word$matchRight(".$wordInfo["freq"].") "; } echo "
\n"; } function main() { if(strcmp('4.1.0', phpversion()) > 0) { die("Error: PHP version 4.1.0 or above required!"); } if (!($file=fopen("search.idx","rb"))) { die("Error: Search index file could NOT be opened!"); } if (readHeader($file)!="DOXS") { die("Error: Header of index file is invalid!"); } $query=""; if (array_key_exists("query", $_GET)) { $query=$_GET["query"]; } end_form($query); echo " \n
\n"; $results = array(); $requiredWords = array(); $forbiddenWords = array(); $foundWords = array(); $word=strtok($query," "); while ($word) // for each word in the search query { if (($word{0}=='+')) { $word=substr($word,1); $requiredWords[]=$word; } if (($word{0}=='-')) { $word=substr($word,1); $forbiddenWords[]=$word; } if (!in_array($word,$foundWords)) { $foundWords[]=$word; search($file,strtolower($word),$results); } $word=strtok(" "); } $docs = array(); combine_results($results,$docs); // filter out documents with forbidden word or that do not contain // required words $filteredDocs = filter_results($docs,$requiredWords,$forbiddenWords); // sort the results based on rank $sorted = array(); sort_results($filteredDocs,$sorted); // report results to the user report_results($sorted); echo "
\n"; fclose($file); } main(); ?>
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_type.html0000644000175000017500000003326311172017604022661 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- a -

- e -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__flow__container_8h.html0000644000175000017500000002112611172017604025204 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_flow_container.h File Reference

axis2_flow_container.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>
#include <axis2_flow.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_flow_container 
axis2_flow_container_t

Functions

AXIS2_EXTERN void axis2_flow_container_free (axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_in_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_in_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_out_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_out_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *out_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_fault_in_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_fault_in_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *falut_in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_flow_container_get_fault_out_flow (const axis2_flow_container_t *flow_container, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_flow_container_set_fault_out_flow (axis2_flow_container_t *flow_container, const axutil_env_t *env, axis2_flow_t *fault_out_flow)
AXIS2_EXTERN
axis2_flow_container_t
axis2_flow_container_create (const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__handler__desc_8h.html0000644000175000017500000002727411172017604024620 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_handler_desc.h File Reference

axis2_handler_desc.h File Reference

#include <axutil_utils_defines.h>
#include <axutil_qname.h>
#include <axutil_param.h>
#include <axutil_param_container.h>
#include <axis2_phase_rule.h>
#include <axis2_handler.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_handler_desc 
axis2_handler_desc_t

Functions

AXIS2_EXTERN const
axutil_string_t * 
axis2_handler_desc_get_name (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_name (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axutil_string_t *name)
AXIS2_EXTERN
axis2_phase_rule_t
axis2_handler_desc_get_rules (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_rules (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axis2_phase_rule_t *phase_rule)
AXIS2_EXTERN
axutil_param_t * 
axis2_handler_desc_get_param (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_add_param (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_array_list_t
axis2_handler_desc_get_all_params (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_handler_desc_is_param_locked (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_handler_t
axis2_handler_desc_get_handler (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_handler (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axis2_handler_t *handler)
AXIS2_EXTERN const
axis2_char_t * 
axis2_handler_desc_get_class_name (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_class_name (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, const axis2_char_t *class_name)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_handler_desc_get_parent (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_desc_set_parent (axis2_handler_desc_t *handler_desc, const axutil_env_t *env, axutil_param_container_t *parent)
AXIS2_EXTERN void axis2_handler_desc_free (axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_handler_desc_get_param_container (const axis2_handler_desc_t *handler_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_handler_desc_t
axis2_handler_desc_create (const axutil_env_t *env, axutil_string_t *name)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__children__iterator_8h.html0000644000175000017500000001204611172017604025764 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_children_iterator.h File Reference

axiom_children_iterator.h File Reference

this is the iterator for om nodes More...

#include <axiom_node.h>
#include <axiom_text.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_children_iterator 
axiom_children_iterator_t

Functions

AXIS2_EXTERN
axiom_children_iterator_t * 
axiom_children_iterator_create (const axutil_env_t *env, axiom_node_t *current_child)
AXIS2_EXTERN void axiom_children_iterator_free (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_iterator_remove (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_children_iterator_has_next (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_children_iterator_next (axiom_children_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_children_iterator_reset (axiom_children_iterator_t *iterator, const axutil_env_t *env)


Detailed Description

this is the iterator for om nodes


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__writer.html0000644000175000017500000000554011172017604025326 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_writer Struct Reference

axiom_xml_writer Struct Reference
[XML writer]

axis2_pull_parser struct Axis2 OM pull_parser More...

#include <axiom_xml_writer.h>

List of all members.

Public Attributes

const
axiom_xml_writer_ops_t
ops


Detailed Description

axis2_pull_parser struct Axis2 OM pull_parser
The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__util__stack.html0000644000175000017500000001674111172017604025320 0ustar00manjulamanjula00000000000000 Axis2/C: stack

stack
[utilities]


Typedefs

typedef struct
axutil_stack 
axutil_stack_t

Functions

AXIS2_EXTERN
axutil_stack_t * 
axutil_stack_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_stack_free (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_stack_pop (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_stack_push (axutil_stack_t *stack, const axutil_env_t *env, void *value)
AXIS2_EXTERN int axutil_stack_size (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_stack_get (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_stack_get_at (axutil_stack_t *stack, const axutil_env_t *env, int i)

Function Documentation

AXIS2_EXTERN void axutil_stack_free ( axutil_stack_t *  stack,
const axutil_env_t env 
)

Free function of the stack

Parameters:
stack pointer to stack
env environemnt

AXIS2_EXTERN void* axutil_stack_get ( axutil_stack_t *  stack,
const axutil_env_t env 
)

returns the last put value from the stack without removing it from stack


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__transport__in__desc.html0000644000175000017500000013451411172017604027034 0ustar00manjulamanjula00000000000000 Axis2/C: transport in description

transport in description
[description]


Files

file  axis2_transport_in_desc.h
 Axis2 description transport in interface.

Typedefs

typedef struct
axis2_transport_in_desc 
axis2_transport_in_desc_t

Functions

AXIS2_EXTERN void axis2_transport_in_desc_free (axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env)
AXIS2_EXTERN void axis2_transport_in_desc_free_void_arg (void *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_transport_in_desc_get_enum (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_enum (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_in_desc_get_in_flow (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_in_flow (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_flow *in_flow)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_in_desc_get_fault_in_flow (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_fault_in_flow (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_flow *fault_in_flow)
AXIS2_EXTERN struct
axis2_transport_receiver
axis2_transport_in_desc_get_recv (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_recv (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_transport_receiver *recv)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_in_desc_get_in_phase (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_in_phase (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_phase *in_phase)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_in_desc_get_fault_phase (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_fault_phase (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_phase *fault_phase)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_add_param (axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_transport_in_desc_get_param (const axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN axis2_bool_t axis2_transport_in_desc_is_param_locked (axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_transport_in_desc_param_container (const axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_in_desc_t
axis2_transport_in_desc_create (const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)

Detailed Description

transport in description represents a transport receiver configured in Axis2 configuration. There can be multiple transport receivers configured in axis2.xml file and each of them will be represented with a transport in description instance. deployment engine takes care of creating and instantiating transport in descriptions. transport in description encapsulates flows related to the transport in and also holds a reference to related transport receiver.

Typedef Documentation

typedef struct axis2_transport_in_desc axis2_transport_in_desc_t

Type name for struct axis2_transport_in_desc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_add_param ( axis2_transport_in_desc_t transport_in_desc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds given parameter.

Parameters:
transport_in_desc pointer to transport in description struct
env pointer to environment struct
param pointer to parameter, transport in description assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_transport_in_desc_t* axis2_transport_in_desc_create ( const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Creates transport in description with given transport enum.

Parameters:
env pointer to environment struct
trans_enum transport enum
Returns:
pointer to newly created phase holder

AXIS2_EXTERN void axis2_transport_in_desc_free ( axis2_transport_in_desc_t transport_in_desc,
const axutil_env_t env 
)

Frees transport in description.

Parameters:
transport_in_desc pointer to transport in description struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN void axis2_transport_in_desc_free_void_arg ( void *  transport_in,
const axutil_env_t env 
)

Frees transport in description given as a void parameter.

Parameters:
transport_in pointer to transport in description as a void pointer
env pointer to environment struct
Returns:
void

AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS axis2_transport_in_desc_get_enum ( const axis2_transport_in_desc_t transport_in,
const axutil_env_t env 
)

Gets transport enum.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
Returns:
transport enum

AXIS2_EXTERN struct axis2_flow* axis2_transport_in_desc_get_fault_in_flow ( const axis2_transport_in_desc_t transport_in,
const axutil_env_t env 
) [read]

Gets fault in flow. Fault in flow represents the list of phases invoked along the receive path if a fault happens.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
Returns:
pointer to flow representing fault in flow, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_phase* axis2_transport_in_desc_get_fault_phase ( const axis2_transport_in_desc_t transport_in,
const axutil_env_t env 
) [read]

Gets the transport fault phase associated with transport in description.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
Returns:
pointer to phase representing fault phase

AXIS2_EXTERN struct axis2_flow* axis2_transport_in_desc_get_in_flow ( const axis2_transport_in_desc_t transport_in,
const axutil_env_t env 
) [read]

Gets in flow. In flow represents the list of phases invoked along the receive path.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
Returns:
pointer to flow representing in flow, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_phase* axis2_transport_in_desc_get_in_phase ( const axis2_transport_in_desc_t transport_in,
const axutil_env_t env 
) [read]

Gets the transport in phase associated with transport in description.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
Returns:
transport in phase, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_transport_in_desc_get_param ( const axis2_transport_in_desc_t transport_in_desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Gets named parameter.

Parameters:
transport_in_desc pointer to transport in description struct
env pointer to environment struct
param_name parameter name string
Returns:
pointer to named parameter if it exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_transport_receiver* axis2_transport_in_desc_get_recv ( const axis2_transport_in_desc_t transport_in,
const axutil_env_t env 
) [read]

Gets transport receiver associated with the transport in description.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
Returns:
pointer to transport receiver, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_transport_in_desc_is_param_locked ( axis2_transport_in_desc_t transport_in_desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
transport_in_desc pointer to transport in description struct
env pointer to environment struct
param_name parameter name string
Returns:
AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_set_enum ( struct axis2_transport_in_desc *  transport_in,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Sets transport enum.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
trans_enum transport enum
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_set_fault_in_flow ( struct axis2_transport_in_desc *  transport_in,
const axutil_env_t env,
struct axis2_flow *  fault_in_flow 
)

Sets fault in flow. Fault in flow represents the list of phases invoked along the receive path if a fault happens.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
fault_in_flow pointer to flow representing fault in flow, transport in description assumes the ownership of the flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_set_fault_phase ( struct axis2_transport_in_desc *  transport_in,
const axutil_env_t env,
struct axis2_phase *  fault_phase 
)

Sets the transport fault phase associated with transport in description.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
fault_phase pointer to fault phase
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_set_in_flow ( struct axis2_transport_in_desc *  transport_in,
const axutil_env_t env,
struct axis2_flow *  in_flow 
)

Sets in flow. In flow represents the list of phases invoked along the receive path.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
in_flow pointer to in flow representing in flow, transport in description assumes ownership of the flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_set_in_phase ( struct axis2_transport_in_desc *  transport_in,
const axutil_env_t env,
struct axis2_phase *  in_phase 
)

Sets the transport in phase associated with transport in description.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
in_phase pointer to phase representing transport in phase, transport in description assumes ownership of phase
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_in_desc_set_recv ( struct axis2_transport_in_desc *  transport_in,
const axutil_env_t env,
struct axis2_transport_receiver recv 
)

Sets transport receiver associated with the transport in description.

Parameters:
transport_in pointer to transport in description struct
env pointer to environment struct
recv pointer to transport receiver, transport in description assumes ownership of the receiver
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__out__transport__info.html0000644000175000017500000001754711172017604027260 0ustar00manjulamanjula00000000000000 Axis2/C: out transport info

out transport info


Files

file  axis2_out_transport_info.h
 axis2 Out Transport Info

Classes

struct  axis2_out_transport_info_ops
struct  axis2_out_transport_info

Defines

#define AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, env, content_type)   ((out_transport_info->ops)->set_content_type(out_transport_info, env, content_type))
#define AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, env, encoding)   ((out_transport_info->ops)->set_char_encoding(out_transport_info, env, encoding))
#define AXIS2_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)   ((out_transport_info->ops)->free(out_transport_info, env))

Typedefs

typedef struct
axis2_out_transport_info 
axis2_out_transport_info_t
typedef struct
axis2_out_transport_info_ops 
axis2_out_transport_info_ops_t

Detailed Description

Description

Define Documentation

#define AXIS2_OUT_TRANSPORT_INFO_FREE ( out_transport_info,
env   )     ((out_transport_info->ops)->free(out_transport_info, env))

Free.

#define AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING ( out_transport_info,
env,
encoding   )     ((out_transport_info->ops)->set_char_encoding(out_transport_info, env, encoding))

Set cahr encoding.

#define AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE ( out_transport_info,
env,
content_type   )     ((out_transport_info->ops)->set_content_type(out_transport_info, env, content_type))

Set content type.


Typedef Documentation

typedef struct axis2_out_transport_info axis2_out_transport_info_t

Type name for struct axis2_out_transport_info


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__file__handler_8h-source.html0000644000175000017500000001452011172017604026365 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_file_handler.h Source File

axutil_file_handler.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain count copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_FILE_HANDLER_H
00019 #define AXUTIL_FILE_HANDLER_H
00020 
00021 #include <axutil_string.h>
00022 #include <stdio.h>
00023 
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028 
00041     AXIS2_EXTERN void *AXIS2_CALL
00042     axutil_file_handler_open(
00043         const char *file_name,
00044         const char *options);
00045 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     axutil_file_handler_close(
00053         void *file_ptr);
00054 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     axutil_file_handler_access(
00073         const axis2_char_t * path,
00074         int mode);
00075 
00076     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00077     axutil_file_handler_copy(
00078         FILE *from, 
00079         FILE *to);
00080 
00081     AXIS2_EXTERN long AXIS2_CALL 
00082     axutil_file_handler_size(
00083         const axis2_char_t *const name);
00084 
00087 #ifdef __cplusplus
00088 }
00089 #endif
00090 
00091 #endif                          /* AXIS2_FILE_HANDLER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__sender_8h.html0000644000175000017500000001463211172017604025573 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_sender.h File Reference

axis2_transport_sender.h File Reference

Axis2 description transport sender interface. More...

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axis2_transport_out_desc.h>
#include <axis2_ctx.h>
#include <axis2_msg_ctx.h>

Go to the source code of this file.

Classes

struct  axis2_transport_sender_ops
 Description Transport Sender ops struct Encapsulator struct for ops of axis2_transport_sender. More...
struct  axis2_transport_sender

Defines

#define AXIS2_TRANSPORT_SENDER_FREE(transport_sender, env)   ((transport_sender->ops)->free (transport_sender, env))
#define AXIS2_TRANSPORT_SENDER_INIT(transport_sender, env, conf_context, transport_out)   ((transport_sender->ops)->init (transport_sender, env, conf_context, transport_out))
#define AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx)   ((transport_sender->ops)->invoke (transport_sender, env, msg_ctx))
#define AXIS2_TRANSPORT_SENDER_CLEANUP(transport_sender, env, msg_ctx)   ((transport_sender->ops)->cleanup (transport_sender, env, msg_ctx))

Typedefs

typedef struct
axis2_transport_sender 
axis2_transport_sender_t
typedef struct
axis2_transport_sender_ops 
axis2_transport_sender_ops_t

Functions

AXIS2_EXTERN
axis2_transport_sender_t
axis2_transport_sender_create (const axutil_env_t *env)


Detailed Description

Axis2 description transport sender interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__represent.html0000644000175000017500000005044711172017604023562 0ustar00manjulamanjula00000000000000 Axis2/C: entry of tcpmon

entry of tcpmon


Classes

struct  tcpmon_entry_ops
struct  tcpmon_entry
struct  tcpmon_session_ops
struct  tcpmon_session

Defines

#define TCPMON_ENTRY_FREE(entry, env)   ((entry)->ops->free (entry, env))
#define TCPMON_ENTRY_ARRIVED_TIME(entry, env)   ((entry)->ops->arrived_time(entry, env))
#define TCPMON_ENTRY_SENT_TIME(entry, env)   ((entry)->ops->sent_time(entry, env))
#define TCPMON_ENTRY_TIME_DIFF(entry, env)   ((entry)->ops->time_diff(entry, env))
#define TCPMON_ENTRY_SENT_DATA(entry, env)   ((entry)->ops->sent_data(entry, env))
#define TCPMON_ENTRY_ARRIVED_DATA(entry, env)   ((entry)->ops->arrived_data(entry, env))
#define TCPMON_ENTRY_SENT_HEADERS(entry, env)   ((entry)->ops->sent_headers(entry, env))
#define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)   ((entry)->ops->arrived_headers(entry, env))
#define TCPMON_ENTRY_IS_SUCCESS(entry, env)   ((entry)->ops->is_success(entry, env))
#define TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit)   ((entry)->ops->set_format_bit(entry, env, format_bit))
#define TCPMON_ENTRY_GET_FORMAT_BIT(entry, env)   ((entry)->ops->get_format_bit(entry, env))
#define TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env)   ((entry)->ops->get_sent_data_length(entry, env))
#define TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env)   ((entry)->ops->get_arrived_data_length(entry, env))
#define TCPMON_SESSION_FREE(session, env)   ((session)->ops->free (session, env))
#define TCPMON_SESSION_SET_TEST_BIT(session, env, test_bit)   ((session)->ops->set_test_bit(session, env, test_bit))
#define TCPMON_SESSION_GET_TEST_BIT(session, env)   ((session)->ops->get_test_bit(session, env))
#define TCPMON_SESSION_SET_FORMAT_BIT(session, env, format_bit)   ((session)->ops->set_format_bit(session, env, format_bit))
#define TCPMON_SESSION_GET_FORMAT_BIT(session, env)   ((session)->ops->get_format_bit(session, env))
#define TCPMON_SESSION_SET_LISTEN_PORT(session, env, listen_port)   ((session)->ops->set_listen_port(session, env, listen_port))
#define TCPMON_SESSION_GET_LISTEN_PORT(session, env)   ((session)->ops->get_listen_port(session, env))
#define TCPMON_SESSION_SET_TARGET_PORT(session, env, target_port)   ((session)->ops->set_target_port(session, env, target_port))
#define TCPMON_SESSION_GET_TARGET_PORT(session, env)   ((session)->ops->get_target_port(session, env))
#define TCPMON_SESSION_SET_TARGET_HOST(session, env, target_host)   ((session)->ops->set_target_host(session, env, target_host))
#define TCPMON_SESSION_GET_TARGET_HOST(session, env)   ((session)->ops->get_target_host(session, env))
#define TCPMON_SESSION_START(session, env)   ((session)->ops->start(session, env))
#define TCPMON_SESSION_STOP(session, env)   ((session)->ops->stop(session, env))
#define TCPMON_SESSION_ON_TRANS_FAULT(session, env, funct)   ((session)->ops->on_trans_fault(session, env, funct))
#define TCPMON_SESSION_ON_NEW_ENTRY(session, env, funct)   ((session)->ops->on_new_entry(session, env, funct))

Typedefs

typedef struct
tcpmon_entry_ops 
tcpmon_entry_ops_t
typedef struct
tcpmon_entry 
tcpmon_entry_t
typedef struct
tcpmon_session_ops 
tcpmon_session_ops_t
typedef struct
tcpmon_session 
tcpmon_session_t
typedef int(* TCPMON_SESSION_NEW_ENTRY_FUNCT )(const axutil_env_t *env, tcpmon_entry_t *entry, int status)
typedef int(* TCPMON_SESSION_TRANS_ERROR_FUNCT )(const axutil_env_t *env, axis2_char_t *error_message)

Functions

tcpmon_entry_t * tcpmon_entry_create (const axutil_env_t *env)
tcpmon_session_t * tcpmon_session_create (const axutil_env_t *env)

Typedef Documentation

typedef int( * TCPMON_SESSION_NEW_ENTRY_FUNCT)(const axutil_env_t *env, tcpmon_entry_t *entry, int status)

callback functions for the tcpmon session


Function Documentation

tcpmon_entry_t* tcpmon_entry_create ( const axutil_env_t env  ) 

Creates tcpmon_entry struct

Parameters:
env double pointer to environment struct. MUST NOT be NULL
Returns:
pointer to newly created tcpmon_entry struct

tcpmon_session_t* tcpmon_session_create ( const axutil_env_t env  ) 

Creates tcpmon_session struct

Parameters:
env double pointer to environment struct. MUST NOT be NULL
Returns:
pointer to newly created tcpmon_session struct


Generated on Thu Apr 16 11:31:23 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__symmetric__binding.html0000644000175000017500000002124311172017604026250 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_symmetric_binding

Rp_symmetric_binding


Typedefs

typedef struct
rp_symmetric_binding_t 
rp_symmetric_binding_t

Functions

AXIS2_EXTERN
rp_symmetric_binding_t * 
rp_symmetric_binding_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_symmetric_binding_free (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
rp_symmetric_asymmetric_binding_commons_t * 
rp_symmetric_binding_get_symmetric_asymmetric_binding_commons (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_binding_set_symmetric_asymmetric_binding_commons (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env, rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_binding_set_protection_token (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env, rp_property_t *protection_token)
AXIS2_EXTERN
rp_property_t * 
rp_symmetric_binding_get_protection_token (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_binding_set_encryption_token (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env, rp_property_t *encryption_token)
AXIS2_EXTERN
rp_property_t * 
rp_symmetric_binding_get_encryption_token (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_binding_set_signature_token (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env, rp_property_t *signature_token)
AXIS2_EXTERN
rp_property_t * 
rp_symmetric_binding_get_signature_token (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_binding_increment_ref (rp_symmetric_binding_t *symmetric_binding, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__svr__thread.html0000644000175000017500000004207311172017604026512 0ustar00manjulamanjula00000000000000 Axis2/C: http server thread

http server thread
[http transport]


Files

file  axis2_http_svr_thread.h
 axis2 HTTP server listning thread implementation

Typedefs

typedef struct
axis2_http_svr_thread 
axis2_http_svr_thread_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_http_svr_thread_run (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_svr_thread_destroy (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN int axis2_http_svr_thread_get_local_port (const axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_http_svr_thread_is_running (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_svr_thread_set_worker (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env, axis2_http_worker_t *worker)
AXIS2_EXTERN void axis2_http_svr_thread_free (axis2_http_svr_thread_t *svr_thread, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_svr_thread_t
axis2_http_svr_thread_create (const axutil_env_t *env, int port)

Typedef Documentation

typedef struct axis2_http_svr_thread axis2_http_svr_thread_t

Type name for struct axist_http_svr_thread


Function Documentation

AXIS2_EXTERN axis2_http_svr_thread_t* axis2_http_svr_thread_create ( const axutil_env_t env,
int  port 
)

Parameters:
env pointer to environment struct
port 

AXIS2_EXTERN axis2_status_t axis2_http_svr_thread_destroy ( axis2_http_svr_thread_t svr_thread,
const axutil_env_t env 
)

Parameters:
svr_thread pointer to server thread
env pointer to environment struct

AXIS2_EXTERN void axis2_http_svr_thread_free ( axis2_http_svr_thread_t svr_thread,
const axutil_env_t env 
)

Parameters:
svr_thread pointer to server thread
env pointer to environment struct

AXIS2_EXTERN int axis2_http_svr_thread_get_local_port ( const axis2_http_svr_thread_t svr_thread,
const axutil_env_t env 
)

Parameters:
svr_thread pointer to server thread
env pointer to environment struct

AXIS2_EXTERN axis2_bool_t axis2_http_svr_thread_is_running ( axis2_http_svr_thread_t svr_thread,
const axutil_env_t env 
)

Parameters:
svr_thread pointer to server thread
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_svr_thread_run ( axis2_http_svr_thread_t svr_thread,
const axutil_env_t env 
)

Parameters:
svr_thread pointer to server thread
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_svr_thread_set_worker ( axis2_http_svr_thread_t svr_thread,
const axutil_env_t env,
axis2_http_worker_t worker 
)

Parameters:
svr_thread pointer to server thread
env pointer to environment struct
worker pointer to worker


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__module__desc_8h.html0000644000175000017500000004145611172017604024466 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_module_desc.h File Reference

axis2_module_desc.h File Reference

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>
#include <axutil_param_container.h>
#include <axis2_flow_container.h>
#include <axutil_param.h>
#include <axis2_op.h>
#include <axis2_conf.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_module_desc 
axis2_module_desc_t

Functions

AXIS2_EXTERN void axis2_module_desc_free (axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_in_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_in_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_out_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_out_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *out_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_fault_in_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_fault_in_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *falut_in_flow)
AXIS2_EXTERN
axis2_flow_t
axis2_module_desc_get_fault_out_flow (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_fault_out_flow (axis2_module_desc_t *module_desc, const axutil_env_t *env, axis2_flow_t *fault_out_flow)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_module_desc_get_qname (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_qname (axis2_module_desc_t *module_desc, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_add_op (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN
axutil_hash_t
axis2_module_desc_get_all_ops (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_conf * 
axis2_module_desc_get_parent (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_parent (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_conf *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_add_param (axis2_module_desc_t *module_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_module_desc_get_param (const axis2_module_desc_t *module_desc, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_module_desc_get_all_params (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_module_desc_is_param_locked (const axis2_module_desc_t *module_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN struct
axis2_module
axis2_module_desc_get_module (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_module_desc_set_module (axis2_module_desc_t *module_desc, const axutil_env_t *env, struct axis2_module *module)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_module_desc_get_param_container (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_flow_container_t
axis2_module_desc_get_flow_container (const axis2_module_desc_t *module_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_module_desc_t
axis2_module_desc_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_module_desc_t
axis2_module_desc_create_with_qname (const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN void axis2_module_desc_free_void_arg (void *module_desc, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__stack_8h.html0000644000175000017500000001334011172017604023420 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_stack.h File Reference

axutil_stack.h File Reference

represents a stack More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_stack 
axutil_stack_t

Functions

AXIS2_EXTERN
axutil_stack_t * 
axutil_stack_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_stack_free (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_stack_pop (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_stack_push (axutil_stack_t *stack, const axutil_env_t *env, void *value)
AXIS2_EXTERN int axutil_stack_size (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_stack_get (axutil_stack_t *stack, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_stack_get_at (axutil_stack_t *stack, const axutil_env_t *env, int i)


Detailed Description

represents a stack


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__xml__reader_8h-source.html0000644000175000017500000011144111172017604025702 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_reader.h Source File

axiom_xml_reader.h

Go to the documentation of this file.
00001 
00002 /*
00003  *   Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  *   Licensed under the Apache License, Version 2.0 (the "License");
00006  *   you may not use this file except in compliance with the License.
00007  *   You may obtain a copy of the License at
00008  *
00009  *       http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  *   Unless required by applicable law or agreed to in writing, software
00012  *   distributed under the License is distributed on an "AS IS" BASIS,
00013  *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  *   See the License for the specific language governing permissions and
00015  *   limitations under the License.
00016  *
00017  */
00018 
00019 #ifndef AXIOM_XML_READER_H
00020 #define AXIOM_XML_READER_H
00021 
00027 #include <axutil_env.h>
00028 #include <axutil_utils.h>
00029 #include <axiom_defines.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axiom_xml_reader_ops axiom_xml_reader_ops_t;
00037     typedef struct axiom_xml_reader axiom_xml_reader_t;
00038 
00052     typedef enum axiom_xml_reader_event_types
00053     {
00054         AXIOM_XML_READER_START_DOCUMENT = 0,
00055         AXIOM_XML_READER_START_ELEMENT,
00056         AXIOM_XML_READER_END_ELEMENT,
00057         AXIOM_XML_READER_SPACE,
00058         AXIOM_XML_READER_EMPTY_ELEMENT,
00059         AXIOM_XML_READER_CHARACTER,
00060         AXIOM_XML_READER_ENTITY_REFERENCE,
00061         AXIOM_XML_READER_COMMENT,
00062         AXIOM_XML_READER_PROCESSING_INSTRUCTION,
00063         AXIOM_XML_READER_CDATA,
00064         AXIOM_XML_READER_DOCUMENT_TYPE
00065     } axiom_xml_reader_event_types;
00066 
00072     struct axiom_xml_reader_ops
00073     {
00074 
00084         int(
00085             AXIS2_CALL
00086             * next)(
00087                 axiom_xml_reader_t * parser,
00088                 const axutil_env_t * env);
00089 
00097         void(
00098             AXIS2_CALL
00099             * free)(
00100                 axiom_xml_reader_t * parser,
00101                 const axutil_env_t * env);
00102 
00110         int(
00111             AXIS2_CALL
00112             * get_attribute_count)(
00113                 axiom_xml_reader_t * parser,
00114                 const axutil_env_t * env);
00115 
00125         axis2_char_t *(
00126             AXIS2_CALL
00127             * get_attribute_name_by_number)(
00128                 axiom_xml_reader_t * parser,
00129                 const axutil_env_t * env,
00130                 int i);
00131 
00142         axis2_char_t *(
00143             AXIS2_CALL
00144             * get_attribute_prefix_by_number)(
00145                 axiom_xml_reader_t * parser,
00146                 const axutil_env_t * env,
00147                 int i);
00148 
00159         axis2_char_t *(
00160             AXIS2_CALL
00161             * get_attribute_value_by_number)(
00162                 axiom_xml_reader_t * parser,
00163                 const axutil_env_t * env,
00164                 int i);
00165 
00176         axis2_char_t *(
00177             AXIS2_CALL
00178             * get_attribute_namespace_by_number)(
00179                 axiom_xml_reader_t * parser,
00180                 const axutil_env_t * env,
00181                 int i);
00182 
00189         axis2_char_t *(
00190             AXIS2_CALL
00191             * get_value)(
00192                 axiom_xml_reader_t * parser,
00193                 const axutil_env_t * env);
00194 
00201         int(
00202             AXIS2_CALL
00203             * get_namespace_count)(
00204                 axiom_xml_reader_t * parser,
00205                 const axutil_env_t * env);
00206 
00216         axis2_char_t *(
00217             AXIS2_CALL
00218             * get_namespace_uri_by_number)(
00219                 axiom_xml_reader_t * parser,
00220                 const axutil_env_t * env,
00221                 int i);
00222 
00232         axis2_char_t *(
00233             AXIS2_CALL
00234             * get_namespace_prefix_by_number)(
00235                 axiom_xml_reader_t * parser,
00236                 const axutil_env_t * env,
00237                 int i);
00238 
00246         axis2_char_t *(
00247             AXIS2_CALL
00248             * get_prefix)(
00249                 axiom_xml_reader_t * parser,
00250                 const axutil_env_t * env);
00251 
00259         axis2_char_t *(
00260             AXIS2_CALL
00261             * get_name)(
00262                 axiom_xml_reader_t * parser,
00263                 const axutil_env_t * env);
00264 
00272         axis2_char_t *(
00273             AXIS2_CALL
00274             * get_pi_target)(
00275                 axiom_xml_reader_t * parser,
00276                 const axutil_env_t * env);
00277 
00285         axis2_char_t *(
00286             AXIS2_CALL
00287             * get_pi_data)(
00288                 axiom_xml_reader_t * parser,
00289                 const axutil_env_t * env);
00290 
00298         axis2_char_t *(
00299             AXIS2_CALL
00300             * get_dtd)(
00301                 axiom_xml_reader_t * parser,
00302                 const axutil_env_t * env);
00303 
00314         void(
00315             AXIS2_CALL
00316             * xml_free)(
00317                 axiom_xml_reader_t * parser,
00318                 const axutil_env_t * env,
00319                 void *data);
00320 
00328         axis2_char_t *(
00329             AXIS2_CALL
00330             * get_char_set_encoding)(
00331                 axiom_xml_reader_t * parser,
00332                 const axutil_env_t * env);
00333 
00335         axis2_char_t *(
00336             AXIS2_CALL
00337             * get_namespace_uri)(
00338                 axiom_xml_reader_t * parser,
00339                 const axutil_env_t * env);
00340 
00341         axis2_char_t *(
00342             AXIS2_CALL
00343             * get_namespace_uri_by_prefix)(
00344                 axiom_xml_reader_t * parser,
00345                 const axutil_env_t * env,
00346                 axis2_char_t * prefix);
00347     };
00348 
00353     struct axiom_xml_reader
00354     {
00355         const axiom_xml_reader_ops_t *ops;
00356     };
00357 
00366     AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL
00367     axiom_xml_reader_create_for_file(
00368         const axutil_env_t * env,
00369         char *filename,
00370         const axis2_char_t * encoding);
00371 
00389     AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL
00390     axiom_xml_reader_create_for_io(
00391         const axutil_env_t * env,
00392         AXIS2_READ_INPUT_CALLBACK,
00393         AXIS2_CLOSE_INPUT_CALLBACK,
00394         void *ctx,
00395         const axis2_char_t * encoding);
00396 
00407     AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL
00408     axiom_xml_reader_create_for_memory(
00409         const axutil_env_t * env,
00410         void *container,
00411         int size,
00412         const axis2_char_t * encoding,
00413         int type);
00414 
00419     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00420     axiom_xml_reader_init(void
00421     );
00422 
00427     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00428     axiom_xml_reader_cleanup(void
00429     );
00430 
00439     AXIS2_EXTERN int AXIS2_CALL
00440     axiom_xml_reader_next(
00441         axiom_xml_reader_t * parser,
00442         const axutil_env_t * env);
00443 
00450     AXIS2_EXTERN void AXIS2_CALL
00451     axiom_xml_reader_free(
00452         axiom_xml_reader_t * parser,
00453         const axutil_env_t * env);
00454 
00462     AXIS2_EXTERN int AXIS2_CALL
00463     axiom_xml_reader_get_attribute_count(
00464         axiom_xml_reader_t * parser,
00465         const axutil_env_t * env);
00466 
00473     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00474     axiom_xml_reader_get_attribute_name_by_number(
00475         axiom_xml_reader_t * parser,
00476         const axutil_env_t * env,
00477         int i);
00478 
00485     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00486     axiom_xml_reader_get_attribute_prefix_by_number(
00487         axiom_xml_reader_t * parser,
00488         const axutil_env_t * env,
00489         int i);
00490 
00497     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00498     axiom_xml_reader_get_attribute_value_by_number(
00499         axiom_xml_reader_t * parser,
00500         const axutil_env_t * env,
00501         int i);
00502 
00509     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00510     axiom_xml_reader_get_attribute_namespace_by_number(
00511         axiom_xml_reader_t * parser,
00512         const axutil_env_t * env,
00513         int i);
00514 
00521     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00522     axiom_xml_reader_get_value(
00523         axiom_xml_reader_t * parser,
00524         const axutil_env_t * env);
00525 
00532     AXIS2_EXTERN int AXIS2_CALL
00533     axiom_xml_reader_get_namespace_count(
00534         axiom_xml_reader_t * parser,
00535         const axutil_env_t * env);
00536 
00543     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00544     axiom_xml_reader_get_namespace_uri_by_number(
00545         axiom_xml_reader_t * parser,
00546         const axutil_env_t * env,
00547         int i);
00548 
00555     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00556     axiom_xml_reader_get_namespace_prefix_by_number(
00557         axiom_xml_reader_t * parser,
00558         const axutil_env_t * env,
00559         int i);
00560 
00567     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00568     axiom_xml_reader_get_prefix(
00569         axiom_xml_reader_t * parser,
00570         const axutil_env_t * env);
00571 
00578     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00579     axiom_xml_reader_get_name(
00580         axiom_xml_reader_t * parser,
00581         const axutil_env_t * env);
00582 
00589     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00590     axiom_xml_reader_get_pi_target(
00591         axiom_xml_reader_t * parser,
00592         const axutil_env_t * env);
00593 
00600     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00601     axiom_xml_reader_get_pi_data(
00602         axiom_xml_reader_t * parser,
00603         const axutil_env_t * env);
00604 
00611     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00612     axiom_xml_reader_get_dtd(
00613         axiom_xml_reader_t * parser,
00614         const axutil_env_t * env);
00615 
00622     AXIS2_EXTERN void AXIS2_CALL
00623     axiom_xml_reader_xml_free(
00624         axiom_xml_reader_t * parser,
00625         const axutil_env_t * env,
00626         void *data);
00627 
00635     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00636     axiom_xml_reader_get_char_set_encoding(
00637         axiom_xml_reader_t * parser,
00638         const axutil_env_t * env);
00639 
00646     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00647     axiom_xml_reader_get_namespace_uri(
00648         axiom_xml_reader_t * parser,
00649         const axutil_env_t * env);
00650 
00658     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00659     axiom_xml_reader_get_namespace_uri_by_prefix(
00660         axiom_xml_reader_t * parser,
00661         const axutil_env_t * env,
00662         axis2_char_t * prefix);
00663 
00666 #ifdef __cplusplus
00667 }
00668 #endif
00669 
00670 #endif                          /* AXIOM_XML_READER_H */
00671 
00672 
00673 
00674 
00675 
00676 
00677 
00678 
00679 
00680 
00681 
00682 
00683 
00684 

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg_8h-source.html0000644000175000017500000004453511172017604024131 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg.h Source File

axis2_msg.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_MSG_H
00020 #define AXIS2_MSG_H
00021 
00036 #include <axutil_param_container.h>
00037 #include <axis2_op.h>
00038 #include <axutil_array_list.h>
00039 #include <axis2_description.h>
00040 #include <axis2_phase_meta.h>
00041 
00043 #define AXIS2_MSG_IN            "in"
00044 
00046 #define AXIS2_MSG_OUT           "out"
00047 
00049 #define AXIS2_MSG_IN_FAULT      "InFaultMessage"
00050 
00052 #define AXIS2_MSG_OUT_FAULT     "OutFaultMessage"
00053 
00054 #ifdef __cplusplus
00055 extern "C"
00056 {
00057 #endif
00058 
00060     typedef struct axis2_msg axis2_msg_t;
00061 
00067     AXIS2_EXTERN axis2_msg_t *AXIS2_CALL
00068     axis2_msg_create(
00069         const axutil_env_t * env);
00070 
00077     AXIS2_EXTERN void AXIS2_CALL
00078     axis2_msg_free(
00079         axis2_msg_t * msg,
00080         const axutil_env_t * env);
00081 
00090     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00091     axis2_msg_add_param(
00092         axis2_msg_t * msg,
00093         const axutil_env_t * env,
00094         axutil_param_t * param);
00095 
00104     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00105     axis2_msg_get_param(
00106         const axis2_msg_t * msg,
00107         const axutil_env_t * env,
00108         const axis2_char_t * name);
00109 
00117     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00118     axis2_msg_get_all_params(
00119         const axis2_msg_t * msg,
00120         const axutil_env_t * env);
00121 
00129     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00130     axis2_msg_is_param_locked(
00131         axis2_msg_t * msg,
00132         const axutil_env_t * env,
00133         const axis2_char_t * param_name);
00134 
00143     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00144     axis2_msg_set_parent(
00145         axis2_msg_t * msg,
00146         const axutil_env_t * env,
00147         axis2_op_t * op);
00148 
00156     AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00157     axis2_msg_get_parent(
00158         const axis2_msg_t * msg,
00159         const axutil_env_t * env);
00160 
00168     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00169     axis2_msg_get_flow(
00170         const axis2_msg_t * msg,
00171         const axutil_env_t * env);
00172 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182     axis2_msg_set_flow(
00183         axis2_msg_t * msg,
00184         const axutil_env_t * env,
00185         axutil_array_list_t * flow);
00186 
00193     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00194     axis2_msg_get_direction(
00195         const axis2_msg_t * msg,
00196         const axutil_env_t * env);
00197 
00205     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00206     axis2_msg_set_direction(
00207         axis2_msg_t * msg,
00208         const axutil_env_t * env,
00209         const axis2_char_t * direction);
00210 
00217     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00218     axis2_msg_get_element_qname(
00219         const axis2_msg_t * msg,
00220         const axutil_env_t * env);
00221 
00230     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00231     axis2_msg_set_element_qname(
00232         axis2_msg_t * msg,
00233         const axutil_env_t * env,
00234         const axutil_qname_t * element_qname);
00235 
00242     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00243     axis2_msg_get_name(
00244         const axis2_msg_t * msg,
00245         const axutil_env_t * env);
00246 
00254     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00255     axis2_msg_set_name(
00256         axis2_msg_t * msg,
00257         const axutil_env_t * env,
00258         const axis2_char_t * name);
00259 
00266     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00267     axis2_msg_get_base(
00268         const axis2_msg_t * msg,
00269         const axutil_env_t * env);
00270 
00278     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00279     axis2_msg_get_param_container(
00280         const axis2_msg_t * msg,
00281         const axutil_env_t * env);
00282 
00289     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00290     axis2_msg_increment_ref(
00291         axis2_msg_t * msg,
00292         const axutil_env_t * env);
00293 
00295 #ifdef __cplusplus
00296 }
00297 #endif
00298 #endif                          /* AXIS2_MSG_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__asymmetric__binding_8h-source.html0000644000175000017500000002156311172017604026740 0ustar00manjulamanjula00000000000000 Axis2/C: rp_asymmetric_binding.h Source File

rp_asymmetric_binding.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ASYMMETRIC_BINDING_H
00019 #define RP_ASYMMETRIC_BINDING_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_symmetric_asymmetric_binding_commons.h>
00028 #include <rp_property.h>
00029 
00030 #ifdef __cplusplus
00031 extern "C"
00032 {
00033 #endif
00034 
00035     typedef struct rp_asymmetric_binding_t rp_asymmetric_binding_t;
00036 
00037     AXIS2_EXTERN rp_asymmetric_binding_t *AXIS2_CALL
00038     rp_asymmetric_binding_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_asymmetric_binding_free(
00043         rp_asymmetric_binding_t * asymmetric_binding,
00044         const axutil_env_t * env);
00045 
00046     AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL
00047     rp_asymmetric_binding_get_symmetric_asymmetric_binding_commons(
00048         rp_asymmetric_binding_t * asymmetric_binding,
00049         const axutil_env_t * env);
00050 
00051     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00052     rp_asymmetric_binding_set_symmetric_asymmetric_binding_commons(
00053         rp_asymmetric_binding_t * asymmetric_binding,
00054         const axutil_env_t * env,
00055         rp_symmetric_asymmetric_binding_commons_t *
00056         symmetric_asymmetric_binding_commons);
00057 
00058     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00059     rp_asymmetric_binding_set_initiator_token(
00060         rp_asymmetric_binding_t * asymmetric_binding,
00061         const axutil_env_t * env,
00062         rp_property_t * initiator_token);
00063 
00064     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00065     rp_asymmetric_binding_get_initiator_token(
00066         rp_asymmetric_binding_t * asymmetric_binding,
00067         const axutil_env_t * env);
00068 
00069     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00070     rp_asymmetric_binding_set_recipient_token(
00071         rp_asymmetric_binding_t * asymmetric_binding,
00072         const axutil_env_t * env,
00073         rp_property_t * recipient_token);
00074 
00075     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00076     rp_asymmetric_binding_get_recipient_token(
00077         rp_asymmetric_binding_t * asymmetric_binding,
00078         const axutil_env_t * env);
00079 
00080     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00081     rp_asymmetric_binding_increment_ref(
00082         rp_asymmetric_binding_t * asymmetric_binding,
00083         const axutil_env_t * env);
00084 
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__endpoint__ref_8h-source.html0000644000175000017500000004613711172017604026156 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_endpoint_ref.h Source File

axis2_endpoint_ref.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_ENDPOINT_REF_H
00020 #define AXIS2_ENDPOINT_REF_H
00021 
00037 #include <axis2_defines.h>
00038 #include <axutil_env.h>
00039 #include <axis2_const.h>
00040 #include <axutil_array_list.h>
00041 #include <axis2_any_content_type.h>
00042 #include <axis2_svc_name.h>
00043 #include <axiom_node.h>
00044 #include <axiom_attribute.h>
00045 
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050 
00052     typedef struct axis2_endpoint_ref axis2_endpoint_ref_t;
00053 
00060     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00061     axis2_endpoint_ref_create(
00062         const axutil_env_t * env,
00063         const axis2_char_t * address);
00064 
00072     void AXIS2_CALL
00073     axis2_endpoint_ref_free_void_arg(
00074         void *endpoint_ref,
00075         const axutil_env_t * env);
00076 
00084     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00085     axis2_endpoint_ref_get_address(
00086         const axis2_endpoint_ref_t * endpoint_ref,
00087         const axutil_env_t * env);
00088 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     axis2_endpoint_ref_set_address(
00099         axis2_endpoint_ref_t * endpoint_ref,
00100         const axutil_env_t * env,
00101         const axis2_char_t * address);
00102 
00111     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00112     axis2_endpoint_ref_get_interface_qname(
00113         const axis2_endpoint_ref_t * endpoint_ref,
00114         const axutil_env_t * env);
00115 
00125     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00126     axis2_endpoint_ref_set_interface_qname(
00127         axis2_endpoint_ref_t * endpoint_ref,
00128         const axutil_env_t * env,
00129         const axutil_qname_t * interface_qname);
00130 
00142     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00143     axis2_endpoint_ref_get_ref_param_list(
00144         const axis2_endpoint_ref_t * endpoint_ref,
00145         const axutil_env_t * env);
00146 
00155     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00156     axis2_endpoint_ref_get_metadata_list(
00157         const axis2_endpoint_ref_t * endpoint_ref,
00158         const axutil_env_t * env);
00159 
00167     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00168     axis2_endpoint_ref_get_ref_attribute_list(
00169         const axis2_endpoint_ref_t * endpoint_ref,
00170         const axutil_env_t * env);
00171 
00179     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00180     axis2_endpoint_ref_get_metadata_attribute_list(
00181         const axis2_endpoint_ref_t * endpoint_ref,
00182         const axutil_env_t * env);
00183 
00192     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00193     axis2_endpoint_ref_get_extension_list(
00194         const axis2_endpoint_ref_t * endpoint_ref,
00195         const axutil_env_t * env);
00196 
00206     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00207     axis2_endpoint_ref_add_ref_param(
00208         axis2_endpoint_ref_t * endpoint_ref,
00209         const axutil_env_t * env,
00210         axiom_node_t * ref_param_node);
00211 
00222     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00223     axis2_endpoint_ref_add_metadata(
00224         axis2_endpoint_ref_t * endpoint_ref,
00225         const axutil_env_t * env,
00226         axiom_node_t * metadata_node);
00227 
00236     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00237     axis2_endpoint_ref_add_ref_attribute(
00238         axis2_endpoint_ref_t * endpoint_ref,
00239         const axutil_env_t * env,
00240         axiom_attribute_t * attr);
00241 
00250     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00251     axis2_endpoint_ref_add_metadata_attribute(
00252         axis2_endpoint_ref_t * endpoint_ref,
00253         const axutil_env_t * env,
00254         axiom_attribute_t * attr);
00255 
00264     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00265     axis2_endpoint_ref_add_extension(
00266         axis2_endpoint_ref_t * endpoint_ref,
00267         const axutil_env_t * env,
00268         axiom_node_t * extension_node);
00269 
00280     AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL
00281     axis2_endpoint_ref_get_svc_name(
00282         const axis2_endpoint_ref_t * endpoint_ref,
00283         const axutil_env_t * env);
00284 
00296     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00297     axis2_endpoint_ref_set_svc_name(
00298         axis2_endpoint_ref_t * endpoint_ref,
00299         const axutil_env_t * env,
00300         axis2_svc_name_t * svc_name);
00301 
00308     AXIS2_EXTERN void AXIS2_CALL
00309     axis2_endpoint_ref_free(
00310         axis2_endpoint_ref_t * endpoint_ref,
00311         const axutil_env_t * env);
00312 
00315 #ifdef __cplusplus
00316 }
00317 #endif
00318 
00319 #endif                          /* AXIS2_ENDPOINT_REF_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__simple__response_8h-source.html0000644000175000017500000006253311172017604030105 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_simple_response.h Source File

axis2_http_simple_response.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_SIMPLE_RESPONSE_H
00020 #define AXIS2_HTTP_SIMPLE_RESPONSE_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axutil_array_list.h>
00037 #include <axis2_http_status_line.h>
00038 #include <axis2_http_header.h>
00039 #include <axutil_stream.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00047     typedef struct axis2_http_simple_response axis2_http_simple_response_t;
00048 
00057     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00058 
00059     axis2_http_simple_response_set_status_line(
00060         struct axis2_http_simple_response *simple_response,
00061         const axutil_env_t * env,
00062         const axis2_char_t * http_ver,
00063         const int status_code,
00064         const axis2_char_t * phrase);
00065 
00070     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00071 
00072     axis2_http_simple_response_get_phrase(
00073         axis2_http_simple_response_t * simple_response,
00074         const axutil_env_t * env);
00075 
00080     AXIS2_EXTERN int AXIS2_CALL
00081     axis2_http_simple_response_get_status_code(
00082         axis2_http_simple_response_t * simple_response,
00083         const axutil_env_t * env);
00084 
00089     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00090 
00091     axis2_http_simple_response_get_http_version(
00092         axis2_http_simple_response_t * simple_response,
00093         const axutil_env_t * env);
00094 
00099     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00100 
00101     axis2_http_simple_response_get_status_line(
00102         axis2_http_simple_response_t * simple_response,
00103         const axutil_env_t * env);
00104 
00110     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00111 
00112     axis2_http_simple_response_contains_header(
00113         axis2_http_simple_response_t * simple_response,
00114         const axutil_env_t * env,
00115         const axis2_char_t * name);
00116 
00121     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00122 
00123     axis2_http_simple_response_get_headers(
00124         axis2_http_simple_response_t * simple_response,
00125         const axutil_env_t * env);
00126 
00131     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00132         axis2_http_simple_response_extract_headers(
00133         axis2_http_simple_response_t * simple_response,
00134         const axutil_env_t * env);
00135 
00141     AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL
00142 
00143     axis2_http_simple_response_get_first_header(
00144         axis2_http_simple_response_t * simple_response,
00145         const axutil_env_t * env,
00146         const axis2_char_t * str);
00147 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155 
00156     axis2_http_simple_response_remove_headers(
00157         axis2_http_simple_response_t * simple_response,
00158         const axutil_env_t * env,
00159         const axis2_char_t * str);
00160 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168 
00169     axis2_http_simple_response_set_header(
00170         axis2_http_simple_response_t * simple_response,
00171         const axutil_env_t * env,
00172         axis2_http_header_t * header);
00173 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182 
00183     axis2_http_simple_response_set_headers(
00184         axis2_http_simple_response_t * simple_response,
00185         const axutil_env_t * env,
00186         axis2_http_header_t ** headers,
00187         axis2_ssize_t array_size);
00188 
00193     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00194 
00195     axis2_http_simple_response_get_charset(
00196         axis2_http_simple_response_t * simple_response,
00197         const axutil_env_t * env);
00198 
00203     AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00204 
00205     axis2_http_simple_response_get_content_length(
00206         axis2_http_simple_response_t * simple_response,
00207         const axutil_env_t * env);
00208 
00213     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00214 
00215     axis2_http_simple_response_get_content_type(
00216         axis2_http_simple_response_t * simple_response,
00217         const axutil_env_t * env);
00218 
00225     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00226 
00227     axis2_http_simple_response_set_body_string(
00228         axis2_http_simple_response_t * simple_response,
00229         const axutil_env_t * env,
00230         axis2_char_t * str);
00231 
00238     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00239 
00240     axis2_http_simple_response_set_body_stream(
00241         axis2_http_simple_response_t * simple_response,
00242         const axutil_env_t * env,
00243         axutil_stream_t * stream);
00244 
00249     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00250 
00251     axis2_http_simple_response_get_body(
00252         axis2_http_simple_response_t * simple_response,
00253         const axutil_env_t * env);
00254 
00260     AXIS2_EXTERN axis2_ssize_t AXIS2_CALL
00261 
00262     axis2_http_simple_response_get_body_bytes(
00263         axis2_http_simple_response_t * simple_response,
00264         const axutil_env_t * env,
00265         axis2_char_t ** buf);
00266 
00272     AXIS2_EXTERN void AXIS2_CALL
00273     axis2_http_simple_response_free(
00274         axis2_http_simple_response_t * simple_response,
00275         const axutil_env_t * env);
00276 
00284     AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL
00285 
00286     axis2_http_simple_response_create(
00287         const axutil_env_t * env,
00288         axis2_http_status_line_t * status_line,
00289         const axis2_http_header_t ** http_headers,
00290         const axis2_ssize_t http_hdr_count,
00291         axutil_stream_t * content);
00292 
00296     AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL
00297 
00298     axis2_http_simple_response_create_default(
00299         const axutil_env_t * env);
00300 
00301     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00302     axis2_http_simple_response_get_mime_parts(
00303         axis2_http_simple_response_t * simple_response,
00304         const axutil_env_t * env);
00305 
00306     AXIS2_EXTERN void AXIS2_CALL
00307     axis2_http_simple_response_set_mime_parts(
00308         axis2_http_simple_response_t * simple_response,
00309         const axutil_env_t * env,
00310         axutil_array_list_t *mime_parts);
00311 
00312     axis2_status_t AXIS2_CALL
00313     axis2_http_simple_response_set_http_version(
00314         axis2_http_simple_response_t * simple_response,
00315         const axutil_env_t * env,
00316         axis2_char_t *http_version);
00317 
00318     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00319     axis2_http_simple_response_get_mtom_sending_callback_name(
00320         axis2_http_simple_response_t * simple_response,
00321         const axutil_env_t * env);
00322 
00323     void AXIS2_EXTERN AXIS2_CALL
00324     axis2_http_simple_response_set_mtom_sending_callback_name(
00325         axis2_http_simple_response_t * simple_response,
00326         const axutil_env_t * env,
00327         axis2_char_t *mtom_sending_callback_name);
00328 
00329 
00330 
00331 
00333 #ifdef __cplusplus
00334 }
00335 #endif
00336 
00337 #endif                          /* AXIS2_HTTP_SIMPLE_RESPONSE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__skeleton_8h.html0000644000175000017500000001241611172017604024674 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_skeleton.h File Reference

axis2_svc_skeleton.h File Reference

#include <axiom_node.h>
#include <axutil_array_list.h>
#include <axis2_msg_ctx.h>

Go to the source code of this file.

Classes

struct  axis2_svc_skeleton_ops
struct  axis2_svc_skeleton

Defines

#define AXIS2_SVC_SKELETON_INIT(svc_skeleton, env)   ((svc_skeleton)->ops->init (svc_skeleton, env))
#define AXIS2_SVC_SKELETON_INIT_WITH_CONF(svc_skeleton, env, conf)   ((svc_skeleton)->ops->init_with_conf (svc_skeleton, env, conf))
#define AXIS2_SVC_SKELETON_FREE(svc_skeleton, env)   ((svc_skeleton)->ops->free (svc_skeleton, env))
#define AXIS2_SVC_SKELETON_INVOKE(svc_skeleton, env, node, msg_ctx)   ((svc_skeleton)->ops->invoke (svc_skeleton, env, node, msg_ctx))
#define AXIS2_SVC_SKELETON_ON_FAULT(svc_skeleton, env, node)   ((svc_skeleton)->ops->on_fault (svc_skeleton, env, node))

Typedefs

typedef struct
axis2_svc_skeleton_ops 
axis2_svc_skeleton_ops_t
typedef struct
axis2_svc_skeleton 
axis2_svc_skeleton_t


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__rampart__config_8h-source.html0000644000175000017500000004573311172017604026071 0ustar00manjulamanjula00000000000000 Axis2/C: rp_rampart_config.h Source File

rp_rampart_config.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_RAMPART_CONFIG_H
00019 #define RP_RAMPART_CONFIG_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_rampart_config_t rp_rampart_config_t;
00034 
00035     AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL
00036     rp_rampart_config_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_rampart_config_free(
00041         rp_rampart_config_t * rampart_config,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00045     rp_rampart_config_get_user(
00046         rp_rampart_config_t * rampart_config,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_rampart_config_set_user(
00051         rp_rampart_config_t * rampart_config,
00052         const axutil_env_t * env,
00053         axis2_char_t * user);
00054 
00055     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00056     rp_rampart_config_get_encryption_user(
00057         rp_rampart_config_t * rampart_config,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_rampart_config_set_encryption_user(
00062         rp_rampart_config_t * rampart_config,
00063         const axutil_env_t * env,
00064         axis2_char_t * encryption_user);
00065 
00066     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00067     rp_rampart_config_get_password_callback_class(
00068         rp_rampart_config_t * rampart_config,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_rampart_config_set_password_callback_class(
00073         rp_rampart_config_t * rampart_config,
00074         const axutil_env_t * env,
00075         axis2_char_t * passwprd_callback_class);
00076 
00077     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00078     rp_rampart_config_get_authenticate_module(
00079         rp_rampart_config_t * rampart_config,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     rp_rampart_config_set_authenticate_module(
00084         rp_rampart_config_t * rampart_config,
00085         const axutil_env_t * env,
00086         axis2_char_t * authenticate_module);
00087 
00088     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00089     rp_rampart_config_get_replay_detector(
00090         rp_rampart_config_t * rampart_config,
00091         const axutil_env_t * env);
00092 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     rp_rampart_config_set_replay_detector(
00095         rp_rampart_config_t * rampart_config,
00096         const axutil_env_t * env,
00097         axis2_char_t * replay_detector);
00098 
00099     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00100     rp_rampart_config_get_sct_provider(
00101         rp_rampart_config_t * rampart_config,
00102         const axutil_env_t * env);
00103 
00104     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00105     rp_rampart_config_set_sct_provider(
00106         rp_rampart_config_t * rampart_config,
00107         const axutil_env_t * env,
00108         axis2_char_t * sct_module);
00109 
00110     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00111     rp_rampart_config_get_password_type(
00112         rp_rampart_config_t * rampart_config,
00113         const axutil_env_t * env);
00114 
00115     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116     rp_rampart_config_set_password_type(
00117         rp_rampart_config_t * rampart_config,
00118         const axutil_env_t * env,
00119         axis2_char_t * password_type);
00120 
00121     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00122     rp_rampart_config_get_private_key_file(
00123         rp_rampart_config_t * rampart_config,
00124         const axutil_env_t * env);
00125 
00126     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00127     rp_rampart_config_set_private_key_file(
00128         rp_rampart_config_t * rampart_config,
00129         const axutil_env_t * env,
00130         axis2_char_t * private_key_file);
00131 
00132     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00133     rp_rampart_config_get_receiver_certificate_file(
00134         rp_rampart_config_t * rampart_config,
00135         const axutil_env_t * env);
00136 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138     rp_rampart_config_set_receiver_certificate_file(
00139         rp_rampart_config_t * rampart_config,
00140         const axutil_env_t * env,
00141         axis2_char_t * receiver_certificate_file);
00142 
00143     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00144     rp_rampart_config_get_certificate_file(
00145         rp_rampart_config_t * rampart_config,
00146         const axutil_env_t * env);
00147 
00148     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149     rp_rampart_config_set_certificate_file(
00150         rp_rampart_config_t * rampart_config,
00151         const axutil_env_t * env,
00152         axis2_char_t * certificate_file);
00153 
00154     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00155     rp_rampart_config_get_time_to_live(
00156         rp_rampart_config_t * rampart_config,
00157         const axutil_env_t * env);
00158 
00159     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00160     rp_rampart_config_set_time_to_live(
00161         rp_rampart_config_t * rampart_config,
00162         const axutil_env_t * env,
00163         axis2_char_t * time_to_live);
00164 
00165     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00166     rp_rampart_config_get_clock_skew_buffer(
00167         rp_rampart_config_t * rampart_config,
00168         const axutil_env_t * env);
00169 
00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171     rp_rampart_config_set_clock_skew_buffer(
00172         rp_rampart_config_t * rampart_config,
00173         const axutil_env_t * env,
00174         axis2_char_t * clock_skew_buffer);
00175 
00176     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00177     rp_rampart_config_get_need_millisecond_precision(
00178         rp_rampart_config_t * rampart_config,
00179         const axutil_env_t * env);
00180 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182     rp_rampart_config_set_need_millisecond_precision(
00183         rp_rampart_config_t * rampart_config,
00184         const axutil_env_t * env,
00185         axis2_char_t * need_millisecond_precision);
00186 
00187     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00188     rp_rampart_config_get_rd_val(
00189         rp_rampart_config_t * rampart_config,
00190         const axutil_env_t * env);
00191 
00192     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00193     rp_rampart_config_set_rd_val(
00194         rp_rampart_config_t * rampart_config,
00195         const axutil_env_t * env,
00196         axis2_char_t * rd_val);
00197 
00198     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00199     rp_rampart_config_increment_ref(
00200         rp_rampart_config_t * rampart_config,
00201         const axutil_env_t * env);
00202 
00203         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00204         rp_rampart_config_set_pkcs12_file(
00205                 rp_rampart_config_t * rampart_config,
00206                 const axutil_env_t *env,
00207                 axis2_char_t * pkcs12_file);
00208 
00209         AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00210         rp_rampart_config_get_pkcs12_file(
00211                 rp_rampart_config_t * rampart_config,
00212                 const axutil_env_t * env);
00213 
00214 #ifdef __cplusplus
00215 }
00216 #endif
00217 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__out__transport__info_8h.html0000644000175000017500000001126611172017604026274 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_out_transport_info.h File Reference

axis2_out_transport_info.h File Reference

axis2 Out Transport Info More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Classes

struct  axis2_out_transport_info_ops
struct  axis2_out_transport_info

Defines

#define AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, env, content_type)   ((out_transport_info->ops)->set_content_type(out_transport_info, env, content_type))
#define AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, env, encoding)   ((out_transport_info->ops)->set_char_encoding(out_transport_info, env, encoding))
#define AXIS2_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)   ((out_transport_info->ops)->free(out_transport_info, env))

Typedefs

typedef struct
axis2_out_transport_info 
axis2_out_transport_info_t
typedef struct
axis2_out_transport_info_ops 
axis2_out_transport_info_ops_t


Detailed Description

axis2 Out Transport Info


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__module__desc_8h-source.html0000644000175000017500000006066411172017604025766 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_module_desc.h Source File

axis2_module_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_MODULE_DESC_H
00020 #define AXIS2_MODULE_DESC_H
00021 
00037 #include <axis2_const.h>
00038 #include <axutil_error.h>
00039 #include <axis2_defines.h>
00040 #include <axutil_env.h>
00041 #include <axutil_allocator.h>
00042 #include <axutil_string.h>
00043 #include <axutil_array_list.h>
00044 #include <axutil_param_container.h>
00045 #include <axis2_flow_container.h>
00046 #include <axutil_param.h>
00047 #include <axis2_op.h>
00048 #include <axis2_conf.h>
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054 
00056     typedef struct axis2_module_desc axis2_module_desc_t;
00057 
00058     struct axis2_op;
00059     struct axis2_conf;
00060 
00067     AXIS2_EXTERN void AXIS2_CALL
00068     axis2_module_desc_free(
00069         axis2_module_desc_t * module_desc,
00070         const axutil_env_t * env);
00071 
00079     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00080     axis2_module_desc_get_in_flow(
00081         const axis2_module_desc_t * module_desc,
00082         const axutil_env_t * env);
00083 
00092     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00093     axis2_module_desc_set_in_flow(
00094         axis2_module_desc_t * module_desc,
00095         const axutil_env_t * env,
00096         axis2_flow_t * in_flow);
00097 
00105     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00106     axis2_module_desc_get_out_flow(
00107         const axis2_module_desc_t * module_desc,
00108         const axutil_env_t * env);
00109 
00118     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00119     axis2_module_desc_set_out_flow(
00120         axis2_module_desc_t * module_desc,
00121         const axutil_env_t * env,
00122         axis2_flow_t * out_flow);
00123 
00131     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00132     axis2_module_desc_get_fault_in_flow(
00133         const axis2_module_desc_t * module_desc,
00134         const axutil_env_t * env);
00135 
00144     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00145     axis2_module_desc_set_fault_in_flow(
00146         axis2_module_desc_t * module_desc,
00147         const axutil_env_t * env,
00148         axis2_flow_t * falut_in_flow);
00149 
00157     AXIS2_EXTERN axis2_flow_t *AXIS2_CALL
00158     axis2_module_desc_get_fault_out_flow(
00159         const axis2_module_desc_t * module_desc,
00160         const axutil_env_t * env);
00161 
00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171     axis2_module_desc_set_fault_out_flow(
00172         axis2_module_desc_t * module_desc,
00173         const axutil_env_t * env,
00174         axis2_flow_t * fault_out_flow);
00175 
00182     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00183     axis2_module_desc_get_qname(
00184         const axis2_module_desc_t * module_desc,
00185         const axutil_env_t * env);
00186 
00194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195     axis2_module_desc_set_qname(
00196         axis2_module_desc_t * module_desc,
00197         const axutil_env_t * env,
00198         const axutil_qname_t * qname);
00199 
00207     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208     axis2_module_desc_add_op(
00209         axis2_module_desc_t * module_desc,
00210         const axutil_env_t * env,
00211         struct axis2_op *op);
00212 
00219     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00220     axis2_module_desc_get_all_ops(
00221         const axis2_module_desc_t * module_desc,
00222         const axutil_env_t * env);
00223 
00231     AXIS2_EXTERN struct axis2_conf *AXIS2_CALL
00232     axis2_module_desc_get_parent(
00233         const axis2_module_desc_t * module_desc,
00234         const axutil_env_t * env);
00235 
00244     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00245     axis2_module_desc_set_parent(
00246         axis2_module_desc_t * module_desc,
00247         const axutil_env_t * env,
00248         struct axis2_conf *parent);
00249 
00257     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00258     axis2_module_desc_add_param(
00259         axis2_module_desc_t * module_desc,
00260         const axutil_env_t * env,
00261         axutil_param_t * param);
00262 
00270     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00271     axis2_module_desc_get_param(
00272         const axis2_module_desc_t * module_desc,
00273         const axutil_env_t * env,
00274         const axis2_char_t * name);
00275 
00282     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00283     axis2_module_desc_get_all_params(
00284         const axis2_module_desc_t * module_desc,
00285         const axutil_env_t * env);
00286 
00294     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00295     axis2_module_desc_is_param_locked(
00296         const axis2_module_desc_t * module_desc,
00297         const axutil_env_t * env,
00298         const axis2_char_t * param_name);
00299 
00306     AXIS2_EXTERN struct axis2_module *AXIS2_CALL
00307     axis2_module_desc_get_module(
00308         const axis2_module_desc_t * module_desc,
00309         const axutil_env_t * env);
00310 
00318     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00319     axis2_module_desc_set_module(
00320         axis2_module_desc_t * module_desc,
00321         const axutil_env_t * env,
00322         struct axis2_module *module);
00323 
00331     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00332     axis2_module_desc_get_param_container(
00333         const axis2_module_desc_t * module_desc,
00334         const axutil_env_t * env);
00335 
00343     AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL
00344     axis2_module_desc_get_flow_container(
00345         const axis2_module_desc_t * module_desc,
00346         const axutil_env_t * env);
00347 
00353     AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00354     axis2_module_desc_create(
00355         const axutil_env_t * env);
00356 
00363     AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL
00364     axis2_module_desc_create_with_qname(
00365         const axutil_env_t * env,
00366         const axutil_qname_t * qname);
00367 
00376     AXIS2_EXTERN void AXIS2_CALL
00377     axis2_module_desc_free_void_arg(
00378         void *module_desc,
00379         const axutil_env_t * env);
00380 
00383 #ifdef __cplusplus
00384 }
00385 #endif
00386 #endif                          /* AXIS2_MODULE_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__recipient__token__builder_8h-source.html0000644000175000017500000001237311172017604030117 0ustar00manjulamanjula00000000000000 Axis2/C: rp_recipient_token_builder.h Source File

rp_recipient_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_RECIPIENT_TOKEN_BUILDER_H
00019 #define RP_RECIPIENT_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_recipient_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__op__ctx_8h-source.html0000644000175000017500000004255111172017604024772 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_op_ctx.h Source File

axis2_op_ctx.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_OP_CTX_H
00020 #define AXIS2_OP_CTX_H
00021 
00040 #include <axis2_defines.h>
00041 #include <axutil_hash.h>
00042 #include <axutil_env.h>
00043 #include <axis2_msg_ctx.h>
00044 #include <axis2_op.h>
00045 
00046 #ifdef __cplusplus
00047 extern "C"
00048 {
00049 #endif
00050 
00052     typedef struct axis2_op_ctx axis2_op_ctx_t;
00053 
00054     struct axis2_svc_ctx;
00055 
00064     AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00065     axis2_op_ctx_create(
00066         const axutil_env_t * env,
00067         struct axis2_op *op,
00068         struct axis2_svc_ctx *svc_ctx);
00069 
00076     AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL
00077     axis2_op_ctx_get_base(
00078         const axis2_op_ctx_t * op_ctx,
00079         const axutil_env_t * env);
00080 
00087     AXIS2_EXTERN void AXIS2_CALL
00088     axis2_op_ctx_free(
00089         struct axis2_op_ctx *op_ctx,
00090         const axutil_env_t * env);
00091 
00100     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00101     axis2_op_ctx_init(
00102         struct axis2_op_ctx *op_ctx,
00103         const axutil_env_t * env,
00104         struct axis2_conf *conf);
00105 
00112     AXIS2_EXTERN struct axis2_op *AXIS2_CALL
00113     axis2_op_ctx_get_op(
00114         const axis2_op_ctx_t * op_ctx,
00115         const axutil_env_t * env);
00116 
00124     AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL
00125     axis2_op_ctx_get_parent(
00126         const axis2_op_ctx_t * op_ctx,
00127         const axutil_env_t * env);
00128 
00137     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00138     axis2_op_ctx_add_msg_ctx(
00139         struct axis2_op_ctx *op_ctx,
00140         const axutil_env_t * env,
00141         axis2_msg_ctx_t * msg_ctx);
00142 
00152     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00153     axis2_op_ctx_get_msg_ctx(
00154         const axis2_op_ctx_t * op_ctx,
00155         const axutil_env_t * env,
00156         const axis2_wsdl_msg_labels_t message_id);
00157 
00166     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00167     axis2_op_ctx_get_is_complete(
00168         const axis2_op_ctx_t * op_ctx,
00169         const axutil_env_t * env);
00170 
00181     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00182     axis2_op_ctx_set_complete(
00183         struct axis2_op_ctx *op_ctx,
00184         const axutil_env_t * env,
00185         axis2_bool_t is_complete);
00186 
00194     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00195     axis2_op_ctx_cleanup(
00196         struct axis2_op_ctx *op_ctx,
00197         const axutil_env_t * env);
00198 
00207     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208     axis2_op_ctx_set_parent(
00209         struct axis2_op_ctx *op_ctx,
00210         const axutil_env_t * env,
00211         struct axis2_svc_ctx *svc_ctx);
00212 
00219     AXIS2_EXTERN axis2_msg_ctx_t **AXIS2_CALL
00220     axis2_op_ctx_get_msg_ctx_map(
00221         const axis2_op_ctx_t * op_ctx,
00222         const axutil_env_t * env);
00223 
00232     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00233     axis2_op_ctx_set_response_written(
00234         axis2_op_ctx_t * op_ctx,
00235         const axutil_env_t * env,
00236         const axis2_bool_t response_written);
00237 
00244     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00245     axis2_op_ctx_get_response_written(
00246         const axis2_op_ctx_t * op_ctx,
00247         const axutil_env_t * env);
00248 
00255     AXIS2_EXTERN void AXIS2_CALL
00256     axis2_op_ctx_destroy_mutex(
00257         struct axis2_op_ctx *op_ctx,
00258         const axutil_env_t * env);
00259 
00268     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00269     axis2_op_ctx_is_in_use(
00270         const axis2_op_ctx_t * op_ctx,
00271         const axutil_env_t * env);
00272 
00282     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00283     axis2_op_ctx_set_in_use(
00284         struct axis2_op_ctx *op_ctx,
00285         const axutil_env_t * env,
00286         axis2_bool_t is_in_use);
00287 
00296     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00297     axis2_op_ctx_increment_ref(
00298         axis2_op_ctx_t * op_ctx,
00299         const axutil_env_t * env);
00300 
00303 #ifdef __cplusplus
00304 }
00305 #endif
00306 
00307 #endif                          /* AXIS2_OP_CTX_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tab_b.gif0000644000175000017500000000004311172017604021033 0ustar00manjulamanjula00000000000000GIF89a€„°Ç,D;axis2c-src-1.6.0/docs/api/html/neethi__policy_8h.html0000644000175000017500000002647311172017604023573 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_policy.h File Reference

neethi_policy.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_operator.h>
#include <neethi_includes.h>
#include <neethi_exactlyone.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_policy_t 
neethi_policy_t

Functions

AXIS2_EXTERN
neethi_policy_t * 
neethi_policy_create (const axutil_env_t *env)
AXIS2_EXTERN void neethi_policy_free (neethi_policy_t *neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
neethi_policy_get_policy_components (neethi_policy_t *neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_policy_add_policy_components (neethi_policy_t *neethi_policy, axutil_array_list_t *arraylist, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_policy_add_operator (neethi_policy_t *neethi_policy, const axutil_env_t *env, neethi_operator_t *op)
AXIS2_EXTERN axis2_bool_t neethi_policy_is_empty (neethi_policy_t *neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
neethi_exactlyone_t * 
neethi_policy_get_exactlyone (neethi_policy_t *normalized_neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
neethi_policy_get_alternatives (neethi_policy_t *neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
neethi_policy_get_name (neethi_policy_t *neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_policy_set_name (neethi_policy_t *neethi_policy, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_char_t * 
neethi_policy_get_id (neethi_policy_t *neethi_policy, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_policy_set_id (neethi_policy_t *neethi_policy, const axutil_env_t *env, axis2_char_t *id)
AXIS2_EXTERN
axiom_node_t * 
neethi_policy_serialize (neethi_policy_t *neethi_policy, axiom_node_t *parent, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_policy_set_root_node (neethi_policy_t *policy, const axutil_env_t *env, axiom_node_t *root_node)
AXIS2_EXTERN
axutil_hash_t
neethi_policy_get_attributes (neethi_policy_t *neethi_policy, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__worker_8h-source.html0000644000175000017500000002374611172017604026053 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_worker.h Source File

axis2_http_worker.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_WORKER_H
00020 #define AXIS2_HTTP_WORKER_H
00021 
00033 #include <axis2_const.h>
00034 #include <axis2_defines.h>
00035 #include <axutil_env.h>
00036 #include <axis2_simple_http_svr_conn.h>
00037 #include <axis2_http_simple_response.h>
00038 #include <axis2_http_simple_request.h>
00039 #include <axis2_conf_ctx.h>
00040 
00041 #ifdef __cplusplus
00042 extern "C"
00043 {
00044 #endif
00045 
00047     typedef struct axis2_http_worker axis2_http_worker_t;
00048 
00055     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00056     axis2_http_worker_process_request(
00057         axis2_http_worker_t * http_worker,
00058         const axutil_env_t * env,
00059         axis2_simple_http_svr_conn_t * svr_conn,
00060         axis2_http_simple_request_t * simple_request);
00061 
00068     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00069     axis2_http_worker_set_svr_port(
00070         axis2_http_worker_t * http_worker,
00071         const axutil_env_t * env,
00072         int port);
00073 
00079     AXIS2_EXTERN void AXIS2_CALL
00080     axis2_http_worker_free(
00081         axis2_http_worker_t * http_worker,
00082         const axutil_env_t * env);
00083 
00088     AXIS2_EXTERN axis2_http_worker_t *AXIS2_CALL
00089     axis2_http_worker_create(
00090         const axutil_env_t * env,
00091         axis2_conf_ctx_t * conf_ctx);
00092 
00093     /*#define AXIS2_HTTP_WORKER_PROCESS_REQUEST(http_worker, env, svr_conn,\
00094                 simple_request) axis2_http_worker_process_request(\
00095                 http_worker, env, svr_conn, simple_request)
00096 
00097     #define AXIS2_HTTP_WORKER_SET_SVR_PORT(http_worker, env, port) \
00098                     axis2_http_worker_set_svr_port(http_worker, env, port)
00099 
00100     #define AXIS2_HTTP_WORKER_FREE(http_worker, env) \
00101                     axis2_http_worker_free(http_worker, env)
00102     */
00103 
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 
00109 #endif                          /* AXIS2_HTTP_WORKER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__out__transport__info_8h-source.html0000644000175000017500000004114411172017604030766 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_out_transport_info.h Source File

axis2_http_out_transport_info.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00020 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_H
00021 
00034 #include <axis2_const.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axis2_http_simple_response.h>
00038 #include <axis2_out_transport_info.h>
00039 
00040 #ifdef __cplusplus
00041 extern "C"
00042 {
00043 #endif
00044 
00046     typedef struct axis2_http_out_transport_info
00047                 axis2_http_out_transport_info_t;
00048 
00049     struct axis2_http_out_transport_info
00050     {
00051         axis2_out_transport_info_t out_transport;
00052         axis2_http_simple_response_t *response;
00053         axis2_char_t *encoding;
00054 
00055         axis2_status_t(
00056             AXIS2_CALL
00057             * set_content_type)(
00058                 axis2_http_out_transport_info_t * info,
00059                 const axutil_env_t * env,
00060                 const axis2_char_t * content_type);
00061 
00062         axis2_status_t(
00063             AXIS2_CALL
00064             * set_char_encoding)(
00065                 axis2_http_out_transport_info_t * info,
00066                 const axutil_env_t * env,
00067                 const axis2_char_t * encoding);
00068 
00069         void(
00070             AXIS2_CALL
00071             * free_function)(
00072                 axis2_http_out_transport_info_t * info,
00073                 const axutil_env_t * env);
00074     };
00075 
00081     AXIS2_EXTERN int AXIS2_CALL
00082 
00083     axis2_http_out_transport_info_set_content_type(
00084         axis2_http_out_transport_info_t * info,
00085         const axutil_env_t * env,
00086         const axis2_char_t * content_type);
00087 
00094     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00095 
00096     axis2_http_out_transport_info_set_char_encoding(
00097         axis2_http_out_transport_info_t * info,
00098         const axutil_env_t * env,
00099         const axis2_char_t * encoding);
00100 
00106     AXIS2_EXTERN void AXIS2_CALL
00107     axis2_http_out_transport_info_free(
00108         axis2_http_out_transport_info_t * out_transport_info,
00109         const axutil_env_t * env);
00110 
00115     AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL
00116 
00117     axis2_http_out_transport_info_create(
00118         const axutil_env_t * env,
00119         axis2_http_simple_response_t * response);
00120 
00128     AXIS2_EXTERN void AXIS2_CALL
00129     axis2_http_out_transport_info_free_void_arg(
00130         void *transport_info,
00131         const axutil_env_t * env);
00132 
00133     AXIS2_EXTERN void AXIS2_CALL
00134 
00135     axis2_http_out_transport_info_set_char_encoding_func(
00136         axis2_http_out_transport_info_t * out_transport_info,
00137         const axutil_env_t * env,
00138         axis2_status_t(AXIS2_CALL
00139                 * set_encoding)
00140         (axis2_http_out_transport_info_t *,
00141                 const axutil_env_t *,
00142                 const axis2_char_t *));
00143 
00144     AXIS2_EXTERN void AXIS2_CALL
00145 
00146     axis2_http_out_transport_info_set_content_type_func(
00147         axis2_http_out_transport_info_t * out_transport_info,
00148         const axutil_env_t * env,
00149         axis2_status_t(AXIS2_CALL
00150                 *
00151                 set_content_type)(axis2_http_out_transport_info_t *,
00152                         const axutil_env_t *,
00153                         const axis2_char_t *));
00154 
00155     AXIS2_EXTERN void AXIS2_CALL
00156     axis2_http_out_transport_info_set_free_func(
00157         axis2_http_out_transport_info_t * out_transport_info,
00158         const axutil_env_t * env,
00159         void(AXIS2_CALL
00160                 * free_function)(axis2_http_out_transport_info_t *,
00161                         const axutil_env_t *));
00162 
00164 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \
00165                env, content_type) axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type)
00166 
00168 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\
00169                env, encoding) axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding)
00170 
00172 #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\
00173                     axis2_http_out_transport_info_free(out_transport_info, env)
00174 
00176 #ifdef __cplusplus
00177 }
00178 #endif
00179 #endif                          /* AXIS2_HTTP_OUT_TRANSPORT_INFO_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__disp_8h-source.html0000644000175000017500000002710711172017604024276 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_disp.h Source File

axis2_disp.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_DISP_H
00020 #define AXIS2_DISP_H
00021 
00039 #include <axis2_defines.h>
00040 #include <axutil_string.h>
00041 #include <axis2_handler.h>
00042 #include <axis2_svc.h>
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00049 #define AXIS2_DISP_NAMESPACE "http://axis.ws.apache.org"
00050 
00052     typedef struct axis2_disp axis2_disp_t;
00053 
00061     AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00062     axis2_disp_get_base(
00063         const axis2_disp_t * disp,
00064         const axutil_env_t * env);
00065 
00073     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00074     axis2_disp_get_name(
00075         const axis2_disp_t * disp,
00076         const axutil_env_t * env);
00077 
00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087     axis2_disp_set_name(
00088         axis2_disp_t * disp,
00089         const axutil_env_t * env,
00090         axutil_string_t * name);
00091 
00098     AXIS2_EXTERN void AXIS2_CALL
00099     axis2_disp_free(
00100         axis2_disp_t * disp,
00101         const axutil_env_t * env);
00102 
00109     AXIS2_EXTERN axis2_disp_t *AXIS2_CALL
00110     axis2_disp_create(
00111         const axutil_env_t * env,
00112         const axutil_string_t * name);
00113 
00114     axis2_status_t AXIS2_CALL
00115     axis2_disp_find_svc_and_op(
00116         struct axis2_handler *handler,
00117         const axutil_env_t * env,
00118         struct axis2_msg_ctx *msg_ctx);
00119 
00126     AXIS2_EXTERN axis2_disp_t *AXIS2_CALL
00127     axis2_addr_disp_create(
00128         const axutil_env_t * env);
00129 
00136     AXIS2_EXTERN axis2_disp_t *AXIS2_CALL
00137     axis2_req_uri_disp_create(
00138         const axutil_env_t * env);
00139 
00146     AXIS2_EXTERN axis2_disp_t *AXIS2_CALL
00147     axis2_rest_disp_create(
00148         const axutil_env_t * env);
00149 
00156     AXIS2_EXTERN axis2_disp_t *AXIS2_CALL
00157     axis2_soap_body_disp_create(
00158         const axutil_env_t * env);
00159 
00166     AXIS2_EXTERN axis2_disp_t *AXIS2_CALL
00167     axis2_soap_action_disp_create(
00168         const axutil_env_t * env);
00169 
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173 
00174 #endif                          /* AXIS2_DISP_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila_8h-source.html0000644000175000017500000007671411172017604024073 0ustar00manjulamanjula00000000000000 Axis2/C: guththila.h Source File

guththila.h

00001  
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_H
00019 #define GUTHTHILA_H
00020 
00021 #include <guththila_defines.h>
00022 #include <guththila_token.h>
00023 #include <guththila_reader.h>
00024 #include <guththila_xml_writer.h>
00025 #include <guththila_attribute.h>
00026 #include <guththila_namespace.h>
00027 #include <guththila_buffer.h>
00028 #include <guththila_stack.h>
00029 #include <guththila_error.h>
00030 
00031 #include <axutil_utils.h>
00032 
00033 /*
00034 All the functions in this library does not check weather the given arguments are NULL.
00035 It is the responsblity of the user to check weather the arguments contain NULL values.
00036 */
00037 EXTERN_C_START()  
00038 
00039 enum guththila_status
00040 {
00041     S_0 = 0, 
00042         S_1, 
00043         S_2, 
00044         S_3
00045 };
00046 
00047 enum guththila_UTF16_endianess
00048 {
00049     None = 1, 
00050         LE, 
00051         BE 
00052 };
00053 
00054 typedef enum guththila_type
00055 {
00056     type_file_name = 0, 
00057         type_memory_buffer, 
00058         type_reader, 
00059         type_io
00060 } guththila_type_t;
00061 
00062 enum guththila_event_types
00063 {
00064     GUTHTHILA_START_DOCUMENT =0, 
00065         GUTHTHILA_END_ELEMENT, 
00066         GUTHTHILA_CHARACTER,
00067     GUTHTHILA_ENTITY_REFERANCE, 
00068         GUTHTHILA_COMMENT,
00069     GUTHTHILA_SPACE, 
00070         GUTHTHILA_START_ELEMENT,
00071     GUTHTHILA_EMPTY_ELEMENT
00072 };
00073 
00074 typedef struct guththila_s
00075 {    
00076     guththila_tok_list_t tokens; /* Token cache */
00077 
00078     guththila_buffer_t buffer;  /* Holding incoming xml string */  
00079 
00080     guththila_reader_t *reader; /* Reading the data */
00081 
00082     guththila_token_t *prefix; /* Prefix of the xml element */
00083 
00084     guththila_token_t *name; /* xml element local name */
00085 
00086     guththila_token_t *value; /* text of a xml element */    
00087 
00088     guththila_stack_t elem; /* elements are put in a stack */
00089 
00090     guththila_stack_t attrib; /* Attributes are put in a stack */
00091 
00092     guththila_stack_t namesp; /* namespaces are put in a stack */    
00093 
00094     int status;
00095 
00096     int guththila_event; /* Current event */
00097 
00098     size_t next;    /* Keep track of the position in the xml string */
00099 
00100     int last_start; /* Keep track of the starting position of the last token */
00101 
00102     guththila_token_t *temp_prefix; /* Temporery location for prefixes */
00103 
00104     guththila_token_t *temp_name;   /* Temporery location for names */
00105     
00106     guththila_token_t *temp_tok;   /* We don't know this until we close it */
00107 } guththila_t;
00108 
00109 /* 
00110  * An element will contain one of these things if it has namespaces 
00111  * */
00112 typedef struct guththila_elem_namesp_s
00113 {
00114     guththila_namespace_t *namesp; /* Array of namespaces */
00115     int no;                        /*Number of namespace in the element */
00116     int size;                      /* Allocated size */
00117 } guththila_elem_namesp_t;
00118 
00119 /*
00120  * Element.
00121  */
00122 typedef struct guththila_element_s
00123 {
00124     guththila_token_t *name;    /* local name */
00125 
00126     guththila_token_t *prefix;  /* prefix */
00127     
00128         int is_namesp;              /* Positive if a namespace is present */
00129 } guththila_element_t;
00130 
00131 /* Initialize the parser */
00132 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00133 guththila_init(guththila_t * m, void *reader, 
00134                            const axutil_env_t * env);
00135 
00136 /* Uninitialize the parser */
00137 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00138 guththila_un_init(guththila_t * m, const axutil_env_t * env);
00139 
00140 /* Still not used */
00141 typedef void(GUTHTHILA_CALL * guththila_error_func)(void *arg, 
00142                                                                                                         const guththila_char_t *msg, 
00143                                                                                                         guththila_error_level level, 
00144                                                                                                         void *locator);
00145 
00146 /* 
00147  * Parse the xml and return an event. If something went wrong it will return -1. 
00148  * The events are of the type guththila_event_types. According to the event 
00149  * user can get the required information using the appriate functions.
00150  * @param g pointer to a guththila_t structure
00151  * @param env the environment
00152  */
00153 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00154 guththila_next(guththila_t * g, const axutil_env_t * env);
00155 
00156 /*
00157  * Return the number of attributes in the current element. 
00158  * @param g pointer to a guththila_t structure
00159  * @param env the environment
00160  */
00161 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00162 guththila_get_attribute_count(guththila_t * g, const axutil_env_t * env);
00163 
00164 /*
00165  * Return the attribute name.
00166  * @param g pointer to a guththila_t structure
00167  * @param att pointer to a attribute
00168  * @param env the environment
00169  */
00170 GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL
00171 guththila_get_attribute_name(guththila_t * g, guththila_attr_t * att, 
00172                                                          const axutil_env_t * env);
00173 
00174 /*
00175  * Return the attribute value.
00176  * @param g pointer to a guththila_t structure
00177  * @param att pointer to a attribute
00178  * @param env the environment
00179  */
00180 GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL  
00181 guththila_get_attribute_value(guththila_t * g, 
00182                                                           guththila_attr_t * att, 
00183                                                           const axutil_env_t * env);
00184 
00185 /*
00186  * Return the attribute prefix.
00187  * @param g pointer to a guththila_t structure
00188  * @param att pointer to a attribute
00189  * @param env the environment
00190  */
00191 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00192 guththila_get_attribute_prefix(guththila_t * g, 
00193                                                            guththila_attr_t * att, 
00194                                                            const axutil_env_t * env);
00195 
00196 /* 
00197  * Return the attribute 
00198  * @param g pointer to a guththila_t structure
00199  * @param env the environment
00200  */
00201 GUTHTHILA_EXPORT guththila_attr_t *GUTHTHILA_CALL  
00202 guththila_get_attribute(guththila_t * g, const axutil_env_t * env);
00203 
00204 /*
00205  * Return the name of the attribute by the attribute bumber. 
00206  * First attribute will be 1.
00207  * @param g pointer to a guththila_t structure
00208  * @param index position of the attribute
00209  * @param env the environment
00210  */
00211 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00212 guththila_get_attribute_name_by_number(guththila_t * g, int index, 
00213                                                                            const axutil_env_t *env);
00214 
00215 /*
00216  * Return the attribute value by number.
00217  * First attribute will be 1.
00218  * @param g pointer to a guththila_t structure
00219  * @param index position of the attribute
00220  * @param env the environment
00221  */
00222 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00223 guththila_get_attribute_value_by_number(guththila_t * g, int index, 
00224                                                                                 const axutil_env_t *env);
00225 
00226 /* 
00227  * Return the prefix of the attribute.
00228  * First attribute will be 1.
00229  * @param g pointer to a guththila_t structure
00230  * @param index position of the attribute
00231  * @param env the environment
00232  */
00233 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00234 guththila_get_attribute_prefix_by_number(guththila_t * g, int index, 
00235                                                                                  const axutil_env_t *env);
00236 
00237 /*
00238  * Return the name of the element.
00239  * @param g pointer to a guththila_t structure
00240  * @param env the environment
00241  */
00242 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00243 guththila_get_name(guththila_t * g, const axutil_env_t * env);
00244 
00245 /*
00246  * Return the prefix of the element.
00247  * @param g pointer to a guththila_t structure
00248  * @param env the environment
00249  */
00250 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00251 guththila_get_prefix(guththila_t * g, const axutil_env_t * env);
00252 
00253 /*
00254  * Return the text of the element.
00255  * @param g pointer to a guththila_t structure
00256  * @param env the environment
00257  */
00258 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00259 guththila_get_value(guththila_t * g, const axutil_env_t * env);
00260 
00261 /*
00262  * Return the namespace of the element.
00263  * @param g pointer to a guththila_t structure
00264  * @param env the environment
00265  */
00266 GUTHTHILA_EXPORT guththila_namespace_t *GUTHTHILA_CALL  
00267 guththila_get_namespace(guththila_t * g, const axutil_env_t * env);
00268 
00269 /*
00270  * Return the number of namespaces in the element.
00271  * @param g pointer to a guththila_t structure
00272  * @param env the environment
00273  */
00274 GUTHTHILA_EXPORT int GUTHTHILA_CALL
00275 guththila_get_namespace_count(guththila_t * g, const axutil_env_t * env);
00276 
00277 /*
00278  * Return the namespace uri of the given namespace.
00279  * @param g pointer to a guththila_t structure
00280  * @param ns pointer to a namespace
00281  * @param env the environment
00282  */
00283 GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL
00284 guththila_get_namespace_uri(guththila_t * g, guththila_namespace_t * ns, 
00285                                                         const axutil_env_t * env);
00286 
00287 /* 
00288  * Return the prefix of the namespace.
00289  * @param g pointer to a guththila_t structure
00290  * @param ns pointer to a namespace
00291  * @param env the environment
00292  */
00293 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00294 guththila_get_namespace_prefix(guththila_t * p, guththila_namespace_t * ns, 
00295                                                            const axutil_env_t * env);
00296 
00297 /*
00298  * Return the prefix of the namespace at the given position.
00299  * First namespace will have the value 1.
00300  * @param g pointer to a guththila_t structure
00301  * @param index position of the namespace
00302  * @param env the environment
00303  */
00304 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00305 guththila_get_namespace_prefix_by_number(guththila_t * g, int index, 
00306                                                                                  const axutil_env_t *env);
00307 
00308 /*
00309  * Get the uri of the namespace at the given position.
00310  * First namespace will have the value 1.
00311  * @param g pointer to a guththila_t structure
00312  * @param index position of the namespace
00313  * @param env the environment
00314  */
00315 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00316 guththila_get_namespace_uri_by_number(guththila_t * g, int index, 
00317                                                                           const axutil_env_t *env);
00318 
00319 /*
00320  * Get the attribute namespace of the attribute at the given position.
00321  * @param g pointer to a guththila_t structure
00322  * @param index position of the namespace
00323  * @param env the environment
00324  */
00325 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00326 guththila_get_attribute_namespace_by_number(guththila_t *g, int index, 
00327                                                                                         const axutil_env_t *env);
00328 
00329 /*
00330  * Get the encoding. at the moment we don't support UNICODE
00331  * @param g pointer to a guththila_t structure
00332  * @param env the environment
00333  */
00334 GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL  
00335 guththila_get_encoding(guththila_t * p, const axutil_env_t * env);
00336 
00337 /* 
00338  * To do. Implement a proper error handling mechanism.
00339  * @param g pointer to a guththila_t structure
00340  * @param env the environment
00341  */
00342 GUTHTHILA_EXPORT void GUTHTHILA_CALL
00343 guththila_set_error_handler(guththila_t * m, guththila_error_func, 
00344                                                         const axutil_env_t * env);
00345 EXTERN_C_END() 
00346 #endif  
00347 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__x509__token__builder_8h-source.html0000644000175000017500000001234211172017604026636 0ustar00manjulamanjula00000000000000 Axis2/C: rp_x509_token_builder.h Source File

rp_x509_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_X509_TOKEN_BUILDER_H
00019 #define RP_X509_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_x509_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__builder_8h.html0000644000175000017500000002511511172017604024734 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_builder.h File Reference

axiom_soap_builder.h File Reference

axiom_soap_builder struct More...

#include <axiom_stax_builder.h>
#include <axiom_soap_envelope.h>
#include <axiom_mime_parser.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_builder 
axiom_soap_builder_t

Functions

AXIS2_EXTERN
axiom_soap_builder_t * 
axiom_soap_builder_create (const axutil_env_t *env, axiom_stax_builder_t *builder, const axis2_char_t *soap_version)
AXIS2_EXTERN void axiom_soap_builder_free (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axiom_soap_builder_get_soap_envelope (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_document_t * 
axiom_soap_builder_get_document (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_next (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_builder_get_document_element (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_set_bool_processing_mandatory_fault_elements (axiom_soap_builder_t *builder, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_set_processing_detail_elements (axiom_soap_builder_t *builder, const axutil_env_t *env, axis2_bool_t value)
AXIS2_EXTERN axis2_bool_t axiom_soap_builder_is_processing_detail_elements (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_builder_get_soap_version (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_process_namespace_data (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_node_t *om_node, axis2_bool_t is_soap_element)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_set_mime_body_parts (axiom_soap_builder_t *builder, const axutil_env_t *env, axutil_hash_t *map)
AXIS2_EXTERN
axutil_hash_t
axiom_soap_builder_get_mime_body_parts (axiom_soap_builder_t *builder, const axutil_env_t *env)
AXIS2_EXTERN void axiom_soap_builder_set_mime_parser (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_mime_parser_t *mime_parser)
AXIS2_EXTERN void axiom_soap_builder_set_callback_function (axiom_soap_builder_t *builder, const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK callback)
AXIS2_EXTERN void axiom_soap_builder_set_callback_ctx (axiom_soap_builder_t *builder, const axutil_env_t *env, void *callback_ctx)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_builder_create_attachments (axiom_soap_builder_t *builder, const axutil_env_t *env, void *user_param, axis2_char_t *callback_name)
AXIS2_EXTERN axis2_bool_t axiom_soap_builder_replace_xop (axiom_soap_builder_t *builder, const axutil_env_t *env, axiom_node_t *om_element_node, axiom_element_t *om_element)


Detailed Description

axiom_soap_builder struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svr__callback_8h.html0000644000175000017500000001142211172017604024617 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svr_callback.h File Reference

axis2_svr_callback.h File Reference

axis Server Callback interface More...

#include <axis2_defines.h>
#include <axis2_const.h>
#include <axis2_msg_ctx.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_svr_callback 
axis2_svr_callback_t

Functions

AXIS2_EXTERN void axis2_svr_callback_free (axis2_svr_callback_t *svr_callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svr_callback_handle_result (axis2_svr_callback_t *svr_callback, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_status_t 
axis2_svr_callback_handle_fault (axis2_svr_callback_t *svr_callback, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_svr_callback_t
axis2_svr_callback_create (const axutil_env_t *env)


Detailed Description

axis Server Callback interface


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__defines_8h-source.html0000644000175000017500000007600611172017604024351 0ustar00manjulamanjula00000000000000 Axis2/C: rp_defines.h Source File

rp_defines.h

00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_DEFINES_H
00019 #define RP_DEFINES_H
00020 
00025 #ifdef __cplusplus
00026 extern "C"
00027 {
00028 #endif
00029 
00030 #define RP_POLICY "Policy"
00031 #define RP_EXACTLY_ONE "ExactlyOne"
00032 #define RP_ALL "All"
00033 
00034 #define RP_SYMMETRIC_BINDING "SymmetricBinding"
00035 #define RP_ASYMMETRIC_BINDING "AsymmetricBinding"
00036 #define RP_TRANSPORT_BINDING "TransportBinding"
00037 
00038 #define RP_SIGNED_SUPPORTING_TOKENS "SignedSupportingTokens"
00039 #define RP_SIGNED_ENDORSING_SUPPORTING_TOKENS "SignedEndorsingSupportingTokens"
00040 #define RP_SUPPORTING_TOKENS "SupportingTokens"
00041 #define RP_ENDORSING_SUPPORTING_TOKENS "EndorsingSupportingTokens"
00042 
00043 #define RP_SIGNED_PARTS "SignedParts"
00044 #define RP_SIGNED_ELEMENTS "SignedElements"
00045 #define RP_ENCRYPTED_PARTS "EncryptedParts"
00046 #define RP_ENCRYPTED_ELEMENTS "EncryptedElements"
00047 #define RP_SIGNED_ITEMS "SignedItems"
00048 #define RP_ENCRYPTED_ITEMS "EncryptedItems"
00049 
00050 #define RP_BODY "Body"
00051 #define RP_HEADER "Header"
00052 #define RP_NAME "Name"
00053 #define RP_NAMESPACE "Namespace"
00054 #define RP_ELEMENT "Element"
00055 #define RP_ATTACHMENTS "Attachments"
00056 
00057 #define RP_XPATH "XPath"
00058 #define RP_XPATH_VERSION "XPathVersion"
00059 
00060 #define RP_WSS10 "Wss10"
00061 #define RP_WSS11 "Wss11"
00062 #define RP_TRUST10 "Trust10"
00063 #define RP_TRUST13 "Trust13"
00064 
00065 #define RP_MUST_SUPPORT_REF_KEY_IDENTIFIER "MustSupportRefKeyIdentifier"
00066 #define RP_MUST_SUPPORT_REF_ISSUER_SERIAL "MustSupportRefIssuerSerial"
00067 #define RP_MUST_SUPPORT_REF_EXTERNAL_URI "MustSupportRefExternalURI"
00068 #define RP_MUST_SUPPORT_REF_EMBEDDED_TOKEN "MustSupportRefEmbeddedToken"
00069 #define RP_MUST_SUPPORT_REF_THUMBPRINT "MustSupportRefThumbprint"
00070 #define RP_MUST_SUPPORT_REF_ENCRYPTED_KEY "MustSupportRefEncryptedKey"
00071 #define RP_REQUIRE_SIGNATURE_CONFIRMATION "RequireSignatureConfirmation"
00072 #define RP_MUST_SUPPORT_CLIENT_CHALLENGE "MustSupportClientChallenge"
00073 #define RP_MUST_SUPPORT_SERVER_CHALLENGE "MustSupportServerChallenge"    
00074 #define RP_REQUIRE_CLIENT_ENTROPY "RequireClientEntropy"
00075 #define RP_REQUIRE_SERVER_ENTROPHY "RequireServerEntropy"    
00076 #define RP_MUST_SUPPORT_ISSUED_TOKENS "MustSupportIssuedTokens"    
00077 
00078 #define RP_PROTECTION_TOKEN "ProtectionToken"
00079 #define RP_ENCRYPTION_TOKEN "EncryptionToken"
00080 #define RP_SIGNATURE_TOKEN "SignatureToken"
00081 #define RP_INITIATOR_TOKEN "InitiatorToken"
00082 #define RP_RECIPIENT_TOKEN "RecipientToken"
00083 #define RP_TRANSPORT_TOKEN "TransportToken"
00084 
00085 #define RP_ALGORITHM_SUITE "AlgorithmSuite"
00086 #define RP_LAYOUT "Layout"
00087 #define RP_INCLUDE_TIMESTAMP "IncludeTimestamp"
00088 #define RP_ENCRYPT_BEFORE_SIGNING "EncryptBeforeSigning"
00089 #define RP_SIGN_BEFORE_ENCRYPTING "SignBeforeEncrypting"
00090 #define RP_ENCRYPT_SIGNATURE "EncryptSignature"
00091 #define RP_PROTECT_TOKENS "ProtectTokens"
00092 #define RP_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY "OnlySignEntireHeadersAndBody"
00093 
00094 #define RP_ALGO_SUITE_BASIC256 "Basic256"
00095 #define RP_ALGO_SUITE_BASIC192 "Basic192"
00096 #define RP_ALGO_SUITE_BASIC128 "Basic128"
00097 #define RP_ALGO_SUITE_TRIPLE_DES "TripleDes"
00098 #define RP_ALGO_SUITE_BASIC256_RSA15 "Basic256Rsa15"
00099 #define RP_ALGO_SUITE_BASIC192_RSA15 "Basic192Rsa15"
00100 #define RP_ALGO_SUITE_BASIC128_RSA15 "Basic128Rsa15"
00101 #define RP_ALGO_SUITE_TRIPLE_DES_RSA15 "TripleDesRsa15"
00102 #define RP_ALGO_SUITE_BASIC256_SHA256 "Basic256Sha256"
00103 #define RP_ALGO_SUITE_BASIC192_SHA256 "Basic192Sha256"
00104 #define RP_ALGO_SUITE_BASIC128_SHA256 "Basic128Sha256"
00105 #define RP_ALGO_SUITE_TRIPLE_DES_SHA256 "TripleDesSha256"
00106 #define RP_ALGO_SUITE_BASIC256_SHA256_RSA15 "Basic256Sha256Rsa15"
00107 #define RP_ALGO_SUITE_BASIC192_SHA256_RSA15 "Basic192Sha256Rsa15"
00108 #define RP_ALGO_SUITE_BASIC128_SHA256_RSA15 "Basic128Sha256Rsa15"
00109 #define RP_ALGO_SUITE_TRIPLE_DES_SHA256_RSA15 "TripleDesSha256Rsa15"
00110 
00111 #define RP_HMAC_SHA1 "http://www.w3.org/2000/09/xmldsig#hmac-sha1"
00112 #define RP_RSA_SHA1 "http://www.w3.org/2000/09/xmldsig#rsa-sha1"
00113 #define RP_SHA1 "http://www.w3.org/2000/09/xmldsig#sha1"
00114 #define RP_SHA256 "http://www.w3.org/2001/04/xmlenc#sha256"
00115 #define RP_SHA512 "http://www.w3.org/2001/04/xmlenc#sha512"
00116 #define RP_AES128 "http://www.w3.org/2001/04/xmlenc#aes128-cbc"
00117 #define RP_AES192 "http://www.w3.org/2001/04/xmlenc#aes192-cbc"
00118 #define RP_AES256 "http://www.w3.org/2001/04/xmlenc#aes256-cbc"
00119 #define RP_TRIPLE_DES "http://www.w3.org/2001/04/xmlenc#tripledes-cbc"
00120 #define RP_KW_AES128 "http://www.w3.org/2001/04/xmlenc#kw-aes256"
00121 #define RP_KW_AES192 "http://www.w3.org/2001/04/xmlenc#kw-aes192"
00122 #define RP_KW_AES256 "http://www.w3.org/2001/04/xmlenc#kw-aes128"
00123 #define RP_KW_TRIPLE_DES "http://www.w3.org/2001/04/xmlenc#kw-tripledes"
00124 #define RP_KW_RSA_OAEP "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
00125 #define RP_KW_RSA15 "http://www.w3.org/2001/04/xmlenc#rsa-1_5"
00126 #define RP_P_SHA1 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
00127 #define RP_P_SHA1_L128 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
00128 #define RP_P_SHA1_L192 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
00129 #define RP_P_SHA1_L256  "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
00130 #define RP_X_PATH "http://www.w3.org/TR/1999/REC-xpath-19991116"
00131 #define RP_XPATH20 "http://www.w3.org/2002/06/xmldsig-filter2"
00132 #define RP_C14N "http://www.w3.org/2001/10/xml-c14n#"
00133 #define RP_EX_C14N "http://www.w3.org/2001/10/xml-exc-c14n#"
00134 #define RP_SNT "http://www.w3.org/TR/soap12-n11n"
00135 #define RP_STRT10 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform"
00136 #define RP_INCLUSIVE_C14N "InclusiveC14N"
00137 #define RP_SOAP_NORMALIZATION_10 "SoapNormalization10"
00138 #define RP_STR_TRANSFORM_10 "STRTransform10"
00139 #define RP_XPATH10 "XPath10"
00140 #define RP_XPATH_FILTER20 "XPathFilter20"
00141 
00142 #define RP_LAYOUT_STRICT "Strict"
00143 #define RP_LAYOUT_LAX "Lax"
00144 #define RP_LAYOUT_LAX_TIMESTAMP_FIRST "LaxTimestampFirst"
00145 #define RP_LAYOUT_LAX_TIMESTAMP_LAST "LaxTimestampLast"
00146 
00147 #define RP_USERNAME_TOKEN "UsernameToken"
00148 #define RP_X509_TOKEN "X509Token"
00149 #define RP_SAML_TOKEN "SamlToken"
00150 #define RP_ISSUED_TOKEN "IssuedToken"
00151 #define RP_SECURITY_CONTEXT_TOKEN "SecurityContextToken"
00152 #define RP_SECURE_CONVERSATION_TOKEN "SecureConversationToken"
00153 #define RP_HTTPS_TOKEN "HttpsToken"
00154 
00155 #define RP_INCLUDE_TOKEN "IncludeToken"
00156 #define RP_INCLUDE_ALWAYS "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"
00157 #define RP_INCLUDE_NEVER "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"
00158 #define RP_INCLUDE_ONCE "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once"
00159 #define RP_INCLUDE_ALWAYS_TO_RECIPIENT "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"
00160 #define RP_INCLUDE_NEVER_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never"
00161 #define RP_INCLUDE_ONCE_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once"
00162 #define RP_INCLUDE_ALWAYS_TO_RECIPIENT_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"
00163 #define RP_INCLUDE_ALWAYS_TO_INITIATOR_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToInitiator"
00164 #define RP_INCLUDE_ALWAYS_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always"
00165 
00166 #define RP_REQUEST_SEC_TOKEN_TEMPLATE "RequestSecurityTokenTemplate"
00167     
00168 #define RP_REQUIRE_KEY_IDENTIFIRE_REFERENCE "RequireKeyIdentifierReference"
00169 #define RP_REQUIRE_ISSUER_SERIAL_REFERENCE "RequireIssuerSerialReference"
00170 #define RP_REQUIRE_EMBEDDED_TOKEN_REFERENCE "RequireEmbeddedTokenReference"
00171 #define RP_REQUIRE_THUMBPRINT_REFERENCE "RequireThumbprintReference"
00172 #define RP_REQUIRE_DERIVED_KEYS "RequireDerivedKeys"
00173 #define RP_REQUIRE_EXTERNAL_REFERENCE "RequireExternalReference"
00174 #define RP_REQUIRE_INTERNAL_REFERENCE "RequireInternalReference"
00175 #define RP_WSS_X509_V1_TOKEN_10 "WssX509V1Token10"
00176 #define RP_WSS_X509_V3_TOKEN_10 "WssX509V3Token10"
00177 #define RP_WSS_X509_PKCS7_TOKEN_10 "WssX509Pkcs7Token10"
00178 #define RP_WSS_X509_PKI_PATH_V1_TOKEN_10 "WssX509PkiPathV1Token10"
00179 #define RP_WSS_X509_V1_TOKEN_11 "WssX509V1Token11"
00180 #define RP_WSS_X509_V3_TOKEN_11 "WssX509V3Token11"
00181 #define RP_WSS_X509_PKCS7_TOKEN_11 "WssX509Pkcs7Token11"
00182 #define RP_WSS_X509_PKI_PATH_V1_TOKEN_11 "WssX509PkiPathV1Token11"
00183     
00184 #define RP_WSS_USERNAME_TOKEN_10 "WssUsernameToken10"
00185 #define RP_WSS_USERNAME_TOKEN_11 "WssUsernameToken11"
00186     
00187 #define RP_WSS_SAML_V10_TOKEN_V10 "WssSamlV10Token10"
00188 #define RP_WSS_SAML_V11_TOKEN_V10 "WssSamlV11Token10"
00189 #define RP_WSS_SAML_V10_TOKEN_V11 "WssSamlV10Token11"
00190 #define RP_WSS_SAML_V11_TOKEN_V11 "WssSamlV11Token11"
00191 #define RP_WSS_SAML_V20_TOKEN_V11 "WssSamlV20Token11"
00192 
00193 #define RP_REQUIRE_EXTERNAL_URI_REFERENCE "RequireExternalUriReference"
00194 #define RP_SC10_SECURITY_CONTEXT_TOKEN "SC10SecurityContextToken"
00195 #define RP_SC13_SECURITY_CONTEXT_TOKEN "SC13SecurityContextToken"
00196 #define RP_BOOTSTRAP_POLICY "BootstrapPolicy"
00197 #define RP_ISSUER "Issuer"
00198 
00199 #define RP_REQUIRE_CLIENT_CERTIFICATE "RequireClientCertificate"
00200 
00201 #define RP_RAMPART_CONFIG "RampartConfig"
00202 #define RP_USER "User"
00203 #define RP_ENCRYPTION_USER "EncryptionUser"
00204 #define RP_PASSWORD_CALLBACK_CLASS "PasswordCallbackClass"
00205 #define RP_AUTHN_MODULE_NAME "AuthnModuleName"
00206 #define RP_PASSWORD_TYPE "PasswordType"
00207 #define RP_PLAINTEXT "plainText"
00208 #define RP_DIGEST "Digest"
00209 #define RP_RECEIVER_CERTIFICATE "ReceiverCertificate"
00210 #define RP_CERTIFICATE "Certificate"
00211 #define RP_PRIVATE_KEY "PrivateKey"
00212 #define RP_PKCS12_KEY_STORE "PKCS12KeyStore"
00213 #define RP_TIME_TO_LIVE "TimeToLive"
00214 #define RP_CLOCK_SKEW_BUFFER "ClockSkewBuffer"
00215 #define RP_NEED_MILLISECOND_PRECISION "PrecisionInMilliseconds"
00216 #define RP_RD "ReplayDetection"
00217 #define RP_RD_MODULE "ReplayDetectionModule"
00218 #define RP_SCT_MODULE "SecurityContextTokenProvider"
00219 
00220 #define RP_SP_NS_11 "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
00221 #define RP_SP_NS_12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
00222 #define RP_SECURITY_NS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
00223 #define RP_POLICY_NS "http://schemas.xmlsoap.org/ws/2004/09/policy"
00224 #define RP_RAMPART_NS "http://ws.apache.org/rampart/c/policy"
00225 #define RP_POLICY_PREFIX "wsp"
00226 #define RP_RAMPART_PREFIX "rampc"
00227 #define RP_SP_PREFIX "sp"
00228 
00229 #ifdef __cplusplus
00230 }
00231 #endif
00232 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tcpmon__entry_8h.html0000644000175000017500000002241611172017604023452 0ustar00manjulamanjula00000000000000 Axis2/C: tcpmon_entry.h File Reference

tcpmon_entry.h File Reference

represent entry of tcpmon More...

#include <axutil_env.h>
#include <axutil_string.h>

Go to the source code of this file.

Classes

struct  tcpmon_entry_ops
struct  tcpmon_entry

Defines

#define TCPMON_ENTRY_FREE(entry, env)   ((entry)->ops->free (entry, env))
#define TCPMON_ENTRY_ARRIVED_TIME(entry, env)   ((entry)->ops->arrived_time(entry, env))
#define TCPMON_ENTRY_SENT_TIME(entry, env)   ((entry)->ops->sent_time(entry, env))
#define TCPMON_ENTRY_TIME_DIFF(entry, env)   ((entry)->ops->time_diff(entry, env))
#define TCPMON_ENTRY_SENT_DATA(entry, env)   ((entry)->ops->sent_data(entry, env))
#define TCPMON_ENTRY_ARRIVED_DATA(entry, env)   ((entry)->ops->arrived_data(entry, env))
#define TCPMON_ENTRY_SENT_HEADERS(entry, env)   ((entry)->ops->sent_headers(entry, env))
#define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)   ((entry)->ops->arrived_headers(entry, env))
#define TCPMON_ENTRY_IS_SUCCESS(entry, env)   ((entry)->ops->is_success(entry, env))
#define TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit)   ((entry)->ops->set_format_bit(entry, env, format_bit))
#define TCPMON_ENTRY_GET_FORMAT_BIT(entry, env)   ((entry)->ops->get_format_bit(entry, env))
#define TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env)   ((entry)->ops->get_sent_data_length(entry, env))
#define TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env)   ((entry)->ops->get_arrived_data_length(entry, env))

Typedefs

typedef struct
tcpmon_entry_ops 
tcpmon_entry_ops_t
typedef struct
tcpmon_entry 
tcpmon_entry_t

Functions

tcpmon_entry_t * tcpmon_entry_create (const axutil_env_t *env)


Detailed Description

represent entry of tcpmon


Generated on Thu Apr 16 11:31:22 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tab_l.gif0000644000175000017500000000130211172017604021044 0ustar00manjulamanjula00000000000000GIF89a ,Õö÷ùñô÷öøúüýþúûüùúûøùúêïóïóöÆÕßÒÞæØâéÞçíÝæìåìñèîòô÷ùóöø³ÈÕÁÒÝËÙâÏÜäÖá薴ŹɯÂÍ»ÎÙÃÔÞÂÓÝÈ×àÌÚâÕáèÙäê×âèåìðëðó„°ÇÑÞåÜæëãëïëñôîóõ÷úûûüüÿÿÿþþþ, ,ÿ@–P±É`H$!%CqVe2X­ŠÌJ(“Ä +€˜3 2$ÀÆ ¼kvŠä-Ëçõu*…"}ã|}|~q(" $f„ 'Žl(Œ&&$r‘™ › & ! )¢¤›{¨£¥r­ª°©¯„±¯¬´¦·»º³®«§¾¶ÃÂÀ¿²¹ÇÄËÆ²ÌÉεҽͼ„ÔÈÓ×иÙÝÕÏÙÊâÜßãçæê¾äÛÅëÇíáîÖìéïøñ÷õüÑðåùü¤Pß?‚ƒœÇÛBm åAœÎáÀ†%V܈î!Çk÷Ø/áÄ;^¤¨²$Æ–#Mf)f͇(WÎL‰“æKçÒ„° ’I)L:eD ¡Cµ´x*4 U¨h  %A«£^ÁNKb¬Ùe§X±‚´k»x!ÁÖí—2tÝÖ !¯š5tÛæé—À]$¬´%ƒXíâ.i[¬]Y­•ÊfžEëõkg`µ††:zëçÒž;£}ºµj×aa‹–Mš¶é׸cçž½»vïÛºƒóî›8ðáÈ‹'?®¼9óç©G_>Ýyuè¬_ßž]zwêß­‡Ç¾º¼mîæµG~½ûôÞთ/ž>ùööÙ«Ïÿ¿ÿýÿÅà|ÖWà}v;axis2c-src-1.6.0/docs/api/html/axis2__rm__assertion_8h-source.html0000644000175000017500000005404311172017604026202 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_rm_assertion.h Source File

axis2_rm_assertion.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 
00020 #ifndef AXIS2_RM_ASSERTION_H
00021 #define AXIS2_RM_ASSERTION_H
00022 
00028 #include <neethi_includes.h>
00029 #include <neethi_policy.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axis2_rm_assertion_t axis2_rm_assertion_t;
00037 
00038 
00039     AXIS2_EXTERN axis2_rm_assertion_t *AXIS2_CALL
00040     axis2_rm_assertion_create(
00041         const axutil_env_t * env);
00042 
00043     AXIS2_EXTERN void AXIS2_CALL
00044     axis2_rm_assertion_free(
00045         axis2_rm_assertion_t * rm_assertion,
00046         const axutil_env_t * env);
00047 
00048     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00049     axis2_rm_assertion_get_is_sequence_str(
00050         axis2_rm_assertion_t *rm_assertion,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00054     axis2_rm_assertion_set_is_sequence_str(
00055         axis2_rm_assertion_t *rm_assertion,
00056         const axutil_env_t * env,
00057         axis2_bool_t is_sequence_str);
00058 
00059     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00060     axis2_rm_assertion_get_is_sequence_transport_security(
00061         axis2_rm_assertion_t *rm_assertion,
00062         const axutil_env_t * env);
00063 
00064     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00065     axis2_rm_assertion_set_is_sequence_transport_security(
00066         axis2_rm_assertion_t *rm_assertion,
00067         const axutil_env_t * env,
00068         axis2_bool_t is_sequence_transport_security);
00069 
00070     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00071     axis2_rm_assertion_get_is_exactly_once(
00072         axis2_rm_assertion_t *rm_assertion,
00073         const axutil_env_t * env);
00074 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axis2_rm_assertion_set_is_exactly_once(
00077         axis2_rm_assertion_t *rm_assertion,
00078         const axutil_env_t * env,
00079         axis2_bool_t is_exactly_once);
00080 
00081     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00082     axis2_rm_assertion_get_is_atleast_once(
00083         axis2_rm_assertion_t *rm_assertion,
00084         const axutil_env_t * env);
00085 
00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087     axis2_rm_assertion_set_is_atleast_once(
00088         axis2_rm_assertion_t *rm_assertion,
00089         const axutil_env_t * env,
00090         axis2_bool_t is_atleast_once);
00091 
00092     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00093     axis2_rm_assertion_get_is_atmost_once(
00094         axis2_rm_assertion_t *rm_assertion,
00095         const axutil_env_t * env);
00096 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     axis2_rm_assertion_set_is_atmost_once(
00099         axis2_rm_assertion_t *rm_assertion,
00100         const axutil_env_t * env,
00101         axis2_bool_t is_atmost_once);
00102 
00103     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00104     axis2_rm_assertion_get_is_inorder(
00105         axis2_rm_assertion_t *rm_assertion,
00106         const axutil_env_t * env);
00107 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     axis2_rm_assertion_set_is_inorder(
00110         axis2_rm_assertion_t *rm_assertion,
00111         const axutil_env_t * env,
00112         axis2_bool_t is_inorder);
00113 
00114     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00115     axis2_rm_assertion_get_inactivity_timeout(
00116         axis2_rm_assertion_t *rm_assertion,
00117         const axutil_env_t * env);
00118 
00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120     axis2_rm_assertion_set_inactivity_timeout(
00121         axis2_rm_assertion_t *rm_assertion,
00122         const axutil_env_t * env,
00123         axis2_char_t* inactivity_timeout);
00124        
00125     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00126     axis2_rm_assertion_get_retrans_interval(
00127         axis2_rm_assertion_t *rm_assertion,
00128         const axutil_env_t * env);
00129 
00130     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131     axis2_rm_assertion_set_retrans_interval(
00132         axis2_rm_assertion_t *rm_assertion,
00133         const axutil_env_t * env,
00134         axis2_char_t* retrans_interval);
00135 
00136     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00137     axis2_rm_assertion_get_ack_interval(
00138         axis2_rm_assertion_t *rm_assertion,
00139         const axutil_env_t * env);
00140 
00141     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00142     axis2_rm_assertion_set_ack_interval(
00143         axis2_rm_assertion_t *rm_assertion,
00144         const axutil_env_t * env,
00145         axis2_char_t* ack_interval);
00146 
00147     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00148     axis2_rm_assertion_get_is_exp_backoff(
00149         axis2_rm_assertion_t *rm_assertion,
00150         const axutil_env_t * env);
00151 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153     axis2_rm_assertion_set_is_exp_backoff(
00154         axis2_rm_assertion_t *rm_assertion,
00155         const axutil_env_t * env,
00156         axis2_bool_t is_exp_backoff);
00157 
00158     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00159     axis2_rm_assertion_get_storage_mgr(
00160         axis2_rm_assertion_t *rm_assertion,
00161         const axutil_env_t * env);
00162 
00163     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164     axis2_rm_assertion_set_storage_mgr(
00165         axis2_rm_assertion_t *rm_assertion,
00166         const axutil_env_t * env,
00167         axis2_char_t* storage_mgr);
00168        
00169     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00170     axis2_rm_assertion_get_message_types_to_drop(
00171         axis2_rm_assertion_t *rm_assertion,
00172         const axutil_env_t * env);
00173 
00174     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00175     axis2_rm_assertion_set_message_types_to_drop(
00176         axis2_rm_assertion_t *rm_assertion,
00177         const axutil_env_t * env,
00178         axis2_char_t* message_types_to_drop);
00179 
00180     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00181     axis2_rm_assertion_get_max_retrans_count(
00182         axis2_rm_assertion_t *rm_assertion,
00183         const axutil_env_t * env);
00184 
00185     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00186     axis2_rm_assertion_set_max_retrans_count(
00187         axis2_rm_assertion_t *rm_assertion,
00188         const axutil_env_t * env,
00189         axis2_char_t* max_retrans_count);
00190 
00191     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00192     axis2_rm_assertion_get_sender_sleep_time(
00193         axis2_rm_assertion_t *rm_assertion,
00194         const axutil_env_t * env);
00195 
00196     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00197     axis2_rm_assertion_set_sender_sleep_time(
00198         axis2_rm_assertion_t *rm_assertion,
00199         const axutil_env_t * env,
00200         axis2_char_t* sender_sleep_time);
00201 
00202     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00203     axis2_rm_assertion_get_invoker_sleep_time(
00204         axis2_rm_assertion_t *rm_assertion,
00205         const axutil_env_t * env);
00206 
00207     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208     axis2_rm_assertion_set_invoker_sleep_time(
00209         axis2_rm_assertion_t *rm_assertion,
00210         const axutil_env_t * env,
00211         axis2_char_t* invoker_sleep_time);
00212        
00213     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00214     axis2_rm_assertion_get_polling_wait_time(
00215         axis2_rm_assertion_t *rm_assertion,
00216         const axutil_env_t * env);
00217 
00218     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00219     axis2_rm_assertion_set_polling_wait_time(
00220         axis2_rm_assertion_t *rm_assertion,
00221         const axutil_env_t * env,
00222         axis2_char_t* polling_wait_time);
00223 
00224     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00225     axis2_rm_assertion_get_terminate_delay(
00226         axis2_rm_assertion_t *rm_assertion,
00227         const axutil_env_t * env);
00228 
00229     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00230     axis2_rm_assertion_set_terminate_delay(
00231         axis2_rm_assertion_t *rm_assertion,
00232         const axutil_env_t * env,
00233         axis2_char_t* terminate_delay);
00234 
00235     AXIS2_EXTERN axis2_char_t* AXIS2_CALL
00236     axis2_rm_assertion_get_sandesha2_db(
00237         axis2_rm_assertion_t *rm_assertion,
00238         const axutil_env_t * env);
00239 
00240     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00241     axis2_rm_assertion_set_sandesha2_db(
00242         axis2_rm_assertion_t *rm_assertion,
00243         const axutil_env_t * env,
00244         axis2_char_t* sandesha2_db);
00245 
00246     AXIS2_EXTERN axis2_rm_assertion_t* AXIS2_CALL
00247         axis2_rm_assertion_get_from_policy(
00248         const axutil_env_t *env,
00249         neethi_policy_t *policy);
00250 
00251 
00252 
00253 #ifdef __cplusplus
00254 }
00255 #endif
00256 #endif

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__registry_8h.html0000644000175000017500000001301611172017604024131 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_registry.h File Reference

neethi_registry.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_includes.h>
#include <neethi_policy.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_registry_t 
neethi_registry_t

Functions

AXIS2_EXTERN
neethi_registry_t * 
neethi_registry_create (const axutil_env_t *env)
AXIS2_EXTERN
neethi_registry_t * 
neethi_registry_create_with_parent (const axutil_env_t *env, neethi_registry_t *parent)
AXIS2_EXTERN void neethi_registry_free (neethi_registry_t *neethi_registry, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_registry_register (neethi_registry_t *neethi_registry, const axutil_env_t *env, axis2_char_t *key, neethi_policy_t *value)
AXIS2_EXTERN
neethi_policy_t * 
neethi_registry_lookup (neethi_registry_t *neethi_registry, const axutil_env_t *env, axis2_char_t *key)


Detailed Description


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__disp_8h.html0000644000175000017500000001772511172017604023005 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_disp.h File Reference

axis2_disp.h File Reference

#include <axis2_defines.h>
#include <axutil_string.h>
#include <axis2_handler.h>
#include <axis2_svc.h>

Go to the source code of this file.

Defines

#define AXIS2_DISP_NAMESPACE   "http://axis.ws.apache.org"

Typedefs

typedef struct axis2_disp axis2_disp_t

Functions

AXIS2_EXTERN
axis2_handler_t
axis2_disp_get_base (const axis2_disp_t *disp, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axis2_disp_get_name (const axis2_disp_t *disp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_disp_set_name (axis2_disp_t *disp, const axutil_env_t *env, axutil_string_t *name)
AXIS2_EXTERN void axis2_disp_free (axis2_disp_t *disp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_disp_create (const axutil_env_t *env, const axutil_string_t *name)
axis2_status_t axis2_disp_find_svc_and_op (struct axis2_handler *handler, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_disp_t
axis2_addr_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_req_uri_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_rest_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_soap_body_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_soap_action_disp_create (const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc__grp.html0000644000175000017500000015523611172017604024624 0ustar00manjulamanjula00000000000000 Axis2/C: service group

service group
[description]


Files

file  axis2_svc_grp.h

Typedefs

typedef struct
axis2_svc_grp 
axis2_svc_grp_t

Functions

AXIS2_EXTERN void axis2_svc_grp_free (axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_set_name (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axis2_char_t *svc_grp_name)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_grp_get_name (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_svc (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc * 
axis2_svc_grp_get_svc (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *svc_qname)
AXIS2_EXTERN
axutil_hash_t
axis2_svc_grp_get_all_svcs (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_remove_svc (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *svc_qname)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_param (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_svc_grp_get_param (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_grp_get_all_params (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_grp_is_param_locked (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_module_qname (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN struct
axis2_conf * 
axis2_svc_grp_get_parent (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_set_parent (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, struct axis2_conf *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_engage_module (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *module_qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_grp_get_all_module_qnames (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_grp_add_module_ref (axis2_svc_grp_t *svc_grp, const axutil_env_t *env, const axutil_qname_t *moduleref)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_grp_get_all_module_refs (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_grp_ctx * 
axis2_svc_grp_get_svc_grp_ctx (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env, struct axis2_conf_ctx *parent)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_svc_grp_get_param_container (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_grp_t
axis2_svc_grp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_grp_t
axis2_svc_grp_create_with_conf (const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN
axis2_desc_t
axis2_svc_grp_get_base (const axis2_svc_grp_t *svc_grp, const axutil_env_t *env)

Detailed Description

service group represents the static structure of a service group in the Axis2 configuration. In Axis2 description hierarchy, a service group lives inside the configuration. service groups are configured in services.xml files located in the respective service group folders of the services folder in the repository. In services.xml file, services groups are declared at top level. A service group can have one or more services associated with it. Sometimes services.xml would not have a service group defined, but only a service. In such cases a service group with the same name as that of the service mentioned in services.xml would be created by the deployment engine and the service would be associated with that newly created service group. The deployment engine would create service group instances to represent those configured service groups in services.xml files and would store them in the configuration. service group encapsulates data on engaged module information and the service associated with service group.

Typedef Documentation

typedef struct axis2_svc_grp axis2_svc_grp_t

Type name for struct axis2_svc_grp


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_svc_grp_add_module_qname ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axutil_qname_t *  module_qname 
)

Adds given module QName to list of module QNames.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
module_name pointer to module QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_add_module_ref ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axutil_qname_t *  moduleref 
)

Adds module reference.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
moduleref pointer to module QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_add_param ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds parameter.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
param pointer to parameter, service group assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_add_svc ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
struct axis2_svc *  svc 
)

Adds given service to service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
service service to be added, service group assumes ownership of service
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_svc_grp_t* axis2_svc_grp_create ( const axutil_env_t env  ) 

Creates a service group struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created service group

AXIS2_EXTERN axis2_svc_grp_t* axis2_svc_grp_create_with_conf ( const axutil_env_t env,
struct axis2_conf *  conf 
)

Creates service group with given configuration as the parent.

Parameters:
env pointer to environment struct
conf pointer to configuration, service group created does not assume ownership of configuration
Returns:
pointer to newly created service group

AXIS2_EXTERN axis2_status_t axis2_svc_grp_engage_module ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axutil_qname_t *  module_qname 
)

Engages named module to service group. Engaging a module to service group would ensure that the same module would be engaged to all services within the group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
module_name pointer to module QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_svc_grp_free ( axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Frees service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_svc_grp_get_all_module_qnames ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Gets all module QNames associated with service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
pointer to array list containing all QNames, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_svc_grp_get_all_module_refs ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Gets all module references.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
pointer to array list containing module reference, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_svc_grp_get_all_params ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Gets all parameters set on service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
pointer to array list containing parameter, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_svc_grp_get_all_svcs ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Gets all services associated with service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
pointer to hash table containing all services, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_desc_t* axis2_svc_grp_get_base ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Gets base description.

Parameters:
svc_grp pointer to message
env pointer to environment struct
Returns:
pointer to base description struct

AXIS2_EXTERN const axis2_char_t* axis2_svc_grp_get_name ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
)

Gets service group name.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
service group name string

AXIS2_EXTERN axutil_param_t* axis2_svc_grp_get_param ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets named parameter.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
name parameter name
Returns:
pointer to named parameter if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_conf* axis2_svc_grp_get_parent ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env 
) [read]

Gets parent which is of type configuration.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
Returns:
pointer to parent configuration, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_svc* axis2_svc_grp_get_svc ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axutil_qname_t *  svc_qname 
) [read]

Gets named service from service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
svc_qname pointer to QName of the service
Returns:
pointer to service corresponding to given QName, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_svc_grp_ctx* axis2_svc_grp_get_svc_grp_ctx ( const axis2_svc_grp_t svc_grp,
const axutil_env_t env,
struct axis2_conf_ctx *  parent 
) [read]

Gets service group context related to this service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
parent pointer to configuration context which is the parent of the context hierarchy
Returns:
pointer to service group context related to this service group, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_svc_grp_is_param_locked ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
param_name pointer to param name
Returns:
AXIS2_TRUE if the named parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_remove_svc ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axutil_qname_t *  svc_qname 
)

Removes named service from service group.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
svc_name pointer to service QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_set_name ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
const axis2_char_t *  svc_grp_name 
)

Sets service group name.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
svc_grp_name service group name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_grp_set_parent ( axis2_svc_grp_t svc_grp,
const axutil_env_t env,
struct axis2_conf *  parent 
)

Sets parent which is of type configuration.

Parameters:
svc_grp pointer to service group struct
env pointer to environment struct
parent parent configuration, service group does not assume the ownership of configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__status__line_8h.html0000644000175000017500000001550711172017604025731 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_status_line.h File Reference

axis2_http_status_line.h File Reference

axis2 HTTP Status Line More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_http_status_line 
axis2_http_status_line_t

Functions

AXIS2_EXTERN int axis2_http_status_line_get_status_code (const axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_status_line_get_http_version (const axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_status_line_get_reason_phrase (const axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_http_status_line_starts_with_http (axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_status_line_to_string (axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_status_line_free (axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_status_line_t
axis2_http_status_line_create (const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN void axis2_http_status_line_set_http_version (axis2_http_status_line_t *status_line, const axutil_env_t *env, axis2_char_t *http_version)


Detailed Description

axis2 HTTP Status Line


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__url_8h.html0000644000175000017500000002752111172017604023123 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_url.h File Reference

axutil_url.h File Reference

axis2 URL container implementation More...

#include <axutil_utils.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_uri.h>

Go to the source code of this file.
typedef struct axutil_url axutil_url_t
AXIS2_EXTERN
axutil_url_t * 
axutil_url_create (const axutil_env_t *env, const axis2_char_t *protocol, const axis2_char_t *host, const int port, const axis2_char_t *path)
AXIS2_EXTERN
axutil_url_t * 
axutil_url_parse_string (const axutil_env_t *env, const axis2_char_t *str_url)
AXIS2_EXTERN
axutil_uri_t * 
axutil_url_to_uri (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_to_external_form (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_protocol (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *protocol)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_protocol (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_host (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *host)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_host (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_server (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *server)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_server (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_port (axutil_url_t *url, const axutil_env_t *env, int port)
AXIS2_EXTERN int axutil_url_get_port (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_url_set_path (axutil_url_t *url, const axutil_env_t *env, axis2_char_t *path)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_path (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axutil_url_t * 
axutil_url_clone (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN void axutil_url_free (axutil_url_t *url, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_encode (const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *buff, int len)
AXIS2_EXTERN
axis2_char_t * 
axutil_url_get_query (axutil_url_t *url, const axutil_env_t *env)


Detailed Description

axis2 URL container implementation


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/tab_r.gif0000644000175000017500000000503111172017604021055 0ustar00manjulamanjula00000000000000GIF89a,Õö÷ùñô÷öøúüýþúûüùúûøùúêïóïóöÆÕßÒÞæØâéÞçíÝæìåìñèîòô÷ùóöø³ÈÕÁÒÝËÙâÏÜäÖá薴ŹɯÂÍ»ÎÙÃÔÞÂÓÝÈ×àÌÚâÕáèÙäê×âèåìðëðó„°ÇÑÞåÜæëãëïëñôîóõ÷úûûüüÿÿÿþþþ,,ÿ@’pH,ȤrÉl:ŸÐ¨tJ­Z¯Ø¬v •h<¬pkL.›Ïè´zÍn»ßð¸|N¯Ûïø¼~ÏwVa+‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ “*)^,*ª«¬­®¯°±²³´µ¶·¸¹º»¼½¾¿ÀÁÂö)'ÆÎÏÐÑÒÓÔÕÖרÙÚÛÜÝÞßàáâãäåæÚ¥(" ðñòóôõö÷øùúûüýþÿ H° ÁƒòK"ƒRHœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\éÅu&@€ Á²¦Í›8sêÜɳ§Oÿ–(±€DУH“*]Ê´©Ó§P£JJµªÕ«X³jÝʵ«×¯S84± ‰hÓª]˶­Û·pãÊK·®Ý»xóêÝË·¯ß¿€Ó} âDÌf(^̸±ãÇ#KžL¹²å˘3kÞ̹³çÏ C‹m¹ðCÄHœXͺµë×°cËžM»¶íÛ¸sëÞÍ»·ïßÀƒ N÷ÃJ” Á®¹óçУKŸN½ºõëØ³kßν»÷ïàËO¾úñ€ dÇ@€‚‚L¤"ÉÈF:ò‘Œ¤$9† (8…&ÉÉNzò“  ¥(G©FB^²!˨)WÉÊVºò•°l¤)1™ wÄò–¸Ì¥.wÊYºäƒà¥0‡IÌbó¾|ÉHpÌf:ó™Ðìe pJ±ˆ€}Ȧ6·ÉÍnzó›à §8û0Â%"¸æ8×ÉÎvºóðŒ§<ÉPÎQ`ò%×$€>÷ÉÏ~úóŸ ¨@JЂô M¨BÊІ:ô¡¨D'ZPKF Ö¼&16ÊÑŽzô£ ©HGJRb ÷Lç5ÏÁÒ–ºô¥ÿ0©LgJÓšš#(e>¯‰Óžúô§@ ªP‡JÔ¢õ¨HMªR—ÊÔ¦:õ©PªT§JÕª&5;%U·ÊÕ®zõ«` «XÇJV«ÂC§‹ÑjY×ÊÖ¶ºõ­p«\ŠU´À¦xÍ«^÷Ê×¾úõ¯ÐÀi)$‚”ô°ˆM¬bËØÆ:vˆ, ಘͬf7ËÙÎzö³  ­hGKÚÒšö´¨M­jWËÚÖºöµ°­*$ÛSPô¶¸Í­nwËÛÞúö·ÀÅm +„â¸ÈM®r—ËÜæ:÷¹ÐE®?±9ÏêZ÷ºØÍ®v¿9€î"‚ºÛ ¯xÇKÞòb—™ÑLÿ¯z×Ë^A¢·½ð¯|ç†÷Ò÷¾øÍ¯0í«ßþú÷¿¡ä/€Là»×ÀN°‚ï(à;øÁ n0„'LaýJ¸ÂÎ0{/¬á{ؘþ°ˆG|Ë“øÄ(¥‰SÌâCrÅ.ޱŒ ãÛøÆv¬1ŽwÌc6ê¸Ç@ÞñƒLd¹ÈHNñ‘“Ìd/¹ÉPÎð“£LeO¹ÊXŽp–·|â+sùËýõ2˜ÇL_1“ùÌí53š×M5³ùÍÇt3œç¼_:ÛÙÂwÎs™õÌgøÊ¹Ï€p ýÌ?úÐ/F´¢ë¼èFãÒÐŽŽt!-éJã‘Ò–Îô1­éN»‘ÓžuÿA-êP“ºÔ>5ª3­êUWºÕ®Ž4¬cÝèYÓZѶ¾õ¡s­ëAóº×€þ5°ù,ìaç¹ØÆ¶3²“=çe3ûÍÎ~öš£-í3S»Úc¾6¶¿¬ímo¹ÛÞÆ2¸ÃMåq“Êæ>7“Ó­n$³»ÝD~7¼,ïyó¸ÞöÆ1¾ómã}óÛÈÿvµ¿Þâ\É/µÁNâ…3ÜÉ÷´Ã#Þá‰S\ÊguÆ-mñO¸ã0ÈC¾à‘“\Ë'_´ÉS^à•³|À.ùc.ó0לÐ4¿9~s®ó=÷¼Ï<ÿy|ƒ.ô4]ÏD?ºz“®ô67]ÙO§3Ó£ÞÌ©SÄW‡vÖÙl>õ­3Úëdî:Øu)ö±?ÚìÙF;˜Ë®öW²½í­|;ÜW)÷¹²îvtÞ˽w¾÷Ý|à×=xÂÞÝA;axis2c-src-1.6.0/docs/api/html/group__axutil__string__utils.html0000644000175000017500000006316411172017604026165 0ustar00manjulamanjula00000000000000 Axis2/C: string_utils

string_utils
[utilities]


Functions

AXIS2_EXTERN void * axutil_strdup (const axutil_env_t *env, const void *ptr)
AXIS2_EXTERN void * axutil_strndup (const axutil_env_t *env, const void *ptr, int n)
AXIS2_EXTERN void * axutil_strmemdup (const void *ptr, size_t n, const axutil_env_t *env)
AXIS2_EXTERN void * axutil_memchr (const void *ptr, int c, size_t n)
AXIS2_EXTERN int axutil_strcmp (const axis2_char_t *s1, const axis2_char_t *s2)
AXIS2_EXTERN int axutil_strncmp (const axis2_char_t *s1, const axis2_char_t *s2, int n)
AXIS2_EXTERN
axis2_ssize_t 
axutil_strlen (const axis2_char_t *s)
AXIS2_EXTERN int axutil_strcasecmp (const axis2_char_t *s1, const axis2_char_t *s2)
AXIS2_EXTERN int axutil_strncasecmp (const axis2_char_t *s1, const axis2_char_t *s2, const int n)
AXIS2_EXTERN
axis2_char_t * 
axutil_stracat (const axutil_env_t *env, const axis2_char_t *s1, const axis2_char_t *s2)
AXIS2_EXTERN
axis2_char_t * 
axutil_strcat (const axutil_env_t *env,...)
AXIS2_EXTERN
axis2_char_t * 
axutil_strstr (const axis2_char_t *heystack, const axis2_char_t *needle)
AXIS2_EXTERN
axis2_char_t * 
axutil_strchr (const axis2_char_t *s, axis2_char_t ch)
AXIS2_EXTERN
axis2_char_t * 
axutil_rindex (const axis2_char_t *s, axis2_char_t c)
AXIS2_EXTERN
axis2_char_t * 
axutil_replace (const axutil_env_t *env, axis2_char_t *str, int s1, int s2)
AXIS2_EXTERN
axis2_char_t * 
axutil_strltrim (const axutil_env_t *env, const axis2_char_t *_s, const axis2_char_t *_trim)
AXIS2_EXTERN
axis2_char_t * 
axutil_strrtrim (const axutil_env_t *env, const axis2_char_t *_s, const axis2_char_t *_trim)
AXIS2_EXTERN
axis2_char_t * 
axutil_strtrim (const axutil_env_t *env, const axis2_char_t *_s, const axis2_char_t *_trim)
AXIS2_EXTERN
axis2_char_t * 
axutil_string_replace (axis2_char_t *str, axis2_char_t old_char, axis2_char_t new_char)
AXIS2_EXTERN
axis2_char_t * 
axutil_string_substring_starting_at (axis2_char_t *str, int s)
AXIS2_EXTERN
axis2_char_t * 
axutil_string_substring_ending_at (axis2_char_t *str, int e)
AXIS2_EXTERN
axis2_char_t * 
axutil_string_tolower (axis2_char_t *str)
AXIS2_EXTERN
axis2_char_t * 
axutil_string_toupper (axis2_char_t *str)
AXIS2_EXTERN
axis2_char_t * 
axutil_strcasestr (const axis2_char_t *heystack, const axis2_char_t *needle)

Function Documentation

AXIS2_EXTERN axis2_char_t* axutil_strcasestr ( const axis2_char_t *  heystack,
const axis2_char_t *  needle 
)

Finds the first occurrence of the substring needle in the string haystack, ignores the case of both arguments.

Parameters:
haystack string in which the given string is to be found
needle string to be found in haystack
Returns:
pointer to the beginning of the substring, or NULL if the substring is not found

AXIS2_EXTERN axis2_char_t* axutil_strcat ( const axutil_env_t env,
  ... 
)

Concatenate multiple strings, allocating memory

Parameters:
... The strings to concatenate. The final string must be NULL
Returns:
The new string

AXIS2_EXTERN axis2_char_t* axutil_strchr ( const axis2_char_t *  s,
axis2_char_t  ch 
)

Finds the first occurrence of a character in a string

Parameters:
s String in which the character is searched
ch Character to be searched
Returns:
Pointer to to the first occurence of the charecter if it could be found in the string, NULL otherwise

AXIS2_EXTERN axis2_char_t* axutil_string_replace ( axis2_char_t *  str,
axis2_char_t  old_char,
axis2_char_t  new_char 
)

replace given axis2_character with a new one.

Parameters:
str string operation apply
old_char the old axis2_character which would be replaced
new_char new axis2_char_tacter
Returns:
replaced string

AXIS2_EXTERN axis2_char_t* axutil_string_substring_ending_at ( axis2_char_t *  str,
int  e 
)

gives a sub string ending with given index.

Parameters:
str string operation apply
c ending index
Returns:
substring

AXIS2_EXTERN axis2_char_t* axutil_string_substring_starting_at ( axis2_char_t *  str,
int  s 
)

gives a sub string starting with given index.

Parameters:
str string operation apply
c starting index
Returns:
substring

AXIS2_EXTERN axis2_char_t* axutil_string_tolower ( axis2_char_t *  str  ) 

set a string to lowercase.

Parameters:
str string
Returns:
string with lowercase

AXIS2_EXTERN axis2_char_t* axutil_string_toupper ( axis2_char_t *  str  ) 

set a string to uppercase.

Parameters:
str string
Returns:
string with uppercase

AXIS2_EXTERN void* axutil_strmemdup ( const void *  ptr,
size_t  n,
const axutil_env_t env 
)

Create a null-terminated string by making a copy of a sequence of characters and appending a null byte

Parameters:
ptr The block of characters to duplicate
n The number of characters to duplicate
Returns:
The new string
Remarks:
This is a faster alternative to axis2_strndup, for use when you know that the string being duplicated really has 'n' or more characters. If the string might contain fewer characters, use axis2_strndup.

AXIS2_EXTERN void* axutil_strndup ( const axutil_env_t env,
const void *  ptr,
int  n 
)

duplicate the first n characters of a string into memory allocated the new string will be null-terminated

Parameters:
ptr The string to duplicate
n The number of characters to duplicate
Returns:
The new string


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__msg__info__headers.html0000644000175000017500000021774611172017604026621 0ustar00manjulamanjula00000000000000 Axis2/C: message information headers

message information headers
[WS-Addressing]


Files

file  axis2_msg_info_headers.h

Typedefs

typedef struct
axis2_msg_info_headers 
axis2_msg_info_headers_t

Functions

AXIS2_EXTERN
axis2_msg_info_headers_t
axis2_msg_info_headers_create (const axutil_env_t *env, axis2_endpoint_ref_t *to, const axis2_char_t *action)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *to)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_from (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_from (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *from)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_reply_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_reply_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *reply_to)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_reply_to_none (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t none)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_reply_to_none (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_reply_to_anonymous (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t anonymous)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_reply_to_anonymous (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_msg_info_headers_get_fault_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_fault_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_endpoint_ref_t *fault_to)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_fault_to_none (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t none)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_fault_to_none (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_fault_to_anonymous (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_bool_t anonymous)
AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_fault_to_anonymous (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_info_headers_get_action (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_action (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_char_t *action)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_info_headers_get_message_id (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_message_id (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_in_message_id (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_relates_to_t
axis2_msg_info_headers_get_relates_to (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_set_relates_to (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axis2_relates_to_t *relates_to)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_info_headers_get_all_ref_params (const axis2_msg_info_headers_t *msg_info_headers, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_info_headers_add_ref_param (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env, axiom_node_t *ref_param)
AXIS2_EXTERN void axis2_msg_info_headers_free (struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t *env)

Detailed Description

message information headers encapsulates properties that enable the identification and location of the endpoints involved in an interaction. The basic interaction pattern from which all others are composed is "one way". In this pattern a source sends a message to a destination without any further definition of the interaction. "Request Reply" is a common interaction pattern that consists of an initial message sent by a source endpoint (the request) and a subsequent message sent from the destination of the request back to the source (the reply). A reply can be either an application message, a fault, or any other message. message information headers capture addressing information related to these interaction patterns such as from, to, reply to and fault to addresses.

Typedef Documentation

typedef struct axis2_msg_info_headers axis2_msg_info_headers_t

Type name for struct axis2_msg_info_headers


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_add_ref_param ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
axiom_node_t *  ref_param 
)

Adds a reference parameter in the form of an AXIOM node.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
ref_param pointer to AXIOM node representing reference parameter, message information header does not assume ownership of node
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_msg_info_headers_t* axis2_msg_info_headers_create ( const axutil_env_t env,
axis2_endpoint_ref_t to,
const axis2_char_t *  action 
)

Creates message information headers struct.

Parameters:
env pointer to environment struct
to pointer to endpoint reference representing to endpoint
action WS-Addressing action string
Returns:
pointer to newly created message information headers struct

AXIS2_EXTERN void axis2_msg_info_headers_free ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env 
)

Frees message information header struct.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN const axis2_char_t* axis2_msg_info_headers_get_action ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets WS-Addressing action. action is an absolute IRI (Internationalized Resource Identifier) that uniquely identifies the semantics implied by this message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
WS-Addressing action string

AXIS2_EXTERN axutil_array_list_t* axis2_msg_info_headers_get_all_ref_params ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets all reference parameters associated with message information headers.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
pointer to array list containing all reference parameters

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_info_headers_get_fault_to ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets fault to endpoint. fault to endpoint identifies the intended receiver for faults related to a message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
pointer to endpoint reference representing fault to address, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_fault_to_anonymous ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets the bool value indicating whether the fault to endpoint should be anonymous. fault to endpoint identifies the intended receiver for faults related to a message. The URI "http://www.w3.org/2005/08/addressing/anonymous" in the fault to address indicates that fault should be sent to from address.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous is to be used as fault to URI, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_fault_to_none ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets the bool value indicating whether the fault to endpoint should be none. fault to endpoint identifies the intended receiver for faults related to a message. The URI "http://www.w3.org/2005/08/addressing/none" in the fault to address indicates that no fault should be sent back.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none is to be used as fault to URI, else AXIS2_FALSE

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_info_headers_get_from ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets from endpoint. from endpoint represents the address of the endpoint where the message originated from.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
pointer to endpoint reference representing from address, returns a reference, not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_msg_info_headers_get_message_id ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets message ID. message ID is an absolute IRI that uniquely identifies the message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
message ID string.

AXIS2_EXTERN axis2_relates_to_t* axis2_msg_info_headers_get_relates_to ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets relates to information.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
pointer to relates to struct, returns a reference, not a cloned copy
See also:
relates to

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_info_headers_get_reply_to ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets reply to endpoint. reply to endpoint identifies the intended receiver to which a message is replied.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
pointer to endpoint reference representing reply to address, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_reply_to_anonymous ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets the bool value indicating whether the reply to endpoint should be anonymous. reply to endpoint identifies the intended receiver for replies related to a message. The URI "http://www.w3.org/2005/08/addressing/anonymous" in the reply to address indicates that reply should be sent to from address.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous is to be used as reply to URI, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_msg_info_headers_get_reply_to_none ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets the bool value indicating whether the reply to endpoint should be none. reply to endpoint identifies the intended receiver for replies related to a message. The URI "http://www.w3.org/2005/08/addressing/none" in the reply to address indicates that no reply should be sent.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none is to be used as reply to URI, else AXIS2_FALSE

AXIS2_EXTERN axis2_endpoint_ref_t* axis2_msg_info_headers_get_to ( const axis2_msg_info_headers_t msg_info_headers,
const axutil_env_t env 
)

Gets to endpoint. to endpoint represents the address of the intended receiver of this message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
Returns:
pointer to endpoint reference representing to address, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_action ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_char_t *  action 
)

Sets WS-Addressing action. action is an absolute IRI (Internationalized Resource Identifier) that uniquely identifies the semantics implied by this message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
action WS-Addressing action string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_fault_to ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
axis2_endpoint_ref_t fault_to 
)

Sets fault to endpoint. fault to endpoint identifies the intended receiver for faults related to a message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
fault_to pointer to endpoint reference representing fault to address, message information headers assumes ownership of the endpoint
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_fault_to_anonymous ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_bool_t  anonymous 
)

Sets the bool value indicating whether the fault to endpoint should be anonymous. fault to endpoint identifies the intended receiver for faults related to a message. The URI "http://www.w3.org/2005/08/addressing/anonymous" in the fault to address indicates that fault should be sent to from address.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
anonymous AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous is to be used as fault to URI, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_fault_to_none ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_bool_t  none 
)

Sets the bool value indicating whether the fault to endpoint should be none. fault to endpoint identifies the intended receiver for faults related to a message. The URI "http://www.w3.org/2005/08/addressing/none" in the fault to address indicates that no fault should be sent back.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
none AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none is to be used as fault to URI, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_from ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
axis2_endpoint_ref_t from 
)

Sets from endpoint. from endpoint represents the address of the endpoint where the message originated from.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
from pointer to endpoint reference representing from address, message information headers assumes ownership of the endpoint
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_in_message_id ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_char_t *  message_id 
)

Sets message ID. message ID is an absolute URI that uniquely identifies the message. Message ID Given will be used.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
message_id message ID string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_message_id ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_char_t *  message_id 
)

Sets message ID. message ID is an absolute URI that uniquely identifies the message. Message ID will be prefixed with "urn:uuid:"

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
message_id message ID string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_relates_to ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
axis2_relates_to_t relates_to 
)

Sets relates to information.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
relates_to pointer to relates to struct, message information headers assumes ownership of struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_reply_to ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
axis2_endpoint_ref_t reply_to 
)

Sets reply to endpoint. reply to endpoint identifies the intended receiver to which a message is replied.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
reply_to pointer to endpoint reference representing reply to address, message information headers assumes ownership of the endpoint
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_reply_to_anonymous ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_bool_t  anonymous 
)

Sets the bool value indicating whether the reply to endpoint should be anonymous. reply to endpoint identifies the intended receiver for replies related to a message. The URI "http://www.w3.org/2005/08/addressing/anonymous" in the reply to address indicates that reply should be sent to from address.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
anonymous AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous is to be used as reply to URI, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_reply_to_none ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
const axis2_bool_t  none 
)

Sets the bool value indicating whether the reply to endpoint should be none. reply to endpoint identifies the intended receiver for replies to a message. The URI "http://www.w3.org/2005/08/addressing/none" in the reply to address indicates that no reply should be sent.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
none AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none is to be used as reply to URI, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_info_headers_set_to ( struct axis2_msg_info_headers *  msg_info_headers,
const axutil_env_t env,
axis2_endpoint_ref_t to 
)

Sets to endpoint. to endpoint represents the address of the intended receiver of this message.

Parameters:
msg_info_headers pointer to message information headers struct
env pointer to environment struct
to pointer to endpoint reference representing to address, message information headers assumes ownership of the endpoint
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__svc__ctx.html0000644000175000017500000006706011172017604024627 0ustar00manjulamanjula00000000000000 Axis2/C: service context

service context
[Context Hierarchy]


Files

file  axis2_svc_ctx.h

Typedefs

typedef struct
axis2_svc_ctx 
axis2_svc_ctx_t

Functions

AXIS2_EXTERN
axis2_svc_ctx_t
axis2_svc_ctx_create (const axutil_env_t *env, struct axis2_svc *svc, struct axis2_svc_grp_ctx *svc_grp_ctx)
AXIS2_EXTERN
axis2_ctx_t
axis2_svc_ctx_get_base (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_grp_ctx * 
axis2_svc_ctx_get_parent (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_ctx_set_parent (axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env, struct axis2_svc_grp_ctx *parent)
AXIS2_EXTERN void axis2_svc_ctx_free (struct axis2_svc_ctx *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_ctx_init (struct axis2_svc_ctx *svc_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_ctx_get_svc_id (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc * 
axis2_svc_ctx_get_svc (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_ctx_set_svc (axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_svc_ctx_get_conf_ctx (const axis2_svc_ctx_t *svc_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_op_ctx * 
axis2_svc_ctx_create_op_ctx (struct axis2_svc_ctx *svc_ctx, const axutil_env_t *env, const axutil_qname_t *qname)

Detailed Description

service context represents a running "instance" of a service. service context allows instance of operations belonging to a service to be grouped.

Typedef Documentation

typedef struct axis2_svc_ctx axis2_svc_ctx_t

Type name for struct axis2_svc_ctx


Function Documentation

AXIS2_EXTERN axis2_svc_ctx_t* axis2_svc_ctx_create ( const axutil_env_t env,
struct axis2_svc *  svc,
struct axis2_svc_grp_ctx *  svc_grp_ctx 
)

Creates a service context struct that corresponds to the given service and with the given parent service group context.

Parameters:
env pointer to environment struct
svc pointer to service that this service context represents, service context does not assume the ownership of service
svc_grp_ctx pointer to service group context, the parent of the newly created service context. service context does not assume the ownership of parent
Returns:
pointer to newly created service context

AXIS2_EXTERN struct axis2_op_ctx* axis2_svc_ctx_create_op_ctx ( struct axis2_svc_ctx *  svc_ctx,
const axutil_env_t env,
const axutil_qname_t *  qname 
) [read]

Creates an operation context for the named operation. The named operation should be one of the operations in the service related to this service context.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
qname pointer to qname that represents the operation name.
Returns:
pointer to operation context

AXIS2_EXTERN void axis2_svc_ctx_free ( struct axis2_svc_ctx *  svc_ctx,
const axutil_env_t env 
)

Frees service context instance.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_ctx_t* axis2_svc_ctx_get_base ( const axis2_svc_ctx_t svc_ctx,
const axutil_env_t env 
)

Gets base which is of type context.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
Returns:
pointer to context, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_conf_ctx* axis2_svc_ctx_get_conf_ctx ( const axis2_svc_ctx_t svc_ctx,
const axutil_env_t env 
) [read]

Gets configuration context which is the super root (super most parent) of the context hierarchy to which this service context belongs.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
Returns:
pointer to configuration context

AXIS2_EXTERN struct axis2_svc_grp_ctx* axis2_svc_ctx_get_parent ( const axis2_svc_ctx_t svc_ctx,
const axutil_env_t env 
) [read]

Gets parent which is of type service group context.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
Returns:
pointer to parent service group context

AXIS2_EXTERN struct axis2_svc* axis2_svc_ctx_get_svc ( const axis2_svc_ctx_t svc_ctx,
const axutil_env_t env 
) [read]

Gets the service that this service context represents.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
Returns:
pointer to service, returns a reference, not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_svc_ctx_get_svc_id ( const axis2_svc_ctx_t svc_ctx,
const axutil_env_t env 
)

Gets the ID of the service that this service context is an instance of.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
Returns:
service ID string.

AXIS2_EXTERN axis2_status_t axis2_svc_ctx_init ( struct axis2_svc_ctx *  svc_ctx,
const axutil_env_t env,
struct axis2_conf *  conf 
)

Initializes service context. This method locates the corresponding service that is related to the service context from configuration using service qname and keeps a reference to it for future use.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
conf pointer to configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_ctx_set_parent ( axis2_svc_ctx_t svc_ctx,
const axutil_env_t env,
struct axis2_svc_grp_ctx *  parent 
)

Sets parent which is of type service group context.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
parent parent of service context which is of type service group context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_svc_ctx_set_svc ( axis2_svc_ctx_t svc_ctx,
const axutil_env_t env,
struct axis2_svc *  svc 
)

Sets the service that this service context represents.

Parameters:
svc_ctx pointer to service context
env pointer to environment struct
svc pointer to service struct, service context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__receiver_8h.html0000644000175000017500000002013711172017604026114 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_receiver.h File Reference

axis2_transport_receiver.h File Reference

Axis2 description transport receiver interface. More...

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axis2_endpoint_ref.h>
#include <axis2_ctx.h>
#include <axis2_conf_ctx.h>

Go to the source code of this file.

Classes

struct  axis2_transport_receiver_ops
 Description Transport Receiver ops struct Encapsulator struct for ops of axis2_transport_receiver. More...
struct  axis2_transport_receiver
 Transport Reciever struct. More...

Typedefs

typedef struct
axis2_transport_receiver 
axis2_transport_receiver_t
typedef struct
axis2_transport_receiver_ops 
axis2_transport_receiver_ops_t

Functions

AXIS2_EXTERN void axis2_transport_receiver_free (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_receiver_init (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_receiver_start (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_receiver_stop (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_transport_receiver_get_reply_to_epr (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN struct
axis2_conf_ctx * 
axis2_transport_receiver_get_conf_ctx (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_transport_receiver_is_running (axis2_transport_receiver_t *transport_receiver, const axutil_env_t *env)


Detailed Description

Axis2 description transport receiver interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__op__ctx.html0000644000175000017500000013203111172017604024441 0ustar00manjulamanjula00000000000000 Axis2/C: operation context

operation context
[Context Hierarchy]


Files

file  axis2_op_ctx.h

Typedefs

typedef struct
axis2_op_ctx 
axis2_op_ctx_t

Functions

AXIS2_EXTERN
axis2_op_ctx_t
axis2_op_ctx_create (const axutil_env_t *env, struct axis2_op *op, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN
axis2_ctx_t
axis2_op_ctx_get_base (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_ctx_free (struct axis2_op_ctx *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_init (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN struct
axis2_op * 
axis2_op_ctx_get_op (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_op_ctx_get_parent (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_add_msg_ctx (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_ctx_get_msg_ctx (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env, const axis2_wsdl_msg_labels_t message_id)
AXIS2_EXTERN axis2_bool_t axis2_op_ctx_get_is_complete (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_complete (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, axis2_bool_t is_complete)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_cleanup (struct axis2_op_ctx *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_parent (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t ** 
axis2_op_ctx_get_msg_ctx_map (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_response_written (axis2_op_ctx_t *op_ctx, const axutil_env_t *env, const axis2_bool_t response_written)
AXIS2_EXTERN axis2_bool_t axis2_op_ctx_get_response_written (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_ctx_destroy_mutex (struct axis2_op_ctx *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_op_ctx_is_in_use (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_in_use (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, axis2_bool_t is_in_use)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_increment_ref (axis2_op_ctx_t *op_ctx, const axutil_env_t *env)

Detailed Description

operation context represents a running "instance" of an operation. operation context allows messages to be grouped into operations as in WSDL 2.0 specification. operations are essentially arbitrary message exchange patterns (MEP). So as messages are being exchanged, operation context remembers the state of message exchange pattern specifics. The implementation of operation context supports MEPs which have one input message and/or one output message. In order to support other MEPs one must extend this struct.

Typedef Documentation

typedef struct axis2_op_ctx axis2_op_ctx_t

Type name for struct axis2_op_ctx


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_op_ctx_add_msg_ctx ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env,
axis2_msg_ctx_t msg_ctx 
)

Adds a message context.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
msg_ctx pointer to message context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_cleanup ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env 
)

Cleans up the operation context. Clean up includes removing all message context references recorded in operation context.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_op_ctx_t* axis2_op_ctx_create ( const axutil_env_t env,
struct axis2_op *  op,
struct axis2_svc_ctx *  svc_ctx 
)

Creates an operation context struct instance.

Parameters:
env pointer to environment struct
op pointer to operation that is related to operation context. operation context does not assume the ownership of the struct
svc_ctx pointer to parent service context
Returns:
pointer to newly created operation context

AXIS2_EXTERN void axis2_op_ctx_destroy_mutex ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env 
)

Destroys mutex used to synchronize the read/write operations

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
returns void

AXIS2_EXTERN void axis2_op_ctx_free ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env 
)

Frees operation context.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_ctx_t* axis2_op_ctx_get_base ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
)

Gets base which is of context type.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
pointer to base context

AXIS2_EXTERN axis2_bool_t axis2_op_ctx_get_is_complete ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
)

Gets the bool value indicating if the MEP is complete. MEP is considered complete when all the messages that are associated with the MEP has arrived.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
AXIS2_TRUE if MEP invocation is complete, else AXIS2_FALSE

AXIS2_EXTERN axis2_msg_ctx_t* axis2_op_ctx_get_msg_ctx ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env,
const axis2_wsdl_msg_labels_t  message_id 
)

Gets message context with the given message ID.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
message_id message label of type axis2_wsdl_msg_labels_t. This can be one of AXIS2_WSDL_MESSAGE_LABEL_IN or AXIS2_WSDL_MESSAGE_LABEL_OUT from the axis2_wsdl_msg_labels enum.
Returns:
pointer to message context with given ID

AXIS2_EXTERN axis2_msg_ctx_t** axis2_op_ctx_get_msg_ctx_map ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
)

Gets the message context map.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
pointer to hash table containing message contexts

AXIS2_EXTERN struct axis2_op* axis2_op_ctx_get_op ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
) [read]

Gets operation the operation context is related to.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
pointer to operation

AXIS2_EXTERN struct axis2_svc_ctx* axis2_op_ctx_get_parent ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
) [read]

Gets parent which is of service context type.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
pointer to service context within which this operation context lives

AXIS2_EXTERN axis2_bool_t axis2_op_ctx_get_response_written ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
)

Checks the response status, whether it is written or not.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
AXIS2_TRUE if response is already written, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_increment_ref ( axis2_op_ctx_t op_ctx,
const axutil_env_t env 
)

Incrementing the op_ctx ref count. This is necessary when prevent freeing op_ctx through op_client when it is in use as in sandesha where the msg_cts is stored.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
AXIS2_TRUE if still in use, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_init ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env,
struct axis2_conf *  conf 
)

Initializes operation context. This method traverses through all the message contexts stored within it and initialize them all.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
conf pointer to conf configuration
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axis2_op_ctx_is_in_use ( const axis2_op_ctx_t op_ctx,
const axutil_env_t env 
)

Checks whether op_ctx is in use. This is necessary when destroying the thread mutex at the http_worker to check whether the operation context is still in use

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
Returns:
AXIS2_TRUE if still in use, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_set_complete ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env,
axis2_bool_t  is_complete 
)

Sets the bool value indicating if the MEP is complete. MEP is considered complete when all the messages that are associated with the MEP has arrived.

Parameters:
op_ctx pointer to operating context
env pointer to environment struct
is_complete AXIS2_TRUE if MEP invocation is complete, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_set_in_use ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env,
axis2_bool_t  is_in_use 
)

Set operation context's is_in_use attribute. This is necessary when destroying the thread mutex at the http_worker to check whether the operation context is still in use

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
is_in_use AXIS2_TRUE if still in use, else AXIS2_FALSE
Returns:
AXIS2_TRUE if still in use, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_set_parent ( struct axis2_op_ctx *  op_ctx,
const axutil_env_t env,
struct axis2_svc_ctx *  svc_ctx 
)

Sets parent service context.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
svc_ctx pointer to service context, message context does not assume the ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_op_ctx_set_response_written ( axis2_op_ctx_t op_ctx,
const axutil_env_t env,
const axis2_bool_t  response_written 
)

Sets the bool value indicating the status of response.

Parameters:
op_ctx pointer to operation context
env pointer to environment struct
response_written AXIS2_TRUE if response is written, else AXIS2_FALSE
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__transport__token__builder.html0000644000175000017500000000425011172017604027642 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_transport_token_builder

Rp_transport_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_transport_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__handler_8h-source.html0000644000175000017500000003111011172017604024741 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_handler.h Source File

axis2_handler.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HANDLER_H
00020 #define AXIS2_HANDLER_H
00021 
00041 #include <axis2_defines.h>
00042 #include <axutil_qname.h>
00043 #include <axutil_param.h>
00044 
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049 
00051     typedef struct axis2_handler axis2_handler_t;
00052 
00053     struct axis2_handler_desc;
00054     struct axis2_msg_ctx;
00055 
00056     typedef axis2_status_t(
00057         AXIS2_CALL
00058         * AXIS2_HANDLER_INVOKE) (
00059             axis2_handler_t * handler,
00060             const axutil_env_t * env,
00061             struct axis2_msg_ctx * msg_ctx);
00062 
00069     AXIS2_EXTERN void AXIS2_CALL
00070     axis2_handler_free(
00071         axis2_handler_t * handler,
00072         const axutil_env_t * env);
00073 
00081     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00082     axis2_handler_init(
00083         axis2_handler_t * handler,
00084         const axutil_env_t * env,
00085         struct axis2_handler_desc *handler_desc);
00086 
00098     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099     axis2_handler_invoke(
00100         axis2_handler_t * handler,
00101         const axutil_env_t * env,
00102         struct axis2_msg_ctx *msg_ctx);
00103 
00110     AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
00111     axis2_handler_get_name(
00112         const axis2_handler_t * handler,
00113         const axutil_env_t * env);
00114 
00121     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00122     axis2_handler_get_param(
00123         const axis2_handler_t * handler,
00124         const axutil_env_t * env,
00125         const axis2_char_t * name);
00126 
00133     AXIS2_EXTERN struct axis2_handler_desc *AXIS2_CALL
00134 
00135                 axis2_handler_get_handler_desc(
00136                     const axis2_handler_t * handler,
00137                     const axutil_env_t * env);
00138 
00139     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00140     axis2_handler_set_invoke(
00141         axis2_handler_t * handler,
00142         const axutil_env_t * env,
00143         AXIS2_HANDLER_INVOKE func);
00144 
00151     typedef axis2_handler_t *(
00152         AXIS2_CALL
00153         * AXIS2_HANDLER_CREATE_FUNC)(
00154             const axutil_env_t * env,
00155             const axutil_string_t * name);
00156 
00162     AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00163     axis2_handler_create(
00164         const axutil_env_t * env);
00165 
00173     AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00174     axis2_ctx_handler_create(
00175         const axutil_env_t * env,
00176         const axutil_string_t * qname);
00177 
00180 #ifdef __cplusplus
00181 }
00182 #endif
00183 
00184 #endif                          /* AXIS2_HANDLER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__svc__skeleton.html0000644000175000017500000001050711172017604025541 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_skeleton Struct Reference

axis2_svc_skeleton Struct Reference
[service skeleton]

#include <axis2_svc_skeleton.h>

List of all members.

Public Attributes

const
axis2_svc_skeleton_ops_t
ops
axutil_array_list_tfunc_array


Detailed Description

service skeleton struct.

Member Data Documentation

operations of service skeleton

Array list of functions, implementing the service operations


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__issued__token__builder_8h-source.html0000644000175000017500000001416211172017604027427 0ustar00manjulamanjula00000000000000 Axis2/C: rp_issued_token_builder.h Source File

rp_issued_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ISSUED_TOKEN_BUILDER_H
00019 #define RP_ISSUED_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_issued_token.h>
00028 #include <neethi_operator.h>
00029 #include <neethi_policy.h>
00030 #include <neethi_exactlyone.h>
00031 #include <neethi_all.h>
00032 #include <neethi_engine.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038         
00039         AXIS2_EXTERN neethi_assertion_t * AXIS2_CALL
00040         rp_issued_token_builder_build(const axutil_env_t *env,
00041                         axiom_node_t *node, axiom_element_t *element);
00042         
00043         AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_builder_process_alternatives(
00044                         const axutil_env_t *env, neethi_all_t *all,
00045                         rp_issued_token_t *issued_token);
00046         
00047 #ifdef __cplusplus
00048 }
00049 #endif
00050 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__doctype_8h.html0000644000175000017500000001133711172017604023575 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_doctype.h File Reference

axiom_doctype.h File Reference

defines struct representing xml DTD and its manipulation functions More...

#include <axiom_node.h>
#include <axiom_output.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_doctype 
axiom_doctype_t

Functions

AXIS2_EXTERN
axiom_doctype_t * 
axiom_doctype_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *value, axiom_node_t **node)
AXIS2_EXTERN void axiom_doctype_free (struct axiom_doctype *om_doctype, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_doctype_get_value (struct axiom_doctype *om_doctype, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_doctype_set_value (struct axiom_doctype *om_doctype, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_doctype_serialize (struct axiom_doctype *om_doctype, const axutil_env_t *env, axiom_output_t *om_output)


Detailed Description

defines struct representing xml DTD and its manipulation functions


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__property_8h-source.html0000644000175000017500000002151511172017604024613 0ustar00manjulamanjula00000000000000 Axis2/C: rp_property.h Source File

rp_property.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_PROPERTY_H
00019 #define RP_PROPERTY_H
00020 
00025 #include <rp_includes.h>
00026 #include <rp_username_token.h>
00027 #include <rp_x509_token.h>
00028 #include <rp_issued_token.h>
00029 #include <rp_saml_token.h>
00030 #include <rp_security_context_token.h>
00031 #include <rp_https_token.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00038     typedef enum
00039     {
00040         RP_PROPERTY_USERNAME_TOKEN = 0,
00041         RP_PROPERTY_X509_TOKEN,
00042         RP_PROPERTY_ISSUED_TOKEN,
00043         RP_PROPERTY_SAML_TOKEN,
00044         RP_PROPERTY_SECURITY_CONTEXT_TOKEN,
00045         RP_PROPERTY_HTTPS_TOKEN,
00046         RP_PROPERTY_SYMMETRIC_BINDING,
00047         RP_PROPERTY_ASYMMETRIC_BINDING,
00048         RP_PROPERTY_TRANSPORT_BINDING,
00049         RP_PROPERTY_SIGNED_SUPPORTING_TOKEN,
00050         RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN,
00051         RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN,
00052         RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN,
00053         RP_PROPERTY_WSS10,
00054         RP_PROPERTY_WSS11,
00055         RP_PROPERTY_SUPPORTING_TOKEN,
00056         RP_PROPERTY_UNKNOWN
00057     } rp_property_type_t;
00058 
00059     typedef struct rp_property_t rp_property_t;
00060 
00061     AXIS2_EXTERN rp_property_t *AXIS2_CALL
00062     rp_property_create(
00063         const axutil_env_t * env);
00064 
00065     AXIS2_EXTERN void AXIS2_CALL
00066     rp_property_free(
00067         rp_property_t * property,
00068         const axutil_env_t * env);
00069 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     rp_property_set_value(
00072         rp_property_t * property,
00073         const axutil_env_t * env,
00074         void *value,
00075         rp_property_type_t type);
00076 
00077     AXIS2_EXTERN void *AXIS2_CALL
00078     rp_property_get_value(
00079         rp_property_t * property,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN rp_property_type_t AXIS2_CALL
00083     rp_property_get_type(
00084         rp_property_t * property,
00085         const axutil_env_t * env);
00086 
00087     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00088     rp_property_increment_ref(
00089         rp_property_t * property,
00090         const axutil_env_t * env);
00091 
00092 #ifdef __cplusplus
00093 }
00094 #endif
00095 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__http__chunked__stream_8h.html0000644000175000017500000001570511172017604026653 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_http_chunked_stream.h File Reference

axutil_http_chunked_stream.h File Reference

axis2 HTTP Chunked Stream More...

#include <axutil_env.h>
#include <axutil_stream.h>

Go to the source code of this file.

Classes

struct  axis2_callback_info

Typedefs

typedef struct
axutil_http_chunked_stream 
axutil_http_chunked_stream_t
typedef struct
axis2_callback_info 
axis2_callback_info_t

Functions

AXIS2_EXTERN int axutil_http_chunked_stream_read (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, void *buffer, size_t count)
AXIS2_EXTERN int axutil_http_chunked_stream_write (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, const void *buffer, size_t count)
AXIS2_EXTERN int axutil_http_chunked_stream_get_current_chunk_size (const axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_http_chunked_stream_write_last_chunk (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)
AXIS2_EXTERN void axutil_http_chunked_stream_free (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)
AXIS2_EXTERN
axutil_http_chunked_stream_t
axutil_http_chunked_stream_create (const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN axis2_bool_t axutil_http_chunked_stream_get_end_of_chunks (axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env)


Detailed Description

axis2 HTTP Chunked Stream


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__attribute.html0000644000175000017500000011704611172017604025111 0ustar00manjulamanjula00000000000000 Axis2/C: attribute

attribute
[AXIOM]


Typedefs

typedef struct
axiom_attribute 
axiom_attribute_t

Functions

AXIS2_EXTERN
axiom_attribute_t * 
axiom_attribute_create (const axutil_env_t *env, const axis2_char_t *localname, const axis2_char_t *value, axiom_namespace_t *ns)
AXIS2_EXTERN void axiom_attribute_free_void_arg (void *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN void axiom_attribute_free (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axutil_qname_t * 
axiom_attribute_get_qname (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN int axiom_attribute_serialize (struct axiom_attribute *om_attribute, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axis2_char_t * 
axiom_attribute_get_localname (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_attribute_get_value (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_attribute_get_namespace (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_localname (struct axiom_attribute *om_attribute, const axutil_env_t *env, const axis2_char_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_value (struct axiom_attribute *om_attribute, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_namespace (struct axiom_attribute *om_attribute, const axutil_env_t *env, axiom_namespace_t *om_namespace)
AXIS2_EXTERN struct
axiom_attribute * 
axiom_attribute_clone (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_increment_ref (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axiom_attribute_t * 
axiom_attribute_create_str (const axutil_env_t *env, axutil_string_t *localname, axutil_string_t *value, axiom_namespace_t *ns)
AXIS2_EXTERN
axutil_string_t * 
axiom_attribute_get_localname_str (axiom_attribute_t *attribute, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axiom_attribute_get_value_str (axiom_attribute_t *attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_localname_str (axiom_attribute_t *attribute, const axutil_env_t *env, axutil_string_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_value_str (axiom_attribute_t *attribute, const axutil_env_t *env, axutil_string_t *value)

Function Documentation

AXIS2_EXTERN struct axiom_attribute* axiom_attribute_clone ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
) [read]

clones an om attribute

Parameters:
om_attibute 
env environment
Returns:
pointer to cloned om attribute struct on success NULL otherwise

AXIS2_EXTERN axiom_attribute_t* axiom_attribute_create ( const axutil_env_t env,
const axis2_char_t *  localname,
const axis2_char_t *  value,
axiom_namespace_t *  ns 
)

creates an om_attribute struct

Parameters:
env Environment. MUST NOT be NULL
localname localname of the attribute, should not be a null value.
value normalized attribute value. cannot be NULL
ns namespace, if any, of the attribute. Optional, can be NULL om_attribute wont free the ns
Returns:
a pointer to newly created attribute struct, returns NULL on error with error code set in environment's error.

AXIS2_EXTERN axiom_attribute_t* axiom_attribute_create_str ( const axutil_env_t env,
axutil_string_t *  localname,
axutil_string_t *  value,
axiom_namespace_t *  ns 
)

Create OM attribute

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN void axiom_attribute_free ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
)

Free an axiom_attribute struct

Parameters:
om_attribute pointer to attribute struct to be freed
env Environment. MUST NOT be NULL

AXIS2_EXTERN void axiom_attribute_free_void_arg ( void *  om_attribute,
const axutil_env_t env 
)

Free om attribute passed as void pointer. This will be cast into appropriate type and then pass the cast object into the om_attribute structure's free method

Parameters:
om_attribute pointer to attribute struct to be freed
env Environment. MUST NOT be NULL

AXIS2_EXTERN axis2_char_t* axiom_attribute_get_localname ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
)

Returns the localname of this attribute

Parameters:
om_attribute pointer to attribute struct
env environment. MUST NOT not be NULL.
Returns:
localname returns NULL on error.

AXIS2_EXTERN axutil_string_t* axiom_attribute_get_localname_str ( axiom_attribute_t *  attribute,
const axutil_env_t env 
)

Get the localname as a string

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axiom_namespace_t* axiom_attribute_get_namespace ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
)

returns namespace of this attribute

Parameters:
om_attribute 
env environment MUST NOT be NULL
Returns:
a pointer to om_namespace struct , returns NULL on error.

AXIS2_EXTERN axutil_qname_t* axiom_attribute_get_qname ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
)

Creates and returns a qname struct for this attribute

Parameters:
om_attribute pointer to attribute struct for which the qname is to be returned
env Environment. MUST NOT be NULL
Returns:
returns qname for given attribute.NULL on error

AXIS2_EXTERN axis2_char_t* axiom_attribute_get_value ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
)

returns value of this attribute

Parameters:
om_attribute pointer to om_attribute struct
env environment N not be null
Returns:
value , null on error

AXIS2_EXTERN axutil_string_t* axiom_attribute_get_value_str ( axiom_attribute_t *  attribute,
const axutil_env_t env 
)

Get the value as a string

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_increment_ref ( struct axiom_attribute *  om_attribute,
const axutil_env_t env 
)

Increment the reference counter.

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN int axiom_attribute_serialize ( struct axiom_attribute *  om_attribute,
const axutil_env_t env,
axiom_output_t om_output 
)

Serialize op

Parameters:
om_attribute pointer to attribute struct to be serialized
env Environment. MUST NOT be NULL,
om_output AXIOM output handler to be used in serializing
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_localname ( struct axiom_attribute *  om_attribute,
const axutil_env_t env,
const axis2_char_t *  localname 
)

sets the localname of the attribute

Parameters:
om_attribute pointer to om attribute struct.
env environment, MUST NOT be null.
localname localname that should be set for this attribute
Returns:
status code AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_localname_str ( axiom_attribute_t *  attribute,
const axutil_env_t env,
axutil_string_t *  localname 
)

Set the localname of the attribute

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_namespace ( struct axiom_attribute *  om_attribute,
const axutil_env_t env,
axiom_namespace_t *  om_namespace 
)

set namespace of the attribute

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
om_namespace a pointer to om_namespace struct that should be set for this attribute
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_value ( struct axiom_attribute *  om_attribute,
const axutil_env_t env,
const axis2_char_t *  value 
)

set the attribute value

Parameters:
om_attribute a pointer to om_attribute struct.
env environment, MUST NOT be NULL.
value value that should be set for this attribute
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_attribute_set_value_str ( axiom_attribute_t *  attribute,
const axutil_env_t env,
axutil_string_t *  value 
)

Set the value of the attribute

Parameters:
om_attribute a pointer to om_attribute struct
env environment, MUST NOT be NULL.
Returns:
status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__error_8h-source.html0000644000175000017500000014761711172017604024761 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_error.h Source File

axutil_error.h

00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_ERROR_H
00019 #define AXUTIL_ERROR_H
00020 
00021 #include <axutil_utils_defines.h>
00022 #include <axutil_allocator.h>
00023 
00024 #ifdef __cplusplus
00025 extern "C"
00026 {
00027 #endif
00028 
00029 
00030 #define AXUTIL_ERROR_MESSAGE_BLOCK_SIZE 512
00031 #define AXUTIL_ERROR_LAST AXUTIL_ERROR_MESSAGE_BLOCK_SIZE
00032 #define NEETHI_ERROR_CODES_START AXIS2_ERROR_LAST
00033 #define RAMPART_ERROR_CODES_START (NEETHI_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE)
00034 #define SANDESHA2_ERROR_CODES_START (RAMPART_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE)
00035 #define SAVAN_ERROR_CODES_START (SANDESHA2_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE)
00036 #define USER_ERROR_CODES_START (SAVAN_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE)
00037 
00038 /* AXUTIL_ERROR_MAX define the maximum size of the error array */
00039 #define AXUTIL_ERROR_MAX (USER_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE)
00040 
00041 
00047     enum axis2_status_codes
00048     {
00050         AXIS2_CRITICAL_FAILURE = -1,
00051 
00053         AXIS2_FAILURE,
00054 
00056         AXIS2_SUCCESS
00057     };
00058 
00064     enum axutil_error_codes
00065     {
00066 
00077         AXIS2_ERROR_NONE = 0,
00078 
00079         /*
00080          * Group - Common Errors
00081          */
00082         
00084         AXIS2_ERROR_NO_MEMORY,
00085 
00087         AXIS2_ERROR_INVALID_NULL_PARAM,
00088 
00089         /*
00090          * Group - core:addr
00091          */
00092 
00093         /*
00094          * Group - core:clientapi
00095          */
00096 
00098         AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE,
00099 
00101         AXIS2_ERROR_CANNOT_INFER_TRANSPORT,
00102 
00104         AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX,
00105         /* MEP cannot be NULL in MEP client */
00106         AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT,
00107         /* MEP Mismatch */
00108         AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT,
00109 
00111         AXIS2_ERROR_TWO_WAY_CHANNEL_NEEDS_ADDRESSING,
00112 
00114         AXIS2_ERROR_UNKNOWN_TRANSPORT,
00115         /* Unsupported SOAP style */
00116         AXIS2_ERROR_UNSUPPORTED_TYPE,
00117         /* Options object is not set */
00118         AXIS2_ERROR_OPTIONS_OBJECT_IS_NOT_SET,
00119         /*
00120          * Group - core:clientapi:diclient
00121          */
00122 
00123         /*
00124          * Group - core:context
00125          */
00126 
00128         AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE,
00129 
00131         AXIS2_ERROR_INVALID_STATE_MSG_CTX,
00132 
00134         AXIS2_ERROR_INVALID_STATE_SVC,
00135 
00137         AXIS2_ERROR_INVALID_STATE_SVC_GRP,
00138 
00140         AXIS2_ERROR_SERVICE_NOT_YET_FOUND,
00141 
00142         /*
00143          * Group - core:deployment
00144          */
00145         /* Invalid phase found in phase validation */
00146         AXI2_ERROR_INVALID_PHASE,
00147         /* axis2.xml cannot be found */
00148         AXIS2_ERROR_CONFIG_NOT_FOUND,
00149         /* Data element of the OM Node is null */
00150         AXIS2_ERROR_DATA_ELEMENT_IS_NULL,
00151         /* In transport sender, Inflow is not allowed */
00152         AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT,
00153 
00155         AXIS2_ERROR_INVALID_HANDLER_STATE,
00156         /* Invalid Module Ref encountered */
00157         AXIS2_ERROR_INVALID_MODUELE_REF,
00158         /* Invalid Module Reference by Operation */
00159         AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP,
00160         /* Invalid Module Configuration */
00161         AXIS2_ERROR_INVALID_MODULE_CONF,
00162         /* Description Builder is found to be in invalid state */
00163         AXIS2_ERROR_INVALID_STATE_DESC_BUILDER,
00164         /* Module Not Found */
00165         AXIS2_ERROR_MODULE_NOT_FOUND,
00166         /* Module Validation Failed */
00167         AXIS2_ERROR_MODULE_VALIDATION_FAILED,
00168 
00170         AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE,
00171         /* No dispatcher found */
00172         AXIS2_ERROR_NO_DISPATCHER_FOUND,
00173         /* Operation name is missing */
00174         AXIS2_ERROR_OP_NAME_MISSING,
00175         /* In transport Receiver, Outflow is not allowed */
00176         AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN,
00177         /* Repository name cannot be NULL */
00178         AXIS2_ERROR_REPO_CAN_NOT_BE_NULL,
00179         /* Repository in path does not exist */
00180         AXIS2_ERROR_REPOSITORY_NOT_EXIST,
00181         /* Repository Listener initialization failed */
00182         AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED,
00183 
00185         AXIS2_ERROR_SERVICE_XML_NOT_FOUND,
00186         /* Service Name Error */
00187         AXIS2_ERROR_SVC_NAME_ERROR,
00188         /* Transport Sender Error */
00189         AXIS2_ERROR_TRANSPORT_SENDER_ERROR,
00190         /* Path to Config can not be NULL */
00191         AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL,
00192         /* Invalid Service */
00193         AXIS2_ERROR_INVALID_SVC,
00194 
00195 
00196         /*
00197          * Group - core:description
00198          */
00199         /* Cannot correlate message */
00200         AXIS2_ERROR_CANNOT_CORRELATE_MSG,
00201 
00203         AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT,
00204         /* Invalid message addition , operation context completed */
00205         AXIS2_ERROR_INVALID_MESSAGE_ADDITION,
00206 
00208         AXIS2_ERROR_INVALID_STATE_MODULE_DESC,
00209 
00211         AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER,
00212 
00214         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP,
00215 
00217         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC,
00218 
00220         AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP,
00221 
00223         AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE,
00224         /* schema list is empty or NULL in svc */
00225         AXIS2_ERROR_EMPTY_SCHEMA_LIST,
00226         /*
00227          * Group - core:engine
00228          */
00229 
00231         AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME,
00232 
00234         AXIS2_ERROR_INVALID_HANDLER_RULES,
00235         /* Invalid Module */
00236         AXIS2_ERROR_INVALID_MODULE,
00237 
00239         AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER,
00240 
00242         AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER,
00243 
00245         AXIS2_ERROR_INVALID_STATE_CONF,
00246 
00248         AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY,
00249 
00251         AXIS2_ERROR_NOWHERE_TO_SEND_FAULT,
00252 
00254         AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID,
00255 
00257         AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET,
00258 
00260         AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET,
00261 
00264         AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME,
00265         /*
00266          * Group - core:phase resolver
00267          */
00268         /* Invalid Module Ref */
00269         AXIS2_ERROR_INVALID_MODULE_REF,
00270         /* Invalid Phase */
00271         AXIS2_ERROR_INVALID_PHASE,
00272         /* No Transport Receiver is configured */
00273         AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED,
00274         /* No Transport Sender is configured */
00275         AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED,
00276         /* Phase is not specified */
00277         AXIS2_ERROR_PHASE_IS_NOT_SPECIFED,
00278         /* Service module can not refer global phase */
00279         AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE,
00280 
00281         /*
00282          * Group - core:wsdl
00283          */
00284 
00286         AXIS2_ERROR_WSDL_SCHEMA_IS_NULL,
00287         /*
00288          * Group - core:receivers
00289          */
00290         /* Om Element has invalid state */
00291         AXIS2_ERROR_OM_ELEMENT_INVALID_STATE,
00292         /* Om Elements do not match */
00293         AXIS2_ERROR_OM_ELEMENT_MISMATCH,
00294         /* RPC style SOAP body don't have a child element */
00295         AXIS2_ERROR_RPC_NEED_MATCHING_CHILD,
00296         /* Operation Description has unknown operation style  */
00297         AXIS2_ERROR_UNKNOWN_STYLE,
00298         /* String does not represent a valid NCName */
00299         AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME,
00300         /*
00301          * Group - core:transport
00302          */
00303 
00304         /*
00305          * Group - core:transport:http
00306          */
00307         /* Error occurred in transport */
00308         AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR,
00309 
00311         AXIS2_ERROR_HTTP_REQUEST_NOT_SENT,
00312 
00314         AXIS2_ERROR_INVALID_HEADER,
00315         /* Invalid header start line (request line or response line) */
00316         AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE,
00317         /* Transport protocol is unsupported by axis2 */
00318         AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL,
00319 
00321         AXIS2_ERROR_NULL_BODY,
00322         /* A valid conf_ctx is reqd for the http worker */
00323         AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT,
00324         /* HTTP version cannot be null in the status/request line */
00325         AXIS2_ERROR_NULL_HTTP_VERSION,
00326         /* Input stream is NULL in msg_ctx */
00327         AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX,
00328         /* OM output is NULL */
00329         AXIS2_ERROR_NULL_OM_OUTPUT,
00330         /* Null SOAP envelope in msg_ctx */
00331         AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX,
00332         /* NULL stream in the http chucked stream */
00333         AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM,
00334         /* We got a NULL stream in the response body */
00335         AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY,
00336 
00338         AXIS2_ERROR_NULL_URL,
00340         AXIS2_ERROR_INVALID_URL_FORMAT,
00342         AXIS2_ERROR_DUPLICATE_URL_REST_MAPPING,
00343         /* We need transport_info in msg_ctx */
00344         AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL,
00345         /*Content-Type header missing in HTTP response" */
00346         AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING,
00347 
00349         AXIS2_ERROR_RESPONSE_TIMED_OUT,
00350 
00352         AXIS2_ERROR_RESPONSE_SERVER_SHUTDOWN,
00353 
00355         AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL,
00356         /* Error occurred in SSL engine */
00357         AXIS2_ERROR_SSL_ENGINE,
00358         /* Either axis2c cannot find certificates or the env variable is not set */
00359         AXIS2_ERROR_SSL_NO_CA_FILE,
00360         /* Error in writing the response in response writer */
00361         AXIS2_ERROR_WRITING_RESPONSE,
00362         /* Required parameter is missing in URL encoded request */
00363         AXIS2_ERROR_REQD_PARAM_MISSING,
00364         /* Unsupported schema type in REST */
00365         AXIS2_ERROR_UNSUPPORTED_SCHEMA_TYPE,
00366         /* Service or operation not found */
00367         AXIS2_ERROR_SVC_OR_OP_NOT_FOUND,
00368         /*
00369          * Group - mod_addr
00370          */
00371         AXIS2_ERROR_NO_MSG_INFO_HEADERS,
00372         /*
00373          * Group - platforms
00374          */
00375 
00376         /*
00377          * Group - utils
00378          */
00379 
00381         AXIS2_ERROR_COULD_NOT_OPEN_FILE,
00382         /* Failed in creating DLL */
00383         AXIS2_ERROR_DLL_CREATE_FAILED,
00384         /* DLL loading failed */
00385         AXIS2_ERROR_DLL_LOADING_FAILED,
00386 
00388         AXIS2_ERROR_ENVIRONMENT_IS_NULL,
00389         /* Axis2 File does not have a file name */
00390         AXIS2_ERROR_FILE_NAME_NOT_SET,
00391         /* DLL Description Info Object has invalid state */
00392         AXIS2_ERROR_INVALID_STATE_DLL_DESC,
00393         /* Failed in creating Handler */
00394         AXIS2_ERROR_HANDLER_CREATION_FAILED,
00395 
00397         AXIS2_ERROR_INDEX_OUT_OF_BOUNDS,
00398 
00400         AXIS2_ERROR_INVALID_ADDRESS,
00401 
00403         AXIS2_ERROR_INVALID_FD,
00404 
00406         AXIS2_ERROR_INVALID_SOCKET,
00407 
00409         AXIS2_ERROR_INVALID_STATE_PARAM,
00410         /* Module create failed */
00411         AXIS2_ERROR_MODULE_CREATION_FAILED,
00412         /* Failed in creating Message Receiver */
00413         AXIS2_ERROR_MSG_RECV_CREATION_FAILED,
00414 
00416         AXIS2_ERROR_NO_SUCH_ELEMENT,
00417 
00419         AXIS2_ERROR_SOCKET_BIND_FAILED,
00420 
00422         AXIS2_ERROR_SOCKET_ERROR,
00423         /* Listen failed for the server socket */
00424         AXIS2_ERROR_SOCKET_LISTEN_FAILED,
00425         /* Failed in creating Service Skeleton */
00426         AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED,
00427         /* Failed in creating Transport Receiver */
00428         AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED,
00429         /* Failed in creating Transport Sender */
00430         AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED,
00431         /* Generation of platform dependent uuid failed */
00432         AXIS2_ERROR_UUID_GEN_FAILED,
00433         /* Possible deadlock */
00434         AXIS2_ERROR_POSSIBLE_DEADLOCK,
00435         /*
00436          * Group - WSDL
00437          */
00438         /* Interface or Port Type not found for the binding */
00439         AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING,
00440         /* Interfaces or Ports not found for the partially built WOM */
00441         AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM,
00442 
00444         AXIS2_ERROR_INVALID_STATE_WSDL_OP,
00445 
00447         AXIS2_ERROR_INVALID_STATE_WSDL_SVC,
00448         /* Cannot determine MEP */
00449         AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP,
00450         /* Wsdl binding name cannot be NULL(Is required) */
00451         AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED,
00452         /* PortType/Interface name cannot be null(Required) */
00453         AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED,
00454         /* Wsdl parsing has resulted in an invalid state */
00455         AXIS2_ERROR_WSDL_PARSER_INVALID_STATE,
00456         /* Wsdl svc name cannot be null(Required) */
00457         AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED,
00458         /*
00459          * Group - xml
00460          */
00461 
00462         /*
00463          * Group - xml:attachments
00464          */
00466         AXIS2_ERROR_ATTACHMENT_MISSING,
00467 
00468         /*
00469          * Group - xml:om
00470          */
00471 
00473         AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL,
00474 
00476         AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD,
00477 
00479         AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL,
00480 
00482         AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL,
00483 
00485         AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE,
00486 
00488         AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI,
00489 
00492         AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED,
00493 
00496         AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED,
00497 
00499         AXIS2_ERROR_XML_READER_ELEMENT_NULL,
00500 
00502         AXIS2_ERROR_XML_READER_VALUE_NULL,
00503         /*
00504          * Group - xml:parser
00505          */
00506 
00508         AXIS2_ERROR_CREATING_XML_STREAM_READER,
00509 
00511         AXIS2_ERROR_CREATING_XML_STREAM_WRITER,
00512 
00514         AXIS2_ERROR_WRITING_ATTRIBUTE,
00515 
00517         AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE,
00518 
00520         AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX,
00521 
00523         AXIS2_ERROR_WRITING_COMMENT,
00524 
00526         AXIS2_ERROR_WRITING_DATA_SOURCE,
00527 
00529         AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE,
00530 
00532         AXIS2_ERROR_WRITING_DTD,
00533 
00535         AXIS2_ERROR_WRITING_EMPTY_ELEMENT,
00536 
00538         AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE,
00539 
00541         AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX,
00542 
00544         AXIS2_ERROR_WRITING_END_DOCUMENT,
00545 
00547         AXIS2_ERROR_WRITING_END_ELEMENT,
00548 
00550         AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION,
00551 
00553         AXIS2_ERROR_WRITING_START_DOCUMENT,
00554 
00556         AXIS2_ERROR_WRITING_START_ELEMENT,
00557 
00559         AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE,
00560 
00562         AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX,
00563 
00565         AXIS2_ERROR_WRITING_CDATA,
00566 
00568         AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE,
00569 
00570         /*
00571          * Group - xml:SOAP
00572          */
00573 
00575         AXIS2_ERROR_INVALID_BASE_TYPE,
00576 
00578         AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI,
00579 
00581         AXIS2_ERROR_INVALID_SOAP_VERSION,
00582         /* invalid value found in must understand attribute */
00583         AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND,
00584         /*multiple code elements encountered in SOAP fault element */
00585         AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED,
00586         /*multiple detail elements encountered in SOAP fault element */
00587         AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED,
00588         /*multiple node elements encountered in SOAP fault element */
00589         AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED,
00590         /*multiple reason elements encountered in SOAP fault element */
00591         AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED,
00592         /*multiple role elements encountered in SOAP fault element */
00593         AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED,
00594         /*multiple sub code values encountered in SOAP fault element */
00595         AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED,
00596         /* multiple value elements encountered */
00597         AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT,
00598         /* must understand attribute should have values of true or false */
00599         AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE,
00600 
00602         AXIS2_ERROR_OM_ELEMENT_EXPECTED,
00603         /* processing SOAP 1.1 fault value element should have only
00604            text as its children */
00605         AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE,
00606 
00608         AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY,
00609         /*SOAP 1.1 fault actor element should not have child elements */
00610         AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS,
00611 
00614         AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY,
00615 
00617         AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER,
00618 
00620         AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED,
00621 
00623         AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED,
00624         /*SOAP fault code element should a mandatory fault value element */
00625         AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE,
00626         /*SOAP fault reason element should have a text */
00627         AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT,
00628         /*SOAP fault role element should have a text value */
00629         AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT,
00630         /* SOAP fault value should be present before sub code element in SOAP fault code */
00631         AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE,
00632 
00634         AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE,
00635         /*SOAP message first element must contain a localname */
00636         AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME,
00637         /* this localname is not supported inside a reason element */
00638         AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT,
00639         /*this localname is not supported inside a sub code element */
00640         AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT,
00641         /*this localname is not supported inside the code element */
00642         AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT,
00643         /*transport level identified SOAP version does not match with the SOAP version */
00644         AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP,
00645         /*unsupported element in SOAP fault element */
00646         AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT,
00647         /*wrong element order encountered */
00648         AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED,
00649         /*
00650          * Group - services
00651          */
00652 
00654         AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST,
00655 
00657         AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL,
00658 
00660         AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST,
00661 
00662         /*
00663          * Group - repos
00664          */
00665         /* not authenticated */
00666         AXIS2_ERROR_REPOS_NOT_AUTHENTICATED,
00667         /* unsupported mode */
00668         AXIS2_ERROR_REPOS_UNSUPPORTED_MODE,
00669         /* expired */
00670         AXIS2_ERROR_REPOS_EXPIRED,
00671         /* not implemented */
00672         AXIS2_ERROR_REPOS_NOT_IMPLEMENTED,
00673         /* not found */
00674         AXIS2_ERROR_REPOS_NOT_FOUND,
00675         /* bad search text */
00676         AXIS2_ERROR_REPOS_BAD_SEARCH_TEXT,
00677 
00678         /*
00679          *Group - Neethi
00680          */
00681         /*  No Namespace */
00682         AXIS2_ERROR_NEETHI_ELEMENT_WITH_NO_NAMESPACE,
00683         /*Policy cannot be created from element */
00684         AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED_FROM_ELEMENT,
00685         /*All Cannot be created from element */
00686         AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED_FROM_ELEMENT,
00687         /*Exactly one Cannot be created element */
00688         AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED_FROM_ELEMENT,
00689         /*Reference Cannot be created from element */
00690         AXIS2_ERROR_NEETHI_REFERENCE_CREATION_FAILED_FROM_ELEMENT,
00691         /*Assertion Cannot be created from element */
00692         AXIS2_ERROR_NEETHI_ASSERTION_CREATION_FAILED_FROM_ELEMENT,
00693         /*All creation failed */
00694         AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED,
00695         /*Exactly one creation failed */
00696         AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED,
00697         /*Policy Creation failed */
00698         AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED,
00699         /*Normalization failed */
00700         AXIS2_ERROR_NEETHI_NORMALIZATION_FAILED,
00701         /*Merging Failed. Wrong Input */
00702         AXIS2_ERROR_NEETHI_WRONG_INPUT_FOR_MERGE,
00703         /*Merging Failed. Cross Product failed */
00704         AXIS2_ERROR_NEETHI_CROSS_PRODUCT_FAILED,
00705         /*No Children Policy Components */
00706         AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS,
00707         /*Uri Not specified */
00708         AXIS2_ERROR_NEETHI_URI_NOT_SPECIFIED,
00709         /*Policy NULL for the given uri */
00710         AXIS2_ERROR_NEETHI_NO_ENTRY_FOR_THE_GIVEN_URI,
00711         /*Exactly one not found in Normalized policy */
00712         AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY,
00713         /*Exactly one is Empty */
00714         AXIS2_ERROR_NEETHI_EXACTLYONE_IS_EMPTY,
00715         /*Exactly one not found while getting cross product */
00716         AXIS2_ERROR_NEETHI_ALL_NOT_FOUND_WHILE_GETTING_CROSS_PRODUCT,
00717         /*Unknown Assertion*/
00718         AXIS2_ERROR_NEETHI_UNKNOWN_ASSERTION,
00725         AXIS2_ERROR_LAST
00726     };
00727 
00728     struct axutil_error;
00729     typedef enum axis2_status_codes axis2_status_codes_t;
00730     typedef enum axutil_error_codes axutil_error_codes_t;
00731 
00743     typedef struct axutil_error
00744     {
00750         axutil_allocator_t *allocator;
00751 
00753         int error_number;
00755         int status_code;
00761         axis2_char_t *message;
00762     }
00763     axutil_error_t;
00764 
00770     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00771     axutil_error_get_message(
00772         const struct axutil_error *error);
00773 
00782     /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00783     axutil_error_get_extended_message(
00784         const struct axutil_error *error);*/
00785 
00792     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00793     axutil_error_set_error_number(
00794         struct axutil_error *error,
00795         axutil_error_codes_t error_number);
00796 
00803     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00804     axutil_error_set_status_code(
00805         struct axutil_error *error,
00806         axis2_status_codes_t status_code);
00807 
00813     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00814     axutil_error_get_status_code(
00815         struct axutil_error *error);
00816 
00823     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00824     axutil_error_set_error_message(
00825         struct axutil_error *error,
00826         axis2_char_t *message);
00827 
00834     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00835     axutil_error_init(void);
00836 
00842     AXIS2_EXTERN void AXIS2_CALL
00843     axutil_error_free(
00844         struct axutil_error *error);
00845 
00851 #define AXIS2_ERROR_FREE(error) axutil_error_free(error)
00852 
00853 #define AXIS2_ERROR_GET_MESSAGE(error) \
00854     axutil_error_get_message(error)
00855 
00856 #define AXIS2_ERROR_SET_MESSAGE(error, message) \
00857     axutil_error_set_error_message(error, message)
00858 
00859 #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \
00860         axutil_error_set_error_number(error, error_number)
00861 
00862 #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \
00863         axutil_error_set_status_code(error, status_code)
00864 
00865 #define AXIS2_ERROR_GET_STATUS_CODE(error) axutil_error_get_status_code(error)
00866 
00869 #ifdef __cplusplus
00870 }
00871 #endif
00872 
00873 #endif                          /* AXIS2_ERROR_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__defines_8h.html0000644000175000017500000001201711172017604023450 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_defines.h File Reference

axis2_defines.h File Reference

Useful definitions, which may have platform concerns. More...

#include <stddef.h>
#include <axutil_utils_defines.h>

Go to the source code of this file.

Defines

#define AXIS2_IN_FLOW   1
#define AXIS2_OUT_FLOW   2
#define AXIS2_FAULT_IN_FLOW   3
#define AXIS2_FAULT_OUT_FLOW   4


Detailed Description

Useful definitions, which may have platform concerns.


Define Documentation

#define AXIS2_FAULT_IN_FLOW   3

Axis2 fault in flow

#define AXIS2_FAULT_OUT_FLOW   4

Axis2 fault out flow

#define AXIS2_IN_FLOW   1

Axis2 in flow

#define AXIS2_OUT_FLOW   2

Axis2 out flow


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg_8h.html0000644000175000017500000003130311172017604022620 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg.h File Reference

axis2_msg.h File Reference

#include <axutil_param_container.h>
#include <axis2_op.h>
#include <axutil_array_list.h>
#include <axis2_description.h>
#include <axis2_phase_meta.h>

Go to the source code of this file.

Defines

#define AXIS2_MSG_IN   "in"
#define AXIS2_MSG_OUT   "out"
#define AXIS2_MSG_IN_FAULT   "InFaultMessage"
#define AXIS2_MSG_OUT_FAULT   "OutFaultMessage"

Typedefs

typedef struct axis2_msg axis2_msg_t

Functions

AXIS2_EXTERN
axis2_msg_t
axis2_msg_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_msg_free (axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_add_param (axis2_msg_t *msg, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_msg_get_param (const axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_get_all_params (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_is_param_locked (axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_parent (axis2_msg_t *msg, const axutil_env_t *env, axis2_op_t *op)
AXIS2_EXTERN axis2_op_taxis2_msg_get_parent (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_get_flow (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_flow (axis2_msg_t *msg, const axutil_env_t *env, axutil_array_list_t *flow)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_get_direction (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_direction (axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *direction)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_msg_get_element_qname (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_element_qname (axis2_msg_t *msg, const axutil_env_t *env, const axutil_qname_t *element_qname)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_get_name (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_name (axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_desc_t
axis2_msg_get_base (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_msg_get_param_container (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_increment_ref (axis2_msg_t *msg, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__result-members.html0000644000175000017500000000437411172017604027310 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xpath_result Member List

This is the complete list of members for axiom_xpath_result, including all inherited members.

flagaxiom_xpath_result
nodesaxiom_xpath_result


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__sender_8h-source.html0000644000175000017500000003357211172017604027075 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_sender.h Source File

axis2_transport_sender.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_TRANSPORT_SENDER_H
00020 #define AXIS2_TRANSPORT_SENDER_H
00021 
00033 #include <axis2_const.h>
00034 #include <axutil_error.h>
00035 #include <axis2_defines.h>
00036 #include <axutil_env.h>
00037 #include <axutil_allocator.h>
00038 #include <axis2_transport_out_desc.h>
00039 #include <axis2_ctx.h>
00040 #include <axis2_msg_ctx.h>
00041 
00042 #ifdef __cplusplus
00043 extern "C"
00044 {
00045 #endif
00046 
00047     struct axis2_transport_out_desc;
00048     struct axis2_ctx;
00049     struct axis2_msg_ctx;
00050     struct axis2_handler;
00051 
00053     typedef struct axis2_transport_sender axis2_transport_sender_t;
00054 
00056     typedef struct axis2_transport_sender_ops axis2_transport_sender_ops_t;
00057 
00062     struct axis2_transport_sender_ops
00063     {
00064 
00073         axis2_status_t(
00074             AXIS2_CALL
00075             * init)(
00076                 axis2_transport_sender_t * transport_sender,
00077                 const axutil_env_t * env,
00078                 struct axis2_conf_ctx * conf_ctx,
00079                 struct axis2_transport_out_desc * transport_out);
00080 
00088         axis2_status_t(
00089             AXIS2_CALL
00090             * invoke)(
00091                 axis2_transport_sender_t * transport_sender,
00092                 const axutil_env_t * env,
00093                 struct axis2_msg_ctx * msg_ctx);
00094 
00102         axis2_status_t(
00103             AXIS2_CALL
00104             * cleanup)(
00105                 axis2_transport_sender_t * transport_sender,
00106                 const axutil_env_t * env,
00107                 struct axis2_msg_ctx * msg_ctx);
00108 
00114         void(
00115             AXIS2_CALL
00116             * free)(
00117                 axis2_transport_sender_t * transport_sender,
00118                 const axutil_env_t * env);
00119 
00120     };
00121 
00127     struct axis2_transport_sender
00128     {
00129 
00131         const axis2_transport_sender_ops_t *ops;
00132     };
00133 
00139     AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL
00140 
00141     axis2_transport_sender_create(
00142         const axutil_env_t * env);
00143 
00144     /*************************** Function macros **********************************/
00145 
00148 #define AXIS2_TRANSPORT_SENDER_FREE(transport_sender, env) \
00149       ((transport_sender->ops)->free (transport_sender, env))
00150 
00153 #define AXIS2_TRANSPORT_SENDER_INIT(transport_sender, env, conf_context, transport_out) \
00154       ((transport_sender->ops)->init (transport_sender, env, conf_context, transport_out))
00155 
00158 #define AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx) \
00159       ((transport_sender->ops)->invoke (transport_sender, env, msg_ctx))
00160 
00163 #define AXIS2_TRANSPORT_SENDER_CLEANUP(transport_sender, env, msg_ctx) \
00164       ((transport_sender->ops)->cleanup (transport_sender, env, msg_ctx))
00165 
00166     /*************************** End of function macros ***************************/
00167 
00170 #ifdef __cplusplus
00171 }
00172 #endif
00173 #endif                          /* AXIS2_TRANSPORT_SENDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__op_8h-source.html0000644000175000017500000011527511172017604023761 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_op.h Source File

axis2_op.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_OP_H
00020 #define AXIS2_OP_H
00021 
00040 #include <axutil_param_container.h>
00041 #include <axis2_svc.h>
00042 #include <axis2_msg_recv.h>
00043 #include <axutil_array_list.h>
00044 #include <axis2_module_desc.h>
00045 #include <axis2_description.h>
00046 #include <axis2_phase_meta.h>
00047 #include <axis2_relates_to.h>
00048 #include <axis2_msg_ctx.h>
00049 #include <axis2_op_ctx.h>
00050 #include <axis2_svc_ctx.h>
00051 
00052 #ifdef __cplusplus
00053 extern "C"
00054 {
00055 #endif
00056 
00058     typedef struct axis2_op axis2_op_t;
00059 
00060     struct axis2_svc;
00061     struct axis2_msg_recv;
00062     struct axutil_param_container;
00063     struct axis2_module_desc;
00064     struct axis2_op;
00065     struct axis2_relates_to;
00066     struct axis2_op_ctx;
00067     struct axis2_svc_ctx;
00068     struct axis2_msg_ctx;
00069     struct axis2_msg;
00070     struct axis2_conf;
00071 
00073 #define AXIS2_SOAP_ACTION "soapAction"
00074 
00080     AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00081     axis2_op_create(
00082         const axutil_env_t * env);
00083 
00090     AXIS2_EXTERN void AXIS2_CALL
00091     axis2_op_free(
00092         axis2_op_t * op,
00093         const axutil_env_t * env);
00094 
00101     AXIS2_EXTERN void AXIS2_CALL
00102     axis2_op_free_void_arg(
00103         void *op,
00104         const axutil_env_t * env);
00105 
00114     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00115     axis2_op_add_param(
00116         axis2_op_t * op,
00117         const axutil_env_t * env,
00118         axutil_param_t * param);
00119 
00128     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00129     axis2_op_get_param(
00130         const axis2_op_t * op,
00131         const axutil_env_t * env,
00132         const axis2_char_t * name);
00133 
00141     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00142     axis2_op_get_all_params(
00143         const axis2_op_t * op,
00144         const axutil_env_t * env);
00145 
00153     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00154     axis2_op_is_param_locked(
00155         axis2_op_t * op,
00156         const axutil_env_t * env,
00157         const axis2_char_t * param_name);
00158 
00167     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00168     axis2_op_set_parent(
00169         axis2_op_t * op,
00170         const axutil_env_t * env,
00171         struct axis2_svc *svc);
00172 
00180     AXIS2_EXTERN struct axis2_svc *AXIS2_CALL
00181     axis2_op_get_parent(
00182         const axis2_op_t * op,
00183         const axutil_env_t * env);
00184 
00193     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00194     axis2_op_set_rest_http_method(
00195         axis2_op_t * op,
00196         const axutil_env_t * env,
00197         const axis2_char_t * rest_http_method);
00198 
00206     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00207     axis2_op_get_rest_http_method(
00208         const axis2_op_t * op,
00209         const axutil_env_t * env);
00210 
00219     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00220     axis2_op_set_rest_http_location(
00221         axis2_op_t * op,
00222         const axutil_env_t * env,
00223         const axis2_char_t * rest_http_location);
00224 
00232     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00233     axis2_op_get_rest_http_location(
00234         const axis2_op_t * op,
00235         const axutil_env_t * env);
00236 
00245     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00246     axis2_op_set_qname(
00247         axis2_op_t * op,
00248         const axutil_env_t * env,
00249         const axutil_qname_t * qname);
00250 
00257     AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL
00258     axis2_op_get_qname(
00259         void *op,
00260         const axutil_env_t * env);
00261 
00269     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00270     axis2_op_set_msg_exchange_pattern(
00271         axis2_op_t * op,
00272         const axutil_env_t * env,
00273         const axis2_char_t * pattern);
00274 
00281     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00282 
00283     axis2_op_get_msg_exchange_pattern(
00284         const axis2_op_t * op,
00285         const axutil_env_t * env);
00286 
00296     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00297     axis2_op_set_msg_recv(
00298         axis2_op_t * op,
00299         const axutil_env_t * env,
00300         struct axis2_msg_recv *msg_recv);
00301 
00310     AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL
00311                 axis2_op_get_msg_recv(
00312                     const axis2_op_t * op,
00313                     const axutil_env_t * env);
00314 
00322     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00323     axis2_op_get_style(
00324         const axis2_op_t * op,
00325         const axutil_env_t * env);
00326 
00335     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00336     axis2_op_set_style(
00337         axis2_op_t * op,
00338         const axutil_env_t * env,
00339         const axis2_char_t * style);
00340 
00351     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00352     axis2_op_engage_module(
00353         axis2_op_t * op,
00354         const axutil_env_t * env,
00355         struct axis2_module_desc *module_desc,
00356         struct axis2_conf *conf);
00357 
00366     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00367 
00368     axis2_op_add_to_engaged_module_list(
00369         axis2_op_t * op,
00370         const axutil_env_t * env,
00371         struct axis2_module_desc *module_dec);
00372 
00379     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00380     axis2_op_get_all_modules(
00381         const axis2_op_t * op,
00382         const axutil_env_t * env);
00383 
00391     AXIS2_EXTERN int AXIS2_CALL
00392     axis2_op_get_axis_specific_mep_const(
00393         axis2_op_t * op,
00394         const axutil_env_t * env);
00395 
00404     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00405     axis2_op_get_fault_in_flow(
00406         const axis2_op_t * op,
00407         const axutil_env_t * env);
00408 
00417     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00418     axis2_op_get_fault_out_flow(
00419         const axis2_op_t * op,
00420         const axutil_env_t * env);
00421 
00430     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00431     axis2_op_get_out_flow(
00432         const axis2_op_t * op,
00433         const axutil_env_t * env);
00434 
00443     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00444     axis2_op_get_in_flow(
00445         const axis2_op_t * op,
00446         const axutil_env_t * env);
00447 
00457     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00458     axis2_op_set_fault_in_flow(
00459         axis2_op_t * op,
00460         const axutil_env_t * env,
00461         axutil_array_list_t * list);
00462 
00472     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00473     axis2_op_set_fault_out_flow(
00474         axis2_op_t * op,
00475         const axutil_env_t * env,
00476         axutil_array_list_t * list);
00477 
00487     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00488     axis2_op_set_out_flow(
00489         axis2_op_t * op,
00490         const axutil_env_t * env,
00491         axutil_array_list_t * list);
00492 
00502     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00503     axis2_op_set_in_flow(
00504         axis2_op_t * op,
00505         const axutil_env_t * env,
00506         axutil_array_list_t * list);
00507 
00516     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00517     axis2_op_add_module_qname(
00518         axis2_op_t * op,
00519         const axutil_env_t * env,
00520         const axutil_qname_t * module_qname);
00521 
00529     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00530 
00531     axis2_op_get_all_module_qnames(
00532         const axis2_op_t * op,
00533         const axutil_env_t * env);
00534 
00546     AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00547                 axis2_op_find_op_ctx(
00548                     axis2_op_t * op,
00549                     const axutil_env_t * env,
00550                     struct axis2_msg_ctx *msg_ctx,
00551                     struct axis2_svc_ctx *svc_ctx);
00552 
00564     AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL
00565 
00566                 axis2_op_find_existing_op_ctx(
00567                     axis2_op_t * op,
00568                     const axutil_env_t * env,
00569                     const struct axis2_msg_ctx *msg_ctx);
00570 
00582     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00583     axis2_op_register_op_ctx(
00584         axis2_op_t * op,
00585         const axutil_env_t * env,
00586         struct axis2_msg_ctx *msg_ctx,
00587         struct axis2_op_ctx *op_ctx);
00588 
00596     AXIS2_EXTERN struct axis2_msg *AXIS2_CALL
00597                 axis2_op_get_msg(
00598                     const axis2_op_t * op,
00599                     const axutil_env_t * env,
00600                     const axis2_char_t * label);
00601 
00610     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00611     axis2_op_add_msg(
00612         axis2_op_t * op,
00613         const axutil_env_t * env,
00614         const axis2_char_t * label,
00615         const struct axis2_msg *msg);
00616 
00623     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00624     axis2_op_is_from_module(
00625         const axis2_op_t * op,
00626         const axutil_env_t * env);
00627 
00635     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00636     axis2_op_set_wsamapping_list(
00637         axis2_op_t * op,
00638         const axutil_env_t * env,
00639         axutil_array_list_t * mapping_list);
00640 
00647     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00648 
00649     axis2_op_get_wsamapping_list(
00650         axis2_op_t * op,
00651         const axutil_env_t * env);
00652 
00653     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00654 
00655     axis2_op_get_param_container(
00656         const axis2_op_t * op,
00657         const axutil_env_t * env);
00658 
00659     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00660 
00661     axis2_op_remove_from_engaged_module_list(
00662         axis2_op_t * op,
00663         const axutil_env_t * env,
00664         struct axis2_module_desc *module_desc);
00665 
00671     AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00672     axis2_op_create_from_module(
00673         const axutil_env_t * env);
00674 
00681     AXIS2_EXTERN axis2_op_t *AXIS2_CALL
00682     axis2_op_create_with_qname(
00683         const axutil_env_t * env,
00684         const axutil_qname_t * name);
00685 
00693     AXIS2_EXTERN void AXIS2_CALL
00694     axis2_op_free_void_arg(
00695         void *op,
00696         const axutil_env_t * env);
00697 
00704     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00705     axis2_op_get_base(
00706         const axis2_op_t * op,
00707         const axutil_env_t * env);
00708 
00710 #ifdef __cplusplus
00711 }
00712 #endif
00713 #endif                          /* AXIS2_OP_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__base64__binary_8h.html0000644000175000017500000001712411172017604025106 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_base64_binary.h File Reference

axutil_base64_binary.h File Reference

axis2-util base64 encoding holder More...

#include <axutil_base64.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Typedefs

typedef struct
axutil_base64_binary 
axutil_base64_binary_t

Functions

AXIS2_EXTERN
axutil_base64_binary_t
axutil_base64_binary_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_base64_binary_t
axutil_base64_binary_create_with_plain_binary (const axutil_env_t *env, const unsigned char *plain_binary, int plain_binary_len)
AXIS2_EXTERN
axutil_base64_binary_t
axutil_base64_binary_create_with_encoded_binary (const axutil_env_t *env, const char *encoded_binary)
AXIS2_EXTERN void axutil_base64_binary_free (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_base64_binary_set_plain_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env, const unsigned char *plain_binary, int plain_binary_len)
AXIS2_EXTERN
unsigned char * 
axutil_base64_binary_get_plain_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env, int *plain_binary_len)
AXIS2_EXTERN
axis2_status_t 
axutil_base64_binary_set_encoded_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env, const char *encoded_binary)
AXIS2_EXTERN char * axutil_base64_binary_get_encoded_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)
AXIS2_EXTERN int axutil_base64_binary_get_encoded_binary_len (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)
AXIS2_EXTERN int axutil_base64_binary_get_decoded_binary_len (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)


Detailed Description

axis2-util base64 encoding holder


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__wss10.html0000644000175000017500000001741711172017604022530 0ustar00manjulamanjula00000000000000 Axis2/C: Wss10

Wss10


Typedefs

typedef struct rp_wss10_t rp_wss10_t

Functions

AXIS2_EXTERN rp_wss10_t * rp_wss10_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_wss10_free (rp_wss10_t *wss10, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t rp_wss10_get_must_support_ref_key_identifier (rp_wss10_t *wss10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss10_set_must_support_ref_key_identifier (rp_wss10_t *wss10, const axutil_env_t *env, axis2_bool_t must_support_ref_key_identifier)
AXIS2_EXTERN axis2_bool_t rp_wss10_get_must_support_ref_issuer_serial (rp_wss10_t *wss10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss10_set_must_support_ref_issuer_serial (rp_wss10_t *wss10, const axutil_env_t *env, axis2_bool_t must_support_ref_issuer_serial)
AXIS2_EXTERN axis2_bool_t rp_wss10_get_must_support_ref_external_uri (rp_wss10_t *wss10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss10_set_must_support_ref_external_uri (rp_wss10_t *wss10, const axutil_env_t *env, axis2_bool_t must_support_ref_external_uri)
AXIS2_EXTERN axis2_bool_t rp_wss10_get_must_support_ref_embedded_token (rp_wss10_t *wss10, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss10_set_must_support_ref_embedded_token (rp_wss10_t *wss10, const axutil_env_t *env, axis2_bool_t must_support_ref_embedded_token)
AXIS2_EXTERN
axis2_status_t 
rp_wss10_increment_ref (rp_wss10_t *wss10, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__assymmetric__symmetric__binding__commons.html0000644000175000017500000002555711172017604032735 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_assymmetric_symmetric_binding_commons

Rp_assymmetric_symmetric_binding_commons


Typedefs

typedef struct
rp_symmetric_asymmetric_binding_commons_t 
rp_symmetric_asymmetric_binding_commons_t

Functions

AXIS2_EXTERN
rp_symmetric_asymmetric_binding_commons_t * 
rp_symmetric_asymmetric_binding_commons_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_symmetric_asymmetric_binding_commons_free (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
rp_binding_commons_t * 
rp_symmetric_asymmetric_binding_commons_get_binding_commons (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_asymmetric_binding_commons_set_binding_commons (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env, rp_binding_commons_t *binding_commons)
AXIS2_EXTERN axis2_bool_t rp_symmetric_asymmetric_binding_commons_get_signature_protection (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_asymmetric_binding_commons_set_signature_protection (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env, axis2_bool_t signature_protection)
AXIS2_EXTERN axis2_bool_t rp_symmetric_asymmetric_binding_commons_get_token_protection (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_asymmetric_binding_commons_set_token_protection (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env, axis2_bool_t token_protection)
AXIS2_EXTERN axis2_bool_t rp_symmetric_asymmetric_binding_commons_get_entire_headers_and_body_signatures (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signatures (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env, axis2_bool_t entire_headers_and_body_signatures)
AXIS2_EXTERN
axis2_char_t * 
rp_symmetric_asymmetric_binding_commons_get_protection_order (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_symmetric_asymmetric_binding_commons_set_protection_order (rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons, const axutil_env_t *env, axis2_char_t *protection_order)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__defines.html0000644000175000017500000020732611172017604024030 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_defines

Rp_defines


Defines

#define RP_POLICY   "Policy"
#define RP_EXACTLY_ONE   "ExactlyOne"
#define RP_ALL   "All"
#define RP_SYMMETRIC_BINDING   "SymmetricBinding"
#define RP_ASYMMETRIC_BINDING   "AsymmetricBinding"
#define RP_TRANSPORT_BINDING   "TransportBinding"
#define RP_SIGNED_SUPPORTING_TOKENS   "SignedSupportingTokens"
#define RP_SIGNED_ENDORSING_SUPPORTING_TOKENS   "SignedEndorsingSupportingTokens"
#define RP_SUPPORTING_TOKENS   "SupportingTokens"
#define RP_ENDORSING_SUPPORTING_TOKENS   "EndorsingSupportingTokens"
#define RP_SIGNED_PARTS   "SignedParts"
#define RP_SIGNED_ELEMENTS   "SignedElements"
#define RP_ENCRYPTED_PARTS   "EncryptedParts"
#define RP_ENCRYPTED_ELEMENTS   "EncryptedElements"
#define RP_SIGNED_ITEMS   "SignedItems"
#define RP_ENCRYPTED_ITEMS   "EncryptedItems"
#define RP_BODY   "Body"
#define RP_HEADER   "Header"
#define RP_NAME   "Name"
#define RP_NAMESPACE   "Namespace"
#define RP_ELEMENT   "Element"
#define RP_ATTACHMENTS   "Attachments"
#define RP_XPATH   "XPath"
#define RP_XPATH_VERSION   "XPathVersion"
#define RP_WSS10   "Wss10"
#define RP_WSS11   "Wss11"
#define RP_TRUST10   "Trust10"
#define RP_TRUST13   "Trust13"
#define RP_MUST_SUPPORT_REF_KEY_IDENTIFIER   "MustSupportRefKeyIdentifier"
#define RP_MUST_SUPPORT_REF_ISSUER_SERIAL   "MustSupportRefIssuerSerial"
#define RP_MUST_SUPPORT_REF_EXTERNAL_URI   "MustSupportRefExternalURI"
#define RP_MUST_SUPPORT_REF_EMBEDDED_TOKEN   "MustSupportRefEmbeddedToken"
#define RP_MUST_SUPPORT_REF_THUMBPRINT   "MustSupportRefThumbprint"
#define RP_MUST_SUPPORT_REF_ENCRYPTED_KEY   "MustSupportRefEncryptedKey"
#define RP_REQUIRE_SIGNATURE_CONFIRMATION   "RequireSignatureConfirmation"
#define RP_MUST_SUPPORT_CLIENT_CHALLENGE   "MustSupportClientChallenge"
#define RP_MUST_SUPPORT_SERVER_CHALLENGE   "MustSupportServerChallenge"
#define RP_REQUIRE_CLIENT_ENTROPY   "RequireClientEntropy"
#define RP_REQUIRE_SERVER_ENTROPHY   "RequireServerEntropy"
#define RP_MUST_SUPPORT_ISSUED_TOKENS   "MustSupportIssuedTokens"
#define RP_PROTECTION_TOKEN   "ProtectionToken"
#define RP_ENCRYPTION_TOKEN   "EncryptionToken"
#define RP_SIGNATURE_TOKEN   "SignatureToken"
#define RP_INITIATOR_TOKEN   "InitiatorToken"
#define RP_RECIPIENT_TOKEN   "RecipientToken"
#define RP_TRANSPORT_TOKEN   "TransportToken"
#define RP_ALGORITHM_SUITE   "AlgorithmSuite"
#define RP_LAYOUT   "Layout"
#define RP_INCLUDE_TIMESTAMP   "IncludeTimestamp"
#define RP_ENCRYPT_BEFORE_SIGNING   "EncryptBeforeSigning"
#define RP_SIGN_BEFORE_ENCRYPTING   "SignBeforeEncrypting"
#define RP_ENCRYPT_SIGNATURE   "EncryptSignature"
#define RP_PROTECT_TOKENS   "ProtectTokens"
#define RP_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY   "OnlySignEntireHeadersAndBody"
#define RP_ALGO_SUITE_BASIC256   "Basic256"
#define RP_ALGO_SUITE_BASIC192   "Basic192"
#define RP_ALGO_SUITE_BASIC128   "Basic128"
#define RP_ALGO_SUITE_TRIPLE_DES   "TripleDes"
#define RP_ALGO_SUITE_BASIC256_RSA15   "Basic256Rsa15"
#define RP_ALGO_SUITE_BASIC192_RSA15   "Basic192Rsa15"
#define RP_ALGO_SUITE_BASIC128_RSA15   "Basic128Rsa15"
#define RP_ALGO_SUITE_TRIPLE_DES_RSA15   "TripleDesRsa15"
#define RP_ALGO_SUITE_BASIC256_SHA256   "Basic256Sha256"
#define RP_ALGO_SUITE_BASIC192_SHA256   "Basic192Sha256"
#define RP_ALGO_SUITE_BASIC128_SHA256   "Basic128Sha256"
#define RP_ALGO_SUITE_TRIPLE_DES_SHA256   "TripleDesSha256"
#define RP_ALGO_SUITE_BASIC256_SHA256_RSA15   "Basic256Sha256Rsa15"
#define RP_ALGO_SUITE_BASIC192_SHA256_RSA15   "Basic192Sha256Rsa15"
#define RP_ALGO_SUITE_BASIC128_SHA256_RSA15   "Basic128Sha256Rsa15"
#define RP_ALGO_SUITE_TRIPLE_DES_SHA256_RSA15   "TripleDesSha256Rsa15"
#define RP_HMAC_SHA1   "http://www.w3.org/2000/09/xmldsig#hmac-sha1"
#define RP_RSA_SHA1   "http://www.w3.org/2000/09/xmldsig#rsa-sha1"
#define RP_SHA1   "http://www.w3.org/2000/09/xmldsig#sha1"
#define RP_SHA256   "http://www.w3.org/2001/04/xmlenc#sha256"
#define RP_SHA512   "http://www.w3.org/2001/04/xmlenc#sha512"
#define RP_AES128   "http://www.w3.org/2001/04/xmlenc#aes128-cbc"
#define RP_AES192   "http://www.w3.org/2001/04/xmlenc#aes192-cbc"
#define RP_AES256   "http://www.w3.org/2001/04/xmlenc#aes256-cbc"
#define RP_TRIPLE_DES   "http://www.w3.org/2001/04/xmlenc#tripledes-cbc"
#define RP_KW_AES128   "http://www.w3.org/2001/04/xmlenc#kw-aes256"
#define RP_KW_AES192   "http://www.w3.org/2001/04/xmlenc#kw-aes192"
#define RP_KW_AES256   "http://www.w3.org/2001/04/xmlenc#kw-aes128"
#define RP_KW_TRIPLE_DES   "http://www.w3.org/2001/04/xmlenc#kw-tripledes"
#define RP_KW_RSA_OAEP   "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p"
#define RP_KW_RSA15   "http://www.w3.org/2001/04/xmlenc#rsa-1_5"
#define RP_P_SHA1   "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
#define RP_P_SHA1_L128   "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
#define RP_P_SHA1_L192   "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
#define RP_P_SHA1_L256   "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1"
#define RP_X_PATH   "http://www.w3.org/TR/1999/REC-xpath-19991116"
#define RP_XPATH20   "http://www.w3.org/2002/06/xmldsig-filter2"
#define RP_C14N   "http://www.w3.org/2001/10/xml-c14n#"
#define RP_EX_C14N   "http://www.w3.org/2001/10/xml-exc-c14n#"
#define RP_SNT   "http://www.w3.org/TR/soap12-n11n"
#define RP_STRT10   "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform"
#define RP_INCLUSIVE_C14N   "InclusiveC14N"
#define RP_SOAP_NORMALIZATION_10   "SoapNormalization10"
#define RP_STR_TRANSFORM_10   "STRTransform10"
#define RP_XPATH10   "XPath10"
#define RP_XPATH_FILTER20   "XPathFilter20"
#define RP_LAYOUT_STRICT   "Strict"
#define RP_LAYOUT_LAX   "Lax"
#define RP_LAYOUT_LAX_TIMESTAMP_FIRST   "LaxTimestampFirst"
#define RP_LAYOUT_LAX_TIMESTAMP_LAST   "LaxTimestampLast"
#define RP_USERNAME_TOKEN   "UsernameToken"
#define RP_X509_TOKEN   "X509Token"
#define RP_SAML_TOKEN   "SamlToken"
#define RP_ISSUED_TOKEN   "IssuedToken"
#define RP_SECURITY_CONTEXT_TOKEN   "SecurityContextToken"
#define RP_SECURE_CONVERSATION_TOKEN   "SecureConversationToken"
#define RP_HTTPS_TOKEN   "HttpsToken"
#define RP_INCLUDE_TOKEN   "IncludeToken"
#define RP_INCLUDE_ALWAYS   "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always"
#define RP_INCLUDE_NEVER   "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never"
#define RP_INCLUDE_ONCE   "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once"
#define RP_INCLUDE_ALWAYS_TO_RECIPIENT   "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"
#define RP_INCLUDE_NEVER_SP12   "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never"
#define RP_INCLUDE_ONCE_SP12   "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once"
#define RP_INCLUDE_ALWAYS_TO_RECIPIENT_SP12   "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient"
#define RP_INCLUDE_ALWAYS_TO_INITIATOR_SP12   "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToInitiator"
#define RP_INCLUDE_ALWAYS_SP12   "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always"
#define RP_REQUEST_SEC_TOKEN_TEMPLATE   "RequestSecurityTokenTemplate"
#define RP_REQUIRE_KEY_IDENTIFIRE_REFERENCE   "RequireKeyIdentifierReference"
#define RP_REQUIRE_ISSUER_SERIAL_REFERENCE   "RequireIssuerSerialReference"
#define RP_REQUIRE_EMBEDDED_TOKEN_REFERENCE   "RequireEmbeddedTokenReference"
#define RP_REQUIRE_THUMBPRINT_REFERENCE   "RequireThumbprintReference"
#define RP_REQUIRE_DERIVED_KEYS   "RequireDerivedKeys"
#define RP_REQUIRE_EXTERNAL_REFERENCE   "RequireExternalReference"
#define RP_REQUIRE_INTERNAL_REFERENCE   "RequireInternalReference"
#define RP_WSS_X509_V1_TOKEN_10   "WssX509V1Token10"
#define RP_WSS_X509_V3_TOKEN_10   "WssX509V3Token10"
#define RP_WSS_X509_PKCS7_TOKEN_10   "WssX509Pkcs7Token10"
#define RP_WSS_X509_PKI_PATH_V1_TOKEN_10   "WssX509PkiPathV1Token10"
#define RP_WSS_X509_V1_TOKEN_11   "WssX509V1Token11"
#define RP_WSS_X509_V3_TOKEN_11   "WssX509V3Token11"
#define RP_WSS_X509_PKCS7_TOKEN_11   "WssX509Pkcs7Token11"
#define RP_WSS_X509_PKI_PATH_V1_TOKEN_11   "WssX509PkiPathV1Token11"
#define RP_WSS_USERNAME_TOKEN_10   "WssUsernameToken10"
#define RP_WSS_USERNAME_TOKEN_11   "WssUsernameToken11"
#define RP_WSS_SAML_V10_TOKEN_V10   "WssSamlV10Token10"
#define RP_WSS_SAML_V11_TOKEN_V10   "WssSamlV11Token10"
#define RP_WSS_SAML_V10_TOKEN_V11   "WssSamlV10Token11"
#define RP_WSS_SAML_V11_TOKEN_V11   "WssSamlV11Token11"
#define RP_WSS_SAML_V20_TOKEN_V11   "WssSamlV20Token11"
#define RP_REQUIRE_EXTERNAL_URI_REFERENCE   "RequireExternalUriReference"
#define RP_SC10_SECURITY_CONTEXT_TOKEN   "SC10SecurityContextToken"
#define RP_SC13_SECURITY_CONTEXT_TOKEN   "SC13SecurityContextToken"
#define RP_BOOTSTRAP_POLICY   "BootstrapPolicy"
#define RP_ISSUER   "Issuer"
#define RP_REQUIRE_CLIENT_CERTIFICATE   "RequireClientCertificate"
#define RP_RAMPART_CONFIG   "RampartConfig"
#define RP_USER   "User"
#define RP_ENCRYPTION_USER   "EncryptionUser"
#define RP_PASSWORD_CALLBACK_CLASS   "PasswordCallbackClass"
#define RP_AUTHN_MODULE_NAME   "AuthnModuleName"
#define RP_PASSWORD_TYPE   "PasswordType"
#define RP_PLAINTEXT   "plainText"
#define RP_DIGEST   "Digest"
#define RP_RECEIVER_CERTIFICATE   "ReceiverCertificate"
#define RP_CERTIFICATE   "Certificate"
#define RP_PRIVATE_KEY   "PrivateKey"
#define RP_PKCS12_KEY_STORE   "PKCS12KeyStore"
#define RP_TIME_TO_LIVE   "TimeToLive"
#define RP_CLOCK_SKEW_BUFFER   "ClockSkewBuffer"
#define RP_NEED_MILLISECOND_PRECISION   "PrecisionInMilliseconds"
#define RP_RD   "ReplayDetection"
#define RP_RD_MODULE   "ReplayDetectionModule"
#define RP_SCT_MODULE   "SecurityContextTokenProvider"
#define RP_SP_NS_11   "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
#define RP_SP_NS_12   "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702"
#define RP_SECURITY_NS   "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
#define RP_POLICY_NS   "http://schemas.xmlsoap.org/ws/2004/09/policy"
#define RP_RAMPART_NS   "http://ws.apache.org/rampart/c/policy"
#define RP_POLICY_PREFIX   "wsp"
#define RP_RAMPART_PREFIX   "rampc"
#define RP_SP_PREFIX   "sp"

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__processing__instruction.html0000644000175000017500000004426711172017604030066 0ustar00manjulamanjula00000000000000 Axis2/C: pocessing instruction

pocessing instruction
[AXIOM]


Typedefs

typedef struct
axiom_processing_instruction 
axiom_processing_instruction_t

Functions

AXIS2_EXTERN
axiom_processing_instruction_t * 
axiom_processing_instruction_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *target, const axis2_char_t *value, axiom_node_t **node)
AXIS2_EXTERN void axiom_processing_instruction_free (struct axiom_processing_instruction *om_pi, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_processing_instruction_set_value (struct axiom_processing_instruction *om_pi, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_processing_instruction_set_target (struct axiom_processing_instruction *om_pi, const axutil_env_t *env, const axis2_char_t *target)
AXIS2_EXTERN
axis2_char_t * 
axiom_processing_instruction_get_target (struct axiom_processing_instruction *om_pi, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_processing_instruction_get_value (struct axiom_processing_instruction *om_pi, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_processing_instruction_serialize (struct axiom_processing_instruction *om_pi, const axutil_env_t *env, axiom_output_t *om_output)

Function Documentation

AXIS2_EXTERN axiom_processing_instruction_t* axiom_processing_instruction_create ( const axutil_env_t env,
axiom_node_t *  parent,
const axis2_char_t *  target,
const axis2_char_t *  value,
axiom_node_t **  node 
)

Creates a processing instruction

Parameters:
environment Environment. MUST NOT be NULL.
parent parent of the element node to be created. Optional, can be NULL.
target target of the processing instruction.cannot be NULL.
value value of the processing instruction.cannot be NULL.
node This is an out parameter. cannot be NULL. Returns the node corresponding to the comment created. Node type will be set to AXIOM_PROCESSING_INSTRUCTION
Returns:
a pointer tonewly created processing instruction struct

AXIS2_EXTERN void axiom_processing_instruction_free ( struct axiom_processing_instruction *  om_pi,
const axutil_env_t env 
)

Frees an instance of axiom_processing_instruction

Parameters:
om_pi processing instruction to be freed.
env Environment. MUST NOT be NULL, .
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axiom_processing_instruction_get_target ( struct axiom_processing_instruction *  om_pi,
const axutil_env_t env 
)

Get PI target

Parameters:
om_pi processing_instruction struct
env Environment. MUST NOT be NULL, .
Returns:
target text , NULL on error or if target is null

AXIS2_EXTERN axis2_char_t* axiom_processing_instruction_get_value ( struct axiom_processing_instruction *  om_pi,
const axutil_env_t env 
)

Get data part of processing_instruction

Parameters:
om_pi processing instruction
env environment , MUST NOT be NULL.
Returns:
data text , NULL if there is no data,

AXIS2_EXTERN axis2_status_t axiom_processing_instruction_serialize ( struct axiom_processing_instruction *  om_pi,
const axutil_env_t env,
axiom_output_t om_output 
)

Serialize function

Parameters:
om_pi processing_instruction struct
env environment, MUST NOT be NULL.
om_output om_output handler struct
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error

AXIS2_EXTERN axis2_status_t axiom_processing_instruction_set_target ( struct axiom_processing_instruction *  om_pi,
const axutil_env_t env,
const axis2_char_t *  target 
)

Set processing instruction target

Parameters:
om_pi processing_instruction struct
env environment, MUST NOT be NULL.
target 
Returns:
status of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_processing_instruction_set_value ( struct axiom_processing_instruction *  om_pi,
const axutil_env_t env,
const axis2_char_t *  value 
)

Set processing instruction data

Parameters:
om_pi 
env Environment. MUST NOT be NULL, .
value 


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__transport__utils_8h-source.html0000644000175000017500000010121411172017604030140 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_transport_utils.h Source File

axis2_http_transport_utils.h

Go to the documentation of this file.
00001 /*
00002  * Licensedo to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXIS2_HTTP_TRANSPORT_UTILS_H
00019 #define AXIS2_HTTP_TRANSPORT_UTILS_H
00020 
00021 #define AXIS2_MTOM_OUTPUT_BUFFER_SIZE 1024
00022 
00035 #include <axis2_const.h>
00036 #include <axis2_defines.h>
00037 #include <axutil_env.h>
00038 #include <axiom_stax_builder.h>
00039 #include <axis2_msg_ctx.h>
00040 #include <axis2_conf_ctx.h>
00041 #include <axutil_hash.h>
00042 #include <axiom_element.h>
00043 #include <axutil_stream.h>
00044 #include <axiom_soap_envelope.h>
00045 #include <axutil_http_chunked_stream.h>
00046 #include <axis2_http_out_transport_info.h>
00047 #include <axutil_url.h>
00048 #include <axiom_mtom_sending_callback.h>
00049 
00050 #ifdef __cplusplus
00051 extern "C"
00052 {
00053 #endif
00054         
00055         typedef enum axis2_http_method_types
00056         {
00057                 AXIS2_HTTP_METHOD_GET = 0,
00058                 AXIS2_HTTP_METHOD_POST,
00059                 AXIS2_HTTP_METHOD_HEAD,
00060                 AXIS2_HTTP_METHOD_PUT,
00061                 AXIS2_HTTP_METHOD_DELETE
00062         }axis2_http_method_types_t;
00063 
00064         
00065         typedef struct axis2_http_transport_in
00066         {
00068                 axis2_char_t *content_type;
00070                 int content_length;
00072                 axis2_msg_ctx_t *msg_ctx;
00073                 
00075                 axis2_char_t *soap_action;
00076                 
00078                 axis2_char_t *request_uri;
00079                 
00081                 axutil_stream_t *in_stream;
00082                 
00084                 axis2_char_t *remote_ip;
00085                 
00087                 axis2_char_t *svr_port;
00088                 
00090                 axis2_char_t *transfer_encoding;
00091                 
00093                 axis2_char_t *accept_header;
00094                 
00096                 axis2_char_t *accept_language_header;
00097                 
00099                 axis2_char_t *accept_charset_header;
00102                 int request_method;
00104                 axis2_http_out_transport_info_t *out_transport_info;
00106                 axis2_char_t *request_url_prefix;
00107 
00108         }axis2_http_transport_in_t;
00109 
00110         typedef struct axis2_http_transport_out
00111         {
00113                 axis2_char_t *http_status_code_name;
00115                 int http_status_code;
00117                 axis2_msg_ctx_t *msg_ctx;
00119                 void *response_data;
00121                 axis2_char_t *content_type;
00123                 int response_data_length;
00125                 axis2_char_t *content_language;
00127                 axutil_array_list_t *output_headers;
00128                 
00129         }axis2_http_transport_out_t;
00130 
00131 
00138         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00139         axis2_http_transport_utils_transport_in_init(axis2_http_transport_in_t *in, 
00140                                                                                                 const axutil_env_t *env);
00141 
00148         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00149         axis2_http_transport_utils_transport_in_uninit(axis2_http_transport_in_t *request, 
00150                                                                                                    const axutil_env_t *env);
00151 
00158         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159         axis2_http_transport_utils_transport_out_init(axis2_http_transport_out_t *out, 
00160                                                                                                 const axutil_env_t *env);
00161 
00162 
00163         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00164         axis2_http_transport_utils_transport_out_uninit(axis2_http_transport_out_t *response, 
00165                                                                                                 const axutil_env_t *env);
00175         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176         axis2_http_transport_utils_process_request(
00177                 const axutil_env_t *env,
00178                 axis2_conf_ctx_t *conf_ctx,
00179                 axis2_http_transport_in_t *request,
00180                 axis2_http_transport_out_t *response);
00181 
00182 
00183 
00201     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00202     axis2_http_transport_utils_process_http_post_request(
00203         const axutil_env_t * env,
00204         axis2_msg_ctx_t * msg_ctx,
00205         axutil_stream_t * in_stream,
00206         axutil_stream_t * out_stream,
00207         const axis2_char_t * content_type,
00208         const int content_length,
00209         axutil_string_t * soap_action_header,
00210         const axis2_char_t * request_uri);
00211 
00212 
00226     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00227     axis2_http_transport_utils_process_http_put_request(
00228         const axutil_env_t * env,
00229         axis2_msg_ctx_t * msg_ctx,
00230         axutil_stream_t * in_stream,
00231         axutil_stream_t * out_stream,
00232         const axis2_char_t * content_type,
00233         const int content_length,
00234         axutil_string_t * soap_action_header,
00235         const axis2_char_t * request_uri);
00236 
00237     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00238     axis2_http_transport_utils_process_http_get_request(
00239         const axutil_env_t * env,
00240         axis2_msg_ctx_t * msg_ctx,
00241         axutil_stream_t * in_stream,
00242         axutil_stream_t * out_stream,
00243         const axis2_char_t * content_type,
00244         axutil_string_t * soap_action_header,
00245         const axis2_char_t * request_uri,
00246         axis2_conf_ctx_t * conf_ctx,
00247         axutil_hash_t * request_params);
00248 
00249     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00250 
00251     axis2_http_transport_utils_process_http_head_request(
00252         const axutil_env_t * env,
00253         axis2_msg_ctx_t * msg_ctx,
00254         axutil_stream_t * in_stream,
00255         axutil_stream_t * out_stream,
00256         const axis2_char_t * content_type,
00257         axutil_string_t * soap_action_header,
00258         const axis2_char_t * request_uri,
00259         axis2_conf_ctx_t * conf_ctx,
00260         axutil_hash_t * request_params);
00261 
00262     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00263 
00264     axis2_http_transport_utils_process_http_delete_request(
00265         const axutil_env_t * env,
00266         axis2_msg_ctx_t * msg_ctx,
00267         axutil_stream_t * in_stream,
00268         axutil_stream_t * out_stream,
00269         const axis2_char_t * content_type,
00270         axutil_string_t * soap_action_header,
00271         const axis2_char_t * request_uri,
00272         axis2_conf_ctx_t * conf_ctx,
00273         axutil_hash_t * request_params);
00274 
00275     AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL
00276 
00277     axis2_http_transport_utils_select_builder_for_mime(
00278         const axutil_env_t * env,
00279         axis2_char_t * request_uri,
00280         axis2_msg_ctx_t * msg_ctx,
00281         axutil_stream_t * in_stream,
00282         axis2_char_t * content_type);
00283 
00284     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00285 
00286     axis2_http_transport_utils_do_write_mtom(
00287         const axutil_env_t * env,
00288         axis2_msg_ctx_t * msg_ctx);
00289 
00290     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00291 
00292     axis2_http_transport_utils_get_request_params(
00293         const axutil_env_t * env,
00294         axis2_char_t * request_uri);
00295 
00296     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00297     axis2_http_transport_utils_get_not_found(
00298         const axutil_env_t * env,
00299         axis2_conf_ctx_t * conf_ctx);
00300 
00301     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00302     axis2_http_transport_utils_get_not_implemented(
00303         const axutil_env_t * env,
00304         axis2_conf_ctx_t * conf_ctx);
00305 
00306     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00307     axis2_http_transport_utils_get_method_not_allowed(
00308         const axutil_env_t * env,
00309         axis2_conf_ctx_t * conf_ctx);
00310 
00311     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00312     axis2_http_transport_utils_get_not_acceptable(
00313         const axutil_env_t * env,
00314         axis2_conf_ctx_t * conf_ctx);
00315 
00316     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00317     axis2_http_transport_utils_get_bad_request(
00318         const axutil_env_t * env,
00319         axis2_conf_ctx_t * conf_ctx);
00320 
00321     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00322     axis2_http_transport_utils_get_request_timeout(
00323         const axutil_env_t * env,
00324         axis2_conf_ctx_t * conf_ctx);
00325 
00326     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00327     axis2_http_transport_utils_get_conflict(
00328         const axutil_env_t * env,
00329         axis2_conf_ctx_t * conf_ctx);
00330 
00331     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00332     axis2_http_transport_utils_get_gone(
00333         const axutil_env_t * env,
00334         axis2_conf_ctx_t * conf_ctx);
00335 
00336     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00337     axis2_http_transport_utils_get_precondition_failed(
00338         const axutil_env_t * env,
00339         axis2_conf_ctx_t * conf_ctx);
00340 
00341     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00342     axis2_http_transport_utils_get_request_entity_too_large(
00343         const axutil_env_t * env,
00344         axis2_conf_ctx_t * conf_ctx);
00345 
00346     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00347     axis2_http_transport_utils_get_service_unavailable(
00348         const axutil_env_t * env,
00349         axis2_conf_ctx_t * conf_ctx);
00350 
00351     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00352     axis2_http_transport_utils_get_internal_server_error(
00353         const axutil_env_t * env,
00354         axis2_conf_ctx_t * conf_ctx);
00355 
00356     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00357 
00358     axis2_http_transport_utils_get_services_html(
00359         const axutil_env_t * env,
00360         axis2_conf_ctx_t * conf_ctx);
00361 
00362     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00363 
00364     axis2_http_transport_utils_get_services_static_wsdl(
00365         const axutil_env_t * env,
00366         axis2_conf_ctx_t * conf_ctx,
00367         axis2_char_t * request_url);
00368 
00369     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00370 
00371     axis2_http_transport_utils_get_request_params(
00372         const axutil_env_t * env,
00373         axis2_char_t * request_uri);
00374 
00375     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00376 
00377     axis2_http_transport_utils_create_soap_msg(
00378         const axutil_env_t * env,
00379         axis2_msg_ctx_t * msg_ctx,
00380         const axis2_char_t * soap_ns_uri);
00381 
00382         AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL
00383         axis2_http_transport_utils_process_accept_headers(
00384                 const axutil_env_t *env,
00385                 axis2_char_t *accept_value);
00386 
00387     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00388     axis2_http_transport_utils_send_mtom_message(
00389         axutil_http_chunked_stream_t * chunked_stream,
00390         const axutil_env_t * env,
00391         axutil_array_list_t *mime_parts,
00392         axis2_char_t *sending_callback_name);
00393 
00394     AXIS2_EXTERN void AXIS2_CALL 
00395     axis2_http_transport_utils_destroy_mime_parts(
00396         axutil_array_list_t *mime_parts,
00397         const axutil_env_t *env);
00398 
00399     AXIS2_EXTERN void *AXIS2_CALL 
00400         axis2_http_transport_utils_initiate_callback(
00401         const axutil_env_t *env,
00402         axis2_char_t *callback_name,
00403         void *user_param,
00404         axiom_mtom_sending_callback_t **callback);
00405 
00406     AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_is_callback_required(
00407         const axutil_env_t *env,
00408         axutil_array_list_t *mime_parts);
00409 
00410 
00411 
00413 #ifdef __cplusplus
00414 }
00415 #endif
00416 
00417 #endif       /* AXIS2_HTTP_TRANSPORT_UTILS_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__error__default_8h-source.html0000644000175000017500000001265211172017604026612 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_error_default.h Source File

axutil_error_default.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_ERROR_DEFAULT_H
00020 #define AXUTIL_ERROR_DEFAULT_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_allocator.h>
00024 #include <axutil_error.h>
00025 
00026 #ifdef __cplusplus
00027 extern "C"
00028 {
00029 #endif
00030 
00042     AXIS2_EXTERN axutil_error_t *AXIS2_CALL
00043     axutil_error_create(
00044         axutil_allocator_t * allocator);
00045 
00048 #ifdef __cplusplus
00049 }
00050 #endif
00051 
00052 #endif                          /* AXIS2_ERROR_DEFAULT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__document_8h.html0000644000175000017500000001666511172017604023755 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_document.h File Reference

axiom_document.h File Reference

om_document represents an XML document More...

#include <axutil_env.h>
#include <axiom_node.h>
#include <axutil_utils_defines.h>
#include <axiom_output.h>

Go to the source code of this file.

Defines

#define CHAR_SET_ENCODING   "UTF-8"
#define XML_VERSION   "1.0"

Typedefs

typedef struct
axiom_document 
axiom_document_t

Functions

AXIS2_EXTERN
axiom_document_t * 
axiom_document_create (const axutil_env_t *env, axiom_node_t *root, struct axiom_stax_builder *builder)
AXIS2_EXTERN void axiom_document_free (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN void axiom_document_free_self (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_document_build_next (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_document_get_root_element (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_document_set_root_element (struct axiom_document *document, const axutil_env_t *env, axiom_node_t *om_node)
AXIS2_EXTERN
axiom_node_t * 
axiom_document_build_all (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_stax_builder * 
axiom_document_get_builder (struct axiom_document *document, const axutil_env_t *env)
AXIS2_EXTERN void axiom_document_set_builder (axiom_document_t *document, const axutil_env_t *env, struct axiom_stax_builder *builder)
AXIS2_EXTERN
axis2_status_t 
axiom_document_serialize (struct axiom_document *document, const axutil_env_t *env, axiom_output_t *om_output)


Detailed Description

om_document represents an XML document


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__stax__builder.html0000644000175000017500000004327011172017604025727 0ustar00manjulamanjula00000000000000 Axis2/C: stax builder

stax builder
[AXIOM]


Typedefs

typedef struct
axiom_stax_builder 
axiom_stax_builder_t

Functions

AXIS2_EXTERN
axiom_stax_builder_t * 
axiom_stax_builder_create (const axutil_env_t *env, axiom_xml_reader_t *parser)
AXIS2_EXTERN
axiom_node_t * 
axiom_stax_builder_next (struct axiom_stax_builder *builder, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_stax_builder_discard_current_element (struct axiom_stax_builder *builder, const axutil_env_t *env)
AXIS2_EXTERN void axiom_stax_builder_free (struct axiom_stax_builder *builder, const axutil_env_t *env)
AXIS2_EXTERN void axiom_stax_builder_free_self (struct axiom_stax_builder *builder, const axutil_env_t *env)
AXIS2_EXTERN
axiom_document_t * 
axiom_stax_builder_get_document (struct axiom_stax_builder *builder, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_stax_builder_is_complete (struct axiom_stax_builder *builder, const axutil_env_t *env)
AXIS2_EXTERN int axiom_stax_builder_next_with_token (struct axiom_stax_builder *builder, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_stax_builder_t* axiom_stax_builder_create ( const axutil_env_t env,
axiom_xml_reader_t parser 
)

Creates an stax builder

Parameters:
environment Environment. MUST NOT be NULL.
parser parser to be used with builder. The builder will take ownership of the parser.
Returns:
a pointer to the newly created builder struct.

AXIS2_EXTERN axis2_status_t axiom_stax_builder_discard_current_element ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

Discards the element that is being built currently.

Parameters:
environment Environment. MUST NOT be NULL, .
builder pointer to stax builder struct to be used
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE.

AXIS2_EXTERN void axiom_stax_builder_free ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

Free the build struct instance and its associated document,axiom tree.

Parameters:
builder pointer to builder struct
env environment, MUST NOT be NULL
Returns:
status of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN void axiom_stax_builder_free_self ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

Free the build struct instance and its associated document. does not free the associated axiom tree.

Parameters:
builder pointer to builder struct
env environment, MUST NOT be NULL
Returns:
status of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axiom_document_t* axiom_stax_builder_get_document ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

Gets the document associated with the builder

Parameters:
builder axiom_stax_builder
env environment
Returns:
pointer to document struct associated with builder NULL if there is no document associated with the builder, NULL if an error occured.

AXIS2_EXTERN axis2_bool_t axiom_stax_builder_is_complete ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

builder is finished building om structure

Parameters:
builder pointer to stax builder struct to be used
environment Environment. MUST NOT be NULL.
Returns:
AXIS2_TRUE if is complete or AXIS2_FALSE otherwise

AXIS2_EXTERN axiom_node_t* axiom_stax_builder_next ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

Builds the next node from stream. Moves pull parser forward and reacts to events.

Parameters:
builder pointer to stax builder struct to be used
environment Environment. MUST NOT be NULL.
Returns:
a pointer to the next node, or NULL if there are no more nodes. On erros sets the error and returns NULL.

AXIS2_EXTERN int axiom_stax_builder_next_with_token ( struct axiom_stax_builder *  builder,
const axutil_env_t env 
)

moves the reader to next event and returns the token returned by the xml_reader , returns -1 on error

Parameters:
builder pointer to stax builder struct to be used
environment Environment. MUST NOT be NULL.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__env_8h.html0000644000175000017500000002163711172017604023113 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_env.h File Reference

axutil_env.h File Reference

Axis2 environment that acts as a container for error, log and memory allocator routines. More...

#include <axutil_allocator.h>
#include <axutil_error.h>
#include <axutil_log.h>
#include <axutil_thread_pool.h>

Go to the source code of this file.

Classes

struct  axutil_env
 Axis2 Environment struct. More...

Defines

#define AXIS_ENV_FREE_LOG   0x1
#define AXIS_ENV_FREE_ERROR   0x2
#define AXIS_ENV_FREE_THREADPOOL   0x4
#define AXIS2_ENV_CHECK(env, error_return)

Typedefs

typedef struct axutil_env axutil_env_t
 Axis2 Environment struct.

Functions

AXIS2_EXTERN
axutil_env_t
axutil_env_create (axutil_allocator_t *allocator)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_all (const axis2_char_t *log_file, const axutil_log_levels_t log_level)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_with_error (axutil_allocator_t *allocator, axutil_error_t *error)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_with_error_log (axutil_allocator_t *allocator, axutil_error_t *error, axutil_log_t *log)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_with_error_log_thread_pool (axutil_allocator_t *allocator, axutil_error_t *error, axutil_log_t *log, axutil_thread_pool_t *pool)
AXIS2_EXTERN
axis2_status_t 
axutil_env_enable_log (axutil_env_t *env, axis2_bool_t enable)
AXIS2_EXTERN
axis2_status_t 
axutil_env_check_status (const axutil_env_t *env)
AXIS2_EXTERN void axutil_env_free (axutil_env_t *env)
AXIS2_EXTERN void axutil_env_free_masked (axutil_env_t *env, char mask)
AXIS2_EXTERN
axis2_status_t 
axutil_env_increment_ref (axutil_env_t *env)


Detailed Description

Axis2 environment that acts as a container for error, log and memory allocator routines.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__phase__meta_8h-source.html0000644000175000017500000001646711172017604025613 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_phase_meta.h Source File

axis2_phase_meta.h

00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_PHASE_META_H
00020 #define AXIS2_PHASE_META_H
00021 
00033 #include <axis2_defines.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00042     /*#define  AXIS2_IN_FLOW  1*/
00043 
00046     /*#define  AXIS2_OUT_FLOW 2*/
00047 
00050     /*#define  AXIS2_FAULT_IN_FLOW 3*/
00051 
00054     /*#define  AXIS2_FAULT_OUT_FLOW 4*/
00055 
00057 #define AXIS2_PHASE_TRANSPORT_IN "Transport"
00058 
00060 #define AXIS2_PHASE_PRE_DISPATCH "PreDispatch"
00061 
00063 #define AXIS2_PHASE_DISPATCH "Dispatch"
00064 
00066 #define AXIS2_PHASE_POST_DISPATCH "PostDispatch"
00067 
00069 #define AXIS2_PHASE_POLICY_DETERMINATION "PolicyDetermination"
00070 
00072 #define AXIS2_PHASE_MESSAGE_PROCESSING "MessageProcessing"
00073 
00075 #define AXIS2_PHASE_MESSAGE_OUT "MessageOut"
00076 
00081 #define AXIS2_TRANSPORT_PHASE "TRANSPORT"
00082 
00085 #ifdef __cplusplus
00086 }
00087 #endif
00088 
00089 #endif                          /* AXIS2_PHASE_META_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__role.html0000644000175000017500000002653411172017604026563 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault role

soap fault role
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_role_t * 
axiom_soap_fault_role_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN void axiom_soap_fault_role_free (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_role_set_role_value (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env, axis2_char_t *uri)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_role_get_role_value (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_role_get_base_node (axiom_soap_fault_role_t *fault_role, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_role_t* axiom_soap_fault_role_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_t *  fault 
)

creates a soap struct

Parameters:
env Environment. MUST NOT be NULL

AXIS2_EXTERN void axiom_soap_fault_role_free ( axiom_soap_fault_role_t *  fault_role,
const axutil_env_t env 
)

Free an axiom_soap_fault_role

Parameters:
fault_role pointer to soap_fault_role struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_role_get_base_node ( axiom_soap_fault_role_t *  fault_role,
const axutil_env_t env 
)

Get the base node of the OM SOAP fault role

Parameters:
fault_role pointer to soap_fault_role struct
env Environment. MUST NOT be NULL
Returns:
the base node of the OM SOAP fault role

AXIS2_EXTERN axis2_char_t* axiom_soap_fault_role_get_role_value ( axiom_soap_fault_role_t *  fault_role,
const axutil_env_t env 
)

Get the SOAP fault role value

Parameters:
fault_role pointer to soap_fault_role struct
env Environment. MUST NOT be NULL
Returns:
the SOAP fault role value

AXIS2_EXTERN axis2_status_t axiom_soap_fault_role_set_role_value ( axiom_soap_fault_role_t *  fault_role,
const axutil_env_t env,
axis2_char_t *  uri 
)

Set the SOAP fault role value

Parameters:
fault_role pointer to soap_fault_role struct
env Environment. MUST NOT be NULL
uri the URI to be set
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__wss11.html0000644000175000017500000002616411172017604022530 0ustar00manjulamanjula00000000000000 Axis2/C: Wss11

Wss11


Typedefs

typedef struct rp_wss11_t rp_wss11_t

Functions

AXIS2_EXTERN rp_wss11_t * rp_wss11_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_wss11_free (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_must_support_ref_key_identifier (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_must_support_ref_key_identifier (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t must_support_ref_key_identifier)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_must_support_ref_issuer_serial (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_must_support_ref_issuer_serial (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t must_support_ref_issuer_serial)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_must_support_ref_external_uri (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_must_support_ref_external_uri (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t must_support_ref_external_uri)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_must_support_ref_embedded_token (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_must_support_ref_embedded_token (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t must_support_ref_embedded_token)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_must_support_ref_thumbprint (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_must_support_ref_thumbprint (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t must_support_ref_thumbprint)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_must_support_ref_encryptedkey (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t must_support_ref_encryptedkey)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_must_support_ref_encryptedkey (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_set_require_signature_confirmation (rp_wss11_t *wss11, const axutil_env_t *env, axis2_bool_t require_signature_confirmation)
AXIS2_EXTERN axis2_bool_t rp_wss11_get_require_signature_confirmation (rp_wss11_t *wss11, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_wss11_increment_ref (rp_wss11_t *wss11, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__header.html0000644000175000017500000006134711172017604025521 0ustar00manjulamanjula00000000000000 Axis2/C: soap header

soap header
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_header_t * 
axiom_soap_header_create_with_parent (const axutil_env_t *env, struct axiom_soap_envelope *envelope)
AXIS2_EXTERN void axiom_soap_header_free (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_header_block * 
axiom_soap_header_add_header_block (axiom_soap_header_t *header, const axutil_env_t *env, const axis2_char_t *localname, axiom_namespace_t *ns)
AXIS2_EXTERN
axutil_hash_t
axiom_soap_header_examine_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env, axis2_char_t *param_role)
AXIS2_EXTERN
axutil_array_list_t
axiom_soap_header_get_header_blocks_with_namespace_uri (axiom_soap_header_t *header, const axutil_env_t *env, const axis2_char_t *ns_uri)
AXIS2_EXTERN
axiom_children_qname_iterator_t * 
axiom_soap_header_examine_all_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axiom_children_with_specific_attribute_iterator_t * 
axiom_soap_header_extract_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env, axis2_char_t *role)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_header_get_base_node (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_header_get_soap_version (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axiom_soap_header_get_all_header_blocks (axiom_soap_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_header_remove_header_block (axiom_soap_header_t *header, const axutil_env_t *env, axutil_qname_t *qname)

Function Documentation

AXIS2_EXTERN struct axiom_soap_header_block* axiom_soap_header_add_header_block ( axiom_soap_header_t *  header,
const axutil_env_t env,
const axis2_char_t *  localname,
axiom_namespace_t *  ns 
) [read]

create a new axiom_soap_header_block_t struct initialized with the specified name and adds it to passed axiom_soap_header_t struct.

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
localName the localname of the SOAP header block
ns the namespace of the SOAP header block
Returns:
The newly created axiom_soap_header_block_t struct

AXIS2_EXTERN axiom_children_qname_iterator_t* axiom_soap_header_examine_all_header_blocks ( axiom_soap_header_t *  header,
const axutil_env_t env 
)

returns an iterator to iterate through all soap header block's om nodes

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
Returns:
axiom_children_qname_iterator_t or null if no header blocks present

AXIS2_EXTERN axutil_hash_t* axiom_soap_header_examine_header_blocks ( axiom_soap_header_t *  header,
const axutil_env_t env,
axis2_char_t *  param_role 
)

returns a hash_table of all the soap_header_block_t struct in this soap_header_t object that have the the specified actor. An actor is a global attribute that indicates the intermediate parties to whom the message should be sent. An actor receives the message and then sends it to the next actor. The default actor is the ultimate intended recipient for the message, so if no actor attribute is set in a axiom_soap_header_t struct the message is sent to its ultimate destination.

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
role the role value for the examination
Returns:
hash_table of all the soap_header_block_t struct

AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t* axiom_soap_header_extract_header_blocks ( axiom_soap_header_t *  header,
const axutil_env_t env,
axis2_char_t *  role 
)

returns an iterator to iterate through all header blocks om_nodes with the matching role attribute

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
role 
Returns:
iterator or null if no header blocks present with matching role attribute

AXIS2_EXTERN void axiom_soap_header_free ( axiom_soap_header_t *  header,
const axutil_env_t env 
)

Free an axiom_soap_header

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axutil_hash_t* axiom_soap_header_get_all_header_blocks ( axiom_soap_header_t *  header,
const axutil_env_t env 
)

Get all the SOAP headers

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
Returns:
a hash table of all header_blocks in this header the returned hash is a readonly hash should not be modified

AXIS2_EXTERN axiom_node_t* axiom_soap_header_get_base_node ( axiom_soap_header_t *  header,
const axutil_env_t env 
)

returns the axiom_node_t struct wrapped in soap_header

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
Returns:
the base node of the SOAP header

AXIS2_EXTERN axutil_array_list_t* axiom_soap_header_get_header_blocks_with_namespace_uri ( axiom_soap_header_t *  header,
const axutil_env_t env,
const axis2_char_t *  ns_uri 
)

returns an arraylist of header_blocks which has a given namesapce uri

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
ns_uri namespace uri
Returns:
pointer to axutil_array_list_t, or null if no header_blocks with given namespace uri exists The returned array_list must be freed by the user.

AXIS2_EXTERN int axiom_soap_header_get_soap_version ( axiom_soap_header_t *  header,
const axutil_env_t env 
)

return the soap_version of this soap_header

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
Returns:
AXIOM_SOAP11 or AXIOM_SOAP12

AXIS2_EXTERN axis2_status_t axiom_soap_header_remove_header_block ( axiom_soap_header_t *  header,
const axutil_env_t env,
axutil_qname_t *  qname 
)

remove header block that matches to the given qname qname should not be null

Parameters:
header pointer to soap_header struct
env Environment. MUST NOT be NULL
Returns:
status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__allocator_8h.html0000644000175000017500000001362411172017604024300 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_allocator.h File Reference

axutil_allocator.h File Reference

Axis2 memory allocator interface. More...

#include <axutil_utils_defines.h>
#include <stdlib.h>

Go to the source code of this file.

Classes

struct  axutil_allocator
 Axis2 memory allocator. More...

Defines

#define AXIS2_MALLOC(allocator, size)   ((allocator)->malloc_fn(allocator, size))
#define AXIS2_REALLOC(allocator, ptr, size)   ((allocator)->realloc(allocator, ptr, size))
#define AXIS2_FREE(allocator, ptr)   ((allocator)->free_fn(allocator, ptr))

Typedefs

typedef struct
axutil_allocator 
axutil_allocator_t
 Axis2 memory allocator.

Functions

AXIS2_EXTERN
axutil_allocator_t
axutil_allocator_init (axutil_allocator_t *allocator)
AXIS2_EXTERN void axutil_allocator_free (axutil_allocator_t *allocator)
AXIS2_EXTERN void axutil_allocator_switch_to_global_pool (axutil_allocator_t *allocator)
AXIS2_EXTERN void axutil_allocator_switch_to_local_pool (axutil_allocator_t *allocator)


Detailed Description

Axis2 memory allocator interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__file__handler.html0000644000175000017500000001663711172017604026056 0ustar00manjulamanjula00000000000000 Axis2/C: file handler

file handler
[utilities]


Functions

AXIS2_EXTERN void * axutil_file_handler_open (const char *file_name, const char *options)
AXIS2_EXTERN
axis2_status_t 
axutil_file_handler_close (void *file_ptr)
AXIS2_EXTERN
axis2_status_t 
axutil_file_handler_access (const axis2_char_t *path, int mode)
AXIS2_EXTERN
axis2_status_t 
axutil_file_handler_copy (FILE *from, FILE *to)
AXIS2_EXTERN long axutil_file_handler_size (const axis2_char_t *const name)

Function Documentation

AXIS2_EXTERN axis2_status_t axutil_file_handler_access ( const axis2_char_t *  path,
int  mode 
)

determine accessibility of file checks the named file for accessibility according to mode

Parameters:
path path name naming a file
mode AXIS2_R_OK
  • test for read permission AXIS2_W_OK
  • test for write permission AXIS2_X_OK
  • test for execute or search permission AXIS2_F_OK
  • test whether the directories leading to the file can be searched and the file exists
Returns:
status

AXIS2_EXTERN axis2_status_t axutil_file_handler_close ( void *  file_ptr  ) 

close a file

Parameters:
file_ptr file pointer of the file need to be closed
Returns:
status code

AXIS2_EXTERN void* axutil_file_handler_open ( const char *  file_name,
const char *  options 
)

open a file for read according to the file options given

Parameters:
file_name file to be opened
options file options given.
Returns:
status code


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__policy__creator.html0000644000175000017500000000513311172017604025560 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_policy_creator

Rp_policy_creator


Functions

AXIS2_EXTERN
rp_secpolicy_t * 
rp_policy_create_from_file (const axutil_env_t *env, axis2_char_t *filename)
AXIS2_EXTERN
rp_secpolicy_t * 
rp_policy_create_from_om_node (const axutil_env_t *env, axiom_node_t *root)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__core__dll__desc_8h-source.html0000644000175000017500000001543111172017604026413 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_core_dll_desc.h Source File

axis2_core_dll_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_CORE_DLL_DESC_H
00020 #define AXIS2_CORE_DLL_DESC_H
00021 
00027 #include <axutil_dll_desc.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00040     /* 
00041      * For DLL Types, starting index is 10000, and ending
00042      * index is 10999, this is for unique indexing purposes.
00043      * Indexes 10000-10099 are reserved for Axis2 Core.
00044      */
00045 
00046     /* service dll */
00047     #define AXIS2_SVC_DLL 10000 
00048 
00049     /* handler dll */
00050     #define AXIS2_HANDLER_DLL 10001
00051 
00052     /* message receiver dll */
00053     #define AXIS2_MSG_RECV_DLL 10002
00054 
00055     /* module dll */
00056     #define AXIS2_MODULE_DLL 10003
00057 
00058     /* transport receiver dll */
00059     #define AXIS2_TRANSPORT_RECV_DLL 10004
00060 
00061     /* transport sender dll */
00062     #define AXIS2_TRANSPORT_SENDER_DLL 10005
00063 
00064 #ifdef __cplusplus
00065 }
00066 #endif
00067 
00068 #endif                          /* AXIS2_CORE_DLL_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__op__ctx_8h.html0000644000175000017500000002615311172017604023474 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_op_ctx.h File Reference

axis2_op_ctx.h File Reference

#include <axis2_defines.h>
#include <axutil_hash.h>
#include <axutil_env.h>
#include <axis2_msg_ctx.h>
#include <axis2_op.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_op_ctx 
axis2_op_ctx_t

Functions

AXIS2_EXTERN
axis2_op_ctx_t
axis2_op_ctx_create (const axutil_env_t *env, struct axis2_op *op, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN
axis2_ctx_t
axis2_op_ctx_get_base (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_ctx_free (struct axis2_op_ctx *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_init (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, struct axis2_conf *conf)
AXIS2_EXTERN struct
axis2_op * 
axis2_op_ctx_get_op (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_svc_ctx * 
axis2_op_ctx_get_parent (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_add_msg_ctx (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, axis2_msg_ctx_t *msg_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_op_ctx_get_msg_ctx (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env, const axis2_wsdl_msg_labels_t message_id)
AXIS2_EXTERN axis2_bool_t axis2_op_ctx_get_is_complete (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_complete (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, axis2_bool_t is_complete)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_cleanup (struct axis2_op_ctx *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_parent (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, struct axis2_svc_ctx *svc_ctx)
AXIS2_EXTERN
axis2_msg_ctx_t ** 
axis2_op_ctx_get_msg_ctx_map (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_response_written (axis2_op_ctx_t *op_ctx, const axutil_env_t *env, const axis2_bool_t response_written)
AXIS2_EXTERN axis2_bool_t axis2_op_ctx_get_response_written (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN void axis2_op_ctx_destroy_mutex (struct axis2_op_ctx *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_op_ctx_is_in_use (const axis2_op_ctx_t *op_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_set_in_use (struct axis2_op_ctx *op_ctx, const axutil_env_t *env, axis2_bool_t is_in_use)
AXIS2_EXTERN
axis2_status_t 
axis2_op_ctx_increment_ref (axis2_op_ctx_t *op_ctx, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__desc__constants.html0000644000175000017500000003570211172017604026166 0ustar00manjulamanjula00000000000000 Axis2/C: description related constants

description related constants
[description]


Files

file  axis2_description.h

Defines

#define AXIS2_EXECUTION_CHAIN_KEY   "EXECUTION_CHAIN_KEY"
#define AXIS2_EXECUTION_OUT_CHAIN_KEY   "EXECUTION_OUT_CHAIN_KEY"
#define AXIS2_EXECUTION_FAULT_CHAIN_KEY   "EXECUTION_FAULT_CHAIN_KEY"
#define AXIS2_MODULEREF_KEY   "MODULEREF_KEY"
#define AXIS2_OP_KEY   "OP_KEY"
#define AXIS2_CLASSLOADER_KEY   "CLASSLOADER_KEY"
#define AXIS2_CONTEXTPATH_KEY   "CONTEXTPATH_KEY"
#define AXIS2_MESSAGE_RECEIVER_KEY   "PROVIDER_KEY"
#define AXIS2_STYLE_KEY   "STYLE_KEY"
#define AXIS2_PARAMETER_KEY   "PARAMETER_KEY"
#define AXIS2_IN_FLOW_KEY   "IN_FLOW_KEY"
#define AXIS2_OUT_FLOW_KEY   "OUT_FLOW_KEY"
#define AXIS2_IN_FAULTFLOW_KEY   "IN_FAULTFLOW_KEY"
#define AXIS2_OUT_FAULTFLOW_KEY   "OUT_FAULTFLOW_KEY"
#define AXIS2_PHASES_KEY   "PHASES_KEY"
#define AXIS2_SERVICE_CLASS   "ServiceClass"
#define AXIS2_SERVICE_CLASS_NAME   "SERVICE_CLASS_NAME"

Define Documentation

#define AXIS2_CLASSLOADER_KEY   "CLASSLOADER_KEY"

Field CLASSLOADER_KEY

#define AXIS2_CONTEXTPATH_KEY   "CONTEXTPATH_KEY"

Field CONTEXTPATH_KEY

#define AXIS2_EXECUTION_CHAIN_KEY   "EXECUTION_CHAIN_KEY"

Field EXECUTION_CHAIN_KEY

#define AXIS2_EXECUTION_FAULT_CHAIN_KEY   "EXECUTION_FAULT_CHAIN_KEY"

Field EXECUTION_FAULT_CHAIN_KEY

#define AXIS2_EXECUTION_OUT_CHAIN_KEY   "EXECUTION_OUT_CHAIN_KEY"

Field EXECUTION_OUT_CHAIN_KEY

#define AXIS2_IN_FAULTFLOW_KEY   "IN_FAULTFLOW_KEY"

Field IN_FAULTFLOW_KEY

#define AXIS2_IN_FLOW_KEY   "IN_FLOW_KEY"

Field IN_FLOW_KEY

#define AXIS2_MESSAGE_RECEIVER_KEY   "PROVIDER_KEY"

Field PROVIDER_KEY

#define AXIS2_MODULEREF_KEY   "MODULEREF_KEY"

Field MODULEREF_KEY

#define AXIS2_OP_KEY   "OP_KEY"

Field OP_KEY

#define AXIS2_OUT_FAULTFLOW_KEY   "OUT_FAULTFLOW_KEY"

Field OUT_FAULTFLOW_KEY

#define AXIS2_OUT_FLOW_KEY   "OUT_FLOW_KEY"

Field OUT_FLOW_KEY

#define AXIS2_PARAMETER_KEY   "PARAMETER_KEY"

Field PARAMETER_KEY

#define AXIS2_PHASES_KEY   "PHASES_KEY"

Field PHASES_KEY

#define AXIS2_SERVICE_CLASS   "ServiceClass"

Field SERVICE_CLASS

#define AXIS2_SERVICE_CLASS_NAME   "SERVICE_CLASS_NAME"

Field SERVICE_CLASS_NAME

#define AXIS2_STYLE_KEY   "STYLE_KEY"

Field STYLE_KEY


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__util.html0000644000175000017500000002004311172017604023762 0ustar00manjulamanjula00000000000000 Axis2/C: utilities

utilities


Modules

 thread mutex routines
 allocator
 array list
 encoding holder
 class loader
 Axutil_date_time
 UUID generator
 digest_calc
 dir handler
 DLL description
 Axutil_duration
 environment
 error
 file
 file handler
 generic object
 hash
 linked list
 log
 md5
 network handler
 parameter
 properties
 property
 qname
 rand
 stack
 stream
 string
 string_utils
 thread
 thread pool
 type convertors
 URI
 utils

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__text_8h-source.html0000644000175000017500000003444511172017604024415 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_text.h Source File

axiom_text.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_TEXT_H
00020 #define AXIOM_TEXT_H
00021 
00022 #include <axutil_env.h>
00023 #include <axiom_node.h>
00024 #include <axiom_output.h>
00025 #include <axiom_data_handler.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038     typedef struct axiom_text axiom_text_t;
00039 
00051     AXIS2_EXTERN axiom_text_t *AXIS2_CALL
00052     axiom_text_create(
00053         const axutil_env_t * env,
00054         axiom_node_t * parent,
00055         const axis2_char_t * value,
00056         axiom_node_t ** node);
00057 
00069     AXIS2_EXTERN axiom_text_t *AXIS2_CALL
00070     axiom_text_create_str(
00071         const axutil_env_t * env,
00072         axiom_node_t * parent,
00073         axutil_string_t * value,
00074         axiom_node_t ** node);
00075 
00087     AXIS2_EXTERN axiom_text_t *AXIS2_CALL
00088     axiom_text_create_with_data_handler(
00089         const axutil_env_t * env,
00090         axiom_node_t * parent,
00091         axiom_data_handler_t * data_handler,
00092         axiom_node_t ** node);
00093 
00101     AXIS2_EXTERN void AXIS2_CALL
00102     axiom_text_free(
00103         struct axiom_text *om_text,
00104         const axutil_env_t * env);
00105 
00114     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00115     axiom_text_serialize(
00116         struct axiom_text *om_text,
00117         const axutil_env_t * env,
00118         axiom_output_t * om_output);
00119 
00128     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00129     axiom_text_set_value(
00130         struct axiom_text *om_text,
00131         const axutil_env_t * env,
00132         const axis2_char_t * value);
00133 
00140     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00141     axiom_text_get_value(
00142         struct axiom_text *om_text,
00143         const axutil_env_t * env);
00144 
00153     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00154     axiom_text_set_value_str(
00155         struct axiom_text *om_text,
00156         const axutil_env_t * env,
00157         axutil_string_t * value);
00158 
00166     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00167     axiom_text_get_text(
00168         axiom_text_t * om_text,
00169         const axutil_env_t * env);
00170 
00177     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00178     axiom_text_get_value_str(
00179         struct axiom_text *om_text,
00180         const axutil_env_t * env);
00181 
00189     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00190     axiom_text_set_optimize(
00191         struct axiom_text *om_text,
00192         const axutil_env_t * env,
00193         axis2_bool_t optimize);
00194 
00201     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00202     axiom_text_set_is_binary(
00203         struct axiom_text *om_text,
00204         const axutil_env_t * env,
00205         const axis2_bool_t is_binary);
00206 
00214     AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL
00215     axiom_text_get_data_handler(
00216         struct axiom_text *om_text,
00217         const axutil_env_t * env);
00218 
00226     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00227     axiom_text_get_content_id(
00228         struct axiom_text *om_text,
00229         const axutil_env_t * env);
00230 
00239     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00240     axiom_text_set_content_id(
00241         axiom_text_t * om_text,
00242         const axutil_env_t * env,
00243         const axis2_char_t * content_id);
00244 
00253     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00254     axiom_text_set_is_swa(
00255         struct axiom_text *om_text,
00256         const axutil_env_t * env,
00257         const axis2_bool_t is_swa);
00258 
00261 #ifdef __cplusplus
00262 }
00263 #endif
00264 
00265 #endif                          /* AXIOM_TEXT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__receiver-members.html0000644000175000017500000000411411172017604030407 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_transport_receiver Member List

This is the complete list of members for axis2_transport_receiver, including all inherited members.

ops (defined in axis2_transport_receiver)axis2_transport_receiver


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mtom__caching__callback_8h.html0000644000175000017500000001331011172017604026661 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mtom_caching_callback.h File Reference

axiom_mtom_caching_callback.h File Reference

Caching callback for mime parser. More...

#include <axutil_env.h>
#include <axutil_param.h>

Go to the source code of this file.

Classes

struct  axiom_mtom_caching_callback_ops
struct  axiom_mtom_caching_callback

Defines

#define AXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLER(mtom_caching_callback, env, key)   ((mtom_caching_callback)->ops->init_handler(mtom_caching_callback, env, key))
#define AXIOM_MTOM_CACHING_CALLBACK_CACHE(mtom_caching_callback, env, data, length, handler)   ((mtom_caching_callback)->ops->cache(mtom_caching_callback, env, data, length, handler))
#define AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLER(mtom_caching_callback, env, handler)   ((mtom_caching_callback)->ops->close_handler(mtom_caching_callback, env, handler))
#define AXIOM_MTOM_CACHING_CALLBACK_FREE(mtom_caching_callback, env)   ((mtom_caching_callback)->ops->free(mtom_caching_callback, env))

Typedefs

typedef struct
axiom_mtom_caching_callback_ops 
axiom_mtom_caching_callback_ops_t
typedef struct
axiom_mtom_caching_callback 
axiom_mtom_caching_callback_t


Detailed Description

Caching callback for mime parser.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__body.html0000644000175000017500000004740011172017604025220 0ustar00manjulamanjula00000000000000 Axis2/C: soap body

soap body
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_body_t * 
axiom_soap_body_create_with_parent (const axutil_env_t *env, struct axiom_soap_envelope *envelope)
AXIS2_EXTERN void axiom_soap_body_free (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_soap_body_has_fault (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axiom_soap_fault_t * 
axiom_soap_body_get_fault (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_body_get_base_node (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN int axiom_soap_body_get_soap_version (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_build (axiom_soap_body_t *body, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_add_child (axiom_soap_body_t *body, const axutil_env_t *env, axiom_node_t *child)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_convert_fault_to_soap11 (axiom_soap_body_t *soap_body, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_body_process_attachments (axiom_soap_body_t *soap_body, const axutil_env_t *env, void *user_param, axis2_char_t *callback_name)

Function Documentation

AXIS2_EXTERN axis2_status_t axiom_soap_body_add_child ( axiom_soap_body_t *  body,
const axutil_env_t env,
axiom_node_t *  child 
)

add an om node as the child to this soap_body the child is added to as the first child

Parameters:
body pointer to soap_body struct
env axutil_environment struct MUST not be NULL
Returns:
status code , AXIS2_SUCCESS on success , AXIS2_ERROR otherwise

AXIS2_EXTERN axis2_status_t axiom_soap_body_build ( axiom_soap_body_t *  body,
const axutil_env_t env 
)

build the soap body completely . return the status code,

Parameters:
body pointer to soap_body struct
env axutil_environment struct MUST not be NULL
Returns:
status code , AXIS2_SUCCESS on success , AXIS2_ERROR

AXIS2_EXTERN axis2_status_t axiom_soap_body_convert_fault_to_soap11 ( axiom_soap_body_t *  soap_body,
const axutil_env_t env 
)

SOAP builder construct a SOAP 1.2 fault all the time. So when SOAP 1.1 is in use, we should convert SOAP fault to SOAP 1.1 fault format before use.

Parameters:
body pointer to soap_body struct
env axutil_environment struct MUST not be NULL
Returns:
status code , AXIS2_SUCCESS on success , AXIS2_ERROR

AXIS2_EXTERN axiom_soap_body_t* axiom_soap_body_create_with_parent ( const axutil_env_t env,
struct axiom_soap_envelope *  envelope 
)

a struct that represents the contents of the SOAP body element in a SOAP message. SOAP body element consists of XML data that affects the way the application-specific content is processed. soap_body_struct contains soap_header and which have the content for the SOAP body. this also contains axiom_soap_fault_t struct , which carries status and/or error information. creates a soap body struct

Parameters:
env Environment. MUST NOT be NULL
envelope the SOAP envelope to set the SOAP Body
Returns:
created SOAP Body

AXIS2_EXTERN void axiom_soap_body_free ( axiom_soap_body_t *  body,
const axutil_env_t env 
)

Deallocate all the resources associated to soap_body But it does not deallocate the underlying om structure

Parameters:
body soap_body struct
env must not be null
Returns:
status code AXIS2_SUCCESS

AXIS2_EXTERN axiom_node_t* axiom_soap_body_get_base_node ( axiom_soap_body_t *  body,
const axutil_env_t env 
)

get the underlying om_node

Parameters:
body soap_body
env environment must not be null
Returns:
axiom_node_t

AXIS2_EXTERN axiom_soap_fault_t* axiom_soap_body_get_fault ( axiom_soap_body_t *  body,
const axutil_env_t env 
)

returns the soap fault in this soap_body IF a soap_builder is associated with the soap_body Pulling will take place

Parameters:
body soap_body
env environment must not be null
Returns:
axiom_soap_fault_t if available, NULL otherwise

AXIS2_EXTERN int axiom_soap_body_get_soap_version ( axiom_soap_body_t *  body,
const axutil_env_t env 
)

return the soap version

Parameters:
body soap_body
env environment must not be null
Returns:
one of AXIOM_SOAP11 or AXIOM_SOAP12

AXIS2_EXTERN axis2_bool_t axiom_soap_body_has_fault ( axiom_soap_body_t *  body,
const axutil_env_t env 
)

Indicates whether a soap fault is available with this soap body

Parameters:
body soap_body struct
env environment must not be null
Returns:
AXIS2_TRUE if fault is available, AXIS2_FALSE otherwise


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__token_8h-source.html0000644000175000017500000003441211172017604025417 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_token.h Source File

guththila_token.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_TOKEN_H
00019 #define GUTHTHILA_TOKEN_H
00020 
00021 #include <guththila_defines.h>
00022 #include <guththila_stack.h>
00023 
00024 EXTERN_C_START()  
00025 
00026 typedef struct guththila_token_s
00027 {
00028     short type;
00029     guththila_char_t *start;
00030     int _start;
00031     size_t size;
00032     int last;
00033     int ref;
00034 } guththila_token_t;
00035 
00036 enum guththila_token_type
00037 {
00038     _Unknown = 1, 
00039         _name, 
00040         _attribute_name, 
00041         _attribute_value, 
00042         _prefix,
00043     _char_data, 
00044         _text_data
00045 };
00046 
00047 typedef struct guththila_tok_list_s
00048 {
00049     guththila_stack_t fr_stack;
00050     guththila_token_t **list;
00051     int no_list;
00052     int cur_list;
00053     int *capacity;    
00054 } guththila_tok_list_t;
00055 
00056 #ifndef GUTHTHILA_TOK_DEF_SIZE
00057 #define GUTHTHILA_TOK_DEF_SIZE 16
00058 #endif  
00059 
00060 #ifndef GUTHTHILA_TOK_DEF_LIST_SIZE
00061 #define GUTHTHILA_TOK_DEF_LIST_SIZE 16
00062 #endif 
00063 
00064 #ifndef GUTHTHILA_TOKEN_LEN
00065 #define GUTHTHILA_TOKEN_LEN(tok) (tok->size)
00066 #endif  
00067 
00068 #ifndef GUTHTHILA_TOKEN_TO_STRING
00069 #define GUTHTHILA_TOKEN_TO_STRING(tok, string, _env) \
00070     { \
00071         string  = (guththila_char_t *) AXIS2_MALLOC(_env->allocator, (GUTHTHILA_TOKEN_LEN(tok) + 1) * sizeof(guththila_char_t)); \
00072         memcpy(string, (tok)->start, GUTHTHILA_TOKEN_LEN(tok));         \
00073         string[GUTHTHILA_TOKEN_LEN(tok)] = 0; \
00074     }
00075 #endif  
00076 
00077 /*
00078  * Initialize token list.
00079  */
00080 int GUTHTHILA_CALL
00081 guththila_tok_list_init(
00082     guththila_tok_list_t * tok_list,
00083     const axutil_env_t * env);
00084 
00085 /* 
00086  * Free the token list. Allocated tokens are not free. 
00087  */
00088 void GUTHTHILA_CALL
00089 guththila_tok_list_free(
00090     guththila_tok_list_t * tok_list,
00091     const axutil_env_t * env);
00092 
00093 /*
00094  * Get a token from the list.
00095  */
00096 guththila_token_t *
00097 GUTHTHILA_CALL guththila_tok_list_get_token(
00098         guththila_tok_list_t * tok_list,
00099     const axutil_env_t * env);
00100 
00101 /*
00102  * Release a token to the token list.
00103  */
00104 int GUTHTHILA_CALL
00105 guththila_tok_list_release_token(
00106     guththila_tok_list_t * tok_list,
00107     guththila_token_t * token,
00108     const axutil_env_t * env);
00109 
00110 /*
00111  * Free the tokens in the token list.
00112  */
00113 void GUTHTHILA_CALL
00114 guththila_tok_list_free_data(
00115     guththila_tok_list_t * tok_list,
00116     const axutil_env_t * env);
00117 
00118 /*
00119  * Grow the token list.
00120  */
00121 int GUTHTHILA_CALL
00122 guththila_tok_list_grow(
00123     guththila_tok_list_t * tok_list,
00124     const axutil_env_t * env);
00125 
00126 /*
00127  * Compare a token with a string.
00128  * Return 0 if match. 
00129  */
00130 int GUTHTHILA_CALL
00131 guththila_tok_str_cmp(
00132     guththila_token_t * tok,
00133     guththila_char_t *str,
00134     size_t str_len,
00135     const axutil_env_t * env);
00136 
00137 /* 
00138  * Compare two tokens for string equalance 
00139  * Return 0 if match. 
00140  */
00141 int GUTHTHILA_CALL
00142 guththila_tok_tok_cmp(
00143     guththila_token_t * tok1,
00144     guththila_token_t * tok2,
00145     const axutil_env_t * env);
00146 
00147 void GUTHTHILA_CALL
00148 guththila_set_token(
00149     guththila_token_t* tok,
00150     guththila_char_t* start,
00151     short type,
00152     int size,
00153     int _start,
00154     int last,
00155     int ref,
00156     const axutil_env_t* env);
00157 
00158 EXTERN_C_END() 
00159 #endif  
00160 
00161 
00162 
00163 
00164 
00165 
00166 
00167 
00168 
00169 
00170 
00171 
00172 
00173 
00174 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__header_8h-source.html0000644000175000017500000003151711172017604026037 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_header.h Source File

axiom_soap_header.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_HEADER_H
00020 #define AXIOM_SOAP_HEADER_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_node.h>
00028 #include <axiom_element.h>
00029 #include <axutil_array_list.h>
00030 #include <axiom_children_qname_iterator.h>
00031 #include <axiom_children_with_specific_attribute_iterator.h>
00032 #include <axutil_hash.h>
00033 #include <axiom_soap_envelope.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00040     typedef struct axiom_soap_header axiom_soap_header_t;
00041 
00042     struct axiom_soap_header_block;
00043     struct axiom_soap_builder;
00044 
00051     AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL
00052     axiom_soap_header_create_with_parent(
00053         const axutil_env_t * env,
00054         struct axiom_soap_envelope *envelope);
00055 
00063     AXIS2_EXTERN void AXIS2_CALL
00064     axiom_soap_header_free(
00065         axiom_soap_header_t * header,
00066         const axutil_env_t * env);
00067 
00077     AXIS2_EXTERN struct axiom_soap_header_block *AXIS2_CALL
00078 
00079                 axiom_soap_header_add_header_block(
00080                     axiom_soap_header_t * header,
00081                     const axutil_env_t * env,
00082                     const axis2_char_t * localname,
00083                     axiom_namespace_t * ns);
00084 
00100     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00101     axiom_soap_header_examine_header_blocks(
00102         axiom_soap_header_t * header,
00103         const axutil_env_t * env,
00104         axis2_char_t * param_role);
00105 
00115     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00116     axiom_soap_header_get_header_blocks_with_namespace_uri(
00117         axiom_soap_header_t * header,
00118         const axutil_env_t * env,
00119         const axis2_char_t * ns_uri);
00120 
00128     AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL
00129     axiom_soap_header_examine_all_header_blocks(
00130         axiom_soap_header_t * header,
00131         const axutil_env_t * env);
00132 
00142     AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t
00143     *AXIS2_CALL
00144     axiom_soap_header_extract_header_blocks(
00145         axiom_soap_header_t * header,
00146         const axutil_env_t * env,
00147         axis2_char_t * role);
00148 
00156     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00157     axiom_soap_header_get_base_node(
00158         axiom_soap_header_t * header,
00159         const axutil_env_t * env);
00160 
00168     AXIS2_EXTERN int AXIS2_CALL
00169     axiom_soap_header_get_soap_version(
00170         axiom_soap_header_t * header,
00171         const axutil_env_t * env);
00172 
00181     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00182     axiom_soap_header_get_all_header_blocks(
00183         axiom_soap_header_t * header,
00184         const axutil_env_t * env);
00185 
00195     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00196     axiom_soap_header_remove_header_block(
00197         axiom_soap_header_t * header,
00198         const axutil_env_t * env,
00199         axutil_qname_t * qname);
00200 
00202 #ifdef __cplusplus
00203 }
00204 #endif
00205 #endif                          /* AXIOM_SOAP_HEADER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/annotated.html0000644000175000017500000001415511172017604022151 0ustar00manjulamanjula00000000000000 Axis2/C: Class List

Axis2/C Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
axiom_mtom_caching_callback_ops
axiom_mtom_sending_callback_ops
axiom_xml_readerAxiom_xml_reader struct Axis2 OM pull_parser
axiom_xml_reader_opsAXIOM_XML_READER ops Encapsulator struct for ops of axiom_xml_reader
axiom_xml_writerAxis2_pull_parser struct Axis2 OM pull_parser
axiom_xml_writer_opsAxiom_xml_writer ops Encapsulator struct for ops of axiom_xml_writer
axiom_xpath_context
axiom_xpath_expression
axiom_xpath_result
axiom_xpath_result_node
axis2_module
axis2_module_ops
axis2_svc_skeleton
axis2_svc_skeleton_ops
axis2_transport_receiverTransport Reciever struct
axis2_transport_receiver_opsDescription Transport Receiver ops struct Encapsulator struct for ops of axis2_transport_receiver
axis2_transport_sender
axis2_transport_sender_opsDescription Transport Sender ops struct Encapsulator struct for ops of axis2_transport_sender
axis2_version_t
axutil_allocatorAxis2 memory allocator
axutil_envAxis2 Environment struct
axutil_error
axutil_logAxis2 Log struct
axutil_log_opsAxis2 log ops struct
entry_s

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__status__line.html0000644000175000017500000004310611172017604026701 0ustar00manjulamanjula00000000000000 Axis2/C: http status line

http status line
[http transport]


Files

file  axis2_http_status_line.h
 axis2 HTTP Status Line

Typedefs

typedef struct
axis2_http_status_line 
axis2_http_status_line_t

Functions

AXIS2_EXTERN int axis2_http_status_line_get_status_code (const axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_status_line_get_http_version (const axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_status_line_get_reason_phrase (const axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_http_status_line_starts_with_http (axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_status_line_to_string (axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_status_line_free (axis2_http_status_line_t *status_line, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_status_line_t
axis2_http_status_line_create (const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN void axis2_http_status_line_set_http_version (axis2_http_status_line_t *status_line, const axutil_env_t *env, axis2_char_t *http_version)

Typedef Documentation

typedef struct axis2_http_status_line axis2_http_status_line_t

Type name for struct axis2_http_status_line


Function Documentation

AXIS2_EXTERN axis2_http_status_line_t* axis2_http_status_line_create ( const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
env pointer to environment struct
str pointer to str

AXIS2_EXTERN void axis2_http_status_line_free ( axis2_http_status_line_t status_line,
const axutil_env_t env 
)

Parameters:
status_line pointer to status line
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axis2_http_status_line_get_http_version ( const axis2_http_status_line_t status_line,
const axutil_env_t env 
)

Parameters:
status_line pointer to status line
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_status_line_get_reason_phrase ( const axis2_http_status_line_t status_line,
const axutil_env_t env 
)

Parameters:
status_line pointer to status line
env pointer to environment struct

AXIS2_EXTERN int axis2_http_status_line_get_status_code ( const axis2_http_status_line_t status_line,
const axutil_env_t env 
)

Parameters:
status_line pointer to status line
env pointer to environment struct

AXIS2_EXTERN axis2_bool_t axis2_http_status_line_starts_with_http ( axis2_http_status_line_t status_line,
const axutil_env_t env 
)

Parameters:
status_line pointer to status line
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_status_line_to_string ( axis2_http_status_line_t status_line,
const axutil_env_t env 
)

Parameters:
status_line pointer to status line
env pointer to environment struct


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__async__result_8h.html0000644000175000017500000001150211172017604024703 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_async_result.h File Reference

axis2_async_result.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_msg_ctx.h>
#include <axiom_soap_envelope.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_async_result 
axis2_async_result_t

Functions

AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_async_result_get_envelope (axis2_async_result_t *async_result, const axutil_env_t *env)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_async_result_get_result (axis2_async_result_t *async_result, const axutil_env_t *env)
AXIS2_EXTERN void axis2_async_result_free (axis2_async_result_t *async_result, const axutil_env_t *env)
AXIS2_EXTERN
axis2_async_result_t
axis2_async_result_create (const axutil_env_t *env, axis2_msg_ctx_t *result)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__transport__out__desc.html0000644000175000017500000013331311172017604027231 0ustar00manjulamanjula00000000000000 Axis2/C: transport out description

transport out description
[description]


Files

file  axis2_transport_out_desc.h

Typedefs

typedef struct
axis2_transport_out_desc 
axis2_transport_out_desc_t

Functions

AXIS2_EXTERN void axis2_transport_out_desc_free (axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env)
AXIS2_EXTERN void axis2_transport_out_desc_free_void_arg (void *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_transport_out_desc_get_enum (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_enum (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_out_desc_get_out_flow (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_out_flow (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_flow *out_flow)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_out_desc_get_fault_out_flow (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_fault_out_flow (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_flow *fault_out_flow)
AXIS2_EXTERN
axis2_transport_sender_t
axis2_transport_out_desc_get_sender (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_sender (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, axis2_transport_sender_t *sender)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_out_desc_get_out_phase (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_out_phase (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_phase *out_phase)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_out_desc_get_fault_phase (const axis2_transport_out_desc_t *transport_out, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_set_fault_phase (struct axis2_transport_out_desc *transport_out, const axutil_env_t *env, struct axis2_phase *fault_phase)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_out_desc_add_param (axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_transport_out_desc_get_param (const axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN axis2_bool_t axis2_transport_out_desc_is_param_locked (axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_transport_out_desc_param_container (const axis2_transport_out_desc_t *transport_out_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_transport_out_desc_create (const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)

Detailed Description

transport out description represents a transport sender configured in Axis2 configuration. There can be multiple transport senders configured in axis2.xml file and each of them will be represented with a transport out description instance. deployment engine takes care of creating and instantiating transport out descriptions. transport out description encapsulates flows related to the transport out and also holds a reference to related transport sender.

Typedef Documentation

typedef struct axis2_transport_out_desc axis2_transport_out_desc_t

Type name for struct axis2_transport_out_desc


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_add_param ( axis2_transport_out_desc_t transport_out_desc,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds parameter.

Parameters:
transport_out_desc pointer to tarn sport out description
env pointer to environment struct
param pointer to parameter, transport out description assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_transport_out_desc_t* axis2_transport_out_desc_create ( const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Creates transport out description with given transport enum.

Parameters:
env pointer to environment struct
trans_enum pointer to transport enum
Returns:
pointer to newly created transport out

AXIS2_EXTERN void axis2_transport_out_desc_free ( axis2_transport_out_desc_t transport_out_desc,
const axutil_env_t env 
)

Frees transport out description.

Parameters:
transport_out_dec pointer to transport out description
env pointer to environment struct
Returns:
void

AXIS2_EXTERN void axis2_transport_out_desc_free_void_arg ( void *  transport_out,
const axutil_env_t env 
)

Frees transport out description given as a void pointer.

Parameters:
transport_out_dec pointer to transport out description as a void pointer
env pointer to environment struct
Returns:
void

AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS axis2_transport_out_desc_get_enum ( const axis2_transport_out_desc_t transport_out,
const axutil_env_t env 
)

Gets transport enum.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
Returns:
transport enum

AXIS2_EXTERN struct axis2_flow* axis2_transport_out_desc_get_fault_out_flow ( const axis2_transport_out_desc_t transport_out,
const axutil_env_t env 
) [read]

Gets fault out flow. Fault out flow represents the list of phases invoked along the sender path if a fault happens.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
Returns:
pointer to flow representing fault out flow

AXIS2_EXTERN struct axis2_phase* axis2_transport_out_desc_get_fault_phase ( const axis2_transport_out_desc_t transport_out,
const axutil_env_t env 
) [read]

Gets fault phase.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
Returns:
pointer to phase representing fault phase, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_flow* axis2_transport_out_desc_get_out_flow ( const axis2_transport_out_desc_t transport_out,
const axutil_env_t env 
) [read]

Gets out flow. Out flow represents the list of phases invoked along the sender path.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
Returns:
pointer to flow representing out flow, returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_phase* axis2_transport_out_desc_get_out_phase ( const axis2_transport_out_desc_t transport_out,
const axutil_env_t env 
) [read]

Gets transport out phase.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
Returns:
pointer to phase representing transport out phase, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_transport_out_desc_get_param ( const axis2_transport_out_desc_t transport_out_desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Gets named parameter.

Parameters:
transport_out_desc pointer to transport out description
env pointer to environment struct
param_name parameter name string

AXIS2_EXTERN axis2_transport_sender_t* axis2_transport_out_desc_get_sender ( const axis2_transport_out_desc_t transport_out,
const axutil_env_t env 
)

Gets transport sender.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
Returns:
pointer to transport sender associated wit the transport out description, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_transport_out_desc_is_param_locked ( axis2_transport_out_desc_t transport_out_desc,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
transport_out_desc pointer to transport out description
env pointer to environment struct
param_name pointer to parameter name

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_set_enum ( struct axis2_transport_out_desc *  transport_out,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Sets transport enum.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
trans_enum transport enum
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_set_fault_out_flow ( struct axis2_transport_out_desc *  transport_out,
const axutil_env_t env,
struct axis2_flow *  fault_out_flow 
)

Sets fault out flow. Fault out flow represents the list of phases invoked along the sender path if a fault happens.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
fault_out_flow pointer to fault_out_flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_set_fault_phase ( struct axis2_transport_out_desc *  transport_out,
const axutil_env_t env,
struct axis2_phase *  fault_phase 
)

Sets fault phase.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
fault_phase pointer to phase representing fault phase, transport description assumes ownership of phase
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_set_out_flow ( struct axis2_transport_out_desc *  transport_out,
const axutil_env_t env,
struct axis2_flow *  out_flow 
)

Sets out flow. Out flow represents the list of phases invoked along the sender path.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
out_flow pointer to out flow, transport out description assumes ownership of flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_set_out_phase ( struct axis2_transport_out_desc *  transport_out,
const axutil_env_t env,
struct axis2_phase *  out_phase 
)

Sets transport out phase.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
out_phase pointer to phase representing transport out phase, transport out description assumes ownership of phase
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_transport_out_desc_set_sender ( struct axis2_transport_out_desc *  transport_out,
const axutil_env_t env,
axis2_transport_sender_t sender 
)

Sets transport sender.

Parameters:
transport_out pointer to transport_out
env pointer to environment struct
sender pointer to transport sender, transport description assumes ownership of sender
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__doctype.html0000644000175000017500000003166011172017604024552 0ustar00manjulamanjula00000000000000 Axis2/C: doctype

doctype
[AXIOM]


Typedefs

typedef struct
axiom_doctype 
axiom_doctype_t

Functions

AXIS2_EXTERN
axiom_doctype_t * 
axiom_doctype_create (const axutil_env_t *env, axiom_node_t *parent, const axis2_char_t *value, axiom_node_t **node)
AXIS2_EXTERN void axiom_doctype_free (struct axiom_doctype *om_doctype, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_doctype_get_value (struct axiom_doctype *om_doctype, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_doctype_set_value (struct axiom_doctype *om_doctype, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_doctype_serialize (struct axiom_doctype *om_doctype, const axutil_env_t *env, axiom_output_t *om_output)

Function Documentation

AXIS2_EXTERN axiom_doctype_t* axiom_doctype_create ( const axutil_env_t env,
axiom_node_t *  parent,
const axis2_char_t *  value,
axiom_node_t **  node 
)

Creates a axiom_doctype_t struct

Parameters:
env Environment. MUST NOT be NULL,
parent parent of the new node. Optinal, can be NULL.
value doctype text
node This is an out parameter.cannot be NULL. Returns the node corresponding to the doctype created. Node type will be set to AXIOM_DOCTYPE
Returns:
pointer to newly created doctype struct

AXIS2_EXTERN void axiom_doctype_free ( struct axiom_doctype *  om_doctype,
const axutil_env_t env 
)

free doctype struct

Parameters:
om_doctype pointer to axiom_doctype_t struct to be freed
env Environment. MUST NOT be NULL,
Returns:
satus of the op. AXIS2_SUCCESS on success AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_char_t* axiom_doctype_get_value ( struct axiom_doctype *  om_doctype,
const axutil_env_t env 
)

Parameters:
om_doctype pointer to a axiom_doctype_t struct
env environment must not be null
Returns:
DTD text

AXIS2_EXTERN axis2_status_t axiom_doctype_serialize ( struct axiom_doctype *  om_doctype,
const axutil_env_t env,
axiom_output_t om_output 
)

serialize op

Parameters:
om_doctype pointer to axiom_doctype_t struct
env environment , MUST NOT be NULL
om_output pointer to axiom_output_t struct
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

AXIS2_EXTERN axis2_status_t axiom_doctype_set_value ( struct axiom_doctype *  om_doctype,
const axutil_env_t env,
const axis2_char_t *  value 
)

Parameters:
om_doctype pointer to axiom doctype_t struct
env environment , MUST NOT be NULL.
value doctype text value
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__config.html0000644000175000017500000041140411172017604024257 0ustar00manjulamanjula00000000000000 Axis2/C: configuration

configuration
[engine]


Typedefs

typedef struct axis2_conf axis2_conf_t

Functions

AXIS2_EXTERN void axis2_conf_free (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_svc_grp (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_conf_get_svc_grp (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *svc_grp_name)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_svc_grps (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_svc (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc * 
axis2_conf_get_svc (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_remove_svc (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_param (axis2_conf_t *conf, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_conf_get_param (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_all_params (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_conf_is_param_locked (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_transport_in_desc_t
axis2_conf_get_transport_in (const axis2_conf_t *conf, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_transport_in (axis2_conf_t *conf, const axutil_env_t *env, axis2_transport_in_desc_t *transport, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_conf_get_transport_out (const axis2_conf_t *conf, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_transport_out (axis2_conf_t *conf, const axutil_env_t *env, axis2_transport_out_desc_t *transport, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_transport_in_desc_t ** 
axis2_conf_get_all_in_transports (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_out_desc_t ** 
axis2_conf_get_all_out_transports (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_module_desc * 
axis2_conf_get_module (const axis2_conf_t *conf, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_all_engaged_modules (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_in_phases_upto_and_including_post_dispatch (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_out_flow (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_in_fault_flow (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_out_fault_flow (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_faulty_svcs (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_faulty_modules (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_svcs (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_svcs_to_load (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_conf_is_engaged (axis2_conf_t *conf, const axutil_env_t *env, const axutil_qname_t *module_name)
AXIS2_EXTERN struct
axis2_phases_info * 
axis2_conf_get_phases_info (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_phases_info (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_phases_info *phases_info)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_msg_recv (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *key, struct axis2_msg_recv *msg_recv)
AXIS2_EXTERN struct
axis2_msg_recv * 
axis2_conf_get_msg_recv (const axis2_conf_t *conf, const axutil_env_t *env, axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_out_phases (axis2_conf_t *conf, const axutil_env_t *env, axutil_array_list_t *out_phases)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_out_phases (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_in_fault_phases (axis2_conf_t *conf, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_out_fault_phases (axis2_conf_t *conf, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_modules (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_module (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_module_desc *module)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_default_dispatchers (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_dispatch_phase (axis2_conf_t *conf, const axutil_env_t *env, axis2_phase_t *dispatch)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_get_repo (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_repo (axis2_conf_t *conf, const axutil_env_t *env, axis2_char_t *axis2_repo)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_get_axis2_xml (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_axis2_xml (axis2_conf_t *conf, const axutil_env_t *env, axis2_char_t *axis2_xml)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_engage_module (axis2_conf_t *conf, const axutil_env_t *env, const axutil_qname_t *module_ref)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_dep_engine (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_dep_engine *dep_engine)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_get_default_module_version (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN struct
axis2_module_desc * 
axis2_conf_get_default_module (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_default_module_version (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name, const axis2_char_t *module_version)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_engage_module_with_version (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name, const axis2_char_t *version_id)
AXIS2_EXTERN
axis2_conf_t
axis2_conf_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_conf_get_enable_mtom (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_enable_mtom (axis2_conf_t *conf, const axutil_env_t *env, axis2_bool_t enable_mtom)
AXIS2_EXTERN axis2_bool_t axis2_conf_get_axis2_flag (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_axis2_flag (axis2_conf_t *conf, const axutil_env_t *env, axis2_bool_t axis2_flag)
AXIS2_EXTERN axis2_bool_t axis2_conf_get_enable_security (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_enable_security (axis2_conf_t *conf, const axutil_env_t *env, axis2_bool_t enable_security)
AXIS2_EXTERN void * axis2_conf_get_security_context (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_security_context (axis2_conf_t *conf, const axutil_env_t *env, void *security_context)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_conf_get_param_container (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_desc_t
axis2_conf_get_base (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_handlers (const axis2_conf_t *conf, const axutil_env_t *env)

Detailed Description

Axis2 configuration captures all configuration information. Configuration information includes user preferences along with module and service information that is either statically configured using axis2.xml file, service.xml files and module.xml files or dynamically using the functions defined in the ops struct related to this conf struct.

Typedef Documentation

typedef struct axis2_conf axis2_conf_t

Type name for struct axis2_conf


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_conf_add_default_module_version ( axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  module_name,
const axis2_char_t *  module_version 
)

Adds a default module version for the named module.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module_name name of the module
module_version default version for the module
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_module ( axis2_conf_t conf,
const axutil_env_t env,
struct axis2_module_desc *  module 
)

Adds a module.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module pointer to module struct to be added
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_msg_recv ( axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  key,
struct axis2_msg_recv *  msg_recv 
)

Adds message receiver with the given key.

Parameters:
conf pointer to conf struct
env pointer to environment struct
key key string with which the message receive is to be added
msg_recv pointer to message receiver
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_param ( axis2_conf_t conf,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds a parameter to configuration.

Parameters:
conf pointer to conf struct
env pointer to environment struct
param pointer to parameter struct to be added
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_svc ( axis2_conf_t conf,
const axutil_env_t env,
struct axis2_svc *  svc 
)

Adds a service to configuration.

Parameters:
conf pointer to conf struct
env pointer to environment struct
svc pointer to service, conf takes over the ownership of the service
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_svc_grp ( axis2_conf_t conf,
const axutil_env_t env,
struct axis2_svc_grp *  svc_grp 
)

Adds a service group to the configuration.

Parameters:
conf pointer to conf struct
env pointer to environment struct
svc_grp pointer to service group, conf takes over the ownership of the service group
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_transport_in ( axis2_conf_t conf,
const axutil_env_t env,
axis2_transport_in_desc_t transport,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Adds a transport in description.

Parameters:
conf pointer to conf struct
env pointer to environment struct
transport pointer to transport in description. conf assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_add_transport_out ( axis2_conf_t conf,
const axutil_env_t env,
axis2_transport_out_desc_t transport,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Adds a transport out description.

Parameters:
conf pointer to conf struct
env pointer to environment struct
transport pointer to transport out description. conf assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_conf_t* axis2_conf_create ( const axutil_env_t env  ) 

Creates configuration struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created configuration

AXIS2_EXTERN axis2_status_t axis2_conf_engage_module ( axis2_conf_t conf,
const axutil_env_t env,
const axutil_qname_t *  module_ref 
)

Engages the named module.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module_ref pointer to the QName of the module to be engaged
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_engage_module_with_version ( axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  module_name,
const axis2_char_t *  version_id 
)

Engages the module with the given version.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module_name name of the module to be engaged
version_id version of the module to be engaged
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_conf_free ( axis2_conf_t conf,
const axutil_env_t env 
)

Frees conf struct.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_all_engaged_modules ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the list of engaged modules.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the array list of engaged modules. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_conf_get_all_faulty_modules ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets faulty modules. A faulty module is a module that does not meet the module configuration criteria or a module with errors in the service dynamic link library.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the hash table of faulty modules. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_conf_get_all_faulty_svcs ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets faulty services. A faulty service is a service that does not meet the service configuration criteria or a service with errors in the service dynamic link library.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the hash table of faulty services. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_transport_in_desc_t** axis2_conf_get_all_in_transports ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all in transports.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
hash table containing all transport in descriptions. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_conf_get_all_modules ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all modules configured,

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to hash table containing the list of modules. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_transport_out_desc_t** axis2_conf_get_all_out_transports ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all out transports.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
hash table containing all transport out descriptions. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_all_params ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all the parameters added to the configuration.

Parameters:
conf pointer to conf struct
env pointer to environment
Returns:
pointer to array list containing parameters if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_conf_get_all_svc_grps ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all service group added to conf.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
pointer to hash table containing the service groups, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_conf_get_all_svcs ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all the list of services loaded into configuration.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the hash table of services. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_hash_t* axis2_conf_get_all_svcs_to_load ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets all the list of services that need to be loaded into configuration at the start up of the axis2 engine.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the hash table of services. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_conf_get_axis2_flag ( axis2_conf_t conf,
const axutil_env_t env 
)

set a flag to mark conf created by axis2.xml

AXIS2_EXTERN const axis2_char_t* axis2_conf_get_axis2_xml ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the axis2.xml location.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
returns repository location as a string

AXIS2_EXTERN axis2_desc_t* axis2_conf_get_base ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets base description.

Parameters:
conf pointer to message
env pointer to environment struct
Returns:
pointer to base description struct

AXIS2_EXTERN struct axis2_module_desc* axis2_conf_get_default_module ( const axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  module_name 
) [read]

Gets the default module reference for the named module.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module_name module name string
Returns:
pointer to the module description struct corresponding to the given name

AXIS2_EXTERN const axis2_char_t* axis2_conf_get_default_module_version ( const axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  module_name 
)

Gets the default module version for the named module.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module_name module name string
Returns:
default module version as a string

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_in_fault_flow ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the in fault flow. In fault flow is a list of phases invoked in the in path of execution, if some fault happens.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the array list of in fault flow phases. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_in_phases_upto_and_including_post_dispatch ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the in phases up to and including port dispatch phase.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the array list of in phases up to post dispatch inclusive. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_module_desc* axis2_conf_get_module ( const axis2_conf_t conf,
const axutil_env_t env,
const axutil_qname_t *  qname 
) [read]

Gets a module with given QName.

Parameters:
conf pointer to conf struct
env pointer to environment struct
qname pointer to qname
Returns:
module description corresponding to the given qname

AXIS2_EXTERN struct axis2_msg_recv* axis2_conf_get_msg_recv ( const axis2_conf_t conf,
const axutil_env_t env,
axis2_char_t *  key 
) [read]

Gets message receiver with the given key.

Parameters:
conf pointer to conf struct
env pointer to environment struct
key key string corresponding to the message receiver to be retrieved
Returns:
pointer to the message receiver with the given key if it exists, else null. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_out_fault_flow ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the out fault flow. Out fault flow is a list of phases invoked in the out path of execution, if some fault happens.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the array list of out fault flow phases. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_out_flow ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the out flow. Out flow is a list of phases invoked in the out path of execution of the engine.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the array list of out flow phases. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_conf_get_out_phases ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the list of out phases.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
pointer to array list of out phases. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_t* axis2_conf_get_param ( const axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets a parameter with the given name.

Parameters:
conf pointer to conf struct
env pointer to environment struct
name name of the parameter to be accessed
Returns:
pointer to parameter with the given name if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_phases_info* axis2_conf_get_phases_info ( const axis2_conf_t conf,
const axutil_env_t env 
) [read]

Gets phases information struct.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
a pointer to the struct containing phases information. Returns a reference, not a cloned copy

AXIS2_EXTERN const axis2_char_t* axis2_conf_get_repo ( const axis2_conf_t conf,
const axutil_env_t env 
)

Gets the repository location.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
returns repository location as a string

AXIS2_EXTERN struct axis2_svc* axis2_conf_get_svc ( const axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  svc_name 
) [read]

Gets a service with given name.

Parameters:
conf pointer to conf struct
env pointer to environment struct
svc_name service name string
Returns:
pointer to service with the given name if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN struct axis2_svc_grp* axis2_conf_get_svc_grp ( const axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  svc_grp_name 
) [read]

Gets a named service group.

Parameters:
conf pointer to conf struct
env pointer to environment struct
svc_grp_name name of the service group to be accessed
Returns:
pointer to service group with the given name if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_transport_in_desc_t* axis2_conf_get_transport_in ( const axis2_conf_t conf,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Gets in transport corresponding to the given transport QName.

Parameters:
conf pointer to conf struct
env pointer to environment struct
qname QName of transport
Returns:
pointer to transport in description if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_transport_out_desc_t* axis2_conf_get_transport_out ( const axis2_conf_t conf,
const axutil_env_t env,
const AXIS2_TRANSPORT_ENUMS  trans_enum 
)

Gets out transport corresponding to the given transport QName.

Parameters:
conf pointer to conf struct
env pointer to environment strcut
qname pointer to transport qname
Returns:
pointer to transport out description if exists, else NULL. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_bool_t axis2_conf_is_engaged ( axis2_conf_t conf,
const axutil_env_t env,
const axutil_qname_t *  module_name 
)

Checks is the named module is engaged.

Parameters:
conf pointer to conf struct
env pointer to environment struct
module_name pointer to QName representing the module name
Returns:
AXIS2_TRUE if named module is engaged, else AXIS2_FALSE

AXIS2_EXTERN axis2_bool_t axis2_conf_is_param_locked ( const axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
conf pointer to conf struct
env pointer to environment struct
param_name name of the parameter
Returns:
AXIS2_TRUE if parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_conf_remove_svc ( axis2_conf_t conf,
const axutil_env_t env,
const axis2_char_t *  name 
)

Removes the named service from configuration.

Parameters:
conf pointer to conf struct
env pointer to environment struct
name name of service to be removed
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_axis2_xml ( axis2_conf_t conf,
const axutil_env_t env,
axis2_char_t *  axis2_xml 
)

Sets the axis2.xml location.

Parameters:
conf pointer to conf struct
env pointer to environment struct
axis2_xml repository location as a string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_default_dispatchers ( axis2_conf_t conf,
const axutil_env_t env 
)

Sets the default dispatchers.

Parameters:
conf pointer to conf struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_dep_engine ( axis2_conf_t conf,
const axutil_env_t env,
struct axis2_dep_engine *  dep_engine 
)

Sets the deployment engine.

Parameters:
conf pointer to conf struct
env pointer to environment struct
dep_engine pointer to dep_engine struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_dispatch_phase ( axis2_conf_t conf,
const axutil_env_t env,
axis2_phase_t dispatch 
)

Sets a custom dispatching phase.

Parameters:
conf pointer to conf struct
env pointer to environment struct
dispatch pointer to phase to be dispatched
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_in_fault_phases ( axis2_conf_t conf,
const axutil_env_t env,
axutil_array_list_t list 
)

Sets fault phases for in path.

Parameters:
conf pointer to conf struct
env pointer to environment struct
list pointer to array list of phases
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_out_fault_phases ( axis2_conf_t conf,
const axutil_env_t env,
axutil_array_list_t list 
)

Sets fault phases for out path.

Parameters:
conf pointer to conf struct
env pointer to environment struct
list pointer to array list of phases
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_out_phases ( axis2_conf_t conf,
const axutil_env_t env,
axutil_array_list_t out_phases 
)

Sets the list of out phases.

Parameters:
conf pointer to conf struct
env pointer to environment struct
out_phases pointer to array list of the phases. conf assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_phases_info ( axis2_conf_t conf,
const axutil_env_t env,
struct axis2_phases_info *  phases_info 
)

Sets phases information struct.

Parameters:
conf pointer to conf struct
env pointer to environment struct
phases_info pointer to phases_info struct. conf assumes ownership of the struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_conf_set_repo ( axis2_conf_t conf,
const axutil_env_t env,
axis2_char_t *  axis2_repo 
)

Sets the repository location.

Parameters:
conf pointer to conf struct
env pointer to environment struct
axis2_repo repository location as a string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__handler_8h.html0000644000175000017500000002000211172017604023441 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_handler.h File Reference

axis2_handler.h File Reference

#include <axis2_defines.h>
#include <axutil_qname.h>
#include <axutil_param.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_handler 
axis2_handler_t
typedef axis2_status_t(* AXIS2_HANDLER_INVOKE )(axis2_handler_t *handler, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
typedef
axis2_handler_t *(* 
AXIS2_HANDLER_CREATE_FUNC )(const axutil_env_t *env, const axutil_string_t *name)

Functions

AXIS2_EXTERN void axis2_handler_free (axis2_handler_t *handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_init (axis2_handler_t *handler, const axutil_env_t *env, struct axis2_handler_desc *handler_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_invoke (axis2_handler_t *handler, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN const
axutil_string_t * 
axis2_handler_get_name (const axis2_handler_t *handler, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_t * 
axis2_handler_get_param (const axis2_handler_t *handler, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN struct
axis2_handler_desc * 
axis2_handler_get_handler_desc (const axis2_handler_t *handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_set_invoke (axis2_handler_t *handler, const axutil_env_t *env, AXIS2_HANDLER_INVOKE func)
AXIS2_EXTERN
axis2_handler_t
axis2_handler_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_handler_t
axis2_ctx_handler_create (const axutil_env_t *env, const axutil_string_t *qname)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__simple__http__svr__conn_8h.html0000644000175000017500000007573311172017604026745 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_simple_http_svr_conn.h File Reference

axis2_simple_http_svr_conn.h File Reference

Axis2 simple http server connection. More...

#include <axis2_const.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_http_simple_request.h>
#include <axis2_http_simple_response.h>
#include <axis2_http_response_writer.h>

Go to the source code of this file.
typedef struct
axis2_simple_http_svr_conn 
axis2_simple_http_svr_conn_t
AXIS2_EXTERN
axis2_status_t 
axis2_simple_http_svr_conn_close (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_simple_http_svr_conn_is_open (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_simple_http_svr_conn_set_keep_alive (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env, axis2_bool_t keep_alive)
AXIS2_EXTERN axis2_bool_t axis2_simple_http_svr_conn_is_keep_alive (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axutil_stream_t * 
axis2_simple_http_svr_conn_get_stream (const axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_response_writer_t
axis2_simple_http_svr_conn_get_writer (const axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_simple_request_t
axis2_simple_http_svr_conn_read_request (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_simple_http_svr_conn_write_response (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env, axis2_http_simple_response_t *response)
AXIS2_EXTERN
axis2_status_t 
axis2_simple_http_svr_conn_set_rcv_timeout (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env, int timeout)
AXIS2_EXTERN
axis2_status_t 
axis2_simple_http_svr_conn_set_snd_timeout (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env, int timeout)
AXIS2_EXTERN
axis2_char_t * 
axis2_simple_http_svr_conn_get_svr_ip (const axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_simple_http_svr_conn_get_peer_ip (const axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN void axis2_simple_http_svr_conn_free (axis2_simple_http_svr_conn_t *svr_conn, const axutil_env_t *env)
AXIS2_EXTERN
axis2_simple_http_svr_conn_t * 
axis2_simple_http_svr_conn_create (const axutil_env_t *env, int sockfd)


Detailed Description

Axis2 simple http server connection.


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_simple_http_svr_conn_close ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_simple_http_svr_conn_t* axis2_simple_http_svr_conn_create ( const axutil_env_t env,
int  sockfd 
)

creates axis2_simple_http_svr_conn struct

Parameters:
env pointer to environment struct
sockfd sockfd

AXIS2_EXTERN void axis2_simple_http_svr_conn_free ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_char_t* axis2_simple_http_svr_conn_get_peer_ip ( const axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axutil_stream_t* axis2_simple_http_svr_conn_get_stream ( const axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_simple_http_svr_conn_get_svr_ip ( const axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axis2_http_response_writer_t* axis2_simple_http_svr_conn_get_writer ( const axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axis2_bool_t axis2_simple_http_svr_conn_is_keep_alive ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axis2_bool_t axis2_simple_http_svr_conn_is_open ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axis2_http_simple_request_t* axis2_simple_http_svr_conn_read_request ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_simple_http_svr_conn_set_keep_alive ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env,
axis2_bool_t  keep_alive 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct
keep_alive 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_simple_http_svr_conn_set_rcv_timeout ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env,
int  timeout 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct
timeout timeout
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_simple_http_svr_conn_set_snd_timeout ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env,
int  timeout 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct
timeout timeout
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_simple_http_svr_conn_write_response ( axis2_simple_http_svr_conn_t *  svr_conn,
const axutil_env_t env,
axis2_http_simple_response_t response 
)

Parameters:
svr_conn pointer to server connection struct
env pointer to environment struct
response response
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__phase__resolver.html0000644000175000017500000011035311172017604026171 0ustar00manjulamanjula00000000000000 Axis2/C: phase resolver

phase resolver


Files

file  axis2_phase_resolver.h

Modules

 phase holder

Typedefs

typedef struct
axis2_phase_resolver 
axis2_phase_resolver_t

Functions

AXIS2_EXTERN void axis2_phase_resolver_free (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_engage_module_globally (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_module_desc *module)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_engage_module_to_svc (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_svc *svc, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_engage_module_to_op (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_op *axis_op, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_build_execution_chains_for_svc (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_build_execution_chains_for_module_op (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_op *op)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_disengage_module_from_svc (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_svc *svc, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_disengage_module_from_op (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env, struct axis2_op *axis_op, struct axis2_module_desc *module_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_phase_resolver_build_transport_chains (axis2_phase_resolver_t *phase_resolver, const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_resolver_t
axis2_phase_resolver_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_phase_resolver_t
axis2_phase_resolver_create_with_config (const axutil_env_t *env, struct axis2_conf *axis2_config)
AXIS2_EXTERN
axis2_phase_resolver_t
axis2_phase_resolver_create_with_config_and_svc (const axutil_env_t *env, struct axis2_conf *axis2_config, struct axis2_svc *svc)

Detailed Description

Engaging modules into axis2 configuration, services and operations are done here. This is accomplished mainly by following operations respectively. axis2_phase_resolver_engage_module_globally(). axis2_phase_resolver_engage_module_to_svc(). axis2_phase_resolver_engage_module_to_op(). The user normally engage a module programmatically or using configuration files. When an application client engage a module programmatically he can use axis2_op_client_engage_module() function, or axis2_svc_client_engage_module() function. Engaging using configuration files means adding a module_ref parameter into services.xml or axis2.xml. In whatever way engaging a module finally sums upto addding module handlers into each operations flows in the order defined in module.xml. Here flows in operations are actually array lists of user defined phases (See op.c).

Above functions in phase resolver add module handlers into operation flows as mentioned above as well as add module handlers into system defined phases. User defined phases are added into each operation at deployment time before handlers are added into them by phase resolver. System define phases are added into axis2_conf_t structure and predefined handlers are added to them before module handlers are added to them by phase resolver.

Modules defined in axis2.xml are engaged by call to axis2_conf_engage_module() function. Modules defined in services xml are engaged by call to axis2_svc_enage_module() or axis2_svc_grp_engage_module(). Modules define in operation tag under services.xml are engaged by call to axis2_op_engage_module() function. These function in tern call one of axis2_phase_resolver_engage_module_globally() or axis2_phase_resolver_engage_module_to_svc() or axis2_phase_resolver_engage_module_to_op.

Also when you add a service programmaticaly into axis2_conf_t you need to build execution chains for that services operations. axis2_phase_resolver_build_execution_chains_for_svc() is the function to be called for that purpose. This will extract the already engaged modules for the configuration and service and add handlers from them into operation phases.


Typedef Documentation

typedef struct axis2_phase_resolver axis2_phase_resolver_t

Type name for axis2_phase_resolver


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_build_execution_chains_for_module_op ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env,
struct axis2_op *  op 
)

Builds execution chains for given module operation.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
op pointer to operation
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_build_execution_chains_for_svc ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env 
)

Builds the execution chains for service. Execution chains are collection of phases that are invoked in the execution path. Execution chains for system defined phases are created when call to engage_module_globally() function. Here it is created for service operations.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_build_transport_chains ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env 
)

Builds transport chains. This function is no longer used in Axis2/C and hence marked as deprecated.

Deprecated:
Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_phase_resolver_t* axis2_phase_resolver_create ( const axutil_env_t env  ) 

Creates phase resolver struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created phase resolver

AXIS2_EXTERN axis2_phase_resolver_t* axis2_phase_resolver_create_with_config ( const axutil_env_t env,
struct axis2_conf *  axis2_config 
)

Creates phase resolver struct with given configuration.

Parameters:
env pointer to environment struct
axis2_config pointer to aixs2 configuration, phase resolver created would not assume ownership of configuration
Returns:
pointer to newly created phase resolver

AXIS2_EXTERN axis2_phase_resolver_t* axis2_phase_resolver_create_with_config_and_svc ( const axutil_env_t env,
struct axis2_conf *  axis2_config,
struct axis2_svc *  svc 
)

Creates phase resolver struct with given configuration and service.

Parameters:
env pointer to environment struct
aixs2_config pointer to aixs2 configuration, phase resolver created would not assume ownership of configuration
svc pointer to service, phase resolver created would not assume ownership of service
Returns:
pointer to newly created phase resolver

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_disengage_module_from_op ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env,
struct axis2_op *  axis_op,
struct axis2_module_desc *  module_desc 
)

Disengages the given module from the given operation.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
axis_op pointer to axis operation
pointer to module description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_disengage_module_from_svc ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env,
struct axis2_svc *  svc,
struct axis2_module_desc *  module_desc 
)

Disengages the given module from the given service. This means the given module would be disengaged from all operations of the given service.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
svc pointer to service
module_desc pointer to module description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_engage_module_globally ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env,
struct axis2_module_desc *  module 
)

Engages the given module globally. Engaging a module globally means that the given module would be engaged to all operations in all services.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
module pointer to module
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_engage_module_to_op ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env,
struct axis2_op *  axis_op,
struct axis2_module_desc *  module_desc 
)

Engages the given module to the given operation.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
axis_op pointer to axis operation
pointer to module description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_phase_resolver_engage_module_to_svc ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env,
struct axis2_svc *  svc,
struct axis2_module_desc *  module_desc 
)

Engages the given module to the given service. This means the given module would be engaged to all operations of the given service.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
svc pointer to service
module_desc pointer to module description
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_phase_resolver_free ( axis2_phase_resolver_t phase_resolver,
const axutil_env_t env 
)

Frees phase resolver.

Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
Returns:
void


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__env_8h-source.html0000644000175000017500000003414411172017604024406 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_env.h Source File

axutil_env.h

Go to the documentation of this file.
00001 /*
00002  * Licensed to the Apache Software Foundation (ASF) under one or more
00003  * contributor license agreements.  See the NOTICE file distributed with
00004  * this work for additional information regarding copyright ownership.
00005  * The ASF licenses this file to You under the Apache License, Version 2.0
00006  * (the "License"); you may not use this file except in compliance with
00007  * the License.  You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef AXUTIL_ENV_H
00019 #define AXUTIL_ENV_H
00020 
00027 #include <axutil_allocator.h>
00028 #include <axutil_error.h>
00029 #include <axutil_log.h>
00030 #include <axutil_thread_pool.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00044     struct axutil_env;
00045     struct axutil_env_ops;
00046 
00059     typedef struct axutil_env
00060     {
00061 
00063         axutil_allocator_t *allocator;
00064 
00066         axutil_error_t *error;
00067 
00069         axutil_log_t *log;
00070 
00072         axis2_bool_t log_enabled;
00073 
00075         axutil_thread_pool_t *thread_pool;
00076 
00077         int ref;
00078     }
00079     axutil_env_t;
00080 
00088     AXIS2_EXTERN axutil_env_t *AXIS2_CALL
00089     axutil_env_create(
00090         axutil_allocator_t * allocator);
00091 
00100     AXIS2_EXTERN axutil_env_t *AXIS2_CALL
00101     axutil_env_create_all(
00102         const axis2_char_t * log_file,
00103         const axutil_log_levels_t log_level);
00104 
00105 
00112     AXIS2_EXTERN axutil_env_t *AXIS2_CALL
00113     axutil_env_create_with_error(
00114         axutil_allocator_t * allocator,
00115         axutil_error_t * error);
00116 
00125     AXIS2_EXTERN axutil_env_t *AXIS2_CALL
00126     axutil_env_create_with_error_log(
00127         axutil_allocator_t * allocator,
00128         axutil_error_t * error,
00129         axutil_log_t * log);
00130 
00140     AXIS2_EXTERN axutil_env_t *AXIS2_CALL
00141     axutil_env_create_with_error_log_thread_pool(
00142         axutil_allocator_t * allocator,
00143         axutil_error_t * error,
00144         axutil_log_t * log,
00145         axutil_thread_pool_t * pool);
00146 
00154     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00155     axutil_env_enable_log(
00156         axutil_env_t * env,
00157         axis2_bool_t enable);
00158 
00165     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00166     axutil_env_check_status(
00167         const axutil_env_t * env);
00168 
00174     AXIS2_EXTERN void AXIS2_CALL
00175     axutil_env_free(
00176         axutil_env_t * env);
00177 
00178 
00179     #define AXIS_ENV_FREE_LOG        0x1
00180     #define AXIS_ENV_FREE_ERROR      0x2
00181     #define AXIS_ENV_FREE_THREADPOOL 0x4
00182 
00195     AXIS2_EXTERN void AXIS2_CALL
00196     axutil_env_free_masked(
00197         axutil_env_t * env,
00198         char mask);
00199 
00207     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00208     axutil_env_increment_ref(
00209         axutil_env_t * env);
00210     
00211 
00212 
00213 /* AXIS2_ENV_CHECK is a macro to check environment pointer.
00214    Currently this is set to an empty value.
00215    But it was used to be defined as:
00216    #define AXIS2_ENV_CHECK(env, error_return) \
00217        if(!env) \
00218        { \
00219            return error_return; \
00220        }
00221 */
00222 #define AXIS2_ENV_CHECK(env, error_return)
00223 
00226 #ifdef __cplusplus
00227 }
00228 #endif
00229 
00230 #endif                          /* AXIS2_ENV_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__data__handler_8h.html0000644000175000017500000003164711172017604024701 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_data_handler.h File Reference

axiom_data_handler.h File Reference

axis2 data_handler interface More...

#include <axutil_utils.h>
#include <axutil_error.h>
#include <axutil_utils_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_string.h>
#include <axutil_array_list.h>

Go to the source code of this file.

Typedefs

typedef enum
axiom_data_handler_type 
axiom_data_handler_type_t
typedef struct
axiom_data_handler 
axiom_data_handler_t

Enumerations

enum  axiom_data_handler_type { AXIOM_DATA_HANDLER_TYPE_FILE, AXIOM_DATA_HANDLER_TYPE_BUFFER, AXIOM_DATA_HANDLER_TYPE_CALLBACK }

Functions

AXIS2_EXTERN
axis2_char_t * 
axiom_data_handler_get_content_type (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_content_type (axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_type)
AXIS2_EXTERN axis2_bool_t axiom_data_handler_get_cached (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_set_cached (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_bool_t cached)
AXIS2_EXTERN
axis2_byte_t * 
axiom_data_handler_get_input_stream (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN int axiom_data_handler_get_input_stream_len (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_read_from (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_byte_t **output_stream, int *output_stream_size)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_binary_data (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_byte_t *input_stream, int input_stream_len)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_write_to (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_file_name (axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_char_t *file_name)
AXIS2_EXTERN
axis2_char_t * 
axiom_data_handler_get_file_name (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_free (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axiom_data_handler_t * 
axiom_data_handler_create (const axutil_env_t *env, const axis2_char_t *file_name, const axis2_char_t *mime_type)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_add_binary_data (axiom_data_handler_t *data_handler, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_char_t * 
axiom_data_handler_get_mime_id (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_handler_set_mime_id (axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_id)
AXIS2_EXTERN
axiom_data_handler_type_t 
axiom_data_handler_get_data_handler_type (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_set_data_handler_type (axiom_data_handler_t *data_handler, const axutil_env_t *env, axiom_data_handler_type_t data_handler_type)
AXIS2_EXTERN void * axiom_data_handler_get_user_param (axiom_data_handler_t *data_handler, const axutil_env_t *env)
AXIS2_EXTERN void axiom_data_handler_set_user_param (axiom_data_handler_t *data_handler, const axutil_env_t *env, void *user_param)


Detailed Description

axis2 data_handler interface


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__op__client_8h-source.html0000644000175000017500000006144311172017604025453 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_op_client.h Source File

axis2_op_client.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_OP_CLIENT_H
00020 #define AXIS2_OP_CLIENT_H
00021 
00050 #include <axis2_defines.h>
00051 #include <axutil_env.h>
00052 #include <axis2_options.h>
00053 #include <axis2_msg_ctx.h>
00054 #include <axis2_callback.h>
00055 
00056 #ifdef __cplusplus
00057 extern "C"
00058 {
00059 #endif
00060 
00062     typedef struct axis2_op_client axis2_op_client_t;
00063 
00064     struct axis2_callback_recv;
00065 
00073     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00074     axis2_op_client_set_options(
00075         axis2_op_client_t * op_client,
00076         const axutil_env_t * env,
00077         const axis2_options_t * options);
00078 
00086     AXIS2_EXTERN const axis2_options_t *AXIS2_CALL
00087     axis2_op_client_get_options(
00088         const axis2_op_client_t * op_client,
00089         const axutil_env_t * env);
00090 
00099     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100     axis2_op_client_add_msg_ctx(
00101         axis2_op_client_t * op_client,
00102         const axutil_env_t * env,
00103         axis2_msg_ctx_t * msg_ctx);
00104 
00113     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00114     axis2_op_client_add_out_msg_ctx(
00115         axis2_op_client_t * op_client,
00116         const axutil_env_t * env,
00117         axis2_msg_ctx_t * msg_ctx);
00118 
00127     AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL
00128     axis2_op_client_get_msg_ctx(
00129         const axis2_op_client_t * op_client,
00130         const axutil_env_t * env,
00131         const axis2_wsdl_msg_labels_t message_label);
00132 
00141     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00142     axis2_op_client_set_callback(
00143         axis2_op_client_t * op_client,
00144         const axutil_env_t * env,
00145         axis2_callback_t * callback);
00146 
00153     AXIS2_EXTERN axis2_callback_t *AXIS2_CALL
00154     axis2_op_client_get_callback(
00155         axis2_op_client_t * op_client,
00156         const axutil_env_t * env);
00157 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_op_client_execute(
00171         axis2_op_client_t * op_client,
00172         const axutil_env_t * env,
00173         const axis2_bool_t block);
00174 
00183     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00184     axis2_op_client_reset(
00185         axis2_op_client_t * op_client,
00186         const axutil_env_t * env);
00187 
00197     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00198     axis2_op_client_complete(
00199         axis2_op_client_t * op_client,
00200         const axutil_env_t * env,
00201         axis2_msg_ctx_t * msg_ctx);
00202 
00209     AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL
00210     axis2_op_client_get_operation_context(
00211         const axis2_op_client_t * op_client,
00212         const axutil_env_t * env);
00213 
00222     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00223     axis2_op_client_set_callback_recv(
00224         axis2_op_client_t * op_client,
00225         const axutil_env_t * env,
00226         struct axis2_callback_recv *callback_recv);
00227 
00234     AXIS2_EXTERN void AXIS2_CALL
00235     axis2_op_client_free(
00236         axis2_op_client_t * op_client,
00237         const axutil_env_t * env);
00238 
00254     AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL
00255     axis2_op_client_create(
00256         const axutil_env_t * env,
00257         axis2_op_t * op,
00258         axis2_svc_ctx_t * svc_ctx,
00259         axis2_options_t * options);
00260 
00267     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00268     axis2_op_client_get_soap_action(
00269         const axis2_op_client_t * op_client,
00270         const axutil_env_t * env);
00271 
00281     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00282     axis2_op_client_prepare_invocation(
00283         axis2_op_client_t * op_client,
00284         const axutil_env_t * env,
00285         axis2_op_t * op,
00286         axis2_msg_ctx_t * msg_ctx);
00287 
00296     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00297     axis2_op_client_prepare_soap_envelope(
00298         axis2_op_client_t * op_client,
00299         const axutil_env_t * env,
00300         axiom_node_t * to_send);
00301 
00311     AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL
00312     axis2_op_client_infer_transport(
00313         axis2_op_client_t * op_client,
00314         const axutil_env_t * env,
00315         axis2_endpoint_ref_t * epr);
00316 
00323     AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL
00324     axis2_op_client_create_default_soap_envelope(
00325         axis2_op_client_t * op_client,
00326         const axutil_env_t * env);
00327 
00338     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00339     axis2_op_client_engage_module(
00340         axis2_op_client_t * op_client,
00341         const axutil_env_t * env,
00342         const axutil_qname_t * qname);
00343 
00351     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00352     axis2_op_client_set_soap_version_uri(
00353         axis2_op_client_t * op_client,
00354         const axutil_env_t * env,
00355         const axis2_char_t * soap_version_uri);
00356 
00364     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00365     axis2_op_client_set_soap_action(
00366         axis2_op_client_t * op_client,
00367         const axutil_env_t * env,
00368         axutil_string_t * soap_action);
00369 
00377     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00378     axis2_op_client_set_wsa_action(
00379         axis2_op_client_t * op_client,
00380         const axutil_env_t * env,
00381         const axis2_char_t * wsa_action);
00382 
00389     AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL
00390     axis2_op_client_get_svc_ctx(
00391         const axis2_op_client_t * op_client,
00392         const axutil_env_t * env);
00393 
00394 
00402     AXIS2_EXTERN void AXIS2_CALL
00403     axis2_op_client_set_reuse(
00404         axis2_op_client_t * op_client,
00405         const axutil_env_t * env,
00406         axis2_bool_t reuse);
00407 
00416     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00417     axis2_op_client_two_way_send(
00418         const axutil_env_t * env,
00419         axis2_msg_ctx_t * msg_ctx);
00420 
00429     AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL
00430     axis2_op_client_receive(
00431         const axutil_env_t * env,
00432         axis2_msg_ctx_t * msg_ctx);
00433 
00435 #ifdef __cplusplus
00436 }
00437 #endif
00438 
00439 #endif                          /* AXIS2_OP_CLIENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__thread.html0000644000175000017500000011005311172017604024535 0ustar00manjulamanjula00000000000000 Axis2/C: thread

thread
[utilities]


Defines

#define AXIS2_THREAD_MUTEX_DEFAULT   0x0
#define AXIS2_THREAD_MUTEX_NESTED   0x1
#define AXIS2_THREAD_MUTEX_UNNESTED   0x2

Typedefs

typedef struct
axutil_thread_t 
axutil_thread_t
typedef struct
axutil_threadattr_t 
axutil_threadattr_t
typedef struct
axutil_thread_once_t 
axutil_thread_once_t
typedef void
*(AXIS2_THREAD_FUNC * 
axutil_thread_start_t )(axutil_thread_t *, void *)
typedef struct
axutil_threadkey_t 
axutil_threadkey_t
typedef struct
axutil_thread_mutex_t 
axutil_thread_mutex_t

Functions

AXIS2_EXTERN
axutil_threadattr_t
axutil_threadattr_create (axutil_allocator_t *allocator)
AXIS2_EXTERN
axis2_status_t 
axutil_threadattr_detach_set (axutil_threadattr_t *attr, axis2_bool_t detached)
AXIS2_EXTERN axis2_bool_t axutil_threadattr_is_detach (axutil_threadattr_t *attr, axutil_allocator_t *allocator)
AXIS2_EXTERN
axutil_thread_t
axutil_thread_create (axutil_allocator_t *allocator, axutil_threadattr_t *attr, axutil_thread_start_t func, void *data)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_exit (axutil_thread_t *thd, axutil_allocator_t *allocator)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_join (axutil_thread_t *thd)
AXIS2_EXTERN void axutil_thread_yield (void)
AXIS2_EXTERN
axutil_thread_once_t
axutil_thread_once_init (axutil_allocator_t *allocator)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_once (axutil_thread_once_t *control, void(*func)(void))
AXIS2_EXTERN
axis2_status_t 
axutil_thread_detach (axutil_thread_t *thd)
AXIS2_EXTERN
axutil_thread_mutex_t
axutil_thread_mutex_create (axutil_allocator_t *allocator, unsigned int flags)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_lock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_trylock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_unlock (axutil_thread_mutex_t *mutex)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_mutex_destroy (axutil_thread_mutex_t *mutex)

Define Documentation

#define AXIS2_THREAD_MUTEX_DEFAULT   0x0

platform-optimal lock behavior

#define AXIS2_THREAD_MUTEX_NESTED   0x1

enable nested (recursive) locks

#define AXIS2_THREAD_MUTEX_UNNESTED   0x2

disable nested locks


Typedef Documentation

Opaque thread-local mutex structure

Control variable for one-time atomic variables.

typedef void*( AXIS2_THREAD_FUNC * axutil_thread_start_t)(axutil_thread_t *, void *)

The prototype for any AXIS2 thread worker functions.

Thread callbacks from axis2 functions must be declared with AXIS2_THREAD_FUNC so that they follow the platform's calling convention. Thread structure.

Thread attributes structure.

Thread private address space.


Function Documentation

AXIS2_EXTERN axutil_thread_t* axutil_thread_create ( axutil_allocator_t allocator,
axutil_threadattr_t attr,
axutil_thread_start_t  func,
void *  data 
)

Create a new thread of execution

Parameters:
attr The threadattr to use to determine how to create the thread
func The function to start the new thread in
data Any data to be passed to the starting function
cont The pool to use
Returns:
The newly created thread handle.

AXIS2_EXTERN axis2_status_t axutil_thread_detach ( axutil_thread_t thd  ) 

detach a thread

Parameters:
thd The thread to detach
Returns:
The status of the operation

AXIS2_EXTERN axis2_status_t axutil_thread_exit ( axutil_thread_t thd,
axutil_allocator_t allocator 
)

Stop the current thread

Parameters:
thd The thread to stop
Returns:
The status of the operation

AXIS2_EXTERN axis2_status_t axutil_thread_join ( axutil_thread_t thd  ) 

Block until the desired thread stops executing.

Parameters:
thd The thread to join
Returns:
The status of the operation

AXIS2_EXTERN axutil_thread_mutex_t* axutil_thread_mutex_create ( axutil_allocator_t allocator,
unsigned int  flags 
)

Create and initialize a mutex that can be used to synchronize threads.

Parameters:
allocator Memory allocator to allocate memory for the mutex
Warning:
Be cautious in using AXIS2_THREAD_MUTEX_DEFAULT. While this is the most optimal mutex based on a given platform's performance characteristics, it will behave as either a nested or an unnested lock.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_destroy ( axutil_thread_mutex_t mutex  ) 

Destroy the mutex and free the memory associated with the lock.

Parameters:
mutex the mutex to destroy.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_lock ( axutil_thread_mutex_t mutex  ) 

Acquire the lock for the given mutex. If the mutex is already locked, the current thread will be put to sleep until the lock becomes available.

Parameters:
mutex the mutex on which to acquire the lock.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_trylock ( axutil_thread_mutex_t mutex  ) 

Attempt to acquire the lock for the given mutex. If the mutex has already been acquired, the call returns immediately

Parameters:
mutex the mutex on which to attempt the lock acquiring.

AXIS2_EXTERN axis2_status_t axutil_thread_mutex_unlock ( axutil_thread_mutex_t mutex  ) 

Release the lock for the given mutex.

Parameters:
mutex the mutex from which to release the lock.

AXIS2_EXTERN axis2_status_t axutil_thread_once ( axutil_thread_once_t control,
void(*)(void)  func 
)

Run the specified function one time, regardless of how many threads call it.

Parameters:
control The control variable. The same variable should be passed in each time the function is tried to be called. This is how the underlying functions determine if the function has ever been called before.
func The function to call.
Returns:
The status of the operation

AXIS2_EXTERN axutil_thread_once_t* axutil_thread_once_init ( axutil_allocator_t allocator  ) 

Initialize the control variable for axutil_thread_once.

Parameters:
control The control variable to initialize
Returns:
The status of the operation

AXIS2_EXTERN void axutil_thread_yield ( void   ) 

force the current thread to yield the processor

AXIS2_EXTERN axutil_threadattr_t* axutil_threadattr_create ( axutil_allocator_t allocator  ) 

Create and initialize a new threadattr variable

Parameters:
cont The pool to use
Returns:
Newly created thread attribute

AXIS2_EXTERN axis2_status_t axutil_threadattr_detach_set ( axutil_threadattr_t attr,
axis2_bool_t  detached 
)

Set if newly created threads should be created in detached state.

Parameters:
attr The threadattr to affect
on Non-zero if detached threads should be created.
Returns:
The status of the operation

AXIS2_EXTERN axis2_bool_t axutil_threadattr_is_detach ( axutil_threadattr_t attr,
axutil_allocator_t allocator 
)

Get the detach state for this threadattr.

Parameters:
attr The threadattr to reference
Returns:
AXIS2_TRUE if threads are to be detached, or AXIS2_FALSE if threads are to be joinable.


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__async__result.html0000644000175000017500000002755311172017604025674 0ustar00manjulamanjula00000000000000 Axis2/C: async result

async result
[client API]


Files

file  axis2_async_result.h

Typedefs

typedef struct
axis2_async_result 
axis2_async_result_t

Functions

AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_async_result_get_envelope (axis2_async_result_t *async_result, const axutil_env_t *env)
AXIS2_EXTERN
axis2_msg_ctx_t
axis2_async_result_get_result (axis2_async_result_t *async_result, const axutil_env_t *env)
AXIS2_EXTERN void axis2_async_result_free (axis2_async_result_t *async_result, const axutil_env_t *env)
AXIS2_EXTERN
axis2_async_result_t
axis2_async_result_create (const axutil_env_t *env, axis2_msg_ctx_t *result)

Detailed Description

async_result is used to capture the result of an asynchronous invocation. async_result stores the result in the form of a message context instance, the user can extract the resulting SOAP envelope from this message context.

Typedef Documentation

typedef struct axis2_async_result axis2_async_result_t

Type name for struct axis2_async_result


Function Documentation

AXIS2_EXTERN axis2_async_result_t* axis2_async_result_create ( const axutil_env_t env,
axis2_msg_ctx_t result 
)

Creates an async result struct to help deal with results of asynchronous invocations.

Parameters:
env pointer to environment struct
result pointer to result message context into which the resulting SOAP message is to be captured
Returns:
newly created async_result struct

AXIS2_EXTERN void axis2_async_result_free ( axis2_async_result_t async_result,
const axutil_env_t env 
)

Frees the async result.

Parameters:
async_result pointer to async result struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axiom_soap_envelope_t* axis2_async_result_get_envelope ( axis2_async_result_t async_result,
const axutil_env_t env 
)

Gets the SOAP envelope stored inside the resulting message context.

Parameters:
async_result pointer to async result struct
env pointer to environment struct
Returns:
pointer to the result SOAP envelope in the message context.

AXIS2_EXTERN axis2_msg_ctx_t* axis2_async_result_get_result ( axis2_async_result_t async_result,
const axutil_env_t env 
)

Gets the result in the form of message context.

Parameters:
async_result pointer to async result struct
env pointer to environment struct
Returns:
pointer to result message context


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__exactlyone_8h.html0000644000175000017500000001564411172017604024445 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_exactlyone.h File Reference

neethi_exactlyone.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_operator.h>
#include <neethi_includes.h>

Go to the source code of this file.

Typedefs

typedef struct
neethi_exactlyone_t 
neethi_exactlyone_t

Functions

AXIS2_EXTERN
neethi_exactlyone_t * 
neethi_exactlyone_create (const axutil_env_t *env)
AXIS2_EXTERN void neethi_exactlyone_free (neethi_exactlyone_t *neethi_exactlyone, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
neethi_exactlyone_get_policy_components (neethi_exactlyone_t *neethi_exactlyone, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_exactlyone_add_policy_components (neethi_exactlyone_t *exactlyone, axutil_array_list_t *arraylist, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_exactlyone_add_operator (neethi_exactlyone_t *neethi_exactlyone, const axutil_env_t *env, neethi_operator_t *op)
AXIS2_EXTERN axis2_bool_t neethi_exactlyone_is_empty (neethi_exactlyone_t *exactlyone, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
neethi_exactlyone_serialize (neethi_exactlyone_t *neethi_exactlyone, axiom_node_t *parent, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom.html0000644000175000017500000000372011172017604022660 0ustar00manjulamanjula00000000000000 Axis2/C: AXIOM project

AXIOM project


Modules

 Caching_callback
 Mtom_sending_callback

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__data__source_8h.html0000644000175000017500000001141311172017604024551 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_data_source.h File Reference

axiom_data_source.h File Reference

Axis2 AXIOM XML data_source. More...

#include <axutil_env.h>
#include <axiom_node.h>
#include <axiom_output.h>
#include <axutil_stream.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_data_source 
axiom_data_source_t
 data_source struct Handles the XML data_source in OM

Functions

AXIS2_EXTERN
axiom_data_source_t
axiom_data_source_create (const axutil_env_t *env, axiom_node_t *parent, axiom_node_t **node)
AXIS2_EXTERN void axiom_data_source_free (struct axiom_data_source *om_data_source, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_data_source_serialize (struct axiom_data_source *om_data_source, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axutil_stream_t * 
axiom_data_source_get_stream (struct axiom_data_source *om_data_source, const axutil_env_t *env)


Detailed Description

Axis2 AXIOM XML data_source.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__util_8h.html0000644000175000017500000000714411172017604023243 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_util.h File Reference

neethi_util.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <neethi_includes.h>
#include <neethi_policy.h>
#include <neethi_engine.h>

Go to the source code of this file.

Functions

AXIS2_EXTERN
neethi_policy_t * 
neethi_util_create_policy_from_file (const axutil_env_t *env, axis2_char_t *file_name)
AXIS2_EXTERN
neethi_policy_t * 
neethi_util_create_policy_from_om (const axutil_env_t *env, axiom_node_t *root_node)


Detailed Description

creation utilities
Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__in__desc_8h-source.html0000644000175000017500000005062311172017604027354 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_in_desc.h Source File

axis2_transport_in_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_TRANSPORT_IN_DESC_H
00020 #define AXIS2_TRANSPORT_IN_DESC_H
00021 
00040 #include <axis2_const.h>
00041 #include <axutil_error.h>
00042 #include <axis2_defines.h>
00043 #include <axutil_env.h>
00044 #include <axutil_allocator.h>
00045 #include <axutil_array_list.h>
00046 
00047 /*#include <axis2_transport_receiver.h>*/
00048 #include <axis2_phase_meta.h>
00049 #include <axis2_phase.h>
00050 #include <axis2_flow.h>
00051 
00052 #ifdef __cplusplus
00053 extern "C"
00054 {
00055 #endif
00056 
00058     typedef struct axis2_transport_in_desc axis2_transport_in_desc_t;
00059 
00060     struct axis2_phase;
00061     struct axis2_transport_receiver;
00062 
00069     AXIS2_EXTERN void AXIS2_CALL
00070     axis2_transport_in_desc_free(
00071         axis2_transport_in_desc_t * transport_in_desc,
00072         const axutil_env_t * env);
00073 
00081     AXIS2_EXTERN void AXIS2_CALL
00082     axis2_transport_in_desc_free_void_arg(
00083         void *transport_in,
00084         const axutil_env_t * env);
00085 
00092     AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL
00093 
00094     axis2_transport_in_desc_get_enum(
00095         const axis2_transport_in_desc_t * transport_in,
00096         const axutil_env_t * env);
00097 
00105     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00106     axis2_transport_in_desc_set_enum(
00107         struct axis2_transport_in_desc *transport_in,
00108         const axutil_env_t * env,
00109         const AXIS2_TRANSPORT_ENUMS trans_enum);
00110 
00119     AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00120 
00121                 axis2_transport_in_desc_get_in_flow(
00122                     const axis2_transport_in_desc_t * transport_in,
00123                     const axutil_env_t * env);
00124 
00134     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00135 
00136     axis2_transport_in_desc_set_in_flow(
00137         struct axis2_transport_in_desc *transport_in,
00138         const axutil_env_t * env,
00139         struct axis2_flow *in_flow);
00140 
00149     AXIS2_EXTERN struct axis2_flow *AXIS2_CALL
00150 
00151                 axis2_transport_in_desc_get_fault_in_flow(
00152                     const axis2_transport_in_desc_t * transport_in,
00153                     const axutil_env_t * env);
00154 
00164     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00165 
00166     axis2_transport_in_desc_set_fault_in_flow(
00167         struct axis2_transport_in_desc *transport_in,
00168         const axutil_env_t * env,
00169         struct axis2_flow *fault_in_flow);
00170 
00178     AXIS2_EXTERN struct axis2_transport_receiver *AXIS2_CALL
00179 
00180                 axis2_transport_in_desc_get_recv(
00181                     const axis2_transport_in_desc_t * transport_in,
00182                     const axutil_env_t * env);
00183 
00192     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00193     axis2_transport_in_desc_set_recv(
00194         struct axis2_transport_in_desc *transport_in,
00195         const axutil_env_t * env,
00196         struct axis2_transport_receiver *recv);
00197 
00204     AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00205 
00206                 axis2_transport_in_desc_get_in_phase(
00207                     const axis2_transport_in_desc_t * transport_in,
00208                     const axutil_env_t * env);
00209 
00218     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00219 
00220     axis2_transport_in_desc_set_in_phase(
00221         struct axis2_transport_in_desc *transport_in,
00222         const axutil_env_t * env,
00223         struct axis2_phase *in_phase);
00224 
00231     AXIS2_EXTERN struct axis2_phase *AXIS2_CALL
00232 
00233                 axis2_transport_in_desc_get_fault_phase(
00234                     const axis2_transport_in_desc_t * transport_in,
00235                     const axutil_env_t * env);
00236 
00244     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00245 
00246     axis2_transport_in_desc_set_fault_phase(
00247         struct axis2_transport_in_desc *transport_in,
00248         const axutil_env_t * env,
00249         struct axis2_phase *fault_phase);
00250 
00259     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00260     axis2_transport_in_desc_add_param(
00261         axis2_transport_in_desc_t * transport_in_desc,
00262         const axutil_env_t * env,
00263         axutil_param_t * param);
00264 
00273     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00274 
00275     axis2_transport_in_desc_get_param(
00276         const axis2_transport_in_desc_t * transport_in_desc,
00277         const axutil_env_t * env,
00278         const axis2_char_t * param_name);
00279 
00287     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00288 
00289     axis2_transport_in_desc_is_param_locked(
00290         axis2_transport_in_desc_t * transport_in_desc,
00291         const axutil_env_t * env,
00292         const axis2_char_t * param_name);
00293 
00294     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00295 
00296     axis2_transport_in_desc_param_container(
00297         const axis2_transport_in_desc_t * transport_in_desc,
00298         const axutil_env_t * env);
00299 
00306     AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL
00307 
00308     axis2_transport_in_desc_create(
00309         const axutil_env_t * env,
00310         const AXIS2_TRANSPORT_ENUMS trans_enum);
00311 
00319     AXIS2_EXTERN void AXIS2_CALL
00320     axis2_transport_in_desc_free_void_arg(
00321         void *transport_in,
00322         const axutil_env_t * env);
00323 
00326 #ifdef __cplusplus
00327 }
00328 #endif
00329 #endif                          /* AXIS2_TRANSPORT_IN_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__options_8h.html0000644000175000017500000010575011172017604023535 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_options.h File Reference

axis2_options.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_transport_in_desc.h>
#include <axis2_endpoint_ref.h>
#include <axutil_hash.h>
#include <axis2_relates_to.h>
#include <axis2_transport_out_desc.h>
#include <axis2_transport_receiver.h>
#include <axiom_element.h>
#include <axis2_msg_info_headers.h>

Go to the source code of this file.

Defines

#define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS   30000
#define AXIS2_TIMEOUT_IN_SECONDS   "time_out"
#define AXIS2_COPY_PROPERTIES   "copy_properties"

Typedefs

typedef struct
axis2_options 
axis2_options_t

Functions

AXIS2_EXTERN const
axis2_char_t * 
axis2_options_get_action (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_fault_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_from (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_receiver_t
axis2_options_get_transport_receiver (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_in_desc_t
axis2_options_get_transport_in (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_options_get_transport_in_protocol (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_options_get_message_id (const axis2_options_t *options_t, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_options_get_properties (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN void * axis2_options_get_property (const axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *key)
AXIS2_EXTERN
axis2_relates_to_t
axis2_options_get_relates_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_reply_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_options_get_transport_out (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_options_get_sender_transport_protocol (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_options_get_soap_version_uri (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN long axis2_options_get_timeout_in_milli_seconds (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_endpoint_ref_t
axis2_options_get_to (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_options_get_use_separate_listener (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_options_t
axis2_options_get_parent (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_parent (axis2_options_t *options, const axutil_env_t *env, const axis2_options_t *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_action (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *action)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_fault_to (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *fault_to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_from (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *from)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_to (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_receiver (axis2_options_t *options, const axutil_env_t *env, axis2_transport_receiver_t *receiver)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_in (axis2_options_t *options, const axutil_env_t *env, axis2_transport_in_desc_t *transport_in)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_in_protocol (axis2_options_t *options, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS transport_in_protocol)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_message_id (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *message_id)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_properties (axis2_options_t *options, const axutil_env_t *env, axutil_hash_t *properties)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_property (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *property_key, const void *property)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_relates_to (axis2_options_t *options, const axutil_env_t *env, axis2_relates_to_t *relates_to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_reply_to (axis2_options_t *options, const axutil_env_t *env, axis2_endpoint_ref_t *reply_to)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_out (axis2_options_t *options, const axutil_env_t *env, axis2_transport_out_desc_t *transport_out)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_sender_transport (axis2_options_t *options, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS sender_transport, axis2_conf_t *conf)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_soap_version_uri (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *soap_version_uri)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_timeout_in_milli_seconds (axis2_options_t *options, const axutil_env_t *env, const long timeout_in_milli_seconds)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_transport_info (axis2_options_t *options, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS sender_transport, const AXIS2_TRANSPORT_ENUMS receiver_transport, const axis2_bool_t use_separate_listener)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_use_separate_listener (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t use_separate_listener)
AXIS2_EXTERN
axis2_status_t 
axis2_options_add_reference_parameter (axis2_options_t *options, const axutil_env_t *env, axiom_node_t *reference_parameter)
AXIS2_EXTERN axis2_bool_t axis2_options_get_manage_session (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_manage_session (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t manage_session)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_msg_info_headers (axis2_options_t *options, const axutil_env_t *env, axis2_msg_info_headers_t *msg_info_headers)
AXIS2_EXTERN
axis2_msg_info_headers_t
axis2_options_get_msg_info_headers (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN int axis2_options_get_soap_version (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_soap_version (axis2_options_t *options, const axutil_env_t *env, const int soap_version)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_enable_mtom (axis2_options_t *options, const axutil_env_t *env, axis2_bool_t enable_mtom)
AXIS2_EXTERN axis2_bool_t axis2_options_get_enable_mtom (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axis2_options_get_soap_action (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_soap_action (axis2_options_t *options, const axutil_env_t *env, axutil_string_t *soap_action)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_xml_parser_reset (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t paser_reset_flag)
AXIS2_EXTERN axis2_bool_t axis2_options_get_xml_parser_reset (const axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN void axis2_options_free (axis2_options_t *options, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_enable_rest (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t enable_rest)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_test_http_auth (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t test_http_auth)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_test_proxy_auth (axis2_options_t *options, const axutil_env_t *env, const axis2_bool_t test_proxy_auth)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_http_method (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *http_method)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_http_headers (axis2_options_t *options, const axutil_env_t *env, axutil_array_list_t *http_header_list)
AXIS2_EXTERN
axis2_options_t
axis2_options_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_options_t
axis2_options_create_with_parent (const axutil_env_t *env, axis2_options_t *parent)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_http_auth_info (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *password, const axis2_char_t *auth_type)
AXIS2_EXTERN
axis2_status_t 
axis2_options_set_proxy_auth_info (axis2_options_t *options, const axutil_env_t *env, const axis2_char_t *username, const axis2_char_t *password, const axis2_char_t *auth_type)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__initiator__token__builder_8h-source.html0000644000175000017500000001237311172017604030137 0ustar00manjulamanjula00000000000000 Axis2/C: rp_initiator_token_builder.h Source File

rp_initiator_token_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_INITIATOR_TOKEN_BUILDER_H
00019 #define RP_INITIATOR_TOKEN_BUILDER_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_property.h>
00028 #include <rp_x509_token.h>
00029 #include <neethi_assertion.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00037     rp_initiator_token_builder_build(
00038         const axutil_env_t * env,
00039         axiom_node_t * node,
00040         axiom_element_t * element);
00041 
00042 #ifdef __cplusplus
00043 }
00044 #endif
00045 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__wss10_8h-source.html0000644000175000017500000002212611172017604023703 0ustar00manjulamanjula00000000000000 Axis2/C: rp_wss10.h Source File

rp_wss10.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_WSS10_H
00019 #define RP_WSS10_H
00020 
00026 #include <rp_includes.h>
00027 
00028 #ifdef __cplusplus
00029 extern "C"
00030 {
00031 #endif
00032 
00033     typedef struct rp_wss10_t rp_wss10_t;
00034 
00035     AXIS2_EXTERN rp_wss10_t *AXIS2_CALL
00036     rp_wss10_create(
00037         const axutil_env_t * env);
00038 
00039     AXIS2_EXTERN void AXIS2_CALL
00040     rp_wss10_free(
00041         rp_wss10_t * wss10,
00042         const axutil_env_t * env);
00043 
00044     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00045     rp_wss10_get_must_support_ref_key_identifier(
00046         rp_wss10_t * wss10,
00047         const axutil_env_t * env);
00048 
00049     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00050     rp_wss10_set_must_support_ref_key_identifier(
00051         rp_wss10_t * wss10,
00052         const axutil_env_t * env,
00053         axis2_bool_t must_support_ref_key_identifier);
00054 
00055     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00056     rp_wss10_get_must_support_ref_issuer_serial(
00057         rp_wss10_t * wss10,
00058         const axutil_env_t * env);
00059 
00060     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00061     rp_wss10_set_must_support_ref_issuer_serial(
00062         rp_wss10_t * wss10,
00063         const axutil_env_t * env,
00064         axis2_bool_t must_support_ref_issuer_serial);
00065 
00066     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00067     rp_wss10_get_must_support_ref_external_uri(
00068         rp_wss10_t * wss10,
00069         const axutil_env_t * env);
00070 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     rp_wss10_set_must_support_ref_external_uri(
00073         rp_wss10_t * wss10,
00074         const axutil_env_t * env,
00075         axis2_bool_t must_support_ref_external_uri);
00076 
00077     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00078     rp_wss10_get_must_support_ref_embedded_token(
00079         rp_wss10_t * wss10,
00080         const axutil_env_t * env);
00081 
00082     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00083     rp_wss10_set_must_support_ref_embedded_token(
00084         rp_wss10_t * wss10,
00085         const axutil_env_t * env,
00086         axis2_bool_t must_support_ref_embedded_token);
00087 
00088     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00089     rp_wss10_increment_ref(
00090         rp_wss10_t * wss10,
00091         const axutil_env_t * env);
00092 
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/guththila__stack_8h-source.html0000644000175000017500000002303011172017604025376 0ustar00manjulamanjula00000000000000 Axis2/C: guththila_stack.h Source File

guththila_stack.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 #ifndef GUTHTHILA_STACK_H
00019 #define GUTHTHILA_STACK_H
00020 
00021 #include <stdio.h>
00022 #include <stdlib.h>
00023 
00024 #include <guththila_defines.h>
00025 #include <axutil_utils.h>
00026 #define GUTHTHILA_STACK_DEFAULT 16
00027 
00028 EXTERN_C_START() 
00029 
00030 typedef struct guththila_stack_s
00031 {
00032     /* Number of Items in the stack */
00033     int top;
00034     /* Max number of Items that can be hold in data */
00035     int max;
00036     void ** data;    
00037 } guththila_stack_t;
00038 
00039 #ifndef GUTHTHILA_STACK_SIZE
00040 #define GUTHTHILA_STACK_SIZE(_stack) ((_stack).top)
00041 #endif  
00042 
00043 #ifndef GUTHTHILA_STACK_TOP_INDEX
00044 #define GUTHTHILA_STACK_TOP_INDEX(_stack) (((_stack).top - 1))
00045 #endif  
00046 
00047 int GUTHTHILA_CALL
00048 guththila_stack_init(
00049     guththila_stack_t * stack,
00050     const axutil_env_t * env);
00051 
00052 void GUTHTHILA_CALL
00053 guththila_stack_free(
00054     guththila_stack_t * stack,
00055     const axutil_env_t * env);
00056 
00057 void GUTHTHILA_CALL
00058 guththila_stack_un_init(
00059     guththila_stack_t * stack,
00060     const axutil_env_t * env);
00061 
00062 void * GUTHTHILA_CALL
00063 guththila_stack_pop(
00064     guththila_stack_t * stack,
00065     const axutil_env_t * env);
00066 
00067 int GUTHTHILA_CALL
00068 guththila_stack_push(
00069     guththila_stack_t * stack,
00070     void *data,
00071     const axutil_env_t * env);
00072 
00073 void * GUTHTHILA_CALL
00074 guththila_stack_peek(
00075     guththila_stack_t * stack,
00076     const axutil_env_t * env);
00077 
00078 void * GUTHTHILA_CALL
00079 guththila_stack_get_by_index(
00080     guththila_stack_t * stack,
00081     int index,
00082     const axutil_env_t * env);
00083 
00084 int GUTHTHILA_CALL
00085 guththila_stack_del_top(
00086     guththila_stack_t * stack,
00087     const axutil_env_t * env);
00088 
00089 int GUTHTHILA_CALL
00090 guththila_stack_is_empty(
00091     guththila_stack_t * stack,
00092     const axutil_env_t * env);
00093 
00094 EXTERN_C_END() 
00095 #endif  
00096 

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__transport__sender__ops-members.html0000644000175000017500000000550111172017604031104 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_transport_sender_ops Member List

This is the complete list of members for axis2_transport_sender_ops, including all inherited members.

cleanupaxis2_transport_sender_ops
freeaxis2_transport_sender_ops
initaxis2_transport_sender_ops
invokeaxis2_transport_sender_ops


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__code_8h-source.html0000644000175000017500000002126111172017604027046 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_code.h Source File

axiom_soap_fault_code.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_CODE_H
00020 #define AXIOM_SOAP_FAULT_CODE_H
00021 
00026 #include <axutil_env.h>
00027 #include <axiom_soap_fault.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct axiom_soap_fault_code axiom_soap_fault_code_t;
00035 
00036     struct axiom_soap_fault_value;
00037     struct axiom_soap_fault_sub_code;
00038     struct axiom_soap_builder;
00039 
00053     AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL
00054     axiom_soap_fault_code_create_with_parent(
00055         const axutil_env_t * env,
00056         axiom_soap_fault_t * fault);
00064     AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL
00065     axiom_soap_fault_code_create_with_parent_value(
00066         const axutil_env_t * env,
00067         axiom_soap_fault_t * fault,
00068         axis2_char_t * value);
00069 
00077     AXIS2_EXTERN void AXIS2_CALL
00078     axiom_soap_fault_code_free(
00079         axiom_soap_fault_code_t * fault_code,
00080         const axutil_env_t * env);
00081 
00089     AXIS2_EXTERN struct axiom_soap_fault_sub_code *AXIS2_CALL
00090     axiom_soap_fault_code_get_sub_code(
00091          axiom_soap_fault_code_t * fault_code,
00092          const axutil_env_t * env);
00093 
00099     AXIS2_EXTERN struct axiom_soap_fault_value *AXIS2_CALL
00100        axiom_soap_fault_code_get_value(
00101        axiom_soap_fault_code_t * fault_code,
00102                     const axutil_env_t * env);
00110     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00111     axiom_soap_fault_code_get_base_node(
00112         axiom_soap_fault_code_t * fault_code,
00113         const axutil_env_t * env);
00114 
00117 #ifdef __cplusplus
00118 }
00119 #endif
00120 #endif                          /* AXIOM_SOAP_FAULT_CODE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__addr__mod_8h.html0000644000175000017500000000750611172017604023752 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_addr_mod.h File Reference

axis2_addr_mod.h File Reference

#include <axis2_handler.h>

Go to the source code of this file.

Defines

#define ADDR_IN_HANDLER   "AddressingInHandler"
#define ADDR_OUT_HANDLER   "AddressingOutHandler"

Functions

AXIS2_EXTERN
axis2_handler_t
axis2_addr_in_handler_create (const axutil_env_t *env, axutil_string_t *name)
AXIS2_EXTERN
axis2_handler_t
axis2_addr_out_handler_create (const axutil_env_t *env, axutil_string_t *name)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__element_8h-source.html0000644000175000017500000010364011172017604025054 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_element.h Source File

axiom_element.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_ELEMENT_H
00020 #define AXIOM_ELEMENT_H
00021 
00022 #include <axiom_namespace.h>
00023 #include <axiom_attribute.h>
00024 #include <axiom_output.h>
00025 #include <axiom_node.h>
00026 #include <axiom_children_iterator.h>
00027 #include <axiom_children_qname_iterator.h>
00028 #include <axiom_child_element_iterator.h>
00029 #include <axutil_hash.h>
00030 #include <axutil_utils.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     typedef struct axiom_element axiom_element_t;
00038 
00062     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00063     axiom_element_create(
00064         const axutil_env_t * env,
00065         axiom_node_t * parent,
00066         const axis2_char_t * localname,
00067         axiom_namespace_t * ns,
00068         axiom_node_t ** node);
00069 
00080     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00081     axiom_element_create_with_qname(
00082         const axutil_env_t * env,
00083         axiom_node_t * parent,
00084         const axutil_qname_t * qname,
00085         axiom_node_t ** node);
00086     /*
00087      * Find a namespace in the scope of the document.
00088      * Start to find from the given node and go up the hierarchy.
00089      * @param om_element pointer to om_element_struct contained in
00090      *        node , 
00091      * @param env Environment. MUST NOT be NULL.
00092      * @param node node containing an instance of an AXIOM element,cannot be NULL.
00093      * @param uri namespace uri..
00094      * @param prefix namespace prefix. can be NULL.
00095      * @return pointer to the namespace, if found, else NULL. On error, returns 
00096      *           NULL and sets error code in environment,s error
00097      */
00098     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00099     axiom_element_find_namespace(
00100         axiom_element_t * om_element,
00101         const axutil_env_t * env,
00102         axiom_node_t * node,
00103         const axis2_char_t * uri,
00104         const axis2_char_t * prefix);
00105 
00115     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00116     axiom_element_declare_namespace(
00117         axiom_element_t * om_element,
00118         const axutil_env_t * env,
00119         axiom_node_t * node,
00120         axiom_namespace_t * ns);
00128     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00129     axiom_element_declare_namespace_assume_param_ownership(
00130         axiom_element_t * om_element,
00131         const axutil_env_t * env,
00132         axiom_namespace_t * ns);
00133 
00144     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00145     axiom_element_find_namespace_with_qname(
00146         axiom_element_t * om_element,
00147         const axutil_env_t * env,
00148         axiom_node_t * node,
00149         axutil_qname_t * qname);
00150 
00159     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00160     axiom_element_add_attribute(
00161         axiom_element_t * om_element,
00162         const axutil_env_t * env,
00163         axiom_attribute_t * attribute,
00164         axiom_node_t * node);
00165 
00174     AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL
00175     axiom_element_get_attribute(
00176         axiom_element_t * om_element,
00177         const axutil_env_t * env,
00178         axutil_qname_t * qname);
00179 
00188     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00189     axiom_element_get_attribute_value(
00190         axiom_element_t * om_element,
00191         const axutil_env_t * env,
00192         axutil_qname_t * qname);
00193 
00200     AXIS2_EXTERN void AXIS2_CALL
00201     axiom_element_free(
00202         axiom_element_t * element,
00203         const axutil_env_t * env);
00204 
00212     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00213     axiom_element_serialize_start_part(
00214         axiom_element_t * om_element,
00215         const axutil_env_t * env,
00216         axiom_output_t * om_output,
00217         axiom_node_t * ele_node);
00218 
00228     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00229     axiom_element_serialize_end_part(
00230         axiom_element_t * om_element,
00231         const axutil_env_t * env,
00232         axiom_output_t * om_output);
00233 
00244     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00245     axiom_element_find_declared_namespace(
00246         axiom_element_t * om_element,
00247         const axutil_env_t * env,
00248         const axis2_char_t * uri,
00249         const axis2_char_t * prefix);
00250 
00257     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00258     axiom_element_get_localname(
00259         axiom_element_t * om_element,
00260         const axutil_env_t * env);
00261 
00270     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00271     axiom_element_set_localname(
00272         axiom_element_t * om_element,
00273         const axutil_env_t * env,
00274         const axis2_char_t * localname);
00275 
00284     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00285     axiom_element_get_namespace(
00286         axiom_element_t * om_element,
00287         const axutil_env_t * env,
00288         axiom_node_t * ele_node);
00289 
00301     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00302     axiom_element_set_namespace(
00303         axiom_element_t * om_element,
00304         const axutil_env_t * env,
00305         axiom_namespace_t * ns,
00306         axiom_node_t * node);
00307 
00308 
00318     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00319     axiom_element_set_namespace_assume_param_ownership(
00320         axiom_element_t * om_element,
00321         const axutil_env_t * env,
00322         axiom_namespace_t * ns);
00323 
00331     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00332     axiom_element_get_all_attributes(
00333         axiom_element_t * om_element,
00334         const axutil_env_t * env);
00335 
00343     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00344     axiom_element_get_namespaces(
00345         axiom_element_t * om_element,
00346         const axutil_env_t * env);
00347 
00359     AXIS2_EXTERN axutil_qname_t *AXIS2_CALL
00360     axiom_element_get_qname(
00361         axiom_element_t * om_element,
00362         const axutil_env_t * env,
00363         axiom_node_t * ele_node);
00364 
00375     AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL
00376     axiom_element_get_children(
00377         axiom_element_t * om_element,
00378         const axutil_env_t * env,
00379         axiom_node_t * element_node);
00380 
00391     AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL
00392     axiom_element_get_children_with_qname(
00393         axiom_element_t * om_element,
00394         const axutil_env_t * env,
00395         axutil_qname_t * element_qname,
00396         axiom_node_t * element_node);
00397 
00409     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00410     axiom_element_get_first_child_with_qname(
00411         axiom_element_t * om_element,
00412         const axutil_env_t * env,
00413         axutil_qname_t * element_qname,
00414         axiom_node_t * element_node,
00415         axiom_node_t ** child_node);
00416 
00427     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00428     axiom_element_remove_attribute(
00429         axiom_element_t * om_element,
00430         const axutil_env_t * env,
00431         axiom_attribute_t * om_attribute);
00432 
00444     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00445     axiom_element_set_text(
00446         axiom_element_t * om_element,
00447         const axutil_env_t * env,
00448         const axis2_char_t * text,
00449         axiom_node_t * element_node);
00450 
00462     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00463     axiom_element_get_text(
00464         axiom_element_t * om_element,
00465         const axutil_env_t * env,
00466         axiom_node_t * element_node);
00467 
00475     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00476     axiom_element_get_first_element(
00477         axiom_element_t * om_element,
00478         const axutil_env_t * env,
00479         axiom_node_t * element_node,
00480         axiom_node_t ** first_element_node);
00481 
00489     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00490     axiom_element_to_string(
00491         axiom_element_t * om_element,
00492         const axutil_env_t * env,
00493         axiom_node_t * element_node);
00494 
00503     AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL
00504     axiom_element_get_child_elements(
00505         axiom_element_t * om_element,
00506         const axutil_env_t * env,
00507         axiom_node_t * element_node);
00508 
00520     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00521     axiom_element_build(
00522         axiom_element_t * om_element,
00523         const axutil_env_t * env,
00524         axiom_node_t * element_node);
00525 
00533     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00534     axiom_element_get_default_namespace(
00535         axiom_element_t * om_element,
00536         const axutil_env_t * env,
00537         axiom_node_t * element_node);
00538 
00546     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00547     axiom_element_declare_default_namespace(
00548         axiom_element_t * om_element,
00549         const axutil_env_t * env,
00550         axis2_char_t * uri);
00551 
00560     AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL
00561     axiom_element_find_namespace_uri(
00562         axiom_element_t * om_element,
00563         const axutil_env_t * env,
00564         const axis2_char_t * prefix,
00565         axiom_node_t * element_node);
00566 
00577     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00578     axiom_element_set_namespace_with_no_find_in_current_scope(
00579         axiom_element_t * om_element,
00580         const axutil_env_t * env,
00581         axiom_namespace_t * om_ns);
00582 
00591     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00592     axiom_element_extract_attributes(
00593         axiom_element_t * om_element,
00594         const axutil_env_t * env,
00595         axiom_node_t * ele_node);
00596 
00605     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00606     axiom_element_get_attribute_value_by_name(
00607         axiom_element_t * om_ele,
00608         const axutil_env_t * env,
00609         axis2_char_t * attr_name);
00610 
00620     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00621     axiom_element_create_str(
00622         const axutil_env_t * env,
00623         axiom_node_t * parent,
00624         axutil_string_t * localname,
00625         axiom_namespace_t * ns,
00626         axiom_node_t ** node);
00627 
00636     AXIS2_EXTERN axutil_string_t *AXIS2_CALL
00637     axiom_element_get_localname_str(
00638         axiom_element_t * om_element,
00639         const axutil_env_t * env);
00640 
00649     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00650     axiom_element_set_localname_str(
00651         axiom_element_t * om_element,
00652         const axutil_env_t * env,
00653         axutil_string_t * localname);
00654 
00662     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00663     axiom_element_get_is_empty(
00664         axiom_element_t * om_element,
00665         const axutil_env_t * env);
00666 
00675     AXIS2_EXTERN void AXIS2_CALL
00676     axiom_element_set_is_empty(
00677         axiom_element_t * om_element,
00678         const axutil_env_t * env,
00679         axis2_bool_t is_empty);
00680 
00692     AXIS2_EXTERN axutil_hash_t * AXIS2_CALL
00693     axiom_element_gather_parent_namespaces(
00694         axiom_element_t * om_element,
00695         const axutil_env_t * env,
00696         axiom_node_t * om_node);
00697 
00710     AXIS2_EXTERN void AXIS2_CALL
00711     axiom_element_use_parent_namespace(
00712         axiom_element_t * om_element,
00713         const axutil_env_t * env,
00714         axiom_node_t * om_node,
00715         axiom_namespace_t *ns,
00716         axiom_element_t * root_element,
00717         axutil_hash_t *inscope_namespaces);
00718 
00733     AXIS2_EXTERN void AXIS2_CALL
00734     axiom_element_redeclare_parent_namespaces(
00735         axiom_element_t * om_element,
00736         const axutil_env_t * env,
00737         axiom_node_t * om_node,
00738         axiom_element_t * root_element,
00739         axutil_hash_t *inscope_namespaces);
00740 
00743 #ifdef __cplusplus
00744 }
00745 #endif
00746 
00747 #endif                          /* AXIOM_ELEMENT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__supporting__tokens__builder_8h-source.html0000644000175000017500000001322011172017604030522 0ustar00manjulamanjula00000000000000 Axis2/C: rp_supporting_tokens_builder.h Source File

rp_supporting_tokens_builder.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_SUPPORTING_TOKEN_BUILDER_H
00019 #define RP_SUPPORTING_TOKEN_BUILDER_H
00020 
00026 #include <rp_supporting_tokens.h>
00027 #include <rp_includes.h>
00028 #include <rp_property.h>
00029 #include <rp_x509_token.h>
00030 #include <rp_username_token.h>
00031 #include <rp_token_identifier.h>
00032 #include <rp_algorithmsuite.h>
00033 #include <neethi_assertion.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00040     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00041     rp_supporting_tokens_builder_build(
00042         const axutil_env_t * env,
00043         axiom_node_t * node,
00044         axiom_element_t * element);
00045 
00046 #ifdef __cplusplus
00047 }
00048 #endif
00049 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__hold.html0000644000175000017500000001367011172017604022476 0ustar00manjulamanjula00000000000000 Axis2/C: util functions of tcpmon

util functions of tcpmon


Functions

axis2_char_t * tcpmon_util_format_as_xml (const axutil_env_t *env, axis2_char_t *data, int format)
char * str_replace (char *str, const char *search, const char *replace)
axis2_char_t * tcpmon_util_strcat (axis2_char_t *dest, axis2_char_t *source, int *buff_size, const axutil_env_t *env)
axis2_char_t * tcpmon_util_read_current_stream (const axutil_env_t *env, axutil_stream_t *stream, int *stream_size, axis2_char_t **header, axis2_char_t **data)
char * tcpmon_util_str_replace (const axutil_env_t *env, char *str, const char *search, const char *replace)
int tcpmon_util_write_to_file (char *filename, char *buffer)

Function Documentation

axis2_char_t* tcpmon_util_format_as_xml ( const axutil_env_t env,
axis2_char_t *  data,
int  format 
)

format the data as xml

Parameters:
env pointer to environment struct. MUST NOT be NULL.
data to be formatted


Generated on Thu Apr 16 11:31:23 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__code_8h.html0000644000175000017500000001225311172017604025551 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_code.h File Reference

axiom_soap_fault_code.h File Reference

axiom_soap_fault_code struct More...

#include <axutil_env.h>
#include <axiom_soap_fault.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_soap_fault_code 
axiom_soap_fault_code_t

Functions

AXIS2_EXTERN
axiom_soap_fault_code_t * 
axiom_soap_fault_code_create_with_parent (const axutil_env_t *env, axiom_soap_fault_t *fault)
AXIS2_EXTERN
axiom_soap_fault_code_t * 
axiom_soap_fault_code_create_with_parent_value (const axutil_env_t *env, axiom_soap_fault_t *fault, axis2_char_t *value)
AXIS2_EXTERN void axiom_soap_fault_code_free (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_sub_code * 
axiom_soap_fault_code_get_sub_code (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)
AXIS2_EXTERN struct
axiom_soap_fault_value * 
axiom_soap_fault_code_get_value (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_code_get_base_node (axiom_soap_fault_code_t *fault_code, const axutil_env_t *env)


Detailed Description

axiom_soap_fault_code struct


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__transport__in__desc_8h.html0000644000175000017500000003125711172017604026060 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_transport_in_desc.h File Reference

axis2_transport_in_desc.h File Reference

Axis2 description transport in interface. More...

#include <axis2_const.h>
#include <axutil_error.h>
#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_allocator.h>
#include <axutil_array_list.h>
#include <axis2_phase_meta.h>
#include <axis2_phase.h>
#include <axis2_flow.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_transport_in_desc 
axis2_transport_in_desc_t

Functions

AXIS2_EXTERN void axis2_transport_in_desc_free (axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env)
AXIS2_EXTERN void axis2_transport_in_desc_free_void_arg (void *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
AXIS2_TRANSPORT_ENUMS 
axis2_transport_in_desc_get_enum (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_enum (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_in_desc_get_in_flow (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_in_flow (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_flow *in_flow)
AXIS2_EXTERN struct
axis2_flow * 
axis2_transport_in_desc_get_fault_in_flow (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_fault_in_flow (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_flow *fault_in_flow)
AXIS2_EXTERN struct
axis2_transport_receiver
axis2_transport_in_desc_get_recv (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_recv (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_transport_receiver *recv)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_in_desc_get_in_phase (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_in_phase (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_phase *in_phase)
AXIS2_EXTERN struct
axis2_phase * 
axis2_transport_in_desc_get_fault_phase (const axis2_transport_in_desc_t *transport_in, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_set_fault_phase (struct axis2_transport_in_desc *transport_in, const axutil_env_t *env, struct axis2_phase *fault_phase)
AXIS2_EXTERN
axis2_status_t 
axis2_transport_in_desc_add_param (axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_transport_in_desc_get_param (const axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN axis2_bool_t axis2_transport_in_desc_is_param_locked (axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_transport_in_desc_param_container (const axis2_transport_in_desc_t *transport_in_desc, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_in_desc_t
axis2_transport_in_desc_create (const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)


Detailed Description

Axis2 description transport in interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/dirs.html0000644000175000017500000000346511172017604021137 0ustar00manjulamanjula00000000000000 Axis2/C: Directory Hierarchy

Axis2/C Directories

This directory hierarchy is sorted roughly, but not completely, alphabetically:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__header.html0000644000175000017500000001154311172017604023635 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_header

Rp_header


Typedefs

typedef struct
rp_header_t 
rp_header_t

Functions

AXIS2_EXTERN
rp_header_t * 
rp_header_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_header_free (rp_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
rp_header_get_name (rp_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_header_set_name (rp_header_t *header, const axutil_env_t *env, axis2_char_t *name)
AXIS2_EXTERN
axis2_char_t * 
rp_header_get_namespace (rp_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_header_set_namespace (rp_header_t *header, const axutil_env_t *env, axis2_char_t *nspace)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_func_0x67.html0000644000175000017500000000513511172017604023414 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- g -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__name_8h.html0000644000175000017500000001240711172017604023770 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_name.h File Reference

axis2_svc_name.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axis2_const.h>
#include <axutil_qname.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_svc_name 
axis2_svc_name_t

Functions

AXIS2_EXTERN
axis2_svc_name_t
axis2_svc_name_create (const axutil_env_t *env, const axutil_qname_t *qname, const axis2_char_t *endpoint_name)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_svc_name_get_qname (const axis2_svc_name_t *svc_name, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_name_set_qname (struct axis2_svc_name *svc_name, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN const
axis2_char_t * 
axis2_svc_name_get_endpoint_name (const axis2_svc_name_t *svc_name, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_name_set_endpoint_name (struct axis2_svc_name *svc_name, const axutil_env_t *env, const axis2_char_t *endpoint_name)
AXIS2_EXTERN void axis2_svc_name_free (struct axis2_svc_name *svc_name, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__mtom__caching__callback_8h-source.html0000644000175000017500000002477211172017604030175 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_mtom_caching_callback.h Source File

axiom_mtom_caching_callback.h

Go to the documentation of this file.
00001 /*
00002 * Licensed to the Apache Software Foundation (ASF) under one or more
00003 * contributor license agreements.  See the NOTICE file distributed with
00004 * this work for additional information regarding copyright ownership.
00005 * The ASF licenses this file to You under the Apache License, Version 2.0
00006 * (the "License"); you may not use this file except in compliance with
00007 * the License.  You may obtain a copy of the License at
00008 *
00009 *      http://www.apache.org/licenses/LICENSE-2.0
00010 *
00011 * Unless required by applicable law or agreed to in writing, software
00012 * distributed under the License is distributed on an "AS IS" BASIS,
00013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014 * See the License for the specific language governing permissions and
00015 * limitations under the License.
00016 */
00017 
00018 #ifndef AXIOM_MTOM_CACHING_CALLBACK_H 
00019 #define AXIOM_MTOM_CACHING_CALLBACK_H
00020 
00032 #include <axutil_env.h>
00033 #include <axutil_param.h>
00034 
00035 #ifdef __cplusplus
00036 extern "C"
00037 {
00038 #endif
00039 
00043     typedef struct axiom_mtom_caching_callback_ops axiom_mtom_caching_callback_ops_t;
00044 
00048     typedef struct axiom_mtom_caching_callback axiom_mtom_caching_callback_t;
00049 
00050 
00063     struct axiom_mtom_caching_callback_ops
00064     {
00065         void* (AXIS2_CALL*
00066             init_handler)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00067             const axutil_env_t* env,
00068             axis2_char_t *key);
00069 
00070         axis2_status_t (AXIS2_CALL*
00071             cache)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00072             const axutil_env_t* env,
00073             axis2_char_t *data,
00074             int length,
00075             void *handler);
00076 
00077         axis2_status_t (AXIS2_CALL*
00078             close_handler)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00079             const axutil_env_t* env,
00080             void *handler);
00081 
00082         axis2_status_t (AXIS2_CALL*
00083             free)(axiom_mtom_caching_callback_t *mtom_caching_callback,
00084             const axutil_env_t* env);
00085     };
00086 
00087     struct axiom_mtom_caching_callback
00088     {
00089         axiom_mtom_caching_callback_ops_t *ops;
00090                 axutil_param_t *param;
00091         void *user_param;
00092     };
00093 
00094     /*************************** Function macros **********************************/
00095 #define AXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLER(mtom_caching_callback, env, key) \
00096         ((mtom_caching_callback)->ops->init_handler(mtom_caching_callback, env, key))
00097 
00098 #define AXIOM_MTOM_CACHING_CALLBACK_CACHE(mtom_caching_callback, env, data, length, handler) \
00099         ((mtom_caching_callback)->ops->cache(mtom_caching_callback, env, data, length, handler))
00100 
00101 #define AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLER(mtom_caching_callback, env, handler) \
00102         ((mtom_caching_callback)->ops->close_handler(mtom_caching_callback, env, handler))
00103 
00104 #define AXIOM_MTOM_CACHING_CALLBACK_FREE(mtom_caching_callback, env) \
00105         ((mtom_caching_callback)->ops->free(mtom_caching_callback, env))
00106 
00108 #ifdef __cplusplus
00109 }
00110 #endif
00111 
00112 #endif                          /* AXIOM_MTOM_CACHING_CALLBACK */
00113 
00114 

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__data__source_8h-source.html0000644000175000017500000002017611172017604026055 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_data_source.h Source File

axiom_data_source.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_DATA_SOURCE_H
00020 #define AXIOM_DATA_SOURCE_H
00021 
00027 #include <axutil_env.h>
00028 #include <axiom_node.h>
00029 #include <axiom_output.h>
00030 #include <axutil_stream.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00047     typedef struct axiom_data_source axiom_data_source_t;
00048 
00060     AXIS2_EXTERN axiom_data_source_t *AXIS2_CALL
00061     axiom_data_source_create(
00062         const axutil_env_t * env,
00063         axiom_node_t * parent,
00064         axiom_node_t ** node);
00065 
00073     AXIS2_EXTERN void AXIS2_CALL
00074     axiom_data_source_free(
00075         struct axiom_data_source *om_data_source,
00076         const axutil_env_t * env);
00077 
00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087     axiom_data_source_serialize(
00088         struct axiom_data_source *om_data_source,
00089         const axutil_env_t * env,
00090         axiom_output_t * om_output);
00091 
00100     AXIS2_EXTERN axutil_stream_t *AXIS2_CALL
00101     axiom_data_source_get_stream(
00102         struct axiom_data_source *om_data_source,
00103         const axutil_env_t * env);
00104 
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110 
00111 #endif                          /* AXIOM_DATA_SOURCE_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__uri_8h-source.html0000644000175000017500000004612511172017604024417 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_uri.h Source File

axutil_uri.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_URI_H
00020 #define AXUTIL_URI_H
00021 
00028 #include <axutil_string.h>
00029 #include <axutil_utils.h>
00030 #include <axutil_utils_defines.h>
00031 #include <axutil_env.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00044 #define AXIS2_URI_FTP_DEFAULT_PORT         21 
00046 #define AXIS2_URI_SSH_DEFAULT_PORT         22 
00048 #define AXIS2_URI_TELNET_DEFAULT_PORT      23 
00050 #define AXIS2_URI_GOPHER_DEFAULT_PORT      70 
00052 #define AXIS2_URI_HTTP_DEFAULT_PORT        80 
00054 #define AXIS2_URI_POP_DEFAULT_PORT        110 
00056 #define AXIS2_URI_NNTP_DEFAULT_PORT       119 
00058 #define AXIS2_URI_IMAP_DEFAULT_PORT       143 
00060 #define AXIS2_URI_PROSPERO_DEFAULT_PORT   191 
00062 #define AXIS2_URI_WAIS_DEFAULT_PORT       210 
00064 #define AXIS2_URI_LDAP_DEFAULT_PORT       389 
00066 #define AXIS2_URI_HTTPS_DEFAULT_PORT      443 
00068 #define AXIS2_URI_RTSP_DEFAULT_PORT       554 
00070 #define AXIS2_URI_SNEWS_DEFAULT_PORT      563 
00072 #define AXIS2_URI_ACAP_DEFAULT_PORT       674 
00074 #define AXIS2_URI_NFS_DEFAULT_PORT       2049 
00076 #define AXIS2_URI_TIP_DEFAULT_PORT       3372 
00078 #define AXIS2_URI_SIP_DEFAULT_PORT       5060 
00083 #define AXIS2_URI_UNP_OMITSITEPART      (1U<<0)
00084 
00086 #define AXIS2_URI_UNP_OMITUSER          (1U<<1)
00087 
00089 #define AXIS2_URI_UNP_OMITPASSWORD      (1U<<2)
00090 
00092 #define AXIS2_URI_UNP_OMITUSERINFO      (AXIS2_URI_UNP_OMITUSER | \
00093                                        AXIS2_URI_UNP_OMITPASSWORD)
00094 
00096 #define AXIS2_URI_UNP_REVEALPASSWORD    (1U<<3)
00097 
00099 #define AXIS2_URI_UNP_OMITPATHINFO      (1U<<4)
00100 
00102 #define AXIS2_URI_UNP_OMITQUERY_ONLY    (1U<<5)
00103 
00105 #define AXIS2_URI_UNP_OMITFRAGMENT_ONLY (1U<<6)
00106 
00108 #define AXIS2_URI_UNP_OMITQUERY         (AXIS2_URI_UNP_OMITQUERY_ONLY | \
00109                                        AXIS2_URI_UNP_OMITFRAGMENT_ONLY)
00110 
00112     typedef unsigned short axis2_port_t;
00113     /* axutil_uri.c */
00114 
00115     typedef struct axutil_uri axutil_uri_t;
00116 
00122     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00123     axutil_uri_create(
00124         const axutil_env_t * env);
00125 
00132     AXIS2_EXTERN axis2_port_t AXIS2_CALL
00133     axutil_uri_port_of_scheme(
00134         const axis2_char_t * scheme_str);
00135 
00144     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00145     axutil_uri_parse_string(
00146         const axutil_env_t * env,
00147         const axis2_char_t * uri);
00148 
00155     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00156     axutil_uri_parse_hostinfo(
00157         const axutil_env_t * env,
00158         const axis2_char_t * hostinfo);
00159 
00161     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00162     axutil_uri_resolve_relative(
00163         const axutil_env_t * env,
00164         const axutil_uri_t * base,
00165         axutil_uri_t * uptr);
00166 
00179     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00180     axutil_uri_parse_relative(
00181         const axutil_env_t * env,
00182         const axutil_uri_t * base,
00183         const char *uri);
00184 
00185     AXIS2_EXTERN void AXIS2_CALL
00186     axutil_uri_free(
00187         axutil_uri_t * uri,
00188         const axutil_env_t * env);
00189 
00206     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00207     axutil_uri_to_string(
00208         const axutil_uri_t * uri,
00209         const axutil_env_t * env,
00210         unsigned flags);
00211 
00215     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00216     axutil_uri_get_protocol(
00217         axutil_uri_t * uri,
00218         const axutil_env_t * env);
00219 
00223     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00224     axutil_uri_get_server(
00225         axutil_uri_t * uri,
00226         const axutil_env_t * env);
00227 
00233     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00234     axutil_uri_get_host(
00235         axutil_uri_t * uri,
00236         const axutil_env_t * env);
00237 
00238     AXIS2_EXTERN axis2_port_t AXIS2_CALL
00239     axutil_uri_get_port(
00240         axutil_uri_t * uri,
00241         const axutil_env_t * env);
00242 
00246     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00247     axutil_uri_get_path(
00248         axutil_uri_t * uri,
00249         const axutil_env_t * env);
00250 
00251     AXIS2_EXTERN axutil_uri_t *AXIS2_CALL
00252     axutil_uri_clone(
00253         const axutil_uri_t * uri,
00254         const axutil_env_t * env);
00255 
00259     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00260     axutil_uri_get_query(
00261         axutil_uri_t * uri,
00262         const axutil_env_t * env);
00263 
00267     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00268     axutil_uri_get_fragment(
00269         axutil_uri_t * uri,
00270         const axutil_env_t * env);
00271 
00273 #ifdef __cplusplus
00274 }
00275 #endif
00276 
00277 #endif                          /* AXIS2_URI_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__mtom__sending__callback.html0000644000175000017500000001457111172017604026346 0ustar00manjulamanjula00000000000000 Axis2/C: Mtom_sending_callback

Mtom_sending_callback
[AXIOM project]


Classes

struct  axiom_mtom_sending_callback_ops
struct  axiom_mtom_sending_callback

Defines

#define AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLER(mtom_sending_callback, env, user_param)   ((mtom_sending_callback)->ops->init_handler(mtom_sending_callback, env, user_param))
#define AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(mtom_sending_callback, env, handler, buffer)   ((mtom_sending_callback)->ops->load_data(mtom_sending_callback, env, handler, buffer))
#define AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(mtom_sending_callback, env, handler)   ((mtom_sending_callback)->ops->close_handler(mtom_sending_callback, env, handler))
#define AXIOM_MTOM_SENDING_CALLBACK_FREE(mtom_sending_callback, env)   ((mtom_sending_callback)->ops->free(mtom_sending_callback, env))

Typedefs

typedef struct
axiom_mtom_sending_callback_ops 
axiom_mtom_sending_callback_ops_t
typedef struct
axiom_mtom_sending_callback 
axiom_mtom_sending_callback_t

Typedef Documentation

typedef struct axiom_mtom_sending_callback axiom_mtom_sending_callback_t

Type name for struct axiom_mtom_sending_callback


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__thread__pool.html0000644000175000017500000003570511172017604025737 0ustar00manjulamanjula00000000000000 Axis2/C: thread pool

thread pool
[utilities]


Typedefs

typedef struct
axutil_thread_pool 
axutil_thread_pool_t

Functions

AXIS2_EXTERN
axutil_thread_t
axutil_thread_pool_get_thread (axutil_thread_pool_t *pool, axutil_thread_start_t func, void *data)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_join_thread (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_exit_thread (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN
axis2_status_t 
axutil_thread_pool_thread_detach (axutil_thread_pool_t *pool, axutil_thread_t *thd)
AXIS2_EXTERN void axutil_thread_pool_free (axutil_thread_pool_t *pool)
AXIS2_EXTERN
axutil_thread_pool_t * 
axutil_thread_pool_init (axutil_allocator_t *allocator)
AXIS2_EXTERN struct
axutil_env
axutil_init_thread_env (const struct axutil_env *system_env)
AXIS2_EXTERN void axutil_free_thread_env (struct axutil_env *thread_env)

Function Documentation

AXIS2_EXTERN void axutil_free_thread_env ( struct axutil_env thread_env  ) 

This function can be used to free the environment that was used in a thread function

AXIS2_EXTERN struct axutil_env* axutil_init_thread_env ( const struct axutil_env system_env  )  [read]

This function can be used to initialize the environment in case of spawning a new thread via a thread function

AXIS2_EXTERN axis2_status_t axutil_thread_pool_exit_thread ( axutil_thread_pool_t *  pool,
axutil_thread_t thd 
)

Stop the execution of current thread

Parameters:
thd thread to be stopped
Returns:
status of the operation

AXIS2_EXTERN void axutil_thread_pool_free ( axutil_thread_pool_t *  pool  ) 

Frees resources used by thread_pool

Parameters:
pool thread_pool to be freed

AXIS2_EXTERN axutil_thread_t* axutil_thread_pool_get_thread ( axutil_thread_pool_t *  pool,
axutil_thread_start_t  func,
void *  data 
)

Retrives a thread from the thread pool

Parameters:
func function to be executed in the new thread
data arguments to be passed to the function
Returns:
pointer to a thread in ready state.

AXIS2_EXTERN axutil_thread_pool_t* axutil_thread_pool_init ( axutil_allocator_t allocator  ) 

Initializes (creates) an thread_pool.

Parameters:
allocator user defined allocator for the memory allocation.
Returns:
initialized thread_pool. NULL on error.

AXIS2_EXTERN axis2_status_t axutil_thread_pool_join_thread ( axutil_thread_pool_t *  pool,
axutil_thread_t thd 
)

Blocks until the desired thread stops executing.

Parameters:
thd The thread to joined
Returns:
status of the operation

AXIS2_EXTERN axis2_status_t axutil_thread_pool_thread_detach ( axutil_thread_pool_t *  pool,
axutil_thread_t thd 
)

Detaches a thread

Parameters:
thd thread to be detached
Returns:
status of the operation


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__skeleton_8h-source.html0000644000175000017500000003125711172017604026176 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_skeleton.h Source File

axis2_svc_skeleton.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_SVC_SKELETON_H
00020 #define AXIS2_SVC_SKELETON_H
00021 
00041 #include <axiom_node.h>
00042 #include <axutil_array_list.h>
00043 #include <axis2_msg_ctx.h>
00044 
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049 
00051     typedef struct axis2_svc_skeleton_ops axis2_svc_skeleton_ops_t;
00052 
00054     typedef struct axis2_svc_skeleton axis2_svc_skeleton_t;
00055 
00060     struct axis2_svc_skeleton_ops
00061     {
00062 
00069         int(
00070             AXIS2_CALL
00071             * init)(
00072                 axis2_svc_skeleton_t * svc_skeleton,
00073                 const axutil_env_t * env);
00074 
00087         axiom_node_t *(
00088             AXIS2_CALL
00089             * invoke)(
00090                 axis2_svc_skeleton_t * svc_skeli,
00091                 const axutil_env_t * env,
00092                 axiom_node_t * node,
00093                 axis2_msg_ctx_t * msg_ctx);
00094 
00102         axiom_node_t *(
00103             AXIS2_CALL
00104             * on_fault)(
00105                 axis2_svc_skeleton_t * svc_skeli,
00106                 const axutil_env_t * env,
00107                 axiom_node_t * node);
00108 
00115         int(
00116             AXIS2_CALL
00117             * free)(
00118                 axis2_svc_skeleton_t * svc_skeli,
00119                 const axutil_env_t * env);
00120 
00128         int(
00129             AXIS2_CALL
00130             * init_with_conf)(
00131                 axis2_svc_skeleton_t * svc_skeleton,
00132                 const axutil_env_t * env,
00133                 struct axis2_conf * conf);
00134     };
00135 
00139     struct axis2_svc_skeleton
00140     {
00141 
00143         const axis2_svc_skeleton_ops_t *ops;
00144 
00146         axutil_array_list_t *func_array;
00147     };
00148 
00149     /*************************** Function macros **********************************/
00150 
00153 #define AXIS2_SVC_SKELETON_INIT(svc_skeleton, env) \
00154       ((svc_skeleton)->ops->init (svc_skeleton, env))
00155 
00158 #define AXIS2_SVC_SKELETON_INIT_WITH_CONF(svc_skeleton, env, conf) \
00159       ((svc_skeleton)->ops->init_with_conf (svc_skeleton, env, conf))
00160 
00163 #define AXIS2_SVC_SKELETON_FREE(svc_skeleton, env) \
00164       ((svc_skeleton)->ops->free (svc_skeleton, env))
00165 
00168 #define AXIS2_SVC_SKELETON_INVOKE(svc_skeleton, env, node, msg_ctx) \
00169       ((svc_skeleton)->ops->invoke (svc_skeleton, env, node, msg_ctx))
00170 
00173 #define AXIS2_SVC_SKELETON_ON_FAULT(svc_skeleton, env, node) \
00174       ((svc_skeleton)->ops->on_fault (svc_skeleton, env, node))
00175 
00178 #ifdef __cplusplus
00179 }
00180 #endif
00181 
00182 #endif                          /* AXIS2_SVC_SKELETON_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__output_8h-source.html0000644000175000017500000005053111172017604024763 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_output.h Source File

axiom_output.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_OUTPUT_H
00020 #define AXIOM_OUTPUT_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_utils.h>
00024 #include <axutil_env.h>
00025 #include <axiom_node.h>
00026 #include <axiom_xml_writer.h>
00027 #include <axutil_array_list.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00044     typedef struct axiom_output axiom_output_t;
00045     struct axiom_text;
00046 
00054     AXIS2_EXTERN axiom_output_t *AXIS2_CALL
00055     axiom_output_create(
00056         const axutil_env_t * env,
00057         axiom_xml_writer_t * xml_writer);
00058 
00068     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00069     axiom_output_write(
00070         axiom_output_t * om_output,
00071         const axutil_env_t * env,
00072         axiom_types_t type,
00073         int no_of_args,
00074         ...);
00075 
00076     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00077     axiom_output_write_optimized(
00078         axiom_output_t * om_output,
00079         const axutil_env_t * env,
00080         struct axiom_text *om_text);
00081 
00089     AXIS2_EXTERN void AXIS2_CALL
00090     axiom_output_free(
00091         axiom_output_t * om_output,
00092         const axutil_env_t * env);
00093 
00100     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00101     axiom_output_is_soap11(
00102         axiom_output_t * om_output,
00103         const axutil_env_t * env);
00104 
00108     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00109 
00110     axiom_output_is_ignore_xml_declaration(
00111         axiom_output_t * om_output,
00112         const axutil_env_t * env);
00113 
00117     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00118 
00119     axiom_output_set_ignore_xml_declaration(
00120         axiom_output_t * om_output,
00121         const axutil_env_t * env,
00122         axis2_bool_t ignore_xml_dec);
00123 
00127     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00128     axiom_output_set_soap11(
00129         axiom_output_t * om_output,
00130         const axutil_env_t * env,
00131         axis2_bool_t soap11);
00132 
00136     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00137     axiom_output_set_xml_version(
00138         axiom_output_t * om_output,
00139         const axutil_env_t * env,
00140         axis2_char_t * xml_version);
00141 
00145     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00146     axiom_output_get_xml_version(
00147         axiom_output_t * om_output,
00148         const axutil_env_t * env);
00149 
00153     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00154     axiom_output_set_char_set_encoding(
00155         axiom_output_t * om_output,
00156         const axutil_env_t * env,
00157         axis2_char_t * char_set_encoding);
00158 
00162     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00163     axiom_output_get_char_set_encoding(
00164         axiom_output_t * om_output,
00165         const axutil_env_t * env);
00166 
00170     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00171     axiom_output_set_do_optimize(
00172         axiom_output_t * om_output,
00173         const axutil_env_t * env,
00174         axis2_bool_t optimize);
00175 
00179     AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL
00180     axiom_output_get_xml_writer(
00181         axiom_output_t * om_output,
00182         const axutil_env_t * env);
00183 
00191     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00192     axiom_output_get_content_type(
00193         axiom_output_t * om_output,
00194         const axutil_env_t * env);
00195 
00199     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00200     axiom_output_write_xml_version_encoding(
00201         axiom_output_t * om_output,
00202         const axutil_env_t * env);
00203 
00207     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00208     axiom_output_is_optimized(
00209         axiom_output_t * om_output,
00210         const axutil_env_t * env);
00211 
00215     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00216     axiom_output_get_next_content_id(
00217         axiom_output_t * om_output,
00218         const axutil_env_t * env);
00219 
00223     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00224     axiom_output_get_root_content_id(
00225         axiom_output_t * om_output,
00226         const axutil_env_t * env);
00230     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00231     axiom_output_get_mime_boundry(
00232         axiom_output_t * om_output,
00233         const axutil_env_t * env);
00237     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00238         axiom_output_flush(
00239         axiom_output_t * om_output,
00240         const axutil_env_t * env);
00241 
00242     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00243     axiom_output_get_mime_parts(
00244         axiom_output_t * om_output,
00245         const axutil_env_t * env);
00246 
00247 
00250 #ifdef __cplusplus
00251 }
00252 #endif
00253 
00254 #endif                          /* AXIOM_OUTPUT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__transport__binding.html0000644000175000017500000001403211172017604026266 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_transport_binding

Rp_transport_binding


Typedefs

typedef struct
rp_transport_binding_t 
rp_transport_binding_t

Functions

AXIS2_EXTERN
rp_transport_binding_t * 
rp_transport_binding_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_transport_binding_free (rp_transport_binding_t *transport_binding, const axutil_env_t *env)
AXIS2_EXTERN
rp_binding_commons_t * 
rp_transport_binding_get_binding_commons (rp_transport_binding_t *transport_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_transport_binding_set_binding_commons (rp_transport_binding_t *transport_binding, const axutil_env_t *env, rp_binding_commons_t *binding_commons)
AXIS2_EXTERN
axis2_status_t 
rp_transport_binding_set_transport_token (rp_transport_binding_t *transport_binding, const axutil_env_t *env, rp_property_t *transport_token)
AXIS2_EXTERN
rp_property_t * 
rp_transport_binding_get_transport_token (rp_transport_binding_t *transport_binding, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_transport_binding_increment_ref (rp_transport_binding_t *tansport_binding, const axutil_env_t *env)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__soap__fault__detail_8h-source.html0000644000175000017500000002020411172017604027372 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_soap_fault_detail.h Source File

axiom_soap_fault_detail.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_SOAP_FAULT_DETAIL_H
00020 #define AXIOM_SOAP_FAULT_DETAIL_H
00021 
00027 #include <axutil_env.h>
00028 #include <axiom_soap_fault.h>
00029 #include <axiom_children_iterator.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef struct axiom_soap_fault_detail axiom_soap_fault_detail_t;
00037 
00051     AXIS2_EXTERN axiom_soap_fault_detail_t *AXIS2_CALL
00052     axiom_soap_fault_detail_create_with_parent(
00053         const axutil_env_t * env,
00054         axiom_soap_fault_t * fault);
00055 
00063     AXIS2_EXTERN void AXIS2_CALL
00064     axiom_soap_fault_detail_free(
00065         axiom_soap_fault_detail_t * fault_detail,
00066         const axutil_env_t * env);
00067 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     axiom_soap_fault_detail_add_detail_entry(
00077         axiom_soap_fault_detail_t * fault_detail,
00078         const axutil_env_t * env,
00079         axiom_node_t * ele_node);
00080 
00088     AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL
00089     axiom_soap_fault_detail_get_all_detail_entries(
00090         axiom_soap_fault_detail_t * fault_detail,
00091         const axutil_env_t * env);
00092 
00100     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00101     axiom_soap_fault_detail_get_base_node(
00102         axiom_soap_fault_detail_t * fault_code,
00103         const axutil_env_t * env);
00104 
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110 
00111 #endif                          /* AXIOM_SOAP_FAULT_DETAIL_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__md5_8h.html0000644000175000017500000001206011172017604022776 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_md5.h File Reference

axutil_md5.h File Reference

MD5 Implementation for Axis2 based on rfc1321. More...

#include <axutil_utils_defines.h>
#include <axutil_env.h>

Go to the source code of this file.

Classes

struct  axutil_md5_ctx

Defines

#define AXIS2_MD5_DIGESTSIZE   16

Typedefs

typedef struct
axutil_md5_ctx 
axutil_md5_ctx_t

Functions

AXIS2_EXTERN
axutil_md5_ctx_t * 
axutil_md5_ctx_create (const axutil_env_t *env)
AXIS2_EXTERN void axutil_md5_ctx_free (axutil_md5_ctx_t *md5_ctx, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_md5_update (axutil_md5_ctx_t *context, const axutil_env_t *env, const void *input_str, size_t inputLen)
AXIS2_EXTERN
axis2_status_t 
axutil_md5_final (axutil_md5_ctx_t *context, const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE])
AXIS2_EXTERN
axis2_status_t 
axutil_md5 (const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE], const void *input_str, size_t inputLen)


Detailed Description

MD5 Implementation for Axis2 based on rfc1321.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__util_8h-source.html0000644000175000017500000004302511172017604024400 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_util.h Source File

axiom_util.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_UTIL_H
00020 #define AXIOM_UTIL_H
00021 
00022 #include <axutil_array_list.h>
00023 #include <axutil_string.h>
00024 #include <axiom.h>
00025 #include <axutil_uri.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00039     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00040     axiom_util_get_first_child_element_with_uri(
00041         axiom_node_t * ele_node,
00042         const axutil_env_t * env,
00043         axis2_char_t * uri,
00044         axiom_node_t ** child);
00056     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00057     axiom_util_get_next_sibling_element_with_uri(
00058         axiom_node_t * ele_node,
00059         const axutil_env_t * env,
00060         axis2_char_t * uri,
00061         axiom_node_t ** next_node);
00071     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00072     axiom_util_get_first_child_element(
00073         axiom_element_t * ele,
00074         const axutil_env_t * env,
00075         axiom_node_t * ele_node,
00076         axiom_node_t ** child_node);
00084     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00085     axiom_util_get_last_child_element(
00086         axiom_element_t * ele,
00087         const axutil_env_t * env,
00088         axiom_node_t * ele_node,
00089         axiom_node_t ** child_node);
00098     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00099     axiom_util_get_next_sibling_element(
00100         axiom_element_t * ele,
00101         const axutil_env_t * env,
00102         axiom_node_t * ele_node,
00103         axiom_node_t ** next_node);
00115     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00116     axiom_util_get_first_child_element_with_localname(
00117         axiom_element_t * ele,
00118         const axutil_env_t * env,
00119         axiom_node_t * ele_node,
00120         axis2_char_t * localname,
00121         axiom_node_t ** child_node);
00131     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00132     axiom_util_get_last_child_element_with_localname(
00133         axiom_element_t * ele,
00134         const axutil_env_t * env,
00135         axiom_node_t * ele_node,
00136         axis2_char_t * localname,
00137         axiom_node_t ** child_node);
00147     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00148     axiom_util_get_next_siblng_element_with_localname(
00149         axiom_element_t * ele,
00150         const axutil_env_t * env,
00151         axiom_node_t * ele_node,
00152         axis2_char_t * localname,
00153         axiom_node_t ** next_node);
00165     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00166     axiom_util_get_first_child_element_with_uri_localname(
00167         axiom_element_t * ele,
00168         const axutil_env_t * env,
00169         axiom_node_t * ele_node,
00170         axis2_char_t * localname,
00171         axis2_char_t * uri,
00172         axiom_node_t ** child_node);
00184     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00185     axiom_util_get_last_child_element_with_uri_localname(
00186         axiom_element_t * ele,
00187         const axutil_env_t * env,
00188         axiom_node_t * ele_node,
00189         axis2_char_t * localname,
00190         axis2_char_t * uri,
00191         axiom_node_t ** child_node);
00203     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00204     axiom_util_get_next_sibling_element_with_uri_localname(
00205         axiom_element_t * ele,
00206         const axutil_env_t * env,
00207         axiom_node_t * ele_node,
00208         axis2_char_t * localname,
00209         axis2_char_t * uri,
00210         axiom_node_t ** next_node);
00220     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00221     axiom_util_get_first_child_element_with_localnames(
00222         axiom_element_t * ele,
00223         const axutil_env_t * env,
00224         axiom_node_t * ele_node,
00225         axutil_array_list_t * names,
00226         axiom_node_t ** child_node);
00236     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00237     axiom_util_get_last_child_element_with_localnames(
00238         axiom_element_t * ele,
00239         const axutil_env_t * env,
00240         axiom_node_t * ele_node,
00241         axutil_array_list_t * names,
00242         axiom_node_t ** child_node);
00252     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00253     axiom_util_get_next_siblng_element_with_localnames(
00254         axiom_element_t * ele,
00255         const axutil_env_t * env,
00256         axiom_node_t * ele_node,
00257         axutil_array_list_t * names,
00258         axiom_node_t ** next_node);
00270     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00271     axiom_util_get_first_child_element_with_localname_attr(
00272         axiom_element_t * ele,
00273         const axutil_env_t * env,
00274         axiom_node_t * ele_node,
00275         axis2_char_t * localname,
00276         axis2_char_t * attr_name,
00277         axis2_char_t * attr_value,
00278         axiom_node_t ** child_node);
00292     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00293     axiom_util_get_last_child_element_with_localname_attr(
00294         axiom_element_t * ele,
00295         const axutil_env_t * env,
00296         axiom_node_t * ele_node,
00297         axis2_char_t * localname,
00298         axis2_char_t * attr_name,
00299         axis2_char_t * attr_value,
00300         axiom_node_t ** child_node);
00313     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00314     axiom_util_get_next_siblng_element_with_localname_attr(
00315         axiom_element_t * ele,
00316         const axutil_env_t * env, 
00317         axiom_node_t * ele_node,
00318         axis2_char_t * localname,
00319         axis2_char_t * attr_name,
00320         axis2_char_t * attr_value,
00321         axiom_node_t ** next_node);
00329     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00330     axiom_util_get_child_text(
00331         axiom_node_t * node,
00332         const axutil_env_t * env);
00340     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00341     axiom_util_get_localname(
00342         axiom_node_t * node,
00343         const axutil_env_t * env);
00353     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00354     axiom_util_get_node_namespace_uri(
00355         axiom_node_t * om_node,
00356         const axutil_env_t * env);
00365     AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL
00366     axiom_util_get_child_elements(
00367         axiom_element_t * om_ele,
00368         const axutil_env_t * env,
00369         axiom_node_t * om_node);
00370 
00371     AXIS2_EXTERN axiom_document_t *AXIS2_CALL
00372     axiom_util_new_document(
00373         const axutil_env_t * env,
00374         const axutil_uri_t * uri);
00375 
00376     AXIS2_EXTERN axiom_node_t* AXIS2_CALL
00377     axiom_util_get_node_by_local_name(
00378         const axutil_env_t *env,
00379         axiom_node_t *node,
00380         axis2_char_t *local_name);
00381 
00382 
00383 #ifdef __cplusplus
00384  }
00385 #endif
00386 #endif                          /* AXIOM_UTIL_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__attribute_8h.html0000644000175000017500000002362711172017604024136 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_attribute.h File Reference

axiom_attribute.h File Reference

om attribute struct represents an xml attribute More...

#include <axutil_env.h>
#include <axutil_qname.h>
#include <axiom_namespace.h>
#include <axiom_output.h>

Go to the source code of this file.

Typedefs

typedef struct
axiom_attribute 
axiom_attribute_t

Functions

AXIS2_EXTERN
axiom_attribute_t * 
axiom_attribute_create (const axutil_env_t *env, const axis2_char_t *localname, const axis2_char_t *value, axiom_namespace_t *ns)
AXIS2_EXTERN void axiom_attribute_free_void_arg (void *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN void axiom_attribute_free (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axutil_qname_t * 
axiom_attribute_get_qname (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN int axiom_attribute_serialize (struct axiom_attribute *om_attribute, const axutil_env_t *env, axiom_output_t *om_output)
AXIS2_EXTERN
axis2_char_t * 
axiom_attribute_get_localname (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_attribute_get_value (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axiom_namespace_t * 
axiom_attribute_get_namespace (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_localname (struct axiom_attribute *om_attribute, const axutil_env_t *env, const axis2_char_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_value (struct axiom_attribute *om_attribute, const axutil_env_t *env, const axis2_char_t *value)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_namespace (struct axiom_attribute *om_attribute, const axutil_env_t *env, axiom_namespace_t *om_namespace)
AXIS2_EXTERN struct
axiom_attribute * 
axiom_attribute_clone (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_increment_ref (struct axiom_attribute *om_attribute, const axutil_env_t *env)
AXIS2_EXTERN
axiom_attribute_t * 
axiom_attribute_create_str (const axutil_env_t *env, axutil_string_t *localname, axutil_string_t *value, axiom_namespace_t *ns)
AXIS2_EXTERN
axutil_string_t * 
axiom_attribute_get_localname_str (axiom_attribute_t *attribute, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axiom_attribute_get_value_str (axiom_attribute_t *attribute, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_localname_str (axiom_attribute_t *attribute, const axutil_env_t *env, axutil_string_t *localname)
AXIS2_EXTERN
axis2_status_t 
axiom_attribute_set_value_str (axiom_attribute_t *attribute, const axutil_env_t *env, axutil_string_t *value)


Detailed Description

om attribute struct represents an xml attribute


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__username__token__builder.html0000644000175000017500000000424311172017604027427 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_username_token_builder

Rp_username_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_username_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__security__context__token__builder.html0000644000175000017500000000452311172017604031363 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_security_context_token_builder

Rp_security_context_token_builder


Functions

AXIS2_EXTERN
neethi_assertion_t * 
rp_security_context_token_builder_build (const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element, axis2_char_t *sp_ns_uri, axis2_bool_t is_secure_conversation_token)

Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__env.html0000644000175000017500000006076311172017604024072 0ustar00manjulamanjula00000000000000 Axis2/C: environment

environment
[utilities]


Classes

struct  axutil_env
 Axis2 Environment struct. More...

Defines

#define AXIS_ENV_FREE_LOG   0x1
#define AXIS_ENV_FREE_ERROR   0x2
#define AXIS_ENV_FREE_THREADPOOL   0x4
#define AXIS2_ENV_CHECK(env, error_return)

Typedefs

typedef struct axutil_env axutil_env_t
 Axis2 Environment struct.

Functions

AXIS2_EXTERN
axutil_env_t
axutil_env_create (axutil_allocator_t *allocator)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_all (const axis2_char_t *log_file, const axutil_log_levels_t log_level)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_with_error (axutil_allocator_t *allocator, axutil_error_t *error)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_with_error_log (axutil_allocator_t *allocator, axutil_error_t *error, axutil_log_t *log)
AXIS2_EXTERN
axutil_env_t
axutil_env_create_with_error_log_thread_pool (axutil_allocator_t *allocator, axutil_error_t *error, axutil_log_t *log, axutil_thread_pool_t *pool)
AXIS2_EXTERN
axis2_status_t 
axutil_env_enable_log (axutil_env_t *env, axis2_bool_t enable)
AXIS2_EXTERN
axis2_status_t 
axutil_env_check_status (const axutil_env_t *env)
AXIS2_EXTERN void axutil_env_free (axutil_env_t *env)
AXIS2_EXTERN void axutil_env_free_masked (axutil_env_t *env, char mask)
AXIS2_EXTERN
axis2_status_t 
axutil_env_increment_ref (axutil_env_t *env)

Typedef Documentation

typedef struct axutil_env axutil_env_t

Axis2 Environment struct.

Environment acts as a container for error, log, memory allocator and threading routines


Function Documentation

AXIS2_EXTERN axis2_status_t axutil_env_check_status ( const axutil_env_t env  ) 

Checks the status code of environment stored within error struct.

Parameters:
env pointer to environment struct
Returns:
error status code or AXIS2_CRITICAL_FAILURE in case of a failure

AXIS2_EXTERN axutil_env_t* axutil_env_create ( axutil_allocator_t allocator  ) 

Creates an environment struct. Would include a default log and error structs within the created environment. By default, logging would be enabled and the default log level would be debug.

Parameters:
allocator pointer to an instance of allocator struct. Must not be NULL
Returns:
pointer to the newly created environment struct

AXIS2_EXTERN axutil_env_t* axutil_env_create_all ( const axis2_char_t *  log_file,
const axutil_log_levels_t  log_level 
)

Creates an environment struct with all of its default parts, that is an allocator, error, log and a thread pool.

Parameters:
log_file name of the log file. If NULL, a default log would be created.
log_level log level to be used. If not valid, debug would be used as the default log level
Returns:
pointer to the newly created environment struct

AXIS2_EXTERN axutil_env_t* axutil_env_create_with_error ( axutil_allocator_t allocator,
axutil_error_t error 
)

Creates an environment struct with given error struct.

Parameters:
allocator pointer to an instance of allocator struct. Must not be NULL
error pointer to an instance of error struct. Must not be NULL
Returns:
pointer to the newly created environment struct

AXIS2_EXTERN axutil_env_t* axutil_env_create_with_error_log ( axutil_allocator_t allocator,
axutil_error_t error,
axutil_log_t log 
)

Creates an environment struct with given error and log structs.

Parameters:
allocator pointer to an instance of allocator struct. Must not be NULL
error pointer to an instance of error struct. Must not be NULL
log pointer to an instance of log struct. If NULL it would be assumed that logging is disabled.
Returns:
pointer to the newly created environment struct

AXIS2_EXTERN axutil_env_t* axutil_env_create_with_error_log_thread_pool ( axutil_allocator_t allocator,
axutil_error_t error,
axutil_log_t log,
axutil_thread_pool_t *  pool 
)

Creates an environment struct with given error, log and thread pool structs.

Parameters:
allocator pointer to an instance of allocator struct. Must not be NULL
error pointer to an instance of error struct. Must not be NULL
log pointer to an instance of log struct. If NULL it would be assumed that logging is disabled.
pool pointer to an instance of thread_pool. Must not be NULL
Returns:
pointer to the newly created environment struct

AXIS2_EXTERN axis2_status_t axutil_env_enable_log ( axutil_env_t env,
axis2_bool_t  enable 
)

Enable or disable logging.

Parameters:
env pointer to environment struct
enable AXIS2_TRUE to enable logging and AXIS2_FALSE to disable logging
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN void axutil_env_free ( axutil_env_t env  ) 

Frees an environment struct instance.

Parameters:
env pointer to environment struct instance to be freed.
Returns:
void

AXIS2_EXTERN void axutil_env_free_masked ( axutil_env_t env,
char  mask 
)

Frees the environment components based on the mask.

Parameters:
env pointer to environment struct to be freed
mask bit pattern indicating which components of the env struct are to be freed AXIS_ENV_FREE_LOG - Frees the log AXIS_ENV_FREE_ERROR - Frees the error AXIS_ENV_FREE_THREADPOOL - Frees the thread pool You can use combinations to free multiple components as well E.g : AXIS_ENV_FREE_LOG | AXIS_ENV_FREE_ERROR frees both log and error, but not the thread pool
Returns:
void

AXIS2_EXTERN axis2_status_t axutil_env_increment_ref ( axutil_env_t env  ) 

Incrent the reference count.This is used when objects are created using this env and keeping this for future use.

Parameters:
env pointer to environment struct instance to be freed.
Returns:
void


Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__handler.html0000644000175000017500000005667611172017604024447 0ustar00manjulamanjula00000000000000 Axis2/C: handler

handler


Files

file  axis2_handler.h

Typedefs

typedef struct
axis2_handler 
axis2_handler_t
typedef axis2_status_t(* AXIS2_HANDLER_INVOKE )(axis2_handler_t *handler, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
typedef
axis2_handler_t *(* 
AXIS2_HANDLER_CREATE_FUNC )(const axutil_env_t *env, const axutil_string_t *name)

Functions

AXIS2_EXTERN void axis2_handler_free (axis2_handler_t *handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_init (axis2_handler_t *handler, const axutil_env_t *env, struct axis2_handler_desc *handler_desc)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_invoke (axis2_handler_t *handler, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN const
axutil_string_t * 
axis2_handler_get_name (const axis2_handler_t *handler, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_t * 
axis2_handler_get_param (const axis2_handler_t *handler, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN struct
axis2_handler_desc * 
axis2_handler_get_handler_desc (const axis2_handler_t *handler, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_handler_set_invoke (axis2_handler_t *handler, const axutil_env_t *env, AXIS2_HANDLER_INVOKE func)
AXIS2_EXTERN
axis2_handler_t
axis2_handler_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_handler_t
axis2_ctx_handler_create (const axutil_env_t *env, const axutil_string_t *qname)

Detailed Description

handler is the smallest unit of execution in the Axis2 engine's execution flow. The engine could have two flows, the in-flow and out-flow. A flow is a collection of phases and a phase in turn is a collection of handlers. handlers are configured in relation to modules. A module is a point of extension in the Axis2 engine and a module would have one or more handlers defined in its configuration. The module configuration defines the phases each handler is attached to. A handler is invoked when the phase within which it lives is invoked. handler is stateless and it is using the message context that the state information is captures across invocations.

Typedef Documentation

typedef axis2_handler_t*( * AXIS2_HANDLER_CREATE_FUNC)(const axutil_env_t *env, const axutil_string_t *name)

Function pointer defining the creates syntax for a handler struct instance.

Parameters:
env pointer to environment struct
pointer to qname
Returns:
pointer to newly created handler struct

typedef struct axis2_handler axis2_handler_t

Type name for struct axis2_handler


Function Documentation

AXIS2_EXTERN axis2_handler_t* axis2_ctx_handler_create ( const axutil_env_t env,
const axutil_string_t *  qname 
)

Creates a handler with invoke method implemented to fill in the service and operation context information.

Parameters:
env pointer to environment struct
qname pointer to qname, this is cloned within create method
Returns:
pointer to newly created handler struct

AXIS2_EXTERN axis2_handler_t* axis2_handler_create ( const axutil_env_t env  ) 

Creates handler struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created handler struct

AXIS2_EXTERN void axis2_handler_free ( axis2_handler_t handler,
const axutil_env_t env 
)

Free handler struct.

Parameters:
handler pointer to handler
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN struct axis2_handler_desc* axis2_handler_get_handler_desc ( const axis2_handler_t handler,
const axutil_env_t env 
) [read]

Gets the handler description related to the handler.

Parameters:
handler pointer to handler
env pointer to environment struct
Returns:
pointer to handler description struct related to handler

AXIS2_EXTERN const axutil_string_t* axis2_handler_get_name ( const axis2_handler_t handler,
const axutil_env_t env 
)

Gets QName.

Parameters:
handler pointer to handler
env pointer to environment struct
Returns:
pointer to QName of the handler

AXIS2_EXTERN axutil_param_t* axis2_handler_get_param ( const axis2_handler_t handler,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets the named parameter.

Parameters:
handler pointer to handler
env pointer to environment struct
name name of the parameter to be accessed

AXIS2_EXTERN axis2_status_t axis2_handler_init ( axis2_handler_t handler,
const axutil_env_t env,
struct axis2_handler_desc *  handler_desc 
)

Initializes the handler with the information form handler description.

Parameters:
handler pointer to handler
env pointer to environment struct
handler_desc pointer to handler description related to the handler
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_handler_invoke ( axis2_handler_t handler,
const axutil_env_t env,
struct axis2_msg_ctx *  msg_ctx 
)

Invoke is called to do the actual work assigned to the handler. The phase that owns the handler is responsible for calling invoke on top of the handler. Those structs that implement the interface of the handler should implement the logic for invoke and assign the respective function pointer to invoke operation of the ops struct.

Parameters:
handler pointer to handler
env pointer to environment struct
msg_ctx pointer to message context
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axutil__base64__binary.html0000644000175000017500000006300111172017604026055 0ustar00manjulamanjula00000000000000 Axis2/C: encoding holder

encoding holder
[utilities]


Files

file  axutil_base64_binary.h
 axis2-util base64 encoding holder

Typedefs

typedef struct
axutil_base64_binary 
axutil_base64_binary_t

Functions

AXIS2_EXTERN
axutil_base64_binary_t
axutil_base64_binary_create (const axutil_env_t *env)
AXIS2_EXTERN
axutil_base64_binary_t
axutil_base64_binary_create_with_plain_binary (const axutil_env_t *env, const unsigned char *plain_binary, int plain_binary_len)
AXIS2_EXTERN
axutil_base64_binary_t
axutil_base64_binary_create_with_encoded_binary (const axutil_env_t *env, const char *encoded_binary)
AXIS2_EXTERN void axutil_base64_binary_free (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axutil_base64_binary_set_plain_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env, const unsigned char *plain_binary, int plain_binary_len)
AXIS2_EXTERN
unsigned char * 
axutil_base64_binary_get_plain_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env, int *plain_binary_len)
AXIS2_EXTERN
axis2_status_t 
axutil_base64_binary_set_encoded_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env, const char *encoded_binary)
AXIS2_EXTERN char * axutil_base64_binary_get_encoded_binary (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)
AXIS2_EXTERN int axutil_base64_binary_get_encoded_binary_len (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)
AXIS2_EXTERN int axutil_base64_binary_get_decoded_binary_len (axutil_base64_binary_t *base64_binary, const axutil_env_t *env)

Typedef Documentation

typedef struct axutil_base64_binary axutil_base64_binary_t

Type name for struct axutil_base64_binary


Function Documentation

AXIS2_EXTERN axutil_base64_binary_t* axutil_base64_binary_create ( const axutil_env_t env  ) 

Creates axutil_base64_binary struct

Parameters:
env double pointer to environment struct. MUST NOT be NULL
Returns:
pointer to newly created axutil_base64_binary struct

AXIS2_EXTERN axutil_base64_binary_t* axutil_base64_binary_create_with_encoded_binary ( const axutil_env_t env,
const char *  encoded_binary 
)

Creates axutil_base64_binary struct.

Parameters:
env double pointer to environment struct. MUST NOT be NULL
encoded_binary binary buffer to initialize
Returns:
pointer to newly created axutil_base64_binary struct

AXIS2_EXTERN axutil_base64_binary_t* axutil_base64_binary_create_with_plain_binary ( const axutil_env_t env,
const unsigned char *  plain_binary,
int  plain_binary_len 
)

Creates axutil_base64_binary struct

Parameters:
env double pointer to environment struct. MUST NOT be NULL
plain_binary binary buffer to initialize
Returns:
pointer to newly created axutil_base64_binary struct

AXIS2_EXTERN void axutil_base64_binary_free ( axutil_base64_binary_t base64_binary,
const axutil_env_t env 
)

free the axutil_base64_binary.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN int axutil_base64_binary_get_decoded_binary_len ( axutil_base64_binary_t base64_binary,
const axutil_env_t env 
)

retrieve the value from decoded binary length.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
the decoded binary length

AXIS2_EXTERN char* axutil_base64_binary_get_encoded_binary ( axutil_base64_binary_t base64_binary,
const axutil_env_t env 
)

retrieve the value from encoded binary.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
the encoded binary

AXIS2_EXTERN int axutil_base64_binary_get_encoded_binary_len ( axutil_base64_binary_t base64_binary,
const axutil_env_t env 
)

retrieve the value from encoded binary length.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
Returns:
the encoded binary length

AXIS2_EXTERN unsigned char* axutil_base64_binary_get_plain_binary ( axutil_base64_binary_t base64_binary,
const axutil_env_t env,
int *  plain_binary_len 
)

retrieve the value from plain binary.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
plain_binary_len length of the plain_binary binary buffer
Returns:
the plain binary

AXIS2_EXTERN axis2_status_t axutil_base64_binary_set_encoded_binary ( axutil_base64_binary_t base64_binary,
const axutil_env_t env,
const char *  encoded_binary 
)

store the value from encoded binary.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
encoded_binary encoded binary buffer to store
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axutil_base64_binary_set_plain_binary ( axutil_base64_binary_t base64_binary,
const axutil_env_t env,
const unsigned char *  plain_binary,
int  plain_binary_len 
)

store the value from plain binary.

Parameters:
base64_binary represet the type object
env pointer to environment struct. MUST NOT be NULL
plain_binary binary buffer to store
plain_binary_len length of the plain_binary binary buffer
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__rp__binding__commons.html0000644000175000017500000002716111172017604025714 0ustar00manjulamanjula00000000000000 Axis2/C: Rp_binding_commons

Rp_binding_commons


Typedefs

typedef struct
rp_binding_commons_t 
rp_binding_commons_t

Functions

AXIS2_EXTERN
rp_binding_commons_t * 
rp_binding_commons_create (const axutil_env_t *env)
AXIS2_EXTERN void rp_binding_commons_free (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
rp_algorithmsuite_t * 
rp_binding_commons_get_algorithmsuite (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_algorithmsuite (rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_algorithmsuite_t *algorithmsuite)
AXIS2_EXTERN axis2_bool_t rp_binding_commons_get_include_timestamp (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_include_timestamp (rp_binding_commons_t *binding_commons, const axutil_env_t *env, axis2_bool_t include_timestamp)
AXIS2_EXTERN
rp_layout_t * 
rp_binding_commons_get_layout (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_layout (rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_layout_t *layout)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_binding_commons_get_signed_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_signed_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *signed_supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_binding_commons_get_signed_endorsing_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_signed_endorsing_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *signed_endorsing_supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_binding_commons_get_endorsing_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_endorsing_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *endorsing_supporting_tokens)
AXIS2_EXTERN
rp_supporting_tokens_t * 
rp_binding_commons_get_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
rp_binding_commons_set_supporting_tokens (rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *supporting_tokens)

Generated on Fri Apr 17 11:49:46 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__child__element__iterator.html0000644000175000017500000003233311172017604030104 0ustar00manjulamanjula00000000000000 Axis2/C: child element iterator

child element iterator
[AXIOM]


Defines

#define AXIOM_CHILD_ELEMENT_ITERATOR_FREE(iterator, env)   axiom_child_element_iterator_free(iterator, env)
#define AXIOM_CHILD_ELEMENT_ITERATOR_REMOVE(iterator, env)   axiom_child_element_iterator_remove(iterator, env)
#define AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(iterator, env)   axiom_child_element_iterator_has_next(iterator, env)
#define AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(iterator, env)   axiom_child_element_iterator_next(iterator, env)

Functions

AXIS2_EXTERN void axiom_child_element_iterator_free (void *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_child_element_iterator_remove (axiom_child_element_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axiom_child_element_iterator_has_next (axiom_child_element_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_child_element_iterator_next (axiom_child_element_iterator_t *iterator, const axutil_env_t *env)
AXIS2_EXTERN
axiom_child_element_iterator_t * 
axiom_child_element_iterator_create (const axutil_env_t *env, axiom_node_t *current_child)

Function Documentation

AXIS2_EXTERN axiom_child_element_iterator_t* axiom_child_element_iterator_create ( const axutil_env_t env,
axiom_node_t *  current_child 
)

Create a child element interator for the current child

Parameters:
current child
env environment, MUST NOT be NULL. return axiom_child_element_iterator_t

AXIS2_EXTERN void axiom_child_element_iterator_free ( void *  iterator,
const axutil_env_t env 
)

Free the iterator

Parameters:
iterator a pointer to child element iterator struct
env environment, MUST NOT be NULL.

AXIS2_EXTERN axis2_bool_t axiom_child_element_iterator_has_next ( axiom_child_element_iterator_t *  iterator,
const axutil_env_t env 
)

returns true if the iteration has more elements in otherwords it returns true if the next() would return an element rather than null with an error code set to environments error

Parameters:
iterator a pointer to child element iterator struct
env environment, MUST NOT be NULL.

AXIS2_EXTERN axiom_node_t* axiom_child_element_iterator_next ( axiom_child_element_iterator_t *  iterator,
const axutil_env_t env 
)

Returns the next element in the iteration. Returns null if there is no more elements

Parameters:
iterator a pointer to child element iterator struct
env environment, MUST NOT be NULL.

AXIS2_EXTERN axis2_status_t axiom_child_element_iterator_remove ( axiom_child_element_iterator_t *  iterator,
const axutil_env_t env 
)

Removes from the underlying collection the last element returned by the iterator (optional op). This method can be called only once per call to next. The behavior of an iterator is unspecified if the underlying collection is modified while the iteration is in progress in any way other than by calling this method.

Parameters:
iterator a pointer to child element iterator struct
env environment, MUST NOT be NULL.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxutil__allocator.html0000644000175000017500000002374511172017604025153 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_allocator Struct Reference

axutil_allocator Struct Reference
[allocator]

Axis2 memory allocator. More...

#include <axutil_allocator.h>

List of all members.

Public Attributes

void *(* malloc_fn )(struct axutil_allocator *allocator, size_t size)
void *(* realloc )(struct axutil_allocator *allocator, void *ptr, size_t size)
void(* free_fn )(struct axutil_allocator *allocator, void *ptr)
void * local_pool
void * global_pool
void * current_pool


Detailed Description

Axis2 memory allocator.

Encapsulator for memory allocating routines


Member Data Documentation

void*( * axutil_allocator::malloc_fn)(struct axutil_allocator *allocator, size_t size)

Function pointer representing the function that allocates memory.

Parameters:
allocator pointer to allocator struct. In the default implementation this is not used, however this parameter is useful when the allocator implementation is dealing with a memory pool.
size size of the memory block to be allocated
Returns:
pointer to the allocated memory block

void*( * axutil_allocator::realloc)(struct axutil_allocator *allocator, void *ptr, size_t size)

Function pointer representing the function that re-allocates memory.

Parameters:
allocator pointer to allocator struct. In the default implementation this is not used, however this parameter is useful when the allocator implementation is dealing with a memory pool.
ptr memory block who's size to be changed
size size of the memory block to be allocated
Returns:
pointer to the allocated memory block

void( * axutil_allocator::free_fn)(struct axutil_allocator *allocator, void *ptr)

Function pointer representing the function that frees memory.

Parameters:
allocator pointer to allocator struct. In the default implementation this is not used, however this parameter is useful when the allocator implementation is dealing with a memory pool.
ptr pointer to be freed
Returns:
void

Local memory pool. Local pool is used to allocate per request local values.

Global memory pool. Global pool is used to allocate values that live beyond a request

Memory pool currently in use. The functions axutil_allocator_switch_to_global_pool and axutil_allocator_switch_to_local_pool should be used to set the current pool to global pool or to local pool respectively.


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__addr__consts.html0000644000175000017500000007651611172017604025467 0ustar00manjulamanjula00000000000000 Axis2/C: WS-Addressing related constants

WS-Addressing related constants
[WS-Addressing]


Files

file  axis2_addr.h

Defines

#define AXIS2_WSA_MESSAGE_ID   "MessageID"
#define AXIS2_WSA_RELATES_TO   "RelatesTo"
#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE   "RelationshipType"
#define AXIS2_WSA_TO   "To"
#define AXIS2_WSA_FROM   "From"
#define AXIS2_WSA_REPLY_TO   "ReplyTo"
#define AXIS2_WSA_FAULT_TO   "FaultTo"
#define AXIS2_WSA_ACTION   "Action"
#define AXIS2_WSA_MAPPING   "wsamapping"
#define EPR_ADDRESS   "Address"
#define EPR_REFERENCE_PARAMETERS   "ReferenceParameters"
#define EPR_SERVICE_NAME   "ServiceName"
#define EPR_REFERENCE_PROPERTIES   "ReferenceProperties"
#define EPR_PORT_TYPE   "PortType"
#define EPR_SERVICE_NAME_PORT_NAME   "PortName"
#define AXIS2_WSA_NAMESPACE_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing"
#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION   "wsa:Reply"
#define AXIS2_WSA_ANONYMOUS_URL_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"
#define AXIS2_WSA_NONE_URL_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/none"
#define AXIS2_WSA_NAMESPACE   "http://www.w3.org/2005/08/addressing"
#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE   "http://www.w3.org/2005/08/addressing/reply"
#define AXIS2_WSA_ANONYMOUS_URL   "http://www.w3.org/2005/08/addressing/anonymous"
#define AXIS2_WSA_NONE_URL   "http://www.w3.org/2005/08/addressing/none"
#define AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE   "IsReferenceParameter"
#define AXIS2_WSA_TYPE_ATTRIBUTE_VALUE   "true"
#define AXIS2_WSA_INTERFACE_NAME   "InterfaceName"
#define AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAME   "EndpointName"
#define AXIS2_WSA_POLICIES   "Policies"
#define AXIS2_WSA_METADATA   "Metadata"
#define AXIS2_WSA_VERSION   "WSAddressingVersion"
#define AXIS2_WSA_DEFAULT_PREFIX   "wsa"
#define AXIS2_WSA_PREFIX_FAULT_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_FAULT_TO
#define AXIS2_WSA_PREFIX_REPLY_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_REPLY_TO
#define AXIS2_WSA_PREFIX_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_TO
#define AXIS2_WSA_PREFIX_MESSAGE_ID   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_MESSAGE_ID
#define AXIS2_WSA_PREFIX_ACTION   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_ACTION
#define PARAM_SERVICE_GROUP_CONTEXT_ID   "ServiceGroupContextIdFromAddressing"

Define Documentation

#define AXIS2_WSA_ACTION   "Action"

WS-Addressing Action

#define AXIS2_WSA_ANONYMOUS_URL   "http://www.w3.org/2005/08/addressing/anonymous"

WS-Addressing Anonymous URL for 1.0 Final Version

#define AXIS2_WSA_ANONYMOUS_URL_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous"

WS-Addressing Anonymous URL for Submission Version

#define AXIS2_WSA_DEFAULT_PREFIX   "wsa"

WS-Addressing Default Prefix

#define AXIS2_WSA_FAULT_TO   "FaultTo"

WS-Addressing Fault To

#define AXIS2_WSA_FROM   "From"

WS-Addressing From

#define AXIS2_WSA_INTERFACE_NAME   "InterfaceName"

WS-Addressing Interface Name

#define AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE   "IsReferenceParameter"

WS-Addressing Is Reference Parameter Attribute

#define AXIS2_WSA_MAPPING   "wsamapping"

WS-Addressing Mapping

#define AXIS2_WSA_MESSAGE_ID   "MessageID"

WS-Addressing Message ID

#define AXIS2_WSA_METADATA   "Metadata"

WS-Addressing Metadata

#define AXIS2_WSA_NAMESPACE   "http://www.w3.org/2005/08/addressing"

WS-Addressing Namespace for 1.0 Final Version

#define AXIS2_WSA_NAMESPACE_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing"

WS-Addressing Namespace for Submission Version

#define AXIS2_WSA_NONE_URL   "http://www.w3.org/2005/08/addressing/none"

WS-Addressing None URL for 1.0 Final Version

#define AXIS2_WSA_NONE_URL_SUBMISSION   "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/none"

WS-Addressing None URL for Submission Version

#define AXIS2_WSA_POLICIES   "Policies"

WS-Addressing Policies

#define AXIS2_WSA_PREFIX_ACTION   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_ACTION

WS-Addressing Prefixes for faults

#define AXIS2_WSA_PREFIX_FAULT_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_FAULT_TO

WS-Addressing Prefixes for faults

#define AXIS2_WSA_PREFIX_MESSAGE_ID   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_MESSAGE_ID

WS-Addressing Prefixes for faults

#define AXIS2_WSA_PREFIX_REPLY_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_REPLY_TO

WS-Addressing Prefixes for faults

#define AXIS2_WSA_PREFIX_TO   AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_TO

WS-Addressing Prefixes for faults

#define AXIS2_WSA_RELATES_TO   "RelatesTo"

WS-Addressing Relates To

#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE   "RelationshipType"

WS-Addressing Relates To Relationship Type

#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE   "http://www.w3.org/2005/08/addressing/reply"

WS-Addressing Relates To Relationship Type Default Value for 1.0 Final Version

#define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION   "wsa:Reply"

WS-Addressing Relates To Relationship Type Default Value for Submission Version

#define AXIS2_WSA_REPLY_TO   "ReplyTo"

WS-Addressing Reply To

#define AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAME   "EndpointName"

WS-Addressing Service/Endpoint Name

#define AXIS2_WSA_TO   "To"

WS-Addressing To

#define AXIS2_WSA_TYPE_ATTRIBUTE_VALUE   "true"

WS-Addressing Type Attribute Value

#define AXIS2_WSA_VERSION   "WSAddressingVersion"

WS-Addressing Version

#define EPR_ADDRESS   "Address"

End Pointer Reference Address

#define EPR_PORT_TYPE   "PortType"

End Pointer Reference Port Type

#define EPR_REFERENCE_PARAMETERS   "ReferenceParameters"

End Pointer Reference Reference Parameters

#define EPR_REFERENCE_PROPERTIES   "ReferenceProperties"

End Pointer Reference Reference Properties

#define EPR_SERVICE_NAME   "ServiceName"

End Pointer Reference Service Name

#define EPR_SERVICE_NAME_PORT_NAME   "PortName"

End Pointer Reference Port Name

#define PARAM_SERVICE_GROUP_CONTEXT_ID   "ServiceGroupContextIdFromAddressing"

WS-Addressing Param Service Group Context ID


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__disp.html0000644000175000017500000005555511172017604023764 0ustar00manjulamanjula00000000000000 Axis2/C: dispatcher

dispatcher
[engine]


Files

file  axis2_disp.h

Defines

#define AXIS2_DISP_NAMESPACE   "http://axis.ws.apache.org"

Typedefs

typedef struct axis2_disp axis2_disp_t

Functions

AXIS2_EXTERN
axis2_handler_t
axis2_disp_get_base (const axis2_disp_t *disp, const axutil_env_t *env)
AXIS2_EXTERN
axutil_string_t * 
axis2_disp_get_name (const axis2_disp_t *disp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_disp_set_name (axis2_disp_t *disp, const axutil_env_t *env, axutil_string_t *name)
AXIS2_EXTERN void axis2_disp_free (axis2_disp_t *disp, const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_disp_create (const axutil_env_t *env, const axutil_string_t *name)
axis2_status_t axis2_disp_find_svc_and_op (struct axis2_handler *handler, const axutil_env_t *env, struct axis2_msg_ctx *msg_ctx)
AXIS2_EXTERN
axis2_disp_t
axis2_addr_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_req_uri_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_rest_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_soap_body_disp_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_disp_t
axis2_soap_action_disp_create (const axutil_env_t *env)

Detailed Description

dispatcher is responsible for finding the service and operation for a given invocation. A Web service request would contain information that help locate the service and the operation serving the request. This information could be in various formats, and hence the mechanism to find the requested service and operation based on the available information could too vary. Hence there can be various types on dispatches involved in a dispatching phase of the engine, that implements the API given in this header.

Typedef Documentation

typedef struct axis2_disp axis2_disp_t

Type name for struct axis2_disp


Function Documentation

AXIS2_EXTERN axis2_disp_t* axis2_addr_disp_create ( const axutil_env_t env  ) 

Creates a WS-Addressing based dispatcher.

Parameters:
env pointer to environment struct
Returns:
pointer to the newly created dispatcher with find_svc and find_op methods implemented based on WS-Addressing

AXIS2_EXTERN axis2_disp_t* axis2_disp_create ( const axutil_env_t env,
const axutil_string_t *  name 
)

Creates a dispatcher struct instance.

Parameters:
env pointer to environment struct
name pointer to QName. QName is cloned by create method.
Returns:
pointer to newly created dispatcher

AXIS2_EXTERN void axis2_disp_free ( axis2_disp_t disp,
const axutil_env_t env 
)

Frees dispatcher struct.

Parameters:
disp pointer to dispatcher
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_handler_t* axis2_disp_get_base ( const axis2_disp_t disp,
const axutil_env_t env 
)

Gets the base struct which is of type handler.

Parameters:
disp pointer to dispatcher
env pointer to environment struct
Returns:
pointer to base handler struct. Returns a reference, not a cloned copy

AXIS2_EXTERN axutil_string_t* axis2_disp_get_name ( const axis2_disp_t disp,
const axutil_env_t env 
)

Gets the name of the dispatcher.

Parameters:
disp pointer to dispatcher
env pointer to environment struct
Returns:
pointer to name. Returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t axis2_disp_set_name ( axis2_disp_t disp,
const axutil_env_t env,
axutil_string_t *  name 
)

Sets the name of the dispatcher.

Parameters:
disp pointer to dispatcher
env pointer to environment struct
name pointer to name, dispatcher assumes ownership of the name struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_disp_t* axis2_req_uri_disp_create ( const axutil_env_t env  ) 

Creates a request URI based dispatcher.

Parameters:
env pointer to environment struct
Returns:
pointer to the newly created dispatcher with find_svc and find_op methods implemented based on request URI processing.

AXIS2_EXTERN axis2_disp_t* axis2_rest_disp_create ( const axutil_env_t env  ) 

Creates a REST based dispatcher.

Parameters:
env pointer to environment struct
Returns:
pointer to the newly created dispatcher with find_svc and find_op methods implemented based on REST processing.

AXIS2_EXTERN axis2_disp_t* axis2_soap_action_disp_create ( const axutil_env_t env  ) 

Creates a SOAP action based dispatcher.

Parameters:
env pointer to environment struct
Returns:
pointer to the newly created dispatcher with find_svc and find_op methods implemented based on SOAP action processing

AXIS2_EXTERN axis2_disp_t* axis2_soap_body_disp_create ( const axutil_env_t env  ) 

Creates a SOAP body based dispatcher.

Parameters:
env pointer to environment struct
Returns:
pointer to the newly created dispatcher with find_svc and find_op methods implemented based on SOAP body processing.


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__header.html0000644000175000017500000003543711172017604025450 0ustar00manjulamanjula00000000000000 Axis2/C: http header

http header
[http transport]


Files

file  axis2_http_header.h
 axis2 HTTP Header name:value pair implementation

Typedefs

typedef struct
axis2_http_header 
axis2_http_header_t

Functions

AXIS2_EXTERN
axis2_char_t * 
axis2_http_header_to_external_form (axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_header_get_name (const axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_header_get_value (const axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_header_free (axis2_http_header_t *header, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_header_create (const axutil_env_t *env, const axis2_char_t *name, const axis2_char_t *value)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_header_create_by_str (const axutil_env_t *env, const axis2_char_t *str)

Detailed Description

Description

Typedef Documentation

typedef struct axis2_http_header axis2_http_header_t

Type name for struct axis2_http_header


Function Documentation

AXIS2_EXTERN axis2_http_header_t* axis2_http_header_create ( const axutil_env_t env,
const axis2_char_t *  name,
const axis2_char_t *  value 
)

Parameters:
env pointer to environment struct
name pointer to name
value pointer to value

AXIS2_EXTERN axis2_http_header_t* axis2_http_header_create_by_str ( const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
env pointer to environment struct
str pointer to str

AXIS2_EXTERN void axis2_http_header_free ( axis2_http_header_t header,
const axutil_env_t env 
)

Parameters:
header pointer to header
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axis2_char_t* axis2_http_header_get_name ( const axis2_http_header_t header,
const axutil_env_t env 
)

Parameters:
header pointer to header
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_header_get_value ( const axis2_http_header_t header,
const axutil_env_t env 
)

Parameters:
header pointer to header
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_header_to_external_form ( axis2_http_header_t header,
const axutil_env_t env 
)

Parameters:
header pointer to header
env pointer to environment struct


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__rm__assertion.html0000644000175000017500000006132211172017604025656 0ustar00manjulamanjula00000000000000 Axis2/C: Axis2_rm_assertion

Axis2_rm_assertion


Typedefs

typedef struct
axis2_rm_assertion_t 
axis2_rm_assertion_t

Functions

AXIS2_EXTERN
axis2_rm_assertion_t * 
axis2_rm_assertion_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_rm_assertion_free (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_sequence_str (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_sequence_str (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_sequence_str)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_sequence_transport_security (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_sequence_transport_security (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_sequence_transport_security)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_exactly_once (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_exactly_once (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_exactly_once)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_atleast_once (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_atleast_once (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_atleast_once)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_atmost_once (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_atmost_once (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_atmost_once)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_inorder (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_inorder (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_inorder)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_inactivity_timeout (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_inactivity_timeout (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *inactivity_timeout)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_retrans_interval (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_retrans_interval (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *retrans_interval)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_ack_interval (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_ack_interval (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *ack_interval)
AXIS2_EXTERN axis2_bool_t axis2_rm_assertion_get_is_exp_backoff (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_is_exp_backoff (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_bool_t is_exp_backoff)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_storage_mgr (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_storage_mgr (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *storage_mgr)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_message_types_to_drop (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_message_types_to_drop (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *message_types_to_drop)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_max_retrans_count (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_max_retrans_count (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *max_retrans_count)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_sender_sleep_time (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_sender_sleep_time (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *sender_sleep_time)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_invoker_sleep_time (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_invoker_sleep_time (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *invoker_sleep_time)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_polling_wait_time (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_polling_wait_time (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *polling_wait_time)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_terminate_delay (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_terminate_delay (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *terminate_delay)
AXIS2_EXTERN
axis2_char_t * 
axis2_rm_assertion_get_sandesha2_db (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_rm_assertion_set_sandesha2_db (axis2_rm_assertion_t *rm_assertion, const axutil_env_t *env, axis2_char_t *sandesha2_db)
AXIS2_EXTERN
axis2_rm_assertion_t * 
axis2_rm_assertion_get_from_policy (const axutil_env_t *env, neethi_policy_t *policy)

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_func.html0000644000175000017500000062216211172017604022635 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- a -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__client__api.html0000644000175000017500000000563011172017604025260 0ustar00manjulamanjula00000000000000 Axis2/C: client API

client API


Modules

 async result
 callback
 callback message receiver. This can be considered as a
 operation client
 options
 stub
 service client

Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__msg__info__headers_8h-source.html0000644000175000017500000006136011172017604027130 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_msg_info_headers.h Source File

axis2_msg_info_headers.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_MSG_INFO_HEADERS_H
00020 #define AXIS2_MSG_INFO_HEADERS_H
00021 
00043 #include <axis2_defines.h>
00044 #include <axutil_env.h>
00045 #include <axis2_const.h>
00046 #include <axutil_array_list.h>
00047 #include <axis2_endpoint_ref.h>
00048 #include <axis2_any_content_type.h>
00049 #include <axis2_svc_name.h>
00050 #include <axis2_relates_to.h>
00051 #include <axiom_node.h>
00052 
00053 #ifdef __cplusplus
00054 extern "C"
00055 {
00056 #endif
00057 
00059     typedef struct axis2_msg_info_headers axis2_msg_info_headers_t;
00060 
00068     AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL
00069     axis2_msg_info_headers_create(
00070         const axutil_env_t * env,
00071         axis2_endpoint_ref_t * to,
00072         const axis2_char_t * action);
00073 
00082     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00083     axis2_msg_info_headers_get_to(
00084         const axis2_msg_info_headers_t * msg_info_headers,
00085         const axutil_env_t * env);
00086 
00096     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097     axis2_msg_info_headers_set_to(
00098         struct axis2_msg_info_headers *msg_info_headers,
00099         const axutil_env_t * env,
00100         axis2_endpoint_ref_t * to);
00101 
00110     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00111     axis2_msg_info_headers_get_from(
00112         const axis2_msg_info_headers_t * msg_info_headers,
00113         const axutil_env_t * env);
00114 
00124     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00125     axis2_msg_info_headers_set_from(
00126         struct axis2_msg_info_headers *msg_info_headers,
00127         const axutil_env_t * env,
00128         axis2_endpoint_ref_t * from);
00129 
00138     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00139     axis2_msg_info_headers_get_reply_to(
00140         const axis2_msg_info_headers_t * msg_info_headers,
00141         const axutil_env_t * env);
00142 
00152     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00153     axis2_msg_info_headers_set_reply_to(
00154         struct axis2_msg_info_headers *msg_info_headers,
00155         const axutil_env_t * env,
00156         axis2_endpoint_ref_t * reply_to);
00157 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_msg_info_headers_set_reply_to_none(
00171         struct axis2_msg_info_headers *msg_info_headers,
00172         const axutil_env_t * env,
00173         const axis2_bool_t none);
00174 
00186     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00187     axis2_msg_info_headers_get_reply_to_none(
00188         const axis2_msg_info_headers_t * msg_info_headers,
00189         const axutil_env_t * env);
00190 
00205     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00206     axis2_msg_info_headers_set_reply_to_anonymous(
00207         struct axis2_msg_info_headers *msg_info_headers,
00208         const axutil_env_t * env,
00209         const axis2_bool_t anonymous);
00210 
00223     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00224     axis2_msg_info_headers_get_reply_to_anonymous(
00225         const axis2_msg_info_headers_t * msg_info_headers,
00226         const axutil_env_t * env);
00227 
00236     AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL
00237     axis2_msg_info_headers_get_fault_to(
00238         const axis2_msg_info_headers_t * msg_info_headers,
00239         const axutil_env_t * env);
00240 
00250     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00251     axis2_msg_info_headers_set_fault_to(
00252         struct axis2_msg_info_headers *msg_info_headers,
00253         const axutil_env_t * env,
00254         axis2_endpoint_ref_t * fault_to);
00255 
00268     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00269     axis2_msg_info_headers_set_fault_to_none(
00270         struct axis2_msg_info_headers *msg_info_headers,
00271         const axutil_env_t * env,
00272         const axis2_bool_t none);
00273 
00285     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00286     axis2_msg_info_headers_get_fault_to_none(
00287         const axis2_msg_info_headers_t * msg_info_headers,
00288         const axutil_env_t * env);
00289 
00304     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00305     axis2_msg_info_headers_set_fault_to_anonymous(
00306         struct axis2_msg_info_headers *msg_info_headers,
00307         const axutil_env_t * env,
00308         const axis2_bool_t anonymous);
00309 
00322     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00323     axis2_msg_info_headers_get_fault_to_anonymous(
00324         const axis2_msg_info_headers_t * msg_info_headers,
00325         const axutil_env_t * env);
00326 
00335     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00336     axis2_msg_info_headers_get_action(
00337         const axis2_msg_info_headers_t * msg_info_headers,
00338         const axutil_env_t * env);
00339 
00349     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00350     axis2_msg_info_headers_set_action(
00351         struct axis2_msg_info_headers *msg_info_headers,
00352         const axutil_env_t * env,
00353         const axis2_char_t * action);
00354 
00362     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00363     axis2_msg_info_headers_get_message_id(
00364         const axis2_msg_info_headers_t * msg_info_headers,
00365         const axutil_env_t * env);
00366 
00375     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00376     axis2_msg_info_headers_set_message_id(
00377         struct axis2_msg_info_headers *msg_info_headers,
00378         const axutil_env_t * env,
00379         const axis2_char_t * message_id);
00380 
00389     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00390     axis2_msg_info_headers_set_in_message_id(
00391         struct axis2_msg_info_headers *msg_info_headers,
00392         const axutil_env_t * env,
00393         const axis2_char_t * message_id);
00394 
00403     AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL
00404     axis2_msg_info_headers_get_relates_to(
00405         const axis2_msg_info_headers_t * msg_info_headers,
00406         const axutil_env_t * env);
00407 
00416     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00417     axis2_msg_info_headers_set_relates_to(
00418         struct axis2_msg_info_headers *msg_info_headers,
00419         const axutil_env_t * env,
00420         axis2_relates_to_t * relates_to);
00421 
00429     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00430     axis2_msg_info_headers_get_all_ref_params(
00431         const axis2_msg_info_headers_t * msg_info_headers,
00432         const axutil_env_t * env);
00433 
00443     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00444     axis2_msg_info_headers_add_ref_param(
00445         struct axis2_msg_info_headers *msg_info_headers,
00446         const axutil_env_t * env,
00447         axiom_node_t * ref_param);
00448 
00455     AXIS2_EXTERN void AXIS2_CALL
00456     axis2_msg_info_headers_free(
00457         struct axis2_msg_info_headers *msg_info_headers,
00458         const axutil_env_t * env);
00459 
00462 #ifdef __cplusplus
00463 }
00464 #endif
00465 
00466 #endif                          /* AXIS2_MSG_INFO_HEADERS_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__accept__record.html0000644000175000017500000003724011172017604027146 0ustar00manjulamanjula00000000000000 Axis2/C: HTTP Accept record

HTTP Accept record
[http transport]


Files

file  axis2_http_accept_record.h
 Axis2 HTTP Accept record.

Typedefs

typedef struct
axis2_http_accept_record 
axis2_http_accept_record_t

Functions

AXIS2_EXTERN float axis2_http_accept_record_get_quality_factor (const axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_accept_record_get_name (const axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN int axis2_http_accept_record_get_level (const axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_accept_record_to_string (axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_accept_record_free (axis2_http_accept_record_t *accept_record, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_accept_record_t
axis2_http_accept_record_create (const axutil_env_t *env, const axis2_char_t *str)

Typedef Documentation

typedef struct axis2_http_accept_record axis2_http_accept_record_t

Type name for struct axis2_http_accept_record


Function Documentation

AXIS2_EXTERN axis2_http_accept_record_t* axis2_http_accept_record_create ( const axutil_env_t env,
const axis2_char_t *  str 
)

Creates accept record

Parameters:
env pointer to environment struct
str pointer to str
Returns:
created accept record

AXIS2_EXTERN void axis2_http_accept_record_free ( axis2_http_accept_record_t accept_record,
const axutil_env_t env 
)

Frees accept record

Parameters:
accept_record pointer to accept record
env pointer to environment struct

AXIS2_EXTERN int axis2_http_accept_record_get_level ( const axis2_http_accept_record_t accept_record,
const axutil_env_t env 
)

Gets level of accept record

Parameters:
accept_record pointer to accept record
env pointer to environment struct
Returns:
level of accept record (1 meaning highest). A return value of -1 indicates that no level is associated.

AXIS2_EXTERN axis2_char_t* axis2_http_accept_record_get_name ( const axis2_http_accept_record_t accept_record,
const axutil_env_t env 
)

Gets name of accept record

Parameters:
accept_record pointer to accept record
env pointer to environment struct
Returns:
name of accept record

AXIS2_EXTERN float axis2_http_accept_record_get_quality_factor ( const axis2_http_accept_record_t accept_record,
const axutil_env_t env 
)

Gets quality factor of accept record

Parameters:
accept_record pointer to accept record
env pointer to environment struct
Returns:
quality factor between 0 and 1 (1 meaning maximum and 0 meaning minimum)

AXIS2_EXTERN axis2_char_t* axis2_http_accept_record_to_string ( axis2_http_accept_record_t accept_record,
const axutil_env_t env 
)

Gets string representation of accept record

Parameters:
accept_record pointer to accept record
env pointer to environment struct
Returns:
created accept record string


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__token_8h-source.html0000644000175000017500000002702611172017604024052 0ustar00manjulamanjula00000000000000 Axis2/C: rp_token.h Source File

rp_token.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef RP_GENERIC_TOKEN_H
00020 #define RP_GENERIC_TOKEN_H
00021 
00027 #include <rp_includes.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef enum
00035     {
00036         DERIVEKEY_NONE =0,
00037         DERIVEKEY_NEEDED, 
00038         DERIVEKEY_IMPLIED,
00039         DERIVEKEY_EXPLICIT
00040     } derive_key_type_t;
00041 
00042     typedef enum
00043     {
00044         DERIVEKEY_VERSION_SC10 =0,
00045         DERIVEKEY_VERSION_SC13
00046     } derive_key_version_t;
00047 
00048     typedef struct rp_token_t rp_token_t;
00049 
00050     AXIS2_EXTERN rp_token_t *AXIS2_CALL
00051     rp_token_create(
00052         const axutil_env_t * env);
00053 
00054     AXIS2_EXTERN void AXIS2_CALL
00055     rp_token_free(
00056         rp_token_t * token,
00057         const axutil_env_t * env);
00058 
00059     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00060     rp_token_get_issuer(
00061         rp_token_t * token,
00062         const axutil_env_t * env);
00063 
00064     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00065     rp_token_set_issuer(
00066         rp_token_t * token,
00067         const axutil_env_t * env,
00068         axis2_char_t * issuer);
00069 
00070     AXIS2_EXTERN derive_key_type_t AXIS2_CALL
00071     rp_token_get_derivedkey_type(
00072         rp_token_t * token,
00073         const axutil_env_t * env);
00074 
00075     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00076     rp_token_set_derivedkey_type(
00077         rp_token_t * token,
00078         const axutil_env_t * env,
00079         derive_key_type_t derivedkey);
00080 
00081     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00082     rp_token_get_is_issuer_name(
00083         rp_token_t * token,
00084         const axutil_env_t * env);
00085 
00086     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00087     rp_token_set_is_issuer_name(
00088         rp_token_t * token,
00089         const axutil_env_t * env,
00090         axis2_bool_t is_issuer_name);
00091 
00092     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00093     rp_token_get_claim(
00094         rp_token_t * token,
00095         const axutil_env_t * env);
00096 
00097     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00098     rp_token_set_claim(
00099         rp_token_t * token,
00100         const axutil_env_t * env,
00101         axiom_node_t *claim);
00102 
00103     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00104     rp_token_increment_ref(
00105         rp_token_t * token,
00106         const axutil_env_t * env);
00107 
00108     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00109     rp_token_set_derive_key_version(
00110         rp_token_t *token, 
00111         const axutil_env_t *env, 
00112         derive_key_version_t version);
00113 
00114     AXIS2_EXTERN derive_key_version_t AXIS2_CALL
00115     rp_token_get_derive_key_version(
00116         rp_token_t *token, 
00117         const axutil_env_t *env);
00118 
00119     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00120     rp_token_set_inclusion(
00121         rp_token_t *token, 
00122         const axutil_env_t *env, 
00123         axis2_char_t *inclusion);
00124 
00125     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00126     rp_token_get_inclusion(
00127         rp_token_t *token, 
00128         const axutil_env_t *env);
00129 
00130 
00131 #ifdef __cplusplus
00132 }
00133 #endif
00134 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__writer__ops.html0000644000175000017500000016573111172017604026357 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_writer_ops Struct Reference

axiom_xml_writer_ops Struct Reference
[XML writer]

axiom_xml_writer ops Encapsulator struct for ops of axiom_xml_writer More...

#include <axiom_xml_writer.h>

List of all members.

Public Attributes

void(* free )(axiom_xml_writer_t *writer, const axutil_env_t *env)
axis2_status_t(* write_start_element )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)
axis2_status_t(* end_start_element )(axiom_xml_writer_t *writer, const axutil_env_t *env)
axis2_status_t(* write_start_element_with_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)
axis2_status_t(* write_start_element_with_namespace_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)
axis2_status_t(* write_empty_element )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)
axis2_status_t(* write_empty_element_with_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)
axis2_status_t(* write_empty_element_with_namespace_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)
axis2_status_t(* write_end_element )(axiom_xml_writer_t *writer, const axutil_env_t *env)
axis2_status_t(* write_end_document )(axiom_xml_writer_t *writer, const axutil_env_t *env)
axis2_status_t(* write_attribute )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value)
axis2_status_t(* write_attribute_with_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri)
axis2_status_t(* write_attribute_with_namespace_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri, axis2_char_t *prefix)
axis2_status_t(* write_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *namespace_uri)
axis2_status_t(* write_default_namespace )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *namespace_uri)
axis2_status_t(* write_comment )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *value)
axis2_status_t(* write_processing_instruction )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target)
axis2_status_t(* write_processing_instruction_data )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target, axis2_char_t *data)
axis2_status_t(* write_cdata )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *data)
axis2_status_t(* write_dtd )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *dtd)
axis2_status_t(* write_entity_ref )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *name)
axis2_status_t(* write_start_document )(axiom_xml_writer_t *writer, const axutil_env_t *env)
axis2_status_t(* write_start_document_with_version )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version)
axis2_status_t(* write_start_document_with_version_encoding )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version, axis2_char_t *encoding)
axis2_status_t(* write_characters )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text)
axis2_char_t *(* get_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)
axis2_status_t(* set_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *uri)
axis2_status_t(* set_default_prefix )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)
axis2_status_t(* write_encoded )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text, int in_attr)
void *(* get_xml )(axiom_xml_writer_t *writer, const axutil_env_t *env)
unsigned int(* get_xml_size )(axiom_xml_writer_t *writer, const axutil_env_t *env)
int(* get_type )(axiom_xml_writer_t *writer, const axutil_env_t *env)
axis2_status_t(* write_raw )(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *content)
axis2_status_t(* flush )(axiom_xml_writer_t *writer, const axutil_env_t *env)


Detailed Description

axiom_xml_writer ops Encapsulator struct for ops of axiom_xml_writer

Member Data Documentation

Free xml writer

Parameters:
writer pointer to xml_writer struct to be freed
env environment, MUST NOT be NULL.
Returns:
status of the op. AXIS2_SUCCESS on success and AXIS2_FAILURE on error

axis2_status_t( * axiom_xml_writer_ops::write_start_element)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)

Write a start tag to output stream with localname. Internally the writer keeps track of the opened tags

Parameters:
writer pointer to xml writer struct
env environment. MUST NOT be NULL.
localname localname of the tag, May not be NULL.
Returns:
the status of the op, AXIS2_SUCCESS on success AXIS2_FAILURE on error.

write an end tag to the output relying on the internal state of writer to determine the prefix and localname of the element

Parameters:
writer xml_writer struct
env environment, MUST NOT be NULL.
Returns:
status of the op. AXIS2_SUCCESS on success. AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_start_element_with_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)

Write an element tag with localname and namespace uri

Parameters:
writer pointer to xml writer struct
env environment struct
localname localname of the tag, May not be null.
namespace_uri the namespace URI of the the pefix to use.may not be null.
Returns:
status of the op, AXIS2_SUCCESS on success. AXIS2_FAILURE on error

axis2_status_t( * axiom_xml_writer_ops::write_start_element_with_namespace_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)

write a start tag to output

Parameters:
writer pointer to xml_writer struct
environment,MUST NOT be NULL.
localname localname of the tag, May not be null.
namespace_uri namespace to bind the prefix to
prefix the prefix to the tag.May not be NULL.
Returns:
status of the op AXIS2_SUCCESS on success. AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_empty_element)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname)

write an element tag with localname

Parameters:
writer xml_writer
env environment
localname localname
Returns:
status of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_empty_element_with_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri)

write empty_element with localname and namespace uri.

Parameters:
writer xml writer
env environment
localname localname
namespace uri
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_empty_element_with_namespace_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *namespace_uri, axis2_char_t *prefix)

write empty element with namespace uri and prefix

Parameters:
writer xml_writer
env environment
localname localname
namespace_uri namespace uri
prefix prefix
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

write end tag with correct localname prefix resolved internally

Parameters:
writer xml writer
env environment
Returns:
status of the op, AXIS2_SUCCESS on success, AXIS2_FAILURE on failure

write end document

Parameters:
writer xml writer
env environment
Returns:
status of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_attribute)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value)

write attribute with localname and value

Parameters:
writer writer
env environment
localname localname
value text value of attribute
Returns:
status of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_attribute_with_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri)

Parameters:
writer 
env environment
localname 
value text value of attribute
namespace uri namespace uri
Returns:
status code of the op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_attribute_with_namespace_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *localname, axis2_char_t *value, axis2_char_t *namespace_uri, axis2_char_t *prefix)

Parameters:
writer xml_writer
env environment
localname localname
value text value of attribute
namespace uri namespaceuri
prefix prefix

axis2_status_t( * axiom_xml_writer_ops::write_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *namespace_uri)

Parameters:
writer xml_writer
env environment
prefix prefix
namespace uri namespaceuri
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_default_namespace)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *namespace_uri)

Parameters:
writer xml_writer
env environment
namespace uri namespaceuri
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_comment)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *value)

Parameters:
writer xml_writer
env environment
value value
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_processing_instruction)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target)

Parameters:
writer xml_writer
env environment
target pi target
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_processing_instruction_data)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *target, axis2_char_t *data)

Parameters:
writer xml_writer
env environment
target pi target
data pi data
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_cdata)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *data)

Parameters:
writer xml_writer
env environment
data cdata
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_dtd)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *dtd)

Parameters:
writer xml_writer
env environment
dtd dtd
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_entity_ref)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *name)

Parameters:
writer xml_writer
env environment
name name
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

Parameters:
writer xml_writer
env environment
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_start_document_with_version)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version)

Parameters:
writer xml_writer
env environment
version version
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_start_document_with_version_encoding)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *version, axis2_char_t *encoding)

Parameters:
writer xml_writer
env environment
version version
encoding encoding
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_characters)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text)

Parameters:
writer xml_writer
env environment
text text
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_char_t*( * axiom_xml_writer_ops::get_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)

Parameters:
writer xml_writer
env environment
uri uri
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::set_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *prefix, axis2_char_t *uri)

Parameters:
writer xml_writer
env environment
prefix prefix
uri uri
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::set_default_prefix)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *uri)

Parameters:
writer xml_writer
env environment
uri uri
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.

axis2_status_t( * axiom_xml_writer_ops::write_encoded)(axiom_xml_writer_t *writer, const axutil_env_t *env, axis2_char_t *text, int in_attr)

Parameters:
writer xml_writer
env environment
text text
in_attr 
Returns:
status of op AXIS2_SUCCESS on success, AXIS2_FAILURE on error.


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/deprecated.html0000644000175000017500000000732411172017604022274 0ustar00manjulamanjula00000000000000 Axis2/C: Deprecated List

Deprecated List

Member axis2_phase_holder_build_transport_handler_chain
Parameters:
phase_holder pointer to phase holder
env pointer to environment struct
phase pointer to phase, phase holder does not assume the ownership the phase
handlers pointer to array list of handlers, phase holder does not assume the ownership of the list
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

Member axis2_phase_resolver_build_transport_chains
Parameters:
phase_resolver pointer to phase resolver
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

Member axutil_error_set_error_number
this function is not in use, so should be removed.

Member AXIS2_ERROR_FREE
The following macros are no longer useful as we can use the function calls directly. Hence these macros should be removed

Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axiom__soap__fault__text.html0000644000175000017500000004002011172017604026570 0ustar00manjulamanjula00000000000000 Axis2/C: soap fault text

soap fault text
[SOAP]


Functions

AXIS2_EXTERN
axiom_soap_fault_text_t * 
axiom_soap_fault_text_create_with_parent (const axutil_env_t *env, axiom_soap_fault_reason_t *fault)
AXIS2_EXTERN void axiom_soap_fault_text_free (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_text_set_lang (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env, const axis2_char_t *lang)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_text_get_lang (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)
AXIS2_EXTERN
axiom_node_t * 
axiom_soap_fault_text_get_base_node (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axiom_soap_fault_text_set_text (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env, axis2_char_t *value, axis2_char_t *lang)
AXIS2_EXTERN
axis2_char_t * 
axiom_soap_fault_text_get_text (axiom_soap_fault_text_t *fault_text, const axutil_env_t *env)

Function Documentation

AXIS2_EXTERN axiom_soap_fault_text_t* axiom_soap_fault_text_create_with_parent ( const axutil_env_t env,
axiom_soap_fault_reason_t *  fault 
)

creates a soap fault struct

Parameters:
env Environment. MUST NOT be NULL
fault the SOAP fault reason
Returns:
Created SOAP fault text

AXIS2_EXTERN void axiom_soap_fault_text_free ( axiom_soap_fault_text_t *  fault_text,
const axutil_env_t env 
)

Free an axiom_soap_fault_text

Parameters:
fault_text pointer to soap_fault_text struct
env Environment. MUST NOT be NULL
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axiom_node_t* axiom_soap_fault_text_get_base_node ( axiom_soap_fault_text_t *  fault_text,
const axutil_env_t env 
)

Get the base node of the SOAP fault text

Parameters:
fault_text pointer to soap_fault_text struct
env Environment. MUST NOT be NULL
Returns:
the base node of the SOAP fault text

AXIS2_EXTERN axis2_char_t* axiom_soap_fault_text_get_lang ( axiom_soap_fault_text_t *  fault_text,
const axutil_env_t env 
)

Get the lang of the SOAP fault

Parameters:
fault_text pointer to soap_fault_text struct
env Environment. MUST NOT be NULL
Returns:
the lang of the SOAP fault

AXIS2_EXTERN axis2_char_t* axiom_soap_fault_text_get_text ( axiom_soap_fault_text_t *  fault_text,
const axutil_env_t env 
)

get the SOAP fault text

Parameters:
fault_text pointer to soap_fault_text struct
env Environment. MUST NOT be NULL
Returns:
the Text of the SOAP fault

AXIS2_EXTERN axis2_status_t axiom_soap_fault_text_set_lang ( axiom_soap_fault_text_t *  fault_text,
const axutil_env_t env,
const axis2_char_t *  lang 
)

Set the lang of the SOAP fault text

Parameters:
fault_text pointer to soap_fault_text struct
env Environment. MUST NOT be NULL
lang the string to be set
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axiom_soap_fault_text_set_text ( axiom_soap_fault_text_t *  fault_text,
const axutil_env_t env,
axis2_char_t *  value,
axis2_char_t *  lang 
)

Set the SOAP fault text

Parameters:
fault_text pointer to soap_fault_text struct
env Environment. MUST NOT be NULL
value the text value
lang string to be compared
Returns:
satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__operator_8h-source.html0000644000175000017500000002253111172017604025414 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_operator.h Source File

neethi_operator.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_OPERATOR_H
00020 #define NEETHI_OPERATOR_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_includes.h>
00030 
00031 #ifdef __cplusplus
00032 extern "C"
00033 {
00034 #endif
00035 
00036     typedef enum
00037     {
00038         OPERATOR_TYPE_POLICY = 0,
00039         OPERATOR_TYPE_ALL,
00040         OPERATOR_TYPE_EXACTLYONE,
00041         OPERATOR_TYPE_REFERENCE,
00042         OPERATOR_TYPE_ASSERTION,
00043         OPERATOR_TYPE_UNKNOWN
00044     } neethi_operator_type_t;
00045 
00046     typedef struct neethi_operator_t neethi_operator_t;
00047 
00048     AXIS2_EXTERN neethi_operator_t *AXIS2_CALL
00049     neethi_operator_create(
00050         const axutil_env_t * env);
00051 
00052     AXIS2_EXTERN void AXIS2_CALL
00053     neethi_operator_free(
00054         neethi_operator_t * neethi_operator,
00055         const axutil_env_t * env);
00056 
00057     AXIS2_EXTERN neethi_operator_type_t AXIS2_CALL
00058     neethi_operator_get_type(
00059         neethi_operator_t * neethi_operator,
00060         const axutil_env_t * env);
00061 
00062     AXIS2_EXTERN void *AXIS2_CALL
00063     neethi_operator_get_value(
00064         neethi_operator_t * neethi_operator,
00065         const axutil_env_t * env);
00066 
00067     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00068     neethi_operator_set_value(
00069         neethi_operator_t * neethi_operator,
00070         const axutil_env_t * env,
00071         void *value,
00072         neethi_operator_type_t type);
00073 
00074     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00075     neethi_operator_serialize(
00076         neethi_operator_t * neethi_operator,
00077         const axutil_env_t * env,
00078         axiom_node_t * parent);
00079 
00080     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00081     neethi_operator_set_value_null(
00082         neethi_operator_t * neethi_operator,
00083         const axutil_env_t * env);
00084 
00085     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00086     neethi_operator_increment_ref(
00087         neethi_operator_t * neethi_operator,
00088         const axutil_env_t * env);
00089 
00091 #ifdef __cplusplus
00092 }
00093 #endif
00094 
00095 #endif                          /* NEETHI_OPERATOR_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__log__default_8h-source.html0000644000175000017500000001472311172017604026243 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_log_default.h Source File

axutil_log_default.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_LOG_DEFAULT_H
00020 #define AXUTIL_LOG_DEFAULT_H
00021 
00022 #include <stdlib.h>
00023 #include <stdarg.h>
00024 #include <axutil_log.h>
00025 #include <axutil_allocator.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038 #define AXIS2_LEN_VALUE 6000
00039 
00045     AXIS2_EXTERN axutil_log_t *AXIS2_CALL
00046     axutil_log_create(
00047         axutil_allocator_t * allocator,
00048         axutil_log_ops_t * ops,
00049         const axis2_char_t * stream_name);
00050     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00051     axutil_log_impl_get_time_str(
00052         void);
00053 
00054     AXIS2_EXTERN axutil_log_t *AXIS2_CALL
00055     axutil_log_create_default(
00056         axutil_allocator_t * allocator);
00057 
00060 #ifdef __cplusplus
00061 }
00062 #endif
00063 
00064 #endif                          /* AXIS2_LOG_DEFAULT_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__msg.html0000644000175000017500000013571511172017604023610 0ustar00manjulamanjula00000000000000 Axis2/C: message

message
[description]


Files

file  axis2_msg.h

Defines

#define AXIS2_MSG_IN   "in"
#define AXIS2_MSG_OUT   "out"
#define AXIS2_MSG_IN_FAULT   "InFaultMessage"
#define AXIS2_MSG_OUT_FAULT   "OutFaultMessage"

Typedefs

typedef struct axis2_msg axis2_msg_t

Functions

AXIS2_EXTERN
axis2_msg_t
axis2_msg_create (const axutil_env_t *env)
AXIS2_EXTERN void axis2_msg_free (axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_add_param (axis2_msg_t *msg, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_msg_get_param (const axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_get_all_params (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_msg_is_param_locked (axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_parent (axis2_msg_t *msg, const axutil_env_t *env, axis2_op_t *op)
AXIS2_EXTERN axis2_op_taxis2_msg_get_parent (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_msg_get_flow (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_flow (axis2_msg_t *msg, const axutil_env_t *env, axutil_array_list_t *flow)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_get_direction (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_direction (axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *direction)
AXIS2_EXTERN const
axutil_qname_t * 
axis2_msg_get_element_qname (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_element_qname (axis2_msg_t *msg, const axutil_env_t *env, const axutil_qname_t *element_qname)
AXIS2_EXTERN const
axis2_char_t * 
axis2_msg_get_name (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_set_name (axis2_msg_t *msg, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_desc_t
axis2_msg_get_base (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_msg_get_param_container (const axis2_msg_t *msg, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_msg_increment_ref (axis2_msg_t *msg, const axutil_env_t *env)

Detailed Description

message represents a message in a WSDL. It captures SOAP headers related to a given message, the direction as well as the phases to be invoked along the flow. Based on the message direction, there could be only one flow associated with a message.

Define Documentation

#define AXIS2_MSG_IN   "in"

Message of IN flow

#define AXIS2_MSG_IN_FAULT   "InFaultMessage"

Message of IN FAULT flow

#define AXIS2_MSG_OUT   "out"

Message of OUT flow

#define AXIS2_MSG_OUT_FAULT   "OutFaultMessage"

Message of OUT FAULT flow


Typedef Documentation

typedef struct axis2_msg axis2_msg_t

Type name for struct axis2_msg


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_msg_add_param ( axis2_msg_t msg,
const axutil_env_t env,
axutil_param_t *  param 
)

Adds a parameter.

Parameters:
msg pointer to message
env pointer to environment struct
param pointer to parameter, message assumes ownership of parameter
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_msg_t* axis2_msg_create ( const axutil_env_t env  ) 

Creates message struct instance.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created message

AXIS2_EXTERN void axis2_msg_free ( axis2_msg_t msg,
const axutil_env_t env 
)

Frees message.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_array_list_t* axis2_msg_get_all_params ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets all parameters stored in message.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
pointer to list of parameters, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_desc_t* axis2_msg_get_base ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets base description.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
pointer to base description struct

AXIS2_EXTERN const axis2_char_t* axis2_msg_get_direction ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets direction of message.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
direction string

AXIS2_EXTERN const axutil_qname_t* axis2_msg_get_element_qname ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets QName representing message.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
pointer to QName, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_array_list_t* axis2_msg_get_flow ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets flow of execution associated with the message.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
pointer to array list containing the list of phases representing the flow

AXIS2_EXTERN const axis2_char_t* axis2_msg_get_name ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets message name.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
message name string.

AXIS2_EXTERN axutil_param_t* axis2_msg_get_param ( const axis2_msg_t msg,
const axutil_env_t env,
const axis2_char_t *  name 
)

Gets the named parameter.

Parameters:
msg pointer to message
env pointer to environment struct
name parameter name string
Returns:
pointer to parameter corresponding to the same name, returns a reference, not a cloned copy

AXIS2_EXTERN axutil_param_container_t* axis2_msg_get_param_container ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets container of parameters belonging to message.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
returns container of parameters
See also:
Parameter Container

AXIS2_EXTERN axis2_op_t* axis2_msg_get_parent ( const axis2_msg_t msg,
const axutil_env_t env 
)

Gets parent. Parent of a message is of type operation.

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
pointer to parent operation, returns a reference, not a cloned copy

AXIS2_EXTERN axis2_status_t axis2_msg_increment_ref ( axis2_msg_t msg,
const axutil_env_t env 
)

Increments the reference count to this oject

Parameters:
msg pointer to message
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axis2_msg_is_param_locked ( axis2_msg_t msg,
const axutil_env_t env,
const axis2_char_t *  param_name 
)

Checks if the named parameter is locked.

Parameters:
msg pointer to message
env pointer to environment struct
param_name parameter name string
Returns:
AXIS2_TRUE if the parameter is locked, else AXIS2_FALSE

AXIS2_EXTERN axis2_status_t axis2_msg_set_direction ( axis2_msg_t msg,
const axutil_env_t env,
const axis2_char_t *  direction 
)

Sets direction of message.

Parameters:
msg pointer to message
env pointer to environment struct
direction pointer to direction
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_set_element_qname ( axis2_msg_t msg,
const axutil_env_t env,
const axutil_qname_t *  element_qname 
)

Sets QName representing message.

Parameters:
msg pointer to message
env pointer to environment struct
element_qname pointer to QName representing message, this function creates a clone of QName
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_set_flow ( axis2_msg_t msg,
const axutil_env_t env,
axutil_array_list_t flow 
)

Sets flow of execution associated with the message.

Parameters:
msg pointer to message
env pointer to environment struct
flow pointer to array list of phases representing the flow, message assumes ownership of flow
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_set_name ( axis2_msg_t msg,
const axutil_env_t env,
const axis2_char_t *  name 
)

Sets message name.

Parameters:
msg pointer to message
env pointer to environment struct
name message name string
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_msg_set_parent ( axis2_msg_t msg,
const axutil_env_t env,
axis2_op_t op 
)

Sets parent. Parent of a message is of type operation.

Parameters:
msg pointer to message
env pointer to environment struct
op pointer to parent operation, message does not assume ownership of parent
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__issued__token_8h-source.html0000644000175000017500000003110711172017604025560 0ustar00manjulamanjula00000000000000 Axis2/C: rp_issued_token.h Source File

rp_issued_token.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ISSUED_TOKEN_H
00019 #define RP_ISSUED_TOKEN_H
00020 
00026 #include <rp_includes.h>
00027 #include <axutil_utils.h>
00028 #include <neethi_operator.h>
00029 #include <neethi_policy.h>
00030 #include <neethi_exactlyone.h>
00031 #include <neethi_all.h>
00032 #include <neethi_engine.h>
00033 
00034 #ifdef __cplusplus
00035 extern "C"
00036 {
00037 #endif
00038         
00039         typedef struct rp_issued_token rp_issued_token_t;
00040         
00041         AXIS2_EXTERN rp_issued_token_t * AXIS2_CALL
00042         rp_issued_token_create(
00043                         const axutil_env_t *env);
00044         
00045         AXIS2_EXTERN void AXIS2_CALL
00046         rp_issued_token_free(
00047                         rp_issued_token_t *issued_token,
00048                         const axutil_env_t *env);
00049         
00050         AXIS2_EXTERN axis2_char_t * AXIS2_CALL
00051         rp_issued_token_get_inclusion(
00052                         rp_issued_token_t *issued_token,
00053                         const axutil_env_t *env);
00054         
00055         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00056         rp_issued_token_set_inclusion(
00057                         rp_issued_token_t *issued_token,
00058                         const axutil_env_t *env,
00059                         axis2_char_t *inclusion);
00060         
00061         AXIS2_EXTERN axiom_node_t * AXIS2_CALL
00062         rp_issued_token_get_issuer_epr(
00063                         rp_issued_token_t *issued_token,
00064                         const axutil_env_t *env);
00065         
00066         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067         rp_issued_token_set_issuer_epr(
00068                         rp_issued_token_t *issued_token,
00069                         const axutil_env_t *env,
00070                         axiom_node_t *issuer_epr);
00071         
00072         AXIS2_EXTERN axiom_node_t * AXIS2_CALL
00073         rp_issued_token_get_requested_sec_token_template(
00074                         rp_issued_token_t *issued_token,
00075                         const axutil_env_t *env);
00076         
00077         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00078         rp_issued_token_set_requested_sec_token_template(
00079                         rp_issued_token_t *issued_token,
00080                         const axutil_env_t *env,
00081                         axiom_node_t *req_sec_token_template);
00082         
00083         AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00084         rp_issued_token_get_derivedkeys(
00085                         rp_issued_token_t *issued_token,
00086                         const axutil_env_t *env);
00087         
00088         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00089         rp_issued_token_set_derivedkeys(
00090                         rp_issued_token_t *issued_token,
00091                         const axutil_env_t *env,
00092                         axis2_bool_t derivedkeys);
00093         
00094         AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00095         rp_issued_token_get_require_external_reference(
00096                         rp_issued_token_t *issued_token,
00097                         const axutil_env_t *env);
00098         
00099         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00100         rp_issued_token_set_require_exernal_reference(
00101                         rp_issued_token_t *issued_token,
00102                         const axutil_env_t *env,
00103                         axis2_bool_t require_external_reference);
00104         
00105         AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00106         rp_issued_token_get_require_internal_reference(
00107                         rp_issued_token_t *issued_token,
00108                         const axutil_env_t *env);
00109         
00110         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111         rp_issued_token_set_require_internal_reference(
00112                         rp_issued_token_t *issued_token,
00113                         const axutil_env_t *env,
00114                         axis2_bool_t require_internal_reference);
00115         
00116         AXIS2_EXTERN axis2_status_t AXIS2_CALL
00117         rp_issued_token_increment_ref(
00118                         rp_issued_token_t *issued_token,
00119                         const axutil_env_t *env);
00120         
00121 #ifdef __cplusplus
00122 }
00123 #endif
00124 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__xml__reader_8h.html0000644000175000017500000003713211172017604024410 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xml_reader.h File Reference

axiom_xml_reader.h File Reference

this is the parser abstraction layer for axis2 More...

#include <axutil_env.h>
#include <axutil_utils.h>
#include <axiom_defines.h>

Go to the source code of this file.

Classes

struct  axiom_xml_reader_ops
 AXIOM_XML_READER ops Encapsulator struct for ops of axiom_xml_reader. More...
struct  axiom_xml_reader
 axiom_xml_reader struct Axis2 OM pull_parser More...

Typedefs

typedef struct
axiom_xml_reader_ops 
axiom_xml_reader_ops_t
typedef struct
axiom_xml_reader 
axiom_xml_reader_t

Enumerations

enum  axiom_xml_reader_event_types {
  AXIOM_XML_READER_START_DOCUMENT = 0, AXIOM_XML_READER_START_ELEMENT, AXIOM_XML_READER_END_ELEMENT, AXIOM_XML_READER_SPACE,
  AXIOM_XML_READER_EMPTY_ELEMENT, AXIOM_XML_READER_CHARACTER, AXIOM_XML_READER_ENTITY_REFERENCE, AXIOM_XML_READER_COMMENT,
  AXIOM_XML_READER_PROCESSING_INSTRUCTION, AXIOM_XML_READER_CDATA, AXIOM_XML_READER_DOCUMENT_TYPE
}

Functions

AXIS2_EXTERN
axiom_xml_reader_t
axiom_xml_reader_create_for_file (const axutil_env_t *env, char *filename, const axis2_char_t *encoding)
AXIS2_EXTERN
axiom_xml_reader_t
axiom_xml_reader_create_for_io (const axutil_env_t *env, AXIS2_READ_INPUT_CALLBACK, AXIS2_CLOSE_INPUT_CALLBACK, void *ctx, const axis2_char_t *encoding)
AXIS2_EXTERN
axiom_xml_reader_t
axiom_xml_reader_create_for_memory (const axutil_env_t *env, void *container, int size, const axis2_char_t *encoding, int type)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_reader_init (void)
AXIS2_EXTERN
axis2_status_t 
axiom_xml_reader_cleanup (void)
AXIS2_EXTERN int axiom_xml_reader_next (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN void axiom_xml_reader_free (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN int axiom_xml_reader_get_attribute_count (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_name_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_prefix_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_value_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_attribute_namespace_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_value (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN int axiom_xml_reader_get_namespace_count (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_uri_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_prefix_by_number (axiom_xml_reader_t *parser, const axutil_env_t *env, int i)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_prefix (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_name (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_pi_target (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_pi_data (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_dtd (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN void axiom_xml_reader_xml_free (axiom_xml_reader_t *parser, const axutil_env_t *env, void *data)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_char_set_encoding (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_uri (axiom_xml_reader_t *parser, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axiom_xml_reader_get_namespace_uri_by_prefix (axiom_xml_reader_t *parser, const axutil_env_t *env, axis2_char_t *prefix)


Detailed Description

this is the parser abstraction layer for axis2


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__assertion_8h-source.html0000644000175000017500000004410011172017604025564 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_assertion.h Source File

neethi_assertion.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_ASSERTION_H
00020 #define NEETHI_ASSERTION_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_includes.h>
00030 #include <neethi_operator.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     typedef enum
00038     {
00039         ASSERTION_TYPE_TRANSPORT_BINDING = 0,
00040         ASSERTION_TYPE_TRANSPORT_TOKEN,
00041         ASSERTION_TYPE_ALGORITHM_SUITE,
00042         ASSERTION_TYPE_INCLUDE_TIMESTAMP,
00043         ASSERTION_TYPE_LAYOUT,
00044         ASSERTION_TYPE_SUPPORTING_TOKENS,
00045         ASSERTION_TYPE_HTTPS_TOKEN,
00046         ASSERTION_TYPE_WSS_USERNAME_TOKEN_10,
00047         ASSERTION_TYPE_WSS_USERNAME_TOKEN_11,
00048         ASSERTION_TYPE_USERNAME_TOKEN,
00049         ASSERTION_TYPE_X509_TOKEN,
00050         ASSERTION_TYPE_SAML_TOKEN,
00051             ASSERTION_TYPE_ISSUED_TOKEN,
00052         ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN,
00053         ASSERTION_TYPE_REQUIRE_EXTERNAL_URI,
00054         ASSERTION_TYPE_SC10_SECURITY_CONTEXT_TOKEN,
00055         ASSERTION_TYPE_SC13_SECURITY_CONTEXT_TOKEN,
00056         ASSERTION_TYPE_ISSUER,
00057         ASSERTION_TYPE_BOOTSTRAP_POLICY,
00058         ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER,
00059         ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL,
00060         ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI,
00061         ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN,
00062         ASSERTION_TYPE_WSS10,
00063         ASSERTION_TYPE_WSS11,
00064         ASSERTION_TYPE_TRUST10,
00065         ASSERTION_TYPE_RAMPART_CONFIG,
00066         ASSERTION_TYPE_ASSYMMETRIC_BINDING,
00067         ASSERTION_TYPE_SYMMETRIC_BINDING,
00068         ASSERTION_TYPE_INITIATOR_TOKEN,
00069         ASSERTION_TYPE_RECIPIENT_TOKEN,
00070         ASSERTION_TYPE_PROTECTION_TOKEN,
00071         ASSERTION_TYPE_ENCRYPTION_TOKEN,
00072         ASSERTION_TYPE_SIGNATURE_TOKEN,
00073         ASSERTION_TYPE_ENCRYPT_BEFORE_SIGNING,
00074         ASSERTION_TYPE_SIGN_BEFORE_ENCRYPTING,
00075         ASSERTION_TYPE_ENCRYPT_SIGNATURE,
00076         ASSERTION_TYPE_PROTECT_TOKENS,
00077         ASSERTION_TYPE_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY,
00078         ASSERTION_TYPE_REQUIRE_KEY_IDENTIFIRE_REFERENCE,
00079         ASSERTION_TYPE_REQUIRE_ISSUER_SERIAL_REFERENCE,
00080         ASSERTION_TYPE_REQUIRE_EMBEDDED_TOKEN_REFERENCE,
00081         ASSERTION_TYPE_REQUIRE_THUMBPRINT_REFERENCE,
00082         ASSERTION_TYPE_REQUIRE_EXTERNAL_REFERENCE,
00083             ASSERTION_TYPE_REQUIRE_INTERNAL_REFERENCE,
00084         ASSERTION_TYPE_MUST_SUPPORT_REF_THUMBPRINT,
00085         ASSERTION_TYPE_MUST_SUPPORT_REF_ENCRYPTED_KEY,
00086         ASSERTION_TYPE_REQUIRE_SIGNATURE_CONFIRMATION,
00087         ASSERTION_TYPE_WSS_X509_V1_TOKEN_10,
00088         ASSERTION_TYPE_WSS_X509_V3_TOKEN_10,
00089         ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V10,
00090             ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V11,
00091             ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V10,
00092             ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V11,
00093             ASSERTION_TYPE_WSS_SAML_V20_TOKEN_V11,
00094         ASSERTION_TYPE_SIGNED_ENCRYPTED_PARTS,
00095         ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10,
00096         ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC13,
00097         ASSERTION_TYPE_MUST_SUPPORT_CLIENT_CHALLENGE,
00098         ASSERTION_TYPE_MUST_SUPPORT_SERVER_CHALLENGE,
00099         ASSERTION_TYPE_REQUIRE_CLIENT_ENTROPY,
00100         ASSERTION_TYPE_REQUIRE_SERVER_ENTROPHY,
00101         ASSERTION_TYPE_MUST_SUPPORT_ISSUED_TOKENS,
00102         ASSERTION_TYPE_OPTIMIZED_MIME_SERIALIZATION,
00103         ASSERTION_TYPE_RM_ASSERTION,
00104         ASSERTION_TYPE_UNKNOWN
00105     } neethi_assertion_type_t;
00106 
00107     typedef struct neethi_assertion_t neethi_assertion_t;
00108 
00109     AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL
00110     neethi_assertion_create(
00111         const axutil_env_t * env);
00112 
00113     neethi_assertion_t *AXIS2_CALL
00114     neethi_assertion_create_with_args(
00115         const axutil_env_t * env,
00116         AXIS2_FREE_VOID_ARG free_func,
00117         void *value,
00118         neethi_assertion_type_t type);
00119 
00120     AXIS2_EXTERN void AXIS2_CALL
00121     neethi_assertion_free(
00122         neethi_assertion_t * neethi_assertion,
00123         const axutil_env_t * env);
00124 
00125     AXIS2_EXTERN neethi_assertion_type_t AXIS2_CALL
00126     neethi_assertion_get_type(
00127         neethi_assertion_t * neethi_assertion,
00128         const axutil_env_t * env);
00129 
00130     AXIS2_EXTERN void *AXIS2_CALL
00131     neethi_assertion_get_value(
00132         neethi_assertion_t * neethi_assertion,
00133         const axutil_env_t * env);
00134 
00135     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00136     neethi_assertion_set_value(
00137         neethi_assertion_t * neethi_assertion,
00138         const axutil_env_t * env,
00139         void *value,
00140         neethi_assertion_type_t type);
00141 
00142     AXIS2_EXTERN axiom_element_t *AXIS2_CALL
00143     neethi_assertion_get_element(
00144         neethi_assertion_t * neethi_assertion,
00145         const axutil_env_t * env);
00146 
00147     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00148     neethi_assertion_set_element(
00149         neethi_assertion_t * neethi_assertion,
00150         const axutil_env_t * env,
00151         axiom_element_t * element);
00152 
00153     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00154     neethi_assertion_get_is_optional(
00155         neethi_assertion_t * neethi_assertion,
00156         const axutil_env_t * env);
00157 
00158     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159     neethi_assertion_set_is_optional(
00160         neethi_assertion_t * neethi_assertion,
00161         const axutil_env_t * env,
00162         axis2_bool_t is_optional);
00163 
00164     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00165     neethi_assertion_get_policy_components(
00166         neethi_assertion_t * neethi_assertion,
00167         const axutil_env_t * env);
00168 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     neethi_assertion_add_policy_components(
00171         neethi_assertion_t * neethi_assertion,
00172         axutil_array_list_t * arraylist,
00173         const axutil_env_t * env);
00174 
00175     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00176     neethi_assertion_add_operator(
00177         neethi_assertion_t * neethi_assertion,
00178         const axutil_env_t * env,
00179         neethi_operator_t * op);
00180 
00181     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00182     neethi_assertion_is_empty(
00183         neethi_assertion_t * neethi_assertion,
00184         const axutil_env_t * env);
00185 
00186     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00187     neethi_assertion_get_node(
00188         neethi_assertion_t * neethi_assertion,
00189         const axutil_env_t * env);
00190 
00191     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00192     neethi_assertion_set_node(
00193         neethi_assertion_t * neethi_assertion,
00194         const axutil_env_t * env,
00195         axiom_node_t * node);
00196 
00197     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00198     neethi_assertion_serialize(
00199         neethi_assertion_t * assertion,
00200         axiom_node_t * parent,
00201         const axutil_env_t * env);
00202 
00204 #ifdef __cplusplus
00205 }
00206 #endif
00207 
00208 #endif                          /* NEETHI_ASSERTION_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__any__content__type.html0000644000175000017500000003543011172017604026673 0ustar00manjulamanjula00000000000000 Axis2/C: any content type

any content type
[WS-Addressing]


Files

file  axis2_any_content_type.h

Typedefs

typedef struct
axis2_any_content_type 
axis2_any_content_type_t

Functions

AXIS2_EXTERN
axis2_any_content_type_t
axis2_any_content_type_create (const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_any_content_type_add_value (axis2_any_content_type_t *any_content_type, const axutil_env_t *env, const axutil_qname_t *qname, const axis2_char_t *value)
AXIS2_EXTERN const
axis2_char_t * 
axis2_any_content_type_get_value (const axis2_any_content_type_t *any_content_type, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axutil_hash_t
axis2_any_content_type_get_value_map (const axis2_any_content_type_t *any_content_type, const axutil_env_t *env)
AXIS2_EXTERN void axis2_any_content_type_free (axis2_any_content_type_t *any_content_type, const axutil_env_t *env)

Detailed Description

any content type acts as a container for any type reference parameters that could be associated with an endpoint reference. The values in the map are stored in string format, with QNames as key values.

Typedef Documentation

typedef struct axis2_any_content_type axis2_any_content_type_t

Type name for axis2_any_content_type


Function Documentation

AXIS2_EXTERN axis2_status_t axis2_any_content_type_add_value ( axis2_any_content_type_t any_content_type,
const axutil_env_t env,
const axutil_qname_t *  qname,
const axis2_char_t *  value 
)

Adds given value to content value map with given QName.

Parameters:
any_content_type pointer to any content type struct
env pointer to environment struct
qname pointer to QName to be used as key
value value string to be added
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN axis2_any_content_type_t* axis2_any_content_type_create ( const axutil_env_t env  ) 

Creates an instance of any content type struct.

Parameters:
env pointer to environment struct
Returns:
pointer to the newly created any content type instance

AXIS2_EXTERN void axis2_any_content_type_free ( axis2_any_content_type_t any_content_type,
const axutil_env_t env 
)

Frees any content type struct.

Parameters:
any_content_type pointer to any content type struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success else AXIS2_FAILURE

AXIS2_EXTERN const axis2_char_t* axis2_any_content_type_get_value ( const axis2_any_content_type_t any_content_type,
const axutil_env_t env,
const axutil_qname_t *  qname 
)

Gets the value corresponding to the given QName from the content value map.

Parameters:
any_content_type pointer to any content type struct
env pointer to environment struct
qname pointer to QName of the corresponding value to be retrieved
Returns:
value string if present, else returns NULL

AXIS2_EXTERN axutil_hash_t* axis2_any_content_type_get_value_map ( const axis2_any_content_type_t any_content_type,
const axutil_env_t env 
)

Gets the map of all values.

Parameters:
any_content_type pointer to any content type struct
env pointer to environment struct
Returns:
pointer to hash table containing all values, returns a reference, not a cloned copy


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__desc_8h-source.html0000644000175000017500000003554311172017604024260 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_desc.h Source File

axis2_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003 * Licensed to the Apache Software Foundation (ASF) under one or more
00004 * contributor license agreements.  See the NOTICE file distributed with
00005 * this work for additional information regarding copyright ownership.
00006 * The ASF licenses this file to You under the Apache License, Version 2.0
00007 * (the "License"); you may not use this file except in compliance with
00008 * the License.  You may obtain a copy of the License at
00009 *
00010 *      http://www.apache.org/licenses/LICENSE-2.0
00011 *
00012 * Unless required by applicable law or agreed to in writing, software
00013 * distributed under the License is distributed on an "AS IS" BASIS,
00014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015 * See the License for the specific language governing permissions and
00016 * limitations under the License.
00017 */
00018 
00019 #ifndef AXIS2_DESC_H
00020 #define AXIS2_DESC_H
00021 
00034 #include <axutil_param_container.h>
00035 #include <axutil_hash.h>
00036 #include <axis2_description.h>
00037 
00038 #ifdef __cplusplus
00039 extern "C"
00040 {
00041 #endif
00042 
00044     typedef struct axis2_desc axis2_desc_t;
00045 
00046     struct axis2_policy_include;
00047     struct axis2_msg;
00048 
00054     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00055     axis2_desc_create(
00056         const axutil_env_t * env);
00057 
00064     AXIS2_EXTERN void AXIS2_CALL
00065     axis2_desc_free(
00066         axis2_desc_t * desc,
00067         const axutil_env_t * env);
00068 
00076     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00077     axis2_desc_add_param(
00078         axis2_desc_t * desc,
00079         const axutil_env_t * env,
00080         axutil_param_t * param);
00081 
00089     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00090     axis2_desc_get_param(
00091         const axis2_desc_t * desc,
00092         const axutil_env_t * env,
00093         const axis2_char_t * param_name);
00094 
00101     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00102     axis2_desc_get_all_params(
00103         const axis2_desc_t * desc,
00104         const axutil_env_t * env);
00105 
00113     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00114     axis2_desc_is_param_locked(
00115         const axis2_desc_t * desc,
00116         const axutil_env_t * env,
00117         const axis2_char_t * param_name);
00118 
00130     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00131     axis2_desc_add_child(
00132         const axis2_desc_t * desc,
00133         const axutil_env_t * env,
00134         const axis2_char_t * key,
00135         const struct axis2_msg *child);
00136 
00143     AXIS2_EXTERN axutil_hash_t *AXIS2_CALL
00144     axis2_desc_get_all_children(
00145         const axis2_desc_t * desc,
00146         const axutil_env_t * env);
00147 
00156     AXIS2_EXTERN void *AXIS2_CALL
00157     axis2_desc_get_child(
00158         const axis2_desc_t * desc,
00159         const axutil_env_t * env,
00160         const axis2_char_t * key);
00161 
00169     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00170     axis2_desc_remove_child(
00171         const axis2_desc_t * desc,
00172         const axutil_env_t * env,
00173         const axis2_char_t * key);
00174 
00182     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00183     axis2_desc_set_parent(
00184         axis2_desc_t * desc,
00185         const axutil_env_t * env,
00186         axis2_desc_t * parent);
00187 
00194     AXIS2_EXTERN axis2_desc_t *AXIS2_CALL
00195     axis2_desc_get_parent(
00196         const axis2_desc_t * desc,
00197         const axutil_env_t * env);
00198 
00206     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00207     axis2_desc_set_policy_include(
00208         axis2_desc_t * desc,
00209         const axutil_env_t * env,
00210         struct axis2_policy_include *policy_include);
00211 
00219     AXIS2_EXTERN struct axis2_policy_include *AXIS2_CALL
00220     axis2_desc_get_policy_include(
00221         axis2_desc_t * desc,
00222         const axutil_env_t * env);
00223 
00225 #ifdef __cplusplus
00226 }
00227 #endif
00228 #endif                          /* AXIS2_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__all_8h-source.html0000644000175000017500000002104111172017604024324 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_all.h Source File

neethi_all.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_ALL_H
00020 #define NEETHI_ALL_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_operator.h>
00030 #include <neethi_includes.h>
00031 
00032 #ifdef __cplusplus
00033 extern "C"
00034 {
00035 #endif
00036 
00037     typedef struct neethi_all_t neethi_all_t;
00038 
00039     AXIS2_EXTERN neethi_all_t *AXIS2_CALL
00040     neethi_all_create(
00041         const axutil_env_t * env);
00042 
00043     AXIS2_EXTERN void AXIS2_CALL
00044     neethi_all_free(
00045         neethi_all_t * neethi_all,
00046         const axutil_env_t * env);
00047 
00048     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00049     neethi_all_get_policy_components(
00050         neethi_all_t * neethi_all,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00054     neethi_all_add_policy_components(
00055         neethi_all_t * all,
00056         axutil_array_list_t * arraylist,
00057         const axutil_env_t * env);
00058 
00059     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00060     neethi_all_add_operator(
00061         neethi_all_t * neethi_all,
00062         const axutil_env_t * env,
00063         neethi_operator_t * op);
00064 
00065     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00066     neethi_all_is_empty(
00067         neethi_all_t * all,
00068         const axutil_env_t * env);
00069 
00070     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00071     neethi_all_serialize(
00072         neethi_all_t * neethi_all,
00073         axiom_node_t * parent,
00074         const axutil_env_t * env);
00075 
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080 
00081 #endif                          /* NEETHI_ALL_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xpath__context.html0000644000175000017500000002767111172017604026033 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_xpath_context Struct Reference

axiom_xpath_context Struct Reference
[api]

#include <axiom_xpath.h>

List of all members.

Public Attributes

const axutil_env_tenv
axutil_hash_tnamespaces
axutil_hash_tfunctions
axiom_node_t * root_node
axiom_node_t * node
axiom_attribute_t * attribute
axiom_namespace_t * ns
int position
int size
axiom_xpath_expression_texpr
axis2_bool_t streaming
axutil_stack_t * stack


Detailed Description

XPath context

Member Data Documentation

Root node

Context node

axiom_attribute_t* axiom_xpath_context::attribute

Context attribute

axiom_namespace_t* axiom_xpath_context::ns

Context attribute

Context position

Context size *Does not work location paths due to optimizations

Streaming

axutil_stack_t* axiom_xpath_context::stack

Stack of processed items


The documentation for this struct was generated from the following file:
Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/rp__symmetric__asymmetric__binding__commons_8h-source.html0000644000175000017500000002642511172017604033067 0ustar00manjulamanjula00000000000000 Axis2/C: rp_symmetric_asymmetric_binding_commons.h Source File

rp_symmetric_asymmetric_binding_commons.h

00001 
00002 /*
00003  * Copyright 2004,2005 The Apache Software Foundation.
00004  *
00005  * Licensed under the Apache License, Version 2.0 (the "License");
00006  * you may not use this file except in compliance with the License.
00007  * You may obtain a copy of the License at
00008  *
00009  *      http://www.apache.org/licenses/LICENSE-2.0
00010  *
00011  * Unless required by applicable law or agreed to in writing, software
00012  * distributed under the License is distributed on an "AS IS" BASIS,
00013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00014  * See the License for the specific language governing permissions and
00015  * limitations under the License.
00016  */
00017 
00018 #ifndef RP_ASSYMMETRIC_SYMMETRIC_BINDING_COMMONS_H
00019 #define RP_ASSYMMETRIC_SYMMETRIC_BINDING_COMMONS_H
00020 
00026 #include <rp_includes.h>
00027 #include <rp_binding_commons.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00034     typedef struct rp_symmetric_asymmetric_binding_commons_t
00035                 rp_symmetric_asymmetric_binding_commons_t;
00036 
00037     AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL
00038     rp_symmetric_asymmetric_binding_commons_create(
00039         const axutil_env_t * env);
00040 
00041     AXIS2_EXTERN void AXIS2_CALL
00042     rp_symmetric_asymmetric_binding_commons_free(
00043         rp_symmetric_asymmetric_binding_commons_t *
00044         symmetric_asymmetric_binding_commons,
00045         const axutil_env_t * env);
00046 
00047     AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL
00048     rp_symmetric_asymmetric_binding_commons_get_binding_commons(
00049         rp_symmetric_asymmetric_binding_commons_t *
00050         symmetric_asymmetric_binding_commons,
00051         const axutil_env_t * env);
00052 
00053     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00054     rp_symmetric_asymmetric_binding_commons_set_binding_commons(
00055         rp_symmetric_asymmetric_binding_commons_t *
00056         symmetric_asymmetric_binding_commons,
00057         const axutil_env_t * env,
00058         rp_binding_commons_t * binding_commons);
00059 
00060     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00061     rp_symmetric_asymmetric_binding_commons_get_signature_protection(
00062         rp_symmetric_asymmetric_binding_commons_t *
00063         symmetric_asymmetric_binding_commons,
00064         const axutil_env_t * env);
00065 
00066     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00067     rp_symmetric_asymmetric_binding_commons_set_signature_protection(
00068         rp_symmetric_asymmetric_binding_commons_t *
00069         symmetric_asymmetric_binding_commons,
00070         const axutil_env_t * env,
00071         axis2_bool_t signature_protection);
00072 
00073     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00074     rp_symmetric_asymmetric_binding_commons_get_token_protection(
00075         rp_symmetric_asymmetric_binding_commons_t *
00076         symmetric_asymmetric_binding_commons,
00077         const axutil_env_t * env);
00078 
00079     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00080     rp_symmetric_asymmetric_binding_commons_set_token_protection(
00081         rp_symmetric_asymmetric_binding_commons_t *
00082         symmetric_asymmetric_binding_commons,
00083         const axutil_env_t * env,
00084         axis2_bool_t token_protection);
00085 
00086     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00087     rp_symmetric_asymmetric_binding_commons_get_entire_headers_and_body_signatures
00088     (
00089         rp_symmetric_asymmetric_binding_commons_t *
00090         symmetric_asymmetric_binding_commons,
00091         const axutil_env_t * env);
00092 
00093     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00094     rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signatures
00095     (
00096         rp_symmetric_asymmetric_binding_commons_t *
00097         symmetric_asymmetric_binding_commons,
00098         const axutil_env_t * env,
00099         axis2_bool_t entire_headers_and_body_signatures);
00100 
00101     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00102     rp_symmetric_asymmetric_binding_commons_get_protection_order(
00103         rp_symmetric_asymmetric_binding_commons_t *
00104         symmetric_asymmetric_binding_commons,
00105         const axutil_env_t * env);
00106 
00107     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00108     rp_symmetric_asymmetric_binding_commons_set_protection_order(
00109         rp_symmetric_asymmetric_binding_commons_t *
00110         symmetric_asymmetric_binding_commons,
00111         const axutil_env_t * env,
00112         axis2_char_t * protection_order);
00113 
00114 #ifdef __cplusplus
00115 }
00116 #endif
00117 #endif

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__http__sender_8h-source.html0000644000175000017500000004353111172017604026014 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_http_sender.h Source File

axis2_http_sender.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HTTP_SENDER_H
00020 #define AXIS2_HTTP_SENDER_H
00021 
00032 #include <axis2_const.h>
00033 #include <axis2_defines.h>
00034 #include <axutil_env.h>
00035 #include <axis2_msg_ctx.h>
00036 #include <axiom_output.h>
00037 #include <axis2_http_simple_response.h>
00038 #include <axiom_soap_envelope.h>
00039 #include <axis2_http_simple_request.h>
00040 
00041 #ifdef AXIS2_LIBCURL_ENABLED
00042 #include <curl/curl.h>
00043 #endif
00044 
00045 #ifdef __cplusplus
00046 extern "C"
00047 {
00048 #endif
00049 
00051     typedef struct axis2_http_sender axis2_http_sender_t;
00052 
00062     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00063     axis2_http_sender_send(
00064         axis2_http_sender_t * sender,
00065         const axutil_env_t * env,
00066         axis2_msg_ctx_t * msg_ctx,
00067         axiom_soap_envelope_t * out,
00068         const axis2_char_t * str_url,
00069         const axis2_char_t * soap_action);
00070 
00071     void AXIS2_CALL
00072     axis2_http_sender_util_add_header(
00073         const axutil_env_t * env,
00074         axis2_http_simple_request_t * request,
00075         axis2_char_t * header_name,
00076         const axis2_char_t * header_value);
00077 
00078 #ifdef AXIS2_LIBCURL_ENABLED
00079     typedef struct axis2_libcurl axis2_libcurl_t;
00080 
00081     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00082     axis2_libcurl_http_send(
00083         axis2_libcurl_t * curl,
00084         axis2_http_sender_t * sender,
00085         const axutil_env_t * env,
00086         axis2_msg_ctx_t * msg_ctx,
00087         axiom_soap_envelope_t * out,
00088         const axis2_char_t * str_url,
00089         const axis2_char_t * soap_action);
00090 #endif
00091 
00098     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00099     axis2_http_sender_set_chunked(
00100         axis2_http_sender_t * sender,
00101         const axutil_env_t * env,
00102         axis2_bool_t chunked);
00103 
00110     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00111     axis2_http_sender_set_om_output(
00112         axis2_http_sender_t * sender,
00113         const axutil_env_t * env,
00114         axiom_output_t * om_output);
00115 
00122     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00123 
00124     axis2_http_sender_set_http_version(
00125         axis2_http_sender_t * sender,
00126         const axutil_env_t * env,
00127         axis2_char_t * version);
00128 
00134     AXIS2_EXTERN void AXIS2_CALL
00135     axis2_http_sender_free(
00136         axis2_http_sender_t * sender,
00137         const axutil_env_t * env);
00138 
00145     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00146     axis2_http_sender_get_header_info(
00147         axis2_http_sender_t * sender,
00148         const axutil_env_t * env,
00149         axis2_msg_ctx_t * msg_ctx,
00150         axis2_http_simple_response_t * response);
00151 
00158     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00159 
00160     axis2_http_sender_process_response(
00161         axis2_http_sender_t * sender,
00162         const axutil_env_t * env,
00163         axis2_msg_ctx_t * msg_ctx,
00164         axis2_http_simple_response_t * response);
00165 
00171     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00172 
00173     axis2_http_sender_get_timeout_values(
00174         axis2_http_sender_t * sender,
00175         const axutil_env_t * env,
00176         axis2_msg_ctx_t * msg_ctx);
00177 
00178     AXIS2_EXTERN axis2_char_t *AXIS2_CALL
00179     axis2_http_sender_get_param_string(
00180         axis2_http_sender_t * sender,
00181         const axutil_env_t * env,
00182         axis2_msg_ctx_t * msg_ctx);
00183 
00187     AXIS2_EXTERN axis2_http_sender_t *AXIS2_CALL
00188     axis2_http_sender_create(
00189         const axutil_env_t * env);
00190 
00192 #define AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, output, url,soap_action)\
00193         axis2_http_sender_send(sender, env, msg_ctx,output, url, soap_action)
00194 
00196 #define AXIS2_HTTP_SENDER_SET_CHUNKED(sender, env, chunked) \
00197                         axis2_http_sender_set_chunked(sender, env, chunked)
00198 
00200 #define AXIS2_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output) \
00201                         axis2_http_sender_set_om_output (sender, env, om_output)
00202 
00204 #define AXIS2_HTTP_SENDER_SET_HTTP_VERSION(sender, env, version)\
00205                         axis2_http_sender_set_http_version (sender, env, version)
00206 
00208 #define AXIS2_HTTP_SENDER_FREE(sender, env) \
00209                         axis2_http_sender_free(sender, env)
00210 
00212 #ifdef __cplusplus
00213 }
00214 #endif
00215 #endif                          /* AXIS2_HTTP_SENDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/modules.html0000644000175000017500000004355311172017604021650 0ustar00manjulamanjula00000000000000 Axis2/C: Module Index

Axis2/C Modules

Here is a list of all modules:
Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__http__simple__response.html0000644000175000017500000016405611172017604027566 0ustar00manjulamanjula00000000000000 Axis2/C: http simple response

http simple response
[http transport]


Typedefs

typedef struct
axis2_http_simple_response 
axis2_http_simple_response_t

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_response_set_status_line (struct axis2_http_simple_response *simple_response, const axutil_env_t *env, const axis2_char_t *http_ver, const int status_code, const axis2_char_t *phrase)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_simple_response_get_phrase (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN int axis2_http_simple_response_get_status_code (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_simple_response_get_http_version (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_simple_response_get_status_line (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_http_simple_response_contains_header (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_simple_response_get_headers (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_simple_response_extract_headers (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_header_t
axis2_http_simple_response_get_first_header (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_response_remove_headers (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, const axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_response_set_header (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axis2_http_header_t *header)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_response_set_headers (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axis2_http_header_t **headers, axis2_ssize_t array_size)
AXIS2_EXTERN const
axis2_char_t * 
axis2_http_simple_response_get_charset (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_ssize_t 
axis2_http_simple_response_get_content_length (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_char_t * 
axis2_http_simple_response_get_content_type (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_response_set_body_string (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axis2_char_t *str)
AXIS2_EXTERN
axis2_status_t 
axis2_http_simple_response_set_body_stream (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axutil_stream_t *stream)
AXIS2_EXTERN
axutil_stream_t * 
axis2_http_simple_response_get_body (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_ssize_t 
axis2_http_simple_response_get_body_bytes (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axis2_char_t **buf)
AXIS2_EXTERN void axis2_http_simple_response_free (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN
axis2_http_simple_response_t
axis2_http_simple_response_create (const axutil_env_t *env, axis2_http_status_line_t *status_line, const axis2_http_header_t **http_headers, const axis2_ssize_t http_hdr_count, axutil_stream_t *content)
AXIS2_EXTERN
axis2_http_simple_response_t
axis2_http_simple_response_create_default (const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_http_simple_response_get_mime_parts (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
AXIS2_EXTERN void axis2_http_simple_response_set_mime_parts (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axutil_array_list_t *mime_parts)
axis2_status_t axis2_http_simple_response_set_http_version (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axis2_char_t *http_version)
AXIS2_EXTERN
axis2_char_t * 
axis2_http_simple_response_get_mtom_sending_callback_name (axis2_http_simple_response_t *simple_response, const axutil_env_t *env)
void AXIS2_EXTERN axis2_http_simple_response_set_mtom_sending_callback_name (axis2_http_simple_response_t *simple_response, const axutil_env_t *env, axis2_char_t *mtom_sending_callback_name)

Typedef Documentation

typedef struct axis2_http_simple_response axis2_http_simple_response_t

Type name for struct axis2_http_simple_response


Function Documentation

AXIS2_EXTERN axis2_bool_t axis2_http_simple_response_contains_header ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
const axis2_char_t *  name 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
name pointer to name

AXIS2_EXTERN axis2_http_simple_response_t* axis2_http_simple_response_create ( const axutil_env_t env,
axis2_http_status_line_t status_line,
const axis2_http_header_t **  http_headers,
const axis2_ssize_t  http_hdr_count,
axutil_stream_t *  content 
)

Parameters:
env pointer to environment struct
status_line pointer to status line
http_headers double pointer to http_headers
http_hdr_count 
content pointer to content

AXIS2_EXTERN axis2_http_simple_response_t* axis2_http_simple_response_create_default ( const axutil_env_t env  ) 

Parameters:
env pointer to environment struct

AXIS2_EXTERN axutil_array_list_t* axis2_http_simple_response_extract_headers ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN void axis2_http_simple_response_free ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
Returns:
void

AXIS2_EXTERN axutil_stream_t* axis2_http_simple_response_get_body ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_ssize_t axis2_http_simple_response_get_body_bytes ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
axis2_char_t **  buf 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
buf double pointer to buf

AXIS2_EXTERN const axis2_char_t* axis2_http_simple_response_get_charset ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_ssize_t axis2_http_simple_response_get_content_length ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN const axis2_char_t* axis2_http_simple_response_get_content_type ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_http_header_t* axis2_http_simple_response_get_first_header ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
str pointer to str

AXIS2_EXTERN axutil_array_list_t* axis2_http_simple_response_get_headers ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_simple_response_get_http_version ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_simple_response_get_phrase ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN int axis2_http_simple_response_get_status_code ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_char_t* axis2_http_simple_response_get_status_line ( axis2_http_simple_response_t simple_response,
const axutil_env_t env 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct

AXIS2_EXTERN axis2_status_t axis2_http_simple_response_remove_headers ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
const axis2_char_t *  str 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
str pointer to str
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_response_set_body_stream ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
axutil_stream_t *  stream 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
stream pointer to stream
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_response_set_body_string ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
axis2_char_t *  str 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
str pointer to str
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_response_set_header ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
axis2_http_header_t header 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
header pointer to header
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_response_set_headers ( axis2_http_simple_response_t simple_response,
const axutil_env_t env,
axis2_http_header_t **  headers,
axis2_ssize_t  array_size 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
headers double pointer to headers
array_size 
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_http_simple_response_set_status_line ( struct axis2_http_simple_response *  simple_response,
const axutil_env_t env,
const axis2_char_t *  http_ver,
const int  status_code,
const axis2_char_t *  phrase 
)

Parameters:
simple_response pointer to simple response struct
env pointer to environment struct
http_ver pointer to http_ver
status_code pointer to status code
phrase pointer to phrase
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE


Generated on Fri Apr 17 11:49:45 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxis2__module-members.html0000644000175000017500000000432211172017604025616 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axis2_module Member List

This is the complete list of members for axis2_module, including all inherited members.

handler_create_func_mapaxis2_module
opsaxis2_module


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axutil__dir__handler_8h-source.html0000644000175000017500000001636611172017604026236 0ustar00manjulamanjula00000000000000 Axis2/C: axutil_dir_handler.h Source File

axutil_dir_handler.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXUTIL_DIR_HANDLER_H
00020 #define AXUTIL_DIR_HANDLER_H
00021 
00022 #include <axutil_utils_defines.h>
00023 #include <axutil_error.h>
00024 #include <axutil_env.h>
00025 #include <axutil_string.h>
00026 #include <axutil_array_list.h>
00027 #include <axutil_utils.h>
00028 
00029 #ifdef __cplusplus
00030 extern "C"
00031 {
00032 #endif
00033 
00045     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00046 
00047     axutil_dir_handler_list_services_or_modules_in_dir(
00048         const axutil_env_t * env,
00049         const axis2_char_t * pathname);
00050 
00057     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00058 
00059     axutil_dir_handler_list_service_or_module_dirs(
00060         const axutil_env_t * env,
00061         const axis2_char_t * pathname);
00062 
00063     /*
00064      *extentions for module and service archives
00065      */
00066 #define AXIS2_AAR_SUFFIX ".aar"
00067 #define AXIS2_MAR_SUFFIX ".mar"
00068 
00069 #ifdef __cplusplus
00070 }
00071 #endif
00072 
00073 #endif                          /* AXIS2_DIR_HANDLER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/structaxiom__xml__reader__ops-members.html0000644000175000017500000001517611172017604027732 0ustar00manjulamanjula00000000000000 Axis2/C: Member List

axiom_xml_reader_ops Member List

This is the complete list of members for axiom_xml_reader_ops, including all inherited members.

freeaxiom_xml_reader_ops
get_attribute_countaxiom_xml_reader_ops
get_attribute_name_by_numberaxiom_xml_reader_ops
get_attribute_namespace_by_numberaxiom_xml_reader_ops
get_attribute_prefix_by_numberaxiom_xml_reader_ops
get_attribute_value_by_numberaxiom_xml_reader_ops
get_char_set_encodingaxiom_xml_reader_ops
get_dtdaxiom_xml_reader_ops
get_nameaxiom_xml_reader_ops
get_namespace_countaxiom_xml_reader_ops
get_namespace_prefix_by_numberaxiom_xml_reader_ops
get_namespace_uriaxiom_xml_reader_ops
get_namespace_uri_by_numberaxiom_xml_reader_ops
get_namespace_uri_by_prefix (defined in axiom_xml_reader_ops)axiom_xml_reader_ops
get_pi_dataaxiom_xml_reader_ops
get_pi_targetaxiom_xml_reader_ops
get_prefixaxiom_xml_reader_ops
get_valueaxiom_xml_reader_ops
nextaxiom_xml_reader_ops
xml_freeaxiom_xml_reader_ops


Generated on Fri Apr 17 11:49:47 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__svc__client_8h.html0000644000175000017500000006050611172017604024331 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_svc_client.h File Reference

axis2_svc_client.h File Reference

#include <axis2_defines.h>
#include <axutil_env.h>
#include <axutil_uri.h>
#include <axis2_svc.h>
#include <axis2_options.h>
#include <axutil_qname.h>
#include <axiom_element.h>
#include <axis2_callback.h>
#include <axis2_endpoint_ref.h>
#include <axis2_svc_ctx.h>
#include <axis2_conf_ctx.h>
#include <axis2_op_client.h>
#include <axutil_string.h>
#include <neethi_policy.h>

Go to the source code of this file.

Typedefs

typedef struct
axis2_svc_client 
axis2_svc_client_t

Functions

AXIS2_EXTERN
axis2_svc_t
axis2_svc_client_get_svc (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_conf_ctx_t
axis2_svc_client_get_conf_ctx (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_options (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_options_t *options)
AXIS2_EXTERN const
axis2_options_t
axis2_svc_client_get_options (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_override_options (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_options_t *override_options)
AXIS2_EXTERN const
axis2_options_t
axis2_svc_client_get_override_options (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_engage_module (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_disengage_module (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_add_header (axis2_svc_client_t *svc_client, const axutil_env_t *env, axiom_node_t *header)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_remove_all_headers (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_send_robust_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_send_robust (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload)
AXIS2_EXTERN void axis2_svc_client_fire_and_forget_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload)
AXIS2_EXTERN void axis2_svc_client_fire_and_forget (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload)
AXIS2_EXTERN
axiom_node_t * 
axis2_svc_client_send_receive_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload)
AXIS2_EXTERN
axiom_node_t * 
axis2_svc_client_send_receive (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload)
AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking_with_op_qname (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname, const axiom_node_t *payload, axis2_callback_t *callback)
AXIS2_EXTERN void axis2_svc_client_send_receive_non_blocking (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axiom_node_t *payload, axis2_callback_t *callback)
AXIS2_EXTERN
axis2_op_client_t
axis2_svc_client_create_op_client (axis2_svc_client_t *svc_client, const axutil_env_t *env, const axutil_qname_t *op_qname)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_finalize_invoke (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN const
axis2_endpoint_ref_t
axis2_svc_client_get_own_endpoint_ref (const axis2_svc_client_t *svc_client, const axutil_env_t *env, const axis2_char_t *transport)
AXIS2_EXTERN const
axis2_endpoint_ref_t
axis2_svc_client_get_target_endpoint_ref (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_target_endpoint_ref (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_endpoint_ref_t *target_epr)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_proxy_with_auth (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_char_t *proxy_host, axis2_char_t *proxy_port, axis2_char_t *username, axis2_char_t *password)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_proxy (axis2_svc_client_t *svc_client, const axutil_env_t *env, axis2_char_t *proxy_host, axis2_char_t *proxy_port)
AXIS2_EXTERN
axis2_svc_ctx_t
axis2_svc_client_get_svc_ctx (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN void axis2_svc_client_free (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_op_client_t
axis2_svc_client_get_op_client (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_svc_client_t
axis2_svc_client_create (const axutil_env_t *env, const axis2_char_t *client_home)
AXIS2_EXTERN
axis2_svc_client_t
axis2_svc_client_create_with_conf_ctx_and_svc (const axutil_env_t *env, const axis2_char_t *client_home, axis2_conf_ctx_t *conf_ctx, axis2_svc_t *svc)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_svc_client_get_last_response_soap_envelope (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_last_response_has_fault (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_char_t * 
axis2_svc_client_get_auth_type (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_http_auth_required (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_svc_client_get_proxy_auth_required (const axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_policy_from_om (axis2_svc_client_t *svc_client, const axutil_env_t *env, axiom_node_t *root_node)
AXIS2_EXTERN
axis2_status_t 
axis2_svc_client_set_policy (axis2_svc_client_t *svc_client, const axutil_env_t *env, neethi_policy_t *policy)
AXIS2_EXTERN
axutil_array_list_t
axis2_svc_client_get_http_headers (axis2_svc_client_t *svc_client, const axutil_env_t *env)
AXIS2_EXTERN int axis2_svc_client_get_http_status_code (axis2_svc_client_t *svc_client, const axutil_env_t *env)


Detailed Description


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__util_8h-source.html0000644000175000017500000001451311172017604024537 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_util.h Source File

neethi_util.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_UTIL_H
00020 #define NEETHI_UTIL_H
00021 
00027 #include <axis2_defines.h>
00028 #include <axutil_env.h>
00029 #include <neethi_includes.h>
00030 #include <neethi_policy.h>
00031 #include <neethi_engine.h>
00032 
00033 #ifdef __cplusplus
00034 extern "C"
00035 {
00036 #endif
00037 
00038     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00039     neethi_util_create_policy_from_file(
00040         const axutil_env_t * env,
00041         axis2_char_t * file_name);
00042 
00043     AXIS2_EXTERN neethi_policy_t *AXIS2_CALL
00044     neethi_util_create_policy_from_om(
00045         const axutil_env_t * env,
00046         axiom_node_t * root_node);
00047 
00049 #ifdef __cplusplus
00050 }
00051 #endif
00052 
00053 #endif                          /* NEETHI_UTIL_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axiom__stax__builder_8h-source.html0000644000175000017500000002352711172017604026254 0ustar00manjulamanjula00000000000000 Axis2/C: axiom_stax_builder.h Source File

axiom_stax_builder.h

00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIOM_STAX_BUILDER_H
00020 #define AXIOM_STAX_BUILDER_H
00021 
00022 #include <axiom_node.h>
00023 #include <axiom_xml_reader.h>
00024 #include <axiom_document.h>
00025 #include <axutil_env.h>
00026 
00027 #ifdef __cplusplus
00028 extern "C"
00029 {
00030 #endif
00031 
00038     typedef struct axiom_stax_builder axiom_stax_builder_t;
00039 
00047     AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL
00048     axiom_stax_builder_create(
00049         const axutil_env_t * env,
00050         axiom_xml_reader_t * parser);
00051 
00060     AXIS2_EXTERN axiom_node_t *AXIS2_CALL
00061     axiom_stax_builder_next(
00062         struct axiom_stax_builder *builder,
00063         const axutil_env_t * env);
00064 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     axiom_stax_builder_discard_current_element(
00073         struct axiom_stax_builder *builder,
00074         const axutil_env_t * env);
00075 
00083     AXIS2_EXTERN void AXIS2_CALL
00084     axiom_stax_builder_free(
00085         struct axiom_stax_builder *builder,
00086         const axutil_env_t * env);
00087 
00096     AXIS2_EXTERN void AXIS2_CALL
00097     axiom_stax_builder_free_self(
00098         struct axiom_stax_builder *builder,
00099         const axutil_env_t * env);
00100 
00108     AXIS2_EXTERN axiom_document_t *AXIS2_CALL
00109     axiom_stax_builder_get_document(
00110         struct axiom_stax_builder *builder,
00111         const axutil_env_t * env);
00112 
00121     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00122     axiom_stax_builder_is_complete(
00123         struct axiom_stax_builder *builder,
00124         const axutil_env_t * env);
00125 
00132     AXIS2_EXTERN int AXIS2_CALL
00133     axiom_stax_builder_next_with_token(
00134         struct axiom_stax_builder *builder,
00135         const axutil_env_t * env);
00136 
00139 #ifdef __cplusplus
00140 }
00141 #endif
00142 
00143 #endif                          /* AXIOM_STAX_BUILDER_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_func_0x73.html0000644000175000017500000000514011172017604023405 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

 

- s -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__handler__desc_8h-source.html0000644000175000017500000004246311172017604026113 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_handler_desc.h Source File

axis2_handler_desc.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef AXIS2_HANDLER_DESC_H
00020 #define AXIS2_HANDLER_DESC_H
00021 
00037 #include <axutil_utils_defines.h>
00038 #include <axutil_qname.h>
00039 #include <axutil_param.h>
00040 #include <axutil_param_container.h>
00041 #include <axis2_phase_rule.h>
00042 #include <axis2_handler.h>
00043 
00044 #ifdef __cplusplus
00045 extern "C"
00046 {
00047 #endif
00048 
00050     typedef struct axis2_handler_desc axis2_handler_desc_t;
00051 
00058     AXIS2_EXTERN const axutil_string_t *AXIS2_CALL
00059     axis2_handler_desc_get_name(
00060         const axis2_handler_desc_t * handler_desc,
00061         const axutil_env_t * env);
00062 
00071     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00072     axis2_handler_desc_set_name(
00073         axis2_handler_desc_t * handler_desc,
00074         const axutil_env_t * env,
00075         axutil_string_t * name);
00076 
00083     AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL
00084     axis2_handler_desc_get_rules(
00085         const axis2_handler_desc_t * handler_desc,
00086         const axutil_env_t * env);
00087 
00096     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00097     axis2_handler_desc_set_rules(
00098         axis2_handler_desc_t * handler_desc,
00099         const axutil_env_t * env,
00100         axis2_phase_rule_t * phase_rule);
00101 
00110     AXIS2_EXTERN axutil_param_t *AXIS2_CALL
00111     axis2_handler_desc_get_param(
00112         const axis2_handler_desc_t * handler_desc,
00113         const axutil_env_t * env,
00114         const axis2_char_t * name);
00115 
00123     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00124     axis2_handler_desc_add_param(
00125         axis2_handler_desc_t * handler_desc,
00126         const axutil_env_t * env,
00127         axutil_param_t * param);
00128 
00136     AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL
00137     axis2_handler_desc_get_all_params(
00138         const axis2_handler_desc_t * handler_desc,
00139         const axutil_env_t * env);
00140 
00148     AXIS2_EXTERN axis2_bool_t AXIS2_CALL
00149     axis2_handler_desc_is_param_locked(
00150         const axis2_handler_desc_t * handler_desc,
00151         const axutil_env_t * env,
00152         const axis2_char_t * param_name);
00153 
00160     AXIS2_EXTERN axis2_handler_t *AXIS2_CALL
00161     axis2_handler_desc_get_handler(
00162         const axis2_handler_desc_t * handler_desc,
00163         const axutil_env_t * env);
00164 
00173     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00174     axis2_handler_desc_set_handler(
00175         axis2_handler_desc_t * handler_desc,
00176         const axutil_env_t * env,
00177         axis2_handler_t * handler);
00178 
00186     AXIS2_EXTERN const axis2_char_t *AXIS2_CALL
00187     axis2_handler_desc_get_class_name(
00188         const axis2_handler_desc_t * handler_desc,
00189         const axutil_env_t * env);
00190 
00199     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00200     axis2_handler_desc_set_class_name(
00201         axis2_handler_desc_t * handler_desc,
00202         const axutil_env_t * env,
00203         const axis2_char_t * class_name);
00204 
00213     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00214     axis2_handler_desc_get_parent(
00215         const axis2_handler_desc_t * handler_desc,
00216         const axutil_env_t * env);
00217 
00227     AXIS2_EXTERN axis2_status_t AXIS2_CALL
00228     axis2_handler_desc_set_parent(
00229         axis2_handler_desc_t * handler_desc,
00230         const axutil_env_t * env,
00231         axutil_param_container_t * parent);
00232 
00239     AXIS2_EXTERN void AXIS2_CALL
00240     axis2_handler_desc_free(
00241         axis2_handler_desc_t * handler_desc,
00242         const axutil_env_t * env);
00243 
00251     AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL
00252     axis2_handler_desc_get_param_container(
00253         const axis2_handler_desc_t * handler_desc,
00254         const axutil_env_t * env);
00255 
00263     AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL
00264     axis2_handler_desc_create(
00265         const axutil_env_t * env,
00266         axutil_string_t * name);
00267 
00270 #ifdef __cplusplus
00271 }
00272 #endif
00273 
00274 #endif                          /* AXIS2_HANDLER_DESC_H */

Generated on Fri Apr 17 11:49:42 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/group__axis2__callback.html0000644000175000017500000010573211172017604024552 0ustar00manjulamanjula00000000000000 Axis2/C: callback

callback
[client API]


Files

file  axis2_callback.h

Typedefs

typedef struct
axis2_callback 
axis2_callback_t
typedef axis2_status_t axis2_on_complete_func_ptr (axis2_callback_t *, const axutil_env_t *)
typedef axis2_status_t axis2_on_error_func_ptr (axis2_callback_t *, const axutil_env_t *, int)

Functions

AXIS2_EXTERN
axis2_status_t 
axis2_callback_invoke_on_complete (axis2_callback_t *callback, const axutil_env_t *env, axis2_async_result_t *result)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_report_error (axis2_callback_t *callback, const axutil_env_t *env, const int exception)
AXIS2_EXTERN axis2_bool_t axis2_callback_get_complete (const axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_complete (axis2_callback_t *callback, const axutil_env_t *env, const axis2_bool_t complete)
AXIS2_EXTERN
axiom_soap_envelope_t * 
axis2_callback_get_envelope (const axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_envelope (axis2_callback_t *callback, const axutil_env_t *env, axiom_soap_envelope_t *envelope)
AXIS2_EXTERN int axis2_callback_get_error (const axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_error (axis2_callback_t *callback, const axutil_env_t *env, const int error)
AXIS2_EXTERN
axis2_status_t 
axis2_callback_set_data (axis2_callback_t *callback, void *data)
AXIS2_EXTERN void * axis2_callback_get_data (const axis2_callback_t *callback)
AXIS2_EXTERN void axis2_callback_set_on_complete (axis2_callback_t *callback, axis2_on_complete_func_ptr f)
AXIS2_EXTERN void axis2_callback_set_on_error (axis2_callback_t *callback, axis2_on_error_func_ptr f)
AXIS2_EXTERN void axis2_callback_free (axis2_callback_t *callback, const axutil_env_t *env)
AXIS2_EXTERN
axis2_callback_t
axis2_callback_create (const axutil_env_t *env)

Detailed Description

callback represents the callback mechanisms to be used in case of asynchronous invocations. It holds the complete status of the invocation, the resulting SOAP envelope and also callback specific data. One can define a function to be called on complete of the callback as well as a function to be called on error.

Typedef Documentation

typedef struct axis2_callback axis2_callback_t

Type name for axis2_callback

typedef axis2_status_t axis2_on_complete_func_ptr(axis2_callback_t *, const axutil_env_t *)

Type name for function pointer to be called on complete of callback

typedef axis2_status_t axis2_on_error_func_ptr(axis2_callback_t *, const axutil_env_t *, int)

Type name for function pointer to be called on error of callback


Function Documentation

AXIS2_EXTERN axis2_callback_t* axis2_callback_create ( const axutil_env_t env  ) 

Creates a callback struct.

Parameters:
env pointer to environment struct
Returns:
pointer to newly created callback struct

AXIS2_EXTERN void axis2_callback_free ( axis2_callback_t callback,
const axutil_env_t env 
)

Frees callback struct.

Parameters:
callback pointer to callback struct
env pointer to environment struct
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_bool_t axis2_callback_get_complete ( const axis2_callback_t callback,
const axutil_env_t env 
)

Gets the complete status for the callback. This method is useful for polling (busy waiting). e.g.

          while(!AXIS2_CALL
 BACK_GET_COMPLETE(callback, env)
          {
             sleep(10);
          }
 do whatever you need here 
      
Parameters:
callback pointer to callback struct
env pointer to environment struct
Returns:
AXIS2_TRUE if callback is complete, else AXIS2_FALSE

AXIS2_EXTERN void* axis2_callback_get_data ( const axis2_callback_t callback  ) 

Gets the callback data.

Parameters:
callback pointer to callback struct
Returns:
pointer to callback data

AXIS2_EXTERN axiom_soap_envelope_t* axis2_callback_get_envelope ( const axis2_callback_t callback,
const axutil_env_t env 
)

Gets the resulting SOAP envelope.

Parameters:
callback pointer to callback struct
env pointer to environment struct
Returns:
result SOAP envelope if present, else NULL

AXIS2_EXTERN int axis2_callback_get_error ( const axis2_callback_t callback,
const axutil_env_t env 
)

Gets error code representing the error.

Parameters:
callback pointer to callback struct
env pointer to environment struct
Returns:
error code representing the error

AXIS2_EXTERN axis2_status_t axis2_callback_invoke_on_complete ( axis2_callback_t callback,
const axutil_env_t env,
axis2_async_result_t result 
)

This function is called once the asynchronous operation is successfully completed and the result is available.

Parameters:
callback pointer to callback struct
env pointer to environment struct
result pointer to async result
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_callback_report_error ( axis2_callback_t callback,
const axutil_env_t env,
const int  exception 
)

This function is called once the asynchronous operation fails and the failure code returns.

Parameters:
callback pointer to callback struct
env pointer to environment struct
exception error code representing the error
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_callback_set_complete ( axis2_callback_t callback,
const axutil_env_t env,
const axis2_bool_t  complete 
)

Sets the complete status.

Parameters:
callback pointer to callback struct
env pointer to environment struct
complete bool value representing the status
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_callback_set_data ( axis2_callback_t callback,
void *  data 
)

Sets the callback data.

Parameters:
callback pointer to callback struct
data pointer to data
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_callback_set_envelope ( axis2_callback_t callback,
const axutil_env_t env,
axiom_soap_envelope_t *  envelope 
)

Sets the SOAP envelope.

Parameters:
callback pointer to callback struct
env pointer to environment struct
envelope pointer to SOAP envelope
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN axis2_status_t axis2_callback_set_error ( axis2_callback_t callback,
const axutil_env_t env,
const int  error 
)

Sets the error code.

Parameters:
callback pointer to callback struct
env pointer to environment struct
error error code representing the error
Returns:
AXIS2_SUCCESS on success, else AXIS2_FAILURE

AXIS2_EXTERN void axis2_callback_set_on_complete ( axis2_callback_t callback,
axis2_on_complete_func_ptr  f 
)

Sets the on complete callback function.

Parameters:
callback pointer to callback struct
f on complete callback function pointer

AXIS2_EXTERN void axis2_callback_set_on_error ( axis2_callback_t callback,
axis2_on_error_func_ptr  f 
)

Sets the on error callback function.

Parameters:
callback pointer to callback struct
f on error callback function pointer


Generated on Fri Apr 17 11:49:44 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/axis2__conf_8h.html0000644000175000017500000010702611172017604022765 0ustar00manjulamanjula00000000000000 Axis2/C: axis2_conf.h File Reference

axis2_conf.h File Reference

Axis2 configuration interface. More...

#include <axutil_param_container.h>
#include <axis2_svc_grp.h>
#include <axis2_transport_in_desc.h>
#include <axis2_transport_out_desc.h>
#include <axutil_qname.h>
#include <axutil_hash.h>
#include <axis2_phases_info.h>
#include <axis2_msg_recv.h>

Go to the source code of this file.

Typedefs

typedef struct axis2_conf axis2_conf_t

Functions

AXIS2_EXTERN void axis2_conf_free (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_svc_grp (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_svc_grp *svc_grp)
AXIS2_EXTERN struct
axis2_svc_grp * 
axis2_conf_get_svc_grp (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *svc_grp_name)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_svc_grps (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_svc (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_svc *svc)
AXIS2_EXTERN struct
axis2_svc * 
axis2_conf_get_svc (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *svc_name)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_remove_svc (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_param (axis2_conf_t *conf, const axutil_env_t *env, axutil_param_t *param)
AXIS2_EXTERN
axutil_param_t * 
axis2_conf_get_param (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *name)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_all_params (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_conf_is_param_locked (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *param_name)
AXIS2_EXTERN
axis2_transport_in_desc_t
axis2_conf_get_transport_in (const axis2_conf_t *conf, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_transport_in (axis2_conf_t *conf, const axutil_env_t *env, axis2_transport_in_desc_t *transport, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_transport_out_desc_t
axis2_conf_get_transport_out (const axis2_conf_t *conf, const axutil_env_t *env, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_transport_out (axis2_conf_t *conf, const axutil_env_t *env, axis2_transport_out_desc_t *transport, const AXIS2_TRANSPORT_ENUMS trans_enum)
AXIS2_EXTERN
axis2_transport_in_desc_t ** 
axis2_conf_get_all_in_transports (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_transport_out_desc_t ** 
axis2_conf_get_all_out_transports (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN struct
axis2_module_desc * 
axis2_conf_get_module (const axis2_conf_t *conf, const axutil_env_t *env, const axutil_qname_t *qname)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_all_engaged_modules (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_in_phases_upto_and_including_post_dispatch (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_out_flow (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_in_fault_flow (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_out_fault_flow (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_faulty_svcs (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_faulty_modules (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_svcs (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_svcs_to_load (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_conf_is_engaged (axis2_conf_t *conf, const axutil_env_t *env, const axutil_qname_t *module_name)
AXIS2_EXTERN struct
axis2_phases_info * 
axis2_conf_get_phases_info (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_phases_info (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_phases_info *phases_info)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_msg_recv (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *key, struct axis2_msg_recv *msg_recv)
AXIS2_EXTERN struct
axis2_msg_recv * 
axis2_conf_get_msg_recv (const axis2_conf_t *conf, const axutil_env_t *env, axis2_char_t *key)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_out_phases (axis2_conf_t *conf, const axutil_env_t *env, axutil_array_list_t *out_phases)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_out_phases (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_in_fault_phases (axis2_conf_t *conf, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_out_fault_phases (axis2_conf_t *conf, const axutil_env_t *env, axutil_array_list_t *list)
AXIS2_EXTERN
axutil_hash_t
axis2_conf_get_all_modules (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_module (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_module_desc *module)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_default_dispatchers (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_dispatch_phase (axis2_conf_t *conf, const axutil_env_t *env, axis2_phase_t *dispatch)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_get_repo (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_repo (axis2_conf_t *conf, const axutil_env_t *env, axis2_char_t *axis2_repo)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_get_axis2_xml (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_axis2_xml (axis2_conf_t *conf, const axutil_env_t *env, axis2_char_t *axis2_xml)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_engage_module (axis2_conf_t *conf, const axutil_env_t *env, const axutil_qname_t *module_ref)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_dep_engine (axis2_conf_t *conf, const axutil_env_t *env, struct axis2_dep_engine *dep_engine)
AXIS2_EXTERN const
axis2_char_t * 
axis2_conf_get_default_module_version (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN struct
axis2_module_desc * 
axis2_conf_get_default_module (const axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_add_default_module_version (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name, const axis2_char_t *module_version)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_engage_module_with_version (axis2_conf_t *conf, const axutil_env_t *env, const axis2_char_t *module_name, const axis2_char_t *version_id)
AXIS2_EXTERN
axis2_conf_t
axis2_conf_create (const axutil_env_t *env)
AXIS2_EXTERN axis2_bool_t axis2_conf_get_enable_mtom (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_enable_mtom (axis2_conf_t *conf, const axutil_env_t *env, axis2_bool_t enable_mtom)
AXIS2_EXTERN axis2_bool_t axis2_conf_get_axis2_flag (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_axis2_flag (axis2_conf_t *conf, const axutil_env_t *env, axis2_bool_t axis2_flag)
AXIS2_EXTERN axis2_bool_t axis2_conf_get_enable_security (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_enable_security (axis2_conf_t *conf, const axutil_env_t *env, axis2_bool_t enable_security)
AXIS2_EXTERN void * axis2_conf_get_security_context (axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_status_t 
axis2_conf_set_security_context (axis2_conf_t *conf, const axutil_env_t *env, void *security_context)
AXIS2_EXTERN
axutil_param_container_t * 
axis2_conf_get_param_container (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axis2_desc_t
axis2_conf_get_base (const axis2_conf_t *conf, const axutil_env_t *env)
AXIS2_EXTERN
axutil_array_list_t
axis2_conf_get_handlers (const axis2_conf_t *conf, const axutil_env_t *env)


Detailed Description

Axis2 configuration interface.


Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/neethi__constants_8h-source.html0000644000175000017500000002511511172017604025576 0ustar00manjulamanjula00000000000000 Axis2/C: neethi_constants.h Source File

neethi_constants.h

Go to the documentation of this file.
00001 
00002 /*
00003  * Licensed to the Apache Software Foundation (ASF) under one or more
00004  * contributor license agreements.  See the NOTICE file distributed with
00005  * this work for additional information regarding copyright ownership.
00006  * The ASF licenses this file to You under the Apache License, Version 2.0
00007  * (the "License"); you may not use this file except in compliance with
00008  * the License.  You may obtain a copy of the License at
00009  *
00010  *      http://www.apache.org/licenses/LICENSE-2.0
00011  *
00012  * Unless required by applicable law or agreed to in writing, software
00013  * distributed under the License is distributed on an "AS IS" BASIS,
00014  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015  * See the License for the specific language governing permissions and
00016  * limitations under the License.
00017  */
00018 
00019 #ifndef NEETHI_CONSTANTS_H
00020 #define NEETHI_CONSTANTS_H
00021 
00022 #define NEETHI_EXACTLYONE "ExactlyOne"
00023 #define NEETHI_ALL "All"
00024 #define NEETHI_POLICY "Policy"
00025 #define NEETHI_REFERENCE "PolicyReference"
00026 #define NEETHI_URI "URI"
00027 #define NEETHI_NAMESPACE "http://schemas.xmlsoap.org/ws/2004/09/policy"
00028 #define NEETHI_POLICY_15_NAMESPACE "http://www.w3.org/ns/ws-policy"
00029 #define NEETHI_PREFIX "wsp"
00030 #define NEETHI_WSU_NS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
00031 #define NEETHI_ID "Id"
00032 #define NEETHI_WSU_NS_PREFIX "wsu"
00033 #define NEETHI_NAME "Name"
00034 #define AXIS2_OPTIMIZED_MIME_SERIALIZATION "OptimizedMimeSerialization"
00035 #define AXIS2_MTOM_POLICY_NS "http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization"
00036 #define AXIS2_RM_POLICY_10_NS "http://schemas.xmlsoap.org/ws/2005/02/rm/policy"
00037 #define AXIS2_RM_POLICY_11_NS "http://docs.oasis-open.org/ws-rx/wsrmp/200702"
00038 #define AXIS2_SANDESHA2_NS "http://ws.apache.org/sandesha2/c/policy"
00039 
00040 /* Reliable messaging related constatnts */
00041 
00042 /* RMPolicy 1.0 */
00043 
00044 #define AXIS2_RM_RMASSERTION "RMAssertion"
00045 #define AXIS2_RM_INACTIVITY_TIMEOUT "InactivityTimeout"
00046 #define AXIS2_RM_BASE_RETRANSMISSION_INTERVAL "BaseRetransmissionInterval"
00047 #define AXIS2_RM_EXPONENTIAL_BACK_OFF "ExponentialBackoff"
00048 #define AXIS2_RM_ACKNOWLEDGEMENT_INTERVAL "AcknowledgementInterval"
00049 
00050 /* RM policy 1.1 */
00051 
00052 #define AXIS2_RM_SEQUENCE_STR "SequenceSTR"
00053 #define AXIS2_RM_SEQUENCE_TRANSPORT_SECURITY "SequenceTransportSecurity"
00054 #define AXIS2_RM_DELIVERY_ASSURANCE "DeliveryAssurance"
00055 #define AXIS2_RM_EXACTLY_ONCE "ExactlyOnce"
00056 #define AXIS2_RM_AT_LEAST_ONCE "AtLeastOnce"
00057 #define AXIS2_RM_AT_MOST_ONCE "AtMostOnce"
00058 #define AXIS2_RM_IN_ORDER "InOrder"
00059 
00060 /* Sandesha2/C specific */
00061 
00062 #define AXIS2_RM_SANDESHA2_DB "sandesha2_db"
00063 #define AXIS2_RM_STORAGE_MANAGER "StorageManager"
00064 #define AXIS2_RM_MESSAGE_TYPES_TO_DROP "MessageTypesToDrop"
00065 #define AXIS2_RM_MAX_RETRANS_COUNT "MaxRetransCount"
00066 #define AXIS2_RM_SENDER_SLEEP_TIME "SenderSleepTime"
00067 #define AXIS2_RM_INVOKER_SLEEP_TIME "InvokerSleepTime"
00068 #define AXIS2_RM_POLLING_WAIT_TIME "PollingWaitTime"
00069 #define AXIS2_RM_TERMINATE_DELAY "TerminateDelay"
00070 
00071 
00076 #ifdef __cplusplus
00077 extern "C"
00078 {
00079 #endif
00080 
00083 #ifdef __cplusplus
00084 }
00085 #endif
00086 
00087 #endif                          /*NEETHI_INCLUDES_H */

Generated on Fri Apr 17 11:49:43 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/html/globals_0x65.html0000644000175000017500000000705111172017604022376 0ustar00manjulamanjula00000000000000 Axis2/C: Class Members

Here is a list of all documented file members with links to the documentation:

- e -


Generated on Fri Apr 17 11:49:48 2009 for Axis2/C by  doxygen 1.5.3
axis2c-src-1.6.0/docs/api/doxygenconf0000644000175000017500000014225311172017604020611 0ustar00manjulamanjula00000000000000# Doxyfile 1.4.2 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project # # All text after a hash (#) is considered a comment and will be ignored # The format is: # TAG = value [value, ...] # For lists items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (" ") #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded # by quotes) that should identify the project. PROJECT_NAME = Axis2/C # The PROJECT_NUMBER tag can be used to enter a project or revision number. # This could be handy for archiving the generated documentation or # if some version control system is used. PROJECT_NUMBER = 1.6.0 # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) # base path where the generated documentation will be put. # If a relative path is entered, it will be relative to the location # where doxygen was started. If left blank the current directory will be used. OUTPUT_DIRECTORY = ./ # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create # 4096 sub-directories (in 2 levels) under the output directory of each output # format and will distribute the generated files over these directories. # Enabling this option can be useful when feeding doxygen a huge amount of # source files, where putting all generated files in the same directory would # otherwise cause performance problems for the file system. CREATE_SUBDIRS = NO # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. # The default language is English, other supported languages are: # Brazilian, Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, # Dutch, Finnish, French, German, Greek, Hungarian, Italian, Japanese, # Japanese-en (Japanese with English messages), Korean, Korean-en, Norwegian, # Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, # Swedish, and Ukrainian. OUTPUT_LANGUAGE = English # This tag can be used to specify the encoding used in the generated output. # The encoding is not always determined by the language that is chosen, # but also whether or not the output is meant for Windows or non-Windows users. # In case there is a difference, setting the USE_WINDOWS_ENCODING tag to YES # forces the Windows encoding (this is the default for the Windows binary), # whereas setting the tag to NO uses a Unix-style encoding (the default for # all platforms other than Windows). USE_WINDOWS_ENCODING = NO # If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will # include brief member descriptions after the members that are listed in # the file and class documentation (similar to JavaDoc). # Set to NO to disable this. BRIEF_MEMBER_DESC = YES # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend # the brief description of a member or function before the detailed description. # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the # brief descriptions will be completely suppressed. REPEAT_BRIEF = YES # This tag implements a quasi-intelligent brief description abbreviator # that is used to form the text in various listings. Each string # in this list, if found as the leading text of the brief description, will be # stripped from the text and the result after processing the whole list, is # used as the annotated text. Otherwise, the brief description is used as-is. # If left blank, the following values are used ("$name" is automatically # replaced with the name of the entity): "The $name class" "The $name widget" # "The $name file" "is" "provides" "specifies" "contains" # "represents" "a" "an" "the" ABBREVIATE_BRIEF = # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then # Doxygen will generate a detailed section even if there is only a brief # description. ALWAYS_DETAILED_SEC = NO # If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all # inherited members of a class in the documentation of that class as if those # members were ordinary class members. Constructors, destructors and assignment # operators of the base classes will not be shown. INLINE_INHERITED_MEMB = NO # If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full # path before files name in the file list and in the header files. If set # to NO the shortest path that makes the file name unique will be used. FULL_PATH_NAMES = NO # If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag # can be used to strip a user-defined part of the path. Stripping is # only done if one of the specified strings matches the left-hand part of # the path. The tag can be used to show relative paths in the file list. # If left blank the directory from which doxygen is run is used as the # path to strip. STRIP_FROM_PATH = # The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of # the path mentioned in the documentation of a class, which tells # the reader which header file to include in order to use a class. # If left blank only the name of the header file containing the class # definition is used. Otherwise one should specify the include paths that # are normally passed to the compiler using the -I flag. STRIP_FROM_INC_PATH = # If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter # (but less readable) file names. This can be useful is your file systems # doesn't support long names like on DOS, Mac, or CD-ROM. SHORT_NAMES = NO # If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen # will interpret the first line (until the first dot) of a JavaDoc-style # comment as the brief description. If set to NO, the JavaDoc # comments will behave just like the Qt-style comments (thus requiring an # explicit @brief command for a brief description. JAVADOC_AUTOBRIEF = NO # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen # treat a multi-line C++ special comment block (i.e. a block of //! or /// # comments) as a brief description. This used to be the default behaviour. # The new default is to treat a multi-line C++ comment block as a detailed # description. Set this tag to YES if you prefer the old behaviour instead. MULTILINE_CPP_IS_BRIEF = NO # If the DETAILS_AT_TOP tag is set to YES then Doxygen # will output the detailed description near the top, like JavaDoc. # If set to NO, the detailed description appears after the member # documentation. DETAILS_AT_TOP = NO # If the INHERIT_DOCS tag is set to YES (the default) then an undocumented # member inherits the documentation from any documented member that it # re-implements. INHERIT_DOCS = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # tag is set to YES, then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. DISTRIBUTE_GROUP_DOC = NO # If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce # a new page for each member. If set to NO, the documentation of a member will # be part of the file/class/namespace that contains it. SEPARATE_MEMBER_PAGES = NO # The TAB_SIZE tag can be used to set the number of spaces in a tab. # Doxygen uses this value to replace tabs by spaces in code fragments. TAB_SIZE = 8 # This tag can be used to specify a number of aliases that acts # as commands in the documentation. An alias has the form "name=value". # For example adding "sideeffect=\par Side Effects:\n" will allow you to # put the command \sideeffect (or @sideeffect) in the documentation, which # will result in a user-defined paragraph with heading "Side Effects:". # You can put \n's in the value part of an alias to insert newlines. ALIASES = # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C # sources only. Doxygen will then generate output that is more tailored for C. # For instance, some of the names that are used will be different. The list # of all members will be omitted, etc. OPTIMIZE_OUTPUT_FOR_C = NO # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources # only. Doxygen will then generate output that is more tailored for Java. # For instance, namespaces will be presented as packages, qualified scopes # will look different, etc. OPTIMIZE_OUTPUT_JAVA = NO # Set the SUBGROUPING tag to YES (the default) to allow class member groups of # the same type (for instance a group of public functions) to be put as a # subgroup of that type (e.g. under the Public Functions section). Set it to # NO to prevent subgrouping. Alternatively, this can be done per class using # the \nosubgrouping command. SUBGROUPING = YES #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- # If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in # documentation are documented, even if no documentation was available. # Private class members and static file members will be hidden unless # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES EXTRACT_ALL = NO # If the EXTRACT_PRIVATE tag is set to YES all private members of a class # will be included in the documentation. EXTRACT_PRIVATE = NO # If the EXTRACT_STATIC tag is set to YES all static members of a file # will be included in the documentation. EXTRACT_STATIC = NO # If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) # defined locally in source files will be included in the documentation. # If set to NO only classes defined in header files are included. EXTRACT_LOCAL_CLASSES = YES # This flag is only useful for Objective-C code. When set to YES local # methods, which are defined in the implementation section but not in # the interface are included in the documentation. # If set to NO (the default) only methods in the interface are included. EXTRACT_LOCAL_METHODS = NO # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all # undocumented members of documented classes, files or namespaces. # If set to NO (the default) these members will be included in the # various overviews, but no documentation section is generated. # This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. # If set to NO (the default) these classes will be included in the various # overviews. This option has no effect if EXTRACT_ALL is enabled. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all # friend (class|struct|union) declarations. # If set to NO (the default) these declarations will be included in the # documentation. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any # documentation blocks found inside the body of a function. # If set to NO (the default) these blocks will be appended to the # function's detailed documentation block. HIDE_IN_BODY_DOCS = NO # The INTERNAL_DOCS tag determines if documentation # that is typed after a \internal command is included. If the tag is set # to NO (the default) then the documentation will be excluded. # Set it to YES to include the internal documentation. INTERNAL_DOCS = NO # If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate # file names in lower-case letters. If set to YES upper-case letters are also # allowed. This is useful if you have classes or files whose names only differ # in case and if your file system supports case sensitive file names. Windows # and Mac users are advised to set this option to NO. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen # will show members with their full class and namespace scopes in the # documentation. If set to YES the scope will be hidden. HIDE_SCOPE_NAMES = NO # If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen # will put a list of the files that are included by a file in the documentation # of that file. SHOW_INCLUDE_FILES = YES # If the INLINE_INFO tag is set to YES (the default) then a tag [inline] # is inserted in the documentation for inline members. INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen # will sort the (detailed) documentation of file and class members # alphabetically by member name. If set to NO the members will appear in # declaration order. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the # brief documentation of file, namespace and class members alphabetically # by member name. If set to NO (the default) the members will appear in # declaration order. SORT_BRIEF_DOCS = NO # If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be # sorted by fully-qualified names, including namespaces. If set to # NO (the default), the class list will be sorted only by class name, # not including the namespace part. # Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. # Note: This option applies only to the class list, not to the # alphabetical list. SORT_BY_SCOPE_NAME = NO # The GENERATE_TODOLIST tag can be used to enable (YES) or # disable (NO) the todo list. This list is created by putting \todo # commands in the documentation. GENERATE_TODOLIST = YES # The GENERATE_TESTLIST tag can be used to enable (YES) or # disable (NO) the test list. This list is created by putting \test # commands in the documentation. GENERATE_TESTLIST = YES # The GENERATE_BUGLIST tag can be used to enable (YES) or # disable (NO) the bug list. This list is created by putting \bug # commands in the documentation. GENERATE_BUGLIST = YES # The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or # disable (NO) the deprecated list. This list is created by putting # \deprecated commands in the documentation. GENERATE_DEPRECATEDLIST= YES # The ENABLED_SECTIONS tag can be used to enable conditional # documentation sections, marked by \if sectionname ... \endif. ENABLED_SECTIONS = # The MAX_INITIALIZER_LINES tag determines the maximum number of lines # the initial value of a variable or define consists of for it to appear in # the documentation. If the initializer consists of more lines than specified # here it will be hidden. Use a value of 0 to hide initializers completely. # The appearance of the initializer of individual variables and defines in the # documentation can be controlled using \showinitializer or \hideinitializer # command in the documentation regardless of this setting. MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated # at the bottom of the documentation of classes and structs. If set to YES the # list will mention the files that were used to generate the documentation. SHOW_USED_FILES = YES # If the sources in your project are distributed over multiple directories # then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy # in the documentation. SHOW_DIRECTORIES = YES # The FILE_VERSION_FILTER tag can be used to specify a program or script that # doxygen should invoke to get the current version for each file (typically from the # version control system). Doxygen will invoke the program by executing (via # popen()) the command , where is the value of # the FILE_VERSION_FILTER tag, and is the name of an input file # provided by doxygen. Whatever the progam writes to standard output # is used as the file version. See the manual for examples. FILE_VERSION_FILTER = #--------------------------------------------------------------------------- # configuration options related to warning and progress messages #--------------------------------------------------------------------------- # The QUIET tag can be used to turn on/off the messages that are generated # by doxygen. Possible values are YES and NO. If left blank NO is used. QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are # generated by doxygen. Possible values are YES and NO. If left blank # NO is used. WARNINGS = YES # If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings # for undocumented members. If EXTRACT_ALL is set to YES then this flag will # automatically be disabled. WARN_IF_UNDOCUMENTED = YES # If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for # potential errors in the documentation, such as not documenting some # parameters in a documented function, or documenting parameters that # don't exist or using markup commands wrongly. WARN_IF_DOC_ERROR = YES # This WARN_NO_PARAMDOC option can be abled to get warnings for # functions that are documented, but have no documentation for their parameters # or return value. If set to NO (the default) doxygen will only warn about # wrong or incomplete parameter documentation, but not about the absence of # documentation. WARN_NO_PARAMDOC = NO # The WARN_FORMAT tag determines the format of the warning messages that # doxygen can produce. The string should contain the $file, $line, and $text # tags, which will be replaced by the file and line number from which the # warning originated and the warning text. Optionally the format may contain # $version, which will be replaced by the version of the file (if it could # be obtained via FILE_VERSION_FILTER) WARN_FORMAT = "$file:$line: $text" # The WARN_LOGFILE tag can be used to specify a file to which warning # and error messages should be written. If left blank the output is written # to stderr. WARN_LOGFILE = #--------------------------------------------------------------------------- # configuration options related to the input files #--------------------------------------------------------------------------- # The INPUT tag can be used to specify the files and/or directories that contain # documented source files. You may enter file names like "myfile.cpp" or # directories like "/usr/src/myproject". Separate the files or directories # with spaces. INPUT = ../../deploy/include/axis2-1.6.0/ # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank the following patterns are tested: # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx # *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm FILE_PATTERNS = # The RECURSIVE tag can be used to turn specify whether or not subdirectories # should be searched for input files as well. Possible values are YES and NO. # If left blank NO is used. RECURSIVE = NO # The EXCLUDE tag can be used to specify files and/or directories that should # excluded from the INPUT source files. This way you can easily exclude a # subdirectory from a directory tree whose root is specified with the INPUT tag. EXCLUDE = # The EXCLUDE_SYMLINKS tag can be used select whether or not files or # directories that are symbolic links (a Unix filesystem feature) are excluded # from the input. EXCLUDE_SYMLINKS = NO # If the value of the INPUT tag contains directories, you can use the # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude # certain files from those directories. EXCLUDE_PATTERNS = # The EXAMPLE_PATH tag can be used to specify one or more files or # directories that contain example code fragments that are included (see # the \include command). EXAMPLE_PATH = # If the value of the EXAMPLE_PATH tag contains directories, you can use the # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp # and *.h) to filter out the source-files in the directories. If left # blank all files are included. EXAMPLE_PATTERNS = # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be # searched for input files to be used with the \include or \dontinclude # commands irrespective of the value of the RECURSIVE tag. # Possible values are YES and NO. If left blank NO is used. EXAMPLE_RECURSIVE = NO # The IMAGE_PATH tag can be used to specify one or more files or # directories that contain image that are included in the documentation (see # the \image command). IMAGE_PATH = # The INPUT_FILTER tag can be used to specify a program that doxygen should # invoke to filter for each input file. Doxygen will invoke the filter program # by executing (via popen()) the command , where # is the value of the INPUT_FILTER tag, and is the name of an # input file. Doxygen will then use the output that the filter program writes # to standard output. If FILTER_PATTERNS is specified, this tag will be # ignored. INPUT_FILTER = # The FILTER_PATTERNS tag can be used to specify filters on a per file pattern # basis. Doxygen will compare the file name with each pattern and apply the # filter if there is a match. The filters are a list of the form: # pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further # info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER # is applied to all files. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using # INPUT_FILTER) will be used to filter the input files when producing source # files to browse (i.e. when SOURCE_BROWSER is set to YES). FILTER_SOURCE_FILES = NO #--------------------------------------------------------------------------- # configuration options related to source browsing #--------------------------------------------------------------------------- # If the SOURCE_BROWSER tag is set to YES then a list of source files will # be generated. Documented entities will be cross-referenced with these sources. # Note: To get rid of all source code in the generated output, make sure also # VERBATIM_HEADERS is set to NO. SOURCE_BROWSER = NO # Setting the INLINE_SOURCES tag to YES will include the body # of functions and classes directly in the documentation. INLINE_SOURCES = NO # Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct # doxygen to hide any special comment blocks from generated source code # fragments. Normal C and C++ comments will always remain visible. STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES (the default) # then for each documented function all documented # functions referencing it will be listed. REFERENCED_BY_RELATION = YES # If the REFERENCES_RELATION tag is set to YES (the default) # then for each documented function all documented entities # called/used by that function will be listed. REFERENCES_RELATION = YES # If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen # will generate a verbatim copy of the header file for each class for # which an include is specified. Set to NO to disable this. VERBATIM_HEADERS = YES #--------------------------------------------------------------------------- # configuration options related to the alphabetical class index #--------------------------------------------------------------------------- # If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index # of all compounds will be generated. Enable this if the project # contains a lot of classes, structs, unions or interfaces. ALPHABETICAL_INDEX = NO # If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then # the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns # in which this list will be split (can be a number in the range [1..20]) COLS_IN_ALPHA_INDEX = 5 # In case all classes in a project start with a common prefix, all # classes will be put under the same header in the alphabetical index. # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. IGNORE_PREFIX = #--------------------------------------------------------------------------- # configuration options related to the HTML output #--------------------------------------------------------------------------- # If the GENERATE_HTML tag is set to YES (the default) Doxygen will # generate HTML output. GENERATE_HTML = YES # The HTML_OUTPUT tag is used to specify where the HTML docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `html' will be used as the default path. HTML_OUTPUT = html # The HTML_FILE_EXTENSION tag can be used to specify the file extension for # each generated HTML page (for example: .htm,.php,.asp). If it is left blank # doxygen will generate files with .html extension. HTML_FILE_EXTENSION = .html # The HTML_HEADER tag can be used to specify a personal HTML header for # each generated HTML page. If it is left blank doxygen will generate a # standard header. HTML_HEADER = # The HTML_FOOTER tag can be used to specify a personal HTML footer for # each generated HTML page. If it is left blank doxygen will generate a # standard footer. HTML_FOOTER = # The HTML_STYLESHEET tag can be used to specify a user-defined cascading # style sheet that is used by each HTML page. It can be used to # fine-tune the look of the HTML output. If the tag is left blank doxygen # will generate a default style sheet. Note that doxygen will try to copy # the style sheet file to the HTML output directory, so don't put your own # stylesheet in the HTML output directory as well, or it will be erased! HTML_STYLESHEET = # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, # files or namespaces will be aligned in HTML using tables. If set to # NO a bullet list will be used. HTML_ALIGN_MEMBERS = YES # If the GENERATE_HTMLHELP tag is set to YES, additional index files # will be generated that can be used as input for tools like the # Microsoft HTML help workshop to generate a compressed HTML help file (.chm) # of the generated HTML documentation. GENERATE_HTMLHELP = NO # If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can # be used to specify the file name of the resulting .chm file. You # can add a path in front of the file if the result should not be # written to the html output directory. CHM_FILE = # If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can # be used to specify the location (absolute path including file name) of # the HTML help compiler (hhc.exe). If non-empty doxygen will try to run # the HTML help compiler on the generated index.hhp. HHC_LOCATION = # If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag # controls if a separate .chi index file is generated (YES) or that # it should be included in the master .chm file (NO). GENERATE_CHI = NO # If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag # controls whether a binary table of contents is generated (YES) or a # normal table of contents (NO) in the .chm file. BINARY_TOC = NO # The TOC_EXPAND flag can be set to YES to add extra items for group members # to the contents of the HTML help documentation and to the tree view. TOC_EXPAND = NO # The DISABLE_INDEX tag can be used to turn on/off the condensed index at # top of each HTML page. The value NO (the default) enables the index and # the value YES disables it. DISABLE_INDEX = NO # This tag can be used to set the number of enum values (range [1..20]) # that doxygen will group on one line in the generated HTML documentation. ENUM_VALUES_PER_LINE = 4 # If the GENERATE_TREEVIEW tag is set to YES, a side panel will be # generated containing a tree-like index structure (just like the one that # is generated for HTML Help). For this to work a browser that supports # JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+, # Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are # probably better off using the HTML help feature. GENERATE_TREEVIEW = NO # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be # used to set the initial width (in pixels) of the frame in which the tree # is shown. TREEVIEW_WIDTH = 250 #--------------------------------------------------------------------------- # configuration options related to the LaTeX output #--------------------------------------------------------------------------- # If the GENERATE_LATEX tag is set to YES (the default) Doxygen will # generate Latex output. GENERATE_LATEX = NO # The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `latex' will be used as the default path. LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. If left blank `latex' will be used as the default command name. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to # generate index for LaTeX. If left blank `makeindex' will be used as the # default command name. MAKEINDEX_CMD_NAME = makeindex # If the COMPACT_LATEX tag is set to YES Doxygen generates more compact # LaTeX documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_LATEX = NO # The PAPER_TYPE tag can be used to set the paper type that is used # by the printer. Possible values are: a4, a4wide, letter, legal and # executive. If left blank a4wide will be used. PAPER_TYPE = a4wide # The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX # packages that should be included in the LaTeX output. EXTRA_PACKAGES = # The LATEX_HEADER tag can be used to specify a personal LaTeX header for # the generated latex document. The header should contain everything until # the first chapter. If it is left blank doxygen will generate a # standard header. Notice: only use this tag if you know what you are doing! LATEX_HEADER = # If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated # is prepared for conversion to pdf (using ps2pdf). The pdf file will # contain links (just like the HTML output) instead of page references # This makes the output suitable for online browsing using a pdf viewer. PDF_HYPERLINKS = NO # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of # plain latex in the generated Makefile. Set this option to YES to get a # higher quality PDF documentation. USE_PDFLATEX = NO # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode. # command to the generated LaTeX files. This will instruct LaTeX to keep # running if errors occur, instead of asking the user for help. # This option is also used when generating formulas in HTML. LATEX_BATCHMODE = NO # If LATEX_HIDE_INDICES is set to YES then doxygen will not # include the index chapters (such as File Index, Compound Index, etc.) # in the output. LATEX_HIDE_INDICES = NO #--------------------------------------------------------------------------- # configuration options related to the RTF output #--------------------------------------------------------------------------- # If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output # The RTF output is optimized for Word 97 and may not look very pretty with # other RTF readers or editors. GENERATE_RTF = NO # The RTF_OUTPUT tag is used to specify where the RTF docs will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `rtf' will be used as the default path. RTF_OUTPUT = rtf # If the COMPACT_RTF tag is set to YES Doxygen generates more compact # RTF documents. This may be useful for small projects and may help to # save some trees in general. COMPACT_RTF = NO # If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated # will contain hyperlink fields. The RTF file will # contain links (just like the HTML output) instead of page references. # This makes the output suitable for online browsing using WORD or other # programs which support those fields. # Note: wordpad (write) and others do not support links. RTF_HYPERLINKS = NO # Load stylesheet definitions from file. Syntax is similar to doxygen's # config file, i.e. a series of assignments. You only have to provide # replacements, missing definitions are set to their default value. RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an rtf document. # Syntax is similar to doxygen's config file. RTF_EXTENSIONS_FILE = #--------------------------------------------------------------------------- # configuration options related to the man page output #--------------------------------------------------------------------------- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will # generate man pages GENERATE_MAN = NO # The MAN_OUTPUT tag is used to specify where the man pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `man' will be used as the default path. MAN_OUTPUT = man # The MAN_EXTENSION tag determines the extension that is added to # the generated man pages (default is the subroutine's section .3) MAN_EXTENSION = .3 # If the MAN_LINKS tag is set to YES and Doxygen generates man output, # then it will generate one additional man file for each entity # documented in the real man page(s). These additional files # only source the real man page, but without them the man command # would be unable to find the correct page. The default is NO. MAN_LINKS = NO #--------------------------------------------------------------------------- # configuration options related to the XML output #--------------------------------------------------------------------------- # If the GENERATE_XML tag is set to YES Doxygen will # generate an XML file that captures the structure of # the code including all documentation. GENERATE_XML = NO # The XML_OUTPUT tag is used to specify where the XML pages will be put. # If a relative path is entered the value of OUTPUT_DIRECTORY will be # put in front of it. If left blank `xml' will be used as the default path. XML_OUTPUT = xml # The XML_SCHEMA tag can be used to specify an XML schema, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_SCHEMA = # The XML_DTD tag can be used to specify an XML DTD, # which can be used by a validating XML parser to check the # syntax of the XML files. XML_DTD = # If the XML_PROGRAMLISTING tag is set to YES Doxygen will # dump the program listings (including syntax highlighting # and cross-referencing information) to the XML output. Note that # enabling this will significantly increase the size of the XML output. XML_PROGRAMLISTING = YES #--------------------------------------------------------------------------- # configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- # If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will # generate an AutoGen Definitions (see autogen.sf.net) file # that captures the structure of the code including all # documentation. Note that this feature is still experimental # and incomplete at the moment. GENERATE_AUTOGEN_DEF = NO #--------------------------------------------------------------------------- # configuration options related to the Perl module output #--------------------------------------------------------------------------- # If the GENERATE_PERLMOD tag is set to YES Doxygen will # generate a Perl module file that captures the structure of # the code including all documentation. Note that this # feature is still experimental and incomplete at the # moment. GENERATE_PERLMOD = NO # If the PERLMOD_LATEX tag is set to YES Doxygen will generate # the necessary Makefile rules, Perl scripts and LaTeX code to be able # to generate PDF and DVI output from the Perl module output. PERLMOD_LATEX = NO # If the PERLMOD_PRETTY tag is set to YES the Perl module output will be # nicely formatted so it can be parsed by a human reader. This is useful # if you want to understand what is going on. On the other hand, if this # tag is set to NO the size of the Perl module output will be much smaller # and Perl will parse it just the same. PERLMOD_PRETTY = YES # The names of the make variables in the generated doxyrules.make file # are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX. # This is useful so different doxyrules.make files included by the same # Makefile don't overwrite each other's variables. PERLMOD_MAKEVAR_PREFIX = #--------------------------------------------------------------------------- # Configuration options related to the preprocessor #--------------------------------------------------------------------------- # If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will # evaluate all C-preprocessor directives found in the sources and include # files. ENABLE_PREPROCESSING = YES # If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro # names in the source code. If set to NO (the default) only conditional # compilation will be performed. Macro expansion can be done in a controlled # way by setting EXPAND_ONLY_PREDEF to YES. MACRO_EXPANSION = YES # If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES # then the macro expansion is limited to the macros specified with the # PREDEFINED and EXPAND_AS_PREDEFINED tags. EXPAND_ONLY_PREDEF = YES # If the SEARCH_INCLUDES tag is set to YES (the default) the includes files # in the INCLUDE_PATH (see below) will be search if a #include is found. SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by # the preprocessor. INCLUDE_PATH = # You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard # patterns (like *.h and *.hpp) to filter out the header-files in the # directories. If left blank, the patterns specified with FILE_PATTERNS will # be used. INCLUDE_FILE_PATTERNS = # The PREDEFINED tag can be used to specify one or more macro names that # are defined before the preprocessor is started (similar to the -D option of # gcc). The argument of the tag is a list of macros of the form: name # or name=definition (no spaces). If the definition and the = are # omitted =1 is assumed. To prevent a macro definition from being # undefined via #undef or recursively expanded use the := operator # instead of the = operator. PREDEFINED = AXIS2_DECLARE(x)=x \ AXIS2_DECLARE_NONSTD(x)=x \ AXIS2_DECLARE_DATA= \ AXIS2_CALL= # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then # this tag can be used to specify a list of macro names that should be expanded. # The macro definition that is found in the sources will be used. # Use the PREDEFINED tag if you want to use a different macro definition. EXPAND_AS_DEFINED = AXIS2_DECLARAE AXIS2_DECLARE_NONSTD AXIS2_DECLARE_DATA AXIS2_CALL # If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then # doxygen's preprocessor will remove all function-like macros that are alone # on a line, have an all uppercase name, and do not end with a semicolon. Such # function macros are typically used for boiler-plate code, and will confuse # the parser if not removed. SKIP_FUNCTION_MACROS = YES #--------------------------------------------------------------------------- # Configuration::additions related to external references #--------------------------------------------------------------------------- # The TAGFILES option can be used to specify one or more tagfiles. # Optionally an initial location of the external documentation # can be added for each tagfile. The format of a tag file without # this location is as follows: # TAGFILES = file1 file2 ... # Adding location for the tag files is done as follows: # TAGFILES = file1=loc1 "file2 = loc2" ... # where "loc1" and "loc2" can be relative or absolute paths or # URLs. If a location is present for each tag, the installdox tool # does not have to be run to correct the links. # Note that each tag file must have a unique name # (where the name does NOT include the path) # If a tag file is not located in the directory in which doxygen # is run, you must also specify the path to the tagfile here. TAGFILES = # When a file name is specified after GENERATE_TAGFILE, doxygen will create # a tag file that is based on the input files it reads. GENERATE_TAGFILE = # If the ALLEXTERNALS tag is set to YES all external classes will be listed # in the class index. If set to NO only the inherited external classes # will be listed. ALLEXTERNALS = NO # If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed # in the modules index. If set to NO, only the current project's groups will # be listed. EXTERNAL_GROUPS = YES # The PERL_PATH should be the absolute path and name of the perl script # interpreter (i.e. the result of `which perl'). PERL_PATH = /usr/bin/perl #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- # If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will # generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base # or super classes. Setting the tag to NO turns the diagrams off. Note that # this option is superseded by the HAVE_DOT option below. This is only a # fallback. It is recommended to install and use dot, since it yields more # powerful graphs. CLASS_DIAGRAMS = YES # If set to YES, the inheritance and collaboration graphs will hide # inheritance and usage relations if the target is undocumented # or is not a class. HIDE_UNDOC_RELATIONS = YES # If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is # available from the path. This tool is part of Graphviz, a graph visualization # toolkit from AT&T and Lucent Bell Labs. The other options in this section # have no effect if this option is set to NO (the default) HAVE_DOT = NO # If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect inheritance relations. Setting this tag to YES will force the # the CLASS_DIAGRAMS tag to NO. CLASS_GRAPH = YES # If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen # will generate a graph for each documented class showing the direct and # indirect implementation dependencies (inheritance, containment, and # class references variables) of the class with other documented classes. COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen # will generate a graph for groups, showing the direct groups dependencies GROUP_GRAPHS = YES # If the UML_LOOK tag is set to YES doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. UML_LOOK = NO # If set to YES, the inheritance and collaboration graphs will show the # relations between templates and their instances. TEMPLATE_RELATIONS = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT # tags are set to YES then doxygen will generate a graph for each documented # file showing the direct and indirect include dependencies of the file with # other documented files. INCLUDE_GRAPH = YES # If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and # HAVE_DOT tags are set to YES then doxygen will generate a graph for each # documented header file showing the documented files that directly or # indirectly include this file. INCLUDED_BY_GRAPH = YES # If the CALL_GRAPH and HAVE_DOT tags are set to YES then doxygen will # generate a call dependency graph for every global function or class method. # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected # functions only using the \callgraph command. CALL_GRAPH = NO # If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen # will graphical hierarchy of all classes instead of a textual one. GRAPHICAL_HIERARCHY = YES # If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES # then doxygen will show the dependencies a directory has on other directories # in a graphical way. The dependency relations are determined by the #include # relations between the files in the directories. DIRECTORY_GRAPH = YES # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images # generated by dot. Possible values are png, jpg, or gif # If left blank png will be used. DOT_IMAGE_FORMAT = gif # The tag DOT_PATH can be used to specify the path where the dot tool can be # found. If left blank, it is assumed the dot tool can be found in the path. DOT_PATH = # The DOTFILE_DIRS tag can be used to specify one or more directories that # contain dot files that are included in the documentation (see the # \dotfile command). DOTFILE_DIRS = # The MAX_DOT_GRAPH_WIDTH tag can be used to set the maximum allowed width # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_WIDTH = 1024 # The MAX_DOT_GRAPH_HEIGHT tag can be used to set the maximum allows height # (in pixels) of the graphs generated by dot. If a graph becomes larger than # this value, doxygen will try to truncate the graph, so that it fits within # the specified constraint. Beware that most browsers cannot cope with very # large images. MAX_DOT_GRAPH_HEIGHT = 1024 # The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the # graphs generated by dot. A depth value of 3 means that only nodes reachable # from the root by following a path via at most 3 edges will be shown. Nodes # that lay further from the root node will be omitted. Note that setting this # option to 1 or 2 may greatly reduce the computation time needed for large # code bases. Also note that a graph may be further truncated if the graph's # image dimensions are not sufficient to fit the graph (see MAX_DOT_GRAPH_WIDTH # and MAX_DOT_GRAPH_HEIGHT). If 0 is used for the depth value (the default), # the graph is not depth-constrained. MAX_DOT_GRAPH_DEPTH = 0 # Set the DOT_TRANSPARENT tag to YES to generate images with a transparent # background. This is disabled by default, which results in a white background. # Warning: Depending on the platform used, enabling this option may lead to # badly anti-aliased labels on the edges of a graph (i.e. they become hard to # read). DOT_TRANSPARENT = NO # Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) # support this, this feature is disabled by default. DOT_MULTI_TARGETS = NO # If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will # generate a legend page explaining the meaning of the various boxes and # arrows in the dot generated graphs. GENERATE_LEGEND = YES # If the DOT_CLEANUP tag is set to YES (the default) Doxygen will # remove the intermediate dot files that are used to generate # the various graphs. DOT_CLEANUP = YES #--------------------------------------------------------------------------- # Configuration::additions related to the search engine #--------------------------------------------------------------------------- # The SEARCHENGINE tag specifies whether or not a search engine should be # used. If set to NO the values of all tags below this one will be ignored. SEARCHENGINE = YES axis2c-src-1.6.0/docs/docs/0000777000175000017500000000000011172017604016517 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/om_tutorial.html0000644000175000017500000007774611172017604021764 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - AXOM Tutorial

Apache Axis2/C AXIOM Tutorial

Introduction

What is AXIOM?

AXIOM stands for AXis Object Model and refers to the XML infoset model that is developed for Apache Axis2. XML infoset refers to the information included inside the XML. For programmatical manipulation, it is convenient to have a representation of this XML infoset in a language specific manner. DOM and JDOM are two such XML models. AXIOM is conceptually similar to such an XML model in its external behavior but deep down it is very different.

The objective of this tutorial is to introduce the basics of AXIOM/C and explain the best practices while using AXIOM.

AXIOM/C is a C equivalant of AXIOM/Java. We have done our best to get almost the same kind of API in C.

For whom is this tutorial?

This tutorial can be used by anybody who is interested and wants to go deeper in to AXIOM/C. Knowledge in similar object models such as DOM will be helpful in understanding AXIOM, but such knowledge has not been assumed. Several links are listed in the links section that will help you understand the basics of XML.

What is Pull Parsing ?

Pull parsing is a new trend in XML processing. The previously popular XML processing frameworks such as DOM were "push-based", which means that the control of parsing was with the parser itself. This approach is fine and easy to use, but it is not efficient in handling large XML documents since a complete memory model will be generated in the memory. Pull parsing inverts the control and hence the parser only proceeds at the user's command. The user can decide to store or discard events generated from the parser. AXIOM is based on pull parsing. To learn more about XML pull parsing, see the XML pull parsing introduction.

Features of AXIOM

AXIOM is a lightweight, differed built XML infoset representation based on StAX API derived from JSR 173, which is the standard streaming pull parser API. AXIOM can be manipulated as flexibly as any other object model such as JDOM, but underneath, the objects will be created only when they are absolutely required. This leads to much less memory-intensive programming.

The following is a short feature overview of AXIOM.

  • Lightweight: AXIOM is specifically targeted to be lightweight. This is achieved by reducing the depth of the hierarchy, the number of methods, and the attributes enclosed in the objects. This makes the objects less memory intensive.
  • Differed building: By far, this is the most important feature of AXIOM. The objects are not made unless a need arises for them. This passes the control of building to the object model itself, rather than an external builder.
  • Pull based: For a differed building mechanism, a pull-based parser is required. AXIOM is based on StAX, which is the standard pull parser API.

    Since different XML parsers offer different kinds of pull parser APIs, we define an API derived from StAX. That API is defined in axiom_xml_reader.h. Similarly, we define an XML writer API in axiom_xml_writer.h. These two APIs work as an abstarction layer between any XML parser and AXIOM. So any parser that is going to be used for AXIOM should implement the axiom_xml_reader API and the axiom_xml_writer API using a wrapper layer.

    Currenly we use Libxml2 as our default XML parser.

The AXIOM Builder wraps the raw XML character stream through the axiom_xml_reader API. Hence the complexities of the pull event stream are hidden from the user.

Where does SOAP come into play?

In a nutshell, SOAP is an information exchange protocol based on XML. SOAP has a defined set of XML elements that should be used in messages. Since Axis2 is a "SOAP Engine" and AXIOM is designed for Axis2, a SOAP specific API was implemented on top of AXIOM. We have defined a number of structs to represent SOAP constructs, which wrap general AXIOM structures. Learn more about SOAP.

Working with AXIOM

Axis2/C Environment

Before starting the discussion on AXIOM, it is necessary to get a good understanding of the basics of Axis2/C. Axis2/C is designed to be pluggable to any system written in C or C++. Therefore, Axis2/C has abstracted the functionalities that differ from system to system into a structure axutil_env_t, which we refer to as the Axis2 environment. The environment holds axutil_allocator_t, which is used for memory allocation and deallocation, axutil_error_t, which is used for error reporting, axutil_log_t, which is used for logging mechanisms, and axutil_thread_t which is used for threading mechanisms.

When creating the Axis2 environment, the first thing is to create the allocator.

axutil_allocator_t *allocator = NULL;

allocator = axutil_allocator_init(NULL);

We pass NULL to the above function in order to use the default allocator functions. Then the allocator functions will use the malloc, and free functions for memory management. If you have your own allocator structure, with custom malloc and free functions, you can pass them instead.

Convenient macros AXIS2_MALLOC and AXIS2_FREE are defined to use allocator functions (please have a look at axutil_allocator.h for more information).

In a similar fashion, you can create the error and log structures.

axutil_log_t *log = NULL;

axutil_error_t *error = NULL;

log = axutil_log_create(allocator, NULL, NULL);

log = axutil_log_create(allocator, NULL, "mylog.log");

Now we can create the environment by parsing the allocator, error and log to axutil_env_create_with_error_log() function.

axutil_env_t *env = NULL;

env = axutil_env_create_with_error_log(allocator, error, log);

Apart from the above abstraction, all the other library functions used are ANSI C compliant. Further, platform dependent functions are also abstracted.

As a rule of thumb, all create functions take a pointer to the environment as its first argument, and all the other functions take pointer to this particular struct as the first argument, and a pointer to the environment as the second argument. (Please refer to our coding convention page to learn more about this.)

Example,

axiom_node_t *node = NULL;

axiom_node_t *child = NULL;

node = axiom_node_create(env);

child = axiom_node_get_first_child(node, env);

Note that we are passing the node (pointer to axiom_node_t ) as the first argument and the pointer to the environment as the second.

Building AXIOM

This section explains how AXIOM can be built either from an existing document or programmatically. AXIOM provides a notion of a builder to create objects. Since AXIOM is tightly bound to StAX, a StAX compliant reader should be created first with the desired input stream.

In our AXIOM implementation, we define a struct axiom_node_t which acts as the container of the other structs. axiom_node_t maintains the links that form the linked list used to hold the AXIOM structure.

To traverse this structure, the functions defined in axiom_node.h must be used. To access XML information, the 'data element' struct stored in axiom_node_t must be obtained using the axiom_node_get_data_element function. The type of the struct stored in the axiom_node_t struct can be obtained by the axiom_node_get_node_type function. When we create axiom_element_t, axiom_text_t etc., it is required to parse a double pointer to the node struct as the last parameter of the create function, so that the corresponding node struct can be referenced using that pointer.

Example

axiom_node_t *my_node = NULL;

axiom_element_t *my_ele = NULL;

my_ele = axiom_element_create(env, NULL, "MY_ELEMENT", NULL, &my_node);

Now if we call the axiom_node_get_node_type function on the my_node pointer, it will return AXIOM_ELEMENT.

Code Listing 1

axiom_xml_reader_t *xml_reader = NULL;
axiom_stax_builder_t *om_builder = NULL;
axiom_soap_builder_t *soap_builder = NULL;
axiom_soap_envelope_t *soap_envelope = NULL;

xml_reader = axiom_xml_reader_create_for_file(env, "test_soap.xml", NULL);

om_builder = axiom_stax_builder_create(env, xml_reader);

soap_builder = axiom_soap_builder_create(env, om_builder , AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI);

soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env);

As the example shows, creating an AXIOM from xml_reader is pretty straight forward. Elements and nodes can be created programmatically to modify the structure as well. Currently AXIOM has two builders, namely the axiom_stax_builder_t and the axiom_soap_builder_t. These builders provide the necessary information to the XML infoset model to build the AXIOM tree.

Code Listing 2

axiom_namespace_t *ns1 = NULL;
axiom_namespace_t *ns2 = NULL;

axiom_element_t* root_ele = NULL;
axiom_node_t*    root_ele_node = NULL;

axiom_element_t *ele1      = NULL;
axiom_node_t *ele1_node = NULL;

ns1 = axiom_namespace_create(env, "bar", "x");
ns2 = axiom_namespace_create(env, "bar1", "y");

root_ele = axiom_element_create(env, NULL, "root", ns1, &root_ele_node);
ele1     = axiom_element_create(env, root_node, "foo1", ns2, &ele1_node);

Several differences exist between a programmatically created axiom_node_t and a conventionally built axiom_node_t. The most important difference is that the latter will have a pointer to its builder, where as the former does not have a builder.

The SOAP struct hierarchy is made in the most natural way for a programmer. It acts as a wrapper layer on top of the AXIOM implementation. The SOAP structs wrap the corresponding axiom_node_t structs to store XML information.

Adding and Detaching Nodes

Addition and removal methods are defined in the axiom_node.h header file.

Code Listing 3

Add child operation

axis2_status_t
axiom_node_add_child(axiom_node_t *om_node,  
    const axutil_env_t *env, 
    axiom_node_t *child_node);

Detach operation

axiom_node_t *
axiom_node_detach(axiom_node_t *om_node, 
    const axutil_env_t *env);

The detach operation resets the links and removes a node from the AXIOM tree.

This code segment shows how child addition can be done.

Code Listing 4

axiom_node_t *foo_node = NULL;
axiom_element_t *foo_ele = NULL;
axiom_node_t *bar_node = NULL;
axiom_element_t *bar_ele = NULL;

foo_ele = axiom_element_create(env, NULL, "FOO", NULL, &foo_node);
bar_ele = axiom_element_create(env, NULL, "BAR", NULL. &bar_node); 
axiom_node_add_child(foo_node, env, bar_node);

Alternatively, we can pass the foo_node as the parent node at the time of creating the bar_ele as follows.

 bar_ele = axiom_element_create(env, foo_node, "BAR", NULL, &bar_node);

The following shows important methods available in axiom_element to be used to deal with namespaces.

Code Listing 5

axiom_namespace_t * 
axiom_element_declare_namespace(axiom_element_t *om_ele,  
    const axutil_env_t *env, 
    axiom_node_t *om_node, 
    axiom_namespace_t *om_ns);

axiom_namespace_t * 
axiom_element_find_namespace(axiom_element_t *om_ele,
    const axutil_env_t *env, 
    axiom_node_t *om_node, 
    axis2_char_t *uri, 
    axis2_char_t *prefix);

axiom_namespace_t *
axiom_element_find_declared_namespace(axiom_element_t *om_element,
    const axutil_env_t *env,
    axis2_char_t *uri,
    axis2_char_t *prefix);

axis2_status_t
axiom_element_set_namespace(axiom_element_t *om_element,
    const axutil_env_t *env,
    axiom_namespace_t *ns,
    axiom_node_t *element_node);

An axiom_element has a namespace list, the declared namespaces, and a pointer to its own namespace if one exists.

The axiom_element_declare_namespace function is straight forward. It adds a namespace to the declared namespace list. Note that a namespace that is already declared will not be declared again.

axiom_element_find_namespace is a very handy method to locate a namespace in the AXIOM tree. It searches for a matching namespace in its own declared namespace list and jumps to the parent if it's not found. The search progresses up the tree until a matching namespace is found or the root has been reached.

axiom_element_find_declared_namespace can be used to search for a namespace in the current element's declared namespace list.

axiom_element_set_namespace sets axiom_element's own namespace. Note that an element's own namespace should be declared in its own namespace declaration list or in one of its parent elements. This method first searches for a matching namespace using axiom_element_find_namespace and if a matching namespace is not found, a namespace is declared to this axiom_element's namespace declarations list before setting the own namespace reference.

The following sample code segment shows how the namespaces are dealt with in AXIOM.

Code Listing 6

axiom_namespace_t *ns1 = NULL;
axiom_namespace_t *ns2 = NULL;
axiom_namespace_t *ns3 = NULL;

axiom_node_t *root_node = NULL;
axiom_element_t *root_ele = NULL;

axiom_node_t *ele1_node = NULL;
axiom_element_t *ele1   = NULL;

axiom_node_t *text_node = NULL;
axiom_text_t *om_text   = NULL;

ns1 = axiom_namespace_create(env, "bar", "x");
ns2 = axiom_namespace_create(env, "bar1", "y");

root_ele = axiom_element_create(env, NULL , "root", ns1, &root_node);
ele1     = axiom_element_create(env, root_node, "foo", ns2, &ele1_node);
om_text  = axiom_text_create(env, ele1_node, "blah", &text_node);

Serialization of the root element produces the following XML:

<x:root xmlns:x="bar">
  <y:foo xmlns:y="bar1">blah</y:foo>
</x:root>

If we want to produce

<x:foo xmlns:x="bar" xmlns:y="bar1">Test</x:foo>

we can use set_namespace and declare namespace functions as follows.

axiom_node_t *foo_node = NULL;
axiom_element_t *foo_ele  = NULL;
axiom_namespace_t *ns1 = NULL;
axiom_namespace_t *ns2 = NULL;

foo_ele = axiom_element_create(env, NULL,"foo" ,NULL, &foo_node);

ns1 = axiom_namespace_create(env, "bar", "x");
ns2 = axiom_namespace_create(env, "bar1","y");

axiom_element_set_namespace(foo_ele, env, ns1, foo_node);
axiom_element_declare_namespace(foo_ele, env, ns2, foo_node);
axiom_element_set_text(foo_ele, env, "Test", &foo_node);

Traversing

Traversing the AXIOM structure can be done by obtaining an iterator struct. You can either call the appropriate function on an AXIOM element or create the iterator manually. AXIOM/C offers three iterators to traverse the AXIOM structure. They are:

  • axiom_children_iterator_t
  • axiom_child_element_iterator_t
  • axiom_children_qname_iterator_t

The iterator supports the 'AXIOM way' of accessing elements and is more convenient than a list for sequential access. The following code sample shows how the children can be accessed. The children can be of type AXIOM_TEXT or AXIOM_ELEMENT.

Code Listing 7

axiom_children_iterator_t *children_iter = NULL;
children_iter = axiom_element_get_children(om_ele, env, om_node);
if(NULL != children_iter )
{
    while(axiom_children_iterator_has_next(children_iter, env))
    {
        axiom_node_t *node = NULL;
        node = axiom_children_iterator_next(children_iter, env);
        if(NULL != node)
        {
           if(axiom_node_get_node_type(node, env) == AXIOM_ELEMENT)
           {
               /* processing logic goes here */
           }
        } 

    }
}

Apart from this, every axiom_node_t struct has links to its siblings. If a thorough navigation is needed, the axiom_node_get_next_sibling() and axiom_node_get_previous_sibling() functions can be used. A restrictive set can be chosen by using axiom_element_xxx_with_qname() methods. The axiom_element_get_first_child_with_qname() method returns the first child that matches the given axutil_qname_t and axiom_element_get_children_with_qname() returns axiom_children_qname_iterator_t which can be used to traverse all the matching children. The advantage of these iterators is that they won't build the whole object structure at once; it builds only what is required.

Internally, all iterator implementations stay one step ahead of their apparent location to provide the correct value for the has_next() function . This hidden advancement can build elements that are not intended to be built at all.

Serialization

AXIOM can be serialized using the axiom_node_serialize function. The serialization uses axiom_xml_writer.h and axiom_output.h APIs.

Here is an example that shows how to write the output to the console (we have serialized the SOAP envelope created in code listing 1).

Code Listing 8

axiom_xml_writer_t *xml_writer = NULL;
axiom_output_t *om_output = NULL;
axis2_char_t *buffer = NULL;

..............

xml_writer = axiom_xml_writer_create(env, NULL, 0, 0);
om_output = axiom_output_create(env, xml_writer);

axiom_soap_envelope_serialize(envelope, env, om_output);
buffer = (axis2_char_t*)axis2_xml_writer_get_xml(xml_writer, env);
printf("%s ", buffer);

An easy way to serialize is to use the to_string function in om_element

Code Listing 9

axis2_char_t *xml_output = NULL; 
axiom_node_t *foo_node = NULL;
axiom_element_t *foo_ele = NULL;
axiom_namespace_t* ns = NULL;

ns = axiom_namespace_create(env, "bar", "x");

foo_ele = axiom_element_create(env, NULL, "foo", ns, &foo_node);

axiom_element_set_text(foo_ele, env, "EASY SERAILIZATION", foo_node);

xml_output = axiom_element_to_string(foo_ele, env, foo_node);

printf("%s", xml_output);
AXIS2_FREE(env->allocator, xml_output);

Note that freeing the returned buffer is the user's responsibility.

Using axiom_xml_reader and axiom_xml_writer

axiom_xml_reader provides three create functions that can be used for different XML input sources.

  • axiom_xml_reader_create_for_file can be used to read from a file
  • axiom_xml_reader_create_for_io uses a user defined callback function to pull XML
  • axiom_xml_reader_create_for_memory can be used to read from an XML string that is in a character buffer

ls of the latest version can be found on the Apache Axis2/C

  • axiom_xml_writer_create_for_file can be used to write to a file
  • axiom_xml_writer_create_for_memory can be used to write to an internal memory buffer and obtain the XML string as a character buffer

Please refer to axiom_xml_reader.h and axiom_xml_writer.h for more information.

How to Avoid Memory Leaks and Double Frees When Using AXIOM

You have to be extremely careful when using AXIOM, in order to avoid memory leaks and double free errors. The following guidelines will be extremely useful:

1. The axiom_element struct keeps a list of attributes and a list of namespaces, when an axiom_namespace pointer or an axiom_attribute pointer is added to these lists, which will be freed when the axiom_element is freed. Therefore a pointer to a namespace or an attribute should not be freed, once it is used with an axiom_element.

To avoid any inconvenience, clone functions have been implemented for both the axiom_namespace and axiom_attribute structures.

2. AXIOM returns shallow references to its string values. Therefore, when you want deep copies of returned values, the axutil_strdup() function should be used to avoid double free errors.

Example

axiom_namespace_t *ns = NULL;

axis2_char_t *uri = NULL;

ns = axiom_namespace_create(env, "http://ws.apache.org", "AXIOM");

uri = axiom_namespace_get_uri(ns, env);

/* now uri points to the same place where namespace struct's uri

pointer is pointing. Therefore following will cause a double free */

AXIS2_FREE(env->allocator, uri);

axiom_namespace_free(ns, env);

3. When creating AXIOM programatically, if you are declaring a namespace with an axiom_element, it is advisable to find whether the namespace is already available in the elements scope using the axiom_element_find_namespace function. If available, that pointer can be used instead of creating another namespace struct instance to minimize memory usage.

Complete Code for the AXIOM Based Document Building and Serialization

The following code segment shows how to use AXIOM for building a document completely and then serializing it into text, pushing the output to the console.

Code Listing 10

#include <axiom.h>
#include <axis2_util.h>
#include <axutil_env.h>
#include <axutil_log_default.h>
#include <axutil_error_default.h>
#include <stdio.h>

FILE *f = NULL;
int read_input_callback(char *buffer, int size, void* ctx)
{
     fread(buffer, (char), size, f);
}
int close_input_callback(void *ctx)
{
     fclose(f);
}
axutil_env_t * create_environment()
{
    axutil_allocator_t *allocator = NULL;
    axutil_env_t *env = NULL;
    axutil_log_t *log = NULL;

    axutil_error_t *error = NULL;
    allocator = axutil_allocator_init(NULL);
    log = axutil_log_create(allocator, NULL, NULL);

    error = axutil_error_create(allocator);
    env = axutil_env_create_with_error_log(allocator, error, log);
     env;
}

build_and_serialize_om(axutil_env_t *env)
{
    axiom_node_t *root_node = NULL;

    axiom_element_t *root_ele = NULL;
    axiom_document_t *document = NULL;
    axiom_stax_builder_t *om_builder = NULL;

    axiom_xml_reader_t *xml_reader = NULL;
    axiom_xml_writer_t *xml_writer = NULL;
    axiom_output_t *om_output = NULL;

    axis2_char_t *buffer = NULL;
    
    f = fopen("test.xml","r");
    xml_reader = axiom_xml_reader_create_for_io(env, read_input_callback,
                                                    close_input_callback, NULL, NULL);
    (!xml_reader)
         -1;

    om_builder = axiom_stax_builder_create(env, xml_reader);
    (!om_builder)
    {
        axiom_xml_reader_free(xml_reader, env);
         AXIS2_FAILURE;
    }
    document = axiom_stax_builder_get_document(om_builder, env);
    (!document)
    {
         axiom_stax_builder_free(om_builder, env);
         AXIS2_FAILURE;
    }
    
    root_node = axiom_document_get_root_element(document, env);
    (!root_node)
    {
        axiom_stax_builder_free(om_builder, env);
         AXIS2_FAILURE;
    }        
    (root_node)
    {
        (axiom_node_get_node_type(root_node, env) == AXIOM_ELEMENT)
        {
            root_ele = (axiom_element_t*)axiom_node_get_data_element(root_node, env);
            (root_ele)
            {
   printf(" %s" ,axiom_element_get_localname(root_ele, env));
            }
        }
    }

    axiom_document_build_all(document, env);
    axiom_document_build_all(document, env);

    xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER);

    om_output = axiom_output_create(env, xml_writer);

    axiom_node_serialize(root_node, env, om_output);

    buffer = (axis2_char_t*)axiom_xml_writer_get_xml(xml_writer, env);

    printf("The output XML is ->>>>\n %s ", buffer);
  
    
    
    axiom_output_free(om_output, env);
    
    
    axiom_stax_builder_free(om_builder, env);
    
     AXIS2_SUCCESS;
    
}
int main()
{
    int status = AXIS2_SUCCESS;
    
    axutil_env_t *env = NULL;
    axutil_allocator_t *allocator = NULL;
    env = create_environment();

    status = build_and_serialize_om(env);

    (status == AXIS2_FAILURE)
    {
        printf(" build AXIOM failed");
    }
    
    axutil_env_free(env);
    
     0;
}




axis2c-src-1.6.0/docs/docs/hello/0000777000175000017500000000000011172017604017622 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/hello/service/0000777000175000017500000000000011172017604021262 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/hello/service/hello_svc.c0000644000175000017500000001263311172017604023405 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include axiom_node_t *axis2_hello_greet( const axutil_env_t * env, axiom_node_t * node); int AXIS2_CALL hello_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); axiom_node_t *AXIS2_CALL hello_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL hello_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); axiom_node_t *AXIS2_CALL hello_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node); axiom_node_t *build_greeting_response( const axutil_env_t * env, axis2_char_t * greeting); axiom_node_t * axis2_hello_greet( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *client_greeting_node = NULL; axiom_node_t *return_node = NULL; AXIS2_ENV_CHECK(env, NULL); if (node) { client_greeting_node = axiom_node_get_first_child(node, env); if (client_greeting_node && axiom_node_get_node_type(client_greeting_node, env) == AXIOM_TEXT) { axiom_text_t *greeting = (axiom_text_t *) axiom_node_get_data_element(client_greeting_node, env); if (greeting && axiom_text_get_value(greeting, env)) { const axis2_char_t *greeting_str = axiom_text_get_value(greeting, env); printf("Client greeted saying \"%s\" \n", greeting_str); return_node = build_greeting_response(env, "Hello Client!"); } } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("ERROR: invalid XML in request\n"); return_node = build_greeting_response(env, "Client! Who are you?"); } return return_node; } axiom_node_t * build_greeting_response( const axutil_env_t * env, axis2_char_t * greeting) { axiom_node_t *greeting_om_node = NULL; axiom_element_t *greeting_om_ele = NULL; greeting_om_ele = axiom_element_create(env, NULL, "greetResponse", NULL, &greeting_om_node); axiom_element_set_text(greeting_om_ele, env, greeting, greeting_om_node); return greeting_om_node; } static const axis2_svc_skeleton_ops_t hello_svc_skeleton_ops_var = { hello_init, hello_invoke, hello_on_fault, hello_free }; axis2_svc_skeleton_t * axis2_hello_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &hello_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL hello_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { svc_skeleton->func_array = axutil_array_list_create(env, 0); axutil_array_list_add(svc_skeleton->func_array, env, "helloString"); return AXIS2_SUCCESS; } axiom_node_t *AXIS2_CALL hello_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { return axis2_hello_greet(env, node); } axiom_node_t *AXIS2_CALL hello_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *error_node = NULL; axiom_node_t *text_node = NULL; axiom_element_t *error_ele = NULL; error_ele = axiom_element_create(env, node, "EchoServiceError", NULL, &error_node); axiom_element_set_text(error_ele, env, "Echo service failed ", text_node); return error_node; } int AXIS2_CALL hello_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton->func_array) { axutil_array_list_free(svc_skeleton->func_array, env); svc_skeleton->func_array = NULL; } if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_get_instance( axis2_svc_skeleton_t ** inst, const axutil_env_t * env) { *inst = axis2_hello_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/docs/docs/hello/service/hello/0000777000175000017500000000000011172017604022365 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/hello/service/hello/services.html0000644000175000017500000000031211172017604025066 0ustar00manjulamanjula00000000000000 hello Quick start guide hello service sample. axis2c-src-1.6.0/docs/docs/hello/service/hello_svc.c.html0000644000175000017500000004655711172017604024364 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - hello_svc.c
/*

 * Copyright 2004,2005 The Apache Software Foundation.

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *      http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */


#include <axis2_svc_skeleton.h>

#include <axutil_log_default.h>

#include <axutil_error_default.h>

#include <axutil_array_list.h>

#include <axiom_text.h>

#include <axiom_node.h>

#include <axiom_element.h>

#include <stdio.h>



axiom_node_t *axis2_hello_greet(const axutil_env_t *env,

        axiom_node_t *node);



int AXIS2_CALL

hello_free(axis2_svc_skeleton_t *svc_skeleton,

        const axutil_env_t *env);



axiom_node_tAXIS2_CALL

hello_invoke(axis2_svc_skeleton_t *svc_skeleton,

        const axutil_env_t *env,

        axiom_node_t *node,

        axis2_msg_ctx_t *msg_ctx);





int AXIS2_CALL

hello_init(axis2_svc_skeleton_t *svc_skeleton,

        const axutil_env_t *env);



axiom_node_tAXIS2_CALL

hello_on_fault(axis2_svc_skeleton_t *svc_skeli,

        const axutil_env_t *envaxiom_node_t *node);





axiom_node_t *

build_greeting_response(const axutil_env_t *env

        axis2_char_t *greeting);



axiom_node_t *

axis2_hello_greet(const axutil_env_t *envaxiom_node_t *node)

{

    axiom_node_t *client_greeting_node = NULL;

    axiom_node_t *return_node = NULL;



    AXIS2_ENV_CHECK(envNULL);



    if (node)

    {

        client_greeting_node = axiom_node_get_first_child(nodeenv);

        if (client_greeting_node &&

                axiom_node_get_node_type(client_greeting_nodeenv) == AXIOM_TEXT)

        {

            axiom_text_t *greeting = (axiom_text_t *)axiom_node_get_data_element(client_greeting_nodeenv);

            if (greeting && axiom_text_get_value(greeting , env))

            {

                const axis2_char_t *greeting_str = axiom_text_get_value(greetingenv);

                printf("Client greeted saying \"%s\" \n"greeting_str);

                return_node = build_greeting_response(env"Hello Client!");

            }

        }

    }

    else

    {

        AXIS2_ERROR_SET(env->errorAXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUESTAXIS2_FAILURE);

        printf("ERROR: invalid XML in request\n");

        return_node = build_greeting_response(env"Client! Who are you?");

    }



    return return_node;

}



axiom_node_t *

build_greeting_response(const axutil_env_t *envaxis2_char_t *greeting)

{

    axiom_node_tgreeting_om_node = NULL;

    axiom_element_t * greeting_om_ele = NULL;



    greeting_om_ele = axiom_element_create(envNULL"greetResponse"NULL, &greeting_om_node);



    axiom_element_set_text(greeting_om_eleenvgreetinggreeting_om_node);



    return greeting_om_node;

}



static const axis2_svc_skeleton_ops_t hello_svc_skeleton_ops_var = {

    hello_init,

    hello_invoke,

    hello_on_fault,

    hello_free

};



axis2_svc_skeleton_t *

axis2_hello_create(const axutil_env_t *env)

{

    axis2_svc_skeleton_t *svc_skeleton = NULL;

    svc_skeleton = AXIS2_MALLOC(env->allocator,

            sizeof(axis2_svc_skeleton_t));



    svc_skeleton->ops = &hello_svc_skeleton_ops_var;



    svc_skeleton->func_array = NULL;

 

    return svc_skeleton;

}



int AXIS2_CALL

hello_init(axis2_svc_skeleton_t *svc_skeleton,

        const axutil_env_t *env)

{

    svc_skeleton->func_array = axutil_array_list_create(env0);

    axutil_array_list_add(svc_skeleton->func_arrayenv"helloString");

    return AXIS2_SUCCESS;

}



axiom_node_tAXIS2_CALL

hello_invoke(axis2_svc_skeleton_t *svc_skeleton,

        const axutil_env_t *env,

        axiom_node_t *node,

        axis2_msg_ctx_t *msg_ctx)

{

    return axis2_hello_greet(envnode);

}



axiom_node_tAXIS2_CALL

hello_on_fault(axis2_svc_skeleton_t *svc_skeli,

        const axutil_env_t *envaxiom_node_t *node)

{

    axiom_node_t *error_node = NULL;

    axiom_node_ttext_node = NULL;

    axiom_element_t *error_ele = NULL;

    error_ele = axiom_element_create(envnode"EchoServiceError"NULL,

            &error_node);

    axiom_element_set_text(error_eleenv"Echo service failed ",

            text_node);

    return error_node;

}



int AXIS2_CALL

hello_free(axis2_svc_skeleton_t *svc_skeleton,

        const axutil_env_t *env)

{

    if (svc_skeleton->func_array)

    {

        axutil_array_list_free(svc_skeleton->func_arrayenv);

        svc_skeleton->func_array = NULL;

    }



    if (svc_skeleton)

    {

        AXIS2_FREE(env->allocatorsvc_skeleton);

        svc_skeleton = NULL;

    }



    return AXIS2_SUCCESS;

}





AXIS2_EXPORT int

axis2_get_instance(axis2_svc_skeleton_t **inst,

        const axutil_env_t *env)

{

    *inst = axis2_hello_create(env);

    if (!(*inst))

    {

        return AXIS2_FAILURE;

    }



    return AXIS2_SUCCESS;

}



AXIS2_EXPORT int

axis2_remove_instance(axis2_svc_skeleton_t *inst,

        const axutil_env_t *env)

{

    axis2_status_t status = AXIS2_FAILURE;

    if (inst)

    {

        status = AXIS2_SVC_SKELETON_FREE(instenv);

    }

    return status;

}







axis2c-src-1.6.0/docs/docs/hello/client/0000777000175000017500000000000011172017604021100 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/hello/client/hello.c.html0000644000175000017500000003771111172017604023317 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - hello.c
/*

 * Copyright 2004,2005 The Apache Software Foundation.

 *

 * Licensed under the Apache License, Version 2.0 (the "License");

 * you may not use this file except in compliance with the License.

 * You may obtain a copy of the License at

 *

 *      http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */




#include <stdio.h>

#include <axiom.h>

#include <axis2_util.h>

#include <axiom_soap.h>

#include <axis2_client.h>



axiom_node_t *

build_om_request(const axutil_env_t *env);



const axis2_char_t *

process_om_response(const axutil_env_t *env,

        axiom_node_t *node);



int main(int argcchar** argv)

{

    const axutil_env_t *env = NULL;

    const axis2_char_t *address = NULL;

    axis2_endpoint_ref_tendpoint_ref = NULL;

    axis2_options_t *options = NULL;

    const axis2_char_t *client_home = NULL;

    axis2_svc_client_tsvc_client = NULL;

    axiom_node_t *payload = NULL;

    axiom_node_t *ret_node = NULL;



    env = axutil_env_create_all("hello_client.log"AXIS2_LOG_LEVEL_TRACE);



    options = axis2_options_create(env);



    address = "http://localhost:9090/axis2/services/hello";

    if (argc > 1)

        address = argv[1];

    if (axutil_strcmp(address"-h") == 0)

    {

        printf("Usage : %s [endpoint_url]\n"argv[0]);

        printf("use -h for help\n");

        return 0;

    }

    printf("Using endpoint : %s\n"address);

    endpoint_ref = axis2_endpoint_ref_create(envaddress);

    axis2_options_set_to(optionsenvendpoint_ref);



    client_home = AXIS2_GETENV("AXIS2C_HOME");

    if (!client_home || !strcmp(client_home""))

        client_home = "../..";



    svc_client = axis2_svc_client_create(envclient_home);

    if (!svc_client)

    {

        printf("Error creating service client\n");

        AXIS2_LOG_ERROR(env->logAXIS2_LOG_SI"Stub invoke FAILED: Error code:"

                " %d :: %s"env->error->error_number,

                AXIS2_ERROR_GET_MESSAGE(env->error));

        return -1;

    }



    axis2_svc_client_set_options(svc_clientenvoptions);



    payload = build_om_request(env);



    ret_node = axis2_svc_client_send_receive(svc_clientenvpayload);



    if (ret_node)

    {

        const axis2_char_t *greeting = process_om_response(envret_node);

        if (greeting)

            printf("\nReceived greeting: \"%s\" from service\n"greeting);



        axiom_node_free_tree(ret_nodeenv);

        ret_node = NULL;

    }

    else

    {

        AXIS2_LOG_ERROR(env->logAXIS2_LOG_SI"Stub invoke FAILED: Error code:"

                " %d :: %s"env->error->error_number,

                AXIS2_ERROR_GET_MESSAGE(env->error));

        printf("hello client invoke FAILED!\n");

    }



    if (svc_client)

    {

        axis2_svc_client_free(svc_clientenv);

        svc_client = NULL;

    }



    if (env)

    {

        axutil_env_free((axutil_env_t *) env);

        env = NULL;

    }



    return 0;

}



axiom_node_t *

build_om_request(const axutil_env_t *env)

{

    axiom_node_tgreet_om_node = NULL;

    axiom_element_t * greet_om_ele = NULL;



    greet_om_ele = axiom_element_create(envNULL"greet"NULL, &greet_om_node);

    axiom_element_set_text(greet_om_eleenv"Hello Server!"greet_om_node);



    return greet_om_node;

}



const axis2_char_t *

process_om_response(const axutil_env_t *env,

        axiom_node_t *node)

{

    axiom_node_t *service_greeting_node = NULL;

    axiom_node_t *return_node = NULL;



    if (node)

    {

        service_greeting_node = axiom_node_get_first_child(nodeenv);

        if (service_greeting_node &&

                axiom_node_get_node_type(service_greeting_nodeenv) == AXIOM_TEXT)

        {

            axiom_text_t *greeting = (axiom_text_t *)axiom_node_get_data_element(service_greeting_nodeenv);

            if (greeting && axiom_text_get_value(greeting , env))

            {

                return axiom_text_get_value(greetingenv);

            }

        }

    }

    return NULL;

}





axis2c-src-1.6.0/docs/docs/hello/client/hello.c0000644000175000017500000001043611172017604022347 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include axiom_node_t *build_om_request( const axutil_env_t * env); const axis2_char_t *process_om_response( const axutil_env_t * env, axiom_node_t * node); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; env = axutil_env_create_all("hello_client.log", AXIS2_LOG_LEVEL_TRACE); options = axis2_options_create(env); address = "http://localhost:9090/axis2/services/hello"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); endpoint_ref = axis2_endpoint_ref_create(env, address); axis2_options_set_to(options, env, endpoint_ref); client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf("Error creating service client\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } axis2_svc_client_set_options(svc_client, env, options); payload = build_om_request(env); ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { const axis2_char_t *greeting = process_om_response(env, ret_node); if (greeting) printf("\nReceived greeting: \"%s\" from service\n", greeting); axiom_node_free_tree(ret_node, env); ret_node = NULL; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("hello client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axiom_node_t * build_om_request( const axutil_env_t * env) { axiom_node_t *greet_om_node = NULL; axiom_element_t *greet_om_ele = NULL; greet_om_ele = axiom_element_create(env, NULL, "greet", NULL, &greet_om_node); axiom_element_set_text(greet_om_ele, env, "Hello Server!", greet_om_node); return greet_om_node; } const axis2_char_t * process_om_response( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *service_greeting_node = NULL; axiom_node_t *return_node = NULL; if (node) { service_greeting_node = axiom_node_get_first_child(node, env); if (service_greeting_node && axiom_node_get_node_type(service_greeting_node, env) == AXIOM_TEXT) { axiom_text_t *greeting = (axiom_text_t *) axiom_node_get_data_element(service_greeting_node, env); if (greeting && axiom_text_get_value(greeting, env)) { return axiom_text_get_value(greeting, env); } } } return NULL; } axis2c-src-1.6.0/docs/docs/faq.html0000644000175000017500000003152311172017604020154 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - FAQ

Apache Axis2/C Frequently Asked Questions

Mentioned below are a list of Frequently Asked Questions appearing on Axis2/C mailing lists, and Forums.

For questions not appearing below, or for any further clarifications please do not hesitate to contact the Apache Axis2/C user mailing list: axis-c-user@ws.apache.org (Subscription details are available on the Axis2 site.) Please remember to prefix the subject with [Axis2].



1. Introduction

1.1 What is Axis2/C?

Apache Axis2/C is a web services engine implemented in the C programming language based around the Axis2 architecture. Axis2/C can be used to provide and consume web services. It has been implemented with portablity and the ability to embed and could readily be used as a web services enabler for other software.

1.2 Licensing

Apache Axis2/C is released under the Apache 2.0 License, a copy of the License is found in the LICENSE file found in your distribution. Apache Axis2/C also depends on several other projects of which licensing information are also included in the LICENSE file.

1.3 How can I obtain Axis2/C?

Apache Axis2/C can be freely downloaded at the Axis2/C Download Page or at any other mirror. Please note that Axis2/C source and binary packages are tailor made to suit specific classes of operating systems. Please make sure to choose the one that best fits your requirement as well as your operating system.

1.4 How can I get involved?

Apache Axis2/C is a result of a highly involved list of apache committers, developers, as well as a keen group of users. For more information on our team, and how to get involved, please visit our Team Page.



2. Support

2.1 Does Axis2/C support code generation?

Yes, Axis2/C supports code generation using the WSDL2C tool. Information on how to use this tool can be found in our documentation.

2.2 Does Axis2/C support SSL?

Yes, Axis2/C supports SSL enabled communication. More information can be found in our documentation.

2.3 Does Axis2/C support compression?

Axis2/C itself does not support compression. If you are using mod_axis2 and the Apache HTTP server, you can also mod_deflate for compression. Also, you can enable compression by using libcurl as the http sender on the client side.

2.4 Does Axis2/C support SOAP Session management?

No, there is no support for SOAP Sessions in Axis2/C.

2.5 Can I use Axis2/C with a proxy?

Yes. This requires a few changes to the axis2.xml file. Information about this can be found in our documentation.

2.6 Does Axis2/C work on my platform?

Currently Axis2/C has been ported to following platforms.

1. Linux based distributions(Debian, Ubuntu, Redhat Linux etc...,)

2. Sun Solaris 10(intel)

3. Mac OS X

4. Microsoft Windows

Patches are welcome!



3. How to?

3.1 How can I enable the Guththila parser?

In Windows you have to put the ENABLE_GUTHTHILA = 1 in the build/win32/configure.in file. In Linux you have to specify the configuration option --enable-guththila=yes. In a Microsoft Visual Studion Project (VC Project) this is little bit difficult. You have to add the guththila project to the existing Axis2/C solution. Then in the axis2_parser project, we have to remove the libxml wrapper files and add the guththila_wrapper files. Also in the axis2_parser project we have to change the include files and linker input files (libs) to corresponding guththila files (guththila.lib and guththila/include).

3.2 How do I turn off MTOM globally?

MTOM can be disabled by commenting out the following line from your axis2.xml. (<parameter name="enableMTOM" locked="false">true</parameter>)

3.3 How can I use Axis2/C with C++?

Just add the following code to your C source files and then use a C++ compiler.

 #ifdef __cplusplus  extern "C"{ #endif /* YOUR C CODE HERE */ #ifdef __cplusplus } #endif

3.4 How could I secure SOAP messages?

To secure SOAP messages, you need to engage Apache Rampart/C as a module, which can be downloaded from here. Please refer the installation guide and configuration guide for more details.



4. Why do?

4.1 Why do I get an "Unresolved external symbol" error?

Make sure that your AXIS2C_HOME/lib directory is added to your PATH Environment Variable.

4.2 Why can't I run the samples?

This is usually because the AXIS2C_HOME Environment Variable is not set to the correct path. Make sure that it is set to your Axis2/C installation path.

4.3 libxml2 is installed but I get "libxml2 not found"?

Make sure that you have installed the libxml2-dev packages.

1. If you are using a Debian based system run

        $ apt-get install libxml2-dev

2. If you are using a RedHat/Fedora based system run

        $ yum install libxml2-dev

3. If you install libxml2 from source you will not get this error





axis2c-src-1.6.0/docs/docs/index.html0000644000175000017500000000770111172017604020515 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Documentation

axis2c-src-1.6.0/docs/docs/mod_log/0000777000175000017500000000000011172017604020137 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/mod_log/log_out_handler.c.html0000644000175000017500000002340511172017604024413 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - modules/mod_log/log_out_handler.c
/*

 * Licensed to the Apache Software Foundation (ASF) under one or more

 * contributor license agreements.  See the NOTICE file distributed with

 * this work for additional information regarding copyright ownership.

 * The ASF licenses this file to You under the Apache License, Version 2.0

 * (the "License"); you may not use this file except in compliance with

 * the License.  You may obtain a copy of the License at

 *

 *      http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */




#include <axis2_handler_desc.h>

#include <axutil_array_list.h>

#include <axiom_soap_const.h>

#include <axiom_soap_envelope.h>

#include <axiom_soap_header.h>

#include <axiom_soap_header_block.h>

#include <axis2_op.h>

#include <axis2_msg_ctx.h>

#include <axis2_conf_ctx.h>

#include <axis2_msg_info_headers.h>

#include <axutil_property.h>



axis2_status_t AXIS2_CALL

axutil_log_out_handler_invoke(struct axis2_handler *handler

    const axutil_env_t *env,

    struct axis2_msg_ctx *msg_ctx);



AXIS2_EXTERN axis2_handler_tAXIS2_CALL

axutil_log_out_handler_create(const axutil_env_t *env

    axutil_string_t *name

{

    axis2_handler_t *handler = NULL;

    

    AXIS2_ENV_CHECK(envNULL);

    

    handler = axis2_handler_create(env);

    if (!handler)

    {

        return NULL;

    }

   

    axis2_handler_set_invoke(handlerenvaxutil_log_out_handler_invoke);



    return handler;

}





axis2_status_t AXIS2_CALL

axutil_log_out_handler_invoke(struct axis2_handler *handler

    const axutil_env_t *env,

    struct axis2_msg_ctx *msg_ctx)

{

    axiom_soap_envelope_t *soap_envelope = NULL;

    axiom_node_t *ret_node = NULL;



    AXIS2_ENV_CHECKenvAXIS2_FAILURE);

    AXIS2_PARAM_CHECK(env->errormsg_ctxAXIS2_FAILURE);

    

    AXIS2_LOG_INFO(env->log"Starting logging out handler .........");

    

    soap_envelope =  axis2_msg_ctx_get_soap_envelope(msg_ctxenv);

    

    if (soap_envelope)

    {

        ret_node = axiom_soap_envelope_get_base_node(soap_envelopeenv);



        if(ret_node)

        {

            axis2_char_t *om_str = NULL;

            om_str = axiom_node_to_string(ret_nodeenv);

            if(om_str)

            {

                AXIS2_LOG_INFO(env->log"Output message: %s"om_str);

            }

        }

    }

    

    return AXIS2_SUCCESS;

}







axis2c-src-1.6.0/docs/docs/mod_log/module.xml0000644000175000017500000000101511172017604022137 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/docs/docs/mod_log/mod_log.c.html0000644000175000017500000003252411172017604022670 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - modules/mod_log/mod_log.c
/*

 * Licensed to the Apache Software Foundation (ASF) under one or more

 * contributor license agreements.  See the NOTICE file distributed with

 * this work for additional information regarding copyright ownership.

 * The ASF licenses this file to You under the Apache License, Version 2.0

 * (the "License"); you may not use this file except in compliance with

 * the License.  You may obtain a copy of the License at

 *

 *      http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */


#include <axis2_module.h>

#include <axis2_conf_ctx.h>



#include "mod_log.h"



axis2_status_t AXIS2_CALL

axis2_mod_log_shutdown(axis2_module_t *module,

    const axutil_env_t *env);



axis2_status_t AXIS2_CALL

axis2_mod_log_init(

    axis2_module_t *module,

    const axutil_env_t *env,

    axis2_conf_ctx_t *conf_ctx,

    axis2_module_desc_t *module_desc);



axis2_status_t AXIS2_CALL

axis2_mod_log_fill_handler_create_func_map(axis2_module_t *module,

    const axutil_env_t *env);



/**

 * Module operations struct variable with functions assigned to members

 */


static const axis2_module_ops_t log_module_ops_var = {

    axis2_mod_log_init,

    axis2_mod_log_shutdown,

    axis2_mod_log_fill_handler_create_func_map

};



axis2_module_t *

axis2_mod_log_create(const axutil_env_t *env)

{

    axis2_module_t *module = NULL;

    module = AXIS2_MALLOC(env->allocator

        sizeof(axis2_module_t));



    /* initialize operations */

    module->ops = &log_module_ops_var;



    return module;

}



axis2_status_t AXIS2_CALL

axis2_mod_log_init(

        axis2_module_t *module,

        const axutil_env_t *env,

        axis2_conf_ctx_t *conf_ctx,

        axis2_module_desc_t *module_desc)

{

    /* Any initialization stuff related to this module can be here */

    return AXIS2_SUCCESS;

}



axis2_status_t AXIS2_CALL

axis2_mod_log_shutdown(axis2_module_t *module,

                        const axutil_env_t *env)

{

    if(module->handler_create_func_map)

    {

        axutil_hash_free(module->handler_create_func_mapenv);

    }

    

    if(module)

    {

        AXIS2_FREE(env->allocatormodule);

    }

    return AXIS2_SUCCESS

}



axis2_status_t AXIS2_CALL

axis2_mod_log_fill_handler_create_func_map(axis2_module_t *module,

                                            const axutil_env_t *env)

{

    AXIS2_ENV_CHECK(envAXIS2_FAILURE);

    

    module->handler_create_func_map = axutil_hash_make(env);

    if(!module->handler_create_func_map)

    {

        AXIS2_ERROR_SET(env->errorAXIS2_ERROR_NO_MEMORY

            AXIS2_FAILURE);

        return AXIS2_FAILURE;

    }



    /* add in handler */

    axutil_hash_set(module->handler_create_func_map"LoggingInHandler"

        AXIS2_HASH_KEY_STRINGaxutil_log_in_handler_create);



    /* add out handler */

    axutil_hash_set(module->handler_create_func_map"LoggingOutHandler"

        AXIS2_HASH_KEY_STRINGaxutil_log_out_handler_create);

    

    return AXIS2_SUCCESS;

}



/**

 * Following functions are expected to be there in the module lib 

 * that helps to create and remove module instances 

 */




AXIS2_EXPORT int 

axis2_get_instance(axis2_module_t **inst,

                   const axutil_env_t *env)

{

   *inst = axis2_mod_log_create(env);

    if(!(*inst))

    {

        return AXIS2_FAILURE;

    }



    return AXIS2_SUCCESS;

}



AXIS2_EXPORT int 

axis2_remove_instance(axis2_module_t *inst,

                      const axutil_env_t *env)

{

    axis2_status_t status = AXIS2_FAILURE;

   if (inst)

   {

        status = axis2_mod_log_shutdown(instenv);

    }

    return status;

}







axis2c-src-1.6.0/docs/docs/mod_log/module.html0000644000175000017500000000104111172017604022302 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/docs/docs/mod_log/log_in_handler.c.html0000644000175000017500000002377011172017604024217 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - modules/mod_log/log_in_handler.c
/*

 * Licensed to the Apache Software Foundation (ASF) under one or more

 * contributor license agreements.  See the NOTICE file distributed with

 * this work for additional information regarding copyright ownership.

 * The ASF licenses this file to You under the Apache License, Version 2.0

 * (the "License"); you may not use this file except in compliance with

 * the License.  You may obtain a copy of the License at

 *

 *      http://www.apache.org/licenses/LICENSE-2.0

 *

 * Unless required by applicable law or agreed to in writing, software

 * distributed under the License is distributed on an "AS IS" BASIS,

 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

 * See the License for the specific language governing permissions and

 * limitations under the License.

 */




#include <axis2_handler_desc.h>

#include <axutil_array_list.h>

#include <axiom_soap_const.h>

#include <axiom_soap_envelope.h>

#include <axiom_soap_header.h>

#include <axiom_soap_header_block.h>

#include <axis2_op.h>

#include <axis2_msg_ctx.h>

#include <axis2_conf_ctx.h>

#include <axis2_msg_info_headers.h>

#include <axutil_property.h>



axis2_status_t AXIS2_CALL

axutil_log_in_handler_invoke(struct axis2_handler *handler

    const axutil_env_t *env,

    struct axis2_msg_ctx *msg_ctx);



AXIS2_EXTERN axis2_handler_tAXIS2_CALL

axutil_log_in_handler_create(const axutil_env_t *env

    axutil_string_t *name

{

    axis2_handler_t *handler = NULL;

    

    AXIS2_ENV_CHECK(envNULL);

    

    handler = axis2_handler_create(env);

    if (!handler)

    {

        return NULL;

    }

   

    axis2_handler_set_invoke(handlerenvaxutil_log_in_handler_invoke);



    return handler;

}





axis2_status_t AXIS2_CALL

axutil_log_in_handler_invoke(struct axis2_handler *handler

    const axutil_env_t *env,

    struct axis2_msg_ctx *msg_ctx)

{

    axiom_soap_envelope_t *soap_envelope = NULL;

    axiom_node_t *ret_node = NULL;



    AXIS2_ENV_CHECKenvAXIS2_FAILURE);

    AXIS2_PARAM_CHECK(env->errormsg_ctxAXIS2_FAILURE);

    

    AXIS2_LOG_INFO(env->log"Starting logging in handler .........");

    

    soap_envelope =  axis2_msg_ctx_get_soap_envelope(msg_ctxenv);

    

    if (soap_envelope)

    {

        /* ensure SOAP buider state is in sync */

        axiom_soap_envelope_get_body(soap_envelopeenv); 

        ret_node = axiom_soap_envelope_get_base_node(soap_envelopeenv);



        if(ret_node)

        {

            axis2_char_t *om_str = NULL;

            om_str = axiom_node_to_string(ret_nodeenv);

            if(om_str)

            {

                AXIS2_LOG_INFO(env->log"Input message: %s"om_str);

            }

        }

    }

    

    return AXIS2_SUCCESS;

}







axis2c-src-1.6.0/docs/docs/axis2c_manual.html0000644000175000017500000044401611172017604022140 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Manual

Preamble

This document is intended to be a reference manual for Apache Axis2/C. This manual details how Axis2/C can be used to provide and consume Web services.

Please send your feedback to the Apache Axis2/C developer mailing list (axis-c-dev@apache.org). Subscription details are available on the Apache Axis2/C website.

This document uses the following conventions:

  • The directory each package is installed in is given with an "_INSTALL_DIR" suffix to the package name. For example, the path in which Libxml2 is installed is referred to as LIBXML2_INSTALL_DIR



1. Quick Start Guide

This section is aimed to help you get a Web service running in a short time using Axis2/C, and consume that service using an Axis2/C client.

First, download the latest binary release from Apache Axis2/C. Once you download the correct binary that suits your platform, all that you require to get it running is to extract the package to a folder of your choice, and set the AXIS2C_HOME environment variable to point to this extracted folder. For Linux, you may have to set the LD_LIBRARY_PATH environment variable to include the lib folder (e.g. add $AXIS2C_HOME/lib). For MS Windows, you will have to add the lib folder to your PATH variable to include the Axis2/C DLLs to your path.

Now you should be able to change the directory to the bin folder of the extracted folder, and run the simple axis server in one command shell. Then change the directory to samples/bin in another command shell and run any of the samples there (you may have to set the environment variables in this new shell as well). Please see the installation guide for more details.

Once you have Axis2/C up and running successfully, you can start writing your own services and clients. The following sections explain how to write your first service and client with Axis2/C.

1.1 Hello Service

Let's see how you can write your first Web service with Axis2/C and how to deploy it.

The first service that we are going to write is named "hello" with a single operation named "greet" in the service. This "greet" operation, when invoked by the client, will expect the client to send a greeting in the request, and in turn send a greeting in the response. Following are examples of XML payloads exchanged between the client and the service:

Request:

 <greet>

Hello Service!

<greet>



Response:

 <greetResponse>

Hello Client!

<greetResponse>



The steps to be followed when implementing a service with Axis2/C include:

  1. Implement the functions corresponding to the operations of the service.

    In our sample, we will have one function that implements the "greet" operation.

    We will name that function axis2_hello_greet.
  2. Implement the functions defined by the axis2_svc_skeleton interface

    axis2_svc_skeleton interface expects the functions init, invoke, on_fault and free to be implemented by our service.

    In our sample, we would implement those and name them as hello_init, hello_invoke, hello_on_fault and hello_free respectively.

  3. Implement the create function, that would create an instance of the service skeleton

    The create function would create an axis2_svc_skeleton and assign the respective function pointers to map the axis2_svc_skeleton interface to our interface implementation methods explained in the above step.

  4. Implement axis2_get_instance and axis2_remove_instance functions

    These functions are used to create and destroy service instances by the engine, and each service must define these functions.

  5. Write the services.xml file for the service

    The services.xml file acts as the deployment descriptor file for the service. As the bare minimum, we need to configure the service name, operations, and the shared library file name containing the service implementation in this file.

    As previously decided, we will name the service "hello", the operation "greet" and the shared library libhello.so on Linux and hello.dll on MS Windows.

1.1.1 Operation Implementation

Look for the axis2_hello_greet function in the hello_svc.c source file.

This function implements the business logic for the greet operation. We will be calling this function from our implementation of the invoke function. Basically, this function receives the request payload as an axiom_node, process it to understand the request logic, and prepares the response as an axiom_node and returns that.

1.1.2 Skeleton Create Method

Look for the axis2_hello_create function in the hello_svc.c source file.

The create function creates and returns a new axis2_svc_skeleton instance. The most important aspect to note about this function is the function pointer assignments. They are used to map the interface operations to the corresponding functions of the implementation. This is done by assigning the ops member of the service skeleton to the address of the ops struct variable.

1.1.3 Invoking Operation Implementation

The invoke method of the service skeleton is the point of entry for invoking the operations. Hence in our implementation of the invoke function, we have to define how the operations are to be called.

Look for the hello_invoke function in the hello_svc.c source file.

In our implementation of the hello_invoke, we call the function implementing the greet operation. As we have only one operation, the task is simple here. If we had multiple operations, we will have to look into the information in the message context to map it to the exact operation.

The Axis2/C engine will call the invoke method with an axiom_node, containing the request payload, and axis2_msg_ctx instance, containing the message context information, in addition to the service skeleton and the environment pointers. We can use the message context to extract whatever information we deem necessary that is related to the incoming message. The Axis2/C engine expects the invoke method to return a pointer to an axiom_node, representing the response payload.

1.1.4 Full Source

Here is the complete source code for the service : hello_svc.c

1.1.5 Service Descriptor

The services.xml file contains details on the service that would be read by the Axis2/C deployment engine during server start up time. The following shows the contents for the services.xml file for the hello service.

<service name="hello">

<parameter name="ServiceClass" locked="xsd:false">hello</parameter>

<description>

Quick start guide hello service sample.

</description>

<operation name="greet"/>

</service>



The service configuration shown above specifies that the name of the service is hello.

The value of the "ServiceClass", "hello" in this case, will be mapped to the service implementation by the deployment engine as libhello.so on Linux or hello.dll on MS Windows. The description element contains a brief description of the service.

There can be one or more operation elements. For this sample, we only have one operation, with the name "greet".

1.1.6 Compiling the Service

You can compile the service sample as shown below.

On Linux:

gcc -shared -olibhello.so -I$AXIS2C_HOME/include/axis2-1.6.0/ -L$AXIS2C_HOME/lib -laxutil -laxis2_axiom -laxis2_parser -laxis2_engine -lpthread -laxis2_http_sender -laxis2_http_receiver hello_svc.c



On MS Windows:

to compile,

cl.exe /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "AXIS2_DECLARE_EXPORT" /D "AXIS2_SVR_MULTI_THREADED" /w /nologo /I %AXIS2C_HOME%\include /c hello_svc.c



to link,

link.exe /nologo /LIBPATH:%AXIS2C_HOME%\lib axutil.lib axiom.lib axis2_parser.lib axis2_engine.lib /DLL /OUT:hello.dll *.obj



1.1.7 Deploying the Service

To make the service available to be consumed by the clients, we have to deploy the service. To deploy the service, you have to create a folder named 'hello' in the AXIS2C_HOME/services folder, and copy the services.xml file and the shared library file (libhello.so on Linux or hello.dll on MS Windows) into that folder.

To verify that your service has been correctly deployed, you can start the simple axis server and then browse the list of deployed services using a Web browser. To start the simple axis server, you can go to the AXIS2C_HOME/bin folder and run the executable axis2_http_server. The default URL that you can test the service list with is http://localhost:9090/axis2/services. You should get an entry for the hello service on the page that is displayed.

1.1.8 Providing a WSDL for the Service

Axis2/C does not support dynamic WSDL generation. However, it is possible to attach the contract you used to generate the service skeleton, to the respective service. This can be done in two ways.

  1. Adding the WSDL file to the folder in which the service DLL is found.
  2. Providing the path of the WSDL file in the services.xml.

If you choose the first option, you will have to copy the WSDL file to the folder in which the service DLL is found. The name of the WSDL file should be the name of the service. And, if you choose the second option, you will have to make use of the wsdl_path parameter in the services.xml file. More info on how this can be done is found under the services.xml section.

An example of the second option can be found the services.xml of the echo sample service, which is commented. An example of the first option in use is seen in the Calculator sample service.

The static WSDL file can be accessed by appending ?wsdl to the service end-point. You can view the WSDL provided for the Calculator sample, by pointing to http://localhost:9090/axis2/services/Calculator?wsdl.

1.2 Hello Client

Now that you know how to write a service with Axis2/C, let's see how to write a client to consume that service. The request payload that the client will be sending to the service was described in the previous section. The client has to prepare the payload, send it to the service, and then receive and process the response.

The steps to be followed when implementing a client with Axis2/C:

  1. Create the environment to be used by the client.

    Each function in Axis2/C takes a pointer to the environment instance that encapsulates the memory allocator, error handler, and logging and threading mechanisms. The axutil_env_create_all method can be used to create a default, ready to use environment instance.

  2. Create an options instance, and set options.

    The axis2_options struct can be used to set the client side options. For example, we can use options to set the endpoint address of the service to be consumed by the client.
  3. Create a service client instance, giving the client repository folder as a parameter.

    The axis2_svc_client struct is meant to be used by the users to consume Web services. It provides an easy to use API. Service client create method takes the location of the repository as a parameter. For the purpose of our sample, you can use the AXIS2C_HOME as the repository. The concept of repository is explained in detail in a later section.

  4. Set options to service client instance

    The options created in an earlier step have to be set on the service client, indicating the options that are meant to be used by the service client.

  5. Send the request and receive the response

    The service client's axis2_svc_client_send_receive method can be used to invoke the send receive operation on the service client instance.

    The send receive operation takes the request payload as an axiom_node and returns the response payload as an axiom_node.
  6. Process the response

    Process the response in line with the client business logic.

1.2.1 Creating and Setting Options

 options = axis2_options_create(env);

address = "http://localhost:9090/axis2/services/hello";

endpoint_ref = axis2_endpoint_ref_create(env, address);

axis2_options_set_to(options, env, endpoint_ref);



In the above section of code, an axis2_options instance is created first. Then an endpoint reference instance is created with the address of the location of the service. Finally, the created endpoint is set as the "to" address of the options. The "to" address indicates where the request should be sent to.

1.2.2 Using Service Client

 svc_client = axis2_svc_client_create(env, client_home);

axis2_svc_client_set_options(svc_client, env, options);

payload = build_om_request(env);

ret_node = axis2_svc_client_send_receive(svc_client, env, payload);



After creating and preparing the options, the next step is to create a service client instance and use it to send the request and receive the response. The code fragment given above shows how options can be set on top of the service client and how to invoke the send receive operation with a request payload. Once the response is received, the response payload will be stored in the ret_node, which is a pointer to an axiom_node that can be used to process the response further.

1.2.3 Full Source

Here is the complete source code for the client : hello.c

1.2.4 Compiling the Client

You can compile the client sample as shown below.

On Linux:

gcc -o hello -I$AXIS2C_HOME/include/axis2-1.6.0/ -L$AXIS2C_HOME/lib -laxutil -laxis2_axiom -laxis2_parser -laxis2_engine -lpthread -laxis2_http_sender -laxis2_http_receiver hello.c -ldl -Wl,--rpath -Wl,$AXIS2C_HOME/lib



On MS Windows:

to compile,

cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /I %AXIS2C_HOME%\include /c hello.c



to link,

link.exe /LIBPATH:%AXIS2C_HOME%\lib axutil.lib axiom.lib axis2_parser.lib axis2_engine.lib /OUT:hello.exe *.obj



1.2.5 Running the Client

To run the client, make sure you start the simple axis server and then run the hello executable.



2. Repository Folder

Repository is a folder where all Axis2/C related configurations as well as services and modules are located. The following shows the folder structure of the repository:

Here the name of the repository folder is axis2c_repo. In your system, you can specify any folder name of your choice. There are three sub folders available in the repository. In addition to that, the axis2.xml configuration file is also located in the repository. The following table describes the purpose of the repository contents.

Axis2/C Repository Contents
Folder/File NameDescription

lib

The lib folder contains the libraries required to run the Axis2/C engine. While you can afford to have the shared libs of Axis2/C in a location of your choice, the dynamically loaded shared libs, parser, transport receiver and transport sender has to be in the repository lib folder.

It is mandatory that the lib folder is there in the repository.

modules [optional]

The modules folder contains the modules deployed with Axis2/C. Each module deployed will have its own sub folder inside the modules folder. For example, if the addressing module is deployed, then there will be a sub folder named addressing inside the modules folder of the repository.

At deployment, the Axis2/C deployment engine would traverse the modules folders to find out what modules are available.

The modules folder is optional. If it is empty or non-existent, that means that there are no deployed modules.

services [optional]

The services folder contains the services deployed with Axis2/C. Each service deployed will have its own sub folder inside the services folder, or live inside one of the sub folders.

At deployment, the Axis2/C deployment engine will traverse the services folders to find out what services are available.

The services folder is optional. If it is empty or non-existent, that means that there are no deployed services.

axis2.xml

The axis2.xml file is the configuration file of Axis2/C.

The configuration file is mandatory and must have the name axis2.xml. It is safe to consider your Axis2/C repository to be the folder in which you have the axis2.xml file.

Both clients as well as the services written using Axis2/C can use the same repository. However you can use one repository for the server side and another one for the client side. The services folder is used only when the repository is used by the server side. When the repository is used by the client, the services folder, if present, will not be used.

The Axis2/C binary distribution, when extracted, can be considered as ready for use as your repository folder. If you are building Axis2/C from the source distribution, when you build the source, including the samples, the installation destination will be ready for use as your repository folder.

The simple axis server (that is axis2_http_server binary), the client samples, and the HTTPD module (Axis2 Apache2 module) require the repository folder to be specified in order to run correctly.

2.1 Module Folders

As described earlier, all the modules are placed inside the modules folder of the repository, and each module will have its own sub folder within the modules folder.

The folder in which a module is placed must have the same name as the module name. For example, the addressing module will be placed in a sub folder named addressing.

Inside the folder corresponding to a module, the shared library implementing the module and the module configuration file, module.xml, is placed. It is a must that these two files are present inside each folder representing a module. The module.xml file will be processed by the deployment engine to find out module specific information such as the module name, set of handlers, the flows into which those handlers are to be added, etc.

2.2 Service Folders

All the services are placed inside the services folder of the repository, and each service will be in one of the sub folders within the services folder. Axis2/C has a concept called service groups, where there can be one or more services inside a service group. A single stand alone service is assigned a service group with the same name as that of the service by the Axis2/C engine for the purpose of easy handling. Therefore the sub folders in the services folder correspond to the service groups.

A service, if deployed as a stand alone service, will reside inside a folder with the same name as that of the service. For example, the echo service will be placed in a sub folder named echo. The shared library implementing the service and the service configuration file, the services.xml, will be placed inside the folder corresponding to a service. Given the fact that the engine treats the folders to represent service groups and not a single service, the configuration file is called services.xml. However, you can always place a single service inside a single folder, which is the most common use case.

Each sub folder within the services folder should have at least one shared lib implementing a service and a services.xml file. If it is a real service group, there will be multiple shared libs, yet there is only one services.xml file configuring all those services. The services.xml file is processed by the deployment engine to find out the service group and the service specific information such as the service group name, service name, the set of operations for each service, etc.



3. Service API

We have already seen how to write a service in the Quick Start Guide section of this manual. This section covers the service API of Axis2/C in more detail.

axis2_svc_skeleton is an interface. Axis2/C does not provide any concrete implementation of this interface. It is the responsibility of the service implementer to implement this interface. To implement the interface, you should implement the functions adhering to the function pointer signatures of the members of the axis2_svc_skeleton_ops struct. Then, a create function should be written to create an axis2_svc_skeleton instance, and assign the implementing functions to the members of the ops member of service skeleton.

The following table details the signatures of the function pointer members of the axis2_svc_skeleton struct implemented by a service.

Function SignatureDescription
int (AXIS2_CALL *

init)(axis2_svc_skeleton_t *svc_skeleton,

const axutil_env_t *env);
Initializes the service skeleton object instance. The Axis2/C engine initializes a service skeleton instance once per deployed service, during the first request made to the service.
axiom_node_t *(AXIS2_CALL*

invoke )( axis2_svc_skeleton_t *svc_skeli,

const axutil_env_t *env,

axiom_node_t *node,

axis2_msg_ctx_t *msg_ctx);
Invokes the service implementation. You have to implement the logic to call the correct functions in this method based on the name of the operation being invoked.
axiom_node_t *(AXIS2_CALL*

on_fault)(

axis2_svc_skeleton_t *svc_skeli,

const axutil_env_t *env,

axiom_node_t *node);
This method is called by the engine if a fault is detected.
axis2_status_t (AXIS2_CALL *

free )( axis2_svc_skeleton_t *svc_skeli,

const axutil_env_t *env);
Frees the service implementation instance.


There are two more methods that a service should implement. Once a service is deployed, the message receiver of the Axis2/C engine has to create a service instance at run time for the purpose of invoking it. For this, it looks for a method named axis2_create_instance and calls it on the service shared library. The engine also looks for a function named axis2_remove_instance in the shared library for clean up purposes.

Function SignatureDescription
AXIS2_EXPORT int

axis2_get_instance(

axis2_svc_skeleton_t ** inst,

const axutil_env_t * env);
Creates an instance of the service. You have to implement the logic of creating the service object, allocating memory etc. in this method.
AXIS2_EXPORT int

axis2_remove_instance(

axis2_svc_skeleton_t * inst,

const axutil_env_t * env);
Removes the instance of the service. Do any cleaning-up and deallocations here.


Note that service object instantiation happens once per service. When the first request is received by the service, a service skeleton instance is created and initialized. The same object instance will be re-used by the subsequent requests.

You can find an example on how to implement the service skeleton interface in the hello_svc.c source file, which is the example used in the Quick Start Guide. More advanced samples can be found in the samples folder of the Axis2/C distribution.



4. Client API

The primary client API to be used with Axis2/C is axis2_svc_client, the service client API. This is meant to be an easy to use API for consuming services. If you want to do more complex tasks, such as invoking a client inside a module, or wrap the client API with another interface, you may need to use axis2_op_client, the operation client API. For most of the use cases, the service client API is sufficient.

The behavior of the service client can be fine tuned with the options passed to the service client. You can set the options by creating an axis2_options instance. The bare minimum that you need to set is the endpoint URI to which the request is to be sent. An example of this was given in the Quick Start Guide section.

The service client interface serves as the primary client interface for consuming services. You can set the options to be used by the service client and then invoke an operation on a given service. There are several ways of invoking a service operation. The method of invoking an operation depends on 3 things. They are,

  1. The Message Exchange Pattern (MEP)
  2. Synchronous/Asynchronous behavior (Blocking/Non-Blocking)
  3. Two-way or one-way transport

Many service operation invocation scenarios can be obtained by combining the above three factors. The service client interface provides the necessary API calls to achieve this.

Deciding the Message Exchange Pattern (MEP)

There are 2 message exchange patterns.

  1. Out-Only
  2. Out-In

In the Out-Only MEP, the client doesn't expect a reply from the server. The service client provides two methods of using the Out-Only MEP.

Function SignatureDescription
AXIS2_EXTERN void AXIS2_CALL

axis2_svc_client_fire_and_forget(

axis2_svc_client_t * svc_client,

const axutil_env_t * env,

const axiom_node_t * payload);
Sends a message and forgets about it. This method is used to interact with a service operation whose MEP is In-Only. There is no way of getting an error from the service using this method. However, you may still get client-side errors, such as host unknown.
AXIS2_EXTERN axis2_status_t AXIS2_CALL

axis2_svc_client_send_robust(

axis2_svc_client_t * svc_client,

const axutil_env_t * env,

const axiom_node_t * payload);
This method too is used to interact with a service operation whose MEP is In-Only. However, unlike axis2_svc_client_fire_and_forget, this function reports an error back to the caller if a fault triggers on the server side.

When using Out-In MEP, the client expects a reply from the server. axis2_svc_client_send_receive and axis2_svc_client_send_receive_non_blockingfunctions support this MEP
 AXIS2_EXTERN axiom_node_t *AXIS2_CALL

axis2_svc_client_send_receive(

axis2_svc_client_t * svc_client,

const axutil_env_t * env,

const axiom_node_t * payload);
This method is used to interact with a service operation whose MEP is In-Out. It sends an XML request and receives an XML response.

Returns a pointer to the AXIOM node representing the XML response. This method blocks the client until the response arrives.
AXIS2_EXTERN void AXIS2_CALL

axis2_svc_client_send_receive_non_blocking(

axis2_svc_client_t * svc_client,

const axutil_env_t * env,

const axiom_node_t * payload,

axis2_callback_t * callback);
This method too, is used to interact with a service operation whose MEP is In-Out. It sends an XML request and receives an XML response, but the client does not block for the response.

In this method, the client does not block for the response, but instead it expects the user to set a call back to capture the response.


Please have a look at the axis2_svc_client.h header file for more information on the above mentioned functions, as well as their synonyms that accept an operation's qualified name.

4.1 Synchronous vs. Asynchronous Behavior (Blocking/Non-Blocking)

This will determine whether the client would block for the response (synchronous) or return immediately expecting the response to be handled by a callback (asynchronous, in other words non-blocking) in an Out-In MEP scenario.

axis2_svc_client_send_receive operates in synchronous mode, whereas axis2_svc_client_send_receive_non_blocking operates in asynchronous mode.

4.2 Two-Way or One-Way Transport

If the transport is two-way, then only one channel is used, which means the request is sent and the response is received on the same channel. If the transport is one-way, then the request is sent on one channel and the response is received on a separate channel.

If we want to use a separate channel for the response, a separate listener has to be started to receive the response, This can be done by setting the separate listener option to True using the axis2_options_set_use_separate_listener function above the options.

Please have a look at the echo_blocking_dual sample to see how to set the separate channel option.

Please see Appendix D for further details on setting options.



5. REST

Axis2/C comes with plain old XML (POX) like REST support. A given service can be exposed both as a SOAP service as well as a REST service. By default, your service will support SOAP as well as REST, however, your service operations will only be available for SOAP. In order to enable REST for your operations you need to add one or more parameters under your operation, in the services.xml. If you want to consume Web services using REST style calls, you can use the HTTP POST method, the HTTP GET method, the HTTP HEAD method, the HTTP PUT method or the HTTP DELETE method.

5.1 REST on Client Side

The following example code fragment shows how to set up a client enabling a REST style invocation.

axis2_options_set_enable_rest(options, env, AXIS2_TRUE);



You can use the same code that you use with a SOAP call, and do REST style invocation by just enabling REST using the option setting shown above.

The default HTTP method used with REST is HTTP POST. If you need to change it to the HTTP GET method, the following needs to be done.

axis2_options_set_http_method(options, env, AXIS2_HTTP_GET);



Similarly you can use AXIX2_HTTP_HEAD to change it to the HTTP HEAD method, or AXIX2_HTTP_PUT to change it to the HTTP PUT method, or AXIX2_HTTP_DELETE to change it to the HTTP DELETE method.

Please have a look at the echo_rest sample for a complete source code on how to use REST.

5.2 REST on Server Side

You basically need to add the REST Location, and the REST Method parameters to the services.xml to enable REST in a service operation. The REST location is the template that needs to be matched to find your operation, and the REST Method is the HTTP Method associated with the service. Note that the REST Method is optional for each operation. If no REST Method is specified, POST, will be assumed. Optionally you may specify the default REST Method for all operations at the service level. Then, if you haven't specified a REST Method for your operation, the default REST Method specified will be assumed instead of POST. Please have a look at the echo sample service for a complete source code on how to set up REST. Shown below is an example, on how to configure the locate operation to work with HTTP GET on REST.

<operation name="locate">

<parameter name="RESTMethod">GET</parameter>

<parameter name="RESTLocation">location/{lat}/{long}</parameter>

</operation>



The corresponding request would look like, http://www.sample.org/service/location/34N/118W, which would return Los Angeles, California. In here, the portion location is fixed and lat and long are optional parameters which will be captured to the payload.

5.3 REST and SOAP for Same Operation

It is also possible to enable a single service operation for SOAP as well as REST. This can be done by specifying a REST Location that does not contain the operation name. The locate operation is an example to such a case. Thus, for a SOAP invocation, you need to use http://www.sample.org/service/locate, as the end point or WS-Addressing Action.



6. MTOM

Axis2/C allows you to send and receive binary data with SOAP messages using MTOM/XOP conventions. When sending and receiving attachments, you have to use the service client (axis2_svc_client) API to perform the send and receive operations, and provide or consume binary data in relation to the AXIOM payloads.

In order to send a binary attachment, you need to build the AXIOM payload and attach the data handler with binary content to the payload.

<soapenv:Body>

<ns1:mtomSample xmlns:ns1="http://ws.apache.org/axis2/c/samples/mtom">

<ns1:fileName>test.jpg</ns1:fileName>

<ns1:image>

<xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include"

href="cid:1.f399248e-8b39-1db1-3124-0015c53de2e5@apache.org"></xop:Include>

</ns1:image>

</ns1:mtomSample>

</soapenv:Body>



In the above sample payload shown, we place our image file as text within an image element

image_om_ele = axiom_element_create(env, mtom_om_node, "image", ns1, &image_om_node);

data_handler = axiom_data_handler_create(env, image_name, "image/jpeg");

data_text = axiom_text_create_with_data_handler(env, image_om_node, data_handler, &data_om_node);



When sending attachments, you can configure the client either to send the attachment in the optimized format or non-optimized format.

To do this, set the option axis2_options_set_enable_mtom(options, env, AXIS2_TRUE);or the setting <enableMtom>true</enableMtom> in axis2.xml

If enableMTOM is set to True, the attachment is sent as it is, out of the SOAP body, using MIME headers. Also the payload will have an XOP:Include element, referring to the MIME part that contains the binary attachment. Sending the attachment as it is, in pure binary format, is called binary optimized format. In the case of binary non-optimized format, where enableMTOM is False, the attachment content is sent in the payload itself, as a base64 encoded string.

6.1 Using MTOM Callbacks

Axis2/C Can send and receive very large attachments with a very low memory foot print. User can specify callbacks to load attachments before sending and store attachments while recieving.

6.1.1 Sender side Callback

The attachment can be loaded from any data source. User need to implement the callback using axiom_mtom_sending_callback.h. A  sample Callback can be found here. Following is what need to be done with data_handler in the case of a callback.

 

data_handler = axiom_data_handler_create(env, NULL, content-type);

axiom_data_handler_set_data_handler_type(data_handler, env, AXIOM_DATA_HANDLER_TYPE_CALLBACK);

axiom_data_handler_set_user_param(data_handler, env, (void *)user_param);

user_param is of any type which the user should know how to handle from the callback. The path to the implemented callback should be specified in the axis2.xml as follows.

<parameter name="MTOMSendingCallback" locked="false">/path/to/the/attachment_sending_callback</parameter>

6.1.2 Receiver side callback

For large attachments users can specify them to be cached either to a file or to a any storage. In order to enable caching user should set either "attachmentDir" or "MTOMCachingCallback" parameters in the axis2.xml. If both are set the callback will be used. If nothing is set attachment will reside in memory. 

Following is an example of specifying the attachmentDir.

<parameter name="attachmentDIR" locked="false">/path/to/the/dir/</parameter>

So the attachments will be saved in the specified directory using the attachment content id as the file name.

In the callback case the callback should be implemented using axiom_mtom_caching_callback.h. The following paramter will enbale the caching callback.

<parameter name="MTOMCachingCallback" locked="false">/path/to/the/attachment_caching_callback</parameter>

A sample callback implementation can be found here.

Axis2/C allows to set the caching threshold. The default is 1MB. For example to cache attachments which are greater than 10MB in size user need to add the following directive in axis2.xml.

<parameter name="MTOMBufferSize" locked="false">10</parameter>

This will give the control to the users to use the availbale memory even with larger attachments.

When the attachment is cached the ultimate receiver can always identify it by calling ,

if (axiom_data_handler_get_cached(data_handler, env))

{

    /* logic for attachment handling */

}

The logic on how to handle the attachment will depend on the mechanism which is used to cached the attachment.

Please have a look at the MTOM related samples in the Axis2/C samples directory.



7. Engaging a Module

A module is a set of handlers that helps to extend the message processing behavior of the Axis2/C engine. Modules have the concepts of being Available and Engaged associated with them. Available means modules are deployed in the system but not activated. They will be activated only after being engaged. Every module comes with its own module.xml file . This module.xml file specifies the module specific handlers and the phases into which the handlers are to be placed in the handler chain. Some of the module specific handlers may be put into system predefined phases. In that case, the module.xml file should specify where to put the handlers relative to the others in that phase. Sometimes a module may define its own phase. In that case, some of the module specific handlers may be put into that phase. The handlers added to the system predefined phases (global handlers) are invoked for every message that comes to or goes out from the system. The handlers in the module specific phase are invoked only for the messages invoking the operations that engage that module. Engaging a module means correctly adding the handlers of a particular module to one or more phases. Once the module is engaged, the handlers and the operations defined in the module are added to the entity that engaged them.

Before engaging a module, the following steps have to be followed.

  1. Write the module.xml file
  2. Package the module libraries and the module.xml into a folder which has the same name as the module
  3. Deploy the folder in AXIS2C_INSTALL_DIR/modules
  4. Add the module specific phases in the axis2.xml file

The following is an example of engaging a sample module called the logging module with Axis2/C:

7.1 Writing the module.xml File

In the module.xml file, the handlers of the module and the phases to which they are to be added have to be specified. Below is the module.xml file of the sample logging module.

 <module name="logging" class="axis2_mod_log">

<inflow>

<handler name="LoggingInHandler" class="axis2_mod_log">

<order phase="PreDispatch"/>

</handler>

</inflow>

<outflow>

<handler name="LoggingOutHandler" class="axis2_mod_log">

<order phase="MessageOut"/>

</handler>

</outflow>

<Outfaultflow>

<handler name="LoggingOutHandler" class="axis2_mod_log">

<order phase="MessageOut"/>

</handler>

</Outfaultflow>

</module>



In the above shown module configuration file, the name of the module is logging. There are two handlers in this module, the LoggingInHandler and the LoggingOutHandler. The LoggingInHandler is placed into the PreDispatch phase of the in flow. The LoggingOutHandler is placed into the MessageOut phase of both the out flow and the fault out flow.

7.2 Packaging and Deploying the Module

The above module.xml file should be copied to a folder named "logging" (because the module name is "logging") inside the AXIS2C_INSTALL_DIR/modules folder. The module libraries containing the handler implementation should also be copied to the same folder. According to the module.xml file shown above, the name of the shared library file should be libaxis2_mod_log.so on Linux and axis2_mod_log.dll on MS Windows.

7.3 Adding Module Specific Phases to the axis2.xml File

Module specific phases have to be added after the system predefined phases. The following example shows where to add the module specific phases. Look for the phaseOrder elements in the axis2.xml file. Note the comment lines:

 <!-- User defined phases could be added here -->

You can add user defined phases after the above comment line into any of the flows. The type attribute of the phaseOrder element indicates the flow.

For the logging module example, user defined phases are not required. All the module specific handlers are added to system predefined phases as specified in the module.xml file.

7.4 Engaging a Module to a Services

The following is an example of engaging the logging module to the echo service. This can be done by simply adding <module ref ="logging"/> in the services.xml file of the echo service. This informs the Axis2/C engine that the module "logging" should be engaged for this service. The handlers inside the module will be executed in their respective phases as described by the module.xml.

 <service name="echo">

<module ref ="logging"/>

<parameter name="ServiceClass" locked="xsd:false">echo</parameter>

<description>

This is a testing service, to test if the system is working or not.

</description>

<operation name="echoString">

<!--messageReceiver class="axis2_receivers" /-->

<parameter name="wsamapping" >

http://ws.apache.org/axis2/c/samples/echoString

</parameter>

</operation>

</service>



One important thing to note here is that because the logging module's handlers are placed into the global phases, even though the logging module is engaged only to the echo service, the module will be engaged globally. This is a feature of the Axis2 architecture, not a bug. When invoked, the handlers in a module can check whether the module has been engaged to a particular service, and act accordingly.

7.4.1 Engaging a Module Globally

If we want to engage a module for every service deployed in the Axis2/C system, we can add the <module ref ="logging"/> entry in the axis2.xml file. This will inform the Axis2/C engine to invoke the handlers associated with the module for every message coming in or going out for all the services deployed.

7.5 Engaging a Module on the Client Side

On the client side, if <module ref ="logging"/> is added in the axis2.xml, the handlers specific to the logging module will be invoked for every request the client sends and every response the client receives. If only a particular client wants to engage the module, it can be done by engaging the module programmatically. This can be done by adding the following line in the client code after setting the options.

axis2_svc_client_engage_module(svc_client, env, "module-name");



Remember to replace "module-name" with the name of the module you want to engage. For example to engage the logging module you can use:

axis2_svc_client_engage_module(svc_client, env, "logging");





8. WS-Addressing

WS-Addressing provides mechanisms to address Web services and messages. With Axis2/C, you can use both WS-Addressing version 1.0 as well as the submission version.

WS-Addressing is implemented as a module in Axis2/C. Hence as explained in the previous section, the addressing module can be engaged both on the client side as well as on the server side.

The WS-Addressing module can be globally engaged by adding the <module ref="addressing"/> line to the axis2.xml file.

The WS-Addressing module can also be programmatically engaged using the following line of code with the service client API

axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING);



WS-Addressing related options can be set using the axis2_options struct instance on the client side. If the addressing module is engaged, there are no options to be set on the server side. The server will employ WS-Addressing if the incoming requests have WS-Addressing headers.

There is a mandatory requirement for using WS-Addressing on the client side with Axis2/C. That is to set a WS-Addressing action that represents the operation to be invoked. Example:

axis2_options_set_action(options,env,"http://ws.apache.org/axis2/c/samples/echoString")



In addition to the action, which is mandatory, there are other WS-Addressing related headers that can be sent in a message. Axis2/C supports to set those headers as options at the client level. The following functions are used to set them.

axis2_options_set_reply_to(options, env, reply_to)



Sets the wsa:ReplyTo header. The ReplyTo header contains the endpoint to send reply messages. The ReplyTo header is required when the response comes in a separate channel (when using a dual channel).

axis2_options_set_fault_to(options, env, fault_to)



Sets the wsa:FaultTo header. This contains the endpoint to direct fault messages.

axis2_options_set_from(options, env, from)



Sometimes the receiving endpoint requires to know the original sender of the message. The wsa:From header is used in such cases. The above function sets the From header.

axis2_options_set_relates_to(options, env, relates_to)



Sets the wsa:RelatesTo header. This header contains a unique ID which is the message ID of a previously exchanged message. It helps to identify a previous message that relates to the current message.



9. Writing a Module

A module is an extension point in the Axis2/C engine. Modules are primarily used to WS-* specifications. In other words, quality of service aspects such as security and reliable messaging can be implemented as modules and deployed with the Axis2/C engine.

A SOAP message can contain any number of header blocks. These header blocks provide various processing information. In Axis2/C, these various header blocks are processed by modules. Some times modules may add header blocks to a SOAP message.

Normally a module is a collection of handlers. So writing a module mainly consists of writing handlers. There are two interfaces that are important when writing a module. They are axis2_module and axis2_handler.

Every module should have three basic functions that are defined as function pointer members of the axis2_module_ops struct. This struct is defined in the axis2_module.h header file.

Function SignatureDescription
axis2_status_t (AXIS2_CALL * 

init)(axis2_module_t *module, const

axutil_env_t *env,

axis2_conf_ctx_t *conf_ctx,

axis2_module_desc_t *module_desc);
This function takes care of the module initialization.
axis2_status_t (AXIS2_CALL * 

shutdown)(axis2_module_t *module,

const axutil_env_t *env );
Shuts down and cleans up the module.
axis2_status_t (AXIS2_CALL *

fill_handler_create_func_map)(axis2_module_t *module,

const axutil_env_t *env );
This function fills the hash map of the handler create functions for the module.

The module developer has to implement functions with the above signatures and assign them to the members of an axis2_module_ops struct instance. Then that struct instance has to be assigned to the ops member of an axis2_module struct instance.

mod_log.c has the source for the logging module. Please have a look at the axis2_mod_log_create function in it to see how an axis2_module instance is allocated and how the ops are initialized.

The axis2_mod_log_fill_handler_create_func_map function adds the handler create functions to the module's hash map, which stores the handler create functions. In the mod_log.c example, the logging module adds two handlers. The in handler and the out handler that deals with logging along with the in-flow and out-flow respectively.

9.1 Writing Handlers

A handler is the smallest unit of execution in the Axis2/C engine's execution flow. The engine can have two flows, the in-flow and the out-flow. A flow is a collection of phases, and a phase in turn is a collection of handlers. A handler is invoked when the phase within which it lives is invoked. Axis2/C defines an interface called axis2_handler, which is to be implemented by all the handlers.

log_in_handler.c contains the source code of the in-handler of the logging module. Please have a look at the axutil_log_in_handler_create function to see how an axis2_handler instance is created and how the invoke function implementation, axis2_log_in_handler_invoke is assigned to the axis2_handler invoke function pointer. The invoke is called to do the actual work assigned to the handler. The phase that owns the handler is responsible for calling the invoke function of the handler.

log_out_handler.c contains the source code of the out handler of the logging module. The implementation is similar to the in handler, except that it is placed along the out-flow when deployed.

9.2 Writing the module.xml File

After writing the module, the module.xml file should be written. The module.xml file contains all the configuration details for a particular module. Please see the sample module.xml file for the logging module.

Please see the Engaging a Module section for more details on how to package and deploy the module.



10. Simple Axis2 HTTP Server

Simple Axis2 HTTP Server is the inbuilt HTTP server of Axis2/C.

10.1 Linux Based Systems

Synopsis :

 axis2_http_server [-p PORT] [-t TIMEOUT] [-r REPO_PATH] [-l LOG_LEVEL] [-f LOG_FILE] [-s LOG_FILE_SIZE]



You can use the following options with simple axis HTTP server.

 -p PORT port number to use, default port is 9090

-r REPO_PATH repository path, default is ../

-t TIMEOUT socket read timeout, default is 30 seconds

-l LOG_LEVEL log level, available log levels:

0 - critical 1 - errors 2 - warnings

3 - information 4 - debug 5- user 6 - trace

Default log level is 4(debug).

-f LOG_FILE log file, default is $AXIS2C_HOME/logs/axis2.log

or axis2.log in current folder if AXIS2C_HOME not set

-s LOG_FILE_SIZE Maximum log file size in mega bytes, default maximum size is 1MB.

-h display the help screen.



Example :

 axis2_http_server -l 3 -p 8080 -r $AXIS2C_HOME -f /dev/stderr



10.2 MS Windows Based Systems

Synopsis :

 axis2_http_server.exe [-p PORT] [-t TIMEOUT] [-r REPO_PATH] [-l LOG_LEVEL] [-f LOG_FILE] [-s LOG_FILE_SIZE]



You can use the following options with simple axis HTTP server.

 -p PORT port number to use, default port is 9090

-r REPO_PATH repository path, default is ../

-t TIMEOUT socket read timeout, default is 30 seconds

-l LOG_LEVEL log level, available log levels:

0 - critical 1 - errors 2 - warnings

3 - information 4 - debug 5- user 6 - trace

Default log level is 4(debug).

-f LOG_FILE log file, default is %AXIS2C_HOME%\logs\axis2.log

or axis2.log in current folder if AXIS2C_HOME not set

-s LOG_FILE_SIZE Maximum log file size in mega bytes, default maximum size is 1MB.

-h display the help screen.



Example :

 axis2_http_server.exe -l 3 -p 8080 -r %AXIS2C_HOME% -f C:\logs\error.log





11. Deploying with Apache HTTP Server Version 2.x

11.1 Linux Platform

To build Axis2/C with the Apache HTTP server module, also called mod_axis2, you need to provide the following configuration options on the Linux platform:

./configure --with-apache2=[path to Apache2 include directory] [other configure options]



NOTE: Some Apache2 distributions, specially development versions, install APR (Apache Portable Run-time) include files in a separate location. In that case, to build mod_axis2, use:

./configure --with-apache2=[path to Apache2 include directory] --with-apr=[path to APR include directory]

[other configure options]



Then build the source tree as usual using:

 make

make install



This will install mod_axis2.so into your AXIS2C_INSTALL_DIR/lib folder.

11.2 MS Windows Platform

On the MS Windows platform, you have to provide the Apache2 install location in the configure.in file with the setting APACHE_BIN_DIR. Example:

APACHE_BIN_DIR = "C:\Program Files\Apache Software Foundation\Apache2.2"



Based on the Apache HTTP server version you are using, you also need to set the setting APACHE_VERSION_2_0_X in the configure.in file. If you are using Apache 2.2 family, this setting should be set to 0,else set it to 1.

APACHE_VERSION_2_0_X = 0



To build the source, you have to run the command

nmake axis2_apache_module

This will build mod_axis2.dll and copy it to AXIS2C_INSTALL_DIR\lib directory.

11.3 Deploying mod_axis2

NOTE: To execute some of the commands given below, you might require super user privileges on your machine. If you are using the binary release of Axis2/C, please note that it is built with Apache 2.2.

Copy the mod_axis2 shared library (libmod_axis2.so.0.6.0 on Linux and mod_axis2.dll on MS Windows) to the Apache2 modules directory as mod_axis2.so

On Linux

	cp $AXIS2C_HOME/lib/libmod_axis2.so.0.6.0 /usr/lib/apache2/modules/mod_axis2.so

On MS Windows

	copy /Y "%AXIS2C_HOME%\lib\mod_axis2.dll" C:\Apache2\modules\mod_axis2.so



Edit the Apache2's configuration file (generally httpd.conf) and add the following directives at the end of the file.

LoadModule axis2_module MOD_AXIS2_SO_PATH

Axis2RepoPath AXIS2C_INSTALL_DIR

Axis2LogFile PATH_TO_LOG_FILE

Axis2LogLevel LOG_LEVEL

Axis2ServiceURLPrefix PREFIX

Axis2MaxLogFileSize SIZE_IN_MB

<Location /axis2>

SetHandler axis2_module

</Location>



Please note that you have to fine tune the above settings to mach your system.



MOD_AXIS2_SO_PATH has to be replaced with the full path to mod_axis2.so, for example, /usr/lib/apache2/modules/mod_axis2.so on Linux, or C:\Apache2\modules\mod_axis2.so on MS Windows



AXIS2C_INSTALL_DIR has to be replaced with the full path to Axis2/C repository, for example, /usr/local/axis2 on Linux, or c:\axis2c on MS Windows. Note that repository path should have read access to the daemon user account under which the Apache2 HTTPD process is run.



PATH_TO_LOG_FILE has to be replaced with the full path to where you wish to have the Axis2/C log file, for example, /tmp/axis2.log on Linux, or C:\Apache2\logs\axis2.log on MS Windows. Note that the log file path should have write access to the daemon user account under which the Apache2 HTTPD process is run.



LOG_LEVEL has to be replaced with one of the following values: crit, error, warn, info, debug, trace. These log levels have the following meanings:

  • crit - log critical errors
  • error - log errors and above
  • warn - log warnings and above
  • info - log information and above
  • debug - log debug information and above, this is the default log level used
  • user - log user level messages and above
  • trace - log trace messages and above

SIZE_IN_MB must be replaced by the size of the particular resource in MB, rounded to the nearest whole value.



PREFIX has to be replaced with the prefix to be used with the service endpoints. This is optional and defaults to "services". As an example, if you have "web_services" as the prefix, then all the services hosted would have the endpoint prefix of :

http://localhost/axis2/web_services

If you wish, you can also change the location as well by replacing "/axis2" in <Location /axis2> setting with whatever you wish.

NOTE: If you want to use a Shared Global Pool with Apache you have to give another entry called Axis2GlobalPoolSize.You have to give the size of the shared global pool in MB.If you doesn't set the value or if you set a negative value Apache module doesn't create shared global pool.

Axis2GlobalPoolSize SIZE_IN_MB



To ensure that everything works fine, start Apache2 (restart if it is already running) and test whether the mod_axis2 module is loaded correctly by accessing the URL: http://localhost/axis2/services.

This should show the list of services deployed with Axis2/C. Then you should be able to run clients against this endpoint. Example:

echo http://localhost/axis2/services/echo



In case things are not working as expected, here are some tips on how to troubleshoot:

  • Double check the steps you followed in installing and configuring mod_axis2. Check if the locations given in httpd.conf are correct, and also check the folder permissions.
  • Have a look at the axis2.log file for clues as to what is going wrong. You can set the log level to debug, user or trace to gather more information
  • In case the axis2.log file is not written at all, there is a good chance that mod_axis2 is crashing. You can have a look at the error.log file of Apache2 to get an idea on what is going wrong. This file is usually placed in the APACHE_INSTALL_DIR/logs folder.



12. Deploying with Microsoft IIS Server

Use the Axis2/C VC project or makefile to buid the component. If you are using the makefile to build the source, you have to run the command

nmake axis2_iis_module

In this document I assume that the mod_axis2_IIS.dll is in the directory c:\axis2c\lib and AXIS2C_HOME is c:\axis2c

Add the following key to the registery.

HKEY_LOCAL_MACHINE\SOFTWARE\Apache Axis2c\IIS ISAPI Redirector

Add a string value with the name AXIS2C_HOME and a value of c:\axis2c

Add a string value with the name log_file and a value of c:\axis2c\logs\axis2.log

Add a string value with the name log_level. The value can be either trace, error, info, critical, user, debug, or warning.

You can add a string value with the name services_url_prefix. This is optional and defaults to "/services". As an example, if you have "/web_services" as the prefix, then all the services hosted would have the endpoint prefix of :

http://localhost/axis2/web_services.

Note: don't forget the / at the begining.

If you wish, you can also change the location as well by adding a string value with the name axis2_location. This is also optional and defaults to /axis2. If you have /myserser as the value you can access your web services with a url like http://localhost/myserver/services.

Note: Don't forget the / at the beginning.

Now you can do all the registry editing using the JScript file axis2_iis_regedit.js provided with the distribution. When you build axis2/C with the IIS module the file is copied to the root directory of the binary distribution. Just double click it and everything will be set to the defaults. The axis2c_home is taken as the current directory, so make sure you run the file in the Axis2/C repository location (or root of the binary distribution). If you want to change the values you can manually edit the the .js file or give it as command line arguments to the script when running the script. To run the jscript from the command line use the command :\cscript axis2_iis_regedit.js optional arguments. We recomend the manual editing as it is the easiest way to specify the values.

IIS 5.1 or Below

Using the IIS management console, add a new virtual directory to your IIS/PWS web site. The name of the virtual directory must be axis2. Its physical path should be the directory in which you placed mod_axis2_IIS.dll (in our example it is c:\axis2c\lib). When creating this new virtual directory, assign execute access to it.

By using the IIS management console, add mod_axis2_IIS.dll as a filter in your IIS/PWS web site and restart the IIS admin service.

IIS 6 & 7

Using the IIS management console, add the mod_axis2_IIS.dll as a Wildcard Script Map.
  • Executable should be the complete path to the mod_axis2_IIS.dll
  • You can put any name as the name of the Wildcard Script Map

Please don't add the mod_axis2_IIS.dll as a filter to IIS as in the IIS 5.1 case.

Note: If the Axis2/C failed to load, verify that Axis2/C and its dependent DLLs are in the System Path (not the user path).



13. Using SSL Client

13.1 Building and Configuring the Client

In order to allow an Axis2/C client to communicate with an SSL enabled server, we need to compile Axis2/C with SSL support enabled.

To build with SSL client support, first of all, make sure you have installed OpenSSL on your machine. Then you can start building with SSL client support. This can be achieved on Linux by configuring Axis2/C with the --enable-openssl=yes option.

Example

%./configure --enable-openssl=yes --prefix=${AXIS2C_HOME}/deploy

%make

%make install

On MS Windows, set ENABLE_SSL=1 in the configure.in file and run the nmake all command.

13.1.1 Creating the Client Certificate Chain File

If you need SSL client authentication, Axis2/C requires you to provide the client certificate and the private key file in a single file. Such a file which contains both the certificate and relevant private key is called a certificate chain file. Creating such a file is very easy. Assume that the client certificate is stored in a file named client.crt and the private key is stored in a file named client.key. Then the certificate chain file can be created by concatenating the certificate file and the private key file in that order, in to another file, say client.pem.

On Linux you can do this as follows: %cat client.crt client.key > client.pem

On MS Windows, you can do this by copying the contents of client.crt and client.key files and saving them in a file named client.pem using Notepad.

13.1.2 Configuration

Uncomment the following in axis2.xml to enable https transport receiver and https transport sender. Axis2/C will then be able to recognize the "https" sheme in a given end point reference (EPR) and use SSL transport.

<transportReceiver name="https" class="axis2_http_receiver">

<parameter name="port" locked="false">6060</parameter>

<parameter name="exposeHeaders" locked="true">false</parameter>

</transportReceiver>

<transportSender name="https" class="axis2_http_sender">

<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

</transportSender>

For the SSL client to work, the file containing the CA certificate should be given as SERVER_CERT parameter in the axis2.xml file. If you need client authentication, you can also set the parameters in the axis2.xml file to specify the client certificate, private key, and the passphrase for the client private key. Parameter names for these are:

KEY_FILE - certificate chain file containing the client's certificate and the private key (Please refer to the creating the client certificate chain file section)

SSL_PASSPHRASE - passphrase used to encrypt the private key file.

Example:

<parameter name="SERVER_CERT">/path/to/ca/certificate</parameter>

<parameter name="KEY_FILE">/path/to/client/certificate/chain/file</parameter>

<parameter name="SSL_PASSPHRASE">passphrase</parameter>

For testing purposes, you can use the server's certificate instead of the CA certificate. You can obtain this by running the command openssl s_client -connect <servername>:<port> and copying the portion of the output bounded by and including:

-----BEGIN CERTIFICATE-----

-----END CERTIFICATE-----



On Linux, if you run the following piece of code, the server certificate will be saved to a file cert.pem:

echo |\

openssl s_client -connect <servername>:<port> 2>&1 |\

sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > cert.pem



NOTE: Instead of setting these parameters in the axis2.xml file, you can also set these parameters programmatically in your client code.

13.2 Configuring the Server

Here we will only look at the configuration of the Apache HTTP Web server. Refer to the 'Deploying with Apache HTTP Server Version2.x' section for information on deploying Axis2/C as an Apache module.

For more detailed information on SSL configuration, please refer to Apache2 SSL/TLS documentation.

In the httpd.conf file, add the following configuration statements (in addition to other necessary configuration):

SSLEngine on

SSLCertificateFile /path/to/server/certificate/file

SSLCertificateKeyFile /path/to/private/key/file

SSLCACertificateFile /path/to/CA/certificate/file

SSLVerifyClient require

SSLVerifyDepth 1

NOTE: The last two lines, SSLVerifyClient and SSLVerifyDepth are only needed when you need client authentication.



14. Using Proxy Support

When using a proxy, there are two methods for specifying proxy settings:

  1. Specify proxy settings in axis2.xml
  2. Provide proxy settings using service client API

14.1 Specifying Proxy Settings in axis2.xml

<transportSender name="http" class="axis2_http_sender">

<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

<parameter name="PROXY" proxy_host="127.0.0.1" proxy_port="8080" locked="true"/>

</transportSender>



14.2 Providing Proxy Settings Using Service Client API

You can specify proxy settings using the following function with the service client:

axis2_svc_client_set_proxy(axis2_svc_client_t *svc_client,

const axutil_env_t *env,

axis2_char_t *proxy_host,

axis2_char_t *proxy_port);





15. Using Proxy Authentication Support

When using proxy authentication, there are three methods for specifying proxy authentication settings:

  1. Specify proxy settings with authentication in axis2.xml
  2. Provide proxy settings with authentication using service client API
  3. Provide proxy authentication settings using service client options

15.1 Specifying Proxy Settings with Authentication in axis2.xml

<transportSender name="http" class="axis2_http_sender">

<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

<parameter name="PROXY" proxy_host="127.0.0.1" proxy_port="8080" proxy_username="" proxy_password="" locked="true"/>

</transportSender>



15.2 Providing Proxy Settings with Authentication Using Service Client API

You can specify proxy authentication settings using the following function with the service client:

axis2_svc_client_set_proxy_with_auth(axis2_svc_client_t *svc_client,

const axutil_env_t *env,

axis2_char_t *proxy_host,

axis2_char_t *proxy_port,

axis2_char_t *username,

axis2_char_t *password);



15.3 Providing Proxy Authentication Settings Using Service Client Options

You can specify proxy authentication settings using the following function with the service client options:

axis2_options_set_proxy_auth_info(

axis2_options_t * options,

const axutil_env_t * env,

const axis2_char_t * username,

const axis2_char_t * password,

const axis2_char_t * auth_type);

In auth_type, use Basic to force Basic Authentication or Digest to force Digest Authentication. Leave this field NULL if you are not forcing authentication.

15.4 Predetermining Proxy Authentication Details

You can also predetermine whether proxy authentication is required. This can be done by calling the function below:

axis2_options_set_test_proxy_auth(

axis2_options_t * options,

const axutil_env_t * env,

const axis2_bool_t test_proxy_auth);

Set test_proxy_auth to AXIS2_TRUE to enable testing.When testing is enabled, the request will be sent without without adding authentication information. If it fails, and requests Authentication Information, the request type of authentication will be saved. This information can be obtained in the following manner:

axis2_svc_client_get_auth_type(

const axis2_svc_client_t * svc_client,

const axutil_env_t * env);

This will return either Basic, Digest or NULL according to the type of authentiation requested. In addition to that, after each request made through the service client, you can check whether authentication was required.

axis2_svc_client_get_proxy_auth_required(

const axis2_svc_client_t * svc_client,

const axutil_env_t * env);

Please take a look at the echo_blocking_auth sample for more information on how to use these methods to identify proxy Authentication requirements.



16. Using HTTP Authentication Support

When using HTTP authentication, there are two methods for specifying proxy authentication settings:

  1. Specify HTTP authentication settings in axis2.xml
  2. Provide HTTP authentication settings using service client options

16.1 Specifying HTTP Authentication Settings in axis2.xml

<transportSender name="http" class="axis2_http_sender">

<parameter name="PROTOCOL" locked="false">HTTP/1.1</parameter>

<parameter name="HTTP-Authentication" username="your username" password="your password" locked="true"/>

</transportSender>



16.2 Providing HTTP Authentication Settings Using Service Client Options

You can specify HTTP authentication settings using the following function with the service client options:

axis2_options_set_http_auth_info(

axis2_options_t * options,

const axutil_env_t * env,

const axis2_char_t * username,

const axis2_char_t * password,

const axis2_char_t * auth_type);

In auth_type, use Basic to force HTTP Basic Authentication or Digest to force HTTP Digest Authentication. Leave this field NULL if you are not forcing authentication.

16.3 Predetermining HTTP Authentication Details

You can also predetermine whether HTTP authentication is required. This can be done by calling the function below:

axis2_options_set_test_http_auth(

axis2_options_t * options,

const axutil_env_t * env,

const axis2_bool_t test_http_auth);

Set test_http_auth to AXIS2_TRUE to enable testing.When testing is enabled, the request will be sent without without adding authentication information. If it fails, and requests Authentication Information, the request type of authentication will be saved. This information can be obtained in the following manner:

axis2_svc_client_get_auth_type(

const axis2_svc_client_t * svc_client,

const axutil_env_t * env);

This will return either Basic, Digest or NULL according to the type of authentiation requested. In addition to that, after each request made through the service client, you can check whether authentication was required.

axis2_svc_client_get_http_auth_required(

const axis2_svc_client_t * svc_client,

const axutil_env_t * env);

Please take a look at the echo_blocking_auth sample for more information on how to use these methods to identify HTTP Authentication requirements.



17. WSDL2C Tool

WSDL2C tool that comes with Axis2/Java supports the generation of Axis2/C stubs and skeletons for WSDL files. This is a Java tool that can be used to generate C code that works with Axis2/C API. You should use Axis2/Java SVN revision 529533 or later revisions. You can download the Axis2/Java nightly build and use those binaries to generate code. Check out a basic guide on the Java tool.

Before you run the tool, make sure that all the .jar library files that come with Axis2/Java are added to the CLASSPATH environment variable.

17.1 Generating Service Skeletons

The tool can be run with the following parameters and generate the service skeleton and other required files with ADB (Axis Data Binding) support.

java org.apache.axis2.wsdl.WSDL2C -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u 



To understand the meanings of the options used with the tool, please have a look at the Java tool documentation.

If you need an XML in/out programming model, you can just ignore the data binding support. To generate code with no data binding support, just replace -d adb -u, that was used in a previous command, with -d none.

java org.apache.axis2.wsdl.WSDL2C -uri interoptestdoclitparameters.wsdl -ss -sd -d none



The WSDL file, interoptestdoclitparameters.wsdl, used in the above command examples can be found in <axis2_src_dir>/test/resources directory.

Once the code is generated, you have to implement the business logic for the service. For this, locate the skeleton source file from the generated files. To identify the locations where you can place your business logic in line with the operations defined in the WSDL file that you used to generate code, look for the comment lines:

/* Todo fill this with the necessary business logic */

You can also go through the generated header files and understand the API in line with the WSDL file that you used to generate the code.

17.2 Generating Client Stubs

The WSDL2C code generator tool provides support for generating client stubs as well. You can generate the required stubs from a given WSDL with the other supporting files. Use following parameters to generate the Axis2/C client stub code with ADB support.

java WSDL2C -uri interoptestdoclitparameters.wsdl -d adb -u



In order to ignore the data binding support and use a raw XML in/out model, just use the following parameters.

java WSDL2C -uri interoptestdoclitparameters.wsdl -d none



Like in the case of service skeletons, you have to fill in the business logic as required in the client stubs as well. To do this, go through the header files generated and understand the API in line with the WSDL file that you used to generate the code.



18. TCP Transport

18.1 Building AXIS2C enabling TCP

This section will guide you through installing Axis2C with tcp enabled, and this also includes how to test it by running samples. Please note that both the Server and the Client must be built with TCP enabled.

18.1.1 Linux Based Systems

  1. When you are installing, you have to use the configure command with the option to enable tcp by providing the following argument:
  2. 	./configure --enable-tcp=yes

    make

    make install
  3. Then to confirm that you have successfully built the source with tcp enabled you can check in your $AXIS2C_HOME/lib folder for following files:
  4. 	libaxis2_tcp_sender.so

    libaxis2_tcp_reciever.so
  5. To setup the tcp transport sender, you have to edit the axis2.xml by uncommenting following entry:
  6. 	<transportSender name="tcp" class="axis2_tcp_sender">

    <parameter name="PROTOCOL" locked="false">TCP</parameter>

    </transportSender>

18.1.2 MS Windows Based Systems

  1. When you are installing, you have to set the configure option to enable tcp by specifying in configure.in:
  2.  WITH_TCP = 1
  3. Then to confirm that you have successfully built the source with tcp enabled you can check in your %AXIS2C_HOME%\lib folder for following files:
  4. 	axis2_tcp_sender.dll

    axis2_tcp_reciever.dll
  5. To setup the tcp transport sender, you have to edit the axis2.xml by uncommenting following entry:
  6.  <transportSender name="tcp" class="axis2_tcp_sender">

    <parameter name="PROTOCOL" locked="false">TCP</parameter>

    </transportSender>

18.2 Server Side

  • To run the tcp server on Linux based systems, you have to start the tcp server which runs in 9091 as its default port.
  • 	cd $AXIS2C_HOME/bin/

    ./axis2_tcp_server
  • To run the tcp server on MS Windows based systems, you have to start the tcp server as,
  •  cd %AXIS2C_HOME%\bin

    axis2_tcp_server.exe

18.2.1 Simple Axis2 TCP Server

Simple Axis2 TCP Server is the inbuilt TCP server of Axis2/C.

18.2.1.1 Linux Based Systems

Synopsis :

 axis2_tcp_server [-p PORT] [-t TIMEOUT] [-r REPO_PATH] [-l LOG_LEVEL] [-f LOG_FILE] [-s LOG_FILE_SIZE]



You can use the following options with simple axis TCP server.

 -p PORT port number to use, default port is 9091

-r REPO_PATH repository path, default is ../

-t TIMEOUT socket read timeout, default is 30 seconds

-l LOG_LEVEL log level, available log levels:

0 - critical 1 - errors 2 - warnings

3 - information 4 - debug 5- user 6 - trace

Default log level is 4(debug).

-f LOG_FILE log file, default is $AXIS2C_HOME/logs/axis2.log

or axis2.log in current folder if AXIS2C_HOME not set

-s LOG_FILE_SIZE Maximum log file size in mega bytes, default maximum size is 1MB.

-h display the help screen.



Example :

 axis2_tcp_server -l 3 -p 8080 -r $AXIS2C_HOME -f /dev/stderr



18.2.1.2 MS Windows Based Systems

Synopsis :

 axis2_tcp_server.exe [-p PORT] [-t TIMEOUT] [-r REPO_PATH] [-l LOG_LEVEL] [-f LOG_FILE] [-s LOG_FILE_SIZE]



You can use the following options with simple axis TCP server.

 -p PORT port number to use, default port is 9091

-r REPO_PATH repository path, default is ../

-t TIMEOUT socket read timeout, default is 30 seconds

-l LOG_LEVEL log level, available log levels:

0 - critical 1 - errors 2 - warnings

3 - information 4 - debug 5- user 6 - trace

Default log level is 4(debug).

-f LOG_FILE log file, default is %AXIS2C_HOME%\logs\axis2.log

or axis2.log in current folder if AXIS2C_HOME not set

-s LOG_FILE_SIZE Maximum log file size in mega bytes, default maximum size is 1MB.

-h display the help screen.



Example :

 axis2_tcp_server.exe -l 3 -p 8080 -r %AXIS2C_HOME% -f C:\logs\error.log



18.3 Client Side

  • In your service client you have to give the end point address adding tcp as the URI Schema name in the client's code.
  • tcp://[service_hostname]:[service_port]/axis2/services/your_service_name
  • You can use TCPMon to figure out how the message is transferred (without having it's http headers) after you've built Axis2C enabling tcp.



19. AMQP Transport

19.1 Building AXIS2C enabling AMQP

This section will guide you through installing Axis2C with AMQP enabled, and this also includes how to test it by running samples. Please note that both the Server and the Client must be built with AMQP enabled.

19.1.1 Linux Based Systems

  1. When you are installing, you have to use the configure command with the option --with-qpid as follows
  2.  ./configure --with-qpid=path/to/qpid home

    make

    make install
  3. Then to confirm that you have successfully built the source with AMQP enabled you can check in your $AXIS2C_HOME/lib folder for following files:
  4.  libaxis2_qmqp_sender.so

    libaxis2_amqp_reciever.so
  5. To setup the AMQP transport, you have to edit the axis2.xml and add the following entries:
  6.  <transportReceiver name="amqp" class="axis2_amqp_receiver">

    <parameter name="qpid_broker_ip" locked="false">127.0.0.1</parameter>

    <parameter name="qpid_broker_port" locked="false">5672</parameter>

    </transportReceiver>



    <transportSender name="amqp" class="axis2_amqp_sender"/>

19.1.2 MS Windows Based Systems

Axis2/C does not support AMQP transport on Windows.

19.2 Server Side

Start the Qpid broker as follows.



$ cd ${QPID_HOME}/sbin

$ ./qpidd --data-dir ./


Start the axis2_amqp_server as follows.



$ cd ${AXIS2C_HOME}/bin

$ ./axis2_amqp_server

You should see the message

                 Started Simple Axis2 AMQP Server...



This will connect to the Qpid broker listening on 127.0.0.1:5672.

To see the possible command line options run



$ ./axis2_amqp_server -h



NOTE : You have the flexibility of starting the Qpid broker first and then axis2_amqp_server or vise versa.

19.2.1 Simple Axis2 AMQP Server

Simple Axis2 AMQP Server is the inbuilt AMQP server of Axis2/C.

19.2.1.1 Linux Based Systems

Synopsis :

 axis2_amqp_server [-i QPID_BROKER_IP] [-p QPID_BROKER_PORT] [-r REPO_PATH] [-l LOG_LEVEL] [-f LOG_FILE] [-s LOG_FILE_SIZE]



You can use the following options with simple axis AMQP server.

 -i IP where the Qpid broker is running, default IP is 127.0.0.1

-p PORT port number the Qpid broker listens on, default port is 5672

-r REPO_PATH repository path, default is ../

-l LOG_LEVEL log level, available log levels:

0 - critical

1 - errors

2 - warnings

3 - information

4 - debug

5- user

6 - trace

Default log level is 4(debug).

-f LOG_FILE log file, default is $AXIS2C_HOME/logs/axis2.log or axis2.log in current folder if AXIS2C_HOME not set

-s LOG_FILE_SIZE Maximum log file size in mega bytes, default maximum size is 1MB.

-h display the help screen.



Example :

 axis2_amqp_server -i 127.0.0.1 -p 5050 -r $AXIS2C_HOME -f /dev/stderr



19.3 Client Side

When the axis2_amqp_server is up and running, you can run the sample clients in a new shell as follows.



$ cd ${AXIS2C_HOME}/samples/bin/amqp



$ ./echo_blocking

This will invoke the echo service.



To see the possible command line options for sample clients run them with '-h' option

20. Archive Based Deployment

Axis2/C supports two main deployment models,

  1. Directory Based Deployment
  2. Archive Based Deployment
Our discussion in this section focuses on how to setup and use archive based deployment in Axis2/C. By default, Axis2/C may be built without enabling archive based deployment. Therefore, first and foremost you will have to most probably rebuild from source.

Also, it is requirement that you have zlib. Most Linux systems do have zlib by default, but would require zlib development packages. More information can be found here. For MS Windows systems, you can download it from here.

Next, you will have to build Axis2/C enabling Archive Based Deployment. On Linux, you need to set the --with-archive=[path_to_zlib_headers]

Example:

%./configure --with-archive=/usr/include/ --prefix=${AXIS2C_HOME}/deploy

%make

%make install

On MS Windows, set WITH_ARCHIVE = 1 in the configure.in file and run the nmake all command. Please note that you have to specify the directory where you can find the zlib binary, for a MS Windows system. This can be done by setting the ZLIB_BIN_DIR in the configure.in file.

20.1 Deploying Services

Once you have successfully completed the installation, you will have to deploy services as archives in order to make use of this deployment model. Please note that directory based deployment can coexist with the archive based deployment model. Therefore, you can alternatively use either of the two.

You will merely have to add your existing service libraries and the services.xml file into an archive. For example, in order to deploy the sample echo service as an archive, you can zip the echo folder found in the AXIS2C_BIN_DIR/services directory. You can optionally rename your zip file, to have the .aar extension.

Please note that all such services deployed as archives should also be placed inside the AXIS2C_BIN_DIR/services directory. Now, when ever you start your Simple Axis2 Server, or any Axis2/C module attached to any other server, your services deployed as archives, will also get loaded.

20.2 Deploying Modules

Similar to services, you also can deploy modules as archives. You also can optionally rename your zip files to have the extension, .mar as in service archives.

Your module archives must be placed in the AXIS2C_BIN_DIR/modules directory.

20.3 Known Issues

Please note that there are a few known issues when running archive based deployment, mainly on Linux based systems.

  • If you want to run both client and server from same respository, assign super-user privilideges for your server in order to prevent un-zipped files getting overwritten, which will in return cause a segmentation fault on your server.

  • Please make sure that the application you choose to create archives preserves executable rights, and symbolic links of libraries that are found inside the archive, once unzipped.



21. TCPMon Tool

TCPMon is a TCP Monitor tool provided by Axis2/C for monitoring payloads exchanged between client and server. If you are using a source distribution, this may or may not be built for you by default. Thus, to get started, you may require building it from source.

On Linux

	./configure --prefix=${AXIS2C_HOME} --enable-tests=no

make

On MS Windows

	nmake tcpmon

Please note that in most Linux based installations, this will most probably be built for you. Once you've done with the building process, you can find the executable at ${AXIS2C_HOME}/bin/tools on Linux, or at %AXIS2C_HOME%\bin\tools on MS Windows.

By default, the TCPMon tool will listen on port 9090 and reply to port 8080. The default target host will be localhost and tcpmon_traffic.log will be the default log_file. If you want to change any of these settings run ./tcpmon -h on Linux, or tcpmon.exe -h on MS Windows for more information.

The TCPMon tool does depend on the Axis2/C Util, Axis2/C AXIOM and Axis2/C Parser libraries. Thus, if you want to use TCPMon to monitor payloads in any other message transfer, independant of the Axis2/C engine, you will have to build those dependant libraries too. In addition to that, TCPMon does not depend on the Axis2/C Core and installing the Axis2/C engine is not always a pre-requisite to run TCPMon.



Appendix A - axis2.xml

The axis2.xml file is the configuration file for Axis2/C. It has 6 top level elements. They are parameter, transportReceiver, transportSender, module, phaseOrder and messageReceiver. The following sections describe these elements, their sub elements, element attributes, possible values, and their purpose.

axisconfig is the root element of axis2.xml file.

AttributePossible Values
nameAxis2/C

parameter

In Axis2/C, a parameter is a name value pair. Each and every top level parameter available in the axis2.xml (direct sub elements of the root element) will be stored as parameters as axis2_conf. Therefore, the top level parameters set in the configuration file can be accessed via the axis2_conf instance in the running system.

Sub elements :- none

Attributes :- name, locked

AttributeDescription
nameName of the parameter. The table below shows possible values of the name attribute and their description.
ValueDescriptionPossible Text of Parameter Element
enableMTOMEnable MTOM support when sending binary attachmentstrue or false
enableRESTEnable REST supporttrue or false
lockedIndicates whether the parameter can be changed from the code. Following are the possible values for the locked attribute.
ValueDescription
trueThe parameter cannot be changed from the code
falseThe parameter can be changed from the code.

transportReceiver

This element specifies the transport receiver details in an IN-OUT message exchange scenario. The users can change the transport receiver port as they wish.

Attributes :- name, class

AttributeDescriptionPossible Values
nameSpecifies which transport protocol is usedhttp (when using HTTP)
classSpecifies the shared library which implements the transport interfaceName of the shared library.

Example:- On Linux if the value is given as foo then shared library is libfoo.so.

On MS Windows, foo.dll.

Sub elements :- can have zero or more parameter elements.



The following table shows possible parameter values.

AttributeDescription
nameName of the parameter.
ValueDescriptionPossible Text of Parameter Element
portTransport listener portInteger specifying the port number
exposeHeadersWhether Transport Headers are exposed to a Servicetrue/false
lockedwhether the parameter can be changed from the code
ValueDescription
trueParameter cannot be changed from the code
falseThe parameter can be changed from the code.

transportSender

This element specifies the transport senders used to send messages.

Attributes :- name, class

AttributeDescriptionPossible Values
nameSpecifies which transport protocol is used when sending messageshttp(when using http)
classSpecifies the shared library which implements the transport interface

Name of the shared library.

Example:- On Linux if the value is given as foo then the shared library is libfoo.so.

On MS Windows, foo.dll.

Sub elements : can have zero or more parameter elements.



The following table shows possible parameter values.

AttributeDescription
nameThe name of the parameter.
ValueDescriptionPossible text of parameter element
PROTOCOLTransport protocol usedProtocol version. Example:- HTTP /1.1, HTTP/1.0
lockedIndicates whether the parameter can be changed from the code.
ValueDescription
trueThe parameter cannot be changed from the code
falseThe parameter can be changed from the code.

module

This element is optional. It is used when a particular module needs to be engaged globally for every service deployed with Axis2/C.

AttributesDescriptionPossible Values
refThe name of the module which is to be engaged globally.Name of the module.

Example : addressing

phaseOrder

The order of phases in a particular execution chain has to be configured using phaseOrder element.

AttributeDescriptionPossible Values
typeThe flow to which the phase belongsinflow

outflow

INfaultflow

Outfaultflow

A flow is a collection of handlers which is invoked for a particular message. The types of flows are described below.

FlowDescription
inflowCollection of handlers invoked for a message coming in to the system.
outflowCollection of handlers invoked for a message going out of the system.
INfaultflowCollection of handlers invoked for an incoming fault message.
OutfaultflowCollection of handlers invoked for an outgoing fault message.

Sub elements : phase: represents the available phases in the execution chain

The system predefined phases cannot be changed.

The system predefined phases are,

  • Transport
  • PreDispatch
  • Dispatch
  • PostDispatch
  • MessageOut
AttributeDescriptionPossible Values
nameSpecifies the name of the phaseTransport, Dispatch, PreDispatch, PostDispatch, MessageOut

User defined phases (can have a user defined name)

Sub elements of phase element: handler

AttributeDescriptionPossible Values
nameSpecifies the handler name. Phase may contain zero or more handlers.Based on the handler name.

Example: AddressingbasedDispatcher, RequestURIbaseddispatcher

classSpecifies the shared library which implements the handler

Name of the shared library.

Example: On Linux, if the value is given as foo, then the shared library is libfoo.so.

On MS Windows, foo.dll.

messageReceiver

AttributeDescriptionPossible Values
mepMessage Exchange PatternIN-OUT, IN-ONLY
classSpecify the shared library which implements the transport interface.

If not specified, the Axis2/C default message receiver is used.

Name of the shared library.

Example: On Linux, if the value is given as foo, then the shared library is libfoo.so.

On MS Windows, foo.dll.



Appendix B - services.xml

Configuration of a service is specified using a services.xml. Each service or service archive file needs to have a services.xml in order to be a valid service. The following sections describe the elements of the services.xml file.

If services.xml describes a single service, the root element is service. If it is describing a service group, then the root element is serviceGroup. The service element will be a child element of serviceGroup if there are multiple services specified in services.xml.

AttributesDescriptionPossible Values
nameName of the service or service group.Depends on the service or the service group.

Examples: echo, sg_math

This is optional. This element can be used to describe the service in a human readable format.

This is optional. Can be used to engage modules at service level.

AttributesDescriptionPossible Values
refName of the module which is to be engaged for the serviceName of the module which is to be engaged at service level.

The service element can have any number of parameters as sub elements.

AttributeDetail
name
DescriptionPossible ValueParameter Value
Specifies the name of the shared library that holds the service implementationserviceClassthe service name. Example: echo
Path of static WSDL to be attached with servicewsdl_pathAbsolute path or path relative to AXIS2C_HOME/bin
Default HTTP Method used in a REST invocationdefaultRESTMethodOne of GET, POST, HEAD, PUT or DELETE
locked
DescriptionPossible Value
Indicates whether the parameter can be changed from the codetrue/false

The operations of the service are specified using operation elements.

AttributesDescriptionPossible Values
namename of the operationExample: echoString
mepmessage exchange pattern uri.

This is defaulted to in-out MEP. For other MEPs, You need to specify the MEP.

Example: "http://www.w3.org/2004/08/wsdl/in-only"

Sub elements of operation: parameter elements can be present as sub elements. Zero or more parameters may be present.

AttributeDetail
name
DescriptionPossible ValueParameter Value
WS-Addressing action mapping to the operationwsamappingA URL representing the WS-Addressing action corresponding to the operation
REST template mapping to the operationRESTLocationA template of the expected URL for the operation, with compulsary parts and optional parts, well defined
HTTP Method used in a REST invocationRESTMethodOne of GET, POST, HEAD, PUT or DELETE

Also, an operation element can have one or more actionMapping element as sub elements.

DescriptionPossible Values
Action mapping or an alias to an operationExample: echoString

An operation specific message receiver is specified from this. This is optional.

AttributesDescriptionPossible Values
classShared library with the message receiver implementationName of the shared library.

Example: On Linux, if the value is given as foo, then the shared library is libfoo.so.

On MS Windows, foo.dll.



Appendix C - module.xml

The module.xml file provides the configuration details for a particular module in Axis2/C. The top level element is module.

module

AttributesDescriptionPossible Values
nameName of the moduleExample- addressing
classSpecifies the shared library which implements the module.Name of the shared library.

Example- On Linux, if the value is given as foo, then the shared library is libfoo.so.

On MS Windows, foo.dll.

Other elements are child elements of module.

parameter

Any number of parameters can be present, depending on the module.

AttributesDescriptionPossible Values
nameName of the parameterDepends on the module
lockedIndicates whether the parameter can be changed from the codetrue - cannot be changed

false - can be changed

Description

Describes the behavior of the module. This element is optional and has no attributes or sub elements.

inflow

Encapsulates details added to the in-flow by the module. Zero or one element is possible and does not have any attributes.

Sub elements of inflow : handler, contains details about the module specific handlers added to a particular flow. Zero or more handlers can be added.

AttributesDescriptionPossible Values
nameName of the handlerDepends on the handlers in the module.
classSpecifies the shared library which implements the handler

Name of the shared library.

Example: On Linux, if the value is given as foo, then the shared library is libfoo.so.

On MS Windows, foo.dll.

sub elements of handler : order, specifies where to put a handler in a particular phase.

AttributeDescriptionPossible Values
phaseThe name of the phase the handler belongs todepends on the handler
phaseLastIndicates that the handler is the last handler of the phasetrue
phaseFirstIndicates that the handler is the first handler of the phase.true
beforeHandler should be invoked before the handler, which is specified by the before handlerhandler name
afterHandler should be invoked after the handler, which is specified by the after handlerhandler name

From the above attributes, phase is compulsory. Given below are combinations possible from the other four attributes.

CombinationDescription
phaseLastIndicates that the handler is the last handler of the phase
phasefirstIndicates that the handler is the first handler of the phase.
beforeHandler should be invoked before the handler, which is specified by the before handler
afterHandler should be invoked after the handler, which is specified by the after handler
before & afterHandler should be invoked before the handler specified by the before handler, and

after the handler specified by the after handler.

outflow, INfaultflow, OUTfaultflow elements have the same syntax as that of inflow.

operation

This is used when a module wants to add operations to a service that engages the module.

AttributesDescriptionPossible Values
nameName of the operation (compulsory)Depends on the module
mepMessage Exchange PatternIN-OUT, IN-ONLY

Sub elements of operation : Any number of parameters can be included as sub elements in the operation element.

The messageReceiver parameter specifies the message receiver the message is intended for. If it is not set, the default message receiver is used.



Appendix D - axis2_options

This section describes various types of options that can be set with axis2_options. These options are used by the service client before sending messages.

axis2_options_set_action(options, env, action)

Sets the WS-Addressing action that is to be set in the addressing SOAP headers.

ParameterDescription
axis2_options_t *optionsPointer to the options struct
const axutil_env_t *envPointer to the environment struct
const axis2_char_t *actionPointer to the action string

axis2_options_set_fault_to(options, env, fault_to)

Sets the end point reference which may receive the message in a case of a SOAP fault.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_endpoint_ref_t *fault_toPointer to the endpoint reference struct representing the fault to address.

axis2_options_set_from(options, env, from)

Some services need to know the source from which the message comes. This option sets the from endpoint

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_endpoint_ref_t *fromPointer to the endpoint reference struct representing the from address.

axis2_options_set_to(options, env, to)

Sets the endpoint reference the message is destined to.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_endpoint_ref_t *toPointer to the endpoint reference struct representing the to address.

axis2_options_set_transport_receiver(options, env, receiver)

Sets the transport receiver in an OUT-IN message exchange scenario.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_transport_receiver_t *receiverPointer to the transport receiver struct.

axis2_options_set_transport_in(options, env, transport_in)

Sets the transport-in description.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_transport_in_desc_t *transport_inPointer to the transport_in struct.

axis2_options_set_transport_in_protocol(options, env, transport_in_protocol)

Sets the transport-in protocol.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const AXIS2_TRANSPORT_ENUMS transport_in_protocolThe value indicating the transport protocol.

axis2_options_set_message_id(options, env, message_id)

Sets the message ID.

ParameterDescription
axis2_options_t *optionsThe pointer to the options struct.
const axutil_env_t *envThe pointer to the environment struct.
const axis2_char_t *message_idThe message ID string.

axis2_options_set_properties(options, env, properties)

Sets the properties hash map.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_hash_t *propertiesPointer to the properties hash map.

axis2_options_set_property(options, env, key, property)

Sets a property with a given key value.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_char_t *property_keyThe property key string.
const void *propertyPointer to the property to be set.

axis2_options_set_relates_to(options, env, relates_to)

Sets the relates-to message information.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_relates_to_t *relates_toPointer to the relates_to struct.

axis2_options_set_reply_to(options, env, reply_to)

Sets the reply-to address, when the client wants a reply to be sent to a different end point.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_endpoint_ref_t *reply_toPointer to the endpoint reference struct representing the reply-to address.

axis2_options_set_transport_out(options, env, transport_out)

Sets the transport-out description.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_transport_out_desc_t *transport_outPointer to the transport-out description struct.

axis2_options_set_sender_transport(options, env, sender_transport, conf)

Sets the sender transport.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const AXIS2_TRANSPORT_ENUMS sender_transportThe name of the sender transport to be set.
axis2_conf_t *confPointer to the conf struct. It is from the conf that the transport is picked with the given name.

axis2_options_set_soap_version_uri(options, env, soap_version_uri)

Sets the SOAP version URI.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_char_t *soap_version_uriURI of the SOAP version to be set.

axis2_options_set_timeout_in_milli_seconds(options, env, timeout_in_milli_seconds)

Sets the time out in milli seconds. This is used in asynchronous message exchange scenarios to specify how long the call back object is to wait for the response.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const long timeout_in_milli_secondsTimeout in milli seconds.

axis2_options_set_transport_info(options, env, sender_transport, receiver_transport, user_separate_listener)

Sets the transport information. Transport information includes the name of the sender transport, name of the receiver transport, and whether a separate listener is to be used to receive a response.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const AXIS2_TRANSPORT_ENUMS sender_transportName of the sender transport to be used.
const AXIS2_TRANSPORT_ENUMS receiver_transportName of the receiver transport to be used.
const axis2_bool_t use_separate_listenerbool value indicating whether to use a separate listener or not.

axis2_options_set_use_separate_listener(options, env, use_separate_listener)

Sets the bool value indicating whether to use a separate listener or not. A separate listener is used when the transport is a one-way transport and the message exchange pattern is two way.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_bool_t use_separate_listenerbool value indicating whether to use a separate listener or not

axis2_options_set_soap_version(options, env, soap_version)

Sets the SOAP version.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const int soap_versionSOAP version, either AXIOM_SOAP11 or AXIOM_SOAP12.

axis2_options_set_enable_mtom(options, env, enable_mtom)

Enable or disable MTOM handling when sending binary attachments.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_bool_t enable_mtomAXIS2_TRUE if MTOM is to be enabled, else AXIS2_FALSE

axis2_options_set_enable_rest(options, env, enable_rest)

Enable or disable REST support.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
axis2_bool_t enable_restAXIS2_TRUE if REST is to be enabled, else AXIS2_FALSE

axis2_options_set_http_auth_info(options, env, username, password, auth_type)

Sets HTTP Authentication information.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_char_t *usernameString representing username
const axis2_char_t *passwordString representing password.
const axis2_char_t *auth_typeuse "Basic" to force basic authentication and "Digest" to force digest authentication or NULL for not forcing authentication

axis2_options_set_proxy_auth_info(options, env, username, password, auth_type)

Sets Proxy Authentication information.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_char_t *usernameString representing username
const axis2_char_t *passwordString representing password.
const axis2_char_t *auth_typeuse "Basic" to force basic authentication and "Digest" to force digest authentication or NULL for not forcing authentication

axis2_options_set_test_http_auth(options, env, test_http_auth)

Enables testing of HTTP Authentication information.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_bool_t test_http_authbool value indicating whether to test or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable

axis2_options_set_test_proxy_auth(options, env, test_proxy_auth)

Enables testing of proxy Authentication information.

ParameterDescription
axis2_options_t *optionsPointer to the options struct.
const axutil_env_t *envPointer to the environment struct.
const axis2_bool_t test_proxy_authbool value indicating whether to test or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable


axis2c-src-1.6.0/docs/docs/images/0000777000175000017500000000000011172017604017764 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/docs/images/arrow_right.gif0000644000175000017500000000151211172017604022775 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿÿÌ™€fþ, /` Áƒ D˜Ð`‡ˆHQ ÅŠ3j,¸QáÆ…‚´(qdI;axis2c-src-1.6.0/docs/docs/images/binary_folder_structure.jpg0000644000175000017500000001754211172017604025432 0ustar00manjulamanjula00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀ¼É"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?èþ|<ð®»à]7RÔ´¿>îo7Ì“í®q+¨áX€v®£þ/‚?è ÿ“sñt|%ÿ’c£ÿÛoýõÚU6îaNœilqð©|ÿ@Oü››ÿ‹ª3ü1ð€½kkoÂå#Y¥Ô'O¼X0N~é¯B®wÄ>þÚŸ÷¶Zmí¹TýÕôaÕYKá€*Ã8r3õõ¡I–éC²ûŒ O†> šækyü?rD¨ÿ»¿Á Xu$sòš§wð×Á&òhF—q”ÁB[Í4Œÿ*±b2Ü|Àtã¹9vÐÛEIAem UXà³]¨€c€Kž‚³5{©ôMtÖWSÅ:oüF0}>áüÇáÇŽXÁ{+Þý hQ¤ÛæKð9—ð…íbü'%Îb–õ8ÈR09Æïƶ¬þøþÎ+«m I «¹X]ÏÿÅÑ/‹ep£ûV :±ÿFìßÚµ|3a¨Gðþ%•´û÷‚Q­s³1V*x8È8=zTa+רڨš^eU¡E-0¬|ðÃSŠ9l!±»ŽILðjrH@¥Ê$å‚‚Øëž•žøe»iìí!·´Ei®dÕF…¤xö“æåHxÙ~`xÀX³ðn¬òê«rZèÅkík‹ù 4Îeæ@V@]6s„a¿’6´—~Õ^ánâµÓEÄö°Ú}–öK5·xMÒ‰Pܲu&¼²ÁAnîgÜÃÙCùWÜeËà߇ÑÜA·Ã7réó<1N;§6ûå*#ù»Ü1xÆäV\·,6¶Ý ?‡ µ ‹«{+KK™íeÌpê2;BÙ#™S•#ÐúV¥¶›âhõ»Y¯×MÕ µH£ŠéîšC°,Óy /šÄÉœ¤(Û¹ËhxZÃRÒ4km"ö+O#O·ŠÖÚâÙÚuE۽Р’;C?R3ÆIÌû‡²‡ò¯¸Çÿ…KàúäÜßü]ð©|ÿ@Oü››ÿ‹®ÒŠ9ŸpöPþU÷_ü*_Ðÿ&æÿâèÿ…KàúäÜßü]v”QÌû‡²‡ò¯¸âÿáRø#þ€Ÿù77ÿGü*_Ðÿ&æÿâë´¢ŽgÜ=”?•}Çÿ —Áôÿɹ¿øº?áRø#þ€Ÿù77ÿ]¥s>áì¡ü«î8¿øT¾ÿ 'þMÍÿÅÑÿ —Áôÿɹ¿øºí(£™÷eå_qÅÿÂ¥ðGý?ònoþ.øT¾ÿ 'þMÍÿÅ×iEϸ{(*û:Ö~xGKµ¶»´Ñ‘f[û4ùæ’E*׫¬ÄUˆÁë«ÿ„;Ãô.iøÿGŠäý„¬?ô®*Ú¢îÀ¡Ý‘Åü%ÿ’c£ÿÛoýõÚWð—þIŽÿm¿ôs×iD·aKࢠ(¢‘ T7W+i••ŸæU ˜É,BÉ©5RÕbšk¶éæJ²G L®¬G>šÜOa§RxÊyÚ}Ô(Ω½š2bèäõ#µM{tm’0¸ó%- }Õ8''ðSÇsÇQÈØø~öÞúK]IWÌBæëV–åB‡V?+ÊÃ?/P3ùš×ñ†õÑ„ª¤¬nÌøÀ1ºÿ2?:Ç)F“”V¥ÒJSIŽÿ„Š8Oiv„gtÇSèCÉúƒø÷t­jÏXIM³ñ1Wˆ%yëÁ ƒØ‚EsÏãÝX‘žÿ ðÞ©³ãYn­ä…4öGb¬c9 r?»ÍpaqU'QAÞÞ†Õ)¥m–¥ õÖ£oÈÂà[ÊX 1G.Wž›dQÎ9êlA2ÜÛÅ: HÔI#FyV©ö Þ¸;ÝIâýJê/í»ŸU´º·Öÿp<»xã·Ç»wœ7æM¡pwóò±5ŸáßÞéú,7iE®Åw¥îAŒÌG œs¨…Â\)\üÃv Ϩsž¡EPEPEPEPEPEP/Šäý„¬?ô®*Ú¬_ÿÈ"û Xé\UµO¡+âgð—þIŽÿm¿ôs×i\_Â_ù&:?ý¶ÿÑÏ]¥Ý“Kࢠ(¢‘ QER@ ö4´P_f·ÿžßœ‘Gv"®zí§Ñ@§S•£Z¬¶Än]²1—Ô&Ü{ã9ÇlñOX²’ê;mÒÇ4 ˜Öh=øÆq¸ õ+“Òïô¨í ê&ÈÌ…S §7 gw¹ª>&Ô´o왎œÚz]ª© 7™0G9ÆZñifRm)jÙÙ,:=&Šæüjn ‚æî .É­½Ìp¡XùeíÁ–NÓæ(8À0%O/{?ˆYѤKmKOž'±‡ìŠ·wË$,ÑùÌó«ù¨yP™œù{à ÈG´qž™Uïo­ôøk©<¸ÚXái9ycAÇ«2lóÅy¾e¯ÚXés×â;MgÏ&fžb—¡Õɪ’¤ÞP„’sô_·j~ðô¶?Û—qÉ>¨÷ßi5À»´uxÌÝT(¹bbù0n6P°Q^O¥ÁâeÓ/û[Õaº{Dût‹ÉDwH÷ýñ/‘ç.m [+¶:ô χ- ÅœörçÉžî[— ½¶“$ Hr0Øps´€FÅQ@Q@Q@¾)ÿDö°ÿÒ¸«j±|Sÿ ˆ?ì%aÿ¥qVÕ>„¯‰œ_Â_ù&:?ý¶ÿÑÏ]¥q ä˜èÿöÛÿG=v”KvM/‚>ˆ(¢ŠFEPQO:[ÆbNÕEêÇМ’pKX^)í¬ š6Úë+}•%c^£§MÍt.œy¤¢]:ŬNðý‰ˆÊý¡ÕCfÃ9üÅ[‚â ¨„¶óG4g£ÆÁüEc¬ãfP÷ ƒƒ‹ÉGþÏYº‹Œg´¶,¶ÓY=áv}Ò ŠîËsŽµÇ†Ç{Iªo©¤éZ<Æõχ´{ÉÚ{6ÚY[ï;F 5è>Óã{É,,mãL¯3ªªÆd±'€ç5Ì$ú•ÿÄ-KH¶Õ§ÓmüÛ‰]¬à·ß!K}?nã$mŸõÏÏ_º3…aßxš}{Á:ÌÚ¦³ÜúËo¤Gå"Ý£éë+JÁ•€‘åV÷X9!³é¹Q‰ák‡·Yc3¢+¼a†åV$)#¨«{í>•çzŸ5;T³´»‚ãÄ)¨j@é…U¦’â»{pb\>ÒÜ‚0Xäîçë]šÛ\Ԧю”¡‡ï^xÀeËgÑ4Bòíµ;Kó—Zuضy ŒÆ’æ(å ³À”.7íÏÀôŒ Š(¢€ (¢€ (¢€ (¢€ (¢€ (¢€1|Sÿ ˆ?ì%aÿ¥qVÕbø§þAØJÃÿJâ­ª} _8¿„¿òLtûmÿ£ž»JâþÿÉ1Ñÿí·þŽzí(–ìš_}QEŠ( ¨êöÚ–,Nc¼ÀpSƒÎ{pOàM^¬Ý›;[y€ÜbJ“Ãb7aŸÄõÖUæ¡MÊJèºi¹$ŒH¼#àgƒÅ”ÀZ;Üþ§¡øVßD½’ð^]ÝNñùAîvÕݸøóI=”÷‰$¾„J£nôŠHÛ„¬ ‘õ÷õ¨4+ë˜5é´yîZé u¬S÷… rÌHô$渰ըÊi(¤ßkMK–ü×F½Þ…£ßùßlÒ¬n|ÿõ¾uº?™÷>öG?ê¢ëÿ<Óû£,l,ôË8ìì- ´µ;!‚1.I' 8$ŸÆ¹85íJ?ëzM¼w·ozÒB—wm QC­žð#wÎP¸9rH=H¼w5ý¼Ž›¥G&–×VóIstbä@ÊV5FVn#Î\rvúFiEsþñ#ø‡íFKh--„Z´ìnâ œ ˆZ5112ÀòA#ôQEQEQEQEQE‹âŸùAÿa+ý+ж«Å?òƒþÂVúWmSèJø™Åü%ÿ’c£ÿÛoýõÚWð—þIŽÿm¿ôs×iD·dÒø#肊(¤hQTõ9¤†ËtNQšX“pÕIã8&…¨= •­icWÓšÛÍ1?% í8#§~ b[xŠ+›˜£µ»ÖZO20V÷K{xÊ™OÌð§8n€çðµõë¡ik 8- HD¨?B;cóQÇ~‡‚k,CŒi7=QTîä’ÜÃo x•رñ@““‹E«š†nôÍVMFÿRûdÆb T¾óÓ¯4ÿ±ÞÆû­ÚÌã -§Ú­õS ÷?¦EÕo­6‘¨:K8‰®#–3ŸÝï)µ¾U¸5ņžÍrFÒ6Ÿ?.®è³wá}&òy®⸚_9ç¶»– D#|l)X£Êƒ´”RFFk/Pð<zÍÅ´ÑØéöï¯gj²Çæ<,2BÊ" l~h˜í@ )[>0Š ZçNHÔ®e†àZ#Eä…žs ÎcMÒ‰‹ÁWå p tÛ§†KX.çÓäx#mAQDQÉ:£DŒ¬ÂL°–.B<Á’0Û}#œÔÓ4[-#Í6«;I.Íss%ÄŒp»äfm£,Bç³2Nt+‡>:2kúL‚Êú-öÑša"ìÉqi2¨]T É!‚œ?Ý$`I¬xæÛIñ,±ÜK$V6÷ t¬D“æÈŵ‰ ]mËPI-€7PiEqöŸ´F+UÓ žöúæYbK('·gÌj®ø7Ê|,‘œ#±ùº|¯·° Š( Š( Š( Š(  _ÿÈ"û Xé\UµX¾)ÿDö°ÿÒ¸«jŸBWÄÎ/á/ü“þÛèç®Ò¸¿„¿òLtûmÿ£ž»J%»&—ÁDQE#@¨/-öÕ­ägUb§rAŸp*z(/ ÁñÊ×—’ùn+²àr3…ÅIâ 2]SLhmÝVe%“wBJ•Áüþ8­Z*gÎ.2Z1Ÿ»­Î-íÉBìgVˆ ±qŒƒ <_¡ÄÈnäh¥O3ÍŽÞWD‹qQ+²©Äv±Y„`¥ @”V;ø£IŽ[¤3NV×"IVÒS0`žZHl’o!6)-»+Œ‚*œž6Ò ¸T›íj$HŒ1 “pÌæ~ >Và1när$´°IEs÷ž5ÐllÅÔ·S´"&šCœÓIʨ„Å‚Ž𼣎ªØè(¢Š(¢Š(Å?òƒþÂVúWmV/Šäý„¬?ô®*ڧЕñ3‹øKÿ$ÇGÿ¶ßú9ë´®/á/ü“þÛèç®Ò‰nÉ¥ðGÑQHÐ(¢«ÞÜ›Kc* v.ˆª[h%˜(ÉÁÀÉô  Vl—÷–æ6¸¶¶¼‰1ܳ6Y‚Œƒ<ŸZ—R»û$1|â1+ì2|ƒk1<ñÑ{ð3žqƒ5$©ÅÊ[+™Ùh¬í+È÷Kqt„r.m¥”ûˆ‚=±øœñgIÖ×R–[ymÞÖî<±‰Ã É’®à ‚³§ˆ§;$õ*Tä•Îj5ñæZ[èÏw°+2LªUèÝÏãTõX¼M­Ú=‹h-ÌáHO8Çû?­wRjÚl:¤:\º…¢j&ø­eºóʦrGÊÜØúUx|K ÜÙØ5½6[@ì†tºF@ʆFÆBÄvž•βê Ý'÷–ëÍ‘ø“CþßÓ£¶ó \¢_*ê>Þl6ËåÞ£và7 :£.Ÿo-tÝ2ÃW±¶þÑ´šÎì4ùkË<Š!A(òöý¦AÉq€¼ öºÕ…–-ëÝ@ñ§šÆ»Þ0åÐ30]ÃË|äŒmlÀúîåÕœš­Š]ZDg¹…®<1€ w\åWž9Übrú¿€¯5KYtåÖ`‡Lion#ŒÙ™d¹ŠtlÉæ*åØ €à(ÏV7gÙÛ] ‰Ûžó‚~VàÇÒµ(›ÁO5Ö©1—Jòï7m³m9šÑËJ®d¸„Ͷi¾@ƒaëÃhSOð3Ùkv£.±=Ô–žYo<4ŒåVðݘ/úgʱ ±9…æúÿ„5›kJÏBo´I®Eumw$¶èc…$šyS“22cíRʲä(!oH¢Š(¢Š(¢ŠÅñOü‚ ÿ°•‡þ•Å[U‹âŸùAÿa+ý+ж©ô%|LâþÿÉ1Ñÿí·þŽzí+‹øKÿ$ÇGÿ¶ßú9ë´¢[²i|ôAER4 ©©[KubÑ@PJwœ «†çò«tP§x)4ûø®-tćBòYÀʇVÛƒ •f¶µà©µ¯$Æ »²¸PHçˆêxÌr¾Ð¸Q…R üÙžàœï¢ïíƢbÓìmzÚ„+y$RÈæì]yL3ÉdóØŒ Ÿ”v”WA™çÿð†êÐÅÆœXjÒK+á«\\=¨u‰ >r0ºÈ…IWµBà2½©é:”:Îcª[¬‹í¼w¬€ ê‚Fp}M\ Š( Š( Š( Š(  _ÿÈ"û Xé\UµX¾)ÿDö°ÿÒ¸«jŸBWÄÎ/á/ü“þÛèç®Ò¸¿„¿òLtûmÿ£ž»J%»&—ÁDQE#@¢Š(¢Š(¢Š(ÓüKe¡Ã%ìæ …p2‘ˆÑ{P*¡âOYjúLÖVw/,òª¬h±¾Y¼Ä>ž€þU۽皿iK¦·`Ù•—Ô.Þ}qœã¶x§Å¨iw¸ŒÅ<€˜Ö[gˆ¶1œQ“Èé^E,%&ýÚ—Hê•G»Ž¦WŽ´k­oI´‚žh"»Ý[@ gž?-Ô(YÁ‰°íaøù2>`µ¤xnm>ÿM}GBŸT·Ž(ÒÏÏ{i_Kq<®\ƒ±cùˆmòvŒ„BÞEzç)åöÞ½Ó´ ÞÃH‚݆•ë0@cO¶J’Ú³E&³"] ,vüì äžÃÂztº}­ÿüKÿ³-'»óm4ÿ}–?*5+¶2Qs"ÈøRGÏ“ó¥î«c§[ÞÏus%•¹º¹æhâÃåFN>GÇí8éW(¢Š(¢Š(¢Š(¢Š(Å?òƒþÂVúWmV/Šäý„¬?ô®*ڧЕñ3‹øKÿ$ÇGÿ¶ßú9ë´¯•4Ÿˆ~*дÈtÝ7Tò-!ÝåÇöx›bÇ–Rz“Þ®ÿÂÚñ¿ýÿòRþ"­ÓmœÅB1I¦}=E|Ãÿ kÆÿôÿÉHøŠ?ámxßþƒù)ÿG³e}r™ôõóü-¯ÿÐoÿ%!ÿâ(ÿ…µãú ÿä¤?üE͇×!ÙŸOQ_0ÿÂÚñ¿ýÿòRþ"ø[^7ÿ ßþJCÿÄQìØ}r™ôõóü-¯ÿÐoÿ%!ÿâ(ÿ…µãú ÿä¤?üE͇×!ٞǥßéQÚÔM‘™ ¦.6@#N>n@Îî=sT|M©hßÙ39´ô»US@8o2<`ŽsŒþµã>9ñäí=ÅÍ´²·Þv±€“ÿŽScñ¦¹ ‹$sZ+©Ê°°ƒ ÿßåG)œZý枟ðN§šRzò³é/ÙO¨\è6¨÷Éjúƒ}¬ÙÏ,$F-§#sÆA ¼GßíÇÄþ"M Etš¨[Ý?O¹¼¸uº‘í®_ÎiʤL²ýèàCl¡7îÚp>cÿ kÆÿôÿÉHøŠ?ámxßþƒù)ÿ^¯³g/×!ÙÑÓõKÍZ¸Ô Ön/n´+›-=’ ¨Äþ[Þ…Å’A1<%|ü±-ÁgÜkÑ4k)ôÏêV1½óé‚ÒÚhZîyn?|Ï0 $,ßu"ùsp7|þ×ÿè7ÿ’ÿñÂÚñ¿ýÿòRþ"fÃëìϧ¨¯˜ámxßþƒù)ÿGü-¯ÿÐoÿ%!ÿâ(öl>¹ÌúzŠù‡þ×ÿè7ÿ’ÿñÂÚñ¿ýÿòRþ"fÃëìϧ¨¯˜ámxßþƒù)ÿGü-¯ÿÐoÿ%!ÿâ(öl>¹ÌúzŠù‡þ×ÿè7ÿ’ÿñÂÚñ¿ýÿòRþ"fÃëìÏ¡ ðÚ Ø¢˜­£s¥º‡)ï[šÝƒj6‹¥¼€1ßÀÊH¬Œ…HÁÈ!ºcšÇÑ|(4F9íôí"Æ Û¤Q̇k(ÎgÏ_ZdêA©xGÂPI#ÃZ,+"³M…›‚ *‚‡’Xv>˜ÉÈ£ÿׇ`ád`D×<)lö€9ÿøA<ÿB¦‡ÿ‚èøš?áðý šþ ¡ÿâk ¢€9ÿøA<ÿB¦‡ÿ‚èøš?áðý šþ ¡ÿâk ¢€9ÿøA<ÿB¦‡ÿ‚èøš?áðý šþ ¡ÿâk ¢€9ÿøA<ÿB¦‡ÿ‚èøš?áðý šþ ¡ÿâk ¢€9XY隇Šlì- ´µUMÁ6vÄáG$“øÑV<=ÿ!ÏØV?ý"µ¢€ÿÈçþº—þ–Í]sþ ÿÏý…u/ý-šº (¢Š(¢Š(¢Š+2-NIáIbÓ®Þ'PÊÁ¢y|Öp¿ØWë,-O͉c»Õ¤H‰@ýД&9p{ŽMLë¾ÛÓ>Þ|Ÿ;rWn=à?ÌIh'ä€x9ÆážßÃpß[x[I‡T.oã³….Œ’yŒeå²wÙç'5ÒA¯EPEPEPEP?áïùx³þ±ÿé­x{þCž,ÿ°¬úEkE ÿÏý…u/ý-šº çüÿ ;Ÿû ê_ú[5tQEQEQEQEVuÅÅŒ3䈴¸ DvÍ!çíSއ¯¥h×ã­?PÔ´íRÆÊK¸^öÃÉV‚ ê炎J6ï\íÃz™ÓÚOi;·‘ICÀѰ88`8?•2[ÉLí´qIå$2JP@8Sž=‡#¯8Íðâ]ù·w%ìÍ寂{¸•ðÎz*ªñ¸~yª7×6øŠê=A¡]Và¤íˆqýáŸf÷®LeYQ‚”{šÒ3i›®ÚCk¥¸·Á ÆHb’qË·ïœV !€ äA®2mCÃxQÿœ—@r"àný*OÍs7ÃD’+©aŸìÓùwÀghÈ.–1’äpBޏÇzœ.+Û6­°êSåW;+ËŸûQômÚßU´µ7R7ö†íNêIJ¢>BÈ—1+“'ÊÌQL_Ž®‹g¯jfÆãX}m&½º‚Ð'žÝVìÔ•ˆT*"ÿI\P§vä'©í2=Bªi÷Öú–mi'™msMí#r0N# ޵æ>¼ÕonÜÉ®-Þœ$B· l‘›kW¹WN-Ѷ´çkÀ‘´nÛQørËÄI Å=Æ¥h`·ÓÒ U±¸eò|àíæ­ºÞx"T2 |¹>X ]¢¸ß›ìß}¯í·êÿâcwö˜~Ôÿ1|ZÏþ£_õ#nÆÝ‹ÙPEP?áïùx³þ±ÿé­x{þCž,ÿ°¬úEkE ÿÏý…u/ý-šº çüÿ ;Ÿû ê_ú[5tQEQEQEQEޱ!w`ª£,XàêjƒjÑFÜC,6]¡Fzgœ®ÚÐàñOÖŽ4;óéo'þ‚kÐÃsžy'ó È2· ÀvQ°pb±N”’5„9•Íë{û;ÂÂÖê Šýï*@ØúàÔwºNŸ¨•7¶pÜû¦DÉêO–¯¥ÜZ4¾{ÞÛÛ»¼ï!1¹|¯ÌÇŽ3Iã]BöÓ\Òc±¹û,—Œé o"½±‰¶—VÇË#qŒ‚A*1¶·¶…üìLãÊìtðŠè?ô³ÿ¿B®Ù_³fÑ#fˆˆ*¥X«/ÃìAÂO®^[jóéZŸ‰$Ó¬-'–#¬J-ã’GÚËNΞVOÚ&À G-˜ùYTí´.[ÔíU=€ªÅPEPEP?áïùx³þ±ÿé­x{þCž,ÿ°¬úEkE ÿÏý…u/ý-šº çüÿ ;Ÿû ê_ú[5tQEQEQEQEÂÈ<\{x_Â÷7\Ã2™åÃH‘±ìýÓíƒÒºMdãD¿>–òè&±â_í+Wk›™6;¸1“ ä~è<÷® ^"4å$Ÿ©­8¶›L}—‚t+ȯ ´o:Ü…äfÁõÁ®¯ÂΩ¡êÖXÊù¸¹‚ÖTÙ£#—þUäcƒKã §²ñv,y,Ñ4Gçeáïôô<©£3ƒÐ‚ l5XU‡4µ&i§«;ª+ø}¨ÛhþÓ/fµž ½ .­š&…bXcåØHH˜|À&6ï—¾®’Š( Š( Š( Š( Ãßòñgý…cÿÒ+Z(ð÷ü‡³šêHmüG~¬‘Ê’œò1ש®›V‘¢Ñï$V*ËŒx …<ŠÇT—R´š W"4ò›)µŠ‚]HéÛW*¥8Î*qOÖß©­>k6ˆm|oý½Ôúž¡uäH²¬sK•ܹÚHöÉüë ¹±³¹–)n-!™âû$aŠ|ÊüÓæDoª)êsÜ^hš¥›}µ®"º¸ŠÕàmä å°à»±c§CRxY›Gñ>–ËæJ’ÙO[ù…IžæÎ(‹õÀ /-‚@fÀ=ØyBp½5e~„Í4õw74Í HÑ|Ó¥iV6v<ϲۤ[ñœghÆO_SZuÈÇâFæù´{}&ÐëQ<¾tR^²Ûª¢@䬢"Ìqs5ç?(-…ãgÖïtØ ŒQÞÚEp¿k¹d’Rð‰H·SÙÕwb!² mÝÒAÙQEQEQEQEÏø{þCž,ÿ°¬úEkEÿç‹?ì+þ‘ZÑ@ƒäsÿa]KÿKf®‚¹ÿÿÈçþº—þ–Í]QEQEQERW!¿ëxg¾Ö…Ä©>N–ígPx”BSõ-ÇsÁ§a\ên K›i`”f9T£ ö#¹FðÆ¸„­¾¾‰f*ÕI$œŸ©5¸o%>ûnà'6~và ³9ÇÖ³¸_:ÊÞòq1IIƒ“±·dƒ÷³ž½zpbçEIF¢¹µ>k^.ÅH|#ª>£iq¨ëbâ+yÒ-mÕ72go?ð#]¡£iÚ¤Ë%í¿™"Dð£oe(¬Èä©aƒE2•kêš–™©Z­ô©=µÌ±Û…ÞÑÛv"4ãUísÄÖÚðGqku*<]Ë$! ÛÁ O2GÜÀ<Å8@ÌyÀ5¶ÓpýÚ²&|×÷Šš—ƒ¡›NŠ ._±Ý$¦F¼š[™&pÀ *O­±ýç# ÇÊ»ni^Ót±y&îV²·ŽÞss$Š#†XÉòÑÊ‚ *‚w7÷Žk/‹ây¤ZN¥.¨¬ë.œ¾H– ‹33DbhOÊäþðqÃm¡©øÐ]ZÚÉ Ãw=¼—º|rj ‘ˆ£Yå¶2ÈÂL´R¯*‡`ävôvÔW©øÁ%Òô)ôÿ´C&­öK˜‹¢œ@×V±º·' Vä3ß@¨-þ*øbæ ©–ãÁš3çBÞrXÁùd>VZHÇï¼¼oç_huES²¸–æÎ9岞ÎF'0NPº`‘ÉFeç¯õõâ®PEPEP?áïùx³þ±ÿé­x{þCž,ÿ°¬úEkE ÿÏý…u/ý-šº çüÿ ;Ÿû ê_ú[5tQEQEQEVü#… ·÷ªŠª†L:»[´P'°´–Óe„ÃäžBíÛù×-ý›âËpa·]1¢Vb¬Ìàœ±nŸvÔ†°«†§YÞjåÂn ÈáSBñ%ö§c&¢Úz[ÁsÃy%‹›°}wè5¯ Úkžhº–tX\Ø)€ýÜû7žAù‡–¸=99¶IÅ`]]ùÚ„Öì—˜Mdýž-üFïQÝŒ¸ð¬2jW•¦¡}c¨O+Hn ò˜ª´pÆÈDeÚ~ÏänÊð@$T'Àö"²½¾³±Š[i暜íü±fti:C¬2Ô’_%î»oî­üü0fHÕ˜Œã8ï·¯jØÒõum:è ò¦\ŒŽA~ÚxÔvDÊ-j`'€ì–k2Ú–¥$ vVÌbÙoM ÊŠDaØfÞ5˳ÎNjÝŸ…ÚÂÐÚÙ뚤0ÇÁhªa"Ò FŒ‡áUwJ€bd,Ò ³Ëæ]#£ª}šK)Òá‹FØ ®rªFÏð60.~!$>Ôu1ß=¼ c;„X¥š8Œêb år\§*ý6œlIÕèš5ž¤Á¦Ø!Kxw0Y˜³( 2ÌNÀsÿð–謷-ÛËö{†µ‘ ·–Gó•œ4jª¤³ŒÅT~R –?iRËk3O<—8ÂCi,†,±OÞ…SäüÊÊ|͸(àò­€ º+˜ŸÆÚD­È–Af·ÜËo:#"Ã,Åáo,¬Ãl,r§r %CX,Ò ³Ëæ]#£ª}šK)Òá‹FØ ®rªFÏð67èª^©k¬X­í“HÐ;º~ö'‰ƒ#”`UÀ`C) t«ôÏø{þCž,ÿ°¬úEkEÿç‹?ì+þ‘ZÑ@ƒäsÿa]KÿKf®‚¹ÿÿÈçþº—þ–Í]QEQEQERVT7×÷‘\ÇiiåÊ×}Ó‚23û³ÍÍZZ oÇö/ö€C³ùá ÿgv3Y’_Ïï†æ{‡VÃ!¶cõ‘ ú·LyÔ­ rQ–ì¸ÅÉ] rZ´µ–³%펞ש:‘„!C„çýÏ×Û›ÖÞ!'PŽÖöÑíĸX¦Ä›Î~Lº.zÖ†£ªéÚ=ºÜjwö¶P3„Y.fX”¶ À,@Î8ö53…Hº–[[‡‚XÞKi6ÉrÜ£va»ƒê+IõÍ"+Ë«I5K$º´ˆÏs \ xcî¹Ê®9uMóx-%Z®^6|«˜; ›—©æÇ)Gn~wv„#ƒv^wytHxX&rQ1FrWc˜™šlŸXžk£6¥¦Ÿgª•}Kªl¨²‰_…m¶³e›±»oAtÀU;Ä,zÇÈ/ÎÎÄ[ÏÉTÕÓÙÖiÛ‘ÃUÎ æçÜLÏåêïè ÐÝíÛçóòðõ0Ô øí›÷ Ó €àPKCÜ4 6œè®E:Ȉ±>¡E‡/º˜HÏaÆ…#=–,yr@G•![¾„É’ã¿“5Eº¸—1gÄ4 ?êtôä®–6"EIl©?e †JH;axis2c-src-1.6.0/docs/docs/images/arrow_left.gif0000644000175000017500000000011611172017604022611 0ustar00manjulamanjula00000000000000GIF89a ¡ÿÿÿÿÿÿÿÿÿÿ!ù , ”ËÁÿ‚ƒQÒ&³^º[†šˆYŠh ®,ä¦P;axis2c-src-1.6.0/docs/docs/images/axis2c_repo.gif0000644000175000017500000002117711172017604022675 0ustar00manjulamanjula00000000000000GIF89a‚a÷ÿ :   $DO> ;#%"%J%V!(=)Q+(.*+('-I'.O0*Y0163r231&0b'6Z38/@398:7@ˆ==6#Bq#Cx2Ab@A?E…FHERœ$O¨3QMOL.TŠ3Q“*V”FPmFQh8VzESwTVS,^¨-c ZWfßdÁ б­u9áL²àÀ*$5§ú r00 *,,€€/@Ç àÁ’,0$@/m3OKZ5K0íÃÎ8ãL¢:ìÈóMR· 7Ä4ûÂ,:/Ðô¼F!zÜq‡>ó$ÎÈS†ü£ úLàÉ8ž * È‚Î/䌣a0СÏ.@Ì6²øóŒ>ó´ì`¨òËŒ]@Úd Fþ b€ƒ<·d€D<ò˜œSû¸$P<)ŽŠ?ÿ@äp¢ÏëN;>ìá‚iè‘Æi¤qsxa†ê¨#ß-‚( P0€Ã8ì òŸ,€!ËJìhà A蓌*8³ ãþtÔÒ>Ñ”þàáÀ©pÀä€È6ÁÀÉ$èCŒ>Yd É‹7ï~±î/ÎTÁ³Z~P‘-·‚Î:6uÓ†øÜ €(€Î ^øÂ¸°u4Ã@ `r¨`ÃbÇ©  “GðX…gh¤ øÆœVö ƒèÃkò€,¶!‡8@"¾1N Cþ" à Œ¨Ió”ÂDÂ9Q)8±P†˜ÈOÅmªðG=bô­\Â\à¸p…*˜q a¬ ÀA Ì0¸=AÀ ÔÈDâÑ5xe¡cƒ ÖÆNàaÇ>üQD ™ˆùX’¸q ƒ™ð1½ìB `Ø—Xæ¢R6%¤“p¬c8Ç"Ç’¦¤¼0VjÙåñŒ–È@ °€Ü&âü!9¶‘t „_õ:žÑ2g|Å.®2þ B2§0d1ì¸Ç'ågÔ ¨€p+@ < !€Àa“pÈ#_-ÒCZ2ŽE2Ë@ˆ>* “åìC,ÆPˆÐ!ZU ψ bÇ=—½Ä%kƒ¦XVW6¤Ê¯AãÕCñØÉ7 ŽpÖÓG7¦Ž}8WE<ˆ7^’Ǿ„ÑÎJ[0„´ï%ÈAöÚ7,äo™#PòÇ2ðb–õñ·»û!KæQÛ¥ªMµªÕx1­Ö…dh­Á2åAë»ØYÈA‹+\G,â{ÔêòGrqTŠQlŒ€,,a ï¸Fß1a~ƒå_ób{Vþ¾$G!\ûÎjÚ#¥¬ñbÈŠjkO‘ÕG±?Ä]xØC?/á‡ñ-î-DèÆ;†!©n¡mG[ˆm›ý™e©-Ëêf§¸!Ò¶6 Z87Ä.6F5ªiIZR|‹ìÀÏ>òŠCŽ÷hÞ4þŒ0ŒflF­ Cˆp XáòÎ"õaŽk@Ü»¸-Žë[”S‹H»eµÄGÝmg?zâ·øp\i‘"ƒd·¶G7ö^ðBãá….Ö“Íà‚E°Ç) N €% êW„íP]•¦.úH²MôˆwûcFÏ«U²xC’X…àcÑ V âÔ°‡=Ò2Œa”BÇ86Žñ‚ø@Ux„1vm<£Gæ¤]Z)ñ¶ýáN±Û¯‡¿×Ù?ÿùFˆLVRȱÕh‡MP±Å7‹@è…+ÈóŠâÛÀÜàF9xÑ ”¨Ë`å1D¤ˆª$zÏQþßzlÏXû7‡=êt”Å$å°ü“;¼QØc%©¨=¿“¸b>Ð<>ÁKâþ'Ü0vó0 VãÞÄÀ1Ÿf~Ötòs$Awõquqt¥÷·¶mëÀ? öPï'¢ õÐ,ïÀ†ð{ |= k …`:† Ü ' ³¶  0Uó¬g~§W¦Öl(®çshPûpkÇA2ò€OÀ0{¤ Ï@ñ0ïP1p -Àj0†j`j0:hg ê@  #t#Û@<;gtBÈsÜt3övâ—bõ+×ö ­ <»€þϦ —µßÀ å`xZàgЖ˜¤:+0 Œ`ú`€üð  I0ÐsøhXzsgPÚ&wŠ“Š×8Æ Mò³Š’@î  ½§'P% ZðPÐWÐĈF?àê@  ¡ Ö÷ô*s{ÜFÈŠ­~‹§'".qmò ò ~Ÿ–þ üàþ ñ D°%€ ¹À(ŒR“Wܰ (`  Ð)3kä0ŠÄ   l‡‡§‡)tà÷‡€"Þ÷p õP²à ²` ¨ -ûð!'p å ©|*É ”þà0ª@òÐUà“ð çèv帊Aè}ÞH„Ývá÷pò€wµ^c_ä…gL¦Ïp 6a)À˜Ð•”@ ‰Ð•‰@ } +± T©$Ïð1Š[B¨}E—}«'[âˆ‡Üø€¬g„ã2ˆXq÷P r„à`!pÀ°˜И`'³éh/$mštb¬8[à˜™ßÇsuy‘ ·‡‘!­Ô20Á~ôš/‚l1¦Ó`“‰ïeû@ZÔµKéa`”£¶zGˆ„®XwxŽ9pGm AËQ>1iäe %‰#æ`QQV$2þÃò0Êft¥†œTÁSĤ¤œÁizr7Žå—á˜Á<*a/õUÁôèÑ`€–`ñ`ŸK!xáIJ9‘8W, •qÄ2gGgJ~ØžDš)„‚ÐW)|`»ÖFª6 ;1‹q C¡›pæ›=§V¤×]è`8œF)ŽähzÉÙlÑiIµHÔ@ ÷Ö 5°xô·4°ê )Á†›Ÿ°fÑP$–4¶—9Ÿ™”¿ Ÿ:* j®óC K Ü é! Í @@@$$‡^Ñ€¯¸}± ãß ˆ‘þB7¡]Š”zœËé Ú‘+Ì…X|‡EÀ À *y œ ³À â‘ alòÝæ¢‹ó BlwV¨úÁJX”ø™Çé›ÊÙmì@ ©  ™ ©€"žàB ¥EÀ ¸ Øð º€ ¸ Mð:Bpƒ ¥´Ô€:º[hEéEžgå6ë™ *wœ÷ä ·¹P î$Í£<  µP †’ µ Ð(Ø@ð¤„Ã+™™ªôNÑJ“ ™Àiö¥[JœãjœæÚp/ñ8Eä­/ òàȶêpµ` 3Ð3 =` È` ÛÒ þÍ P#r0 =8 •µ *€ q ð°ØT“ð2  ™@âò Ѓx° ?i± {Š“ ;êz Ò.A ða¡p ¢Ò<Ê£Ðjà Œ²3…`@cv0ê0ª°7Aà ,Àûð €è6N k@ià ó0Yô âÓ­šÄ€6ž ð ΰ ^ÓNYÖ¥Y®àx®- YT…ºø Ö õÀ…ê‰.pi€_0:s€¨sl0Ü ÑG¿ r0þ€Å«4PCjs0Y”´OuO¨æ’ìü¸ÊÂyE"Ô2~êob ¹¶Í`ßd½°̰ïÌåìÐãÇmÔÖ!âÌ9Òw(cwçK¨ ÇÂimˆ¸DÔfCÑ S‡oÍàÓ€oB6)Žf(úvè8 òT¦¹¨Ö¹Ö g®#-lìQÖ1˜mãð;Á… Í?Rt¡Ž4*²E”77Ôv'šÝWV)Æœ@%©IܹfQpdY@ ó0„³ÐòкY„¨( rfbªõ1° ”ÝÜ°Ôþ¿ò‡/ÂhFøÖ Í`×Kð û6˜áÊ?ᙇA×2¤"Bîe¡² ±fLŽyùا÷i1´8‹µ%yo]§ í$B@J EÀ |4aö0aÎcÔH=biG ˆÚnÔ§6PJlH̰Ì  ½À€ Ù  ʰ©º X€à NKXÜÈ9¼À™œ€ÈØŸIV] Ý£*0E ¨0 ²@ œ6–…X ¬ëÑ Ì' >ð-P>@ oàà AZKm–‡} ·¥¿Isò1L¹k†ã ±náDíØÈy„01¾. ß`EÇV’þïÀ¸P®`¯³ '0 ’‡ í!Ã@­vµ$m£ZZDERš”ÅaÒ ‘+ËQ!Ê­gñ ºª­¾;~_%’+²Ö<ñ Âcà`µp= &Ë‹¢ •P —/ Ã.  e`ã*0ÐIANÀˆòÀENvä N[,À/$àÑ4£m0µ ÐÂ>ç‹—ÏA,ûB&– æ N ê ‡ ¯Èð‚0˜y`yÐBðŒ` ìp$Ï5Åþ@ ½0»0s‚‡ðC€•åÆÏP/W÷ ÀJÛPYÁѧÝþã£KßA˜ óSïë îðÐ Ê@µ0dx¤3 €»àìÁ 1V©„‡ 1®¬l¨ÖÄžò¾ñ¨ ûS8ÍvÉxgàÄ¿hàl`ƒï € âÐ7ä@8Š-£Y°   ñp °r€½.¡Ä001“@µÓ$Ì&~{™®‹¨üÖçúÄ2kè ïxVÃê`-9`‰OŒ=¬-plà(Ð  ` ò@Ík£›Ñþ°“àÀ€*Ð2@ì =Ÿ K…ôˆ•ÂÛ Ž|4+%o~èé2È&¥f- ’E±ÂDª`+xæ±/°  Øðÿ¬\9`£B¨ÉŸ¶,ÆÉ[¼[»ä PåïÙ7ðÈCç); T¨úÖ »0žÍÛµëW¦dòÊ0—“œ?yþxúô™Ó;yñÈ¡#í'P¦A™ötÊS»T©<©òtªê.múô‹çïE å²qS÷N]¶l唩Kd!* ÈDRŒ2LbÀS´}ò‚$MŸ'Ú(²(†^ LðäéCÇ“€þÚsÛÐo쎒c7]áœB—~*Ô5¹x£ÙÖ÷ÎÙ7ž_ÃéKç„"⃧diK¦yuÆÏ¿Ø9ƒõÜ›œ¼®ìˆI=*tž<}DŸåÔ2ýøšG‡²›÷,l2¤äÈCmº©Tþ²÷hŸx´ñ‡€xây*yÖñGxRˆ@ "Ø€ 8   #XgiäÇê†"џѶÓ'yãn"’ˆòIE’üÙIŸz +šžäoðâ¹å¾ûTc§>tþƒ-É¥pJž#æwÂêmAyÆ™†}Ö1çc:4&žÓë‰~¨ñi;ý~²¨ÑtÜ鼞HÒþ(mЉFKŸÆã 5Žôç»_ô±ÈÉ©Ø1*tÀ"‡L× J²5þ¤êIŸ‰ðñááGž} çÀfŠJ·wÀÙ}ægqü±ÇvFãi%{ІÀ5qd‡¨Äæ!ÑS¨´Ñ‘F’zJF©•¶ÑÑ»hò›h¥"WûlGk_k RŸ¨ÜeOŸî¹ž‹Þ1€Üxh¦€} xGuÔ%@žàQ Àx ðgv×ü @žx# šÐ)@|@`f‡á|/òWŸü)@›Ðá÷™mrªÏ>ÔŒB[Hüi¼œîL W{à9Ä|ãˆã ›m†C 7v†Ž7âþàqê™g™bçIqÆïþ,v*ŸhýŽ$ÇŽ¼(@÷t,šå!†ãÒ¢y±ÇÞ2£ŠT¶“Ún©°ø‰ÙLâh[†y£7¶ C ¢ œ8lôgžzÚ±g¨Ñ&¢Wg°[ÈŸ<}ræ'–¤o2çïHvŠý˜ÀÇ4D³ëïZmŸò©<¢f4О)ýq‡Sw CgÀi&œihi†–^âa%˜pʈ‡¿Qg¢xÛçÖ ²«3±Cçl›'Þ¶U}Fõy&šTâù&güévQtÊVMìÿ´]ÛòØØÎiŸo¦,Œö?Á{˜),\Ñ‹^/^‘ƒOþ´ñ‹}Hé'5™Ñ$°ñtk£y2¨ÂGª‰FÄD¥®'óT0üˆxìô1jdH›F¡Œu”šÔRH2}Dã_šê•™Ê6€8ذHD/x! \̰ˆG3âA‡_+qS*Oºq<Ã3;R‘O‚Ñg<0ðÇö$'&Éý)M 9R ‰ |Åccä{Æ´l”±±&uغ¡µN¸1Í£„­‘G8â0ŒaÀa¹…&41ŠEðÈG"©Òy“š‚†£qà€ºTzåxhÍD¬T;þ0y<ã:òFIÏWLìæ|Ĩòµècñ0@ÊᆼÀµø„zþ78"ïƒOàö AÔ+·H@°ÅàkÂ/² ÓÈCN(O뀥ŠÀ Î I&!I0@ò  H›€_#•ëÚ}%Û>*é5(³!TxC«Ñ¸#è©S<Þ ŽRðÀ¹ð…/òpˆOˆáêÐ&8Ìià `ò؆ à ž âb¤eAÀ © ï ãŒT°Ý èÈÄuÛðqˆRÛaéV’¨ªr¢hÛÑO|G¡gcˆ‡2Á eÇÀ0`Ñ L¶Á© À-ø1 ðd`ÙÁYPb× à H ÂkDˆø p 9þy `´“Щ<æKP óèši¶!²±­f¢c ) í(=ãøÃ8ÀfØ¢ÂXb6‡IÄ ‹QÀ$¨šag$@¨@À@3ñ¯qLBG`'* rìB$A4²Tðt Ïpo}xì(uÄÁE³²[&ôŽOˆB mKæŸQQý¸Ó“¨q4*­•“ôÁ|i„>G™Œ|CaRÚ†à °äÁ2ÐmhÃÕé†6ÈA“è›?^å“£âj4 ‹ÏÃò’È9¦q}"¡ŠjÒªÉ#ã‰Æyˆñ‹Ä¸n@#CÝ’º½¶oÛ¶)€‡1Õ €{ƒ] 9Àøc¦‹ µñ…¯†-LŒ×i¼F¯x5þL§ s’Q€xìbxÆt”˜\‘#Û×FÙúƒñIk‘J†Iìá q¿ãâ>>|âvðc;ðÈÜœ$EÓZ6ŸÊT€ `ÍCêCa IF3x9ÞØ½’}ÄÆ£ÒyÀ½oz¤£B¥ÿÐßçŸjJˆvD§‡ûE2ßË­Õ º#‡Ò( -Ù¯ð€¨êÈ!Â$Á£>â·ý8“I’ïÛ=ù%ôø¥÷шB 'am0 ¤0 û«Ì8Öù½ˆŠŸ*Ù·j±œø 0×H² ÜÀø»8U*’í@в9 õ7²ÊAù[›ûÀÿPBœ”JÁÀŠÿ{$lX±1 Ô˜ Eá¢^!‰ºŒ@‰’ÀIiB\B)ôœAó6 ¬tÐÔE1>bAøƒÌ–Ü7Ü=Ì8@lÁ§ø¶AŒ?¦P¤˜‡Ó’Ó ;axis2c-src-1.6.0/docs/docs/images/archi006.jpg0000644000175000017500000003557411172017604022014 0ustar00manjulamanjula00000000000000ÿØÿàJFIF``ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀê"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ö]s\x¶¡e¿‘rªßv5þûûz¤þ$r²ý¾á÷Üë:‹?¬Sy*>Š˜ýr}Ík\ꚵ̟ëöH¾‹È£òú±õ§ÛNÎi÷íYJNö—&¥e º|ž(»KÖénÚ£?†iÿl·þÒþÍÿ„Žÿíûw}›ûIüÌc9Ûœôæ¼}Ã1ø R²Õm·x°Í pÑ“;NXíe?ÝõÇ¿5£uö­?ÅZÕÐÝ£Á¦OpYw &qÛæÏHìûŒôû{Ë{»Éìí¼G}5;|ècÔœ¼x8ù†xçŠ.o-¬®`¶ºñôÅ&¤êÒãåçž+†øbö>/¸YWmÄú<73 `ï’Mç>¸ÜÐ Çñt·Ú爵«ë .öö=-c‚ÖæØI‘ROQòàã­wÜ\û=Çýuoü“üi‘ÛWÕ•TI¾“§­púEáñWç¸]BõlÆ›mw´Èq@>¹gëU|7¨‹ûfºÔ5û±®N·‰s¦Ü€*œ)OùfCwÎ2ikÜG{nÂòÕ.­µÍJkw’Xõ*ÃÔûS-®a½Š m|C“¤ø"âÚþðÿh´ÐO“‹`ΧAƒÎzæ³ü-!ŸUðÅåÅäítÚeËÂ䨖e•Â'^r@{Ó³î3Ø~Ï?ýuoü“üi ª–m[V ’o¤μ¿Âú¾½rÆú=V ›·Óîk»y¥yT6Òb*Xl 2=hóíoü¨Êàz|qË,I,zƪñº†V[ù`yÓ¾ÍqÿA]_ÿ¤ÿóMWµÑõKd“YuÓ$ðØhZk¢ñ™ÁË$ãpä`r1Š‡Â¯w¯j¾³½Õõ!š3Ï0†íÈÂw’}9ëÆ:QgÜG¨ýžãþ‚º·þIþ4}žú jßø'ø×™éÚ¦·yãfÕ`¶¸UxÒ[·ÜðàX•Æ2Cçñ¯S¤îºÙçÿ ¶­ÿÒgŸþ‚Ú·þIþ5=®ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?ƳÏÿAm[ÿ¤ÿžŠ.ÀƒìóÿÐ[VÿÀé?Æ•#»‰ƒÇ¬jªã¡k¢àÀ[ þ ÔÔQv·¯Üµâéú£Æï Ì(»„uFÀnüpF}+§¯2ÕØÇ¤ÜN§[¯Ú#>ŽŸ0ýF>„×¥¡ÜŠOqšÖ.èg[ÿÇÖ§ÿaŸýjz‚ßþ>µ?ûÜÿèÃSÖRÜDfÞ¸[†‚:Œ L`¸ú7ZF¶·s!{xXÈ´`ï oQõ©h¤’O1bdÚxPAŸOj#†(•–8£EbY‚(“Ôœu&ŸEE­½¹ÌðÄq·1ÆNJQo™æD%my Ì= êEIED-mÂÆ¢Þ±sŒ'û¼qøSE• inG1þìú¯~=A rÉ,pÆ’I÷ÝP©êÚ2”‚2ÿ¬+gûÞ¿IEAö0‘§Øí¶FKF¾Já ê@ÇéNŽÖÞ&VŠÞÙWj”Œ«×žÕ-‘Ÿö&/<.ß7`ßMÝqRQEVN«®ÿf_YÙE¦ÞßÝ]¬VФ…Ln'sï “JÖí5[X%MÐK3ÉÛÏ…“|g¸çç§`4¨¬KßXYe¾kˆ¶FÂHòù@sÃuãzñVnµÝ>×V¶Òüô–òyÄKDJ³ã9…4Y¥ES®šÑM(Ô-LpÉäÊâeÄoœmcž{TWÝ”M"A,Z„…!š68FrÄçîáO"•€Ñ¢±¯6Ñlnlía¸Kû›·Ù6’ÆÌ=ÎXœñÜö­k}_L»YÚ×R³mÆfhæVVÁã¡ëNÌ ”U!¬éfÅo†¥gö7m‹q篖[¦gö«´€(¢Š(¢Š(¢Š(¢Š(¢²um~ .êÞÍm®ooîhí-T4…W9 í’hZŠå/¾ i:vº„ö÷€‹¯²Mm°yÐI‚pëŸAÔšºÞ-Ó×ÅV¾Ü5ÕÌ"e“`…(\d“œãÛ½;07¨¬/xªÇÂÐ[Éw ó4åöG°‹¹›’þtÛß[Û\iVö¶ºŒÚ¤{d´U%ˆŽÇ4Y¿Es–~4Ó/®t«x¢¹ê2M «("u~zò:fº:V°Q@Q@Q@Q@Q@Q@Q@Q@u¯ùê?õë'þ‚kÓ#ÿTŸîŠó=kþ@:ýzÉÿ šôÈÿÕ'û¢´¦3έÿãëSÿ°ÏþŒ5=AoÿZŸý„nôa©ê%¸‚Š(¤EPEPEPEPEPEP)âÏ]kž—u µì6±Ì²C=ÛÛä¾Ý¤2 ñ´ñTì¼5­éCJ¹³[9e²¸¹‘,æ¹mG*€dÛ–Áò9ÝŽÕÛÑO™ç–þÖ#³†9ÐȰEmà²Þ™Î8é´þ|U¨ü#©&³n|­;ìj_nREˬªÃcøKל˜®æŠ|Ì9±ø}{o£Ïi?Ù䑞Ú"Zwuš(åIar£yç<ó]_ˆ4yµÓE˜†8íe•ŠŸ”к¬+nŠ\ÌïÀ·3hÖvpGc‘h­e!§ßgÈ%æ÷©ãð}ô¾/X¸[xâi!¹hâ¸|[º&Ó¨88n0 à×oEÌ3Ið|¶øm^ÞÄIaȺ` ïy z|ÜõÍcZø Z6÷©sö’{Há—tlÑʲP*…FnÑœuç5é”QÌÀá5 jz½¥¤¦ÓM³ž+‰žK+9š(ÝdP»Œ€rÃo?/ ãŠì´ëA§é––A· xR Üó´c¾OçVh¡»€QE€(¢Š(¢Š(¢Š+œÖtmGþ[é>D×@ö²ÚÜ?–²FÙ9ÁÚº:(L?›ÀúÚÃss5»]ÜkQê7±£á#C.Ô8ùŽ^)tOjZn·¢jÍ Ÿdk´~ô± ѬqÈç ƒ5ßÑUÌÀäõ _kž,ût×ïgc™·ƒìûF/÷òHµeà+ù&Ð-õ"âËJ[˜X¤ì¬èÇ1‘·#¿5è”Ræ`r×>xƒÃ7\0[éúQœÉâç\?¼sÔ“]MQp (¢Q@Q@Q@Q@Q@Q@Q@u¯ùê?õë'þ‚kÓ#ÿTŸîŠó=kþ@:ýzÉÿ šôÈÿÕ'û¢´¦3έÿãëSÿ°ÏþŒ5=AoÿZŸý„nôa©ê%¸‚Š(¤EPEPEPEPEPEPEPEPE*Ì©ÅskÚ•Ô"h¬lÄl[nû—Î#œ'µT!)»EÕ­N’æ¨ìŽŠŠÂMgP[›hî,í9¦X‹G;]ÝðPgó­Ú' AÚHT«S¬¹©» ¢Š*MBŠ( Š( Š( Š( Š( Š( ŠdÒy6òËŒùhÏ\ × Ä[¹"GE¸ ¡€ûSwÿ€U(¹liN”ê| ç}ErzŒgÕµ˜l%Ó¢„JŽÂDœ¾6Œô*+¬¤ÓZ1Nƒå’Ô(¢ŠDQ@Q@Q@Q@Q@Q@Q@Q@u¯ùê?õë'þ‚kÓ#ÿTŸîŠó=kþ@:ýzÉÿ šôÈÿÕ'û¢´¦3έÿãëSÿ°ÏþŒ5=AoÿZŸý„nôa©ê%¸‚Š(¤EPEPEPEPEPEPEPEP“ýbýErGü‚ ÿÿèm]z¬_¨®CHÿTð?ý «¯ñ³É΀½FO7ü|éÿõûó5ÓW37ü|éÿõûó5ÓQŒø× ²oà?_ÑQ\‡®QEQEQEQEQEQECyÿ_õÁÿô^-mÿ×5þB½¦óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…oG©éå»Ëäoø?þFû/úç7þ^¡^_àÿùì¿ëœßúz…M_ˆÃüfQEdq…Q@Q@Q@Q@Q@Q@Q@Q@u¯ùê?õë'þ‚kÓ#ÿTŸîŠó=kþ@:ýzÉÿ šôÈÿÕ'û¢´¦3έÿãëSÿ°ÏþŒ5=AoÿZŸý„nôa©ê%¸‚Š(¤EPEPEPEPEPEPEPEP“ýbýErGü‚ ÿÿèm]z¬_¨®CHÿTð?ý «¯ñ³É΀½FO7ü|éÿõûó5ÓW37ü|éÿõûó5ÓQŒø× ²oà?_ÑQ\‡®QEQEQEQEQEQECyÿ_õÁÿô^-mÿ×5þB½¦óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…oG©éå»Ëäoø?þFû/úç7þ^¡^_àÿùì¿ëœßúz…M_ˆÃüfQEdq…Q@Q@Q@Q@Q@Q@Q@Q@u¯ùê?õë'þ‚kÓ#ÿTŸîŠó=kþ@:ýzÉÿ šôÈÿÕ'û¢´¦3έÿãëSÿ°ÏþŒ5=AoÿZŸý„nôa©ê%¸‚Š(¤EPEPEPEPEPEPEPEP“ýbýErGü‚ ÿÿèm]z¬_¨®CHÿTð?ý «¯ñ³É΀½FO7ü|éÿõûó5ÓW37ü|éÿõûó5ÓQŒø× ²oà?_ÑQ\‡®QEQEQEQEQEQECyÿ_õÁÿô^-mÿ×5þB½¦óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…oG©éå»Ëäoø?þFû/úç7þ^¡^_àÿùì¿ëœßúz…M_ˆÃüfQEdq…Q@Q@Q@Q@Q@Q@Q@Q@u¯ùê?õë'þ‚kÓ#ÿTŸîŠó=kþ@:ýzÉÿ šôÈÿÕ'û¢´¦3έÿãëSÿ°ÏþŒ5=W·ÿ­OþÂ7?ú0ҽà ¼‹{iî§À%!^=71À_Äç¾+*³Œ/)»%Ü-}‰è¨6ë?ôü Žº×ýßÿãÿâþÓÁÿÏØýè®Iv'¢ Û­Ð ÿð.?ñ£n³ÿ@7ÿÀ¸ÿÆí,üýÞƒ’]‰è¨6ë_ôü ühÛ­Ð ÿð.?ñ£ûKÿ?c÷ ä—bz* º×ýŸÿãÿ6ë_ôü ühþÓÁÿÏØýè9%ØžŠƒn³ÿ@7ÿÀ¸ÿƺ×ýŸÿãÿ?´°óö?zIv'¢ Û­Ð ÿð.?ñ£nµÿ@7ÿÀ¸ÿÆí<üýÞƒ’]‰è¨6ë_ôü ühÛ­Ð ÿð.?ñ£ûOÿ?c÷ ä—bz* º×ýŸÿ㦼÷vª^ÿL¹·ŒrdR²ªVÛÈüª£˜a&ùcR7õBä—b͈ë"+£FV ZZì$r¬_¨®CHÿTð?ý «¯Oõ‹õÈiò ƒþÿ¡µuàþ6y9Ïð¯èÉæÿ?þ¿bþfºjæfÿ?þ¿bþfºj1ŸôMüëú ¢Š+õŠ( Š( Š( Š( Š( Š( o?ãÂëþ¸?þ‚kÅ­¿ãÒúæ¿ÈW´ÞÇ…×ýpý׋[ǤõÍ­èõ=<·y|ÿÿÈßeÿ\æÿÐ+Ô+Ëüÿ#}—ýs›ÿ@¯P©«ñc¿ŒÂŠ(¬Ž0¢Š(¢Š(¢›$‰ O,Œ4RÌÇ dšƒN¾SÓmï¢GHç@ê² 0„v4fŠ( Š( Š( Š( Š(  :×ü€uúõ“ÿA5é‘ÿªO÷Eyžµÿ Gþ½dÿÐMzdê“ýÑZSæO4˨¬*­q6©¸óyÞ.«Fo«í}oç§àþ[›SÕÑ7µhô]v[¨ °–-Wû:ÆâYSb’ÁInÃ`ËÜâ¤ÞEàk‰àš+9LZœ1í"|7–Lmœg8aŽqé[¿ð„èçX}FUžm÷ uöYdß™”«8CÜ‚}¿!RGàí+Á«‹kÝNxêÞ!c†äp88³Íq¯ã_Øi:´‚è^][ÁŸf¾²ûÅ»4 ÛÊÈœýàN:ƒ^…káÝ:×EŸG4º|ÆLÁ+–UW9(¾‹ÏµeEðÿFKK¸'—P¼76âØÍutÒI@† Œ~è úYáñ8(În¤n›º÷VÝ·Óåkõo`j] “ü@k(õio´;‹h4±O'žŽ¾s„+Ç^_º g½W¸øo†mõ¨4¹%I%’Uî5@fûùÈÆÐsÏLVòø?K:^¡§Ïö‹˜ïÝd瘴…ÕUC†êlSŸQš‚ëÀÚ]å­”RϨù¶#­È»o9̃¹úÀ}‡§írÇ-`÷óÚÞ½ÿO0´û™s|IDpðhW·¢;IXä@Wí* j‘–ËõÍZ»ñeÔþ×uh-ZÃPÓVâ'ŠFYrÆ=G :UÈ<£ÛÛ¼ ö‚ŒmO2ôäy@qÐ`늶þÓŸIÕtÒ%û>©,²Üüüî“ï`ö«—«rAè×}´¾ï×ðRêqº‹õ!«Oö­J}KNµ²{›ö¸Ó~Ç%¨ ¹J¯WÝ‚1ŽÙÍ_³ø›m ^êVÚl¬ö’ÆNˆ_;XÈp£¡ÈäƒÞºKß i×ú…½ìèæX­ÞÕ€o–h\|ÑÈ?‰xÏֳπôƒ£f™µE–9¢™®Ý¥ˆÇ÷1è÷­|º¥¥8;é¶uÚÉéé÷«µi™±üE:Žg>•£Ý\ÝÝA<í :~æ8˜£>â@o›“žÕñ.Ú3áý>þ7šööÎÚK™£y”Âÿ$óº+Yþh¯i ¿™~žSK‰Ré–FYdFaË+1,AîjÍ¿‚´‹[›áûTfÒíö¥Ã*ΑÝù påq‘š\²Ír>¾½m­ÿ§½ÂÓ&ðïˆ&ñÝMý™-­¬3<1Í$ŠÂfGdm r+ÔúûVåRÒ´»mÇì–»ü¯6I~vÉÜî]¿V5v¼¼C¤ê7IZ= W¶¡EV#9{¸¬ xÆ-®•æ@†@Ùp=ŽíØí†õŸRxƒþBúGý·ÿÐG_£d•§W7v®¾ãŽª´‡'úÅúŠä4ùAÿÿÐÚºôÿX¿Q\†‘ÿ ¨?àúWÐàþ6x¹Ïð¯èÉæÿ?þ¿bþfºjæfÿ?þ¿bþfºj1ŸôMüëú ¢Š+õŠ( Š( Š( Š( Š( Š( o?ãÂëþ¸?þ‚kÅ­¿ãÒúæ¿ÈW´ÞÇ…×ýpý׋[ǤõÍ­èõ=<·y|ÿÿÈßeÿ\æÿÐ+Ô+Ëüÿ#}—ýs›ÿ@¯P©«ñc¿ŒÂŠ(¬Ž0¢Š(¢Š†êæ;;g¸—%Pp£«ÀQîI}h•ó}²þ-8ª]³ÜŸQ»äOÄ‚O²ûÑáïù¬ë™ÿÐ&Ħr įæÌG÷ÏQôì)|;ÿ"íýs?ú®ìEeF)îÍgX£NŠ(® ¢Š(¢Š(¢Š(¢Š(޵ÿ Gþ½dÿÐMzdê“ýÑ^g­ÈQÿ¯Y?ô^™ú¤ÿtV”Æy‰ÿÌö0Ëüä®Ö¸£ÿ!˜ÿìa—ùÉ]­|OÿŸ£üΊ0¢ŠçüCrñ_ØBfÔc…㙜XF]É]˜È N9?|Å:n¤¹Q»v: +˜MrîßL·ds9f¶i÷y’D1·r¢“¸çЙÁâ–DñÃ$¶ÌŠØypÙò£dVF>二zçÒº~¡]¦Òºþ¿ÈždtÔV5ΡpºM–¢¸IXÆM²Â]øùÇÞçƒÇ=xÍgk^Åq¥ÝµÚÉk,sKvŠ¿*®øÐ`õ sëóTÃ9«¦·k溒:ª+”´Õ¯î¼F™Ÿ3ÌžDAGú¿.~IêwÃ}1]¢.Œ‚Ð7䌌ãÕPÚ5î<òH‰H}ß¼sÇoZ•€®Õíø¯PæGSE"¶å ê3K\…Q@÷ˆ?ä1¤ÛýTu'ˆ?ä1¤ÛýTuú¸ÇÕþg%oŒr¬_¨®CHÿTð?ý «¯Oõ‹õÈiò ƒþÿ¡µ}6ãg‰œÿzþŒžoøùÓÿëö/æk¦®foøùÓÿëö/æk¦£ñ¯AdßÀ~¿¢ (¢¹\(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š†óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…{Mçüx]×ÿÐMxµ·üzAÿ\×ù ÞSÓËw—Èßðüö_õÎoý½B¼¿Áÿò7Ù×9¿ô õ š¿†;øÌ(¢ŠÈã (¢€ Éþݪlÿ—{ýùˆþJüOµ[ÔnÚÒИ€k™O—âr?'؆ÚÝmmÖbØåœõv<–>ääþ5߀¡Ï>w²5¥»“'ß_­ehúµ¥žkmqö”š%*ëöYNOp¸­P2@õ¬­Ä~ K¶²k9‚O5BüÃÓ“ÅzXŠ­hÉØÞqR²eßíý;û÷ø 7ÿGöþýûü›ÿˆªZˆ,üGc-݈˜E­ y«´îÜñÈ­@Ù ‘ê r¬ºœ•ÔŒÕúoéß߸ÿÀI¿øŠ?·ôïïÜà$ßüEO»œnôÏ4n«øÓþ͇ó1û܃ûNþýÇþMÿÄRÿoéçøî?ðoþ"¦Éõ§!;מôfÃù˜{Ü–Úâ+»hî }ðÈ»‘°FGãRÖo‡¿ä^±ÿ®ÔÖ•y2V“G; (¢¤Ekþ@:ýzÉÿ šôÈÿÕ'û¢¼ÏZÿ£ÿ^²è&½2?õIþè­)Œóÿ!˜ÿìa—ùÉ]­qGþC1ÿØÃ/ó’»Zøž+þ=?Gù6g9©xŽòÓVžÊÛO‚e…P³ËrS%<‡ÓÖ³n|Ou-ýÖ™aÙчš÷ì+œþï)5Oùõ/÷ ÿÐZ¹_ZE?….放mÔ:!UÉe`88íšóð¸j3œ!%½µ×¯Ìõa‡ƒ£íÔØÔõëkãkû; bê‡û^Hw ² ùI‘Ò§}R+{èºlv×Åk“¨>@ÛƒåõéƒÔñX­Å…Ÿ‹Ö]Z[x­_Mt‰®HØ_ÌËžûqŸQXícÿ…®n|ás Å¢ª´‡4ƒ®pNÜ{ ô¡…‹„.ݺ»uóéoÄ™P¤¥%m¿à™ÝÞøÍl¯-Mõ¦•o>·Iu½xùWËǶ ‚óÄö¶×æË*›´dI©²—@8_/©*9ÅršäöÚŸ‰WR’Ý}61h'Æ\mpBgý¼p;Ö}ÌÛiÞ ¶Õ^5Ô¦²¶ÉpA•Ï’ÙžOï3Ó¡É¢ž_IÅJÏT¶o­¶×¥õ©SRjÇmyâ E¾·²žÒÂÚ÷ˆcW’)p¡•@ÂÑÜ{æ´Ä zdÚu«ùŠÅmJF‘À9$N29íÅyæ©,Øø’ÒæH—Xšâ²Ç!s‘„ÙÜüÁ±Ž‡5½skt»€d2Ïms¿{–(Àzw4ªà©Æ×mèÞït”´×Ïð(Ó};~.Ƨöõ©½:kÁg%þõ#ëR4à¯Ì¸%798÷5mµfo'O]*Ò7‚-ÉZœˆâ2qÉ ’¤Œzq\/›möu²Eýµý¿¿ÊÈóöù¹Ýë/¿Lq[V¶‘ZüB»1 O¦‰\¼…ŽLÄqžƒÐ:¸hÂ;½{½ÕµßÌ!BœžÝÏüaâ ;íQíâ´Ó¤º…ÖG´‡WpÇ· c Œª:vm5rÆK4Ñì Emöi"‹å"~pwÆq×Ú¸MkW‹Â¶Öï ÔດÞF„y¨ÉæoïÔ®s׎µ~ÖË욟‹­¬LÍ+ZÂÈZBÎ]£““œçü)ÖÂF ÆïEÝ÷å﵂iÊÚV¹ÙYxòKé$†Æ *áááÒ-D±NÜâ:C—íû²HoÝñÁ¸ k ÍOÃɦK´¹RïìÄ€ªìàsÍ@lþËáZY‰ŽéÀùË1\e²O'Œçñ¬§–aÔùmÛ{ÿ7/˜F”½¿+žeãɵ(ÞK m.éc8s [i÷ÄuÖé·Ú]¥æÏ/í¤»3»€8Ï~µäúmÅß‹§›I–Þ[EÓ$kb6ÞJƒŽûsôéþÿ‘gJÿ¯8¿ô^fe…§BÜŠÛwó2«¨'ˆ?ä1¤ÛýTu'ˆ?ä1¤ÛýTuõœ=þãWùžmoŒr¬_¨®CHÿTð?ý «¯Oõ‹õÈiò ƒþÿ¡µ}6ãg‰œÿzþŒžoøùÓÿëö/æk¦®foøùÓÿëö/æk¦£ñ¯AdßÀ~¿¢ (¢¹\(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š†óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…{Mçüx]×ÿÐMxµ·üzAÿ\×ù ÞSÓËw—Èßðüö_õÎoý½B¼¿Áÿò7Ù×9¿ô õ š¿†;øÌ(¢ŠÈã (¢€2fËxƒpÛ6ã±Éćë¡÷âÕ&§k%Ű’Üwó í“Ý>Œ8ü½)–óÇuO%dg¨õÜ+ÚËê'O“ª:hÉ5bTáÔŸZó?ëznÿ ¶­y•Âß¼¾Lçc2ã°=ýUéuNïHÓu —ºu¥Ì€`4Ы>¤W\àÛRŽèѧ{£ÉtËYeøYpçPþ̆]Q¤ófGÙ2i* ÚOᑊØð…Ä–~#Ô¬"Ó¡·Ô ‰™…È’ÎB;yÁ'¶+Òže€Á$1¼%v˜ÙR=1Óže§#%½ª1Ë" ÷À¬£‡i§}‰TícÄtd¸’ÇQMjÎÓ[kÆó Ë3ÜÈIÆÖŒ)>¾üûuÚŽe®üdº³¿G’Øië'–²€¸Î;sŸÀW~š^Ÿë^Çal—lI3¬*ç¯ÍŒóOV¢ðÞ hEÑ]†}ƒy_MÝqJ8k+7Ô=,OJŸ}~´”äûëõ®³B¿‡¿ä^±ÿ®ÔÖ•fø{þEëúçýMiWÌTøß©Â÷ (¢ Ekþ@:ýzÉÿ šôÈÿÕ'û¢¼ÏZÿ£ÿ^²è&½2?õIþè­)Œóÿ!˜ÿìa—ùÉ]­qGþC1ÿØÃ/ó’»Zøž+þ=?Gù6g¬­Ä>$½“ì7²Ç*E±á¶yàyQTÝÞD(úV¤êz«XHAü6סÑ^q–IríæzÅNåIs0ûB…ŸG¿•AÈiÒ0ñZ{;¸ô­I€ €ÖÐýÚô:)ýwû¿‰]©Ù_3ÎdQ3#K£ßÈÈr¥ôçb§Û+Å¢YI4{÷‘>ã¶œä¯Ð•⽊^þïâ/®Ô쿯™ç,¡æYŸG¿iSîÈÚs–_¡Û‘O.åÃ+R. €ÆÂLŒõÁÛ^‡E/®ÿwñ×jv_×Ìóœ?ÏþÇ¿ó±3û9÷cÓ;sOÞû÷ÿeê[ñ·wØ$Î=3·¥z}wû¿ˆ}v§eý|Ï9U 3Lš=úÊÿzA§8fú¹4ðî®Î4½H;cs 2qÓ'mz}wû¿ˆ}v§eý|Ï9D,í9ËÓK}p¼ÓÕÝKÒµ Xå±a Ü}OËÍz}vÿgñ®Ô쿯™ç1¯Œ°h÷ñÉéÒ('ðZí´¤ƒÃÚlR£G"ZÄ®Œ0T…´(¬«â}¬mcµåU$ú÷ˆ?ä1¤ÛýTu'ˆ?ä1¤ÛýTu÷=þãWùžuoŒr¬_¨®CHÿTð?ý «¯Oõ‹õÈiò ƒþÿ¡µ}6ãg‰œÿzþŒžoøùÓÿëö/æk¦®foøùÓÿëö/æk¦£ñ¯AdßÀ~¿¢ (¢¹\(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š†óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…{Mçüx]×ÿÐMxµ·üzAÿ\×ù ÞSÓËw—Èßðüö_õÎoý½B¼¿Áÿò7Ù×9¿ô õ š¿†;øÌ(¢ŠÈã (¢€ Éuû©°qoxY×ý™º°ú0ù¾¡½kZ«ßZ-õ”¶å¶GÀàå[ð Ö…WJjH¨Ë•ÜbrëŸZÊÑô¸ot{[™æ½i¥RÎÂòQ““Ø6^±¸7( Šhä1ÊŸÝpyüQìE'‡ä]±ÿ®gÿB5écê>HÊsj¯DÐaYÿÏKïü ›ÿŠ£û Ïþz_àlßüUiÑ^_µ©üÏï0æ}ÌÏì+?ùé}ÿ³ñTaYÿÏKïü ›ÿŠ­:(öµ?™ýáÌû™ŸØVóÒûÿfÿâ©F…f?å¥÷þÍÿÅV•{Yÿ3ûÙ÷"¶¶ŠÎÖ+hlQ.ÔRIÀúžMKE (¢€(ë_òÔëÖOýצGþ©?Ýæz×ü€uúõ“ÿA5é‘ÿªO÷EiLg™<2K. Ð[ˆuYæ„·@ë!ëìA ûêtýBFØÍå*Å$¾ôl:©÷®vßþ>µ?ûÜÿèÃJö În š[[‚0e€€Xv !±Û ã¶+ÅÎ2µŽâí5·oF]:œ¬ë(®SÍÖÿè3þ/ÿG›­ÿÐj?ü_þ*¾cý[Æÿwïÿ€oí¢utW)æëôÿ—ÿŠ£ÍÖÿè5þ/ÿGú·þïßÿ=´N®Šå<ÝoþƒQÿàÿñTyºßý£ÿÀ%ÿâ¨ÿVñ¿ÝûÿඉÕÑ\§›­ÿÐj?ü_þ*7[ÿ Ôø¿üUêÞ7û¿üöÑ:º+”óu¿ú Gÿ€KÿÅQæëôÿ—ÿŠ£ý[Æÿwïÿ€Ú'WEržn·ÿA¨ÿð øª<ÝoþƒQÿàÿñT«xßîýÿðÛDêè®SÍÖÿè5þ/ÿG›­ÿÐj?ü_þ*õoýß¿þ{h]Êyºßý£ÿÀ%ÿâ©’Áwx»5FK˜¿ç”h!Fÿ{iË}3j¨pÖ-É)4—õä'Z$÷— ©kxŽëkDx‘»4„áÈövç¹'ÒMDH£XãEDQ…Uz)ÕöXL40´cF#žRæwc“ýbýErGü‚ ÿÿèm]z¬_¨®CHÿTð?ý «ÔÁülñóŸà/_Ñ“Íÿ:ý~ÅüÍtÕÌÍÿ:ý~ÅüÍtÔc>5è,›ø×ôAEW!ë…Q@Q@Q@Q@Q@Q@ÞÇ…×ýpý׋[Ǥõͯi¼ÿ ¯úàÿú ¯¶ÿH?ëšÿ![Ñêzynòùþÿ‘¾Ëþ¹Íÿ W¨W—ø?þFû/úç7þ^¡SWâ0Ç…QYaEPEPeâý‹QŠøq¤Gsèÿè'ØJ<=ÿ"õýs?ú­ bIáxePÑÈ¥YOpx5›bºn›mb’<©'ÞosïZº­ÓP} 溱jŠ(¬‰ (¢€ (¢€ (¢€ (¢€(ë_òÔëÖOýצGþ©?Ýæz×ü€uúõ“ÿA5é‘ÿªO÷EiLg[ÿÇÖ§ÿaŸýjz‚ßþ>µ?ûÜÿèÃSÔKqQHŠ( Š( Š( Š( Š( Š( Š( Š( 'úÅúŠä4ùAÿÿÐÚºôÿX¿Q\†‘ÿ ¨?àúW^ãg“œÿzþŒžoøùÓÿëö/æk¦®foøùÓÿëö/æk¦£ñ¯AdßÀ~¿¢ (¢¹\(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š†óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…{Mçüx]×ÿÐMxµ·üzAÿ\×ù ÞSÓËw—Èßðüö_õÎoý½B¼¿Áÿò7Ù×9¿ô õ š¿†;øÌ(¢ŠÈã (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€(ë_òÔëÖOýצGþ©?Ýæz×ü€uúõ“ÿA5é‘ÿªO÷EiLg[ÿÇÖ§ÿaŸýjz‚ßþ>µ?ûÜÿèÃSÔKqQHŠ( Š( Š( Š( Š( Š( Š( Š( 'úÅúŠä4ùAÿÿÐÚºôÿX¿Q\†‘ÿ ¨?àúW^ãg“œÿzþŒžoøùÓÿëö/æk¦®foøùÓÿëö/æk¦£ñ¯AdßÀ~¿¢ (¢¹\(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š†óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…{Mçüx]×ÿÐMxµ·üzAÿ\×ù ÞSÓËw—Èßðüö_õÎoý½B¼¿Áÿò7Ù×9¿ô õ š¿†;øÌ(¢ŠÈã (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€(ë_òÔëÖOýצGþ©?Ýæz×ü€uúõ“ÿA5é‘ÿªO÷EiLg[ÿÇÖ§ÿaŸýjz‚ßþ>µ?ûÜÿèÃSÔKqQHŠ( Š( Š( Š( Š( Š( Š( Š( 'úÅúŠä4ùAÿÿÐÚºôÿX¿Q\†‘ÿ ¨?àúW^ãg“œÿzþŒžoøùÓÿëö/æk¦®foøùÓÿëö/æk¦£ñ¯AdßÀ~¿¢ (¢¹\(¢Š(¢Š(¢Š(¢Š(¢Š(¢Š†óþ<.¿ëƒÿè&¼ZÛþ= ÿ®kü…{Mçüx]×ÿÐMxµ·üzAÿ\×ù ÞSÓËw—Èßðüö_õÎoý½B¼¿Áÿò7Ù×9¿ô õ š¿†;øÌ(¢ŠÈã (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€(ë_òÔëÖOýצGþ©?Ýæz×ü€uúõ“ÿA5é‘ÿªO÷EiLg[ÿÇÖ§ÿaŸýjz‚.õ0x?Ú7ÀÍOQ-ÄQE (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€Ÿëê+Ò?äüÿCjë”áô9®nßCÕm`X"ºÓÚ5-´¼Rg“ÎÞº0Õ# 7#Ḭ̈õ+ÒQ¦®î2oøùÓÿëö/æk¦¬Ñõ&º¶{‹›/*–R"ý†N+zŒMHÎIÄ2Ü=Jœj+;…Q\ç QEQEQEQEQEQECyÿ_õÁÿô^-mÿ×5þB½²hüëybÎ<ÄdϦF+áæ£hƒU³!T.~Îý‡ûÕ­)(Þçv ¼)9s½Êÿ‘¾Ëþ¹Íÿ W¨W#¡x:ïIÖ¡¿žþÞU‰vG);†:’k®¥Q¦îŒ±U#R§4v (¢³9‚Š( Š( Š( Š( Š( Š( Š( Š(  :×ü€uúõ“ÿA5é‘ÿªO÷EyžµÎ‡~£’Öîª=XŒõ$ø×¦GÄj\ Ò˜ÎKÄT–W—´ d¶Ÿk] hؾ`õÛh#½fDéq’YPôhÈ`^…\/Št­954e°µRñïr!Q¹‰9'ŽM9FúÇþéü¨ØÿÝ?•cÿgXÿÏ•¿ýú_ð£û:Çþ|­ÿïÒÿ…O ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•û§ò¬ìëùò·ÿ¿KþgXÿÏ•¿ýú_ð£ ýÓùQ±ÿº*ÇþαÿŸ+ûô¿áGöuüù[ÿߥÿ 9ØØÿÝ?•#ŠYÆÕIàVGöuüù[ÿߥÿ ÐÐô­:]bÝ$Óí] 9V…H?)ö£ ô»!âÄT%´Ø]dšeû²²°"5=ù’3ЧŽû*ª(UPªRÖ‰XgÿÙaxis2c-src-1.6.0/docs/docs/images/folder_structure_zlib.jpg0000644000175000017500000000661411172017604025104 0ustar00manjulamanjula00000000000000ÿØÿàJFIF``ÿáExifII*ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀV¡"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?ôï øW÷>Ñ'¸Ð4¹f’ÂyÎ6fc’IÛÉ>µª|áútü‹ÿ‰£Áßò$è9ÿ u¿þ‹ZÛ¦Û¹)&–† ðo†3ÿ"æ‘ÿ€1ñ4ïøCü1ÿBæ‘ÿ€1ñ5³XºÆ»•pÂïTÓ´ÛuDÄ×Äwbÿ(%ÔgN9ïéB» %Ð_øC¼1ÿBæ‘ÿ€1ñ4Âáúôü‹ÿ‰§èº¼z©• ¾³¾·ͧÜl³©î`pS¨?Ê¡º»3j3Û¸•âl$pLbùv¡,NåÉËÉôÀêkõ•Ýõ.çÿw†?è\Ò?ð/þ&øCü1ÿBæ‘ÿ€1ñ5VKÝzÚäÛùø`Α«0'.%Æqßo^Õ«e«Û_h‹ªÄ%ksHBFÎÿ.r¨%ŽA“Û4©WGd9SåW*Âáú4ü‹ÿ‰£þÿ й¤à _üMdÉã»Y5«Kk?ø÷}ñ\ ËyíäŽo:Ñv²n[°y\WæQ“W¥?Ù<û#°w°]nÄežÃK~ós#æU¯X¢€1ü-§Ë¥xrÒÎa:´{ʤò#º)veC媢íRÔWT;Q@Q@ X~*ÿDö±ÿÒ¸«r°üUÿ ˆ?ì%cÿ¥qS[’öfåQ@žÿ‘'Aÿ°u¿þ‹ZÛïXžÿ‘'Aÿ°u¿þ‹ZÛïCÜ#ð¡h¢ŠEfŒÐX.• Ò£™X®É–vàsÛ’Ԋߨæ†+ˆZ£Y#q†VVU©ûZnµÊ„¹$¤rϨøiY”'ã¤US÷v“øÚTÓÚÜ[=™Òßh]Âr!xÎßÒºøE´úYÿß¡W,t­?M.l¬á·/÷Œhkކ Tê)¹ÞÞ_ðMeY8ò¥øžgâk MüC«fÓUm2]B)åû$sê¤üëåüÅ‚¤ø+ó ¯Ž†» ùÿe¿ÏÛ¿³þ×ÿÿ·ù¾w“åG»w›ûßõ¾v7óŒcåÛ]è˜Q@Q@Q@ X~*ÿDö±ÿÒ¸«r°üUÿ ˆ?ì#cÿ¥qS[’öfåQ@ÝŸ†ntû(,­¼K«ÇooÇlµ;UFɇ'Þ¬ÿaêô4êÿ÷êÓÿŒQE°aêô5jÿ÷êÓÿŒQý‡¨ÐÕ«ÿß«Oþ1EƒûPÿ¡«Wÿ¿VŸübì=Cþ†­_þýZñŠ( ,Øz‡ý Z¿ýú´ÿãaêô5jÿ÷êÓÿŒQE`þÃÔ?èjÕÿïÕ§ÿ£ûPÿ¡«Wÿ¿VŸübŠ( ö¡ÿCV¯ÿ~­?øÅØz‡ý Z¿ýú´ÿãQ@X?°õúµûõiÿÆ(þÃÔ?èjÕÿïÕ§ÿ¢ŠÁý‡¨ÐÕ«ÿß«Oþ1Gö¡ÿCV¯ÿ~­?øÅPì=Cþ†­_þýZñŠ?°õúµûõiÿÆ(¢€°aêô4êÿ÷êÓÿŒTRønâà·~!ÔîaŽx¦ò-‚³Fêë’°ƒÊ:EއQE"ÿÙaxis2c-src-1.6.0/docs/docs/architecture_notes.html0000644000175000017500000002444311172017604023302 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Architecture Notes

C Specific Architectural Notes on Apache Axis2/C

Please send your feedback to: axis-c-dev@ws.apache.org (Subscription details are available on the Axis2 site.) Prefix the subject with [Axis2].

Introduction

Some of the main design goals of Apache Axis2/C are the usability of the library, the ability to be plugged into different platforms, and the ability to be embedded in other software systems to provide Web services support. There are many features that allow Axis2/C to be pluggable into different platforms as well as to enable the extension of the functionality of Axis2/C.

Environment Struct

Apache Axis2/C defines an environment struct to hold platform specific entities such as the memory allocator, the threading mechanism, etc. The environment is initialized at the point of starting Axis2/C and will last for the lifetime of the Axis2/C run-time. Different sub environments can also be created to suit particular needs, for example, each thread can create its own environment. The Axis2 environment holds the following entities in order to abstract the platform specific implementations.

Allocator

Allocator is the wrapper for memory management mechanisms. It defines the following primitives:

  1. malloc - method to allocate a memory block of a given size.
  2. free - method to free a memory block.

Based on the platform, or the software system into which Axis2/C is embedded, these primitives could be provided with concrete implementations.

Error

Error defines error reporting mechanisms for Axis2/C. All the Axis2/C internal functions use the axutil_error struct instance in the environment to report errors.

Log

The log defines the common logging mechanisms required for the Axis2/C library. All internal Axis2/C code use the functions associated with the axutil_log struct available in the environment for logging.

Thread Pool

The thread pool defines the thread management functions. It hides the complex thread pooling functions as well as the platform specific implementations of threads. The Axis2/C internal library uses this interface to manipulate threads and deal with a common thread type which is defined as axutil_thread.

The environment struct is the starting point for platform abstraction supported by Axis2/C. It can be used to plug platform specific memory management, error reporting, logging, and thread pooling mechanisms.

Dynamic Loading

Axis2/C is designed in an extensible manner, so that the users can add functionality by implementing new modules. These modules should be compiled as Dynamic Shared Objects (DSOs). Services are also loaded dynamically at server start up by reading the contents of the services folder and service configuration files.

The DSO support for loading Axis2/C services and modules is based on the struct named axutil_class_loader. To abstract the axutil_class_loader from the DSO loading functionality of the underlying operating system, a set of platform independent macros such as AXIS2_PLATFORM_LOADLIB and AXIS2_PLATFORM_UNLOADLIB are used. These macros will be mapped to platform specific system calls in platform specific header files (e.g. axutil_unix.h and axutil_windows.h). The file axutil_platform_auto_sense.h will include the correct platform specific header file, based on the compiler directives available at compile time.

Transport Abstraction

One of the key advantages of Axis2/C is the fact that the engine and the SOAP processing is independent of the transport aspects. Users can develop their own transports and the interface will be defined in: axis2_transport_sender.h and axis2_transport_receiver.h.

Currently, Axis2/C supports HTTP transport. Axis2/C Apache2 module (mod_axis2) is an example of the implementation of the axis2_transport_receiver.h interface. libcurl based client transport is an example of the implementation of the axis2_transport_sender.h interface.

Stream Abstraction

Stream is a representation of a sequence of bytes. Since Axis2/C heavily uses streaming mechanisms to read/write XML, an implementation independent stream abstraction is required in order to integrate Axis2/C into other environments seamlessly. The core components of Axis2/C deal with this abstracted stream and does not worry about the implementation specific details. axutil_stream.h defines the stream interface.

Threading Model

The Axis2/C core functions such as asynchronous invocation and concurrent request processing in simple axis2 server make use of threads. The use of threads should be platform independent inside the Axis2/C core components.

An implementation independent interface for threads is provided in the axutil_thread.h header file. Platform specific implementations of this interface are provided for Windows and Linux.

Parser Abstraction

The Axis2/C architecture depends on the XML pull model when dealing with XML payloads. In Java there is StAX API, but in C there is no such standard API. Therefore, an XML pull API, that is similar to StAX API, is defined in the axiom_xml_reader.h and axiom_xml_writer.h. Any implementation of this API can be plugged into the Axis2/C core. If an external XML parser needs to be plugged into Axis2/C, a wrapper that maps the reading/writing functions to the Axis2/C XML reader/writer API should be written.



axis2c-src-1.6.0/docs/docs/installationguide.html0000644000175000017500000007541411172017604023133 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Installation Guide

Apache Axis2/C Installation Guide

This document guides you on how to install Axis2/C, and run the server and client samples on Linux and Microsoft Windows operating systems.

This release comes in two forms, source and binary and you can download them from here. This document covers both forms.

Please send your feedback to the developer mailing list: axis-c-dev@ws.apache.org (Subscription details are available on the Axis2 site.) Please remember to prefix the subject with [Axis2].



1. Getting Axis2/C Working on Linux

1.1 Setting up Prerequisites

1.1.1 Mandatory

By default Axis2/C is not dependent on any other software libraries.

1.1.2 Optional

(a) libxml2 - http://www.xmlsoft.org/

(b) libiconv - http://www.gnu.org/software/libiconv/

(c) zlib - http://www.zlib.net/

(d) Apache Qpid -

1.2 Using Binary Release

(a) Extract the binary tar package to a directory.



(b) Set AXIS2C_HOME environment variable pointing to the location where you have extracted Axis2/C.



$ AXIS2C_HOME='/your_path_to_axis2c'

$ export AXIS2C_HOME



NOTE : You will need to set AXIS2C_HOME only if you need to run Axis2/C samples or tests. The reason is that the samples and test codes use AXIS2C_HOME to get the path to Axis2/C. To write your own services or clients this is not a requirement.

1.3 Using Source Release

1.3.1 Basic Build

(a) Extract the source tar package to a directory



(b) Set AXIS2C_HOME environment variable pointing to the location where you want to install Axis2/C.



$ AXIS2C_HOME='/your_desired_path_to_axis2c_installation'

$ export AXIS2C_HOME



NOTE : You will need to set AXIS2C_HOME only if you need to run Axis2/C samples or tests. The reason is that the samples and test codes use AXIS2C_HOME to get the path to Axis2/C. To write your own services or clients this is not a requirement.



(c) Go to the directory where you extracted the source



$ cd /your_path_to_axis2c_source



(d) Build the source

This can be done by running the following command sequence in the directory where you have extracted the source.



$ ./configure --prefix=${AXIS2C_HOME}

$ make

$ make install



Please run './configure --help' in respective sub directories for more information on these configure options.



NOTE : If you don't provide the --prefix configure option, it will by default be installed into '/usr/local/axis2c' directory.



You could run 'make check' to test if everything is working fine. However,note that the test/core/clientapi/test_clientapi program would fail unless AXIS2C_HOME points to the installed location.(It's looking for Axis2/C repository).This means you really should run 'make && make install', then set 'AXIS2C_HOME=/path/to/install', and then 'make check'. That's a little different than the usual 'make && make check && make install' process.

1.3.2 Build with Options

(a) With Guththila

You may need to try Axis2/C with Guththila XML parser. You can do it by giving '--enable-guththila=yes' as a configure option.



$ ./configure --enable-guththila=yes [other configuration options]

$ make

$ make install

(b) With libxml2

You may need to try Axis2/C with libxml2 XML parser. You can do it by giving '--enable-libxml2=yes' as a configure option.



$ ./configure --enable-libxml2=yes [other configuration options]

$ make

$ make install

(c) With AMQP Transport

You may need to try Axis2/C with the AMQP transport. You can do it by giving '--with-qpid=/path/to/qpid/home' as a configure option.



$ ./configure --with-qpid=/path/to/qpid/home [other configuration options]

$ make

$ make install

1.3.3 Building Samples

If you need to get the samples working, you also need to build the samples.



To build the samples:



$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib/

$ cd samples

$ ./configure --prefix=${AXIS2C_HOME} --with-axis2=${AXIS2C_HOME}/include/axis2-1.6.0

$ make

$ make install



Please run './configure --help' in samples folder for more information on configure options.



NOTE : If you don't provide a --prefix configure option, samples will by default be installed into '/usr/local/axis2c/samples' directory.

1.4 Configuration

1.4.1 AMQP Transport

You need to add the following entries into the axis2.xml.



<transportReceiver name="amqp" class="axis2_amqp_receiver">

   <parameter name="qpid_broker_ip" locked="false">127.0.0.1</parameter>

   <parameter name="qpid_broker_port" locked="false">5672</parameter>

</transportReceiver>



<transportSender name="amqp" class="axis2_amqp_sender"/>

1.5 Running Samples

1.5.1 HTTP Transport

(a) Server

You have to first start the axis2_http_server as follows.



$ cd ${AXIS2C_HOME}/bin

$ ./axis2_http_server



You should see the message

               Started Simple Axis2 HTTP Server...



This will start the simple axis server on port 9090. To see the possible command line options run



$ ./axis2_http_server -h



NOTE 1 : You may need to login as superuser to run the axis2_http_server.

NOTE 2 : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows.

               $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib

(b) Clients

When the axis2_http_server is up and running, you can run the sample clients in a new shell as follows.



$ cd ${AXIS2C_HOME}/samples/bin

$ ./echo



This will invoke the echo service.



$ ./math



This will invoke the math service.



To see the possible command line options for sample clients run them with '-h' option



NOTE : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows.

               $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib

1.5.2 AMQP Transport

(a) Server

Start the Qpid broker as follows.



$ cd ${QPID_HOME}/sbin

$ ./qpidd --data-dir ./



Start the axis2_amqp_server as follows.



$ cd ${AXIS2C_HOME}/bin

$ ./axis2_amqp_server



You should see the message

               Started Simple Axis2 AMQP Server...



This will connect to the Qpid broker listening on 127.0.0.1:5672. To see the possible command line options run



$ ./axis2_amqp_server -h



NOTE 1 : You have the flexibility of starting the Qpid broker first and then axis2_amqp_server or vise versa.

NOTE 2 : You may need to login as superuser to run the axis2_amqp_server.

NOTE 3 : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows.

               $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib

(b) Clients

When the axis2_amqp_server is up and running, you can run the sample clients in a new shell as follows.



$ cd ${AXIS2C_HOME}/sample/bin/amqp

$ ./echo_blocking



This will invoke the echo service.



To see the possible command line options for sample clients run them with '-h' option



NOTE : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows.

               $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib

2. Getting Axis2/C Working on Windows (Win32)

2.1 Setting up Prerequisites

2.1.1 Mandatory

(a) The binaries shipped with this version are compiled with Microsoft Visual Studio compiler (cl). And also the makefile that is shipped with this version needs Microsoft Visual Studio compiler (cl) and nmake build tool.



NOTE : You can download Microsoft VS Express2005 Edition and Platform SDK from Microsoft website. You need to add the path to Platform SDK Include and Lib folders to the makefile in order for you to compile the source.

2.1.2 Optional

(a) libxml2 [http://www.zlatkovic.com/pub/libxml version >= libxml2-2.6.20.win32]

(b) iconv [http://www.zlatkovic.com/pub/libxml version >= iconv-1.9.1.win32]

(c) zlib [http://www.zlatkovic.com/pub/libxml version >= zlib-1.2.3.win32]

2.2 Using Binary Release

Extract the binary distribution to a folder of your choice.(example: C:\axis2c)

The C:\axis2c folder structure is as follows:

  • bin - server and other executables
  • samples\bin - client sample binaries
  • samples\lib - sample libraries
  • samples\src - sample sources
  • lib - library modules
  • services - deployed services
  • modules - deployed modules
  • include - all Include files of Axis2/C
  • logs - system and client logs are written to this folder
Optionally you might require to copy the iconv.dll, libxml2.dll and zlib1.dll to C:\axis2c\lib as well.

(Or you can have these dll's in some other place and add that location to PATH environment variable)

2.3 Using Source Release

2.3.1 Setting Build Options

Please edit the <source_distribution>\build\win32\configure.in file to set the following build options. These are optional

(a) Setting zlib Location

Set the ZLIB_BIN_DIR to the location where zlib is installed to



Default location for zlib is E:\zlib-1.2.3.win32 and the folder structure should look like the following



Figure: C:\zlib Folder Structure

You can either extract zlib to this folder or extract it to a location of your choice and edit the configure.in file accordingly.



NOTE : You need to have zlib1.dll in the library path.

(b) Enable Guththila

  • Set the ENABLE_GUTHTHILA option to 1
  • (c) Enable libxml2

  • Set the ENABLE_LIBXML2 option to 1
  • Set the LIBXML2_BIN_DIR to the location where libxml2 is installed to
  • Set the ICONV_BIN_DIR to the location where iconv is installed to
  • (d) Enable SSL Support

  • Set ENABLE_SSL option to 1
  • Set OPENSSL_BIN_DIR to the location where OpenSSL is installed to
  • (e) Enable libcurl

  • Set ENABLE_LIBCURL to 1
  • Set LIBCURL_BIN_DIR to the location where libcurl is installed to
  • 2.3.2 Compiling the Source

    The following steps will take you through the source compilation.

    • Extract the source distribution to a folder of your choice. (Example: C:\axis2c)
    • Edit the configure.in file as explained in the section 2.3.1
    • Open a DOS shell
    • cd C:\axis2c\build\win32
    • to access .Net tools, run
      • C:\axis2c\build\win32> vcvars32.bat

      Note: You may have to set the PATH environment variable to vcvars32.bat if MS Windows gives an error indicating that it cannot find this batch file. This file is located in <Your MS Visual Studio Install Directory>\VC\bin directory.

    • To build the system and create the binary files in a directory named deploy under the build directory,
      • C:\axis2c\build\win32>nmake install
    • The deploy folder structure is as follows:

      • bin - server and other executable
      • samples\bin - client sample binaries
      • samples\lib - client samples libraries
      • lib - library modules
      • services - deployed services
      • modules - deployed modules
      • include - all include files of Axis2 C
      • logs - system and client logs are written to this folder

    2.4 Running Samples

    You need to set a couple of environment variables before you can run the server and samples.



    Set the variable AXIS2C_HOME to the deploy folder (C:\axis2c)

    Add the path to lib directory to the PATH variable (%AXIS2C_HOME%\lib)



    Copy iconv.dll, zlib1.dll, libxml2.dll to the %AXIS2C_HOME%\lib folder. This is optional.

    2.4.1 HTTP transport

    (a) Server

    > cd %AXIS2C_HOME%\bin

    > axis2_http_server.exe



    You should see the message

                   Started Simple Axis2 HTTP Server...



    By default the log is created under %AXIS2C_HOME%\logs folder with the name axis2.log.



    NOTE : You may provide command line options to change the default behaviour. Type 'axis2_http_server.exe -h' to learn about the usage

    (b) Clients

    Now you can run any sample client deployed under %AXIS2C_HOME%\samples\bin



    Example:

      > cd %AXIS2C_HOME%\samples\bin

      > echo.exe

    3. Installing Apache2 Web Server Integration Module (mod_axis2)

    3.1 Building mod_axis2 from Source

    3.1.1 On Linux

    Provide the Apache2 include file location as a configure option



    $ ./configure --with-apache2="<apache2 httpd include files location>" [other configure options]



    NOTE : Some apache2 distributions install APR (Apache Portable Runtime) include files in a separate location which is required to build mod_axis2.



    In that case use:

    $ ./configure --with-apache2="<apache2 include files location>" --with-apr="<apr include files location>" [other configure options]



    Then build the source tree

    $ make

    $ make install



    This will install mod_axis2.so into your "<your_path_to_axis2c>/lib"

    3.1.2 On Windows (Win32)

    Provide the apache2 location in configure.in file in APACHE_BIN_DIR



    Example:

    APACHE_BIN_DIR = E:\Apache22



    After compiling the sources (as described in section 2.3) build the mod_axis2.dll by issuing the command 'nmake axis2_apache_module'.

    This will build mod_axis2.dll and copy it to %AXIS2C_HOME%\lib directory.



    Example:

    C:\axis2c\build\deploy\lib

    3.2 Deploying in Apache2 Web Server

    NOTE : To do the following tasks, you might need super user privileges on your machine. If you are using the binary release of Axis2/C, please note that it is built with Apache 2.2.



    Copy the mod_axis2 (libmod_axis2.so.0.6.0 on Linux and mod_axis2.dll on Windows) to "<apache2 modules directory>" as mod_axis2.so



    Example:

    cp $AXIS2C_HOME/lib/libmod_axis2.so.0.6.0 /usr/lib/apache2/modules/mod_axis2.so (on Linux)

    copy C:\axis2c\build\deploy\lib\mod_axis2.dll C:\Apache2\modules\mod_axis2.so (on Windows)



    Edit the Apache2's configuration file (generally httpd.conf) and add the following directives



    LoadModule axis2_module <apache2 modules directory>/mod_axis2.so

    Axis2RepoPath <axis2 repository path>

    Axis2LogFile <axis2 log file path>

    Axis2MaxLogFileSize <maximum size of log file>

    Axis2LogLevel LOG_LEVEL

    <Location /axis2>

    SetHandler axis2_module

    </Location>



    NOTE:
      Axis2 log file path should have write access to all users because by default Apache Web Server runs as nobody.



      If you want to use a Shared Global Pool with Apache you have to give another entry called Axis2GlobalPoolSize.

      You have to give the size of the shared global pool in MB.

      If you don't set the value or if you set a negative value Apache module doesn't create shared global pool.



      Axis2GlobalPoolSize <global pool size in mb>



    LOG_LEVEL can be one of the followings

    • crit - Log critical errors only
    • error - Log errors critical errors
    • warn - Log warnings and above
    • info - Log info and above
    • debug - Log debug and above (default)
    • trace - Log trace messages


    NOTE: Use forward slashes "/" for path separators in <apache2 modules directory>, <axis2 repository path> and <axis2 log file path>



    Make sure that the apache2 user has the correct permissions to above paths

    - Read permission to the repository

    - Write permission to the log file



    Restart apache2 and test whether mod_axis2 module is loaded by typing the URL http://localhost/axis2/services in your Web browser

    4. Installing IIS (Interner Information Server) Integration Module (mod_axis2_IIS)

    4.1 Building mod_axis2_IIS from Source

    After compiling the source (as described in section 2.3) build the mod_axis2.dll by issuing the command 'nmake axis2_IIS_module'.

    This will build the mod_axis2_IIS.dll and copy it to %AXIS2C_HOME%\lib directory.



    Example:

    C:\axis2c\build\deploy\lib

    4.2 Deploying in the IIS

    Add the following key to the registery.



    HKEY_LOCAL_MACHINE\SOFTWARE\Apache Axis2c\IIS ISAPI Redirector



    Under this registry key add the following entries.



    A String value with the name "axis2c_home". The value is the AXIS2C_HOME.

    Example : c:\axis2c



    A String value with the name "log_file". The value is the absolute path of the log file.

    Example: c:\axis2c\logs\axis2.log



    A String value with the name "log_level". The value can be one of the followings.

    • trace - Log trace messages
    • error - Log errors critical errors
    • info - Log info and above
    • critical - Log critical errors only
    • debug - Log debug and above (default)
    • warning - Log warnings

    You can add a string value with the name services_url_prefix. This is optional and defaults to "/services". As an example, if you have "/web_services" as the prefix, then all the services hosted would have the endpoint prefix of :

    http://localhost/axis2/web_services.

    Note: don't forget the / at the begining.

    If you wish, you can also change the location as well by adding a string value with the name axis2_location. This is also optional and defaults to /axis2. If you have /myserser as the value you can access your web services with a url like http://localhost/myserver/services.

    Note: Don't forget the / at the beginning.

    Now you can do all the registry editing using the JScript file axis2_iis_regedit.js provided with the distribution. When you build axis2/C with the IIS module the file is copied to the root directory of the binary distribution. Just double click it and everything will be set to the defaults. The axis2c_home is taken as the current directory, so make sure you run the file in the Axis2/C repository location (or root of the binary distribution). If you want to change the values you can manually edit the the .js file or give it as command line arguments to the script when running the script. To run the jscript from the command line use the command :\cscript axis2_iis_regedit.js optional arguments. We recomend the manual editing as it is the easiest way to specify the values.

    IIS 5.1 or Below

    Using the IIS management console, add a new virtual directory to your IIS/PWS web site. The name of the virtual directory must be axis2. Its physical path should be the directory in which you placed mod_axis2_IIS.dll (in our example it is c:\axis2c\lib). When creating this new virtual directory, assign execute access to it.

    By using the IIS management console, add mod_axis2_IIS.dll as a filter in your IIS/PWS web site and restart the IIS admin service.

    IIS 6 & 7

    Using the IIS management console, add the mod_axis2_IIS.dll as a Wildcard Script Map.
    • Executable should be the complete path to the mod_axis2_IIS.dll
    • You can put any name as the name of the Wildcard Script Map

    Please don't add the mod_axis2_IIS.dll as a filter to IIS as in the IIS 5.1 case.

    Note: If the Axis2/C failed to load, verify that Axis2/C and its dependent DLLs are in the System Path (not the user path).


    axis2c-src-1.6.0/docs/issue-tracking.html0000644000175000017500000000622511172017604021406 0ustar00manjulamanjula00000000000000Apache Axis2/C - Issue Tracking

    axis2c-src-1.6.0/docs/svn.html0000644000175000017500000001401611172017604017261 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Developing Apache Axis2/C

    Developing Apache Axis2/C

    This document provides information on how to use SVN to get an SVN checkout/update and make commits to the source repository.

    Working with Subversion (SVN)

    The Apache Axis2/C development team uses Subversion (SVN) for source control. Subversion is a compelling replacement for CVS, developed under the auspices of the Tigris community and is licensed under an Apache compatible license. To learn more about Subversion or to download the latest distribution, visit the Subversion project site. If you are looking for guidelines on setting up/installing Subversion, please read the ASF Source Code Repositories page.

    Checking-out Apache Axis2/C from Subversion

    When checking out the latest version of Apache Axis2/C from the Apache Foundation's Subversion repository, you must use one of the following URLs, depending on your level of access to the Apache Axis2/C source code:

    If you are a committer, make sure that you have set your svnpasswd. To do this you must log into svn.apache.org. For more information, please read the ASF Source Code Repositories page.

    Once you have successfully installed Subversion, you can checkout the Axis2/C trunk by running the following command:

    svn co <repository URL> <folder name>

    where 'repository URL' is one of the URLs from the previous list and 'folder name' is the name of the folder into which the source code is to be checked out.



    To update your working copy to the latest version from the repository, execute:

    svn update



    If you would like to submit a patch, execute:

    svn diff

    The above command will create a unified diff that can be attached to the Apache Axis2/C JIRA issue tracker.





    axis2c-src-1.6.0/docs/style/0000777000175000017500000000000011172017604016727 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/style/maven-classic.css0000644000175000017500000003257011172017604022171 0ustar00manjulamanjula00000000000000body { background: #fff; color: #000; } .contentBox h2 { color: #fff; background-color: #036; } .contentBox h3 { color: #fff; background-color: #888; } .a td { background: #ddd; color: #000; } .b td { background: #efefef; color: #000; } .contentBox th { background-color: #bbb; color: #fff; } div#banner { border-top: 1px solid #fff; border-bottom: 1px solid #fff; } #banner, #banner td { background: #fff; color: #fff; } #leftColumn { background: #fff; color: #000; border-right: 1px solid #aaa; border-bottom: 1px solid #aaa; border-top: 1px solid #fff; } #navcolumn { /* bad for IE background: #fff; */ color: #000; border-right: none; border-bottom: none; border-top: none; } #breadcrumbs { background-color: #ddd; color: #000; border-top: 1px solid #fff; border-bottom: 1px solid #aaa; } .source { background-color: #fff; color: #000; border-right: 1px solid #888; border-left: 1px solid #888; border-top: 1px solid #888; border-bottom: 1px solid #888; margin-right: 7px; margin-left: 7px; margin-top: 1em; } .source pre { margin-right: 7px; margin-left: 7px; } a[name]:hover, #leftColumn a[name]:hover { color: inherit !important; } a:link, #breadcrumbs a:visited, #navcolumn a:visited, .contentBox a:visited, .tasknav a:visited { color: blue; } a:active, a:hover, #leftColumn a:active, #leftColumn a:hover { color: #f30 !important; } a:link.selfref, a:visited.selfref { color: #555 !important; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { background: url(../images/external-classic.png) right center no-repeat; padding-right: 15px; } a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(../images/newwindow-classic.png) right center no-repeat; padding-right: 18px; } h2, h3 { margin-top: 1em; margin-bottom: 0; } img.handle { border: 0; padding-right: 2px; } #navcolumn div div { background-image: none; background-repeat: no-repeat; } #navcolumn div div { padding-left: 10px; } /* $Id: maven-classic.css,v 1.3 2004/05/18 09:23:28 aheritier Exp $ This file defines basic default formatting for HTML conforming to Tigris application style. To extend or override these rules for your instance, edit inst.css instead of this file. */ /* colors, backgrounds, borders, link indication */ .contentBox h2, .contentBox h3, .tabs td, .tabs th, .functnbar { background-image: url(../images/nw_maj_rond.gif); background-repeat: no-repeat; } .functnbar, .functnbar2 { background-color: #aaa; } .functnbar2, .functnbar3 { background-color: #aaa; background-image: url(../images/sw_maj_rond.gif); background-repeat: no-repeat; background-position: bottom left; } .functnbar3 { background-color: #ddd; background-image: url(../images/sw_med_rond.gif); } .functnbar, .functnbar2, .functnbar3 { color: #000; } .functnbar a, .functnbar2 a, .functnbar3 a { color: #000; text-decoration: underline; } #navcolumn .body div, body.docs #toc li li { background-image: url(../images/strich.gif); background-repeat: no-repeat; background-position: .5em .5em; } #searchbox .body div, #navcolumn .body .heading { background-image: none; } a:link.selfref, a:visited.selfref { text-decoration: none; } #leftColumn a, #breadcrumbs a { text-decoration: none; } /* Unsure of this. TODO */ .contentBox h2 a:link, .contentBox h2 a:visited, .contentBox h3 a:link, .contentBox h3 a:visited { color: #fff !important; text-decoration: underline; } table, th, td { border: none; } div.colbar { background: #eee; border-color: #999 #EEE #EEE #999; border-width: 1px; border-style: solid; } .toolgroup { background: #efefef; } .toolgroup .label { border-bottom: 1px solid #666; border-right: 1px solid #666; background: #ddd; color: #555; } .toolgroup .body { border-right: 1px solid #aaa; border-bottom: 1px solid #aaa; } #main { border-top: 1px solid #999; } #rightcol div.www, #rightcol div.help { border: 1px solid #ddd; } body.docs div.docs { background-color: #fff; border-left: 1px solid #ddd; border-top: 1px solid #ddd; } #helptext .label { background-image: url(../images/icon_help_sml.gif); background-repeat: no-repeat; background-position: 97%; } body.docs { background: #eee url(../images/help_logo.gif) top right no-repeat !important; } .docs h2, .docs h3 { border-top: solid 1px #000; } #apphead h2 em { color: #777; } .tabs th { border-right: 1px solid #333; background-color: #ddd; color: #fff; border-left: 1px solid #fff; } .tabs td { background-color: #999; border-bottom: 1px solid #fff; border-right: 1px solid #fff; border-left: 1px solid #fff; } .tabs { border-bottom: 6px #ddd solid; } .tabs th, .tabs th a:link, .tabs th a:visited { color: #555; } .tabs td, .tabs td a:link, .tabs td a:visited { color: #fff; } .tabs a { text-decoration: none; } .axial th { background-color: #ddd; color: black; } .alert { background-color: #ff9; } .expandedwaste { background: url(../images/icon_arrowwaste2_sml.gif) no-repeat; } .collapsedwaste { background: url(../images/icon_arrowwaste1_sml.gif) no-repeat; } .filebrowse .expanded, .filebrowse-alt .expanded { background-image: url(../images/icon_arrowfolderopen2_sml.gif); background-repeat: no-repeat; } .filebrowse .collapsed, .filebrowse-alt .collapsed { background-image: url(../images/icon_arrowfolderclosed1_sml.gif); background-repeat: no-repeat; } .filebrowse .leafnode, .filebrowse-alt .leafnode { background-image: url(../images/icon_folder_sml.gif); background-repeat: no-repeat; } .filebrowse .leaf, .filebrowse-alt .leaf { background-image: url(../images/icon_doc_sml.gif); background-repeat: no-repeat; } .sortup { background: url(../images/icon_sortup.gif) no-repeat; } .sortdown { background: url(../images/icon_sortdown.gif) no-repeat; } .collapsedwaste { background: url(../images/icon_arrowwaste1_sml.gif) no-repeat; } body .grid td { border-top: 1px solid #ccc; border-left: 1px solid #ccc; background-color: transparent; } .confirm { color: #090; } .info { color: #069; } .errormessage, .warningmessage, .donemessage, .infomessage { border-top: 5px solid #900; border-left: 1px solid #900; background-image: url(../images/icon_error_lrg.gif); background-repeat: no-repeat; background-position: 5px 1.33em; } .warningmessage { background-image: url(../images/icon_warning_lrg.gif); border-color: #c60; } .donemessage { background-image: url(../images/icon_success_lrg.gif); border-color: #090; } .infomessage { background-image: url(../images/icon_info_lrg.gif); border-color: #069; } .docinfo { background: url(../images/icon_doc_lrg.gif) no-repeat; } .dirinfo { background: url(../images/icon_folder_lrg.gif) no-repeat; } .memberinfo { background: url(../images/icon_members_lrg.gif) no-repeat; } .usergroupinfo { background: url(../images/icon_usergroups_lrg.gif) no-repeat; } .errormark, .warningmark, .donemark, .infomark { background: url(../images/icon_error_sml.gif) no-repeat; } .warningmark { background-image: url(../images/icon_warning_sml.gif); } .donemark { background-image: url(../images/icon_success_sml.gif); } .infomark { background-image: url(../images/icon_info_sml.gif); } .cvsdiff, .cvsblame { background-color: #ccc; } .cvsdiffadd { background-color: #afa; } .cvsdiffremove { background-color: #faa; } .cvsdiffchanges1 { background-color: #ff7; } .cvsdiffchanges2 { background-color: #ff7; } li.selection ul a { background: #fff; } .band1 { color: #fff; background-color: #663; } .band2 { color: #fff; background-color: #66C; } .band3 { background-color: #C99; } .band4 { background-color: #CFF; } .band5 { color: #fff; background-color: #336; } .band6 { color: #fff; background-color: #966; } .band7 { background-color: #9CC; } .band8 { background-color: #FFC; } .band9 { color: #fff; background-color: #633; } .band10 { color: #fff; background-color: #699; } .band11 { background-color: #CC9; } .band12 { background-color: #CCF; } .band13 { color: #fff; background-color: #366; } .band14 { color: #fff; background-color: #996; } .band15 { background-color: #99C; } .band16 { background-color: #FCC; } .contentBox .helplink, #helptext .helplink { cursor: help; } .legend th, .bars th { background-color: #fff; } /* font and text properties, exclusive of link indication, alignment, text-indent */ body, th, td, input, select { font-family: Verdana, Helvetica, Arial, sans-serif; } code, pre { font-family: 'Andale Mono', Courier, monospace; } body, .contentBox h2, .contentBox h3, #rightcol h2, pre, code, #apphead h2 small, h3, th, td { font-size: x-small; voice-family: "\"}\""; voice-family: inherit; font-size: small; } small, div#footer, div#login, div.tabs th, div.tabs td, input, select, .paginate, .functnbar, .functnbar2, .functnbar3, #breadcrumbs, .courtesylinks, #rightcol div.help, .colbar, .tasknav, body.docs div#toc, #leftColumn, .legend, .bars { font-size: xx-small; voice-family: "\"}\""; voice-family: inherit; font-size: x-small; } .tabs td, .tabs th, dt, .tasknav .selfref, #login .username, .selection { font-weight: bold; } li.selection ul { font-weight: normal; } #apphead h2 em { font-style: normal; } #banner h1 { font-size: 1.25em; } /* box properties (exclusive of borders), positioning, alignments, list types, text-indent */ #bodyColumn h2 { margin-top: .3em; margin-bottom: .5em; } p, ul, ol, dl, .bars table { margin-top: .67em; margin-bottom: .67em; } form { margin: 0; } #bodyColumn { padding-left: 12px; padding-right: 12px; width: 100%; voice-family: "\"}\""; voice-family: inherit; width: auto; } html>body #bodyColumn { width: auto; } .docs { line-height: 1.4; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } .contentBox h2, .contentBox h3 { padding: 5px; margin-right: 2px; } .contentBox td, .contentBox th { padding: 2px 3px; } .h2 p, .h3 p, .h2 dt, .h3 dt { margin-right: 7px; margin-left: 7px; } .tasknav { margin-bottom: 1.33em; } div.colbar { padding: 3px; margin: 2px 2px 0; } .tabs { margin-top: .67em; margin-right: 2px; margin-left: 2px; padding-left: 8px; } .tabs td, .tabs th { padding: 3px 9px; } #rightcol div.www, #rightcol div.help { padding: 0 .5em; } body.docs #toc { position: absolute; top: 15px; left: 0px; width: 120px; padding: 0 20px 0 0; } body.docs #toc ul, #toc ol { margin-left: 0; padding-left: 0; } body.docs #toc li { margin-top: 7px; padding-left: 10px; list-style-type: none; } body.docs div.docs { margin: 61px 0 0 150px; padding: 1em 2em 1em 1em !important; } .docs p+p { text-indent: 5%; margin-top: -.67em; } .docs h2, .docs h3 { margin-bottom: .1em; padding-top: .3em; } .functnbar, .functnbar2, .functnbar3 { padding: 5px; margin: .67em 2px; } .functnbar3 { margin-top: 0; } body { padding: 1em; } body.composite, body.docs { margin: 0; padding: 0; } th, td { text-align: left; vertical-align: top; } .right { text-align: right !important; } .center { text-align: center !important; } .axial th, .axial th .strut { text-align: right; } .contentBox .axial td th { text-align: left; } body .stb { margin-top: 1em; text-indent: 0; } body .mtb { margin-top: 2em; text-indent: 0; } .courtesylinks { margin-top: 1em; padding-top: 1em; } dd { margin-bottom: .67em; } .toolgroup { margin-bottom: 6px; } .toolgroup .body { padding: 4px 4px 4px 0; } .toolgroup .label { padding: 4px; } .toolgroup .body div { padding-bottom: .3em; padding-left: 1em; } .toolgroup .body div div { margin-top: .3em; padding-bottom: 0; } .tier1 { margin-left: 0; } .tier2 { margin-left: 1.5em; } .tier3 { margin-left: 3em; } .tier4 { margin-left: 4.5em; } .tier5 { margin-left: 6em; } .tier6 { margin-left: 7.5em; } .tier7 { margin-left: 9em; } .tier8 { margin-left: 10.5em; } .tier9 { margin-left: 12em; } .tier10 { margin-left: 13.5em; } .filebrowse .expanded, .filebrowse .collapsed { padding-left: 34px; } .filebrowse .leafnode, .filebrowse .leaf { padding-left: 20px; } .messagechild { padding-left: 34px; } .filebrowse-alt .expanded, .filebrowse-alt .collapsed, .filebrowse-alt .leaf, .filebrowse-alt .leafnode, .expandedwaste, .collapsedwaste, .sortup, .sortdown { /* hide from macie5\*/ float: left; /* resume */ display: inline-block; height: 15px; width: 34px; padding-left: 0 !important; } .filebrowse-alt .leaf, .filebrowse-alt .leafnode, .sortup, .sortdown { width: 20px; } .filebrowse ul, .filebrowse-alt ul { list-style-type: none; padding-left: 0; margin-left: 0; } .filebrowse ul ul, .filebrowse-alt ul ul { margin-left: 1.5em; margin-top: 0; padding-top: .67em; } .filebrowse li, .filebrowse-alt li { margin-bottom: .67em; } td.filebrowse h2 { margin-top: 0; } .errormessage, .warningmessage, .donemessage, .infomessage, .docinfo, .dirinfo, .memberinfo, .usergroupinfo { margin: .67em 0; padding: .33em 0 .67em 42px; min-height: 32px; } .errormark, .warningmark, .donemark, .infomark { padding-left: 20px; min-height: 15px; } .alt { display: none; } #banner h1 { margin: 0; } .axial th, .axial th .strut, #leftColumn .strut { width: 12em; } #breadcrumbs { padding: 2px 8px; } /* Bad for IE .contentBox h2, .contentBox h3, .bars { clear: both; } */ .legend { float: right; } .legend th, .bars th { text-align: right; padding-left: 1em; } .bars table { table-layout: fixed; } .bars th { width: 12em; } #projectdocumentlist td.filebrowse-alt { padding-right: .75em; } axis2c-src-1.6.0/docs/style/maven-theme.css0000644000175000017500000000301511172017604021642 0ustar00manjulamanjula00000000000000body, td, select, input, li{ font-family: Verdana, Helvetica, Arial, sans-serif; font-size: 13px; } a { text-decoration: none; } a:link { color:#36a; } a:visited { color:#47a; } a:active, a:hover { color:#69c; } a.externalLink, a.externalLink:link, a.externalLink:visited, a.externalLink:active, a.externalLink:hover { background: url(../images/external.png) right center no-repeat; padding-right: 15px; } a.newWindow, a.newWindow:link, a.newWindow:visited, a.newWindow:active, a.newWindow:hover { background: url(../images/newwindow.png) right center no-repeat; padding-right: 18px; } h2 { padding: 4px 4px 4px 6px; border: 1px solid #999; color: #900; background-color: #ddd; font-weight:900; font-size: x-large; } h3 { padding: 4px 4px 4px 6px; border: 1px solid #aaa; color: #900; background-color: #eee; font-weight: normal; font-size: large; } p { line-height: 1.3em; font-size: small; } #breadcrumbs { border-top: 1px solid #aaa; border-bottom: 1px solid #aaa; background-color: #ccc; } #leftColumn { margin: 10px 0 0 5px; border: 1px solid #999; background-color: #eee; } #navcolumn h5 { font-size: smaller; border-bottom: 1px solid #aaaaaa; padding-top: 2px; } table.bodyTable th { color: white; background-color: #bbb; text-align: left; font-weight: bold; } table.bodyTable th, table.bodyTable td { font-size: 1em; } table.bodyTable tr.a { background-color: #ddd; } table.bodyTable tr.b { background-color: #eee; } .source { border: 1px solid #999; } axis2c-src-1.6.0/docs/style/maven-base.css0000644000175000017500000000434711172017604021463 0ustar00manjulamanjula00000000000000body { margin: 0px; padding: 0px 0px 10px 0px; } img { border:none; } table { padding:0px; width: 100%; margin-left: -2px; margin-right: -2px; } acronym { cursor: help; border-bottom: 1px dotted #feb; } table.bodyTable th, table.bodyTable td { padding: 2px 4px 2px 4px; vertical-align: top; } div.clear{ clear:both; visibility: hidden; } div.clear hr{ display: none; } #projectLogo { font-size: xx-large; font-weight: bold; } #organizationLogo img, #projectLogo img, #projectLogo span{ margin: 8px; } #projectLogo span{ border: 1px solid; padding: 4px 10px 4px 10px; background-color: #eee; cursor: pointer; } .xleft, #organizationLogo img{ float:left; } .xright, #projectLogo img, #projectLogo span{ float:right; text-shadow: #7CFC00; } #banner { border-bottom: 1px solid #fff; } #banner img { border: none; } #footer, #breadcrumbs { padding: 3px 10px 3px 10px; } #leftColumn { width: 18%; float:left; } #bodyColumn { margin-left: 20%; } #navcolumn { padding: 8px 4px 0 8px; } #navcolumn h5, #navcolumn ul { margin: 0; padding: 0; font-size: small; } #navcolumn li { list-style-type: none; background-image: none; background-repeat: no-repeat; background-position: 0 0.4em; padding-left: 16px; list-style-position: ouside; line-height: 1.2em; font-size: smaller; } #navcolumn li.expanded { background-image: url(../images/expanded.gif); } #navcolumn li.collapsed { background-image: url(../images/collapsed.gif); } #poweredBy { text-align: center; } #navcolumn img { margin-top: 10px; margin-bottom: 3px; } #poweredBy img { display:block; margin: 20px 0 20px 17px; border: 1px solid black; width: 90px; height: 30px; } #search img { margin: 0px; display: block; } #search #q, #search #btnG { border: 1px solid #999; margin-bottom:10px; } #search form { margin: 0px; } #lastPublished { font-size: x-small; } .navSection { margin-bottom: 2px; padding: 8px; } .navSectionHead { font-weight: bold; font-size: x-small; } .section { padding: 4px; } #footer { font-size: x-small; } #breadcrumbs { font-size: x-small; margin: 0pt; } .source { padding: 12px; margin: 1em 7px 1em 7px; } .source pre { margin: 0px; padding: 0px; } axis2c-src-1.6.0/docs/style/print.css0000644000175000017500000000031411172017604020567 0ustar00manjulamanjula00000000000000#banner, #footer, #leftcol, #breadcrumbs, .docs #toc, .docs .courtesylinks, #leftColumn, #navColumn { display: none; } #bodyColumn, body.docs div.docs { margin: 0 !important; border: none !important } axis2c-src-1.6.0/docs/versioning.html0000644000175000017500000000730111172017604020635 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Versioning

    Versioning of Apache Axis2/C

    Apache Axis2/C contains both applications, like HTTPD, and libraries, like APR. It also contains a number of related sub-projects. It allows third-party service modules to be written against its API (such as HTTPD), and may also compile its own third-party modules (e.g., mod_axis2) to be used with HTTPD.

    These complexities probably mean that we need to develop a fairly comprehensive set of versioning rules.

    Being an Apache project, the Axis2/C project follows the APR guidelines on versioning. http://apr.apache.org/versioning.html



    axis2c-src-1.6.0/docs/team-list.html0000644000175000017500000003545211172017604020361 0ustar00manjulamanjula00000000000000Apache Axis2/C - Project Team

    The Team

    A successful project requires many people to play many roles. Some members write code or documentation, while others are valuable as testers, submitting patches and suggestions.

    The team is comprised of Members and Contributors. Members have direct access to the source of a project and actively evolve the code-base. Contributors improve the project through submission of patches and suggestions to the Members. The number of Contributors to the project is unbounded. Get involved today. All contributions to the project are greatly appreciated.

    Members

    The following is a list of developers with commit privileges that have directly contributed to the project in one way or another.

    NameIdEmailOrganizationRolesTZ OffsetTime
    Samisa Abeysinghesamisasamisa AT wso2 DOT comWSO2 Unknown
    Dushshantha Chandradasadushshanthadushshantha AT wso2 DOT comWSO2 Unknown
    Chris Darrochchrisdchrisd AT pearsoncmg DOT comPearson Education Core Technology Group Unknown
    Senaka Fernandosenakasenaka AT wso2 DOT comWSO2 Unknown
    Paul Fremantlepzfpaul AT wso2 DOT comWSO2 Unknown
    Dimuthu Gamagedimuthudimuthuc AT gmail DOT comUniverisity of Moratuwa Unknown
    Sahan Gamagesahansahans AT gmail DOT comPurdue University Unknown
    Lahiru Gunathilakelahiruglahiru@gmail.comUniversity of Moratuwa Unknown
    Nandika Jayawardananandikanandika AT wso2 DOT comWSO2 Unknown
    Supun Kamburugamuvasupunsupun06 AT gmail DOT comUniverisity of Moratuwa Unknown
    Kaushalye Kapurugekaushalyekaushalye AT wso2 DOT comWSO2 Unknown
    Damitha Kumaragedamithadamitha AT wso2 DOT comWSO2 Unknown
    Bill Mitchellbmitchellwtmitchell3 AT acm DOT org Unknown
    Danushka Menikkumburadanushkadanushka AT wso2 DOT com Unknown
    Diluka Moratuwagedilukadiluka AT wso2 DOT com Unknown
    Dumindu Palleweladumindudumindu AT wso2 DOT comWSO2 Unknown
    Milinda Pathiragemilindamilinda DOT pathirage AT gmail DOT comUniverisity of Moratuwa Unknown
    Manjula Peirismanjulamanjula AT wso2 DOT comWSO2 Unknown
    Dinesh Premalaldineshdinesh AT wso2 DOT comWSO2 Unknown
    Sanjaya Rathnaweerapinisanjaya AT wso2 DOT comWSO2 Unknown
    Davanum Srinivasdimsdavanum AT gmail DOT com Unknown
    Sanjiva Weerawaranasanjivasanjiva AT wso2 DOT comWSO2 Unknown
    Nabeel Yoosufnabeelnabeel DOT yoosuf AT gmail DOT comPurdue University Unknown
    Selvaratnam Uthaiyashankarshankarshankar AT wso2 DOT comWSO2 Unknown

    Contributors

    The following additional people have contributed to this project through the way of suggestions, patches or documentation.

    NameEmailOrganizationRoles
    James Clarkjjc AT public DOT jclark DOT com Technical Adviser on Building a Portable/Re-usable C library

    Spencer Davisspencerdavis91 AT gmail DOT com Composing Axis2/C FAQ Documentation

    Alastair FETTESafettes AT mdacorporation DOT com Suggestion to improve API and several inputs through JIRA

    Frederic Heemfrederic DOT heem AT telsey DOT it Suggestions for improvements through Jiras and Bug fixes

    Rajika Kumarasirirajikacc AT gmail DOT com Bug Fixes

    Manoj Pushpakumaramanaj AT wso2 DOT com Improvements to the Unit Test cases

    Buddhika Semashinghebuddhika AT wso2 DOT com Helps to improve overall quality of the code base

    Varuna Jayasirivpjayasiri AT gmail DOT com Axiom XPath implementation

    Nikola Tankovicnikola DOT tankovic AT gmail DOT com CGI deployment support


    axis2c-src-1.6.0/docs/index.html0000644000175000017500000002337111172017604017566 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - The Web Services Engine

    Welcome to Apache Axis2/C

    Apache Axis2/C is a Web services engine implemented in the C programming language. It is based on the extensible and flexible Axis2 architecture. Apache Axis2/C can be used to provide and consume WebServices. It has been implemented with portability and ability to embed in mind, hence could be used as a Web services enabler in other software.

    Apache Axis2/C supports SOAP 1.1 and SOAP 1.2, as well as REST style of Webservices. A single service could be exposed both as a SOAP style as well as a REST style service simultaneously. It also has built in MTOM support, that can be used to exchange binary data.

    Apache Axis2/C is efficient, modular and is designed with extensibility. The extensible design allows it to support the full WS-* stack with the concept of modules. Apache Axis2/C is the Web services engine that supports the most number of WS-* specification implementations in C, with guaranteed interoperability. This enables using C in Service Oriented Architecture (SOA) implementations, and would be very useful when integrating legacy systems into SOA.

    The following WS-* specifications are supported, either as built in modules or as separate Apache projects:

    Latest Release

    20th April 2009 - Apache Axis2/C Version 1.6.0 Released

    Download 1.6.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and more advanced operation client API
    3. Transports supported: HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 httpd module called mod_axis2 for server side
      • IIS module for server side. Supports IIS 5.1, 6 and 7
      • Client transport with ability to enable SSL support
      • Basic HTTP Authentication
      • AMQP Transport based on Apache Qpid (Experimental)
      • libcurl based client transport
      • CGI interface
    4. Module architecture, mechanism to extend the SOAP processing model
    5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. XPath support for Axiom XML Object model
    8. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
    9. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    10. Both directory based and archive based deployment models for deploying services and modules
    11. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
    12. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
    13. Message receiver abstraction
      • Inbuilt raw XML message receiver
    14. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
      • Axis Data Binding (ADB) support
    15. Transport proxy support
    16. REST support (more POX like) using both HTTP POST and GET
    17. Comprehensive documentation
      • Axis2/C Manual
    18. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
    19. TCP Transport, for both client and server side

    Changes Since Last Release

    1. XPath support for Axiom XML object model
    2. CGI support
    3. Improvements to MTOM to send, receive very large attachments
    4. Improvements to AMQP transport
    5. Improvements to WSDL2C codegen tool
    6. Many bug fixes.
    7. Memory leak fixes

    Archived News

    Refer to information on the previous releases.



    axis2c-src-1.6.0/docs/mail-lists.html0000644000175000017500000001115211172017604020527 0ustar00manjulamanjula00000000000000Apache Axis2/C - Mailing Lists

    Mailing Lists

    These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.

    List NameSubscribeUnsubscribeArchive
    Axis C Developer List Subscribe Unsubscribe Archive
    Axis C User List Subscribe Unsubscribe Archive
    CVS Commit Message List Subscribe Unsubscribe Archive

    axis2c-src-1.6.0/docs/lists_issues.html0000644000175000017500000001126411172017604021206 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Mailing Lists and Issue Tracking

    Mailing Lists

    These are the mailing lists that have been established for this project. For each list, there is a subscribe, unsubscribe, and an archive link.

    List NameSubscribeUnsubscribeArchive
    Axis C Developer List Subscribe Unsubscribe Archive
    Axis C User List Subscribe Unsubscribe Archive


    axis2c-src-1.6.0/docs/download.html0000644000175000017500000016012011172017604020260 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Apache Axis2/C Downloads

    Apache Axis2/C Releases

    Apache Axis2/C releases are available for download as source or binary packages. For more information on Apache software releases, please see Apache Releases FAQ.

    NameTypeDistributionDateDescription
    1.6.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    20-04-20091.6.0 Release (Mirrored)
    1.5.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    06-05-20081.5.0 Release (Mirrored)
    1.4.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    03-03-20081.4.0 Release (Mirrored)
    1.3.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    29 - 02 - 20081.3.0 Release (Archived)
    1.2.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    17 - 01 - 20081.2.0 Release (Archived)
    1.1.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    30 - 09 - 20071.1.0 Release (Mirrored)
    1.0.0ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    06 - 05 - 20071.0.0 Release (Archived)
    0.96ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    22 - 12 - 20060.96 Release (Archived)
    0.95ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    26 - 10 - 20060.95 Release (Archived)
    0.94ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    03 - 10 - 20060.94 Release (Archived)
    0.93ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    31 - 08 - 20060.93 Release (Archived)
    0.92ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    16 - 06 - 20060.92 Release (Archived)
    0.91ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    15 - 05 - 20060.91 Release (Archived)
    0.90ReleaseMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP
    31 - 03 - 20060.90 Release (Archived)
    M0.5

    Milestone

    MS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP

    10 - 03 - 20060.5 Milestone (Archived)
    M0.4MilestoneMS Windows Distribution

    - Binary Distribution zip MD5 PGP

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Binary Distribution tar.gz MD5 PGP

    - Source Distribution tar.gz MD5 PGP

    02 - 17 - 20060.4 Milestone (Archived)
    M0.3MilestoneLinux Distribution

    - Binary Distribution tar.gz MD5 PGP

    Source Distribution tar.gz MD5 PGP

    02 - 02 - 20060.3 Milestone (Archived)
    M0.2MilestoneMS Windows Distribution

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Source Distribution tar.gz MD5 PGP
    12 - 08 - 20050.2 Milestone (Archived)
    M0.1MilestoneMS Windows Distribution

    - Source Distribution zip MD5 PGP

    Linux Distribution

    - Source Distribution tar.gz MD5 PGP

    11 - 25 - 20050.1 Milestone (Archived)

    [if-any logo] [end] The currently selected mirror is [preferred]. If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available.

    Other mirrors:

    You may also consult the complete list of mirrors.

    Note: When downloading from a mirror, please check the md5sum and verify the OpenPGP compatible signature from the main Apache site. They can be downloaded by following the links above. This KEYS file contains the public keys that can be used for verifying signatures. It is recommended that (when possible) a web of trust is used to confirm the identity of these keys.



    axis2c-src-1.6.0/docs/images/0000777000175000017500000000000011172017604017034 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/images/icon_usergroups_sml.gif0000644000175000017500000000200211172017604023612 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿøùøõ÷ôJ»SÄ SÃAb.i‰VmŒ[™®ŒDCˆY±^·#T£"[–5bŽFI®K¥ /a P¤RŸª²¤¡š@;€%P<} f|T:{:u!=¤¨›†‰|±²­ª­œþþü××Öýùºþö°þö±VNþò¤þò¥þò¦þò§þò¨ÿþøÿì•ùè”þîœðá•þïžÕÉŒØ×Òþýøÿç‡ÿèŠÿéÿì—ÿò¼ÿò¾ÿôÆüöÛÿùßÿýõäÌwÞÆtîÖ}êÒ{éÑzíÖ~äÝÃÓ̴иkÁªc͵j˳iÕ½oÓ¼nηp­œhǵxæÕœ¹®‹§‡'³—D¼¤\À¨b«i¿©gº¤fº®Œ¸±ž­•W§T ŒY›ršw“|I˜L•M“}L–€P•…`¡hŒuHˆrFŠtH†rJ…ya‘Š|jZAzTl_KoHwS(QF9Ÿ]ˆOVK?U*êwçvãsÞrÛpßvãzàyÔs¬_ßyÜzêƒâ"ãƒ$`8æˆ*±r4°x>ze¾²¦÷õóálÖl ÏiÚwÛvÙ|'²¡‘¨“ëáØP%ÁZËaÈd}m_š’‹¿W¸R´O¿]‹IJ®KM% ªF¥D Cž<0=ƒ%;7 3 2õõõãããÓÓÓÿÿÿ!ù¶,ßm H° A‚j¶Dá’äà@14N¤¨¡¥`œ)k¨ØBƒDÇ<° ´“£‹3>Â<9’ÃÅ‹+ßɱÂF7L– ‘1ÃÊÀ9PŒÄòc ˜,Mˆ˜!‡Œ“/e‚”HÃÆL%½t©¤Ö'Gž0=jtI`‚\8PgP F2B$A`P±gQ"@‚ QªDg &P¸Ã‘Ÿ?’&u¥ˆ„ 2l ÔÇ%N›B™Juª >€À‰(Q¨V±rõÊ–‰!HˆÈCJ¦RªZÁŠ%+ ;axis2c-src-1.6.0/docs/images/none.png0000644000175000017500000000166211172017604020502 0ustar00manjulamanjula00000000000000‰PNG  IHDRóŒ§ágAMA±Ž|ûQ“ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFPLTEÿÿÿÿÿÿße¯ tRNSÿå·0J pHYs  šœIDATc`„i”2ag~IEND®B`‚axis2c-src-1.6.0/docs/images/icon_usergroups_lrg.gif0000644000175000017500000000276011172017604023616 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿÌÌÌÿ燦 ‡ k ¿Ÿ@C¿_e &,2Æ&6à´ºÈ4J¡]hÊ>XN&ÓMgÖ]|Òtfbdb`arIj®z©‘gŽJ2M5=ñó÷ùúüÐØåØßê 'SG]~\wŸRi‹pН‡½ÈÒáõ÷ú–ªÆ£´Ì±ÀÔ¾ËÝ.?Sëïôâèïûüý,0FkD¥Ø•¸ß¬ÏÜÈ“Äv‰¬tN· sÂ?wÇDŒÑa’Ói™ÕrBV©q»;˜ðZ†ÉXŽÌcn²8€»PÜöÈ;{k©3\ƒ;‘Áhgž.Mh2x•[opnFhd’):PnXõöó|}y}~mšš“ŒþþüÿÿþððïÔÔÓýú”ýüÂóð°ýú»éçÂàÚŽýø·áÝ®ú÷Ïøîíå•÷ï¦þö²îé·ˆ‡}þó¨ÐÇŒB@0üùáÿþ÷õæˆþï*&óáþì–Æ¸xýå†ùâ…ûä‡úå‰ÿéçÙžÿóÀäÞÅMD%ÜÄríÕ|àÈuÁ­eóÛ€åÎxƱhûã…÷߃ðØиkȰgØÀpÔ¼nѹlË´iÓ¼nÀ«iÜÄ{§‡'³—DÀ¨b½¥`¹¡^³›[Æ®fĬeªdýùîRQNšƒLª“V”|IŸ‡O‹sC„m@íÉ^T?‰{_wb>;/•{_ëˆ(®o-],¨‚\ÈÅÂârÜtâzê€ë9ë™LÞ“P n@ªxJê­vÚ«€®–€Í¸¥ËaÏiÊeÔmÎlØx%Û€2܇=Û‹HZ<#Ø“YâženM1ƒfM†~w³­¨épÀ\‚> ¡OÆa«XÄdÎr)Ìw6ÓˆOÛ•_Çe¡‚kwmeíãÛ·SºXŽGù'Ãh&¿l4Ê{D¤Ž~®L ¯W"k:¥D Ä€ZÁ¡Ž™9W"œ@_?/§£¡1S…(z!:þ ›àÑÐÇ??øññÀ¿¿þþþýýýøøøñññèèèÚÚÚfffÿÿÿ!ùÿ, ÿÿ H° Áƒ*\È L—2YÊ4¨áBO–òÀ™3`@£M†4 .^Ôä´(dA~ž 8ãåÌ™“p-tôiÓ¢J€âóÔ衎HoÚ)Ò5!µü'ªÑ A…ÈÃeN%„>•D RÅQв£u—3L ‚ºÚ1/y@ŽzäÇh­^ÂXBxŠÑ £m^ú7J“YAvþv<‰ áÞ¾l¨áR (L|¯2”YÐ'š¬:jò4¿S•Bÿùsë'~EYZÄЙNÿå)6$F~± •PѨ‰ŠzÿÁÄh ¨ç>9òj!¨Q—*-ÿr*>û´„:UªÔ©4Ê”-Ó¢P“¨O˜Deú§ïÞ”T­“L?]‘.¹,ƒP?ËX‘Æ6ÑD2ÃÌB -µ¤1?­àâá2ú ÔO6ÔE?çá£E'«¨ââ,Þ¢à?Vã!‚®t:ìÀC þ³Ï¬Èbä‹0Þá-Ç4Ù¤.úhDAÑ# ÞÓI,F^xá1Â3 1ÄÔR‹1ÖXsiäC<ðSt‚Œ,±ÄBK,°ÀRK0Á„9L8ÄTch5íDá¦8à DD±+yÆRKŸ¿ó 0ÀLã)5Ô„#ª8Hàðƒ? Ĭ:ÁJŸ° ÍÌ/½ã‹/Ð@#Í7¼‚ãk2HüðC¤C$qıP¼úË/Áé1Ð4Ó 7Ülà 9Ø’ƒL¬ADD¡„N Ó ­¾S1ßL»Í»ã˜#ï:ë”3ÅÇŠ;®O8ÑG/¸F;mµÛŒ¯9鸣0<ïܳHŒûÄÄýBÀ,o: »<ñÄ“Í?WhqOTDLDQ Å”ÓM7oÜñÇ!¿S AWåó†'gc';ê¨óÎÑï°“MŽç¹$TÓOÿìtH;axis2c-src-1.6.0/docs/images/icon_warning_sml.gif0000644000175000017500000000110011172017604023037 0ustar00manjulamanjula00000000000000GIF89aæÿÿÿ¸œ§º¡«b`awr}“ޤ˜ º¡¨¿¬²Æ~ް„’²j| £¯ÇfsŠ„™º§·Î·Ä×ÄÏßËÔ⣴ÌÜãì[M@Kƒ? àk®T£N ”G J$ùwñsïrêpÛi×fÖfÔeÎcÍbÇ_¿[¼Z°T©Q¤OšJ E D E ƒ? i2 çnämÃ]¹X·WµV•H ‰A €= h2 ]-Ëbùzù{ìz&«Z¿i&×iù(Ëj&ùƒ1ùƒ2ú†7Ìm-D2%Ìp4úŠBúŽIØ|DÌu@ú”Yú˜aæ\Ì}R׈[¦v[úmI:2̓`û¡vû¤û§ƒÙ‘s=.()ûª‹+*û­‘ç ….!Ó—<,&é¤5&!:*%²‡y*Švp묜*,-¨‡‚š~zÇŸžÿÿÿ!ùv,€v‚ƒ„…† †…oae‹ƒd][s’v iT ‹u^PW†\Z¥MI…gXU¥GAD„SRQ¥?4ƒVONK¥)#C‚nJHFE0=7'6*v B@%¥+8, l !5"9¥.:/Lt"$&(-3:øc‡ Yìø‚f3càÄ‘#¦ ;;axis2c-src-1.6.0/docs/images/se_maj_rond.gif0000644000175000017500000000006211172017604021775 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù, Œ ‡ yšœ;axis2c-src-1.6.0/docs/images/update.gif0000644000175000017500000000030011172017604020772 0ustar00manjulamanjula00000000000000GIF89a³ Ù•\ëÒª?!y‰’ÄÄ~LWA(ç²xdG¬ûüúϾ¯V.°®¸Ü6+Vqg·!ù ,mPÉI«½8ëØßä!HhyÁ7’åE"[š¢\Ó¬'à O†ÜH °vhzÈ߉u  À"yÚ.ŽF#øJ‡¬Ã*ö` Ž<ñ ²cÀ`Ð Af{ €‹‰ŽŽ;axis2c-src-1.6.0/docs/images/sw_min.gif0000644000175000017500000000005511172017604021013 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù,D–P;axis2c-src-1.6.0/docs/images/expanded.gif0000644000175000017500000000006411172017604021307 0ustar00manjulamanjula00000000000000GIF89a€!ù , „j œ´Î;axis2c-src-1.6.0/docs/images/icon_warning_lrg.gif0000644000175000017500000000272311172017604023044 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿþþþŠŸ¿®‘±’–fbd•Œœ…Šýýþˆ‹¦œ£»Š”°|‰©P]yl¤žº«µÉïñõùúüøùûex›VdzamÑÙæÐØåØßêÛáë]y¢XsšTn“Lc…G\|CWu[vžWq—RjŽPh‹Ne‡Ka‚I_H]}DXvb©5D[gƒ«hƒ«pаrŒ²Yl‰u²{“¶~•¸–¸€—¹ƒ™º…›¼†œ¼‰ž¾ˆ½Ž¢Á¤Â—ªÅ¯É¡²Ë¨¸Ï§·Î¬»Ñ±¿Ô°¾Ó³ÁÕµÂÖ·Ä×¶ÃÖµÂՏŨ½ÉÛ¿ËܾÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàËÔâÌÕãÓÛçôöùóõø*7I“§Ã•©Åš­ÇŸ±Ê¤µÍºÇÙ¹ÆØàæîßåíåêñðó÷ïòöçìòìðõëïôêîóâèïñô÷öøúûüýúûükW?^P?eI+eVFmN/hK-\B(bG+¢n?›j6¼rJÌ|Qú›iãbé“g÷çß÷éâ÷óñörê—qû£|ÒŒlðyè˜våš{ó£ƒäž‡Ç›Ž¾”ˆÐ¢—Œxwÿÿÿ!ùÿ, ÿÿ H° Áƒ‰dÀÁŠ”‡N¡eI„ŸØ@€Ç¯Ha’àF‚`@ªü¨æÈ’ .žüGÄã8q‚<“äÌ^f YITÊ ˜nÞÈDÄ#¿sè¢J•N“«`ÂÌ8ÙT8A`ÊÍÃB‹–4ˆ àêž·pãæñƒ CÖbìÚoŸß¿€ù)ÈGOž<8ØU©DŸ½yîܵs¡ØÉ€Ë˜/ëÈqà¼ïÊùS¼Øc|õ8X7Â^›9wìÀA»FyëlÐM[8 LK{\`Ï:ÕÙ®M{\€åÌ—kðc×î8GiÏœ £r°«Ê¤°ÿcWNîО)Ûu¡;lœ²qÀ¨GŽÜ¸oª›ùºÅšƒ]%àÆ´‘#Ž7Ûd£/«¤â$˜@ÏaÖ‚9Ü`ƒÍ5ÒijQ<Ÿòˆ*¬“CA@¼Q f ¡Æþ`cM5Ñ<ÃL2%óI+¬H2 %sôCXÜŸÛD3Ëô¢K,´,"‹'†LRÉ%™#A?°aFd¬1FÔ,£Ì/»Ôò%ÅlTL'™`¢‰+œxrA>Șa ÁÜ‚J#F¢‰1 '›trÈ+ˆàœ@\œA†\‘> Š…x‚hÇŒ‚¤°€Š(È ´…™Jê°ˆ*«°Bˆ˜2Ë"§ØB ( Œ’)¥˜¢Ç@9h€S<Ñ„¹Y‰%˜¸rÈ(³ " )‰+Ë,ŠØâÀ@2TAE†7X|Ô!ÇvØÑÇ{è¡G CL:ÔN€±„E Ä@üÐ…[ôÀó݀ÂI+€Á#¬0ÃCŒÃ 6ÐÂI!p ‚ŒàÁÊ$P‚ |p ( ,̤óÎ;axis2c-src-1.6.0/docs/images/icon_waste_sml.gif0000644000175000017500000000106211172017604022524 0ustar00manjulamanjula00000000000000GIF89aæÿÿÿÚÞé4WžðòöùúüÒÙæÚà냗¹…™º±¾Ó°½ÒÑÙæÐØåÕÜè×Þé`}§\x Ph‹EYxb©Un“`{¤h„¬j…­l‡®k†­y‘µ˜ºŠŸ¿‰ž¾ˆ½˜«Æ—ªÅ¯É§·Î©¹Ð­¼Ò«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ¼ÈÚ¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÈÒáÇÑàÆÐßËÔâÎ×äóõøc€©š­ÇŸ±Ê®½Ò¹ÆØàæîáçïðó÷îñõÜãìÛâëçìòæëñëïôêîóöøúÿÿÿ!ùI,€I‚'!!;< ‚ŒI 3/6I)B’A™+ 8’17*¤?C77D6™*5’’C%9¸ 11,(:™)7¼2#"ËÍ’8C-:™'ÕG, Ó Þ>6&™ 1¼@Ø:™.¼A=ó™I0EŠ A‚^?&Ì;axis2c-src-1.6.0/docs/images/icon_doc_sml.gif0000644000175000017500000000054311172017604022151 0ustar00manjulamanjula00000000000000GIF89aÕÿÿÿÿœ¸Ñ…©tWpýýþˆœ¼°½ÒÁËÜÑÙæÐØåÕÜèØßê×Þé#.>]y¢[wŸYt›XsšUo•J`\x RjŽDXvt²z’¶ŠŸ¿—ªÅ§·Î©¹Ð¬»Ñ°¾Ó³ÁÕµÂÖ¶ÃÖ½ÉÛ¿ËܾÊÛÁÌÝÂÍÝÇÑàÌÕãÎ×äÒÚæôöùóõø“§ÃŸ±Ê£´Ì¢³ËÇÑßßåíáçïäéðîñõÝäíÜãìâèïöøúúûüÿÿÿ!ù<,€@/µZ,&N($lòrh·˜Î[@À¬W'CH`Fh¬p(i4Ëå’‰8dV£ôñTîmo‚%'€d:5 $M2‚%ŒNd-4*#Nƒ vM.;63 ($ 1N9n‘%/¯M)"0/½¾·BÂÃÄBA;axis2c-src-1.6.0/docs/images/nw_med_rond.gif0000644000175000017500000000005611172017604022013 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù,„©\;axis2c-src-1.6.0/docs/images/logos/0000777000175000017500000000000011172017604020157 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/docs/images/logos/maven-redgreen.png0000644000175000017500000000077011172017604023564 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA±Ž|ûQ“ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF pHYs¯¯^‘nIDAThÞ핱JC1…‹Oà#t_ ›ƒÓÅŹ t/ÝE ŠƒX tswu)înnÝ.ú Îñ §¤Á´‡^D8å§œ›ü9ùóÝ$·Ó ·ŽMq‡q‡q‡q‡q‡qÇÿÆq±¸_vgσë·K飯GsAZB£hW—Ä.C?Oi}Ü ò4"èzœðÈ?A •,«d˜´ ØÿîÀ:„ UIÇ_Uýù²µTµ$F[  O/£r^Ö|¶z w=EU‰{r¦—XÎçJY>ûþq€™™Tñop¨â†‚rCÁØþz½0'¡®C¿d“C4¤üT9uÝ!x½:ßà ¬ápŽR46§iÁqŠéT'BÇâùžŠ†“IŒŒZ+8ÒÉ”;HórÊ»C]éŒè07êÝ–¥ë²P>‚í Ý5j)ïÁjkwøËâ0ã0ã0ã0ã0Ž¿‰oÏ0á˜ê™Å©IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-purple.png0000644000175000017500000000465111172017604024613 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ}þIDAThÞíY]hGÞÝ7‰1jšæBP#Të…¢XDÁ 1 *¶Ò x!*øƒŠŠ&-­"(¢‚â/4~"­?XAZDD¥EQQ¾šñB,´Þ´&E­‰&Ƙ`~v·ÏÌÙ={vfß7ímù†°9;{vvæ9ÏœŸyÝK·9ÿoh®ë„a„ÖÖÖ B4ÇQ—D‡®Ö[ª‘ä¹Qó<%Ò3OßR r$ëû\.§úr¹HÖOe—nÔÃx±õðô(AëИ9A<¢·øs¸9zTÁÑÞÑa¨pa ²à`<$,ó‚=1ÝÔJÄ ]±òLÁX­¡“ºM£zäûA.ç)`9¬z´«®zq Ž!%%s„b³ƒxADð$¸:Ž—¶?þCÍ0£–¢€M ± É ƒ™F¶Çð„…hÚN¹nݺ'N¦¶¶6 –øìóÏÿ|þ|ÿPƒ>)}×ŵT¿XÀÚ†m¸Ìž¼¦]†¹¿ˆÔB`‡¨àxýú5í ˆå¡§®®î·ßÇmG{ûË—/}߇€[hÒ„¢9áÑ›7oÐÃßDÏýû1ÈÆŸ=ŽawíÚEØwwwwuueïð´ýåö1ús¯ ËeH^Àä %á Èqhç‘°cذa„TW¬XñäÉ“³gÏ~ñå—®¶§²°çGÈȰvYYmèСAnà-[¶¼xñâàÁƒØ&Øe4¿Ý»wÓ‹’óØî¦áðò…<1âˆ183Tø“˜°LêkG w@8Áæï_¸pn_wvšЂ+Aϧuu´´à•·oߢŸg…ÇÓ[===ØJ£GæÛ·ÝÝ9Ëžö¿y+B‰­&#G r’2 ÐÄð/ X4ìáǾ%‰/€“kÅK;0ݬ ol„L,ò¹|‚Á·àà˜uüøñ"ÚÒ Ÿ"m 2%‹¡Ä†ƒV6,…¢Æ Fþ‡ý*wÀ¼c%v þ-v(R‚ ÀZü4;Ñúƒ€³À‚3´÷ÊË;::º{zÄKç#*žë4Df®.»q=Ž‘°ØIÔOú…†Ó#WæùÈ[jååå&L¨®®fãEp¼{÷ŽáˆS‘ŒÙiç«W¯f̘1jÔ(¸XÎTÍ¥Ú=tå„- ‡œ.?õò@c,U*'±3ý!9r_?ߣŸFŠ€…„š5ïWVJ ‚‚e °€ã\²d b;%0( „ÈåmãpãÅ…OûËuÊøvPý(––‚ãÆ»téÒ“ææñ55 ;úz{“‚%NÎÉqØ% 2Ž)S¦ +ˆâ“ïK«¢‰nôX^Àw^ CÉa<æ@;œ¢[Z$æêêI"P”U C$‚;@'•ªÚ›Ö¥¼aêGýúË/5ÕÕ ;*++ˆ F!³fA{öìYÍøñÃÊÊ’ú%Uç¦8²uëÖ|õ4Ü8c±zõjî?sæ õ£JÀíùóç!/]ºòwßïêÑêêիЙ?¾ì¼yó&WØ™^‰p÷ÁM÷îÑ­fG?W´©Ò- 8r”|¸ÊŠŽÑÀaÂÔ©Sc|œC‡AFnùرc‘°"Áo"aˆ²ý( пjÕªåË—Ÿ:uŠßU¥C< „<Ú˜h/^dêE^\·~üÒ¼yófÏž Dðætž½~ýúÄùÅÆ¦B®NûŽŠŠ…0%ÚptvvÂ}˜nŒÊÿšš Â9‰O«šˆ Gªb9–²Þ ¹¸˜ßE­äÅp=¥ŸŠú©’¦ð©sѨۦM›2\”&iß¡ÞàÖ¯š|?ße(qÖ–\ñ°˜>}:%¸¸0¡ß,¬[;‘e?íÙ¸ß2ë,Z´háÂ… ,ã€è³³L† ˆ˜²–Ï<ÓŠòŽÌs°Lv´µ¶¢Hakð@wïÞÅuÖ¬Yæ¡™ãH}“±¼råJþ6£“Åøo/–¯]»f¯ˆ¨¹™ùEE¼‘7oÞ|T·ú†#PI¸¦GðÈz>¡8A¢´Ñí?ŽAœ¸;fΜ‰¡îܹÃ)ÅŽXÓ–çþsߪ–XUè,^¼"¢#ÞeãËöÿŽ pÅáKfVÉ©£bÇ{NÚuä£9X[úæÔÖÞ¸~4©­­uÅ)^I™Y Ø‘b>U!™âÈ•+WØMH$õàw5#¤ï@CaMgQŽ‘°èà Yñˆáa%Ù)y$žöõõa6™ÏæÌ™sã0¹h\ñJ¢:ÄKJ!ž~ǹ|ùrRFÆÂܹs“˜zëVr¢^caAó¦«Ër£Š–Îò¿á8Ðp2yòäššƒ l"×>X¥ú%&gò(¶UâkÒ‰,wzB'•ÚÙÆ™¶HR%)øÓ=ÂA×'Œg;wîôœxŸ‡¯9ò^SÎ8LO{ø0f– ®éæKöLÚåýmÄ•~Ôµì/Õ ®tPm<~üx‡RAmÔv¡•‰æ›%”‘¶Ý¾}{âĉ87V§[â×Ä©À4ª†~FÍý‹9Þwt{œÃ`ì`~ÎXNc±½, ÒîH»ùßgôÉ“ TW¥²²š+ K9ß%›’GjYããýö10 ’~=£ áíWóˆŽÚBüÄã¬6ºIÊ˰¿ÿ1ÊŸ¸@í3û¹´•†‘ðÚ2¢ÖÒ8n2ÕÆ÷Ãa`_NÅÍãÂîš›/ßh}5n\üg^{A‡Çuõ&-U{9oŸÆ¥°4xc3¾YFíX7ûÞrs 2—ì"aîf&OžL||<‹ç¯cº½ˆÙ£ádÃT8ün _Ì0ÚͤsÔÛÝÔ…Öq8ÊIÓ³Æ;Ρ~ÊO [Në{ËqÚÙ®½‘‘‘7ƒV£±±Ñ³PQQqÏVF·YäÒ‰ ÎæÓ”šÊé¤TˆË†…ßríÃZ®eÖ‘½‰ÐÀPŽdÁöMÉ_ZN|L‰‰‰$''“–ZDêǤ%î%1®ŒäÙ¥äÌ>ããÒÀžEðƒÑU\ŸÖИ²›Ëq%´ÌËãb|!—'ñë'W¯þÖ>h•Ñâˆd´ €zX†è˼"%%Å3§OžSkæ=Õœ<£†š×uTùÇÆÆ^ßOìTC×Uò‹ûÛ9ä.™IÖ ƒÐú\Cy7ѯGÜ«…sWs-ï ±ùœ^XÉåO\\ʸHuú>2±;ËIÞûÛHœµžÕ ¶ÁÆU[ÈÞXBrR&±SVxFþªJ¶¦¦¦0ÏèCKi¬LÀ±jy™ äd¦x-Jö¨¡ƒ–,WQkêªîå¼ú­`è­GÚ‘N­Ë¾¢«UÍ©a®0õµ—ZSv¨y±ClQAг_Öýýý3j¿øš ¾Oãßõa"_Áý¹‘q‚X7ÑÄgÎf”='ÈÀá\[_‹cêJ‚{ ä±þ¬½È3:8Œn>þ„UØc úøñ]z»vd3{ÚͯŒ¡ïî×™ÞZ9#΋áfÐz¦)}}3¤ HPÄyµŸ~ÈÞ’‘æ É^z…˜+H¯ ½Lu?”({d-??Ÿððpãžf.×'lÔHr>XDóž4í,eÃÌ©„s~ÃFr§&áÿÍk¶Ò²v'ó“éÖ¥«ñ%bøŸ]eŒRõ|ŠéÃ#p&möØ{¼ÒA««œ¦úb‚‚‚¼ƒ‡eNÏ4s;lÖA뇕A‚¢·!}è eÚh¶ž½·êåz@¼éêëf]u¯W‘R¡fÝv{´ü'Íkzë0õȽ2@Ï`ÉX+CeÛ퀧• ²×ÝíÍðƒ–Húš8/%+÷ÞémÃÜVt#ÄÈŽ‚nëàm«uÈ»oZ?§ÌºÊVó'°òQÎ Ý?ñ¹MÐfxúšùKÄh]GÿÃËü¼þLG@Ëᨆ’áæÃPo+R ’ê*ëR…m6ï+úúm®è@K HÔôÏ%}M€yûœ2—L{¥+-£½=Å]O2Ǭ£Ûêm³­fûÚÒ“CÝ,¢ïÍGñżfýãÿ.‰Úm¶Äm¶@[,ÐhK:.‚²z£Ký­IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-frankenstein.png0000644000175000017500000000201611172017604024453 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA±Ž|ûQ“ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF pHYs  šœ„IDAThÞí™=râ@…' qH@¾µU.g›p­S®ÀHöJ|’=‘‰u"ç\ÁW°ŸôÐSÓ3’¼¢Ê¬»¦¨QÏè§?uO÷ˆðþ-FBÏØóå6qȼpŽÜ”ñôðpÂmò”ÃáðÜÈf³I>†?µPS–¥£¡«âµa¿&“¸Y³»4ëú ¬‚æg-èÀÎø9€ŒÆ?ÖR=Y4SCׯ«’á@û×&ˆbÍ}8lÛn·èÀA¨¡ý’wÐfR,ÏçPÂMx5ü¾½½Q3Žé"¯#e:–µôãèòàÀY«Õ £p(\ }rÙï÷ããXœ¶X?«g§£Þ>Þ-‰\†ƒC:A"¸ìˆK©lþ»k[(ûUßêÛ¾I1_ã´>]8`-!Æ=½Á;&×£“h-ŽÊøìöúžp ,ðv  mdÔ…ƒ6»µ(qÊP\J,µ½ã,±8®V}Ír¹%³øÒ«Áñòô[º1~­Òá¸ø\†î6 ާhVÊjl÷R5ž#n”\M…ƒ¯Xžá(|òËãqq«8Š`3Ë1•öˬšù_àðDfõ„™gaq0ã&q”Ä:)‘,¨´õU¬Ñ´C-e$L:8ÅÝB',¥]uÇ`s™%‰C í^ŽIו˜ Ü,%’ˆÓh ¶¥½D[!j×£ô?\whI”aI)Zý9Å Ô¨”r8h¹L ǣν‰\'kêâH¡%R˜ò̈ÅÑœF˜ Y‰9Ü•I´=“^3íáˆïkq€#å|…/Éã&^ù8¸ÓÇ#"’uh”V/ܤ°Æ—³dz‹Cèù1eéòŽœµ#'Xð4"Bïu8d³3Ø’J+¹vXÚ Ø›/¥íjZä6íßú‰Ø·§-¿ wÈ}J2^ÜРwà§ó,¹dßáÓ‚‹ âU4ÆÚ¯÷f%Ž—x¡\;’×ïǪ¶»Ä®n8øXè°°zZ‹wÈÔÀ=k2^¦LÚgàˆA,º[³Ð¶•Ûñ!GŽ×Øèˆ5î›à`Ý¡ûÚoÙ;Ús*±Ìíì ½y»OåËLÆ‹­PóqØ+ g–ÏàÐEnäo§ Ĺƭýí$Û&ün¾Èeñzw÷¥ÿˆ ßS[ù5Û0s„þûIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-brewed.png0000644000175000017500000000441011172017604023234 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ›¿ùJgAMA±Ž|ûQ“ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅFPLTE™™™[rÌÌÌœÂ6<{{{02#ÅÅÅfff)2ZZZïïï­­­ JJJw”ÁñBBBÞÞÞ¥¥¥9C›¾ŒŒŒfffWd(‡“Tÿÿÿ)))AH)ºº¹¡¨Ò^nObÌÿ‡‹|RRR333Šª æææ!!!ÖÖÖµµµo…¶ãsss'*JS$™™™ff3l‚Ta!NX):::¥¾CšÇ÷i‚;B"48(|•¥Ë dx¿îIY ‚Ÿöõõ‘²¦Í­×CS¢Èk„ tŠˆ¥FI9Mau„„„y–#MZÂò(.[h(Vi _i;€™æÞÞFM-+/4:¸æj} ”½q†usŒ:F…¢­Ö°ENRJJ½½½­¥¥µ­­|“%­ÎÆö9;,Q[+¤Éh{„‡§ÿÿÿíáÇ €tRNSÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ8Kg pHYs  šœæIDATHÇ¥–sÓdÇ^èò6 1I]ß¼Tà5¯M"Á[E™´Vd[Ýt'–Cåðz§›þvŸçMÒv›¨È÷®Iš&Ÿ<ý¾Ïht”R3t^/ï(“|ØÓFV×÷ã˜Ƥӱm»ÒKµë½R1Õ5¢hDëZÚù =™t’DÁõyµÿNÅ?}p¤¦ÑЬÀ5·ºýƒOÊçã9©oÞ›ß( ½Œkš h„&vK!Gênj‚Â[7æÌÎæ$ç5Ø›ßUâ€!hp¹S™ ÿ´¡À½µï<~\ƒå¹åòžRò‡s_à÷åe`â‰AáË…ê7<¡i,bEÖõb¦œÜv}ÿ÷7îE×òÅÏï^âBïÕ«Þñ}ïô£Þ·Bˆ¯zg/Àî~€: ‡îíw.À¡û l NGÚ°Èxø[ûW½ßă—;OwŒ/òwŸùsñì¦øìóÁ\˵Ey÷%¢hcqáÉå{Ûb;z8æeÔ€Ž ƒ`¶2¤Q²C`_Ý#ÄîËu)ÿëëë;{Ëâüx+¿>–‹ãÁ Ò½ŽNðÒÎûž¿àùaÆI’DÅ]4ÀjŠ^:Cô§€>'ö@ËÀçÅÚ úýþ&'Їâн9EwãØÇìëè*d°$„ôðowï®ÜHy 6ÁüþÂÝä¹{‘oáþ›| ¼|†<ãÜuŸóÚ‡¥$„Ø|Ô ËÂÇœØÿy÷)¢9ßù†{-z(ÎD×Ä“èŒër—÷E>vûhu´!6òüJý$~œ¢-Ëïú„ÄÛîaù ‡gï<º‹}û6f@seåë Xjj~´¥K+§¾Ó´K+Íæ’†j6WNáÑÊûZ%Dz¬®Õý®A’4t2'ÌB•|ü¨¢£zÝoWÜí¨ŽÚZµVWnÅ]’aÓ—C…>ÿOúõ£ê ŒâO Òaµ@NcÍd2ão#…Æ…$~œLZ ¬ꘪËVQ^—ê¼A&!7'$…¯a‹‚sª{XÖzÈ=›Øx\4d×ÕËØ-—ú^¡RRDµs)§ˆ0Û"Ì*±˜9¬kX¬ÍÛ ø¼Á<Çò få ò¦ÉG 1­¡ïa«5Ml páÔS2Xk´XÌÊŠ€ó Ì8ó!uHX°§, ÆÚšÖb^™!X2PÎ$™• æ58âÕ-”0pFg&ç&D‹)Áá|ÂBî°4e6ôJf`Ô$m¼®ì!PŠPŒ0¼°fŠöˆVMuÖ¥-¥Î¨””é°™XŒ)Ìæ- ž©ÏÂOBÕTazºu´=™õ@6aÙzÄ’”":³,iµàïq¦h:EÚaWd5‚ÌrÊ×ÐY6E[1üDË„M˜#S6©–ûºuÕ÷`~5fäýHÔœY!1äS勌áyÜ£UÔí íAv$ø’ †w¡Àˆ,Óº.cƒA²´Y8†¬ÝCocƒÅ:>£°Í|ô: 1 e æ¨)“á4Wïj’×# Fª~Ë¡òÜ¡˜ê™êiæé)|5iYWT×qíL¬–³QÂhµ‹òE@- Yùì›äò_t¢Ð9’G ZÃð÷ ˆsèHÅ<׬M8ó\¡{=0\ ŽK{{ý\ayœÉšIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-black.png0000644000175000017500000000366211172017604024361 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ}IDAThÞíYKK•]örJ-MÓ& ´S£$TJˆ’"¤ÒDÐ"18k¤ƒ JûAhƒ 8°¨ ²è†Qˆ(©4ñ䥴«¥ÑM=ßsZÇÕrßΫßèƒo›µ×»ßýžý¬g¯µö6¼¦¦&ì ÷ûý>hoß¾]\\ô/Ø©Õ_ƒA]VHW„Œ‘‘‘l#Y¸Õ-|øJKKËÉ“'aJ¦[Æxlá„ >‡¥³³“ºÄ 2>xð–={ö ‚à•¯_¿ÂÎ߃¥µµ•Þš››CÄIII¡î·oß@•:vE”12F0¸+£F0KÀ{ÝÝÝ K‚A µœ_dùàH^hïýéª_wü°¦¦&ù!`dÒe•„jeÁ¿‰#Ƨ’:;ˆ¼A$;p$&&..¥Ók°7"¸Gþ@”U©ÄN)Xme‹2@v¼ Öíü4!!aûöí™™™ hŽïß¿0Â6..îÝ»wû÷ïONNFˆU 3‡¢¯$dò㇑Ú_¿~!ðõöö¢DÀBèÀ„cÓ¦Mw,8+**#8 ØŠw[9o;éè z!—ÛxR AŒŒ D}dÒ¬¬¬¿ìøùó§‘Æ3 *Žüü|Tb(FèK¼MtQ@q,†*ÖIáâ–A]ÖÉ¥ô)ä?9;Œ½K3uÃîÝ»¶mÛf`#Boá–(4øü"©¡Ðäøñã¶õ7‹’’¶ß»wì8% ûøñcèûöíƒþìÙ3èHðÊT}}}°ïرC‡††¼©ôôt|ÂçóQ¥€Éû\@¼@kÃi Pç¸}íÚ5è¨Í ·µµAGÁŠÿúõët,€ÇèGŽ9tèÐÝ»wù]bš éêêâµÉ1/_¾„žD`¹páÚºº:Z¤5Ò®‘« À‘””ä×ÄÇçÏŸ>”.ƒòäÉèEEEl§3ëà§Q§ªW×é”Ä:ñfÍeë×ãóñè°ˆÆ?ræÌcL/ˆlˆ¿ßËeÞ)”SeÆ-a±wï^®\Ø«Ä&òvH»¢³W¤}×®]¹¹¹;wî”\Ùã¬Ô××£={ö¬<Ëï´ ìàÑFvà„‚±7x"sÐâÈ£Ø!r¼‡æO8˜ÂžïïïWâ4³F2…¹Ó°$çÏŸ×ã:s*ðÇž'w‘Â]Ed©G qáÀ˜ G•™6ϳŽ+•G鯀‚‚(IrN[ú³e—/ƪ’KÇ`U*yá ?’#t tëÖ-ÐÑQÖ¿2vØâˆ-^Pyñâÿn9F:ÙÆ¢ºz­L‰y;¸$å=ï¼:Åo<¥”‰KÛ~vìs›P;ê\@²G±€Ä}ENX`èIà„ÍÇ®à‰–îò¼Èððp^^~ŠN™h”¼#+Wùˆ“B¸Säëz½ë±6ÖÄ===ÈÇ•••èÖÖÖFp­æ÷&›7oFÝ‚;Å«Ê$ ¬¶ÒÎA e˜íŸ#r§(‘U±ë5N¨SrrrøÆ4;p¶Ó®í`0Ê6TJÈsiii8¹È´¯SC¯Mt…»2„{/ôÿÉùüøš?þWSÈÙË.Ýë×·çÀ¡éÀˆ‚±B3*ÆãŸ2̸;BÂR‡_q% ,dÔÀ±aÃ=d¸Ñ‰ßºu«w"8ö°Çc¾~À_©ðeÿ¯GñÝʵ½C¼Á;Õ·ŠbìzY¿Þµ­.ÇÓ§OÃþûÒ^ö?ä$×þOƒ°IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-teal.png0000644000175000017500000000356711172017604024236 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ}ÌIDAThÞíYIK]Kv¸Î‚¢¢‰(8]º|?AA0 ‚ƒ1†8àŒ!(8 à„[]DAE .â@ˆqˆ8æ»·®eÙÝçÜ£»¯‡ê:Õ}»¿úººú\ÿúúüþ??ÿ‡‡´£££ûû{4 ?<Š}OzZI@@€|Â9àQÈ"¥³Å"Y±qPF€3!»Ò…ô©©)7§§§ +Í‹°PPPVn\¡œÅJ wwwò-Y `QlÄb)ZÌ7AAAÔöÉ+,˜JÌ 8>z„åÊ V ±¡€qž O˜WçÝ,Ä(]]] ôîÓ§Oµµµ}}}ûûûP`éïï‡̓ƒ ÔÓÓCþMMM?þ¤ßnmm‹‹£A0`yy9Høû÷otŸ™™ò¢˜ën:^j¤À3SdÔÝp„„„:777cý  ‡··Ë˦àà`8·´´´··ŒŒ û`Eww÷¯_¿êëëá ^‘‚'t«ø[miç›!’L!;ß½¼?þÜ? –Kuuõ?ÐqޱëˆAä‰çÉÉ „æùùùÙÙOA@€‚æ‡ûËËK8;  ‘VôQtÊ”t^а2GžØFëçÏŸ÷öö°5z{{Ñ ö¼ÁjR´Ñ…75eÌA®ÃÃÆ†l ESùøñ#w”iõÖóÅKé#s–Ì&n8...€%à(H„ÂãÐÐ5‰0 „„m….sɤêuuu…”ËM8ÛÖgätd0#:HEIO§ʰÍÍM‚ƒN–{!ò|QN ^Åî3€úéà$}8̸¯™ÞEAcv0 òЕÚÔVÁáÑðê|¡°C92¤‘£KÎ:;ÜpDEEñú™ÆÒƒ÷º ¹G4 AN%Š¢ŸóVË+Ø®—Š2 ”ÈÈÈ´´´ääd× Çõõµ ½0¥ßF:ÄÉ’““ƒ¤@°¿3á©§hħ›Ž”}/jÞÞÞ"ñmmm¡DÈÍÍ}V•FGGë¤0 Gâ,.. •|‘,+·¢†Œ¹}lå86÷•ó¡r“ôááa^*1‚ì“““ÐËÊÊJKK,³³³x–””0¹$1iË?»³¼yóÆx‘5ÂzÔP.¸ü\]]Å3//-T¶²N—ÖyX©SìŸËźnWö#_—¥ þõ0²JäÄ7kˆþöQîlE¯M¨‰W„Evv6WqL(¼eíTø±]†Á¨KŸÊÊÊŠŠŠ÷ïß; !˜‚'n ò.¯Ÿ˜†Ü!½Cã†. Æ‘YZZ³  @±Û³ƒuºõé,°Ò'&&”ä­³Ép@)A=aSçeGžÂÈʽIôŒKöüü|4¥]g„Uä[è›Kf~c>v¾ÕuJZ½Ò+c ·tÓoL ÆÎÎNjj*proÜíŒS7þ<œ±Y¾}ûööí[|7¦òTI"ú\›êÞÉ+«‹Ný–DvÜK@ŠõõuÜBÓÓÓŸ}ôE€pEõ¹¼¼¬Aß)V(ðüŒ«•>6ˆØmnŒˆkVV°!tÃKªŠ=:”q¬ Ð#ì3¤ö×|ã½þEOݨï)OÖ¯”ô6b•8R]ßÏ~ÚW å†DÄ úß6@<Á±¶¶æ÷ߟñs’°ÿ i¼ûÂIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-green.png0000644000175000017500000000367211172017604024406 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ}IDAThÞíYMH–K®ÔÒ²ld¢%„JH ‚uéZ(èˆA‚¿à/F©©¨X”©ý^Á" .jÙÖQÈ @m!.Ì•2ËR2õÞçûŽgfÞïó®;àpf¾™yßyÎs~æuovSöž?ò[Bñ÷éÓ§ÍÍÍý‚®TÌ{ýŠUöù…9ƒ¤„„„È{ªž,usÄ\…–ÆiOÒùé¤+Áà“'O|p,--1,Þp0(|`>¼ÂÂ<‰·Èó¸FÔ‘ÌŸ666Ю¯¯£ÅÑ0ˆ–7Á¹Ô|>©ް°0‚€@a‚˜p˜¼Àveye@‘ ±SKLŽ(óÐ Kûig;èðííí'Ož¤ ®_¿ÞÔÔôñãÇGA¡.Ú–––ÙÙYltÿþ}š_VV677GoÐÚÚzâÄ Ú¤®®û€„ðÇ7ntwwCqÉjgSWîÀƒÄf‡bÏ$j¨v@‹ÅhËËËqþ¶¶¶ýû÷c¯ÐÐPp‡´¤£Å¯Ø¨¢¢âÎ;÷îÝûüù36áW¯¯¯ŸŸŸ¿yó&1?<<œvC+§yÓÛþ.¹B†qL×&šøàøöíÛæoÁñ0råÊ•ééi` â,..x(è~ýú•Ú/_¾ÐÖX²¼¼Œøå0¤À&×®](˜PUUEد¬¬|ÿþ]šÔj|3^¸Î¦ZC†¢¶%RpLбãàÁƒ„&ÏÌÌ$Á­0øãÇŒóó0(iÕêê*bMtt4wA—m=˜â5ˆÔõˆL3¡lg ”accc„ö¥ü"…׸ÒÄ®Þ59˜ðdÒ5ƒ‘ÂÑÊ;ÈÓ§OCÉhÌžA1«³¾Øuÿw\Pƒ”8dW²C¦ "f° ³PöìðÁqäÈ&a-=¸Ü8|ø0‚+pä…œÏ9™Ë M•j®²E.WE-ï©ÌææSèñññ±±± ÷?þ´a­J!‡BfIII9~ü8’®d7"æIVh”n~Ö9 >ʯ_¿P:½ÿ%‡õÁqôèQ¢É `(›••…A#²Î3¡1 h •-¹ãMdCP#&&æå˗ȤqqqäA>8ÖÖÖ¸H—º•àERRHôN[S0Wõ;m%Ó½ç…ìóêÕ©L'¡¹M£è ÃY—ã­Uq‰ÿܹs“““€c;¬÷7+(ÆOŸ> jð!Í–!¨­­u]¥oß¾Í3Qãó8 Du.*èyyyÐQãS‚W[={ö s.]º$Ÿ?îòAIdtt”"ñ°sð|Ì5È8\½H ŒCêü+ê1è¨Í 777CGÁZYYyëÖ-èP0~÷î]襥¥EEE¼–D:%Ò‘Ù/ä{ö÷÷£½xñbvv6¡™hssså Óò}…‹ŠŠ²ò ‡ëšûæÍèNòÙò‘t‹1uªzMnI¬3¸C™‘›¿˜ðâ¿\½zÕ•Bü²E"b‡” O¡jMÖ)ÜçÏŸ—\#«r†§U<1Ç•ÎûÈñË—/ÿåY")²NþŶiéW8fÏó`nè°¶é&###hÓÒÒÔ8±C2ÂÊ”’’÷` ³£¯¯OV(’Š)$ˆ>û!ÉLa;Øá¢À¦M81)hfjj*¶f¿Û•µñIåñãÇl:9'''JOOÜÓ•û\@ ÍÏÏ·V•ŒìvUª¶sÕ`0)ÇÉ´¯^½M233Õk¼LqÅ â9r‡ 9G}©t±é ÝÂÂBëw0¾7lÁÌ'R)(é¨U3ÑMOO4*Œ[uë%½½½ü‚§]¸p'¼xñÂãm JÛ ;ÌÀþ²u£å xÀÀA —˜˜ˆºEDU%‰œ#ýßü.míšõ®Yï™å†ÊA¬OLL|øðE6ºHüû”+”cÇŽ¡nÁ7ÓW­,S­I¨€dô®²¿Wè ÆÔÔÔ™3gv”a‘‘‘Ö³YßA8ËÐÐÐÙ³gO:…8"ýP}˜Vof-ÛäOj«€L1E1ÎE"ÜZAówïÞÁ3¶ËW*ö|=®¨>_¿~mEÁå#.¯±ÕzæàÝ$ $'' ùòÛìP!Ã,áA¸B†iv«yµ7oôÖÿrytå—QN:ê\¡ÊžfÌ÷ö[«ëº,lú¶õÂî}réüÞ¨#X¿[àxûöíž?â—ÿ4“òÅü °IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-build-successfull.png0000644000175000017500000000205611172017604025420 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA± üatIMEÓ"•.ñÙbKGDÿÿÿ ½§“ pHYs  ÒÝ~ü«IDAThÞíX=kUAÝ_!Šú$QŸÅ³DD°QAAAÄJ±ÕB0ˆXˆ¢½‰6bca!ø„$ÄBÔø‚(þMO9Nff÷Þ››òÂdÙÙ³gÎÎîÞ¼ôâýÎh©“ “£“£“£•¯?þ|óeYlnq9ôÖ>¨Wú„3ƒ¥ò*bÓ K‡Í²=¯>ÄTý”¤—÷ý7-Œvþë/:À?\Cû ò0N:äˆjª¦éŒìT¸„Ÿ’•ÃC@ íÊðÊ bo¿ÙP kQ²5ˑۘrøÑÛž“á•Ax^dº„rG êÙ—­’I394“99¸í8¬”“(Ä ch)‡—¾– I³1©†A8ë€Ã ¢ W.wZÊáת%‡\¶:A˜àÇ!/%“ƒêïÂÊÛ!Äi/õ5´ëÊ¡÷Xš_N=ÅŸ¾ò…ªÃ.ÈT¾AýöèÕõws…á¥(©›“ƒþ:!Àˇ‚8>§ÚÈ ô½ÖXód2¤œúíĘޓr>ó’ªó„__•‡ÎV‰¥&AøÊ„røWÉ[øâš\`¾„,k¾;üý-'±™zƒ åð0B}S.Ñõ’Cg±~@kÉÁô1ör˜{—'EL§Xøâê¨æÉj#‡ÿ€j Gá{r„_!­ðÅõ-÷å¾.rè#Y!Çøã—)¥±Û{ö:zòÜéOÛvôQÁ(êÒsüôèö]»ŸÍ-;5‚Qôâ‰3ç‡vö/߸wöâØ†M[P!òÞ‡/\ºþ£ç óéìÓápýî}TD˜Ž!”xçÁˆaTìÉôçá^¢÷‰8<Ëð1M“›…<óU¿•Úì•îxË7ÍÆVbdCF×e›Ì ÝôধÀ¼ûé¸û%½“£“£“£µý’Ñ@kè™ësIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-pinky.png0000644000175000017500000000503111172017604024427 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ} nIDAThÞíY]l×>»÷Ú÷;Ææ!•#¹‰©I@¡¤b§‘PÍRj©@ý+8•Tâ©$LƒÄ¿LÀ¨ BiìA!5j”JÈy yl«¸ÆæÏ6PÀ÷îöÛ3»³³WH}ªÔ#{=göìÙo¾3gæØØÐØ¨þß”2 öí4¤‘‘˲l¯)º*E×èch$™¦I]÷ÛÑ3 •Jñ-ÈJ_Yï\•bÙyWÝœ?B¦Ôg™Ÿâè)¼:E·h˜ž–ïÊùÑÚÛÛ8îÝ»GpGð€(‡Á½Ã³Ù5XÀáÚÆ¯_Ì6Ó‡ló>6Å#ÃwSž!,{ã¥ÆJ¥ò–•Êçót×ÖFj¦µI©uà(..¶inQ,Ç4¥peš˜þ×ZCl wy#L3èX†Ìd£$¦e¬“£(›Þ‹Læ3›@L×Í],÷=vüñÓO«ªªè^CCömÛ6mÚ4Ðߪ« ÂöíÛ7oÞ åï?úh`psuvvÒøuk×þóÖ-ú‚̘9“&Ù°aÃÆ¶6pøöí;vtìÝ‹…v~1~úÑÊë? ñ7-Ýô0°ƒqàÈf³9lPývݺ£ÇŽ2èg2$ø×ââ,”¦ÙÔÔtäðá?|üñÈè(&áuñ»ÖÖ ïܹ3£‡áÆCŸq¤l”ÑB„'áGBhrJÂÚkZ2Æ…ãÁƒ€pàzøÈhV®\yýúutAœ;££¹\‚Ó½WŒ¿{÷.½Ër||&'4;ÛÛ1IssóÐÐ<¼û‡ŽOL„¼²D,MŠ…‚ˆ)^¸ .X–©Y“òâ…8<‚8pL)-u˜£cÍê÷Þëïï?ñÙgmmm,£ôD’ááÒÒR h%ÔõÖ<®---ÃÃû?ùË«Œ¾rëÖ­xpÊ”)¾)Ž$àRø® 1#FÐŒÝà]fŠbÇÄøx^ÃËñÎN >‡æOŸN]ø](ÁŽ“'OBS__?80€G&àó±1^á`Ùž={è©G#âLŸ1ƒºÿ~üIWx«“<Ÿt‹7ÂSò&B1[d‹n Rø»Ò°«W¯:‹Åùuª#xkǦ ˜·Øàö.“‚è·†þóˆç¿û:‰iîÄ3+•êèèpØñèÑ#ÂÂÙ_,‹°àLDn·†ØPC©DÈ€ÀûžÛÉ!J‡¸C M꜇”Œ”b(âB)€ž»¬¿X***ÈzËCÄæcL_§VT yŽÎH¥¬\•Y©Ò) %&ÎC2_õˆÈßijœéÑúçaRã§94VLÎoäÉÝ<•þ€ò©SçÎûòK/±\8žâyP1Qœrät:´ƒ¸öè¼Ã•ÓièÄÞŽü ž ÅWÃKRé4Åç%ɤøAË'ÿ8;½þ±,/YÑÙ®„ÅÂ… ]½‡&åx$ÓVXO›½/s.ÆüòwêÞ~»¶®NqŠäéJʺµ¬_ë®]»d-{¦¥Ù¼#v™Ä±ãöÈŠöOôWÍÌ¥K—†Í”*))1âØHÆž_½z5¿Âa ˺Vb¦ðbééé œ]0ÛuÍí3Å‹­­­íºmÚ¸1´÷A`Niv ±#ÏSª®‡ q³ô…^âÂ/Þ|S]¼x‘·'Ÿ«vÐóÌ ®S§Nwu±ë$#V¬Xáܹst áû7.3JÚÚu‘×ج’SG/+õ8V8ŽR ;±Ãêjk»{z@“ºº:yÊ”l’²dJ€Âôtõ‡ SŒ`=J1…å”–Ñpò‚.jkåe(œÒV(còb±å¹1ºq«Kâ<¥H'£*â™Ú·Þêùúëîîn@ÃáPNEùETo'¬M´¿|ù%4Ä#Ë–-ã—/_.pDîb5J4*¨æM ®ººu*Ú™ºm(IpܼysÞ¼y555./"ÑÈç…èš^æc„Î\½MAFCT"¼¼ùq™Ëú9jp|è(7¤”ym__ß7pÜ…[[¶l1 ˆè¡qRûÉ‹/^éí}81Á^e6YA–©¸1Ë:a©GG%ýsDÆÑ`b¬Bñ>P@i,p|óã?Ì™3'%K¸òòr;š‰&|ÁÔòr¤m.\øÙ+¯Ìš5 • ½&6šÇBÉkˆ&L^ØrŒq{l)$õÄ®§˜>|@öôéSÐüß}‡£©×^}Õ”‡ƒ…=m³ªªÆÆÇ‘}þí›o予‡#b¼„É_‘eãÕ8h̸• VH¿þü7€…Qßã…²²hÈ(ŒÍ ååUÞBžWQ"D>ZÖµñgAMèzFÜÿ·üCñ„[)1 )I |8ŒˆÖÖµfáKD!)4Fkü¨©¡3ß¼ ÁpáJþ/‹áÃñ÷o¿UÿûÍ0Œÿrà?_N£cJ{/ÇIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-1.png0000644000175000017500000000622111172017604023437 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< #IDAThí˜KlU׆‘:ì°ƒª*£ªê¨ƒŽ*UŠªHUÓ¨ª*QÕÒ(© E’PšBx6@CHÀ€ †`ÀæeƒÍüÁ`Àæll_c__Û×o?†€¡$·ßYÿ9ËÇ&ª2l¯–¶ö=gŸ½×úö¿×ÞçLËþ¯þƳÙ1³ÛÙì€Ùp6;+¯W^?|¥¶ìjݱkõ§®'ÏÖݺPßRÙØz¥)}­¥«Ie’™ÞÖÞÁ¶¾Û¬{h´äóÁ;wo>6|÷ÞÈØý;÷¾¸ûŃûÇ>z<þèñ£Çÿ~òeøûÊ~ÿÝEµ¡1ÒɽGÇîŒÞe TÏÀÍönܸ‘î¬mëÂ%Ü»z«+ü¥ä Þ^lHUÔ·œ¾ÑD .Õœ¹ºãÔåí'+wž¾’²rý¡3ì/_YtlÉ®²w?;„½³£dáöâÛb!Ž} ž„8ŽTÝ,O4œ©mG…©nnÇ oZzp ”M}éÅ] €Ã{bÙxÄåY Äq<Yz†…p4tôv¦O)÷¨\N¦+Ìgá8žh .(À@ÙZ~ñ£’Ó«ö_Qt콂R@Çßóoz`àkqÐÝÅ¢IiîîOUºnàqïðA¡‚RÉØƒ‡÷b ñ@*O¦à˜‚ÆYÀ‘§è*38Œµ÷1™^ ADNbÒåù›Í'j‰…¸PD¶¸´åXÅÆ²sëJNK‹v† 0@È2±÷Â5p”\¾!ÈŒîýVDDWÀ(ð¬ÅÔ‚¯CÈDªá/“‰R˜[ 4¢#Éøòù*ös]<1’=нaŒBÏŒÎJqR„Xì8yyéž#Kv•æì<´0¿¸àìÕ=ç«a‘[v~Ï^úý ¿÷‡ßýý[/­Ês,(ÌÏÛG‰@RŽC!})4FelÔAÀÌ•œSébáo£ÁRN!åJV'"™¸}û Fcøzª’%#uÀB.1O° Žm[sàÄê'ÀÁJ!øÛ_ÅÜÜž;áÙ"¥ÆLd#.ò—x¤IbVêÂaË;^ÁÆNK!Z‰H’&~¥u®5xܺ"<Å©=Ë×ÔGÚÝi€Õ™¸4®•[¾§ºu8ÃYëÃâS¿Ìù˜õ2{ãnr*,È Hƒ=…ÄAÖ*ÚhçmÙ;ÇqèTŠùz!~Ä¢óP”e»ÈX\ÊÎi J¤Èìí ›iF #H cÛó$E H]k —X’yÒ 4Ð!PÛ* @ Ô®‰‘(J£L‡“x‹WD>)=û%œ»îéô¥<ª]Ö3ˆò(8j„CÑJ XÒÐÌÅ·*„Ć¡Sm×êšaP#S!Wä–<Ó`Ñ¡ó%âdÚ•”êìhC‰4ˆYÛ¼ÎJO¾åQj åðú’“+ çlÛÿöæÂ› çoÜ=oCåœvÌ^—Í\óé«äýi妿m)Ö.«C 0©#ÄáÉ¢Ô’(ŒŠXH>è‚ G€P_Ú¨èaP#3À<Ð:HfMdâ\ÈIÉHƒD¨!™ ½QWðÑ>ªíCÛœŽLŒtÇÜpzëŒå_]µù••¹\öÉK‹Öý.ç_Ó®þÕ[+_œ¿üó–½0wÉÏç¼÷ü_ýlÖ;ñl*i¼¾©h¥ ?¤ó Œ¤§8¶šP;ÀµêèKPX‡ £Cbyw€†Õ$:«#"<®¥Ä$ëpÍä_³ŒK]«Q6y àOY,ÁkªÐR#=“)HŸÐÑ‘â›^Ø`GrÍ„¯_,¾R$ò(Q4y*ÅŠm[ÑŽ…¯:êKº«fÓËð Ã.6WŠ’b—ÐÀe…åi_•Dèú˜Ž ž´Yˆ¾^ÃpƒöÌ&ƒ`•(Ä/9c4`y2ÖÚƒ'±• ùãyTÇ á@!¸™s€Ç›rK™Ä lm:ÊÔµ×à9EC’8¼;‡Â°W× à P ‚søM]!À|Ë&ÊJº¨ÈÉ5@×ùæÃ<ÃïYFÑWŸáȽ.óVex*MÛ‹Yçí‘ÌÀpXî°º®èoûÀÆI)mÆ¡»¹{@gÇ„«›;ô­H–°Cdmº+0ÛA8hðHSWP¦z9_Üêêãb²³ vÙÎ^]¡q}GO]{M·U‚(©7ZõÓhO©'ë­Õ´†Ÿˆ¸žìì£eCج[þÄÆGƒ@ *ZJQè ë1mýC'ÂH ¼VÙ©"þ¹È‰P20[$ýÄÜd1+E^Éë'@t¹=è€Gü±!Š»š’ªæö*{£ ö©Ö ]Ѧ1ÆBo=Â!5©É8ˆ*E(4Á+‰i!#"¡:¼6í¹YL‘’‘+ø!‡0T[).T|OUØ8ÊEEë^Êc *,Û&ê6á!M½Ô•ë±*ü±5Ey¥©-¡‰¦ˆ ~  ’† $1‡}¼Ôw}e `éeB)ƨ-Ò‘0ÕøGwˆÂ¾>„æu*‚".šá‰hÛºtQ^Šš,ÞFæÖ!f®¦>UÁ[ÛåàŸ ˆo7Áô¸Te5“‰øÅ‡(0ÕZ“PúM ‘RôꙎáÉ!*™*örÑjWº+ÓÀ>'Ow¢T#5¥' o,Ž˜ÞëÓ4˜­Òˆê>1q©z‰h½„8@à,d‘¶ï.Á2éŸE*Ò‘©£¯Î¹ëž\|ŸV¸Žíñ$BE#†ì¢9ŸB<žÈíbй·ñnÜ՚ùu8æ\YJ» Á‚Ï¢& É5ž*‚@Èü¯b£Ñ7 çâDeÄ‘[¾O+k&«‚7ýÖ8ú€Klò}kScíýSÆJLV‡Ê‰E;³ru½áp°4´pt’Aš<$`‹·.Þ¼X]“*†Cesà·.ãäSÖ‚P{áàz•½àÆwû, kvŽø0ž­|gñÓ‡wâÐi/~;&ö)Yˆ3ž#CP¨¨Mb™Ý ÑÄýŽö?Uâ&‚¡ÜìÔ@Hñ“•r¤6/gáæ_~ŒãHD'ÃøadÇÿþûô¬ÎëýÔIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-2.png0000644000175000017500000000521111172017604023436 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< IDAThÞÍYݯ]EŸ™½Ï)ýæÃrÁÀcÚ{s‹U ¡*ødhcâà›ø‰¶}ÐŒ†¨Aà'}óÙwŸT¬Qj¢(‘hkä"Rs…˽çÌžq­õ›µöìsÏ¥”DâÎι³gÏžYó›ßú­5s}ÎÙýϯ©sѹuçÞBr.87–{"õQšMäUÖL¤¤`•tµÒ Q?\uÝÄ5cyÕ–ÆÚ‡ÒÏúšKIú“ÞbâWLüMÜXó>äÔ¥nš¦.ĉ˙£ñÖ9­±ö¸ŸSûœì­¼Þ¤RÊÉ7 õ2Ó KçÞ ð¡n–ІþN;î-?‰i¹÷OéN†#´cÀ!¦ ÇÀÉxT“â4éHa4Î`§:|ùËDC hPƒá1mC½|B°Ú¬»¸ÌÍ }ç](¡¼Ô!xæ °FÏ Z%˜JÅŽ.é¹ >¦Ü¥Ì‚ãVàhZÐVLÌå~©ÇÐŒÀºÀ£qo2O¢·oZ/ŸÊ!V-“Qh^RI€êÌg±` €‚L¥Tò‡Z0,Ä5»µÉWLĉŒO97Œ­£ñ .YÏÕD%ʬ°† £Ð4¡ í§²>XLv¬^£6ÃzõÊÛ¦A¬dõ¾’"ñ$s?þÄ:©$cU (þÅ_<»òÜ9v©XþÌ]Û¯ÙņnÄ•³^>ýBÌE`~òÀû—¯'Á @Ke·‡¬Ëì Í¿÷p!Nh[b Õ)˜6Õs{¹é-?2½¬ÞN#2ÃÆ—fÀ^2gõg½»®÷ØIeï  ÂBÆz”`êþûï;xc\g8ˆ%göûÕóÿj®hÏýîo„EÊEN—-Y¥ ž~;|Àžs3RÅò3«AúÂÀwS˜"Ónu'²>âÏÝÀ‹åh(lv“š…´¢à {·‡AMËzÈÀyo:z+U®œ=‚üåçºvéÆ×ž% /è:plqaézXE@tB ȇ€!ΨHAŠ-ä¢v¬dÅh/{ÐÔæŒ[\âHסRˆÃÔ>G¶È&xµ_˜Z™æÏˆ»§«?pNñ!¯yå™óI‰[î;¸°xE:¯ÒC(PX¡_"ˆ«µ-xr ð(F` T )ÞD¾³­òùÎB¯é¼;4Mê4¸äTZ L³":dˆwaAì+/"6­ÈİÞtô!bóbñ:ê„¼š´Ÿ˜;$&nÔ†R#É>Zâb̘|’¦Ä«!,¨ »¤PVUþâÂ)q7ð:tÂü®Ž;Êó®¦F¯ÍY±¦"rÖÕ¹ êõÏ\ U§{ÿÑ¥…ÅVF±“ƒ˜Ò¥~ÚYç‡ìÑœuõRÌ•â\Ã8ÅêJø¤–“’¶±ìó(¥FŸ× rÍL¾ ¢*7u–¥¡kÓR?¡Iâ¶ôæcËÌ‘g/ÔXÙ9‡ê¢åæ5Y’³vsFÍ‚J†RÔ$ád9,Vk8.5}<ï˜SÄÄ,ReÉ•W«0°£SÁ‚ËøfG*4ÙH/ôUÏ€ú¿åS·.,ß°ç†Ýœ@q¬tÄeä`èa–ƒ%²$76”,‚t]„ 2F#  ü’ÉÉH˜ÔºH9«%#ÂIωA,#Î\ª4Q•5d€Õ°¨2Ú †@õ¥ÐG¢ÏÊK·„Aߎ^½zn ÅE8ŒïÝwí®ìQ$¸ÏD–­Iɾfèêüº2ÐF"¡NO{O”`Äk´d¯x³àª4¤[ºû° VŠ“šn%Á)/Þ·ÿƒí¥W9l`\Æh¦’ –S‰ÞËdF [³{¦Ãâ2ìÕYI:ÄB'6ØÝ–Ïè›$ŠPC”«.W†c-Ë5=DšÐ†wJs9xý¥kü“²Áçšlã ò±•a燢ÂÎ?„vÝöÒÄ+š9ï¾ýa5u6¨Í}ÌKªÄ]áî!L¾ÇÂõX„ WË]š]#‹wØøë2ÅÞh”מþ†wþÒ¼óæ7%(d3T²èœÝ`‘óqêÕ_rå»ÏJ5“#?äcÈÓù´¦äle&¹·²T"[«2W|‘¸®>u¼´·f¥+¥fÎUr¡‘dg†>jj@®ÙQÍþ¥a[ÇÝÌq—Fb_ŒŠìÎ|´äÐAN}ñ¾ø|öµqöƒŒI2‹¸žp–•mv‘xU“\布Œs£sÍ™¼Ù¯ßÛ=Ëÿûõ_;åËDáróPIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-3.png0000644000175000017500000000732011172017604023442 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<bIDAThÞíX]¯eYUcιÖÞçœ{oUuU7 $U|ƒ!‚tbŒ>ø‘È1Rèƒ!&>ø¬ >«/’ˆ¼øü Ä:D„OhÚîÐ ÕÝEÕ½çì½Öšsúpî­.hMœÙÙgŸµ÷^ç̯±ÆXüÇüc@yõq†¸…ù' b`œÁ*– g¸<˜3 8žN Ѐ.m @ €¸ºÛ€s` À€Î篠݇ìÑ´=b˜‡÷Ï÷m©†,u‰±È}Äýûe´ýhçË"ûj3š´eŒ&Ë~Œ„HH[ZÛ7@Æc†`ha3ð¯Ÿú"Ev‚­É\0U‘b#‰Ä$˜T´öiÚijÝT«ÛZN6›JM]Y 2VUž0Íð†L†GïÃsÍèášPOïhˈ> Ë>230Æ}]Ö~Ñò"Êh-–¥uŒ!ž2ëh½w¨á9úð5@Z÷<¬mÙH¸“hmø€PÄ9Æð¤#Ò3"˜ú¶½Í¶ÀÆ„¢`Fɰh€¥ƒI¦³b›:×ÍFÊTË´™¶Û¹œn·³2Ëde²¨€Âô„¥£hx` ‘ᙉÑÝÃ{ÔðÆ,áÖ¼/ã‚:JU" DDoJQ ¾†eSjáÒ²¨Ì“ . :<]cH×K£«ØPKÝ#G€¢T ÌHB(” ˆD"*v rZDƒ´PšE§í´5Y€ÃTm*»í\ëöT­Šéf3ív¶™9ŸìšÊÖÄDíè4WQ“-Ã;`÷L ¹÷õ¼cgb£ópjuÊC ‰]óK_#ÃQšÊ¾q tʾÖÕ.B›!µ:[ë…y0¬Ý×hpQÑ©¡õ¡–#”:‰ö†ô fcfŒà`@¡¤$êv¶†–¥–›ìªC‚.ÙÍ&¶´™Ül¦i³9™7óbXªB a[RÂtg^D)Fˆ!§RçyC‹Ô]­s)g›y·Ûl§º©u#VM„¢,ÂI9 ”d&¡ƒI01œ#¹"»Š™ sI´¢Q†Žô5lx ªZ¥˜•:Â[LÒÌ´yx¤êwi„ôð‘·w>ýxïÕç."2#_üÚ+O¼÷´žèƒö‡® H8»sMO «cdd SAE*Óæ°[¨Túè¨楔ÉJQ‹N¦j²™ôdâfæéFw=ê¦Ì³l$…œ€"0b ™@R¸bM,É…(U‘i޵ËÚ-rÑGuIwßÖ>¢÷Þ˲ØÁ‡¯ÞeŒ¾ŽumbØ•ýAI©ÝF¢»„ÞþðMx¾òü˜©¸÷ß7·æþ`ˆ2yýö©\¯Ñ„Ã# &Z =Ò}ØbB}ËNª5ÒeÝN¥V+V‹–i®gÛùúÌ““ùìl³7Uç;Å”AÈ p"Çp¤1  A8q Ð9!’%pá,éȦ½ÉºÀ»cv‡dªÂÝÑuôr P(iÁ† ÉÕEµ=C»#ò½)Æ—¿wîö÷–Ë %®¿c;ŸÂ}0™$P$E3énUŒøµÛ·¬Æz<4hF ¯œŠÕ©–ív{vmó– NNO7Ó™pl'À E"o$6%*P’Šc]™ €`f Üe®‰Át²EP…«!^Ð+–y^–ÑVÉîô‰óÕ¥÷&+ýáMiÑ—e­Eˆ\}'ÓðqˆŽB¸‚ÅÞõ‘'¼üܹ#È Éï>™¯Yw°§{¤R@i£GÒi´ílÀ[oÝ:;5ñ"ÃÕ[½QQQÎÅϬ?qzsšNŒ»È­ày8gá(€(/‹âØåÈLBÀÌ2 0’ yì‰Ntɦì&kð¼”1ÉÚ²;Üs,c]Ûje-²\Øh®‡Þç«¶Z²`I‘¾6ô±D'rŽ@ô·`+á?|îÂn¾÷lóÄÃá#C’’H)&PJB bÀ{ôÚ“:ÛÙœÛzª¡ÊýÆ¢ HX±°:&Û( P4w[À͈rK @¤d pÙ% ½$ ÌctÀˆ:Q€Jt !aVQÔ ÆŠ>r¤vµQÚjrV;?¸ÊdÔ‹ÃÅÞ÷2•¥÷Zu»T¤Éˆ\!™$<ßõë×¼åË/ž|ßùÖÆÉlÀÒ‡Ë\Å%º¬$#36prrm[D¢È2U“²­»m­;Ì[â$Á–x+ðTòDpy°Ë®À\â1úèû£›Ç>"@(¨À ôÄž,‰0ÍIàÆfØÏèî𮵜k-kÀš´Vª³‰¶ì÷1$ÃÕ¢ÌzŽ} B)ƒŠàdïùÈÛ'Ïí´4â* ¥ÎJÂc¸#ÂŽô€ÌˆÍ€ëµiªU” Ê&9zÜ"v’[ÄSä  @9ú™p>’$W.?nüi÷ŽKa€ À˜%9Nà` °*z2 (’4˜®Tj‰ÒܤHTF§Õõ°xºJ¾ôÊÅË¥-îçc=ô¡X{:úrß×ÞвGxÚn#ðdjµLzdD&qR«o}þGÖ³ÚNvãìZ>KHJ¢#“¸œ `$IX¦<žû7h<2b `AX["€p`̉ƒ!G7@±Zi“ò\ÒÌ™§CñÃÚuÿp9_/.ÆXÆzˆCÏ6r]£9ÆX"O¿·¿vçTUh’Ál¤çjð¥W—åÅó‰¯nfܸ~ýüæõ~ý¯?u6[A ð0¤^RL@)©Õ_8"€\ö ( 3@Gž{àx4ETì&®³]L°BÄT‹”:ú¡²¨×墸½w.–¾o}YúþÐÏ[®Í—ŽC‹ó‡ëÒœ.ÙCÖ>úhH!I„jªª‚baîd½ÿãåZpqqÿâÁöüúõó›¯Þ¼vëÆöÚõ]T¹…lH BÀ¸ü&£q‰,@<žsU ÌÈ Ø€[ä*ƒ8U-¢µTÚÁJÙ_´™“ä`´ˆˆ =‚chЏsdÆB˜`x e­**%!2A…"s€‹¶ë¾–LKsÏýÅឣ¯þêý‡Oݸo‹'w!|;ÀSÌBÌ+oÞD8G•#Uº¼EP LÈ Òy~Œ\a’ f…4kÈØL>N–²ô…R;šd‹@"fBˆK†K€Ï¦SL·9˜™_ÆKÙâÞ-lo“ƒ[À-à:ðà) € ÿGí!ðX€ûÀ=ààþ÷ñâó¸wŽvŽñƒÞ–}´&û¥=8ßÇYÆÄyŒ¨µŠX,cˆ3ó[/~Kü& ašˆ¨©ˆ©™T­Tb>⎺ìÍvËc–ø+ÓcåQ¥"t`$<á­Çèéc¸{Œð1|Œ‘‰ˆtÏãEff‚`d&@f’¯ýôo½ÿ· €a(Ó 0Gå—WT;3‚ZyìòÌ«@ð—¼±yxµ€ (@HAO"à‰ðÌ$óÈI¡BÈdÆ•¨¤0ý?Ê+aõ?µDÕ¾•Ø)7…U³ ª\*Ê£€&à@gâOü¸c¯sâÎ'¿x #ÀÇßî¤A‚ M˜±ÌR+MÅ ” ’€ÂÀH "i ;‚hBI%€ªª: U…* ¼d&!%/a €Hý¹¹Íg?ýË @ \m¬¸ˆk††™ä颈„HFJf$/EÅq3ðq–×(6PŒ¥–2«µÔÍ<í¶ÛÝn·Ûnwu³Õ²N€&ôÄ ¬d?&üõÉÿiåð“•òEô3^¹j®|ô$ïü`¼óI¹óÈ)Q™Þý××Þÿ·D óöÓ¯€ |ðw?Wöð™ÿá?S ÊþÑgŸþØgŸþØg!—­È£ÂÊÌ—Ï¿ú£Ã7¶oíÇõx6ò…Ìd¾ù ryÈ\3×ÌCæ>sŸyÈl¸}732·ï>:¿þâõãÛÏ}ëç?{ÏWÖüþú³¸}÷…W¿ñüË_Çí»ßyñ+¸}÷?Ÿÿâ7ÿç?¾þÜpûîWŸ}æ+ß}·ï~ù»ÏàöÝ/}çó_üöçqûî—¾ýù/û™¯|ç™Ì4Këª1ÙL“^2¥œˆ j¾Öùòá/×^‡VTÀ¦;uYífá€Jâ¨ÎŽ|è÷>s|FE.·ì.7eÀ£=bÇ:Ü‚Kqu¯Õ²” Òø ¿¶ñ÷«s÷ÙOóÎ'ÞîäS½ó—í»ŸZúáì}ƒÌ¿÷¥OÞþÍ¿ûöþ4"—}ðõû8‘yŒ‚€) "’—¸kÚê] Ê&Þ4‹ZÖ©¬¦‹qGlŽÐuŨóQŠŽí}üëG7Þ„ŸOòÆHm>^)„ä³ÿÀ;~2d“}\W%ˆÌoþû'>ð;—?ñµÏý .]º\z>ôûÿôÏ}3óÏ~!”()*¦RŠ3S›ÊTl2NÀLHy¬EòWÔ,o¬:® 8²%‘‡6ÚÚFóèîáG;®$™Èt$—{ÜyI8RDÞÿö§ @dÂ’Id¦Gr ӇLjQ|)¢¦³r#R »Ü Ì×Ôýž<öÉ7BºòÇÎ_°Rp¥w,„(ëTÓ}kh}ôNt…%”L€¼¬^é%RŽ#™‰ÿ·+û_üí:jˆ`IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-4.png0000644000175000017500000001435111172017604023445 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<{IDAThÞíy÷wçyîôº½» ,z#@‚ A‚fI‘T;²\e)rìØ¹>¹÷Zòu;¶*eUÙ:ɉíÄN‘ÏõuK‰K‘DJ‘HŠ$…èmlßÙ>sß™_ò7xqìf¾ï{Ÿ÷yž÷ý> ¶m#xý׋€ï_þÕ/ÒÂúêåÓ_xâ‘éÓ3­õ5Ê•J"L¬+&úýßÿÙϯýî,¿5:õÆ«·=ô±3«ËÓgÃþµœ²\œuáÖÿzú™¿ùÖ:?ÕVLYªPhïoÑ"íïÿúßy|á{ÿ뵉%•F>xõC[¬ø{'Þþeû¶[7¦’Û{*ã™ç.Üwx÷î¯>øÖ ¯P±ehÐLYŠ…Jÿ­n-yî£s¤›A«åʆubøÄëýbâwâý‡víØÑ¿ÿäÛÓësÿ÷»ÿÚKOýC>Ÿ/É×¾öµo¾õo3+ú®Ž¥…Ïô¹µûÑá‹·ßy o7¼ñî[sÙ–ILJbÑgþòg? ±[ð'Ÿ|òã·_gy»­¾3[–ãn«Éy¡ª‘~ÊM'ý¨'Ð 9Y¢±Ň÷ïéžôjÕf®¢‰d"‰„óktYöD¸µõ4ƒ‘² ô mMÍf*ãy±ÊP^¬lm\¿Ê±nE¯DbõK65ÄMdbîݽ·ÌO-³¨œŒDX–[ŸZ‰wøÃÁ&‹©¶÷l%Ø`©ÎM¡’…LS;öÒ䆴üéÛîhèï#cÁwOžªdÇ[ üúé7|{¯¾ nåW éœÌ}±XCÉ7Lüî©Ñɱ3¶m¿|>ÕÑ©¢Ã'?DYcú’$Kã·Þ‡›JbÀ¯×kF}[ „ ksÈÕ‘‘ž®‰áÅL‘©÷²”KZ³NÈOTq áɱ™K>’®J^lŽxÃtIj¾¢è6•Œ…ª†<9“ªVK=;¶¶D[{z;Šó×—r‹ÉÁ½·ììfUF+Ôš)m0käXUÎ7%›ç–òî¾X×®>LÅÆ‡gÇÆ>r‘T–׊ù|¶kÏÞÆ¡N‘.·ìÚÞÞê6+³Eyu&#HÅÅFÓrY¹·;’¹<ßµ»éÚÙëÍ\ÜÈ.œ÷ùqOãèßñ­¯'þ™Ô™séÙtK½ß6T^.ûâ+"ùÛgÿ pØqíʇl[hü£‹”*¥E¶Þ®ä|¾Fõ7¾ûòï£M.ÆŽ`v>ÒÐdÔjÙÔr´»½±±›ébˆàZN"©¡áV½ãBE½äºwös9¢²š–P“ X[øb¾î.±R./•×òëˆU¦ÂÃ…6Š…†¦&± Y¼žYHxÅòК@zCX­h-Oqˆ,sŒ0'q˜¨#«"5yêz4Èoè[.ÊÚõõyÒLÏD›â½^²¾×,͘+‹´7†ef>üO‹´E—‚ö.ŸGXbp'Š‘“ÃÙš˜ë=Ô÷nÏ­VCfبN+MÍ]…Ò*¸o½ýnŽT.í'™xÒŸtÔƒ3]X›n:<4½ØÞ—,ÈVzqÊpW¦Q÷Ð4d¯‚ÎM\vyÈtÁ*—Ò¶ªO6ŸéIøÜÁððø|A0׆?¼õÏ®,ÅêëâÖwôÑZhfx¹TNã•󸂨!Å•ëT(ØÒÙ‘×ùÅÌ’ÇšZÂ<.—ò‚"õ®0æêÊ3ãî4V׳b)7>z phœ %Bµ¥Tfç}ÄÈôŠšN÷œ¼x½óP`fªŠV7‚‘˜i鉩¶{÷‹ 5ÌÔ-ÖæM¸6e¥KF¹T ÚFºâe¨}·}ÚCÖÒNdæÇÜóùñócK 8WÃÂÆâjÙ”ÅL©µ# ¬Uö ¦7”ÔÄxk2ÎÚ¨¨[ë+ëÝÉæ­»cQïm_807ab*ÒÝÁ"ÊÅ—O¶ßÛŸŒÌúRÃ@¿'ÈíÞ±#ïþÏ÷~û¨`<ˆˆ*bYÍý se­0:GrTL™r-_w5EE¶Ãç139e~j2HâºÉ÷ô¶9lemEõ¸ß}åd´Ý­†©m†¶¾1ü'÷½_q««Á}hwÛû—W< º}OO8ºeb2mÉeÛ*Ö•hWs¥T«ˆžO®—¤¸¤Ð UÉì»û^ÇJ³K+XUšMe,ô«_ÑŠXs}Sœð–VV¼˜r!„Ëeä)´ºàÃ8µ$Iɧs8‚6øÞyãߪdåg¿üçÙáÇîøôǯ¾‘›žÚ×zç7¾UYÒ_yîåý·wY6ýG÷<ôökÏþRwÛŸ å—®WV+s3s;?÷™Ã»V FyälÀ\n¦‚° sR×¶ Ûåªä6n=´×D¹ÙlôD—&JéÙ¹î;úÄÃOåªæ'—F?9é©#^?9gÛ³/þëÏ%®m¦0úOüVR©p‹T6…™|rkÒ«ºMaã轟ٺg@E³d] ¤°f—0sዃZÚ÷(8BáóêMñmïžF”Õ?úÎ7‡?ʵvy=±m…ÔxçÐö•ÅÊlz:U\Š%"|,lÒ˜ÛåYš__^\ô0VÀÍ ©òÙ+’Z§Öu7ŸûýÉñsÒtñÅE»J‡jwï?øÐ³¯ÏÔ T—lœ0TÅD]~üè÷M}°Ð¿s‹·>JF¨Ôj%‰Æ:ojQ\7åÅMÏÌ—×S=}LW_^Þ€AFËÁ¾Þ@@}æ¥Çi|˶O…8„Ï¥GøÒ‘oÝùÃ×~÷‹»¾ñ€ „}êÍ—þ• YyõÕ÷U4½ï®}…÷§¼áÀâ¬UÏ&”O„æ‰ô¾½}&úô7µ£7áxïÝ_­Øª°Ñ>tèoÿüI»;ùöˆá®r\жéùk3¤Ž©µ‚»¡.—ËXè[2¾p0ÙÒ91y%‰:Á†xy£òû¿~ñ®ûöÝó•ÏgÓÕÔÛ#¬‚q˜÷¥çÿyVKm¾ò½¿~ù·çWϽŽ4-M«±Á–Ã{~ú“˜]ºÒ½oÀ0„*ÎZ^ÊZu‡©ŒŒEšzg—”OŸgéõH$4záJ¬+ùÿþæÍ/ú¿záxÇ‘Þ÷~{ÚvÇÜ2¹ÿXç×~øøc¯üäÁ¯Ü{ÿ§bÑæáKKë×Fš¶o¹¾:3zæljn4¾½÷­ß¼UM]y? ¶Å¹HêtÉ£÷?òù#÷|éÔ¯Nß„C!|³çò‹ékM^Ï–Ÿœ8½}(8?™®USÙnläƒõ4n{ I/­ˆ•"nùdUdÝU_´¡\@*Ùl÷ÎŽ®»ÔïÕwGCÍ-çëK6Õð•ÁcSåþçЧ¿ÿз_yùÇÚä>‚F³³£óum­ÂbfûgnÑ—Óñžö©÷.{buB¹†x b._&$ LõöØ>®~ãÌ•·~yjmüüŸ|óÏö|À üçN\.2K¦Ó³+)D—tK¯íHt>àón¿s~l¤µ/J{š6f2]._½íÊ-ÌÜ÷ó{Ú÷wîð…#Þ¹Ìj]Ü“ØÒvî×W.½vôÁûg>Z¿Ù¤3ÞhtkL™=:|æÂÎ[w¸T•9Övþ)ÎK#2»˜^ëé«ï¸åȯœ©kê5¢!oÍ0—³…mÛß¿|éêêÈú@S °´îH‘/‘ETUë"·×yü Ÿ½ÝX.‡ú;¦ç×™"Ö~øqy¹ogø7?Ý.ÐE—rfݘ’ܽM¦’qÕ…í\M·l‰wìì˜9Q›©N²4Ãáãš»Z³•ÕŸÛ“š¸'ÚYhîþu—Wý\•ž¯… ™qo×W½%üÂÉó;ö*:Z_™;¸)½¹þƒ¿¹òµ¯½ðO'¸¨tñã³Ý]ǖ֖͘UÓ͟Є|Ûî›mØ'kÙú–¤®–qqžÜÔ*ÎrÁhHÒ±æ ÂGc‰0ÆÄhA 0ª¥!Š·$S3béú:ð‡ZX¨’*¥6ò®#ÖØ±¶’.¬¤}1BhÍPøæH¨Íe–(œU¬¢M³^—×À,2Tg…ù'X©¨<§]~µjUE4¹…g\4ñ†cª˜Sk¬¯>Ñ6(¦ßûà\¬ß=tl6‚P‘¹p,(É" ´Î./æ¼­:«ãd¸‰KÖÒ+Hvyžòà=Ým}¢]yý¹D÷±¥…Ñ]}—?lñ¾ŠR(®˜u!’éG9p\zë_p’®UåµÙÙªdÉ´´–hW¦n„ð˜ýø}ÚÖøƒ»&§5ŽÏö Þ%Ó4ƒÔ74*6naˆ¥3¥êdyñ¢;ÑOÐ’…£‘PmKßîsÿq±7á3ýòF¡¥Ûc•ãyrA[6p '8.·¶Ñ|°ËÕÔ¾0ºÐÚÑíKâ*b{"þr^²DËÈYÜ,K‰#Ýõß$cñ—~éìÙÉ·_y3“šm³:Ÿ…–AU³Öqt‡)±éá‡4ììKÚ,»P­*Új%M6îjX¾ªÜõ‹S®z×üäÉ4Mf…JM£ân·A7XÀÅÒ´]yíZl€-Q}¬”Ÿ˜]æ#þLJÖ…åHK²X©D¨0æÃxwÈŸZ)ãá¾ÄúüJŸ(är”ÿì—ÿxeÉèjf¨pjyç1Õ¶B¤á¥õÝGö ¶­®gõ\&ÒÝŽ±ÞôJ‘sÕŠ˜¡Xµ#GVJLÞTê}mU¹>1ÞÔÒzûáþd³ÉèË´6ë ´ s MCj SSKÝûêt‘îjKt÷ïw¬´¡«ÍÒÐr*Ó½gWA¬ÍŽMÛJ3XU˜ 7ÈÑ=Aß³«ýÔ'£gÏŸG-sqv†$ì‰ë+¡0uìàg‰ÀÀÒb‘4±Ôüåäîm¾m!ÿÖF»óÁ/ã‰,Ï,£ C2Í++3q&.2%w½jl‰D¹/<ôg¹¢”컃­ËéÔì‰T­ _ý?_$Í`©˜«ëëfsaRÃæ¦3¹ŠªO²ÕJ{ÿVÅŠpŒË!Ú¶ÆÉ†x,¹ýƒ<1vþœF ÛÛ·9E°“nhÞµ¼\¿ÎÍøu¢9ÙƒhFÏáÁˆ;·Z(WÖ;¶µýÛO__8ñ&årÎ}Ð?ÿü÷ãŸJ¡¤[†\«눅˜¦ Iéš…“à –Ûç–eËÖ%o D 5-ŒfqÄF$±æñ°²b“4f!x­" –]×SU»”ËÚˆ© ¡6^*ä¯i:n$džE‘X%/ÐmÚN?tI 5ÔWY­‰|0(—«(ªb$Ãp›u»ÊùŠ©Ôõa]65K!,ÔÂpD×m…•ð–"xQ¬©²Dó¬ÐPu³!,ŽÅIŠ-¥ó&j@h†³ cÚ¶®k.¯K“5—ÛëˆE7tŒÀ’0u½&IårŽ?š‡‰ZbPû,UUIQ–£ºnÐi™¸mY$Ë (®ŠUÛTݰ{E)©&Òîõp”¨I%”ÄM@Q7ÔªÆðÅðUQ";˜ˆ™†Zˆm›¸(ŠÂ* Ý$I §(Ã@ PU1tEAM”âhÇ Ë¹n6,Ö¦(2Éà°ÑI¯kšD2f;£–e¸}^Šar¹L狆`ý ÏÚš.”ŠjU‚7²¬˜–y³ CÁåq”cË0IŒÀ\–!Rwƒ!ߨ\©p4GXºæ<†bvpàÇk2€©Û–-Wkp' †3 ’¥¼[Öš«÷Ïi7‹â,Ñü¿ ‡DÁZeY“*`TÇ_Ârá %lK7)†¢x—¥é ›Dv¿ §›¦nÈOUeM©HÏà ¡Ã $†ÀQ§– (ˆÇÔM]Õ1’²M]Q5 £©k…S´ œ°#HƒÁʲ1ÃÐù€[¯i››p@NBÂja@Ã0’$ ÅP Ö04k™¶aéga°óvˆ ã`™plWL(IÁαLÌ2´âÈ3åbÕCmssG@‘@E†Ê¶¦á¤s±*”^˜dh¹ª™–UÌåM­3kiÓRaIˆ 'Ig%8Ä C0ÜBP]ÖP…iAºðMÑëb ¨‚Pž@Y†J‚®ÉPeÙK% „‡(NÃÌI-aëF`ÿAXšaš0¦iÚŽ€°8¤®›'A¦f;D¢šp†àp$°ãÑÐÀã  wpè¸O¶¿ÿqÒíѰÀM5ú¶~~€”¥ZpB†’+º9È‘]™šnC)Ýñ¨Ëqºª6|´P.–@Õ˜e{~¾û®û;u»eqíߎìy§H°0’Âö?Çtþ…i<ËŸÀ)Â@tS5ü™Jó t¾ŸØ÷¬“rÜæ»¾ãïÿ^ýÞg jU±P„ÚL°Äè¬ €°1‚Æ”¸Qq0Ë -uø@Ð`pÕ$ºY„ágË#χv"NÔ‰’$µI„sq›@;ãkºQ~ʹÿê 8Yµ ÃÄüFI+jš J¼@w6FsPÐȦƒbÖfEpB#4Ò µªBÒNæÉM8€)‘3‘­–«i˜al“öæRÀà ›oŒÍë VÜ4yÀPÝ,=°FGY@8  ã@IÔ "¿Q)A±PœÇMgaPhLÝ®I¢ÃÍÁGoÜcmÚŸR“XÞ oTE³l¢é›p8Ù†9!"pk 3&£*ÐŒ _(¡) T‚¢ Ið‚ÀMÝœ{ ØòÜ&¬7–Œ,¡;¼°ŒÍ“z·T“ëPA0Ì8ˆOíÌØ ~Bšø±kË÷ʣσWùnU¸t'ªº9… þqc †›e†vÏ^:dJ“u5wééàŽÇ —Ÿ±MqÊ+ wJ“/ˆˆcd› ØˆXà ë⥢ê&ñmSSMp%—Ïe^©BÕñ¸ TCu(‹£4i&ªÕw€“Š:ï…Ú†˜x²¥4ó˜«\*•rCceã ÝQ™‰Æò™rM}^Úå‹”r%çP´¦›´‹öo{Tû‰¡Êðì•Ô´ Ó°Q%jÕEà¼×%–k°=2PÐ0N#iJS ÎÅšV)•¼Aø©À‰,ªBAQÔ„rÕç·6Ǥ8 %Ö64fÉM_G|¾ £U:ø;Šxý? äòx,hæ dB5§K‚šr©Šœ A®TuÃÒ4ª2ø8‡ m) †cEmf…~ >·Çët°¦AÝÃ(Š)ª…"†÷P p:6¯Ûû`±qæQp-šb1ÒÉ>à(8¥ŽÂÉÒ,ÌBr ضf¨PøÁ‰ªƒï’´[µj•&I€º&ÆÍÈпAßéæH‚€SIè`¡ØŽs4­ÈZMª‚¹ÖÊâö,ÿýõÿÿíÔ;¶IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-5.png0000644000175000017500000001070111172017604023441 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<SIDAThÞíYYe×UþÖÚ{ŸsîPcWUWWUnwÛvºãlj«1JŠÈ "ˆxL J$„HDâÛ! „¶€ÄˆAbpl„‘رÅq<$ÁC·Çjèꪺuï=çìa-νÕÕþ 9/·jßsÎÞû[ßú¾µ×%UÅÏ®ñe›UTeê¢ÝºôÎúO^|®5Ñ.‡{H·Ýû@ÖéJðOëß~úô“~ïR‘ÅV›£„d—}|D XÇÄ®·6Ö ™œÉ&¦ÚIkˆˆòd4T!‘™˜[àöu—•»kW·ƒöä¡qü”RZßÜ~â?Ã{o¾‘‹yÁË‹“‹‹™¥PöSí©™iÕƒ¸×ó¶/j/ÛCuÇe]‹n‡o=9ÿ¶ÃOßzêw;ÆÖ­­ïÌßqÿ¹„¼70"HœH‘ÉbˆQú;{¯?ÿìí·Üü“×/0P÷ÿñÀ<³˜^yió…W7+À¸ó®ù®ÃÞØžjåÝ‚|”“ª³%:šò–éÚ`1ÏNž>|ë×ÎwfóÙ{]æï ±Çj$P…B ftÇ“ÿò÷éÚ­·úëïLK_9}òË.†_Ø0 \yk§¶€ àcZœÏ2Ûʧ&¹í¸]p^˜À ²Ás=†ºNJ&ÏxîŽxô—깟‹ùœ0QT Ê"³‰æ'ŠÕ_85;ˆ1"ÖÎåløG/¾öOÿø->,Ÿ8¾tòæ••“'}ó‰}b0¬3!2R@b“؈”}(…Ë=qÚeH¼YËzG/î]ØóEW‹šHL"†D¤$ÑÀqõÅÿ²Zr ÖXÖ”TâÇî;’4=õæÎAúÄÝË=³¼»½=ÙîÔ!ºœò‚CJ!Úä“÷ƒZÒ½ÅOÌߦGn÷íYI")%)1‘1¤ªJ„ÓnzÒˆ1­_Ý*œét3c°yuwj0mn—ý~•‚¤Dä\–=G¥'1B170œêáÀ#Yg•’©÷ÎpÎíö Õk›ÕTKf—üò=¹ !ˆ*‘Q@ALÄe'K!» GÆ&hŠÉ$a…¹íÄÌ«W«·{UƒÅoÜ»|ÿ]‹Yf®^ë¾ñÞΩ“]K†¦è‡õ@tâ9õq>qŸéÌxc%‘ÆDPË”$#&I‘¢èt'g&;½áÕk[‡çI”˜CTŠvNF}ÊGç˜Ùìnõ겟›dC6pY§Û±ž{õn¤J™£[),83»Êåå…ìÈ= Õ˜ˆÙ)CÔ¸ª@ :N–RP¨HTÑXE%-½Ùȧî\|æÍíóïí~ú¾c§·}˜[j•uYíÆNÛŠTž§ëÉ›ÒÍwæÇïŽ37‘2¥ Ш!@¡ (˜"IÁLÊìVàÚvŸ$²ŭ€íjo` W•á­7/èŽÓ{»½÷Þ¾´sm‡i@yc,Õ ˆ¨˜9ÏŠ˜$Fu`g„ÕSf9ŠöÀs+CR&@ ”‘0Ib"'ËpX» Ƹzˆþ^¨ËÊ:uÖ-MæœãWnŸ»r´{ûñQ©!–¾uˆÛ­Ví=yÙ ?s|þ#Ÿ±'4Eq©TᬩhTDQ@E‰ˆ˜’ªUÍ2bÚÝÞÎX6I"©õ>õözÆ»˜ä×_ßÞ9;s$®,ÏÎÍÍo]Keê“Qe§Pq6ÖUTËŠÂÆ¤¬š;½ªG:t½"ºè™¬ª,I…ˆª˜ÈBÓÁªT%šA¿êí /oVD0LÌeJR¸Œ¦:Ù[oo‹˜àCеþú^!¦=]@k;^.6/¶§ŽùÚçN¢‚•™¡ª"¢JDDf)ÃdSm ¬Âú•µ# íþ Ï]½Þ€ˆ³Â9M.#fíN0Ö}6š›<¤”CÖãD[ª*_ÖÛœH &Ê­u¶޾îÐp8@kg§5DQ2"%…*ÄDºÏŽÞNªë )-»¹ÓSELšbÈ2F¿OÎPø€f3Teruô9û¡‰.lÙ¿ôì¿ß<½l»'D*!&f£¢+¦Ô#R¨ „„Nff&Ú@ U_×qÎ0ÀÄ­<ϲ,%äy·U´ »K—¯À„¼“m¨9R’“ È(³‚$‰O¡.ŵڭÜÅäÊHTÕÝ+ç;ÇîL )ƒ hPK)B ‘UÕûÎDLîÜD‘g°)IÒA…~ J&†Ü>\IF,Ûmëò¼]»ð“/çȹã^¬h äÆˆ‚dECU%€U mg²œƒV§írd…³lènrÒ­Bȹ"7ÌeYn_ݘlg)!*SÀr™0†}5¬Ü:ô)¦("d ˜¢/ÁárÇ™A¹qÞo½mï õ¤)« ŠwGpì i&CEqPª-Ée”Û̱+DÓ íEìIw{·–¬Uj»Ž^R ‚<³1ˆ²°1SÓ­«ç_˜>»šÍœÎö|eR0dQÀ°’BD„Vîœ5€Q–ç­;—19°¥”à“ñý¡Ö>ìö›;ƒ2JŠ!©q0ÎQcèdÎeâj )øh4¥¨l³º )Ö Ê;_õ÷®¾;sä¶$ ¨’!€ˆ‰H “Øøáúî\ÎËÖô¤u{ÃPÕÕåÃízãmÛ“)5·”U)¨ŠuäÎTƒºe,3ç­…íkÏ?5wA{Ѥd’£ÑQ™Cj¬@8Šˆ‰È9«bÌ„œšŸÉÚ“I1³ †( ›·’’ ±±D&øhŒ«Ik_9 b0¹³ŽS‘9Ǩc4LJ\ÅP×e§p±Þ1Bª Ri\OUÆì˜î—~}0\.ÍòtfX·+ùžoUšÇÚrYôUÁâÁyf) RhµZ63U­^òÂêàÕï;Æäêoj‘$5STÁP…îDTT‰;ˆX! ™?<Ýîv·¶6ÛELjԃadŽeG)‘±Î×É%Ø¢DoR4:k ëZ«çÄ–bmX 2¤I4™F¸H9%4£ŸµÞßþY{ï&„ `+QmŽý£ä'J)É:U€€@ÍYh$’\t9kß2 "\Sd†ºmÛ”Æ)‰H2Æ4,ñµïõú)E&Ê2Ûn ÓÛëûÊ+„®OLL¤" m¤z¼®&G•F4‚*Ta[ÎÚ:^úþ9 ´0•Ûý/˜Ð¼O DhèÛùD¤DLPUeºžW‘*’ªª EÆ­ýù=¸Ô¯Ñ\Ð~"n¶Ç–¬³ ”‰12ÑШc15Ž9ióUSŽtj<£âú{èújy?~û‘$ŒâH„f Í^Duÿµ¬œ{”i´?UÅÈL!1hŠD˜?óóg¾@æÏŒŸ|_–ì'ü p¨è8\€’DÊŒQyÒÔlÍ0±a‹÷?¼tîÑfsK÷?Üpoyõa‰ASjØÑ\s3e|žÛƒN|Öúœ¨HŠæä璉D…™–?ú5fb&b >ˆÄ•Õ‡ž{䨹G˜ùع‡®þ±ebR†]}øè¹G`WÎ=2Rèòê#ÌÚèÀâÏyá̃ ¹Î>xøìƒ‡Ï>Ø8ýˆ;cv¨ª”›<ÑaÔ¡)9¢8´I§‹OõÒÓ_YZ}ô *PI)úëð+®¾ò8€Í—Ûçàxˆþ6^ø›âÖ/&‘òÕ¿là÷R3wþáÖó߀jJ1Ôuð5$X{ö¡µgZ¹ÿëÏ}móû__üÈ×-ÃY¬=ûÐ¥g:zî¨^|ú++«°tÿ£Ÿùª*ˆ°²úÈÚóºñòc gG9»þÒcë/=vxô/ÝðÃB“ Dj¢£óŒ6ÔXBQ%—ULhø'c±Ü—Jià q.H˜FêG¾þ f+ÇJb‚¨¯kU‘$ @б¹9ÅÐÌ%)hqõÍxnpÀüF1(€Å{¾ô>µ ­o‡áшê¸oUB4>¢ 4-¬¦Qah¼½Q cAe+b ïwÚqË~ßjö×­ûüä/:·ÿþö ’$¥cLl ˆ@TjzÞe&huLÇñÏ.~çˆqäÜ7 "‚µ§¿¼xîÑKßûjcVÍj7^øsØâ fé r:†cl&MÔ´é˜1ƒ™C)è(ð*‰xDŸ¥ÕG\~æ+"úÞwÿhåÜ7Þ'™Í} ö›/?>÷Á/l¾òøûææÏ¨_ý«k‰1F`Œ…>ϲV§[מb`³¬y³u™¤ ]øö—Vøf3mLºï¨F›c¤áʳ_[¸ëš{6^zì}Šzøì×›AUÝ|ï-4æ:ÖàÆ©âõg˜©!‰ìWM‹‹Hd4ÖP©!3»ö™Lmû&ZÆY#I|]ªDak™Mvúóáü_‹j‰‘¬Ëƒ¤¾öMö6TÕÆ]1v@`‚a2MyHPpR[Ûš„Épc¾Ï æ›2l?}• 4:@ˆ"Æ´/¼ ˆ€ ÄÄJÍwã#É~ñ§û®¬€ª$_›–Œ¡8ÀQI1†`¬e“6tÓï(_{|0:ÇVïƒ÷Þ’UhäJ*MnrÖ€DUD$i"±†YA$$*ªB£Ú›è†L¾^†ýìÌrÃõÿ¶oëEC05’IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-propaganda.png0000644000175000017500000000415111172017604024102 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/tIMEÓ'5úWbKGDùC» pHYs  ÒÝ~üöIDAThÞÅY]LG>¨QMLL-Ø¢5ñôAZµlSL”£!5`Ü>`ãƒÖúИx›4øûÐÄX“zI|ЗÆúÔ¦wMjƒPµâ/pADk[.H,ký­üØ ˆà½Û³gî ³wvo±v2¹ÌΞ™9ç›ïœ9³€€µ  Ì_m¦!®õ9Ày·!Eò‘…)£"nbçi]/•"¾íB†‡ÅÚ*üŒ¼ëò'ù³1§Ø3«©àHM“%K–àØ1c`úô /DT—iÄ~M³xéÖ4ì¬â=¸l'fƒ½ÏºžhPAa±Ûö3kl´6n¼`% VÚƒAöØ ÆY?®î±-UnÔÈ˃M›ì†WQ]æÀS‚p‰›&³MPšéŠJ'0 l8¨ý ™×ošÂ¼x0hÿ1 KfY±;°qCÓžÊPúg‡L“[M–/_Ž+*àöm?>mÚ´×¼Q]¦CV²~#Í„ÒøË¶½MeJ kya’½øÖÙoq@½à¨ F\  ŒŽ$š`ÉÉx'…­[ñB䦎K;¬pøW…Lû“4Œ¸dŠ• c¸[¨] ™*ͺˆ Æ,Ö~18MòóóqT(dcÕ4a„´I“&y!‚.sÁ‰ˆ¼Ÿ­ÎØ‘1€É\EÓº8X¬„Y_qŠ%…†Ey ;>£0+"R0I5”6ºؤZPP0{öì±cDzÓdÞåxˆ¢ÀŒÐÔ±˜‚ÔuË‹ôô×½\¦MÒã¬[F/Þ¶Iý”¤+âMŠ¿}ñ”¬fj¸ãÚ€þFÐΚõÊlØCC~±Ø±#ER‘]¦RzU¯(P/…ªJo7‰ŒŽq²±ÁɾTy!îÆm€ùóç£Xa! Œ ×ÈÊ\æ®a`òX¡hÊ:YüK\5m@êL¸ ŽÂ£$X°±}±ñ—a á[¹Šˆ‹‘‚?‘]f0(&÷«?,Z´%W­‚¾¾TXìÜéÀBE„¹Œ8 Êé°|(õìÑõ¯DEí©œ …ËnBe3Ÿÿ.‰íÕõïXá,5¡P)Eo«C¡ÏÉ"qœ±G«¹¹¹(Œ¡Ô ‹'X\Ny÷í–ŒKéÕu½„ÇQÌYY§iš…²«‡ÃtF'Nå.þˆSRì×É~Ã0t “üñ}i”XqÄp°ìkíZO8Âa[ ¸¸8F‘©<Å×n$*WÊ÷Í$ãQ¹½‚Û–u§£ƒõ¿Ëó%ô‘vÊ PòZÅÎÙ0ù¸“¸ý«Îðd—ÁÑ(ÒQÂQRâ G4jßè.\È´ÁÀ~Ù ‹%“Z»ž'ˆq•û’QƒvésäàAÖ‡ÇNÆs”ÿ£B±¿x¤d8ðâÓI›1Z8Ž¶Ïšº:"sç¸qãä“<‰& D¨ …7ÈY¹Cd¸âdF8>äLäP~=/(VêÌPEQá8DÔØ³}û¡ ÒM¼†®›)°Ø€‡-fkµ¶Ùƒƒpøp"ÝZ¹Òv‡®ƒšõ?¡{Šã;+g©ø­ …„r_KA4¸Á!–ÎâG®XJVG]¿•ÊèôJèLžÔ€Vª•Й3gΔ)SÔoâmÒ­lö'üCÓZ ½àü— ù Ò¸:¸FÀ#Å:} ê<ÎÓvÜm”bì³ö΂:?¹1¡g É@ ­ø"pükþßGþ›è$Ý&®ÑÿDP…ÕÔó=¦ÿŸÒ†c¢ùÀ€ýôöc)â4ê#¢ÉfiÂâÎ'´b3­~#¨RK¥ñøø™¤v)õÔ¾t8Ttú9:u”ɸ\D^ÐÅ¡‡6eZhÇÊè·…P¸Do‡Hò¢søš“Ùß?’+¼/'°þûÊйO¦ tðäú!B¶ExÒÉàxBoOIö·Ð /ÝþÿŽè\!j¦ZM=ÍÔsåUÙŸ GË+¯·ÚJá¶Õãí+ÓíÇô·?jˆIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-bulldozer.png0000644000175000017500000001044311172017604023771 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ¬a xgAMA±Ž|ûQ“ cHRMz%€ƒùÿ€éu0ê`:˜o’_ÅF pHYs  šœ™IDAThÞåZ XTeÛž>ý2¿6+¥4Å2•4Â-·²$?´}‘}†e˜öUd—E6•UdDA”ÔP 3·HpDMe»ÿ÷tñ= *W}»×õxλŸ÷~î÷~žs€ˆñþUFþ‰D¶ÿÊçø‡ï󟵇‡Ç8oookSSÓ™êêêo‘2_(î"×M¤>ÆËË+ÀÍÍm¾¾þÔÿV Ÿ`ô‚I¼u &‘ÛQ=7ÝÍoŸs\68øÇéïïç C|||Ê ¸ñäZ,‹;“/‘û"b‡H}&±,z„¹¹ù fÜ¢Y³ÆÓ$fLLBSž2œgÍÃÞ«‹bæÆØ bE£õôVNHŒ·ÝøYÜôëM+ÔîÐFó÷¢Æk×<­W½ný,níl·v]]êiÕß»,̫۱r¢|€{yÞ.Öꄵ®Ønhn9sO¬1==½‘”kYÐH{¹Ï&€gǼKÝL ì=cNlÙx@k`ïu‰u è)ì3Tý©Ò$ñòÏJÛ„G÷üáj¦#ïà,n ?Z¼`ÔfÆbÕQÐPåaÕâ—àëã—Mó¹ó¤‡ w…Š\áááÍ'@Ö;PN´+..Žú,¹¿G€¹ÿÎ××7›a:ŸÏ7¦6Ú ‰ª«ú#g¥;ŒþÌzQ*Ðâ×ôLOôõøÂ|­ Â7ok.)­nvà‹0u† ¦¿? Ó¦Mƒ‘‘1ß…ŠÚÇô5rÙœ%º´%@˜Î” K—`O`ˆµ†††2åÉ}-¹ža,000›”¯àý8 dPe¶®h@1§c güª­ê㛇s‚ä=’ªÁ\½ýBcÒ3\ÑßNÆ8p ²¹½½í e•áææøødäåí¬Ùʘ;O Aþâû½½½ÿ?ù`?¯(ZtaK¨Ø†) ðˆö¾CØËmccðú>#Än1 vŒ´W‘rqLul!;æ,H ,ÃdÀÉ´{ k²²&% œ2(‹díòXÎötÙ« ¥ßtüP¡cÉPŒf@Wú†eeïFK`ÿÍ"ÔÔo¾}»½™ï%Æì¹AìŽÂ=%ùxb®º4—/E€Ÿ¸{½öz…ð0ÑYÿ@ŸrK¥×¥[|ÊÃü}ôè5™ dµ§§'LLLàèèFJÈ ðwct›8eµPàV±ehc¶N…ÃX ¥Ïà8¦ŠÛÌÎ'‘ÇZê¢Ø>ÍtŒ %›?Š+3¿£xn.FˆƒÂöíqE_·;ì6ÌCñꞣ'O5Ûò…˜2sLÌ-à%p†ŸÄJïMÁREØ‘.î(Êñpµ·Ò‡ÀÃÅñnëÆ‰ÎøxÏ—w”œœœV€K¹`¤‚ÑlVRö’pµI }ÌiFÊäD„ ¦Ü5”ÞÒ}‡ &ø6Ë‘ÚYOÌÿT¾vÚ|VÏ·Á R-\9± [–#M Œm>ò#rĘÿá|²H߬û V6æP˜¬åYÊðûCâëo¡ Üœ7 ;É9‰ÖHËñ±‰TÕíÔÇ<å¥å%ò¢E˜NRi7Ά2¸ RàTqÊaô˜!Úœäéõ@ÿ.µ£ƒ1Åø1,èÆC=ØËë»Ãïïmž€;ãÑÙ¨Œ”p»A Ïή«áá©Ùˆ°7&`ÎGïCoÝW˜¬¤Ó5ïâ‡<]ìû;²St‘é· [ ç"@O !ß.ÃÌi“ñÍ2-ŽñŽäI4_fvÐÀeµ1M H:XÓ ”ÉGo5iÙyŽŒC©ëâ¬)K?3ž’u ò:[|Š;›Ôpóü'¸Û2-¸~AÚÕ1Ð1½·ÕÐvx*.¥¾›¯'bâ˜W±DóSh/TÂ/ »§ãþ™÷qvÏL\©™ëÕóðà¢Ú«tà6ɯàè¶/ a4n˜™èÔŽe`3çèKdŒ£_•¼Œ+3\¶?%”p¤¤‹#gUlæ@ßj¶Pio^…öæ¸zþS´ý<­?-FÛù%¸wK‹€¬Iãgh«žŸb^Ç‘Èw »d*&SÄ⹊è¨yƒW§¡»Ng çãr1ÎHupéðJ<øqpòC v<.Y í/‹žd:è€ XUÜ£I½€t±ãXKe¯²`EÍYÄ ¤UòØÈf1]ì¸"ê9T8ý¢ž–nþößÖ-öÛ·Šï—íM¸Ÿ¿S< ­……é4$Jný2"¬_A„Ýëˆ2垣ñKêxœÍœ\ÿ©Øù6.ŒGûÑñ8µKõ»çâtö,œß;÷& ¿žøôKh,ц¡yÖ{ÿIß(ØS%Ë·Ÿ¥ãSž ôžPkõÊ;œˆ·ÄÉx;‡XÀòëÉØ 9–ËÇÀðÓ‘0Zȃߺ¨ x73^EG"ú*ÞA…"zkßDßOcÐQ;ßgMG]Ö¨M{ç÷(áÁÉ7Ñ{d2± ¨ËÓ……De˜›}á?À*Ció@çEò^,Ï÷°=Yîsädö*Â`òÖ·b„fªØ!YŽp‹`¬Œ8'eâŒÙ„Ñ (õ‹=‚‰¨ò}‡•€¦ãî1 ¢ãKÑQ­…óÒ/p©t-z*g£ÿðdàØH4VB}#Þz.p>Áæõe7£JL‡²7ž²q¥çíû',¡súç~ÏÝÊß¿M|-7ΛFH qÆVHƒ!tBE´ ¿D¾p>JƒçB¢‰ÚØe8¡²XmTÆ/&’¢Š}ñú8²m ~Ù®†öüÑ[ñ2ÎVÚ€gˆ¿=kµi›Œf¸^éééaÊ£ÙM1€ ˆ5±š2Äæß ÖÉöÉeÇ(ýƒ€6–§×Ïý­£2ÕKâb´ Vë?Cœ`="\×a¶6{Ù ,9u…i8†Y(޶Gºçr¤x¯AŒ½ âmÆ"vÓk¨ ‹óIcq*IgÒ´py‡*ª3  m.?ö©ýX`ªõSþRì‚Â×>Þ<ûe@S›“]7Äæ²úoýá_¢w”ÄúkدEq˜º¥n¸W拟Ϡ1[‹>˜s] ìŒvƒ4EijöDº"71 •Y¡(‰s¡=×Â÷±b_èlŠRÇÉÄO±×_{ÓøH \9±í{‡%çj6No/\9ñ’”ÿù‘­zØôZ9½U½¥iŽzñЬ$ÔQŒU’#OsÄ¿еé¢cž‹á¶q5 –Ï$l´D[±m¹N¸˜a³Õ³1Cá5|4a æ ÐN“èø„:~‰}‰|$ûY‰÷FõÎXœH¡!Û‹äζ8±ÍߥmÄ©äÕÈ©¢4É·ñqïŒø—îzÑçs6bðBìˆæãFñÛ¸W3%™v|òL¯r€¶d$ƒ•LKÐIT[îŒg$HõÈ…,V(ÉiÓgý†,>üî…¥8A˜íø¥¬õ4ád²¿ÿœVáçÝ4åð±ÛCŸ|0c_ü+NI²‘×l9qî "þgöùÂAw:V¨Œ‚£þtÛj#5Ðy[ƒQž€ò¬XÔçÇ£2Éù~KQŸ¥Óiëp©ÐgSס2Õ eä•ý^é$ܪY cc½é,Ð/Q aÁ¶dÁLâXGI‡@ޤ4±}k<ëY®.BŒ \Uö¾‚íÓI¯A­[Á¶=ÿè‚pûE+]¸›é¢<Ý ÕùÞð°\Ddâo´X€`«%²ûfkÁRãm„(Ât1_ò¼~"7©‚ÿõ˜,‹õ†ƒÖhØëŒÂ¦eoAKy ¬ W#PhoSlðB#Ñà8Á D ´+X‚PËYˆ°_…‰+ñkñûè8î\1K¯ˆÉN^!ö"µ™:vÃJì&:9m:,HL›>„N i8`«Ru²CXÚ±¹Ô§Vå,5¦IÖç76ïŽw}ûùB+ ûÈ·¸¸KÇÓ6 /ü+ì ×FÉfüTB^@üq1ÓŒ°Ü ak°ßoJEêhÜn‡“8W(À)p1N§ÒMpj_" šîÈßꉔͶȌv@°À©þ|$xápº;jR'^Ÿ5 ¨Ý¢†é´•8ç{89Í#ȤL£¨‡œ ¨Ên4‰œ €'²öÈÓ}‡5ÉqD‡ÕŽ£+8§¨N+xƼ‘0Zû9.ŠGg• nUKÐR†ò©´«È7 Ì Û¬q$ÎMÛ-I½;Z¤A8·Ã§3Äø!7ù‘D§}Éñ÷@ÃGŽ7Cm² ~,ŠÁ©½©h(K@YvÒC¬àïbŽì`ìOpEe¢ ŠIÆb«‰úô帻wn¹¶„ ]¢ ÍÍÇRy´Î, aA§ÙŠ!Ò>:=´ä´=ÖuHª½“ âßC’äÔý6'ÏR‘÷R”‹ Vé ²嶸\f…sûBq¶0W¥h*ðFc–'Ò]p,Ƨ¶yá8ÑÚŠXw|—;#q2?¥)¾8.MÆÏGÒQç€ÝnËPeƒìÔn·Áe©) ’\áçlŽÌQ½¥³÷Ü7N·°°P ósXÒ±_ÝyŸâ–T8ä]j¶Ékçø‡p#÷¸ªÊË8XÆvÊXÈöёþNvÞ\9€Õ=#@‚Ãð'êxxôˆ—*LÚâf '£¿£4ÙÝßãZM2ê ½±?Ö óÈ1?ìˆÂ-v¨!L.‹wÄÑüTî "i]2ƒmP”à}iB¤‡9#Ñס&¨ÙQ8™ç@œa†‘ R|$L¥öR®Æ¸îÂ5ÈÕÂÕÝ$7KÇ®qÍÑLyi’#¹œ I;£bÆË´½INÚØÉu»–g]9Ï¢óDz'mó°B‚Ëz$ß:*ÃÌQj4˜äþí`†÷ºAi¨)Êb6¡"Á¥Ñ&Øí¿%ñ|dK ‘-Äö3”Ä °'ÚåQ¶ð³úÕDê“ᡇõ+àkkˆd¡52ÂÅ×\—=ñc.ùMñÎAÑÙÁÜ…8ORAÒgÇ©·Þ°Á€Ñ¿RË‚% uTö`ÉMõ–HçàM×——­È v2=f×µ”9•3YÌ ë”Oö¨o€·ÕÏ^ƒ0-%>@˜•,Ì•f&_)ËͺR’™Ðº71ôaå®”fÆ#gk$ò’cㇼH vm£ ÌÅä󉃜°3ÐEán(‰òÄŽ/ìŽ?ÈŒßH fë[ØËýk¤²m†ïµåàD‚!¢}}~ûþK€^ÊùnA­Ji¬ŽS¢6nÉö“•uäúyС¤G‡SÏ]ówÏ;¤¸÷ ú‘NLŸ8Á´çþƒý¿>|t¥«»§ívçëwïö\¿ÓÕÝÚÞqûúí;mm7oµÞjïh½yófÛåË-×ɵõÚõë×ÛÚn´»ÚÒr¥ò`õ1õÞ¾þ!×$Ö˜ç)®ÛfŒ­ÁBçÿ•¿½c¾­Nf¿ ý…óˈ"±‰¬½Í–9õ´ÑíÌ\ãŸùçcƒ¼¹>yYÑÂMÿM@ÿpÏrÂ{gËIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-bolt.png0000644000175000017500000000326511172017604022733 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<GIDAThÞí˜OH\WÆß¦fÓ uQAhÀ †ºH[© H3E$‚P¡0 ‘V„f%ØJ(‚0 ta;T*H ˜X¡P“U颸h6YMã7sæÌ½oLŒµ¤—Ëã¾ûîŸs¾óïÞ™¤ôq%¹.†tt”ÂÎb±\ß88NNJIR:=MÁhyù̓ck«”͆%£«€ƒ½×Ö*|¾Æ[¬¡_ŸRÝ €<­L‹'s©¬6>^yåSœÆPãNM ëh¬ºl°ªpLO—†‡ËOÜÓӼŬÞÞr›½å9Ö0Æp´Àb=#3™ZlFOæÒ` Ï:ùDSb ßm…]X§l{’> $¬Ö²Ùl[[Û³Òßߟ=+ÓÓÓËËË©Q©Á!›°•ÉJ]¹­è[9cxÉ% fx¥O4ègM‰TV°€ ^µÏдj¦ˆbLƒ„ö9UÄA>ŸO’$“Élllž|•HÖâˆò+€C[X1‘¶¶“‘úZ7©HÌAddd$:I2¨¯¯ottŒ∙Ԙ‰3òD€ÉyFõè‚Àr§Ú>ìLsÃ'ˆáye‘øXaÖQ`l¢ÁD™ä¯LÊ“ ;;;^¡@"§ŠN¶Ú^ÛH±¤>ÿ¥¸þtGj<—^*¼rRÆ–e¢è£Wq3>³¤Ä^ed 3)‚;;;yªáËáá!ÌÍ͵··C¯ .Y‚BÌ1šj\bš´6MÇ+é`Ú >`·Ý©d1ߘ6ûC‡´²e8¯tЉFÀÚ)¿L à*’ARÀ¼˜˜0àˆimm%›ÀŽ‘HÌ–;ž’𰼂¢“"8Yã“EV5:n š4)ÅIˈ•ú²»»k4ðJÓŽ«„£¹‚Ñ1-UC. ¢AÆÆÆÐKÒ!jÀ£žžžà’´|ôzúV‹×¶Þïúðî{Ÿ¨}ó^¡ðåÚ‚¤•îînyNŽLNN’& 344¤ÄN½‰Uàxðî­'™wî|úÍíÏ¿WeËØ¦¶¿³T^¯ Ž®[KO[Þ¾ýþg´y?йóÅ…ýg©p3,,,A€­]kð³#±ýn~0ÿÓ¯Ôüù‹Ø¦…#?D®’ X"¨²°°þoø-v Y‘íím¥†¤,„ÈËá z8(`ôôÏ¿ÿE8ΩO~ÿ+†ÿIýTñ—1^þf9xXœ{…`òõƒ´“…¤˜ŸŸçpѯ•ããcž:nšƒâÕ!æ¤à ƒ˜Ôûù4ûõ/zentê¿ûÕÏiܬ@?_ã•™ªkmSSSºw"ŸúEË;Š þdK‡Ãøc_QuZÊŽD#WWnÓ^iWD±¾ßle_Ê§ÉÆãô‹Ëó¶Z#8Hüç‘^ø@ƒƒ°¨ANê:bNÚ0ÁÁ`ì¶êå£m°øâd)ØgXðÊ.vlù‘K‹[$|œRá Y@D×0IwžÍH)ÖX[Ì´LÏ×C„†,žzì¿*;»FÛÈ¢bà6‚cssíèííå’νÃK)§ïÅØá Å7‹¡Nߘ©l·ö•WóGè4J‡ Y ¯÷tŸÐ.¬Ÿ5@ä$þMp>¦ÕØmÐHý°ø¸‰áðœ·[“DôõÁ#¸žß¨‰¨ ¬¹0;|‚øðÃÈáøTÜðÚÜñl:kúûn€cpð;D×ýý}h¢6ÚÑ Fì ùSs MMcq ®Ò挗R:/޳}'À‘­DDj’Oû‡õåp×P³ È©F‘*Á¡º¬di®$©·#»çØ=Šj>Ãè'­âû’_Gñ7´à¾{þ5ÌÖ¡áïo¯Žÿt½8þ“ö1´hÏúIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-built.png0000644000175000017500000000160711172017604023110 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe<IDAThÞí–»kQ‡÷±³HÀNÁ2`aÄW!&…D|³’W%Kâ«t"l,´R I—* Ø¥·óK><\fÜ™ÙMÖÝÀ\ÃÝ;ç>Îwçì4ÆØØØñºí6h4:Îïºí¶®ÞYZ­ ÛÁqèÌlmZ£;ŽF÷VêP¥ äôûº]ÇxócÞRÿt¨bUÎ×kxçùO8§ŽÒÝGÇ€ÔëÛ>¶®ˆ£ú‘öG¯×U°iß‚Êã¨x¤~pÓí G• îsÈ8òªÎ±:Žn R¼àÈáèo㽜o˜8úøîèµ”öZkK*_…Õú,¥µÕ8j5ŽƒcüüãõoØ­öû<;ûÎÁ©Åµa☼ý´x‘sO6K=K× ;uïÍönÛØÜ @[?9ÈÛaâXyùªxÂõæ‹Ó7—Rϓמ½4—q+]'ìáÛõí¿íØ•#kŸ¾Çh ÒZû¬XBDx2s‘ø‰¿ˆ_øŠ3K!´àŽrSz¼š¸Ñ.ÇÁýŸ¸<ZÀè bö•ê0`úÛÊI×q®ãi_ãd„í“P1•ÂóËM ±àÀOáCØy‚xêï á¯ÄÜ"mÌ*Ç15ó#HŽŽæ•=Ý™_æ9÷lÅ ÅAÌŒàF Öi-¯ ñâý–â ‹ƒ‘{tDáÍ›A‘V $&:ÎD|¸y×Q&QDúÛw¼;F˜ÁAG(©gŒ¬`§Ü4äUÃzÁ“øí#l¢Ré­*r‘¿±YtÓD‹>7 5¥˜*áÄÞq¸‚""M(=©›©¡È$stcƾ7Osn$…¹–¦¯TÓÈA…Ö­NwÅAÓ DÂÅî\ãôB‡ú׳ŽxK'ï)‚Ì¿izôPx¨ "¬ $¿aM¢å©Z\"éÊÿYHuM Þª‘dp@ŠW’¢Ã”´FfÖñˆ ’ÙÞ»ÍTx¯ÝÄŽú Cá!–Tó~Ť™br®EGŽÖé¡}†A-Ðôd\fþ±ØK¤É(~•‚ªarÕéÆþE¡‡…™‹µåIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-feather.png0000644000175000017500000000553311172017604023411 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ¬a xgAMA± üatIMEÓ:–“¬bKGDÿÿÿ ½§“ pHYs."."ªâÝ’ ØIDAThÞíZPTYýÝM4¡¸Î8怎¡\§TŒ¨¥ŽŠ#IADPaÁ芨ëÎè:cÆÌvÌR–»ˆŠŠ™†$Ó€‚Š`fÌY1žýçUý®²[–;;cºU¯úýûo¿þÿ¼ûλ÷¾–ðI~‘”ÎÙ³g‘žžþVƒDEEáÙ³g8xð îܹ#t‡ÆÍ›7_³åoœ9sæã::: .|«Aúö틇ÂÛÛÛâ˜1cŸŸÿší¢E‹°sçÎO@Ó³W®\‰Õ«WãâÅ‹FÃÄÄD<}úÔx}ÿþ}¤¦¦Š~||<ž?.€>yò$öíÛ‡>}ú`É’%HKK«謬,,_¾ëׯÇ7ĽóçÏ#;;»œ}ff&®\¹òaMpŒ­[· ºwï.è€B½š áããóšGçååaݺuèÒ¥ ÂÂÂpèС׀0`<==±}ûv¬ZµJØ`;"¤£N:áöíÛbâ8ð__æñãÇïÐݺu/§µ³³/ð¦@¿ uä—/_–ËÞÞ¯^½‚»»;’’’„ž+cüøñ¢‡ÜÜ\ÑçJb£½"—¯þ‚Tyõœ+.AÙã2ܾPŠ;—~Áó§ÏÞŽ9r$N:õ«]‘£ ú Aƒ…Ðkýüü„ÎÅÅEPQE!……‡‡‹I9zô¨pŽ,C>–¯Ù†ÃÇõˆŽCæò„™{!ÍÆ‰ÿ‚³«w¡t¿·å QOòïô”)S^3à2/--…““JJJŒz.u//¯·š4PqÉ÷êÕ eee¢ÙÚÚâĉüÿ$=6ýúõô²lÙ2Ì_‘Q˜UgViü%yãˆÜâ¤È–†!U3éU]‘o‚s›öâöå ¿è倶²²Â®]»Ä’|ñâV¬X!ãà   ¡çÆ <êm€nذ¡Ø\)–\>kÖ,£Í¼yóдiSAŠìÙ³G[q%\»vMì)|†Ï>ûÎÎ.ð¬å‹qU'á[ó‰˜eò'DJ£±Cûä‡ã’R¤!ÈÕ9!ÕÚ9A(˜µWOdË4Söÿúøñ㈈ˆÀرcѹsgÑfΜ)€P ú=zš3gޏ7qâDᕳgÏ6F*sçÎEqqñk?)€1b„Øøºví*ƪÈÙ-Z´“ªÈ¶mÛÄ3V:Å±ã ø~á2¸zøÂ¹—3êjêâ m}t5ï o ?Lµœ‚?[†"Ô,Fa—Ü?K®²·;@oã}ëáH šŠ¼ˆm¸‹ónáÙ“¿Ðï’ø¥K—¾‘mIÉylŽÜ [v zÏ~ÄÚNÂVSÌ4óF ;Ô×|ŽzÚ°5ëGKwL2‹ øA;[e°wÈÔ+¹#^þÌ’#ÉÄ™’3rdð j:"ï2å|å…ܰy8s䟸VRˆçÏž¿ÿ@scsvv®4«¬LèõŒý ²÷Bÿ…‡ì¡ŽH”A;¤óÂ’ša± }{|iÚ Õ¥ÂÛ»è:ÁÞtæj}0Ílþ%ÓËÉW¦/™×ÇÈ^ï!O‚‡Ü÷ y"²µƒñSKoüh5‰¼‘6a6ŠÂ6¡ìÞý÷×£ßfr8?óé‘5ȧ8#ÏÔ «OÂꪰ J0þVe¦×œŠ€*ÞhÖGo­³†•Æ í5ÍÑݤÜL1^3 -Æ#Ä"kešùI‰ ZoW Ã.­6êFË|FnÈóö…Áã[6.Çͳ{qùR–¼Qßÿ0®èá%犻§ÂCap ƒä„dÉMŽ></ƒx@¦‰ÃºáXo>kLü.ƒ`êW]oؙ٢½É—h"{}#]C´Õ4E7Éu1LÛ º¯`>\öô¡ˆ–ù=Nöø\Sœ51ÈJAÒ±`œÌÝŽ'~¸@S¸A2ü+-½ C¦ÙÑ+qry²ë E±ƒ²þà†Â֮ȫí&(ægi¸Ü< —'c¯ì¹{L±Sã‹ðjX#{óT3_Œ6…Å2%9›ÙÃYÓ}uÝÐOk G©=FX…ïíþ×~Ø<߻׸áðžˆÛˆ«%Y.Ð=œÅ‹‹‘qä(römG¦¼Ì“ý&ðvÒë¹ Ëê¤k¿ÁÒ†VnÈÑ F¡ÎEææ!H•[’ p¤–ñøp¤iÜ#Çäqò†¹GöæDÙ«ÈñyÒ×rg÷8d'!=ƱÛ}ñ¤¥D@WärzúƒDzùòe²‘ÃÁxd®ÞÄuGâì%HóÒ"æ ¥ÍHd´pCÊøÑÈpðEr7Od‡ ÁÆ éþ~H5I¡K2ç$»„ !f>ôñHÕG!×*ò‹èÊ„ñ;0z>S{V%Ù¸ 8¬žÙqAAH®_¿.uŒŽ”ï°Ïï±ÿäÉ“r¹ÁÍXÔaNOؽ{·È"y­d’ "ÃÜ¿¥áíøð±±±ÂŽåU>“ŽÍ{EEE¢áÂ…rߥg(E¥÷QÞh–4%IBãÆQ§NÑg«Zµª¨]°ú¦ÑhŒúÚµk—+Ñk/^Œš5kmØzöì)êì¯]»¡¡¡¢ßºuër™!ËÔ7jÔHx%##íÛ·/7ž………ÈX•*$ÏX£F ‘ÕªmÛ¶m+²ÐwhåeYÌ騱£¸Öjµd‚C}³fÍ„¾Aƒb©QX£¦ m;¾¸©©)LLLŒ@ó  Zµj077/whÀ ¡ Ó}® ÖQ8éÔµjÕJŒÇ «^½ºø–Ô@ÓÎÒÒRÔØYw'ðÔ±d«.·¾3@ó“““…îÞ½{èСƒÐ7oÞ\p%''ÖÖÖDžÞºuK‰ˮʉ ë# ,€™™™hz>Aãõ´iÓ„3?z*KII:a3dÈãdò»ÇŽv\u,p©ž>}ºàaËâuuëÖß{瀦·ªIÞßß_è  âü´±±z‘øò³V­Z8wî\¹q ¶²24eË–-Âó[¶l)6z§B3¤ŽO¯Wt,ײrH YäJâ=Ž£Í¦>|晲BÕGtï Ðô\µ°\J=W «o ÐÜ4Ù¯_¿~¥õ_WW×r@3ü¢-'‡GaœN‡Í›7‹ûÜŒy­æÛÊ SjŽæJS„õôh½^/ø‘/Ëӵܽ{Wp¶hÊäÉ“…Ž¥Tò.—8)ˆÂM’µsÞ §,l,¿rcVý¨€fhÆž×4‚Í088XÐDE yÈKŽWÀࡃZÆ'ô}Úø—4E¸ù’¢ØÔ“Å>ÇVBÍwèOò¿É¿6úû·"¹UQIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-blue.png0000644000175000017500000000401711172017604024227 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ}dIDAThÞíYKH–MÖ¯¯,•n‹]­E¡TD YA.„H[X´3L]¸“¨ »YÐR»"Q‰ Ò"ÜØÆn`t1ÍÒèâ¥çó|<gæ}}ÿ÷Ã?‹áÌùfæyÎsΜ™/¶  2æÿ;99†ôéÓ§‰‰‰É™z©ía("„B¡X«„¦ ö™3g›u %jÌIY÷MHçOÆlÔˆ é ûp,J]]]ŽÁÁAÂ@Ì áž5z•ü¼^±Þ³±D-°§³³=ÐÖ`Sããã"ËEà´d@ŽyóæI§I«ØXh k8ll#ë†ÞiCg'‚vNZt–&wu²ãÆ«V­’ßöîÝ{ìØ±ÊÊÊ7oÞܹsÂñãÇ«ªª ¬®®~÷îæjll”þû÷ïïïï—ï]¼xqåÊ•2IYYYEEHøñãÇ'Nœ;wŽi³ÀßÎ†Í hœ¬¡R°šP™~*%Çüùó… øÌÞ¾}{ýúuP͹sçÆÅʼnÀ?A‰‰aÂ(ñBY'e/D A"p$$$0ØÂ;nÞ¼ ’cÞ¸©½…FÆFiê#£´´ì8}ú4p—Éç=Šžñññ¶…¸øÿêuLøÇ{6}Dá€yÔ‚”Ð477KS$Ê[·nA³{÷n¸†ÀæÃÃÃõ³gÏʨ?~ â¬X±‚MtvšÔÉù€QC úa°À’#(kRLŸHÃ^¼x1>U$ Š,‚h8À')°×jü "ø¯^Ÿó_Œ³P×××GØ1::*;—"Xès—ªó\ôÊ‚Ù+(á5Œ²x4 v8ú”v–Å‹Ëæ‰ˆ‘Ùy† ¸Gé€X‹eéLL°#‚ÆOvþfd´ò!ѯ±ú‹†ÀZ°hÑ¢5kÖ¤¤¤ñ(?þ$ v>fј˜800°iÓ¦åË—#Ä213Òým{ó5^¸sçæ£´òÏŸ?Hzzza#¤IŽ¥K—jFgž,8÷ìÙƒ3‚[Õù»±8g:o_yþ¬YãC.¾p8 j$''·´´à$MKK›fÇïß¿ ‡ÂygAÆ‘‘‘| "_¢›°H_Õz™_šâóº§,]’CiŠÌ±RK“€™“ó³¿|Hô8ø333{{{SSS§ï,K–,¡kð(ñ‚™#Ñà¶5/ š>|ØëB}ùòevCŽO}SS“̃[ê»wŸŸ–„ŒÞ˜êÁƒÐçäähå“'O|øEyöì|8’‚Ï\@2†Ú‰jÛÖ¯_Ï!gΜ‘Ü ò… $aE‚éÒ%è!@síÚ5ÈEEE DVÇ-·¶¶l}GGäììì­[·hΟ?º¤¤DvDÉj,X wg²Cá„Ô0‚ÒÕÕyóæÍz8ÉåÊ È_– ˜2ç‡2NÁù S‹^Ž ö@ÔOÜ'4Á™-\ä˜ ^&T‘l…µ`±qãF#“¼Ž—öÑ2áÐúÜÜÜ;wîØ±C;¸áã:„úÔ©Sú.ï|ĉæN7q²'“¶6'fnÛ¶ÍУ€N`N»oß>ÊèCÙ` å‡ê  ¤™B"à’]7UŽ9â$È4;`"±¼˜K6b„²cË–-Ð?~üØxXó·<¿}û6^UlÓ¡Ï®]» ´µµ–wfF^'€\²q/uf•3Ò0°Ã>_“ŠIiUÍÔˆí0hk‹i6yÅmyma9Gîß¿¯ÓÆ#Áa¼Ð2 ^^ÐÄÝZg(|.†ÌQawi¼à€yŠ¬Æ¶ÌöíÛÛÛÛqò.˰6·dw~ñÞ½{v8ÈÊÊb‡ÎÎNŸ'rÁ>b‚X îè|ÄŒÞhyŸ5p ¼~ý:==©‡Ï“²}îÐ6K§µõë©bûƤçá§‘§¿zõ Ï]hÖÔÔ„lWô/Ë–-CÞ‚G-›5Ë¼ê ®nwsê8jgÆZ¯/P‚¨ñòåËÕ«Wψ .´3Q¯ 3Ò¶G­]»6))I^·Œàd$#^M{ÆMÇÉŸ{€žÄ¾éùýúš?þž±nݺƒþû· ^Ï+²Ï§OŸ:Q°34Û¡ '²7o[5`±=©‡]7lØ,4¿ÂrI5dØá¿³Á¹bŸÿ®üÿÍòúËùï_ÈU´¿û këý#¦x!Hh´ÉìõÌa¬ÞgÃ6.úoPû­Ø¹©ÝÝÝ1ÿýâµÃà$ø "™‰xxfÌIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-petesucks.png0000644000175000017500000000052111172017604023771 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ¦Ñ} PLTEÖ×ÖÎ2¼I pHYs  ÒÝ~ütIMEÓ9 ’´GÛIDAT(Ï­ÍjB1…¿#9 ]e ÙßG‰`öðîûh>jWm[,ôËêü 3€÷6| ø´iU¨ @xiÇ ~àX*cs¶~4³?knÞi®%'ÔYêN.©r¿g-YNWa«^§°Ü–¶ÖöÊŒœQb§Œˆ QKÝ+#T¡5·EÙYŸžóý7”‘1¯B¡Ã-ŠP¯·Z~ÕþÎüÅ?ß[ÖPŸVÃ1´½ÖXûôzñÃëÕ‡i8ãî'cuð«·ùeßXCÉVkà©õ1FÿâÄgêÑ’C IEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-button-copper.png0000644000175000017500000000470111172017604024570 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/sBITÛáOà pHYs  ÒÝ~ü tEXtSoftwareMacromedia Fireworks MX»‘*$tEXtCreation Time03/19/03öTÊ} IDAThÞíY]oÇÞ}?ü)‘ŒÝ$v±DÚÄAâ¢ø®¾ì?(V]ÙP¥E"ÄG­Ø±qÀ(4Û@jWØÍàÖT ‰0BH)#ÇØãÖöîæ™93gfgwm·w•:¯YΜ=³ïœç{§‹`GƒÞ{kjjè^{{û‰ßè蟚š„Ð~¢}`pÊÁKƒ?ƃ.^¼HögÏžžž¦t¾ß¹«z=¤···µµ$œÅÇFÇfçf˜ìyZÌ]j¤A)ƒ„2Ô–¡VJR€ <3WFDÀQZR :Ìïܹsð¿§§§X,¿b¡È®…BAÈÅbII Œ;::º?èúÓÐÜÜ\ii)‡âÂ… 333§N‚ú¸E®ø®Øz‰S É…ÔEž¢±ÐLÍ6”6SÄ-Im¢‰€cáùBH-»»»¡9zôèÇ¡qž>}1haa®óóóä º‹‹‹ÏŸ?çPC ðÎÎΙïfÐ=vìa¿¼²¼¸´há„ÚR¦’"‹>FdÖð11d†4^Ðc!pÆÀ5çå ;ÊËËÁž Ûü“'O>zô¨¿¯¿¯¯•Ȇ¯G~¡.EC(GWêÚùäzòäÉéÓ§±L°Êh®Ç5ÊËÊÙmò_D8™/6'Tüá¾µu™lBp,--ø¤ 1G`?ºüu‰PÂl``@0è·G§OaÈòò2ô†QˆTB£VVVqªvU©î¿V@C›‰ ’N Ç P›#HIö>Bd MC¤ ôr:g`¹„r—@v÷î]‚ c«‰­Fo·ª¦°Ö|lƒ°gʤÆÜŒ¸YúÈRwå̇gd"cccŠ¡b‡ÆÂÙtíÖ®/ŸmçíŒÛA6ÈV ²R8…ɼeèJÊa‡'RE.ôÅfê1v8vìØA@ð•¥Çë*Ã0É8¢C ˆå-•S<4ª<±nÙÍ,I]àfP£ËB•MéõLxÙ¾}{ýîúÚÚZ†[Á±úïUÍE%©¡JR¤ÞŠòù§óo5¼UUU%¶a§0Ëx*©SÌ鎭çÔŒëÈ_Gì³¼ûâÂçÜQ¹Ó”(/’Û Žê‚`~¼ñ¼/¿ú×8zÁ޲R–v°L§>Åy>J2ÅfÇgW?³ó´aS¾À2BÎù¢¥¥eD¶¶¶6gÿü9ä2ÿDÐCy‘a”½ºÉfö PFB³cÿþýxÔÍ›7•^¾NRQ #ÜÈk¯TÐ8t6#ÞùÍ;†††ÄSy¬^ÕNÌ’jW¼|I!…άº*­Üax¡¥Ô‡ŠP£••Ú¹ƒÓGãÁÆñã Icc£ý– #˜M¶l³Ãe–i¹rå ‡Ôä”x¥—Åt‡‡‡ÑÅÒS„ât/ÙaàP%˜{cœôkkkâmk}uëàOÞøûññq@ÃnCÏÓ'}´×yF•#Ú§þTLÆ—Ó6 ?ŒŽŽnðŠœ°À1¯»uîxÿ¢ÞÉ2Lœh«wU§ð"cr“&_íuQ·$¢dßKÙw¬ÊÕŒ²ßV& 9·ÆÕ6Ézw‹E°k&ïß»woòádSSº—/_Αÿ2e[»,wíÅ^œ¸=±¼´l¯a ¯y oñ‹“³“6^êIJfü:ËÙnfõcfî‰É÷qÚxðàÁîÝ»é@­ Îv†Ñ&3€ñÚúÚ7¿xõG¯Öü o·ìmߤ ßK¥C¬ruHA ;õV¶lRœ2Ä9ÔˆC#²ºº:99ùõ?¾Æ«©={ö S†mD«©®®¨>oݺe;[;ÖJ‰ýRר«€ß(Qÿ¦“t8é|LÉÇè OŒˆë?~XØY_ÀQ±­"™A33›lÛ¶o«®®ŽAà§©)gÿÔnᘟ|'ðŸ~̯€ú@iÉUÒ[{AVK®‹ÌU”¹ÍÁ"ù’ÂAd+þYË…# Ç;w¼ÿý–åáÖHð=ÿ cQˆÜIEND®B`‚axis2c-src-1.6.0/docs/images/logos/maven-propaganda-2.png0000644000175000017500000000547311172017604024251 0ustar00manjulamanjula00000000000000‰PNG  IHDRZ#ž/bKGDÿÿÿ ½§“ pHYs  ÒÝ~ütIMEÓž4D ÈIDATxœ½™klUUǧ…òh‘”½JK_6N+j8 qPœ!ÊŒœ~ÑcLø4™É½ÄL: œ™¨sÏ%1ã'™ŒÆžcP;F!Šw_pĉÐäÑs(m‘„Z°=vÏåÜG¡Ì¨ÿì4箽öë¿×^kí]M0 GàÓB ÔOQ5ÕyÔfJÎCêfpG¦¤ºrÔJ`=NÑIÞ&y± ÔW1˜Ð8u§a‡nùª ¡ ´yLdJæOc , èÉÑÑ éÿæ¢ÁLÓ¡ú­‚õ°`í» k F@UŽpú3%E0÷†CÌ…¢LI?Œä¨UM=áir±ÖCha:J`ÍôÌä‰;ï\©ÈËH”äÏäHnl ¹µ¹=TYVƒãdˆÇ!àâǹ'K!ekB³Í¦ƒi›ÉÑ£G}ÿl^)„æœ#s>ǧÜWà|Î<+óL¦ga£H# 76“?Þ{/PPÀ†%‹ó2R–ïÈLn¯e!%==5R6ÆãJVn–òÁžž2ÃXjY›¥,Ur²ï)—ZV™al–r³”ñx A,`H‰”ÆåL.ÒMÊ Ø,eIJ&BJ,+<ÃSÑA`&‹àsʬ:tèPK µµ¼öZßqêr6ªú3-ƒºô[·Ž ±$™ñ}EÇn]_`š¶}¨µ(5 LS-u ¡×uïqœ¦9âû=o|ëV| AZ[b,™¼œ³Õs‹»uýT,Ök®‹aÖœÒ:Ò(µpgÈLìûïÚÚØ¾¢"í™;n?žÏ³æ™QèMÿpÝ™¾ÿM*Ufše¦9”J]õý^×-3ͦÙïº3uh×Ŷ‡týpk+pÒ¶m{£ç6[Åšëvûþ@*;|§{~b𕉄æûX±¶=Ièôé4¨†õPÀþýû››Ù´‰ÊJž~Zž?ÿ5—‘2¨Î”œÎÔÉŠi Ú6Ñ(ºŽmcšEÑè e†Ñ"D¯ëÓòxŒû 5órµ=®K4ŠaHdëÉ[)°aà½}ò¨öô0k–V\\Üp &2›ŒÁ>è•+–%¥”ñ¸4 )å!Ë:dYRÊO ã«xü¬ãt¨¼&™”ñ¸„Ñdr0™ì¥vØ0&’I)eÆÜ¤ü*ÿÄ0¤”ªUÎ:Ž”Ò7 g4‘R&“¹ œñ%,ÏÃxäá‡;;;OŸ>=>>ÎGÕÖòÄ“UºÎ–-òå—‡(×ÔÔ¬X±bçÛo™!£€ê+»ÔÚªÌxÄ4«b±«ž÷e,† +®«v¿ë^ ×uçÄbwÅbšA4ª¶·Îèz£mWÅb'm{$dÿׄõ¼ ånuýú’T9Ð:¸*aQèð,\°`pp0­WXHM 44ðè£Üwßõ..\àÝw9y’S§&ÿö)×âÅ‹ÏõõÇàD _aY«M®Á‡ù6à!˜Àw°;”Ñ®„†LÍ©ÎHÔAuÞHl®‡Ç ¤éP˜ËA‡Ù,]²øÜ¹>]烨¯§`Z~`Ë^}•òòE}ýJ2Ÿ@Úç7ÀÊà{ON®9 ¾OÀ±à{¬Ë üSqQM0oz³½ œ‘,W:°Ã8{®¯²r¹çñüóLLLÕ[6ÚÚ&¹Øß?> YQæLèìä&ci‰ e¢4Oƒ‹h€µÓàBÂ8 {¡3Ø’+ÍZ’“áÃ0ˆÅÔÏ1ð¡0/ÔõÛžÇæŽ›•÷¡©© xè!†‡'JÞÒÖP^¾(Ü<kT”‘Þ³, ý!É,ë%%é8J¸·½ý¯0 R>“;¶[Ö*`eâÓöv[µ²,)åöögá}P1(=bz¶7÷cð§#GV¯^ýá‡<õÔ”jï¼Ã /P^¾È ü…B8QG&½‘ˆ ¥‘HZÒ_‡Eª¬jLswè˜\øWÐjN$üMˆ®ëj×ÑÚÚ œÕ4 ‚B¯¦%a m;X5P«`>‡ƒ´%Pbç[¸PÓÕÕ5{6ÍÍôô iÚã?ö«;éìÚwíúr×®ÉÌýŸþ´yß>–C1P ‹ás¸ —J¥®¦RŽã‰DâÉà o&\3ÍÙ „ð}ˆD"¦iš¦y"‘¨ ¦iª~fæ<ÇÜBˆT*Õ‹I$DÍtï²i´´´$ნô¤®®N)¬[·NIþ )è åãÊ}Hu·d"•R&“Ià‚ãH)-Ëú,M+Ü k¡%hò{ÃP·ê¾@_©ý.”€dÁqœ pƒ¬$‰˜¡¼Æ²,'|£6­444=vŒ‰#!Û¹/uu±•+¿øâ‹4Ñ0sƒ«Ð,¨…Q×}€!®º®+Ä*â#)=Ïû6ùÌuÿ!ðÌW©Šm»º>bšo¥Reð-,uÝÏ¥|O9 †„è”òB¦GB,T·>ÏóÇõ}ß÷EP—”Ò yq@Ëû~«Pì(^GßåèÀ¨„2h…+ðk¸oBl‡m0›à"| xV‚Cð[8 uðË ÃOá4ÂÓP óáïp8g\TÜI :ăªˆñýÒ‘ W3m'ùoƒJ¨þõ·4(†ÃÝ0 ôAÃY8 ß„šÏ‚ùA)…ÙS<¦ÿoøAèÈ‚b'l;×`&D`Yà\”»UÿÜÓ`1ô€£ÁúK ¾ßõgáÇ # av.ÁŒ õº·m,d?èú³ uþX#]r ¡–ÅÒøÑöì¿j;âØuÑAIEND®B`‚axis2c-src-1.6.0/docs/images/icon_waste_lrg.gif0000644000175000017500000000141411172017604022516 0ustar00manjulamanjula00000000000000GIF89a æÿÿÿPq¨Riy´~”·Šž¾ˆœ¼‹Ÿ¿ÁËÜÃÍÝÄÎÞÉÒáÇÐßÖÝè[vžYsšWq—Tm’RjŽOf‰Ne‡_{¤]x \wŸWp–SkPgŠMc…c©b~¨Um’Qh‹Oe‡Nd†g‚«j„¬k…­p‰°pаqаt²u²|“¶˜º€—¹„š»Ž¢Á£Á’¦Ã™¬Ç—©Å˜ªÅ¯Éœ®È¡²Ë¨¸Ï©¸Ï­¼Ò¬»Ñ°¾Ó³ÁÕ·Ä׏Ũ¼ÈÚ¾ÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑà\´u—ӧ߱ʤµÍ¹ÆØƒ¢É¸Ø¸Îèëïô®Ñ«Äàÿÿÿ!ùT, ÿ€T‚ƒ„‚EGD C A…Ž… F'2CC:?>ƒF:QQ–—™:<žG¡£¤—³9ª… ­®®£³'¾'7¶ƒ ¹º'::22¾5ÂTBź'¦ÊÌ'3 CÆ2£—ÉË'1Â@ÜÞݤ§Ê/ÂMQé®Ý»âîÂ>õ˜Æì’ˆàBXKÞtx¢…0¢èHÎ%$+„íˆjbB_ʆÃÁ]ã–1ä# ’˜˜ Ea¸KRZ"1!lÉÌš4a=Á©³„0?]AJÔåa4’5tHN—„)‘º”jS$„ÁàÊԪΠÂü5¥””LWi‘<vÀd”“S£Tu"Ã%a,<¡©´lN$H2+0ä$Юz› ø ŒY¯f]j¦âräÌH@Cá¹êÕ!ž‘˜÷ذ² Ïy0¹j&±]À`3Ö¸sÊðA„(ˆà`+;axis2c-src-1.6.0/docs/images/icon_doc_lrg.gif0000644000175000017500000000246711172017604022151 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿýýþùúüøùûÚàëÑÙæÐØåÕÜèØßê×ÞéÖÝè]y¢[wŸYt›XsšUo•Sl‘OgŠLc…J`G\|CWua~¨ZuœWq—RjŽQiPh‹Ne‡Md†Ka‚I_H]}DXv?Rm5E\b©Un“LbƒI^~6F]3BXh„¬gƒ«mˆ¯pаrŒ²t²w´z’¶{“¶~•¸–¸˜º€—¹„š»ƒ™º…›¼†œ¼ŠŸ¿‰ž¾ˆ½‹ ¿Ž¢Á¡À¤Â’¦Ã˜«Æ—ªÅ¯Éœ®È¡²Ë¦¶Î¨¸Ï§·Î©¹Ð­¼Ò¬»Ñ«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ·Ä×¶Ã֏Ũ½ÉÛ¼ÈÚ¿ËܾÊÛÁÌÝÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàÆÐßËÔâÍÖäÌÕãÎ×äÓÛçÒÚæéíóõ÷úôöùóõø^{¤*7Ic€©“§Ã•©Å”¨Äš­ÇŸ±Êž°É¤µÍ£´Ì¢³Ë®½ÒºÇÙ¹ÆØàæîßåíáçïåêñäéððó÷ïòöîñõÝäíÜãìÛâëçìòæëñìðõëïôêîóâèïñô÷öøúûüýúûüþûíÿž—þþþÿÿÿ!ù•, ÿ+ H° Áƒ+A9`à€0#B #æË% v À1¥ A¢ƒE•Œ÷„\ R •%`D åc—8q†DdÅELuP.aIŒŒ˜"ÍDˆä£P£J½ ‹Õ=|fdlJ σ¯`ÃzHñæ Pxlýè5¬[ #Rp3ċڄ\ ˆÙË·/–'yò\Aè.S¢ˆ)I¢$ˆPµ”¶LšL¹re2쀜8¤€ÌÖä€|§:RëÀ‘ÃÆgÚ ªÁ±€H±q4H‘­x?náA¼8qœ;vèÈAP£µA& ½{Ð"5ÎýzA:çiÕ«[¿ÿ>£M ÈŸ„nÓ˜"@ *ïpÅV†/Ž\9ó0]À±U$èÖ#‰Ò‡!,ÆdˆÑ…Y¸‘‘º•ÖÃwª±ælWLÑ@FGð¶H"h—”Æ^l±GSDá„¡#úíÇCË‘¡Äd$" €†Ca|Á|X!…O,GGDÑ)jÈajŽG„d´Ci˜ …WPEL$‘‡t1Ç@t ö¸Ìñàà ±ã!Ú8$t1‡@º•0cN,jEÄ!D’æp !dd `ð@˜HÐ|@(„P (õêk%;axis2c-src-1.6.0/docs/images/icon_arrowusergroups1_sml.gif0000644000175000017500000000206011172017604024752 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿõ÷ôJ»SÄ SÃAb.i‰VmŒ[™®ŒDCˆY±^·#T£"[–5bŽFI®K¥ /a P¤RŸª²¤¡š@;€%P<} f|T:{:u!=¤¨›†‰|±²­ª­œþþü××Öýùºþö°þö±VNþò¤þò¥þò¦þò§þò¨ÿì•ùè”þîœðá•þïžÕÉŒÿç‡ÿèŠÿéÿì—ÿò¼ÿò¾ÿôÆüöÛÿùßäÌwÞÆtîÖ}êÒ{éÑzíÖ~äÝÃÓ̴иkÁªc͵j˳iÕ½oÓ¼nηp­œhǵxæÕœ¹®‹§‡'³—D¼¤\À¨b«i¿©gº¤fº®Œ¸±ž­•W§T ŒY›ršw“|I˜L•M“}L–€P•…`¡hŒuHˆrFŠtH†rJ…ya‘Š|jZAzTl_KoHwS(QF9Ÿ]ˆOVK?U*êwçvãsÞrÛpßvãzàyÔs¬_ßyÜzêƒâ"ãƒ$`8æˆ*±r4°x>ze¾²¦÷õóálÖl ÏiÚwÛvÙ|'²¡‘¨“ëáØP%ÁZËaÈd}m_š’‹¿W¸R´O¿]‹IJ®KM% ªF¥D Cž<0=ƒ%;7 3 2åããVUU’‘‘ÓÓÓ«««lllÿÿÿ!ùµ,ÿk H° Áƒ",c…É" #ì"ÊU$dãÄÌ“Zc†Ø¸qÇãÔ`±BŒ.J„ÔháBŠ@X8sê|EP *häHsĈ1¢ |åÊ•,Y³fÑâIÐÍ’ /šìð²… ’a ¾zuªÁ5_’hÓƒ™3aÐ18V*UƒY°@áKS¢L“!’DwÖ]‚@H`Á?|-¢$hPº(ð@À…v ÚÓÐ#HoP*Ѐ„ rî Ê£§‘#Lž ¡\B þà é’%N¡H‰BÉaC†>ÌatiS§Q¦N¥R…²V  F„  ó©N%P¥P­bÕ* ;axis2c-src-1.6.0/docs/images/icon_arrowmembers1_sml.gif0000644000175000017500000000206111172017604024167 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿŽ”ùúüÑÙæ×Þé4D[RjŽ4CY!*8˜º‰ž½‹ ¿t…Ÿds‰Ž¢Á¤Â^hw¦¶Îgp~¬»Ñ±¿Ô²ÀÔ½ÉÛ¿ËܾÊÛÃÎÞÄÏßÈÒáÆÐßÍÖäÌÕãÓÛç7H`=Pj•©Åš­ÇºÇÙàæîëïôßãè[jzñô÷YjnY[ZTlXC\A>l*6]#`•Gfs`ôöóTxAdÉ&cÆ&T˜+rÆ>rÇ?R.Ew(hŸF= cÃ&a¿&a»&fÁ-iÅ/hÂ0c¸.jÂ3j»4l¾6i·4sÌ;,JxÊEŸ­–›¤•a¹"`³&_«(rº?°º©àèÚ6X¢T—Y£ ]Ÿ(S’[”(P‰Lq(-O…JvN|!1Knjoc#Ed?P 9=þþüýùºþö°þö±ûð§þò§ùè”ûëšðá•þïžÿç‡ÿèŠÿéÿì—äÌwÞÆtéÑzíÖ~äÝÃиkÁªc͵jÕ½oηp§‡'³—D¼¤\À¨b«i¿©gº¤f  §TžŠX›r•M–€P•…`¡hˆrFmEnG†rJåããVUU’‘‘þþþÌÌÌ«««lllÿÿÿ!ùŸ,ÿ? H° Áƒ*”„HP¢> ‚(P€ Íaã†Î¡ˆ? ƒ@H|ìÜiƒ§H‚8à†í©ç !™‚ Ši` ’H-ýñ“'ŽœA1]ºÄ‰S§NžŠ¬0Rƒ¯ X02HO¥‚˜ª^ÍZR’k"MzD)…Á´XµtÀ+ƒ V´ÑDJ &w;é%(a¤&(Ð "„ÇŒ)Ip¼¸‹Ä€^¸¨±$G!EŒ ñRà2X˜ ÃŽ@ž@Á¢EIëO :@00" G¢\±²Œ˜0¿E„@ð A‚Nªdñò¥Œ4i~Ü4†K*]ÈœQ£hQ@;axis2c-src-1.6.0/docs/images/nw_min_hi.gif0000644000175000017500000000005611172017604021467 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù,„sËP;axis2c-src-1.6.0/docs/images/icon_confirmsml.gif0000644000175000017500000000013611172017604022700 0ustar00manjulamanjula00000000000000GIF89a‘ÿÿÿ™!ù,/Œ©‹Â+â´Ú(À´7ê­`Ÿ‘¤× ‡˜Øê™†+‰ÔB³·BÙÞãÈZ"£;axis2c-src-1.6.0/docs/images/sw_maj_rond.gif0000644000175000017500000000006311172017604022020 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù, D~†šÎš’²;axis2c-src-1.6.0/docs/images/icon_members_sml.gif0000644000175000017500000000177711172017604023050 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿŽ”ùúüÑÙæ×Þé4D[RjŽ4CY!*8˜º‰ž½‹ ¿t…Ÿds‰Ž¢Á¤Â^hw¦¶Îgp~¬»Ñ±¿Ô²ÀÔ½ÉÛ¿ËܾÊÛÃÎÞÄÏßÈÒáÆÐßÍÖäÌÕãÓÛç7H`=Pj•©Åš­ÇºÇÙàæîëïôßãè[jzñô÷YjnY[ZTlXC\A>l*6]#`•Gfs`ôöóTxAdÉ&cÆ&T˜+rÆ>rÇ?R.Ew(hŸF= cÃ&a¿&a»&fÁ-iÅ/hÂ0c¸.jÂ3j»4l¾6i·4sÌ;,JxÊEŸ­–›¤•a¹"`³&_«(rº?°º©àèÚ6X¢T—Y£ ]Ÿ(S’[”(P‰Lq(-O…JvN|!1Knjoc#Ed?P 9=þþüýùºþö°þö±ûð§þò§ùè”ûëšðá•þïžÿç‡ÿèŠÿéÿì—äÌwÞÆtéÑzíÖ~äÝÃиkÁªc͵jÕ½oηp§‡'³—D¼¤\À¨b«i¿©gº¤f  §TžŠX›r•M–€P•…`¡hˆrFmEnG†rJþþþÌÌÌÿÿÿ!ù™,Ü3 H° A‚’ JÔG ˆpÀ ÐÑ6nèø!€ÇBâcçN<…2mpà@€ :4 ´§œ7„2•øÈÓÒ?yâÈ”©‚G ’2`ÁÈ =•RàùqM¤I(¥z4é‚+ZÈh"%“L<^RB "Bx̘’Ç N uà¢Æ’A†1‚Æ2X˜ ÃŽ@ž@Á¢E‰‚ ŒˆpÃÇ‘(W¬l#&Œˆ2!H°ÃI•,^¾”1ƒ&MALc¸ô Ò…Ì5Š;axis2c-src-1.6.0/docs/images/icon_arrowfolderclosed1_sml.gif0000644000175000017500000000067111172017604025207 0ustar00manjulamanjula00000000000000GIF89aÕÿÿÿâæë€€üùÙúò®üöºûöÉýûçøì¤òã•õçœä×™ëà§ñÞˆòàëÙ‹íÕ|âÊvàÈußÇtÙÂqÕ¾oîÖ}åÎxéÑ{íÖ~ïÙƒÕÁ{Ì´iØÀpѹlÏ·kɱhÜÄsÓ¼n¿«lÕ„¼¥`· ]±šZÅ­eÁ©c ˆO«”W¥ŽT”}IŽwF™‚L†oB­¬ªh=u^7jR0VUU’‘‘þþþòòòmmmÿÿÿ!ù;,ÖÀpH,žŽH¢ÄÓQŸÆá€(¡V0—;oPa…aP±Z(‡q ®¯-¼#L ƒq0$+_sP(w‹ ‚D722…E, & 0_”–C,x€¢¤’2¶¨;!&' ¯"Äqµ:¹;#+'°ÆC7ÈÊB1' "#æ3_Ét4+¢ã &15,rt;/+ï-4hˆ€²ˆ¾a `Ô¸†–ôF4œ¸ãD Za‚;axis2c-src-1.6.0/docs/images/product_logo.gif0000644000175000017500000000125011172017604022215 0ustar00manjulamanjula00000000000000GIF89aгÿÿÿ±ÀÑßåì3f5]†¥¼¿ÌÙïòõu‘¬¦¸ÉÏÙâÿÿÿ!ù ,ŠÿÈI«½8ëÍ»ÿ`(Ždižhª®,™A°m}/Ï…ƒ˜0€HølŠ¡’v$é”1cS„*'œ¡‡J¥‰€tš ÆãÂâ{2DSO¦„Kî —½ÈMBcuTwM}‚%O k2 {B“10b/g[‘n1{f ˆ£–V&^¢ˆ¦Pr“•—fbOCh ÃBÅšxµÄCÈJ&ÂJ¤Îš1̼¾P à š±[g±›Íz F¦ê AåfÛY€š#äO®ß$„cC`—L=Ììé“ëD—<¢ƒí‹ÎÿôðÂŒI QÆ àî¡T,»Y8S„&O`{Ó‚]FM0cLnÁ%)˜Òƒ®é£G;0ÀmR-z”ÆøÃ‚›ÊY&])t‚G !­pÓY!m¥iE8ñ¬ÑgP eÇÎ*{4i6YCêúµÐG]Óo •9‹"ë_QN¶•ùr‚»˜ñ,W®Àø·Á‘nìµ²‚O,KS$‰»s+f?ZOX-\T š0MÀd툆ãôhºœ(i…‚€çLž¡./UeV×5¾sÈånÔ@bžUËдÝ1«¶ÐÑvçÏht Сk°žlO®%D³•Um¦Mó…˜Ö ¡ÀMö'A„ÓáwuLõ”Eªì€I:C aì}2G(°Ü@Õ‘ÝC×E•ÝKn£9–×PœáV™ÜTžÛ\•Í\¢Ûe|¡T¶â†czK„¢e±ÕŠgxU…y}Å*{À)€Ì,~È+|Ã*…Æ8ŒÊE’ÓI–ÎTb‡8žÖ_¦Öm¦Ór¯Ü}wµ%{¿(y¹'x¶&z½(}¼-}¹.€½2„¼:’ËM“ÆRšÍ[˜Å`ŸÎeªÕt«ÕxLUAu²$t®#r©"u°$t¬#sª#v²%w±'z±,j›(~±5Š»F—ÄY¢Ìjœ¼p³º©r¦!p¢ o¡ q¥!q¤"t¤'ƒ°>ºR›Âb«ˆmšnžu¢*‡­Ek–i‘wŸ/Wq(gŒhy›4e‡g†"c™ †a|_w_yv€X^t]q[len;UcFK…†~HMW\*GJxylHKEFFFýýÃýýÄ?>ýüÁýú»ýø·þ÷³þô¬þðžlhNÿí–þæ†üä…øâ‡ÿéŒàÈußÇtÝÅsóÛ€îÖ}êÒ{æÎyåÍxåÎxúâ„øàƒôÜðØиkʳhȰgÔ¼nѹl͵jÛÃrÓ¼nÀ¨b¸¡^³›[ªd½¥aÅ­f«”W˜KyGŸ‡O›ƒMˆqAzf?ƒk?ƒlAoX4eM-e\PËÉÈþþþèèèØØØÿÿÿ!ùÿ,! ÿÿ H° Áƒ<·N»vî¸)œHp^»iÍž @Žʼnòª PV Y2fÓ´ûˆ°ß¼o–%[Æ ™±fæX„G.›·@—“æQ'Azä¶]‹TÀ4dÏÒ@µªUƒôÂQ×­©€bËŠ , ¬Y³ Úw›7hM“)kGG€òæ  -A{îÐq»Ö îFdÈÖM p#‚cÇ7ÊVU¡¢Þ:¶Ù®yóÖUÀ·w=P¢tigðC²¤^:sç¸eÆí[4Ð;¤ÞÍ_GâÍK'Ý9kÔ¸«WP÷n³«“$aÄǽ{íØWnÞ½ ÍÍ–ÿ @¾¼ùò+Þáˇ=z½˜øËý<úôêE˜@9S(?~eñ£Fhd2sŒw^y58_|!F/fõsFø‚ª!!u>q@Wd¡`€AÆe5q"xàÆ>¨àyÐEV`ÅrxA†Ma‡‡$9JöHD ;4QÅT€ÆXÆ!‡ sBˆ!†\r &ûtà7š÷RHFm¸Qpć ƒ bI!…ˆÂ„ V÷ä:üRÀY‡k¼1‡~H •TÊ¥²ØpÄ =¤Yqº!zôAÈy(Òˆ$”P (§œÿb ‚BYhÀÀ²!~üq‰"‹8ˆ&|bŠ*®¸¢ CÄ :á@ ¼Ð‚¥î±Ç–\BÉ#Œt²I)¤ Ò +°Àò ¶š+.  B0{ð‘j±ÇvÂI)¨¤ÂÊ+±ÌB .Ã@­µØj‹Â $°0I#‹k.ºêÿhpm¶d° "ˆ€! JH"¼ø 1ÄãL/4þ“ÉP38 ]ô×!ØPÁ?PvIX0Ð ÷ÜsDw¥wA;axis2c-src-1.6.0/docs/images/strich.gif0000644000175000017500000000005311172017604021011 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿ!ù, ;axis2c-src-1.6.0/docs/images/nw_maj_hi.gif0000644000175000017500000000006311172017604021451 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù, „¦Ê š“ ;axis2c-src-1.6.0/docs/images/icon_folder_sml.gif0000644000175000017500000000117211172017604022656 0ustar00manjulamanjula00000000000000GIF89aæÿÿÿÿþ—üø“þú•ýú•ýû•þü–ü÷’ü÷“ùðŽùîùï÷íŒöè‰õèˆæÙ€÷éŠ÷êŠîá…öæˆõå‡ôä‡áÑ{ëÖ~òðèÜÄrï×}íÕ|äÌwâÊvàÈußÇtÜÅsï×~îÖ}ìÔ|éÑzçÏyåÍxåÎxãËwðØÚÅtåÞÆÐ¸kζjÌ´iʲhȰgÁªcÚÂqÖ¾oÔ¼nÓ»mѹl͵j˳iÛÃrÕ½oÓ¼nËÁ åÞÈÁ©b¶ž\´œ[¿§a¾¦a½¥`¼¤`»£_º¢_¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëd¢—y©ž€ ˆO¡ŠP­•W«“V©‘U¨T§T¥S¤ŒR£‹R ‰Pœ…N°˜Y®–XŽwE—J•}Iœ„M˜K”|IŸ‡OŒ}\‡oAŒtDˆpB†oA„m@‘yGi=‚j>zb9ya9lY:nV2mU2kT1jZBdM.bM1bM2×××ÿÿÿ!ù|,×€eJHHIO|ˆ#!:Nˆ|_ UH`@F78bŽ7 * 4i_Sf$A"°%4?_KWD&]|g#XF;* f|W#B   4.Z|[#-7#)371?\|U'E+å(!602GSH|40p N„¨‘Š&UÂXáó!‰x¼xB$H•,TèìADeŒNˆƒeL9=©aÓdˆ’/WÚàAãÈ‘9G˜h‰“GJÍšoÖ±sç§Q/z¢ý;axis2c-src-1.6.0/docs/images/icon_folder_lrg.gif0000644000175000017500000000301411172017604022644 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿýý©ýýÄýýÎýýÒõõÏòòêõõîþþýõò™îë›õò¢õó¨ñï¯ôó´ôóÇòñÎïîÓ÷öÝíé“êæ‘åàŽëç’ëç˜èä¢âß­ìé¸êèºðîÄèæ¿÷õÌèæÄìêÉêèÈêéÒ÷öâåäÒÞ׈âÜ‘âÜ“ÞÙ“ãߪÝÚ´çä½äá»çä¾éæÁßÝÀîìÎÞÜÅêéÚóòãêéÛø÷ëñðäêáŠäÚ†õì‘ÝÖÛÔŒÓˉåá¼âßÀäáÃäâÎîìÛǽwÉÀyÊÁƒÏLjÐÊœðîÞøöæìêÛô䈾²p¾³uåÕÝÍzýå†ñÛ‚ÜÄrï×}íÕ|ëÓ{äÌwâÊvàÈußÇtÞÆtÝÅsÜÅsôÛ€óÛ€ñÙï×~îÖ}ìÔ|êÒ{éÑzèÐzçÏyæÎyåÍxåÎxãËwáÉvòÚ€ðØиkζjÌ´iʲhʳhɱgȰgǯfÁªcÚÂqØÀpÖ¾oÔ¼nÓ»mÒºmѹlÏ·k͵j˳iÛÃrÙÁq׿pÕ½oÓ¼n±™YÁ©b´œ[²šZÀ¨b¿§a¾¦a½¥`»£_º¢_¹¡^¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëdªd ˆO­•W«“V©‘U©’U§T¦ŽS¥S£‹R¢ŠQ°˜YèÈ|’zGŽwE—JxFœ„M–~J™L—€KàÀxuD‹sC‰qB‡oA…n@xFŽvEˆpB†oA„m@‘yGðÊïÉ€g<}f;{d:ƒk>i=~f<|e;„l?‚j>rZ4s\5r[5{c:ya9kT1fN.ÙªvÔ t節à¨|Þ¦{Û¢yߢ|ßž}àŸ~æ¡‚Ü›|ÿÿÿ!ùØ, ÿ± H° ÁƒñʳgŸ>nÞü„°"Á=m ظ‘„C¹HadHÔ¨MŒ N¤‘ãä\²£iQ©J’Œ‰¢Àƒ$«ÎyŠÑ£PtLh@BÁ‡.6>hyb‚›TyèLª5pÎ]Ší¢CB… N,\ɲE#JLš‘Q¢­oª [e ™2fÒêÃÈ‘£!+@ "‚…†A…f Ô‚Glß1wzIŸ+8:Ј°àÂ+Y1£F‹ B @¿r‹¢@l1Í5Ñì2Elxaod¤±ƒìÁ ÒÇ\@ƒX Q/ÐPó ðFÁ¥FHÄ$#w’È.¨Q5Ò˜òÞ Îw…}…¼Ñ‹A­ä¡%*¼ÔñhÝu¿™RäÑÀK~”2Ceˆqà“½ýVWlGqCä—H2ÂcP×F&†!Æg¦¹rÔ‘‹Aº&‰fT1EoaP±'§ù™Ð .‘‚(– A†aèÙWg¤¡\B¥s`r-Eé’Ê&€,)†UaF¤XlÈšnüÑê!Üb²¸Geü˜k°õ«|¼h&Š4â‰.-‹h¤‘jDËÅxPë pÚ±H'Ç(ƒ3³`Á_ZH!H…p œšâ 2ÂX„ 0\la ûöû»–hòH.Ǥb‘@¿ƒ‡ x BÈÁÊAÇ%™|2L2’\<*ªRˆC~À!ò%š°b ,*ÔJ,oô G#KŒ0Aå\Ð"ÀÄt˜„RL2“} ½XrÉ"®ø"™Ô’ˆ-¾°ÂõÅžÜÒÉØh§M@;axis2c-src-1.6.0/docs/images/icon_help_sml.gif0000644000175000017500000000177311172017604022342 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿÿÿþüö´ü÷·þüâüô¯üô°õî­ýúàùï©õì«þøÌþùÔþúÜÈÀŒúôÎþúàþúä‰~K|sHØÈ~ôê´þôÁñÚôÝéÓ{ðÛƒôáùæ‘*$6/KB"bW/aV/H¢‘R£‘S¨–W¨—Wï×}ëÓ{äÌwàÈußÇtÞÆtØÁq¯[õÝòÚñÙï×~îÖ}ìÔ|êÒ{éÑzçÏyæÎyåÎxãËwáÊvÞÇuÞÈuƱhôÜòÚ€íÕ}çÐzáÊwóÜ‚<4dW/rd8~G£SζjʳhȰg»¥`ÚÂqØÀpÒºmйl͵j˳iÀ©cÛÃr׿pÓ¼n4,±™Y´œ[®—XÀ¨b½¥`º¢_·Ÿ]µž\±šZÆ®fÅ­eªdǯg¯—X­•W«“V©‘U§T¥S¤ŒR¢ŠQ ‰P°˜YŽwE—J•}I“{Hž†N–~J”|IŸ‡O›ƒMuD‰qB…n@„m@‘yG{d:ƒk>|e;rZ4x`8t]6jS0nV2qY4iR0X@&ÿÿÿ!ù,Ø5J‚F7pèØ±B‹ÀF6.H( :À¢F` $Xx@aB… AftltÃA„ &ŒÈü@DH 7s4€!„‘"Œ¢À ÄÐàãÄ$?²hÉ#°"2fððÀ¥Ä*Wú”¡   F<¹r [h¤ÈÑ£I’%XÀˆñ"H ,¤TabD /kÚhfÊ+i¢”ù’ΞDçX‚&̘.lÞÈáSgÑÃ;uô¢ã'ÎCƒú>œÝˆD´s ,¤ˆÑì€;axis2c-src-1.6.0/docs/images/poweredby_036.gif0000644000175000017500000000145011172017604022107 0ustar00manjulamanjula00000000000000GIF89af&³ÿÿÿßåì3f@p0YƒPs–q©ïòõ¡´ÆÏÙâÌÌÌÿÿÿ!ù ,f&ÿpÈI«½8ëÍ;`(Ždižhª®§Ä¾p,Ï;Sâ{ã5näŒ2[²Wc"ŸMf¥F§Ò˜Rë#±F*Tœ…bi[XÑ ®ÚŠïòðK ¢ÙÎöµJï“ýuv7$f€}W<V…VZ,s†A.cBi”hžž˜Ÿ¢£j¦§¨©ª«¬­®¯°±²³´µ¶·¸¹ ºÄ¬ %ÃËÒÓÒÚØÖÑÃÕÛáâ» Á !çË Ø   #PÎ…w¼`è»@ \ ð{˜¾óúU˜¨@2Ðÿ&¨4‡õ& ¼XÅ—ñ½ ©a¢šX¦@àH N`©e€,l C*43iÁ£FV2L¶ ZÐŒBÛЧÀ®"¯ZæðꄨV°vC\|8‡‚øï¡du‰Rˆ›€©Ô´ š)%@@S pÇVlê.» -ðCp€rNÉø ¸3f¡ãB] BÁ¯|éVqY3¾…›;»{XÐË÷jD°®±Á‚I5L8"¥lw¡Z`É—?w,"s¾‹ d÷‡Ü°åÔ ¨Ÿð¼ƒáÕÓ³ð.±g½½´apñ¾ÛïtÕÉL@^I úù°aƒU%-ˆ± =n}BàbY=0FÒg(Œ"EÐ ‘‘Õ§0c ;axis2c-src-1.6.0/docs/images/file.gif0000644000175000017500000000023011172017604020431 0ustar00manjulamanjula00000000000000GIF89a ³ ÌÌÌàààÿÿÿéé鯯¯îîî333™™™‰‰‰ÿÿÿ!ù , EHr#iÉD°p ø$€(1¬¬‰Ü6°­…Hƒ`°¸ Hánr “Ë lúÜI§ÔÂàŠÅr»°‹aL.";axis2c-src-1.6.0/docs/images/icon_help_lrg.gif0000644000175000017500000000261211172017604022324 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿüüïþþôþþûÿÿþýûÀúùÞýùºýú¼ÿþîüö´ýø·ýø¸ü÷¸ýø½üøÁüúâûùáúùêýõ®ûô¯ýö±üõ±ûô°þúÓþüêþýóûñ¨ýó«üó­ýøÖüùâÿüæþûåÿþöüí›ûíüð¢øë¡úî¤þõ¾ýöÍüùçùç“ñàùé–ûë™øè˜úëšmb6»©aüä…³¢_ûä‡üæ‰òÜ…øã‰öá‰õáŒ÷äûè“ùæ‘ñßüè–! 1*KB!_T,^S,ZP*OF%SJ'dY0nb5l`4h]3ˆyCi]4‹|E•…K~GˆzDwk<©˜V‰{F–†Mɵh¹¥`¨–WëÓ{äÌwâÊvàÈußÇtÜÅsØÂqϹlÁ­e¼¨b§•W£’UõÝóÛ€ï×~îÖ}ìÔ|èÐzçÐyçÏyåÎxåÍxʵjµ¢_³¡^¯\«™Zª™Y¨–Xúâ„ùá„øàƒöÞ‚ðØéÒ{Ô¿pÓ¾pðÙ'! ;3SI'иkÌ´iʳhȰgÁªc–„MÚÂqÖ¾oÓ»mѹlÏ·k͵j¬™YÙÁq׿pÕ½oÓ¼nưg¥“V¡T+$‹yFÁ©b´œ[²šZ¾¦a¼¤`»£_º¢_¹¡^· ]·Ÿ]‘J}I{HÆ®fÅ­eëd”‚L’€K ˆO­•W«“V©’U©‘U§T¥S£‹R¢ŠQ°˜Y®–X’zG—J“{HxFž†Nœ„M˜K”|I›ƒM™L—€KuD‹sC‰qB…n@xF†oAg<}f;{d:ƒk>|e;x`8t]6r[5{c:w_8nV2qY4ÿÿÿ!ùÕ, ÿ« H° Áƒv¡¦á"I“QªÔÈ$C‡}z”p % 8€Ð A‚ %?|À!ƒ`Hu¬#‚8HØ‚ˆ+~èÙ³çÌ™5·zq‘€B *jH­O=C‰Eƒ¦ªƒŽ*L0 á©U¯bÕz†+>idœä‰hñÐ(2D€#UÚºM“FMRƒ”*ˆr#í# `‚ná5[^lta‰´R$‹žrs¹ øàCm_ÈO¬ŠœIi6nh„ÔA ¬X"'±acŽd1}pÃéÒêà¡-t eF+sþ„†,H›7\¼€ÿéu‘…lÛŸljd%u–#IØÁT)zlEÓÇÏŸJƒH†„tÌ' #ürP"1ì ˜ejDY TÜQÆUbÑ1y‚ofÛGDv…—d1 %<‚Ñ0’ šFdƒ\R†%‚*©s)5n‘œoQ†˜ˆQ$‡™È&ÆÄɈF*×…d‘4r"©¨²‰' 0sÐ-k`ÆÆwá!™QŠI¦(¤$sÐ+GÂÁÅ|‹L"™"@Ž œtòÌAµ¸ÁE|NB‘d¬Lù ¡¶Ür 2ÙâH£rÑ*¬”bÊ'¡Rè-®¼²‹(Ó'E.fg”Ѝ§h2Š©•¾Ë/Ît„Ë!ž¦œƒâŠ*,²$#MGñÂK/ÀãK.¹(sk'•.3 1ÅŒÂ,³Ã`ëŠ0¬~kn3±Ü¢ª¹ìVCÍ,»jÖî·Ó3Ë2óš» 4Í$’¯¹ºDÓQ@;axis2c-src-1.6.0/docs/images/newwindow-classic.png0000644000175000017500000000166711172017604023210 0ustar00manjulamanjula00000000000000‰PNG  IHDR Óº&tIMEÔ 8e1 pHYsÁÁÃiTSgAMA± üaPLTE0`€€€ÿÿÿeŠtRNSÿÿ×Ê A+IDATxÚc`bbb€&›‰ L2022"ØÈâxØ0sÁ‚`d€ØÖ‡ZËïïIEND®B`‚axis2c-src-1.6.0/docs/images/fix.gif0000644000175000017500000000026511172017604020310 0ustar00manjulamanjula00000000000000GIF89a³-ƒ„„H/üƱ8)&#æè騦¨ûýûœrTö¶¦„:$TRTxwv˜˜–´¶·!ù,bÉ9 ½Ô^+â_'n¡¨YE1REãAÐeWÏáÜ®QŠ!{p¯ØãñKÐe×0`!…5 V©J…Å`ÕÍÀÔÐQ7­ ¿¦Ùëý‚ ÷)€ƒ„…;axis2c-src-1.6.0/docs/images/remove.gif0000644000175000017500000000034311172017604021014 0ustar00manjulamanjula00000000000000GIF89a³!á•”ÎÌÊHJGùúø¹=9121áÜÛ½NJºgduqÁº¹MÝuséVQŒLH!ù,ÈI«½øûÙÝeY(jh‡ ,BÇ«µ.x« D]Ý/Y¬å£Ü0`hس @N£ð0-P‰pV2¢¦GA\¤ÞŒ@Áá`ØPC‚Àh &<)<] X%‚ ng~ v? \ˆ  c 8 W T¡M¢²³;axis2c-src-1.6.0/docs/images/icon_alert.gif0000644000175000017500000000214011172017604021633 0ustar00manjulamanjula00000000000000GIF89ajgÄÿÿÿýþÿÿ((ÿ;;ÿQQÿ__ÿ~~ÿ““ÿ––ÿžžÿ³³þÎÍÿååÿòòÿøøÿÿÿ!ù,jgÿ` Ždižhª®lë¾p,Ïtmßx®ï|ïÿÀ pH,#AÃ0h ¤¶pZ‡©VÕ \­ˆ­¸tøZ ãt€iv2Ôâ¶õ ×ÊÝ‚úôÞdäõH^wt€Glr…H‡mŠHewŽFw‰’@ Œ_ ˜™6 ¢ ŸW¡¢ ³ ¨1 ´²²m½²­¥¸+ ¿fÁË ­ ÆÇ%º¼Ð¢Í_ÏÛ¬Ô×# Úà¢wç §™º­ë²éò½â™ ñò¥‚f Í­[`­P¹z n ðÊIAœ¬Ã@µ‰kä˜P¢ì\«[ £ænD7'hPÿ$[§dšŠçÚ¥¨äl…ªs-ÓçMo,táĈäHY2WT1“¥ÅNhI§t„Jôƒ6a\$Û7 A”)0¡¾¸j&«Ö©# iî«Ö6n]ݦ ä´½âºh£Vî®H„eg—ßO…õr4ÁbÌvJ·Èà^}_4´WVfG ÒØ\cî2Cv-CðøÅI7.Ëj½£ó( €ÞÄÁ6Ú.~:{[Õ²osþ’ ÇÑÏ9þ.ƒ>ö‹Y +ïñ@{‚ãÕ¯ ÆÁÚòìr|¡ã(ð¶Ù¿Xÿ'¶vù3lOŽñå=ŒÚé•4ãáð‰ø¶Œÿ€7< Vî@`èå¥#)é 0Bƒ_pV§¡y<$÷a ‰4þÅ\‹ :ÑT¼X"‹:ÕDs;d· Œcáˆ7þ¸CBÞP£ Ò ”‘=zˆ 4Ò醽€‡˜”¸`)K‡ sw¾S¦„$fRa`=Øf%úHsb &úà£0sÎäÍ›)¸iç™3œÔûÉeœ .£¥Rw¨8ƒl^á¥(y–Ù œyX_‘#ÕÀÇʨb@ŒÚ Ÿ#|z] E„m¡Â * ¦z&€\ÆàÏaù¸(G)𫠹ɑa kÚšÚ6MªàÀ¥ÿÌ`ÚHÃâ`[Ý•ð,(Í*µM¶4$;[~xQÀ l:V°Õ"ç]N2,tƒ¸¢ ZƒÓŽdï¼G!î¼àÀ»V¿Q!‘œ(/ûî¾+‚óï ¬ò[׊"ÚyQª®×ÒÃJç<ìCÇã‘w˜Br-…r¡ ÊÊrð‚¶´à€*ÛÃ0‰ñS @@$q=^µ¬FÄõCåÒ0{Ø®NIGSO­šÔX_4Ž 匵,÷lBD_Cµ³$º µ -¶J›¢6Û?7€ÉÆo¿€76{çí÷߀.øà„^G;axis2c-src-1.6.0/docs/images/nw_min_036.gif0000644000175000017500000000005511172017604021376 0ustar00manjulamanjula00000000000000GIF89a€3fÿÿÿ!ù,„Q;axis2c-src-1.6.0/docs/images/icon_success_sml.gif0000644000175000017500000000173611172017604023061 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿ„™º¦¶Î§·Î¼ÈÚÇÑà¿ÈÕc~¢¡±Çßåíw¬™´¦¸Ë—®¿³Ã©½ËSq‚*/‚¡­%(#8='*!37,/(CH'AF&>B/2*,)FI"!Prkœ¼´¢À¸j•†„¬œtœ‹¢Å²FcOƒ­7G;ÅÖÈÈ£¬Ö©·Û´¸ß²2B.²á¥³â¦·ã«¸ä¬¸ä­ºå¯¼å±Â€¶ã©²à¢²à£œÎˆ¬Þ˜«Ü™©Ù—«Û—]•BÎ…¢Ô‹©Û‘Í„­Õ—]”>¡Ô„çñሻf“Çr¿mˆ¶jÐæÂøûöbœ7Jw*U‡0WŠ2•ÑiÔäÈmª;Ag$r³?o¬=ež8fž8b›7ZŽ2YŠ1S‚.Jt)Qy1‰ËW…½Yu¤Qe‹FcˆE—¹{›½{“h­Î×Çîóê„ÊGv·@uµ?k¥:hž7`’3Jr(ÃE^‘3Q|,S~-Dh%}¼DEi&‹ÎQ²Å¢ÖàÍÏ×ÈãëÜIm&Qx+Ot)Mo(êïåLl&Ig%Gc$õ÷òþþþûûû÷÷÷ÿÿÿ!ù‹,» H° A!,X E aCF5pAÆ *01#†"NT0è‡A˜ ¡ =†Y²&€ NR¤I’1ÅÁbà€JðÃ'À:oŒ8bŠ˜3‡ˆ-ÃeË“‹„у™>Ô|‰Â¥ (ØÌq£Å‹•4häÔ±(Ћm®TÉ"Jž;*d(Å"4l¨p ,Pø°( ;axis2c-src-1.6.0/docs/images/icon_arrowfolder2_sml.gif0000644000175000017500000000207011172017604024011 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿÿþ—üø“þú•ýú•ýû•þü–ü÷’ü÷“ùðŽùîùï÷íŒöè‰õèˆæÙ€÷éŠ÷êŠîá…öæˆõå‡ôä‡áÑ{ëÖ~òðèÜÄrï×}íÕ|äÌwâÊvàÈußÇtÜÅsï×~îÖ}ìÔ|éÑzçÏyåÍxåÎxãËwðØÚÅtåÞÆÐ¸kζjÌ´iʲhȰgÁªcÚÂqÖ¾oÔ¼nÓ»mѹl͵j˳iÛÃrÕ½oÓ¼nËÁ åÞÈÁ©b¶ž\´œ[¿§a¾¦a½¥`¼¤`»£_º¢_¸¡^·Ÿ]· ]µ\³›[Æ®fÅ­eĬeëd¢—y©ž€ ˆO¡ŠP­•W«“V©‘U¨T§T¥S¤ŒR£‹R ‰Pœ…N°˜Y®–XŽwE—J•}Iœ„M˜K”|IŸ‡OŒ}\‡oAŒtDˆpB†oA„m@‘yGi=‚j>zb9ya9lY:nV2mU2kT1jZBdM.bM1bM2åããVUU’‘‘××׫««lllÿÿÿ!ù‚,ÿ H°`%H$y2pDN Jœø¥ ª ÄÈ b&Šxã‚T( €@Ài¾L13R"‰ "r– ñãË’+D p0Ñ¥¦Ä3#6`1²Ãƒ è fŸ«X³ò!xeÄ!  @À4\hÈgÏž? ´•à–-nذa‡3nÄøÁe ¸réJ¬r¢ÈŠ~Q„°CÆ‘)Hž[· p48¢F(F˜T c¥ @ ~H"ÆÀ/ž R% :~$Æ–HeŒNˆƒeL9=ŒNTæÉ%_®´ÁƒFúH7rŽ0Ñ'ï5߬!cçzé^ôD1;axis2c-src-1.6.0/docs/images/icon_success_lrg.gif0000644000175000017500000000272411172017604023050 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿþþþŠŸ¿ýýþïñõøùûÙßêÑÙæÐØå]y¢XsšTn“Lc…G\|CWu[vžWq—RjŽPh‹Ne‡Ka‚I_H]}DXvb©5D[h„¬gƒ«pаt²{“¶–¸€—¹ƒ™º…›¼†œ¼‰ž¾ˆ½Ž¢Á‘¥Ã–©Å™¬Ç¯É¡²Ë¨¸Ï¬»Ñ±¿Ô°¾Ó³ÁÕ·Ä×¶Ã֏Ũ½ÉÛ¿ËܾÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàËÔâÌÕãÓÛçôöù*7IŸ±Ê¤µÍºÇÙ¹ÆØàæîåêñðó÷ïòö`{œgƒ¤ÛâëçìòìðõêîóNd|Š¢»¦¸Ëñô÷öøúûüýúûüœ²’«½Vu‰v–ªQo}t˜£„ª«k•ŒRwnˆ±¤Šºšd™q@]G;Q@KuSGkM]“bš¼œqšp˦ۣ~¤|¢Ã «Ê©~¤zQƒKc™[ƒ¾zHpADi=Bd;£Û™”ЇŸÙ‘¬ãŸ©âš«ãœ>\5:U2§â•§â–©â™^Ÿ5X’1SŒ/Q†-J}*~ÌMvºH‰ÔW}ÂR|§_Œµr˜½{™h¯Éž¿Ó²¥´›¶Æ¬ÍÖÇöùô|ÍCvÄ@qº=o¸ƒÓJ€ÍJX‡7Ž«yÐÚÉíôèR„+Q‚+O~*N{)Jt)õ÷óÿÿÿ!ùÿ, ÿÿ H° Áƒ_$@àÇŽ‡ò衃F „qØ@€Çì¨A`F‚E@ªüeÆ’.žü÷Â#Ž8q‚t2£LCf¶XItǘV®ÈDÈÂc8m¢J•ªC«EŒ|8ÙT)Q˜ÂŠKKƒ!@¼ÀÕãµPpãÊ¥%çK˜0[\°ÅØõ›¿€§Ù†ϟ<[H´%ªr=%³añ˜3c.1‹ž=!rôe1cSØì4h’£K‹¤ðµ™Ó„‰¸A„-ú‘%PÆ`zÚc–;„ZC…ËT-NLˆ ¸¬31’%9¥i#¾jrzÿìª2©,‰&EºDIѶڦÑÓ2ž6NÛ#<¬‰”©Ò'O³²-ò¸cÈRuE€yUDìRÊ(³`³Ñ=ïˆs:`ÄP—sügKß\ó^öÄ#L8º¢A,\a@ƒJ<E_t"Ë,ßpÄQ=¹ˆ#Ì.¼˜QÐ ÞtœÈBÍ4ÖÈQ7Ëà 1Ũ²‰­@EŽHq„hPCÍ<ÓÄS7eóË)ªœ² +ÈÔA :Ѝ…4óÌSN:ê8 7Œ2¨°ÒL/¾$Kt¥àD™‘€å€c:ºŒ³Ê3ÁdsK+¯@ªŒ3ë,á±`¦“%ÄŒÂ03Œ1½¸M4Ь㌫í@“>~ DÂüÀ6p 3»“JͼòŒ+íϱûìÃO?Q ä=ˆ(BgÐánuØaG}"ˆ~4Ò#e,A9ÜP 1ÀàB D°°‚ )¤€Â Ü&‚'eP„ œðÂ?ñ"„Â'= ,,K Á4Ð@X`Áh0ÓÎ<;axis2c-src-1.6.0/docs/images/icon_error_sml.gif0000644000175000017500000000176211172017604022541 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿ ²±«£ q x v m¸;@’GJf46éÒÓ_ Á· œ › ‚ i [ ¾½¹·«¦ ˜ — – “ Š ˆ ~ } s q p n X V L ž  … ƒ  v l ¾~ ®Â"±",¢9?‚6;{6:Ždfå³¶ðàáÂ$¿'¿)©OWͱ³ÞÐÑÅ-Å/«*Ç"4À"3Øs}ôÖÙñÕØðÖÙúðñûòóÇ%8Ç&:È(=È*@È+AÃ*?É5H½=MÀM\ùñòÄ+BÉ.FÉ/GÉ0IË2MË3OÈ2NÇ%9J.F¯p«±r®N3O²v´³x·µ{»@-EL6RO8V08G3O1:bGm3=4>7 C5AgOx?2ME7TmW†|d™}gŽu²š„Á^Vƒøððèààöððýýýûûûúúúôôôÿÿÿ!ù,Ï; H° AJýéÃg’ÁN’Þ´YcŒ—* FrÃM™/]¨HI‚h $5iÎŒ³å “%B€øéTÉ ™0P8ÁÒ$À“2,Êã…‹•,Z(µ¤D‡ŒðL‰¢É¥¨@¡€¢;GŒÉák$<Hd‡ >`ê'‘!\2ƒ†?v°hp‰‡  uÚ@‹ .¨Xñà = q˜0 )f$Tp„"F¼ˆQƒ´ÁGrểCÇÁ€;axis2c-src-1.6.0/docs/images/newwindow.png0000644000175000017500000000033411172017604021557 0ustar00manjulamanjula00000000000000‰PNG  IHDR Óº&gAMA¯È7ŠétEXtSoftwareAdobe ImageReadyqÉe< PLTEuuu™ÿÿÿÿÿÿ€8ÉÙtRNSÿÿÿ@*©ôFIDATxÚb`fff„f€b±™@€‘ €€Æ „8@!³™ @`6Ô€±L€Ø& ±´Â^IEND®B`‚axis2c-src-1.6.0/docs/images/icon_error_lrg.gif0000644000175000017500000000277311172017604022535 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿþþþŠŸ¿Ž ‘ † i c _¨FGŸBC£fg§ w t [ ž¼¹³­¤ ¡ Ÿ – “ Š ‰ ‡ ~ | z r p n f ¶µ¯©§ š  Ž … ‚  y w j  t s g ÆÈ·É!{lZ$&FHÄil®fh¬jm“dfÙ¨ªÄ#¹"¢!Ê)¾!,¼U[áÐÑÌ".Æ$1Ë&2Í,;¹)6ºW`“)Ì1BJL¥-;v!*Û¯´ëáâÏ6H".Ë8KPÑ:Nh']"†-9ä±·¿8KÐAWÆ>RÓCYÍBXDš=L•S]ãÕ×àÓÕÓG^¼@UÓJbF!H"M%ܶ½ÖOiT*ÖPjÖQlÑPj½IaH%£Zh]#0’9L= ×UqÑToÆOi¢[jØXv×YxØZyJ*ÊXvÚ`Ö^~e-<˜E\å¼Ç^*9Ûe‡Öc„ÛhŠÇw޾s‰{:NÛiÐ~—Þo•ŸQl…Ia‹Sn’[z±o•µvž™eˆ·{¤º€ªbƒ¢s™™m’¨}¦«„ªýýþøùûœ«Æ­ÇÑÙæÐØåÙàëîñö[wŸXsšTn“Lc…G\|CWuWq—RjŽPh‹Ne‡Ka‚I_H]}DXvb©_z£[uœ5D[gƒ«q‹±{“¶~•¸—¹„š»ƒ™º…›¼†œ¼‰ž¾ˆ½‹ ¿¡À’¦Ã˜«Æ¯É¡²Ë¨¸Ï§·Î¬»Ñ±¿Ô³ÁÕµÂÖ·Ä׏Ũ½ÉÛ¿ËܾÊÛÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàÆÐßËÔâÍÖäÌÕãÓÛçôöù*7I–ªÅš­ÇŸ±Ê¤µÍ¯¾ÓºÇÙ¹ÆØßåíãèïÛâëçìòêîóñô÷öøúûüýúûü‘3.¢@?›=<ÝÐÐÛÐÐÿÿÿ!ùÿ, ÿÿ H° Áƒ«±ZÅʸ‡†÷-›4„»Ø@€ÇÏÓvêF‚ï@ªüXï3’§.žüWÍc7e8q‚¤wMÌSìfN[IÜ0˜øòÉDÍ#¥>„¢J•ʆ—¶«ïà ;ÙTÀ”`Êå,]º[Ī àê‘ɾ·pãòÓGW3ok1v½4©¯_¿¦—*5j©O¢´1% ²\(L˜,ARd(7™²ìÊm€çÏŒ=Ž<ùP tA9CGÐÒÏúüúOs‚µÀµ+³˜½š„ºØ¬®¬ž¨!ù,|ÉI«½8klÌð_Ø×@4DJ,l’ —Ñ *»¼¤e¸|ïæƒq8HŒH EˆT8(`ª"†BÁ`€êAñ`…iM0·[—!ÀKǸ|N¨ianVXp\ ‚KXDNNRmKc“EXcJn#š›žŸŸ;axis2c-src-1.6.0/docs/images/nw_maj.gif0000644000175000017500000000006111172017604020767 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù,„‘ áíB;axis2c-src-1.6.0/docs/images/nw_maj_rond.gif0000644000175000017500000000006311172017604022013 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù, „¦Ê š“¡;axis2c-src-1.6.0/docs/images/sw_med_rond.gif0000644000175000017500000000005611172017604022020 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù,Dn˜ÀP;axis2c-src-1.6.0/docs/images/nw_med.gif0000644000175000017500000000006011172017604020764 0ustar00manjulamanjula00000000000000GIF89a€ÿÿÿÿÿÿ!ù,„aÁÛÌ ;axis2c-src-1.6.0/docs/images/icon_sortright.gif0000644000175000017500000000017211172017604022554 0ustar00manjulamanjula00000000000000GIF89a³ÿÿÿj´?S‡-˜ðZ}­ZÜ÷ÈJt)ÿÿÿ!ù,'ÉI«½W`+Φ‚á}ˆ@ãfEš±¬[™Å Ïõ=Ûd©[¿žÐ;axis2c-src-1.6.0/docs/images/folder-closed.gif0000644000175000017500000000033411172017604022241 0ustar00manjulamanjula00000000000000GIF89a³ ™™™‹‹‹zzzÿÿÿìììÌÌÌfffªªª´´´ºººáááÿÿÿ!ù ,‰pÉI«½xªN)KqA€™Ä0Hr@*)âî'RƒAp`ÅA:8B¡ `¬x‰‚b†¢ÑUU( ]JØa (€îN™è mƒwqG `Sc+&t#5‚CE5ZuA7)‘’f‡!)+ ‡qŸ¡z;axis2c-src-1.6.0/docs/images/icon_arrowusergroups2_sml.gif0000644000175000017500000000206411172017604024757 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿõ÷ôJ»SÄ SÃAb.i‰VmŒ[™®ŒDCˆY±^·#T£"[–5bŽFI®K¥ /a P¤RŸª²¤¡š@;€%P<} f|T:{:u!=¤¨›†‰|±²­ª­œþþü××Öýùºþö°þö±VNþò¤þò¥þò¦þò§þò¨ÿì•ùè”þîœðá•þïžÕÉŒÿç‡ÿèŠÿéÿì—ÿò¼ÿò¾ÿôÆüöÛÿùßäÌwÞÆtîÖ}êÒ{éÑzíÖ~äÝÃÓ̴иkÁªc͵j˳iÕ½oÓ¼nηp­œhǵxæÕœ¹®‹§‡'³—D¼¤\À¨b«i¿©gº¤fº®Œ¸±ž­•W§T ŒY›ršw“|I˜L•M“}L–€P•…`¡hŒuHˆrFŠtH†rJ…ya‘Š|jZAzTl_KoHwS(QF9Ÿ]ˆOVK?U*êwçvãsÞrÛpßvãzàyÔs¬_ßyÜzêƒâ"ãƒ$`8æˆ*±r4°x>ze¾²¦÷õóálÖl ÏiÚwÛvÙ|'²¡‘¨“ëáØP%ÁZËaÈd}m_š’‹¿W¸R´O¿]‹IJ®KM% ªF¥D Cž<0=ƒ%;7 3 2åããVUU’‘‘ÓÓÓ«««lllÿÿÿ!ùµ,ÿk H° Áƒ",c…É"a)<ØE† 3ªD|5‘3OjbãÆ S ÂrÅaœ,VˆÑÁE‰-\HQ)KVKƒj€ÔPA#Gš#F|Àˆ…§¬Y? ºYäE“^¶PAò#LħO£ \ó%‰0=H9M‘¯³h‰˜ ±4%Ê4I"I*ãέ…À„ ÀñÃçÐ"J‚µ!KîÁ <p!…C„öôôÒʃk)Ѐ„ rî Ê£§‘#Lž L]kA 0høƒ'P¤K–8…"%jâ@2tðða£K›:2u*•*çKˆ1"Ou**…j«V;axis2c-src-1.6.0/docs/images/nw_min.gif0000644000175000017500000000006311172017604021005 0ustar00manjulamanjula00000000000000GIF89a‘ÿÿÿÿÿÿ!ù,Œ-!R;axis2c-src-1.6.0/docs/images/icon_arrowmembers2_sml.gif0000644000175000017500000000206011172017604024167 0ustar00manjulamanjula00000000000000GIF89a÷ÿÿÿŽ”ùúüÑÙæ×Þé4D[RjŽ4CY!*8˜º‰ž½‹ ¿t…Ÿds‰Ž¢Á¤Â^hw¦¶Îgp~¬»Ñ±¿Ô²ÀÔ½ÉÛ¿ËܾÊÛÃÎÞÄÏßÈÒáÆÐßÍÖäÌÕãÓÛç7H`=Pj•©Åš­ÇºÇÙàæîëïôßãè[jzñô÷YjnY[ZTlXC\A>l*6]#`•Gfs`ôöóTxAdÉ&cÆ&T˜+rÆ>rÇ?R.Ew(hŸF= cÃ&a¿&a»&fÁ-iÅ/hÂ0c¸.jÂ3j»4l¾6i·4sÌ;,JxÊEŸ­–›¤•a¹"`³&_«(rº?°º©àèÚ6X¢T—Y£ ]Ÿ(S’[”(P‰Lq(-O…JvN|!1Knjoc#Ed?P 9=þþüýùºþö°þö±ûð§þò§ùè”ûëšðá•þïžÿç‡ÿèŠÿéÿì—äÌwÞÆtéÑzíÖ~äÝÃиkÁªc͵jÕ½oηp§‡'³—D¼¤\À¨b«i¿©gº¤f  §TžŠX›r•M–€P•…`¡hˆrFmEnG†rJåããVUU’‘‘þþþÌÌÌ«««lllÿÿÿ!ùŸ,ÿ? H° Áƒ*”„HP¢>3)Q :šÃÆ C1%ü d€ !ñ±s§ žB3]ypC€\ÀСQ =uà¼!“'šK˜\j韟ecºGJ»^O¶[b½ha½eq¹mw³~z»xrÊÀÅÅ5Á'È Ä,9Î42Þ&(ÇITÌBYÇWLÄ\OÌ^]ØHHÓMTÂWaÇ[jÑLaÝ_tÃ`MÓdYÊarÊfpÒffÒinÑayÖrz×~xÙwvàKOâMSäKPìKQáPKåPJí^ZéCgìrqîvxÎs‚Ëy…Ùzšàw†ésƒç}‘̉oσu¥µÌ›”ЀƒÓ‡‰Ý†ÜŠŽÚ‰Þˆ“Ù‹˜ÝŠÓœ•ݙٞ˜Ú— Û§’ß§–Ü®žÎ½¡Ø¦§Þ¡°Ø½´ç툎éŽàŸ›é’˜ð‡„õ›ƒò“—õ››þ””ÿžœäŸ¤ÿŽ§äªžë¦Ÿæ¢¡æ¥«ä®¢î¨ ê¯±à³ â³¡ç°©ê½¸ý¥®ö«²ñµ«ò¶¬ó·¹ò¼¼÷¾ÄÝÃ´êÆ¶ÿÁ®òÁºÛÍÄÖÊÔÛÇÐØÐÃÝçÎÞáØßçÚÓÿðÓÿùÛóõêÃÄèÆÅïÌÆèÊÈïÏÒëÝÐêÜÓìÛÔéÛÚèÜÞõÅÃÿÂÀûÆÎÿÒÅüÑÈÿÒÎÿÛÌ÷Ó×ðÐÛÿÑÐÿÛØÿÞÞðÃàÿÕàÿ×ãûÙçÿßëäíÎïãÍååÙíàÚõáÆðàÑôáÚÿàÙÿâÜÿçÞäæãíäåïêþàÿïâÿìîÿíçöóàÿöàÿÿäÿÿíôþêýöëÿýïúüíÿÿòîëÿãâÿæåÿáéÿíæÿìèÿåöÿïòõÿäÿðïÿôêÿ÷êÿôíÿøæùÿïþýéþÿïñõøñÿööþñòûúñúÿòÿÿõÿÿûóðÿðòÿöñÿôôÿöõÿòúÿñÿÿòÿÿôùÿõþùÿñøÿóùÿôùÿöûÿöÿûóýøõÿøöÿûôÿýñÿüòÿÿñüÿôÿüöÿÿôÿþöøÿúúþþýùÿÿùÿÿúÿþþúüÿüÿüýÿýÿþÿÿ!ùõ, “ë 8c Aƒ*ÉrE 5¤ÈA¢ Þ.^`É“w£Ž¼&¼`s”)yBhÈË´‚À‰5]Œ¡’LJ“0 ™cÈU·*a A¢c!;‡=i±Q R¨Â7„Â*S¡ä¥áAbÄ([‚¶m’4©Õ@s´lQ1Oüp‰¢Ä™#Dȱ%  ;axis2c-src-1.6.0/docs/images/icon_alertsml.gif0000644000175000017500000000023211172017604022347 0ustar00manjulamanjula00000000000000GIF89a³ÿÿÿ®··’™™ËÓÓ¯´´äééüÿÿýÿÿz{{öaaj__ïïïÿÿÿ!ù ,G°ÉÙ¡Lþ€¢F„ãU6*’«J£°¢ôˆ|Þ¼H‘e®" q Ÿ°Æaá,Ž’‚ó r¾à0çb)›Ï–;axis2c-src-1.6.0/docs/images/help_logo.gif0000644000175000017500000000410111172017604021463 0ustar00manjulamanjula00000000000000GIF89a”4÷ÿÿÿîîî111üüïþþôþþûÿÿþýûÀúùÞýùºýú¼ÿþîüö´ýø·ýø¸ü÷¸ýø½üøÁüúâûùáúùêýõ®ûô¯ýö±üõ±ûô°þúÓþüêþýóûñ¨ýó«üó­ýøÖüùâÿüæþûåÿþöüí›ûíüð¢øë¡úî¤þõ¾ýöÍüùçùç“ñàùé–ûë™øè˜úëšmb6»©aüä…³¢_ûä‡üæ‰òÜ…øã‰öá‰õáŒ÷äûè“ùæ‘ñßüè–! 1*KB!_T,^S,ZP*OF%SJ'dY0nb5l`4h]3ˆyCi]4‹|E•…K~GˆzDwk<©˜V‰{F–†Mɵh¹¥`¨–WëÓ{äÌwâÊvàÈußÇtÜÅsØÂqϹlÁ­e¼¨b§•W£’UõÝóÛ€ï×~îÖ}ìÔ|èÐzçÐyçÏyåÎxåÍxʵjµ¢_³¡^¯\«™Zª™Y¨–Xúâ„ùá„øàƒöÞ‚ðØéÒ{Ô¿pÓ¾pðÙ'! ;3SI'иkÌ´iʳhȰgÁªc–„MÚÂqÖ¾oÓ»mѹlÏ·k͵j¬™YÙÁq׿pÕ½oÓ¼nưg¥“V¡T+$‹yFÁ©b´œ[²šZÀ¨b¾¦a¼¤`»£_º¢_¹¡^· ]·Ÿ]‘J}I{HÆ®fÅ­eëd”‚L’€K ˆO­•W«“V©’U©‘U§T¥S£‹R¢ŠQ°˜Y®–X’zG—J“{HxFž†Nœ„M˜K”|I›ƒM™L—€KuD‹sC‰qB…n@xF†oAg<}f;{d:ƒk>|e;x`8t]6r[5{c:w_8nV2qY4áááÕÕÕÈÈȼ¼¼¯¯¯¢¢¢–––‰‰‰}}}pppcccWWWJJJ>>>ÿÿÿ!ùæ,”4ÿÍ H° Áƒ*\Ȱ¡Ã‡#JœH±¢Å‹3jÜȱ£Ç CŠI²¤É“(Sª\ɲ¥Ë—0cÊœI³¦Í›8sêÜɳ§ÏŸ@ƒ Jt¤Ka’6¢TÉ‘¥K IB”H‘¨HEwZ ¢`Áƒ(°ˆ 44€æTVœ—bHH@ B‡ xE´A‚=|ø AÃF×Ûš_^(¨`€Ã mäÉ£gàÀƒÓ¤¹´êðLH(Ø€"äÉ•-cF£¹O5µ<ˬô¡@ §óÔ0BDÐ#VX·V£faÙ0-Y!j&‚¢KÔ$Íëâl¸ÈBó'POÿ™Nž öì~bswyˆ©{G‡rÅôMkзysˤ¶mÙ\”7ô_€.IâÁ 1X–…tJÜpÓáÇ~qx‹Iâ àEÝ âuø¡K‰xà‰ N\A ãEGÈmÀÑÅa£‰Ùe#¢7Ûl£ 9â`c‘,)r «¹1!r<1ÝvdF”ó£‡A’9¤™q39…sä“h²ÄŠ >d–†rI!Ó%qG_RâÈ#ÂŒy¢APZ‘7ˆ3šå˜¨J‹ÈÀƒp×­!…tƒT‡d0u‰TÊ(zФe*£Ž”“pªÿºR()ôàqù±„tXl‘‰•XòH$Tc*¢q»j£©¾4ŠdŠ^Ñ’‰˜ zU«°‚Œ²A‰7áˆ7ášIà«Ý”{.BvHκžå6߈#Ž7ºê¾ßô{Ñ)Òrqáp”aÆšŒ•$‰t»H'É€;‘Ý”3¢ˆM $ä‘äl<À8°$²ˆIŠè±™Øt¸q9Ý ¢È1cäI®cèÅt“<2•"¬´ÒI(£<3æÉ"Ÿ¨¦‡NjÓa8+Ÿ8b9ß$ùÆã”$8#'‰Í6*Ç*Ð8]›3®ÆÚ¤q8Ûp㦬éÂFvmä¸cÓm±ÐD—ÿr 3G#=â‰!£;6!§ýñå¤=6×\«M¢Ø!fM£P[NÐ6Érp]|ÙH%Ó1ÒíУøíÉ'ÒŒ N’´ÓNö‡Ú¬iÐ7d.þÍîÌD¹@ž‹í¦äa£²‘Lw„Ë]xaz%PM÷Ê" ˆâz.ºè²ŒÅQ›Ãh9ú–/NÈŽ.zA`—sÐðæ$Öæë‹2œ¬Q.LÕ!SqÅ+P‘ Qâ¯ÓE,dá‹R€OlŒ³Ô§µ°M.xñ $x?ñ‘mDȳ2NbU…T'L@îÉ‚ˆÆBP%65µªYæQÍ‘¹÷aP~d"Ûúÿ’n­%»È.@Do­k¡gQ fTƒ!4ófŽ~-î†8|xC ~ˆkc,×ÁŒüâÀ1‚Á ^4ƒ…Ÿàž3Œq d˜âLp Ÿ9¸F²Ç•#‹#¬°Áµ¬Q|?Ô ™˜‡h?Â+’—ÒÌ2é f$ß¡FhÐB ”)ÅH‰h^a”Ú¶á cŽÌpd¬œ$5ùA…Ãqâs&Õ’(’k؆Û!I’8)È#ÙHBþƒÍ“Xƒ¶p†LÚ¸†øbÐXDLèYO†ô‚û\f?…ÂÏò¤ Õ‰¾Ú™Ð†:ô¡ ;axis2c-src-1.6.0/docs/images/icon_arrowfolderopen2_sml.gif0000644000175000017500000000123011172017604024670 0ustar00manjulamanjula00000000000000GIF89a!æÿÿÿâæëÿÿþ€€üùÙúò®üöºûöÉýûçþýôøì¤òã•õçœä×™ìÖ}ÞË~òàëÙ‹òè»íÕ|âÊvàÈußÇtÙÂqÕ¾oîÖ}åÎxéÑ{ÚÅtïÙƒèÓ‚ÕÁ{Ì´iØÀpѹlÏ·kɱhÜÄsÓ¼nDzn¿«lijzãÜż¥`· ]±šZÅ­eÁ©c ˆO«”W¥ŽT”}IŽwF™‚L†oB­¬ªh=u^7jR0Àª‰ìãÚVUU’‘‘þþþòòòmmmÿÿÿ!ùC,!õ€C‚ƒ„….-ˆ,,„"!0…‘’C0 )*,30%/1“£‚ 5¤¤2ª ¬®&#³´“3­!/6,-44C?ÓÔÕ>„1 "$Ï56-#-'‚>=88Bׄ2ÚÈ014<+ Ñùh÷.^¤( œQãÃ*XÚ>Ì@Gh zb9ya9lY:nV2mU2kT1jZBdM.bM1bM2åããVUU’‘‘××׫««lllÿÿÿ!ù‚,ÿ H°`%H$y2pDN Jœø¥ ª ÄÈ b&ö™8ðÆ…(¨P@€ 4Ò|™b†`>$‘"¢g ?¾,¹B]lîÁIò̈ XŒìð Âƒ:h¨9°ÏŸ?L%^ñAˆ$p€ Zl~–à–-nذa‡3nÄøÁE. ?t%V9QdÅ¿(BØ€!ãÈ$†ÕHœ N„¨‘Š&UÂX± H3ÉIĘÀãÅ"Aªd¡BÇM×9©Œ±ñ  `°Œ©3§GÁ›9ªaÓdˆ’/WÚàACróD7rŽ0Ñ'”èè¾YCÆÎôðyÑ}@;axis2c-src-1.6.0/docs/images/icon_infosml.gif0000644000175000017500000000011511172017604022173 0ustar00manjulamanjula00000000000000GIF89a ‘ÿÿÿÿ!ù, ” w¡šƒ©›lzO=àwi€XMèbŒL[;axis2c-src-1.6.0/docs/images/icon_info_sml.gif0000644000175000017500000000113611172017604022336 0ustar00manjulamanjula00000000000000GIF89aæÿÿÿýýþùúüøùûÚàërƒžÑÙæÕÜè×ÞéÖÝè 'SG]}]y¢Vp–OgŠLc…J`EYxCWtI^~FZyeªh„¬gƒ«j…­l‡®mˆ¯pаXl‹t²v´dy˜w´|”·~•¸w­€—¹uŠ©nž„š»ƒ™º…›¼zŽ¬ŠŸ¿w‰¤‹ ¿¡À¤Â…—²™¬Ç˜«Æ‚’©’¢º†•«¡²Ë¦¶Î©¹Ð­¼Ò¬»ÑŸ¬À±¿Ô°¾ÓµÂ֏Ũ¼ÈÚÁÌÝÃÎÞÂÍݲ¼ËÉÓâÆÐßËÔâÍÖäÌÕãÓÛçÒÚæÈÏÙéíóãçíõ÷úôöùóõø@TpAUqyŽ«}ަ•©Åž°É§´Å¹ÆØÀÉÕàæîßåíáçïåêñäéððó÷ïòöÝäíÜãìÛâëçìòæëñìðõëïôêîóØßçâèïñô÷öøúûüýúûüþþþÿÿÿ!ùr,»€r‚ƒ„…‚`fg`l\d LGƒ^qqopnQmbj.‡™MObhNg r\oP6 [igŒ%‚d›mE4k_^eL‚ PRah YcHB‚ËjfV ‚FØ`\- 5Z=97‚D`] I' 1ì30‚@KICA@,¨"‹éøcÇ $X ñA‚ ?tàÀrå…Š!8h 2è† @ Pa†b ;axis2c-src-1.6.0/docs/images/icon_arrowwaste2_sml.gif0000644000175000017500000000114111172017604023657 0ustar00manjulamanjula00000000000000GIF89aæÿÿÿÚÞé4WžðòöùúüÒÙæÚà냗¹…™º±¾Ó°½ÒÑÙæÐØåÕÜè×Þé`}§\x Ph‹EYxb©Un“`{¤h„¬j…­l‡®k†­y‘µ˜ºŠŸ¿‰ž¾ˆ½˜«Æ—ªÅ¯É§·Î©¹Ð­¼Ò«ºÐ±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ¼ÈÚ¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÈÒáÇÑàÆÐßËÔâÎ×äóõøc€©š­ÇŸ±Ê®½Ò¹ÆØàæîáçïðó÷îñõÜãìÛâëçìòæëñëïôêîóöøúåããVUU’‘‘«««lllÿÿÿ!ùO,¾€O‚ƒ„…‚'!!;< F†‘† 3/6’ž‚)B—AŸž+ 8—17*ª’+?C77D6„KÂÃÄJ„*5——C%9…JIILLMMNÆÇ 11,(:†JÔÖØ†)7Ë2#"‘å×Ù…êË8C-:’JMõ Xwéˆ âùó¤€`6Lx°P+Ò‚Ë€èÓ¡¢!.–9Ѓ£GC`)"€‰Ž'QF˜9³P ;axis2c-src-1.6.0/docs/images/collapsed.gif0000644000175000017500000000006511172017604021466 0ustar00manjulamanjula00000000000000GIF89a€!ù , DŽ`ºçžcŠ5 ;axis2c-src-1.6.0/docs/images/icon_info_lrg.gif0000644000175000017500000000254711172017604022336 0ustar00manjulamanjula00000000000000GIF89a ÷ÿÿÿýýþùúüøùûÚàëUm“ÑÙæÐØåÕÜèØßê×ÞéÖÝè 'S(Bi+Fm6OsG_ƒH^€H^_|¦]y¢Yt›Vp–Sl‘RkLc…J``}§Xr™RjŽQiOf‰Ne‡Md†H]}b©LbƒI^~e©gƒ¬j…­l‡®mˆ¯o‰°WlŠpаq‹±t²u޳z’¶g|š{“¶~•¸l€˜º€—¹uŠ©x«ƒ™º…›¼zެ†œ¼ŠŸ¿‰ž¾t†¡~‘®w‰¤‹ ¿€“¯¡À”¯£Áz‹¥¤Â’¦Ã…—²|¦Ÿ¹™¬Ç˜«Æ—ªÅ—©Ã¯Éœ®È ¸¡²Ë•¤»¦¶Î¨¸Ï§·Î©¹Ðœª¿¬»Ñ«ºÐ¡®Â±¿Ô°¾Ó²ÀÔ³ÁÕµÂÖ¶ÃÖ§³Å¸ÅؽÉÛ¼ÈÚ¬·È¯ºÊ­¸È¿ËÜÁÌÝÃÎÞÂÍÝÄÏßÉÓâÈÒáÇÑàÆÐ߸ÁÎËÔâÍÖäÌÕãÎ×äÁÉÕÓÛçÒÚæéíóõ÷úôöùóõø\xŸc€©oƒŸ£¿“§Ã}ަ•©Å”¨Ä¨Šœµš­Çƒ“©“¤¼Ÿ±Ê¤µÍ£´Ì¢³Ë®½Ò¤±ÃºÇÙ¹ÆØ¯ºÉ®¹È³½ËÀÉÕàæîßåíáçïÙÞååêñäéððó÷ïòöîñõ¨µÅÝäíÜãìÛâëçìòæëñìðõëïôêîóÒÙá×Þæâèïñô÷öøúûüýúûüþþþÿÿÿ!ùµ, ÿk H° Áƒ*\ȰáBqôàÉsGΜ:qà´A“æL™1’Ò0Œƒ*­“RÊš5`þ‚…'ŠB8NÒJ)`%K—±þš)j(%ù|Ò©råOv‚…J”ªU¬ÜL:ˆeO§ì4h0!P ª£T±òƒêÓƒtx‚%KÂØ™B¥ÅŠ*¨WDÆ‘5—îŸw÷ŒÂê'Õ§W8ù8èæ'P¡Z9hÐH-ÛT7•2…ƒkKÃSCéõÜ÷¯hSÐ8h õ̪šÖ`b£ÆÕãMœLRÀAŒƒd0S-ªê„»¤:m®€AApache Axis2/C - CVS

    axis2c-src-1.6.0/docs/coding_conventions.html0000644000175000017500000002211111172017604022336 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Coding Conventions

    Axis2/C Coding Conventions

    1. Naming Conventions

    • Namespace validation is done using the axis2_ prefix.
    • Underscore should be used to separate individual words in identifiers.
    • All identifiers should be meaningful and abbreviations must be avoided whenever possible.

    1.1 Variables

    • Use meaningful nouns.
    • Make sure to use all lowercase letters for private and public variables.
    • If it is a local variable or a member of a struct, there's no need to prefix it with axis2_
    • e.g.
    int count = 0;
    char *prefix = NULL;
    

    1.2 Functions

    • Function names should always start with the prefix axis2_ except for members of a struct.
    • e.g.
    axis2_engine_t * axis2_engine_create(axutil_env_t *environment);
    

    1.3 Structures and User Defined Data Types

    • Note the _t suffix in the type name.
    • e.g.
    typedef struct axis2_endpoint_ref {
        axis2_char_t *address;
    } axis2_endpoint_ref_t;
    

    1.4 Macros

    • Macro names should be in all uppercase letters.
    • e.g.
    #define AXIS2_H
    #define AXIS2_ERROR_GET_MESSAGE(error) ((error)->ops->get_message(error))
    
    

    1.5 Enumerations

      e.g.
    typedef enum axis2_status_codes {  
        AXIS2_FAILURE = 0,
        AXIS2_SUCCESS
    } axis2_status_codes_t;
    

    2. Indentation and Formatting

      Indentation rules are defined in terms of Artistic Style indent options:
      astyle --style=ansi -b -p -s4 -M0 -c -U -S
      In detail, these options mean,
      • Use the ANSI style code layout
                    int foo()
                    {
                        if (is_bar)
                        {
                            bar();
                            return 1;
                        }
                        else
                            return 0;
                    }
                    
      • Use spaces around operators
      • Use four spaces for indenting
      • No spaces between the function name and parenthesis
                    if (is_foo(a, b))
                        bar(a, b);
                    
                
      There are some more formatting guidelines that could not be enforced by a formatting tool, but nevertheless should be followed.
      • Checking pointer validity:
            if (foo)
        and NOT
            if (foo != NULL)
      • Checking equality:
            if (foo == 7)
        and NOT
            if (7 == foo)

    3. Comments

      Doxygen style comments should be used to help auto generate API documentation. All structs and functions including parameters and return types should be documented.

    4. Function Parameters and Return Value Conventions

      Each function should be passed a pointer to an instance of the axutil_env_t struct as the first parameter. If the function is tightly bound to a struct, the second parameter is a pointer to an instance of that struct.
      Functions returning pointers should return NULL in case of an error. The developer should make sure to set the relevant error code in the environment's error struct.
      Functions that do not return pointer values should always return the AXIS2_FAILURE status code on error whenever possible, or return some other defined error value (in case of returning a struct perhaps). A relevant error code must also be set in the environment's error struct.

    5. Include Directives

      It is preferable to include header files in the following fashion:
    <standard header files>
    <other system headers>
    "local header files"
    
    
    
    


    axis2c-src-1.6.0/docs/maven-reports.html0000644000175000017500000000664611172017604021267 0ustar00manjulamanjula00000000000000Apache Axis2/C - Project Reports

    Maven Generated Reports

    This document provides an overview of the various reports that are automatically generated by Maven. Each report is briefly described below.

    Overview

    DocumentDescription

    axis2c-src-1.6.0/docs/archived_news.html0000644000175000017500000014323711172017604021304 0ustar00manjulamanjula00000000000000Apache Axis2/C - Apache Axis2/C - Archived News

    Apache Axis2/C Archived News

    This page contains information on previous releases running up to the latest.

    Apache Axis2/C Version 1.5.0 Released

    Download 1.5.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and more advanced operation client API
    3. Transports supported: HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 httpd module called mod_axis2 for server side
      • IIS module for server side. Support IIS 5.1, 6 and 7.
      • Client transport with ability to enable SSL support
      • Basic HTTP Authentication
      • libcurl based client transport
      • AMQP Transport support using Apache Qpid
    4. Module architecture, mechanism to extend the SOAP processing model
    5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
    8. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    9. Both directory based and archive based deployment models for deploying services and modules
    10. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
    11. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
    12. Message receiver abstraction
      • Inbuilt raw XML message receiver
    13. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
      • Axis Data Binding (ADB) support
    14. Transport proxy support
    15. REST support (more POX like) using both HTTP POST and GET
    16. Comprehensive documentation
      • Axis2/C Manual
    17. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
    18. TCP Transport, for both client and server side

    Changes Since Last Release

    1. AMQP Transport support with Apache Qpid.
    2. Modifications to IIS Module to support IIS 6 and 7
    3. Added a JScript file to automate IIS module registry configuration
    4. Improved the in-only message handling
    5. Specifying the MEP in the services.xml for non in-out messages made mandatory
    6. Improvements to Guthtila for better performance
    7. Improvements to TCPMon tool
    8. Memory leak fixes
    9. Bug fixes

    7th May 2008 - Apache Axis2/C Version 1.4.0 Released

    Download 1.4.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and more advanced operation client API
    3. Transports supported: HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 httpd module called mod_axis2 for server side
      • IIS module for server side
      • Client transport with ability to enable SSL support
      • Basic HTTP Authentication
      • libcurl based client transport
    4. Module architecture, mechanism to extend the SOAP processing model
    5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
    8. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    9. Both directory based and archive based deployment models for deploying services and modules
    10. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
    11. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
    12. Message receiver abstraction
      • Inbuilt raw XML message receiver
    13. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
      • Axis Data Binding (ADB) support
    14. Transport proxy support
    15. REST support (more POX like) using both HTTP POST and GET
    16. Comprehensive documentation
      • Axis2/C Manual
    17. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
    18. TCP Transport, for both client and server side

    Changes Since Last Release

    1. Fixed library version numbering
    2. Made Guththila as default XML parser
    3. Memory leak fixes
    4. Many bug fixes

    3rd March 2008 - Apache Axis2/C Version 1.3.0 Released

    Download 1.3.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and more advanced operation client API
    3. Transports supported: HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 httpd module called mod_axis2 for server side
      • IIS module for server side
      • Client transport with ability to enable SSL support
      • Basic HTTP Authentication
      • libcurl based client transport
    4. Module architecture, mechanism to extend the SOAP processing model
    5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
    8. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    9. Both directory based and archive based deployment models for deploying services and modules
    10. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
    11. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
    12. Message receiver abstraction
      • Inbuilt raw XML message receiver
    13. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
      • Axis Data Binding (ADB) support
    14. Transport proxy support
    15. REST support (more POX like) using both HTTP POST and GET
    16. Comprehensive documentation
      • Axis2/C Manual
    17. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
    18. TCP Transport, for both client and server side

    Changes Since Last Release

    1. Fixed a bug on version numbering
    2. List Axis2/C dependencies licensing in LICENSE file
    3. Add relevant copyright notices to NOTICE file
    4. Digest Authentication Support
    5. Proxy Authentication Support
    6. Ability to insert xml declaration on outgoing payloads
    7. Enhanced REST support
    8. MTOM support with libcurl
    9. Improvements to TCPMon Tool
    10. Improvements to Test Coverage
    11. Improvements to API docs
    12. Improvements to CA certificate validation mechanisms on SSL Transport
    13. Improvements to Neethi
    14. Fixed issue in HTTP GET on mod_axis2
    15. Major Improvements to Guththila Parser
    16. Improvements to libcurl based sender
    17. Creation of a FAQ list
    18. Improvements to Axis2/C documentation
    19. Added Documentation on Archive Based Deployment
    20. Fixes for IIS module
    21. Removed dependency in util for the Axis2/C core
    22. Ability to access transport headers at the service level (for RESTful services)
    23. uint64_t and int64_t support at util layer and codegen level
    24. Removed zlib dependencies when Archive Based Deployment model is disabled
    25. Signal Handling in Windows
    26. Removed over 99% of the warnings found on Windows
    27. Increased build speed on Windows with nmake.
    28. Improvements to Windows build system
    29. Extensions to client API to support HTTP/Proxy Authentication
    30. Memory leak fixes
    31. Many bug fixes

    17th January 2008 - Apache Axis2/C Version 1.2.0 Released

    Download 1.2.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and more advanced operation client API
    3. Transports supported: HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 httpd module called mod_axis2 for server side
      • IIS module for server side
      • Client transport with ability to enable SSL support
      • Basic HTTP Authentication
      • libcurl based client transport
    4. Module architecture, mechanism to extend the SOAP processing model
    5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
    8. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    9. Both directory based and archive based deployment models for deploying services and modules
    10. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
    11. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
    12. Message receiver abstraction
      • Inbuilt raw XML message receiver
    13. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
      • Axis Data Binding (ADB) support
    14. Transport proxy support
    15. REST support (more POX like) using both HTTP POST and GET
    16. Comprehensive documentation
      • Axis2/C Manual
    17. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
    18. TCP Transport, for both client and server side

    Major Changes Since Last Release

    1. WS-Policy implementation
    2. TCP Transport
    3. Improvements to Guththila parser to improve performance
    4. Improvements to Java tool, WSDL2C, that generates C code
    5. Basic HTTP Authentication
    6. Memory leak fixes
    7. Many bug fixes

    30th September 2007 - Apache Axis2/C Version 1.1.0 Released

    Download 1.1.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and more advanced operation client API
    3. Transports supported: HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 httpd module called mod_axis2 for server side
      • IIS module for server side
      • Client transport with ability to enable SSL support
      • Basic HTTP Authentication
      • libcurl based client transport
    4. Module architecture, mechanism to extend the SOAP processing model
    5. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support
    8. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    9. Both directory based and archive based deployment models for deploying services and modules
    10. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages)
    11. Context hierarchy providing access to dynamic Axis2/C runtime information(corresponding contexts to map to each level of description hierarchy)
    12. Message receiver abstraction
      • Inbuilt raw XML message receiver
    13. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool)
      • Axis Data Binding (ADB) support
    14. Transport proxy support
    15. REST support (more POX like) using both HTTP POST and GET
    16. Comprehensive documentation
      • Axis2/C Manual
    17. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension
    18. TCP Transport, for both client and server side

    Major Changes Since Last Release

    1. WS-Policy implementation
    2. TCP Transport
    3. Improvements to Guththila parser to improve performance
    4. Improvements to Java tool, WSDL2C, that generates C code
    5. Basic HTTP Authentication
    6. Memory leak fixes
    7. Many bug fixes

    06th May 2007 - Apache Axis2/C Version 1.0.0 Released

    Download 1.0.0

    Key Features

    1. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    2. Client APIs: Easy to use service client API and a more advanced operation client API
    3. Transports supported : HTTP
      • Inbuilt HTTP server called simple axis server
      • Apache2 HTTPD module called mod_axis2 for the server side
      • IIS module for the server side
      • Client transport with the ability to enable SSL support
      • libcurl based client transport
    4. Module architecture, with a mechanism to extend the SOAP processing model
    5. WS-Addressing support, for both the submission (2004/08) and final (2005/08) versions, implemented as a module
    6. MTOM/XOP support
    7. AXIOM, which is an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support.
    8. XML parser abstraction
      • Libxml2 wrapper
      • Guththila pull parser support
    9. Both directory based and archive based deployment models for deploying services and modules
    10. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations, and messages)
    11. Context hierarchy providing access to dynamic Axis2/C runtime information (corresponding contexts mapped to each level of the description hierarchy)
    12. Message receiver abstraction
      • Inbuilt raw XML message receiver
    13. Code generation tool for stub and skeleton generation for a given WSDL (based on the Java tool)
      • Axis Data Binding (ADB) support
    14. Transport proxy support
    15. REST support (more POX like) using both HTTP POST and GET
    16. Comprehensive documentation
      • Axis2/C Manual

    Major Changes Since Last Release

    1. Many Bug Fixes
    2. IIS module for the server side
    3. libcurl based client transport
    4. Improvements to overall API to make it more user friendly, stable, and binary compatible
    5. Transport proxy support
    6. Memory leak fixes

    22nd December 2006 Axis2/C Version 0.96 Released

    Download 0.96

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support
    2. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    3. Description hierarchy (configuration, service groups, services, operations, and messages)
    4. Directory based deployment model
    5. Archive based deployment model
    6. Context hierarchy (corresponding contexts mapped to each level of the description hierarchy)
    7. Raw XML message receiver
    8. Module architecture, with a mechanism to extend the SOAP processing model
    9. Module version support
    10. Transports supports: HTTP
      • Both simple axis server and Apache2 HTTPD module for the server side
      • Client transport with the ability to enable SSL support
    11. Service client and operation client APIs
    12. REST support (HTTP POST case)
    13. WS-Addressing, both the submission (2004/08) and final (2005/08) versions
    14. MTOM/XOP support
    15. Code generation tool for stub and skeleton generation for a given WSDL (based on the Java tool)
      • Axis Data Binding (ADB) support
    16. Security module with UsernameToken support
    17. REST support (HTTP GET case)
    18. Dynamic invocation support (based on XML schema and WSDL implementations)
    19. Guththila pull parser support
    20. WSDL2C code generation tool- with schema code generation (experimental)
    21. TCP Monitor - C implementation (experimental)
    22. Axis2/C Manual

    Major Changes Since Last Release

    1. Major Memory leak fixes
    2. Many Bug Fixes
    3. Improvement to REST processing
    4. Improvement to SOAP-Fault processing
    5. Improvement to mod_axis2 library (plugged with apr pools)
    6. Visual Studio 7.0 project

    Items pending for 1.0

    1. Complete API documentation and API improvements
    2. Fix further memory leaks
    3. Create a comprehensive functional test framework

    26th October 2006 Axis2/C Version 0.95 Released

    Download 0.95

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support
    2. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    3. Description hierarchy (configuration, service groups, services, operations, and messages)
    4. Directory based deployment model
    5. Archive based deployment model
    6. Context hierarchy (corresponding contexts mapped to each level of the description hierarchy)
    7. Raw XML message receiver
    8. Module architecture, mechanism to extend the SOAP processing model
    9. Module version support
    10. Transports supports: HTTP
      • Both simple axis server and Apache2 HTTPD module for server side
      • Client transport with ability to enable SSL support
    11. Service client and operation client APIs
    12. REST support (HTTP POST case)
    13. WS-Addressing, for both the submission (2004/08) and final (2005/08) versions
    14. MTOM/XOP support
    15. Code generation tool for stub and skeleton generation for a given WSDL (based on the Java tool)
      • Axis Data Binding (ADB) support
    16. Security module with UsernameToken support
    17. REST support (HTTP GET case)
    18. Dynamic invocation support (based on XML schema and WSDL implementations)
    19. Guththila pull parser support
    20. WSDL2C code generation tool- with schema code generation (experimental)
    21. TCP Monitor - C implementation (experimental)
    22. Axis2/C Manual - New

    Major Changes Since Last Release

    1. Major Memory leak fixes
    2. Many Bug Fixes
    3. Improvement to Documentation

    Items pending for 1.0

    1. Complete API documentation and API improvements
    2. Fix further memory leaks
    3. Create a comprehensive functional test framework

    3rd October 2006 Axis2/C Version 0.94 Released

    Download 0.94

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support
    2. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    3. Description hierarchy (configuration, service groups, services, operations, and messages)
    4. Directory based deployment model
    5. Archive based deployment model
    6. Context hierarchy (corresponding contexts mapped to each level of the description hierarchy)
    7. Raw XML message receiver
    8. Module architecture, with a mechanism to extend the SOAP processing model
    9. Module version support
    10. Transports support: HTTP
      • Both simple axis server and Apache2 HTTPD module for the server side
      • Client transport with the ability to enable SSL support
    11. Service client and operation client APIs
    12. REST support (HTTP POST case)
    13. WS-Addressing, both the submission (2004/08) and final (2005/08) versions
    14. MTOM/XOP support
    15. Code generation tool for stub and skeleton generation for a given WSDL (based on the Java tool)
      • Axis Data Binding (ADB) support
    16. Security module with UsernameToken support
    17. REST support (HTTP GET case)
    18. Dynamic invocation support (based on the XML schema and WSDL implementations)
    19. Guththila pull parser support - New
    20. WSDL2C code generation tool- with schema code generation (experimental) - New
    21. TCP Monitor - C implementation (experimental) - New

    Major Changes Since Last Release

    1. Guththila pull parser support
    2. WSDL2C code generation tool
    3. TCP Monitor - C implementation
    4. Major Memory leak fixes
    5. Fixes to code generation with Java Tool
    6. Many Bug Fixes

    Items pending for 1.0

    1. Complete API documentation and API improvements
    2. Fix further memory leaks
    3. Create a comprehensive functional test framework

    31st August 2006 Axis2/C Version 0.93 Released

    Download 0.93

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support
    2. Support for one-way messaging (In-Only) and request response messaging (In-Out)
    3. Description hierarchy (configuration, service groups, services, operations, and messages)
    4. Directory based deployment model
    5. Archive based deployment model
    6. Context hierarchy (corresponding contexts mapped to each level of the description hierarchy)
    7. Raw XML message receiver
    8. Module architecture, with a mechanism to extend the SOAP processing model
    9. Module version support
    10. Transports supports: HTTP
      • Both simple axis server and Apache2 HTTPD module for the server side
      • Client transport with the ability to enable SSL support
    11. Service client and operation client APIs
    12. REST support (HTTP POST case)
    13. WS-Addressing, both the submission (2004/08) and final (2005/08) versions
    14. MTOM/XOP support
    15. Code generation tool for stub and skeleton generation for a given WSDL (based on the Java tool)
      • Axis Data Binding (ADB) support
    16. Security module with UsernameToken support
    17. REST support (HTTP GET case)
    18. Dynamic invocation support (based on the XML schema and WSDL implementations)

    Major Changes Since Last Release

    1. REST support for HTTP GET case
    2. XML Schema implementation
    3. Woden/C implementation that supports both WSDL 1.1 and WSDL 2.0
    4. Dynamic client invocation (given a WSDL, it consumes the services dynamically)
    5. Numerous improvements to API and API documentation
    6. Many bug fixes, especially, many paths of execution previously untouched were tested along with the Sandesha2/C implementation

    Items pending for 1.0

    1. Complete API documentation and API improvements
    2. Fix major memory leaks
    3. Test codegen for both ADB and none cases
    4. Put in place a comprehensive functional test framework
    5. WSDL2C tool

    16th June 2006 Axis2/C Version 0.92 Released

    Download 0.92

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support.
    2. Support for One-Way Messaging (In-Only) and Request Response Messaging (In-Out)
    3. Module Architecture, with a mechanism to extend the SOAP processing model
    4. Context hierarchy
    5. Directory based deployment model
    6. Raw XML providers
    7. WS-Addressing, for both the submission (2004/08) and final (2005/08) versions
    8. Transports supports: HTTP
      • Both simple axis server and Apache2 HTTPD module
      • SSL client transport
    9. Service Groups
    10. Service client and operation client APIs
    11. REST support (POST case)
    12. Module version support
    13. Archive based deployment Model
    14. MTOM support
    15. WSDL Code Generation Tool for Stub and skeletons (based on Java tool) New
      • Axis Data Binding - ADB New
    16. Security module, usernameToken support New

    Major Changes Since Last Release

    1. Completed MTOM implementation with multiple attachment support and non-optimized case
    2. Completed service client API with send robust and fire and forget
    3. Added "message" to description hierarchy
    4. Archive based deployment model (for services and modules)
    5. Code generation for WSDL using Java WSDL2Code tool
    6. ADB support (with Java WSDL2Code tool)
    7. WS-Security usernameToken support
    8. Initial implementation of the XML Schema parser (To be used in WSDL parser and REST support)
    9. Initial implementation of WSDL parser (To be used in dynamic invocation)
    10. Changed double pointer environment parameters into pointer parameters to improve efficiency

    Un-Implemented Architecture Features (TBD in 1.0)

    1. Session scoping for Application, SOAP, Transport, and Request levels
    2. Different character encoding support
    3. REST (REpresentational State Transfer) Support (GET case)
    4. Dynamic client invocation (given a WSDL, it consumes services dynamically)

    Un-Implemented Architecture Features (TBD post 1.0)

    1. Security module with encryption and signing
    2. Server side Web Service Policy support
    3. C2WSDL
    4. WSDL2C

    15th May 2006 Axis2/C Version 0.91 Released

    Download 0.91

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support.
    2. Support for One-Way Messaging (In-Only) and Request Response Messaging (In-Out)
    3. Module architecture, with a mechanism to extend the SOAP processing model
    4. Context hierarchy
    5. Directory based deployment model
    6. Raw XML providers
    7. WS-Addressing, for both the submission (2004/08) and final (2005/08) versions
    8. Transports: HTTP
      • Both simple axis server and Apache2 HTTPD module
      • SSL client transport New
    9. Service Groups New
    10. Service client and operation client APIs New
    11. REST support (POST case) New
    12. Module version support New
    13. MTOM support New

    Other notes

    1. Interoperability tested with Axis2/Java for XML in/out client and services
    2. Addressing 1.0 interoperability

    Major changes since last release

    1. Full Addressing 1.0 support
    2. Improved fault handling model
    3. SSL client transport
    4. MTOM implementation
    5. Implementation of easy to use service client and operation client APIs for client side programming
    6. REST support (POST case)
    7. Module version support
    8. Service groups
    9. Numerous bug fixes since last release

    Un-Implemented Architecture Features (TBD in 1.0)

    1. Sessions scoping for application, SOAP, transport and request levels
    2. Different character encoding support
    3. Dynamic invocation
    4. Archive based deployment Model

    Un-Implemented Architecture Features (TBD post 1.0)

    1. WSDL code generation tool for stub and skeletons (based on Java tool)
    2. Security module
    3. REST (REpresentational State Transfer) support (GET case)
    4. Web Services policy support

    31st March 2006 Axis2/C Version 0.90 Released

    Download 0.90

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages. This has complete XML infoset support.
    2. Support for One-Way Messaging (In-Only) and Request Response Messaging (In-Out)
    3. Module architecture, with a mechanism to extend the SOAP processing model
    4. Context hierarchy
    5. Directory based deployment model
    6. Raw XML providers
    7. WS-Addressing, for both the submission (2004/08) and final (2005/08) versions
    8. Transports: HTTP
      • Both simple axis server and Apache2 HTTPD module

    Experimental Features

    1. WSDL object model support New
      • Dynamic invocation

    Other notes

    1. Interoperability tested with Axis2/Java for XML in/out client and services
    2. Addressing interoperability on client side

    Major changes since last release

    1. Minimal memory leaks
    2. Apache2 module working in Windows
    3. More samples and tests
    4. WSDL object model was built based on the proposed WSDL 2.0 Component model.
    5. Dynamic invocation
    6. Numerous bug fixes since last release

    Un-Implemented Architecture Features (TBD in 1.0)

    1. Module version support
    2. Archive based deployment model
    3. Improved and user friendly client API
    4. Support for MTOM
    5. Session scoping for application, SOAP, transport, and request levels
    6. Service groups
    7. Different character encoding support

    Un-Implemented Architecture Features (TBD post 1.0)

    1. WSDL code generation tool for stub and skeletons (based on the Java tool)
    2. Security module
    3. REST (REpresentational State Transfer) support
    4. Web Services policy support
    5. Axis2 Web application (Web App)

    10th March 2006 Axis2/C Milestone 0.5 Released

    Download M-0.5

    Key Features

    1. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages.
    2. Support for Request Response Messaging (In-Out)
    3. Module Architecture, with a mechanism to extend the SOAP Processing Model
    4. Directory based deployment model
    5. WS-Addressing, both the submission (2004/08) and final (2005/08) versions
    6. Improved and user friendly Client API
    7. Transports supports: HTTP
      • Axis2/C server
      • Apache integration module
    8. Raw XML providers
    9. Numerous bug fixes since last release

    Major Changes Since the Last Release

    1. Improving code quality by fixing memory leaks and reviewing the code.
    2. Apache2 integration.
    3. More samples and tests
    4. Initial documentations(User Guide, Developer Guide, Installation Guide)

    Still to be Done

    See a list of what we think needs to be done, and consider helping out if you're interested.

    1. Management Interface for Axis2/C
    2. Implementation of other transports.
    3. Code generation and Dynamic Invocation
    4. Hot Deployment of Services
    5. Completion of interop tests
    6. Support for MTOM
    7. Axis Data Binding - ADB (Framework and Schema Compiler)
    8. REST (REpresentational State Transfer) Support

    17th February 2006 Axis2/C Milestone 0.4 Released

    We have done a considerable amount of improvements in the past two weeks since the M0.3 release.

    We have the following features added on top of the M0.3 release

    Key Features

    1. Threading support and threaded simple axis server

    2. Module loading support

    3. Addressing module, and addressing based dispatching

    4. HTTP chunking support

    5. Improved logging mechanism

    6. Ability to build and run on Windows platform

    02nd February 2006 Axis2/C Milestone 0.3 Released

    This is the first milestone release with a working SOAP engine; we have the simple axis server and client stubs working.

    In addition to the M0.2 feature set, the following features are included

    Key Features

    1. Core engine in place with deployment, description, and context hierarchies and HTTP transport support.

    2. SOAP processing support

    3. Simple HTTP server

    4. Client API implementation

    5. Couple of working service and client samples

    08th December 2005 Axis2/C Milestone 0.2 Released

    We have been able to improve the OM module since the last release, and PHP binding for the OM module is in place.

    Key Features

    1. Improved OM module

    2. libxml2 parser support

    3. PHP binding for the OM module

    4. Some test cases for PHP binding

    5. Many memory leak fixes

    25th November 2005 Axis2/C Milestone 0.1 Released

    This release includes the C implementation of AXIOM, an important part of the Axis2C Web service stack.

    Key Features

    1. OM module

    2. Guththila pull parser support

    3. libxml2 parser support (only reader is supported as of now)

    4. doxygen documentation support

    5. A sample demonstrating how to use OM



    axis2c-src-1.6.0/docs/download.cgi0000644000175000017500000000035311172017604020057 0ustar00manjulamanjula00000000000000#!/bin/sh # Wrapper script around mirrors.cgi script # (we must change to that directory in order for python to pick up the # python includes correctly) cd /www/www.apache.org/dyn/mirrors /www/www.apache.org/dyn/mirrors/mirrors.cgi $*axis2c-src-1.6.0/docs/project-info.html0000644000175000017500000001126711172017604021057 0ustar00manjulamanjula00000000000000Apache Axis2/C - Project Information

    General Project Information

    This document provides an overview of the various documents and links that are part of this project's general information. All of this content is automatically generated by Maven on behalf of the project.

    Overview

    DocumentDescription
    Mailing Lists This document provides subscription and archive information for this project's mailing lists.
    Project Team This document provides information on the members of this project. These are the individuals who have contributed to the project in one form or another.
    Dependencies This document lists the projects dependencies and provides information on each dependency.
    Source Repository This is a link to the online source repository that can be viewed via a web browser.
    Issue Tracking This is a link to the issue tracking system for this project. Issues (bugs, features, change requests) can be created and queried using this link.

    axis2c-src-1.6.0/ides/0000777000175000017500000000000011172017546015570 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/0000777000175000017500000000000011172017546016200 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/0000777000175000017500000000000011172017546017644 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/0000777000175000017500000000000011172017546021467 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/echo/0000777000175000017500000000000011172017546022405 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/echo/echo.vcproj0000644000175000017500000001074211166304543024547 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/services/math/0000777000175000017500000000000011172017546022420 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/math/math.vcproj0000644000175000017500000001072111166304543024572 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/services/mtom/0000777000175000017500000000000011172017546022443 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/mtom/mtom.vcproj0000644000175000017500000001066211166304543024644 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/services/notify/0000777000175000017500000000000011172017546022777 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/notify/notify.vcproj0000644000175000017500000001074111166304543025532 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/services/services.sln0000644000175000017500000000521511166304544024027 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Calculator", "Calculator\Calculator.vcproj", "{1917F167-8C7F-4920-934D-BDAA2E6DC024}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo", "echo\echo.vcproj", "{0469C145-5B1A-4677-B0C2-0981EB6C0567}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "math", "math\math.vcproj", "{8209506A-634F-4239-82D0-3EC9105FEBA4}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtom", "mtom\mtom.vcproj", "{C8BDF683-7F8E-4526-9193-836DD90714CC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notify", "notify\notify.vcproj", "{23D5F8E4-F554-451F-B97D-F0CD82272229}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Debug|Win32.ActiveCfg = Debug|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Debug|Win32.Build.0 = Debug|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Release|Win32.ActiveCfg = Release|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Release|Win32.Build.0 = Release|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Debug|Win32.ActiveCfg = Debug|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Debug|Win32.Build.0 = Debug|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Release|Win32.ActiveCfg = Release|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Release|Win32.Build.0 = Release|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Debug|Win32.ActiveCfg = Debug|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Debug|Win32.Build.0 = Debug|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Release|Win32.ActiveCfg = Release|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Release|Win32.Build.0 = Release|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Debug|Win32.ActiveCfg = Debug|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Debug|Win32.Build.0 = Debug|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Release|Win32.ActiveCfg = Release|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Release|Win32.Build.0 = Release|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Debug|Win32.ActiveCfg = Debug|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Debug|Win32.Build.0 = Debug|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Release|Win32.ActiveCfg = Release|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/samples/services/Calculator/0000777000175000017500000000000011172017546023560 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/services/Calculator/Calculator.vcproj0000644000175000017500000001113111166304543027066 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/0000777000175000017500000000000011172017546021305 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo/0000777000175000017500000000000011172017546022223 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo/echo.vcproj0000644000175000017500000001070411166304543024363 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/math/0000777000175000017500000000000011172017546022236 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/math/math.vcproj0000644000175000017500000001061011166304543024405 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/mtom/0000777000175000017500000000000011172017546022261 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/mtom/mtom.vcproj0000644000175000017500000001027311166304543024460 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/echo_blocking_addr/0000777000175000017500000000000011172017546025065 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo_blocking_addr/echo_blocking_addr.vcproj0000644000175000017500000001057311166304542032072 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/echo_blocking_dual/0000777000175000017500000000000011172017546025100 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo_blocking_dual/echo_blocking_dual.vcproj0000644000175000017500000001057311166304543032121 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/yahoo/0000777000175000017500000000000011172017546022424 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/yahoo/yahoo.vcproj0000644000175000017500000001020711166304541024761 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/echo_blocking/0000777000175000017500000000000011172017546024073 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo_blocking/echo_blocking.vcproj0000644000175000017500000001055411166304542030105 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/echo_non_blocking/0000777000175000017500000000000011172017546024745 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo_non_blocking/echo_non_blocking.vcproj0000644000175000017500000001056511166304542031633 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/clients.sln0000644000175000017500000001365511166304543023471 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo", "echo\echo.vcproj", "{57414A3E-782C-4472-9EEE-981EF0649258}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtom", "mtom\mtom.vcproj", "{9EA3CB05-003C-410C-A4F2-B0DB7F01645D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "math", "math\math.vcproj", "{9121BA33-CE71-4775-AD78-1114696BFEC8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "google", "google\google.vcproj", "{607FAED5-B750-44D2-A817-0FDF4F77744C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notify", "notify\notify.vcproj", "{1EFD2CA7-86AF-4F66-9930-978D5A881949}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yahoo", "yahoo\yahoo.vcproj", "{9B7A5827-9F06-4B7F-B8E3-233E9350C258}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking", "echo_blocking\echo_blocking.vcproj", "{76F139F5-913A-4328-8504-B1E9B7F1BA97}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_addr", "echo_blocking_addr\echo_blocking_addr.vcproj", "{DDBF66ED-91FA-48ED-B23D-437473C52C0A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_dual", "echo_blocking_dual\echo_blocking_dual.vcproj", "{584804F3-344F-4850-899C-85E1998694F8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_non_blocking", "echo_non_blocking\echo_non_blocking.vcproj", "{62DB83C4-A2FA-45AF-B2F2-A737443AD473}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_non_blocking_dual", "echo_non_blocking_dual\echo_non_blocking_dual.vcproj", "{9C1140F6-1846-4335-B571-83E2C9FF6E02}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_rest", "echo_rest\echo_rest.vcproj", "{84518230-9F6F-4B1E-B4B4-9F78D27355AC}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {57414A3E-782C-4472-9EEE-981EF0649258}.Debug|Win32.ActiveCfg = Debug|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Debug|Win32.Build.0 = Debug|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Release|Win32.ActiveCfg = Release|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Release|Win32.Build.0 = Release|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Debug|Win32.ActiveCfg = Debug|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Debug|Win32.Build.0 = Debug|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Release|Win32.ActiveCfg = Release|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Release|Win32.Build.0 = Release|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Debug|Win32.ActiveCfg = Debug|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Debug|Win32.Build.0 = Debug|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Release|Win32.ActiveCfg = Release|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Release|Win32.Build.0 = Release|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Debug|Win32.ActiveCfg = Debug|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Debug|Win32.Build.0 = Debug|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Release|Win32.ActiveCfg = Release|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Release|Win32.Build.0 = Release|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Debug|Win32.ActiveCfg = Debug|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Debug|Win32.Build.0 = Debug|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Release|Win32.ActiveCfg = Release|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Release|Win32.Build.0 = Release|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Debug|Win32.ActiveCfg = Debug|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Debug|Win32.Build.0 = Debug|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Release|Win32.ActiveCfg = Release|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Release|Win32.Build.0 = Release|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Debug|Win32.ActiveCfg = Debug|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Debug|Win32.Build.0 = Debug|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Release|Win32.ActiveCfg = Release|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Release|Win32.Build.0 = Release|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Debug|Win32.ActiveCfg = Debug|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Debug|Win32.Build.0 = Debug|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Release|Win32.ActiveCfg = Release|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Release|Win32.Build.0 = Release|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Debug|Win32.ActiveCfg = Debug|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Debug|Win32.Build.0 = Debug|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Release|Win32.ActiveCfg = Release|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Release|Win32.Build.0 = Release|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Debug|Win32.ActiveCfg = Debug|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Debug|Win32.Build.0 = Debug|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Release|Win32.ActiveCfg = Release|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Release|Win32.Build.0 = Release|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Debug|Win32.ActiveCfg = Debug|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Debug|Win32.Build.0 = Debug|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Release|Win32.ActiveCfg = Release|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Release|Win32.Build.0 = Release|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Debug|Win32.ActiveCfg = Debug|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Debug|Win32.Build.0 = Debug|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Release|Win32.ActiveCfg = Release|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/samples/clients/echo_rest/0000777000175000017500000000000011172017546023260 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo_rest/echo_rest.vcproj0000644000175000017500000001054011166304543026453 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/google/0000777000175000017500000000000011172017546022561 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/google/google.vcproj0000644000175000017500000001021311166304543025252 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/notify/0000777000175000017500000000000011172017546022615 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/notify/notify.vcproj0000644000175000017500000001021311166304542025341 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/samples/clients/echo_non_blocking_dual/0000777000175000017500000000000011172017546025752 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/samples/clients/echo_non_blocking_dual/echo_non_blocking_dual.vcproj0000644000175000017500000001060711166304542033642 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/0000777000175000017500000000000011172017546017371 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/guththila/0000777000175000017500000000000011172017546021362 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/guththila/guththila.vcproj0000644000175000017500000001410511166304545024576 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/guththila/guththila.sln0000644000175000017500000000255511166304545024075 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "guththila", "guththila.vcproj", "{81FDD803-8611-4EB4-AB0E-85F498061A2D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_parser_guththila", "..\axis2_parser_guththila\axis2_parser_guththila.vcproj", "{DC69D297-3B3B-4FA2-A799-51F040708857}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Debug|Win32.ActiveCfg = Debug|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Debug|Win32.Build.0 = Debug|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Release|Win32.ActiveCfg = Release|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Release|Win32.Build.0 = Release|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Debug|Win32.ActiveCfg = Debug|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Debug|Win32.Build.0 = Debug|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Release|Win32.ActiveCfg = Release|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/axiom/0000777000175000017500000000000011172017546020506 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axiom/axiom.vcproj0000644000175000017500000003540311166304547023054 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_tcp_sender/0000777000175000017500000000000011172017546022625 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_tcp_sender/axis2_tcp_sender.vcproj0000644000175000017500000001326511166304545027312 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_tcp_server/0000777000175000017500000000000011172017546022653 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_tcp_server/axis2_tcp_server.vcproj0000644000175000017500000001247011166304544027362 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_http_sender/0000777000175000017500000000000011172017546023016 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_http_sender/axis2_http_sender.vcproj0000644000175000017500000001547311166304544027676 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_http_server/0000777000175000017500000000000011172017546023044 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_http_server/axis2_http_server.vcproj0000644000175000017500000001377611166304546027760 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_engine/0000777000175000017500000000000011172017546021744 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_engine/axis2_engine.vcproj0000644000175000017500000005360511166304546025553 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2c.sln0000644000175000017500000006156711166304547021316 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_parser", "axis2_parser\axis2_parser.vcproj", "{D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axiom", "axiom\axiom.vcproj", "{7C816A64-FA96-4C6C-8DB0-5256441F54BC}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_engine", "axis2_engine\axis2_engine.vcproj", "{9524B8C5-79D9-4470-9A47-8BD163ABBB15}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_http_server", "axis2_http_server\axis2_http_server.vcproj", "{D2975362-DEAA-41BF-AE5E-E6FCDB526726}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {9441F689-6ED3-4FF8-9B13-2E80E391DF39} = {9441F689-6ED3-4FF8-9B13-2E80E391DF39} {0DEEAA74-F06D-4C60-B408-1B875B4FB338} = {0DEEAA74-F06D-4C60-B408-1B875B4FB338} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} {7332F525-8C77-4FB3-A0C0-FCEB2382F03C} = {7332F525-8C77-4FB3-A0C0-FCEB2382F03C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_mod_addr", "axis2_mod_addr\axis2_mod_addr.vcproj", "{0DEEAA74-F06D-4C60-B408-1B875B4FB338}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_http_sender", "axis2_http_sender\axis2_http_sender.vcproj", "{7332F525-8C77-4FB3-A0C0-FCEB2382F03C}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_http_receiver", "axis2_http_receiver\axis2_http_receiver.vcproj", "{9441F689-6ED3-4FF8-9B13-2E80E391DF39}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axutil", "axutil\axutil.vcproj", "{3887B3E3-1A45-40E5-BC95-9C51000C86DB}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{52AB54B9-4457-4E03-B892-75CC56F22B32}" ProjectSection(SolutionItems) = preProject ..\..\..\build\win32\makefile = ..\..\..\build\win32\makefile EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "neethi", "neethi\neethi.vcproj", "{20643536-7BF0-4201-9EA6-039E6CF19ADB}" ProjectSection(ProjectDependencies) = postProject {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {CAF3AED6-3900-4E8B-B21E-68022B955260} = {CAF3AED6-3900-4E8B-B21E-68022B955260} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_tcp_sender", "axis2_tcp_sender\axis2_tcp_sender.vcproj", "{830B97B8-D216-45B9-A0CC-6D5828AFD634}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_tcp_receiver", "axis2_tcp_receiver\axis2_tcp_receiver.vcproj", "{8C8F2D61-0C61-4E90-9CA2-E0C795725DF7}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_tcp_server", "axis2_tcp_server\axis2_tcp_server.vcproj", "{32ECB83C-42CA-4F36-B15B-B3DCD08F041F}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {9524B8C5-79D9-4470-9A47-8BD163ABBB15} = {9524B8C5-79D9-4470-9A47-8BD163ABBB15} {830B97B8-D216-45B9-A0CC-6D5828AFD634} = {830B97B8-D216-45B9-A0CC-6D5828AFD634} {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} = {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8} {9441F689-6ED3-4FF8-9B13-2E80E391DF39} = {9441F689-6ED3-4FF8-9B13-2E80E391DF39} {0DEEAA74-F06D-4C60-B408-1B875B4FB338} = {0DEEAA74-F06D-4C60-B408-1B875B4FB338} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} {D2975362-DEAA-41BF-AE5E-E6FCDB526726} = {D2975362-DEAA-41BF-AE5E-E6FCDB526726} {8C8F2D61-0C61-4E90-9CA2-E0C795725DF7} = {8C8F2D61-0C61-4E90-9CA2-E0C795725DF7} {20643536-7BF0-4201-9EA6-039E6CF19ADB} = {20643536-7BF0-4201-9EA6-039E6CF19ADB} {7332F525-8C77-4FB3-A0C0-FCEB2382F03C} = {7332F525-8C77-4FB3-A0C0-FCEB2382F03C} EndProjectSection EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_axis2", "mod_axis2\mod_axis2.vcproj", "{9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_axis2_IIS", "mod_axis2_IIS\mod_axis2_IIS.vcproj", "{1D949369-9C4B-4C59-9F2A-278FD8CE0D41}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcpmon", "tcpmon\tcpmon.vcproj", "{56180647-96CF-4415-B3FB-34E41CEAD595}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "guththila", "guththila\guththila.vcproj", "{81FDD803-8611-4EB4-AB0E-85F498061A2D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_parser_guththila", "axis2_parser_guththila\axis2_parser_guththila.vcproj", "{DC69D297-3B3B-4FA2-A799-51F040708857}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_mod_log", "axis2_mod_log\axis2_mod_log.vcproj", "{423F7156-84C4-43C1-855A-D0FEE24DB0A0}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "clients", "clients", "{37581370-F613-4C0E-BEF1-3BB7540DFFD1}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "services", "services", "{75835D86-0BB4-4DEC-AB3B-62329D7DF3CE}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo", "services\echo\echo.vcproj", "{0469C145-5B1A-4677-B0C2-0981EB6C0567}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Calculator", "services\Calculator\Calculator.vcproj", "{1917F167-8C7F-4920-934D-BDAA2E6DC024}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "math", "services\math\math.vcproj", "{8209506A-634F-4239-82D0-3EC9105FEBA4}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtom", "services\mtom\mtom.vcproj", "{C8BDF683-7F8E-4526-9193-836DD90714CC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notify", "services\notify\notify.vcproj", "{23D5F8E4-F554-451F-B97D-F0CD82272229}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking", "clients\echo_blocking\echo_blocking.vcproj", "{76F139F5-913A-4328-8504-B1E9B7F1BA97}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_addr", "clients\echo_blocking_addr\echo_blocking_addr.vcproj", "{DDBF66ED-91FA-48ED-B23D-437473C52C0A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_auth", "clients\echo_blocking_auth\echo_blocking_auth.vcproj", "{0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_dual", "clients\echo_blocking_dual\echo_blocking_dual.vcproj", "{584804F3-344F-4850-899C-85E1998694F8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_non_blocking", "clients\echo_non_blocking\echo_non_blocking.vcproj", "{62DB83C4-A2FA-45AF-B2F2-A737443AD473}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_non_blocking_dual", "clients\echo_non_blocking_dual\echo_non_blocking_dual.vcproj", "{9C1140F6-1846-4335-B571-83E2C9FF6E02}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_rest", "clients\echo_rest\echo_rest.vcproj", "{84518230-9F6F-4B1E-B4B4-9F78D27355AC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "google", "clients\google\google.vcproj", "{607FAED5-B750-44D2-A817-0FDF4F77744C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "math", "clients\math\math.vcproj", "{9121BA33-CE71-4775-AD78-1114696BFEC8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtom", "clients\mtom\mtom.vcproj", "{9EA3CB05-003C-410C-A4F2-B0DB7F01645D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notify", "clients\notify\notify.vcproj", "{1EFD2CA7-86AF-4F66-9930-978D5A881949}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yahoo", "clients\yahoo\yahoo.vcproj", "{9B7A5827-9F06-4B7F-B8E3-233E9350C258}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo", "clients\echo\echo.vcproj", "{57414A3E-782C-4472-9EEE-981EF0649258}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "axis2_xpath", "axis2_xpath\axis2_xpath.vcproj", "{CAF3AED6-3900-4E8B-B21E-68022B955260}" ProjectSection(ProjectDependencies) = postProject {3887B3E3-1A45-40E5-BC95-9C51000C86DB} = {3887B3E3-1A45-40E5-BC95-9C51000C86DB} {7C816A64-FA96-4C6C-8DB0-5256441F54BC} = {7C816A64-FA96-4C6C-8DB0-5256441F54BC} EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8}.Debug|Win32.ActiveCfg = Debug|Win32 {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8}.Release|Win32.ActiveCfg = Release|Win32 {D7D7FBA1-5E43-4586-8F69-D4ED2628D2D8}.Release|Win32.Build.0 = Release|Win32 {7C816A64-FA96-4C6C-8DB0-5256441F54BC}.Debug|Win32.ActiveCfg = Debug|Win32 {7C816A64-FA96-4C6C-8DB0-5256441F54BC}.Debug|Win32.Build.0 = Debug|Win32 {7C816A64-FA96-4C6C-8DB0-5256441F54BC}.Release|Win32.ActiveCfg = Release|Win32 {7C816A64-FA96-4C6C-8DB0-5256441F54BC}.Release|Win32.Build.0 = Release|Win32 {9524B8C5-79D9-4470-9A47-8BD163ABBB15}.Debug|Win32.ActiveCfg = Debug|Win32 {9524B8C5-79D9-4470-9A47-8BD163ABBB15}.Debug|Win32.Build.0 = Debug|Win32 {9524B8C5-79D9-4470-9A47-8BD163ABBB15}.Release|Win32.ActiveCfg = Release|Win32 {9524B8C5-79D9-4470-9A47-8BD163ABBB15}.Release|Win32.Build.0 = Release|Win32 {D2975362-DEAA-41BF-AE5E-E6FCDB526726}.Debug|Win32.ActiveCfg = Debug|Win32 {D2975362-DEAA-41BF-AE5E-E6FCDB526726}.Debug|Win32.Build.0 = Debug|Win32 {D2975362-DEAA-41BF-AE5E-E6FCDB526726}.Release|Win32.ActiveCfg = Release|Win32 {D2975362-DEAA-41BF-AE5E-E6FCDB526726}.Release|Win32.Build.0 = Release|Win32 {0DEEAA74-F06D-4C60-B408-1B875B4FB338}.Debug|Win32.ActiveCfg = Debug|Win32 {0DEEAA74-F06D-4C60-B408-1B875B4FB338}.Debug|Win32.Build.0 = Debug|Win32 {0DEEAA74-F06D-4C60-B408-1B875B4FB338}.Release|Win32.ActiveCfg = Release|Win32 {0DEEAA74-F06D-4C60-B408-1B875B4FB338}.Release|Win32.Build.0 = Release|Win32 {7332F525-8C77-4FB3-A0C0-FCEB2382F03C}.Debug|Win32.ActiveCfg = Debug|Win32 {7332F525-8C77-4FB3-A0C0-FCEB2382F03C}.Debug|Win32.Build.0 = Debug|Win32 {7332F525-8C77-4FB3-A0C0-FCEB2382F03C}.Release|Win32.ActiveCfg = Release|Win32 {7332F525-8C77-4FB3-A0C0-FCEB2382F03C}.Release|Win32.Build.0 = Release|Win32 {9441F689-6ED3-4FF8-9B13-2E80E391DF39}.Debug|Win32.ActiveCfg = Debug|Win32 {9441F689-6ED3-4FF8-9B13-2E80E391DF39}.Debug|Win32.Build.0 = Debug|Win32 {9441F689-6ED3-4FF8-9B13-2E80E391DF39}.Release|Win32.ActiveCfg = Release|Win32 {9441F689-6ED3-4FF8-9B13-2E80E391DF39}.Release|Win32.Build.0 = Release|Win32 {3887B3E3-1A45-40E5-BC95-9C51000C86DB}.Debug|Win32.ActiveCfg = Debug|Win32 {3887B3E3-1A45-40E5-BC95-9C51000C86DB}.Debug|Win32.Build.0 = Debug|Win32 {3887B3E3-1A45-40E5-BC95-9C51000C86DB}.Release|Win32.ActiveCfg = Release|Win32 {3887B3E3-1A45-40E5-BC95-9C51000C86DB}.Release|Win32.Build.0 = Release|Win32 {20643536-7BF0-4201-9EA6-039E6CF19ADB}.Debug|Win32.ActiveCfg = Debug|Win32 {20643536-7BF0-4201-9EA6-039E6CF19ADB}.Debug|Win32.Build.0 = Debug|Win32 {20643536-7BF0-4201-9EA6-039E6CF19ADB}.Release|Win32.ActiveCfg = Release|Win32 {20643536-7BF0-4201-9EA6-039E6CF19ADB}.Release|Win32.Build.0 = Release|Win32 {830B97B8-D216-45B9-A0CC-6D5828AFD634}.Debug|Win32.ActiveCfg = Debug|Win32 {830B97B8-D216-45B9-A0CC-6D5828AFD634}.Debug|Win32.Build.0 = Debug|Win32 {830B97B8-D216-45B9-A0CC-6D5828AFD634}.Release|Win32.ActiveCfg = Release|Win32 {830B97B8-D216-45B9-A0CC-6D5828AFD634}.Release|Win32.Build.0 = Release|Win32 {8C8F2D61-0C61-4E90-9CA2-E0C795725DF7}.Debug|Win32.ActiveCfg = Debug|Win32 {8C8F2D61-0C61-4E90-9CA2-E0C795725DF7}.Debug|Win32.Build.0 = Debug|Win32 {8C8F2D61-0C61-4E90-9CA2-E0C795725DF7}.Release|Win32.ActiveCfg = Release|Win32 {8C8F2D61-0C61-4E90-9CA2-E0C795725DF7}.Release|Win32.Build.0 = Release|Win32 {32ECB83C-42CA-4F36-B15B-B3DCD08F041F}.Debug|Win32.ActiveCfg = Debug|Win32 {32ECB83C-42CA-4F36-B15B-B3DCD08F041F}.Debug|Win32.Build.0 = Debug|Win32 {32ECB83C-42CA-4F36-B15B-B3DCD08F041F}.Release|Win32.ActiveCfg = Release|Win32 {32ECB83C-42CA-4F36-B15B-B3DCD08F041F}.Release|Win32.Build.0 = Release|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Debug|Win32.ActiveCfg = Debug|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Debug|Win32.Build.0 = Debug|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Release|Win32.ActiveCfg = Release|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Release|Win32.Build.0 = Release|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Debug|Win32.ActiveCfg = Debug|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Debug|Win32.Build.0 = Debug|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Release|Win32.ActiveCfg = Release|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Release|Win32.Build.0 = Release|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Debug|Win32.ActiveCfg = Debug|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Debug|Win32.Build.0 = Debug|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Release|Win32.ActiveCfg = Release|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Release|Win32.Build.0 = Release|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Debug|Win32.ActiveCfg = Debug|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Debug|Win32.Build.0 = Debug|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Release|Win32.ActiveCfg = Release|Win32 {81FDD803-8611-4EB4-AB0E-85F498061A2D}.Release|Win32.Build.0 = Release|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Debug|Win32.ActiveCfg = Debug|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Debug|Win32.Build.0 = Debug|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Release|Win32.ActiveCfg = Release|Win32 {DC69D297-3B3B-4FA2-A799-51F040708857}.Release|Win32.Build.0 = Release|Win32 {423F7156-84C4-43C1-855A-D0FEE24DB0A0}.Debug|Win32.ActiveCfg = Debug|Win32 {423F7156-84C4-43C1-855A-D0FEE24DB0A0}.Debug|Win32.Build.0 = Debug|Win32 {423F7156-84C4-43C1-855A-D0FEE24DB0A0}.Release|Win32.ActiveCfg = Release|Win32 {423F7156-84C4-43C1-855A-D0FEE24DB0A0}.Release|Win32.Build.0 = Release|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Debug|Win32.ActiveCfg = Debug|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Debug|Win32.Build.0 = Debug|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Release|Win32.ActiveCfg = Release|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Release|Win32.Build.0 = Release|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Debug|Win32.ActiveCfg = Debug|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Debug|Win32.Build.0 = Debug|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Release|Win32.ActiveCfg = Release|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Release|Win32.Build.0 = Release|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Debug|Win32.ActiveCfg = Debug|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Debug|Win32.Build.0 = Debug|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Release|Win32.ActiveCfg = Release|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Release|Win32.Build.0 = Release|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Debug|Win32.ActiveCfg = Debug|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Debug|Win32.Build.0 = Debug|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Release|Win32.ActiveCfg = Release|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Release|Win32.Build.0 = Release|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Debug|Win32.ActiveCfg = Debug|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Debug|Win32.Build.0 = Debug|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Release|Win32.ActiveCfg = Release|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Release|Win32.Build.0 = Release|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Debug|Win32.ActiveCfg = Debug|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Debug|Win32.Build.0 = Debug|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Release|Win32.ActiveCfg = Release|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Release|Win32.Build.0 = Release|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Debug|Win32.ActiveCfg = Debug|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Debug|Win32.Build.0 = Debug|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Release|Win32.ActiveCfg = Release|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Release|Win32.Build.0 = Release|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Debug|Win32.ActiveCfg = Debug|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Debug|Win32.Build.0 = Debug|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Release|Win32.ActiveCfg = Release|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Release|Win32.Build.0 = Release|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Debug|Win32.ActiveCfg = Debug|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Debug|Win32.Build.0 = Debug|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Release|Win32.ActiveCfg = Release|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Release|Win32.Build.0 = Release|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Debug|Win32.ActiveCfg = Debug|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Debug|Win32.Build.0 = Debug|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Release|Win32.ActiveCfg = Release|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Release|Win32.Build.0 = Release|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Debug|Win32.ActiveCfg = Debug|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Debug|Win32.Build.0 = Debug|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Release|Win32.ActiveCfg = Release|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Release|Win32.Build.0 = Release|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Debug|Win32.ActiveCfg = Debug|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Debug|Win32.Build.0 = Debug|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Release|Win32.ActiveCfg = Release|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Release|Win32.Build.0 = Release|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Debug|Win32.ActiveCfg = Debug|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Debug|Win32.Build.0 = Debug|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Release|Win32.ActiveCfg = Release|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Release|Win32.Build.0 = Release|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Debug|Win32.ActiveCfg = Debug|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Debug|Win32.Build.0 = Debug|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Release|Win32.ActiveCfg = Release|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Release|Win32.Build.0 = Release|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Debug|Win32.ActiveCfg = Debug|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Debug|Win32.Build.0 = Debug|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Release|Win32.ActiveCfg = Release|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Release|Win32.Build.0 = Release|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Debug|Win32.ActiveCfg = Debug|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Debug|Win32.Build.0 = Debug|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Release|Win32.ActiveCfg = Release|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Release|Win32.Build.0 = Release|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Debug|Win32.ActiveCfg = Debug|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Debug|Win32.Build.0 = Debug|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Release|Win32.ActiveCfg = Release|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Release|Win32.Build.0 = Release|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Debug|Win32.ActiveCfg = Debug|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Debug|Win32.Build.0 = Debug|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Release|Win32.ActiveCfg = Release|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Release|Win32.Build.0 = Release|Win32 {CAF3AED6-3900-4E8B-B21E-68022B955260}.Debug|Win32.ActiveCfg = Debug|Win32 {CAF3AED6-3900-4E8B-B21E-68022B955260}.Debug|Win32.Build.0 = Debug|Win32 {CAF3AED6-3900-4E8B-B21E-68022B955260}.Release|Win32.ActiveCfg = Release|Win32 {CAF3AED6-3900-4E8B-B21E-68022B955260}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution {76F139F5-913A-4328-8504-B1E9B7F1BA97} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {DDBF66ED-91FA-48ED-B23D-437473C52C0A} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {584804F3-344F-4850-899C-85E1998694F8} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {62DB83C4-A2FA-45AF-B2F2-A737443AD473} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {9C1140F6-1846-4335-B571-83E2C9FF6E02} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {84518230-9F6F-4B1E-B4B4-9F78D27355AC} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {607FAED5-B750-44D2-A817-0FDF4F77744C} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {9121BA33-CE71-4775-AD78-1114696BFEC8} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {9EA3CB05-003C-410C-A4F2-B0DB7F01645D} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {1EFD2CA7-86AF-4F66-9930-978D5A881949} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {9B7A5827-9F06-4B7F-B8E3-233E9350C258} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {57414A3E-782C-4472-9EEE-981EF0649258} = {37581370-F613-4C0E-BEF1-3BB7540DFFD1} {0469C145-5B1A-4677-B0C2-0981EB6C0567} = {75835D86-0BB4-4DEC-AB3B-62329D7DF3CE} {1917F167-8C7F-4920-934D-BDAA2E6DC024} = {75835D86-0BB4-4DEC-AB3B-62329D7DF3CE} {8209506A-634F-4239-82D0-3EC9105FEBA4} = {75835D86-0BB4-4DEC-AB3B-62329D7DF3CE} {C8BDF683-7F8E-4526-9193-836DD90714CC} = {75835D86-0BB4-4DEC-AB3B-62329D7DF3CE} {23D5F8E4-F554-451F-B97D-F0CD82272229} = {75835D86-0BB4-4DEC-AB3B-62329D7DF3CE} EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/mod_axis2/0000777000175000017500000000000011172017546021256 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/mod_axis2/mod_axis2.vcproj0000644000175000017500000001330611166304544024367 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/mod_axis2/mod_axis2.sln0000644000175000017500000000156211166304544023661 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_axis2", "mod_axis2.vcproj", "{9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Debug|Win32.ActiveCfg = Debug|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Debug|Win32.Build.0 = Debug|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Release|Win32.ActiveCfg = Release|Win32 {9CA2AEC7-8781-4B5E-B2A2-C143ABF5E818}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/axis2_xpath/0000777000175000017500000000000011172017546021623 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_xpath/axis2_xpath.vcproj0000644000175000017500000001322511166304545025302 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_tcp_receiver/0000777000175000017500000000000011172017546023151 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_tcp_receiver/axis2_tcp_receiver.vcproj0000644000175000017500000001302211166304544030150 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_parser/0000777000175000017500000000000011172017546021773 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_parser/axis2_parser.vcproj0000644000175000017500000001233311166304546025622 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_mod_log/0000777000175000017500000000000011172017546022117 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_mod_log/axis2_mod_log.vcproj0000644000175000017500000001267311166304544026077 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axutil/0000777000175000017500000000000011172017546020677 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axutil/axutil.vcproj0000644000175000017500000003531411166304546023436 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_parser_guththila/0000777000175000017500000000000011172017546024044 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_parser_guththila/axis2_parser_guththila.vcproj0000644000175000017500000001211211166304546031737 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/neethi/0000777000175000017500000000000011172017546020645 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/neethi/neethi.vcproj0000644000175000017500000004567711166304547023370 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_http_receiver/0000777000175000017500000000000011172017546023342 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_http_receiver/axis2_http_receiver.vcproj0000644000175000017500000001252511166304546030543 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/mod_axis2_IIS/0000777000175000017500000000000011172017546021762 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/mod_axis2_IIS/mod_axis2_IIS.sln0000644000175000017500000000157211166304545025073 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mod_axis2_IIS", "mod_axis2_IIS.vcproj", "{1D949369-9C4B-4C59-9F2A-278FD8CE0D41}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Debug|Win32.ActiveCfg = Debug|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Debug|Win32.Build.0 = Debug|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Release|Win32.ActiveCfg = Release|Win32 {1D949369-9C4B-4C59-9F2A-278FD8CE0D41}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/mod_axis2_IIS/mod_axis2_IIS.vcproj0000644000175000017500000001530511166304545025601 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/tcpmon/0000777000175000017500000000000011172017546020671 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/tcpmon/tcpmon.sln0000644000175000017500000000155411166304545022711 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tcpmon", "tcpmon.vcproj", "{56180647-96CF-4415-B3FB-34E41CEAD595}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {56180647-96CF-4415-B3FB-34E41CEAD595}.Debug|Win32.ActiveCfg = Debug|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Debug|Win32.Build.0 = Debug|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Release|Win32.ActiveCfg = Release|Win32 {56180647-96CF-4415-B3FB-34E41CEAD595}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/tcpmon/tcpmon.vcproj0000644000175000017500000001307211166304545023416 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/axis2_mod_addr/0000777000175000017500000000000011172017546022250 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/axis2_mod_addr/axis2_mod_addr.vcproj0000644000175000017500000001364011166304544026354 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/services/0000777000175000017500000000000011172017546021214 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/services/echo/0000777000175000017500000000000011172017546022132 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/services/echo/echo.vcproj0000644000175000017500000001251511166304544024275 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/services/math/0000777000175000017500000000000011172017546022145 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/services/math/math.vcproj0000644000175000017500000001200311166304544024313 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/services/mtom/0000777000175000017500000000000011172017546022170 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/services/mtom/mtom.vcproj0000644000175000017500000001177711166304544024402 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/services/notify/0000777000175000017500000000000011172017546022524 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/services/notify/notify.vcproj0000644000175000017500000001202511166304544025255 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/services/services.sln0000644000175000017500000000521511166304544023554 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Calculator", "Calculator\Calculator.vcproj", "{1917F167-8C7F-4920-934D-BDAA2E6DC024}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo", "echo\echo.vcproj", "{0469C145-5B1A-4677-B0C2-0981EB6C0567}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "math", "math\math.vcproj", "{8209506A-634F-4239-82D0-3EC9105FEBA4}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtom", "mtom\mtom.vcproj", "{C8BDF683-7F8E-4526-9193-836DD90714CC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notify", "notify\notify.vcproj", "{23D5F8E4-F554-451F-B97D-F0CD82272229}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Debug|Win32.ActiveCfg = Debug|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Debug|Win32.Build.0 = Debug|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Release|Win32.ActiveCfg = Release|Win32 {1917F167-8C7F-4920-934D-BDAA2E6DC024}.Release|Win32.Build.0 = Release|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Debug|Win32.ActiveCfg = Debug|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Debug|Win32.Build.0 = Debug|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Release|Win32.ActiveCfg = Release|Win32 {0469C145-5B1A-4677-B0C2-0981EB6C0567}.Release|Win32.Build.0 = Release|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Debug|Win32.ActiveCfg = Debug|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Debug|Win32.Build.0 = Debug|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Release|Win32.ActiveCfg = Release|Win32 {8209506A-634F-4239-82D0-3EC9105FEBA4}.Release|Win32.Build.0 = Release|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Debug|Win32.ActiveCfg = Debug|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Debug|Win32.Build.0 = Debug|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Release|Win32.ActiveCfg = Release|Win32 {C8BDF683-7F8E-4526-9193-836DD90714CC}.Release|Win32.Build.0 = Release|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Debug|Win32.ActiveCfg = Debug|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Debug|Win32.Build.0 = Debug|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Release|Win32.ActiveCfg = Release|Win32 {23D5F8E4-F554-451F-B97D-F0CD82272229}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/services/Calculator/0000777000175000017500000000000011172017546023305 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/services/Calculator/Calculator.vcproj0000644000175000017500000001221011166304544026613 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/0000777000175000017500000000000011172017546021032 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo/0000777000175000017500000000000011172017546021750 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo/echo.vcproj0000644000175000017500000001153411166304546024115 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/math/0000777000175000017500000000000011172017546021763 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/math/math.vcproj0000644000175000017500000001130211166304545024133 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/mtom/0000777000175000017500000000000011172017546022006 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/mtom/mtom.vcproj0000644000175000017500000001074411166304546024213 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking_addr/0000777000175000017500000000000011172017546024612 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking_addr/echo_blocking_addr.vcproj0000644000175000017500000001203111166304545031611 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking_auth/0000777000175000017500000000000011172017546024641 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking_auth/echo_blocking_auth.vcproj0000644000175000017500000001177311166304545031703 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking_dual/0000777000175000017500000000000011172017546024625 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking_dual/echo_blocking_dual.vcproj0000644000175000017500000001203111166304546031640 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/yahoo/0000777000175000017500000000000011172017546022151 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/yahoo/yahoo.vcproj0000644000175000017500000001077111166304545024520 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking/0000777000175000017500000000000011172017546023620 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_blocking/echo_blocking.vcproj0000644000175000017500000001201211166304545027624 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_non_blocking/0000777000175000017500000000000011172017546024472 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_non_blocking/echo_non_blocking.vcproj0000644000175000017500000001202611166304545031355 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/clients.sln0000644000175000017500000001463111166304546023214 0ustar00manjulamanjula00000000000000 Microsoft Visual Studio Solution File, Format Version 9.00 # Visual Studio 2005 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo", "echo\echo.vcproj", "{57414A3E-782C-4472-9EEE-981EF0649258}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mtom", "mtom\mtom.vcproj", "{9EA3CB05-003C-410C-A4F2-B0DB7F01645D}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "math", "math\math.vcproj", "{9121BA33-CE71-4775-AD78-1114696BFEC8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "google", "google\google.vcproj", "{607FAED5-B750-44D2-A817-0FDF4F77744C}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "notify", "notify\notify.vcproj", "{1EFD2CA7-86AF-4F66-9930-978D5A881949}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "yahoo", "yahoo\yahoo.vcproj", "{9B7A5827-9F06-4B7F-B8E3-233E9350C258}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking", "echo_blocking\echo_blocking.vcproj", "{76F139F5-913A-4328-8504-B1E9B7F1BA97}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_addr", "echo_blocking_addr\echo_blocking_addr.vcproj", "{DDBF66ED-91FA-48ED-B23D-437473C52C0A}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_dual", "echo_blocking_dual\echo_blocking_dual.vcproj", "{584804F3-344F-4850-899C-85E1998694F8}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_non_blocking", "echo_non_blocking\echo_non_blocking.vcproj", "{62DB83C4-A2FA-45AF-B2F2-A737443AD473}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_non_blocking_dual", "echo_non_blocking_dual\echo_non_blocking_dual.vcproj", "{9C1140F6-1846-4335-B571-83E2C9FF6E02}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_rest", "echo_rest\echo_rest.vcproj", "{84518230-9F6F-4B1E-B4B4-9F78D27355AC}" EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "echo_blocking_auth", "echo_blocking_auth\echo_blocking_auth.vcproj", "{0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Win32 = Debug|Win32 Release|Win32 = Release|Win32 EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution {57414A3E-782C-4472-9EEE-981EF0649258}.Debug|Win32.ActiveCfg = Debug|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Debug|Win32.Build.0 = Debug|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Release|Win32.ActiveCfg = Release|Win32 {57414A3E-782C-4472-9EEE-981EF0649258}.Release|Win32.Build.0 = Release|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Debug|Win32.ActiveCfg = Debug|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Debug|Win32.Build.0 = Debug|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Release|Win32.ActiveCfg = Release|Win32 {9EA3CB05-003C-410C-A4F2-B0DB7F01645D}.Release|Win32.Build.0 = Release|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Debug|Win32.ActiveCfg = Debug|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Debug|Win32.Build.0 = Debug|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Release|Win32.ActiveCfg = Release|Win32 {9121BA33-CE71-4775-AD78-1114696BFEC8}.Release|Win32.Build.0 = Release|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Debug|Win32.ActiveCfg = Debug|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Debug|Win32.Build.0 = Debug|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Release|Win32.ActiveCfg = Release|Win32 {607FAED5-B750-44D2-A817-0FDF4F77744C}.Release|Win32.Build.0 = Release|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Debug|Win32.ActiveCfg = Debug|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Debug|Win32.Build.0 = Debug|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Release|Win32.ActiveCfg = Release|Win32 {1EFD2CA7-86AF-4F66-9930-978D5A881949}.Release|Win32.Build.0 = Release|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Debug|Win32.ActiveCfg = Debug|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Debug|Win32.Build.0 = Debug|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Release|Win32.ActiveCfg = Release|Win32 {9B7A5827-9F06-4B7F-B8E3-233E9350C258}.Release|Win32.Build.0 = Release|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Debug|Win32.ActiveCfg = Debug|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Debug|Win32.Build.0 = Debug|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Release|Win32.ActiveCfg = Release|Win32 {76F139F5-913A-4328-8504-B1E9B7F1BA97}.Release|Win32.Build.0 = Release|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Debug|Win32.ActiveCfg = Debug|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Debug|Win32.Build.0 = Debug|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Release|Win32.ActiveCfg = Release|Win32 {DDBF66ED-91FA-48ED-B23D-437473C52C0A}.Release|Win32.Build.0 = Release|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Debug|Win32.ActiveCfg = Debug|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Debug|Win32.Build.0 = Debug|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Release|Win32.ActiveCfg = Release|Win32 {584804F3-344F-4850-899C-85E1998694F8}.Release|Win32.Build.0 = Release|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Debug|Win32.ActiveCfg = Debug|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Debug|Win32.Build.0 = Debug|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Release|Win32.ActiveCfg = Release|Win32 {62DB83C4-A2FA-45AF-B2F2-A737443AD473}.Release|Win32.Build.0 = Release|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Debug|Win32.ActiveCfg = Debug|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Debug|Win32.Build.0 = Debug|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Release|Win32.ActiveCfg = Release|Win32 {9C1140F6-1846-4335-B571-83E2C9FF6E02}.Release|Win32.Build.0 = Release|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Debug|Win32.ActiveCfg = Debug|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Debug|Win32.Build.0 = Debug|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Release|Win32.ActiveCfg = Release|Win32 {84518230-9F6F-4B1E-B4B4-9F78D27355AC}.Release|Win32.Build.0 = Release|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Debug|Win32.ActiveCfg = Debug|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Debug|Win32.Build.0 = Debug|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Release|Win32.ActiveCfg = Release|Win32 {0CCC1F34-5CD7-47EB-8DE7-50F59BD6182B}.Release|Win32.Build.0 = Release|Win32 EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection EndGlobal axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_rest/0000777000175000017500000000000011172017546023005 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_rest/echo_rest.vcproj0000644000175000017500000001177611166304546026217 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/google/0000777000175000017500000000000011172017546022306 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/google/google.vcproj0000644000175000017500000001077511166304546025017 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/notify/0000777000175000017500000000000011172017546022342 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/notify/notify.vcproj0000644000175000017500000001077511166304545025106 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_non_blocking_dual/0000777000175000017500000000000011172017546025477 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc/axis2c/clients/echo_non_blocking_dual/echo_non_blocking_dual.vcproj0000644000175000017500000001204511166304545033370 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/ides/vc6/0000777000175000017500000000000011172017546016266 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/0000777000175000017500000000000011172017546017732 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/services/0000777000175000017500000000000011172017546021555 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/services/echo/0000777000175000017500000000000011172017546022473 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/services/math/0000777000175000017500000000000011172017546022506 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/services/mtom/0000777000175000017500000000000011172017546022531 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/services/notify/0000777000175000017500000000000011172017546023065 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/services/Calculator/0000777000175000017500000000000011172017546023646 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/0000777000175000017500000000000011172017546021373 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo/0000777000175000017500000000000011172017546022311 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/math/0000777000175000017500000000000011172017546022324 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/mtom/0000777000175000017500000000000011172017546022347 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo_blocking_addr/0000777000175000017500000000000011172017546025153 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo_blocking_dual/0000777000175000017500000000000011172017546025166 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/yahoo/0000777000175000017500000000000011172017546022512 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo_blocking/0000777000175000017500000000000011172017546024161 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo_non_blocking/0000777000175000017500000000000011172017546025033 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo_rest/0000777000175000017500000000000011172017546023346 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/google/0000777000175000017500000000000011172017546022647 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/notify/0000777000175000017500000000000011172017546022703 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/samples/clients/echo_non_blocking_dual/0000777000175000017500000000000011172017546026040 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/0000777000175000017500000000000011172017546017457 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/guththila/0000777000175000017500000000000011172017546021450 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axiom/0000777000175000017500000000000011172017546020574 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axiom/axiom.dsp0000644000175000017500000017244011166304550022422 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axiom" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axiom - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axiom.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axiom.mak" CFG="axiom - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axiom - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axiom - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axiom - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIOM_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIOM_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axiom - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIOM_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_parser.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axiom.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axiom.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axiom - Win32 Release" # Name "axiom - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\axiom\src\attachments\data_handler.c DEP_CPP_DATA_=\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\http_chunked_stream.c DEP_CPP_HTTP_=\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\attachments\mime_body_part.c DEP_CPP_MIME_=\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\src\attachments\axiom_mime_body_part.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\attachments\mime_output.c DEP_CPP_MIME_O=\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_mime_const.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\attachments\axiom_mime_body_part.h"\ "..\..\..\..\axiom\src\attachments\axiom_mime_output.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\attachments\mime_parser.c DEP_CPP_MIME_P=\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_mime_const.h"\ "..\..\..\..\axiom\include\axiom_mime_parser.h"\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_attribute.c DEP_CPP_OM_AT=\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_child_element_iterator.c DEP_CPP_OM_CH=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_children_iterator.c DEP_CPP_OM_CHI=\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_children_qname_iterator.c DEP_CPP_OM_CHIL=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_children_with_specific_attribute_iterator.c DEP_CPP_OM_CHILD=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_comment.c DEP_CPP_OM_CO=\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_data_source.c DEP_CPP_OM_DA=\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_doctype.c DEP_CPP_OM_DO=\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_document.c DEP_CPP_OM_DOC=\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_element.c DEP_CPP_OM_EL=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_namespace.c DEP_CPP_OM_NA=\ "..\..\..\..\axiom\src\om\axiom_namespace_internal.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_navigator.c DEP_CPP_OM_NAV=\ "..\..\..\..\axiom\include\axiom_navigator.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_node.c DEP_CPP_OM_NO=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_output.c DEP_CPP_OM_OU=\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\attachments\axiom_mime_output.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_processing_instruction.c DEP_CPP_OM_PR=\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_stax_builder.c DEP_CPP_OM_ST=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ "..\..\..\..\axiom\src\om\axiom_stax_builder_internal.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\om_text.c DEP_CPP_OM_TE=\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\util\om_util.c DEP_CPP_OM_UT=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_util.h"\ "..\..\..\..\util\include\axutil_uri.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap11_builder_helper.c DEP_CPP_SOAP1=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ "..\..\..\..\axiom\src\om\axiom_stax_builder_internal.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_body.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_code.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_role.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_value.h"\ "..\..\..\..\axiom\src\soap\axiom_soap11_builder_helper.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap12_builder_helper.c DEP_CPP_SOAP12=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_body.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_envelope.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_code.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_node.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_role.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_value.h"\ "..\..\..\..\axiom\src\soap\axiom_soap12_builder_helper.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_body.c DEP_CPP_SOAP_=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_body.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_envelope.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_value.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_builder.c DEP_CPP_SOAP_B=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_stax_builder_internal.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_body.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_envelope.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_header.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_header_block.h"\ "..\..\..\..\axiom\src\soap\axiom_soap11_builder_helper.h"\ "..\..\..\..\axiom\src\soap\axiom_soap12_builder_helper.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_envelope.c DEP_CPP_SOAP_E=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_namespace_internal.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_envelope.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault.c DEP_CPP_SOAP_F=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_body.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_code.c DEP_CPP_SOAP_FA=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_code.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_detail.c DEP_CPP_SOAP_FAU=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_detail.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_node.c DEP_CPP_SOAP_FAUL=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_node.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_reason.c DEP_CPP_SOAP_FAULT=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_role.c DEP_CPP_SOAP_FAULT_=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_sub_code.c DEP_CPP_SOAP_FAULT_S=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_code.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_text.c DEP_CPP_SOAP_FAULT_T=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_text.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_fault_value.c DEP_CPP_SOAP_FAULT_V=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_code.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_fault_sub_code.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_header.c DEP_CPP_SOAP_H=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\om\axiom_node_internal.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_envelope.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_header.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\soap_header_block.c DEP_CPP_SOAP_HE=\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_header.h"\ "..\..\..\..\axiom\src\soap\_axiom_soap_header_block.h"\ {$(INCLUDE)}"axiom_attribute.h"\ {$(INCLUDE)}"axiom_namespace.h"\ {$(INCLUDE)}"axiom_node.h"\ {$(INCLUDE)}"axiom_output.h"\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_body.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_envelope.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_code.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_detail.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_node.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_reason.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_role.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_sub_code.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_text.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_fault_value.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_header.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\_axiom_soap_header_block.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_attribute.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_child_element_iterator.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_children_iterator.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_children_qname_iterator.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_comment.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_data_handler.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_data_source.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_doctype.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_document.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_element.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\attachments\axiom_mime_body_part.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_mime_const.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\attachments\axiom_mime_output.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_mime_parser.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_namespace.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\axiom_namespace_internal.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_navigator.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_node.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\axiom_node_internal.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_output.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_processing_instruction.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\axiom_soap11_builder_helper.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\soap\axiom_soap12_builder_helper.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_body.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_const.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_envelope.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_code.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_detail.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_node.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_reason.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_role.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_text.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_fault_value.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_header.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_soap_header_block.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_stax_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\om\axiom_stax_builder_internal.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_text.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_util.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_xml_reader.h # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\include\axiom_xml_writer.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_tcp_sender/0000777000175000017500000000000011172017546022713 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_tcp_sender/axis2_tcp_sender.dsp0000644000175000017500000001407611166304547026666 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_tcp_sender" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_tcp_sender - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_tcp_sender.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_tcp_sender.mak" CFG="axis2_tcp_sender - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_tcp_sender - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_tcp_sender - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_tcp_sender - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_TCP_SENDER_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_TCP_SENDER_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_tcp_sender - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_TCP_SENDER_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_engine.lib axiom.lib axis2_parser.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_tcp_sender.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axis2_tcp_sender.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none !ENDIF # Begin Target # Name "axis2_tcp_sender - Win32 Release" # Name "axis2_tcp_sender - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\sender\tcp_transport_sender.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\axis2_simple_tcp_svr_conn.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\axis2_tcp_server.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\axis2_tcp_svr_thread.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\axis2_tcp_transport.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\axis2_tcp_transport_sender.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\axis2_tcp_worker.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_tcp_server/0000777000175000017500000000000011172017546022741 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_tcp_server/axis2_tcp_server.dsp0000644000175000017500000001351411166304547026736 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_tcp_server" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=axis2_tcp_server - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_tcp_server.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_tcp_server.mak" CFG="axis2_tcp_server - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_tcp_server - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "axis2_tcp_server - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_tcp_server - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "axis2_tcp_server - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /D "_CONSOLE" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_engine.lib axiom.lib axis2_tcp_receiver.lib axis2_parser.lib /nologo /subsystem:console /incremental:no /pdb:"../../../../build/deploy/lib/axis2_tcp_server.pdb" /debug /machine:I386 /out:"../../../../build/deploy/bin/axis2_tcp_server.exe" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none !ENDIF # Begin Target # Name "axis2_tcp_server - Win32 Release" # Name "axis2_tcp_server - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\server\simple_tcp_server\tcp_receiver.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\server\simple_tcp_server\tcp_server_main.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_http_sender/0000777000175000017500000000000011172017546023104 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_http_sender/axis2_http_sender.dsp0000644000175000017500000001360511166304547027245 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_http_sender" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_http_sender - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_http_sender.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_http_sender.mak" CFG="axis2_http_sender - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_http_sender - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_http_sender - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_http_sender - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_HTTP_SENDER_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_HTTP_SENDER_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_http_sender - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_HTTP_SENDER_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_parser.lib axis2_engine.lib axiom.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_http_sender.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axis2_http_sender.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axis2_http_sender - Win32 Release" # Name "axis2_http_sender - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\sender\http_client.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\sender\http_sender.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\sender\http_transport_sender.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\include\axis2_http_sender.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_http_server/0000777000175000017500000000000011172017546023132 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_http_server/axis2_http_server.dsp0000644000175000017500000002343011166304547027316 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_http_server" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Console Application" 0x0103 CFG=axis2_http_server - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_http_server.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_http_server.mak" CFG="axis2_http_server - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_http_server - Win32 Release" (based on "Win32 (x86) Console Application") !MESSAGE "axis2_http_server - Win32 Debug" (based on "Win32 (x86) Console Application") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_http_server - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 !ELSEIF "$(CFG)" == "axis2_http_server - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /D "_CONSOLE" /FR /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_engine.lib axis2_parser.lib axis2_http_receiver.lib /nologo /subsystem:console /incremental:no /pdb:"../../../../build/deploy/lib/axis2_http_server.pdb" /debug /machine:I386 /out:"../../../../build/deploy/bin/axis2_http_server.exe" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=if not exist .\..\..\..\..\build\deploy\logs mkdir .\..\..\..\..\build\deploy\logs copy .\debug\axis2_http_server.exe .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axis2_http_server - Win32 Release" # Name "axis2_http_server - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\simple_axis2_server\http_server_main.c DEP_CPP_HTTP_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_server.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_version.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_engine/0000777000175000017500000000000011172017546022032 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_engine/axis2_engine.dsp0000644000175000017500000101774311166304550025123 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_engine" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_engine - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_engine.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_engine.mak" CFG="axis2_engine - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_engine - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_engine - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_engine - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_ENGINE_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_ENGINE_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_engine - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_ENGINE_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axiom.lib axutil.lib axis2_parser.lib neethi.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_engine.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axis2_engine.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\..\..\..\..\samples\server\axis2.xml .\..\..\..\..\build\deploy\ copy .\debug\*.lib .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axis2_engine - Win32 Release" # Name "axis2_engine - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\engine\addr_disp.c DEP_CPP_ADDR_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\addr\any_content_type.c DEP_CPP_ANY_C=\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\arch_file_data.c DEP_CPP_ARCH_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\arch_reader.c DEP_CPP_ARCH_R=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_arch_reader.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_module_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_svc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_svc_grp_builder.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\async_result.c DEP_CPP_ASYNC=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_async_result.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\callback.c DEP_CPP_CALLB=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_async_result.h"\ "..\..\..\..\include\axis2_callback.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\callback_recv.c DEP_CPP_CALLBA=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_async_result.h"\ "..\..\..\..\include\axis2_callback.h"\ "..\..\..\..\include\axis2_callback_recv.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\conf.c DEP_CPP_CONF_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_core_utils.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_arch_reader.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_svc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_svc_grp_builder.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\src\core\engine\axis2_disp_checker.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\conf_builder.c DEP_CPP_CONF_B=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\context\conf_ctx.c DEP_CPP_CONF_C=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\conf_init.c DEP_CPP_CONF_I=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_conf_init.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\util\core_utils.c DEP_CPP_CORE_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_core_utils.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\context\ctx.c DEP_CPP_CTX_C=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\ctx_handler.c DEP_CPP_CTX_H=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\dep_engine.c DEP_CPP_DEP_E=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_core_utils.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_arch_reader.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_module_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_svc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_svc_grp_builder.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\desc.c DEP_CPP_DESC_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\desc_builder.c DEP_CPP_DESC_B=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_raw_xml_in_out_msg_recv.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_generic_obj.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\disp.c DEP_CPP_DISP_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\disp_checker.c DEP_CPP_DISP_C=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\src\core\engine\axis2_disp_checker.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\addr\endpoint_ref.c DEP_CPP_ENDPO=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\engine.c DEP_CPP_ENGIN=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_engine.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\flow.c DEP_CPP_FLOW_=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\flow_container.c DEP_CPP_FLOW_C=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\handler.c DEP_CPP_HANDL=\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\handler_desc.c DEP_CPP_HANDLE=\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\http_chunked_stream.c DEP_CPP_HTTP_=\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_header.c DEP_CPP_HTTP_H=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_out_transport_info.c DEP_CPP_HTTP_O=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_out_transport_info.h"\ "..\..\..\..\include\axis2_http_simple_response.h"\ "..\..\..\..\include\axis2_http_status_line.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_request_line.c DEP_CPP_HTTP_R=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_request_line.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_response_writer.c DEP_CPP_HTTP_RE=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_response_writer.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_simple_request.c DEP_CPP_HTTP_S=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_request_line.h"\ "..\..\..\..\include\axis2_http_simple_request.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_simple_response.c DEP_CPP_HTTP_SI=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_simple_response.h"\ "..\..\..\..\include\axis2_http_status_line.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_status_line.c DEP_CPP_HTTP_ST=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_status_line.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\util\http_transport_utils.c DEP_CPP_HTTP_T=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_mime_const.h"\ "..\..\..\..\axiom\include\axiom_mime_parser.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_engine.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_http_transport_utils.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\http_worker.c DEP_CPP_HTTP_W=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_engine.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_out_transport_info.h"\ "..\..\..\..\include\axis2_http_request_line.h"\ "..\..\..\..\include\axis2_http_response_writer.h"\ "..\..\..\..\include\axis2_http_simple_request.h"\ "..\..\..\..\include\axis2_http_simple_response.h"\ "..\..\..\..\include\axis2_http_status_line.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_http_transport_utils.h"\ "..\..\..\..\include\axis2_http_worker.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_simple_http_svr_conn.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\listener_manager.c DEP_CPP_LISTE=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_listener_manager.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\module_builder.c DEP_CPP_MODUL=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_module_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\module_desc.c DEP_CPP_MODULE=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\msg.c DEP_CPP_MSG_C=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\context\msg_ctx.c DEP_CPP_MSG_CT=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_out_transport_info.h"\ "..\..\..\..\include\axis2_http_simple_response.h"\ "..\..\..\..\include\axis2_http_status_line.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_options.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\addr\msg_info_headers.c DEP_CPP_MSG_I=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\receivers\msg_recv.c DEP_CPP_MSG_R=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_core_utils.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_engine.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\op.c DEP_CPP_OP_C54=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\op_client.c DEP_CPP_OP_CL=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_async_result.h"\ "..\..\..\..\include\axis2_callback.h"\ "..\..\..\..\include\axis2_callback_recv.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_core_utils.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_engine.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_listener_manager.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_client.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_options.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\context\op_ctx.c DEP_CPP_OP_CT=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\options.c DEP_CPP_OPTIO=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_options.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\phase.c DEP_CPP_PHASE=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\phaseresolver\phase_holder.c DEP_CPP_PHASE_=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\phaseresolver\phase_resolver.c DEP_CPP_PHASE_R=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\phase_rule.c DEP_CPP_PHASE_RU=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\phases_info.c DEP_CPP_PHASES=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\policy_include.c DEP_CPP_POLIC=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\receivers\raw_xml_in_out_msg_recv.c DEP_CPP_RAW_X=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_raw_xml_in_out_msg_recv.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\addr\relates_to.c DEP_CPP_RELAT=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\repos_listener.c DEP_CPP_REPOS=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\req_uri_disp.c DEP_CPP_REQ_U=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\rest_disp.c DEP_CPP_REST_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\common\simple_http_svr_conn.c DEP_CPP_SIMPL=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_http_header.h"\ "..\..\..\..\include\axis2_http_request_line.h"\ "..\..\..\..\include\axis2_http_response_writer.h"\ "..\..\..\..\include\axis2_http_simple_request.h"\ "..\..\..\..\include\axis2_http_simple_response.h"\ "..\..\..\..\include\axis2_http_status_line.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_simple_http_svr_conn.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\soap_action_disp.c DEP_CPP_SOAP_=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\soap_body_disp.c DEP_CPP_SOAP_B=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_disp.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\stub.c DEP_CPP_STUB_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_async_result.h"\ "..\..\..\..\include\axis2_callback.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_client.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_options.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_stub.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_client.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\svc.c DEP_CPP_SVC_C=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\svc_builder.c DEP_CPP_SVC_B=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_svc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\clientapi\svc_client.c DEP_CPP_SVC_CL=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_util.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_async_result.h"\ "..\..\..\..\include\axis2_callback.h"\ "..\..\..\..\include\axis2_callback_recv.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_conf_init.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_http_transport.h"\ "..\..\..\..\include\axis2_listener_manager.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_client.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_options.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_client.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\neethi_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_generic_obj.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\context\svc_ctx.c DEP_CPP_SVC_CT=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\svc_grp.c DEP_CPP_SVC_G=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\svc_grp_builder.c DEP_CPP_SVC_GR=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_addr.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_svc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_svc_grp_builder.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\context\svc_grp_ctx.c DEP_CPP_SVC_GRP=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\addr\svc_name.c DEP_CPP_SVC_N=\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\receivers\svr_callback.c DEP_CPP_SVR_C=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_engine.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\transport_in_desc.c DEP_CPP_TRANS=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\description\transport_out_desc.c DEP_CPP_TRANSP=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\transport_receiver.c DEP_CPP_TRANSPO=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_conf_ctx.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_receiver.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\ws_info.c DEP_CPP_WS_IN=\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\ws_info_list.c DEP_CPP_WS_INF=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_any_content_type.h"\ "..\..\..\..\include\axis2_conf.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_core_dll_desc.h"\ "..\..\..\..\include\axis2_ctx.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_desc.h"\ "..\..\..\..\include\axis2_description.h"\ "..\..\..\..\include\axis2_endpoint_ref.h"\ "..\..\..\..\include\axis2_flow.h"\ "..\..\..\..\include\axis2_flow_container.h"\ "..\..\..\..\include\axis2_handler.h"\ "..\..\..\..\include\axis2_handler_desc.h"\ "..\..\..\..\include\axis2_module_desc.h"\ "..\..\..\..\include\axis2_msg_ctx.h"\ "..\..\..\..\include\axis2_msg_info_headers.h"\ "..\..\..\..\include\axis2_msg_recv.h"\ "..\..\..\..\include\axis2_op.h"\ "..\..\..\..\include\axis2_op_ctx.h"\ "..\..\..\..\include\axis2_phase.h"\ "..\..\..\..\include\axis2_phase_holder.h"\ "..\..\..\..\include\axis2_phase_meta.h"\ "..\..\..\..\include\axis2_phase_resolver.h"\ "..\..\..\..\include\axis2_phase_rule.h"\ "..\..\..\..\include\axis2_phases_info.h"\ "..\..\..\..\include\axis2_policy_include.h"\ "..\..\..\..\include\axis2_relates_to.h"\ "..\..\..\..\include\axis2_svc.h"\ "..\..\..\..\include\axis2_svc_ctx.h"\ "..\..\..\..\include\axis2_svc_grp.h"\ "..\..\..\..\include\axis2_svc_grp_ctx.h"\ "..\..\..\..\include\axis2_svc_name.h"\ "..\..\..\..\include\axis2_svc_skeleton.h"\ "..\..\..\..\include\axis2_svr_callback.h"\ "..\..\..\..\include\axis2_transport_in_desc.h"\ "..\..\..\..\include\axis2_transport_out_desc.h"\ "..\..\..\..\include\axis2_transport_sender.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\src\core\deployment\axis2_arch_file_data.h"\ "..\..\..\..\src\core\deployment\axis2_conf_builder.h"\ "..\..\..\..\src\core\deployment\axis2_dep_engine.h"\ "..\..\..\..\src\core\deployment\axis2_deployment.h"\ "..\..\..\..\src\core\deployment\axis2_desc_builder.h"\ "..\..\..\..\src\core\deployment\axis2_repos_listener.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info.h"\ "..\..\..\..\src\core\deployment\axis2_ws_info_list.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\include\axis2_addr.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_addr_mod.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_any_content_type.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_arch_file_data.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_arch_reader.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_async_result.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_callback.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_callback_recv.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_client.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_conf.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_conf_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_conf_ctx.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_conf_init.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_const.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_core_utils.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_ctx.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_defines.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_dep_engine.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_deployment.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_desc.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_desc_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_description.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_disp.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\engine\axis2_disp_checker.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_endpoint_ref.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_engine.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_flow.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_flow_container.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_handler.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_handler_desc.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_chunked_stream.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_client.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_header.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_out_transport_info.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_request_line.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_response_writer.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_sender.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_server.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_simple_request.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_simple_response.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_status_line.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_svr_thread.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_transport.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_transport_sender.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_transport_utils.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_http_worker.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_listener_manager.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_module.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_module_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_module_desc.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_msg.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_msg_ctx.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_msg_info_headers.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_msg_recv.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_op.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_op_client.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_op_ctx.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_options.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_phase.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_phase_holder.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_phase_meta.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_phase_resolver.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_phase_rule.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_phases_info.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_policy_include.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_raw_xml_in_out_msg_recv.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_relates_to.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_repos_listener.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_simple_http_svr_conn.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_stub.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_svc_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc_client.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc_ctx.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc_grp.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_svc_grp_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc_grp_ctx.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc_name.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svc_skeleton.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_svr_callback.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_thread_mutex.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_transport_in_desc.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_transport_out_desc.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_transport_receiver.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_transport_sender.h # End Source File # Begin Source File SOURCE=..\..\..\..\include\axis2_util.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_ws_info.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\deployment\axis2_ws_info_list.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2c.dsw0000644000175000017500000001017111166304550021360 0ustar00manjulamanjula00000000000000Microsoft Developer Studio Workspace File, Format Version 6.00 # WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project: "axiom"=.\axiom\axiom.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_engine"=.\axis2_engine\axis2_engine.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name neethi End Project Dependency }}} ############################################################################### Project: "axis2_http_receiver"=.\axis2_http_receiver\axis2_http_receiver.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_http_sender"=.\axis2_http_sender\axis2_http_sender.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_http_server"=.\axis2_http_server\axis2_http_server.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name axis2_http_receiver End Project Dependency }}} ############################################################################### Project: "axis2_mod_addr"=.\axis2_mod_addr\axis2_mod_addr.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_mod_log"=.\axis2_mod_log\axis2_mod_log.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_parser"=.\axis2_parser\axis2_parser.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name axutil End Project Dependency }}} ############################################################################### Project: "axis2_tcp_receiver"=.\axis2_tcp_receiver\axis2_tcp_receiver.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_tcp_sender"=.\axis2_tcp_sender\axis2_tcp_sender.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "axis2_tcp_server"=.\axis2_tcp_server\axis2_tcp_server.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name axis2_tcp_receiver End Project Dependency }}} ############################################################################### Project: "axutil"=.\axutil\axutil.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "mod_axis2"=.\mod_axis2\mod_axis2.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ }}} ############################################################################### Project: "mod_axis2_IIS"=.\mod_axis2_IIS\mod_axis2_IIS.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name axis2_http_sender End Project Dependency }}} ############################################################################### Project: "neethi"=.\neethi\neethi.dsp - Package Owner=<4> Package=<5> {{{ }}} Package=<4> {{{ Begin Project Dependency Project_Dep_Name axis2_parser End Project Dependency Begin Project Dependency Project_Dep_Name axiom End Project Dependency }}} ############################################################################### Global: Package=<5> {{{ }}} Package=<3> {{{ }}} ############################################################################### axis2c-src-1.6.0/ides/vc6/axis2c/mod_axis2/0000777000175000017500000000000011172017546021344 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/mod_axis2/mod_axis2.dsp0000644000175000017500000001411611166304547023743 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="mod_axis2" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=mod_axis2 - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "mod_axis2.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "mod_axis2.mak" CFG="mod_axis2 - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "mod_axis2 - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "mod_axis2 - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "mod_axis2 - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_AXIS2_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_AXIS2_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "mod_axis2 - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_AXIS2_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib libapr-1.lib apr-1.lib libhttpd.lib axutil.lib axis2_engine.lib axiom.lib axis2_parser.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/mod_axis2.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/mod_axis2.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none !ENDIF # Begin Target # Name "mod_axis2 - Win32 Release" # Name "mod_axis2 - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\apache2_out_transport_info.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\apache2_stream.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\apache2_worker.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\mod_axis2.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\apache2_stream.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\axis2_apache2_out_transport_info.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\apache2\axis2_apache2_worker.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_tcp_receiver/0000777000175000017500000000000011172017546023237 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_tcp_receiver/axis2_tcp_receiver.dsp0000644000175000017500000001347411166304547027537 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_tcp_receiver" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_tcp_receiver - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_tcp_receiver.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_tcp_receiver.mak" CFG="axis2_tcp_receiver - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_tcp_receiver - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_tcp_receiver - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_tcp_receiver - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_TCP_RECEIVER_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_TCP_RECEIVER_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_tcp_receiver - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_TCP_RECEIVER_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_engine.lib axiom.lib axis2_parser.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_tcp_receiver.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axis2_tcp_receiver.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib ..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axis2_tcp_receiver - Win32 Release" # Name "axis2_tcp_receiver - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\receiver\simple_tcp_svr_conn.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\receiver\tcp_svr_thread.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\tcp\receiver\tcp_worker.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_parser/0000777000175000017500000000000011172017546022061 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_parser/axis2_parser.dsp0000644000175000017500000001707311166304547025202 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_parser" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_parser - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_parser.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_parser.mak" CFG="axis2_parser - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_parser - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_parser - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_parser - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_PARSER_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_PARSER_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_parser - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_PARSER_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib libxml2.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_parser.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axis2_parser.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" /libpath:"..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axis2_parser - Win32 Release" # Name "axis2_parser - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\axiom\src\parser\libxml2\libxml2_reader_wrapper.c DEP_CPP_LIBXM=\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\parser\libxml2\libxml2_writer_wrapper.c DEP_CPP_LIBXML=\ "..\..\..\..\util\include\axutil_stack.h"\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\parser\xml_reader.c DEP_CPP_XML_R=\ {$(INCLUDE)}"axiom_xml_reader.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\axiom\src\parser\xml_writer.c DEP_CPP_XML_W=\ {$(INCLUDE)}"axiom_xml_writer.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_mod_log/0000777000175000017500000000000011172017546022205 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_mod_log/axis2_mod_log.dsp0000644000175000017500000001350111166304547025442 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_mod_log" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_mod_log - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_mod_log.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_mod_log.mak" CFG="axis2_mod_log - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_mod_log - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_mod_log - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_mod_log - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_MOD_LOG_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_MOD_LOG_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_mod_log - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_MOD_LOG_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axis2_engine.lib axutil.lib axiom.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_mod_log.pdb" /debug /machine:I386 /out:"../../../../build/deploy/modules/logging/axis2_mod_log.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\..\..\..\..\modules\mod_log\module.xml .\..\..\..\..\build\deploy\modules\logging # End Special Build Tool !ENDIF # Begin Target # Name "axis2_mod_log - Win32 Release" # Name "axis2_mod_log - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\modules\mod_log\log_in_handler.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\modules\mod_log\log_out_handler.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\modules\mod_log\mod_log.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\src\modules\mod_log\mod_log.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axutil/0000777000175000017500000000000011172017546020765 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axutil/axutil.dsp0000644000175000017500000012201111166304547022777 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axutil" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axutil - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axutil.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axutil.mak" CFG="axutil - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axutil - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axutil - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axutil - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXUTIL_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXUTIL_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axutil - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXUTIL_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "c:\progra~1\micros~4\include" /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib Rpcrt4.lib Ws2_32.lib zdll.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axutil.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axutil.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" /libpath:"c:/progra~1/micros~4/lib" /libpath:"..\..\..\..\axis2c_deps\zlib-1.2.3.win32\lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axutil - Win32 Release" # Name "axutil - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\util\src\allocator.c DEP_CPP_ALLOC=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\archive_extract.c DEP_CPP_ARCHI=\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\src\minizip\axis2_crypt.h"\ "..\..\..\..\util\src\minizip\axis2_ioapi.h"\ "..\..\..\..\util\src\minizip\axis2_iowin32.h"\ "..\..\..\..\util\src\minizip\axis2_unzip.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ NODEP_CPP_ARCHI=\ "..\..\..\..\util\src\minizip\zlib.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\array_list.c DEP_CPP_ARRAY=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\axutil_windows.c DEP_CPP_AXUTI=\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\base64.c DEP_CPP_BASE6=\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\base64_binary.c DEP_CPP_BASE64=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\class_loader.c DEP_CPP_CLASS=\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_param.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\crypt.c DEP_CPP_CRYPT=\ "..\..\..\..\util\src\minizip\axis2_crypt.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\date_time.c DEP_CPP_DATE_=\ "..\..\..\..\util\include\axutil_date_time_util.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\date_time_util.c DEP_CPP_DATE_T=\ "..\..\..\..\util\include\axutil_date_time_util.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\date_time_util_windows.c DEP_CPP_DATE_TI=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\digest_calc.c DEP_CPP_DIGES=\ "..\..\..\..\util\include\axutil_digest_calc.h"\ "..\..\..\..\util\include\axutil_md5.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\dir_handler.c DEP_CPP_DIR_H=\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\src\minizip\axis2_archive_extract.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\dir_windows.c DEP_CPP_DIR_W=\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\dll_desc.c DEP_CPP_DLL_D=\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_param.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\duration.c DEP_CPP_DURAT=\ "..\..\..\..\util\include\axutil_duration.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\env.c DEP_CPP_ENV_C=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_error_default.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_log_default.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\error.c DEP_CPP_ERROR=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_error_default.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\file.c DEP_CPP_FILE_=\ "..\..\..\..\util\include\axutil_file.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\file_handler.c DEP_CPP_FILE_H=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_file_handler.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\generic_obj.c DEP_CPP_GENER=\ "..\..\..\..\util\include\axutil_generic_obj.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\getopt_windows.c DEP_CPP_GETOP=\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\hash.c DEP_CPP_HASH_=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\http_chunked_stream.c DEP_CPP_HTTP_=\ "..\..\..\..\util\include\axutil_http_chunked_stream.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\ioapi.c DEP_CPP_IOAPI=\ "..\..\..\..\util\src\minizip\axis2_ioapi.h"\ NODEP_CPP_IOAPI=\ "..\..\..\..\util\src\minizip\zlib.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\iowin32.c DEP_CPP_IOWIN=\ "..\..\..\..\util\src\minizip\axis2_ioapi.h"\ "..\..\..\..\util\src\minizip\axis2_iowin32.h"\ NODEP_CPP_IOWIN=\ "..\..\..\..\util\src\minizip\zlib.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\linked_list.c DEP_CPP_LINKE=\ "..\..\..\..\util\include\axutil_linked_list.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\log.c DEP_CPP_LOG_C=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_file_handler.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_log_default.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\md5.c DEP_CPP_MD5_C=\ "..\..\..\..\util\include\axutil_md5.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_error_default.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\network_handler.c DEP_CPP_NETWO=\ "..\..\..\..\util\include\axutil_network_handler.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\param.c DEP_CPP_PARAM=\ "..\..\..\..\util\include\axutil_generic_obj.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_param.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\param_container.c DEP_CPP_PARAM_=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_param.h"\ {$(INCLUDE)}"axutil_param_container.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\properties.c DEP_CPP_PROPE=\ "..\..\..\..\util\include\axutil_properties.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_hash.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\property.c DEP_CPP_PROPER=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_property.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\qname.c DEP_CPP_QNAME=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_qname.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\rand.c DEP_CPP_RAND_=\ "..\..\..\..\util\include\axutil_rand.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\stack.c DEP_CPP_STACK=\ "..\..\..\..\util\include\axutil_stack.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\stream.c DEP_CPP_STREA=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_stream.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\string.c DEP_CPP_STRIN=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\string_util.c DEP_CPP_STRING=\ "..\..\..\..\util\include\axutil_string_util.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_array_list.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\thread_mutex_windows.c DEP_CPP_THREA=\ "..\..\..\..\util\include\platforms\windows\axutil_thread_mutex_windows.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\thread_pool.c DEP_CPP_THREAD=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_error_default.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\thread_windows.c DEP_CPP_THREAD_=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\types.c DEP_CPP_TYPES=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_types.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\unzip.c DEP_CPP_UNZIP=\ "..\..\..\..\util\src\minizip\axis2_crypt.h"\ "..\..\..\..\util\src\minizip\axis2_ioapi.h"\ "..\..\..\..\util\src\minizip\axis2_unzip.h"\ NODEP_CPP_UNZIP=\ "..\..\..\..\util\src\minizip\zlib.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\uri.c DEP_CPP_URI_C=\ "..\..\..\..\util\include\axutil_uri.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\url.c DEP_CPP_URL_C=\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_file_handler.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_types.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\utils.c DEP_CPP_UTILS=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_string.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\uuid_gen.c DEP_CPP_UUID_=\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_base64.h"\ {$(INCLUDE)}"axutil_base64_binary.h"\ {$(INCLUDE)}"axutil_date_time.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\axutil_platform_auto_sense.h"\ {$(INCLUDE)}"platforms\windows\axutil_date_time_util_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_dir_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_getopt_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_thread_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ {$(INCLUDE)}"platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\platforms\windows\uuid_gen_windows.c DEP_CPP_UUID_G=\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"platforms\windows\axutil_uuid_gen_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\version.c DEP_CPP_VERSI=\ {$(INCLUDE)}"axutil_allocator.h"\ {$(INCLUDE)}"axutil_env.h"\ {$(INCLUDE)}"axutil_error.h"\ {$(INCLUDE)}"axutil_log.h"\ {$(INCLUDE)}"axutil_thread.h"\ {$(INCLUDE)}"axutil_thread_pool.h"\ {$(INCLUDE)}"axutil_utils_defines.h"\ {$(INCLUDE)}"axutil_version.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\util\src\minizip\axis2_archive_extract.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\axis2_crypt.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\axis2_ioapi.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\axis2_iowin32.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\src\minizip\axis2_unzip.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_allocator.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_array_list.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_base64.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_base64_binary.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_class_loader.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_config.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_date_time.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_date_time_util.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_dir_handler.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_dll_desc.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_duration.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_env.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_error.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_error_default.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_file.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_file_handler.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_generic_obj.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_hash.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_linked_list.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_log.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_log_default.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_network_handler.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_param.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_param_container.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_properties.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_property.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_qname.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_rand.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_stack.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_stomp.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_stomp_frame.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_stream.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_string.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_string_util.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_thread.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_thread_mutex_windows.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_thread_pool.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_types.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_uri.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_url.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_utils.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_utils_defines.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_uuid_gen.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\axutil_version.h # End Source File # Begin Source File SOURCE=..\..\..\..\util\include\platforms\windows\axutil_windows.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/axis2_parser_guththila/0000777000175000017500000000000011172017546024132 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/neethi/0000777000175000017500000000000011172017546020733 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/neethi/neethi.dsp0000644000175000017500000125116611166304550022724 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="neethi" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=neethi - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "neethi.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "neethi.mak" CFG="neethi - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "neethi - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "neethi - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "neethi - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NEETHI_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NEETHI_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "neethi - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "NEETHI_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axiom.lib axutil.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/neethi.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/neethi.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib .\..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "neethi - Win32 Release" # Name "neethi - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\algorithmsuite.c DEP_CPP_ALGOR=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\algorithmsuite_builder.c DEP_CPP_ALGORI=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite_builder.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\all.c DEP_CPP_ALL_C=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\assertion.c DEP_CPP_ASSER=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\assertion_builder.c DEP_CPP_ASSERT=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_assertion_builder.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite_builder.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding_builder.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_bootstrap_policy_builder.h"\ "..\..\..\..\neethi\include\rp_builders.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_encryption_token_builder.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_https_token_builder.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_initiator_token_builder.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_issued_token_builder.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_layout_builder.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_protection_token_builder.h"\ "..\..\..\..\neethi\include\rp_qname_matcher.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\neethi\include\rp_rampart_config_builder.h"\ "..\..\..\..\neethi\include\rp_recipient_token_builder.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_saml_token_builder.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token_builder.h"\ "..\..\..\..\neethi\include\rp_signature_token_builder.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts_builder.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens_builder.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding_builder.h"\ "..\..\..\..\neethi\include\rp_token_identifier.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding_builder.h"\ "..\..\..\..\neethi\include\rp_transport_token_builder.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\neethi\include\rp_trust10_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_username_token_builder.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss10_builder.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_wss11_builder.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\neethi\include\rp_x509_token_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\asymmetric_binding.c DEP_CPP_ASYMM=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\asymmetric_binding_builder.c DEP_CPP_ASYMME=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding_builder.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\binding_commons.c DEP_CPP_BINDI=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\bootstrap_policy_builder.c DEP_CPP_BOOTS=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_bootstrap_policy_builder.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\element.c DEP_CPP_ELEME=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_element.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\encryption_token_builder.c DEP_CPP_ENCRY=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_encryption_token_builder.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\engine.c DEP_CPP_ENGIN=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_assertion_builder.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite_builder.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding_builder.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_bootstrap_policy_builder.h"\ "..\..\..\..\neethi\include\rp_builders.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_encryption_token_builder.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_https_token_builder.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_initiator_token_builder.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_issued_token_builder.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_layout_builder.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_protection_token_builder.h"\ "..\..\..\..\neethi\include\rp_qname_matcher.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\neethi\include\rp_rampart_config_builder.h"\ "..\..\..\..\neethi\include\rp_recipient_token_builder.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_saml_token_builder.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token_builder.h"\ "..\..\..\..\neethi\include\rp_signature_token_builder.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts_builder.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens_builder.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding_builder.h"\ "..\..\..\..\neethi\include\rp_token_identifier.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding_builder.h"\ "..\..\..\..\neethi\include\rp_transport_token_builder.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\neethi\include\rp_trust10_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_username_token_builder.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss10_builder.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_wss11_builder.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\neethi\include\rp_x509_token_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\exactlyone.c DEP_CPP_EXACT=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\header.c DEP_CPP_HEADE=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\https_token.c DEP_CPP_HTTPS=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\https_token_builder.c DEP_CPP_HTTPS_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_https_token_builder.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\initiator_token_builder.c DEP_CPP_INITI=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_initiator_token_builder.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\issued_token.c DEP_CPP_ISSUE=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\issued_token_builder.c DEP_CPP_ISSUED=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_issued_token_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\layout.c DEP_CPP_LAYOU=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\layout_builder.c DEP_CPP_LAYOUT=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_layout_builder.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\operator.c DEP_CPP_OPERA=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\policy.c DEP_CPP_POLIC=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\property.c DEP_CPP_PROPE=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\protection_token_builder.c DEP_CPP_PROTE=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_protection_token_builder.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\qname_matcher.c DEP_CPP_QNAME=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_qname_matcher.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\rampart_config.c DEP_CPP_RAMPA=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\rampart_config_builder.c DEP_CPP_RAMPAR=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_qname_matcher.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\neethi\include\rp_rampart_config_builder.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\recipient_token_builder.c DEP_CPP_RECIP=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_recipient_token_builder.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\reference.c DEP_CPP_REFER=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\registry.c DEP_CPP_REGIS=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\saml_token.c DEP_CPP_SAML_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\saml_token_builder.c DEP_CPP_SAML_T=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_saml_token_builder.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\secpolicy.c DEP_CPP_SECPO=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_element.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_secpolicy.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_items.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\secpolicy_builder.c DEP_CPP_SECPOL=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_asymmetric_binding.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_element.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_rampart_config.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_secpolicy.h"\ "..\..\..\..\neethi\include\rp_secpolicy_builder.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_items.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\security_context_token.c DEP_CPP_SECUR=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\security_context_token_builder.c DEP_CPP_SECURI=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_qname_matcher.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\signature_token_builder.c DEP_CPP_SIGNA=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signature_token_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\signed_encrypted_elements.c DEP_CPP_SIGNE=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\signed_encrypted_items.c DEP_CPP_SIGNED=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_element.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_items.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\signed_encrypted_parts.c DEP_CPP_SIGNED_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\signed_encrypted_parts_builder.c DEP_CPP_SIGNED_E=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_qname_matcher.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\supporting_tokens.c DEP_CPP_SUPPO=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\supporting_tokens_builder.c DEP_CPP_SUPPOR=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens_builder.h"\ "..\..\..\..\neethi\include\rp_token_identifier.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\symmetric_asymmetric_binding_commons.c DEP_CPP_SYMME=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\symmetric_binding.c DEP_CPP_SYMMET=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\symmetric_binding_builder.c DEP_CPP_SYMMETR=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding.h"\ "..\..\..\..\neethi\include\rp_symmetric_binding_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\token_identifier.c DEP_CPP_TOKEN=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_token_identifier.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\transport_binding.c DEP_CPP_TRANS=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\transport_binding_builder.c DEP_CPP_TRANSP=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_algorithmsuite.h"\ "..\..\..\..\neethi\include\rp_binding_commons.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_header.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_layout.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_elements.h"\ "..\..\..\..\neethi\include\rp_signed_encrypted_parts.h"\ "..\..\..\..\neethi\include\rp_supporting_tokens.h"\ "..\..\..\..\neethi\include\rp_transport_binding.h"\ "..\..\..\..\neethi\include\rp_transport_binding_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\transport_token_builder.c DEP_CPP_TRANSPO=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_transport_token_builder.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\trust10.c DEP_CPP_TRUST=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\trust10_builder.c DEP_CPP_TRUST1=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_trust10.h"\ "..\..\..\..\neethi\include\rp_trust10_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\username_token_builder.c DEP_CPP_USERN=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_username_token_builder.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\ut.c DEP_CPP_UT_C6c=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\util.c DEP_CPP_UTIL_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\neethi_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\wss10.c DEP_CPP_WSS10=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\wss10_builder.c DEP_CPP_WSS10_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_wss10.h"\ "..\..\..\..\neethi\include\rp_wss10_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\wss11.c DEP_CPP_WSS11=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\wss11_builder.c DEP_CPP_WSS11_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_wss11.h"\ "..\..\..\..\neethi\include\rp_wss11_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\model\x509_token.c DEP_CPP_X509_=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\src\secpolicy\builder\x509_token_builder.c DEP_CPP_X509_T=\ "..\..\..\..\axiom\include\axiom.h"\ "..\..\..\..\axiom\include\axiom_attribute.h"\ "..\..\..\..\axiom\include\axiom_child_element_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_qname_iterator.h"\ "..\..\..\..\axiom\include\axiom_children_with_specific_attribute_iterator.h"\ "..\..\..\..\axiom\include\axiom_comment.h"\ "..\..\..\..\axiom\include\axiom_data_handler.h"\ "..\..\..\..\axiom\include\axiom_data_source.h"\ "..\..\..\..\axiom\include\axiom_doctype.h"\ "..\..\..\..\axiom\include\axiom_document.h"\ "..\..\..\..\axiom\include\axiom_element.h"\ "..\..\..\..\axiom\include\axiom_namespace.h"\ "..\..\..\..\axiom\include\axiom_navigator.h"\ "..\..\..\..\axiom\include\axiom_node.h"\ "..\..\..\..\axiom\include\axiom_output.h"\ "..\..\..\..\axiom\include\axiom_processing_instruction.h"\ "..\..\..\..\axiom\include\axiom_soap.h"\ "..\..\..\..\axiom\include\axiom_soap_body.h"\ "..\..\..\..\axiom\include\axiom_soap_builder.h"\ "..\..\..\..\axiom\include\axiom_soap_const.h"\ "..\..\..\..\axiom\include\axiom_soap_envelope.h"\ "..\..\..\..\axiom\include\axiom_soap_fault.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_detail.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_node.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_reason.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_role.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_sub_code.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_text.h"\ "..\..\..\..\axiom\include\axiom_soap_fault_value.h"\ "..\..\..\..\axiom\include\axiom_soap_header.h"\ "..\..\..\..\axiom\include\axiom_soap_header_block.h"\ "..\..\..\..\axiom\include\axiom_stax_builder.h"\ "..\..\..\..\axiom\include\axiom_text.h"\ "..\..\..\..\axiom\include\axiom_xml_reader.h"\ "..\..\..\..\axiom\include\axiom_xml_writer.h"\ "..\..\..\..\include\axis2_const.h"\ "..\..\..\..\include\axis2_defines.h"\ "..\..\..\..\include\axis2_util.h"\ "..\..\..\..\neethi\include\neethi_all.h"\ "..\..\..\..\neethi\include\neethi_assertion.h"\ "..\..\..\..\neethi\include\neethi_constants.h"\ "..\..\..\..\neethi\include\neethi_engine.h"\ "..\..\..\..\neethi\include\neethi_exactlyone.h"\ "..\..\..\..\neethi\include\neethi_includes.h"\ "..\..\..\..\neethi\include\neethi_operator.h"\ "..\..\..\..\neethi\include\neethi_policy.h"\ "..\..\..\..\neethi\include\neethi_reference.h"\ "..\..\..\..\neethi\include\neethi_registry.h"\ "..\..\..\..\neethi\include\rp_defines.h"\ "..\..\..\..\neethi\include\rp_https_token.h"\ "..\..\..\..\neethi\include\rp_includes.h"\ "..\..\..\..\neethi\include\rp_issued_token.h"\ "..\..\..\..\neethi\include\rp_property.h"\ "..\..\..\..\neethi\include\rp_saml_token.h"\ "..\..\..\..\neethi\include\rp_security_context_token.h"\ "..\..\..\..\neethi\include\rp_username_token.h"\ "..\..\..\..\neethi\include\rp_x509_token.h"\ "..\..\..\..\neethi\include\rp_x509_token_builder.h"\ "..\..\..\..\util\include\axutil_allocator.h"\ "..\..\..\..\util\include\axutil_array_list.h"\ "..\..\..\..\util\include\axutil_base64.h"\ "..\..\..\..\util\include\axutil_base64_binary.h"\ "..\..\..\..\util\include\axutil_class_loader.h"\ "..\..\..\..\util\include\axutil_config.h"\ "..\..\..\..\util\include\axutil_date_time.h"\ "..\..\..\..\util\include\axutil_dir_handler.h"\ "..\..\..\..\util\include\axutil_dll_desc.h"\ "..\..\..\..\util\include\axutil_env.h"\ "..\..\..\..\util\include\axutil_error.h"\ "..\..\..\..\util\include\axutil_error_default.h"\ "..\..\..\..\util\include\axutil_file.h"\ "..\..\..\..\util\include\axutil_file_handler.h"\ "..\..\..\..\util\include\axutil_hash.h"\ "..\..\..\..\util\include\axutil_linked_list.h"\ "..\..\..\..\util\include\axutil_log.h"\ "..\..\..\..\util\include\axutil_log_default.h"\ "..\..\..\..\util\include\axutil_network_handler.h"\ "..\..\..\..\util\include\axutil_param.h"\ "..\..\..\..\util\include\axutil_param_container.h"\ "..\..\..\..\util\include\axutil_property.h"\ "..\..\..\..\util\include\axutil_qname.h"\ "..\..\..\..\util\include\axutil_stack.h"\ "..\..\..\..\util\include\axutil_stream.h"\ "..\..\..\..\util\include\axutil_string.h"\ "..\..\..\..\util\include\axutil_string_util.h"\ "..\..\..\..\util\include\axutil_thread.h"\ "..\..\..\..\util\include\axutil_thread_pool.h"\ "..\..\..\..\util\include\axutil_types.h"\ "..\..\..\..\util\include\axutil_uri.h"\ "..\..\..\..\util\include\axutil_url.h"\ "..\..\..\..\util\include\axutil_utils.h"\ "..\..\..\..\util\include\axutil_utils_defines.h"\ "..\..\..\..\util\include\axutil_uuid_gen.h"\ "..\..\..\..\util\include\platforms\axutil_platform_auto_sense.h"\ "..\..\..\..\util\include\platforms\unix\axutil_date_time_util_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_unix.h"\ "..\..\..\..\util\include\platforms\unix\axutil_uuid_gen_unix.h"\ "..\..\..\..\util\include\platforms\windows\axutil_date_time_util_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_dir_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_getopt_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_thread_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_uuid_gen_windows.h"\ "..\..\..\..\util\include\platforms\windows\axutil_windows.h"\ # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_all.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_assertion.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_assertion_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_constants.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_engine.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_exactlyone.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_includes.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_operator.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_policy.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_reference.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_registry.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\neethi_util.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_algorithmsuite.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_algorithmsuite_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_asymmetric_binding.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_asymmetric_binding_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_binding_commons.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_builders.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_defines.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_element.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_encryption_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_header.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_https_token.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_https_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_includes.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_initiator_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_layout.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_layout_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_policy_creator.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_property.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_protection_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_qname_matcher.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_rampart_config.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_rampart_config_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_recipient_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_secpolicy.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_secpolicy_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_security_context_token.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_signature_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_signed_encrypted_elements.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_signed_encrypted_items.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_signed_encrypted_parts.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_signed_encrypted_parts_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_supporting_tokens.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_supporting_tokens_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_symmetric_asymmetric_binding_commons.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_symmetric_binding.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_symmetric_binding_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_token_identifier.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_transport_binding.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_transport_binding_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_transport_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_trust10.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_trust10_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_username_token.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_username_token_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_wss10.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_wss10_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_wss11.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_wss11_builder.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_x509_token.h # End Source File # Begin Source File SOURCE=..\..\..\..\neethi\include\rp_x509_token_builder.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/README.txt0000644000175000017500000000311411166304550021145 0ustar00manjulamanjula00000000000000DESCRIPTION: a workspace and associated projects required to build the axis2_client.dll and immediate default dependencies. does not include project files for: samples guththila clients services tcpmon requires: 1)libxml2-2.6.27.win32.zip 2)iconv-1.9.2.win32.zip 3)zlib-1.2.3.win32.zip 4)a directory called 'axis2c_deps' into which are extracted these three zips. The projects reference these directories using a relative path so this axis2c_deps directory must be placed in the AXIS2C_HOME root. (sibling of ides directory) 5)MS Platform SDK 6)axutil project has references to the platform SDK include and lib directories. due to NOTE below need to be verified for each installation. **NOTE old-style condensed paths are REQUIRED which on the workstation used to create the projects are "c:/progra~1/micros~4/include" and "c:/progra~1/micros~4/lib". note that the ~4 is likely to be different depending on target workstation configuration. (use dir /x to see the workstation-specific condensed name) INSTALL: extract to AXIS2C_HOME directory. the workspace will be extracted to /ides/vc/axis2c and the project files will be placed in the appropriate subdirectories. create axis2c_deps in AXIS2C_HOME and extract dependency zips into it. ensure path to MS platform SDK is correct in axutil project settings. OUTPUT: with axis2_engine selected as active project, "build all" creates target .dll and .lib files in the AXIS2C_HOME/lib directory. KNOWN BUGS: some warnings about platform-specific header files appear but compile, run and debug work correctly axis2c-src-1.6.0/ides/vc6/axis2c/axis2_http_receiver/0000777000175000017500000000000011172017546023430 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_http_receiver/axis2_http_receiver.dsp0000644000175000017500000001332411166304547030113 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_http_receiver" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_http_receiver - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_http_receiver.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_http_receiver.mak" CFG="axis2_http_receiver - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_http_receiver - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_http_receiver - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_http_receiver - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_HTTP_RECEIVER_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_HTTP_RECEIVER_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_http_receiver - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_HTTP_RECEIVER_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axis2_parser.lib axis2_engine.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_http_receiver.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/axis2_http_receiver.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\debug\*.lib ..\..\..\..\build\deploy\lib # End Special Build Tool !ENDIF # Begin Target # Name "axis2_http_receiver - Win32 Release" # Name "axis2_http_receiver - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\receiver\http_receiver.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\receiver\http_svr_thread.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/mod_axis2_IIS/0000777000175000017500000000000011172017546022050 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/mod_axis2_IIS/mod_axis2_IIS.dsp0000644000175000017500000001514711166304547025160 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="mod_axis2_IIS" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=mod_axis2_IIS - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "mod_axis2_IIS.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "mod_axis2_IIS.mak" CFG="mod_axis2_IIS - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "mod_axis2_IIS - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "mod_axis2_IIS - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "mod_axis2_IIS - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_AXIS2_IIS_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_AXIS2_IIS_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "mod_axis2_IIS - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "MOD_AXIS2_IIS_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\src\core\transport\tcp" /I "..\..\..\..\include" /I "..\..\..\..\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axiom.lib axis2_parser.lib axutil.lib axis2_engine.lib axis2_http_receiver.lib axis2_http_sender.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/mod_axis2_IIS.pdb" /debug /machine:I386 /out:"../../../../build/deploy/lib/mod_axis2_IIS.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none !ENDIF # Begin Target # Name "mod_axis2_IIS - Win32 Release" # Name "mod_axis2_IIS - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_out_transport_info.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_stream.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_worker.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\iis_iaspi_plugin_51\axis2_isapi_51.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_isapi_plugin.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_constants.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_out_transport_info.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_stream.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_iis_worker.h # End Source File # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\axis2_isapi_plugin.h # End Source File # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # Begin Source File SOURCE=..\..\..\..\src\core\transport\http\server\IIS\mod_axis2.def # End Source File # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/tcpmon/0000777000175000017500000000000011172017546020757 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_mod_addr/0000777000175000017500000000000011172017546022336 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/axis2_mod_addr/axis2_mod_addr.dsp0000644000175000017500000001345411166304547025733 0ustar00manjulamanjula00000000000000# Microsoft Developer Studio Project File - Name="axis2_mod_addr" - Package Owner=<4> # Microsoft Developer Studio Generated Build File, Format Version 6.00 # ** DO NOT EDIT ** # TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 CFG=axis2_mod_addr - Win32 Debug !MESSAGE This is not a valid makefile. To build this project using NMAKE, !MESSAGE use the Export Makefile command and run !MESSAGE !MESSAGE NMAKE /f "axis2_mod_addr.mak". !MESSAGE !MESSAGE You can specify a configuration when running NMAKE !MESSAGE by defining the macro CFG on the command line. For example: !MESSAGE !MESSAGE NMAKE /f "axis2_mod_addr.mak" CFG="axis2_mod_addr - Win32 Debug" !MESSAGE !MESSAGE Possible choices for configuration are: !MESSAGE !MESSAGE "axis2_mod_addr - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE "axis2_mod_addr - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") !MESSAGE # Begin Project # PROP AllowPerConfigDependencies 0 # PROP Scc_ProjName "" # PROP Scc_LocalPath "" CPP=cl.exe MTL=midl.exe RSC=rc.exe !IF "$(CFG)" == "axis2_mod_addr - Win32 Release" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 0 # PROP BASE Output_Dir "Release" # PROP BASE Intermediate_Dir "Release" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 0 # PROP Output_Dir "Release" # PROP Intermediate_Dir "Release" # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_MOD_ADDR_EXPORTS" /YX /FD /c # ADD CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_MOD_ADDR_EXPORTS" /YX /FD /c # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "NDEBUG" # ADD RSC /l 0xc0c /d "NDEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 !ELSEIF "$(CFG)" == "axis2_mod_addr - Win32 Debug" # PROP BASE Use_MFC 0 # PROP BASE Use_Debug_Libraries 1 # PROP BASE Output_Dir "Debug" # PROP BASE Intermediate_Dir "Debug" # PROP BASE Target_Dir "" # PROP Use_MFC 0 # PROP Use_Debug_Libraries 1 # PROP Output_Dir "Debug" # PROP Intermediate_Dir "Debug" # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "AXIS2_MOD_ADDR_EXPORTS" /YX /FD /GZ /c # ADD CPP /nologo /MDd /w /W0 /Z7 /Od /I "..\..\..\..\util\include" /I "..\..\..\..\util\src\\" /I "..\..\..\..\util\src\minizip\\" /I "..\..\..\..\axiom\include" /I "..\..\..\..\axiom\src\om" /I "..\..\..\..\axiom\src\soap" /I "..\..\..\..\util\include\platforms" /I "..\..\..\..\neethi\include" /I "..\..\..\..\neethi\src" /I "..\..\..\..\neethi\src\secpolicy\builder" /I "..\..\..\..\neethi\src\secpolicy\model" /I "..\..\..\..\src\core\clientapi" /I "..\..\..\..\src\core\deployment" /I "..\..\..\..\src\core\description" /I "..\..\..\..\src\core\transport" /I "..\..\..\..\axis2c\src\core\transport\tcp" /I "..\..\..\..\axis2c\include" /I "..\..\..\..\axis2c\src\core\engine" /I "..\..\..\..\src\core\context" /I "..\..\..\..\src\core\util" /I "..\..\..\..\src\core\transport\http\server\apache2" /I "..\..\..\..\axiom\src\attachments" /I "..\..\..\..\tools\tcpmon\include" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_DEBUG" /D "AXIS2_DECLARE_EXPORT" /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" /D "AXIS2_SVR_MULTI_THREADED" /I..\..\..\..\axis2c_deps\libxml2-2.6.27.win32\include /I..\..\..\..\axis2c_deps\iconv-1.9.2.win32\include /I..\..\..\..\axis2c_deps\zlib-1.2.3.win32\include /c # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD BASE RSC /l 0xc0c /d "_DEBUG" # ADD RSC /l 0xc0c /d "_DEBUG" BSC32=bscmake.exe # ADD BASE BSC32 /nologo # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept # ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib axutil.lib axiom.lib axis2_parser.lib axis2_engine.lib /nologo /dll /incremental:no /pdb:"../../../../build/deploy/lib/axis2_mod_addr.pdb" /debug /machine:I386 /out:"../../../../build/deploy/modules/addressing/axis2_mod_addr.dll" /pdbtype:sept /libpath:"../../../../build/deploy/lib" # SUBTRACT LINK32 /pdb:none # Begin Special Build Tool SOURCE="$(InputPath)" PostBuild_Cmds=copy .\..\..\..\..\src\modules\mod_addr\module.xml .\..\..\..\..\build\deploy\modules\addressing # End Special Build Tool !ENDIF # Begin Target # Name "axis2_mod_addr - Win32 Release" # Name "axis2_mod_addr - Win32 Debug" # Begin Group "Source Files" # PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" # Begin Source File SOURCE=..\..\..\..\src\modules\mod_addr\addr_in_handler.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\modules\mod_addr\addr_out_handler.c # End Source File # Begin Source File SOURCE=..\..\..\..\src\modules\mod_addr\mod_addr.c # End Source File # End Group # Begin Group "Header Files" # PROP Default_Filter "h;hpp;hxx;hm;inl" # End Group # Begin Group "Resource Files" # PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" # End Group # End Target # End Project axis2c-src-1.6.0/ides/vc6/axis2c/services/0000777000175000017500000000000011172017546021302 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/services/echo/0000777000175000017500000000000011172017546022220 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/services/math/0000777000175000017500000000000011172017546022233 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/services/mtom/0000777000175000017500000000000011172017546022256 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/services/notify/0000777000175000017500000000000011172017546022612 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/services/Calculator/0000777000175000017500000000000011172017546023373 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/0000777000175000017500000000000011172017546021120 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo/0000777000175000017500000000000011172017546022036 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/math/0000777000175000017500000000000011172017546022051 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/mtom/0000777000175000017500000000000011172017546022074 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_blocking_addr/0000777000175000017500000000000011172017546024700 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_blocking_auth/0000777000175000017500000000000011172017546024727 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_blocking_dual/0000777000175000017500000000000011172017546024713 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/yahoo/0000777000175000017500000000000011172017546022237 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_blocking/0000777000175000017500000000000011172017546023706 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_non_blocking/0000777000175000017500000000000011172017546024560 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_rest/0000777000175000017500000000000011172017546023073 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/google/0000777000175000017500000000000011172017546022374 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/notify/0000777000175000017500000000000011172017546022430 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/vc6/axis2c/clients/echo_non_blocking_dual/0000777000175000017500000000000011172017546025565 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/ides/README0000644000175000017500000000013511166304550016440 0ustar00manjulamanjula00000000000000This folder contains folders for diffrent IDEs containing project files for respective IDEs. axis2c-src-1.6.0/ides/Makefile.am0000644000175000017500000000004511166304550017614 0ustar00manjulamanjula00000000000000SUBDIRS = EXTRA_DIST = README vc vc6 axis2c-src-1.6.0/ides/Makefile.in0000644000175000017500000003467211172017202017632 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = ides DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = EXTRA_DIST = README vc vc6 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu ides/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu ides/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/0000777000175000017500000000000011172017545015622 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/0000777000175000017500000000000011172017546016553 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/addr/0000777000175000017500000000000011172017545017464 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/addr/test_addr.c0000644000175000017500000001242611166304523021600 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include int axis2_test_msg_info_headers( ) { axis2_endpoint_ref_t *to = NULL; axis2_endpoint_ref_t *from = NULL; axis2_endpoint_ref_t *reply_to = NULL; axis2_endpoint_ref_t *fault_to = NULL; axis2_endpoint_ref_t *axis2_endpoint_ref = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_msg_info_headers_t *axis2_msg_info_headers = NULL; axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); const axis2_char_t *action = "test action"; const axis2_char_t *get_action = NULL; to = axis2_endpoint_ref_create(env, "to"); from = axis2_endpoint_ref_create(env, "from"); reply_to = axis2_endpoint_ref_create(env, "reply to"); fault_to = axis2_endpoint_ref_create(env, "fault to"); axis2_msg_info_headers = axis2_msg_info_headers_create(env, NULL, action); if (axis2_msg_info_headers) printf("SUCCESS axis2_msg_info_headers_create\n"); else { printf("ERROR AXIS2_MSG_INFO_HEADERS_CREATE\n"); return -1; } status = axis2_msg_info_headers_set_to(axis2_msg_info_headers, env, to); if (status == AXIS2_SUCCESS) printf("SUCCESS axis2_msg_info_headers_set_to\n"); else { printf("ERROR axis2_msg_info_headers_set_to"); return -1; } axis2_endpoint_ref = axis2_msg_info_headers_get_to(axis2_msg_info_headers, env); if (axis2_endpoint_ref) printf("SUCCESS axis2_msg_info_headers_get_to\n"); else { printf("ERROR axis2_msg_info_headers_get_to\n"); return -1; } status = AXIS2_FAILURE; status = axis2_msg_info_headers_set_from(axis2_msg_info_headers, env, from); if (status) printf("SUCCESS axis2_msg_info_headers_set_from\n"); else { printf("ERROR axis2_msg_info_headers_set_from\n"); return -1; } axis2_endpoint_ref = NULL; axis2_endpoint_ref = axis2_msg_info_headers_get_from(axis2_msg_info_headers, env); if (axis2_endpoint_ref) printf("SUCCESS axis2_msg_info_headers_get_from\n"); else { printf("ERROR axis2_msg_info_headers_get_from\n"); return -1; } axis2_endpoint_ref = NULL; axis2_endpoint_ref = axis2_msg_info_headers_get_reply_to(axis2_msg_info_headers, env); if (status) printf("SUCCESS axis2_msg_info_headers_get_reply_to\n"); else { printf("ERROR axis2_msg_info_headers_get_reply_to\n"); return -1; } status = AXIS2_FAILURE; status = axis2_msg_info_headers_set_reply_to(axis2_msg_info_headers, env, reply_to); if (status) printf("SUCCESS axis2_msg_info_headers_set_reply_to\n"); else { printf("ERROR axis2_msg_info_headers_set_reply_to\n"); return -1; } status = AXIS2_FAILURE; status = axis2_msg_info_headers_set_fault_to(axis2_msg_info_headers, env, fault_to); if (status) printf("SUCCESS axis2_msg_info_headers_set_fault_to\n"); else { printf("ERROR axis2_msg_info_headers_set_fault_to\n"); return -1; } axis2_endpoint_ref = NULL; axis2_endpoint_ref = axis2_msg_info_headers_get_fault_to(axis2_msg_info_headers, env); if (axis2_endpoint_ref) printf("SUCCESS axis2_msg_info_headers_get_fault_to\n"); else { printf("ERROR axis2_msg_info_headers_get_fault_to\n"); return -1; } get_action = axis2_msg_info_headers_get_action(axis2_msg_info_headers, env); if (get_action) printf("SUCCESS axis2_msg_info_headers_get_action\n"); else { printf("ERROR axis2_msg_info_headers_get_action\n"); return -1; } status = AXIS2_FAILURE; status = axis2_msg_info_headers_set_action(axis2_msg_info_headers, env, action); if (status) printf("SUCCESS axis2_msg_info_headers_set_action\n"); else { printf("ERROR axis2_msg_info_headers_set_action\n"); } status = AXIS2_FAILURE; /* status = axis2_msg_info_headers_free(axis2_msg_info_headers, env); */ if (status) printf("SUCCESS axis2_msg_info_headers_free\n"); else { printf("ERROR axis2_msg_info_headers_free\n"); } return 0; } int main( ) { axis2_test_msg_info_headers(); return 0; } axis2c-src-1.6.0/test/core/addr/Makefile.am0000644000175000017500000000136511166304523021517 0ustar00manjulamanjula00000000000000TESTS = test_addr check_PROGRAMS = test_addr noinst_PROGRAMS = test_addr SUBDIRS = AM_CFLAGS = -g -pthread test_addr_SOURCES = test_addr.c test_addr_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/src/xml/guththila \ -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../axiom/include axis2c-src-1.6.0/test/core/addr/Makefile.in0000644000175000017500000005064511172017205021530 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_addr$(EXEEXT) check_PROGRAMS = test_addr$(EXEEXT) noinst_PROGRAMS = test_addr$(EXEEXT) subdir = test/core/addr DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_addr_OBJECTS = test_addr.$(OBJEXT) test_addr_OBJECTS = $(am_test_addr_OBJECTS) test_addr_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_addr_SOURCES) DIST_SOURCES = $(test_addr_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -pthread test_addr_SOURCES = test_addr.c test_addr_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/src/xml/guththila \ -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/addr/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/addr/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_addr$(EXEEXT): $(test_addr_OBJECTS) $(test_addr_DEPENDENCIES) @rm -f test_addr$(EXEEXT) $(LINK) $(test_addr_OBJECTS) $(test_addr_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_addr.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/context/0000777000175000017500000000000011172017545020236 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/context/test_context.c0000644000175000017500000000757411166304522023133 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include void axis2_test_conf_ctx_init( ) { struct axis2_conf *conf = NULL; struct axis2_svc_grp_ctx *svc_grp_ctx1 = NULL; struct axis2_svc_grp_ctx *svc_grp_ctx2 = NULL; struct axis2_svc_grp *svc_grp1 = NULL; struct axis2_svc_grp *svc_grp2 = NULL; struct axis2_conf_ctx *conf_ctx = NULL; struct axis2_svc_ctx *svc_ctx1 = NULL; struct axis2_svc_ctx *svc_ctx2 = NULL; struct axis2_svc *svc1 = NULL; struct axis2_svc *svc2 = NULL; struct axutil_qname *qname1 = NULL; struct axutil_qname *qname2 = NULL; struct axis2_op_ctx *op_ctx1 = NULL; struct axis2_op_ctx *op_ctx2 = NULL; struct axis2_op *op = NULL; struct axutil_hash_t *op_ctx_map = NULL; struct axutil_hash_t *svc_ctx_map = NULL; struct axutil_hash_t *svc_grp_ctx_map = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); conf = axis2_conf_create(env); op = axis2_op_create(env); conf_ctx = axis2_conf_ctx_create(env, conf); svc_grp1 = axis2_svc_grp_create(env); svc_grp2 = axis2_svc_grp_create(env); svc_grp_ctx1 = axis2_svc_grp_ctx_create(env, svc_grp1, conf_ctx); svc_grp_ctx2 = axis2_svc_grp_ctx_create(env, svc_grp2, conf_ctx); qname1 = axutil_qname_create(env, "name1", NULL, NULL); qname2 = axutil_qname_create(env, "name2", NULL, NULL); svc1 = axis2_svc_create_with_qname(env, qname1); svc2 = axis2_svc_create_with_qname(env, qname2); svc_ctx1 = axis2_svc_ctx_create(env, svc1, svc_grp_ctx1); svc_ctx2 = axis2_svc_ctx_create(env, svc2, svc_grp_ctx2); op = axis2_op_create(env); op_ctx1 = axis2_op_ctx_create(env, op, svc_ctx1); op_ctx2 = axis2_op_ctx_create(env, op, svc_ctx2); op_ctx_map = axis2_conf_ctx_get_op_ctx_map(conf_ctx, env); if (op_ctx_map) { axutil_hash_set(op_ctx_map, "op_ctx1", AXIS2_HASH_KEY_STRING, op_ctx1); axutil_hash_set(op_ctx_map, "op_ctx2", AXIS2_HASH_KEY_STRING, op_ctx2); } svc_ctx_map = axis2_conf_ctx_get_svc_ctx_map(conf_ctx, env); if (svc_ctx_map) { axutil_hash_set(svc_ctx_map, "svc_ctx1", AXIS2_HASH_KEY_STRING, svc_ctx1); axutil_hash_set(svc_ctx_map, "svc_ctx2", AXIS2_HASH_KEY_STRING, svc_ctx2); } svc_grp_ctx_map = axis2_conf_ctx_get_svc_grp_ctx_map(conf_ctx, env); if (svc_grp_ctx_map) { axutil_hash_set(svc_ctx_map, "svc_grp_ctx1", AXIS2_HASH_KEY_STRING, svc_grp_ctx1); axutil_hash_set(svc_ctx_map, "svc_grp_ctx2", AXIS2_HASH_KEY_STRING, svc_grp_ctx2); } status = axis2_conf_ctx_init(conf_ctx, env, conf); if (status != AXIS2_SUCCESS) { printf("ERROR %d\n", status); } else printf("SUCCESS\n"); axis2_conf_ctx_free(conf_ctx, env); } int main( ) { axis2_test_conf_ctx_init(); return 0; } axis2c-src-1.6.0/test/core/context/Makefile.am0000644000175000017500000000136611166304522022271 0ustar00manjulamanjula00000000000000TESTS = test_context check_PROGRAMS = test_context noinst_PROGRAMS = test_context SUBDIRS = AM_CFLAGS = -g -pthread test_context_SOURCES = test_context.c test_context_LDADD = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/neethi/src/libneethi.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/src/xml/guththila/src \ -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I ../../../util/include \ -I ../../../axiom/include axis2c-src-1.6.0/test/core/context/Makefile.in0000644000175000017500000005073211172017205022277 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_context$(EXEEXT) check_PROGRAMS = test_context$(EXEEXT) noinst_PROGRAMS = test_context$(EXEEXT) subdir = test/core/context DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_context_OBJECTS = test_context.$(OBJEXT) test_context_OBJECTS = $(am_test_context_OBJECTS) test_context_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/neethi/src/libneethi.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_context_SOURCES) DIST_SOURCES = $(test_context_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -pthread test_context_SOURCES = test_context.c test_context_LDADD = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/neethi/src/libneethi.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/src/xml/guththila/src \ -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I ../../../util/include \ -I ../../../axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/context/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/context/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_context$(EXEEXT): $(test_context_OBJECTS) $(test_context_DEPENDENCIES) @rm -f test_context$(EXEEXT) $(LINK) $(test_context_OBJECTS) $(test_context_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_context.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/transport/0000777000175000017500000000000011172017545020606 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/transport/http/0000777000175000017500000000000011172017546021566 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/transport/http/test_http_transport.c0000644000175000017500000002253611166304523026065 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include typedef struct a { axis2_char_t *value; } a; axutil_env_t * test_init( ) { axutil_allocator_t *allocator = axutil_allocator_init(NULL); axutil_error_t *error = axutil_error_create(allocator); axutil_env_t *env = axutil_env_create_with_error(allocator, error); return env; } void test_http_request_line( const axutil_env_t * env) { const char *request_line_str = "POST http://ws.apache.org/axis2/c/services/test_svc/test_op?x=1 HTTP/1.1\r\n"; axis2_http_request_line_t *request_line; printf("Starting http_request_line tests\n"); request_line = axis2_http_request_line_parse_line(env, request_line_str); printf("Method: %s|URI: %s|HTTP Version: %s|\n", axis2_http_request_line_get_method(request_line, env), axis2_http_request_line_get_uri(request_line, env), axis2_http_request_line_get_http_version(request_line, env)); axis2_http_request_line_free(request_line, env); printf("Finished http_request_line tests ..........\n\n"); } void test_http_status_line( const axutil_env_t * env) { const char *status_line_str = "HTTP/1.1 202 Accepted\r\n"; axis2_http_status_line_t *status_line; printf("Starting http_status_line tests\n"); status_line = axis2_http_status_line_create(env, status_line_str); printf("Staus Line starts with HTTP ? :%d\n", axis2_http_status_line_starts_with_http(status_line, env)); printf("HTTP Version :%s|Status Code:%d|Reason Phrase:%s|\n", axis2_http_status_line_get_http_version(status_line, env), axis2_http_status_line_get_status_code(status_line, env), axis2_http_status_line_get_reason_phrase(status_line, env)); printf("to_string :%s\n", axis2_http_status_line_to_string(status_line, env)); axis2_http_status_line_free(status_line, env); printf("Finished http_status_line tests ..........\n\n"); } void test_http_header( const axutil_env_t * env) { const char *header_name = "Content-Type"; const char *header_value = "text/xml"; const char *str_header = "Content-Type: text/xml; charset=UTF-8\r\n"; axis2_http_header_t *http_header; axis2_char_t *external_form = NULL; printf("Starting http_header tests\n"); http_header = axis2_http_header_create(env, header_name, header_value); external_form = axis2_http_header_to_external_form(http_header, env); printf("Heder Name :%s|Header Value:%s|External Form:%s\n", axis2_http_header_get_name(http_header, env), axis2_http_header_get_value(http_header, env), external_form); AXIS2_FREE(env->allocator, external_form); axis2_http_header_free(http_header, env); http_header = axis2_http_header_create_by_str(env, str_header); printf("Finished http_header tests ..........\n\n"); } void test_url( const axutil_env_t * env) { const axis2_char_t *str_url = "http://ws.apache.org/axis2/"; axutil_url_t *url = axutil_url_parse_string(env, str_url); if (!url) { printf("URL is NULL\n"); return; } printf("Starting URL Test ....\n"); printf ("Parsed URL : \n Protocol :%s|\n Host :%s|\n Port :%d|\n Path : %s|\n", axutil_url_get_protocol(url, env), axutil_url_get_host(url, env), axutil_url_get_port(url, env), axutil_url_get_path(url, env)); printf("End of URL Test ... \n"); axutil_url_free(url, env); } void test_http_client( const axutil_env_t * env) { axis2_http_client_t *client = NULL; axis2_http_simple_request_t *request = NULL; axis2_http_request_line_t *request_line = NULL; axutil_url_t *url = NULL; axis2_http_header_t *header = NULL; axutil_stream_t *request_body = NULL; axis2_http_simple_response_t *response = NULL; int status = 0; char *body_bytes = NULL; int body_bytes_len = 0; printf("Starting http_client tests\n"); request_line = axis2_http_request_line_create(env, "GET", "/axis2/services", "HTTP/1.0"); request_body = axutil_stream_create_basic(env); request = axis2_http_simple_request_create(env, request_line, NULL, 0, NULL); url = axutil_url_create(env, "http", "localhost", 80, NULL); header = axis2_http_header_create(env, "Host", axutil_url_get_host(url, env)); axis2_http_simple_request_add_header(request, env, header); client = axis2_http_client_create(env, url); status = axis2_http_client_send(client, env, request, NULL); if (status < 0) { printf("Test FAILED .........Can't send the request. Status :%d\n", status); return; } status = axis2_http_client_recieve_header(client, env); if (status < 0) { printf("Test FAILED ......... Can't recieve. Status: %d\n", status); return; } response = axis2_http_client_get_response(client, env); if (!response) { printf("Test Failed : NULL response"); return; } printf("Content Type :%s\n", axis2_http_simple_response_get_content_type(response, env)); printf("Content Length :%d\n", axis2_http_simple_response_get_content_length(response, env)); printf("Status code :%d\n", status); body_bytes_len = axis2_http_simple_response_get_body_bytes(response, env, &body_bytes); printf("body :%s\n", body_bytes); axis2_http_client_free(client, env); axis2_http_simple_request_free(request, env); axutil_stream_free(request_body, env); AXIS2_FREE(env->allocator, body_bytes); printf("Finished http_client tests ..........\n\n"); } void test_https_client( const axutil_env_t * env) { #ifndef AXIS2_SSL_ENABLED return; #else axis2_http_client_t *client = NULL; axis2_http_simple_request_t *request = NULL; axis2_http_request_line_t *request_line = NULL; axutil_url_t *url = NULL; axis2_http_header_t *header = NULL; axutil_stream_t *request_body = NULL; axis2_http_simple_response_t *response = NULL; int status = 0; char *body_bytes = NULL; int body_bytes_len = 0; printf("Starting https_client tests\n"); request_line = axis2_http_request_line_create(env, "GET", "/", "HTTP/1.0"); request_body = axutil_stream_create_basic(env); request = axis2_http_simple_request_create(env, request_line, NULL, 0, NULL); url = axutil_url_create(env, "https", "localhost", 9090, NULL); header = axis2_http_header_create(env, "Host", axutil_url_get_host(url, env)); axis2_http_simple_request_add_header(request, env, header); client = axis2_http_client_create(env, url); /* if you weant to test the proxy uncomment following */ /*axis2_http_client_set_proxy(client, env, "127.0.0.1", 8080); */ /* Add CA/Server certificate */ status = axis2_http_client_set_server_cert(client, env, "/home/dummy/dummyCA/demoCA/cacert.pem"); status = axis2_http_client_send(client, env, request, NULL); if (status < 0) { printf("Test FAILED .........Can't send the request. Status :%d\n", status); return; } status = axis2_http_client_recieve_header(client, env); if (status < 0) { printf("Test FAILED ......... Can't recieve. Status: %d\n", status); return; } response = axis2_http_client_get_response(client, env); if (!response) { printf("Test Failed : NULL response"); return; } printf("Content Type :%s\n", axis2_http_simple_response_get_content_type(response, env)); printf("Content Length :%d\n", axis2_http_simple_response_get_content_length(response, env)); printf("Status code :%d\n", status); body_bytes_len = axis2_http_simple_response_get_body_bytes(response, env, &body_bytes); axis2_http_client_free(client, env); axis2_http_simple_request_free(request, env); axutil_stream_free(request_body, env); AXIS2_FREE(env->allocator, body_bytes); printf("Finished https_client tests ..........\n\n"); #endif } int main( void) { axutil_env_t *env = test_init(); test_http_request_line(env); test_http_status_line(env); test_http_header(env); test_http_client(env); test_https_client(env); test_url(env); axutil_env_free(env); return 0; } axis2c-src-1.6.0/test/core/transport/http/Makefile.am0000644000175000017500000000147011166304523023615 0ustar00manjulamanjula00000000000000TESTS = test_http_transport check_PROGRAMS = test_http_transport noinst_PROGRAMS = test_http_transport SUBDIRS = AM_CFLAGS = -g -pthread test_http_transport_SOURCES = test_http_transport.c test_http_transport_LDADD = \ $(LDFLAGS) \ ../../../../util/src/libaxutil.la \ ../../../../axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/neethi/src/libneethi.la \ ../../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/include \ -I ../../../../util/include \ -I ../../../../axiom/include axis2c-src-1.6.0/test/core/transport/http/Makefile.in0000644000175000017500000005131111172017206023621 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_http_transport$(EXEEXT) check_PROGRAMS = test_http_transport$(EXEEXT) noinst_PROGRAMS = test_http_transport$(EXEEXT) subdir = test/core/transport/http DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_http_transport_OBJECTS = test_http_transport.$(OBJEXT) test_http_transport_OBJECTS = $(am_test_http_transport_OBJECTS) am__DEPENDENCIES_1 = test_http_transport_DEPENDENCIES = $(am__DEPENDENCIES_1) \ ../../../../util/src/libaxutil.la \ ../../../../axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/neethi/src/libneethi.la \ ../../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_http_transport_SOURCES) DIST_SOURCES = $(test_http_transport_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -pthread test_http_transport_SOURCES = test_http_transport.c test_http_transport_LDADD = \ $(LDFLAGS) \ ../../../../util/src/libaxutil.la \ ../../../../axiom/src/om/libaxis2_axiom.la \ $(top_builddir)/neethi/src/libneethi.la \ ../../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/include \ -I ../../../../util/include \ -I ../../../../axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/transport/http/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/transport/http/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_http_transport$(EXEEXT): $(test_http_transport_OBJECTS) $(test_http_transport_DEPENDENCIES) @rm -f test_http_transport$(EXEEXT) $(LINK) $(test_http_transport_OBJECTS) $(test_http_transport_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_http_transport.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/transport/Makefile.am0000644000175000017500000000001711166304523022632 0ustar00manjulamanjula00000000000000SUBDIRS = http axis2c-src-1.6.0/test/core/transport/Makefile.in0000644000175000017500000003471111172017206022647 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = test/core/transport DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = http all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/transport/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/transport/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/deployment/0000777000175000017500000000000011172017545020732 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/deployment/Makefile.am0000644000175000017500000000206311166304521022757 0ustar00manjulamanjula00000000000000TESTS = test_deployment noinst_PROGRAMS = test_deployment SUBDIRS = AM_CFLAGS = $(CFLAGS) -g -pthread test_deployment_SOURCES = test_deployment.c test_deployment_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/clientapi \ -I$(top_builddir)/src/core/util \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../neethi/include axis2c-src-1.6.0/test/core/deployment/Makefile.in0000644000175000017500000005110311172017206022765 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_deployment$(EXEEXT) noinst_PROGRAMS = test_deployment$(EXEEXT) subdir = test/core/deployment DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_deployment_OBJECTS = test_deployment.$(OBJEXT) test_deployment_OBJECTS = $(am_test_deployment_OBJECTS) test_deployment_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_deployment_SOURCES) DIST_SOURCES = $(test_deployment_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = $(CFLAGS) -g -pthread test_deployment_SOURCES = test_deployment.c test_deployment_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/clientapi \ -I$(top_builddir)/src/core/util \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../neethi/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/deployment/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/deployment/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_deployment$(EXEEXT): $(test_deployment_OBJECTS) $(test_deployment_DEPENDENCIES) @rm -f test_deployment$(EXEEXT) $(LINK) $(test_deployment_OBJECTS) $(test_deployment_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_deployment.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/deployment/test_deployment.c0000644000175000017500000003064511166304521024315 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include const axutil_env_t *env = NULL; int axis2_test_dep_engine_load( ) { axis2_dep_engine_t *dep_engine = NULL; axis2_conf_t *conf = NULL; axutil_hash_t *svc_map = NULL; axutil_array_list_t *in_phases = NULL; axis2_char_t *axis2c_home = NULL; printf("******************************************\n"); printf("testing dep_engine_load method \n"); printf("******************************************\n"); axis2c_home = AXIS2_GETENV("AXIS2C_HOME"); dep_engine = axis2_dep_engine_create_with_repos_name(env, axis2c_home); if (!dep_engine) { printf("dep engine is not created \n"); return -1; } conf = axis2_dep_engine_load(dep_engine, env); axis2_conf_set_dep_engine(conf, env, dep_engine); if (!conf) { printf("conf is NULL\n)"); return -1; } svc_map = axis2_conf_get_all_svcs(conf, env); if (svc_map) printf("svc_map count = %d\n", axutil_hash_count(svc_map)); else printf("svc_map count = zero\n"); if (svc_map) { axutil_hash_index_t *hi = NULL; void *service = NULL; for (hi = axutil_hash_first(svc_map, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_t *ops = NULL; axis2_svc_t *svc = NULL; axutil_param_t *impl_info_param = NULL; axutil_hash_this(hi, NULL, NULL, &service); svc = (axis2_svc_t *) service; impl_info_param = axis2_svc_get_param(svc, env, AXIS2_SERVICE_CLASS); if (!impl_info_param) { printf("imple_info_param is null\n"); } ops = axis2_svc_get_all_ops(svc, env); if (ops) { printf("ops count = %d\n", axutil_hash_count(ops)); axutil_hash_index_t *hi2 = NULL; void *op = NULL; axis2_char_t *oname = NULL; for (hi2 = axutil_hash_first(ops, env); hi2; hi2 = axutil_hash_next(env, hi2)) { if (!hi2) break; axutil_hash_this(hi2, NULL, NULL, &op); if (op) { const axutil_qname_t *qname = NULL; qname = axis2_op_get_qname((axis2_op_t *) op, env); oname = axutil_qname_get_localpart(qname, env); printf("op name = %s\n", oname); } } } else printf("ops count = zero\n"); } } in_phases = axis2_conf_get_in_phases_upto_and_including_post_dispatch(conf, env); if (!in_phases) { printf("in phases up to and including post dispatch is NULL\n"); } else { printf("dep engine load is successfull\n"); } axis2_conf_free(conf, env); return 0; } int axis2_test_transport_receiver_load( ) { axutil_dll_desc_t *dll_desc = NULL; axis2_char_t *dll_name = NULL; axis2_transport_receiver_t *transport_recv = NULL; axutil_param_t *impl_info_param = NULL; axis2_bool_t is_running = AXIS2_FALSE; axis2_char_t *axis2c_home = NULL; printf("******************************************\n"); printf("testing axis2_transport_recv load\n"); printf("******************************************\n"); dll_desc = axutil_dll_desc_create(env); axis2c_home = AXIS2_GETENV("AXIS2C_HOME"); dll_name = axutil_stracat(env, axis2c_home, "/lib/libaxis2_http_receiver.so"); printf("transport receiver name:%s\n", dll_name); axutil_dll_desc_set_name(dll_desc, env, dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_TRANSPORT_RECV_DLL); impl_info_param = axutil_param_create(env, NULL, NULL); axutil_param_set_value(impl_info_param, env, dll_desc); axutil_class_loader_init(env); transport_recv = (axis2_transport_receiver_t *) axutil_class_loader_create_dll(env, impl_info_param); is_running = axis2_transport_receiver_is_running(transport_recv, env); printf("is_running:%d\n", is_running); AXIS2_FREE(env->allocator, dll_name); printf("transport receiver load test successful\n"); return 0; } int axis2_test_transport_sender_load( ) { axutil_dll_desc_t *dll_desc = NULL; axis2_char_t *dll_name = NULL; axis2_transport_sender_t *transport_sender = NULL; axutil_param_t *impl_info_param = NULL; axis2_char_t *axis2c_home = NULL; axis2_msg_ctx_t *msg_ctx = NULL; printf("******************************************\n"); printf("testing axis2_transport_sender load\n"); printf("******************************************\n"); msg_ctx = (axis2_msg_ctx_t *) AXIS2_MALLOC(env->allocator, 5); dll_desc = axutil_dll_desc_create(env); axis2c_home = AXIS2_GETENV("AXIS2C_HOME"); dll_name = axutil_stracat(env, axis2c_home, "/lib/libaxis2_http_sender.so"); printf("transport sender name:%s\n", dll_name); axutil_dll_desc_set_name(dll_desc, env, dll_name); axutil_dll_desc_set_type(dll_desc, env, AXIS2_TRANSPORT_SENDER_DLL); impl_info_param = axutil_param_create(env, NULL, NULL); axutil_param_set_value(impl_info_param, env, dll_desc); axutil_class_loader_init(env); transport_sender = (axis2_transport_sender_t *) axutil_class_loader_create_dll(env, impl_info_param); AXIS2_FREE(env->allocator, dll_name); printf("transport sender load test successful\n"); return 0; } int axis2_test_default_module_version( ) { axis2_conf_t *axis_conf = NULL; axutil_qname_t *mod_qname1 = NULL; axutil_qname_t *mod_qname2 = NULL; axutil_qname_t *mod_qname3 = NULL; axutil_qname_t *mod_qname4 = NULL; axutil_qname_t *mod_qname5 = NULL; axis2_module_desc_t *module1 = NULL; axis2_module_desc_t *module2 = NULL; axis2_module_desc_t *module3 = NULL; axis2_module_desc_t *module4 = NULL; axis2_module_desc_t *module5 = NULL; axis2_module_desc_t *def_mod = NULL; axutil_array_list_t *engaged_modules = NULL; axutil_qname_t *engage_qname = NULL; axis2_bool_t found1 = AXIS2_FALSE; axis2_bool_t found2 = AXIS2_FALSE; axis2_bool_t found3 = AXIS2_FALSE; printf("******************************************\n"); printf("testing axis2_default_module_version\n"); printf("******************************************\n"); axis_conf = axis2_conf_create(env); mod_qname1 = axutil_qname_create(env, "module1", NULL, NULL); module1 = axis2_module_desc_create_with_qname(env, mod_qname1); axis2_conf_add_module(axis_conf, env, module1); mod_qname2 = axutil_qname_create(env, "module2-0.90", NULL, NULL); module2 = axis2_module_desc_create_with_qname(env, mod_qname2); axis2_conf_add_module(axis_conf, env, module2); mod_qname3 = axutil_qname_create(env, "module2-0.92", NULL, NULL); module3 = axis2_module_desc_create_with_qname(env, mod_qname3); axis2_conf_add_module(axis_conf, env, module3); mod_qname4 = axutil_qname_create(env, "module2-0.91", NULL, NULL); module4 = axis2_module_desc_create_with_qname(env, mod_qname4); axis2_conf_add_module(axis_conf, env, module4); mod_qname5 = axutil_qname_create(env, "test_module-1.92", NULL, NULL); module5 = axis2_module_desc_create_with_qname(env, mod_qname5); axis2_conf_add_module(axis_conf, env, module5); axis2_core_utils_calculate_default_module_version(env, axis2_conf_get_all_modules (axis_conf, env), axis_conf); def_mod = axis2_conf_get_default_module(axis_conf, env, "module1"); if (def_mod != module1) { printf("axis2_default_module_version (module1) .. FAILED\n"); return AXIS2_FAILURE; } def_mod = axis2_conf_get_default_module(axis_conf, env, "module2"); if (def_mod != module3) { printf("axis2_default_module_version (module2) .. FAILED\n"); return AXIS2_FAILURE; } def_mod = axis2_conf_get_default_module(axis_conf, env, "test_module"); if (def_mod != module5) { printf("axis2_default_module_version (test_module) .. FAILED\n"); return AXIS2_FAILURE; } engage_qname = axutil_qname_create(env, "module2", NULL, NULL); axis2_conf_engage_module(axis_conf, env, engage_qname); axutil_qname_free(engage_qname, env); engage_qname = NULL; engage_qname = axutil_qname_create(env, "module1", NULL, NULL); axis2_conf_engage_module(axis_conf, env, engage_qname); axutil_qname_free(engage_qname, env); engage_qname = NULL; axis2_conf_engage_module_with_version(axis_conf, env, "test_module", "1.92"); engaged_modules = axis2_conf_get_all_engaged_modules(axis_conf, env); if (engaged_modules) { int list_size = 0; int i = 0; list_size = axutil_array_list_size(engaged_modules, env); for (i = 0; i < list_size; i++) { axutil_qname_t *engaged_mod_qname = NULL; engaged_mod_qname = axutil_array_list_get(engaged_modules, env, i); if (0 == axutil_strcmp("module2-0.92", axutil_qname_get_localpart(engaged_mod_qname, env))) { found1 = AXIS2_TRUE; } if (0 == axutil_strcmp("module1", axutil_qname_get_localpart(engaged_mod_qname, env))) { found2 = AXIS2_TRUE; } if (0 == axutil_strcmp("test_module-1.92", axutil_qname_get_localpart(engaged_mod_qname, env))) { found3 = AXIS2_TRUE; } } } if (AXIS2_FALSE == found1) { printf("axis2_default_module_version (module2 engaging) .. FAILED\n"); return AXIS2_FAILURE; } if (AXIS2_FALSE == found2) { printf("axis2_default_module_version (module1 engaging) .. FAILED\n"); return AXIS2_FAILURE; } if (AXIS2_FALSE == found3) { printf ("axis2_default_module_version (test_module engaging) .. FAILED\n"); return AXIS2_FAILURE; } printf("axis2_default_module_version .. SUCCESS\n"); axis2_conf_free(axis_conf, env); return AXIS2_SUCCESS; } int main( ) { axutil_allocator_t *allocator = NULL; axutil_error_t *error = NULL; axutil_log_t *log = NULL; allocator = axutil_allocator_init(NULL); error = axutil_error_create(allocator); log = axutil_log_create(allocator, NULL, "test_deployment.log"); env = axutil_env_create_with_error_log(allocator, error, log); env->log->level = AXIS2_LOG_LEVEL_INFO; /*axis2_test_transport_receiver_load(); axis2_test_transport_sender_load(); */ axis2_test_dep_engine_load(); axis2_test_default_module_version(); return 0; } axis2c-src-1.6.0/test/core/description/0000777000175000017500000000000011172017545021075 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/description/Makefile.am0000644000175000017500000000171311166304521023123 0ustar00manjulamanjula00000000000000TESTS = test_description noinst_PROGRAMS = test_description SUBDIRS = AM_CFLAGS = -g -O2 -pthread test_description_SOURCES = test_description.c test_description_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ -lpthread \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/transport \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/clientapi \ -I ../../../util/include \ -I ../../../axiom/include axis2c-src-1.6.0/test/core/description/Makefile.in0000644000175000017500000005075311172017206023142 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_description$(EXEEXT) noinst_PROGRAMS = test_description$(EXEEXT) subdir = test/core/description DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_description_OBJECTS = test_description.$(OBJEXT) test_description_OBJECTS = $(am_test_description_OBJECTS) test_description_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_description_SOURCES) DIST_SOURCES = $(test_description_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -O2 -pthread test_description_SOURCES = test_description.c test_description_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ -lpthread \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/transport \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/clientapi \ -I ../../../util/include \ -I ../../../axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/description/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/description/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_description$(EXEEXT): $(test_description_OBJECTS) $(test_description_DEPENDENCIES) @rm -f test_description$(EXEEXT) $(LINK) $(test_description_OBJECTS) $(test_description_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_description.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/description/test_description.c0000644000175000017500000001437311166304521024623 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include struct axis2_module_desc *create_module_desc( const axutil_env_t * env); int axis2_test_op_engage_module( ) { struct axis2_module_desc *moduleref = NULL; axis2_conf_t *conf = NULL; axis2_status_t status = AXIS2_FAILURE; printf("******************************************\n"); printf("testing axis2_op_engage_module\n"); printf("******************************************\n"); axutil_allocator_t *allocator = axutil_allocator_init(NULL); axutil_env_t *env = axutil_env_create(allocator); axis2_op_t *op = axis2_op_create(env); moduleref = axis2_module_desc_create(env); conf = axis2_conf_create(env); status = axis2_op_engage_module(op, env, moduleref, conf); moduleref = NULL; if (status != AXIS2_SUCCESS) { axis2_op_free(op, env); printf("ERROR %d\n", status); } axis2_op_free(op, env); axutil_env_free(env); return 0; } int axis2_test_svc_add_module_ops( ) { struct axis2_svc *svc = NULL; struct axutil_qname *qname = NULL; struct axis2_module_desc *module_desc = NULL; struct axis2_conf *axis2_config = NULL; axis2_status_t status = AXIS2_FAILURE; printf("******************************************\n"); printf("testing axis2_svc_add_module_ops\n"); printf("******************************************\n"); axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); qname = axutil_qname_create(env, "name1", NULL, NULL); svc = axis2_svc_create_with_qname(env, qname); module_desc = axis2_module_desc_create(env); axis2_config = axis2_conf_create(env); status = axis2_svc_add_module_ops(svc, env, module_desc, axis2_config); if (status != AXIS2_SUCCESS) { printf("axis2_test_description_add_module_ops ERROR %d\n", status); } else printf("axis2_test_add_module_ops SUCCESS\n"); axis2_svc_free(svc, env); axutil_qname_free(qname, env); axis2_module_desc_free(module_desc, env); axis2_conf_free(axis2_config, env); return 0; } int axis2_test_svc_engage_module( ) { axis2_svc_t *svc = NULL; axutil_qname_t *qname = NULL; axis2_module_desc_t *moduleref = NULL; axis2_conf_t *axis2_config = NULL; axis2_status_t status = AXIS2_FAILURE; printf("******************************************\n"); printf("testing axis2_svc_engage_module\n"); printf("******************************************\n"); axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); qname = axutil_qname_create(env, "name1", NULL, NULL); svc = axis2_svc_create_with_qname(env, qname); moduleref = axis2_module_desc_create(env); axis2_config = axis2_conf_create(env); status = axis2_svc_engage_module(svc, env, moduleref, axis2_config); moduleref = NULL; if (status != AXIS2_SUCCESS) { printf("axis2_test_description_svc_engage_module ERROR %d\n", status); } else printf("axis2_test_svc_engage_module SUCCESS\n"); axis2_svc_free(svc, env); axutil_qname_free(qname, env); axis2_conf_free(axis2_config, env); return 0; } int axis2_test_svc_get_op( ) { struct axis2_svc *svc = NULL; struct axutil_qname *qname = NULL; struct axutil_hash_t *ops = NULL; struct axis2_op *op = NULL; axis2_status_t status = AXIS2_SUCCESS; printf("******************************************\n"); printf("testing axis2_svc_get_op\n"); printf("******************************************\n"); axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); qname = axutil_qname_create(env, "op1", NULL, NULL); op = axis2_op_create_with_qname(env, qname); qname = axutil_qname_create(env, "svc1", NULL, NULL); svc = axis2_svc_create_with_qname(env, qname); status = axis2_svc_add_op(svc, env, op); qname = axutil_qname_create(env, "op2", NULL, NULL); op = axis2_op_create_with_qname(env, qname); status = axis2_svc_add_op(svc, env, op); ops = axis2_svc_get_all_ops(svc, env); if (ops) printf("SUCCESS AXIS2_SVC_GET_OPS\n"); else { printf("ERROR AXIS2_SVC_GET_OPS\n"); return -1; } if (ops) { printf("ops count = %d\n", axutil_hash_count(ops)); axutil_hash_index_t *hi2 = NULL; void *op2 = NULL; axis2_char_t *oname = NULL; int count = 0; for (hi2 = axutil_hash_first(ops, env); hi2; hi2 = axutil_hash_next(env, hi2)) { printf("count = %d \n", count++); axis2_svc_get_all_ops(svc, env); if (!(hi2)) break; axutil_hash_this(hi2, NULL, NULL, &op2); if (op2) { const axutil_qname_t *qname = NULL; qname = axis2_op_get_qname((axis2_op_t *) op2, env); oname = axutil_qname_get_localpart(qname, env); printf("op name = %s\n", oname); } } } else printf("ops count = zero\n"); return 0; } int main( ) { axis2_test_op_engage_module(); axis2_test_svc_add_module_ops(); axis2_test_svc_engage_module(); axis2_test_svc_get_op(); return 0; } axis2c-src-1.6.0/test/core/engine/0000777000175000017500000000000011172017545020017 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/engine/test_engine.c0000644000175000017500000000732511166304522022467 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include int axis2_test_engine_send( ) { axis2_status_t status = AXIS2_FAILURE; axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); struct axis2_conf *conf = NULL; conf = axis2_conf_create(env); struct axis2_conf_ctx *conf_ctx; struct axis2_msg_ctx *msg_ctx; struct axis2_op_ctx *op_ctx; struct axis2_op *op; struct axis2_svc *svc; struct axis2_svc_ctx *svc_ctx; struct axis2_svc_grp *svc_grp; struct axis2_svc_grp_ctx *svc_grp_ctx; struct axutil_qname *qname; conf_ctx = axis2_conf_ctx_create(env, conf); svc_grp = axis2_svc_grp_create(env); svc_grp_ctx = axis2_svc_grp_ctx_create(env, svc_grp, conf_ctx); qname = axutil_qname_create(env, "name1", NULL, NULL); svc = axis2_svc_create_with_qname(env, qname); svc_ctx = axis2_svc_ctx_create(env, svc, svc_grp_ctx); op = axis2_op_create(env); op_ctx = axis2_op_ctx_create(env, op, svc_ctx); msg_ctx = axis2_msg_ctx_create(env, conf_ctx, NULL, NULL); axis2_msg_ctx_set_conf_ctx(msg_ctx, env, conf_ctx); axis2_msg_ctx_set_op_ctx(msg_ctx, env, op_ctx); axis2_msg_ctx_set_svc_ctx(msg_ctx, env, svc_ctx); axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); status = axis2_engine_send(engine, env, msg_ctx); if (status != AXIS2_SUCCESS) { printf("axis2_test_engine_send ERROR %d\n", status); } else printf("axis2_test_engine_send SUCCESS\n"); axis2_conf_ctx_free(conf_ctx, env); axis2_msg_ctx_free(msg_ctx, env); axutil_qname_free(qname, env); axis2_svc_grp_ctx_free(svc_grp_ctx, env); axis2_svc_ctx_free(svc_ctx, env); axis2_svc_free(svc, env); axis2_op_ctx_free(op_ctx, env); axis2_op_free(op, env); axis2_engine_free(engine, env); return 0; } int axis2_test_engine_receive( ) { axis2_status_t status = AXIS2_FAILURE; axutil_allocator_t *allocator = axutil_allocator_init(NULL); const axutil_env_t *env = axutil_env_create(allocator); axis2_conf_t *conf = NULL; conf = axis2_conf_create(env); struct axis2_conf_ctx *conf_ctx; struct axis2_msg_ctx *msg_ctx; conf_ctx = axis2_conf_ctx_create(env, conf); msg_ctx = axis2_msg_ctx_create(env, conf_ctx, NULL, NULL); axis2_engine_t *engine = axis2_engine_create(env, conf_ctx); status = axis2_engine_receive(engine, env, msg_ctx); if (status != AXIS2_SUCCESS) { printf("axis2_test_engine_receive ERROR %d\n", status); } else printf("axis2_test_engine_receive SUCCESS\n"); axis2_conf_ctx_free(conf_ctx, env); axis2_msg_ctx_free(msg_ctx, env); axis2_engine_free(engine, env); return 0; } int main( ) { axis2_test_engine_send(); axis2_test_engine_receive(); return 0; } axis2c-src-1.6.0/test/core/engine/Makefile.am0000644000175000017500000000165211166304522022050 0ustar00manjulamanjula00000000000000TESTS = test_engine check_PROGRAMS = test_engine noinst_PROGRAMS = test_engine SUBDIRS = AM_CFLAGS = -g -pthread test_engine_SOURCES = test_engine.c test_engine_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/neethi/src/libneethi.la INCLUDES = -I$(top_builddir)/src/xml/guththila \ -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/engine \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../neethi/include axis2c-src-1.6.0/test/core/engine/Makefile.in0000644000175000017500000005117211172017206022060 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_engine$(EXEEXT) check_PROGRAMS = test_engine$(EXEEXT) noinst_PROGRAMS = test_engine$(EXEEXT) subdir = test/core/engine DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_engine_OBJECTS = test_engine.$(OBJEXT) test_engine_OBJECTS = $(am_test_engine_OBJECTS) test_engine_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/neethi/src/libneethi.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_engine_SOURCES) DIST_SOURCES = $(test_engine_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -pthread test_engine_SOURCES = test_engine.c test_engine_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ $(top_builddir)/neethi/src/libneethi.la INCLUDES = -I$(top_builddir)/src/xml/guththila \ -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/engine \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../neethi/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/engine/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/engine/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_engine$(EXEEXT): $(test_engine_OBJECTS) $(test_engine_DEPENDENCIES) @rm -f test_engine$(EXEEXT) $(LINK) $(test_engine_OBJECTS) $(test_engine_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_engine.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/Makefile.am0000644000175000017500000000012211166304523020573 0ustar00manjulamanjula00000000000000TESTS = SUBDIRS = description context engine deployment addr transport clientapi axis2c-src-1.6.0/test/core/Makefile.in0000644000175000017500000004122411172017205020607 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = test/core DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = description context engine deployment addr transport clientapi all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean clean-generic \ clean-libtool ctags ctags-recursive distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/clientapi/0000777000175000017500000000000011172017546020523 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/test/core/clientapi/test_clientapi.c0000644000175000017500000000761311166304522023675 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include axiom_node_t *build_om_payload_for_echo_svc( const axutil_env_t * env, const axis2_char_t * echo_str); void axis2_test_svc_client_blocking( ) { axutil_env_t *env = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axutil_allocator_t *allocator = axutil_allocator_init(NULL); env = axutil_env_create(allocator); axiom_element_t *result_ele = NULL; const axis2_char_t *echo_text = "echo_text"; axis2_char_t *result = NULL; address = "http://localhost:9090/axis2/services/echo/echo"; endpoint_ref = axis2_endpoint_ref_create(env, address); client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../deploy"; svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf("axis2_test axis2_svc_client_create FAILURE\n"); printf ("Client repository path not properly set. Please check AXIS2C_HOME setting\n"); return; } options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_svc_client_set_options(svc_client, env, options); payload = build_om_payload_for_echo_svc(env, echo_text); ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { if (axiom_node_get_node_type(ret_node, env) == AXIOM_ELEMENT) { ret_node = axiom_node_get_first_child(ret_node, env); result_ele = (axiom_element_t *) axiom_node_get_data_element(ret_node, env); result = axiom_element_get_text(result_ele, env, ret_node); if (!strcmp(result, echo_text)) printf("axis2_test SVC_CLIENT_SEND_RECEIVE SUCCESS\n"); else printf("axis2_test SVC_CLIENT_SEND_RECEIVE FAILURE\n"); } } axis2_svc_client_free(svc_client, env); } /* build SOAP request message content using OM */ axiom_node_t * build_om_payload_for_echo_svc( const axutil_env_t * env, const axis2_char_t * echo_text) { axiom_node_t *echo_om_node = NULL; axiom_element_t *echo_om_ele = NULL; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns1 = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples", "ns1"); echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node); text_om_ele = axiom_element_create(env, echo_om_node, "text", NULL, &text_om_node); axiom_element_set_text(text_om_ele, env, echo_text, text_om_node); return echo_om_node; } int main( ) { axis2_test_svc_client_blocking(); return 0; } axis2c-src-1.6.0/test/core/clientapi/Makefile.am0000644000175000017500000000427111166304522022553 0ustar00manjulamanjula00000000000000TESTS = test_client test_clientapi test_svc_client_handler_count noinst_PROGRAMS = test_client test_clientapi test_svc_client_handler_count check_PROGRAMS = test_client test_clientapi test_svc_client_handler_count SUBDIRS = AM_CFLAGS = -g -pthread test_client_SOURCES = test_client.c test_clientapi_SOURCES = test_clientapi.c test_svc_client_handler_count_SOURCES = test_svc_client_handler_count.c test_clientapi_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la test_client_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la test_svc_client_handler_count_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/clientapi \ -I ../../../util/include \ -I ../../../neethi/include \ -I ../../../axiom/include axis2c-src-1.6.0/test/core/clientapi/Makefile.in0000644000175000017500000005723211172017205022565 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_client$(EXEEXT) test_clientapi$(EXEEXT) \ test_svc_client_handler_count$(EXEEXT) noinst_PROGRAMS = test_client$(EXEEXT) test_clientapi$(EXEEXT) \ test_svc_client_handler_count$(EXEEXT) check_PROGRAMS = test_client$(EXEEXT) test_clientapi$(EXEEXT) \ test_svc_client_handler_count$(EXEEXT) subdir = test/core/clientapi DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_client_OBJECTS = test_client.$(OBJEXT) test_client_OBJECTS = $(am_test_client_OBJECTS) test_client_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la am_test_clientapi_OBJECTS = test_clientapi.$(OBJEXT) test_clientapi_OBJECTS = $(am_test_clientapi_OBJECTS) test_clientapi_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la am_test_svc_client_handler_count_OBJECTS = \ test_svc_client_handler_count.$(OBJEXT) test_svc_client_handler_count_OBJECTS = \ $(am_test_svc_client_handler_count_OBJECTS) test_svc_client_handler_count_DEPENDENCIES = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_client_SOURCES) $(test_clientapi_SOURCES) \ $(test_svc_client_handler_count_SOURCES) DIST_SOURCES = $(test_client_SOURCES) $(test_clientapi_SOURCES) \ $(test_svc_client_handler_count_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -pthread test_client_SOURCES = test_client.c test_clientapi_SOURCES = test_clientapi.c test_svc_client_handler_count_SOURCES = test_svc_client_handler_count.c test_clientapi_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la test_client_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la test_svc_client_handler_count_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la \ $(top_builddir)/neethi/src/libneethi.la \ -lpthread \ $(top_builddir)/src/core/engine/libaxis2_engine.la \ $(top_builddir)/src/core/transport/http/sender/libaxis2_http_sender.la INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/include \ -I$(top_builddir)/src/core/description \ -I$(top_builddir)/src/core/context \ -I$(top_builddir)/src/core/phaseresolver \ -I$(top_builddir)/src/core/deployment \ -I$(top_builddir)/src/core/engine \ -I$(top_builddir)/src/core/clientapi \ -I ../../../util/include \ -I ../../../neethi/include \ -I ../../../axiom/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/core/clientapi/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/core/clientapi/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_client$(EXEEXT): $(test_client_OBJECTS) $(test_client_DEPENDENCIES) @rm -f test_client$(EXEEXT) $(LINK) $(test_client_OBJECTS) $(test_client_LDADD) $(LIBS) test_clientapi$(EXEEXT): $(test_clientapi_OBJECTS) $(test_clientapi_DEPENDENCIES) @rm -f test_clientapi$(EXEEXT) $(LINK) $(test_clientapi_OBJECTS) $(test_clientapi_LDADD) $(LIBS) test_svc_client_handler_count$(EXEEXT): $(test_svc_client_handler_count_OBJECTS) $(test_svc_client_handler_count_DEPENDENCIES) @rm -f test_svc_client_handler_count$(EXEEXT) $(LINK) $(test_svc_client_handler_count_OBJECTS) $(test_svc_client_handler_count_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_client.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_clientapi.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_svc_client_handler_count.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/test/core/clientapi/test_svc_client_handler_count.c0000644000175000017500000000076311166304522026762 0ustar00manjulamanjula00000000000000#include #include #include int main( ) { axutil_env_t *env = axutil_env_create_all("hello_client.log", AXIS2_LOG_LEVEL_TRACE); const int TIMES = 1000; int i; for (i = 1; i <= TIMES; ++i) { printf("%d\n", i); axis2_svc_client_t *svc_client = axis2_svc_client_create(env, AXIS2_GETENV("AXIS2C_HOME")); axis2_svc_client_free(svc_client, env); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/test/core/clientapi/test_client.c0000644000175000017500000001115611166304522023200 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include /* Function prototypes */ int write_to_socket( const char *address, const char *port, const char *filename, const char *endpoint); /* End of function prototypes */ void error( const char *msg) { perror(msg); exit(0); } int main( int argc, char *argv[]) { const axis2_char_t *hostname = "localhost"; const axis2_char_t *port = "9090"; const axis2_char_t *filename = "echo.xml"; const axis2_char_t *endpoint = "/axis2/services/echo/echo"; int c; extern char *optarg; while ((c = getopt(argc, argv, ":h:p:f:e:")) != -1) { switch (c) { case 'h': hostname = optarg; break; case 'p': port = optarg; break; case 'f': filename = optarg; break; case 'e': endpoint = optarg; break; } } write_to_socket(hostname, port, filename, endpoint); return 0; } int write_to_socket( const char *address, const char *port, const char *filename, const char *endpoint) { axis2_char_t buffer_l[4999]; int sockfd, portno, n, i; struct sockaddr_in serv_addr; struct hostent *server; struct stat buf; axis2_char_t *buffer; axis2_char_t tmpstr[10]; int bufsize = 0; portno = atoi(port); sockfd = socket(AF_INET, SOCK_STREAM, 0); if (sockfd < 0) error("ERROR opening socket"); server = gethostbyname(address); if (server == NULL) { fprintf(stderr, "ERROR, no such host\n"); exit(0); } bzero((char *) &serv_addr, sizeof(serv_addr)); serv_addr.sin_family = AF_INET; bcopy((char *) server->h_addr, (char *) &serv_addr.sin_addr.s_addr, server->h_length); serv_addr.sin_port = htons(portno); if (connect(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) error("ERROR connecting"); /* Read from file */ stat(filename, &buf); bufsize = (buf.st_size + 1) * sizeof(char); buffer = (char *) malloc(bufsize); int fd = open(filename, O_RDONLY, 0); if (fd == -1) { printf("can't open file %s\n", filename); return -1; } else printf("opened file %s\n", filename); i = read(fd, buffer, bufsize - 1); if (i > 0) { buffer[i] = '\0'; printf("%s...\n", buffer); } sprintf(buffer_l, "POST %s HTTP/1.1\r\nUser-Agent: Axis/2.0/C\r\nConnection: Keep-Alive\r\nHost: ", endpoint); strcat(buffer_l, address); strcat(buffer_l, ":"); strcat(buffer_l, port); strcat(buffer_l, "\r\n"); strcat(buffer_l, "Content-Length: "); sprintf(tmpstr, "%d", (int) strlen(buffer)); strcat(buffer_l, tmpstr); strcat(buffer_l, "\r\n"); /*strcat(buffer_l, "SOAPAction: http://localhost:9090/axis2/services/echo/echo\r\n"); */ strcat(buffer_l, "Content-Type: application/soap+xml;\r\n"); strcat(buffer_l, "\r\n"); printf("Writing buffer_1...\n%s", buffer_l); n = write(sockfd, buffer_l, strlen(buffer_l)); n = write(sockfd, buffer, strlen(buffer)); if (n < 0) error("ERROR writing to socket"); printf("Done writing to server\n"); buffer[0] = '\0'; printf("Reading the reply from server :\n"); while ((n = read(sockfd, buffer, bufsize - 1)) > 0) { buffer[n] = '\0'; printf("%s", buffer); } printf("\nReading from server done ...\n"); if (n < 0) { error("ERROR reading from socket"); buffer[0] = '\0'; } free(buffer); return 0; } axis2c-src-1.6.0/test/Makefile.am0000644000175000017500000000002711166304535017652 0ustar00manjulamanjula00000000000000TESTS = SUBDIRS = core axis2c-src-1.6.0/test/Makefile.in0000644000175000017500000004111311172017205017654 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = core all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean clean-generic \ clean-libtool ctags ctags-recursive distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/0000777000175000017500000000000011172017531015613 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/src/0000777000175000017500000000000011172017531016402 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/src/base64_binary.c0000644000175000017500000001756111166304700021204 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axutil_base64_binary { unsigned char *plain_binary; int plain_binary_len; }; AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL axutil_base64_binary_create( const axutil_env_t * env) { axutil_base64_binary_t *base64_binary = NULL; AXIS2_ENV_CHECK(env, NULL); base64_binary = (axutil_base64_binary_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_base64_binary_t)); if (!base64_binary) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } base64_binary->plain_binary = NULL; base64_binary->plain_binary_len = 0; return base64_binary; } AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL axutil_base64_binary_create_with_plain_binary( const axutil_env_t * env, const unsigned char *plain_binary, int plain_binary_len) { axutil_base64_binary_t *base64_binary = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, plain_binary, NULL); base64_binary = (axutil_base64_binary_t *) axutil_base64_binary_create(env); if (!base64_binary) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } base64_binary->plain_binary = AXIS2_MALLOC(env->allocator, sizeof(unsigned char) * plain_binary_len); if (!base64_binary->plain_binary) { axutil_base64_binary_free(base64_binary, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } memcpy(base64_binary->plain_binary, plain_binary, plain_binary_len); base64_binary->plain_binary_len = plain_binary_len; return base64_binary; } AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL axutil_base64_binary_create_with_encoded_binary( const axutil_env_t * env, const char *encoded_binary) { axutil_base64_binary_t *base64_binary = NULL; int plain_binary_len = 0; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, encoded_binary, NULL); base64_binary = (axutil_base64_binary_t *) axutil_base64_binary_create(env); if (!base64_binary) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } plain_binary_len = axutil_base64_decode_len(encoded_binary); base64_binary->plain_binary = AXIS2_MALLOC(env->allocator, sizeof(unsigned char) * plain_binary_len); if (!base64_binary->plain_binary) { axutil_base64_binary_free(base64_binary, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } axutil_base64_decode_binary(base64_binary->plain_binary, encoded_binary); base64_binary->plain_binary_len = plain_binary_len; return base64_binary; } AXIS2_EXTERN void AXIS2_CALL axutil_base64_binary_free( axutil_base64_binary_t *base64_binary, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!base64_binary) { return; } if (base64_binary->plain_binary) { AXIS2_FREE(env->allocator, base64_binary->plain_binary); } if (base64_binary) { AXIS2_FREE(env->allocator, base64_binary); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_base64_binary_set_plain_binary( axutil_base64_binary_t *base64_binary, const axutil_env_t *env, const unsigned char *plain_binary, int plain_binary_len) { AXIS2_PARAM_CHECK(env->error, plain_binary, AXIS2_FAILURE); base64_binary->plain_binary = AXIS2_MALLOC(env->allocator, sizeof(unsigned char) * plain_binary_len); if (!base64_binary->plain_binary) { axutil_base64_binary_free(base64_binary, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return AXIS2_FAILURE; } memcpy(base64_binary->plain_binary, plain_binary, plain_binary_len); base64_binary->plain_binary_len = plain_binary_len; return AXIS2_SUCCESS; } AXIS2_EXTERN unsigned char *AXIS2_CALL axutil_base64_binary_get_plain_binary( axutil_base64_binary_t *base64_binary, const axutil_env_t *env, int *plain_binary_len) { AXIS2_PARAM_CHECK(env->error, base64_binary, NULL); *plain_binary_len = base64_binary->plain_binary_len; return base64_binary->plain_binary; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_base64_binary_set_encoded_binary( axutil_base64_binary_t *base64_binary, const axutil_env_t *env, const char *encoded_binary) { int plain_binary_len = 0; AXIS2_PARAM_CHECK(env->error, base64_binary, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encoded_binary, AXIS2_FAILURE); plain_binary_len = axutil_base64_decode_len(encoded_binary); base64_binary->plain_binary = AXIS2_MALLOC(env->allocator, sizeof(unsigned char) * plain_binary_len); if (!base64_binary->plain_binary) { axutil_base64_binary_free(base64_binary, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return AXIS2_FAILURE; } axutil_base64_decode_binary(base64_binary->plain_binary, encoded_binary); base64_binary->plain_binary_len = plain_binary_len; return AXIS2_SUCCESS; } AXIS2_EXTERN char *AXIS2_CALL axutil_base64_binary_get_encoded_binary( axutil_base64_binary_t *base64_binary, const axutil_env_t *env) { char *encoded_binary = NULL; int encoded_binary_len = 0; AXIS2_PARAM_CHECK(env->error, base64_binary, NULL); encoded_binary_len = axutil_base64_encode_len(base64_binary->plain_binary_len); encoded_binary = AXIS2_MALLOC(env->allocator, sizeof(char) * encoded_binary_len); if (!encoded_binary) { axutil_base64_binary_free(base64_binary, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } axutil_base64_encode_binary(encoded_binary, base64_binary->plain_binary, base64_binary->plain_binary_len); return encoded_binary; } AXIS2_EXTERN int AXIS2_CALL axutil_base64_binary_get_encoded_binary_len( axutil_base64_binary_t *base64_binary, const axutil_env_t *env) { int encoded_binary_len = 0; if (!base64_binary) { return 0; } encoded_binary_len = axutil_base64_encode_len(base64_binary->plain_binary_len); return encoded_binary_len; } AXIS2_EXTERN int AXIS2_CALL axutil_base64_binary_get_decoded_binary_len( axutil_base64_binary_t *base64_binary, const axutil_env_t *env) { if (!base64_binary) { return 0; } return base64_binary->plain_binary_len; } axis2c-src-1.6.0/util/src/date_time_util.c0000644000175000017500000000171511166304700021536 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN int AXIS2_CALL axutil_get_milliseconds( const axutil_env_t *env) { return axis2_platform_get_milliseconds(); } axis2c-src-1.6.0/util/src/qname.c0000644000175000017500000002175511166304700017655 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axutil_qname { /** localpart of qname is mandatory */ axis2_char_t *localpart; /** namespace uri is optional */ axis2_char_t *namespace_uri; /** prefix mandatory */ axis2_char_t *prefix; /** qname represented as a string, used as keys in hash tables, etc. */ axis2_char_t *qname_string; unsigned int ref; }; AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axutil_qname_create( const axutil_env_t *env, const axis2_char_t *localpart, const axis2_char_t *namespace_uri, const axis2_char_t *prefix) { axutil_qname_t *qname = NULL; AXIS2_ENV_CHECK(env, NULL); /* localpart can't be null */ if (!localpart) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); return NULL; } qname = (axutil_qname_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_qname_t)); if (!qname) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } /* set properties */ qname->localpart = NULL; qname->qname_string = NULL; qname->prefix = NULL; qname->namespace_uri = NULL; qname->ref = 1; qname->localpart = (axis2_char_t *) axutil_strdup(env, localpart); if (!(qname->localpart)) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); axutil_qname_free(qname, env); return NULL; } if (prefix) { qname->prefix = (axis2_char_t *) axutil_strdup(env, prefix); } if (prefix && !(qname->prefix)) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); axutil_qname_free(qname, env); return NULL; } if (namespace_uri) { qname->namespace_uri = (axis2_char_t *) axutil_strdup(env, namespace_uri); } if (namespace_uri && !(qname->namespace_uri)) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); axutil_qname_free(qname, env); return NULL; } return qname; } AXIS2_EXTERN void AXIS2_CALL axutil_qname_free( axutil_qname_t *qname, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); qname->ref--; if (qname->ref > 0) { return; } if (qname->localpart) { AXIS2_FREE(env->allocator, qname->localpart); } if (qname->namespace_uri) { AXIS2_FREE(env->allocator, qname->namespace_uri); } if (qname->prefix) { AXIS2_FREE(env->allocator, qname->prefix); } if (qname->qname_string) { AXIS2_FREE(env->allocator, qname->qname_string); } AXIS2_FREE(env->allocator, qname); return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_qname_equals( const axutil_qname_t *qname, const axutil_env_t *env, const axutil_qname_t *qname2) { int uris_differ = 0; int localparts_differ = 0; AXIS2_ENV_CHECK(env, AXIS2_FALSE); if (!qname2) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_INVALID_NULL_PARAM); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return AXIS2_FALSE; } if (qname->localpart && qname2->localpart) { localparts_differ = axutil_strcmp(qname->localpart, qname2->localpart); } else { localparts_differ = ((qname->localpart) || (qname2->localpart)); } if (qname->namespace_uri && qname2->namespace_uri) { uris_differ = axutil_strcmp(qname->namespace_uri, qname2->namespace_uri); } else { uris_differ = ((qname->namespace_uri) || (qname2->namespace_uri)); } return (!uris_differ && !localparts_differ) ? AXIS2_TRUE : AXIS2_FALSE; } AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axutil_qname_clone( axutil_qname_t *qname, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, NULL); if (!qname) { return NULL; } qname->ref++; return qname; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_get_uri( const axutil_qname_t *qname, const axutil_env_t *env) { AXIS2_PARAM_CHECK(env->error, qname, NULL); return qname->namespace_uri; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_get_prefix( const axutil_qname_t *qname, const axutil_env_t *env) { AXIS2_PARAM_CHECK(env->error, qname, NULL); return qname->prefix; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_get_localpart( const axutil_qname_t *qname, const axutil_env_t *env) { AXIS2_PARAM_CHECK(env->error, qname, NULL); return qname->localpart; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_to_string( axutil_qname_t *qname, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, NULL); if (qname->qname_string) { return qname->qname_string; } if (!(qname->namespace_uri) || axutil_strcmp(qname->namespace_uri, "") == 0) { qname->qname_string = axutil_strdup(env, qname->localpart); } else if (!(qname->prefix) || axutil_strcmp(qname->prefix, "") == 0) { axis2_char_t *temp_string1 = NULL; temp_string1 = axutil_stracat(env, qname->localpart, "|"); qname->qname_string = axutil_stracat(env, temp_string1, qname->namespace_uri); if (temp_string1) { AXIS2_FREE(env->allocator, temp_string1); } } else { axis2_char_t *temp_string1 = NULL; axis2_char_t *temp_string2 = NULL; axis2_char_t *temp_string3 = NULL; temp_string1 = axutil_stracat(env, qname->localpart, "|"); temp_string2 = axutil_stracat(env, temp_string1, qname->namespace_uri); temp_string3 = axutil_stracat(env, temp_string2, "|"); qname->qname_string = axutil_stracat(env, temp_string3, qname->prefix); if (temp_string1) { AXIS2_FREE(env->allocator, temp_string1); } if (temp_string2) { AXIS2_FREE(env->allocator, temp_string2); } if (temp_string3) { AXIS2_FREE(env->allocator, temp_string3); } } return qname->qname_string; } AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axutil_qname_create_from_string( const axutil_env_t *env, const axis2_char_t *qstring) { axis2_char_t *localpart = NULL; axis2_char_t *namespace_uri = NULL; axis2_char_t *prefix = NULL; axis2_char_t *index = NULL; axis2_char_t *next = NULL; axis2_char_t *temp_string = NULL; axutil_qname_t *qname = NULL; if (!qstring || axutil_strcmp(qstring, "") == 0) return NULL; temp_string = axutil_strdup(env, qstring); index = strchr(temp_string, '|'); if (index) { next = index + 1; temp_string[index - temp_string] = '\0'; localpart = temp_string; index = strchr(next, '|'); if (index) { prefix = index + 1; next[index - next] = '\0'; namespace_uri = next; qname = axutil_qname_create(env, localpart, namespace_uri, prefix); } else { /** only uri and localpart is available */ qname = axutil_qname_create(env, localpart, next, NULL); } } else { /** only localpart is there in this qname */ qname = axutil_qname_create(env, temp_string, NULL, NULL); } if (temp_string) { AXIS2_FREE(env->allocator, temp_string); } return qname; } axis2c-src-1.6.0/util/src/uuid_gen.c0000644000175000017500000000235011166304700020341 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uuid_gen( const axutil_env_t *env) { axis2_char_t *str = AXIS2_MALLOC(env->allocator, 40 * sizeof(char)); axutil_platform_uuid_gen(str); if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_UUID_GEN_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "AXIS2_ERROR_UUID_GEN_FAILED"); return NULL; } return str; } axis2c-src-1.6.0/util/src/duration.c0000644000175000017500000003365211166304700020400 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axutil_duration { axis2_bool_t is_negative; int years; int months; int days; int hours; int mins; double secs; }; AXIS2_EXTERN axutil_duration_t *AXIS2_CALL axutil_duration_create( axutil_env_t *env) { return axutil_duration_create_from_values(env, 0, 0, 0, 0, 0, 0, 0.0); } AXIS2_EXTERN axutil_duration_t *AXIS2_CALL axutil_duration_create_from_values( const axutil_env_t *env, axis2_bool_t negative, int years, int months, int days, int hours, int minutes, double seconds) { axutil_duration_t *duration = NULL; AXIS2_ENV_CHECK(env, NULL); duration = (axutil_duration_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_duration_t)); if (!duration) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } duration->is_negative = negative; if (years > -1) { duration->years = years; } else { duration->years = 0; } if (months > -1) { duration->months = months; } else { duration->months = 0; } if (days > -1) { duration->days = days; } else { duration->days = 0; } if (hours > -1) { duration->hours = hours; } else { duration->hours = 0; } if (minutes > -1) { duration->mins = minutes; } else { duration->mins = 0; } if (seconds >= 0) { duration->secs = seconds; } else { duration->secs = 0.0; } return duration; } AXIS2_EXTERN axutil_duration_t *AXIS2_CALL axutil_duration_create_from_string( const axutil_env_t *env, const axis2_char_t *duration_str) { axutil_duration_t *duration = NULL; duration = (axutil_duration_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_duration_t)); if (!duration) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } axutil_duration_deserialize_duration(duration, env, duration_str); return duration; } /***************************Function implementation****************************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_free( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (duration) { AXIS2_FREE(env->allocator, duration); duration = NULL; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_deserialize_duration( axutil_duration_t *duration, const axutil_env_t *env, const axis2_char_t *duration_str) { const axis2_char_t *cur = duration_str; double num; int num_type = 0; unsigned int seq = 0; const char desig[] = { 'Y', 'M', 'D', 'H', 'M', 'S' }; AXIS2_PARAM_CHECK(env->error, duration, AXIS2_FAILURE); duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; if (!duration_str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); return AXIS2_FAILURE; } if (*cur == '-') { duration->is_negative = 1; cur++; } if (*cur++ != 'P') { duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NONE, AXIS2_FAILURE); return AXIS2_FAILURE; } if (!*cur) { duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NONE, AXIS2_FAILURE); return AXIS2_FAILURE; } while (*cur) { if (seq >= sizeof(desig)) { duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NONE, AXIS2_FAILURE); return AXIS2_FAILURE; } if (*cur == 'T') { if (!(seq > 3)) { seq = 3; cur++; } else { duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NONE, AXIS2_FAILURE); return AXIS2_FAILURE; } } num = 0; if ((*cur < '0') || (*cur > '9')) num_type = -1; else { num_type = 0; while ((*cur >= '0') && (*cur <= '9')) { num = num * 10 + (*cur - '0'); cur++; } } if (!num_type && (*cur == '.')) { double mult = 1; cur++; if ((*cur < '0') || (*cur > '9')) num_type = -1; else num_type = 1; while ((*cur >= '0') && (*cur <= '9')) { mult /= 10; num += (*cur - '0') * mult; cur++; } } if ((num_type == -1) || (*cur == 0)) { duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NONE, AXIS2_FAILURE); return AXIS2_FAILURE; } while (seq < sizeof(desig)) { if (*cur == desig[seq]) { num_type = 0; /*if (seq < (sizeof(desig) - 1)) { duration->is_negative = AXIS2_FALSE; duration->years = duration->months = duration->days = duration->hours = duration->mins = 0; duration->secs = 0; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NONE, AXIS2_FAILURE); return AXIS2_FAILURE; }*/ switch (seq) { case 0: duration->years = (int) num; seq++; break; case 1: duration->months = (int) num; seq++; break; case 2: duration->days = (int) num; seq++; break; case 3: duration->hours = (int) num; seq++; break; case 4: duration->mins = (int) num; seq++; break; case 5: duration->secs = num; seq++; break; } break; } if ((++seq == 3) || (seq == 6)) return AXIS2_SUCCESS; } cur++; } return AXIS2_SUCCESS; } AXIS2_EXTERN char *AXIS2_CALL axutil_duration_serialize_duration( axutil_duration_t *duration, const axutil_env_t *env) { axis2_char_t *duration_str = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); duration_str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 64); if (duration->is_negative == 0) sprintf(duration_str, "P%dY%dM%dDT%dH%dM%fS", duration->years, duration->months, duration->days, duration->hours, duration->mins, duration->secs); else sprintf(duration_str, "-P%dY%dM%dDT%dH%dM%fS", duration->years, duration->months, duration->days, duration->hours, duration->mins, duration->secs); return duration_str; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_duration( axutil_duration_t *duration, const axutil_env_t *env, axis2_bool_t negative, int years, int months, int days, int hours, int mins, double seconds) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (years > -1) duration->years = years; if (months > -1) duration->months = months; if (days > -1) duration->days = days; if (hours > -1) duration->hours = hours; if (mins > -1) duration->mins = mins; if (seconds >= 0) duration->secs = seconds; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_years( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->years; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_years( axutil_duration_t *duration, const axutil_env_t *env, int years) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (years > -1) { duration->years = years; } return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_months( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->months; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_months( axutil_duration_t *duration, const axutil_env_t *env, int months) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (months > -1) { duration->months = months; } return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_days( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->days; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_days( axutil_duration_t *duration, const axutil_env_t *env, int days) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (days > -1) { duration->days = days; } return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_hours( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->hours; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_hours( axutil_duration_t *duration, const axutil_env_t *env, int hours) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (hours > -1) { duration->hours = hours; } return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_mins( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->mins; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_mins( axutil_duration_t *duration, const axutil_env_t *env, int mins) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (mins > -1) { duration->mins = mins; } return AXIS2_SUCCESS; } AXIS2_EXTERN double AXIS2_CALL axutil_duration_get_seconds( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->secs; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_seconds( axutil_duration_t *duration, const axutil_env_t *env, double seconds) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (seconds >= 0) { duration->secs = seconds; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_duration_get_is_negative( axutil_duration_t *duration, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return duration->is_negative; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_is_negative( axutil_duration_t *duration, const axutil_env_t *env, axis2_bool_t is_negative) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); duration->is_negative = is_negative; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_duration_compare( axutil_duration_t *duration_one, axutil_duration_t *duration_two, axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); if (!duration_one || !duration_two) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); return AXIS2_FALSE; } if (duration_one->is_negative != duration_two->is_negative) return AXIS2_FALSE; if (duration_one->years != duration_two->years) return AXIS2_FALSE; if (duration_one->months != duration_two->months) return AXIS2_FALSE; if (duration_one->days != duration_two->days) return AXIS2_FALSE; if (duration_one->hours != duration_two->hours) return AXIS2_FALSE; if (duration_one->mins != duration_two->mins) return AXIS2_FALSE; if (duration_one->secs != duration_two->secs) return AXIS2_FALSE; return AXIS2_SUCCESS; } axis2c-src-1.6.0/util/src/env.c0000644000175000017500000001457711166304700017350 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create( axutil_allocator_t *allocator) { axutil_env_t *env; if (!allocator) return NULL; env = (axutil_env_t *) AXIS2_MALLOC(allocator, sizeof(axutil_env_t)); if (!env) return NULL; memset(env, 0, sizeof(axutil_env_t)); env->allocator = allocator; env->log = axutil_log_create_default(allocator); env->log->level = AXIS2_LOG_LEVEL_DEBUG; /* default log level is debug */ env->log_enabled = AXIS2_TRUE; /* Create default error struct */ env->error = axutil_error_create(allocator); if (!env->error) { AXIS2_FREE(allocator, env); return NULL; } /* Call error init to fill in the axutil_error_messages array. This array holds the error messages with respect to error codes */ axutil_error_init(); env->ref = 1; return env; } AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_with_error_log( axutil_allocator_t *allocator, axutil_error_t *error, axutil_log_t *log) { axutil_env_t *env; if (!allocator || !error) return NULL; env = (axutil_env_t *) AXIS2_MALLOC(allocator, sizeof(axutil_env_t)); if (!env) return NULL; memset(env, 0, sizeof(axutil_env_t)); env->allocator = allocator; env->error = error; env->log = log; if (env->log) env->log_enabled = AXIS2_TRUE; else env->log_enabled = AXIS2_FALSE; axutil_error_init(); env->ref = 1; return env; } AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_with_error( axutil_allocator_t *allocator, axutil_error_t *error) { return axutil_env_create_with_error_log(allocator, error, NULL); } AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_with_error_log_thread_pool( axutil_allocator_t *allocator, axutil_error_t *error, axutil_log_t *log, axutil_thread_pool_t *pool) { axutil_env_t *env; if (!allocator || !error || !pool) return NULL; env = (axutil_env_t *)AXIS2_MALLOC(allocator ,sizeof(axutil_env_t)); if (!env) return NULL; memset(env, 0, sizeof(axutil_env_t)); env->allocator = allocator; env->error = error; env->log = log; env->thread_pool = pool; if (env->log) env->log_enabled = AXIS2_TRUE; else env->log_enabled = AXIS2_FALSE; axutil_error_init(); env->ref = 1; return env; } AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_all( const axis2_char_t *log_file, const axutil_log_levels_t log_level) { axutil_env_t *env = NULL; axutil_error_t *error = NULL; axutil_log_t *log = NULL; axutil_allocator_t *allocator = NULL; axutil_thread_pool_t *thread_pool = NULL; allocator = axutil_allocator_init(NULL); error = axutil_error_create(allocator); if (log_file) { log = axutil_log_create(allocator, NULL, log_file); } /* if log file name was not given or the log could not be create with given name, create default log */ if (!log) { log = axutil_log_create_default(allocator); } thread_pool = axutil_thread_pool_init(allocator); env = axutil_env_create_with_error_log_thread_pool(allocator, error, log, thread_pool); if (env->log) { if (AXIS2_LOG_LEVEL_CRITICAL <= log_level && log_level <= AXIS2_LOG_LEVEL_TRACE) { env->log->level = log_level; } else { env->log->level = AXIS2_LOG_LEVEL_DEBUG; /* default log level is debug */ } } env->ref = 1; return env; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_env_check_status( const axutil_env_t *env) { if (env && env->error) return AXIS2_ERROR_GET_STATUS_CODE(env->error); return AXIS2_CRITICAL_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_env_enable_log( axutil_env_t *env, axis2_bool_t enable) { if (env) { env->log_enabled = enable; return AXIS2_SUCCESS; } return AXIS2_CRITICAL_FAILURE; } AXIS2_EXTERN void AXIS2_CALL axutil_env_free( axutil_env_t *env) { axutil_allocator_t *allocator = NULL; if (!env) return; if (--(env->ref) > 0) { return; } allocator = env->allocator; if (env->log) { AXIS2_LOG_FREE(env->allocator, env->log); } if (env->error) { AXIS2_ERROR_FREE(env->error); } if (env->thread_pool) { axutil_thread_pool_free(env->thread_pool); } if (env->allocator) { AXIS2_FREE(env->allocator, env); } if (allocator) { AXIS2_FREE(allocator, allocator); } return; } AXIS2_EXTERN void AXIS2_CALL axutil_env_free_masked( axutil_env_t *env, char mask) { if (!env) return; if (--(env->ref) > 0) { return; } if (mask & AXIS_ENV_FREE_LOG) { AXIS2_LOG_FREE(env->allocator, env->log); } if (mask & AXIS_ENV_FREE_ERROR) { AXIS2_ERROR_FREE(env->error); } if (mask & AXIS_ENV_FREE_THREADPOOL) { axutil_thread_pool_free(env->thread_pool); } if (env) AXIS2_FREE(env->allocator, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_env_increment_ref( axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); env->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/util/src/md5.c0000644000175000017500000002554211166304700017237 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #define S11 7 #define S12 12 #define S13 17 #define S14 22 #define S21 5 #define S22 9 #define S23 14 #define S24 20 #define S31 4 #define S32 11 #define S33 16 #define S34 23 #define S41 6 #define S42 10 #define S43 15 #define S44 21 static void AXIS2_CALL md5_transform( unsigned int state[4], const unsigned char block[64]); static void AXIS2_CALL encode( unsigned char *output, const unsigned int *input, unsigned int len); static void AXIS2_CALL decode( unsigned int *output, const unsigned char *input, unsigned int len); static unsigned char PADDING[64] = { 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; /* F, G, H and I are basic MD5 functions. */ #define F(x, y, z) (((x) & (y)) | ((~x) & (z))) #define G(x, y, z) (((x) & (z)) | ((y) & (~z))) #define H(x, y, z) ((x) ^ (y) ^ (z)) #define I(x, y, z) ((y) ^ ((x) | (~z))) /* ROTATE_LEFT rotates x left n bits. */ #define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n)))) /* FF, GG, HH, and II transformations for rounds 1, 2, 3, and 4. * Rotation is separate from addition to prevent recomputation. */ #define FF(a, b, c, d, x, s, ac) { \ (a) += F ((b), (c), (d)) + (x) + (unsigned int)(ac); \ (a) = ROTATE_LEFT ((a), (s)); \ (a) += (b); \ } #define GG(a, b, c, d, x, s, ac) { \ (a) += G ((b), (c), (d)) + (x) + (unsigned int)(ac); \ (a) = ROTATE_LEFT ((a), (s)); \ (a) += (b); \ } #define HH(a, b, c, d, x, s, ac) { \ (a) += H ((b), (c), (d)) + (x) + (unsigned int)(ac); \ (a) = ROTATE_LEFT ((a), (s)); \ (a) += (b); \ } #define II(a, b, c, d, x, s, ac) { \ (a) += I ((b), (c), (d)) + (x) + (unsigned int)(ac); \ (a) = ROTATE_LEFT ((a), (s)); \ (a) += (b); \ } AXIS2_EXTERN axutil_md5_ctx_t *AXIS2_CALL axutil_md5_ctx_create( const axutil_env_t *env) { axutil_md5_ctx_t *context; AXIS2_ENV_CHECK(env, NULL); context = (axutil_md5_ctx_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_md5_ctx_t)); if (!context) { return NULL; } context->count[0] = context->count[1] = 0; /* Load magic initialization constants. */ context->state[0] = 0x67452301; context->state[1] = 0xefcdab89; context->state[2] = 0x98badcfe; context->state[3] = 0x10325476; return context; } AXIS2_EXTERN void AXIS2_CALL axutil_md5_ctx_free( axutil_md5_ctx_t *md5_ctx, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (md5_ctx) { AXIS2_FREE(env->allocator, md5_ctx); } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_md5_update( axutil_md5_ctx_t *context, const axutil_env_t *env, const void *input_str, size_t inputLen) { const unsigned char *input = input_str; unsigned int i, idx, partLen; AXIS2_ENV_CHECK(env, AXIS2_FALSE); /* Compute number of bytes mod 64 */ idx = (unsigned int)((context->count[0] >> 3) & 0x3F); /* Update number of bits */ if ((context->count[0] += ((unsigned int)inputLen << 3)) < ((unsigned int)inputLen << 3)) context->count[1]++; context->count[1] += (unsigned int)inputLen >> 29; partLen = 64 - idx; /* Transform as many times as possible. */ if (inputLen >= partLen) { memcpy(&context->buffer[idx], input, partLen); md5_transform(context->state, context->buffer); for (i = partLen; i + 63 < inputLen; i += 64) md5_transform(context->state, &input[i]); idx = 0; } else i = 0; /* Buffer remaining input */ memcpy(&context->buffer[idx], &input[i], inputLen - i); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_md5_final( axutil_md5_ctx_t *context, const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE]) { unsigned char bits[8]; unsigned int idx, padLen; AXIS2_ENV_CHECK(env, AXIS2_FALSE); /* Save number of bits */ encode(bits, context->count, 8); /* Pad out to 56 mod 64. */ idx = (unsigned int)((context->count[0] >> 3) & 0x3f); padLen = (idx < 56) ? (56 - idx) : (120 - idx); axutil_md5_update(context, env, PADDING, padLen); /* Append length (before padding) */ axutil_md5_update(context, env, bits, 8); /* Store state in digest */ encode(digest, context->state, AXIS2_MD5_DIGESTSIZE); /* Zeroize sensitive information. */ memset(context, 0, sizeof(*context)); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_md5( const axutil_env_t *env, unsigned char digest[AXIS2_MD5_DIGESTSIZE], const void *input_str, size_t inputLen) { const unsigned char *input = input_str; axutil_md5_ctx_t *ctx; axis2_status_t rv; AXIS2_ENV_CHECK(env, AXIS2_FALSE); ctx = axutil_md5_ctx_create(env); if (!ctx) return AXIS2_FAILURE; rv = axutil_md5_update(ctx, env, input, inputLen); if (rv != AXIS2_SUCCESS) return rv; rv = axutil_md5_final(ctx, env, digest); axutil_md5_ctx_free(ctx, env); return rv; } /* MD5 basic transformation. Transforms state based on block. */ static void AXIS2_CALL md5_transform( unsigned int state[4], const unsigned char block[64]) { unsigned int a = state[0], b = state[1], c = state[2], d = state[3], x[AXIS2_MD5_DIGESTSIZE]; decode(x, block, 64); /* Round 1 */ FF(a, b, c, d, x[0], S11, 0xd76aa478); /* 1 */ FF(d, a, b, c, x[1], S12, 0xe8c7b756); /* 2 */ FF(c, d, a, b, x[2], S13, 0x242070db); /* 3 */ FF(b, c, d, a, x[3], S14, 0xc1bdceee); /* 4 */ FF(a, b, c, d, x[4], S11, 0xf57c0faf); /* 5 */ FF(d, a, b, c, x[5], S12, 0x4787c62a); /* 6 */ FF(c, d, a, b, x[6], S13, 0xa8304613); /* 7 */ FF(b, c, d, a, x[7], S14, 0xfd469501); /* 8 */ FF(a, b, c, d, x[8], S11, 0x698098d8); /* 9 */ FF(d, a, b, c, x[9], S12, 0x8b44f7af); /* 10 */ FF(c, d, a, b, x[10], S13, 0xffff5bb1); /* 11 */ FF(b, c, d, a, x[11], S14, 0x895cd7be); /* 12 */ FF(a, b, c, d, x[12], S11, 0x6b901122); /* 13 */ FF(d, a, b, c, x[13], S12, 0xfd987193); /* 14 */ FF(c, d, a, b, x[14], S13, 0xa679438e); /* 15 */ FF(b, c, d, a, x[15], S14, 0x49b40821); /* 16 */ /* Round 2 */ GG(a, b, c, d, x[1], S21, 0xf61e2562); /* 17 */ GG(d, a, b, c, x[6], S22, 0xc040b340); /* 18 */ GG(c, d, a, b, x[11], S23, 0x265e5a51); /* 19 */ GG(b, c, d, a, x[0], S24, 0xe9b6c7aa); /* 20 */ GG(a, b, c, d, x[5], S21, 0xd62f105d); /* 21 */ GG(d, a, b, c, x[10], S22, 0x2441453); /* 22 */ GG(c, d, a, b, x[15], S23, 0xd8a1e681); /* 23 */ GG(b, c, d, a, x[4], S24, 0xe7d3fbc8); /* 24 */ GG(a, b, c, d, x[9], S21, 0x21e1cde6); /* 25 */ GG(d, a, b, c, x[14], S22, 0xc33707d6); /* 26 */ GG(c, d, a, b, x[3], S23, 0xf4d50d87); /* 27 */ GG(b, c, d, a, x[8], S24, 0x455a14ed); /* 28 */ GG(a, b, c, d, x[13], S21, 0xa9e3e905); /* 29 */ GG(d, a, b, c, x[2], S22, 0xfcefa3f8); /* 30 */ GG(c, d, a, b, x[7], S23, 0x676f02d9); /* 31 */ GG(b, c, d, a, x[12], S24, 0x8d2a4c8a); /* 32 */ /* Round 3 */ HH(a, b, c, d, x[5], S31, 0xfffa3942); /* 33 */ HH(d, a, b, c, x[8], S32, 0x8771f681); /* 34 */ HH(c, d, a, b, x[11], S33, 0x6d9d6122); /* 35 */ HH(b, c, d, a, x[14], S34, 0xfde5380c); /* 36 */ HH(a, b, c, d, x[1], S31, 0xa4beea44); /* 37 */ HH(d, a, b, c, x[4], S32, 0x4bdecfa9); /* 38 */ HH(c, d, a, b, x[7], S33, 0xf6bb4b60); /* 39 */ HH(b, c, d, a, x[10], S34, 0xbebfbc70); /* 40 */ HH(a, b, c, d, x[13], S31, 0x289b7ec6); /* 41 */ HH(d, a, b, c, x[0], S32, 0xeaa127fa); /* 42 */ HH(c, d, a, b, x[3], S33, 0xd4ef3085); /* 43 */ HH(b, c, d, a, x[6], S34, 0x4881d05); /* 44 */ HH(a, b, c, d, x[9], S31, 0xd9d4d039); /* 45 */ HH(d, a, b, c, x[12], S32, 0xe6db99e5); /* 46 */ HH(c, d, a, b, x[15], S33, 0x1fa27cf8); /* 47 */ HH(b, c, d, a, x[2], S34, 0xc4ac5665); /* 48 */ /* Round 4 */ II(a, b, c, d, x[0], S41, 0xf4292244); /* 49 */ II(d, a, b, c, x[7], S42, 0x432aff97); /* 50 */ II(c, d, a, b, x[14], S43, 0xab9423a7); /* 51 */ II(b, c, d, a, x[5], S44, 0xfc93a039); /* 52 */ II(a, b, c, d, x[12], S41, 0x655b59c3); /* 53 */ II(d, a, b, c, x[3], S42, 0x8f0ccc92); /* 54 */ II(c, d, a, b, x[10], S43, 0xffeff47d); /* 55 */ II(b, c, d, a, x[1], S44, 0x85845dd1); /* 56 */ II(a, b, c, d, x[8], S41, 0x6fa87e4f); /* 57 */ II(d, a, b, c, x[15], S42, 0xfe2ce6e0); /* 58 */ II(c, d, a, b, x[6], S43, 0xa3014314); /* 59 */ II(b, c, d, a, x[13], S44, 0x4e0811a1); /* 60 */ II(a, b, c, d, x[4], S41, 0xf7537e82); /* 61 */ II(d, a, b, c, x[11], S42, 0xbd3af235); /* 62 */ II(c, d, a, b, x[2], S43, 0x2ad7d2bb); /* 63 */ II(b, c, d, a, x[9], S44, 0xeb86d391); /* 64 */ state[0] += a; state[1] += b; state[2] += c; state[3] += d; /* Zeroize sensitive information. */ memset(x, 0, sizeof(x)); } /* encodes input (unsigned int) into output (unsigned char). Assumes len is * a multiple of 4. */ static void AXIS2_CALL encode( unsigned char *output, const unsigned int *input, unsigned int len) { unsigned int i, j; unsigned int k; for (i = 0, j = 0; j < len; i++, j += 4) { k = input[i]; output[j] = (unsigned char)(k & 0xff); output[j + 1] = (unsigned char)((k >> 8) & 0xff); output[j + 2] = (unsigned char)((k >> 16) & 0xff); output[j + 3] = (unsigned char)((k >> 24) & 0xff); } } /* decodes input (unsigned char) into output (unsigned int). Assumes len is * a multiple of 4. */ static void AXIS2_CALL decode( unsigned int *output, const unsigned char *input, unsigned int len) { unsigned int i, j; for (i = 0, j = 0; j < len; i++, j += 4) output[i] = ((unsigned int)input[j]) | (((unsigned int)input[j + 1]) << 8) | (((unsigned int)input[j + 2]) << 16) | (((unsigned int)input[j + 3]) << 24); } axis2c-src-1.6.0/util/src/log.c0000644000175000017500000003736411166304700017340 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include typedef struct axutil_log_impl axutil_log_impl_t; static axis2_status_t axutil_log_impl_rotate( axutil_log_t *log); static void AXIS2_CALL axutil_log_impl_write( axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_write_to_file( axutil_log_t *log, axutil_thread_mutex_t *mutex, axutil_log_levels_t level, const axis2_char_t *file, const int line, const axis2_char_t *value); static void AXIS2_CALL axutil_log_impl_free( axutil_allocator_t *allocator, axutil_log_t *log); struct axutil_log_impl { axutil_log_t log; void *stream; axis2_char_t *file_name; axutil_thread_mutex_t *mutex; }; #define AXUTIL_INTF_TO_IMPL(log) ((axutil_log_impl_t*)(log)) static const axutil_log_ops_t axutil_log_ops_var = { axutil_log_impl_free, axutil_log_impl_write }; static void AXIS2_CALL axutil_log_impl_free( axutil_allocator_t *allocator, axutil_log_t *log) { axutil_log_impl_t *log_impl = NULL; if (log) { log_impl = AXUTIL_INTF_TO_IMPL(log); if (log_impl->mutex) { axutil_thread_mutex_destroy(log_impl->mutex); } if (log_impl->stream) { axutil_file_handler_close(log_impl->stream); } if (log_impl->file_name) { AXIS2_FREE(allocator, log_impl->file_name); } AXIS2_FREE(allocator, log_impl); } } AXIS2_EXTERN axutil_log_t *AXIS2_CALL axutil_log_create( axutil_allocator_t *allocator, axutil_log_ops_t *ops, const axis2_char_t *stream_name) { axutil_log_impl_t *log_impl; axis2_char_t *path_home; axis2_char_t log_file_name[AXUTIL_LOG_FILE_NAME_SIZE]; axis2_char_t log_dir[AXUTIL_LOG_FILE_NAME_SIZE]; axis2_char_t tmp_filename[AXUTIL_LOG_FILE_NAME_SIZE]; if (!allocator) return NULL; log_impl = (axutil_log_impl_t *) AXIS2_MALLOC(allocator, sizeof(axutil_log_impl_t)); if (!log_impl) return NULL; log_impl->mutex = axutil_thread_mutex_create(allocator, AXIS2_THREAD_MUTEX_DEFAULT); if (!log_impl->mutex) { fprintf(stderr, "cannot create log mutex \n"); return NULL; } #ifndef WIN32 signal(SIGXFSZ, SIG_IGN); #endif /* default log file is axis2.log */ if (stream_name) AXIS2_SNPRINTF(tmp_filename, AXUTIL_LOG_FILE_NAME_SIZE, "%s", stream_name); else AXIS2_SNPRINTF(tmp_filename, AXUTIL_LOG_FILE_NAME_SIZE, "%s", "axis2.log"); /* we write all logs to AXIS2C_HOME/logs if it is set otherwise * to the working dir */ if (stream_name && !(axutil_rindex(stream_name, AXIS2_PATH_SEP_CHAR))) { path_home = AXIS2_GETENV("AXIS2C_HOME"); if (path_home) { AXIS2_SNPRINTF(log_dir, AXUTIL_LOG_FILE_NAME_SIZE, "%s%c%s", path_home, AXIS2_PATH_SEP_CHAR, "logs"); if (AXIS2_SUCCESS == axutil_file_handler_access(log_dir, AXIS2_F_OK)) { AXIS2_SNPRINTF(log_file_name, AXUTIL_LOG_FILE_NAME_SIZE, "%s%c%s", log_dir, AXIS2_PATH_SEP_CHAR, tmp_filename); } else { fprintf(stderr, "log folder %s does not exist - log file %s "\ "is written to . dir\n", log_dir, tmp_filename); AXIS2_SNPRINTF(log_file_name, AXUTIL_LOG_FILE_NAME_SIZE, "%s", tmp_filename); } } else { fprintf(stderr, "AXIS2C_HOME is not set - log is written to . dir\n"); AXIS2_SNPRINTF(log_file_name, AXUTIL_LOG_FILE_NAME_SIZE, "%s", tmp_filename); } } else { AXIS2_SNPRINTF(log_file_name, AXUTIL_LOG_FILE_NAME_SIZE, "%s", tmp_filename); } log_impl->file_name = AXIS2_MALLOC(allocator, AXUTIL_LOG_FILE_NAME_SIZE); log_impl->log.size = AXUTIL_LOG_FILE_SIZE; sprintf(log_impl->file_name, "%s", log_file_name); axutil_thread_mutex_lock(log_impl->mutex); log_impl->stream = axutil_file_handler_open(log_file_name, "a+"); axutil_log_impl_rotate((axutil_log_t *) log_impl); axutil_thread_mutex_unlock(log_impl->mutex); if (!log_impl->stream) log_impl->stream = stderr; /* by default, log is enabled */ log_impl->log.enabled = 1; log_impl->log.level = AXIS2_LOG_LEVEL_DEBUG; if (ops) { log_impl->log.ops = ops; } else { log_impl->log.ops = &axutil_log_ops_var; } return &(log_impl->log); } static void AXIS2_CALL axutil_log_impl_write( axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line) { if (log && log->enabled && buffer) { axutil_log_impl_t *l = AXUTIL_INTF_TO_IMPL(log); if (!l->mutex) fprintf(stderr, "Log mutex is not found\n"); if (!l->stream) fprintf(stderr, "Stream is not found\n"); if(level <= log->level || level == AXIS2_LOG_LEVEL_CRITICAL) { axutil_log_impl_write_to_file(log, l->mutex, level, file, line, buffer); } } #ifndef AXIS2_NO_LOG_FILE else if (buffer) fprintf(stderr, "please check your log and buffer"); #endif else fprintf(stderr, "please check your log and buffer"); } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_write_to_file( axutil_log_t *log, axutil_thread_mutex_t *mutex, axutil_log_levels_t level, const axis2_char_t *file, const int line, const axis2_char_t *value) { const char *level_str = ""; axutil_log_impl_t *log_impl = AXUTIL_INTF_TO_IMPL(log); FILE *fd = NULL; /** * print all critical and error logs irrespective of log->level setting */ switch (level) { case AXIS2_LOG_LEVEL_CRITICAL: level_str = "[critical] "; break; case AXIS2_LOG_LEVEL_ERROR: level_str = "[error] "; break; case AXIS2_LOG_LEVEL_WARNING: level_str = "[warning] "; break; case AXIS2_LOG_LEVEL_INFO: level_str = "[info] "; break; case AXIS2_LOG_LEVEL_DEBUG: level_str = "[debug] "; break; case AXIS2_LOG_LEVEL_TRACE: level_str = "[...TRACE...] "; break; case AXIS2_LOG_LEVEL_USER: break; } axutil_thread_mutex_lock(mutex); axutil_log_impl_rotate(log); fd = log_impl->stream; if (fd) { if (file) fprintf(fd, "[%s] %s%s(%d) %s\n", axutil_log_impl_get_time_str(), level_str, file, line, value); else fprintf(fd, "[%s] %s %s\n", axutil_log_impl_get_time_str(), level_str, value); fflush(fd); } axutil_thread_mutex_unlock(mutex); } static axis2_status_t axutil_log_impl_rotate( axutil_log_t *log) { long size = -1; FILE *old_log_fd = NULL; axis2_char_t old_log_file_name[AXUTIL_LOG_FILE_NAME_SIZE]; axutil_log_impl_t *log_impl = AXUTIL_INTF_TO_IMPL(log); if(log_impl->file_name) size = axutil_file_handler_size(log_impl->file_name); if(size >= log->size) { AXIS2_SNPRINTF(old_log_file_name, AXUTIL_LOG_FILE_NAME_SIZE, "%s%s", log_impl->file_name, ".old"); axutil_file_handler_close(log_impl->stream); old_log_fd = axutil_file_handler_open(old_log_file_name, "w+"); log_impl->stream = axutil_file_handler_open(log_impl->file_name, "r"); if(old_log_fd && log_impl->stream) { axutil_file_handler_copy(log_impl->stream, old_log_fd); axutil_file_handler_close(old_log_fd); axutil_file_handler_close(log_impl->stream); old_log_fd = NULL; log_impl->stream = NULL; } if(old_log_fd) { axutil_file_handler_close(old_log_fd); } if(log_impl->stream) { axutil_file_handler_close(log_impl->stream); } log_impl->stream = axutil_file_handler_open(log_impl->file_name, "w+"); } return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_user( axutil_log_t *log, const axis2_char_t *file, const int line, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { if(AXIS2_LOG_LEVEL_DEBUG <= log->level) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_DEBUG, file, line); } } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_debug( axutil_log_t *log, const axis2_char_t *file, const int line, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { if(AXIS2_LOG_LEVEL_DEBUG <= log->level && log->level != AXIS2_LOG_LEVEL_USER) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_DEBUG, file, line); } } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_info( axutil_log_t *log, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { if(AXIS2_LOG_LEVEL_INFO <= log->level && log->level != AXIS2_LOG_LEVEL_USER) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_INFO, NULL, -1); } } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_warning( axutil_log_t *log, const axis2_char_t *file, const int line, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { if(AXIS2_LOG_LEVEL_WARNING <= log->level && log->level != AXIS2_LOG_LEVEL_USER) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_WARNING, file, line); } } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_error( axutil_log_t *log, const axis2_char_t *file, const int line, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_ERROR, file, line); } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_critical( axutil_log_t *log, const axis2_char_t *file, const int line, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_CRITICAL, file, line); } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_log_impl_get_time_str( void) { time_t tp; char *time_str; tp = time(&tp); time_str = ctime(&tp); if (!time_str) { return NULL; } if ('\n' == time_str[strlen(time_str) - 1]) { time_str[strlen(time_str) - 1] = '\0'; } return time_str; } AXIS2_EXTERN axutil_log_t *AXIS2_CALL axutil_log_create_default( axutil_allocator_t *allocator) { axutil_log_impl_t *log_impl; if (!allocator) return NULL; log_impl = (axutil_log_impl_t *) AXIS2_MALLOC(allocator, sizeof(axutil_log_impl_t)); if (!log_impl) return NULL; log_impl->mutex = axutil_thread_mutex_create(allocator, AXIS2_THREAD_MUTEX_DEFAULT); if (!log_impl->mutex) { fprintf(stderr, "cannot create log mutex \n"); return NULL; } axutil_thread_mutex_lock(log_impl->mutex); log_impl->file_name = NULL; log_impl->log.size = AXUTIL_LOG_FILE_SIZE; log_impl->stream = stderr; axutil_thread_mutex_unlock(log_impl->mutex); /* by default, log is enabled */ log_impl->log.enabled = 1; log_impl->log.level = AXIS2_LOG_LEVEL_DEBUG; log_impl->log.ops = &axutil_log_ops_var; return &(log_impl->log); } #ifdef AXIS2_TRACE AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_trace( axutil_log_t *log, const axis2_char_t *file, const int line, const axis2_char_t *format, ...) { if (log && log->ops && log->ops->write && format && log->enabled) { if(AXIS2_LOG_LEVEL_TRACE <= log->level && log->level != AXIS2_LOG_LEVEL_USER) { char value[AXIS2_LEN_VALUE + 1]; va_list ap; va_start(ap, format); AXIS2_VSNPRINTF(value, AXIS2_LEN_VALUE, format, ap); va_end(ap); log->ops->write(log, value, AXIS2_LOG_LEVEL_TRACE, file, line); } } #ifndef AXIS2_NO_LOG_FILE else fprintf(stderr, "please check your log and buffer"); #endif } #else AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_trace( axutil_log_t *log, const axis2_char_t *filename, const int linenumber, const axis2_char_t *format, ...) { } #endif AXIS2_EXTERN void AXIS2_CALL axutil_log_free( axutil_allocator_t *allocator, struct axutil_log *log) { log->ops->free(allocator, log); } AXIS2_EXTERN void AXIS2_CALL axutil_log_write( axutil_log_t *log, const axis2_char_t *buffer, axutil_log_levels_t level, const axis2_char_t *file, const int line) { log->ops->write(log, buffer, level, file, line); } axis2c-src-1.6.0/util/src/uri.c0000644000175000017500000007251211166304700017350 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #define AXIS2_WANT_STRFUNC #include typedef struct schemes_t schemes_t; /** Structure to store various schemes and their default ports */ struct schemes_t { /** The name of the scheme */ const axis2_char_t *name; /** The default port for the scheme */ axis2_port_t default_port; }; /* Some WWW schemes and their default ports; this is basically /etc/services */ /* This will become global when the protocol abstraction comes */ /* As the schemes are searched by a linear search, */ /* they are sorted by their expected frequency */ static schemes_t schemes[] = { {"http", AXIS2_URI_HTTP_DEFAULT_PORT}, {"ftp", AXIS2_URI_FTP_DEFAULT_PORT}, {"https", AXIS2_URI_HTTPS_DEFAULT_PORT}, {"gopher", AXIS2_URI_GOPHER_DEFAULT_PORT}, {"ldap", AXIS2_URI_LDAP_DEFAULT_PORT}, {"nntp", AXIS2_URI_NNTP_DEFAULT_PORT}, {"snews", AXIS2_URI_SNEWS_DEFAULT_PORT}, {"imap", AXIS2_URI_IMAP_DEFAULT_PORT}, {"pop", AXIS2_URI_POP_DEFAULT_PORT}, {"sip", AXIS2_URI_SIP_DEFAULT_PORT}, {"rtsp", AXIS2_URI_RTSP_DEFAULT_PORT}, {"wais", AXIS2_URI_WAIS_DEFAULT_PORT}, {"z39.50r", AXIS2_URI_WAIS_DEFAULT_PORT}, {"z39.50s", AXIS2_URI_WAIS_DEFAULT_PORT}, {"prospero", AXIS2_URI_PROSPERO_DEFAULT_PORT}, {"nfs", AXIS2_URI_NFS_DEFAULT_PORT}, {"tip", AXIS2_URI_TIP_DEFAULT_PORT}, {"acap", AXIS2_URI_ACAP_DEFAULT_PORT}, {"telnet", AXIS2_URI_TELNET_DEFAULT_PORT}, {"ssh", AXIS2_URI_SSH_DEFAULT_PORT}, {NULL, 0xFFFF} /* unknown port */ }; /* Here is the hand-optimized parse_uri_components(). There are some wild * tricks we could pull in assembly language that we don't pull here... like we * can do word-at-time scans for delimiter characters using the same technique * that fast axutil_memchr()s use. But that would be way non-portable. -djg */ /* We have a axis2_table_t that we can index by character and it tells us if the * character is one of the interesting delimiters. Note that we even get * compares for NUL for free -- it's just another delimiter. */ #define T_COLON 0x01 /* ':' */ #define T_SLASH 0x02 /* '/' */ #define T_QUESTION 0x04 /* '?' */ #define T_HASH 0x08 /* '#' */ #define T_NUL 0x80 /* '\0' */ #if AXIS2_CHARSET_EBCDIC /* Delimiter table for the EBCDIC character set */ static const unsigned char uri_delims[256] = { T_NUL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, T_SLASH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, T_QUESTION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, T_COLON, T_HASH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #else /* Delimiter table for the ASCII character set */ static const unsigned char uri_delims[256] = { T_NUL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, T_HASH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, T_SLASH, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, T_COLON, 0, 0, 0, 0, T_QUESTION, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; #endif /* it works like this: if (uri_delims[ch] & NOTEND_foobar) { then we're not at a delimiter for foobar } */ /* Note that we optimize the scheme scanning here, we cheat and let the * compiler know that it doesn't have to do the & masking. */ #define NOTEND_SCHEME (0xff) #define NOTEND_HOSTINFO (T_SLASH | T_QUESTION | T_HASH | T_NUL) #define NOTEND_PATH (T_QUESTION | T_HASH | T_NUL) /** * A structure to encompass all of the fields in a uri */ struct axutil_uri { /** scheme ("http"/"ftp"/...) */ axis2_char_t *scheme; /** combined [user[:password]\@]host[:port] */ axis2_char_t *hostinfo; /** user name, as in http://user:passwd\@host:port/ */ axis2_char_t *user; /** password, as in http://user:passwd\@host:port/ */ axis2_char_t *password; /** hostname from URI (or from Host: header) */ axis2_char_t *hostname; /** port string (integer representation is in "port") */ axis2_char_t *port_str; /** the request path (or "/" if only scheme://host was given) */ axis2_char_t *path; /** Everything after a '?' in the path, if present */ axis2_char_t *query; /** Trailing "#fragment" string, if present */ axis2_char_t *fragment; /** structure returned from gethostbyname() */ struct hostent *hostent; /** The port number, numeric, valid only if port_str */ axis2_port_t port; /** has the structure been initialized */ unsigned is_initialized:1; /** has the DNS been looked up yet */ unsigned dns_looked_up:1; /** has the dns been resolved yet */ unsigned dns_resolved:1; /** is it an IPv6 URL */ unsigned is_ipv6:1; }; AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_create( const axutil_env_t *env) { axutil_uri_t *uri = NULL; AXIS2_ENV_CHECK(env, NULL); uri = (axutil_uri_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_uri_t)); if (!uri) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } uri->scheme = NULL; uri->hostinfo = NULL; uri->user = NULL; uri->password = NULL; uri->hostname = NULL; uri->port_str = NULL; uri->path = NULL; uri->query = NULL; uri->fragment = NULL; uri->hostent = NULL; uri->port = 0; uri->is_ipv6 = 0; return uri; } AXIS2_EXTERN void AXIS2_CALL axutil_uri_free( axutil_uri_t *uri, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (uri->scheme) { AXIS2_FREE(env->allocator, uri->scheme); uri->scheme = NULL; } if (uri->hostinfo) { AXIS2_FREE(env->allocator, uri->hostinfo); uri->hostinfo = NULL; } if (uri->user) { AXIS2_FREE(env->allocator, uri->user); uri->user = NULL; } if (uri->password) { AXIS2_FREE(env->allocator, uri->password); uri->password = NULL; } if (uri->hostname) { AXIS2_FREE(env->allocator, uri->hostname); uri->hostname = NULL; } if (uri->port_str) { AXIS2_FREE(env->allocator, uri->port_str); uri->port_str = NULL; } if (uri->path) { AXIS2_FREE(env->allocator, uri->path); uri->path = NULL; } if (uri->query) { AXIS2_FREE(env->allocator, uri->query); uri->query = NULL; } if (uri->fragment) { AXIS2_FREE(env->allocator, uri->fragment); uri->fragment = NULL; } AXIS2_FREE(env->allocator, uri); return; } /* parse_uri_components(): * Parse a given URI, fill in all supplied fields of a uri_components * structure. This eliminates the necessity of extracting host, port, * path, query info repeatedly in the modules. * Side effects: * - fills in fields of uri_components *uptr * - none on any of the r->* fields */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_parse_string( const axutil_env_t *env, const axis2_char_t *uri_str) { axutil_uri_t *uri = NULL; const axis2_char_t *s; const axis2_char_t *s1; const axis2_char_t *hostinfo; axis2_char_t *endstr; int port; int v6_offset1 = 0, v6_offset2 = 0; AXIS2_PARAM_CHECK(env->error, uri_str, NULL); uri = (axutil_uri_t *) axutil_uri_create(env); /* Initialize the structure. parse_uri() and parse_uri_components() * can be called more than once per request. */ uri->is_initialized = 1; /* We assume the processor has a branch predictor like most -- * it assumes forward branches are untaken and backwards are taken. That's * the reason for the gotos. */ if (uri_str[0] == '/') { /* RFC2396 #4.3 says that two leading slashes mean we have an * authority component, not a path! Fixing this looks scary * with the gotos here. But if the existing logic is valid, * then presumably a goto pointing to deal_with_authority works. * * RFC2396 describes this as resolving an ambiguity. In the * case of three or more slashes there would seem to be no * ambiguity, so it is a path after all. */ if (uri_str[1] == '/' && uri_str[2] != '/') { s = uri_str + 2; goto deal_with_authority; } deal_with_path: /* we expect uri to point to first character of path ... remember * that the path could be empty -- http://foobar?query for example */ s = uri_str; if ((!uri->hostinfo && uri_str[0] == '/' && uri_str[1] == '/') || (!uri->scheme && uri_str[0] == ':')) { if (uri) { axutil_uri_free(uri, env); } uri = NULL; goto end; } while ((uri_delims[*(unsigned char *) s] & NOTEND_PATH) == 0) { ++s; } if (s != uri_str) { uri->path = axutil_strmemdup(uri_str, s - uri_str, env); } if (*s == 0) { goto end; } if (*s == '?') { ++s; s1 = strchr(s, '#'); if (s1) { uri->fragment = axutil_strdup(env, s1 + 1); uri->query = axutil_strmemdup(s, s1 - s, env); } else { uri->query = axutil_strdup(env, s); } goto end; } /* otherwise it's a fragment */ uri->fragment = axutil_strdup(env, s + 1); goto end; } /* find the scheme: */ s = uri_str; while ((uri_delims[*(unsigned char *) s] & NOTEND_SCHEME) == 0) { ++s; } /* scheme must be non-empty and followed by :// */ if (s == uri_str || s[0] != ':' || s[1] != '/' || s[2] != '/') { if (uri->scheme) { AXIS2_FREE(env->allocator, uri->scheme); uri->scheme = NULL; } s = uri_str; /* restart from beginning as the loop must have ended in * in a wrong place. */ goto deal_with_authority; /* backwards predicted taken! */ } uri->scheme = axutil_strmemdup(uri_str, s - uri_str, env); s += 3; deal_with_authority: hostinfo = s; while ((uri_delims[*(unsigned char *) s] & NOTEND_HOSTINFO) == 0) { ++s; } uri_str = s; /* whatever follows hostinfo is start of uri */ uri->hostinfo = axutil_strmemdup(hostinfo, uri_str - hostinfo, env); /* If there's a username:password@host:port, the @ we want is the last @... * too bad there's no memrchr()... For the C purists, note that hostinfo * is definately not the first character of the original uri so therefore * &hostinfo[-1] < &hostinfo[0] ... and this loop is valid C. */ do { --s; } while (s >= hostinfo && *s != '@'); if (s < hostinfo) { /* again we want the common case to be fall through */ deal_with_host: /* We expect hostinfo to point to the first character of * the hostname. If there's a port it is the first colon, * except with IPv6. */ if (*hostinfo == '[') { if (*(hostinfo + 1) == ']') { if (uri) { axutil_uri_free(uri, env); } uri = NULL; goto end; } if ((*(hostinfo + 1) >= '0' && *(hostinfo + 1) <= '9') || (*(hostinfo + 1) >= 'a' && *(hostinfo + 1) <= 'z') || (*(hostinfo + 1) >= 'A' && *(hostinfo + 1) <= 'Z') || (*(hostinfo + 1) == ':' && *(hostinfo + 2) == ':')) { uri->is_ipv6 = 1; } else { if (uri) { axutil_uri_free(uri, env); } uri = NULL; goto end; } v6_offset1 = 1; v6_offset2 = 2; s = axutil_memchr(hostinfo, ']', uri_str - hostinfo); if (!s) { if (uri) { axutil_uri_free(uri, env); } uri = NULL; goto end; } if (*++s != ':') { s = NULL; /* no port */ } } else if (!*hostinfo || (*hostinfo >= '0' && *hostinfo <= '9') || (*hostinfo >= 'a' && *hostinfo <= 'z') || (*hostinfo >= 'A' && *hostinfo <= 'Z') || *hostinfo == '?' || *hostinfo == '/' || *hostinfo == '#') { s = axutil_memchr(hostinfo, ':', uri_str - hostinfo); } else { if (uri) { axutil_uri_free(uri, env); } uri = NULL; goto end; } if (!s) { /* we expect the common case to have no port */ uri->hostname = axutil_strmemdup(hostinfo + v6_offset1, uri_str - hostinfo - v6_offset2, env); goto deal_with_path; } uri->hostname = axutil_strmemdup(hostinfo + v6_offset1, s - hostinfo - v6_offset2, env); ++s; uri->port_str = axutil_strmemdup(s, uri_str - s, env); if (uri_str != s) { port = strtol(uri->port_str, &endstr, 10); uri->port = (axis2_port_t)port; /* We are sure that the conversion is safe */ if (*endstr == '\0') { goto deal_with_path; } /* Invalid characters after ':' found */ if (uri) { axutil_uri_free(uri, env); } uri = NULL; goto end; } uri->port = axutil_uri_port_of_scheme(uri->scheme); goto deal_with_path; } /* first colon delimits username:password */ s1 = axutil_memchr(hostinfo, ':', s - hostinfo); if (s1) { uri->user = axutil_strmemdup(hostinfo, s1 - hostinfo, env); ++s1; uri->password = axutil_strmemdup(s1, s - s1, env); } else { uri->user = axutil_strmemdup(hostinfo, s - hostinfo, env); } hostinfo = s + 1; goto deal_with_host; /* End of function call */ end: return uri; } /* Special case for CONNECT parsing: it comes with the hostinfo part only */ /* See the INTERNET-DRAFT document "Tunneling SSL Through a WWW Proxy" * currently at http://muffin.doit.org/docs/rfc/tunneling_ssl.html * for the format of the "CONNECT host:port HTTP/1.0" request */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_parse_hostinfo( const axutil_env_t *env, const axis2_char_t *hostinfo) { axutil_uri_t *uri = NULL; const axis2_char_t *s; axis2_char_t *endstr; const axis2_char_t *rsb; int v6_offset1 = 0; AXIS2_PARAM_CHECK(env->error, hostinfo, NULL); uri = (axutil_uri_t *) axutil_uri_create(env); if (!uri) { return NULL; } /* Initialize the structure. parse_uri() and parse_uri_components() * can be called more than once per request. */ memset(uri, '\0', sizeof(*uri)); uri->is_initialized = 1; uri->hostinfo = axutil_strdup(env, hostinfo); /* We expect hostinfo to point to the first character of * the hostname. There must be a port, separated by a colon */ if (*hostinfo == '[') { if (*(hostinfo + 1) == ']') { axutil_uri_free(uri, env); return NULL; } uri->is_ipv6 = 1; rsb = strchr(hostinfo, ']'); if (!rsb || *(rsb + 1) != ':') { axutil_uri_free(uri, env); return NULL; } /* literal IPv6 address * Special allowances has been made according to RFC3986 for * IPv6 addresses beginning with "::" */ s = rsb + 1; if ((*(hostinfo + 1) >= '0' && *(hostinfo + 1) <= '9') || (*(hostinfo + 1) >= 'a' && *(hostinfo + 1) <= 'z') || (*(hostinfo + 1) >= 'A' && *(hostinfo + 1) <= 'Z') || (*(hostinfo + 1) == ':' && *(hostinfo + 2) == ':')) { ++hostinfo; } else { axutil_uri_free(uri, env); return NULL; } v6_offset1 = 1; } else if ((*hostinfo >= '0' && *hostinfo <= '9') || (*hostinfo >= 'a' && *hostinfo <= 'z') || (*hostinfo >= 'A' && *hostinfo <= 'Z')) { s = strchr(hostinfo, ':'); } else { axutil_uri_free(uri, env); return NULL; } if (!s) { axutil_uri_free(uri, env); return NULL; } uri->hostname = axutil_strndup(env, hostinfo, (int)(s - hostinfo - v6_offset1)); /* We are sure that the difference lies within the int range */ ++s; uri->port_str = axutil_strdup(env, s); if (*s != '\0') { uri->port = (unsigned short) strtol(uri->port_str, &endstr, 10); if (*endstr == '\0') { return uri; } /* Invalid characters after ':' found */ } axutil_uri_free(uri, env); return NULL; } /* Resolve relative to a base. This means host/etc, and (crucially) path */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_resolve_relative( const axutil_env_t *env, const axutil_uri_t *base, axutil_uri_t *uri) { AXIS2_PARAM_CHECK(env->error, base, NULL); AXIS2_PARAM_CHECK(env->error, uri, NULL); if (!uri || !base || !base->is_initialized || !uri->is_initialized) { return NULL; } /* The interesting bit is the path. */ if (!uri->path) { if (!uri->hostname) { /* is this compatible with is_initialised? Harmless in any case */ uri->path = base->path ? base->path : axutil_strdup(env, "/"); } else { /* deal with the idiosyncracy of APR allowing path==NULL * without risk of breaking back-compatibility */ uri->path = axutil_strdup(env, "/"); } } else if (uri->path[0] != '/') { size_t baselen; const char *basepath = base->path ? base->path : "/"; char *path = uri->path; char *temp = NULL; const char *base_end = strrchr(basepath, '/'); temp = path; /* if base is nonsensical, bail out */ if (basepath[0] != '/') { return NULL; } /* munch "up" components at the start, and chop them from base path */ while (!strncmp(path, "../", 3)) { while (base_end > basepath) { if (*--base_end == '/') { break; } } path += 3; } /* munch "here" components at the start */ while (!strncmp(path, "./", 2)) { path += 2; } baselen = base_end - basepath + 1; uri->path = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * baselen + strlen(path) + 1); memcpy(uri->path, basepath, baselen); strcpy(uri->path + baselen, path); if (temp) { AXIS2_FREE(env->allocator, temp); } } /* The trivial bits are everything-but-path */ if (!uri->scheme) { uri->scheme = axutil_strdup(env, base->scheme); } if (!uri->hostinfo) { uri->hostinfo = axutil_strdup(env, base->hostinfo); } if (!uri->user) { uri->user = axutil_strdup(env, base->user); } if (!uri->password) { uri->password = axutil_strdup(env, base->password); } if (!uri->hostname) { uri->hostname = axutil_strdup(env, base->hostname); } if (!uri->port_str) { uri->port_str = axutil_strdup(env, base->port_str); } if (!uri->hostent) { uri->hostent = base->hostent; } if (!uri->port) { uri->port = base->port; } uri->is_ipv6 = base->is_ipv6; return uri; } AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_parse_relative( const axutil_env_t *env, const axutil_uri_t *base, const char *uri) { axutil_uri_t *uptr = NULL; axutil_uri_t *temp = NULL; uptr = axutil_uri_parse_string(env, uri); if (!uptr && AXIS2_SUCCESS != AXIS2_ERROR_GET_STATUS_CODE(env->error)) { return uptr; } temp = uptr; uptr = axutil_uri_resolve_relative(env, base, uptr); if (!uptr) { axutil_uri_free(temp, env); } return uptr; } AXIS2_EXTERN axis2_port_t AXIS2_CALL axutil_uri_port_of_scheme( const axis2_char_t *scheme_str) { schemes_t *scheme; if (scheme_str) { for (scheme = schemes; scheme->name; ++scheme) { if (axutil_strcasecmp(scheme_str, scheme->name) == 0) { return scheme->default_port; } } } return 0; } AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_clone( const axutil_uri_t *uri, const axutil_env_t *env) { axutil_uri_t *new_uri = NULL; new_uri = (axutil_uri_t *) axutil_uri_create(env); new_uri->scheme = axutil_strdup(env, uri->scheme); new_uri->hostinfo = axutil_strdup(env, uri->hostinfo); new_uri->user = axutil_strdup(env, uri->user); new_uri->password = axutil_strdup(env, uri->password); new_uri->hostname = axutil_strdup(env, uri->hostname); new_uri->port_str = axutil_strdup(env, uri->port_str); new_uri->path = axutil_strdup(env, uri->path); new_uri->query = axutil_strdup(env, uri->query); new_uri->fragment = axutil_strdup(env, uri->fragment); new_uri->hostent = uri->hostent; new_uri->port = uri->port; new_uri->is_initialized = uri->is_initialized; new_uri->dns_looked_up = uri->dns_looked_up; new_uri->dns_resolved = uri->dns_resolved; new_uri->is_ipv6 = uri->is_ipv6; return new_uri; } /* Unparse a axutil_uri_t structure to an URI string. * Optionally suppress the password for security reasons. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_to_string( const axutil_uri_t *uri, const axutil_env_t *env, unsigned flags) { axis2_char_t *ret = ""; axis2_char_t *temp = NULL; AXIS2_ENV_CHECK(env, NULL); /* If suppressing the site part, omit both user name & scheme://hostname */ if (!(flags & AXIS2_URI_UNP_OMITSITEPART)) { /* Construct a "user:password@" string, honoring the passed * AXIS2_URI_UNP_ flags: */ if (uri->user || uri->password) { ret = axutil_strcat(env, (uri->user && !(flags & AXIS2_URI_UNP_OMITUSER)) ? uri-> user : "", (uri->password && !(flags & AXIS2_URI_UNP_OMITPASSWORD)) ? ":" : "", (uri->password && !(flags & AXIS2_URI_UNP_OMITPASSWORD)) ? ((flags & AXIS2_URI_UNP_REVEALPASSWORD) ? uri-> password : "XXXXXXXX") : "", ((uri->user && !(flags & AXIS2_URI_UNP_OMITUSER)) || (uri->password && !(flags & AXIS2_URI_UNP_OMITPASSWORD))) ? "@" : "", NULL); temp = ret; } /* Construct scheme://site string */ if (uri->hostname) { int is_default_port; const axis2_char_t *lbrk = "", *rbrk = ""; if (uri->is_ipv6) { /* v6 literal */ lbrk = "["; rbrk = "]"; } is_default_port = (uri->port_str == NULL || uri->port == 0 || uri->port == axutil_uri_port_of_scheme(uri->scheme)); if (uri->scheme) { ret = axutil_strcat(env, uri->scheme, "://", ret, lbrk, uri->hostname, rbrk, is_default_port ? "" : ":", is_default_port ? "" : uri->port_str, NULL); if (temp) { AXIS2_FREE(env->allocator, temp); } temp = ret; } else { /* Fixed to support Abbreviated URLs as in RFC2396. * Thus, if no scheme, we omit "//" too, eventhough * it is a part of authority. */ ret = axutil_strcat(env, ret, lbrk, uri->hostname, rbrk, is_default_port ? "" : ":", is_default_port ? "" : uri->port_str, NULL); /*ret = axutil_strcat(env, "//", ret, lbrk, uri->hostname, rbrk, is_default_port ? "" : ":", is_default_port ? "" : uri->port_str, NULL);*/ if (temp) { AXIS2_FREE(env->allocator, temp); } temp = ret; } } } /* Should we suppress all path info? */ if (!(flags & AXIS2_URI_UNP_OMITPATHINFO)) { /* Append path, query and fragment strings: */ ret = axutil_strcat(env, ret, (uri->path) ? uri->path : "", (uri->query && !(flags & AXIS2_URI_UNP_OMITQUERY_ONLY)) ? "?" : "", (uri->query && !(flags & AXIS2_URI_UNP_OMITQUERY_ONLY)) ? uri-> query : "", (uri->fragment && !(flags & AXIS2_URI_UNP_OMITFRAGMENT_ONLY)) ? "#" : NULL, (uri->fragment && !(flags & AXIS2_URI_UNP_OMITFRAGMENT_ONLY)) ? uri-> fragment : NULL, NULL); if (temp) { AXIS2_FREE(env->allocator, temp); } } return ret; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_protocol( axutil_uri_t *uri, const axutil_env_t *env) { return uri->scheme; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_server( axutil_uri_t *uri, const axutil_env_t *env) { return uri->hostinfo; } AXIS2_EXTERN axis2_port_t AXIS2_CALL axutil_uri_get_port( axutil_uri_t *uri, const axutil_env_t *env) { return uri->port; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_host( axutil_uri_t *uri, const axutil_env_t *env) { return uri->hostname; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_query( axutil_uri_t *uri, const axutil_env_t *env) { return uri->query; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_fragment( axutil_uri_t *uri, const axutil_env_t *env) { return uri->fragment; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_path( axutil_uri_t *uri, const axutil_env_t *env) { return uri->path; } axis2c-src-1.6.0/util/src/url.c0000644000175000017500000004302311166304700017346 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct axutil_url { axis2_char_t *protocol; axis2_char_t *host; int port; axis2_char_t *path; axis2_char_t *query; axis2_char_t *server; }; static int is_safe_or_unreserve (char c); AXIS2_EXTERN axutil_url_t *AXIS2_CALL axutil_url_create( const axutil_env_t *env, const axis2_char_t *protocol, const axis2_char_t *host, const int port, const axis2_char_t *path) { axutil_url_t *url = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, protocol, NULL); if (!protocol || !*protocol || strstr(protocol, "://") || (host && strchr(host, '/'))) { return NULL; } url = (axutil_url_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_url_t)); if (!url) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } url->protocol = axutil_strdup(env, protocol); url->host = NULL; url->path = NULL; url->server = NULL; url->query = NULL; if (host) { url->host = (axis2_char_t *) axutil_strdup(env, host); url->port = port; } else { url->port = 0; } /** if the path is not starting with / we have to make it so */ if (path) { axis2_char_t *params = NULL; axis2_char_t *temp = NULL; if (path[0] == '/') { temp = (axis2_char_t *) axutil_strdup(env, path); } else { temp = axutil_stracat(env, "/", path); } params = strchr(temp, '?'); if (!params) { params = strchr(temp, '#'); } if (params) { url->query = (axis2_char_t *) axutil_strdup(env, params); *params = '\0'; } url->path = (axis2_char_t *) axutil_strdup(env, temp); AXIS2_FREE(env->allocator, temp); } return url; } AXIS2_EXTERN axutil_url_t *AXIS2_CALL axutil_url_parse_string( const axutil_env_t *env, const axis2_char_t *str_url) { /** * Only accepted format is : * protocol://host:port/path * Added file:///path * port is optional and the default port is assumed * if path is not present / (root) is assumed */ axis2_char_t *tmp_url_str = NULL; axutil_url_t *ret = NULL; const axis2_char_t *protocol = NULL; axis2_char_t *path = NULL; axis2_char_t *port_str = NULL; axis2_char_t *host = NULL; int port = 0; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, str_url, NULL); tmp_url_str = axutil_strdup(env, str_url); if (!tmp_url_str) { return NULL; } protocol = tmp_url_str; host = strstr(tmp_url_str, "://"); if (!host) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_ADDRESS, AXIS2_FAILURE); AXIS2_FREE(env->allocator, tmp_url_str); return NULL; } if (axutil_strlen(host) < 3 * sizeof(axis2_char_t)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_ADDRESS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid IP or hostname"); AXIS2_FREE(env->allocator, tmp_url_str); return NULL; } *host = '\0'; host += 3 * sizeof(axis2_char_t); /* skip "://" part */ if (axutil_strlen(host) <= 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_ADDRESS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid IP or hostname"); AXIS2_FREE(env->allocator, tmp_url_str); return NULL; } /* if the url is file:// thing we need the protocol and * path only */ if (0 == axutil_strcasecmp(protocol, (const axis2_char_t *) "file")) { ret = axutil_url_create(env, protocol, NULL, 0, host); AXIS2_FREE(env->allocator, tmp_url_str); return ret; } port_str = strchr(host, ':'); if (!port_str) { path = strchr(host, '/'); if (!path) { path = strchr(host, '?'); } else { *path++ = '\0'; } if (!path) { path = strchr(host, '#'); } if (!path) { /* No path - assume def path ('/') */ /* here we have protocol + host + def port + def path */ ret = axutil_url_create(env, protocol, host, port, "/"); AXIS2_FREE(env->allocator, tmp_url_str); return ret; } else { axis2_char_t *path_temp = NULL; path_temp = axutil_strdup(env, path); *path = '\0'; /* here we have protocol + host + def port + path */ ret = axutil_url_create(env, protocol, host, port, path_temp); AXIS2_FREE(env->allocator, tmp_url_str); AXIS2_FREE(env->allocator, path_temp); return ret; } } else { *port_str++ = '\0'; path = strchr(port_str, '/'); if (!path) { path = strchr(port_str, '?'); if (path) { *path = '\0'; port = AXIS2_ATOI(port_str); *path = '?'; } } else { *path++ = '\0'; port = AXIS2_ATOI(port_str); } if (!path) { path = strchr(port_str, '#'); if (path) { *path = '\0'; port = AXIS2_ATOI(port_str); *path = '#'; } } if (!path) { port = AXIS2_ATOI(port_str); /* here we have protocol + host + port + def path */ ret = axutil_url_create(env, protocol, host, port, "/"); AXIS2_FREE(env->allocator, tmp_url_str); return ret; } else { if (axutil_strlen(path) > 0) { axis2_char_t *path_temp = NULL; path_temp = axutil_strdup(env, path); *path = '\0'; /* here we have protocol + host + port + path */ ret = axutil_url_create(env, protocol, host, port, path_temp); AXIS2_FREE(env->allocator, tmp_url_str); AXIS2_FREE(env->allocator, path_temp); return ret; } else { /* here we have protocol + host + port + def path */ ret = axutil_url_create(env, protocol, host, port, "/"); AXIS2_FREE(env->allocator, tmp_url_str); return ret; } } } } AXIS2_EXTERN void AXIS2_CALL axutil_url_free( axutil_url_t *url, const axutil_env_t *env) { if (url->protocol) { AXIS2_FREE(env->allocator, url->protocol); url->protocol = NULL; } if (url->host) { AXIS2_FREE(env->allocator, url->host); url->host = NULL; } if (url->server) { AXIS2_FREE(env->allocator, url->server); url->server = NULL; } if (url->path) { AXIS2_FREE(env->allocator, url->path); url->path = NULL; } if (url->query) { AXIS2_FREE(env->allocator, url->query); url->query = NULL; } AXIS2_FREE(env->allocator, url); return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_to_external_form( axutil_url_t *url, const axutil_env_t *env) { axis2_char_t *external_form = NULL; axis2_ssize_t len = 0; axis2_char_t port_str[8]; axis2_bool_t print_port = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, url, NULL); if (!url->protocol) { return NULL; } if (url->port != 0 && url->port != axutil_uri_port_of_scheme(url->protocol)) { print_port = AXIS2_TRUE; sprintf(port_str, "%d", url->port); } len = axutil_strlen(url->protocol) + 6; if (url->host) { len += axutil_strlen(url->host); } if (url->path) { len += axutil_strlen(url->path); } if (url->query) { len += axutil_strlen(url->query); } if (print_port) { len += axutil_strlen(port_str) + 1; } external_form = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len); sprintf(external_form, "%s://%s%s%s%s%s", url->protocol, (url->host) ? url->host : "", (print_port) ? ":" : "", (print_port) ? port_str : "", (url->path) ? url->path : "", (url->query) ? url->query : ""); return external_form; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_protocol( axutil_url_t *url, const axutil_env_t *env, axis2_char_t *protocol) { AXIS2_PARAM_CHECK(env->error, protocol, AXIS2_FAILURE); if (url->protocol) { AXIS2_FREE(env->allocator, url->protocol); url->protocol = NULL; } url->protocol = axutil_strdup(env, protocol); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_protocol( axutil_url_t *url, const axutil_env_t *env) { return url->protocol; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_host( axutil_url_t *url, const axutil_env_t *env, axis2_char_t *host) { axis2_ssize_t len = 0; axis2_char_t port_str[8]; axis2_bool_t print_port = AXIS2_FALSE; AXIS2_PARAM_CHECK(env->error, host, AXIS2_FAILURE); if (url->host) { AXIS2_FREE(env->allocator, url->host); } url->host = axutil_strdup(env, host); if (url->server) { AXIS2_FREE(env->allocator, url->server); } if (!url->host) { return AXIS2_SUCCESS; } len += axutil_strlen(url->host); if (url->port != 0 && (!url->protocol || url->port != axutil_uri_port_of_scheme(url->protocol))) { print_port = AXIS2_TRUE; sprintf(port_str, "%d", url->port); len += axutil_strlen(port_str) + 1; } url->server = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len); sprintf(url->server, "%s%s%s", url->host, (print_port) ? ":" : "", (print_port) ? port_str : ""); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_host( axutil_url_t *url, const axutil_env_t *env) { return url->host; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_server( axutil_url_t *url, const axutil_env_t *env, axis2_char_t *server) { axis2_char_t *temp = NULL; axis2_char_t *port_str = NULL; AXIS2_PARAM_CHECK(env->error, server, AXIS2_FAILURE); temp = axutil_strdup(env, server); if (temp && *temp == ':') { AXIS2_FREE(env->allocator, temp); return AXIS2_FAILURE; } if (strchr(temp, '/')) { AXIS2_FREE(env->allocator, temp); return AXIS2_FAILURE; } if (url->server) { AXIS2_FREE(env->allocator, url->server); } if (url->host) { AXIS2_FREE(env->allocator, url->host); } url->port = 0; url->server = axutil_strdup(env, server); port_str = strchr(temp, ':'); if (port_str) { *port_str++ = '\0'; url->port = AXIS2_ATOI(port_str); } url->host = axutil_strdup(env, temp); AXIS2_FREE(env->allocator, temp); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_server( axutil_url_t *url, const axutil_env_t *env) { axis2_ssize_t len = 0; axis2_char_t port_str[8]; axis2_bool_t print_port = AXIS2_FALSE; if (!url->server && !url->host) { return NULL; } else if (!url->host) { AXIS2_FREE(env->allocator, url->server); return NULL; } else if (url->server) { return url->server; } len += axutil_strlen(url->host); if (url->port != 0 && (!url->protocol || url->port != axutil_uri_port_of_scheme(url->protocol))) { print_port = AXIS2_TRUE; sprintf(port_str, "%d", url->port); len += axutil_strlen(port_str) + 1; } url->server = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len); sprintf(url->server, "%s%s%s", url->host, (print_port) ? ":" : "", (print_port) ? port_str : ""); return url->server; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_port( axutil_url_t *url, const axutil_env_t *env, int port) { axis2_ssize_t len = 0; axis2_char_t port_str[8]; axis2_bool_t print_port = AXIS2_FALSE; if (url->port == port) { return AXIS2_SUCCESS; } url->port = port; if (url->server) { AXIS2_FREE(env->allocator, url->server); } if (!url->host) { return AXIS2_SUCCESS; } len += axutil_strlen(url->host); if (url->port != 0 && (!url->protocol || url->port != axutil_uri_port_of_scheme(url->protocol))) { print_port = AXIS2_TRUE; sprintf(port_str, "%d", url->port); len += axutil_strlen(port_str) + 1; } url->server = (axis2_char_t *) AXIS2_MALLOC(env->allocator, len); sprintf(url->server, "%s%s%s", url->host, (print_port) ? ":" : "", (print_port) ? port_str : ""); return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_url_get_port( axutil_url_t *url, const axutil_env_t *env) { if (!url->port) { return axutil_uri_port_of_scheme(url->protocol); } return url->port; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_path( axutil_url_t *url, const axutil_env_t *env, axis2_char_t * path) { AXIS2_PARAM_CHECK(env->error, path, AXIS2_FAILURE); if (url->path) { AXIS2_FREE(env->allocator, url->path); } url->path = axutil_strdup(env, path); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_path( axutil_url_t *url, const axutil_env_t *env) { return url->path; } AXIS2_EXTERN axutil_url_t *AXIS2_CALL axutil_url_clone( axutil_url_t *url, const axutil_env_t *env) { axis2_char_t *temp = NULL; axutil_url_t *ret = NULL; if (url->path && url->query) { temp = axutil_stracat(env, url->path, url->query); } else if (url->path) { temp = axutil_strdup(env, url->path); } else if (url->query) { temp = axutil_strdup(env, url->query); } ret = axutil_url_create(env, url->protocol, url->host, url->port, url->path); if (temp) { AXIS2_FREE(env->allocator, temp); } return ret; } AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_url_to_uri( axutil_url_t *url, const axutil_env_t *env) { axis2_char_t *url_str = NULL; axutil_uri_t *uri = NULL; url_str = axutil_url_to_external_form(url, env); uri = axutil_uri_parse_string(env, url_str); return uri; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_encode ( const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *buff, int len) { axis2_char_t string[4]; axis2_char_t *expand_buffer = NULL; axis2_char_t *temp = NULL; int i; for (i = 0; i < len && buff[i]; i++) { if (isalnum (buff[i]) || is_safe_or_unreserve (buff[i])) { sprintf (string, "%c", buff[i]); } else { /* %%%x is to print % mark with the hex value */ sprintf (string, "%%%x", buff[i]); } if (((int)strlen (dest) + 4) > len) { expand_buffer = (axis2_char_t *) AXIS2_MALLOC (env->allocator, len * 2); memset (expand_buffer, 0, len * 2); len *= 2; temp = memmove (expand_buffer, dest, strlen (dest)); if(dest) { AXIS2_FREE(env->allocator, dest); dest = NULL; } dest = temp; } strcat (dest, string); } return dest; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_query( axutil_url_t *url, const axutil_env_t *env) { return url->query; } static int is_safe_or_unreserve (char c) { char safe[] = { '-', '_', '.', '~'}; char reserve[] = { ';', '/', '?', ':', '@', '&', '=', '#', '[', ']', '!', '$', '\'', '(', ')', '*', '+', ','}; /* These are reserved and safe charaters , got from RFC * * reserved = ";" | "/" | "?" | ":" | "@" | "&" | "=" * safe = "$" | "-" | "_" | "." | "+" */ int flag = 0; int i = 0; int size = sizeof (safe) / sizeof (safe[0]); for (i = 0; i < size; i++) { if (c == safe[i]) { flag = 1; return flag; } } size = sizeof (reserve) / sizeof (reserve[0]); for (i = 0; i < size; i++) { if (c == reserve[i]) { flag = 0; return flag; } } return flag; } axis2c-src-1.6.0/util/src/platforms/0000777000175000017500000000000011172017531020411 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/src/platforms/unix/0000777000175000017500000000000011172017531021374 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/src/platforms/unix/uuid_gen_unix.c0000644000175000017500000002254711166304671024417 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #ifdef HAVE_LINUX_IF_H # include #else # ifdef HAVE_NET_IF_H # include # include # include # endif # ifdef HAVE_NET_IF_TYPES_H # include # endif # ifdef HAVE_NET_IF_DL_H # include # endif #endif #ifdef HAVE_GETIFADDRS #include #endif #include #include /* We need these static variables to track throughout the program execution */ static axis2_bool_t axutil_uuid_gen_is_first = AXIS2_TRUE; static struct axutil_uuid_st axutil_uuid_static; axutil_uuid_t *AXIS2_CALL axutil_uuid_gen_v1( ) { struct timeval time_now; struct timeval tv; unsigned long long time_val; unsigned long long time_val2; unsigned short int clck = 0; axutil_uuid_t *ret_uuid = NULL; unsigned short int time_high_version = 0; if (AXIS2_TRUE == axutil_uuid_gen_is_first) { char *mac_addr = axutil_uuid_get_mac_addr(); memcpy(axutil_uuid_static.mac, mac_addr, 6); axutil_uuid_static.time_seq = 0; axutil_uuid_static.clock = 0; free(mac_addr); axutil_uuid_gen_is_first = AXIS2_FALSE; } /* * GENERATE TIME */ /* determine current system time and sequence counter */ if (gettimeofday(&time_now, NULL) == -1) return NULL; /* check whether system time changed since last retrieve */ if (! (time_now.tv_sec == axutil_uuid_static.time_last.tv_sec && time_now.tv_usec == axutil_uuid_static.time_last.tv_usec)) { /* reset time sequence counter and continue */ axutil_uuid_static.time_seq = 0; } /* until we are out of UUIDs per tick, increment the time/tick sequence counter and continue */ while (axutil_uuid_static.time_seq < UUIDS_PER_TICK) { axutil_uuid_static.time_seq++; } /* sleep for 1000ns (1us) */ tv.tv_sec = 0; tv.tv_usec = 1; /* The following select causes severe performance problems. Hence commenting out. I am not sure why this is required. - Samisa. select(0, NULL, NULL, NULL, &tv); */ time_val = (unsigned long long) time_now.tv_sec * 10000000ull; time_val += (unsigned long long) time_now.tv_usec * 10ull; ret_uuid = malloc(sizeof(axutil_uuid_t)); time_val += UUID_TIMEOFFSET; /* compensate for low resolution system clock by adding the time/tick sequence counter */ if (axutil_uuid_static.time_seq > 0) time_val += (unsigned long long) axutil_uuid_static.time_seq; time_val2 = time_val; ret_uuid->time_low = (unsigned long) time_val2; time_val2 >>= 32; ret_uuid->time_mid = (unsigned short int) time_val2; time_val2 >>= 16; time_high_version = (unsigned short int) time_val2; /* store the 60 LSB of the time in the UUID and make version 1 */ time_high_version <<= 4; time_high_version &= 0xFFF0; time_high_version |= 0x0001; ret_uuid->time_high_version = time_high_version; /* * GENERATE CLOCK */ /* retrieve current clock sequence */ clck = axutil_uuid_static.clock; /* generate new random clock sequence (initially or if the time has stepped backwards) or else just increase it */ if (clck == 0 || (time_now.tv_sec < axutil_uuid_static.time_last.tv_sec || (time_now.tv_sec == axutil_uuid_static.time_last.tv_sec && time_now.tv_usec < axutil_uuid_static.time_last.tv_usec))) { srand(time_now.tv_usec); clck = rand(); } else { clck++; } clck %= (2 << 14); /* store back new clock sequence */ axutil_uuid_static.clock = clck; clck &= 0x1FFF; clck |= 0x2000; /* * FINISH */ /* remember current system time for next iteration */ axutil_uuid_static.time_last.tv_sec = time_now.tv_sec; axutil_uuid_static.time_last.tv_usec = time_now.tv_usec; if (!ret_uuid) { return NULL; } ret_uuid->clock_variant = clck; memcpy(ret_uuid->mac_addr, axutil_uuid_static.mac, 6); return ret_uuid; } axis2_char_t *AXIS2_CALL axutil_platform_uuid_gen( char *s) { axutil_uuid_t *uuid_struct = NULL; axis2_char_t *uuid_str = NULL; unsigned char mac[7]; char mac_hex[13]; if (!s) { return NULL; } uuid_struct = axutil_uuid_gen_v1(); if (!uuid_struct) { return NULL; } uuid_str = s; if (!uuid_str) { return NULL; } memcpy(mac, uuid_struct->mac_addr, 6); sprintf(mac_hex, "%02x%02x%02x%02x%02x%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); sprintf(uuid_str, "%08x-%04x-%04x-%04x-%s", uuid_struct->time_low, uuid_struct->time_mid, uuid_struct->time_high_version, uuid_struct->clock_variant, mac_hex); free(uuid_struct); uuid_struct = NULL; return uuid_str; } #ifdef HAVE_LINUX_IF_H /* Linux */ char *AXIS2_CALL axutil_uuid_get_mac_addr( ) { struct ifreq ifr; struct ifreq *IFR; struct ifconf ifc; struct sockaddr *sa; int s = 0; int i = 0; char *buffer = NULL; char buf[1024]; int ok = AXIS2_FALSE; if ((s = socket(PF_INET, SOCK_DGRAM, 0)) < 0) return NULL; ifc.ifc_len = sizeof(buf); ifc.ifc_buf = buf; ioctl(s, SIOCGIFCONF, &ifc); IFR = ifc.ifc_req; for (i = ifc.ifc_len / sizeof(struct ifreq); --i >= 0; IFR++) { strcpy(ifr.ifr_name, IFR->ifr_name); /*sprintf(ifr.ifr_name, "eth0"); */ if (ioctl(s, SIOCGIFFLAGS, &ifr) == 0) { if (!(ifr.ifr_flags & IFF_LOOPBACK)) { if (ioctl(s, SIOCGIFHWADDR, &ifr) == 0) { ok = AXIS2_TRUE; break; } } } } buffer = (char *) malloc(6 * sizeof(char)); if (ok) { sa = (struct sockaddr *) &ifr.ifr_addr; for (i = 0; i < 6; i++) buffer[i] = (unsigned char) (sa->sa_data[i] & 0xff); } else { for (i = 0; i < 6; i++) buffer[i] = (unsigned char) ((AXIS2_LOCAL_MAC_ADDR[i]) - '0'); } close(s); return buffer; } #else #ifdef HAVE_GETIFADDRS /* NetBSD, MacOSX, etc... */ #ifndef max # define max(a,b) ((a) > (b) ? (a) : (b)) #endif /* !max */ char *AXIS2_CALL axutil_uuid_get_mac_addr( ) { struct ifaddrs *ifap; struct ifaddrs *ifap_head; const struct sockaddr_dl *sdl; unsigned char *ucp; int i; char *data_ptr; if (getifaddrs(&ifap_head) < 0) return NULL; for (ifap = ifap_head; ifap != NULL; ifap = ifap->ifa_next) { if (ifap->ifa_addr != NULL && ifap->ifa_addr->sa_family == AF_LINK) { sdl = (const struct sockaddr_dl *) (void *) ifap->ifa_addr; ucp = (unsigned char *) (sdl->sdl_data + sdl->sdl_nlen); if (sdl->sdl_alen > 0) { data_ptr = malloc(6 * sizeof(char)); for (i = 0; i < 6 && i < sdl->sdl_alen; i++, ucp++) data_ptr[i] = (unsigned char) (*ucp & 0xff); freeifaddrs(ifap_head); return data_ptr; } } } freeifaddrs(ifap_head); return NULL; } # else /* Solaris-ish */ /* code modified from that posted on: * http://forum.sun.com/jive/thread.jspa?threadID=84804&tstart=30 */ char *AXIS2_CALL axutil_uuid_get_mac_addr( ) { char hostname[MAXHOSTNAMELEN]; char *data_ptr; struct hostent *he; struct arpreq ar; struct sockaddr_in *sa; int s; int i; if (gethostname(hostname, sizeof(hostname)) < 0) return NULL; if ((he = gethostbyname(hostname)) == NULL) return NULL; if ((s = socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP)) < 0) return NULL; memset(&ar, 0, sizeof(ar)); sa = (struct sockaddr_in *) ((void *) &(ar.arp_pa)); sa->sin_family = AF_INET; memcpy(&(sa->sin_addr), *(he->h_addr_list), sizeof(struct in_addr)); if (ioctl(s, SIOCGARP, &ar) < 0) { close(s); return NULL; } close(s); if (!(ar.arp_flags & ATF_COM)) return NULL; data_ptr = malloc(6 * sizeof(char)); for (i = 0; i < 6; i++) data_ptr[i] = (unsigned char) (ar.arp_ha.sa_data[i] & 0xff); return data_ptr; } # endif #endif axis2c-src-1.6.0/util/src/platforms/unix/date_time_util_unix.c0000644000175000017500000000205711166304671025602 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN int AXIS2_CALL axis2_platform_get_milliseconds( ) { struct timeb t_current; int milliseconds; ftime(&t_current); milliseconds = t_current.millitm; return milliseconds; } axis2c-src-1.6.0/util/src/platforms/unix/Makefile.am0000644000175000017500000000044011166304671023431 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_unix.la libaxis2_unix_la_SOURCES = uuid_gen_unix.c\ thread_unix.c date_time_util_unix.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/include/platforms \ -I$(top_builddir)/include/platforms/unix axis2c-src-1.6.0/util/src/platforms/unix/Makefile.in0000644000175000017500000003271511172017167023452 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/platforms/unix DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_unix_la_LIBADD = am_libaxis2_unix_la_OBJECTS = uuid_gen_unix.lo thread_unix.lo \ date_time_util_unix.lo libaxis2_unix_la_OBJECTS = $(am_libaxis2_unix_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_unix_la_SOURCES) DIST_SOURCES = $(libaxis2_unix_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_unix.la libaxis2_unix_la_SOURCES = uuid_gen_unix.c\ thread_unix.c date_time_util_unix.c INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/include/platforms \ -I$(top_builddir)/include/platforms/unix all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/platforms/unix/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/platforms/unix/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_unix.la: $(libaxis2_unix_la_OBJECTS) $(libaxis2_unix_la_DEPENDENCIES) $(LINK) $(libaxis2_unix_la_OBJECTS) $(libaxis2_unix_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date_time_util_unix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread_unix.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuid_gen_unix.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/src/platforms/unix/thread_unix.c0000644000175000017500000001734111166304671024063 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "axutil_thread_unix.h" AXIS2_EXTERN axutil_threadattr_t *AXIS2_CALL axutil_threadattr_create( axutil_allocator_t * allocator) { int stat = 0; axutil_threadattr_t *new = NULL; new = AXIS2_MALLOC(allocator, sizeof(axutil_threadattr_t)); if (!new) { return NULL; } stat = pthread_attr_init(&(new->attr)); if (stat != 0) { AXIS2_FREE(allocator, new); return NULL; } return new; } /* Destroy the threadattr object */ AXIS2_EXTERN axis2_status_t AXIS2_CALL threadattr_cleanup( void *data) { axutil_threadattr_t *attr = data; int rv; rv = pthread_attr_destroy(&(attr->attr)); if (0 != rv) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } #define DETACH_ARG(v) ((v) ? PTHREAD_CREATE_DETACHED : PTHREAD_CREATE_JOINABLE) AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_set( axutil_threadattr_t * attr, axis2_bool_t detached) { if (0 == pthread_attr_setdetachstate(&(attr->attr), DETACH_ARG(detached))) { return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_get( axutil_threadattr_t * attr) { int state = 0; pthread_attr_getdetachstate(&(attr->attr), &state); if (state == 1) { return AXIS2_TRUE; } return AXIS2_FALSE; } static void * dummy_worker( void *opaque) { axutil_thread_t *thread = (axutil_thread_t *) opaque; return thread->func(thread, thread->data); } AXIS2_EXTERN axutil_thread_t *AXIS2_CALL axutil_thread_create( axutil_allocator_t * allocator, axutil_threadattr_t * attr, axutil_thread_start_t func, void *data) { axis2_status_t stat; pthread_attr_t *temp = NULL; axutil_thread_t *new = NULL; new = (axutil_thread_t *) AXIS2_MALLOC(allocator, sizeof(axutil_thread_t)); if (!new) { return NULL; } new->td = (pthread_t *) AXIS2_MALLOC(allocator, sizeof(pthread_t)); if (!new->td) { return NULL; } new->data = data; new->func = func; new->try_exit = AXIS2_FALSE; if (attr) { temp = &(attr->attr); } else { temp = NULL; } if ((stat = pthread_create(new->td, temp, dummy_worker, new)) == 0) { return new; } return NULL; } AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL axis2_os_thread_current( void) { return pthread_self(); } AXIS2_EXTERN int AXIS2_CALL axis2_os_thread_equal( axis2_os_thread_t tid1, axis2_os_thread_t tid2) { return pthread_equal(tid1, tid2); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_exit( axutil_thread_t * thd, axutil_allocator_t * allocator) { if (thd) { while (!thd->try_exit) { sleep(1); } if (thd->td) { AXIS2_FREE(allocator, thd->td); } AXIS2_FREE(allocator, thd); } pthread_exit(NULL); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_join( axutil_thread_t * thd) { void *thread_stat; if (0 == pthread_join(*(thd->td), (void *) (&thread_stat))) { return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_detach( axutil_thread_t * thd) { if (0 == pthread_detach(*(thd->td))) { thd->try_exit = AXIS2_TRUE; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } void axutil_thread_yield( void) { return; } /** * function is used to allocate a new key. This key now becomes valid for all threads in our process. * When a key is created, the value it points to defaults to NULL. Later on each thread may change * its copy of the value as it wishes. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_key_create( axutil_threadkey_t * axis2_key, void (*destructor) (void *)) { int rc = -1; pthread_key_t key = axis2_key->key; rc = pthread_key_create(&key, destructor); if (0 == rc) return AXIS2_SUCCESS; else return AXIS2_FAILURE; } /** * This function is used to get the value of a given key * @return void*. A key's value is simply a void pointer (void*) */ AXIS2_EXTERN void *AXIS2_CALL axutil_thread_getspecific( axutil_threadkey_t * axis2_key) { void *value = NULL; pthread_key_t key = axis2_key->key; value = pthread_getspecific(key); return value; } /** * This function is used to get the value of a given key * @param keys value. A key's value is simply a void pointer (void*), so we can * store in it anything that we want */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_setspecific( axutil_threadkey_t * axis2_key, void *value) { int rc = -1; pthread_key_t key = axis2_key->key; rc = pthread_setspecific(key, value); if (0 == rc) return AXIS2_SUCCESS; else return AXIS2_FAILURE; } AXIS2_EXTERN axis2_os_thread_t *AXIS2_CALL axis2_os_thread_get( axutil_thread_t * thd) { if (!thd) { return NULL; } return thd->td; } AXIS2_EXTERN axutil_thread_once_t *AXIS2_CALL axutil_thread_once_init( axutil_allocator_t * allocator) { #if defined(AXIS2_SOLARIS) && (__GNUC__ <= 3) static const pthread_once_t once_init = { PTHREAD_ONCE_INIT }; #else static const pthread_once_t once_init = PTHREAD_ONCE_INIT; #endif axutil_thread_once_t *control = AXIS2_MALLOC(allocator, sizeof(axutil_thread_once_t)); if (!control) { return NULL; ; } (control)->once = once_init; return control; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_once( axutil_thread_once_t * control, void (*func) (void)) { return pthread_once(&(control->once), func); } /*************************Thread locking functions*****************************/ AXIS2_EXTERN axutil_thread_mutex_t *AXIS2_CALL axutil_thread_mutex_create( axutil_allocator_t * allocator, unsigned int flags) { axutil_thread_mutex_t *new_mutex = NULL; new_mutex = AXIS2_MALLOC(allocator, sizeof(axutil_thread_mutex_t)); new_mutex->allocator = allocator; if (pthread_mutex_init(&(new_mutex->mutex), NULL) != 0) { AXIS2_FREE(allocator, new_mutex); return NULL; } return new_mutex; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_lock( axutil_thread_mutex_t * mutex) { return pthread_mutex_lock(&(mutex->mutex)); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_unlock( axutil_thread_mutex_t * mutex) { if (pthread_mutex_unlock(&(mutex->mutex)) != 0) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_destroy( axutil_thread_mutex_t * mutex) { if (0 != pthread_mutex_destroy(&(mutex->mutex))) { return AXIS2_FAILURE; } AXIS2_FREE(mutex->allocator, mutex); return AXIS2_SUCCESS; } axis2c-src-1.6.0/util/src/platforms/windows/0000777000175000017500000000000011172017534022106 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/src/platforms/windows/dir_windows.c0000644000175000017500000001463211166304671024610 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include /*dirent.h style mehtods for win32*/ AXIS2_DIR *AXIS2_CALL axis2_opendir( const char *_dirname) { AXIS2_DIR *dirp; char *filespec; long handle; int index; filespec = malloc(strlen(_dirname) + 2 + 1); strcpy(filespec, _dirname); index = (int) strlen(filespec) - 1; if (index >= 0 && (filespec[index] == '/' || (filespec[index] == '\\' && !IsDBCSLeadByte(filespec[index - 1])))) filespec[index] = '\0'; strcat(filespec, "/*"); dirp = (AXIS2_DIR *) malloc(sizeof(AXIS2_DIR)); dirp->offset = 0; dirp->finished = 0; if ((handle = (long)_findfirst(filespec, &(dirp->fileinfo))) < 0) /* We are sure that the difference lies within the long range */ { if (errno == ENOENT || errno == EINVAL) dirp->finished = 1; else { free(dirp); free(filespec); return NULL; } } /* We are using the ISO C++ conformant name: _strdup, as demanded by VS 2005 */ dirp->dirname = _strdup(_dirname); dirp->handle = handle; free(filespec); return dirp; } int AXIS2_CALL axis2_closedir( AXIS2_DIR * _dirp) { int iret = -1; if (!_dirp) return iret; iret = _findclose(_dirp->handle); if (_dirp->dirname) free(_dirp->dirname); if (_dirp) free(_dirp); return iret; } struct dirent *AXIS2_CALL axis2_readdir( AXIS2_DIR * _dirp) { if (!_dirp || _dirp->finished) return NULL; if (_dirp->offset != 0) { if (_findnext(_dirp->handle, &(_dirp->fileinfo)) < 0) { _dirp->finished = 1; return NULL; } } _dirp->offset++; strcpy(_dirp->dent.d_name, _dirp->fileinfo.name); /*, _MAX_FNAME+1); */ _dirp->dent.d_ino = 1; _dirp->dent.d_reclen = (unsigned short) strlen(_dirp->dent.d_name); _dirp->dent.d_off = _dirp->offset; return &(_dirp->dent); } int AXIS2_CALL axis2_readdir_r( AXIS2_DIR * _dirp, struct dirent *_entry, struct dirent **__result) { if (!_dirp || _dirp->finished) { *__result = NULL; return -1; } if (_dirp->offset != 0) { if (_findnext(_dirp->handle, &(_dirp->fileinfo)) < 0) { _dirp->finished = 1; *__result = NULL; return -1; } } _dirp->offset++; strcpy(_dirp->dent.d_name, _dirp->fileinfo.name); /*, _MAX_FNAME+1); */ _dirp->dent.d_ino = 1; _dirp->dent.d_reclen = (unsigned short) strlen(_dirp->dent.d_name); _dirp->dent.d_off = _dirp->offset; memcpy(_entry, &_dirp->dent, sizeof(*_entry)); *__result = &_dirp->dent; return 0; } int AXIS2_CALL axis2_rewinddir( AXIS2_DIR * dirp) { char *filespec; long handle; int index; _findclose(dirp->handle); dirp->offset = 0; dirp->finished = 0; filespec = malloc(strlen(dirp->dirname) + 2 + 1); strcpy(filespec, dirp->dirname); index = (int) (strlen(filespec) - 1); if (index >= 0 && (filespec[index] == '/' || filespec[index] == '\\')) filespec[index] = '\0'; strcat(filespec, "/*"); if ((handle = (long)_findfirst(filespec, &(dirp->fileinfo))) < 0) /* We are sure that the difference lies within the int range */ { if (errno == ENOENT || errno == EINVAL) dirp->finished = 1; } dirp->handle = handle; free(filespec); return 0; } int alphasort( const struct dirent **__d1, const struct dirent **__d2) { return strcoll((*__d1)->d_name, (*__d2)->d_name); } int AXIS2_CALL axis2_scandir( const char *_dirname, struct dirent **__namelist[], int (*selector) (const struct dirent * entry), int (*compare) (const struct dirent ** __d1, const struct dirent ** __d2)) { AXIS2_DIR *dirp = NULL; struct dirent **vector = NULL; struct dirent *dp = NULL; int vector_size = 0; int nfiles = 0; if (__namelist == NULL) { return -1; } dirp = axis2_opendir(_dirname); if (!dirp) { return -1; } dp = axis2_readdir(dirp); while (dp) { int dsize = 0; struct dirent *newdp = NULL; if (selector && (*selector) (dp) == 0) { dp = axis2_readdir(dirp); continue; } if (nfiles == vector_size) { struct dirent **newv; if (vector_size == 0) { vector_size = 10; } else { vector_size *= 2; } newv = (struct dirent **) realloc(vector, vector_size * sizeof(struct dirent *)); if (!newv) { return -1; } vector = newv; } /*dsize = (int) sizeof(struct dirent) + (int) ((strlen(dp->d_name) + 1) * sizeof(char));*/ dsize = (int) sizeof(struct dirent); newdp = (struct dirent *) malloc(dsize); if (newdp == NULL) { while (nfiles-- > 0) { free(vector[nfiles]); } free(vector); return -1; } vector[nfiles++] = (struct dirent *) memcpy(newdp, dp, dsize); dp = axis2_readdir(dirp); } axis2_closedir(dirp); *__namelist = vector; if (compare) { qsort(*__namelist, nfiles, sizeof(struct dirent *), compare); } return nfiles; } axis2c-src-1.6.0/util/src/platforms/windows/uuid_gen_windows.c0000644000175000017500000000316211166304671025625 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include AXIS2_EXTERN axis2_char_t * AXIS2_CALL axutil_platform_uuid_gen(char *s) { RPC_STATUS retval; UUID uuid; unsigned char *str; axis2_char_t * retstr; if (!s) { return NULL; } retstr = s; retval = UuidCreate(&uuid); if (retval == RPC_S_UUID_LOCAL_ONLY) { printf("warning - unique within computer \n"); } else if (retval == RPC_S_UUID_NO_ADDRESS) { return NULL; } retval = UuidToStringA(&uuid, &str); if (retval == RPC_S_OK) { strcpy(retstr, (char *)str); RpcStringFree(&str); } else if (retval == RPC_S_OUT_OF_MEMORY) { return NULL; } return retstr; }axis2c-src-1.6.0/util/src/platforms/windows/thread_mutex_windows.c0000644000175000017500000000766711166304671026535 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include static axis2_status_t thread_mutex_cleanup( void *data) { axutil_thread_mutex_t *lock = NULL; axutil_allocator_t *allocator = NULL; if (!data) return AXIS2_FAILURE; lock = (axutil_thread_mutex_t *) data; allocator = lock->allocator; if (lock->type == thread_mutex_critical_section) { DeleteCriticalSection(&lock->section); } else { if (!CloseHandle(lock->handle)) { return AXIS2_FAILURE; } } AXIS2_FREE(allocator, lock); return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_thread_mutex_t *AXIS2_CALL axutil_thread_mutex_create( axutil_allocator_t * allocator, unsigned int flags) { axutil_thread_mutex_t *mutex = NULL; mutex = (axutil_thread_mutex_t *) AXIS2_MALLOC(allocator, sizeof(axutil_thread_mutex_t)); mutex->allocator = allocator; if (flags == AXIS2_THREAD_MUTEX_DEFAULT) /*unnested */ { /* Use an auto-reset signaled event, ready to accept one * waiting thread. */ mutex->type = thread_mutex_unnested_event; mutex->handle = CreateEvent(NULL, FALSE, TRUE, NULL); } else { /* TODO :support critical_section and nested_mutex */ } return mutex; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_lock( axutil_thread_mutex_t * mutex) { if (mutex->type == thread_mutex_critical_section) { EnterCriticalSection(&mutex->section); } else { DWORD rv = WaitForSingleObject(mutex->handle, INFINITE); if ((rv != WAIT_OBJECT_0) && (rv != WAIT_ABANDONED)) { return AXIS2_FAILURE; /*can be either BUSY or an os specific error */ } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_trylock( axutil_thread_mutex_t * mutex) { if (mutex->type == thread_mutex_critical_section) { /* TODO :implement trylock for critical section */ } else { DWORD rv = WaitForSingleObject(mutex->handle, 0); if ((rv != WAIT_OBJECT_0) && (rv != WAIT_ABANDONED)) { /*can be either BUSY or an os specific error */ return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_unlock( axutil_thread_mutex_t * mutex) { if (mutex->type == thread_mutex_critical_section) { LeaveCriticalSection(&mutex->section); } else if (mutex->type == thread_mutex_unnested_event) { if (!SetEvent(mutex->handle)) { /*os specific error */ return AXIS2_FAILURE; } } else if (mutex->type == thread_mutex_nested_mutex) { if (!ReleaseMutex(mutex->handle)) { /*os specific error */ return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_destroy( axutil_thread_mutex_t * mutex) { return thread_mutex_cleanup((void *) mutex); } axis2c-src-1.6.0/util/src/platforms/windows/thread_windows.c0000644000175000017500000001277011166304671025302 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include DWORD tls_axutil_thread = 0; AXIS2_EXTERN axutil_threadattr_t *AXIS2_CALL axutil_threadattr_create( axutil_allocator_t * allocator) { axutil_threadattr_t *new = NULL; new = AXIS2_MALLOC(allocator, sizeof(axutil_threadattr_t)); if (!new) { /*AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE) */ return NULL; } new->detach = 0; new->stacksize = 0; return new; } /* Destroy the threadattr object */ AXIS2_EXTERN axis2_status_t AXIS2_CALL threadattr_cleanup( void *data) { /*axutil_threadattr_t *attr = data;*/ /*nothing to clean up */ return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_set( axutil_threadattr_t * attr, axis2_bool_t detached) { attr->detach = detached; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_get( axutil_threadattr_t * attr, const axutil_env_t * env) { if (1 == attr->detach) { return AXIS2_TRUE; } return AXIS2_FALSE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_stacksize_set( axutil_threadattr_t * attr, size_t stacksize) { attr->stacksize = stacksize; return AXIS2_SUCCESS; } static void * dummy_worker( void *opaque) { axutil_thread_t *thd = (axutil_thread_t *) opaque; TlsSetValue(tls_axutil_thread, thd->td); return thd->func(thd, thd->data); } AXIS2_EXTERN axutil_thread_t *AXIS2_CALL axutil_thread_create( axutil_allocator_t * allocator, axutil_threadattr_t * attr, axutil_thread_start_t func, void *data) { HANDLE handle; unsigned long temp; axutil_thread_t *new = NULL; new = (axutil_thread_t *) AXIS2_MALLOC(allocator, sizeof(axutil_thread_t)); if (!new) { return NULL; } new->data = data; new->func = func; new->td = NULL; new->try_exit = AXIS2_FALSE; /* Use 0 for Thread Stack Size, because that will default the stack to the * same size as the calling thread. */ if ((handle = CreateThread(NULL, attr && attr->stacksize > 0 ? attr->stacksize : 0, (unsigned long (AXIS2_THREAD_FUNC *) (void *)) dummy_worker, new, 0, &temp)) == 0) { return NULL; } if (attr && attr->detach) { CloseHandle(handle); } else new->td = handle; return new; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_exit( axutil_thread_t * thd, axutil_allocator_t * allocator) { axis2_status_t status = AXIS2_SUCCESS; if (thd) { AXIS2_FREE(allocator, thd); } if (status) { ExitThread(0); } return status; } AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL axis2_os_thread_current( void) { HANDLE hthread = (HANDLE) TlsGetValue(tls_axutil_thread); HANDLE hproc; if (hthread) { return hthread; } hproc = GetCurrentProcess(); hthread = GetCurrentThread(); if (!DuplicateHandle (hproc, hthread, hproc, &hthread, 0, FALSE, DUPLICATE_SAME_ACCESS)) { return NULL; } TlsSetValue(tls_axutil_thread, hthread); return hthread; } AXIS2_EXTERN int AXIS2_CALL axis2_os_thread_equal( axis2_os_thread_t tid1, axis2_os_thread_t tid2) { return (tid1 == tid2); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_join( axutil_thread_t * thd) { axis2_status_t rv = AXIS2_SUCCESS, rv1; if (!thd->td) { /* Can not join on detached threads */ return AXIS2_FAILURE; } rv1 = WaitForSingleObject(thd->td, INFINITE); if (rv1 == WAIT_OBJECT_0 || rv1 == WAIT_ABANDONED) { /*rv = AXIS2_INCOMPLETE; */ } else rv = AXIS2_FAILURE; CloseHandle(thd->td); thd->td = NULL; return rv; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_detach( axutil_thread_t * thd) { if (thd->td && CloseHandle(thd->td)) { thd->td = NULL; return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL axis2_os_thread_get( axutil_thread_t * thd, const axutil_env_t * env) { return thd->td; } AXIS2_EXTERN axutil_thread_once_t *AXIS2_CALL axutil_thread_once_init( axutil_allocator_t * allocator) { axutil_thread_once_t *control = NULL; control = AXIS2_MALLOC(allocator, sizeof(*control)); return control; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_once( axutil_thread_once_t * control, void (*func) (void)) { if (!InterlockedExchange(&control->value, 1)) { func(); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/util/src/platforms/windows/getopt_windows.c0000644000175000017500000000705411166304671025334 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #ifndef AXIS2_GET_OPT_DEFINE_MODE_NO_IMPORT /* Required by "axutil_getopt_windows.h" */ #define AXIS2_GET_OPT_DEFINE_MODE_NO_IMPORT #endif #include int optind = 1; int opterr = 1; int optopt; char *optarg; #define AXIS2_OPT_ERR_NO_ARG 1 #define AXIS2_OPT_ERR_INVALID_OPTION 2 #define AXIS2_OPT_ERR_BAD_ARG 3 int _axis2_opt_error( int __optopt, int __err, int __showerr) { switch (__err) { case AXIS2_OPT_ERR_NO_ARG: if (__showerr) fprintf(stderr, " option requires an argument -- %c\n", __optopt); break; case AXIS2_OPT_ERR_INVALID_OPTION: if (__showerr) fprintf(stderr, " illegal option -- %c\n", __optopt); break; case AXIS2_OPT_ERR_BAD_ARG: return (int) ':'; default: if (__showerr) fprintf(stderr, "unknown\n"); } return (int) '?'; } AXIS2_EXTERN int AXIS2_CALL axis2_getopt( int __argc, char *const *__argv, const char *__shortopts) { static char *pos = ""; char *olstindex = NULL; if (!*pos) { /* no option or invalid option */ if (optind >= __argc || *(pos = __argv[optind]) != '-') { pos = ""; return -1; } /*-- option*/ if (pos[1] && *++pos == '-') { ++optind; pos = ""; return -1; } } if ((optopt = (int) *pos++) == (int) ':') { if (optopt == (int) '-') return -1; if (!*pos) ++optind; if (*__shortopts != ':') return _axis2_opt_error(optopt, AXIS2_OPT_ERR_BAD_ARG, opterr); _axis2_opt_error(optopt, AXIS2_OPT_ERR_INVALID_OPTION, opterr); } else { olstindex = strchr(__shortopts, optopt); if (!olstindex) { if (optopt == (int) '-') return -1; if (!*pos) ++optind; if (*__shortopts != ':') return _axis2_opt_error(optopt, AXIS2_OPT_ERR_BAD_ARG, opterr); _axis2_opt_error(optopt, AXIS2_OPT_ERR_INVALID_OPTION, opterr); } } if (!olstindex || *++olstindex != ':') { optarg = NULL; if (!*pos) ++optind; } else { if (*pos) optarg = pos; else if (__argc <= ++optind) { pos = ""; if (*__shortopts == ':') return _axis2_opt_error(-1, AXIS2_OPT_ERR_BAD_ARG, opterr); return _axis2_opt_error(optopt, AXIS2_OPT_ERR_NO_ARG, opterr); } else optarg = __argv[optind]; pos = ""; ++optind; } return optopt; } axis2c-src-1.6.0/util/src/platforms/windows/date_time_util_windows.c0000644000175000017500000000217311166304671027017 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN int AXIS2_CALL axis2_platform_get_milliseconds( ) { struct _timeb timebuffer; char *timeline; int milliseconds = 0; _ftime(&timebuffer); timeline = ctime(&(timebuffer.time)); milliseconds = timebuffer.millitm; return milliseconds; } axis2c-src-1.6.0/util/src/platforms/windows/axutil_windows.c0000644000175000017500000000531511166304671025336 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include /* std::string* getPlatformErrorMessage(long errorNumber) { std::string* returningString = new std::string(); LPVOID lpMsgBuf; FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, errorNumber, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &lpMsgBuf, 0, NULL ); returningString->append((LPTSTR)lpMsgBuf); LocalFree(lpMsgBuf); return returningString; } */ AXIS2_EXTERN HMODULE AXIS2_CALL callLoadLib(char *lib) { /* Disable display of the critical-error-handler message box */ SetErrorMode(SEM_FAILCRITICALERRORS); return LoadLibraryEx(lib, NULL, LOAD_WITH_ALTERED_SEARCH_PATH); } AXIS2_EXTERN struct tm *AXIS2_CALL axis2_win_gmtime( const time_t * timep, struct tm *result) { return gmtime(timep); } AXIS2_EXTERN void AXIS2_CALL axutil_win32_get_last_error(axis2_char_t *buf, unsigned int buf_size) { LPVOID lpMsgBuf; int rc = GetLastError(); sprintf( buf, "DLL Load Error %d: ", rc ); FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, rc, 0, (LPTSTR) &lpMsgBuf, 0, NULL ); if (lpMsgBuf) { strncat( buf, (char*)lpMsgBuf, buf_size - strlen( buf ) - 1 ); } LocalFree( lpMsgBuf ); } AXIS2_EXTERN void AXIS2_CALL axutil_win32_get_last_wsa_error(axis2_char_t *buf, unsigned int buf_size) { LPVOID lpMsgBuf; int rc = WSAGetLastError(); sprintf( buf, "Winsock error %d: ", rc ); FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM, NULL, rc, 0, (LPTSTR) &lpMsgBuf, 0, NULL ); if (lpMsgBuf) { strncat( buf, (char*)lpMsgBuf, buf_size - strlen( buf ) - 1 ); } LocalFree( lpMsgBuf ); } axis2c-src-1.6.0/util/src/file_handler.c0000644000175000017500000000523011166304700021156 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN void *AXIS2_CALL axutil_file_handler_open( const axis2_char_t *file_name, const axis2_char_t *options) { FILE *file_ptr; if (!file_name) return NULL; if (!options) return NULL; file_ptr = fopen(file_name, options); return file_ptr; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_handler_close( void *file_ptr) { if (!file_ptr) return -1; return (axis2_status_t) fclose(file_ptr); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_handler_access( const axis2_char_t *path, int mode) { int i = 0; axis2_status_t status = AXIS2_FAILURE; i = AXIS2_ACCESS(path, mode); if (0 == i) { status = AXIS2_SUCCESS; } else if (-1 == i) { status = AXIS2_FAILURE; } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_handler_copy( FILE *from, FILE *to) { axis2_char_t ch; /* It is assumed that source and destination files are accessible and open*/ while(!feof(from)) { ch = (axis2_char_t)fgetc(from); /* We are sure that the conversion is safe */ if(ferror(from)) { /* Error reading source file */ return AXIS2_FAILURE; } if(!feof(from)) fputc(ch, to); if(ferror(to)) { /* Error writing destination file */ return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN long AXIS2_CALL axutil_file_handler_size( const axis2_char_t *const name) { struct stat stbuf; if(stat(name, &stbuf) == -1) { /* The file could not be accessed */ return AXIS2_FAILURE; } return stbuf.st_size; } axis2c-src-1.6.0/util/src/class_loader.c0000644000175000017500000001371411166304700021203 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include axis2_status_t axutil_class_loader_load_lib( const axutil_env_t *env, axutil_dll_desc_t *dll_desc); axis2_status_t axutil_class_loader_unload_lib( const axutil_env_t *env, axutil_dll_desc_t *dll_desc); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_class_loader_init( const axutil_env_t *env) { AXIS2_PLATFORM_LOADLIBINIT(); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_class_loader_delete_dll( const axutil_env_t *env, axutil_dll_desc_t *dll_desc) { if (!dll_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_CREATE_FAILED, AXIS2_FAILURE); return AXIS2_FAILURE; } axutil_class_loader_unload_lib(env, dll_desc); AXIS2_PLATFORM_LOADLIBEXIT(); return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axutil_class_loader_create_dll( const axutil_env_t *env, axutil_param_t *impl_info_param) { void *obj = NULL; CREATE_FUNCT create_funct = NULL; DELETE_FUNCT delete_funct = NULL; AXIS2_DLHANDLER dl_handler = NULL; axutil_dll_desc_t *dll_desc = NULL; axis2_status_t status = AXIS2_FAILURE; axutil_error_codes_t error_code = AXIS2_ERROR_NONE; dll_desc = axutil_param_get_value(impl_info_param, env); if (!dll_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_CREATE_FAILED, AXIS2_FAILURE); return NULL; } dl_handler = axutil_dll_desc_get_dl_handler(dll_desc, env); if (!dl_handler) { status = axutil_class_loader_load_lib(env, dll_desc); if (AXIS2_SUCCESS != status) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_CREATE_FAILED, AXIS2_FAILURE); return NULL; } dl_handler = axutil_dll_desc_get_dl_handler(dll_desc, env); if (!dl_handler) { return NULL; } create_funct = (CREATE_FUNCT) AXIS2_PLATFORM_GETPROCADDR(dl_handler, AXIS2_CREATE_FUNCTION); if (!create_funct) { return NULL; } status = axutil_dll_desc_set_create_funct(dll_desc, env, create_funct); if (AXIS2_FAILURE == status) { axutil_class_loader_unload_lib(env, dll_desc); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_CREATE_FAILED, AXIS2_FAILURE); return NULL; } delete_funct = (DELETE_FUNCT) AXIS2_PLATFORM_GETPROCADDR(dl_handler, AXIS2_DELETE_FUNCTION); if (!delete_funct) { return NULL; } status = axutil_dll_desc_set_delete_funct(dll_desc, env, delete_funct); if (AXIS2_FAILURE == status) { axutil_class_loader_unload_lib(env, dll_desc); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_CREATE_FAILED, AXIS2_FAILURE); return NULL; } } create_funct = axutil_dll_desc_get_create_funct(dll_desc, env); if (!create_funct) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_DLL_DESC, AXIS2_FAILURE); return NULL; } error_code = axutil_dll_desc_get_error_code(dll_desc, env); create_funct(&obj, env); if (!obj) { axutil_class_loader_unload_lib(env, dll_desc); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Object create function returned NULL"); AXIS2_ERROR_SET(env->error, error_code, AXIS2_FAILURE); return NULL; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "%s shared lib loaded successfully", axutil_dll_desc_get_name(dll_desc, env)); } return obj; } axis2_status_t axutil_class_loader_load_lib( const axutil_env_t * env, axutil_dll_desc_t * dll_desc) { axis2_char_t *dll_name = NULL; AXIS2_DLHANDLER dl_handler = NULL; axis2_status_t status = AXIS2_FAILURE; dll_name = axutil_dll_desc_get_name(dll_desc, env); dl_handler = AXIS2_PLATFORM_LOADLIB(dll_name); if (!dl_handler) { #ifndef WIN32 AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading shared library %s Failed. DLERROR IS %s", dll_name, AXIS2_PLATFORM_LOADLIB_ERROR); #else axis2_char_t buff[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_error(buff, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Loading shared library %s Failed. DLERROR IS %s", dll_name, buff); #endif AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_LOADING_FAILED, AXIS2_FAILURE); return AXIS2_FAILURE; } status = axutil_dll_desc_set_dl_handler(dll_desc, env, dl_handler); if (AXIS2_SUCCESS != status) { AXIS2_PLATFORM_UNLOADLIB(dl_handler); dl_handler = NULL; AXIS2_ERROR_SET(env->error, AXIS2_ERROR_DLL_LOADING_FAILED, AXIS2_FAILURE); return status; } return AXIS2_SUCCESS; } axis2_status_t axutil_class_loader_unload_lib( const axutil_env_t * env, axutil_dll_desc_t * dll_desc) { AXIS2_DLHANDLER dl_handler = axutil_dll_desc_get_dl_handler(dll_desc, env); if (dl_handler) { AXIS2_PLATFORM_UNLOADLIB(dl_handler); } return AXIS2_SUCCESS; } axis2c-src-1.6.0/util/src/error.c0000644000175000017500000007600511166304700017703 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axutil_error_default.h" #define AXIS2_ERROR_MESSAGE_ARRAY_SIZE AXUTIL_ERROR_MAX /** * Array to hold error messages corresponding to the pre-defined error codes. * Note that array has capacity for additional error messages. These are * reserved for modules. * * TODO: We have to review and change the following definition and also * need to come up with a reserve strategy for module error code blocks. * * In writing a module following steps must be followed in extending Axis2/C * errors * 1. Declare and register the start of error messages for the new * module. * 2. New module can use up to 1000 messages for its errors. * 3. In axis2c documentation an entry about new modules error range must * be inserted so that another new module can know about the already * occupied spaces. */ AXIS2_EXPORT const axis2_char_t* axutil_error_messages[AXIS2_ERROR_MESSAGE_ARRAY_SIZE]; AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_init() { int i = 0; for (i = 0; i < AXIS2_ERROR_MESSAGE_ARRAY_SIZE ; i++) { axutil_error_messages[i] = "Unknown Error :("; } /* Common Errors */ axutil_error_messages[AXIS2_ERROR_NONE] = "No Error"; axutil_error_messages[AXIS2_ERROR_NO_MEMORY] = "Out of memory"; axutil_error_messages[AXIS2_ERROR_INVALID_NULL_PARAM] = "NULL parameter was passed when a non NULL parameter was expected"; /* core:addr */ /* core:clientapi */ axutil_error_messages[AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE] = "Blocking invocation expects response"; axutil_error_messages[AXIS2_ERROR_CANNOT_INFER_TRANSPORT] = "Cannot infer transport from URL"; axutil_error_messages[AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX] = "Client side support only one configuration context"; axutil_error_messages[AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT] = "MEP cannot be NULL in MEP client"; axutil_error_messages[AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT] = "MEP mismatch"; axutil_error_messages[AXIS2_ERROR_TWO_WAY_CHANNEL_NEEDS_ADDRESSING] = "Two way channel needs addressing module to be engaged"; axutil_error_messages[AXIS2_ERROR_UNKNOWN_TRANSPORT] = "Unknown transport"; axutil_error_messages[AXIS2_ERROR_UNSUPPORTED_TYPE] = "Type is not supported"; axutil_error_messages[AXIS2_ERROR_OPTIONS_OBJECT_IS_NOT_SET] = "Options object is not set"; /* core:clientapi:diclient */ /* core:context */ axutil_error_messages[AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE] = "Invalid SOAP envelope state"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_MSG_CTX] = "Invalid message context state"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_SVC] = "Service accessed has invalid state"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_SVC_GRP] = "Service group accessed has invalid state"; axutil_error_messages[AXIS2_ERROR_SERVICE_NOT_YET_FOUND] = "Service not yet found"; /* core:deployment */ axutil_error_messages[AXI2_ERROR_INVALID_PHASE] = "Invalid phase found in phase validation*"; axutil_error_messages[AXIS2_ERROR_CONFIG_NOT_FOUND] = "Configuration file cannot be found"; axutil_error_messages[AXIS2_ERROR_DATA_ELEMENT_IS_NULL] = "Data element of the OM Node is NULL"; axutil_error_messages[AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT] = "In transport sender, Inflow is not allowed"; axutil_error_messages[AXIS2_ERROR_INVALID_HANDLER_STATE] = "Invalid handler state"; axutil_error_messages[AXIS2_ERROR_INVALID_MODUELE_REF] = "Invalid module reference encountered"; axutil_error_messages[AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP] = "Invalid module referenced by operation"; axutil_error_messages[AXIS2_ERROR_INVALID_MODULE_CONF] = "Invalid module configuration"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_DESC_BUILDER] = "Description builder is found to be in invalid state"; axutil_error_messages[AXIS2_ERROR_MODULE_NOT_FOUND] = "Module not found"; axutil_error_messages[AXIS2_ERROR_MODULE_VALIDATION_FAILED] = "Module validation failed"; axutil_error_messages[AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE] = "Module XML file is not found in the given path"; axutil_error_messages[AXIS2_ERROR_NO_DISPATCHER_FOUND] = "No dispatcher found"; axutil_error_messages[AXIS2_ERROR_OP_NAME_MISSING] = "Operation name is missing"; axutil_error_messages[AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN] = "In transport receiver, outflow is not allowed"; axutil_error_messages[AXIS2_ERROR_REPO_CAN_NOT_BE_NULL] = "Repository name cannot be NULL"; axutil_error_messages[AXIS2_ERROR_REPOSITORY_NOT_EXIST] = "Repository in path does not exist"; axutil_error_messages[AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED] = "Repository listener initialization failed"; axutil_error_messages[AXIS2_ERROR_SERVICE_XML_NOT_FOUND] = "Service XML file is not found in the given path"; axutil_error_messages[AXIS2_ERROR_SVC_NAME_ERROR] = "Service name error"; axutil_error_messages[AXIS2_ERROR_TRANSPORT_SENDER_ERROR] = "Transport sender error"; axutil_error_messages[AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL] = "Path to configuration file can not be NULL"; axutil_error_messages[AXIS2_ERROR_INVALID_SVC] = "Invalid service"; /* core:description */ axutil_error_messages[AXIS2_ERROR_CANNOT_CORRELATE_MSG] = "Cannot correlate message"; axutil_error_messages[AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT] = "Could not map the MEP URI to an Axis2/C MEP constant value"; axutil_error_messages[AXIS2_ERROR_INVALID_MESSAGE_ADDITION] = "Invalid message addition operation context completed"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_MODULE_DESC] = "Module description accessed has invalid state"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER] = "Parameter container not set"; axutil_error_messages[AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP] = "Module has already been engaged to the operation"; axutil_error_messages[AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC] = "Module has already been engaged on the service."; axutil_error_messages[AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP] = "Module has already been engaged on the service."; axutil_error_messages[AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE] = "Parameter locked, cannot override"; axutil_error_messages[AXIS2_ERROR_EMPTY_SCHEMA_LIST] = "Schema list is empty or NULL in service"; /* core:engine */ axutil_error_messages[AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME] = "Both before and after handlers cannot be the same"; axutil_error_messages[AXIS2_ERROR_INVALID_HANDLER_RULES] = "Invalid handler rules"; axutil_error_messages[AXIS2_ERROR_INVALID_MODULE] = "Invalid module"; axutil_error_messages[AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER] = "Invalid first handler for phase"; axutil_error_messages[AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER] = "Invalid last handler for phase"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_CONF] = "Invalid engine configuration state"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY] = "Message context processing a fault already"; axutil_error_messages[AXIS2_ERROR_NOWHERE_TO_SEND_FAULT] = "fault to field not specified in message context"; axutil_error_messages[AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID] = "Only one handler allowed for phase, adding another handler is not allowed"; axutil_error_messages[AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET] = "First handler of phase already set"; axutil_error_messages[AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET] = "Last handler of phase already set"; axutil_error_messages[AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME] = "Two service can not have same name, a service with same name already"; /* core:phaseresolver */ axutil_error_messages[AXIS2_ERROR_INVALID_MODULE_REF] = "Invalid module reference"; axutil_error_messages[AXIS2_ERROR_INVALID_PHASE] = "Invalid Phase"; axutil_error_messages[AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED] = "There are no in transport chains configured"; axutil_error_messages[AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED] = "There are no out transport chains configured"; axutil_error_messages[AXIS2_ERROR_PHASE_IS_NOT_SPECIFED] = "Phase is not specified"; axutil_error_messages[AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE] = "Service module can not refer global phase"; /* core:wsdl */ axutil_error_messages[AXIS2_ERROR_WSDL_SCHEMA_IS_NULL] = "Schema is NULL"; /* core:receivers */ axutil_error_messages[AXIS2_ERROR_OM_ELEMENT_INVALID_STATE] = "AXIOM element has invalid state"; axutil_error_messages[AXIS2_ERROR_OM_ELEMENT_MISMATCH] = "AXIOM elements do not match"; axutil_error_messages[AXIS2_ERROR_RPC_NEED_MATCHING_CHILD] = "RPC style SOAP body don't have a child element"; axutil_error_messages[AXIS2_ERROR_UNKNOWN_STYLE] = "Operation description has unknown operation style"; axutil_error_messages[AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME] = "String does not represent a valid NCName"; /* core:transport */ /* core:transport:http */ axutil_error_messages[AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR] = "Error occurred in transport"; axutil_error_messages[AXIS2_ERROR_HTTP_REQUEST_NOT_SENT] = "A read attempt(HTTP) for the reply without sending the request"; axutil_error_messages[AXIS2_ERROR_INVALID_HEADER] = "Invalid string passed as a HTTP header"; axutil_error_messages[AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE] = "Invalid status line or invalid request line"; axutil_error_messages[AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL] = "Transport protocol is unsupported by axis2"; axutil_error_messages[AXIS2_ERROR_NULL_BODY] = "No body present in the request or the response"; axutil_error_messages[AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT] = "A valid configuration context is required for the HTTP worker"; axutil_error_messages[AXIS2_ERROR_NULL_HTTP_VERSION] = "HTTP version cannot be NULL in the status/request line"; axutil_error_messages[AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX] = "Input stream is NULL in message context"; axutil_error_messages[AXIS2_ERROR_NULL_OM_OUTPUT] = "OM output is NULL"; axutil_error_messages[AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX] = "NULL SOAP envelope in message context"; axutil_error_messages[AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM] = "NULL stream in the HTTP chucked stream"; axutil_error_messages[AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY] = "NULL stream in the response body"; axutil_error_messages[AXIS2_ERROR_NULL_URL] = "URL NULL in HTTP client"; axutil_error_messages[AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL] = "Transport information must be set in message context"; axutil_error_messages[AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING] = "Content-Type header missing in HTTP response"; axutil_error_messages[AXIS2_ERROR_RESPONSE_TIMED_OUT] = "Response timed out"; axutil_error_messages[AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL] = "SOAP envelope or SOAP body NULL"; axutil_error_messages[AXIS2_ERROR_SSL_ENGINE] = "Error occurred in SSL engine"; axutil_error_messages[AXIS2_ERROR_SSL_NO_CA_FILE] = "Cannot find certificates"; axutil_error_messages[AXIS2_ERROR_WRITING_RESPONSE] = "Error in writing the response in response writer"; axutil_error_messages[AXIS2_ERROR_REQD_PARAM_MISSING] = "Required parameter is missing in URL encoded request"; axutil_error_messages[AXIS2_ERROR_UNSUPPORTED_SCHEMA_TYPE] = " Unsupported schema type in REST"; axutil_error_messages[AXIS2_ERROR_SVC_OR_OP_NOT_FOUND] = "Service or operation not found"; /* mod_addr */ axutil_error_messages[AXIS2_ERROR_NO_MSG_INFO_HEADERS] = "No messgae info headers"; /* platforms */ /* utils */ axutil_error_messages[AXIS2_ERROR_COULD_NOT_OPEN_FILE] = "Could not open the file"; axutil_error_messages[AXIS2_ERROR_DLL_CREATE_FAILED] = "Failed in creating DLL"; axutil_error_messages[AXIS2_ERROR_DLL_LOADING_FAILED] = "DLL loading failed"; axutil_error_messages[AXIS2_ERROR_ENVIRONMENT_IS_NULL] = "Environment passed is NULL"; axutil_error_messages[AXIS2_ERROR_FILE_NAME_NOT_SET] = "Axis2 File does not have a file name"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_DLL_DESC] = "DLL description has invalid state of not having valid DLL create function, \ of valid delete function or valid dll_handler"; axutil_error_messages[AXIS2_ERROR_HANDLER_CREATION_FAILED] = "Failed in creating Handler"; axutil_error_messages[AXIS2_ERROR_INDEX_OUT_OF_BOUNDS] = "Array list index out of bounds"; axutil_error_messages[AXIS2_ERROR_INVALID_ADDRESS] = "Invalid IP or hostname"; axutil_error_messages[AXIS2_ERROR_INVALID_FD] = "Trying to do operation on invalid file descriptor"; axutil_error_messages[AXIS2_ERROR_INVALID_SOCKET] = "Trying to do operation on closed/not opened socket"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_PARAM] = "Parameter not set"; axutil_error_messages[AXIS2_ERROR_MODULE_CREATION_FAILED] = "Module create failed"; axutil_error_messages[AXIS2_ERROR_MSG_RECV_CREATION_FAILED] = "Failed in creating Message Receiver"; axutil_error_messages[AXIS2_ERROR_NO_SUCH_ELEMENT] = "No such element"; axutil_error_messages[AXIS2_ERROR_SOCKET_BIND_FAILED] = "Socket bind failed. Another process may be already using this port"; axutil_error_messages[AXIS2_ERROR_SOCKET_ERROR] = "Error creating a socket. Most probably error returned by OS"; axutil_error_messages[AXIS2_ERROR_SOCKET_LISTEN_FAILED] = "Listen failed for the server socket"; axutil_error_messages[AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED] = "Failed in creating Service Skeleton"; axutil_error_messages[AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED] = "Failed in creating Transport Receiver"; axutil_error_messages[AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED] = "Failed in creating Transport Sender"; axutil_error_messages[AXIS2_ERROR_UUID_GEN_FAILED] = "Generation of platform dependent UUID failed"; axutil_error_messages[AXIS2_ERROR_POSSIBLE_DEADLOCK] = "Possible deadlock"; /* WSDL */ axutil_error_messages [AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING] = "Interface or Port Type not found for the binding"; axutil_error_messages [AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM] = "Interfaces or Ports not found for the partially built WOM"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_WSDL_OP] = "WSDL operation accessed has invalid state"; axutil_error_messages[AXIS2_ERROR_INVALID_STATE_WSDL_SVC] = "WSDL Service accessed has invalid state"; axutil_error_messages[AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP] = "Cannot determine MEP"; axutil_error_messages[AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED] = "WSDL binding name is cannot be NULL"; axutil_error_messages[AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED] = "PortType/Interface name cannot be NULL"; axutil_error_messages[AXIS2_ERROR_WSDL_PARSER_INVALID_STATE] = "WSDL parsing has resulted in an invalid state"; axutil_error_messages[AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED] = "WSDL service name cannot be NULL"; /* XML */ /* XML:attachments */ axutil_error_messages[AXIS2_ERROR_ATTACHMENT_MISSING] = "Attachment is missing"; /* XML:om */ axutil_error_messages[AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL] = "XML builder done with pulling. Pull parser cannot pull any more"; axutil_error_messages[AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD] = "Discard failed because the builder state is invalid"; axutil_error_messages[AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL] = "Invalid builder state; Builder's last node is NULL"; axutil_error_messages[AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL] = "Invalid document state; Document root is NULL"; axutil_error_messages [AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE] = "Undefined namespace used"; axutil_error_messages[AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI] = "Namespace should have a valid URI"; axutil_error_messages [AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED] = "Next method has not been called so cannot remove" "an element before calling next valid for any om iterator"; axutil_error_messages[AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED] = "Document root is NULL, when it is not supposed to be NULL"; axutil_error_messages[AXIS2_ERROR_XML_READER_ELEMENT_NULL] = "AXIOM XML reader returned NULL element"; axutil_error_messages[AXIS2_ERROR_XML_READER_VALUE_NULL] = "AXIOM XML reader returned NULL value"; /* XML:parser */ axutil_error_messages[AXIS2_ERROR_CREATING_XML_STREAM_READER] = "Error occurred creating XML stream reader"; axutil_error_messages[AXIS2_ERROR_CREATING_XML_STREAM_WRITER] = "Error occurred creating XML stream writer"; axutil_error_messages[AXIS2_ERROR_WRITING_ATTRIBUTE] = "Error in writing attribute"; axutil_error_messages[AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE] = "Error in writing attribute with namespace"; axutil_error_messages[AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX] = "Error in writing attribute with namespace prefix"; axutil_error_messages[AXIS2_ERROR_WRITING_COMMENT] = "Error in writing comment"; axutil_error_messages[AXIS2_ERROR_WRITING_DATA_SOURCE] = "Error in writing data source"; axutil_error_messages[AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE] = "Error in writing default namespace"; axutil_error_messages[AXIS2_ERROR_WRITING_DTD] = "Error in writing DDT"; axutil_error_messages[AXIS2_ERROR_WRITING_EMPTY_ELEMENT] = "Error occurred in writing empty element"; axutil_error_messages[AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE] = "Error occurred in writing empty element with namespace"; axutil_error_messages [AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX] = "Error in writing empty element with namespace prefix"; axutil_error_messages[AXIS2_ERROR_WRITING_END_DOCUMENT] = "Error occurred in writing end document in XML writer"; axutil_error_messages[AXIS2_ERROR_WRITING_END_ELEMENT] = "Error occurred in writing end element in XML writer"; axutil_error_messages[AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION] = "Error in writing processing instruction"; axutil_error_messages[AXIS2_ERROR_WRITING_START_DOCUMENT] = "Error occurred in writing start element in start document in XML writer"; axutil_error_messages[AXIS2_ERROR_WRITING_START_ELEMENT] = "Error occurred in writing start element in XML writer"; axutil_error_messages[AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE] = "Error occurred in writing start element with namespace in XML writer"; axutil_error_messages [AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX] = "Error occurred in writing start element with namespace prefix"; axutil_error_messages[AXIS2_ERROR_WRITING_CDATA] = "Error in writing CDATA section"; axutil_error_messages[AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE] = "AXIS2_XML_PARSER_TYPE_BUFFER or AXIS2_XML_PARSER_TYPE_DOC is expected"; /* invalid type passed */ axutil_error_messages[AXIS2_ERROR_INVALID_BASE_TYPE] = "Invalid base type passed"; axutil_error_messages[AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI] = "Invalid SOAP namespace URI found"; axutil_error_messages[AXIS2_ERROR_INVALID_SOAP_VERSION] = "Invalid SOAP version"; axutil_error_messages[AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND] = "Invalid value found in must understand"; axutil_error_messages[AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED] = "Multiple fault code elements encountered in SOAP fault"; axutil_error_messages[AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED] = "Multiple fault detail elements encountered in SOAP fault"; axutil_error_messages[AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED] = "Multiple fault node elements encountered in SOAP fault"; axutil_error_messages[AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED] = "Multiple fault reason elements encountered in SOAP fault"; axutil_error_messages[AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED] = "Multiple fault role elements encountered in SOAP fault "; axutil_error_messages[AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED] = "Multiple fault sub-code value elements encountered"; axutil_error_messages [AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT] = "Multiple fault value elements encountered"; axutil_error_messages[AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE] = "Must understand attribute should have a value of either true or false"; axutil_error_messages[AXIS2_ERROR_OM_ELEMENT_EXPECTED] = "AXIOM element is expected"; axutil_error_messages[AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE] = "Processing SOAP 1.1 fault value element should have only" "text as its children"; axutil_error_messages[AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY] = "Only one SOAP fault is allowed in SOAP body"; axutil_error_messages [AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS] = "SOAP 1.1 fault actor should not have any child elements"; axutil_error_messages [AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY] = "SOAP builder found a child element other than header or body in envelope" "element"; axutil_error_messages[AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER] = "SOAP builder encountered body element first and header next"; axutil_error_messages [AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED] = "SOAP builder multiple body elements encountered"; axutil_error_messages[AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED] = "SOAP builder encountered multiple headers"; axutil_error_messages[AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE] = "SOAP fault code does not have a value"; axutil_error_messages [AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT] = "SOAP fault reason element should have a text value"; axutil_error_messages [AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT] = "SOAP fault role element should have a text value"; axutil_error_messages [AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE] = "SOAP fault value should be present before sub-code element in SOAP fault code"; axutil_error_messages[AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE] = "SOAP message does not contain a SOAP envelope element"; axutil_error_messages [AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME] = "SOAP message's first element should have a localname"; axutil_error_messages [AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT] = "Localname not supported inside a reason element"; axutil_error_messages [AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT] = "Localname not supported inside the sub-code element"; axutil_error_messages [AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT] = "Localname not supported inside the code element"; axutil_error_messages [AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP] = "Transport identified SOAP version does not match with SOAP message version"; axutil_error_messages[AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT] = "Unsupported element found in SOAP fault element"; axutil_error_messages[AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED] = "Wrong element order encountered "; /* services */ axutil_error_messages[AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST] = "Invalid XML format in request"; axutil_error_messages[AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL] = "Input OM node NULL, Probably error in SOAP request"; axutil_error_messages [AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST] = "Invalid parameters for service operation in SOAP request"; axutil_error_messages[AXIS2_ERROR_WSDL_SCHEMA_IS_NULL] = "Schema is NULL"; /* repos */ axutil_error_messages[AXIS2_ERROR_REPOS_NOT_AUTHENTICATED] = "Not authenticated"; axutil_error_messages[AXIS2_ERROR_REPOS_UNSUPPORTED_MODE] = "Unsupported mode"; axutil_error_messages[AXIS2_ERROR_REPOS_EXPIRED] = "Expired"; axutil_error_messages[AXIS2_ERROR_REPOS_NOT_IMPLEMENTED] = "Not implemented"; axutil_error_messages[AXIS2_ERROR_REPOS_NOT_FOUND] = "Not found"; axutil_error_messages[AXIS2_ERROR_REPOS_BAD_SEARCH_TEXT] = "Bad search text"; /* neethi */ axutil_error_messages[AXIS2_ERROR_NEETHI_ELEMENT_WITH_NO_NAMESPACE] = "Element with no namespace"; axutil_error_messages [AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED_FROM_ELEMENT] = "Policy creation failed from element"; axutil_error_messages[AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED_FROM_ELEMENT] = "All creation failed from element"; axutil_error_messages [AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED_FROM_ELEMENT] = "Exactly one creation failed from element"; axutil_error_messages [AXIS2_ERROR_NEETHI_REFERENCE_CREATION_FAILED_FROM_ELEMENT] = "Reference creation failed from element"; axutil_error_messages [AXIS2_ERROR_NEETHI_ASSERTION_CREATION_FAILED_FROM_ELEMENT] = "Assertion creation failed from element"; axutil_error_messages[AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED] = "All creation failed"; axutil_error_messages[AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED] = "Exactly one creation failed"; axutil_error_messages[AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED] = "Policy creation failed"; axutil_error_messages[AXIS2_ERROR_NEETHI_NORMALIZATION_FAILED] = "Normalization failed"; axutil_error_messages[AXIS2_ERROR_NEETHI_WRONG_INPUT_FOR_MERGE] = "Wrong input for merge"; axutil_error_messages[AXIS2_ERROR_NEETHI_CROSS_PRODUCT_FAILED] = "Cross product failed"; axutil_error_messages[AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS] = "No children policy components"; axutil_error_messages[AXIS2_ERROR_NEETHI_URI_NOT_SPECIFIED] = "Reference URI not specified"; axutil_error_messages[AXIS2_ERROR_NEETHI_NO_ENTRY_FOR_THE_GIVEN_URI] = "No entry for the given URI"; axutil_error_messages [AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY] = "Exactly one not found in normalized policy"; axutil_error_messages[AXIS2_ERROR_NEETHI_EXACTLYONE_IS_EMPTY] = "Exactly one is empty"; axutil_error_messages [AXIS2_ERROR_NEETHI_ALL_NOT_FOUND_WHILE_GETTING_CROSS_PRODUCT] = "All not found while getting cross product"; axutil_error_messages[AXIS2_ERROR_NEETHI_UNKNOWN_ASSERTION] = "Unknown Assertion"; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_error_t *AXIS2_CALL axutil_error_create( axutil_allocator_t * allocator) { axutil_error_t *error; if (!allocator) return NULL; error = (axutil_error_t *) AXIS2_MALLOC(allocator, sizeof(axutil_error_t)); memset(error, 0, sizeof(axutil_error_t)); if (!error) return NULL; error->allocator = allocator; return error; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axutil_error_get_message( const axutil_error_t * error) { const axis2_char_t *message = NULL; if (error) { if (error->error_number > AXIS2_ERROR_NONE && error->error_number < AXUTIL_ERROR_MAX) /* TODO; This needs to be fixed to include module defined and user defined errors */ message = axutil_error_messages[error->error_number]; else { if (error->message) { message = error->message; } else if (error->error_number == AXIS2_ERROR_NONE) { message = axutil_error_messages[AXIS2_ERROR_NONE]; } else { message = "Undefined error returned by business logic implementation"; } } } return message; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_set_error_number( axutil_error_t * error, axutil_error_codes_t error_number) { if (!error) return AXIS2_FAILURE; error->error_number = error_number; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_set_status_code( axutil_error_t * error, axis2_status_codes_t status_code) { if (!error) return AXIS2_FAILURE; error->status_code = status_code; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_get_status_code( axutil_error_t * error) { if (error) return error->status_code; else return AXIS2_CRITICAL_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_set_error_message( axutil_error_t * error, axis2_char_t * message) { if (message && error) { error->message = message; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN void AXIS2_CALL axutil_error_free( axutil_error_t * error) { if (error) { AXIS2_FREE(error->allocator, error); } return; } axis2c-src-1.6.0/util/src/minizip/0000777000175000017500000000000011172017531020061 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/src/minizip/axis2_crypt.h0000644000175000017500000000605411166304676022516 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* crypt.h -- base code for crypt/uncrypt ZIPfile Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant This code is a modified version of crypting code in Infozip distribution The encryption/decryption parts of this source code (as opposed to the non-echoing password parts) were originally written in Europe. The whole source package can be freely distributed, including from the USA. (Prior to January 2000, re-export from the US was a violation of US law.) This encryption code is a direct transcription of the algorithm from Roger Schlafly, described by Phil Katz in the file appnote.txt. This file (appnote.txt) is distributed with the PKZIP program (even in the version without encryption capabilities). If you don't need crypting in your application, just define symbols NOCRYPT and NOUNCRYPT. This code support the "Traditional PKWARE Encryption". The new AES encryption added on Zip format by Winzip (see the page http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong Encryption is not supported. */ #define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) /*********************************************************************** * Return the next byte in the pseudo-random sequence */ int decrypt_byte( unsigned long *pkeys, const unsigned long *pcrc_32_tab); /*********************************************************************** * Update the encryption keys with the next byte of plain text */ int update_keys( unsigned long *pkeys, const unsigned long *pcrc_32_tab, int c); /*********************************************************************** * Initialize the encryption keys and the random header according to * the given password. */ void init_keys( const char *passwd, unsigned long *pkeys, const unsigned long *pcrc_32_tab); #define zdecode(pkeys,pcrc_32_tab,c) \ (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab))) #define zencode(pkeys,pcrc_32_tab,c,t) \ (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c)) #ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED #define RAND_HEAD_LEN 12 /* "last resort" source for second part of crypt seed pattern */ # ifndef ZCR_SEED2 # define ZCR_SEED2 3141592654UL /* use PI as default pattern */ # endif int crypthead( passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting); #endif axis2c-src-1.6.0/util/src/minizip/crypt.c0000644000175000017500000001305611166304676021403 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* crypt.h -- base code for crypt/uncrypt ZIPfile Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant This code is a modified version of crypting code in Infozip distribution The encryption/decryption parts of this source code (as opposed to the non-echoing password parts) were originally written in Europe. The whole source package can be freely distributed, including from the USA. (Prior to January 2000, re-export from the US was a violation of US law.) This encryption code is a direct transcription of the algorithm from Roger Schlafly, described by Phil Katz in the file appnote.txt. This file (appnote.txt) is distributed with the PKZIP program (even in the version without encryption capabilities). If you don't need crypting in your application, just define symbols NOCRYPT and NOUNCRYPT. This code support the "Traditional PKWARE Encryption". The new AES encryption added on Zip format by Winzip (see the page http://www.winzip.com/aes_info.htm ) and PKWare PKZip 5.x Strong Encryption is not supported. */ #include #define CRC32(c, b) ((*(pcrc_32_tab+(((int)(c) ^ (b)) & 0xff))) ^ ((c) >> 8)) /*********************************************************************** * Return the next byte in the pseudo-random sequence */ int decrypt_byte( unsigned long *pkeys, const unsigned long *pcrc_32_tab) { unsigned temp; /* POTENTIAL BUG: temp*(temp^1) may overflow in an * unpredictable manner on 16-bit systems; not a problem * with any known compiler so far, though */ temp = ((unsigned) (*(pkeys + 2)) & 0xffff) | 2; return (int) (((temp * (temp ^ 1)) >> 8) & 0xff); } /*********************************************************************** * Update the encryption keys with the next byte of plain text */ int update_keys( unsigned long *pkeys, const unsigned long *pcrc_32_tab, int c) { (*(pkeys + 0)) = CRC32((*(pkeys + 0)), c); (*(pkeys + 1)) += (*(pkeys + 0)) & 0xff; (*(pkeys + 1)) = (*(pkeys + 1)) * 134775813L + 1; { register int keyshift = (int) ((*(pkeys + 1)) >> 24); (*(pkeys + 2)) = CRC32((*(pkeys + 2)), keyshift); } return c; } /*********************************************************************** * Initialize the encryption keys and the random header according to * the given password. */ void init_keys( const char *passwd, unsigned long *pkeys, const unsigned long *pcrc_32_tab) { *(pkeys + 0) = 305419896L; *(pkeys + 1) = 591751049L; *(pkeys + 2) = 878082192L; while (*passwd != '\0') { update_keys(pkeys, pcrc_32_tab, (int) *passwd); passwd++; } } #define zdecode(pkeys,pcrc_32_tab,c) \ (update_keys(pkeys,pcrc_32_tab,c ^= decrypt_byte(pkeys,pcrc_32_tab))) #define zencode(pkeys,pcrc_32_tab,c,t) \ (t=decrypt_byte(pkeys,pcrc_32_tab), update_keys(pkeys,pcrc_32_tab,c), t^(c)) #ifdef INCLUDECRYPTINGCODE_IFCRYPTALLOWED #define RAND_HEAD_LEN 12 /* "last resort" source for second part of crypt seed pattern */ # ifndef ZCR_SEED2 # define ZCR_SEED2 3141592654UL /* use PI as default pattern */ # endif int crypthead( passwd, buf, bufSize, pkeys, pcrc_32_tab, crcForCrypting) const char *passwd; /* password string */ unsigned char *buf; /* where to write header */ int bufSize; unsigned long *pkeys; const unsigned long *pcrc_32_tab; unsigned long crcForCrypting; { int n; /* index in random header */ int t; /* temporary */ int c; /* random byte */ unsigned char header[RAND_HEAD_LEN - 2]; /* random header */ static unsigned calls = 0; /* ensure different random header each time */ if (bufSize < RAND_HEAD_LEN) return 0; /* First generate RAND_HEAD_LEN-2 random bytes. We encrypt the * output of rand() to get less predictability, since rand() is * often poorly implemented. */ if (++calls == 1) { srand((unsigned) (time(NULL) ^ ZCR_SEED2)); } init_keys(passwd, pkeys, pcrc_32_tab); for (n = 0; n < RAND_HEAD_LEN - 2; n++) { c = (rand() >> 7) & 0xff; header[n] = (unsigned char) zencode(pkeys, pcrc_32_tab, c, t); } /* Encrypt random header (last two bytes is high word of crc) */ init_keys(passwd, pkeys, pcrc_32_tab); for (n = 0; n < RAND_HEAD_LEN - 2; n++) { buf[n] = (unsigned char) zencode(pkeys, pcrc_32_tab, header[n], t); } buf[n++] = zencode(pkeys, pcrc_32_tab, (int) (crcForCrypting >> 16) & 0xff, t); buf[n++] = zencode(pkeys, pcrc_32_tab, (int) (crcForCrypting >> 24) & 0xff, t); return n; } #endif axis2c-src-1.6.0/util/src/minizip/archive_extract.c0000644000175000017500000002076111166304676023416 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #ifdef WIN32 #include #endif #define CASESENSITIVITY (0) #define WRITEBUFFERSIZE (8192) #define MAXFILENAME (256) axis2_status_t aar_select( ); int aar_extract( axis2_char_t * d_name); extern int AXIS2_ALPHASORT( ); int axis2_mkdir(const axis2_char_t * dir_name) { int value = 0; value = AXIS2_MKDIR(dir_name, 0775); return value; } int axis2_create_dir( axis2_char_t *new_dir) { axis2_char_t *buffer; axis2_char_t *p; axis2_bool_t loop_state = AXIS2_TRUE; int len = (int) strlen(new_dir); if (len <= 0) return 0; buffer = (axis2_char_t *) malloc(len + 1); strcpy(buffer, new_dir); if (buffer[len - 1] == '/') { buffer[len - 1] = '\0'; } if (axis2_mkdir(buffer) == 0) { free(buffer); return 1; } p = buffer + 1; while (loop_state) { axis2_char_t hold; while (*p && *p != '\\' && *p != '/') p++; hold = *p; *p = 0; if ((axis2_mkdir(buffer) == -1)) { free(buffer); return 0; } if (hold == 0) break; *p++ = hold; } free(buffer); return 1; } int axis2_extract_currentfile( unzFile uf, const int *popt_extract_without_path, int *popt_overwrite, const axis2_char_t *password) { axis2_char_t filename_inzip[256]; axis2_char_t *filename_withoutpath; axis2_char_t *p; int err = UNZ_OK; FILE *fout = NULL; void *buf; uInt size_buf; unz_file_info file_info; err = unzGetCurrentFileInfo(uf, &file_info, filename_inzip, sizeof(filename_inzip), NULL, 0, NULL, 0); if (err != UNZ_OK) { return err; } size_buf = WRITEBUFFERSIZE; buf = (void *) malloc(size_buf); if (buf == NULL) return UNZ_INTERNALERROR; p = filename_withoutpath = filename_inzip; while ((*p) != '\0') { if (((*p) == '/') || ((*p) == '\\')) filename_withoutpath = p + 1; p++; } if ((*filename_withoutpath) == '\0') { if ((*popt_extract_without_path) == 0) { axis2_mkdir(filename_inzip); } } else { axis2_char_t *write_filename; int skip = 0; if ((*popt_extract_without_path) == 0) write_filename = filename_inzip; else write_filename = filename_withoutpath; err = unzOpenCurrentFilePassword(uf, password); if ((skip == 0) && (err == UNZ_OK)) { fout = fopen(write_filename, "wb"); if ((fout == NULL) && ((*popt_extract_without_path) == 0) && (filename_withoutpath != (axis2_char_t *) filename_inzip)) { axis2_char_t c = *(filename_withoutpath - 1); *(filename_withoutpath - 1) = '\0'; axis2_create_dir(write_filename); *(filename_withoutpath - 1) = c; fout = fopen(write_filename, "wb"); } } if (fout) { do { err = unzReadCurrentFile(uf, buf, size_buf); if (err < 0) { break; } if (err > 0) if (fwrite(buf, err, 1, fout) != 1) { err = UNZ_ERRNO; break; } } while (err > 0); if (fout) fclose(fout); } if (err == UNZ_OK) { err = unzCloseCurrentFile(uf); } else unzCloseCurrentFile(uf); } free(buf); return err; } int axis2_extract( unzFile uf, int opt_extract_without_path, int opt_overwrite, const axis2_char_t *password) { uLong i; unz_global_info gi; int err; err = unzGetGlobalInfo(uf, &gi); if (err != UNZ_OK) return -1; for (i = 0; i < gi.number_entry; i++) { if (axis2_extract_currentfile(uf, &opt_extract_without_path, &opt_overwrite, password) != UNZ_OK) break; if ((i + 1) < gi.number_entry) { err = unzGoToNextFile(uf); if (err != UNZ_OK) { return -1; break; } } } return 0; } int aar_extract( axis2_char_t * d_name) { const axis2_char_t *zipfilename = NULL; const axis2_char_t *filename_to_extract = NULL; const axis2_char_t *password = NULL; axis2_char_t filename_try[MAXFILENAME + 16] = ""; int opt_do_extract_withoutpath = 0; int opt_overwrite = 0; int opt_extractdir = 0; const axis2_char_t *dir_name = NULL; int ret = 0; unzFile uf = NULL; if (zipfilename == NULL) zipfilename = d_name; filename_to_extract = d_name; if (zipfilename) { zlib_filefunc_def ffunc; strncpy(filename_try, zipfilename, MAXFILENAME - 1); filename_try[MAXFILENAME] = '\0'; axis2_fill_win32_filefunc(&ffunc); uf = AXIS2_UNZOPEN2(zipfilename, ffunc); if (uf == NULL) { strcat(filename_try, ".zip"); uf = AXIS2_UNZOPEN2(zipfilename, ffunc); } } if (uf == NULL) return -1; if (opt_extractdir && AXIS2_CHDIR(dir_name)) exit(-1); ret = axis2_extract(uf, opt_do_extract_withoutpath, opt_overwrite, password); /*unzCloseCurrentFile(uf);*/ return ret; } int axis2_extract_onefile( unzFile uf, const axis2_char_t *filename, int opt_extract_without_path, int opt_overwrite, const axis2_char_t *password) { if (unzLocateFile(uf, filename, CASESENSITIVITY) != UNZ_OK) return -1; if (axis2_extract_currentfile(uf, &opt_extract_without_path, &opt_overwrite, password) == UNZ_OK) return 0; else return -1; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_archive_extract( ) { struct dirent **namelist; int n, i; axis2_char_t *ptr; #ifdef WIN32 n = axis2_scandir(".", &namelist, 0, alphasort); #else n = scandir(".", &namelist, 0, alphasort); #endif if (n < 0) return AXIS2_FALSE; else { while (n--) { if ((strcmp(namelist[n]->d_name, ".") == 0) || (strcmp(namelist[n]->d_name, "..") == 0)) { for (i = n; i >= 0; i--) /* clean remaining memory before return */ free(namelist[i]); free(namelist); return (AXIS2_FALSE); } ptr = axutil_rindex(namelist[n]->d_name, '.'); if ((ptr) && (((strcmp(ptr, AXIS2_AAR_SUFFIX) == 0)) || (strcmp(ptr, AXIS2_MAR_SUFFIX) == 0))) for (i = 0; i < n; i++) if (strncmp (namelist[n]->d_name, namelist[i]->d_name, strlen(namelist[i]->d_name)) == 0) { int j; for (j = n; j >= 0; j--) /* clean remaining memory before return */ free(namelist[j]); free(namelist); return (AXIS2_FALSE); } aar_extract(namelist[n]->d_name); free(namelist[n]); } free(namelist); } return (AXIS2_TRUE); } axis2c-src-1.6.0/util/src/minizip/Makefile.am0000644000175000017500000000063111166304676022125 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_minizip.la libaxis2_minizip_la_SOURCES = ioapi.c \ unzip.c \ archive_extract.c \ crypt.c libaxis2_minizip_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/platforms EXTRA_DIST= axis2_archive_extract.h \ axis2_crypt.h \ axis2_ioapi.h \ axis2_iowin32.h \ axis2_unzip.h \ iowin32.c axis2c-src-1.6.0/util/src/minizip/Makefile.in0000644000175000017500000003604411172017167022136 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/minizip DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_minizip_la_LIBADD = am_libaxis2_minizip_la_OBJECTS = ioapi.lo unzip.lo archive_extract.lo \ crypt.lo libaxis2_minizip_la_OBJECTS = $(am_libaxis2_minizip_la_OBJECTS) libaxis2_minizip_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_minizip_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_minizip_la_SOURCES) DIST_SOURCES = $(libaxis2_minizip_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_minizip.la libaxis2_minizip_la_SOURCES = ioapi.c \ unzip.c \ archive_extract.c \ crypt.c libaxis2_minizip_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/platforms EXTRA_DIST = axis2_archive_extract.h \ axis2_crypt.h \ axis2_ioapi.h \ axis2_iowin32.h \ axis2_unzip.h \ iowin32.c all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/minizip/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/minizip/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_minizip.la: $(libaxis2_minizip_la_OBJECTS) $(libaxis2_minizip_la_DEPENDENCIES) $(libaxis2_minizip_la_LINK) -rpath $(libdir) $(libaxis2_minizip_la_OBJECTS) $(libaxis2_minizip_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/archive_extract.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/crypt.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ioapi.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/unzip.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/src/minizip/axis2_archive_extract.h0000644000175000017500000000203711166304676024525 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ARCHIVE_EXTRACT_H #define AXIS2_ARCHIVE_EXTRACT_H #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_archive_extract( ); #ifdef __cplusplus } #endif #endif /** AXIS2_ARCHIVE_EXTRACT_H */ axis2c-src-1.6.0/util/src/minizip/axis2_unzip.h0000644000175000017500000003412111166304676022516 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* unzip.h -- IO for uncompress .zip files using zlib Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g WinZip, InfoZip tools and compatible. Multi volume ZipFile (span) are not supported. Encryption compatible with pkzip 2.04g only supported Old compressions used by old PKZip 1.x are not supported I WAIT FEEDBACK at mail info@winimage.com Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution Condition of use and distribution are the same than zlib : This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ /* for more info about .ZIP format, see http://www.info-zip.org/pub/infozip/doc/appnote-981119-iz.zip http://www.info-zip.org/pub/infozip/doc/ PkWare has also a specification at : ftp://ftp.pkware.com/probdesc.zip */ #ifndef _unz_H #define _unz_H #ifdef __cplusplus extern "C" { #endif #ifndef _ZLIB_H #include "zlib.h" #endif #ifndef _ZLIBIOAPI_H #include "axis2_ioapi.h" #endif #if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) /* like the STRICT of WIN32, we define a pointer that cannot be converted from (void*) without cast */ typedef struct TagunzFile__ { int unused; } unzFile__; typedef unzFile__ *unzFile; #else typedef voidp unzFile; #endif #define UNZ_OK (0) #define UNZ_END_OF_LIST_OF_FILE (-100) #define UNZ_ERRNO (Z_ERRNO) #define UNZ_EOF (0) #define UNZ_PARAMERROR (-102) #define UNZ_BADZIPFILE (-103) #define UNZ_INTERNALERROR (-104) #define UNZ_CRCERROR (-105) /* tm_unz contain date/time info */ typedef struct tm_unz_s { uInt tm_sec; /* seconds after the minute - [0,59] */ uInt tm_min; /* minutes after the hour - [0,59] */ uInt tm_hour; /* hours since midnight - [0,23] */ uInt tm_mday; /* day of the month - [1,31] */ uInt tm_mon; /* months since January - [0,11] */ uInt tm_year; /* years - [1980..2044] */ } tm_unz; /* unz_global_info structure contain global data about the ZIPfile These data comes from the end of central dir */ typedef struct unz_global_info_s { uLong number_entry; /* total number of entries in the central dir on this disk */ uLong size_comment; /* size of the global comment of the zipfile */ } unz_global_info; /* unz_file_info contain information about a file in the zipfile */ typedef struct unz_file_info_s { uLong version; /* version made by 2 bytes */ uLong version_needed; /* version needed to extract 2 bytes */ uLong flag; /* general purpose bit flag 2 bytes */ uLong compression_method; /* compression method 2 bytes */ uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ uLong crc; /* crc-32 4 bytes */ uLong compressed_size; /* compressed size 4 bytes */ uLong uncompressed_size; /* uncompressed size 4 bytes */ uLong size_filename; /* filename length 2 bytes */ uLong size_file_extra; /* extra field length 2 bytes */ uLong size_file_comment; /* file comment length 2 bytes */ uLong disk_num_start; /* disk number start 2 bytes */ uLong internal_fa; /* internal file attributes 2 bytes */ uLong external_fa; /* external file attributes 4 bytes */ tm_unz tmu_date; } unz_file_info; extern int ZEXPORT unzStringFileNameCompare OF( (const char *fileName1, const char *fileName2, int iCaseSensitivity)); /* Compare two filename (fileName1,fileName2). If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi or strcasecmp) If iCaseSenisivity = 0, case sensitivity is defaut of your operating system (like 1 on Unix, 2 on Windows) */ extern unzFile ZEXPORT unzOpen OF( (const char *path)); /* Open a Zip file. path contain the full pathname (by example, on a Windows XP computer "c:\\zlib\\zlib113.zip" or on an Unix computer "zlib/zlib113.zip". If the zipfile cannot be opened (file don't exist or in not valid), the return value is NULL. Else, the return value is a unzFile Handle, usable with other function of this unzip package. */ extern unzFile ZEXPORT unzOpen2 OF( (const char *path, zlib_filefunc_def * pzlib_filefunc_def)); /* Open a Zip file, like unzOpen, but provide a set of file low level API for read/write the zip file (see axis2_ioapi.h) */ extern int ZEXPORT unzClose OF( (unzFile file)); /* Close a ZipFile opened with unzipOpen. If there is files inside the .Zip opened with unzOpenCurrentFile (see later), these files MUST be closed with unzipCloseCurrentFile before call unzipClose. return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalInfo OF( (unzFile file, unz_global_info * pglobal_info)); /* Write info about the ZipFile in the *pglobal_info structure. No preparation of the structure is needed return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalComment OF( (unzFile file, char *szComment, uLong uSizeBuf)); /* Get the global comment string of the ZipFile, in the szComment buffer. uSizeBuf is the size of the szComment buffer. return the number of byte copied or an error code <0 */ /***************************************************************************/ /* Unzip package allow you browse the directory of the zipfile */ extern int ZEXPORT unzGoToFirstFile OF( (unzFile file)); /* Set the current file of the zipfile to the first file. return UNZ_OK if there is no problem */ extern int ZEXPORT unzGoToNextFile OF( (unzFile file)); /* Set the current file of the zipfile to the next file. return UNZ_OK if there is no problem return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. */ extern int ZEXPORT unzLocateFile OF( (unzFile file, const char *szFileName, int iCaseSensitivity)); /* Try locate the file szFileName in the zipfile. For the iCaseSensitivity signification, see unzStringFileNameCompare return value : UNZ_OK if the file is found. It becomes the current file. UNZ_END_OF_LIST_OF_FILE if the file is not found */ /* ****************************************** */ /* Ryan supplied functions */ /* unz_file_info contain information about a file in the zipfile */ typedef struct unz_file_pos_s { uLong pos_in_zip_directory; /* offset in zip file directory */ uLong num_of_file; /* # of file */ } unz_file_pos; extern int ZEXPORT unzGetFilePos( unzFile file, unz_file_pos * file_pos); extern int ZEXPORT unzGoToFilePos( unzFile file, unz_file_pos * file_pos); /* ****************************************** */ extern int ZEXPORT unzGetCurrentFileInfo OF( (unzFile file, unz_file_info * pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)); /* Get Info about the current file if pfile_info!=NULL, the *pfile_info structure will contain somes info about the current file if szFileName!=NULL, the filemane string will be copied in szFileName (fileNameBufferSize is the size of the buffer) if extraField!=NULL, the extra field information will be copied in extraField (extraFieldBufferSize is the size of the buffer). This is the Central-header version of the extra field if szComment!=NULL, the comment string of the file will be copied in szComment (commentBufferSize is the size of the buffer) */ /***************************************************************************/ /* for reading the content of the current zipfile, you can open it, read data from it, and close it (you can close it before reading all the file) */ extern int ZEXPORT unzOpenCurrentFile OF( (unzFile file)); /* Open for reading data the current file in the zipfile. If there is no error, the return value is UNZ_OK. */ extern int ZEXPORT unzOpenCurrentFilePassword OF( (unzFile file, const char *password)); /* Open for reading data the current file in the zipfile. password is a crypting password If there is no error, the return value is UNZ_OK. */ extern int ZEXPORT unzOpenCurrentFile2 OF( (unzFile file, int *method, int *level, int raw)); /* Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) if raw==1 *method will receive method of compression, *level will receive level of compression note : you can set level parameter as NULL (if you did not want known level, but you CANNOT set method parameter as NULL */ extern int ZEXPORT unzOpenCurrentFile3 OF( (unzFile file, int *method, int *level, int raw, const char *password)); /* Same than unzOpenCurrentFile, but open for read raw the file (not uncompress) if raw==1 *method will receive method of compression, *level will receive level of compression note : you can set level parameter as NULL (if you did not want known level, but you CANNOT set method parameter as NULL */ extern int ZEXPORT unzCloseCurrentFile OF( (unzFile file)); /* Close the file in zip opened with unzOpenCurrentFile Return UNZ_CRCERROR if all the file was read but the CRC is not good */ extern int ZEXPORT unzReadCurrentFile OF( (unzFile file, voidp buf, unsigned len)); /* Read bytes from the current file (opened by unzOpenCurrentFile) buf contain buffer where data must be copied len the size of buf. return the number of byte copied if somes bytes are copied return 0 if the end of file was reached return <0 with error code if there is an error (UNZ_ERRNO for IO error, or zLib error for uncompress error) */ extern z_off_t ZEXPORT unztell OF( (unzFile file)); /* Give the current position in uncompressed data */ extern int ZEXPORT unzeof OF( (unzFile file)); /* return 1 if the end of file was reached, 0 elsewhere */ extern int ZEXPORT unzGetLocalExtrafield OF( (unzFile file, voidp buf, unsigned len)); /* Read extra field from the current file (opened by unzOpenCurrentFile) This is the local-header version of the extra field (sometimes, there is more info in the local-header version than in the central-header) if buf==NULL, it return the size of the local extra field if buf!=NULL, len is the size of the buffer, the extra header is copied in buf. the return value is the number of bytes copied in buf, or (if <0) the error code */ /***************************************************************************/ /* Get the current file offset */ extern uLong ZEXPORT unzGetOffset( unzFile file); /* Set the current file offset */ extern int ZEXPORT unzSetOffset( unzFile file, uLong pos); #ifdef __cplusplus } #endif #endif /* _unz_H */ axis2c-src-1.6.0/util/src/minizip/unzip.c0000644000175000017500000014065111166304676021411 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* unzip.c -- IO for uncompress .zip files using zlib * Version 1.01e, February 12th, 2005 * * Copyright (C) 1998-2005 Gilles Vollant * * Read axis2_unzip.h for more info * * * Decryption code comes from crypt.c by Info-ZIP but has been greatly reduced in terms of * compatibility with older software. The following is from the original crypt.c. Code * woven in by Terry Thorsen 1/2003. * * * * Copyright (c) 1990-2000 Info-ZIP. All rights reserved. * * See the accompanying file LICENSE, version 2000-Apr-09 or later * (the contents of which are also included in zip.h) for terms of use. * If, for some reason, all these files are missing, the Info-ZIP license * also may be found at: ftp://ftp.info-zip.org/pub/infozip/license.html * * * * crypt.c (full version) by Info-ZIP. Last revised: [see crypt.h] * * The encryption/decryption parts of this source code (as opposed to the * non-echoing password parts) were originally written in Europe. The * whole source package can be freely distributed, including from the USA. * (Prior to January 2000, re-export from the US was a violation of US law.) * * * * This encryption code is a direct transcription of the algorithm from * Roger Schlafly, described by Phil Katz in the file appnote.txt. This * file (appnote.txt) is distributed with the PKZIP program (even in the * version without encryption capabilities). */ #include #include #include #include "zlib.h" #include "axis2_unzip.h" #ifdef STDC # include # include # include #endif #ifdef NO_ERRNO_H extern int errno; #else # include #endif #ifndef local # define local static #endif /* compile with -Dlocal if your debugger can't find static symbols */ #ifndef CASESENSITIVITYDEFAULT_NO # if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) # define CASESENSITIVITYDEFAULT_NO # endif #endif #ifndef UNZ_BUFSIZE #define UNZ_BUFSIZE (16384) #endif #ifndef UNZ_MAXFILENAMEINZIP #define UNZ_MAXFILENAMEINZIP (256) #endif #ifndef ALLOC # define ALLOC(size) (malloc(size)) #endif #ifndef TRYFREE # define TRYFREE(p) {if (p) free(p);} #endif #define SIZECENTRALDIRITEM (0x2e) #define SIZEZIPLOCALHEADER (0x1e) const char unz_copyright[] = " unzip 1.01 Copyright 1998-2004 Gilles Vollant - http://www.winimage.com/zLibDll"; /* unz_file_info_interntal contain internal info about a file in zipfile*/ typedef struct unz_file_info_internal_s { uLong offset_curfile; /* relative offset of local header 4 bytes */ } unz_file_info_internal; /* * file_in_zip_read_info_s contain internal information about a file in zipfile, * when reading and decompress it */ typedef struct { char *read_buffer; /* internal buffer for compressed data */ z_stream stream; /* zLib stream structure for inflate */ uLong pos_in_zipfile; /* position in byte on the zipfile, for fseek */ uLong stream_initialised; /* flag set if stream structure is initialised */ uLong offset_local_extrafield; /* offset of the local extra field */ uInt size_local_extrafield; /* size of the local extra field */ uLong pos_local_extrafield; /* position in the local extra field in read */ uLong crc32; /* crc32 of all data uncompressed */ uLong crc32_wait; /* crc32 we must obtain after decompress all */ uLong rest_read_compressed; /* number of byte to be decompressed */ uLong rest_read_uncompressed; /*number of byte to be obtained after decomp */ zlib_filefunc_def z_filefunc; voidpf filestream; /* io structore of the zipfile */ uLong compression_method; /* compression method (0==store) */ uLong byte_before_the_zipfile; /* byte before the zipfile, (>0 for sfx) */ int raw; } file_in_zip_read_info_s; /* unz_s contain internal information about the zipfile */ typedef struct { zlib_filefunc_def z_filefunc; voidpf filestream; /* io structore of the zipfile */ unz_global_info gi; /* public global information */ uLong byte_before_the_zipfile; /* byte before the zipfile, (>0 for sfx) */ uLong num_file; /* number of the current file in the zipfile */ uLong pos_in_central_dir; /* pos of the current file in the central dir */ uLong current_file_ok; /* flag about the usability of the current file */ uLong central_pos; /* position of the beginning of the central dir */ uLong size_central_dir; /* size of the central directory */ uLong offset_central_dir; /* offset of start of central directory with * respect to the starting disk number */ unz_file_info cur_file_info; /* public info about the current file in zip */ unz_file_info_internal cur_file_info_internal; /* private info about it */ file_in_zip_read_info_s *pfile_in_zip_read; /* structure about the current * file if we are decompressing it */ int encrypted; # ifndef NOUNCRYPT unsigned long keys[3]; /* keys defining the pseudo-random sequence */ const unsigned long *pcrc_32_tab; # endif } unz_s; #ifndef NOUNCRYPT #include #endif /* * Read a byte from a gz_stream; update next_in and avail_in. Return EOF * for end of file. * IN assertion: the stream s has been sucessfully opened for reading. */ local int unzlocal_getByte OF( (const zlib_filefunc_def * pzlib_filefunc_def, voidpf filestream, int *pi)); local int unzlocal_getByte( const zlib_filefunc_def *pzlib_filefunc_def, voidpf filestream, int *pi) { unsigned char c; int err = (int) ZREAD(*pzlib_filefunc_def, filestream, &c, 1); if (err == 1) { *pi = (int) c; return UNZ_OK; } else { if (ZERROR(*pzlib_filefunc_def, filestream)) return UNZ_ERRNO; else return UNZ_EOF; } } /* Reads a long in LSB order from the given gz_stream. Sets */ local int unzlocal_getShort OF( (const zlib_filefunc_def * pzlib_filefunc_def, voidpf filestream, uLong * pX)); local int unzlocal_getShort( const zlib_filefunc_def *pzlib_filefunc_def, voidpf filestream, uLong *pX) { uLong x; int i = 0; int err = 0; err = unzlocal_getByte(pzlib_filefunc_def, filestream, &i); x = (uLong) i; if (err == UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def, filestream, &i); x += ((uLong) i) << 8; if (err == UNZ_OK) *pX = x; else *pX = 0; return err; } local int unzlocal_getLong OF( (const zlib_filefunc_def * pzlib_filefunc_def, voidpf filestream, uLong * pX)); local int unzlocal_getLong( const zlib_filefunc_def *pzlib_filefunc_def, voidpf filestream, uLong *pX) { uLong x; int i = 0; int err = 0; err = unzlocal_getByte(pzlib_filefunc_def, filestream, &i); x = (uLong) i; if (err == UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def, filestream, &i); x += ((uLong) i) << 8; if (err == UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def, filestream, &i); x += ((uLong) i) << 16; if (err == UNZ_OK) err = unzlocal_getByte(pzlib_filefunc_def, filestream, &i); x += ((uLong) i) << 24; if (err == UNZ_OK) *pX = x; else *pX = 0; return err; } /* My own strcmpi / strcasecmp */ local int strcmpcasenosensitive_internal( const char *fileName1, const char *fileName2) { for (;;) { char c1 = *(fileName1++); char c2 = *(fileName2++); if ((c1 >= 'a') && (c1 <= 'z')) c1 -= 0x20; if ((c2 >= 'a') && (c2 <= 'z')) c2 -= 0x20; if (c1 == '\0') return ((c2 == '\0') ? 0 : -1); if (c2 == '\0') return 1; if (c1 < c2) return -1; if (c1 > c2) return 1; } } #ifdef CASESENSITIVITYDEFAULT_NO #define CASESENSITIVITYDEFAULTVALUE 2 #else #define CASESENSITIVITYDEFAULTVALUE 1 #endif #ifndef STRCMPCASENOSENTIVEFUNCTION #define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal #endif /* * Compare two filename (fileName1,fileName2). * If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) * If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi * or strcasecmp) * If iCaseSenisivity = 0, case sensitivity is defaut of your operating system * (like 1 on Unix, 2 on Windows) */ extern int ZEXPORT unzStringFileNameCompare( const char *fileName1, const char *fileName2, int iCaseSensitivity) { if (iCaseSensitivity == 0) iCaseSensitivity = CASESENSITIVITYDEFAULTVALUE; if (iCaseSensitivity == 1) return strcmp(fileName1, fileName2); return STRCMPCASENOSENTIVEFUNCTION(fileName1, fileName2); } #ifndef BUFREADCOMMENT #define BUFREADCOMMENT (0x400) #endif /* * Locate the Central directory of a zipfile (at the end, just before * the global comment) */ local uLong unzlocal_SearchCentralDir OF( (const zlib_filefunc_def * pzlib_filefunc_def, voidpf filestream)); local uLong unzlocal_SearchCentralDir( const zlib_filefunc_def *pzlib_filefunc_def, voidpf filestream) { unsigned char *buf; uLong uSizeFile; uLong uBackRead; uLong uMaxBack = 0xffff; /* maximum size of global comment */ uLong uPosFound = 0; if (ZSEEK(*pzlib_filefunc_def, filestream, 0, ZLIB_FILEFUNC_SEEK_END) != 0) return 0; uSizeFile = ZTELL(*pzlib_filefunc_def, filestream); if (uMaxBack > uSizeFile) uMaxBack = uSizeFile; buf = (unsigned char *) ALLOC(BUFREADCOMMENT + 4); if (buf == NULL) return 0; uBackRead = 4; while (uBackRead < uMaxBack) { uLong uReadSize, uReadPos; int i = 0; if (uBackRead + BUFREADCOMMENT > uMaxBack) uBackRead = uMaxBack; else uBackRead += BUFREADCOMMENT; uReadPos = uSizeFile - uBackRead; uReadSize = ((BUFREADCOMMENT + 4) < (uSizeFile - uReadPos)) ? (BUFREADCOMMENT + 4) : (uSizeFile - uReadPos); if (ZSEEK (*pzlib_filefunc_def, filestream, uReadPos, ZLIB_FILEFUNC_SEEK_SET) != 0) break; if (ZREAD(*pzlib_filefunc_def, filestream, buf, uReadSize) != uReadSize) break; for (i = (int) uReadSize - 3; (i--) > 0;) if (((*(buf + i)) == 0x50) && ((*(buf + i + 1)) == 0x4b) && ((*(buf + i + 2)) == 0x05) && ((*(buf + i + 3)) == 0x06)) { uPosFound = uReadPos + i; break; } if (uPosFound != 0) break; } TRYFREE(buf); return uPosFound; } /* * Open a Zip file. path contain the full pathname (by example, * on a Windows NT computer "c:\\test\\zlib114.zip" or on an Unix computer * "zlib/zlib114.zip". * If the zipfile cannot be opened (file doesn't exist or in not valid), the * return value is NULL. * Else, the return value is a unzFile Handle, usable with other function * of this unzip package. */ extern unzFile ZEXPORT unzOpen2( const char *path, zlib_filefunc_def *pzlib_filefunc_def) { unz_s us; unz_s *s; uLong central_pos, uL; uLong number_disk; /* number of the current dist, used for * spaning ZIP, unsupported, always 0 */ uLong number_disk_with_CD; /* number the the disk with central dir, used * for spaning ZIP, unsupported, always 0 */ uLong number_entry_CD; /* total number of entries in * the central dir * (same than number_entry on nospan) */ int err = UNZ_OK; if (unz_copyright[0] != ' ') return NULL; if (pzlib_filefunc_def == NULL) fill_fopen_filefunc(&us.z_filefunc); else us.z_filefunc = *pzlib_filefunc_def; us.filestream = (*(us.z_filefunc.zopen_file)) (us.z_filefunc.opaque, path, ZLIB_FILEFUNC_MODE_READ | ZLIB_FILEFUNC_MODE_EXISTING); if (us.filestream == NULL) return NULL; central_pos = unzlocal_SearchCentralDir(&us.z_filefunc, us.filestream); if (central_pos == 0) err = UNZ_ERRNO; if (ZSEEK(us.z_filefunc, us.filestream, central_pos, ZLIB_FILEFUNC_SEEK_SET) != 0) err = UNZ_ERRNO; /* the signature, already checked */ if (unzlocal_getLong(&us.z_filefunc, us.filestream, &uL) != UNZ_OK) err = UNZ_ERRNO; /* number of this disk */ if (unzlocal_getShort(&us.z_filefunc, us.filestream, &number_disk) != UNZ_OK) err = UNZ_ERRNO; /* number of the disk with the start of the central directory */ if (unzlocal_getShort(&us.z_filefunc, us.filestream, &number_disk_with_CD) != UNZ_OK) err = UNZ_ERRNO; /* total number of entries in the central dir on this disk */ if (unzlocal_getShort(&us.z_filefunc, us.filestream, &us.gi.number_entry) != UNZ_OK) err = UNZ_ERRNO; /* total number of entries in the central dir */ if (unzlocal_getShort(&us.z_filefunc, us.filestream, &number_entry_CD) != UNZ_OK) err = UNZ_ERRNO; if ((number_entry_CD != us.gi.number_entry) || (number_disk_with_CD != 0) || (number_disk != 0)) err = UNZ_BADZIPFILE; /* size of the central directory */ if (unzlocal_getLong(&us.z_filefunc, us.filestream, &us.size_central_dir) != UNZ_OK) err = UNZ_ERRNO; /* offset of start of central directory with respect to the * starting disk number */ if (unzlocal_getLong(&us.z_filefunc, us.filestream, &us.offset_central_dir) != UNZ_OK) err = UNZ_ERRNO; /* zipfile comment length */ if (unzlocal_getShort(&us.z_filefunc, us.filestream, &us.gi.size_comment) != UNZ_OK) err = UNZ_ERRNO; if ((central_pos < us.offset_central_dir + us.size_central_dir) && (err == UNZ_OK)) err = UNZ_BADZIPFILE; if (err != UNZ_OK) { ZCLOSE(us.z_filefunc, us.filestream); return NULL; } us.byte_before_the_zipfile = central_pos - (us.offset_central_dir + us.size_central_dir); us.central_pos = central_pos; us.pfile_in_zip_read = NULL; us.encrypted = 0; s = (unz_s *) ALLOC(sizeof(unz_s)); *s = us; unzGoToFirstFile((unzFile) s); return (unzFile) s; } extern unzFile ZEXPORT unzOpen( const char *path) { return unzOpen2(path, NULL); } /* * Close a ZipFile opened with unzipOpen. * If there is files inside the .Zip opened with unzipOpenCurrentFile (see later), * these files MUST be closed with unzipCloseCurrentFile before call unzipClose. * return UNZ_OK if there is no problem. */ extern int ZEXPORT unzClose( unzFile file) { unz_s *s; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; if (s->pfile_in_zip_read) unzCloseCurrentFile(file); ZCLOSE(s->z_filefunc, s->filestream); TRYFREE(s); return UNZ_OK; } /* * Write info about the ZipFile in the *pglobal_info structure. * No preparation of the structure is needed * return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetGlobalInfo( unzFile file, unz_global_info *pglobal_info) { unz_s *s; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; *pglobal_info = s->gi; return UNZ_OK; } /* Translate date/time from Dos format to tm_unz (readable more easilty) */ local void unzlocal_DosDateToTmuDate( uLong ulDosDate, tm_unz *ptm) { uLong uDate; uDate = (uLong) (ulDosDate >> 16); ptm->tm_mday = (uInt) (uDate & 0x1f); ptm->tm_mon = (uInt) ((((uDate) & 0x1E0) / 0x20) - 1); ptm->tm_year = (uInt) (((uDate & 0x0FE00) / 0x0200) + 1980); ptm->tm_hour = (uInt) ((ulDosDate & 0xF800) / 0x800); ptm->tm_min = (uInt) ((ulDosDate & 0x7E0) / 0x20); ptm->tm_sec = (uInt) (2 * (ulDosDate & 0x1f)); } /* Get Info about the current file in the zipfile, with internal only info */ local int unzlocal_GetCurrentFileInfoInternal OF( (unzFile file, unz_file_info * pfile_info, unz_file_info_internal * pfile_info_internal, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize)); local int unzlocal_GetCurrentFileInfoInternal( unzFile file, unz_file_info *pfile_info, unz_file_info_internal *pfile_info_internal, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize) { unz_s *s; unz_file_info file_info; unz_file_info_internal file_info_internal; int err = UNZ_OK; uLong uMagic = 0x00000000; long lSeek = 0; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; if (ZSEEK(s->z_filefunc, s->filestream, s->pos_in_central_dir + s->byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) err = UNZ_ERRNO; /* we check the magic */ if (err == UNZ_OK) { if (unzlocal_getLong(&s->z_filefunc, s->filestream, &uMagic) != UNZ_OK) err = UNZ_ERRNO; } else if (uMagic != 0x02014b50) { err = UNZ_BADZIPFILE; } if (unzlocal_getShort(&s->z_filefunc, s->filestream, &file_info.version) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort (&s->z_filefunc, s->filestream, &file_info.version_needed) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream, &file_info.flag) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort (&s->z_filefunc, s->filestream, &file_info.compression_method) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream, &file_info.dosDate) != UNZ_OK) err = UNZ_ERRNO; unzlocal_DosDateToTmuDate(file_info.dosDate, &file_info.tmu_date); if (unzlocal_getLong(&s->z_filefunc, s->filestream, &file_info.crc) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getLong (&s->z_filefunc, s->filestream, &file_info.compressed_size) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getLong (&s->z_filefunc, s->filestream, &file_info.uncompressed_size) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort (&s->z_filefunc, s->filestream, &file_info.size_filename) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort (&s->z_filefunc, s->filestream, &file_info.size_file_extra) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort (&s->z_filefunc, s->filestream, &file_info.size_file_comment) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort (&s->z_filefunc, s->filestream, &file_info.disk_num_start) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream, &file_info.internal_fa) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream, &file_info.external_fa) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getLong (&s->z_filefunc, s->filestream, &file_info_internal.offset_curfile) != UNZ_OK) err = UNZ_ERRNO; lSeek += file_info.size_filename; if ((err == UNZ_OK) && (szFileName)) { uLong uSizeRead; if (file_info.size_filename < fileNameBufferSize) { *(szFileName + file_info.size_filename) = '\0'; uSizeRead = file_info.size_filename; } else uSizeRead = fileNameBufferSize; if ((file_info.size_filename > 0) && (fileNameBufferSize > 0)) if (ZREAD(s->z_filefunc, s->filestream, szFileName, uSizeRead) != uSizeRead) err = UNZ_ERRNO; lSeek -= uSizeRead; } if ((err == UNZ_OK) && (extraField)) { uLong uSizeRead; if (file_info.size_file_extra < extraFieldBufferSize) uSizeRead = file_info.size_file_extra; else uSizeRead = extraFieldBufferSize; if (lSeek != 0) { if (ZSEEK (s->z_filefunc, s->filestream, lSeek, ZLIB_FILEFUNC_SEEK_CUR) == 0) lSeek = 0; else err = UNZ_ERRNO; } if ((file_info.size_file_extra > 0) && (extraFieldBufferSize > 0)) if (ZREAD(s->z_filefunc, s->filestream, extraField, uSizeRead) != uSizeRead) err = UNZ_ERRNO; lSeek += file_info.size_file_extra - uSizeRead; } else lSeek += file_info.size_file_extra; if ((err == UNZ_OK) && (szComment)) { uLong uSizeRead; if (file_info.size_file_comment < commentBufferSize) { *(szComment + file_info.size_file_comment) = '\0'; uSizeRead = file_info.size_file_comment; } else uSizeRead = commentBufferSize; if (lSeek != 0) { if (ZSEEK (s->z_filefunc, s->filestream, lSeek, ZLIB_FILEFUNC_SEEK_CUR) == 0) lSeek = 0; else err = UNZ_ERRNO; } if ((file_info.size_file_comment > 0) && (commentBufferSize > 0)) if (ZREAD(s->z_filefunc, s->filestream, szComment, uSizeRead) != uSizeRead) err = UNZ_ERRNO; lSeek += file_info.size_file_comment - uSizeRead; } else lSeek += file_info.size_file_comment; if ((err == UNZ_OK) && (pfile_info)) *pfile_info = file_info; if ((err == UNZ_OK) && (pfile_info_internal)) *pfile_info_internal = file_info_internal; return err; } /* * Write info about the ZipFile in the *pglobal_info structure. * No preparation of the structure is needed * return UNZ_OK if there is no problem. */ extern int ZEXPORT unzGetCurrentFileInfo( unzFile file, unz_file_info *pfile_info, char *szFileName, uLong fileNameBufferSize, void *extraField, uLong extraFieldBufferSize, char *szComment, uLong commentBufferSize) { return unzlocal_GetCurrentFileInfoInternal(file, pfile_info, NULL, szFileName, fileNameBufferSize, extraField, extraFieldBufferSize, szComment, commentBufferSize); } /* * Set the current file of the zipfile to the first file. * return UNZ_OK if there is no problem */ extern int ZEXPORT unzGoToFirstFile( unzFile file) { int err = UNZ_OK; unz_s *s; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; s->pos_in_central_dir = s->offset_central_dir; s->num_file = 0; err = unzlocal_GetCurrentFileInfoInternal(file, &s->cur_file_info, &s->cur_file_info_internal, NULL, 0, NULL, 0, NULL, 0); s->current_file_ok = (err == UNZ_OK); return err; } /* * Set the current file of the zipfile to the next file. * return UNZ_OK if there is no problem * return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. */ extern int ZEXPORT unzGoToNextFile( unzFile file) { unz_s *s; int err; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; if (!s->current_file_ok) return UNZ_END_OF_LIST_OF_FILE; if (s->gi.number_entry != 0xffff) /* 2^16 files overflow hack */ if (s->num_file + 1 == s->gi.number_entry) return UNZ_END_OF_LIST_OF_FILE; s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment; s->num_file++; err = unzlocal_GetCurrentFileInfoInternal(file, &s->cur_file_info, &s->cur_file_info_internal, NULL, 0, NULL, 0, NULL, 0); s->current_file_ok = (err == UNZ_OK); return err; } /* * Try locate the file szFileName in the zipfile. * For the iCaseSensitivity signification, see unzipStringFileNameCompare * * return value : * UNZ_OK if the file is found. It becomes the current file. * UNZ_END_OF_LIST_OF_FILE if the file is not found */ extern int ZEXPORT unzLocateFile( unzFile file, const char *szFileName, int iCaseSensitivity) { unz_s *s; int err = 0; /* We remember the 'current' position in the file so that we can jump * back there if we fail. */ unz_file_info cur_file_infoSaved; unz_file_info_internal cur_file_info_internalSaved; uLong num_fileSaved; uLong pos_in_central_dirSaved; if (file == NULL) return UNZ_PARAMERROR; if (strlen(szFileName) >= UNZ_MAXFILENAMEINZIP) return UNZ_PARAMERROR; s = (unz_s *) file; if (!s->current_file_ok) return UNZ_END_OF_LIST_OF_FILE; /* Save the current state */ num_fileSaved = s->num_file; pos_in_central_dirSaved = s->pos_in_central_dir; cur_file_infoSaved = s->cur_file_info; cur_file_info_internalSaved = s->cur_file_info_internal; err = unzGoToFirstFile(file); while (err == UNZ_OK) { char szCurrentFileName[UNZ_MAXFILENAMEINZIP + 1]; err = unzGetCurrentFileInfo(file, NULL, szCurrentFileName, sizeof(szCurrentFileName) - 1, NULL, 0, NULL, 0); if (err == UNZ_OK) { if (unzStringFileNameCompare(szCurrentFileName, szFileName, iCaseSensitivity) == 0) return UNZ_OK; err = unzGoToNextFile(file); } } /* We failed, so restore the state of the 'current file' to where we * were. */ s->num_file = num_fileSaved; s->pos_in_central_dir = pos_in_central_dirSaved; s->cur_file_info = cur_file_infoSaved; s->cur_file_info_internal = cur_file_info_internalSaved; return err; } /* * Contributed by Ryan Haksi (mailto://cryogen@infoserve.net) * I need random access * * Further optimization could be realized by adding an ability * to cache the directory in memory. The goal being a single * comprehensive file read to put the file I need in a memory. */ /* typedef struct unz_file_pos_s { uLong pos_in_zip_directory; uLong num_of_file; } unz_file_pos; */ extern int ZEXPORT unzGetFilePos( unzFile file, unz_file_pos *file_pos) { unz_s *s; if (file == NULL || file_pos == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; if (!s->current_file_ok) return UNZ_END_OF_LIST_OF_FILE; file_pos->pos_in_zip_directory = s->pos_in_central_dir; file_pos->num_of_file = s->num_file; return UNZ_OK; } extern int ZEXPORT unzGoToFilePos( unzFile file, unz_file_pos *file_pos) { unz_s *s; int err = 0; if (file == NULL || file_pos == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; /* jump to the right spot */ s->pos_in_central_dir = file_pos->pos_in_zip_directory; s->num_file = file_pos->num_of_file; /* set the current file */ err = unzlocal_GetCurrentFileInfoInternal(file, &s->cur_file_info, &s->cur_file_info_internal, NULL, 0, NULL, 0, NULL, 0); /* return results */ s->current_file_ok = (err == UNZ_OK); return err; } /* * Unzip Helper Functions - should be here? */ /* * Read the local header of the current zipfile * Check the coherency of the local header and info in the end of central * directory about this file * store in *piSizeVar the size of extra info in local header * (filename and size of extra field data) */ local int unzlocal_CheckCurrentFileCoherencyHeader( unz_s *s, uInt *piSizeVar, uLong *poffset_local_extrafield, uInt *psize_local_extrafield) { uLong uMagic, uData, uFlags; uLong size_filename; uLong size_extra_field; int err = UNZ_OK; *piSizeVar = 0; *poffset_local_extrafield = 0; *psize_local_extrafield = 0; if (ZSEEK (s->z_filefunc, s->filestream, s->cur_file_info_internal.offset_curfile + s->byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) return UNZ_ERRNO; if (err == UNZ_OK) { if (unzlocal_getLong(&s->z_filefunc, s->filestream, &uMagic) != UNZ_OK) err = UNZ_ERRNO; else if (uMagic != 0x04034b50) err = UNZ_BADZIPFILE; } if (unzlocal_getShort(&s->z_filefunc, s->filestream, &uData) != UNZ_OK) err = UNZ_ERRNO; /* * else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) * err=UNZ_BADZIPFILE; */ if (unzlocal_getShort(&s->z_filefunc, s->filestream, &uFlags) != UNZ_OK) err = UNZ_ERRNO; if (unzlocal_getShort(&s->z_filefunc, s->filestream, &uData) != UNZ_OK) err = UNZ_ERRNO; else if ((err == UNZ_OK) && (uData != s->cur_file_info.compression_method)) err = UNZ_BADZIPFILE; if ((err == UNZ_OK) && (s->cur_file_info.compression_method != 0) && (s->cur_file_info.compression_method != Z_DEFLATED)) err = UNZ_BADZIPFILE; if (unzlocal_getLong(&s->z_filefunc, s->filestream, &uData) != UNZ_OK) /* date/time */ err = UNZ_ERRNO; if (unzlocal_getLong(&s->z_filefunc, s->filestream, &uData) != UNZ_OK) /* crc */ err = UNZ_ERRNO; else if ((err == UNZ_OK) && (uData != s->cur_file_info.crc) && ((uFlags & 8) == 0)) err = UNZ_BADZIPFILE; if (unzlocal_getLong(&s->z_filefunc, s->filestream, &uData) != UNZ_OK) /* size compr */ err = UNZ_ERRNO; else if ((err == UNZ_OK) && (uData != s->cur_file_info.compressed_size) && ((uFlags & 8) == 0)) err = UNZ_BADZIPFILE; if (unzlocal_getLong(&s->z_filefunc, s->filestream, &uData) != UNZ_OK) /* size uncompr */ err = UNZ_ERRNO; else if ((err == UNZ_OK) && (uData != s->cur_file_info.uncompressed_size) && ((uFlags & 8) == 0)) err = UNZ_BADZIPFILE; if (unzlocal_getShort(&s->z_filefunc, s->filestream, &size_filename) != UNZ_OK) err = UNZ_ERRNO; else if ((err == UNZ_OK) && (size_filename != s->cur_file_info.size_filename)) err = UNZ_BADZIPFILE; *piSizeVar += (uInt) size_filename; if (unzlocal_getShort(&s->z_filefunc, s->filestream, &size_extra_field) != UNZ_OK) err = UNZ_ERRNO; *poffset_local_extrafield = s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + size_filename; *psize_local_extrafield = (uInt) size_extra_field; *piSizeVar += (uInt) size_extra_field; return err; } /* * Open for reading data the current file in the zipfile. * If there is no error and the file is opened, the return value is UNZ_OK. */ extern int ZEXPORT unzOpenCurrentFile3( unzFile file, int *method, int *level, int raw, const char *password) { int err = UNZ_OK; uInt iSizeVar; unz_s *s; file_in_zip_read_info_s *pfile_in_zip_read_info; uLong offset_local_extrafield; /* offset of the local extra field */ uInt size_local_extrafield; /* size of the local extra field */ # ifndef NOUNCRYPT char source[12]; # else if (password) return UNZ_PARAMERROR; # endif if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; if (!s->current_file_ok) return UNZ_PARAMERROR; if (s->pfile_in_zip_read) unzCloseCurrentFile(file); if (unzlocal_CheckCurrentFileCoherencyHeader(s, &iSizeVar, &offset_local_extrafield, &size_local_extrafield) != UNZ_OK) return UNZ_BADZIPFILE; pfile_in_zip_read_info = (file_in_zip_read_info_s *) ALLOC(sizeof(file_in_zip_read_info_s)); if (pfile_in_zip_read_info == NULL) return UNZ_INTERNALERROR; pfile_in_zip_read_info->read_buffer = (char *) ALLOC(UNZ_BUFSIZE); pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; pfile_in_zip_read_info->pos_local_extrafield = 0; pfile_in_zip_read_info->raw = raw; if (pfile_in_zip_read_info->read_buffer == NULL) { TRYFREE(pfile_in_zip_read_info); return UNZ_INTERNALERROR; } pfile_in_zip_read_info->stream_initialised = 0; if (method) *method = (int) s->cur_file_info.compression_method; if (level) { *level = 6; switch (s->cur_file_info.flag & 0x06) { case 6: *level = 1; break; case 4: *level = 2; break; case 2: *level = 9; break; } } if ((s->cur_file_info.compression_method != 0) && (s->cur_file_info.compression_method != Z_DEFLATED)) err = UNZ_BADZIPFILE; pfile_in_zip_read_info->crc32_wait = s->cur_file_info.crc; pfile_in_zip_read_info->crc32 = 0; pfile_in_zip_read_info->compression_method = s->cur_file_info.compression_method; pfile_in_zip_read_info->filestream = s->filestream; pfile_in_zip_read_info->z_filefunc = s->z_filefunc; pfile_in_zip_read_info->byte_before_the_zipfile = s->byte_before_the_zipfile; pfile_in_zip_read_info->stream.total_out = 0; if ((s->cur_file_info.compression_method == Z_DEFLATED) && (!raw)) { pfile_in_zip_read_info->stream.zalloc = (alloc_func) 0; pfile_in_zip_read_info->stream.zfree = (free_func) 0; pfile_in_zip_read_info->stream.opaque = (voidpf) 0; pfile_in_zip_read_info->stream.next_in = (voidpf) 0; pfile_in_zip_read_info->stream.avail_in = 0; err = inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); if (err == Z_OK) pfile_in_zip_read_info->stream_initialised = 1; else { TRYFREE(pfile_in_zip_read_info); return err; } /* windowBits is passed < 0 to tell that there is no zlib header. * Note that in this case inflate *requires* an extra "dummy" byte * after the compressed stream in order to complete decompression and * return Z_STREAM_END. * In unzip, i don't wait absolutely Z_STREAM_END because I known the * size of both compressed and uncompressed data */ } pfile_in_zip_read_info->rest_read_compressed = s->cur_file_info.compressed_size; pfile_in_zip_read_info->rest_read_uncompressed = s->cur_file_info.uncompressed_size; pfile_in_zip_read_info->pos_in_zipfile = s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + iSizeVar; pfile_in_zip_read_info->stream.avail_in = (uInt) 0; s->pfile_in_zip_read = pfile_in_zip_read_info; # ifndef NOUNCRYPT if (password) { int i = 0; s->pcrc_32_tab = get_crc_table(); init_keys(password, s->keys, s->pcrc_32_tab); if (ZSEEK(s->z_filefunc, s->filestream, s->pfile_in_zip_read->pos_in_zipfile + s->pfile_in_zip_read->byte_before_the_zipfile, SEEK_SET) != 0) return UNZ_INTERNALERROR; if (ZREAD(s->z_filefunc, s->filestream, source, 12) < 12) return UNZ_INTERNALERROR; for (i = 0; i < 12; i++) zdecode(s->keys, s->pcrc_32_tab, source[i]); s->pfile_in_zip_read->pos_in_zipfile += 12; s->encrypted = 1; } # endif return UNZ_OK; } extern int ZEXPORT unzOpenCurrentFile( unzFile file) { return unzOpenCurrentFile3(file, NULL, NULL, 0, NULL); } extern int ZEXPORT unzOpenCurrentFilePassword( unzFile file, const char *password) { return unzOpenCurrentFile3(file, NULL, NULL, 0, password); } extern int ZEXPORT unzOpenCurrentFile2( unzFile file, int *method, int *level, int raw) { return unzOpenCurrentFile3(file, method, level, raw, NULL); } /* * Read bytes from the current file. * buf contain buffer where data must be copied * len the size of buf. * * return the number of byte copied if somes bytes are copied * return 0 if the end of file was reached * return <0 with error code if there is an error * (UNZ_ERRNO for IO error, or zLib error for uncompress error) */ extern int ZEXPORT unzReadCurrentFile( unzFile file, voidp buf, unsigned len) { int err = UNZ_OK; uInt iRead = 0; unz_s *s; file_in_zip_read_info_s *pfile_in_zip_read_info; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; pfile_in_zip_read_info = s->pfile_in_zip_read; if (pfile_in_zip_read_info == NULL) return UNZ_PARAMERROR; if ((pfile_in_zip_read_info->read_buffer == NULL)) return UNZ_END_OF_LIST_OF_FILE; if (len == 0) return 0; pfile_in_zip_read_info->stream.next_out = (Bytef *) buf; pfile_in_zip_read_info->stream.avail_out = (uInt) len; if ((len > pfile_in_zip_read_info->rest_read_uncompressed) && (!(pfile_in_zip_read_info->raw))) pfile_in_zip_read_info->stream.avail_out = (uInt) pfile_in_zip_read_info->rest_read_uncompressed; if ((len > pfile_in_zip_read_info->rest_read_compressed + pfile_in_zip_read_info->stream.avail_in) && (pfile_in_zip_read_info->raw)) pfile_in_zip_read_info->stream.avail_out = (uInt) pfile_in_zip_read_info->rest_read_compressed + pfile_in_zip_read_info->stream.avail_in; while (pfile_in_zip_read_info->stream.avail_out > 0) { if ((pfile_in_zip_read_info->stream.avail_in == 0) && (pfile_in_zip_read_info->rest_read_compressed > 0)) { uInt uReadThis = UNZ_BUFSIZE; if (pfile_in_zip_read_info->rest_read_compressed < uReadThis) uReadThis = (uInt) pfile_in_zip_read_info->rest_read_compressed; if (uReadThis == 0) return UNZ_EOF; if (ZSEEK(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, pfile_in_zip_read_info->pos_in_zipfile + pfile_in_zip_read_info->byte_before_the_zipfile, ZLIB_FILEFUNC_SEEK_SET) != 0) return UNZ_ERRNO; if (ZREAD(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, pfile_in_zip_read_info->read_buffer, uReadThis) != uReadThis) return UNZ_ERRNO; # ifndef NOUNCRYPT if (s->encrypted) { uInt i; for (i = 0; i < uReadThis; i++) pfile_in_zip_read_info->read_buffer[i] = (char)zdecode(s->keys, s->pcrc_32_tab, pfile_in_zip_read_info->read_buffer[i]); /* We are sure that the conversion is safe */ } # endif pfile_in_zip_read_info->pos_in_zipfile += uReadThis; pfile_in_zip_read_info->rest_read_compressed -= uReadThis; pfile_in_zip_read_info->stream.next_in = (Bytef *) pfile_in_zip_read_info->read_buffer; pfile_in_zip_read_info->stream.avail_in = (uInt) uReadThis; } if ((pfile_in_zip_read_info->compression_method == 0) || (pfile_in_zip_read_info->raw)) { uInt uDoCopy, i; if ((pfile_in_zip_read_info->stream.avail_in == 0) && (pfile_in_zip_read_info->rest_read_compressed == 0)) return (iRead == 0) ? UNZ_EOF : iRead; if (pfile_in_zip_read_info->stream.avail_out < pfile_in_zip_read_info->stream.avail_in) uDoCopy = pfile_in_zip_read_info->stream.avail_out; else uDoCopy = pfile_in_zip_read_info->stream.avail_in; for (i = 0; i < uDoCopy; i++) *(pfile_in_zip_read_info->stream.next_out + i) = *(pfile_in_zip_read_info->stream.next_in + i); pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, pfile_in_zip_read_info-> stream.next_out, uDoCopy); pfile_in_zip_read_info->rest_read_uncompressed -= uDoCopy; pfile_in_zip_read_info->stream.avail_in -= uDoCopy; pfile_in_zip_read_info->stream.avail_out -= uDoCopy; pfile_in_zip_read_info->stream.next_out += uDoCopy; pfile_in_zip_read_info->stream.next_in += uDoCopy; pfile_in_zip_read_info->stream.total_out += uDoCopy; iRead += uDoCopy; } else { uLong uTotalOutBefore, uTotalOutAfter; const Bytef *bufBefore; uLong uOutThis; int flush = Z_SYNC_FLUSH; uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; bufBefore = pfile_in_zip_read_info->stream.next_out; /* * if ((pfile_in_zip_read_info->rest_read_uncompressed == * pfile_in_zip_read_info->stream.avail_out) && * (pfile_in_zip_read_info->rest_read_compressed == 0)) * flush = Z_FINISH; */ err = inflate(&pfile_in_zip_read_info->stream, flush); if ((err >= 0) && (pfile_in_zip_read_info->stream.msg)) err = Z_DATA_ERROR; uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; uOutThis = uTotalOutAfter - uTotalOutBefore; pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, bufBefore, (uInt) (uOutThis)); pfile_in_zip_read_info->rest_read_uncompressed -= uOutThis; iRead += (uInt) (uTotalOutAfter - uTotalOutBefore); if (err == Z_STREAM_END) return (iRead == 0) ? UNZ_EOF : iRead; if (err != Z_OK) break; } } if (err == Z_OK) return iRead; return err; } /* Give the current position in uncompressed data */ extern z_off_t ZEXPORT unztell( unzFile file) { unz_s *s; file_in_zip_read_info_s *pfile_in_zip_read_info; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; pfile_in_zip_read_info = s->pfile_in_zip_read; if (pfile_in_zip_read_info == NULL) return UNZ_PARAMERROR; return (z_off_t) pfile_in_zip_read_info->stream.total_out; } /* return 1 if the end of file was reached, 0 elsewhere */ extern int ZEXPORT unzeof( unzFile file) { unz_s *s; file_in_zip_read_info_s *pfile_in_zip_read_info; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; pfile_in_zip_read_info = s->pfile_in_zip_read; if (pfile_in_zip_read_info == NULL) return UNZ_PARAMERROR; if (pfile_in_zip_read_info->rest_read_uncompressed == 0) return 1; else return 0; } /* * Read extra field from the current file (opened by unzOpenCurrentFile) * This is the local-header version of the extra field (sometimes, there is * more info in the local-header version than in the central-header) * * if buf==NULL, it return the size of the local extra field that can be read * * if buf!=NULL, len is the size of the buffer, the extra header is copied in * buf. * the return value is the number of bytes copied in buf, or (if <0) * the error code */ extern int ZEXPORT unzGetLocalExtrafield( unzFile file, voidp buf, unsigned len) { unz_s *s; file_in_zip_read_info_s *pfile_in_zip_read_info; uInt read_now; uLong size_to_read; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; pfile_in_zip_read_info = s->pfile_in_zip_read; if (pfile_in_zip_read_info == NULL) return UNZ_PARAMERROR; size_to_read = (pfile_in_zip_read_info->size_local_extrafield - pfile_in_zip_read_info->pos_local_extrafield); if (buf == NULL) return (int) size_to_read; if (len > size_to_read) read_now = (uInt) size_to_read; else read_now = (uInt) len; if (read_now == 0) return 0; if (ZSEEK(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, pfile_in_zip_read_info->offset_local_extrafield + pfile_in_zip_read_info->pos_local_extrafield, ZLIB_FILEFUNC_SEEK_SET) != 0) return UNZ_ERRNO; if (ZREAD(pfile_in_zip_read_info->z_filefunc, pfile_in_zip_read_info->filestream, buf, read_now) != read_now) return UNZ_ERRNO; return (int) read_now; } /* * Close the file in zip opened with unzipOpenCurrentFile * Return UNZ_CRCERROR if all the file was read but the CRC is not good */ extern int ZEXPORT unzCloseCurrentFile( unzFile file) { int err = UNZ_OK; unz_s *s; file_in_zip_read_info_s *pfile_in_zip_read_info; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; pfile_in_zip_read_info = s->pfile_in_zip_read; if (pfile_in_zip_read_info == NULL) return UNZ_PARAMERROR; if ((pfile_in_zip_read_info->rest_read_uncompressed == 0) && (!pfile_in_zip_read_info->raw)) { if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) err = UNZ_CRCERROR; } TRYFREE(pfile_in_zip_read_info->read_buffer); pfile_in_zip_read_info->read_buffer = NULL; if (pfile_in_zip_read_info->stream_initialised) inflateEnd(&pfile_in_zip_read_info->stream); pfile_in_zip_read_info->stream_initialised = 0; TRYFREE(pfile_in_zip_read_info); s->pfile_in_zip_read = NULL; return err; } /* * Get the global comment string of the ZipFile, in the szComment buffer. * uSizeBuf is the size of the szComment buffer. * return the number of byte copied or an error code <0 */ extern int ZEXPORT unzGetGlobalComment( unzFile file, char *szComment, uLong uSizeBuf) { unz_s *s; uLong uReadThis; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; uReadThis = uSizeBuf; if (uReadThis > s->gi.size_comment) uReadThis = s->gi.size_comment; if (ZSEEK (s->z_filefunc, s->filestream, s->central_pos + 22, ZLIB_FILEFUNC_SEEK_SET) != 0) return UNZ_ERRNO; if (uReadThis > 0) { *szComment = '\0'; if (ZREAD(s->z_filefunc, s->filestream, szComment, uReadThis) != uReadThis) return UNZ_ERRNO; } if ((szComment) && (uSizeBuf > s->gi.size_comment)) *(szComment + s->gi.size_comment) = '\0'; return (int) uReadThis; } /* Additions by RX '2004 */ extern uLong ZEXPORT unzGetOffset( unzFile file) { unz_s *s; if (file == NULL) return 0; s = (unz_s *) file; if (!s->current_file_ok) return 0; if (s->gi.number_entry != 0 && s->gi.number_entry != 0xffff) if (s->num_file == s->gi.number_entry) return 0; return s->pos_in_central_dir; } extern int ZEXPORT unzSetOffset( unzFile file, uLong pos) { unz_s *s; int err; if (file == NULL) return UNZ_PARAMERROR; s = (unz_s *) file; s->pos_in_central_dir = pos; s->num_file = s->gi.number_entry; /* hack */ err = unzlocal_GetCurrentFileInfoInternal(file, &s->cur_file_info, &s->cur_file_info_internal, NULL, 0, NULL, 0, NULL, 0); s->current_file_ok = (err == UNZ_OK); return err; } axis2c-src-1.6.0/util/src/minizip/axis2_iowin32.h0000644000175000017500000000231111166304676022637 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* iowin32.h -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API This IO API version uses the Win32 API (for Microsoft Windows) Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant */ #include #ifdef __cplusplus extern "C" { #endif void fill_win32_filefunc OF( (zlib_filefunc_def * pzlib_filefunc_def)); #ifdef __cplusplus } #endif axis2c-src-1.6.0/util/src/minizip/axis2_ioapi.h0000644000175000017500000000731611166304676022460 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* ioapi.h -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant */ #ifndef _ZLIBIOAPI_H #define _ZLIBIOAPI_H #define ZLIB_FILEFUNC_SEEK_CUR (1) #define ZLIB_FILEFUNC_SEEK_END (2) #define ZLIB_FILEFUNC_SEEK_SET (0) #define ZLIB_FILEFUNC_MODE_READ (1) #define ZLIB_FILEFUNC_MODE_WRITE (2) #define ZLIB_FILEFUNC_MODE_READWRITEFILTER (3) #define ZLIB_FILEFUNC_MODE_EXISTING (4) #define ZLIB_FILEFUNC_MODE_CREATE (8) #ifndef ZCALLBACK #if (defined(WIN32) || defined (WINDOWS) || defined (_WINDOWS)) && defined(CALLBACK) && defined (USEWINDOWS_CALLBACK) #define ZCALLBACK CALLBACK #else #define ZCALLBACK #endif #endif #ifdef __cplusplus extern "C" { #endif typedef voidpf( ZCALLBACK * open_file_func) OF( (voidpf opaque, const char *filename, int mode)); typedef uLong( ZCALLBACK * read_file_func) OF( (voidpf opaque, voidpf stream, void *buf, uLong size)); typedef uLong( ZCALLBACK * write_file_func) OF( (voidpf opaque, voidpf stream, const void *buf, uLong size)); typedef long( ZCALLBACK * tell_file_func) OF( (voidpf opaque, voidpf stream)); typedef long( ZCALLBACK * seek_file_func) OF( (voidpf opaque, voidpf stream, uLong offset, int origin)); typedef int( ZCALLBACK * close_file_func) OF( (voidpf opaque, voidpf stream)); typedef int( ZCALLBACK * testerror_file_func) OF( (voidpf opaque, voidpf stream)); typedef struct zlib_filefunc_def_s { open_file_func zopen_file; read_file_func zread_file; write_file_func zwrite_file; tell_file_func ztell_file; seek_file_func zseek_file; close_file_func zclose_file; testerror_file_func zerror_file; voidpf opaque; } zlib_filefunc_def; void fill_fopen_filefunc OF( (zlib_filefunc_def * pzlib_filefunc_def)); #define ZREAD(filefunc,filestream,buf,size) ((*((filefunc).zread_file))((filefunc).opaque,filestream,buf,size)) #define ZWRITE(filefunc,filestream,buf,size) ((*((filefunc).zwrite_file))((filefunc).opaque,filestream,buf,size)) #define ZTELL(filefunc,filestream) ((*((filefunc).ztell_file))((filefunc).opaque,filestream)) #define ZSEEK(filefunc,filestream,pos,mode) ((*((filefunc).zseek_file))((filefunc).opaque,filestream,pos,mode)) #define ZCLOSE(filefunc,filestream) ((*((filefunc).zclose_file))((filefunc).opaque,filestream)) #define ZERROR(filefunc,filestream) ((*((filefunc).zerror_file))((filefunc).opaque,filestream)) #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/util/src/minizip/ioapi.c0000644000175000017500000001046611166304676021345 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* ioapi.c -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant */ #include #include #include #include "zlib.h" #include "axis2_ioapi.h" /* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ #ifndef SEEK_CUR #define SEEK_CUR 1 #endif #ifndef SEEK_END #define SEEK_END 2 #endif #ifndef SEEK_SET #define SEEK_SET 0 #endif voidpf ZCALLBACK fopen_file_func OF( (voidpf opaque, const char *filename, int mode)); uLong ZCALLBACK fread_file_func OF( (voidpf opaque, voidpf stream, void *buf, uLong size)); uLong ZCALLBACK fwrite_file_func OF( (voidpf opaque, voidpf stream, const void *buf, uLong size)); long ZCALLBACK ftell_file_func OF( (voidpf opaque, voidpf stream)); long ZCALLBACK fseek_file_func OF( (voidpf opaque, voidpf stream, uLong offset, int origin)); int ZCALLBACK fclose_file_func OF( (voidpf opaque, voidpf stream)); int ZCALLBACK ferror_file_func OF( (voidpf opaque, voidpf stream)); voidpf ZCALLBACK fopen_file_func( voidpf opaque, const char *filename, int mode) { FILE *file = NULL; const char *mode_fopen = NULL; if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER) == ZLIB_FILEFUNC_MODE_READ) mode_fopen = "rb"; else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) mode_fopen = "r+b"; else if (mode & ZLIB_FILEFUNC_MODE_CREATE) mode_fopen = "wb"; if ((filename) && (mode_fopen != NULL)) file = fopen(filename, mode_fopen); return file; } uLong ZCALLBACK fread_file_func( voidpf opaque, voidpf stream, void *buf, uLong size) { uLong ret; ret = (uLong) fread(buf, 1, (size_t) size, (FILE *) stream); return ret; } uLong ZCALLBACK fwrite_file_func( voidpf opaque, voidpf stream, const void *buf, uLong size) { uLong ret; ret = (uLong) fwrite(buf, 1, (size_t) size, (FILE *) stream); return ret; } long ZCALLBACK ftell_file_func( voidpf opaque, voidpf stream) { long ret; ret = ftell((FILE *) stream); return ret; } long ZCALLBACK fseek_file_func( voidpf opaque, voidpf stream, uLong offset, int origin) { int fseek_origin = 0; long ret; switch (origin) { case ZLIB_FILEFUNC_SEEK_CUR: fseek_origin = SEEK_CUR; break; case ZLIB_FILEFUNC_SEEK_END: fseek_origin = SEEK_END; break; case ZLIB_FILEFUNC_SEEK_SET: fseek_origin = SEEK_SET; break; default: return -1; } ret = 0; fseek((FILE *) stream, offset, fseek_origin); return ret; } int ZCALLBACK fclose_file_func( voidpf opaque, voidpf stream) { int ret; ret = fclose((FILE *) stream); return ret; } int ZCALLBACK ferror_file_func( voidpf opaque, voidpf stream) { int ret; ret = ferror((FILE *) stream); return ret; } void fill_fopen_filefunc( zlib_filefunc_def *pzlib_filefunc_def) { pzlib_filefunc_def->zopen_file = fopen_file_func; pzlib_filefunc_def->zread_file = fread_file_func; pzlib_filefunc_def->zwrite_file = fwrite_file_func; pzlib_filefunc_def->ztell_file = ftell_file_func; pzlib_filefunc_def->zseek_file = fseek_file_func; pzlib_filefunc_def->zclose_file = fclose_file_func; pzlib_filefunc_def->zerror_file = ferror_file_func; pzlib_filefunc_def->opaque = NULL; } axis2c-src-1.6.0/util/src/minizip/iowin32.c0000644000175000017500000001604111166304676021531 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* iowin32.c -- IO base function header for compress/uncompress .zip files using zlib + zip or unzip API This IO API version uses the Win32 API (for Microsoft Windows) Version 1.01e, February 12th, 2005 Copyright (C) 1998-2005 Gilles Vollant */ #include #include "zlib.h" #include "axis2_ioapi.h" #include "axis2_iowin32.h" #ifndef INVALID_HANDLE_VALUE #define INVALID_HANDLE_VALUE (0xFFFFFFFF) #endif #ifndef INVALID_SET_FILE_POINTER #define INVALID_SET_FILE_POINTER ((DWORD)-1) #endif voidpf ZCALLBACK win32_open_file_func OF( (voidpf opaque, const char *filename, int mode)); uLong ZCALLBACK win32_read_file_func OF( (voidpf opaque, voidpf stream, void *buf, uLong size)); uLong ZCALLBACK win32_write_file_func OF( (voidpf opaque, voidpf stream, const void *buf, uLong size)); long ZCALLBACK win32_tell_file_func OF( (voidpf opaque, voidpf stream)); long ZCALLBACK win32_seek_file_func OF( (voidpf opaque, voidpf stream, uLong offset, int origin)); int ZCALLBACK win32_close_file_func OF( (voidpf opaque, voidpf stream)); int ZCALLBACK win32_error_file_func OF( (voidpf opaque, voidpf stream)); typedef struct { HANDLE hf; int error; } WIN32FILE_IOWIN; voidpf ZCALLBACK win32_open_file_func( voidpf opaque, const char *filename, int mode) { /*const char *mode_fopen = NULL;*/ DWORD dwDesiredAccess, dwCreationDisposition, dwShareMode, dwFlagsAndAttributes; HANDLE hFile = 0; voidpf ret = NULL; dwDesiredAccess = dwShareMode = dwFlagsAndAttributes = dwCreationDisposition = 0; /* dwCreationDisposition = 0, to avoid C4701 */ if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER) == ZLIB_FILEFUNC_MODE_READ) { dwDesiredAccess = GENERIC_READ; dwCreationDisposition = OPEN_EXISTING; dwShareMode = FILE_SHARE_READ; } else if (mode & ZLIB_FILEFUNC_MODE_EXISTING) { dwDesiredAccess = GENERIC_WRITE | GENERIC_READ; dwCreationDisposition = OPEN_EXISTING; } else if (mode & ZLIB_FILEFUNC_MODE_CREATE) { dwDesiredAccess = GENERIC_WRITE | GENERIC_READ; dwCreationDisposition = CREATE_ALWAYS; } if ((filename) && (dwDesiredAccess != 0)) hFile = CreateFile((LPCTSTR) filename, dwDesiredAccess, dwShareMode, NULL, dwCreationDisposition, dwFlagsAndAttributes, NULL); if (hFile == INVALID_HANDLE_VALUE) hFile = NULL; if (hFile) { WIN32FILE_IOWIN w32fiow; w32fiow.hf = hFile; w32fiow.error = 0; ret = malloc(sizeof(WIN32FILE_IOWIN)); if (ret == NULL) CloseHandle(hFile); else *((WIN32FILE_IOWIN *) ret) = w32fiow; } return ret; } uLong ZCALLBACK win32_read_file_func( voidpf opaque, voidpf stream, void *buf, uLong size) { uLong ret = 0; HANDLE hFile = NULL; if (stream) hFile = ((WIN32FILE_IOWIN *) stream)->hf; if (hFile) if (!ReadFile(hFile, buf, size, &ret, NULL)) { DWORD dwErr = GetLastError(); if (dwErr == ERROR_HANDLE_EOF) dwErr = 0; ((WIN32FILE_IOWIN *) stream)->error = (int) dwErr; } return ret; } uLong ZCALLBACK win32_write_file_func( voidpf opaque, voidpf stream, const void *buf, uLong size) { uLong ret = 0; HANDLE hFile = NULL; if (stream) hFile = ((WIN32FILE_IOWIN *) stream)->hf; if (hFile) if (!WriteFile(hFile, buf, size, &ret, NULL)) { DWORD dwErr = GetLastError(); if (dwErr == ERROR_HANDLE_EOF) dwErr = 0; ((WIN32FILE_IOWIN *) stream)->error = (int) dwErr; } return ret; } long ZCALLBACK win32_tell_file_func( voidpf opaque, voidpf stream) { long ret = -1; HANDLE hFile = NULL; if (stream) hFile = ((WIN32FILE_IOWIN *) stream)->hf; if (hFile) { DWORD dwSet = SetFilePointer(hFile, 0, NULL, FILE_CURRENT); if (dwSet == INVALID_SET_FILE_POINTER) { DWORD dwErr = GetLastError(); ((WIN32FILE_IOWIN *) stream)->error = (int) dwErr; ret = -1; } else ret = (long) dwSet; } return ret; } long ZCALLBACK win32_seek_file_func( voidpf opaque, voidpf stream, uLong offset, int origin) { DWORD dwMoveMethod = 0xFFFFFFFF; HANDLE hFile = NULL; long ret = -1; if (stream) hFile = ((WIN32FILE_IOWIN *) stream)->hf; switch (origin) { case ZLIB_FILEFUNC_SEEK_CUR: dwMoveMethod = FILE_CURRENT; break; case ZLIB_FILEFUNC_SEEK_END: dwMoveMethod = FILE_END; break; case ZLIB_FILEFUNC_SEEK_SET: dwMoveMethod = FILE_BEGIN; break; default: return -1; } if (hFile) { DWORD dwSet = SetFilePointer(hFile, offset, NULL, dwMoveMethod); if (dwSet == INVALID_SET_FILE_POINTER) { DWORD dwErr = GetLastError(); ((WIN32FILE_IOWIN *) stream)->error = (int) dwErr; ret = -1; } else ret = 0; } return ret; } int ZCALLBACK win32_close_file_func( voidpf opaque, voidpf stream) { int ret = -1; if (stream) { HANDLE hFile; hFile = ((WIN32FILE_IOWIN *) stream)->hf; if (hFile) { CloseHandle(hFile); ret = 0; } free(stream); } return ret; } int ZCALLBACK win32_error_file_func( voidpf opaque, voidpf stream) { int ret = -1; if (stream) { ret = ((WIN32FILE_IOWIN *) stream)->error; } return ret; } void fill_win32_filefunc( zlib_filefunc_def *pzlib_filefunc_def) { pzlib_filefunc_def->zopen_file = win32_open_file_func; pzlib_filefunc_def->zread_file = win32_read_file_func; pzlib_filefunc_def->zwrite_file = win32_write_file_func; pzlib_filefunc_def->ztell_file = win32_tell_file_func; pzlib_filefunc_def->zseek_file = win32_seek_file_func; pzlib_filefunc_def->zclose_file = win32_close_file_func; pzlib_filefunc_def->zerror_file = win32_error_file_func; pzlib_filefunc_def->opaque = NULL; } axis2c-src-1.6.0/util/src/stack.c0000644000175000017500000001074611166304700017657 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #define AXIS2_STACK_DEFAULT_CAPACITY 10 struct axutil_stack { void **data; /** current number of elements */ int size; /** total capacity */ int capacity; axis2_bool_t is_empty_stack; }; AXIS2_EXTERN axutil_stack_t *AXIS2_CALL axutil_stack_create( const axutil_env_t *env) { axutil_stack_t *stack = NULL; AXIS2_ENV_CHECK(env, NULL); stack = (axutil_stack_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_stack_t)); if (!stack) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } stack->data = NULL; stack->size = 0; stack->capacity = AXIS2_STACK_DEFAULT_CAPACITY; stack->is_empty_stack = AXIS2_TRUE; stack->data = AXIS2_MALLOC(env->allocator, sizeof(void *) * AXIS2_STACK_DEFAULT_CAPACITY); if (!stack->data) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); axutil_stack_free(stack, env); return NULL; } return stack; } void AXIS2_CALL axutil_stack_free( axutil_stack_t *stack, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (stack->data) { AXIS2_FREE(env->allocator, stack->data); } AXIS2_FREE(env->allocator, stack); return; } void *AXIS2_CALL axutil_stack_pop( axutil_stack_t *stack, const axutil_env_t *env) { void *value = NULL; AXIS2_ENV_CHECK(env, NULL); if (stack->is_empty_stack == AXIS2_TRUE || stack->size == 0) { return NULL; } if (stack->size > 0) { value = stack->data[stack->size - 1]; stack->data[stack->size - 1] = NULL; stack->size--; if (stack->size == 0) { stack->is_empty_stack = AXIS2_TRUE; } } return value; } axis2_status_t AXIS2_CALL axutil_stack_push( axutil_stack_t *stack, const axutil_env_t *env, void *value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); if ((stack->size < stack->capacity) && (stack->capacity > 0)) { stack->data[stack->size++] = value; } else { void **new_data = NULL; int new_capacity = stack->capacity + AXIS2_STACK_DEFAULT_CAPACITY; new_data = AXIS2_MALLOC(env->allocator, sizeof(void *) * new_capacity); if (!new_data) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return AXIS2_FAILURE; } memset(new_data, 0, sizeof(void *) * new_capacity); memcpy(new_data, stack->data, sizeof(void *) * (stack->capacity)); stack->capacity = new_capacity; AXIS2_FREE(env->allocator, stack->data); stack->data = new_data; stack->data[stack->size++] = value; } stack->is_empty_stack = AXIS2_FALSE; return AXIS2_SUCCESS; } int AXIS2_CALL axutil_stack_size( axutil_stack_t *stack, const axutil_env_t *env) { return stack->size; } void *AXIS2_CALL axutil_stack_get( axutil_stack_t *stack, const axutil_env_t *env) { if (stack->size > 0) { return stack->data[stack->size - 1]; } return NULL; } void *AXIS2_CALL axutil_stack_get_at( axutil_stack_t *stack, const axutil_env_t *env, int i) { if ((stack->size == 0) || (i < 0) || (i >= stack->size)) { return NULL; } return stack->data[i]; } axis2c-src-1.6.0/util/src/file.c0000644000175000017500000001065711166304700017472 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axutil_file { axis2_char_t *name; axis2_char_t *path; AXIS2_TIME_T timestamp; }; AXIS2_EXTERN axutil_file_t *AXIS2_CALL axutil_file_create( const axutil_env_t *env) { axutil_file_t *file = NULL; AXIS2_ENV_CHECK(env, NULL); file = (axutil_file_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_file_t)); if (!file) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } file->name = NULL; file->path = NULL; file->timestamp = 0; return file; } AXIS2_EXTERN void AXIS2_CALL axutil_file_free( axutil_file_t *file, const axutil_env_t *env) { if (file->name) { AXIS2_FREE(env->allocator, file->name); } if (file->path) { AXIS2_FREE(env->allocator, file->path); } if (file) { AXIS2_FREE(env->allocator, file); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_set_name( axutil_file_t *file, const axutil_env_t *env, axis2_char_t *name) { AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); if (file->name) { AXIS2_FREE(env->allocator, file->name); file->name = NULL; } file->name = axutil_strdup(env, name); if (!file->name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_file_get_name( axutil_file_t *file, const axutil_env_t *env) { if (!file->name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_FILE_NAME_NOT_SET, AXIS2_FAILURE); return NULL; } return (file->name); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_set_path( axutil_file_t *file, const axutil_env_t *env, axis2_char_t *path) { if (!path) { return AXIS2_SUCCESS; } if (file->path) { AXIS2_FREE(env->allocator, file->path); file->path = NULL; } file->path = axutil_strdup(env, path); if (!(file->path)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_file_get_path( axutil_file_t *file, const axutil_env_t *env) { if (!(file->path)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_FILE_NAME_NOT_SET, AXIS2_FAILURE); return NULL; } return (file->path); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_set_timestamp( axutil_file_t *file, const axutil_env_t *env, AXIS2_TIME_T timestamp) { file->timestamp = timestamp; return AXIS2_SUCCESS; } AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL axutil_file_get_timestamp( axutil_file_t *file, const axutil_env_t *env) { return file->timestamp; } AXIS2_EXTERN axutil_file_t *AXIS2_CALL axutil_file_clone( axutil_file_t *file, const axutil_env_t *env) { axutil_file_t *new_file = NULL; axis2_status_t status = AXIS2_FAILURE; new_file = axutil_file_create(env); status = axutil_file_set_name(new_file, env, file->name); if (AXIS2_SUCCESS != status) { return NULL; } status = axutil_file_set_path(new_file, env, file->path); if (AXIS2_SUCCESS != status) { return NULL; } axutil_file_set_timestamp(new_file, env, file->timestamp); return new_file; } axis2c-src-1.6.0/util/src/hash.c0000644000175000017500000004442411171531736017504 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axutil_hash.h" #include #include /* * The internal form of a hash table. * * The table is an array indexed by the hash of the key; collisions * are resolved by hanging a linked list of hash entries off each * element of the array. Although this is a really simple design it * isn't too bad given that environments have a low allocation overhead. */ typedef struct axutil_hash_entry_t axutil_hash_entry_t; struct axutil_hash_entry_t { axutil_hash_entry_t *next; unsigned int hash; const void *key; axis2_ssize_t klen; const void *val; }; /* * Data structure for iterating through a hash table. * We keep a pointer to the next hash entry here to allow the current * hash entry to be freed or otherwise mangled between calls to * axutil_hash_next(). */ struct axutil_hash_index_t { axutil_hash_t *ht; axutil_hash_entry_t *this, *next; unsigned int index; }; /* * The size of the array is always a power of two. We use the maximum * index rather than the size so that we can use bitwise-AND for * modular arithmetic. * The count of hash entries may be greater depending on the chosen * collision rate. */ struct axutil_hash_t { const axutil_env_t *env; axutil_hash_entry_t **array; axutil_hash_index_t iterator; /* For axutil_hash_first(NULL, ...) */ unsigned int count; unsigned int max; axutil_hashfunc_t hash_func; axutil_hash_entry_t *free; /* List of recycled entries */ }; #define INITIAL_MAX 15 /* tunable == 2^n - 1 */ /* * Hash creation functions. */ static axutil_hash_entry_t ** axutil_hash_alloc_array( axutil_hash_t *ht, unsigned int max) { return memset(AXIS2_MALLOC(ht->env->allocator, sizeof(*ht->array) * (max + 1)), 0, sizeof(*ht->array) * (max + 1)); } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_make( const axutil_env_t *env) { axutil_hash_t *ht; AXIS2_ENV_CHECK(env, NULL); ht = AXIS2_MALLOC(env->allocator, sizeof(axutil_hash_t)); if (!ht) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axutil_env_increment_ref((axutil_env_t*)env); ht->env = env; ht->free = NULL; ht->count = 0; ht->max = INITIAL_MAX; ht->array = axutil_hash_alloc_array(ht, ht->max); ht->hash_func = axutil_hashfunc_default; return ht; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_make_custom( const axutil_env_t *env, axutil_hashfunc_t hash_func) { axutil_hash_t *ht; AXIS2_ENV_CHECK(env, NULL); ht = axutil_hash_make(env); if (ht) { ht->hash_func = hash_func; } return ht; } /* * Hash iteration functions. */ AXIS2_EXTERN axutil_hash_index_t *AXIS2_CALL axutil_hash_next( const axutil_env_t *env, axutil_hash_index_t *hi) { hi->this = hi->next; while (!hi->this) { if (hi->index > hi->ht->max) { if (env) AXIS2_FREE(env->allocator, hi); return NULL; } hi->this = hi->ht->array[hi->index++]; } hi->next = hi->this->next; return hi; } AXIS2_EXTERN axutil_hash_index_t *AXIS2_CALL axutil_hash_first( axutil_hash_t *ht, const axutil_env_t *env) { axutil_hash_index_t *hi; if (env) hi = AXIS2_MALLOC(env->allocator, sizeof(*hi)); else hi = &ht->iterator; hi->ht = ht; hi->index = 0; hi->this = NULL; hi->next = NULL; return axutil_hash_next(env, hi); } AXIS2_EXTERN void AXIS2_CALL axutil_hash_this( axutil_hash_index_t *hi, const void **key, axis2_ssize_t *klen, void **val) { if (key) *key = hi->this->key; if (klen) *klen = hi->this->klen; if (val) *val = (void *) hi->this->val; } /* * Expanding a hash table */ static void axutil_hash_expand_array( axutil_hash_t *ht) { axutil_hash_index_t *hi; axutil_hash_entry_t **new_array; unsigned int new_max; new_max = ht->max * 2 + 1; new_array = axutil_hash_alloc_array(ht, new_max); for (hi = axutil_hash_first(ht, NULL); hi; hi = axutil_hash_next(NULL, hi)) { unsigned int i = hi->this->hash & new_max; hi->this->next = new_array[i]; new_array[i] = hi->this; } AXIS2_FREE(ht->env->allocator, ht->array); ht->array = new_array; ht->max = new_max; } unsigned int axutil_hashfunc_default( const char *char_key, axis2_ssize_t *klen) { unsigned int hash = 0; const unsigned char *key = (const unsigned char *) char_key; const unsigned char *p; axis2_ssize_t i; /* * This is the popular `times 33' hash algorithm which is used by * perl and also appears in Berkeley DB. This is one of the best * known hash functions for strings because it is both computed * very fast and distributes very well. * * The originator may be Dan Bernstein but the code in Berkeley DB * cites Chris Torek as the source. The best citation I have found * is "Chris Torek, Hash function for text in C, Usenet message * <27038@mimsy.umd.edu> in comp.lang.c , October, 1990." in Rich * Salz's USENIX 1992 paper about INN which can be found at * . * * The magic of number 33, i.e. why it works better than many other * constants, prime or not, has never been adequately explained by * anyone. So I try an explanation: if one experimentally tests all * multipliers between 1 and 256 (as I did while writing a low-level * data structure library some time ago) one detects that even * numbers are not useable at all. The remaining 128 odd numbers * (except for the number 1) work more or less all equally well. * They all distribute in an acceptable way and this way fill a hash * table with an average percent of approx. 86%. * * If one compares the chi^2 values of the variants (see * Bob Jenkins ``Hashing Frequently Asked Questions'' at * http://burtleburtle.net/bob/hash/hashfaq.html for a description * of chi^2), the number 33 not even has the best value. But the * number 33 and a few other equally good numbers like 17, 31, 63, * 127 and 129 have nevertheless a great advantage to the remaining * numbers in the large set of possible multipliers: their multiply * op can be replaced by a faster op based on just one * shift plus either a single addition or subtraction op. And * because a hash function has to both distribute good _and_ has to * be very fast to compute, those few numbers should be preferred. * * -- Ralf S. Engelschall */ if (*klen == AXIS2_HASH_KEY_STRING) { for (p = key; *p; p++) { hash = hash * 33 + *p; } *klen = (axis2_ssize_t)(p - key); /* We are sure that the difference lies within the axis2_ssize_t range */ } else { for (p = key, i = *klen; i; i--, p++) { hash = hash * 33 + *p; } } return hash; } /* * This is where we keep the details of the hash function and control * the maximum collision rate. * * If val is non-NULL it creates and initializes a new hash entry if * there isn't already one there; it returns an updatable pointer so * that hash entries can be removed. */ static axutil_hash_entry_t ** axutil_hash_find_entry( axutil_hash_t *ht, const void *key, axis2_ssize_t klen, const void *val) { axutil_hash_entry_t **hep, *he; unsigned int hash; hash = ht->hash_func(key, &klen); /* scan linked list */ for (hep = &ht->array[hash & ht->max], he = *hep; he; hep = &he->next, he = *hep) { if (he->hash == hash && he->klen == klen && memcmp(he->key, key, klen) == 0) break; } if (he || !val) return hep; /* add a new entry for non-NULL values */ he = ht->free; if (he) ht->free = he->next; else he = AXIS2_MALLOC(ht->env->allocator, sizeof(*he)); he->next = NULL; he->hash = hash; he->key = key; he->klen = klen; he->val = val; *hep = he; ht->count++; return hep; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_copy( const axutil_hash_t *orig, const axutil_env_t *env) { axutil_hash_t *ht; axutil_hash_entry_t *new_vals; unsigned int i, j; ht = AXIS2_MALLOC(env->allocator, sizeof(axutil_hash_t) + sizeof(*ht->array) * (orig->max + 1) + sizeof(axutil_hash_entry_t) * orig->count); ht->env = env; axutil_env_increment_ref((axutil_env_t*)env); ht->free = NULL; ht->count = orig->count; ht->max = orig->max; ht->hash_func = orig->hash_func; ht->array = (axutil_hash_entry_t **) ((char *) ht + sizeof(axutil_hash_t)); new_vals = (axutil_hash_entry_t *) ((char *) (ht) + sizeof(axutil_hash_t) + sizeof(*ht->array) * (orig->max + 1)); j = 0; for (i = 0; i <= ht->max; i++) { axutil_hash_entry_t **new_entry = &(ht->array[i]); axutil_hash_entry_t *orig_entry = orig->array[i]; while (orig_entry) { *new_entry = &new_vals[j++]; (*new_entry)->hash = orig_entry->hash; (*new_entry)->key = orig_entry->key; (*new_entry)->klen = orig_entry->klen; (*new_entry)->val = orig_entry->val; new_entry = &((*new_entry)->next); orig_entry = orig_entry->next; } *new_entry = NULL; } return ht; } AXIS2_EXTERN void *AXIS2_CALL axutil_hash_get( axutil_hash_t *ht, const void *key, axis2_ssize_t klen) { axutil_hash_entry_t *he; he = *axutil_hash_find_entry(ht, key, klen, NULL); if (he) return (void *) he->val; else return NULL; } AXIS2_EXTERN void AXIS2_CALL axutil_hash_set( axutil_hash_t *ht, const void *key, axis2_ssize_t klen, const void *val) { axutil_hash_entry_t **hep; hep = axutil_hash_find_entry(ht, key, klen, val); if (*hep) { if (!val) { /* delete entry */ axutil_hash_entry_t *old = *hep; *hep = (*hep)->next; old->next = ht->free; ht->free = old; --ht->count; } else { /* replace entry */ (*hep)->val = val; /* check that the collision rate isn't too high */ if (ht->count > ht->max) { axutil_hash_expand_array(ht); } } } /* else key not present and val==NULL */ } AXIS2_EXTERN unsigned int AXIS2_CALL axutil_hash_count( axutil_hash_t *ht) { return ht->count; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_overlay( const axutil_hash_t *overlay, const axutil_env_t *env, const axutil_hash_t *base) { return axutil_hash_merge(overlay, env, base, NULL, NULL); } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_merge( const axutil_hash_t *overlay, const axutil_env_t *env, const axutil_hash_t *base, void *(*merger) (const axutil_env_t *env, const void *key, axis2_ssize_t klen, const void *h1_val, const void *h2_val, const void *data), const void *data) { axutil_hash_t *res; axutil_hash_entry_t *new_vals = NULL; axutil_hash_entry_t *iter; axutil_hash_entry_t *ent; unsigned int i, k; #if AXIS2_POOL_DEBUG /* we don't copy keys and values, so it's necessary that * overlay->a.env and base->a.env have a life span at least * as long as p */ if (!axutil_env_is_ancestor(overlay->env, p)) { fprintf(stderr, "axutil_hash_merge: overlay's env is not an ancestor of p\n"); abort(); } if (!axutil_env_is_ancestor(base->env, p)) { fprintf(stderr, "axutil_hash_merge: base's env is not an ancestor of p\n"); abort(); } #endif res = AXIS2_MALLOC(env->allocator, sizeof(axutil_hash_t)); res->env = env; axutil_env_increment_ref((axutil_env_t*)env); res->free = NULL; res->hash_func = base->hash_func; res->count = base->count; res->max = (overlay->max > base->max) ? overlay->max : base->max; if (base->count + overlay->count > res->max) { res->max = res->max * 2 + 1; } res->array = axutil_hash_alloc_array(res, res->max); for (k = 0; k <= base->max; k++) { for (iter = base->array[k]; iter; iter = iter->next) { i = iter->hash & res->max; new_vals = AXIS2_MALLOC(env->allocator, sizeof(axutil_hash_entry_t)); new_vals->klen = iter->klen; new_vals->key = iter->key; new_vals->val = iter->val; new_vals->hash = iter->hash; new_vals->next = res->array[i]; res->array[i] = new_vals; } } for (k = 0; k <= overlay->max; k++) { for (iter = overlay->array[k]; iter; iter = iter->next) { i = iter->hash & res->max; for (ent = res->array[i]; ent; ent = ent->next) { if ((ent->klen == iter->klen) && (memcmp(ent->key, iter->key, iter->klen) == 0)) { if (merger) { ent->val = (*merger) (env, iter->key, iter->klen, iter->val, ent->val, data); } else { ent->val = iter->val; } break; } } if (!ent) { new_vals = AXIS2_MALLOC(env->allocator, sizeof(axutil_hash_entry_t)); new_vals->klen = iter->klen; new_vals->key = iter->key; new_vals->val = iter->val; new_vals->hash = iter->hash; new_vals->next = res->array[i]; res->array[i] = new_vals; res->count++; } } } return res; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_hash_contains_key( axutil_hash_t *ht, const axutil_env_t *env, const axis2_char_t *key) { axutil_hash_index_t *i = NULL; for (i = axutil_hash_first(ht, env); i; i = axutil_hash_next(env, i)) { const void *v = NULL; const axis2_char_t *key_l = NULL; axutil_hash_this(i, &v, NULL, NULL); key_l = (const axis2_char_t *) v; if (0 == axutil_strcmp(key, key_l)) return AXIS2_TRUE; } return AXIS2_FALSE; } /* void axutil_hash_entry_free( const axutil_env_t *env, axutil_hash_entry_t *hash_entry) { if (!hash_entry) return; if (hash_entry->next) { axutil_hash_entry_free(env, hash_entry->next); } AXIS2_FREE(env->allocator, hash_entry); return; } */ AXIS2_EXTERN void AXIS2_CALL axutil_hash_free( axutil_hash_t *ht, const axutil_env_t *env) { unsigned int i = 0; if (ht) { for (i = 0; i <= ht->max; i++) { axutil_hash_entry_t *next = NULL; axutil_hash_entry_t *current = ht->array[i]; while (current) { next = current->next; AXIS2_FREE(env->allocator, current); current = NULL; current = next; } } if (ht->free) { axutil_hash_entry_t *next = NULL; axutil_hash_entry_t *current = ht->free; while (current) { next = current->next; AXIS2_FREE(env->allocator, current); current = NULL; current = next; } } if (ht->env) { /*since we now keep a ref count in env and incrementing it *inside hash_make we need to free the env.Depending on the situation the env struct is freed or ref count will be decremented.*/ axutil_free_thread_env((axutil_env_t*)(ht->env)); ht->env = NULL; } AXIS2_FREE(env->allocator, (ht->array)); AXIS2_FREE(env->allocator, ht); } return; } AXIS2_EXTERN void AXIS2_CALL axutil_hash_free_void_arg( void *ht_void, const axutil_env_t *env) { unsigned int i = 0; axutil_hash_t *ht = (axutil_hash_t *) ht_void; if (ht) { for (i = 0; i < ht->max; i++) { axutil_hash_entry_t *next = NULL; axutil_hash_entry_t *current = ht->array[i]; while (current) { next = current->next; AXIS2_FREE(env->allocator, current); current = next; } } AXIS2_FREE(env->allocator, (ht->array)); AXIS2_FREE(env->allocator, ht); } return; } AXIS2_EXTERN void AXIS2_CALL axutil_hash_set_env( axutil_hash_t * ht, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (ht) { if (ht->env) { /*since we now keep a ref count in env and incrementing it *inside hash_make we need to free the env.Depending on the situation the env struct is freed or ref count will be decremented.*/ axutil_free_thread_env((axutil_env_t*)(ht->env)); ht->env = NULL; } ht->env = env; axutil_env_increment_ref((axutil_env_t*)env); } } axis2c-src-1.6.0/util/src/Makefile.am0000644000175000017500000000315511166304700020436 0ustar00manjulamanjula00000000000000SUBDIRS = platforms/unix @ZLIBBUILD@ lib_LTLIBRARIES = libaxutil.la libaxutil_la_SOURCES = hash.c \ allocator.c \ env.c \ error.c \ stream.c \ log.c \ string.c \ string_util.c \ qname.c \ array_list.c \ linked_list.c \ utils.c \ dir_handler.c \ file_handler.c \ class_loader.c\ network_handler.c \ file.c\ uuid_gen.c\ thread_pool.c \ property.c \ types.c \ param.c \ param_container.c \ dll_desc.c\ url.c\ stack.c \ generic_obj.c \ base64.c \ uri.c \ date_time.c \ base64_binary.c \ properties.c \ rand.c \ date_time_util.c \ version.c \ duration.c \ md5.c \ http_chunked_stream.c \ digest_calc.c libaxutil_la_LIBADD = $(top_builddir)/src/platforms/unix/libaxis2_unix.la \ @ZLIBLIBS@ libaxutil_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include EXTRA_DIST=platforms/windows string_util.c axis2c-src-1.6.0/util/src/Makefile.in0000644000175000017500000005577011172017167020466 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxutil_la_DEPENDENCIES = \ $(top_builddir)/src/platforms/unix/libaxis2_unix.la am_libaxutil_la_OBJECTS = hash.lo allocator.lo env.lo error.lo \ stream.lo log.lo string.lo string_util.lo qname.lo \ array_list.lo linked_list.lo utils.lo dir_handler.lo \ file_handler.lo class_loader.lo network_handler.lo file.lo \ uuid_gen.lo thread_pool.lo property.lo types.lo param.lo \ param_container.lo dll_desc.lo url.lo stack.lo generic_obj.lo \ base64.lo uri.lo date_time.lo base64_binary.lo properties.lo \ rand.lo date_time_util.lo version.lo duration.lo md5.lo \ http_chunked_stream.lo digest_calc.lo libaxutil_la_OBJECTS = $(am_libaxutil_la_OBJECTS) libaxutil_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxutil_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxutil_la_SOURCES) DIST_SOURCES = $(libaxutil_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = platforms/unix @ZLIBBUILD@ lib_LTLIBRARIES = libaxutil.la libaxutil_la_SOURCES = hash.c \ allocator.c \ env.c \ error.c \ stream.c \ log.c \ string.c \ string_util.c \ qname.c \ array_list.c \ linked_list.c \ utils.c \ dir_handler.c \ file_handler.c \ class_loader.c\ network_handler.c \ file.c\ uuid_gen.c\ thread_pool.c \ property.c \ types.c \ param.c \ param_container.c \ dll_desc.c\ url.c\ stack.c \ generic_obj.c \ base64.c \ uri.c \ date_time.c \ base64_binary.c \ properties.c \ rand.c \ date_time_util.c \ version.c \ duration.c \ md5.c \ http_chunked_stream.c \ digest_calc.c libaxutil_la_LIBADD = $(top_builddir)/src/platforms/unix/libaxis2_unix.la \ @ZLIBLIBS@ libaxutil_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include EXTRA_DIST = platforms/windows string_util.c all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxutil.la: $(libaxutil_la_OBJECTS) $(libaxutil_la_DEPENDENCIES) $(libaxutil_la_LINK) -rpath $(libdir) $(libaxutil_la_OBJECTS) $(libaxutil_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array_list.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base64_binary.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/class_loader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date_time.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date_time_util.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/digest_calc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dir_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/dll_desc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/duration.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/env.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/generic_obj.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/hash.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http_chunked_stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linked_list.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/log.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/network_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/param.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/param_container.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/properties.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/property.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/qname.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stream.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_util.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/thread_pool.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/types.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uuid_gen.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/src/date_time.c0000644000175000017500000005533711166304700020512 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include struct axutil_date_time { int year; int mon; int day; int hour; int min; float sec; axis2_bool_t tz_pos; int tz_hour; int tz_min; }; AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_create_with_offset( const axutil_env_t *env, int offset) { axutil_date_time_t *date_time = NULL; time_t t; struct tm *utc_time = NULL; AXIS2_ENV_CHECK(env, NULL); date_time = (axutil_date_time_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_date_time_t)); if (!date_time) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } t = time(NULL) + offset; utc_time = gmtime(&t); date_time->year = utc_time->tm_year; date_time->mon = utc_time->tm_mon; date_time->day = utc_time->tm_mday; date_time->hour = utc_time->tm_hour; date_time->min = utc_time->tm_min; date_time->sec = (float)utc_time->tm_sec; date_time->sec += (float)axutil_get_milliseconds(env) / 1000; date_time->tz_hour = 0; date_time->tz_min = 0; date_time->tz_pos = AXIS2_TRUE; return date_time; } AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_create( const axutil_env_t *env) { return axutil_date_time_create_with_offset(env, 0); } AXIS2_EXTERN void AXIS2_CALL axutil_date_time_free( axutil_date_time_t *date_time, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (date_time) { AXIS2_FREE(env->allocator, date_time); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_time( axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *time_str) { int hour; int min; float sec; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); sscanf(time_str, "%d:%d:%fZ", &hour, &min, &sec); if (hour < 0 || hour > 23) { return AXIS2_FAILURE; } if (min < 0 || min > 59) { return AXIS2_FAILURE; } if (sec < 0 || sec >= 60) { return AXIS2_FAILURE; } date_time->hour = hour; date_time->min = min; date_time->sec = sec; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_time_with_time_zone( axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *time_str) { int hour; int min; float sec; int tz_hour; int tz_min; axis2_bool_t tz_pos = AXIS2_TRUE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (strchr(time_str, 'Z')) { return AXIS2_FAILURE; } else if (!strchr(time_str, '+')) { tz_pos = AXIS2_FALSE; } if (tz_pos) { sscanf(time_str, "%d:%d:%f+%d:%d", &hour, &min, &sec, &tz_hour, &tz_min); } else { sscanf(time_str, "%d:%d:%f-%d:%d", &hour, &min, &sec, &tz_hour, &tz_min); } if (hour < 0 || hour > 23) { return AXIS2_FAILURE; } if (min < 0 || min > 59) { return AXIS2_FAILURE; } if (sec < 0 || sec >= 60) { return AXIS2_FAILURE; } if (tz_hour < 0 || tz_hour > 14) { return AXIS2_FAILURE; } if (tz_min < 0 || tz_min > 59) { return AXIS2_FAILURE; } if (tz_hour == 14 && tz_min != 0) { return AXIS2_FAILURE; } date_time->hour = hour; date_time->min = min; date_time->sec = sec; date_time->tz_pos = tz_pos; date_time->tz_hour = tz_hour; date_time->tz_min = tz_min; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_date( axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_str) { int year; int mon; int day; int is_year_neg = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!date_str || *date_str == '+') { return AXIS2_FAILURE; } if (*date_str == '-') { is_year_neg++; } sscanf(date_str + is_year_neg, "%d-%d-%d", &year, &mon, &day); if (is_year_neg) { year *= -1; } if (mon < 1 || mon > 12) { return AXIS2_FAILURE; } if (day < 1 || day > 31) { return AXIS2_FAILURE; } if (day == 31 && (mon == 2 || mon == 4 || mon == 6 || mon == 9 || mon == 11)) { return AXIS2_FAILURE; } if (day == 30 && mon == 2) { return AXIS2_FAILURE; } if (day == 29 && mon == 2) { if (year % 4 != 0 || year % 400 == 0) { return AXIS2_FAILURE; } } date_time->year = year - 1900; date_time->mon = mon - 1; date_time->day = day; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_date_time( axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_time_str) { int year; int mon; int day; int hour; int min; float sec; int is_year_neg = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!date_time_str || *date_time_str == '+') { return AXIS2_FAILURE; } if (*date_time_str == '-') { is_year_neg++; } sscanf(date_time_str + is_year_neg, "%d-%d-%dT%d:%d:%fZ", &year, &mon, &day, &hour, &min, &sec); if (is_year_neg) { year *= -1; } if (mon < 1 || mon > 12) { return AXIS2_FAILURE; } if (day < 1 || day > 31) { return AXIS2_FAILURE; } if (day == 31 && (mon == 2 || mon == 4 || mon == 6 || mon == 9 || mon == 11)) { return AXIS2_FAILURE; } if (day == 30 && mon == 2) { return AXIS2_FAILURE; } if (day == 29 && mon == 2) { if (year % 4 != 0 || year % 400 == 0) { return AXIS2_FAILURE; } } if (hour < 0 || hour > 23) { return AXIS2_FAILURE; } if (min < 0 || min > 59) { return AXIS2_FAILURE; } if (sec < 0 || sec >= 60) { return AXIS2_FAILURE; } date_time->year = year - 1900; date_time->mon = mon - 1; date_time->day = day; date_time->hour = hour; date_time->min = min; date_time->sec = sec; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_date_time_with_time_zone( axutil_date_time_t *date_time, const axutil_env_t *env, const axis2_char_t *date_time_str) { int year; int mon; int day; int hour; int min; float sec; int tz_hour; int tz_min; int is_year_neg = 0; axis2_bool_t tz_pos = AXIS2_FALSE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!date_time_str || *date_time_str == '+') { return AXIS2_FAILURE; } if (*date_time_str == '-') { is_year_neg++; } if (strchr(date_time_str, 'Z')) { return AXIS2_FAILURE; } else if (strchr(date_time_str, '+')) { tz_pos = AXIS2_TRUE; } if (tz_pos) { sscanf(date_time_str + is_year_neg, "%d-%d-%dT%d:%d:%f+%d:%d", &year, &mon, &day, &hour, &min, &sec, &tz_hour, &tz_min); } else { sscanf(date_time_str + is_year_neg, "%d-%d-%dT%d:%d:%f-%d:%d", &year, &mon, &day, &hour, &min, &sec, &tz_hour, &tz_min); } if (is_year_neg) { year *= -1; } if (mon < 1 || mon > 12) { return AXIS2_FAILURE; } if (day < 1 || day > 31) { return AXIS2_FAILURE; } if (day == 31 && (mon == 2 || mon == 4 || mon == 6 || mon == 9 || mon == 11)) { return AXIS2_FAILURE; } if (day == 30 && mon == 2) { return AXIS2_FAILURE; } if (day == 29 && mon == 2) { if (year % 4 != 0 || year % 400 == 0) { return AXIS2_FAILURE; } } if (hour < 0 || hour > 23) { return AXIS2_FAILURE; } if (min < 0 || min > 59) { return AXIS2_FAILURE; } if (sec < 0 || sec >= 60) { return AXIS2_FAILURE; } if (tz_hour < 0 || tz_hour > 14) { return AXIS2_FAILURE; } if (tz_min < 0 || tz_min > 59) { return AXIS2_FAILURE; } if (tz_hour == 14 && tz_min != 0) { return AXIS2_FAILURE; } date_time->year = year - 1900; date_time->mon = mon - 1; date_time->day = day; date_time->hour = hour; date_time->min = min; date_time->sec = sec; date_time->tz_pos = tz_pos; date_time->tz_hour = tz_hour; date_time->tz_min = tz_min; return AXIS2_SUCCESS; } /*Check if the @data_time is not expired, compared to @ref*/ AXIS2_EXTERN axutil_date_time_comp_result_t AXIS2_CALL axutil_date_time_compare( axutil_date_time_t *date_time, const axutil_env_t *env, axutil_date_time_t *ref) { int dt_min; int ref_min; int dt_hour; int ref_hour; AXIS2_ENV_CHECK(env, AXIS2_DATE_TIME_COMP_RES_FAILURE); if (date_time->year < ref->year) { return AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED; } else if (date_time->year > ref->year) { return AXIS2_DATE_TIME_COMP_RES_EXPIRED; } if (date_time->mon < ref->mon) { return AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED; } else if (date_time->mon > ref->mon) { return AXIS2_DATE_TIME_COMP_RES_EXPIRED; } if (date_time->day < ref->day) { return AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED; } else if (date_time->day > ref->day) { return AXIS2_DATE_TIME_COMP_RES_EXPIRED; } dt_min = date_time->tz_min; dt_hour = date_time->tz_hour; ref_min = ref->tz_min; ref_hour = ref->tz_hour; if (date_time->tz_pos) { dt_min *= -1; dt_hour *= -1; } if (ref->tz_pos) { ref_min *= -1; ref_hour *= -1; } dt_min += date_time->min; dt_hour += date_time->hour; ref_min += ref->min; ref_hour += ref->hour; if (dt_hour < ref_hour) { return AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED; } else if (dt_hour > ref_hour) { return AXIS2_DATE_TIME_COMP_RES_EXPIRED; } if (dt_min < ref_min) { return AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED; } else if (dt_min > ref_min) { return AXIS2_DATE_TIME_COMP_RES_EXPIRED; } if (date_time->sec < ref->sec) { return AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED; } else if (date_time->sec > ref->sec) { return AXIS2_DATE_TIME_COMP_RES_EXPIRED; } return AXIS2_DATE_TIME_COMP_RES_EQUAL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_set_time_zone( axutil_date_time_t *date_time, const axutil_env_t *env, axis2_bool_t is_positive, int hour, int min) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (hour < 0 || hour > 14) { return AXIS2_FAILURE; } if (min < 0 || min > 59) { return AXIS2_FAILURE; } if (hour == 14 && min != 0) { return AXIS2_FAILURE; } date_time->tz_pos = is_positive; date_time->tz_hour = hour; date_time->tz_min = min; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_set_date_time( axutil_date_time_t *date_time, const axutil_env_t *env, int year, int mon, int day, int hour, int min, int sec, int msec) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (mon < 1 || mon > 12) { return AXIS2_FAILURE; } if (day < 1 || day > 31) { return AXIS2_FAILURE; } if (day == 31 && (mon == 2 || mon == 4 || mon == 6 || mon == 9 || mon == 11)) { return AXIS2_FAILURE; } if (day == 30 && mon == 2) { return AXIS2_FAILURE; } if (day == 29 && mon == 2) { if (year % 4 != 0 || year % 400 == 0) { return AXIS2_FAILURE; } } if (hour < 0 || hour > 23) { return AXIS2_FAILURE; } if (min < 0 || min > 59) { return AXIS2_FAILURE; } if (sec < 0 || sec > 59) { return AXIS2_FAILURE; } if (msec < 0 || msec > 999) { return AXIS2_FAILURE; } date_time->year = year - 1900; date_time->mon = mon - 1; date_time->day = day; date_time->hour = hour; date_time->min = min; date_time->sec = (float)sec; date_time->sec += (float)msec / 1000; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_time( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_char_t *time_str = NULL; AXIS2_ENV_CHECK(env, NULL); time_str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 32); sprintf(time_str, "%02d:%02d:%06.3fZ", date_time->hour, date_time->min, date_time->sec); return time_str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_time_with_time_zone( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_char_t *time_str = NULL; AXIS2_ENV_CHECK(env, NULL); if (!date_time->tz_hour && !date_time->tz_min) { return axutil_date_time_serialize_time(date_time, env); } time_str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 37); sprintf(time_str, "%02d:%02d:%06.3f%c%02d:%02d", date_time->hour, date_time->min, date_time->sec, date_time->tz_pos ? '+': '-', date_time->tz_hour, date_time->tz_min); return time_str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_char_t *date_str = NULL; AXIS2_ENV_CHECK(env, NULL); date_str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 32); sprintf(date_str, "%d-%02d-%02d", date_time->year + 1900, date_time->mon + 1, date_time->day); return date_str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date_time( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_char_t *date_time_str = NULL; AXIS2_ENV_CHECK(env, NULL); date_time_str = AXIS2_MALLOC(env->allocator, sizeof(char) * 32); sprintf(date_time_str, "%d-%02d-%02dT%02d:%02d:%06.3fZ", date_time->year + 1900, date_time->mon + 1, date_time->day, date_time->hour, date_time->min, date_time->sec); return date_time_str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date_time_without_millisecond( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_char_t *date_time_str = NULL; AXIS2_ENV_CHECK(env, NULL); date_time_str = AXIS2_MALLOC(env->allocator, sizeof(char) * 32); sprintf(date_time_str, "%d-%02d-%02dT%02d:%02d:%02.0fZ", date_time->year + 1900, date_time->mon + 1, date_time->day, date_time->hour, date_time->min, date_time->sec); return date_time_str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date_time_with_time_zone( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_char_t *date_time_str = NULL; AXIS2_ENV_CHECK(env, NULL); if (!date_time->tz_hour && !date_time->tz_min) { return axutil_date_time_serialize_date_time(date_time, env); } date_time_str = AXIS2_MALLOC(env->allocator, sizeof(char) * 37); sprintf(date_time_str, "%d-%02d-%02dT%02d:%02d:%06.3f%c%02d:%02d", date_time->year + 1900, date_time->mon + 1, date_time->day, date_time->hour, date_time->min, date_time->sec, date_time->tz_pos ? '+': '-', date_time->tz_hour, date_time->tz_min); return date_time_str; } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_year( axutil_date_time_t *date_time, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return (date_time->year + 1900); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_month( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->mon + 1); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_date( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->day); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_hour( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->hour); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_minute( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->min); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_second( axutil_date_time_t *date_time, const axutil_env_t *env) { return (int)(date_time->sec); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_msec( axutil_date_time_t *date_time, const axutil_env_t *env) { /* Precision is 1/100 of a millisecond */ float ret = (float)((date_time->sec - (float)((int)date_time->sec)) * 1000.0); return (int)((ret * 100.0 + 0.5) / 100.0); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_time_zone_hour( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->tz_hour); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_time_zone_minute( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->tz_min); } AXIS2_EXTERN int AXIS2_CALL axutil_date_time_is_time_zone_positive( axutil_date_time_t *date_time, const axutil_env_t *env) { return (date_time->tz_pos); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_date_time_is_utc( axutil_date_time_t *date_time, const axutil_env_t *env) { axis2_bool_t is_utc = AXIS2_TRUE; if (date_time->tz_hour || date_time->tz_min) { is_utc = AXIS2_FALSE; } return is_utc; } AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_local_to_utc( axutil_date_time_t *date_time, const axutil_env_t *env) { int year; int mon; int day; int hour; int min; float sec; int tz_hour; int tz_min; axis2_bool_t tz_pos = AXIS2_FALSE; axutil_date_time_t *ret = NULL; year = date_time->year; mon = date_time->mon; day = date_time->day; hour = date_time->hour; min = date_time->min; sec = date_time->sec; tz_pos = date_time->tz_pos; tz_hour = date_time->tz_hour; tz_min = date_time->tz_min; if (tz_pos) { tz_hour *= -1; tz_min *= -1; } hour += tz_hour; min += tz_min; if (min > 59) { hour += min / 60; min %= 60; } while (min < 0) { hour--; min += 60; } if (hour > 23) { day += hour / 24; hour %= 24; } while (hour < 0) { day--; hour += 24; } mon--; while (mon < 0) { mon += 12; year--; } while (mon > 11) { mon -= 12; year++; } mon++; day--; while (day > 27) { if (mon == 2) { if (year % 4 != 0 || year % 400 == 0) { day -= 28; mon++; } else if (day > 28) { day -= 29; mon++; } else { break; } } else if (day > 29) { if (mon == 4 || mon == 6 || mon == 9 || mon == 11) { day -= 30; } else if (day > 30) { day -= 31; } else { break; } mon++; } else { break; } if (mon > 12) { mon = 1; year++; } } while (day < 0) { if (mon == 3) { day += 28; if (year % 4 == 0 || year % 400 != 0) { day++; } } if (mon == 5 || mon == 7 || mon == 10 || mon == 12) { day += 30; } else { day += 31; } mon--; if (mon < 1) { mon = 12; year--; } } day++; if (mon < 1 || mon > 12) { return NULL; } if (day < 1 || day > 31) { return NULL; } if (day == 31 && (mon == 2 || mon == 4 || mon == 6 || mon == 9 || mon == 11)) { return NULL; } if (day == 30 && mon == 2) { return NULL; } if (day == 29 && mon == 2) { if (year % 4 != 0 || year % 400 == 0) { return NULL; } } if (hour < 0 || hour > 23) { return NULL; } if (min < 0 || min > 59) { return NULL; } if (sec < 0 || sec >= 60) { return NULL; } ret = axutil_date_time_create(env); ret->year = year - 1900; ret->mon = mon - 1; ret->day = day; ret->hour = hour; ret->min = min; ret->sec = sec; return ret; } AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_utc_to_local( axutil_date_time_t *date_time_in, const axutil_env_t *env, axis2_bool_t is_positive, int hour, int min) { axutil_date_time_t *date_time = NULL; axutil_date_time_t *ret = NULL; if (date_time_in->tz_hour && date_time_in->tz_min) { return NULL; } date_time->year = date_time_in->year; date_time->mon = date_time_in->mon; date_time->day = date_time_in->day; date_time->hour = date_time_in->hour; date_time->min = date_time_in->min; date_time->sec = date_time_in->sec; date_time->tz_hour = hour; date_time->tz_min = min; date_time->tz_pos = is_positive ? AXIS2_FALSE : AXIS2_TRUE; ret = axutil_date_time_local_to_utc(date_time, env); ret->tz_hour = hour; ret->tz_min = min; ret->tz_pos = is_positive; axutil_date_time_free(date_time, env); return ret; } axis2c-src-1.6.0/util/src/properties.c0000644000175000017500000002326611166304700020747 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #define MAX_SIZE 1024 #define MAX_ALLOC (MAX_SIZE * 64) axis2_char_t *axutil_properties_read( FILE *input, const axutil_env_t *env); axis2_char_t *axutil_properties_read_next( axis2_char_t *cur); axis2_char_t *axutil_properties_trunk_and_dup( axis2_char_t *start, axis2_char_t *end, const axutil_env_t *env); struct axutil_properties { axutil_hash_t *prop_hash; }; AXIS2_EXTERN axutil_properties_t *AXIS2_CALL axutil_properties_create( const axutil_env_t *env) { axutil_properties_t *properties = NULL; AXIS2_ENV_CHECK(env, NULL); properties = (axutil_properties_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_properties_t)); if (!properties) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Not enough memory"); return NULL; } properties->prop_hash = axutil_hash_make(env); return properties; } AXIS2_EXTERN void AXIS2_CALL axutil_properties_free( axutil_properties_t *properties, const axutil_env_t *env) { axis2_char_t *key = NULL; axis2_char_t *value = NULL; axutil_hash_index_t *hi = NULL; if (properties->prop_hash) { for (hi = axutil_hash_first(properties->prop_hash, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, (void *) &key, NULL, (void *) &value); if (key) { AXIS2_FREE(env->allocator, key); } if (value) { AXIS2_FREE(env->allocator, value); } } axutil_hash_free(properties->prop_hash, env); } if (properties) { AXIS2_FREE(env->allocator, properties); } return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_properties_get_property( axutil_properties_t *properties, const axutil_env_t *env, axis2_char_t *key) { AXIS2_PARAM_CHECK(env->error, key, NULL); return axutil_hash_get(properties->prop_hash, key, AXIS2_HASH_KEY_STRING); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_properties_set_property( axutil_properties_t *properties, const axutil_env_t *env, axis2_char_t *key, axis2_char_t *value) { axis2_char_t *old = NULL; AXIS2_PARAM_CHECK(env->error, key, AXIS2_FAILURE); old = axutil_properties_get_property(properties, env, key); if (old) { AXIS2_FREE(env->allocator, old); axutil_hash_set(properties->prop_hash, key, AXIS2_HASH_KEY_STRING, axutil_strdup(env, value)); return AXIS2_SUCCESS; } axutil_hash_set(properties->prop_hash, axutil_strdup(env, key), AXIS2_HASH_KEY_STRING, axutil_strdup(env, value)); return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_properties_get_all( axutil_properties_t *properties, const axutil_env_t *env) { return properties->prop_hash; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_properties_store( axutil_properties_t *properties, const axutil_env_t *env, FILE *output) { axutil_hash_index_t *hi = NULL; axis2_char_t *key = NULL; axis2_char_t *value = NULL; AXIS2_PARAM_CHECK(env->error, output, AXIS2_FAILURE); if (properties->prop_hash) { for (hi = axutil_hash_first(properties->prop_hash, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, (void *) &key, NULL, (void *) &value); if (key) { if (!value) { value = axutil_strdup(env, ""); } fprintf(output, "%s=%s\n", key, value); } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_properties_load( axutil_properties_t *properties, const axutil_env_t *env, axis2_char_t *input_filename) { FILE *input = NULL; axis2_char_t *cur = NULL; axis2_char_t *tag = NULL; const int LINE_STARTED = -1; const int LINE_MIDWAY = 0; const int EQUAL_FOUND = 1; const int LINE_HALFWAY = 2; int status = LINE_STARTED; axis2_char_t *key = NULL; axutil_hash_t *prop_hash = NULL; axis2_char_t *buffer = NULL; axis2_char_t loginfo[1024]; AXIS2_PARAM_CHECK(env->error, input_filename, AXIS2_FAILURE); prop_hash = properties->prop_hash; input = fopen(input_filename, "r+"); if (!input) { return AXIS2_FAILURE; } buffer = axutil_properties_read(input, env); if (!buffer) { sprintf(loginfo, "error in reading file\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, loginfo); AXIS2_FREE(env->allocator, buffer); return AXIS2_FAILURE; } for (cur = axutil_properties_read_next(buffer); *cur; cur = axutil_properties_read_next(++cur)) { if (*cur == '\r') { *cur = '\0'; } else if (*cur != '\0' && *cur != '\n' && status == LINE_STARTED) { tag = cur; status = LINE_MIDWAY; } /* equal found just create a property */ else if (*cur == '=' && status == LINE_MIDWAY) { *cur = '\0'; if (status != LINE_MIDWAY) { sprintf(loginfo, "equal apear in wrong place around %s\n", tag); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, loginfo); AXIS2_FREE(env->allocator, buffer); return AXIS2_FAILURE; } status = EQUAL_FOUND; key = axutil_properties_trunk_and_dup(tag, cur, env); } /* right next to the equal found */ else if (status == EQUAL_FOUND) { tag = cur; status = LINE_HALFWAY; } else if (*cur == '\n') { *cur = '\0'; if (status == LINE_HALFWAY) { tag = axutil_properties_trunk_and_dup(tag, cur, env); axutil_hash_set(prop_hash, key, AXIS2_HASH_KEY_STRING, tag); } status = LINE_STARTED; } } if (status == LINE_HALFWAY) { *cur = '\0'; tag = axutil_properties_trunk_and_dup(tag, cur, env); axutil_hash_set(prop_hash, key, AXIS2_HASH_KEY_STRING, tag); status = LINE_STARTED; } if (status != LINE_STARTED) { sprintf(loginfo, "error parsing properties\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, loginfo); AXIS2_FREE(env->allocator, buffer); return AXIS2_FAILURE; } if (input) { fclose(input); } AXIS2_FREE(env->allocator, buffer); return AXIS2_SUCCESS; } axis2_char_t * axutil_properties_read_next( axis2_char_t *cur) { /* ignore comment */ if (*cur == '#') { for (; *cur != '\n' && *cur != '\0'; cur++); } /* check '\\''\n' case */ if (*cur == '\\' && *(cur + 1) == '\n') { /* ignore two axis2_char_ts */ *(cur++) = ' '; *(cur++) = ' '; } return cur; } axis2_char_t * axutil_properties_trunk_and_dup( axis2_char_t *start, axis2_char_t *end, const axutil_env_t *env) { for (; *start == ' '; start++); /* remove front spaces */ for (end--; *end == ' '; end--); /* remove rear spaces */ *(++end) = '\0'; start = (axis2_char_t *) axutil_strdup(env, start); return start; } axis2_char_t * axutil_properties_read( FILE *input, const axutil_env_t *env) { size_t nread = 0; axis2_char_t *out_stream = NULL; size_t ncount = 0; size_t curr_alloc = MAX_SIZE * 2; size_t total_alloc = curr_alloc; out_stream = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * curr_alloc); if (!out_stream) { return NULL; } do { nread = fread(out_stream + ncount, sizeof(axis2_char_t), MAX_SIZE, input); ncount += nread; if (ncount + MAX_SIZE > total_alloc) { axis2_char_t *new_stream = NULL; if (curr_alloc < MAX_ALLOC) { curr_alloc *= 2; } total_alloc += curr_alloc; new_stream = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * total_alloc); if (!new_stream) { if (out_stream) { AXIS2_FREE(env->allocator, out_stream); } return NULL; } memcpy(new_stream, out_stream, sizeof(axis2_char_t) * ncount); if (out_stream) { AXIS2_FREE(env->allocator, out_stream); } out_stream = new_stream; } } while (nread == MAX_SIZE); out_stream[ncount] = '\0'; return out_stream; } axis2c-src-1.6.0/util/src/http_chunked_stream.c0000644000175000017500000001604511166304700022603 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #define AXIS2_HTTP_CRLF "\r\n" struct axutil_http_chunked_stream { axutil_stream_t *stream; int current_chunk_size; int unread_len; axis2_bool_t end_of_chunks; axis2_bool_t chunk_started; }; static axis2_status_t axutil_http_chunked_stream_start_chunk( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t *env); AXIS2_EXTERN axutil_http_chunked_stream_t *AXIS2_CALL axutil_http_chunked_stream_create( const axutil_env_t *env, axutil_stream_t *stream) { axutil_http_chunked_stream_t *chunked_stream = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, stream, NULL); chunked_stream = (axutil_http_chunked_stream_t *) AXIS2_MALLOC (env->allocator, sizeof(axutil_http_chunked_stream_t)); if (!chunked_stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } chunked_stream->stream = stream; chunked_stream->current_chunk_size = -1; chunked_stream->unread_len = -1; chunked_stream->end_of_chunks = AXIS2_FALSE; chunked_stream->chunk_started = AXIS2_FALSE; return chunked_stream; } AXIS2_EXTERN void AXIS2_CALL axutil_http_chunked_stream_free( axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, void); AXIS2_FREE(env->allocator, chunked_stream); return; } AXIS2_EXTERN int AXIS2_CALL axutil_http_chunked_stream_read( axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, void *buffer, size_t count) { int len = -1; int yet_to_read = 0; axutil_stream_t *stream = chunked_stream->stream; if (!buffer) { return -1; } if (!stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM, AXIS2_FAILURE); return -1; } if (AXIS2_TRUE == chunked_stream->end_of_chunks) { return 0; } if (AXIS2_FALSE == chunked_stream->chunk_started) { axutil_http_chunked_stream_start_chunk(chunked_stream, env); } yet_to_read = (int)count; /* We are sure that the difference lies within the int range */ while (AXIS2_FALSE == chunked_stream->end_of_chunks && yet_to_read > 0) { if (chunked_stream->unread_len < yet_to_read) { len = axutil_stream_read(chunked_stream->stream, env, (axis2_char_t *) buffer + count - yet_to_read, chunked_stream->unread_len); yet_to_read -= len; chunked_stream->unread_len -= len; if (chunked_stream->unread_len <= 0) { axutil_http_chunked_stream_start_chunk(chunked_stream, env); } } else { len = axutil_stream_read(chunked_stream->stream, env, (axis2_char_t *) buffer + count - yet_to_read, yet_to_read); yet_to_read -= len; chunked_stream->unread_len -= len; } } return ((int)count - yet_to_read); /* We are sure that the difference lies within the int range */ } AXIS2_EXTERN int AXIS2_CALL axutil_http_chunked_stream_write( axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env, const void *buffer, size_t count) { axutil_stream_t *stream = chunked_stream->stream; int len = -1; axis2_char_t tmp_buf[10]; if (!buffer) { return -1; } if (!stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM, AXIS2_FAILURE); return -1; } sprintf(tmp_buf, "%x%s", (unsigned int) count, AXIS2_HTTP_CRLF); len = axutil_stream_write(stream, env, tmp_buf, axutil_strlen(tmp_buf)); len = axutil_stream_write(stream, env, buffer, count); axutil_stream_write(stream, env, AXIS2_HTTP_CRLF, 2); return len; } AXIS2_EXTERN int AXIS2_CALL axutil_http_chunked_stream_get_current_chunk_size( const axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env) { return chunked_stream->current_chunk_size; } static axis2_status_t axutil_http_chunked_stream_start_chunk( axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env) { axis2_char_t tmp_buf[3] = ""; axis2_char_t str_chunk_len[512] = ""; axis2_char_t *tmp = NULL; int read = -1; /* remove the last CRLF of the previous chunk if any */ if (AXIS2_TRUE == chunked_stream->chunk_started) { read = axutil_stream_read(chunked_stream->stream, env, tmp_buf, 2); chunked_stream->chunk_started = AXIS2_FALSE; } /* read the len and chunk extension */ while ((read = axutil_stream_read(chunked_stream->stream, env, tmp_buf, 1)) > 0) { tmp_buf[read] = '\0'; strcat(str_chunk_len, tmp_buf); if (0 != strstr(str_chunk_len, AXIS2_HTTP_CRLF)) { break; } } /* check whether we have extensions */ tmp = strchr(str_chunk_len, ';'); if (tmp) { /* we don't use extensions right now */ *tmp = '\0'; } chunked_stream->current_chunk_size = strtol(str_chunk_len, NULL, 16); if (0 == chunked_stream->current_chunk_size) { /* Read the last CRLF */ read = axutil_stream_read(chunked_stream->stream, env, tmp_buf, 2); chunked_stream->end_of_chunks = AXIS2_TRUE; } else { chunked_stream->chunk_started = AXIS2_TRUE; chunked_stream->unread_len = chunked_stream->current_chunk_size; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_http_chunked_stream_write_last_chunk( axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env) { axutil_stream_t *stream = NULL; stream = chunked_stream->stream; if (axutil_stream_write(stream, env, "0\r\n\r\n", 5) == 5) { return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_http_chunked_stream_get_end_of_chunks( axutil_http_chunked_stream_t *chunked_stream, const axutil_env_t *env) { return chunked_stream->end_of_chunks; } axis2c-src-1.6.0/util/src/property.c0000644000175000017500000001164011166304700020430 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axutil_property { axis2_scope_t scope; AXIS2_FREE_VOID_ARG free_func; void *value; axis2_bool_t own_value; }; axutil_property_t *AXIS2_CALL axutil_property_create( const axutil_env_t * env) { axutil_property_t *property = NULL; AXIS2_ENV_CHECK(env, NULL); property = (axutil_property_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_property_t)); if (!property) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } property->value = NULL; property->scope = AXIS2_SCOPE_REQUEST; property->free_func = 0; property->own_value = AXIS2_TRUE; return property; } /*****************************************************************************/ axutil_property_t *AXIS2_CALL axutil_property_create_with_args( const axutil_env_t * env, axis2_scope_t scope, axis2_bool_t own_value, AXIS2_FREE_VOID_ARG free_func, void *value) { axutil_property_t *property = NULL; AXIS2_ENV_CHECK(env, NULL); property = (axutil_property_t *) axutil_property_create(env); if (!property) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } property->value = value; property->scope = scope; property->own_value = own_value; property->free_func = free_func; return property; } void AXIS2_CALL axutil_property_free( axutil_property_t * property, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (property->value) { if (property->scope != AXIS2_SCOPE_APPLICATION) { if (property->free_func && property->own_value) { property->free_func(property->value, env); } else if (property->own_value) { AXIS2_FREE(env->allocator, property->value); } } } if (property) { AXIS2_FREE(env->allocator, property); } return; } axis2_status_t AXIS2_CALL axutil_property_set_scope( axutil_property_t * property, const axutil_env_t * env, axis2_scope_t scope) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); property->scope = scope; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axutil_property_set_free_func( axutil_property_t * property, const axutil_env_t * env, AXIS2_FREE_VOID_ARG free_func) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); property->free_func = free_func; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axutil_property_set_value( axutil_property_t * property, const axutil_env_t * env, void *value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (property->value) { if (property->scope != AXIS2_SCOPE_APPLICATION) { if (property->free_func && property->own_value) { property->free_func(property->value, env); } else if (property->own_value) { AXIS2_FREE(env->allocator, property->value); } } } property->value = value; return AXIS2_SUCCESS; } void *AXIS2_CALL axutil_property_get_value( axutil_property_t * property, const axutil_env_t * env) { return property->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_property_set_own_value( axutil_property_t * property, const axutil_env_t * env, axis2_bool_t own_value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); property->own_value = own_value; return AXIS2_SUCCESS; } axutil_property_t *AXIS2_CALL axutil_property_clone( axutil_property_t * property, const axutil_env_t * env) { axutil_property_t *new_property = NULL; AXIS2_ENV_CHECK(env, NULL); new_property = axutil_property_create(env); axutil_property_set_free_func(new_property, env, property->free_func); axutil_property_set_scope(new_property, env, property->scope); axutil_property_set_own_value(new_property, env, property->own_value); axutil_property_set_value(new_property, env, property->value); return new_property; } axis2c-src-1.6.0/util/src/param_container.c0000644000175000017500000001467011166304700021714 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axutil_param_container { axutil_hash_t *params; axutil_array_list_t *params_list; }; AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axutil_param_container_create( const axutil_env_t *env) { axutil_param_container_t *param_container = NULL; AXIS2_ENV_CHECK(env, NULL); param_container = (axutil_param_container_t *) AXIS2_MALLOC(env->allocator, sizeof (axutil_param_container_t)); if (!param_container) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Not enough memory"); return NULL; } param_container->params = NULL; param_container->params_list = NULL; param_container->params_list = axutil_array_list_create(env, 0); param_container->params = axutil_hash_make(env); if (!param_container->params) { axutil_param_container_free(param_container, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Not enough memory"); return NULL; } return param_container; } AXIS2_EXTERN void AXIS2_CALL axutil_param_container_free( axutil_param_container_t *param_container, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (param_container->params) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(param_container->params, env); hi; hi = axutil_hash_next(env, hi)) { axutil_param_t *param = NULL; axutil_hash_this(hi, NULL, NULL, &val); param = (axutil_param_t *) val; if (param) { axutil_param_free(param, env); param = NULL; } val = NULL; } axutil_hash_free(param_container->params, env); } if (param_container->params_list) { /* This is the array list which is returned when all params are * requested from param_container. Params referenced here are * actually contained in params hash table */ axutil_array_list_free(param_container->params_list, env); param_container->params_list = NULL; } AXIS2_FREE(env->allocator, param_container); return; } AXIS2_EXTERN void AXIS2_CALL axutil_param_container_free_void_arg( void *param_container, const axutil_env_t *env) { axutil_param_container_t *param_container_l = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); param_container_l = (axutil_param_container_t *) param_container; axutil_param_container_free(param_container_l, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_container_add_param( axutil_param_container_t *param_container, const axutil_env_t *env, axutil_param_t *param) { axis2_char_t *param_name = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, param, AXIS2_FAILURE); if (!(param_container->params)) { param_container->params = axutil_hash_make(env); if (!param_container->params) { return AXIS2_FAILURE; } } param_name = axutil_param_get_name(param, env); if (!param_name) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_STATE_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid param state"); return AXIS2_FAILURE; } axutil_hash_set(param_container->params, param_name, AXIS2_HASH_KEY_STRING, param); return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_param_t *AXIS2_CALL axutil_param_container_get_param( axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *name) { return (axutil_param_t *) (axutil_hash_get(param_container->params, name, AXIS2_HASH_KEY_STRING)); } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_param_container_get_params( axutil_param_container_t *param_container, const axutil_env_t *env) { axutil_hash_index_t *index_i = 0; axis2_status_t status = AXIS2_FAILURE; void *value = NULL; if (!param_container->params_list) { param_container->params_list = axutil_array_list_create(env, 0); if (!param_container->params_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Not enough memory"); return NULL; } } for (index_i = axutil_hash_first(param_container->params, env); index_i; index_i = axutil_hash_next(env, index_i)) { axutil_hash_this(index_i, NULL, NULL, &value); status = axutil_array_list_add(param_container->params_list, env, value); if (AXIS2_SUCCESS != status) { axutil_array_list_free(param_container->params_list, env); return NULL; } } return param_container->params_list; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_param_container_is_param_locked( axutil_param_container_t *param_container, const axutil_env_t *env, const axis2_char_t *param_name) { axutil_param_t *param = NULL; param = (axutil_param_t *) (axutil_hash_get(param_container->params, param_name, AXIS2_HASH_KEY_STRING)); if (!param) { /* In this case we consider param is not locked */ return AXIS2_FALSE; } return axutil_param_is_locked(param, env); } axis2c-src-1.6.0/util/src/string_util.c0000644000175000017500000000736111166304700021114 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_tokenize( const axutil_env_t *env, axis2_char_t *in, int delim) { axutil_array_list_t *list = NULL; axis2_char_t *rest = NULL; axis2_char_t *str = NULL; axis2_char_t *temp = NULL; axis2_bool_t loop_state = AXIS2_TRUE; axis2_char_t *index = NULL; if (!in || !*in) { return NULL; } list = axutil_array_list_create(env, 10); if (!list) { return NULL; } str = axutil_strdup(env, in); temp = str; do { index = strchr(str, delim); if ((!index) && str && *str) { axutil_array_list_add(list, env, axutil_strdup(env, str)); break; } rest = index + 1; str[index - str] = '\0'; if (str && *str) { axutil_array_list_add(list, env, axutil_strdup(env, str)); } if (!rest || !*rest) { break; } str = rest; rest = NULL; index = NULL; } while (loop_state); if (temp) { AXIS2_FREE(env->allocator, temp); } return list; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_first_token( const axutil_env_t *env, axis2_char_t *in, int delim) { axutil_array_list_t *list = NULL; axis2_char_t *str = NULL; axis2_char_t *rest = NULL; axis2_char_t *index = NULL; if (!in && !*in) { return NULL; } list = axutil_array_list_create(env, 2); if (!list) { return NULL; } str = axutil_strdup(env, in); index = strchr(str, delim); if (!index) { axutil_array_list_add(list, env, str); axutil_array_list_add(list, env, axutil_strdup(env, "")); return list; } rest = index + 1; str[index - str] = '\0'; axutil_array_list_add(list, env, str); axutil_array_list_add(list, env, axutil_strdup(env, rest)); return list; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_last_token( const axutil_env_t *env, axis2_char_t *in, int delim) { axutil_array_list_t *list = NULL; axis2_char_t *str = NULL; axis2_char_t *rest = NULL; axis2_char_t *index = NULL; if (!in && !*in) { return NULL; } list = axutil_array_list_create(env, 2); if (!list) { return NULL; } str = axutil_strdup(env, in); index = axutil_rindex(str, (axis2_char_t)delim); /* We are sure that the conversion is safe */ if (!index) { axutil_array_list_add(list, env, axutil_strdup(env, "")); axutil_array_list_add(list, env, str); return list; } rest = index + 1; str[index - str] = '\0'; axutil_array_list_add(list, env, str); axutil_array_list_add(list, env, axutil_strdup(env, rest)); return list; } axis2c-src-1.6.0/util/src/generic_obj.c0000644000175000017500000000567311166304700021023 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axutil_generic_obj { AXIS2_FREE_VOID_ARG free_func; int type; void *value; }; AXIS2_EXTERN axutil_generic_obj_t *AXIS2_CALL axutil_generic_obj_create( const axutil_env_t *env) { axutil_generic_obj_t *generic_obj = NULL; AXIS2_ENV_CHECK(env, NULL); generic_obj = (axutil_generic_obj_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_generic_obj_t)); if (!generic_obj) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } generic_obj->value = NULL; generic_obj->free_func = 0; return generic_obj; } AXIS2_EXTERN void AXIS2_CALL axutil_generic_obj_free( axutil_generic_obj_t *generic_obj, const axutil_env_t *env) { if (generic_obj->value) { if (generic_obj->free_func) { generic_obj->free_func(generic_obj->value, env); } else { AXIS2_FREE(env->allocator, generic_obj->value); } } if (generic_obj) { AXIS2_FREE(env->allocator, generic_obj); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_generic_obj_set_free_func( axutil_generic_obj_t *generic_obj, const axutil_env_t *env, AXIS2_FREE_VOID_ARG free_func) { generic_obj->free_func = free_func; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_generic_obj_set_value( axutil_generic_obj_t *generic_obj, const axutil_env_t *env, void *value) { generic_obj->value = value; return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axutil_generic_obj_get_value( axutil_generic_obj_t *generic_obj, const axutil_env_t *env) { return generic_obj->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_generic_obj_set_type( axutil_generic_obj_t *generic_obj, const axutil_env_t *env, int type) { generic_obj->type = type; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_generic_obj_get_type( axutil_generic_obj_t *generic_obj, const axutil_env_t *env) { return generic_obj->type; } axis2c-src-1.6.0/util/src/rand.c0000644000175000017500000000372511166304700017475 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #define AXIS2_RAND_MAX 32768 AXIS2_EXTERN int AXIS2_CALL axutil_rand( unsigned int *seedp) { *seedp = *seedp * 1103515245 + 12345; return ((unsigned) (*seedp / (2 * AXIS2_RAND_MAX)) % AXIS2_RAND_MAX); } AXIS2_EXTERN int AXIS2_CALL axutil_rand_with_range( unsigned int *seedp, int start, int end) { int rand = -1; float range = 0.0; if (start < 0 || end <= 0) return -1; if (start >= AXIS2_RAND_MAX || end > AXIS2_RAND_MAX) return -1; if (end <= start) return -1; range = (float)(end - start); rand = axutil_rand(seedp); rand = start + (int) (range * rand / (AXIS2_RAND_MAX + 1.0)); return rand; } AXIS2_EXTERN unsigned int AXIS2_CALL axutil_rand_get_seed_value_based_on_time( const axutil_env_t * env) { axutil_date_time_t *date = axutil_date_time_create(env); unsigned int rand_var = axutil_date_time_get_year(date, env); rand_var += axutil_date_time_get_month(date, env); rand_var += axutil_date_time_get_date(date, env); rand_var += axutil_date_time_get_hour(date, env); rand_var += axutil_date_time_get_minute(date, env); rand_var += axutil_date_time_get_second(date, env); axutil_date_time_free(date, env); return rand_var; } axis2c-src-1.6.0/util/src/types.c0000644000175000017500000000355511166304700017716 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN int AXIS2_CALL axutil_atoi( const char *s) { int i, n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) { n = 10 * n + (s[i] - '0'); } return n; } AXIS2_EXTERN int64_t AXIS2_CALL axutil_atol( const char *s) { int i; int64_t n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) { n = 10 * n + (s[i] - '0'); } return n; } AXIS2_EXTERN uint64_t AXIS2_CALL axutil_strtoul( const char *s, char **endptr, int base) { int i; uint64_t n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) { n = 10 * n + (s[i] - '0'); } if(endptr != NULL) { *endptr = (char *)(s + i); } return n; } AXIS2_EXTERN int64_t AXIS2_CALL axutil_strtol( const char *s, char **endptr, int base) { int i; int64_t n; n = 0; for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i) { n = 10 * n + (s[i] - '0'); } if(endptr != NULL) { *endptr = (char *)(s + i); } return n; } axis2c-src-1.6.0/util/src/dir_handler.c0000644000175000017500000002715211166304700021024 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #ifndef S_ISDIR # define S_ISDIR(m) ((m & S_IFMT) == S_IFDIR) #endif #ifdef AXIS2_ARCHIVE_ENABLED #include #endif extern int AXIS2_ALPHASORT( ); #ifdef IS_MACOSX int dir_select( struct dirent *entry); int file_select( const struct dirent *entry); #else int dir_select( const struct dirent *entry); int file_select( const struct dirent *entry); #endif /** * List the dll files in the given service or module folder path * @param pathname path to your service or module directory * @return array list of dll file names */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_dir_handler_list_services_or_modules_in_dir( const axutil_env_t *env, const axis2_char_t *pathname) { axutil_array_list_t *file_list = NULL; struct stat *buf = NULL; int count = 1; int i = 0; struct dirent **files = NULL; /*int file_select( );*/ /* Removed un-wanted redefinition leading to warnings on * Windows. If this is the desired behaviour, please look * into the file_select function definition below and comment * out the code if neccessary. */ axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, NULL); file_list = axutil_array_list_create(env, 100); count = AXIS2_SCANDIR(pathname, &files, file_select, AXIS2_ALPHASORT); /* If no files found, make a non-selectable menu item */ if (count <= 0) { axutil_array_list_free(file_list, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "No files in the path %s.", pathname); return NULL; } for (i = 1; i < (count + 1); ++i) { axis2_char_t *fname = NULL; axutil_file_t *arch_file = NULL; axis2_char_t *path = NULL; axis2_char_t *temp_path = NULL; fname = files[i - 1]->d_name; arch_file = (axutil_file_t *) axutil_file_create(env); if (!arch_file) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axutil_file_set_name(arch_file, env, fname); temp_path = axutil_stracat(env, pathname, AXIS2_PATH_SEP_STR); path = axutil_stracat(env, temp_path, fname); AXIS2_FREE(env->allocator, temp_path); if (!path) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; axutil_file_free(arch_file, env); size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axutil_file_set_path(arch_file, env, path); buf = AXIS2_MALLOC(env->allocator, sizeof(struct stat)); if (!buf) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; AXIS2_FREE(env->allocator, path); axutil_file_free(arch_file, env); size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } stat(path, buf); axutil_file_set_timestamp(arch_file, env, (time_t) buf->st_ctime); status = axutil_array_list_add(file_list, env, arch_file); if (AXIS2_SUCCESS != status) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; axutil_file_free(arch_file, env); AXIS2_FREE(env->allocator, path); AXIS2_FREE(env->allocator, buf); size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); return NULL; } AXIS2_FREE(env->allocator, path); AXIS2_FREE(env->allocator, buf); } return file_list; } /** * List services or modules directories in the services or modules folder * respectively * @param pathname path your modules or services folder * @return array list of contents of services or modules folder */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_dir_handler_list_service_or_module_dirs( const axutil_env_t *env, const axis2_char_t *pathname) { axutil_array_list_t *file_list = NULL; struct stat *buf = NULL; int count = 1; int i = 0; struct dirent **files = NULL; char cwd[500]; int chdir_result = 0; /**FIXME: * This magic number 500 was selected as a temperary solution. It has to be * replaced with dinamic memory allocation. This will be done once the use of * errno after getwcd() on Windows is figured out. */ axis2_status_t status = AXIS2_FAILURE; AXIS2_ENV_CHECK(env, NULL); file_list = axutil_array_list_create(env, 0); if (!AXIS2_GETCWD(cwd, 500)) exit(1); /* pathname is path of services directory or modules directory. */ chdir_result = AXIS2_CHDIR(pathname); #ifdef AXIS2_ARCHIVE_ENABLED axis2_archive_extract(); #endif count = AXIS2_SCANDIR(pathname, &files, dir_select, AXIS2_ALPHASORT); chdir_result = AXIS2_CHDIR(cwd); /* If no files found, make a non-selectable menu item */ if (count <= 0) { axutil_array_list_free(file_list, env); AXIS2_LOG_INFO(env->log, "No files in the path %s.", pathname); return NULL; } for (i = 1; i < (count + 1); ++i) { axis2_char_t *fname = NULL; axutil_file_t *arch_file = NULL; axis2_char_t *path = NULL; axis2_char_t *temp_path = NULL; fname = files[i - 1]->d_name; arch_file = (axutil_file_t *) axutil_file_create(env); if (!arch_file) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axutil_file_set_name(arch_file, env, fname); temp_path = axutil_stracat(env, pathname, AXIS2_PATH_SEP_STR); path = axutil_stracat(env, temp_path, fname); if (!path) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; axutil_file_free(arch_file, env); size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axutil_file_set_path(arch_file, env, path); AXIS2_FREE(env->allocator, temp_path); buf = AXIS2_MALLOC(env->allocator, sizeof(struct stat)); if (!buf) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; axutil_file_free(arch_file, env); AXIS2_FREE(env->allocator, path); size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } stat(path, buf); axutil_file_set_timestamp(arch_file, env, (time_t) buf->st_ctime); status = axutil_array_list_add(file_list, env, arch_file); if (AXIS2_SUCCESS != status) { int size = 0; int j = 0; axutil_file_t *del_file = NULL; axutil_file_free(arch_file, env); AXIS2_FREE(env->allocator, path); AXIS2_FREE(env->allocator, buf); size = axutil_array_list_size(file_list, env); for (j = 0; j < size; j++) { del_file = axutil_array_list_get(file_list, env, j); axutil_file_free(del_file, env); } axutil_array_list_free(file_list, env); return NULL; } AXIS2_FREE(env->allocator, path); AXIS2_FREE(env->allocator, buf); } for (i = 0; i < count; i++) { free(files[i]); } free(files); return file_list; } int file_select( const struct dirent *entry) { #ifdef IS_MACOSX int file_select(struct dirent *entry); #else int file_select(const struct dirent *entry); #endif /** FIXME: * This block of code has been sitting here doing nothing. * I have made the existing logic use this code portion. * Have no idea about the side-effects of this modification. * If this code block is not required, we might as well remove * it. */ axis2_char_t *ptr; if ((strcmp(entry->d_name, ".") == 0) || (strcmp(entry->d_name, "..") == 0)) return (AXIS2_FALSE); /* Check for filename extensions */ ptr = axutil_rindex(entry->d_name, '.'); if ((ptr) && ((strcmp(ptr, AXIS2_LIB_SUFFIX) == 0))) { return (AXIS2_TRUE); } else return (AXIS2_FALSE); } #ifdef IS_MACOSX int dir_select( struct dirent *entry) #else int dir_select( const struct dirent *entry) #endif { struct stat stat_p; if (-1 == stat(entry->d_name, &stat_p)) return (AXIS2_FALSE); if ((entry->d_name[0] == '.') || (!S_ISDIR(stat_p.st_mode))) { return (AXIS2_FALSE); } return AXIS2_TRUE; } axis2c-src-1.6.0/util/src/dll_desc.c0000644000175000017500000001642011166304700020316 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axutil_dll_desc { axis2_char_t *dll_name; axis2_char_t *path_qualified_dll_name; axis2_dll_type_t dll_type; int load_options; AXIS2_DLHANDLER dl_handler; CREATE_FUNCT create_funct; DELETE_FUNCT delete_funct; AXIS2_TIME_T timestamp; axutil_error_codes_t error_code; }; AXIS2_EXTERN axutil_dll_desc_t *AXIS2_CALL axutil_dll_desc_create( const axutil_env_t *env) { axutil_dll_desc_t *dll_desc = NULL; AXIS2_ENV_CHECK(env, NULL); dll_desc = (axutil_dll_desc_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_dll_desc_t)); if (!dll_desc) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } dll_desc->dll_name = NULL; dll_desc->path_qualified_dll_name = NULL; dll_desc->dll_type = 0; dll_desc->load_options = 0; dll_desc->dl_handler = NULL; dll_desc->create_funct = NULL; dll_desc->delete_funct = NULL; dll_desc->timestamp = 0; dll_desc->error_code = AXIS2_ERROR_NONE; return dll_desc; } AXIS2_EXTERN void AXIS2_CALL axutil_dll_desc_free( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (dll_desc->dl_handler) { axutil_class_loader_delete_dll(env, dll_desc); } if (dll_desc->dll_name) { AXIS2_FREE(env->allocator, dll_desc->dll_name); dll_desc->dll_name = NULL; } if (dll_desc->path_qualified_dll_name) { AXIS2_FREE(env->allocator, dll_desc->path_qualified_dll_name); dll_desc->path_qualified_dll_name = NULL; } if (dll_desc) { AXIS2_FREE(env->allocator, dll_desc); } return; } AXIS2_EXTERN void AXIS2_CALL axutil_dll_desc_free_void_arg( void *dll_desc, const axutil_env_t *env) { axutil_dll_desc_t *dll_desc_l = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc_l = (axutil_dll_desc_t *) dll_desc; axutil_dll_desc_free(dll_desc_l, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_name( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axis2_char_t *name) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); if (dll_desc->path_qualified_dll_name) { AXIS2_FREE(env->allocator, dll_desc->path_qualified_dll_name); dll_desc->path_qualified_dll_name = NULL; } dll_desc->path_qualified_dll_name = axutil_strdup(env, name); if (!dll_desc->path_qualified_dll_name) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_dll_desc_get_name( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->path_qualified_dll_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_load_options( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, int options) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc->load_options = options; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_type( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axis2_dll_type_t type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc->dll_type = type; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_dll_type_t AXIS2_CALL axutil_dll_desc_get_type( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->dll_type; } AXIS2_EXTERN int AXIS2_CALL axutil_dll_desc_get_load_options( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->load_options; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_dl_handler( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, AXIS2_DLHANDLER dl_handler) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, dl_handler, AXIS2_FAILURE); if (dll_desc->dl_handler) { AXIS2_FREE(env->allocator, dll_desc->dl_handler); } dll_desc->dl_handler = dl_handler; return AXIS2_SUCCESS; } AXIS2_EXTERN AXIS2_DLHANDLER AXIS2_CALL axutil_dll_desc_get_dl_handler( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->dl_handler; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_create_funct( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, CREATE_FUNCT funct) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc->create_funct = funct; return AXIS2_SUCCESS; } AXIS2_EXTERN CREATE_FUNCT AXIS2_CALL axutil_dll_desc_get_create_funct( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->create_funct; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_delete_funct( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, DELETE_FUNCT funct) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc->delete_funct = funct; return AXIS2_SUCCESS; } AXIS2_EXTERN DELETE_FUNCT AXIS2_CALL axutil_dll_desc_get_delete_funct( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->delete_funct; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_timestamp( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, AXIS2_TIME_T timestamp) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc->timestamp = timestamp; return AXIS2_SUCCESS; } AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL axutil_dll_desc_get_timestamp( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->timestamp; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_error_code( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, axutil_error_codes_t error_code) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); dll_desc->error_code = error_code; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_error_codes_t AXIS2_CALL axutil_dll_desc_get_error_code( axutil_dll_desc_t *dll_desc, const axutil_env_t *env) { return dll_desc->error_code; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_dll_desc_create_platform_specific_dll_name( axutil_dll_desc_t *dll_desc, const axutil_env_t *env, const axis2_char_t *class_name) { axis2_char_t *temp_name = NULL; AXIS2_ENV_CHECK(env, NULL); temp_name = axutil_stracat(env, AXIS2_LIB_PREFIX, class_name); dll_desc->dll_name = axutil_stracat(env, temp_name, AXIS2_LIB_SUFFIX); AXIS2_FREE(env->allocator, temp_name); return dll_desc->dll_name; } axis2c-src-1.6.0/util/src/utils.c0000644000175000017500000004325711166304700017715 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include AXIS2_EXPORT axis2_char_t *axis2_request_url_prefix = "services"; AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_parse_rest_url_for_params( const axutil_env_t *env, const axis2_char_t *tmpl, const axis2_char_t *url, int *match_count, axis2_char_t ****matches) { axis2_char_t ***ret = NULL; axis2_char_t *tmp1 = NULL; axis2_char_t **tmp2 = NULL; axis2_char_t ***tmp3 = NULL; axis2_char_t *tmp4 = NULL; axis2_char_t *resource = NULL; axis2_char_t *query = NULL; axis2_char_t *url_tmp = NULL; axis2_char_t *url_resource = NULL; axis2_char_t *url_query = NULL; axis2_bool_t finished = AXIS2_FALSE; axis2_status_t status = AXIS2_FAILURE; int ret_count = 0; int i = 0; int j = 0; axis2_bool_t in_tok = AXIS2_FALSE; tmp2 = AXIS2_MALLOC(env->allocator, 2 * (sizeof(axis2_char_t *))); memset(tmp2, 0, 2 * sizeof(axis2_char_t *)); if (tmpl[0] == '/') { tmp1 = (axis2_char_t *) tmpl; tmp1++; resource = axutil_strdup(env, tmp1); } else { resource = axutil_strdup(env, tmpl); } i = (int)strlen(resource); /* We are sure that the difference lies within the int range */ if (resource[i] == '/') { resource[i] = '\0'; } tmp1 = strchr(resource, '?'); if (tmp1) { axis2_char_t *tmp4 = NULL; tmp4 = tmp1; tmp1++; resource[tmp4 - resource] = '\0'; if (*tmp1 && ((tmp1 - resource) < (int)strlen(resource) - 1)) /* We are sure that the difference lies within the int range */ { query = tmp1; /* * Query String based matching is not implemented. This is * reserved for future implementations. */ } } /* Validation of Template */ i = (int)strlen(resource); /* We are sure that the difference lies within the int range */ if (!strchr(resource, '{') && !strchr(resource, '}')) { i = 0; } for (j = 0; j < i; j++) { if (!in_tok) { if (resource[j] == '}') { AXIS2_FREE(env->allocator, resource); return AXIS2_FAILURE; } else if (resource[j] == '{') { if (j + 1 == i || resource[j + 1] == '}') { AXIS2_FREE(env->allocator, resource); return AXIS2_FAILURE; } else if (resource[j + 1] == '{') { j++; } else { in_tok = AXIS2_TRUE; } } } else { if (resource[j] == '{') { AXIS2_FREE(env->allocator, resource); return AXIS2_FAILURE; } else if (resource[j] == '}') { if (j + 1 < i && resource[j + 1] == '}') { j++; } else { in_tok = AXIS2_FALSE; } } } } if (in_tok) { AXIS2_FREE(env->allocator, resource); return AXIS2_FAILURE; } /* Validity of template guaranteed if not returned */ if (url[0] == '/') { tmp1 = (axis2_char_t *) url; tmp1++; url_resource = axutil_strdup(env, tmp1); } else { url_resource = axutil_strdup(env, url); } i = (int)strlen(url_resource); /* We are sure that the difference lies within the int range */ if (url_resource[i] == '/') { url_resource[i] = '\0'; } i = 0; url_tmp = url_resource; tmp1 = strchr(url_resource, '?'); if (tmp1) { axis2_char_t *tmp4 = NULL; tmp4 = tmp1; tmp1++; url_resource[tmp4 - url_resource] = '\0'; if (*tmp1 && ((tmp1 - url_resource) < (int)strlen(url_resource) - 1)) /* We are sure that the difference lies within the int range */ { url_query = tmp1; } } tmp1 = resource; /* Simplest case match */ if (!strchr(resource, '{')) { if (strcmp(resource, url_resource) == 0) { finished = AXIS2_TRUE; } } while (!finished) { tmp4 = strchr(tmp1, '{'); if (tmp4 && tmp4[1]) { if (tmp4[1] != '{') { axis2_char_t *tmp5 = NULL; axis2_char_t *tmp6 = NULL; axis2_char_t *tmp7 = NULL; axis2_char_t *tmp8 = NULL; axis2_char_t *tmp9 = NULL; /* Logic for finding out constant portion to match */ i = (int)(tmp4 - tmp1); tmp2[0] = AXIS2_MALLOC(env->allocator, (i + 1) * sizeof(char)); strncpy(tmp2[0], tmp1, i); tmp2[0][i] = '\0'; if (url_tmp && *url_tmp) { tmp6 = url_tmp; tmp5 = strstr(tmp6, tmp2[0]); if (tmp5) { tmp5 += strlen(tmp2[0]); tmp7 = tmp4; tmp8 = tmp4; tmp7++; if (*tmp7) { axis2_bool_t finished_tmp = AXIS2_FALSE; while (!finished_tmp) { tmp6 = strchr(tmp8, '}'); if (tmp6 && *tmp6) { if (tmp6[1] != '}') { tmp8 = tmp6 + 1; break; } } else { finished_tmp = AXIS2_TRUE; } } if (!finished_tmp && !strchr(tmp8, '{')) { tmp7 = tmp8 + strlen(tmp8); } else { while (!finished_tmp) { tmp6 = strchr(tmp8, '{'); if (tmp6 && tmp6[1]) { if (tmp6[1] != '{') { tmp7 = tmp6; break; } } else { finished_tmp = AXIS2_TRUE; } } } if (!finished_tmp) { i = (int)(tmp7 - tmp8); tmp9 = AXIS2_MALLOC(env->allocator, (i + 1) * sizeof(char)); strncpy(tmp9, tmp8, i); tmp9[i] = '\0'; } } if (tmp9 && *tmp9) { tmp6 = strstr(tmp5, tmp9); AXIS2_FREE (env->allocator, tmp9); tmp9 = NULL; } else { tmp6 = strchr(tmp5, '/'); } /* Logic for saving the match */ if (tmp6 && tmp6 != tmp5) { i = (int)(tmp6 - tmp5); url_tmp = tmp6; tmp2[1] = AXIS2_MALLOC(env->allocator, (i + 1) * sizeof(char)); strncpy(tmp2[1], tmp5, i); tmp2[1][i] = '\0'; } else { i = (int)strlen(tmp5); /* We are sure that the difference lies within the int range */ tmp2[1] = AXIS2_MALLOC(env->allocator, (i + 1) * sizeof(char)); strncpy(tmp2[1], tmp5, i); tmp2[1][i] = '\0'; url_tmp = NULL; } } } else { break; } while (!finished) { tmp1 = tmp4 + 1; tmp4 = strchr(tmp1, '}'); if (tmp4 && *tmp4) { if (tmp4[1] != '}') { /* Logic for saving the key for the match */ i = (int)(tmp4 - tmp1); if (tmp2[0]) { AXIS2_FREE(env->allocator, tmp2[0]); } tmp2[0] = AXIS2_MALLOC(env->allocator, (i + 1) * sizeof(char)); strncpy(tmp2[0], tmp1, i); tmp2[0][i] = '\0'; tmp3 = ret; ret_count++; ret = AXIS2_MALLOC(env->allocator, ret_count * 2 * (sizeof(axis2_char_t *))); memset(ret, 0, ret_count * 2 * sizeof(axis2_char_t *)); for(i = 0; i < ret_count - 1; i++) { ret[i] = tmp3[i]; } ret[i] = tmp2; tmp2 = AXIS2_MALLOC(env->allocator, 2 * (sizeof(axis2_char_t *))); memset(tmp2, 0, 2 * sizeof(axis2_char_t *)); tmp3 = NULL; break; } else { tmp4++; } } else { finished = AXIS2_TRUE; } } } else { tmp4++; } } else { /* Result of mismatch at the simplest case */ if (!strchr(resource, '{')) { finished = AXIS2_FALSE; break; } finished = AXIS2_TRUE; } tmp1 = tmp4 + 1; } if (resource) { AXIS2_FREE(env->allocator, resource); } if (url_resource) { AXIS2_FREE(env->allocator, url_resource); } if (tmp2) { if (tmp2[0]) { AXIS2_FREE(env->allocator, tmp2[0]); } if (tmp2[1]) { AXIS2_FREE(env->allocator, tmp2[1]); } AXIS2_FREE(env->allocator, tmp2); } if (finished) { status = AXIS2_SUCCESS; } *match_count = ret_count; *matches = ret; return status; } AXIS2_EXTERN axis2_char_t **AXIS2_CALL axutil_parse_request_url_for_svc_and_op( const axutil_env_t *env, const axis2_char_t *request) { axis2_char_t **ret = NULL; axis2_char_t *service_str = NULL; axis2_char_t *tmp = NULL; int i = 0; ret = AXIS2_MALLOC(env->allocator, 2 * (sizeof(axis2_char_t *))); memset(ret, 0, 2 * sizeof(axis2_char_t *)); tmp = (axis2_char_t *) request; tmp = strstr(tmp, axis2_request_url_prefix); if (tmp) { service_str = tmp; tmp += axutil_strlen(axis2_request_url_prefix); /*break stop on first prefix as user may have prefix in service name */ } if (service_str) { service_str += axutil_strlen(axis2_request_url_prefix); if ('\0' != *service_str) { if (*service_str == '/') service_str++; /*to remove the leading '/' */ tmp = strchr(service_str, '/'); if (tmp) { i = (int)(tmp - service_str); ret[0] = AXIS2_MALLOC(env->allocator, i * sizeof(char) + 1); strncpy(ret[0], service_str, i); ret[0][i] = '\0'; /* Now search for the op */ service_str = tmp; if ('\0' != *service_str) { service_str++; tmp = strchr(service_str, '?'); if (tmp) { i = (int)(tmp - service_str); ret[1] = AXIS2_MALLOC(env->allocator, i * sizeof(char) + 1); strncpy(ret[1], service_str, i); ret[1][i] = '\0'; } else { ret[1] = axutil_strdup(env, service_str); } } } else { ret[0] = axutil_strdup(env, service_str); } } } return ret; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_xml_quote_string( const axutil_env_t *env, const axis2_char_t *s, axis2_bool_t quotes) { const char *scan; size_t len = 0; size_t extra = 0; char *qstr; char *qscan; char c; for (scan = s; (c = *scan) != '\0'; ++scan, ++len) { if (c == '<' || c == '>') extra += 3; /* < or > */ else if (c == '&') extra += 4; /* & */ else if (quotes && c == '"') extra += 5; /* " */ } /* nothing to do */ if (extra == 0) return NULL; qstr = AXIS2_MALLOC(env->allocator, len + extra + 1); for (scan = s, qscan = qstr; (c = *scan) != '\0'; ++scan) { if (c == '<') { *qscan++ = '&'; *qscan++ = 'l'; *qscan++ = 't'; *qscan++ = ';'; } else if (c == '>') { *qscan++ = '&'; *qscan++ = 'g'; *qscan++ = 't'; *qscan++ = ';'; } else if (c == '&') { *qscan++ = '&'; *qscan++ = 'a'; *qscan++ = 'm'; *qscan++ = 'p'; *qscan++ = ';'; } else if (quotes && c == '"') { *qscan++ = '&'; *qscan++ = 'q'; *qscan++ = 'u'; *qscan++ = 'o'; *qscan++ = 't'; *qscan++ = ';'; } else { *qscan++ = c; } } *qscan = '\0'; return qstr; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_decode( const axutil_env_t *env, axis2_char_t *dest, axis2_char_t *src) { AXIS2_PARAM_CHECK(env->error, dest, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, src, AXIS2_FAILURE); for (; *src != '\0'; ++dest, ++src) { if (src[0] == '%' && isxdigit(src[1]) && isxdigit(src[2])) { *dest = (axis2_char_t)(axutil_hexit(src[1]) * 16 + axutil_hexit(src[2])); /* We are sure that the conversion is safe */ src += 2; } else { *dest = *src; } } *dest = '\0'; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_hexit(axis2_char_t c) { if (c >= '0' && c <= '9') { return c - '0'; } if (c >= 'a' && c <= 'f') { return c - 'a' + 10; } if (c >= 'A' && c <= 'F') { return c - 'A' + 10; } return 0; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_char_2_byte( const axutil_env_t *env, axis2_char_t *char_buffer, axis2_byte_t **byte_buffer, int *byte_buffer_size) { int length = 0; int i = 0; axis2_byte_t *bytes = NULL; length = (int) axutil_strlen(char_buffer); bytes = (axis2_byte_t *) AXIS2_MALLOC(env->allocator, length * sizeof(axis2_byte_t)); if (!bytes) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create byte buffer"); return AXIS2_FAILURE; } for (i = 0; i < length; i++) { bytes[i] = (axis2_byte_t) char_buffer[i]; } *byte_buffer = bytes; *byte_buffer_size = length; return AXIS2_SUCCESS; } axis2c-src-1.6.0/util/src/allocator.c0000644000175000017500000000540111166304700020522 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include void *AXIS2_CALL axutil_allocator_malloc_impl( axutil_allocator_t * allocator, size_t size); void *AXIS2_CALL axutil_allocator_realloc_impl( axutil_allocator_t * allocator, void *ptr, size_t size); void AXIS2_CALL axutil_allocator_free_impl( axutil_allocator_t * allocator, void *ptr); AXIS2_EXTERN axutil_allocator_t *AXIS2_CALL axutil_allocator_init( axutil_allocator_t * allocator) { if (allocator) return allocator; else { allocator = (axutil_allocator_t *) malloc(sizeof(axutil_allocator_t)); memset(allocator, 0, sizeof(axutil_allocator_t)); if (allocator) { allocator->malloc_fn = axutil_allocator_malloc_impl; allocator->realloc = axutil_allocator_realloc_impl; allocator->free_fn = axutil_allocator_free_impl; return allocator; } } return NULL; } AXIS2_EXTERN void AXIS2_CALL axutil_allocator_free( axutil_allocator_t * allocator) { if (allocator) { allocator->free_fn(allocator, allocator); } return; } void *AXIS2_CALL axutil_allocator_malloc_impl( axutil_allocator_t * allocator, size_t size) { return malloc(size); } void *AXIS2_CALL axutil_allocator_realloc_impl( axutil_allocator_t * allocator, void *ptr, size_t size) { return realloc(ptr, size); } void AXIS2_CALL axutil_allocator_free_impl( axutil_allocator_t * allocator, void *ptr) { free(ptr); } AXIS2_EXTERN void AXIS2_CALL axutil_allocator_switch_to_global_pool( axutil_allocator_t * allocator) { if (!allocator) return; allocator->current_pool = allocator->global_pool; return; } AXIS2_EXTERN void AXIS2_CALL axutil_allocator_switch_to_local_pool( axutil_allocator_t * allocator) { if (!allocator) return; allocator->current_pool = allocator->local_pool; return; } axis2c-src-1.6.0/util/src/array_list.c0000644000175000017500000002147511166304700020724 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axutil_array_list { /**The number of elements in this list. */ int size; /**Current capacity of this list. */ int capacity; /** Where the data is stored. */ void **data; }; AXIS2_EXTERN struct axutil_array_list *AXIS2_CALL axutil_array_list_create( const axutil_env_t * env, int capacity) { axutil_array_list_t *array_list = NULL; array_list = AXIS2_MALLOC(env->allocator, sizeof(axutil_array_list_t)); if (!array_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } array_list->size = 0; array_list->capacity = 0; array_list->data = NULL; /* Check capacity, and set the default if error */ if (capacity <= 0) capacity = AXIS2_ARRAY_LIST_DEFAULT_CAPACITY; array_list->data = AXIS2_MALLOC(env->allocator, sizeof(void *) * capacity); if (!array_list->data) { axutil_array_list_free(array_list, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } array_list->capacity = capacity; return array_list; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_array_list_ensure_capacity( struct axutil_array_list * array_list, const axutil_env_t * env, int min_capacity) { AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); if (min_capacity > array_list->capacity) { int new_capacity = (array_list->capacity * 2 > min_capacity) ? (array_list->capacity * 2) : min_capacity; void **data = (void **) AXIS2_MALLOC(env->allocator, sizeof(void *) * new_capacity); if (!data) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return AXIS2_FAILURE; } memcpy(data, array_list->data, sizeof(void *) * array_list->capacity); AXIS2_FREE(env->allocator, array_list->data); array_list->data = data; array_list->capacity = new_capacity; } return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_array_list_size( struct axutil_array_list *array_list, const axutil_env_t * env) { /* Don't use AXIS2_PARAM_CHECK to verify array_list, as it clobbers env->error->status_code on no error destroying the information therein that an error has already occurred. */ if (!array_list) return 0; return array_list->size; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_is_empty( struct axutil_array_list * array_list, const axutil_env_t * env) { AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); return array_list->size == 0; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_contains( struct axutil_array_list * array_list, const axutil_env_t * env, void *e) { AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); return axutil_array_list_index_of(array_list, env, e) != -1; } AXIS2_EXTERN int AXIS2_CALL axutil_array_list_index_of( struct axutil_array_list *array_list, const axutil_env_t * env, void *e) { int i = 0; AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); for (i = 0; i < array_list->size; i++) if (e == array_list->data[i]) return i; return -1; } AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_get( struct axutil_array_list *array_list, const axutil_env_t * env, int index) { /* Don't use AXIS2_PARAM_CHECK to verify array_list, as it clobbers env->error->status_code on no error destroying the information therein that an error has already occurred. */ if (axutil_array_list_check_bound_exclusive(array_list, env, index)) return array_list->data[index]; else return NULL; } AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_set( struct axutil_array_list *array_list, const axutil_env_t * env, int index, void *e) { void *result = NULL; AXIS2_PARAM_CHECK (env->error, array_list, NULL); if (axutil_array_list_check_bound_exclusive(array_list, env, index)) { result = array_list->data[index]; array_list->data[index] = e; } return result; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_array_list_add( struct axutil_array_list * array_list, const axutil_env_t * env, const void *e) { AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); if (array_list->size == array_list->capacity) if (axutil_array_list_ensure_capacity (array_list, env, array_list->size + 1) != AXIS2_SUCCESS) return AXIS2_FAILURE; array_list->data[array_list->size++] = (void *) e; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_array_list_add_at( struct axutil_array_list * array_list, const axutil_env_t * env, const int index, const void *e) { int i = 0; AXIS2_PARAM_CHECK (env->error, array_list, AXIS2_FAILURE); if (!axutil_array_list_check_bound_inclusive(array_list, env, index)) return AXIS2_FAILURE; if (array_list->size == array_list->capacity) { if (axutil_array_list_ensure_capacity (array_list, env, array_list->size + 1) != AXIS2_SUCCESS) return AXIS2_FAILURE; } if (index != array_list->size) { for (i = array_list->size; i > index; i--) array_list->data[i] = array_list->data[i - 1]; } array_list->data[index] = (void *) e; array_list->size++; return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_remove( struct axutil_array_list *array_list, const axutil_env_t * env, int index) { void *result = NULL; int i = 0; AXIS2_PARAM_CHECK (env->error, array_list, NULL); if (axutil_array_list_check_bound_exclusive(array_list, env, index)) { result = array_list->data[index]; for (i = index; i < array_list->size - 1; i++) array_list->data[i] = array_list->data[i + 1]; array_list->size--; } return result; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_check_bound_inclusive( struct axutil_array_list * array_list, const axutil_env_t * env, int index) { /* Don't use AXIS2_PARAM_CHECK to verify array_list, as it clobbers env->error->status_code on no error destroying the information therein that an error has already occurred. */ if (!array_list || index < 0 || index > array_list->size) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INDEX_OUT_OF_BOUNDS, AXIS2_FAILURE); return AXIS2_FALSE; } return AXIS2_TRUE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_check_bound_exclusive( struct axutil_array_list * array_list, const axutil_env_t * env, int index) { /* Don't use AXIS2_PARAM_CHECK to verify array_list, as it clobbers env->error->status_code on no error destroying the information therein that an error has already occurred. */ if (!array_list || index < 0 || index >= array_list->size) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INDEX_OUT_OF_BOUNDS, AXIS2_FAILURE); return AXIS2_FALSE; } return AXIS2_TRUE; } AXIS2_EXTERN void AXIS2_CALL axutil_array_list_free( struct axutil_array_list *array_list, const axutil_env_t * env) { AXIS2_PARAM_CHECK_VOID (env->error, array_list); if (array_list->data) { AXIS2_FREE(env->allocator, array_list->data); } AXIS2_FREE(env->allocator, array_list); return; } AXIS2_EXTERN void AXIS2_CALL axutil_array_list_free_void_arg( void *array_list, const axutil_env_t * env) { axutil_array_list_t *array_list_l = NULL; AXIS2_PARAM_CHECK_VOID (env->error, array_list); array_list_l = (axutil_array_list_t *) array_list; axutil_array_list_free(array_list_l, env); return; } axis2c-src-1.6.0/util/src/param.c0000644000175000017500000001652311166304700017651 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axutil_param { /** Parameter name */ axis2_char_t *name; /** Parameter value */ void *value; /** Parameter locked? */ axis2_bool_t locked; /** Parameter type */ int type; /*default is AXIS2_TEXT_PARAM */ axutil_hash_t *attrs; axutil_array_list_t *value_list; void( AXIS2_CALL *value_free) ( void *param_value, const axutil_env_t *env); }; AXIS2_EXTERN axutil_param_t *AXIS2_CALL axutil_param_create( const axutil_env_t *env, axis2_char_t *name, void *value) { axutil_param_t *param = NULL; AXIS2_ENV_CHECK(env, NULL); param = AXIS2_MALLOC(env->allocator, sizeof(axutil_param_t)); if (!param) { AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_NO_MEMORY); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Not enough memory"); AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); return NULL; } param->name = axutil_strdup(env, name); param->value = value; /* shallow copy. */ param->locked = AXIS2_FALSE; param->type = AXIS2_TEXT_PARAM; param->attrs = NULL; param->value_list = NULL; param->value_free = NULL; return param; } axis2_char_t *AXIS2_CALL axutil_param_get_name( axutil_param_t *param, const axutil_env_t *env) { return param->name; } void *AXIS2_CALL axutil_param_get_value( axutil_param_t *param, const axutil_env_t *env) { return param->value; } axis2_status_t AXIS2_CALL axutil_param_set_name( axutil_param_t *param, const axutil_env_t *env, const axis2_char_t *name) { param->name = axutil_strdup(env, name); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axutil_param_set_value( axutil_param_t *param, const axutil_env_t *env, const void *value) { void *param_value = NULL; param_value = axutil_param_get_value(param, env); if (param_value) { if (param && param->value_free) { param->value_free(param_value, env); } else /* we assume that param value is axis2_char_t* */ { AXIS2_FREE(env->allocator, param_value); } } param->value = (void *) value; return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL axutil_param_is_locked( axutil_param_t *param, const axutil_env_t *env) { return param->locked; } axis2_status_t AXIS2_CALL axutil_param_set_locked( axutil_param_t *param, const axutil_env_t *env, axis2_bool_t value) { param->locked = value; return AXIS2_SUCCESS; } int AXIS2_CALL axutil_param_get_param_type( axutil_param_t *param, const axutil_env_t *env) { return param->type; } axis2_status_t AXIS2_CALL axutil_param_set_param_type( axutil_param_t *param, const axutil_env_t *env, int type) { param->type = type; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axutil_param_set_attributes( axutil_param_t *param, const axutil_env_t *env, axutil_hash_t *attrs) { AXIS2_PARAM_CHECK(env->error, attrs, AXIS2_FAILURE); if (param->attrs) { axutil_hash_index_t *i = NULL; void *v = NULL; for (i = axutil_hash_first(param->attrs, env); i; i = axutil_hash_next(env, i)) { axutil_hash_this(i, NULL, NULL, &v); axutil_generic_obj_free(v, env); } axutil_hash_free(param->attrs, env); } param->attrs = attrs; return AXIS2_SUCCESS; } axutil_hash_t *AXIS2_CALL axutil_param_get_attributes( axutil_param_t *param, const axutil_env_t *env) { return param->attrs; } axis2_status_t AXIS2_CALL axutil_param_set_value_list( axutil_param_t *param, const axutil_env_t *env, axutil_array_list_t *value_list) { AXIS2_PARAM_CHECK(env->error, value_list, AXIS2_FAILURE); if (param->value_list) { int i = 0, size = 0; size = axutil_array_list_size(param->value_list, env); for (i = 0; i < size; i++) { axutil_param_t *param = NULL; param = (axutil_param_t *) axutil_array_list_get(param->value_list, env, i); axutil_param_free(param, env); } axutil_array_list_free(param->value_list, env); } param->value_list = value_list; return AXIS2_SUCCESS; } axutil_array_list_t *AXIS2_CALL axutil_param_get_value_list( axutil_param_t *param, const axutil_env_t *env) { return param->value_list; } void AXIS2_CALL axutil_param_free( axutil_param_t *param, const axutil_env_t *env) { void *param_value = NULL; axis2_char_t *param_name = NULL; param_value = axutil_param_get_value(param, env); if (param_value) { if (param && param->value_free) { param->value_free(param_value, env); } else /* we assume that param value is axis2_char_t* */ { AXIS2_FREE(env->allocator, param_value); } } if (param->attrs) { axutil_hash_index_t *i = NULL; void *v = NULL; for (i = axutil_hash_first(param->attrs, env); i; i = axutil_hash_next(env, i)) { axutil_hash_this(i, NULL, NULL, &v); axutil_generic_obj_free(v, env); } axutil_hash_free(param->attrs, env); } if (param->value_list) { int i = 0, size = 0; size = axutil_array_list_size(param->value_list, env); for (i = 0; i < size; i++) { axutil_param_t *param_l = NULL; param_l = (axutil_param_t *) axutil_array_list_get(param->value_list, env, i); if (param_l) { axutil_param_free(param_l, env); } } axutil_array_list_free(param->value_list, env); } param_name = axutil_param_get_name(param, env); AXIS2_FREE(env->allocator, param_name); AXIS2_FREE(env->allocator, param); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_value_free( axutil_param_t *param, const axutil_env_t *env, AXIS2_PARAM_VALUE_FREE free_fn) { param->value_free = free_fn; return AXIS2_SUCCESS; } /* Use this function for the copied parameters * to avoid double free */ AXIS2_EXTERN void AXIS2_CALL axutil_param_dummy_free_fn( void *param, const axutil_env_t *env) { return; } axis2c-src-1.6.0/util/src/network_handler.c0000644000175000017500000004651311166304700021741 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #if defined(WIN32) /* fix for an older version of winsock2.h */ #if !defined(SO_EXCLUSIVEADDRUSE) #define SO_EXCLUSIVEADDRUSE ((int)(~SO_REUSEADDR)) #endif #endif #if defined(WIN32) static int is_init_socket = 0; axis2_bool_t axis2_init_socket( ); #endif AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_open_socket( const axutil_env_t *env, char *server, int port) { axis2_socket_t sock = AXIS2_INVALID_SOCKET; struct sockaddr_in sock_addr; struct linger ll; int nodelay = 1; #if defined(WIN32) if (is_init_socket == 0) { axis2_init_socket(); is_init_socket = 1; } #endif AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); AXIS2_PARAM_CHECK(env->error, server, AXIS2_INVALID_SOCKET); #ifndef WIN32 if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) /*AF_INET is not defined in sys/socket.h but PF_INET */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #else if ((sock = socket(AF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET) /* In Win 32 if the socket creation failed it return 0 not a negative value */ { char buf[AXUTIL_WIN32_ERROR_BUFSIZE]; /* Get the detailed error message */ axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #endif memset(&sock_addr, 0, sizeof(sock_addr)); sock_addr.sin_family = AF_INET; sock_addr.sin_addr.s_addr = inet_addr(server); /*arpa/inet.d */ if (sock_addr.sin_addr.s_addr == AXIS2_INADDR_NONE) /*netinet/in.h */ { /* * server may be a host name */ struct hostent *lphost = NULL; lphost = gethostbyname(server); if (lphost) { sock_addr.sin_addr.s_addr = ((struct in_addr *) lphost->h_addr)->s_addr; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_ADDRESS, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } } sock_addr.sin_port = htons((axis2_unsigned_short_t) port); /* Connect to server */ if (connect(sock, (struct sockaddr *) &sock_addr, sizeof(sock_addr)) < 0) { AXIS2_CLOSE_SOCKET(sock); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } setsockopt(sock, IPPROTO_TCP, TCP_NODELAY, (const char *) &nodelay, sizeof(nodelay)); ll.l_onoff = 1; ll.l_linger = 5; setsockopt(sock, SOL_SOCKET, SO_LINGER, (const char *) &ll, sizeof(struct linger)); return sock; } AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_create_server_socket( const axutil_env_t *env, int port) { axis2_socket_t sock = AXIS2_INVALID_SOCKET; axis2_socket_t i = 0; struct sockaddr_in sock_addr; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); #if defined(WIN32) if (is_init_socket == 0) { axis2_init_socket(); is_init_socket = 1; } #endif sock = socket(AF_INET, SOCK_STREAM, 0); #ifndef WIN32 if (sock < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #else if (sock == INVALID_SOCKET) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_INVALID_SOCKET; } #endif /* Address re-use */ i = 1; #if defined(WIN32) setsockopt(sock, SOL_SOCKET, SO_EXCLUSIVEADDRUSE, (char *) &i, sizeof(axis2_socket_t)); /*casted 4th param to char* */ #else setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, (char *) &i, sizeof(axis2_socket_t)); /*casted 4th param to char* */ #endif /* Exec behaviour */ AXIS2_CLOSE_SOCKET_ON_EXIT(sock) memset(&sock_addr, 0, sizeof(sock_addr)); sock_addr.sin_family = AF_INET; sock_addr.sin_addr.s_addr = htonl(INADDR_ANY); sock_addr.sin_port = htons((axis2_unsigned_short_t) port); /* Bind the socket to our port number */ if (bind(sock, (struct sockaddr *) &sock_addr, sizeof(sock_addr)) < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_BIND_FAILED, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } if (listen(sock, 50) < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_LISTEN_FAILED, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } return sock; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_close_socket( const axutil_env_t *env, axis2_socket_t socket) { int i = 0; char buf[32]; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); if (socket < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOCKET, AXIS2_FAILURE); return AXIS2_FAILURE; } shutdown(socket, AXIS2_SHUT_WR); axutil_network_handler_set_sock_option(env, socket, SO_RCVTIMEO, 1); i = recv(socket, buf, 32, 0); AXIS2_CLOSE_SOCKET(socket); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_set_sock_option( const axutil_env_t *env, axis2_socket_t socket, int option, int value) { if (option == SO_RCVTIMEO || option == SO_SNDTIMEO) { #if defined(WIN32) DWORD tv = value; /* windows expects milliseconds in a DWORD */ #else struct timeval tv; /* we deal with milliseconds */ tv.tv_sec = value / 1000; tv.tv_usec = (value % 1000) * 1000; #endif setsockopt(socket, SOL_SOCKET, option, (char *) &tv, sizeof(tv)); return AXIS2_SUCCESS; } else if (option == SO_REUSEADDR) { if ((setsockopt(socket, SOL_SOCKET, SO_REUSEADDR, (char *)&value, sizeof(value))) < 0) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_svr_socket_accept( const axutil_env_t *env, axis2_socket_t svr_socket) { struct sockaddr cli_addr; struct linger ll; int nodelay = 1; axis2_socket_len_t cli_len = 0; axis2_socket_t cli_socket = AXIS2_INVALID_SOCKET; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); cli_len = sizeof(cli_addr); cli_socket = accept(svr_socket, (struct sockaddr *) &cli_addr, &cli_len); #ifndef WIN32 if (cli_socket < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[Axis2][network_handler] Socket accept \ failed"); } #else if (cli_socket == INVALID_SOCKET) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); } #endif setsockopt(svr_socket, IPPROTO_TCP, TCP_NODELAY, (const char *)&nodelay, (int)sizeof(nodelay)); /* We are sure that the difference lies within the int range */ ll.l_onoff = 1; ll.l_linger = 5; setsockopt(cli_socket, SOL_SOCKET, SO_LINGER, (const char *)&ll, (int)sizeof(struct linger)); /* We are sure that the difference lies within the int range */ return cli_socket; } #if defined (WIN32) axis2_bool_t axis2_init_socket( ) { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD(2, 2); err = WSAStartup(wVersionRequested, &wsaData); if (err != 0) return 0; /* WinSock 2.2 not found */ /* Confirm that the WinSock DLL supports 2.2. * Note that if the DLL supports versions greater * than 2.2 in addition to 2.2, it will still return * 2.2 in wVersion since that is the version we * requested. */ if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2) { WSACleanup(); return 0; /* WinSock 2.2 not supported */ } return 1; } #endif AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_network_handler_get_svr_ip( const axutil_env_t *env, axis2_socket_t socket) { struct sockaddr_in addr; axis2_socket_len_t len = sizeof(addr); char *ret = NULL; memset(&addr, 0, sizeof(addr)); if (getsockname(socket, (struct sockaddr *) &addr, &len) < 0) { return NULL; } ret = inet_ntoa(addr.sin_addr); return ret; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_network_handler_get_peer_ip( const axutil_env_t *env, axis2_socket_t socket) { struct sockaddr_in addr; axis2_socket_len_t len = sizeof(addr); char *ret = NULL; memset(&addr, 0, sizeof(addr)); if (getpeername(socket, (struct sockaddr *) &addr, &len) < 0) { return NULL; } ret = inet_ntoa(addr.sin_addr); return ret; } AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_create_dgram_svr_socket( const axutil_env_t *env, int port) { axis2_socket_t sock = AXIS2_INVALID_SOCKET; struct sockaddr_in sock_addr; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); #if defined(WIN32) if (is_init_socket == 0) { axis2_init_socket(); is_init_socket = 1; } #endif sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); #ifndef WIN32 if (sock < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #else if (sock == INVALID_SOCKET) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_INVALID_SOCKET; } #endif /* Exec behaviour */ AXIS2_CLOSE_SOCKET_ON_EXIT(sock) memset(&sock_addr, 0, sizeof(sock_addr)); sock_addr.sin_family = AF_INET; sock_addr.sin_addr.s_addr = htonl(INADDR_ANY); sock_addr.sin_port = htons((axis2_unsigned_short_t) port); /* Bind the socket to our port number */ if (bind(sock, (struct sockaddr *) &sock_addr, sizeof(sock_addr)) < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_BIND_FAILED, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } return sock; } AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_open_dgram_socket(const axutil_env_t *env) { axis2_socket_t sock = AXIS2_INVALID_SOCKET; #if defined(WIN32) if (is_init_socket == 0) { axis2_init_socket(); is_init_socket = 1; } #endif #ifndef WIN32 if ((sock = socket(AF_INET, SOCK_DGRAM, 0)) < 0) /*AF_INET is not defined in sys/socket.h but PF_INET */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #else if ((sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP)) == INVALID_SOCKET) /* In Win 32 if the socket creation failed it return 0 not a negative value */ { char buf[AXUTIL_WIN32_ERROR_BUFSIZE]; /* Get the detailed error message */ axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #endif return sock; } /* * This function blocks until data is available to read from the socket * and read all the data in the socket. If the buffer size specified is * lesser than the actual data a failure will be returned. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_read_dgram(const axutil_env_t *env, axis2_socket_t sock, axis2_char_t *buffer, int *buf_len, axis2_char_t **addr, int *port) { struct sockaddr_in sender_address; int received = 0; unsigned int sender_address_size = sizeof(sender_address); received = recvfrom(sock, buffer, *buf_len, 0, (struct sockaddr *)&sender_address, &sender_address_size); #ifdef WIN32 if (SOCKET_ERROR == received) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_FAILURE; } #else if (received < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #endif if (port && addr) { *port = ntohs(sender_address.sin_port); *addr = inet_ntoa(sender_address.sin_addr); } *buf_len = received; return AXIS2_SUCCESS; } /* * Sends a datagram to the specified location. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_send_dgram(const axutil_env_t *env, axis2_socket_t sock, axis2_char_t *buff, int *buf_len, axis2_char_t *addr, int dest_port, int *source_port) { struct sockaddr_in recv_addr, source_addr; int send_bytes = 0; unsigned int recv_addr_size = 0; unsigned int source_addr_size = sizeof(source_addr); recv_addr_size = sizeof(recv_addr); memset(&recv_addr, 0, sizeof(recv_addr)); memset(&recv_addr, 0, sizeof(source_addr)); recv_addr.sin_addr.s_addr = inet_addr(addr); if (recv_addr.sin_addr.s_addr == AXIS2_INADDR_NONE) /*netinet/in.h */ { /* * server may be a host name */ struct hostent *lphost = NULL; lphost = gethostbyname(addr); if (lphost) { recv_addr.sin_addr.s_addr = ((struct in_addr *) lphost->h_addr)->s_addr; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_ADDRESS, AXIS2_FAILURE); return AXIS2_FAILURE; } } recv_addr.sin_family = AF_INET; recv_addr.sin_port = htons((axis2_unsigned_short_t)dest_port); send_bytes = sendto(sock, buff, *buf_len, 0, (struct sockaddr *) &recv_addr, recv_addr_size); getsockname(sock, (struct sockaddr *)&source_addr, &source_addr_size); #ifdef WIN32 if (send_bytes == SOCKET_ERROR) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_FAILURE; } #else if (send_bytes < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_FAILURE; } #endif if (source_port) { *source_port = ntohs(source_addr.sin_port); } *buf_len = send_bytes; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_bind_socket(const axutil_env_t *env, axis2_socket_t sock, int port) { struct sockaddr_in source_addr; memset(&source_addr, 0, sizeof(source_addr)); source_addr.sin_family = AF_INET; source_addr.sin_addr.s_addr = htonl(INADDR_ANY); source_addr.sin_port = htons((axis2_unsigned_short_t)port); #ifdef WIN32 if (bind(sock, (struct sockaddr *)&source_addr, sizeof(source_addr)) == SOCKET_ERROR) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_FAILURE; } #else if (bind(sock, (struct sockaddr *)&source_addr, sizeof(source_addr)) < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } #endif return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_hadler_create_multicast_svr_socket(const axutil_env_t *env, int port, axis2_char_t *mul_addr) { axis2_socket_t sock = AXIS2_INVALID_SOCKET; struct sockaddr_in sock_addr; struct ip_mreq mc_req; AXIS2_ENV_CHECK(env, AXIS2_CRITICAL_FAILURE); #if defined(WIN32) if (is_init_socket == 0) { axis2_init_socket(); is_init_socket = 1; } #endif sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); #ifndef WIN32 if (sock < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_FAILURE; } #else if (sock == INVALID_SOCKET) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_FAILURE; } #endif /* Exec behaviour */ AXIS2_CLOSE_SOCKET_ON_EXIT(sock) memset(&sock_addr, 0, sizeof(sock_addr)); sock_addr.sin_family = AF_INET; sock_addr.sin_addr.s_addr = htonl(INADDR_ANY); sock_addr.sin_port = htons((axis2_unsigned_short_t) port); /* Bind the socket to our port number */ if (bind(sock, (struct sockaddr *) &sock_addr, sizeof(sock_addr)) < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_BIND_FAILED, AXIS2_FAILURE); return AXIS2_INVALID_SOCKET; } /* Send an IGMP request to join the multicast group */ mc_req.imr_multiaddr.s_addr = inet_addr(mul_addr); mc_req.imr_interface.s_addr = htonl(INADDR_ANY) ; #ifdef WIN32 if ((setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &mc_req, sizeof(mc_req))) == SOCKET_ERROR) { axis2_char_t buf[AXUTIL_WIN32_ERROR_BUFSIZE]; axutil_win32_get_last_wsa_error(buf, AXUTIL_WIN32_ERROR_BUFSIZE); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, buf); return AXIS2_FAILURE; } #else if ((setsockopt(sock, IPPROTO_IP, IP_ADD_MEMBERSHIP, (char *) &mc_req, sizeof(mc_req))) < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); return AXIS2_FAILURE; } #endif return sock; } axis2c-src-1.6.0/util/src/thread_pool.c0000644000175000017500000000702411166304700021045 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axutil_thread_pool { axutil_allocator_t *allocator; }; AXIS2_EXTERN axutil_thread_pool_t *AXIS2_CALL axutil_thread_pool_init( axutil_allocator_t *allocator) { axutil_thread_pool_t *pool = NULL; pool = (axutil_thread_pool_t *) AXIS2_MALLOC(allocator, sizeof(axutil_thread_pool_t)); if (!pool) { return NULL; } pool->allocator = allocator; return pool; } AXIS2_EXTERN void AXIS2_CALL axutil_thread_pool_free( axutil_thread_pool_t *pool) { if (!pool) { return; } if (!pool->allocator) { return; } AXIS2_FREE(pool->allocator, pool); return; } AXIS2_EXTERN axutil_thread_t *AXIS2_CALL axutil_thread_pool_get_thread( axutil_thread_pool_t *pool, axutil_thread_start_t func, void *data) { if (!pool) { return NULL; } if (!pool->allocator) { return NULL; } return axutil_thread_create(pool->allocator, NULL, func, data); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_pool_join_thread( axutil_thread_pool_t *pool, axutil_thread_t *thd) { if (!pool || !thd) { return AXIS2_FAILURE; } return axutil_thread_join(thd); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_pool_exit_thread( axutil_thread_pool_t *pool, axutil_thread_t *thd) { if (!pool || !thd) { return AXIS2_FAILURE; } return axutil_thread_exit(thd, pool->allocator); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_pool_thread_detach( axutil_thread_pool_t *pool, axutil_thread_t *thd) { if (!pool || !thd) { return AXIS2_FAILURE; } return axutil_thread_detach(thd); } AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_init_thread_env( const axutil_env_t *system_env) { axutil_error_t *error = axutil_error_create(system_env->allocator); return axutil_env_create_with_error_log_thread_pool(system_env->allocator, error, system_env->log, system_env-> thread_pool); } AXIS2_EXTERN void AXIS2_CALL axutil_free_thread_env( struct axutil_env *thread_env) { if (!thread_env) { return; } if (--(thread_env->ref) > 0) { return; } /* log, thread_pool and allocator are shared, so do not free them */ thread_env->log = NULL; thread_env->thread_pool = NULL; if (thread_env->error) { AXIS2_ERROR_FREE(thread_env->error); } AXIS2_FREE(thread_env->allocator, thread_env); } axis2c-src-1.6.0/util/src/digest_calc.c0000644000175000017500000001153411166304700021007 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include void AXIS2_CALL convert_to_hex( axutil_digest_hash_t bin, axutil_digest_hash_hex_t hex); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_digest_calc_get_h_a1( const axutil_env_t *env, char *algorithm, char *user_name, char *realm, char *password, char *nonce, char *cnonce, axutil_digest_hash_hex_t session_key) { axutil_md5_ctx_t *ctx; axutil_digest_hash_t ha1; ctx = axutil_md5_ctx_create(env); if (!ctx) return AXIS2_FAILURE; axutil_md5_update(ctx, env, user_name, strlen(user_name)); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, realm, strlen(realm)); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, password, strlen(password)); axutil_md5_final(ctx, env, ha1); axutil_md5_ctx_free(ctx, env); if (!axutil_strcasecmp(algorithm, "md5-sess")) { ctx = axutil_md5_ctx_create(env); if (!ctx) return AXIS2_FAILURE; axutil_md5_update(ctx, env, ha1, AXIS2_DIGEST_HASH_LEN); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, nonce, strlen(nonce)); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, cnonce, strlen(cnonce)); axutil_md5_final(ctx, env, ha1); axutil_md5_ctx_free(ctx, env); } convert_to_hex(ha1, session_key); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_digest_calc_get_response( const axutil_env_t *env, axutil_digest_hash_hex_t h_a1, char *nonce, char *nonce_count, char *cnonce, char *qop, char *method, char *digest_uri, axutil_digest_hash_hex_t h_entity, axutil_digest_hash_hex_t response) { axutil_md5_ctx_t *ctx; axutil_digest_hash_t ha2; axutil_digest_hash_t resp_hash; axutil_digest_hash_hex_t ha2_hex; ctx = axutil_md5_ctx_create(env); if (!ctx) return AXIS2_FAILURE; axutil_md5_update(ctx, env, method, strlen(method)); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, digest_uri, strlen(digest_uri)); if (!axutil_strcasecmp(qop, "auth-int")) { axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, h_entity, AXIS2_DIGEST_HASH_HEX_LEN); }; axutil_md5_final(ctx, env, ha2); axutil_md5_ctx_free(ctx, env); convert_to_hex(ha2, ha2_hex); ctx = axutil_md5_ctx_create(env); if (!ctx) return AXIS2_FAILURE; axutil_md5_update(ctx, env, h_a1, AXIS2_DIGEST_HASH_HEX_LEN); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, nonce, strlen(nonce)); axutil_md5_update(ctx, env, ":", 1); if (*qop) { axutil_md5_update(ctx, env, nonce_count, strlen(nonce_count)); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, cnonce, strlen(cnonce)); axutil_md5_update(ctx, env, ":", 1); axutil_md5_update(ctx, env, qop, strlen(qop)); axutil_md5_update(ctx, env, ":", 1); }; axutil_md5_update(ctx, env, ha2_hex, AXIS2_DIGEST_HASH_HEX_LEN); axutil_md5_final(ctx, env, resp_hash); axutil_md5_ctx_free(ctx, env); convert_to_hex(resp_hash, response); return AXIS2_SUCCESS; } void AXIS2_CALL convert_to_hex( axutil_digest_hash_t bin, axutil_digest_hash_hex_t hex) { unsigned short i; unsigned char j; for (i = 0; i < AXIS2_DIGEST_HASH_LEN; i++) { j = (bin[i] >> 4) & 0xf; if (j <= 9) hex[i*2] = (j + '0'); else hex[i*2] = (j + 'a' - 10); j = bin[i] & 0xf; if (j <= 9) hex[i*2+1] = (j + '0'); else hex[i*2+1] = (j + 'a' - 10); } hex[AXIS2_DIGEST_HASH_HEX_LEN] = '\0'; } axis2c-src-1.6.0/util/src/version.c0000644000175000017500000000230211166304700020224 0ustar00manjulamanjula00000000000000 /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN void AXIS2_CALL axis2_version( axis2_version_t *pvsn) { pvsn->major = AXIS2_MAJOR_VERSION; pvsn->minor = AXIS2_MINOR_VERSION; pvsn->patch = AXIS2_PATCH_VERSION; #ifdef AXIS2_IS_DEV_VERSION pvsn->is_dev = 1; #else pvsn->is_dev = 0; #endif } AXIS2_EXTERN const char *AXIS2_CALL axis2_version_string( void) { return AXIS2_VERSION_STRING; } axis2c-src-1.6.0/util/src/base64.c0000644000175000017500000002403711166304700017634 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* base64 encoder/decoder. Originally part of main/util.c * but moved here so that support/ab and axis2_sha1.c could * use it. This meant removing the axis2_palloc()s and adding * ugly 'len' functions, which is quite a nasty cost. */ #include static const unsigned char pr2six[256] = { #ifndef __OS400__ /* ASCII table */ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 62, 64, 64, 64, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 64, 64, 64, 64, 64, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 64, 64, 64, 64, 64, 64, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64 #else /* __OS400__ */ /* EBCDIC table */ 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 62, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 63, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 26, 27, 28, 29, 30, 31, 32, 33, 34, 64, 64, 64, 64, 64, 64, 64, 35, 36, 37, 38, 39, 40, 41, 42, 43, 64, 64, 64, 64, 64, 64, 64, 64, 44, 45, 46, 47, 48, 49, 50, 51, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 1, 2, 3, 4, 5, 6, 7, 8, 64, 64, 64, 64, 64, 64, 64, 9, 10, 11, 12, 13, 14, 15, 16, 17, 64, 64, 64, 64, 64, 64, 64, 64, 18, 19, 20, 21, 22, 23, 24, 25, 64, 64, 64, 64, 64, 64, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 64, 64, 64, 64, 64, 64 #endif /* AXIS2_CHARSET_EBCDIC */ }; #ifdef __OS400__ static unsigned char os_toascii[256] = { /* 0 1 2 3 4 5 6 7 8 9 A B C D E F */ 0, 1, 2, 3, 156, 9, 134, 127, 151, 141, 142, 11, 12, 13, 14, 15, 16, 17, 18, 19, 157, 133, 8, 135, 24, 25, 146, 143, 28, 29, 30, 31, 128, 129, 130, 131, 132, 10, 23, 27, 136, 137, 138, 139, 140, 5, 6, 7, 144, 145, 22, 147, 148, 149, 150, 4, 152, 153, 154, 155, 20, 21, 158, 26, 32, 160, 226, 228, 224, 225, 227, 229, 231, 241, 162, 46, 60, 40, 43, 124, 38, 233, 234, 235, 232, 237, 238, 239, 236, 223, 33, 36, 42, 41, 59, 172, 45, 47, 194, 196, 192, 193, 195, 197, 199, 209, 166, 44, 37, 95, 62, 63, 248, 201, 202, 203, 200, 205, 206, 207, 204, 96, 58, 35, 64, 39, 61, 34, 216, 97, 98, 99, 100, 101, 102, 103, 104, 105, 171, 187, 240, 253, 254, 177, 176, 106, 107, 108, 109, 110, 111, 112, 113, 114, 170, 186, 230, 184, 198, 164, 181, 126, 115, 116, 117, 118, 119, 120, 121, 122, 161, 191, 208, 221, 222, 174, 94, 163, 165, 183, 169, 167, 182, 188, 189, 190, 91, 93, 175, 168, 180, 215, 123, 65, 66, 67, 68, 69, 70, 71, 72, 73, 173, 244, 246, 242, 243, 245, 125, 74, 75, 76, 77, 78, 79, 80, 81, 82, 185, 251, 252, 249, 250, 255, 92, 247, 83, 84, 85, 86, 87, 88, 89, 90, 178, 212, 214, 210, 211, 213, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 179, 219, 220, 217, 218, 159 }; #endif /* __OS400__ */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len( const char *bufcoded) { int nbytesdecoded; register const unsigned char *bufin; register int nprbytes; if (!bufcoded) { return -1; } bufin = (const unsigned char *) bufcoded; while (pr2six[*(bufin++)] <= 63); nprbytes = (int)(bufin - (const unsigned char *) bufcoded) - 1; /* We are sure that the difference lies within the int range */ nbytesdecoded = ((nprbytes >> 2) * 3); if (nprbytes & 0x03) nbytesdecoded += (nprbytes & 0x03) - 1; return nbytesdecoded; } AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode( char *bufplain, const char *bufcoded) { int len; len = axutil_base64_decode_binary((unsigned char *) bufplain, bufcoded); bufplain[len] = '\0'; return len; } /* This is the same as axutil_base64_decode() except on EBCDIC machines, where * the conversion of the output to ebcdic is left out. */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_binary( unsigned char *bufplain, const char *bufcoded) { int nbytesdecoded; register const unsigned char *bufin; register unsigned char *bufout; register int nprbytes; if (!bufcoded) { return -1; } bufin = (const unsigned char *) bufcoded; while (pr2six[*(bufin++)] <= 63); nprbytes = (int)(bufin - (const unsigned char *) bufcoded) - 1; /* We are sure that the difference lies within the int range */ nbytesdecoded = ((nprbytes + 3) / 4) * 3; bufout = (unsigned char *) bufplain; bufin = (const unsigned char *) bufcoded; while (nprbytes > 4) { *(bufout++) = (unsigned char) (pr2six[*bufin] << 2 | pr2six[bufin[1]] >> 4); *(bufout++) = (unsigned char) (pr2six[bufin[1]] << 4 | pr2six[bufin[2]] >> 2); *(bufout++) = (unsigned char) (pr2six[bufin[2]] << 6 | pr2six[bufin[3]]); bufin += 4; nprbytes -= 4; } /* Note: (nprbytes == 1) would be an error, so just ingore that case */ if (nprbytes > 1) { *(bufout++) = (unsigned char) (pr2six[*bufin] << 2 | pr2six[bufin[1]] >> 4); } if (nprbytes > 2) { *(bufout++) = (unsigned char) (pr2six[bufin[1]] << 4 | pr2six[bufin[2]] >> 2); } if (nprbytes > 3) { *(bufout++) = (unsigned char) (pr2six[bufin[2]] << 6 | pr2six[bufin[3]]); } nbytesdecoded -= (4 - nprbytes) & 3; return nbytesdecoded; } static const char basis_64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; AXIS2_EXTERN int AXIS2_CALL axutil_base64_encode_len( int len) { return ((len + 2) / 3 * 4) + 1; } AXIS2_EXTERN int AXIS2_CALL axutil_base64_encode( char *encoded, const char *string, int len) { #ifndef __OS400__ return axutil_base64_encode_binary(encoded, (const unsigned char *) string, len); #else /* __OS400__ */ int i; char *p; p = encoded; for (i = 0; i < len - 2; i += 3) { *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F]; *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4) | ((int) (os_toascii[string[i + 1]] & 0xF0) >> 4)]; *p++ = basis_64[((os_toascii[string[i + 1]] & 0xF) << 2) | ((int) (os_toascii[string[i + 2]] & 0xC0) >> 6)]; *p++ = basis_64[os_toascii[string[i + 2]] & 0x3F]; } if (i < len) { *p++ = basis_64[(os_toascii[string[i]] >> 2) & 0x3F]; if (i == (len - 1)) { *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4)]; *p++ = '='; } else { *p++ = basis_64[((os_toascii[string[i]] & 0x3) << 4) | ((int) (os_toascii[string[i + 1]] & 0xF0) >> 4)]; *p++ = basis_64[((os_toascii[string[i + 1]] & 0xF) << 2)]; } *p++ = '='; } *p++ = '\0'; return p - encoded; #endif /* __OS400__ */ } /* This is the same as axutil_base64_encode() except on EBCDIC machines, where * the conversion of the input to ascii is left out. */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_encode_binary( char *encoded, const unsigned char *string, int len) { int i; char *p; p = encoded; for (i = 0; i < len - 2; i += 3) { *p++ = basis_64[(string[i] >> 2) & 0x3F]; *p++ = basis_64[((string[i] & 0x3) << 4) | ((int) (string[i + 1] & 0xF0) >> 4)]; *p++ = basis_64[((string[i + 1] & 0xF) << 2) | ((int) (string[i + 2] & 0xC0) >> 6)]; *p++ = basis_64[string[i + 2] & 0x3F]; } if (i < len) { *p++ = basis_64[(string[i] >> 2) & 0x3F]; if (i == (len - 1)) { *p++ = basis_64[((string[i] & 0x3) << 4)]; *p++ = '='; } else { *p++ = basis_64[((string[i] & 0x3) << 4) | ((int) (string[i + 1] & 0xF0) >> 4)]; *p++ = basis_64[((string[i + 1] & 0xF) << 2)]; } *p++ = '='; } *p++ = '\0'; return (int)(p - encoded); /* We are sure that the difference lies within the int range */ } axis2c-src-1.6.0/util/src/stream.c0000644000175000017500000004347311166304700020050 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include /** basic stream operatons **/ int AXIS2_CALL axutil_stream_write_basic( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count); int AXIS2_CALL axutil_stream_read_basic( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count); int AXIS2_CALL axutil_stream_skip_basic( axutil_stream_t *stream, const axutil_env_t *env, int count); /** file stream operations **/ int AXIS2_CALL axutil_stream_write_file( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count); int AXIS2_CALL axutil_stream_read_file( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count); int AXIS2_CALL axutil_stream_skip_file( axutil_stream_t *stream, const axutil_env_t *env, int count); /** socket stream operations **/ int AXIS2_CALL axutil_stream_write_socket( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count); int AXIS2_CALL axutil_stream_read_socket( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count); int AXIS2_CALL axutil_stream_skip_socket( axutil_stream_t *stream, const axutil_env_t *env, int count); AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_internal( const axutil_env_t *env) { axutil_stream_t *stream = NULL; AXIS2_ENV_CHECK(env, NULL); stream = (axutil_stream_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_stream_t)); if (!stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } stream->buffer = NULL; stream->buffer_head = NULL; stream->fp = NULL; stream->socket = -1; stream->len = -1; stream->max_len = -1; stream->axis2_eof = EOF; return stream; } void AXIS2_CALL axutil_stream_free( axutil_stream_t *stream, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); switch (stream->stream_type) { case AXIS2_STREAM_BASIC: { if (stream->buffer_head) { AXIS2_FREE(env->allocator, stream->buffer_head); } stream->buffer = NULL; stream->len = -1; break; } case AXIS2_STREAM_FILE: { stream->fp = NULL; stream->len = -1; break; } case AXIS2_STREAM_SOCKET: { if (stream->fp) { fclose(stream->fp); } stream->socket = -1; stream->len = -1; break; } default: break; } AXIS2_FREE(env->allocator, stream); return; } void AXIS2_CALL axutil_stream_free_void_arg( void *stream, const axutil_env_t *env) { axutil_stream_t *stream_l = NULL; stream_l = (axutil_stream_t *) stream; axutil_stream_free(stream_l, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_flush( axutil_stream_t *stream, const axutil_env_t *env) { if (stream->fp) { if (fflush(stream->fp)) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_close( axutil_stream_t *stream, const axutil_env_t *env) { switch (stream->stream_type) { case AXIS2_STREAM_BASIC: { if (stream->buffer_head) { AXIS2_FREE(env->allocator, stream->buffer_head); } stream->buffer = NULL; stream->len = -1; break; } case AXIS2_STREAM_FILE: { if (stream->fp) { if (fclose(stream->fp)) { return AXIS2_FAILURE; } } stream->fp = NULL; stream->len = -1; break; } case AXIS2_STREAM_SOCKET: { if (stream->fp) { if (fclose(stream->fp)) { return AXIS2_FAILURE; } } stream->socket = -1; stream->len = -1; break; } default: break; } return AXIS2_SUCCESS; } /************************ Basic Stream Operations *****************************/ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_basic( const axutil_env_t *env) { axutil_stream_t *stream = NULL; AXIS2_ENV_CHECK(env, NULL); stream = axutil_stream_create_internal(env); if (!stream) { /* * We leave the error returned by the * axutil_stream_create_internal intact */ return NULL; } stream->stream_type = AXIS2_STREAM_BASIC; stream->read = axutil_stream_read_basic; stream->write = axutil_stream_write_basic; stream->skip = axutil_stream_skip_basic; stream->buffer = (axis2_char_t *) AXIS2_MALLOC(env->allocator, AXIS2_STREAM_DEFAULT_BUF_SIZE * sizeof(axis2_char_t)); stream->buffer_head = stream->buffer; stream->len = 0; stream->max_len = AXIS2_STREAM_DEFAULT_BUF_SIZE; if (!stream->buffer) { axutil_stream_free(stream, env); return NULL; } return stream; } int AXIS2_CALL axutil_stream_read_basic( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count) { int len = 0; char *buf = NULL; buf = stream->buffer; if (!buf) { return -1; } if (!buffer) { return -1; } if ((int)(count - 1) > stream->len) /* We are sure that the difference lies within the int range */ { len = stream->len; } else { len = (int)(count - 1); /* We are sure that the difference lies within the int range */ } memcpy(buffer, buf, len); /* * Finally we need to remove the read bytes from the stream * adjust the length of the stream. */ stream->len -= len; stream->buffer = buf + len; ((axis2_char_t *) buffer)[len] = '\0'; return len; } int AXIS2_CALL axutil_stream_write_basic( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count) { int new_len = 0; if (!buffer) return -1; new_len = (int)(stream->len + count); /* We are sure that the difference lies within the int range */ if (new_len > stream->max_len) { axis2_char_t *tmp = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (new_len + AXIS2_STREAM_DEFAULT_BUF_SIZE)); if (!tmp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return -1; } /* * pre allocation: extra AXIS2_STREAM_DEFAULT_BUF_SIZE more bytes * allocated */ stream->max_len = new_len + AXIS2_STREAM_DEFAULT_BUF_SIZE; memcpy(tmp, stream->buffer, sizeof(axis2_char_t) * stream->len); AXIS2_FREE(env->allocator, stream->buffer_head); stream->buffer = tmp; stream->buffer_head = tmp; } memcpy(stream->buffer + (stream->len * sizeof(axis2_char_t)), buffer, count); stream->len += (int)count; /* We are sure that the difference lies within the int range */ return (int)count; } int AXIS2_CALL axutil_stream_get_len( axutil_stream_t *stream, const axutil_env_t *env) { return stream->len; } int AXIS2_CALL axutil_stream_skip_basic( axutil_stream_t *stream, const axutil_env_t *env, int count) { int del_len = 0; if (count > 0) { if (count <= stream->len) { del_len = count; } else { del_len = stream->len; } stream->len -= del_len; stream->buffer += del_len; return del_len; } return -1; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_stream_get_buffer( const axutil_stream_t *stream, const axutil_env_t *env) { return stream->buffer; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_flush_buffer( axutil_stream_t *stream, const axutil_env_t *env) { stream->len = 0; return AXIS2_SUCCESS; } /********************* End of Basic Stream Operations *************************/ /************************** File Stream Operations ****************************/ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_file( const axutil_env_t *env, FILE * fp) { axutil_stream_t *stream = NULL; AXIS2_ENV_CHECK(env, NULL); stream = axutil_stream_create_internal(env); if (!stream) { /* * We leave the error returned by the * axutil_stream_create_internal intact */ return NULL; } stream->stream_type = AXIS2_STREAM_FILE; stream->fp = fp; stream->read = axutil_stream_read_file; stream->write = axutil_stream_write_file; stream->skip = axutil_stream_skip_file; return stream; } int AXIS2_CALL axutil_stream_read_file( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count) { FILE *fp = NULL; if (!stream->fp) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_FD, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on invalid file descriptor"); return -1; } fp = stream->fp; if (!buffer) { return -1; } return (int)fread(buffer, sizeof(axis2_char_t), count, fp); /* We are sure that the difference lies within the int range */ } int AXIS2_CALL axutil_stream_write_file( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count) { int len = 0; FILE *fp = NULL; if (!(stream->fp)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_FD, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on invalid file descriptor"); return -1; } fp = stream->fp; if (!buffer) return -1; len = (int)fwrite(buffer, sizeof(axis2_char_t), count, fp); /* We are sure that the difference lies within the int range */ return len; } int AXIS2_CALL axutil_stream_skip_file( axutil_stream_t *stream, const axutil_env_t *env, int count) { int c = -1; int i = count; if (!(stream->fp)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_FD, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on invalid file descriptor"); return -1; } while (EOF != (c = fgetc(stream->fp)) && i > 0) { i--; } return count - i; } /********************** End of File Stream Operations *************************/ /************************** Socket Stream Operations **************************/ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_socket( const axutil_env_t *env, int socket) { axutil_stream_t *stream = NULL; AXIS2_ENV_CHECK(env, NULL); stream = axutil_stream_create_internal(env); if (!stream) { /* * We leave the error returned by the * axutil_stream_create_internal intact */ return NULL; } stream->read = axutil_stream_read_socket; stream->write = axutil_stream_write_socket; stream->skip = axutil_stream_skip_socket; stream->stream_type = AXIS2_STREAM_SOCKET; stream->socket = socket; stream->fp = NULL; return stream; } int AXIS2_CALL axutil_stream_read_socket( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count) { int len = 0; #ifdef AXIS2_TCPMON axis2_char_t *temp = NULL; #endif if (-1 == stream->socket) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOCKET, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on closed/not-opened socket"); return -1; } if (!buffer) { return -1; } len = (int)recv(stream->socket, buffer, (int)count, 0); /* We are sure that the difference lies within the int range */ #ifdef AXIS2_TCPMON if (len > 1) { temp = (axis2_char_t *) AXIS2_MALLOC(env->allocator, (len + 1) * sizeof(axis2_char_t)); if (temp) { memcpy(temp, buffer, len * sizeof(axis2_char_t)); temp[len] = '\0'; fprintf(stderr, "%s", temp); AXIS2_FREE(env->allocator, temp); } } #endif return len; } int AXIS2_CALL axutil_stream_write_socket( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count) { int len = 0; #ifdef AXIS2_TCPMON axis2_char_t *temp = NULL; #endif if (-1 == stream->socket) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOCKET, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on closed/not-opened socket"); return -1; } if (!buffer) return -1; len = (int)send(stream->socket, buffer, (int)count, 0); /* We are sure that the difference lies within the int range */ #ifdef AXIS2_TCPMON if (len > 0) { temp = (axis2_char_t *) AXIS2_MALLOC(env->allocator, (len + 1) * sizeof(axis2_char_t)); if (temp) { memcpy(temp, buffer, len * sizeof(axis2_char_t)); temp[len] = '\0'; fprintf(stderr, "%s", temp); AXIS2_FREE(env->allocator, temp); } } #endif return len; } int AXIS2_CALL axutil_stream_skip_socket( axutil_stream_t *stream, const axutil_env_t *env, int count) { int len = 0; int received = 0; char buffer[2]; if (-1 == stream->socket) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOCKET, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on closed/not-opened socket"); return -1; } while (len < count) { received = recv(stream->socket, buffer, 1, 0); if (received == 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Socket has being shutdown"); return -1; } if (received < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOCKET_ERROR, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error while trying to read the socke"); return -1; } len += received; } return len; } AXIS2_EXTERN int AXIS2_CALL axutil_stream_peek_socket( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count) { int len = 0; /* Added to prevent a segfault */ AXIS2_PARAM_CHECK(env->error, stream, -1); if (-1 == stream->socket) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOCKET, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Trying to do operation on closed/not-opened socket"); return -1; } if (!buffer) { return -1; } len = (int)recv(stream->socket, buffer, (int)count, MSG_PEEK); /* We are sure that the difference lies within the int range */ return len; } /********************** End of Socket Stream Operations ***********************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_set_read( axutil_stream_t *stream, const axutil_env_t *env, AXUTIL_STREAM_READ func) { stream->read = func; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_set_write( axutil_stream_t *stream, const axutil_env_t *env, AXUTIL_STREAM_WRITE func) { stream->write = func; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_set_skip( axutil_stream_t *stream, const axutil_env_t *env, AXUTIL_STREAM_SKIP func) { stream->skip = func; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axutil_stream_read( axutil_stream_t *stream, const axutil_env_t *env, void *buffer, size_t count) { return stream->read(stream, env, buffer, count); } AXIS2_EXTERN int AXIS2_CALL axutil_stream_write( axutil_stream_t *stream, const axutil_env_t *env, const void *buffer, size_t count) { return stream->write(stream, env, buffer, count); } AXIS2_EXTERN int AXIS2_CALL axutil_stream_skip( axutil_stream_t *stream, const axutil_env_t *env, int count) { return stream->skip(stream, env, count); } axis2c-src-1.6.0/util/src/string.c0000644000175000017500000004555511166304700020066 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /* NULL */ struct axutil_string { axis2_char_t *buffer; unsigned int length; unsigned int ref_count; axis2_bool_t owns_buffer; }; AXIS2_EXTERN axutil_string_t *AXIS2_CALL axutil_string_create( const axutil_env_t *env, const axis2_char_t *str) { axutil_string_t *string = NULL; AXIS2_ENV_CHECK(env, NULL); /* str can't be null */ if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); return NULL; } string = (axutil_string_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_string_t)); if (!string) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } /* set properties */ string->buffer = NULL; string->ref_count = 1; string->owns_buffer = AXIS2_TRUE; string->length = axutil_strlen(str); if (string->length < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); axutil_string_free(string, env); return NULL; } string->buffer = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (string->length + 1)); if (!(string->buffer)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); axutil_string_free(string, env); return NULL; } memcpy(string->buffer, str, string->length + 1); return string; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axutil_string_create_assume_ownership( const axutil_env_t *env, axis2_char_t **str) { axutil_string_t *string = NULL; AXIS2_ENV_CHECK(env, NULL); /* str can't be null */ if (!str || !(*str)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); return NULL; } string = (axutil_string_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_string_t)); if (!string) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } /* set properties */ string->buffer = *str; string->length = axutil_strlen(*str); string->ref_count = 1; string->owns_buffer = AXIS2_TRUE; if (string->length < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); axutil_string_free(string, env); return NULL; } return string; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axutil_string_create_const( const axutil_env_t *env, axis2_char_t **str) { axutil_string_t *string = NULL; AXIS2_ENV_CHECK(env, NULL); /* str can't be null */ if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); return NULL; } string = (axutil_string_t *) AXIS2_MALLOC(env->allocator, sizeof(axutil_string_t)); if (!string) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } /* set properties */ string->buffer = *str; string->length = axutil_strlen(*str); string->ref_count = 1; string->owns_buffer = AXIS2_FALSE; if (string->length < 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "NULL parameter was passed when a non NULL parameter was expected"); axutil_string_free(string, env); return NULL; } return string; } AXIS2_EXTERN void AXIS2_CALL axutil_string_free( struct axutil_string *string, const axutil_env_t *env) { if (!string) { return; } string->ref_count--; if (string->ref_count > 0) { return; } if (string->owns_buffer && string->buffer) { AXIS2_FREE(env->allocator, string->buffer); } AXIS2_FREE(env->allocator, string); return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_string_equals( const struct axutil_string *string, const axutil_env_t * env, const struct axutil_string *string1) { if (!string || !string1) { return AXIS2_FALSE; } return (string->buffer == string1->buffer); } AXIS2_EXTERN struct axutil_string *AXIS2_CALL axutil_string_clone( struct axutil_string *string, const axutil_env_t *env) { if (!string) { return NULL; } string->ref_count++; return string; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axutil_string_get_buffer( const struct axutil_string *string, const axutil_env_t *env) { if (!string) { return NULL; } return string->buffer; } AXIS2_EXTERN unsigned int AXIS2_CALL axutil_string_get_length( const struct axutil_string *string, const axutil_env_t *env) { int error_return = -1; if (!string) { return error_return; } return string->length; } /* END of string struct implementation */ /** this is used to cache lengths in axutil_strcat */ #define MAX_SAVED_LENGTHS 6 AXIS2_EXTERN void *AXIS2_CALL axutil_strdup( const axutil_env_t *env, const void *ptr) { if (ptr) { int len = axutil_strlen(ptr); axis2_char_t *str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (len + 1)); if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } memcpy(str, ptr, len + 1); return (void *) str; } else { return NULL; } } AXIS2_EXTERN void *AXIS2_CALL axutil_strmemdup( const void *ptr, size_t n, const axutil_env_t *env) { axis2_char_t *str; AXIS2_PARAM_CHECK(env->error, ptr, NULL); str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (n + 1)); if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } memcpy(str, ptr, n); str[n] = '\0'; return (void *) str; } AXIS2_EXTERN void *AXIS2_CALL axutil_memchr( const void *ptr, int c, size_t n) { const axis2_char_t *cp; for (cp = ptr; n > 0; n--, cp++) { if (*cp == c) return (char *) cp; /* Casting away the const here */ } return NULL; } AXIS2_EXTERN void *AXIS2_CALL axutil_strndup( const axutil_env_t *env, const void *ptr, int n) { const axis2_char_t *end; axis2_char_t *str; AXIS2_PARAM_CHECK(env->error, ptr, NULL); end = axutil_memchr(ptr, '\0', n); if (end) n = (int)(end - (axis2_char_t *) ptr); /* We are sure that the difference lies within the int range */ str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (n + 1)); if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } memcpy(str, ptr, n); str[n] = '\0'; return (void *) str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strcat( const axutil_env_t *env, ...) { axis2_char_t *cp, *argp, *str; size_t saved_lengths[MAX_SAVED_LENGTHS]; int nargs = 0; int str_len = 0; /* Pass one --- find length of required string */ size_t len = 0; va_list adummy; va_start(adummy, env); cp = va_arg(adummy, axis2_char_t *); while (cp) { size_t cplen = strlen(cp); if (nargs < MAX_SAVED_LENGTHS) { saved_lengths[nargs++] = cplen; } len += cplen; cp = va_arg(adummy, axis2_char_t *); } va_end(adummy); /* Allocate the required string */ str_len = (int)(sizeof(axis2_char_t) * (len + 1)); /* We are sure that the difference lies within the int range */ str = (axis2_char_t *) AXIS2_MALLOC(env->allocator, str_len); if (!str) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } cp = str; /* Pass two --- copy the argument strings into the result space */ va_start(adummy, env); nargs = 0; argp = va_arg(adummy, axis2_char_t *); while (argp) { if (nargs < MAX_SAVED_LENGTHS) { len = saved_lengths[nargs++]; } else { len = strlen(argp); } memcpy(cp, argp, len); cp += len; argp = va_arg(adummy, axis2_char_t *); } va_end(adummy); /* Return the result string */ *cp = '\0'; return str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_stracat( const axutil_env_t *env, const axis2_char_t *s1, const axis2_char_t *s2) { axis2_char_t *ret = NULL; int alloc_len = -1; int len1 = 0; int len2 = 0; if (!s1 && !s2) { return NULL; } if (!s1) { return (axis2_char_t *) axutil_strdup(env, s2); } if (!s2) { return (axis2_char_t *) axutil_strdup(env, s1); } len1 = axutil_strlen(s1); len2 = axutil_strlen(s2); alloc_len = len1 + len2 + 1; ret = (axis2_char_t *) AXIS2_MALLOC(env->allocator, alloc_len * sizeof(axis2_char_t)); memcpy(ret, s1, len1 * sizeof(axis2_char_t)); memcpy((ret + len1 * sizeof(axis2_char_t)), s2, len2 * sizeof(axis2_char_t)); ret[alloc_len * sizeof(axis2_char_t) - sizeof(axis2_char_t)] = '\0'; return ret; } AXIS2_EXTERN int AXIS2_CALL axutil_strcmp( const axis2_char_t *s1, const axis2_char_t *s2) { if (s1 && s2) { return strcmp(s1, s2); } else { return -1; } } AXIS2_EXTERN int AXIS2_CALL axutil_strncmp( const axis2_char_t *s1, const axis2_char_t *s2, int n) { if (s1 && s2) { return strncmp(s1, s2, n); } else { return -1; } } AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axutil_strlen( const axis2_char_t *s) { int error_return = -1; if (s) { return (axis2_ssize_t)strlen(s); /* We are sure that the difference lies within the axis2_ssize_t range */ } return error_return; } AXIS2_EXTERN int AXIS2_CALL axutil_strcasecmp( const axis2_char_t *s1, const axis2_char_t *s2) { while (*s1 != '\0' && *s2 != '\0') { if (*s1 >= 'A' && *s1 <= 'Z' && *s2 >= 'a' && *s2 <= 'z') { if (*s2 - *s1 - (char) 32 != 0) { return 1; } } else if (*s1 >= 'a' && *s1 <= 'z' && *s2 >= 'A' && *s2 <= 'Z') { if (*s1 - *s2 - 32 != 0) { return 1; } } else if (*s1 - *s2 != 0) { return 1; } s1++; s2++; } if (*s1 != *s2) { return 1; } return 0; } AXIS2_EXTERN int AXIS2_CALL axutil_strncasecmp( const axis2_char_t *s1, const axis2_char_t *s2, const int n) { axis2_char_t *str1 = (axis2_char_t *) s1, *str2 = (axis2_char_t *) s2; int i = (int) n; while (--i >= 0 && toupper((int)*str1) == toupper((int)*str2++)) { if (toupper((int)*str1++) == '\0') { return (0); } } return (i < 0 ? 0 : toupper((int)*str1) - toupper((int)*--str2)); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strstr( const axis2_char_t *haystack, const axis2_char_t *needle) { return strstr(haystack, needle); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strchr( const axis2_char_t *s, axis2_char_t ch) { return (axis2_char_t *) strchr(s, ch); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_rindex( const axis2_char_t *_s, axis2_char_t _ch) { int i, ilen = axutil_strlen(_s); if (ilen < 1) { return NULL; } for (i = ilen - 1; i >= 0; i--) { if (_s[i] == _ch) { return (axis2_char_t *) (_s + i); } } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_replace( const axutil_env_t *env, axis2_char_t *str, int s1, int s2) { axis2_char_t *newstr = NULL; axis2_char_t *index = NULL; if (!str) { return NULL; } newstr = axutil_strdup(env, str); index = strchr(newstr, s1); while (index) { newstr[index - newstr] = (axis2_char_t)s2; /* We are sure that the conversion is safe */ index = strchr(newstr, s1); } return newstr; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strltrim( const axutil_env_t *env, const axis2_char_t *_s, const axis2_char_t *_trim) { axis2_char_t *_p = NULL; axis2_char_t *ret = NULL; if (!_s) { return NULL; } _p = (axis2_char_t *) _s; if (!_trim) { _trim = " \t\r\n"; } while (*_p) { if (!strchr(_trim, *_p)) { ret = (axis2_char_t *) axutil_strdup(env, _p); break; } ++_p; } return ret; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strrtrim( const axutil_env_t *env, const axis2_char_t *_in, const axis2_char_t *_trim) { axis2_char_t *__tail; axis2_char_t *_s = NULL; axis2_char_t *ret = NULL; if (_in) { _s = axutil_strdup(env, _in); } if (!_s) { return NULL; } __tail = _s + axutil_strlen(_s); if (!_trim) { _trim = " \t\n\r"; } while (_s < __tail--) { if (!strchr(_trim, *__tail)) { ret = _s; break; } *__tail = 0; } if (!ret && _s) { AXIS2_FREE(env->allocator, _s); } return ret; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strtrim( const axutil_env_t *env, const axis2_char_t *_s, const axis2_char_t *_trim) { axis2_char_t *_p = NULL; axis2_char_t *_q = NULL; _p = axutil_strltrim(env, _s, _trim); _q = axutil_strrtrim(env, _p, _trim); if (_p) { AXIS2_FREE(env->allocator, _p); } return _q; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_replace( axis2_char_t *str, axis2_char_t old, axis2_char_t new) { axis2_char_t *str_returns = str; for (; *str != '\0'; str++) { if (*str == old) { *str = new; } } return str_returns; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_substring_starting_at( axis2_char_t *str, int s) { int len; int pos_to_shift; len = (int)strlen(str); /* We are sure that the difference lies within the int range */ pos_to_shift = len - s + 1; if (len <= s) { return NULL; } memmove(str, str + s, pos_to_shift); return str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_substring_ending_at( axis2_char_t *str, int e) { axis2_char_t *ptr = NULL; int length = 0; length = (int)strlen(str); /* We are sure that the difference lies within the int range */ ptr = str; if (length <= e) { return NULL; } ptr += e; *ptr = '\0'; return str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_tolower( axis2_char_t *str) { axis2_char_t *temp_str = NULL; for (temp_str = str; *temp_str != '\0'; temp_str++) { *temp_str = (axis2_char_t)tolower((int)*temp_str); /* We are sure that the conversion is safe */ } return str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_toupper( axis2_char_t *str) { axis2_char_t *temp_str = NULL; for (temp_str = str; *temp_str != '\0'; temp_str++) { *temp_str = (axis2_char_t)toupper((int)*temp_str); /* We are sure that the conversion is safe */ } return str; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strcasestr( const axis2_char_t *haystack, const axis2_char_t *needle) { axis2_char_t start, current; size_t len; if (!haystack || !needle) { return NULL; } if ((start = *needle++)) { len = strlen(needle); do { do { if (!(current = *haystack++)) { return NULL; } } while (toupper((int)current) != toupper((int)start)); } while (axutil_strncasecmp(haystack, needle, (int)len)); /* We are sure that the difference lies within the int range */ haystack--; } return (axis2_char_t *) haystack; } axis2c-src-1.6.0/util/src/linked_list.c0000644000175000017500000003262011166304700021046 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axutil_linked_list { /**The number of elements in this list. */ int size; /** * The first element in the list. */ entry_t *first; /** * The last element in the list. */ entry_t *last; /** * A count of the number of structural modifications that have been made to * the list (that is, insertions and removals). Structural modifications * are ones which change the list size or affect how iterations would * behave. This field is available for use by Iterator and ListIterator, * in order to set an error code in response * to the next op on the iterator. This fail-fast behavior * saves the user from many subtle bugs otherwise possible from concurrent * modification during iteration. *

    * * To make lists fail-fast, increment this field by just 1 in the * add(int, Object) and remove(int) methods. * Otherwise, this field may be ignored. */ int mod_count; }; AXIS2_EXTERN axutil_linked_list_t *AXIS2_CALL axutil_linked_list_create( const axutil_env_t *env) { axutil_linked_list_t *linked_list = NULL; AXIS2_ENV_CHECK(env, NULL); linked_list = AXIS2_MALLOC(env->allocator, sizeof(axutil_linked_list_t)); if (!linked_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } linked_list->size = 0; linked_list->mod_count = 0; linked_list->first = NULL; linked_list->last = NULL; return linked_list; } static entry_t * axutil_linked_list_create_entry( const axutil_env_t *env, void *data) { entry_t *entry = (entry_t *) AXIS2_MALLOC(env->allocator, sizeof(entry_t)); if (!entry) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } entry->data = data; entry->previous = NULL; entry->next = NULL; return entry; } static axis2_status_t axutil_linked_list_add_last_entry( axutil_linked_list_t *linked_list, const axutil_env_t *env, entry_t * e) { AXIS2_PARAM_CHECK(env->error, e, AXIS2_FAILURE); linked_list->mod_count++; if (linked_list->size == 0) { linked_list->first = linked_list->last = e; } else { e->previous = linked_list->last; linked_list->last->next = e; linked_list->last = e; } linked_list->size++; return AXIS2_SUCCESS; } AXIS2_EXTERN void AXIS2_CALL axutil_linked_list_free( axutil_linked_list_t *linked_list, const axutil_env_t *env) { entry_t *current = NULL, *next = NULL; current = linked_list->first; while (current) { next = current->next; AXIS2_FREE(env->allocator, current); current = next; } AXIS2_FREE(env->allocator, linked_list); linked_list = NULL; } AXIS2_EXTERN entry_t *AXIS2_CALL axutil_linked_list_get_entry( axutil_linked_list_t *linked_list, const axutil_env_t *env, int n) { entry_t *e = NULL; if (n < linked_list->size / 2) { e = linked_list->first; /* n less than size/2, iterate from start */ while (n > 0) { e = e->next; n = n - 1; } } else { e = linked_list->last; /* n greater than size/2, iterate from end */ while ((n = n + 1) < linked_list->size) { e = e->previous; } } return e; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_remove_entry( axutil_linked_list_t *linked_list, const axutil_env_t *env, entry_t *e) { AXIS2_PARAM_CHECK(env->error, e, AXIS2_FAILURE); linked_list->mod_count++; linked_list->size--; if (linked_list->size == 0) { linked_list->first = linked_list->last = NULL; } else { if (e == linked_list->first) { linked_list->first = e->next; e->next->previous = NULL; } else if (e == linked_list->last) { linked_list->last = e->previous; e->previous->next = NULL; } else { e->next->previous = e->previous; e->previous->next = e->next; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_check_bounds_inclusive( axutil_linked_list_t *linked_list, const axutil_env_t *env, int index) { if (index < 0 || index > linked_list->size) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INDEX_OUT_OF_BOUNDS, AXIS2_FAILURE); return AXIS2_FALSE; } return AXIS2_TRUE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_check_bounds_exclusive( axutil_linked_list_t *linked_list, const axutil_env_t *env, int index) { if (index < 0 || index >= linked_list->size) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INDEX_OUT_OF_BOUNDS, AXIS2_FAILURE); return AXIS2_FALSE; } return AXIS2_TRUE; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_get_first( axutil_linked_list_t *linked_list, const axutil_env_t *env) { if (linked_list->size == 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_SUCH_ELEMENT, AXIS2_FAILURE); return NULL; } return linked_list->first->data; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_get_last( axutil_linked_list_t *linked_list, const axutil_env_t *env) { if (linked_list->size == 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_SUCH_ELEMENT, AXIS2_FAILURE); return NULL; } return linked_list->last->data; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_remove_first( axutil_linked_list_t *linked_list, const axutil_env_t *env) { void *r; if (linked_list->size == 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_SUCH_ELEMENT, AXIS2_FAILURE); return NULL; } linked_list->mod_count++; linked_list->size--; r = linked_list->first->data; if (linked_list->first->next) { linked_list->first->next->previous = NULL; } else { linked_list->last = NULL; } linked_list->first = linked_list->first->next; return r; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_remove_last( axutil_linked_list_t *linked_list, const axutil_env_t *env) { void *r = NULL; if (linked_list->size == 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_SUCH_ELEMENT, AXIS2_FAILURE); return NULL; } linked_list->mod_count++; linked_list->size--; r = linked_list->last->data; if (linked_list->last->previous) { linked_list->last->previous->next = NULL; } else { linked_list->first = NULL; } linked_list->last = linked_list->last->previous; return r; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_add_first( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FAILURE); e = axutil_linked_list_create_entry(env, o); linked_list->mod_count++; if (linked_list->size == 0) { linked_list->first = linked_list->last = e; } else { e->next = linked_list->first; linked_list->first->previous = e; linked_list->first = e; } linked_list->size++; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_add_last( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FAILURE); e = axutil_linked_list_create_entry(env, o); return axutil_linked_list_add_last_entry(linked_list, env, e); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_contains( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FALSE); e = linked_list->first; while (e) { if (o == e->data) return AXIS2_TRUE; e = e->next; } return AXIS2_FALSE; } AXIS2_EXTERN int AXIS2_CALL axutil_linked_list_size( axutil_linked_list_t *linked_list, const axutil_env_t *env) { return linked_list->size; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_add( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FALSE); e = axutil_linked_list_create_entry(env, o); return axutil_linked_list_add_last_entry(linked_list, env, e); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_remove( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FALSE); e = linked_list->first; while (e) { if (o == e->data) { return axutil_linked_list_remove_entry(linked_list, env, e); } e = e->next; } return AXIS2_FALSE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_clear( axutil_linked_list_t *linked_list, const axutil_env_t *env) { if (linked_list->size > 0) { linked_list->mod_count++; linked_list->first = NULL; linked_list->last = NULL; linked_list->size = 0; } return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_get( axutil_linked_list_t *linked_list, const axutil_env_t *env, int index) { axutil_linked_list_check_bounds_exclusive(linked_list, env, index); return axutil_linked_list_get_entry(linked_list, env, index)->data; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_set( axutil_linked_list_t *linked_list, const axutil_env_t *env, int index, void *o) { entry_t *e; void *old; AXIS2_PARAM_CHECK(env->error, o, NULL); axutil_linked_list_check_bounds_exclusive(linked_list, env, index); e = axutil_linked_list_get_entry(linked_list, env, index); old = e->data; e->data = o; return old; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_add_at_index( axutil_linked_list_t *linked_list, const axutil_env_t *env, int index, void *o) { entry_t *after = NULL; entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FAILURE); axutil_linked_list_check_bounds_inclusive(linked_list, env, index); e = axutil_linked_list_create_entry(env, o); if (index < linked_list->size) { linked_list->mod_count++; after = axutil_linked_list_get_entry(linked_list, env, index); e->next = after; e->previous = after->previous; if (after->previous == NULL) linked_list->first = e; else after->previous->next = e; after->previous = e; linked_list->size++; } else { axutil_linked_list_add_last_entry(linked_list, env, e); } return AXIS2_SUCCESS; } AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_remove_at_index( axutil_linked_list_t *linked_list, const axutil_env_t *env, int index) { entry_t *e; axutil_linked_list_check_bounds_exclusive(linked_list, env, index); e = axutil_linked_list_get_entry(linked_list, env, index); axutil_linked_list_remove_entry(linked_list, env, e); return e->data; } AXIS2_EXTERN int AXIS2_CALL axutil_linked_list_index_of( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { int index = 0; entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FAILURE); e = linked_list->first; while (e) { if (o == e->data) return index; index++; e = e->next; } return -1; } AXIS2_EXTERN int AXIS2_CALL axutil_linked_list_last_index_of( axutil_linked_list_t *linked_list, const axutil_env_t *env, void *o) { int index; entry_t *e; AXIS2_PARAM_CHECK(env->error, o, AXIS2_FAILURE); index = linked_list->size - 1; e = linked_list->last; while (e) { if (o == e->data) return index; index--; e = e->previous; } return -1; } AXIS2_EXTERN void **AXIS2_CALL axutil_linked_list_to_array( axutil_linked_list_t *linked_list, const axutil_env_t *env) { int i = 0; void **array; entry_t *e; array = (void **) AXIS2_MALLOC(env->allocator, linked_list->size * sizeof(void *)); e = linked_list->first; for (i = 0; i < linked_list->size; i++) { array[i] = e->data; e = e->next; } return array; } axis2c-src-1.6.0/util/NEWS0000644000175000017500000000051311166304700016305 0ustar00manjulamanjula00000000000000Util module seperated from Axis2/C ====================================== Initially this was inside Axis2/C code base as util directory. As the project expands it's moved to the top level with the view of making it a seperate Apache project called Apache Axis2/C util. -- Axis2-C team Thu, 18 May 2006 axis2c-src-1.6.0/util/test/0000777000175000017500000000000011172017533016574 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/duration/0000777000175000017500000000000011172017532020420 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/duration/Makefile.am0000644000175000017500000000050511166304650022453 0ustar00manjulamanjula00000000000000TESTS = duration_test check_PROGRAMS = duration_test noinst_PROGRAMS = duration_test duration_test_SOURCES = duration_test.c ../util/create_env.c duration_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/duration/Makefile.in0000644000175000017500000004257511172017170022474 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = duration_test$(EXEEXT) check_PROGRAMS = duration_test$(EXEEXT) noinst_PROGRAMS = duration_test$(EXEEXT) subdir = test/duration DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_duration_test_OBJECTS = duration_test.$(OBJEXT) \ create_env.$(OBJEXT) duration_test_OBJECTS = $(am_duration_test_OBJECTS) duration_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(duration_test_SOURCES) DIST_SOURCES = $(duration_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ duration_test_SOURCES = duration_test.c ../util/create_env.c duration_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/duration/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/duration/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done duration_test$(EXEEXT): $(duration_test_OBJECTS) $(duration_test_DEPENDENCIES) @rm -f duration_test$(EXEEXT) $(LINK) $(duration_test_OBJECTS) $(duration_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/duration_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/duration/duration_test.c0000644000175000017500000001363011166304650023452 0ustar00manjulamanjula00000000000000#include #include "../util/create_env.h" /** @brief test duration * create duration from values and retrieve values */ axis2_status_t test_duration(axutil_env_t *env) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t * duration_str = "P3Y12M23DT11H45M45.000000S"; axis2_char_t * duration_str1 = "-P3Y12M23DT11H45M45.000000S"; int year,month,day,hour,minute; double second; axutil_duration_t * duration; axutil_duration_t * duration_one; axutil_duration_t * duration_two; axutil_duration_t * duration_three; axutil_duration_t * duration_four; axis2_bool_t is_negative = AXIS2_FALSE; axis2_char_t * neg_str = ""; duration = axutil_duration_create_from_values(env,AXIS2_TRUE,3,12,23,11,45,45.00); duration_one = axutil_duration_create_from_values(env,AXIS2_FALSE,7,11,2,23,11,50.00); duration_two = axutil_duration_create_from_string(env,duration_str); duration_three = axutil_duration_create(env); duration_four = axutil_duration_create(env); year = axutil_duration_get_years(duration,env); month = axutil_duration_get_months(duration,env); day = axutil_duration_get_days(duration,env); hour = axutil_duration_get_hours(duration,env); minute = axutil_duration_get_mins(duration,env); second = axutil_duration_get_seconds(duration,env); is_negative = axutil_duration_get_is_negative(duration,env); status = axutil_duration_deserialize_duration(duration_three,env,duration_str); if (status == AXIS2_SUCCESS) printf("The test 1 is successful\n"); else printf("The test 1 failed\n"); status = axutil_duration_deserialize_duration(duration_four,env,duration_str1); if (status == AXIS2_SUCCESS) printf("The test 2 is successful\n"); else printf("The test 2 failed\n"); printf("Duration for test 3: %s\n", axutil_duration_serialize_duration(duration,env)); printf("The test 3 is completed\n"); status = axutil_duration_set_duration(duration,env,AXIS2_TRUE,3,12,23,11,45,56.00); if (status == AXIS2_SUCCESS) { printf("The test 4 is successful\n"); } else { printf("The test 4 failed\n"); } axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); axutil_duration_free(duration_two,env); axutil_duration_free(duration_three,env); axutil_duration_free(duration_four,env); if (is_negative) neg_str = "(-) "; printf("Duration for test 5: %s%d-%d-%d %d:%d:%.0f\n",neg_str,year,month,day,hour,minute,second); printf("The test 5 is completed\n"); return AXIS2_SUCCESS; } /** @brief set values * set values for the duration and get the values */ axis2_status_t set_values(axutil_env_t *env) { axutil_duration_t * duration; axutil_duration_t * duration_one; int get_year,get_month,get_day,get_hour,get_minute; axis2_bool_t is_negative; double get_second; duration = axutil_duration_create(env); duration_one = axutil_duration_create_from_values(env,AXIS2_TRUE,5,9,29,59,21,49); if (axutil_duration_set_is_negative(duration,env,AXIS2_TRUE) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } is_negative = axutil_duration_get_is_negative(duration,env); if (!is_negative) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } if (axutil_duration_set_years(duration,env,5) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } get_year = axutil_duration_get_years(duration,env); if (axutil_duration_set_months(duration,env,9) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } get_month = axutil_duration_get_months(duration,env); if (axutil_duration_set_days(duration,env,29) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } get_day = axutil_duration_get_days(duration,env); if (axutil_duration_set_hours(duration,env,59) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } get_hour = axutil_duration_get_hours(duration,env); if (axutil_duration_set_mins(duration,env,21) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } get_minute = axutil_duration_get_mins(duration,env); if (axutil_duration_set_seconds(duration,env,49) != AXIS2_SUCCESS) { axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } get_second = axutil_duration_get_seconds(duration,env); printf("Duration for test 6: %d-%d-%d %d:%d:%.0f\n",get_year,get_month,get_day,get_hour,get_minute,get_second); printf("The test 6 is completed\n"); if (!axutil_duration_compare(duration_one,duration,env)) { printf("The test 7 failed\n"); axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_FAILURE; } printf("The test 7 is successful\n"); axutil_duration_free(duration,env); axutil_duration_free(duration_one,env); return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; env = create_environment(); status = test_duration(env); if(status == AXIS2_FAILURE) { printf("The test test_duration failed\n"); } status = set_values(env); if(status == AXIS2_FAILURE) { printf("The test set_values failed\n"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/uri/0000777000175000017500000000000011172017533017373 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/uri/Makefile.am0000644000175000017500000000045111166304645021431 0ustar00manjulamanjula00000000000000TESTS = uri_test check_PROGRAMS = uri_test noinst_PROGRAMS = uri_test uri_test_SOURCES = uri_test.c ../util/create_env.c uri_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/uri/Makefile.in0000644000175000017500000004240711172017170021440 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = uri_test$(EXEEXT) check_PROGRAMS = uri_test$(EXEEXT) noinst_PROGRAMS = uri_test$(EXEEXT) subdir = test/uri DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_uri_test_OBJECTS = uri_test.$(OBJEXT) create_env.$(OBJEXT) uri_test_OBJECTS = $(am_uri_test_OBJECTS) uri_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(uri_test_SOURCES) DIST_SOURCES = $(uri_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ uri_test_SOURCES = uri_test.c ../util/create_env.c uri_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/uri/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/uri/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done uri_test$(EXEEXT): $(uri_test_OBJECTS) $(uri_test_DEPENDENCIES) @rm -f uri_test$(EXEEXT) $(LINK) $(uri_test_OBJECTS) $(uri_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/uri_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/uri/uri_test.c0000644000175000017500000000620311166304645021400 0ustar00manjulamanjula00000000000000#include #include "../util/create_env.h" /** @brief test uri * * create URI and get the values of it's components * */ axis2_status_t test_uri(axutil_env_t *env) { axis2_char_t * uri_str = "http://user:pass@example.com:80/foo?bar#item5"; axis2_char_t * host = "home.netscape.com:443"; axis2_char_t * uri_str_base = "http://user:pass@example.com:80/foo?bar"; axis2_char_t * scheme_str = "http"; axutil_uri_t * base = NULL; axutil_uri_t * hostinfo = NULL; axutil_uri_t * uri = NULL; axutil_uri_t * clone = NULL; axutil_uri_t * rel = NULL; axis2_char_t * protocol = NULL; axis2_char_t * server = NULL; axis2_char_t * path = NULL; axis2_port_t scheme_port; axis2_port_t port; hostinfo = axutil_uri_parse_hostinfo(env,host); if(hostinfo) { printf("The host information of uri is %s\n",axutil_uri_to_string(hostinfo,env,0)); } else { printf("Test hostinfo faild\n"); } scheme_port = axutil_uri_port_of_scheme(scheme_str); if(scheme_port) { printf("port of scheme is %u\n", scheme_port); } else { printf("Test port failed\n"); } uri = axutil_uri_parse_string(env,uri_str); if(uri) { printf("The uri is %s\n",axutil_uri_to_string(uri,env,0)); axutil_uri_free(uri, env); } else { return AXIS2_FAILURE; } base = axutil_uri_parse_string(env,uri_str_base); if(base) { printf("The base of uri is %s\n",axutil_uri_to_string(base,env,0)); } else { printf("Test base failed\n"); } clone = axutil_uri_clone(uri,env); if(clone) { printf("The clone of uri is %s\n",axutil_uri_to_string(clone,env,0)); axutil_uri_free(clone,env); } else { printf("Test clone failed"); } rel = axutil_uri_resolve_relative(env,base,clone); if(rel) { printf("The resolved relative uri is %s\n",axutil_uri_to_string(rel,env,0)); } else { printf("Test resolve relative failed"); } protocol = axutil_uri_get_protocol(uri,env); if (!protocol) { axutil_uri_free(uri,env); return AXIS2_FAILURE; } server = axutil_uri_get_server(uri,env); if (!server) { axutil_uri_free(uri,env); return AXIS2_FAILURE; } port = axutil_uri_get_port(uri,env); if (!port) { axutil_uri_free(uri,env); return AXIS2_FAILURE; } path = axutil_uri_get_path(uri,env); if (!path) { axutil_uri_free(uri,env); return AXIS2_FAILURE; } printf("The protocol is %s\n",protocol); printf("The server is %s \n",server); printf("The port is %u \n",port); printf("The path is %s\n",path); axutil_uri_free(uri,env); return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; env = create_environment(); status = test_uri(env); if(status == AXIS2_FAILURE) { printf("The Test failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/url/0000777000175000017500000000000011172017533017376 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/url/Makefile.am0000644000175000017500000000045111166304650021430 0ustar00manjulamanjula00000000000000TESTS = url_test noinst_PROGRAMS = url_test check_PROGRAMS = url_test url_test_SOURCES = url_test.c ../util/create_env.c url_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/url/Makefile.in0000644000175000017500000004240711172017170021443 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = url_test$(EXEEXT) noinst_PROGRAMS = url_test$(EXEEXT) check_PROGRAMS = url_test$(EXEEXT) subdir = test/url DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_url_test_OBJECTS = url_test.$(OBJEXT) create_env.$(OBJEXT) url_test_OBJECTS = $(am_url_test_OBJECTS) url_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(url_test_SOURCES) DIST_SOURCES = $(url_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ url_test_SOURCES = url_test.c ../util/create_env.c url_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/url/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/url/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done url_test$(EXEEXT): $(url_test_OBJECTS) $(url_test_DEPENDENCIES) @rm -f url_test$(EXEEXT) $(LINK) $(url_test_OBJECTS) $(url_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/url_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/url/url_test.c0000644000175000017500000000533111166304650021403 0ustar00manjulamanjula00000000000000#include #include "../util/create_env.h" /** @brief test url * create URL and get the values of it's components */ axis2_status_t test_url(axutil_env_t *env) { axutil_url_t * url; axis2_char_t *url_str = "https://issues.apache.org/jira/secure/ManageAttachments.jspa?id=12386356"; axis2_char_t *set_server = "www.yahoo.com"; axis2_char_t *set_protocol = "file"; axis2_char_t *set_path = "/bar/"; axis2_port_t set_port = 80; axis2_char_t *get_protocol; axis2_char_t *get_server; axis2_port_t get_port; axis2_char_t *get_path; axis2_status_t status; url = axutil_url_parse_string(env,url_str); if(url) { printf("The url is created \n"); } else { return AXIS2_FAILURE; } status = axutil_url_set_protocol(url,env,set_protocol); if (status == AXIS2_SUCCESS) printf("The test 1 is successful\n"); else printf("The test 1 failed\n") ; status = axutil_url_set_server(url,env,set_server); if (status == AXIS2_SUCCESS) printf("The test 2 is successful\n"); else printf("The test 2 failed\n") ; status = axutil_url_set_port(url,env,set_port); if (status == AXIS2_SUCCESS) printf("The test 3 is successful\n"); else printf("The test 3 failed\n") ; status = axutil_url_set_path(url,env,set_path); if (status == AXIS2_SUCCESS) printf("The test 4 is successful\n"); else printf("The test 4 failed\n") ; get_protocol = axutil_url_get_protocol(url,env); if (!get_protocol) { axutil_url_free(url,env); return AXIS2_FAILURE; } else { printf("The protocol is %s\n",get_protocol); } get_server = axutil_url_get_server(url,env); if (!get_server) { axutil_url_free(url,env); return AXIS2_FAILURE; } else { printf("The server is %s\n",get_server); } get_port = axutil_url_get_port(url,env); if (!get_port) { axutil_url_free(url,env); return AXIS2_FAILURE; } else { printf("The port is %d\n",get_port); } get_path = axutil_url_get_path(url,env); if (!get_path) { axutil_url_free(url,env); return AXIS2_FAILURE; } else { printf("The path is %s\n",get_path); } axutil_url_free(url,env); return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; env = create_environment(); status = test_url(env); if(status == AXIS2_FAILURE) { printf("Test failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/rand/0000777000175000017500000000000011172017533017520 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/rand/Makefile.am0000644000175000017500000000045511166304650021556 0ustar00manjulamanjula00000000000000TESTS = rand_test check_PROGRAMS = rand_test noinst_PROGRAMS = rand_test rand_test_SOURCES = rand_test.c ../util/create_env.c rand_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/rand/Makefile.in0000644000175000017500000004243611172017170021567 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = rand_test$(EXEEXT) check_PROGRAMS = rand_test$(EXEEXT) noinst_PROGRAMS = rand_test$(EXEEXT) subdir = test/rand DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_rand_test_OBJECTS = rand_test.$(OBJEXT) create_env.$(OBJEXT) rand_test_OBJECTS = $(am_rand_test_OBJECTS) rand_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(rand_test_SOURCES) DIST_SOURCES = $(rand_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ rand_test_SOURCES = rand_test.c ../util/create_env.c rand_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/rand/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/rand/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done rand_test$(EXEEXT): $(rand_test_OBJECTS) $(rand_test_DEPENDENCIES) @rm -f rand_test$(EXEEXT) $(LINK) $(rand_test_OBJECTS) $(rand_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rand_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/rand/rand_test.c0000644000175000017500000000263011166304650021646 0ustar00manjulamanjula00000000000000#include "../util/create_env.h" /** @brief test_rand * create random variable and get it's value */ axis2_status_t test_rand(axutil_env_t *env) { int rand_number,rand_value,start = 2,end = 8,rand_range; unsigned seed = 10; rand_number = axutil_rand(&seed); if(!rand_number) { printf("Test axutil_rand failed\n"); } else { printf("Test axutil_rand is successfull\n"); printf("The random value is %d\n",rand_number); } rand_range = axutil_rand_with_range(&seed,start,end); if(rand_range == -1) { printf("Test axutil_rand_with_range failed\n"); } else { printf("Test axutil_rand_with_range is successfull\n"); printf("The random seed value is %d\n",rand_range); } rand_value = axutil_rand_get_seed_value_based_on_time(env); if(!rand_value) { printf("The test axutil_rand_get_seed_value_based_on_time failed\n"); } else { printf("Test axutil_rand_get_seed_value_based_on_time is successfull\n"); printf("The random range is %d\n",rand_value); } return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; env = create_environment(); status = test_rand(env); if(status == AXIS2_FAILURE) { printf("Test failed\n"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/util/0000777000175000017500000000000011172017531017547 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/util/test_md5.c0000644000175000017500000000365311166304653021451 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include /* Digests a string and prints the result. */ static void MDString (char * string, const axutil_env_t * env) { axutil_md5_ctx_t * context; unsigned char digest[16]; unsigned int i; unsigned int len = axutil_strlen(string); context = axutil_md5_ctx_create(env); axutil_md5_update(context, env, string, len); axutil_md5_final(context, env, digest); axutil_md5_ctx_free(context, env); printf ("MD%d (\"%s\") = ", 5, string); for (i = 0; i < 16; i++) printf ("%02x", digest[i]); printf ("\n"); } void test_md5(const axutil_env_t *env) { printf ("\nMD5 test suite:\n"); printf ("test confirmation: Rivest, R., \"The MD5 Message-Digest Algorithm\", RFC 1321, April 1992.\n"); MDString ("", env); MDString ("a", env); MDString ("abc", env); MDString ("message digest", env); MDString ("abcdefghijklmnopqrstuvwxyz", env); MDString ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789", env); MDString ("12345678901234567890123456789012345678901234567890123456789012345678901234567890", env); } axis2c-src-1.6.0/util/test/util/test_md5.h0000644000175000017500000000167411166304653021457 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _TEST_MD5_H_ #define _TEST_MD5_H_ #include void test_md5( const axutil_env_t * env); #endif /* _TEST_MD5_H_ */ axis2c-src-1.6.0/util/test/util/test_log.c0000644000175000017500000001235411166304653021543 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include const axutil_env_t * create_env_with_error_log( ) { axutil_allocator_t *allocator = axutil_allocator_init(NULL); if (!allocator) { printf("allocator is NULL\n"); return NULL; } axutil_error_t *error = axutil_error_create(allocator); if (!error) { printf("cannot create error\n"); return NULL; } axutil_log_t *log22 = axutil_log_create(allocator, NULL, NULL); if (!log22) { printf("cannot create log\n"); return NULL; } /* * allow all types of logs */ log22->level = AXIS2_LOG_LEVEL_DEBUG; /* log22->enabled = 0; */ const axutil_env_t *env = axutil_env_create_with_error_log(allocator, error, log22); if (!env) { printf("cannot create env with error and log\n"); return NULL; } return env; } void test_axutil_log_write( const axutil_env_t * env) { char msg[32]; printf("\n####start of test_axutil_log_write\n\n"); strcpy(msg, "abcd test123"); printf("\n####end of test_axutil_log_write\n\n"); } void test_axutil_log_debug( const axutil_env_t * env) { printf("\n####start of test_axutil_log_degug\n\n"); env->log->level = AXIS2_LOG_LEVEL_DEBUG; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "log_debug test %s %d", "foo", 1); printf("\n####end of test_axutil_log_debug\n\n"); } void test_axutil_log_debug_off( const axutil_env_t * env) { printf("\n####start of test_axutil_log_degug_off\n\n"); env->log->level = AXIS2_LOG_LEVEL_ERROR; /*log only ERROR's and CRITICAL's */ AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "this should not be logged log_debug test %s %d", "foo", 1); printf("\n####end of test_axutil_log_debug_off\n\n"); } void test_axutil_log_info( const axutil_env_t * env) { printf("\n####start of test_axutil_log_info\n\n"); env->log->level = AXIS2_LOG_LEVEL_DEBUG; AXIS2_LOG_INFO(env->log, "log_info test %s %d", "foo", 1); printf("\n####end of test_axutil_log_info\n\n"); } void test_axutil_log_info_off( const axutil_env_t * env) { printf("\n####start of test_axutil_log_info_off\n\n"); env->log->level = AXIS2_LOG_LEVEL_ERROR; /*log only ERROR's and CRITICAL's */ AXIS2_LOG_INFO(env->log, "this should not be logged log_info test %s %d", "foo", 1); printf("\n####end of test_axutil_log_info_off\n\n"); } void test_axutil_log_warning( const axutil_env_t * env) { printf("\n####start of test_axutil_log_warning\n\n"); env->log->level = AXIS2_LOG_LEVEL_DEBUG; AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "log_warning test %s %d", "foo", 1); printf("\n####end of test_axutil_log_warning\n\n"); } void test_axutil_log_warning_off( const axutil_env_t * env) { printf("\n####start of test_axutil_log_warning_off\n\n"); env->log->level = AXIS2_LOG_LEVEL_ERROR; /*log only ERROR's and CRITICAL's */ AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "this should not be logged log_warning test %s %d", "foo", 1); printf("\n####end of test_axutil_log_warning_off\n\n"); } /*no need to sent log level, should always log*/ void test_axutil_log_error( const axutil_env_t * env) { printf("\n####start of test_axutil_log_error\n\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "log_error test %s %d", "foo", 1); printf("\n####end of test_axutil_log_error\n\n"); } /*no need to sent log level, should always log*/ void test_axutil_log_critical( const axutil_env_t * env) { printf("\n####start of test_axutil_log_critical\n\n"); AXIS2_LOG_CRITICAL(env->log, AXIS2_LOG_SI, "log_critical test %s %d", "foo", 1); printf("\n####end of test_axutil_log_critical\n\n"); } void run_test_log( ) { printf("\n####start of run_test_log test suite\n\n"); const axutil_env_t *env = create_env_with_error_log(); if (!env) return; test_axutil_log_write(env); test_axutil_log_debug(env); test_axutil_log_debug_off(env); test_axutil_log_info(env); test_axutil_log_info_off(env); test_axutil_log_warning(env); test_axutil_log_warning_off(env); test_axutil_log_error(env); test_axutil_log_critical(env); printf("\n####end of run_test_log test suite \n\n"); } axis2c-src-1.6.0/util/test/util/test_log.h0000644000175000017500000000277211166304653021553 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _TEST_LOG_H_ #define _TEST_LOG_H_ #include void run_test_log( ); const axutil_env_t *create_env_with_error_log( ); void test_axutil_log_write( const axutil_env_t * env); void test_axutil_log_debug( const axutil_env_t * env); void test_axutil_log_debug_off( const axutil_env_t * env); void test_axutil_log_info( const axutil_env_t * env); void test_axutil_log_info_off( const axutil_env_t * env); void test_axutil_log_warning( const axutil_env_t * env); void test_axutil_log_warning_off( const axutil_env_t * env); void test_axutil_log_error( const axutil_env_t * env); void test_axutil_log_critical( const axutil_env_t * env); #endif /* _TEST_LOG_H_ */ axis2c-src-1.6.0/util/test/util/create_env.c0000644000175000017500000000065411166304653022036 0ustar00manjulamanjula00000000000000#include "create_env.h" axutil_env_t * create_environment() { axutil_allocator_t *allocator = NULL; axutil_log_t *log = NULL; axutil_error_t *error = NULL; axutil_env_t *env = NULL; allocator = axutil_allocator_init(NULL); log = axutil_log_create(allocator, NULL, NULL); error = axutil_error_create(allocator); env = axutil_env_create_with_error_log(allocator, error, log); return env; } axis2c-src-1.6.0/util/test/util/create_env.h0000644000175000017500000000022711166304653022037 0ustar00manjulamanjula00000000000000#include #include #include #include axutil_env_t * create_environment(); axis2c-src-1.6.0/util/test/util/Makefile.am0000644000175000017500000000112711166304653021607 0ustar00manjulamanjula00000000000000TESTS = test_thread test_util noinst_PROGRAMS = test_util test_thread noinst_HEADERS = test_log.h \ test_thread.h \ create_env.h\ test_md5.h check_PROGRAMS = test_util test_thread SUBDIRS = test_util_SOURCES = test_util.c test_log.c test_string.c test_md5.c test_thread_SOURCES = test_thread.c test_util_LDADD = \ $(top_builddir)/src/libaxutil.la \ -lpthread test_thread_LDADD = \ $(top_builddir)/src/libaxutil.la \ -lpthread INCLUDES = -I$(top_builddir)/include axis2c-src-1.6.0/util/test/util/Makefile.in0000644000175000017500000005075511172017170021623 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_thread$(EXEEXT) test_util$(EXEEXT) noinst_PROGRAMS = test_util$(EXEEXT) test_thread$(EXEEXT) check_PROGRAMS = test_util$(EXEEXT) test_thread$(EXEEXT) subdir = test/util DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_thread_OBJECTS = test_thread.$(OBJEXT) test_thread_OBJECTS = $(am_test_thread_OBJECTS) test_thread_DEPENDENCIES = $(top_builddir)/src/libaxutil.la am_test_util_OBJECTS = test_util.$(OBJEXT) test_log.$(OBJEXT) \ test_string.$(OBJEXT) test_md5.$(OBJEXT) test_util_OBJECTS = $(am_test_util_OBJECTS) test_util_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_thread_SOURCES) $(test_util_SOURCES) DIST_SOURCES = $(test_thread_SOURCES) $(test_util_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_HEADERS = test_log.h \ test_thread.h \ create_env.h\ test_md5.h SUBDIRS = test_util_SOURCES = test_util.c test_log.c test_string.c test_md5.c test_thread_SOURCES = test_thread.c test_util_LDADD = \ $(top_builddir)/src/libaxutil.la \ -lpthread test_thread_LDADD = \ $(top_builddir)/src/libaxutil.la \ -lpthread INCLUDES = -I$(top_builddir)/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_thread$(EXEEXT): $(test_thread_OBJECTS) $(test_thread_DEPENDENCIES) @rm -f test_thread$(EXEEXT) $(LINK) $(test_thread_OBJECTS) $(test_thread_LDADD) $(LIBS) test_util$(EXEEXT): $(test_util_OBJECTS) $(test_util_DEPENDENCIES) @rm -f test_util$(EXEEXT) $(LINK) $(test_util_OBJECTS) $(test_util_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_log.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_md5.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_string.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_thread.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_util.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) $(HEADERS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/util/test_util.c0000644000175000017500000002246511166304653021743 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include "axutil_log.h" #include "test_thread.h" #include typedef struct a { axis2_char_t *value; } a; const axutil_env_t * test_init( ) { axutil_allocator_t *allocator = axutil_allocator_init(NULL); axutil_error_t *error = axutil_error_create(allocator); const axutil_env_t *env = axutil_env_create_with_error(allocator, error); return env; } int test_hash_get( const axutil_env_t * env) { axutil_hash_t *ht; a *a1, *a2, *a3, *a4; axutil_hash_index_t *i = 0; void *v = NULL; char *key1 = "key1"; char *key2 = "key2"; char *key3 = "key3"; char *key4 = "key4"; int cnt = 0; axis2_char_t ***rettt = NULL; axis2_status_t stat = AXIS2_FAILURE; stat = axutil_parse_rest_url_for_params(env, "ech{a}tring", "/echoString?text=Hello%20World%21", &cnt, &rettt); stat = axutil_parse_rest_url_for_params(env, "{a}ny/mor/sum", "echoStringmany/mor/sum", &cnt, &rettt); /* rettt = axutil_parse_rest_url_for_params(env, "echoString/{a}re/{b}?", "/echoString/more/sum/?"); rettt = axutil_parse_rest_url_for_params(env, "/ech{c}tring{a}more/{b}/", "/echoStringma/nymore/sum?"); rettt = axutil_parse_rest_url_for_params(env, "echoString/{a}/more/{b}?{c}", "echoString/many/more/sum/"); rettt = axutil_parse_rest_url_for_params(env, "echoString/{a}/more/{b}/?", "echoString/many/more/sum/?test=");*/ a1 = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); a2 = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); a3 = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); a4 = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); a1->value = axutil_strdup(env, "value1"); a2->value = axutil_strdup(env, "value2"); a3->value = axutil_strdup(env, "value3"); a4->value = axutil_strdup(env, "value4"); ht = axutil_hash_make(env); axutil_hash_set(ht, key1, AXIS2_HASH_KEY_STRING, a1); axutil_hash_set(ht, key2, AXIS2_HASH_KEY_STRING, a2); axutil_hash_set(ht, key3, AXIS2_HASH_KEY_STRING, a3); axutil_hash_set(ht, key4, AXIS2_HASH_KEY_STRING, a4); axutil_hash_set(ht, key2, AXIS2_HASH_KEY_STRING, NULL); axutil_hash_set(ht, key2, AXIS2_HASH_KEY_STRING, a2); for (i = axutil_hash_first(ht, env); i; i = axutil_hash_next(env, i)) { axutil_hash_this(i, NULL, NULL, &v); printf("\n %s \n", ((a *) v)->value); } printf("\n demo get %s ", ((a *) axutil_hash_get(ht, key1, AXIS2_HASH_KEY_STRING))->value); printf("\n demo get %s ", ((a *) axutil_hash_get(ht, key2, AXIS2_HASH_KEY_STRING))->value); printf("\n demo get %s ", ((a *) axutil_hash_get(ht, key3, AXIS2_HASH_KEY_STRING))->value); printf("\n demo get %s \n", ((a *) axutil_hash_get(ht, key4, AXIS2_HASH_KEY_STRING))->value); axutil_hash_free(ht, env); AXIS2_FREE(env->allocator, a1->value); AXIS2_FREE(env->allocator, a2->value); AXIS2_FREE(env->allocator, a3->value); AXIS2_FREE(env->allocator, a4->value); AXIS2_FREE(env->allocator, a1); AXIS2_FREE(env->allocator, a2); AXIS2_FREE(env->allocator, a3); AXIS2_FREE(env->allocator, a4); return 0; } void test_axutil_dir_handler_list_service_or_module_dirs( ) { int i, isize; axutil_file_t *file = NULL; axis2_char_t *filename = NULL; axutil_allocator_t *allocator = axutil_allocator_init(NULL); axutil_error_t *error = axutil_error_create(allocator); axutil_log_t *log = axutil_log_create(allocator, NULL, NULL); const axutil_env_t *env = axutil_env_create_with_error_log(allocator, error, log); axis2_char_t *pathname = axutil_strdup(env, "/tmp/test/"); axutil_array_list_t *arr_folders = axutil_dir_handler_list_service_or_module_dirs(env, pathname); if (arr_folders == NULL) { printf("List of folders is NULL\n"); return; } isize = axutil_array_list_size(arr_folders, env); printf("Folder array size = %d \n", isize); for (i = 0; i < isize; ++i) { file = (axutil_file_t *) axutil_array_list_get(arr_folders, env, i); filename = axutil_file_get_name(file, env); printf("filename = %s \n", filename); } printf ("----end of test_axutil_dir_handler_list_service_or_module_dirs----\n"); } /** * This test is intended to test whether given two files are equal or not. * Spaces and new lines are ignored in comparing */ int test_file_diff( const axutil_env_t * env) { /* axis2_char_t *expected_file_name = axutil_strdup("expected", env); axis2_char_t *actual_file_name = axutil_strdup("actual", env); */ return 0; } void test_array_list( const axutil_env_t * env) { axutil_array_list_t *al; a *entry = NULL; int size; al = axutil_array_list_create(env, 1); printf("list size %d\n", axutil_array_list_size(al, env)); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value1"); axutil_array_list_add(al, env, (void *) entry); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value2"); axutil_array_list_add(al, env, (void *) entry); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value3"); axutil_array_list_add(al, env, (void *) entry); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value4"); axutil_array_list_add(al, env, (void *) entry); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value5"); axutil_array_list_add(al, env, (void *) entry); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value6"); axutil_array_list_add(al, env, (void *) entry); entry = (a *) AXIS2_MALLOC(env->allocator, sizeof(a)); entry->value = axutil_strdup(env, "value7"); axutil_array_list_set(al, env, 3, (void *) entry); axutil_array_list_remove(al, env, 2); entry = (a *) axutil_array_list_get(al, env, 0); printf("entry->value:%s\n", entry->value); entry = (a *) axutil_array_list_get(al, env, 2); printf("entry->value:%s\n", entry->value); size = axutil_array_list_size(al, env); printf("list size %d\n", axutil_array_list_size(al, env)); } void test_uuid_gen( const axutil_env_t * env) { char *uuid = NULL; printf("starting uuid_gen test...\n"); uuid = axutil_uuid_gen(env); printf("Generated UUID 1:%s\n", uuid); AXIS2_FREE(env->allocator, uuid); uuid = axutil_uuid_gen(env); printf("Generated UUID 2:%s\n", uuid); AXIS2_FREE(env->allocator, uuid); printf("finished uuid_gen test...\n"); } void test_log_write( ) { char msg[10]; printf("start of test_log_write\n\n"); axutil_allocator_t *allocator = axutil_allocator_init(NULL); if (!allocator) { printf("allocator is NULL\n"); return; } axutil_error_t *error = axutil_error_create(allocator); if (!error) { printf("cannot create error\n"); return; } axutil_log_t *log22 = axutil_log_create(allocator, NULL, NULL); if (!log22) { printf("cannot create log\n"); return; } log22->level = AXIS2_LOG_LEVEL_DEBUG; const axutil_env_t *env = axutil_env_create_with_error_log(allocator, error, log22); if (!env) { printf("cannot create env with error and log\n"); return; } strcpy(msg, "abcd test123"); AXIS2_LOG_CRITICAL(env->log, AXIS2_LOG_SI, "log1 %s", "test1"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "log2 %d", 2); AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "log3 %s", "test3"); AXIS2_LOG_INFO(env->log, AXIS2_LOG_SI, "log4 %s %s", "info1", "info2"); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "log5 %s %d", "test", 5); printf("end of test_log_write \n\n"); } int main( void) { const axutil_env_t *env = test_init(); test_hash_get(env); test_file_diff(env); test_array_list(env); test_uuid_gen(env); test_md5(env); run_test_log(); run_test_string(env); test_axutil_dir_handler_list_service_or_module_dirs(); axutil_allocator_t *allocator = env->allocator; /* axutil_env_free(env);*/ axutil_allocator_free(allocator); return 0; } axis2c-src-1.6.0/util/test/util/test_thread.c0000644000175000017500000001762411166304653022236 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include "test_thread.h" #include const axutil_env_t *env = NULL; static axutil_thread_mutex_t *thread_lock = NULL; static axutil_thread_once_t *control = NULL; static int x = 0; static int value = 0; static axutil_thread_t *t1 = NULL; static axutil_thread_t *t2 = NULL; /*for detach tests*/ static axutil_thread_t *t3 = NULL; static axutil_thread_t *t4 = NULL; void init_func( void) { value++; } void thread_init( const axutil_env_t * env) { axutil_allocator_t *allocator = NULL; allocator = env->allocator; control = axutil_thread_once_init(allocator); if (control) printf("success - thread_init - axutil_thread_once_init \n"); else printf("failure - thread_init - axutil_thread_once_init \n"); thread_lock = axutil_thread_mutex_create(allocator, AXIS2_THREAD_MUTEX_DEFAULT); if (thread_lock) printf("success - thread_init - axutil_thread_mutex_create \n"); else printf("failure - thread_init - axutil_thread_mutex_create \n"); } void *AXIS2_CALL test_function( axutil_thread_t * td, void *param) { int i; i = *((int *) param); printf("thread data = %d \n", i); axutil_thread_once(control, init_func); axutil_thread_mutex_lock(thread_lock); printf("x = %d \n", ++x); axutil_thread_mutex_unlock(thread_lock); /*axutil_thread_exit(td, env->allocator); */ return (void *) 1; } void test_axutil_thread_create( const axutil_env_t * env) { axis2_status_t rv = AXIS2_FAILURE; axutil_allocator_t *allocator = NULL; int *i = NULL, *j = NULL; allocator = env->allocator; i = AXIS2_MALLOC(allocator, sizeof(int)); *i = 5; t1 = axutil_thread_create(allocator, NULL, test_function, (void *) i); if (t1) printf("success - test_axutil_thread_create - axutil_thread_create \n"); else printf("failure - test_axutil_thread_create - axutil_thread_create \n"); j = AXIS2_MALLOC(allocator, sizeof(int)); *j = 25; t2 = axutil_thread_create(allocator, NULL, test_function, (void *) j); if (t2) printf("success - test_axutil_thread_create - axutil_thread_create \n"); else printf("failure - test_axutil_thread_create - axutil_thread_create \n"); rv = axutil_thread_join(t1); if (AXIS2_SUCCESS == rv) printf("success - test_axutil_thread_create - axutil_thread_join \n"); else printf ("failure - thread_init - test_axutil_thread_create - axutil_thread_join \n"); rv = axutil_thread_join(t2); if (AXIS2_SUCCESS == rv) printf("success - test_axutil_thread_create - axutil_thread_join \n"); else printf ("failure - thread_init - test_axutil_thread_create - axutil_thread_join \n"); } void *AXIS2_CALL test_function2( axutil_thread_t * td, void *param) { printf("thread \n"); /*axutil_thread_exit(td, env->allocator); */ return (void *) 1; } void test_axutil_thread_detach( const axutil_env_t * env) { axutil_threadattr_t *attr = NULL; axutil_allocator_t *allocator = NULL; axis2_status_t rv = AXIS2_FAILURE; allocator = env->allocator; attr = axutil_threadattr_create(allocator); if (!attr) { printf("failure - test_axutil_thread_detach\n"); return; } rv = axutil_threadattr_detach_set(attr, 1); if (AXIS2_SUCCESS != rv) { printf("failure - test_axutil_thread_detach\n"); return; } t3 = axutil_thread_create(allocator, attr, test_function2, NULL); if (!t3) { printf("failure - test_axutil_thread_detach\n"); return; } /* * thread is already detached - should return AXIS2_FAILURE */ rv = axutil_thread_detach(t3); if (AXIS2_FAILURE != rv) { printf("failure - test_axutil_thread_detach\n"); return; } /* * thread is already detached - should return AXIS2_FAILURE * cannot join detached threads */ /*rv = axutil_thread_join(t3); */ if (AXIS2_FAILURE != rv) { printf("failure - test_axutil_thread_detach\n"); return; } printf("success - test_axutil_thread_detach\n"); } void test_axutil_thread_detach2( const axutil_env_t * env) { axutil_threadattr_t *attr = NULL; axutil_allocator_t *allocator = NULL; axis2_status_t rv = AXIS2_FAILURE; allocator = env->allocator; attr = axutil_threadattr_create(allocator); if (!attr) { printf("failure - test_axutil_thread_detach2\n"); return; } t4 = axutil_thread_create(allocator, attr, test_function2, NULL); if (!t4) { printf("failure - test_axutil_thread_detach2\n"); return; } /* * thread is not detached yet - should return AXIS2_SUCCESS */ rv = axutil_thread_detach(t4); if (AXIS2_SUCCESS != rv) { printf("failure - test_axutil_thread_detach\n"); return; } /* * thread is already detached - should return AXIS2_FAILURE * cannot join detached threads */ /*rv = axutil_thread_join(t4); */ if (AXIS2_FAILURE != rv) { printf("failure - test_axutil_thread_detach2\n"); return; } printf("success - test_axutil_thread_detach2\n"); } void check_locks( ) { if (2 == x) printf("success - check_locks \n"); else printf("failure - check_locks \n"); } void check_thread_once( ) { if (1 == value) printf("success - check_thread_once \n"); else printf("failure - check_thread_once \n"); } void run_test_thread( const axutil_env_t * env) { thread_init(env); test_axutil_thread_create(env); check_locks(); check_thread_once(); test_axutil_thread_detach(env); test_axutil_thread_detach2(env); #if defined (WIN32) Sleep(1000); /*to give time for detached threads to execute */ #else sleep(2); #endif axutil_thread_mutex_destroy(thread_lock); } const axutil_env_t * create_env_with_error_log( ) { axutil_error_t *error = NULL; axutil_log_t *log22 = NULL; const axutil_env_t *env = NULL; axutil_allocator_t *allocator = axutil_allocator_init(NULL); if (!allocator) { printf("allocator is NULL\n"); return NULL; } error = axutil_error_create(allocator); if (!error) { printf("cannot create error\n"); return NULL; } log22 = axutil_log_create(allocator, NULL, "test123.log"); if (!log22) { printf("cannot create log\n"); return NULL; } /* * allow all types of logs */ log22->level = AXIS2_LOG_LEVEL_DEBUG; /* log22->enabled = 0; */ env = axutil_env_create_with_error_log(allocator, error, log22); if (!env) { printf("cannot create env with error and log\n"); return NULL; } return env; } int main( void) { env = create_env_with_error_log(); if (!env) return -1; run_test_thread(env); return 0; } axis2c-src-1.6.0/util/test/util/test_thread.h0000644000175000017500000000260611166304653022235 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TEST_LOG_H #define TEST_LOG_H #include #include void init_func( void); void thread_init( const axutil_env_t * env); void *AXIS2_CALL test_function( axutil_thread_t * td, void *param); void test_axutil_thread_create( const axutil_env_t * env); void *AXIS2_CALL test_function2( axutil_thread_t * td, void *param); void test_axutil_thread_detach( const axutil_env_t * env); void test_axutil_thread_detach2( const axutil_env_t * env); void check_locks( ); /*call this method from main*/ void run_test_thread( const axutil_env_t * env); #endif axis2c-src-1.6.0/util/test/util/test_string.c0000644000175000017500000000470211166304653022266 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include void test_strltrim( const axutil_env_t * env) { axis2_char_t *s = axutil_strdup(env, " abcd efgh "); axis2_char_t *trimmed = NULL; trimmed = axutil_strltrim(env, s, " \t\r\n"); if (0 == axutil_strcmp(trimmed, "abcd efgh ")) printf("axutil_strltrim successful\n"); else printf("axutil_strltrim failed [%s]\n", trimmed); if (trimmed) AXIS2_FREE(env->allocator, trimmed); if (s) AXIS2_FREE(env->allocator, s); } void test_strrtrim( const axutil_env_t * env) { axis2_char_t *s = axutil_strdup(env, "abcd efgh "); axis2_char_t *trimmed = NULL; trimmed = axutil_strrtrim(env, s, " \t\r\n"); if (0 == axutil_strcmp(trimmed, " abcd efgh")) printf("axutil_strrtrim successful\n"); else printf("axutil_strrtrim failed [%s]\n", trimmed); if (trimmed) AXIS2_FREE(env->allocator, trimmed); if (s) AXIS2_FREE(env->allocator, s); } void test_strtrim( const axutil_env_t * env) { axis2_char_t *s = axutil_strdup(env, " abcd efgh "); axis2_char_t *trimmed = NULL; trimmed = axutil_strtrim(env, s, " \t\r\n"); if (0 == axutil_strcmp(trimmed, "abcd efgh")) printf("axutil_strtrim successful\n"); else printf("axutil_strtrim failed [%s]\n", trimmed); if (trimmed) AXIS2_FREE(env->allocator, trimmed); if (s) AXIS2_FREE(env->allocator, s); } void run_test_string( axutil_env_t * env) { if (!env) return; test_strltrim(env); test_strrtrim(env); test_strtrim(env); } axis2c-src-1.6.0/util/test/allocator/0000777000175000017500000000000011172017531020552 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/allocator/allocator_test.c0000644000175000017500000001050411166304650023735 0ustar00manjulamanjula00000000000000#include #include #include #include #include "../util/create_env.h" int plain_binary_len; unsigned char *plain_binary ; /** @brief read binary * read the binary file */ int read_binary() { unsigned char buffer[1024]; FILE *in = fopen("test","rb"); FILE *out = fopen("test.doc","w"); int fwrite_result = 0; if (!(in && out)) { fprintf (stderr, "unable to open streams\n"); return -1; } while((plain_binary_len = fread(buffer,1,sizeof(buffer),in)) > 0) { fwrite_result = fwrite(buffer,1,plain_binary_len,out); } fclose(in); fclose(out); plain_binary = buffer; printf("%s",buffer); return plain_binary_len; } /** @brief test base64 * create duration from values and retrieve values */ axis2_status_t test_base64(axutil_env_t *env) { axis2_status_t status = AXIS2_FAILURE; axutil_base64_binary_t *base64_binary; axutil_base64_binary_t *plain_base64_binary; const char *encoded_binary; char * get_binary = NULL; int binary_len; unsigned char * plain_binary = NULL; read_binary(); base64_binary = axutil_base64_binary_create(env); if(!base64_binary) { printf("The test axutil_base64_binary_create is failed\n"); axutil_base64_binary_free(base64_binary,env); return AXIS2_FAILURE; } else printf("The test axutil_base64_binary_create is successfull\n"); plain_base64_binary = axutil_base64_binary_create_with_plain_binary(env, plain_binary, plain_binary_len); if(!plain_base64_binary) { printf("The test axutil_base64_binary_create_with_plain_binary is failed\n"); axutil_base64_binary_free(plain_base64_binary,env); } else printf("The test axutil_base64_binary_create_with_plain_binary is successfull\n"); encoded_binary = axutil_base64_binary_get_encoded_binary(base64_binary,env); if(!encoded_binary) { printf("The test axutil_base64_binary_get_encoded_binary is failed\n"); axutil_base64_binary_free(base64_binary,env); } else printf("The test axutil_base64_binary_get_encoded_binary is successfull\n"); status = axutil_base64_binary_set_plain_binary(base64_binary,env,plain_binary, plain_binary_len); if (status == AXIS2_SUCCESS) printf("The test axutil_base64_binary_set_plain_binary is successful\n"); else printf("The test axutil_base64_binary_set_plain_binary failed\n") ; plain_binary = axutil_base64_binary_get_plain_binary(base64_binary,env,&plain_binary_len); if(!plain_binary) { printf("The test axutil_base64_binary_get_plain_binary is failed\n"); axutil_base64_binary_free(base64_binary,env); } else printf("The test axutil_base64_binary_get_plain_binary is successfull\n" ); status = axutil_base64_binary_set_encoded_binary(base64_binary,env,encoded_binary); if (status == AXIS2_SUCCESS) printf("The test axutil_base64_binary_set_encoded_binary is successful\n"); else printf("The test axutil_base64_binary_set_encoded_binary failed\n"); get_binary = axutil_base64_binary_get_encoded_binary(base64_binary,env); if(!get_binary) { printf("The test axutil_base64_binary_get_encoded_binary is failed\n"); axutil_base64_binary_free(base64_binary,env); } else printf("The test axutil_base64_binary_get_encoded_binary is successfull\n"); binary_len = axutil_base64_binary_get_encoded_binary_len(base64_binary,env); if(!binary_len) { printf("The test axutil_base64_binary_get_encoded_binary_len is failed\n"); axutil_base64_binary_free(base64_binary,env); } else printf("The test axutil_base64_binary_get_encoded_binary_len is successfull\n"); return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; env = create_environment(); status = test_base64(env); if(status == AXIS2_FAILURE) { printf("build failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/allocator/Makefile.am0000644000175000017500000000051311166304650022605 0ustar00manjulamanjula00000000000000TESTS = allocator_test check_PROGRAMS = allocator_test noinst_PROGRAMS = allocator_test allocator_test_SOURCES = allocator_test.c ../util/create_env.c allocator_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/allocator/Makefile.in0000644000175000017500000004262411172017167022630 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = allocator_test$(EXEEXT) check_PROGRAMS = allocator_test$(EXEEXT) noinst_PROGRAMS = allocator_test$(EXEEXT) subdir = test/allocator DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_allocator_test_OBJECTS = allocator_test.$(OBJEXT) \ create_env.$(OBJEXT) allocator_test_OBJECTS = $(am_allocator_test_OBJECTS) allocator_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(allocator_test_SOURCES) DIST_SOURCES = $(allocator_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ allocator_test_SOURCES = allocator_test.c ../util/create_env.c allocator_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/allocator/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/allocator/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done allocator_test$(EXEEXT): $(allocator_test_OBJECTS) $(allocator_test_DEPENDENCIES) @rm -f allocator_test$(EXEEXT) $(LINK) $(allocator_test_OBJECTS) $(allocator_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/allocator_test.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/stack/0000777000175000017500000000000011172017533017701 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/stack/stack_test.c0000644000175000017500000000353511166304650022215 0ustar00manjulamanjula00000000000000#include "../util/create_env.h" #include axis2_status_t test_stack(axutil_env_t * env, char * value) { axutil_stack_t * stack = NULL; axis2_status_t status = AXIS2_FAILURE; stack = axutil_stack_create(env); void * get_value = NULL; if (!stack) { printf("Creation of stack failed"); return AXIS2_FAILURE; } status = axutil_stack_push(stack,env,(void *)value); if (status != AXIS2_SUCCESS) { printf("Adding value to stack failed"); axutil_stack_free(stack,env); return AXIS2_FAILURE; } if (axutil_stack_size(stack,env) != 1) { printf("Incorrect size of stack is reported"); axutil_stack_free(stack,env); return AXIS2_FAILURE; } if (value != (char *)axutil_stack_get(stack,env)) { printf("Stack returns incorrect object"); axutil_stack_free(stack,env); return AXIS2_FAILURE; } get_value = axutil_stack_get_at(stack,env,0); printf("The value of stack is %s",(char *)get_value); if (value != (char *)axutil_stack_pop(stack,env)) { printf("Stack returns incorrect object"); axutil_stack_free(stack,env); return AXIS2_FAILURE; } if (axutil_stack_size(stack,env) != 0) { printf("Incorrect size of stack is reported"); axutil_stack_free(stack,env); return AXIS2_FAILURE; } if(stack) { axutil_stack_free(stack,env); printf("The test is SUCCESSFUL\n"); return AXIS2_SUCCESS; } return AXIS2_FAILURE; } int main() { char value[10] = "test\n"; int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; env = create_environment(); status = test_stack(env,value); if(status != AXIS2_SUCCESS) { printf("The test failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/stack/Makefile.am0000644000175000017500000000046511166304650021740 0ustar00manjulamanjula00000000000000TESTS = stack_test check_PROGRAMS = stack_test noinst_PROGRAMS = stack_test stack_test_SOURCES = stack_test.c ../util/create_env.c stack_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/stack/Makefile.in0000644000175000017500000004246511172017170021752 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = stack_test$(EXEEXT) check_PROGRAMS = stack_test$(EXEEXT) noinst_PROGRAMS = stack_test$(EXEEXT) subdir = test/stack DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_stack_test_OBJECTS = stack_test.$(OBJEXT) create_env.$(OBJEXT) stack_test_OBJECTS = $(am_stack_test_OBJECTS) stack_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(stack_test_SOURCES) DIST_SOURCES = $(stack_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ stack_test_SOURCES = stack_test.c ../util/create_env.c stack_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/stack/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/stack/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done stack_test$(EXEEXT): $(stack_test_OBJECTS) $(stack_test_DEPENDENCIES) @rm -f stack_test$(EXEEXT) $(LINK) $(stack_test_OBJECTS) $(stack_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stack_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/utils/0000777000175000017500000000000011172017533017734 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/utils/utils_test.c0000644000175000017500000000177111166304650022303 0ustar00manjulamanjula00000000000000#include "../util/create_env.h" #include axutil_env_t *env = NULL; axis2_char_t * request = "This is a requset"; axis2_char_t * s = "This is a & '""xml string"; axis2_char_t c = 'c'; /** @brief test utils * test quote string */ axis2_status_t test_utils() { axis2_char_t **op, *quote_string; int hexit; env = create_environment(); op = axutil_parse_request_url_for_svc_and_op(env,request); quote_string = axutil_xml_quote_string(env,s,1); printf("The quote string is%s\n",(char *)quote_string); hexit = axutil_hexit(c); printf("%d\n",hexit); if(op && quote_string) { printf("The test is SUCCESS\n"); } if(!op || !quote_string) { printf("The test is FAIL"); } return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; env = create_environment(); status = test_utils(); if(status == AXIS2_FAILURE) { printf(" test failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/utils/Makefile.am0000644000175000017500000000046511166304650021773 0ustar00manjulamanjula00000000000000TESTS = utils_test check_PROGRAMS = utils_test noinst_PROGRAMS = utils_test utils_test_SOURCES = utils_test.c ../util/create_env.c utils_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/utils/Makefile.in0000644000175000017500000004246511172017170022005 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = utils_test$(EXEEXT) check_PROGRAMS = utils_test$(EXEEXT) noinst_PROGRAMS = utils_test$(EXEEXT) subdir = test/utils DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_utils_test_OBJECTS = utils_test.$(OBJEXT) create_env.$(OBJEXT) utils_test_OBJECTS = $(am_utils_test_OBJECTS) utils_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(utils_test_SOURCES) DIST_SOURCES = $(utils_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ utils_test_SOURCES = utils_test.c ../util/create_env.c utils_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/utils/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/utils/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done utils_test$(EXEEXT): $(utils_test_OBJECTS) $(utils_test_DEPENDENCIES) @rm -f utils_test$(EXEEXT) $(LINK) $(utils_test_OBJECTS) $(utils_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/utils_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/date_time/0000777000175000017500000000000011172017531020525 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/date_time/Makefile.am0000644000175000017500000000051311166304650022560 0ustar00manjulamanjula00000000000000TESTS = date_time_test noinst_PROGRAMS = date_time_test check_PROGRAMS = date_time_test date_time_test_SOURCES = date_time_test.c ../util/create_env.c date_time_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/date_time/Makefile.in0000644000175000017500000004262411172017167022603 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = date_time_test$(EXEEXT) noinst_PROGRAMS = date_time_test$(EXEEXT) check_PROGRAMS = date_time_test$(EXEEXT) subdir = test/date_time DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_date_time_test_OBJECTS = date_time_test.$(OBJEXT) \ create_env.$(OBJEXT) date_time_test_OBJECTS = $(am_date_time_test_OBJECTS) date_time_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(date_time_test_SOURCES) DIST_SOURCES = $(date_time_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ date_time_test_SOURCES = date_time_test.c ../util/create_env.c date_time_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/date_time/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/date_time/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done date_time_test$(EXEEXT): $(date_time_test_OBJECTS) $(date_time_test_DEPENDENCIES) @rm -f date_time_test$(EXEEXT) $(LINK) $(date_time_test_OBJECTS) $(date_time_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/date_time_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/date_time/date_time_test.c0000644000175000017500000001066711166304650023675 0ustar00manjulamanjula00000000000000#include #include #include #include #include #include "../util/create_env.h" /** @brief test_rand * * deserialize and serialize the time * */ axis2_status_t test_date_time(axutil_env_t *env) { axutil_date_time_t *date_time = NULL; axutil_date_time_t *ref = NULL; axutil_date_time_t *date_time_offset = NULL; axis2_char_t *time_str = "22:45:12"; axis2_char_t *date_str = "2000-12-12"; axis2_char_t *date_time_str = "2000-11-11T12:30:24"; axis2_status_t status = AXIS2_FAILURE; axutil_date_time_comp_result_t compare_res = AXIS2_DATE_TIME_COMP_RES_FAILURE; axis2_char_t *t_str = NULL, *d_str = NULL, *dt_str = NULL; int year , month , date , hour , min , sec , msec; date_time_offset = axutil_date_time_create_with_offset(env, 100); if(!date_time_offset) { printf("axutil_date_time_t creation failed.\n"); return AXIS2_FAILURE; } date_time = axutil_date_time_create(env); if(!date_time) { printf("axutil_date_time_t creation failed.\n"); return AXIS2_FAILURE; } status = axutil_date_time_deserialize_time(date_time, env, time_str); if(status) printf("axutil_date_time_t time string deserialization success.\n"); status = axutil_date_time_deserialize_date(date_time, env, date_str); if(status) printf("axutil_date_time_t date string deserialization success.\n"); status = axutil_date_time_deserialize_date_time(date_time, env, date_time_str); if(status) printf("axutil_date_time_t date time string deserialization success.\n"); ref = axutil_date_time_create(env); if(!ref) { printf("axutil_date_time_t creation failed.\n"); return AXIS2_FAILURE; } compare_res = axutil_date_time_compare(date_time, env, ref); if(compare_res == AXIS2_DATE_TIME_COMP_RES_FAILURE) { printf("axutil_date_time comparison failed.\n"); } status = axutil_date_time_deserialize_date_time(ref, env, date_time_str); if(status) printf("axutil_date_time_t date time string deserialization success.\n"); compare_res = axutil_date_time_compare(date_time, env, ref); if(compare_res == AXIS2_DATE_TIME_COMP_RES_EQUAL) { printf("axutil_date_time_t comparison success."); } status = axutil_date_time_set_date_time(date_time, env, 2008, 1, 8, 12, 18, 57, 799); if(status) { printf("axutil_date_time_t set date time success.\n"); } t_str = axutil_date_time_serialize_time(date_time, env); if(!t_str) { printf("axutil_date_time_t time serialization failed.\n"); } else { printf("axutil_date_time_t Time: %s\n", t_str); } d_str = axutil_date_time_serialize_date(date_time, env); if(!d_str) { printf("axutil_date_time_t date serialization failed.\n"); } else { printf("axutil_date_time_t Date: %s\n", d_str); } dt_str = axutil_date_time_serialize_date_time(date_time, env); if(!dt_str) { printf("axutil_date_time_t date time serialization failed.\n"); } else { printf("axutil_date_time_t Date Time: %s\n", dt_str); } year = axutil_date_time_get_year(date_time,env); month=axutil_date_time_get_month(date_time,env); date = axutil_date_time_get_date(date_time,env); hour = axutil_date_time_get_hour(date_time,env); min = axutil_date_time_get_minute(date_time,env); sec = axutil_date_time_get_second(date_time,env); msec = axutil_date_time_get_msec(date_time,env); printf("axutil_date_time_t year: %d \n",year); printf("axutil_date_time_t month: %d \n",month); printf("axutil_date_time_t date: %d \n",date); printf("axutil_date_time_t hour: %d \n",hour); printf("axutil_date_time_t min: %d \n",min); printf("axutil_date_time_t sec: %d \n",sec); printf("axutil_date_time_t msec: %d \n",msec); axutil_date_time_free(date_time,env); axutil_date_time_free(ref, env); axutil_date_time_free(date_time_offset, env); return AXIS2_SUCCESS; } int main() { axutil_env_t *env = NULL; int status = AXIS2_SUCCESS; env = create_environment(); status = test_date_time(env); if(status != AXIS2_SUCCESS) { printf("axutil_date_time_t test failed"); } else { printf("axutil_date_time_t test successful"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/string_util/0000777000175000017500000000000011172017533021137 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/string_util/Makefile.am0000644000175000017500000000053111166304650023170 0ustar00manjulamanjula00000000000000TESTS = string_util_test noinst_PROGRAMS = string_util_test check_PROGRAMS = string_util_test string_util_test_SOURCES = string_util_test.c ../util/create_env.c string_util_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/string_util/Makefile.in0000644000175000017500000004270211172017170023202 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = string_util_test$(EXEEXT) noinst_PROGRAMS = string_util_test$(EXEEXT) check_PROGRAMS = string_util_test$(EXEEXT) subdir = test/string_util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_string_util_test_OBJECTS = string_util_test.$(OBJEXT) \ create_env.$(OBJEXT) string_util_test_OBJECTS = $(am_string_util_test_OBJECTS) string_util_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(string_util_test_SOURCES) DIST_SOURCES = $(string_util_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ string_util_test_SOURCES = string_util_test.c ../util/create_env.c string_util_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/string_util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/string_util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done string_util_test$(EXEEXT): $(string_util_test_OBJECTS) $(string_util_test_DEPENDENCIES) @rm -f string_util_test$(EXEEXT) $(LINK) $(string_util_test_OBJECTS) $(string_util_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/string_util_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/string_util/string_util_test.c0000644000175000017500000000326311166304650024707 0ustar00manjulamanjula00000000000000#include #include "../util/create_env.h" #include #include /** @brief test string * tokenize a string */ axis2_status_t test_string(axutil_env_t *env) { int delim = ' '; void *token = NULL; void *last_token_string = NULL; void *first_token_string = NULL; axutil_array_list_t * first_token, * last_token; axis2_char_t * in = "this is a test string"; axutil_array_list_t * tokenize = axutil_tokenize(env, in, delim); if(tokenize) { token = axutil_array_list_get(tokenize,env,4); printf("The test axutil_tokenize is successfull\n"); printf("The tokenize string is %s\n",(char *)token); } else return AXIS2_FAILURE; first_token = axutil_first_token(env,in,delim); if(first_token) { first_token_string = axutil_array_list_get(first_token,env,1); printf("The test axutil_first_token is successfull\n"); printf("First token string is %s\n",(char *)first_token_string); } else return AXIS2_FAILURE; last_token = axutil_last_token(env,in,delim); if(last_token) { last_token_string = axutil_array_list_get(last_token,env,1); printf("The test axutil_last_token is successfull\n"); printf("Last token string is %s\n",(char *)last_token_string); } else return AXIS2_FAILURE; return AXIS2_SUCCESS; } int main() { axutil_env_t *env = NULL; int status = AXIS2_SUCCESS; env = create_environment(); status = test_string(env); if(status == AXIS2_FAILURE) { printf("build failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/Makefile.am0000644000175000017500000000014711166304653020633 0ustar00manjulamanjula00000000000000SUBDIRS = util allocator date_time duration link_list properties rand stack string_util uri url utils axis2c-src-1.6.0/util/test/Makefile.in0000644000175000017500000003432511172017167020647 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = util allocator date_time duration link_list properties rand stack string_util uri url utils all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/properties/0000777000175000017500000000000011172017532020767 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/properties/Makefile.am0000644000175000017500000000050711166304650023024 0ustar00manjulamanjula00000000000000TESTS = property_test check_PROGRAMS = property_test noinst_PROGRAMS = property_test property_test_SOURCES = property_test.c ../util/create_env.c property_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/properties/Makefile.in0000644000175000017500000004260311172017170023033 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = property_test$(EXEEXT) check_PROGRAMS = property_test$(EXEEXT) noinst_PROGRAMS = property_test$(EXEEXT) subdir = test/properties DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_property_test_OBJECTS = property_test.$(OBJEXT) \ create_env.$(OBJEXT) property_test_OBJECTS = $(am_property_test_OBJECTS) property_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(property_test_SOURCES) DIST_SOURCES = $(property_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ property_test_SOURCES = property_test.c ../util/create_env.c property_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/properties/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/properties/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done property_test$(EXEEXT): $(property_test_OBJECTS) $(property_test_DEPENDENCIES) @rm -f property_test$(EXEEXT) $(LINK) $(property_test_OBJECTS) $(property_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/property_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/test/properties/property_test.c0000644000175000017500000000557511166304650024071 0ustar00manjulamanjula00000000000000#include #include #include "../util/create_env.h" #include axis2_char_t * axutil_properties_read( FILE *input, const axutil_env_t *env); /** @brief test properties * read file and give the output */ axis2_status_t test_properties(axutil_env_t *env) { axutil_hash_t* all_properties = NULL; axis2_status_t status = AXIS2_FAILURE; axis2_char_t* cur = NULL; axis2_char_t* input_filename = "test.doc"; axutil_properties_t * properties = NULL; axis2_status_t store_properties ; axis2_status_t load_properties ; axis2_char_t * key = "key"; axis2_char_t * value = "value"; FILE *input = fopen("input.doc","rb"); FILE *output = fopen("output.doc","rb"); if (!(input && output)) { return AXIS2_FAILURE; } properties = axutil_properties_create(env); if(!properties) { printf("Properties are not created\n"); axutil_property_free(properties,env); return AXIS2_FAILURE; } else printf("The the axutil_properties_create is successfull\n"); cur = axutil_properties_read(input,env); if(!cur) { printf("Can't read properties\n"); axutil_property_free(properties,env); return AXIS2_FAILURE; } else printf("The test axutil_properties_read is successfull\n"); status = axutil_properties_set_property(properties,env, key, value); if (status == AXIS2_SUCCESS) printf("The test axutil_properties_set_property is successful\n"); else printf("The test axutil_properties_set_property failed\n") ; store_properties = axutil_properties_store(properties,env,output); if(!store_properties) { printf("Can not store the properties\n"); axutil_property_free(properties,env); return AXIS2_FAILURE; } else printf("The test axutil_properties_store is successfull\n"); load_properties = axutil_properties_load(properties,env,input_filename); if(!load_properties) { printf("Properties can't be loaded\n"); axutil_property_free(properties,env); return AXIS2_FAILURE; } else printf("The test axutil_properties_load is successfull\n"); all_properties = axutil_properties_get_all(properties,env); if(!all_properties) { printf("Can't call properties_get_all\n"); axutil_property_free(properties,env); return AXIS2_FAILURE; } else printf("The test axutil_properties_get_all is successfull\n"); axutil_property_free(properties,env); return AXIS2_SUCCESS; } int main() { axutil_env_t *env = NULL; int status = AXIS2_SUCCESS; env = create_environment(); status = test_properties(env); if(status == AXIS2_FAILURE) { printf(" The test is failed\n"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/link_list/0000777000175000017500000000000011172017532020563 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/test/link_list/link_list_test.c0000644000175000017500000000450411166304650023760 0ustar00manjulamanjula00000000000000#include #include "../util/create_env.h" axutil_env_t *env = NULL; axutil_linked_list_t * linked_list = NULL; entry_t *entry = NULL; axis2_status_t test_link_list(axutil_env_t *env,char * first_item,char * second_item,char * third_item,char *last_item,char *array) { linked_list = axutil_linked_list_create(env); if(linked_list) { printf("link list is created \n"); } if(!linked_list) { printf("link list is not created "); } axutil_linked_list_add_first(linked_list,env,(void *)first_item); axutil_linked_list_contains(linked_list,env,(void *)second_item); axutil_linked_list_add(linked_list,env,(void *)third_item); axutil_linked_list_add_last(linked_list,env,(void *)last_item); int index_of_item = axutil_linked_list_index_of(linked_list,env,third_item); printf("The index of item is %d\n",index_of_item); int index_of_last_item = axutil_linked_list_last_index_of(linked_list,env,last_item); entry_t * entry = axutil_linked_list_get_entry(linked_list,env,0); printf("The index of last item is %d\n",index_of_last_item); void *get_item = axutil_linked_list_get(linked_list,env,1); printf("The get item is %s\n",(char *)get_item); axutil_linked_list_set(linked_list,env,1,(void *)array); axutil_linked_list_to_array(linked_list,env); axutil_linked_list_add_at_index(linked_list,env,1,(void *)second_item); axutil_linked_list_remove_at_index(linked_list,env,1); axutil_linked_list_check_bounds_inclusive(linked_list,env,1); axutil_linked_list_remove_entry(linked_list,env,entry); axutil_linked_list_remove_first(linked_list,env); axutil_linked_list_remove_last(linked_list,env); axutil_linked_list_remove(linked_list,env,(void *)third_item); axutil_linked_list_free(linked_list,env); if(index_of_item && index_of_last_item && get_item) { printf("The test is SUCCESS\n"); } if(!index_of_item || !index_of_last_item || !get_item) { printf("The test is FAIL\n"); } return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; env = create_environment(); status = test_link_list(env,"first entry","secnd entry","third entry","last entry" ,"test"); if(status == AXIS2_FAILURE) { printf(" build failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/util/test/link_list/Makefile.am0000644000175000017500000000051311166304650022615 0ustar00manjulamanjula00000000000000TESTS = link_list_test check_PROGRAMS = link_list_test noinst_PROGRAMS = link_list_test link_list_test_SOURCES = link_list_test.c ../util/create_env.c link_list_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/util/test/link_list/Makefile.in0000644000175000017500000004262411172017170022632 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = link_list_test$(EXEEXT) check_PROGRAMS = link_list_test$(EXEEXT) noinst_PROGRAMS = link_list_test$(EXEEXT) subdir = test/link_list DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_link_list_test_OBJECTS = link_list_test.$(OBJEXT) \ create_env.$(OBJEXT) link_list_test_OBJECTS = $(am_link_list_test_OBJECTS) link_list_test_DEPENDENCIES = $(top_builddir)/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(link_list_test_SOURCES) DIST_SOURCES = $(link_list_test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ link_list_test_SOURCES = link_list_test.c ../util/create_env.c link_list_test_LDADD = \ $(top_builddir)/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/link_list/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/link_list/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done link_list_test$(EXEEXT): $(link_list_test_OBJECTS) $(link_list_test_DEPENDENCIES) @rm -f link_list_test$(EXEEXT) $(LINK) $(link_list_test_OBJECTS) $(link_list_test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/create_env.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/link_list_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< create_env.o: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.o -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.o' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.o `test -f '../util/create_env.c' || echo '$(srcdir)/'`../util/create_env.c create_env.obj: ../util/create_env.c @am__fastdepCC_TRUE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT create_env.obj -MD -MP -MF $(DEPDIR)/create_env.Tpo -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/create_env.Tpo $(DEPDIR)/create_env.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../util/create_env.c' object='create_env.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o create_env.obj `if test -f '../util/create_env.c'; then $(CYGPATH_W) '../util/create_env.c'; else $(CYGPATH_W) '$(srcdir)/../util/create_env.c'; fi` mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags distclean distclean-compile \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/depcomp0000755000175000017500000004224610527332127017200 0ustar00manjulamanjula00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 . 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 . 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. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" 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" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. 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 tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; 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 mechanism 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 $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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: axis2c-src-1.6.0/util/LICENSE0000644000175000017500000002613711166304700016625 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/util/aclocal.m40000644000175000017500000101251711166310353017457 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/util/README0000644000175000017500000000363511166304700016476 0ustar00manjulamanjula00000000000000 Apache Axis2/C Util ==================== What is it? ----------- Axis2/C Util project is supposed to contain some utilities which are going to be used across the Axis2/C platform. Initially this was inside Axis2/C code base as util folder. But as the project expands and as related projects were emerging there was a need to use those utilities across those projects of Axis2 C platform. The resulting was springing of a new project called Axis2 C/Util. As a project of the Apache Software Foundation, the developers aim to collaboratively develop and maintain a robust, commercial-grade, standards-based Web Services stack implementation with freely available source code. The Latest Version ------------------ You can get the latest svn checkout of Apache Axis2/C util module from https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/util Installation ------------ Please see the file called INSTALL. Licensing --------- Please see the file called LICENSE. Contacts -------- o If you want freely available support for using Apache Axis2/C Util please join the Apache Axis2/C user community by subscribing to users mailing list, axis-c-user@ws.apache.org' as described at http://ws.apache.org/axis2/c/mail-lists.html o If you have a bug report for Apache Axis2/C Guththila please log-in and create a JIRA issue at http://issues.apache.org/jira/browse/AXIS2C o If you want to participate actively in developing Apache Axis2/C Guththila please subscribe to the `axis-c-dev@ws.apache.org' mailing list as described at http://ws.apache.org/axis2/c/mail-lists.html Acknowledgments ---------------- Apache Axis2/C Util relies heavily on the use of autoconf, automake and libtool to provide a build environment. axis2c-src-1.6.0/util/ltmain.sh0000644000175000017500000060512310660364710017443 0ustar00manjulamanjula00000000000000# 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: axis2c-src-1.6.0/util/configure0000755000175000017500000262544311166310355017541 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for axis2_util-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='axis2_util-src' PACKAGE_TARNAME='axis2_util-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='axis2_util-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/axis2_util # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL HOST_OS_CYGWIN_TRUE HOST_OS_CYGWIN_FALSE HOST_OS_DARWIN_TRUE HOST_OS_DARWIN_FALSE HOST_OS_SOLARIS_TRUE HOST_OS_SOLARIS_FALSE NO_UNDEFINED_TRUE NO_UNDEFINED_FALSE VERSION_NO UTILINC ZLIBINC ZLIBLIBS ZLIBBUILD GUTHTHILA_DIR GUTHTHILA_LIBS TESTDIR LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures axis2_util-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/axis2_util-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of axis2_util-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-guththila build guththila xml parser library wrapper. default=no --enable-trace enable logging trace messages useful when debugging (default=no) --enable-tests build tests. default=yes Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] --with-archive=PATH Find the zlib header files in 'PATH'. If you omit the '=PATH' part completely, the configure script will search '/usr/include/' for zlib headers. Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF axis2_util-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by axis2_util-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='axis2_util-src' VERSION='1.6.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5087 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7122: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7126: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7412: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7416: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7516: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7520: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12398: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12402: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12502: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12506: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14079: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14083: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14183: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14187: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16383: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16387: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16673: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16677: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16777: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16781: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { echo "$as_me:$LINENO: checking for ISO C99 varargs macros in C" >&5 echo $ECHO_N "checking for ISO C99 varargs macros in C... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_iso_c_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_iso_c_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_iso_c_varargs" >&5 echo "${ECHO_T}$axis2c_have_iso_c_varargs" >&6; } { echo "$as_me:$LINENO: checking for GNUC varargs macros" >&5 echo $ECHO_N "checking for GNUC varargs macros... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_gnuc_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_gnuc_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_gnuc_varargs" >&5 echo "${ECHO_T}$axis2c_have_gnuc_varargs" >&6; } if test x$axis2c_have_iso_c_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISO_VARARGS 1 _ACEOF fi if test x$axis2c_have_gnuc_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_GNUC_VARARGS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi { echo "$as_me:$LINENO: checking for inflate in -lz" >&5 echo $ECHO_N "checking for inflate in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_inflate+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inflate (); int main () { return inflate (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_inflate=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_inflate=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflate" >&5 echo "${ECHO_T}$ac_cv_lib_z_inflate" >&6; } if test $ac_cv_lib_z_inflate = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF LIBS="-lz $LIBS" fi { echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; } if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; } if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" fi { echo "$as_me:$LINENO: checking for ftime in -lcompat" >&5 echo $ECHO_N "checking for ftime in -lcompat... $ECHO_C" >&6; } if test "${ac_cv_lib_compat_ftime+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lcompat $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char ftime (); int main () { return ftime (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_compat_ftime=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_compat_ftime=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_compat_ftime" >&5 echo "${ECHO_T}$ac_cv_lib_compat_ftime" >&6; } if test $ac_cv_lib_compat_ftime = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBCOMPAT 1 _ACEOF LIBS="-lcompat $LIBS" fi #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -D_GNU_SOURCE" fi LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/socket.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in net/if.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in linux/if.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_SOCKET_H # include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in net/if_types.h net/if_dl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/appleapiopts.h" >&5 echo $ECHO_N "checking for sys/appleapiopts.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_appleapiopts_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_appleapiopts_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/appleapiopts.h usability" >&5 echo $ECHO_N "checking sys/appleapiopts.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/appleapiopts.h presence" >&5 echo $ECHO_N "checking sys/appleapiopts.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for sys/appleapiopts.h" >&5 echo $ECHO_N "checking for sys/appleapiopts.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_appleapiopts_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_appleapiopts_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_appleapiopts_h" >&6; } fi if test $ac_cv_header_sys_appleapiopts_h = yes; then cat >>confdefs.h <<\_ACEOF #define IS_MACOSX 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct lifreq" >&5 echo $ECHO_N "checking for struct lifreq... $ECHO_C" >&6; } if test "${ac_cv_type_struct_lifreq+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default typedef struct lifreq ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_struct_lifreq=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_struct_lifreq=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_struct_lifreq" >&5 echo "${ECHO_T}$ac_cv_type_struct_lifreq" >&6; } if test $ac_cv_type_struct_lifreq = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_LIFREQ 1 _ACEOF fi { echo "$as_me:$LINENO: checking for struct sockaddr_dl" >&5 echo $ECHO_N "checking for struct sockaddr_dl... $ECHO_C" >&6; } if test "${ac_cv_type_struct_sockaddr_dl+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_NET_IF_DL_H # include #endif typedef struct sockaddr_dl ac__type_new_; int main () { if ((ac__type_new_ *) 0) return 0; if (sizeof (ac__type_new_)) return 0; ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_type_struct_sockaddr_dl=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_type_struct_sockaddr_dl=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_type_struct_sockaddr_dl" >&5 echo "${ECHO_T}$ac_cv_type_struct_sockaddr_dl" >&6; } if test $ac_cv_type_struct_sockaddr_dl = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_SOCKADDR_DL 1 _ACEOF fi #AC_CHECK_FUNCS([memmove]) for ac_func in getifaddrs do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done # System-dependent adjustments. cygwin=no darwin=no solaris=no no_undefined=no case "${host_cpu}" in alpha*) if test x"$GCC" = xyes then CFLAGS="$CFLAGS -mfp-rounding-mode=d -mieee" CXXFLAGS="$CXXFLAGS -mfp-rounding-mode=d -mieee" else CFLAGS="$CFLAGS -fprm d -ieee -underflow_to_zero" CXXFLAGS="$CXXFLAGS -fprm d -ieee -underflow_to_zero" fi ;; *) ;; esac case "${host_os}" in cygwin) cygwin=yes no_undefined=yes ;; darwin*) darwin=yes if test x"$GCC" = xyes then CFLAGS="$CFLAGS -Wno-long-double" CXXFLAGS="$CXXFLAGS -Wno-long-double" fi ;; solaris*) solaris=yes cat >>confdefs.h <<\_ACEOF #define AXIS2_SOLARIS 1 _ACEOF ;; *) ;; esac if test x$cygwin = xyes; then HOST_OS_CYGWIN_TRUE= HOST_OS_CYGWIN_FALSE='#' else HOST_OS_CYGWIN_TRUE='#' HOST_OS_CYGWIN_FALSE= fi if test x$darwin = xyes; then HOST_OS_DARWIN_TRUE= HOST_OS_DARWIN_FALSE='#' else HOST_OS_DARWIN_TRUE='#' HOST_OS_DARWIN_FALSE= fi if test x$solaris = xyes; then HOST_OS_SOLARIS_TRUE= HOST_OS_SOLARIS_FALSE='#' else HOST_OS_SOLARIS_TRUE='#' HOST_OS_SOLARIS_FALSE= fi if test x$no_undefined = xyes; then NO_UNDEFINED_TRUE= NO_UNDEFINED_FALSE='#' else NO_UNDEFINED_TRUE='#' NO_UNDEFINED_FALSE= fi { echo "$as_me:$LINENO: checking whether to build guththila xml parser library" >&5 echo $ECHO_N "checking whether to build guththila xml parser library... $ECHO_C" >&6; } # Check whether --enable-guththila was given. if test "${enable_guththila+set}" = set; then enableval=$enable_guththila; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } GUTHTHILA_DIR="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } GUTHTHILA_DIR="guththila" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } GUTHTHILA_DIR="" fi { echo "$as_me:$LINENO: checking whether to enable trace" >&5 echo $ECHO_N "checking whether to enable trace... $ECHO_C" >&6; } # Check whether --enable-trace was given. if test "${enable_trace+set}" = set; then enableval=$enable_trace; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_TRACE" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" fi { echo "$as_me:$LINENO: checking whether to build tests" >&5 echo $ECHO_N "checking whether to build tests... $ECHO_C" >&6; } # Check whether --enable-tests was given. if test "${enable_tests+set}" = set; then enableval=$enable_tests; case "${enableval}" in yes) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } TESTDIR="test" ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" fi { echo "$as_me:$LINENO: checking whether to use archive" >&5 echo $ECHO_N "checking whether to use archive... $ECHO_C" >&6; } # Check whether --with-archive was given. if test "${with_archive+set}" = set; then withval=$with_archive; case "$withval" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ZLIBBUILD="" zliblibs="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } zliblibs="minizip/libaxis2_minizip.la" CFLAGS="$CFLAGS -DAXIS2_ARCHIVE_ENABLED" if test -d $withval; then zlibinc="-I$withval" elif test -d '/usr/include'; then zlibinc="-I/usr/include" else { { echo "$as_me:$LINENO: error: could not find zlib stop" >&5 echo "$as_me: error: could not find zlib stop" >&2;} { (exit 1); exit 1; }; } fi ZLIBBUILD="minizip" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS" UTILINC=$axis2_utilinc ZLIBINC=$zlibinc ZLIBLIBS=$zliblibs VERSION_NO="6:0:6" ac_config_files="$ac_config_files Makefile src/Makefile src/platforms/unix/Makefile src/minizip/Makefile include/Makefile test/Makefile test/util/Makefile test/allocator/Makefile test/date_time/Makefile test/duration/Makefile test/link_list/Makefile test/properties/Makefile test/rand/Makefile test/stack/Makefile test/string_util/Makefile test/uri/Makefile test/url/Makefile test/utils/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HOST_OS_CYGWIN_TRUE}" && test -z "${HOST_OS_CYGWIN_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HOST_OS_CYGWIN\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HOST_OS_CYGWIN\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HOST_OS_DARWIN_TRUE}" && test -z "${HOST_OS_DARWIN_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HOST_OS_DARWIN\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HOST_OS_DARWIN\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${HOST_OS_SOLARIS_TRUE}" && test -z "${HOST_OS_SOLARIS_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"HOST_OS_SOLARIS\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"HOST_OS_SOLARIS\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${NO_UNDEFINED_TRUE}" && test -z "${NO_UNDEFINED_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"NO_UNDEFINED\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"NO_UNDEFINED\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by axis2_util-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ axis2_util-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/platforms/unix/Makefile") CONFIG_FILES="$CONFIG_FILES src/platforms/unix/Makefile" ;; "src/minizip/Makefile") CONFIG_FILES="$CONFIG_FILES src/minizip/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/util/Makefile") CONFIG_FILES="$CONFIG_FILES test/util/Makefile" ;; "test/allocator/Makefile") CONFIG_FILES="$CONFIG_FILES test/allocator/Makefile" ;; "test/date_time/Makefile") CONFIG_FILES="$CONFIG_FILES test/date_time/Makefile" ;; "test/duration/Makefile") CONFIG_FILES="$CONFIG_FILES test/duration/Makefile" ;; "test/link_list/Makefile") CONFIG_FILES="$CONFIG_FILES test/link_list/Makefile" ;; "test/properties/Makefile") CONFIG_FILES="$CONFIG_FILES test/properties/Makefile" ;; "test/rand/Makefile") CONFIG_FILES="$CONFIG_FILES test/rand/Makefile" ;; "test/stack/Makefile") CONFIG_FILES="$CONFIG_FILES test/stack/Makefile" ;; "test/string_util/Makefile") CONFIG_FILES="$CONFIG_FILES test/string_util/Makefile" ;; "test/uri/Makefile") CONFIG_FILES="$CONFIG_FILES test/uri/Makefile" ;; "test/url/Makefile") CONFIG_FILES="$CONFIG_FILES test/url/Makefile" ;; "test/utils/Makefile") CONFIG_FILES="$CONFIG_FILES test/utils/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim HOST_OS_CYGWIN_TRUE!$HOST_OS_CYGWIN_TRUE$ac_delim HOST_OS_CYGWIN_FALSE!$HOST_OS_CYGWIN_FALSE$ac_delim HOST_OS_DARWIN_TRUE!$HOST_OS_DARWIN_TRUE$ac_delim HOST_OS_DARWIN_FALSE!$HOST_OS_DARWIN_FALSE$ac_delim HOST_OS_SOLARIS_TRUE!$HOST_OS_SOLARIS_TRUE$ac_delim HOST_OS_SOLARIS_FALSE!$HOST_OS_SOLARIS_FALSE$ac_delim NO_UNDEFINED_TRUE!$NO_UNDEFINED_TRUE$ac_delim NO_UNDEFINED_FALSE!$NO_UNDEFINED_FALSE$ac_delim VERSION_NO!$VERSION_NO$ac_delim UTILINC!$UTILINC$ac_delim ZLIBINC!$ZLIBINC$ac_delim ZLIBLIBS!$ZLIBLIBS$ac_delim ZLIBBUILD!$ZLIBBUILD$ac_delim GUTHTHILA_DIR!$GUTHTHILA_DIR$ac_delim GUTHTHILA_LIBS!$GUTHTHILA_LIBS$ac_delim TESTDIR!$TESTDIR$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 27; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi axis2c-src-1.6.0/util/configure.ac0000644000175000017500000001411611166304700020100 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(axis2_util-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE AC_PREFIX_DEFAULT(/usr/local/axis2_util) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ],axis2c_have_iso_c_varargs=yes,axis2c_have_iso_c_varargs=no) AC_MSG_RESULT($axis2c_have_iso_c_varargs) AC_MSG_CHECKING(for GNUC varargs macros) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ],axis2c_have_gnuc_varargs=yes,axis2c_have_gnuc_varargs=no) AC_MSG_RESULT($axis2c_have_gnuc_varargs) dnl Output varargs tests if test x$axis2c_have_iso_c_varargs = xyes; then AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros]) fi if test x$axis2c_have_gnuc_varargs = xyes; then AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros]) fi dnl Checks for libraries. AC_CHECK_LIB(dl, dlopen) AC_CHECK_LIB(z, inflate) AC_CHECK_LIB(socket, socket) dnl This can be removed when the ftime call in dnl ./util/src/platforms/unix/date_time_util_unix.c dnl is changed to call gettimeofday AC_CHECK_LIB(compat, ftime) #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -D_GNU_SOURCE" fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([net/if.h], [], [], [#include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif ]) AC_CHECK_HEADERS([linux/if.h],[],[], [ #if HAVE_SYS_SOCKET_H # include #endif ]) AC_CHECK_HEADERS([net/if_types.h net/if_dl.h]) dnl This is a check to see if we are running MacOS X dnl It may be better to do a Darwin check AC_CHECK_HEADER([sys/appleapiopts.h], [AC_DEFINE([IS_MACOSX],[1],[Define to 1 if compiling on MacOS X])], []) dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_C_CONST AC_CHECK_TYPES([struct lifreq]) AC_CHECK_TYPES([struct sockaddr_dl], [], [], [ #if HAVE_NET_IF_DL_H # include #endif ]) dnl Checks for library functions. dnl AC_FUNC_MALLOC dnl AC_FUNC_REALLOC #AC_CHECK_FUNCS([memmove]) AC_CHECK_FUNCS(getifaddrs) # System-dependent adjustments. cygwin=no darwin=no solaris=no no_undefined=no case "${host_cpu}" in alpha*) if test x"$GCC" = xyes then CFLAGS="$CFLAGS -mfp-rounding-mode=d -mieee" CXXFLAGS="$CXXFLAGS -mfp-rounding-mode=d -mieee" else CFLAGS="$CFLAGS -fprm d -ieee -underflow_to_zero" CXXFLAGS="$CXXFLAGS -fprm d -ieee -underflow_to_zero" fi ;; *) ;; esac case "${host_os}" in cygwin) cygwin=yes no_undefined=yes ;; darwin*) darwin=yes if test x"$GCC" = xyes then CFLAGS="$CFLAGS -Wno-long-double" CXXFLAGS="$CXXFLAGS -Wno-long-double" fi ;; solaris*) solaris=yes AC_DEFINE(AXIS2_SOLARIS,1,[Am I on Solaris?]) ;; *) ;; esac AM_CONDITIONAL(HOST_OS_CYGWIN, test x$cygwin = xyes) AM_CONDITIONAL(HOST_OS_DARWIN, test x$darwin = xyes) AM_CONDITIONAL(HOST_OS_SOLARIS, test x$solaris = xyes) AM_CONDITIONAL(NO_UNDEFINED, test x$no_undefined = xyes) AC_MSG_CHECKING(whether to build guththila xml parser library) AC_ARG_ENABLE(guththila, [ --enable-guththila build guththila xml parser library wrapper. default=no], [ case "${enableval}" in no) AC_MSG_RESULT(no) GUTHTHILA_DIR="" ;; *) AC_MSG_RESULT(yes) GUTHTHILA_DIR="guththila" ;; esac ], AC_MSG_RESULT(no) GUTHTHILA_DIR="" ) AC_MSG_CHECKING(whether to enable trace) AC_ARG_ENABLE(trace, [ --enable-trace enable logging trace messages useful when debugging (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) CFLAGS="$CFLAGS" ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_TRACE" ;; esac ], AC_MSG_RESULT(no) CFLAGS="$CFLAGS" ) AC_MSG_CHECKING(whether to build tests) AC_ARG_ENABLE(tests, [ --enable-tests build tests. default=yes], [ case "${enableval}" in yes) AC_MSG_RESULT(yes) TESTDIR="test" ;; *) AC_MSG_RESULT(no) TESTDIR="" ;; esac ], AC_MSG_RESULT(no) TESTDIR="" ) AC_MSG_CHECKING(whether to use archive) AC_ARG_WITH(archive, [ --with-archive[=PATH] Find the zlib header files in 'PATH'. If you omit the '=PATH' part completely, the configure script will search '/usr/include/' for zlib headers.], [ case "$withval" in no) AC_MSG_RESULT(no) ZLIBBUILD="" zliblibs="" ;; *) AC_MSG_RESULT(yes) zliblibs="minizip/libaxis2_minizip.la" CFLAGS="$CFLAGS -DAXIS2_ARCHIVE_ENABLED" if test -d $withval; then zlibinc="-I$withval" elif test -d '/usr/include'; then zlibinc="-I/usr/include" else AC_MSG_ERROR(could not find zlib stop) fi ZLIBBUILD="minizip" ;; esac ], AC_MSG_RESULT(no) ) CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS" UTILINC=$axis2_utilinc ZLIBINC=$zlibinc ZLIBLIBS=$zliblibs VERSION_NO="6:0:6" AC_SUBST(VERSION_NO) AC_SUBST(UTILINC) AC_SUBST(ZLIBINC) AC_SUBST(ZLIBLIBS) AC_SUBST(ZLIBBUILD) AC_SUBST(GUTHTHILA_DIR) AC_SUBST(GUTHTHILA_LIBS) AC_SUBST(TESTDIR) AC_CONFIG_FILES([Makefile \ src/Makefile \ src/platforms/unix/Makefile \ src/minizip/Makefile \ include/Makefile \ test/Makefile \ test/util/Makefile \ test/allocator/Makefile \ test/date_time/Makefile \ test/duration/Makefile \ test/link_list/Makefile \ test/properties/Makefile \ test/rand/Makefile \ test/stack/Makefile \ test/string_util/Makefile \ test/uri/Makefile \ test/url/Makefile \ test/utils/Makefile \ ]) AC_OUTPUT axis2c-src-1.6.0/util/config.guess0000755000175000017500000012703510614436542020146 0ustar00manjulamanjula00000000000000#! /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, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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 . # Please send patches to . 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 ." 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 "$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 ; set_cc_for_build= ;' # 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 ;; sh5el) machine=sh5le-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 ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-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 /* 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 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 #include 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 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 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:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *: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 ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [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*:*:* | x86_64: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 ;; avr32*: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 | sed -n ' /^CPU/{ s: ::g p }'`" 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-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 ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-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 #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" 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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-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 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 ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos 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 < # include #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 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 # 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 < 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: axis2c-src-1.6.0/util/install-sh0000755000175000017500000003160010527332127017617 0ustar00manjulamanjula00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # 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. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment 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}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog 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 $# -ne 0; 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) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac 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 $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # 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 fi if test $# -eq 0; 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 if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? 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 dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # 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 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 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 "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # 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: axis2c-src-1.6.0/util/autogen.sh0000755000175000017500000000130411166304700017606 0ustar00manjulamanjula00000000000000#!/bin/bash echo -n 'Running libtoolize...' if [ `uname -s` = Darwin ] then LIBTOOLIZE=glibtoolize else LIBTOOLIZE=libtoolize fi if $LIBTOOLIZE --force > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running aclocal...' if aclocal > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoheader...' if autoheader > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoconf...' if autoconf > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running automake...' if automake --add-missing > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo 'done' axis2c-src-1.6.0/util/config.sub0000755000175000017500000007763110614436542017617 0ustar00manjulamanjula00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-01-18' # 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 . 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 ." 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-newlib* | 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -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/'` ;; -sco5v6*) # 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | 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 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) 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) ;; ms1) basic_machine=mt-unknown ;; # 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-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | 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-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; 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 ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 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* | -solidbsd* \ | -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-newlib* | -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* | -haiku* | -rdos* | -toppers* | -drops*) # 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* | -haiku* \ | -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 score-*) os=-elf ;; spu-*) os=-elf ;; *-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 ;; mep-*) os=-elf ;; 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 ;; *-haiku) os=-haiku ;; *-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: axis2c-src-1.6.0/util/missing0000755000175000017500000002557710527332127017232 0ustar00manjulamanjula00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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' autom4te touch the output file, or create a stub one 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 ." 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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: axis2c-src-1.6.0/util/Makefile.am0000644000175000017500000000064711166304700017652 0ustar00manjulamanjula00000000000000datadir=$(prefix) tmpincludedir=$(prefix)/include/axis2-1.6.0/ includedir=$(prefix)/include/axis2-1.6.0/ SUBDIRS = src $(TESTDIR) include include_HEADERS=$(top_builddir)/include/*.h tmpinclude_DATA=config.h data_DATA= INSTALL README AUTHORS NEWS CREDITS LICENSE COPYING EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` axis2c-src-1.6.0/util/Makefile.in0000644000175000017500000005464111172017170017665 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ ChangeLog INSTALL NEWS config.guess config.sub depcomp \ install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(datadir)" "$(DESTDIR)$(tmpincludedir)" \ "$(DESTDIR)$(includedir)" dataDATA_INSTALL = $(INSTALL_DATA) tmpincludeDATA_INSTALL = $(INSTALL_DATA) DATA = $(data_DATA) $(tmpinclude_DATA) includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(prefix) datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0/ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ tmpincludedir = $(prefix)/include/axis2-1.6.0/ SUBDIRS = src $(TESTDIR) include include_HEADERS = $(top_builddir)/include/*.h tmpinclude_DATA = config.h data_DATA = INSTALL README AUTHORS NEWS CREDITS LICENSE COPYING EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) test -z "$(datadir)" || $(MKDIR_P) "$(DESTDIR)$(datadir)" @list='$(data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ rm -f "$(DESTDIR)$(datadir)/$$f"; \ done install-tmpincludeDATA: $(tmpinclude_DATA) @$(NORMAL_INSTALL) test -z "$(tmpincludedir)" || $(MKDIR_P) "$(DESTDIR)$(tmpincludedir)" @list='$(tmpinclude_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(tmpincludeDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(tmpincludedir)/$$f'"; \ $(tmpincludeDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(tmpincludedir)/$$f"; \ done uninstall-tmpincludeDATA: @$(NORMAL_UNINSTALL) @list='$(tmpinclude_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(tmpincludedir)/$$f'"; \ rm -f "$(DESTDIR)$(tmpincludedir)/$$f"; \ done install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datadir)" "$(DESTDIR)$(tmpincludedir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dataDATA install-includeHEADERS \ install-tmpincludeDATA install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dataDATA uninstall-includeHEADERS \ uninstall-tmpincludeDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dataDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-includeHEADERS install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip install-tmpincludeDATA \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am uninstall-dataDATA \ uninstall-includeHEADERS uninstall-tmpincludeDATA dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/config.h.in0000644000175000017500000000531711166310354017642 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Am I on Solaris? */ #undef AXIS2_SOLARIS /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the `getifaddrs' function. */ #undef HAVE_GETIFADDRS /* Have GNU-style varargs macros */ #undef HAVE_GNUC_VARARGS /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Have ISO C99 varargs macros */ #undef HAVE_ISO_VARARGS /* Define to 1 if you have the `compat' library (-lcompat). */ #undef HAVE_LIBCOMPAT /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_DL_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if the system has the type `struct lifreq'. */ #undef HAVE_STRUCT_LIFREQ /* Define to 1 if the system has the type `struct sockaddr_dl'. */ #undef HAVE_STRUCT_SOCKADDR_DL /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if compiling on MacOS X */ #undef IS_MACOSX /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION axis2c-src-1.6.0/util/build.sh0000755000175000017500000000014411166304700017244 0ustar00manjulamanjula00000000000000#!/bin/bash ./autogen.sh ./configure --prefix=${AXIS2C_HOME} --enable-static=no make make install axis2c-src-1.6.0/util/AUTHORS0000644000175000017500000000000011166304700016645 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/INSTALL0000644000175000017500000000060511166304700016641 0ustar00manjulamanjula00000000000000Getting Axis2/C Utils source working on Linux ============================================= Build the source This can be done using the following command sequence: ./configure make make install use './configure --help' for options NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/axis2_util directory. axis2c-src-1.6.0/util/ChangeLog0000644000175000017500000000017311166304700017362 0ustar00manjulamanjula00000000000000Apache Axis2/C Util * Seperated Util module from Axis2/C -- Axis2-C team Thu, 18 May 2006 axis2c-src-1.6.0/util/include/0000777000175000017500000000000011172017534017241 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/include/axutil_stack.h0000644000175000017500000000447511166304665022122 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_STACK_H #define AXUTIL_STACK_H /** * @file axutil_stack.h * @brief represents a stack */ #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_util_stack stack * @ingroup axis2_util * @{ */ typedef struct axutil_stack axutil_stack_t; AXIS2_EXTERN axutil_stack_t *AXIS2_CALL axutil_stack_create( const axutil_env_t * env); /** * Free function of the stack * @param stack pointer to stack * @param env environemnt */ AXIS2_EXTERN void AXIS2_CALL axutil_stack_free( axutil_stack_t * stack, const axutil_env_t * env); AXIS2_EXTERN void *AXIS2_CALL axutil_stack_pop( axutil_stack_t * stack, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stack_push( axutil_stack_t * stack, const axutil_env_t * env, void *value); AXIS2_EXTERN int AXIS2_CALL axutil_stack_size( axutil_stack_t * stack, const axutil_env_t * env); /** * returns the last put value from the stack * without removing it from stack */ AXIS2_EXTERN void *AXIS2_CALL axutil_stack_get( axutil_stack_t * stack, const axutil_env_t * env); AXIS2_EXTERN void *AXIS2_CALL axutil_stack_get_at( axutil_stack_t * stack, const axutil_env_t * env, int i); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_STACK_H */ axis2c-src-1.6.0/util/include/axutil_dll_desc.h0000644000175000017500000001250711166304665022561 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DLL_DESC_H #define AXUTIL_DLL_DESC_H /** * @file axutil_dll_desc.h * @brief Axis2 dll_desc interface */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_dll_desc DLL description * @ingroup axis2_util * @{ */ typedef struct axutil_dll_desc axutil_dll_desc_t; typedef int( *CREATE_FUNCT)( void **inst, const axutil_env_t * env); typedef int( *DELETE_FUNCT)( void *inst, const axutil_env_t * env); typedef int axis2_dll_type_t; /** * creates dll_desc struct * @param qname qname, can be NULL */ AXIS2_EXTERN axutil_dll_desc_t *AXIS2_CALL axutil_dll_desc_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_dll_desc_free_void_arg( void *dll_desc, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_dll_desc_free( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); /** * Set path qualified platform specific dll name */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_name( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, axis2_char_t * name); /** * Return the path qualified platform specific dll name */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_dll_desc_get_name( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_type( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, axis2_dll_type_t type); AXIS2_EXTERN axis2_dll_type_t AXIS2_CALL axutil_dll_desc_get_type( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_load_options( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, int options); AXIS2_EXTERN int AXIS2_CALL axutil_dll_desc_get_load_options( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_dl_handler( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, AXIS2_DLHANDLER dl_handler); AXIS2_EXTERN AXIS2_DLHANDLER AXIS2_CALL axutil_dll_desc_get_dl_handler( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_create_funct( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, CREATE_FUNCT funct); AXIS2_EXTERN CREATE_FUNCT AXIS2_CALL axutil_dll_desc_get_create_funct( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_delete_funct( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, DELETE_FUNCT funct); AXIS2_EXTERN DELETE_FUNCT AXIS2_CALL axutil_dll_desc_get_delete_funct( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_timestamp( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, AXIS2_TIME_T timestamp); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_dll_desc_set_error_code( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, axutil_error_codes_t error_code); AXIS2_EXTERN axutil_error_codes_t AXIS2_CALL axutil_dll_desc_get_error_code( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL axutil_dll_desc_get_timestamp( axutil_dll_desc_t * dll_desc, const axutil_env_t * env); /** * This function will accept the library name without any platform * dependant prefixes or suffixes. It then prefix and suffix * platform dependant prefix and suffix macros to the original name * and return the platform specific dll name * * @param class_name * @return platform specific dll name */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_dll_desc_create_platform_specific_dll_name( axutil_dll_desc_t * dll_desc, const axutil_env_t * env, const axis2_char_t * class_name); #ifdef __cplusplus } #endif #endif /* AXIS2_DLL_DESC_H */ axis2c-src-1.6.0/util/include/axutil_base64_binary.h0000644000175000017500000001316511166304665023441 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_BASE64_BINARY_H #define AXUTIL_BASE64_BINARY_H #include #include #include /** * @defgroup axutil_base64_binary encoding holder * @ingroup axis2_util * @{ */ /** * @file axutil_base64_binary.h * @brief axis2-util base64 encoding holder */ #ifdef __cplusplus extern "C" { #endif /** Type name for struct axutil_base64_binary */ typedef struct axutil_base64_binary axutil_base64_binary_t; /** * Creates axutil_base64_binary struct * @param env double pointer to environment struct. MUST NOT be NULL * @return pointer to newly created axutil_base64_binary struct */ AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL axutil_base64_binary_create( const axutil_env_t * env); /** * Creates axutil_base64_binary struct * @param env double pointer to environment struct. MUST NOT be NULL * @param plain_binary binary buffer to initialize * @return pointer to newly created axutil_base64_binary struct */ AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL axutil_base64_binary_create_with_plain_binary( const axutil_env_t * env, const unsigned char *plain_binary, int plain_binary_len); /** * Creates axutil_base64_binary struct. * @param env double pointer to environment struct. MUST NOT be NULL * @param encoded_binary binary buffer to initialize * @return pointer to newly created axutil_base64_binary struct */ AXIS2_EXTERN axutil_base64_binary_t *AXIS2_CALL axutil_base64_binary_create_with_encoded_binary( const axutil_env_t * env, const char *encoded_binary); /** * free the axutil_base64_binary. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_base64_binary_free( axutil_base64_binary_t * base64_binary, const axutil_env_t * env); /** * store the value from plain binary. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param plain_binary binary buffer to store * @param plain_binary_len length of the plain_binary binary buffer * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_base64_binary_set_plain_binary( axutil_base64_binary_t * base64_binary, const axutil_env_t * env, const unsigned char *plain_binary, int plain_binary_len); /** * retrieve the value from plain binary. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param plain_binary_len length of the plain_binary binary buffer * @return the plain binary */ AXIS2_EXTERN unsigned char *AXIS2_CALL axutil_base64_binary_get_plain_binary( axutil_base64_binary_t * base64_binary, const axutil_env_t * env, int *plain_binary_len); /** * store the value from encoded binary. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param encoded_binary encoded binary buffer to store * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_base64_binary_set_encoded_binary( axutil_base64_binary_t * base64_binary, const axutil_env_t * env, const char *encoded_binary); /** * retrieve the value from encoded binary. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return the encoded binary */ AXIS2_EXTERN char *AXIS2_CALL axutil_base64_binary_get_encoded_binary( axutil_base64_binary_t * base64_binary, const axutil_env_t * env); /** * retrieve the value from encoded binary length. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return the encoded binary length */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_binary_get_encoded_binary_len( axutil_base64_binary_t * base64_binary, const axutil_env_t * env); /** * retrieve the value from decoded binary length. * @param base64_binary represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return the decoded binary length */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_binary_get_decoded_binary_len( axutil_base64_binary_t * base64_binary, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_BASE64_BINARY_H */ axis2c-src-1.6.0/util/include/axutil_string_util.h0000644000175000017500000000334611166304665023354 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_STRING_UTIL_H #define AXUTIL_STRING_UTIL_H #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_tokenize( const axutil_env_t * env, axis2_char_t * in, int delim); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_first_token( const axutil_env_t * env, axis2_char_t * in, int delim); /** * @return returns array_list containing, the string portion * without the last token as the first item and the last * token as the second. If the last token was the only token * found, the first item will be a "" string. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_last_token( const axutil_env_t * env, axis2_char_t * in, int delim); #ifdef __cplusplus } #endif #endif /* AXIS2_STRING_UTIL_H */ axis2c-src-1.6.0/util/include/axutil_generic_obj.h0000644000175000017500000000464711166304665023264 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_GENERIC_OBJ_H #define AXUTIL_GENERIC_OBJ_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axutil_generic_obj axutil_generic_obj_t; /** * @defgroup axutil_generic_obj generic object * @ingroup axis2_util * @{ */ /** * create new generic_obj * @return generic_obj newly created generic_obj */ AXIS2_EXTERN axutil_generic_obj_t *AXIS2_CALL axutil_generic_obj_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_generic_obj_free( axutil_generic_obj_t * generic_obj, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_generic_obj_set_free_func( axutil_generic_obj_t * generic_obj, const axutil_env_t * env, AXIS2_FREE_VOID_ARG free_func); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_generic_obj_set_value( axutil_generic_obj_t * generic_obj, const axutil_env_t * env, void *value); AXIS2_EXTERN void *AXIS2_CALL axutil_generic_obj_get_value( axutil_generic_obj_t * generic_obj, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_generic_obj_set_type( axutil_generic_obj_t * generic_obj, const axutil_env_t * env, int type); AXIS2_EXTERN int AXIS2_CALL axutil_generic_obj_get_type( axutil_generic_obj_t * generic_obj, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_GENERIC_OBJ_H */ axis2c-src-1.6.0/util/include/axutil_config.h0000644000175000017500000000250711166304665022254 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_CONFIG_H #define AXUTIL_CONFIG_H /* undef unwated cnfig macros to avoid conflicts with APR macros */ #undef PACKAGE #undef PACKAGE_BUGREPORT #undef PACKAGE_NAME #undef PACKAGE_STRING #undef PACKAGE_TARNAME #undef PACKAGE_VERSION #undef VERSION #include /* undef unwated cnfig macros to avoid conflicts with APR macros */ #undef PACKAGE #undef PACKAGE_BUGREPORT #undef PACKAGE_NAME #undef PACKAGE_STRING #undef PACKAGE_TARNAME #undef PACKAGE_VERSION #undef VERSION #endif /* AXIS2_UTILS_H */ axis2c-src-1.6.0/util/include/platforms/0000777000175000017500000000000011172017533021247 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/include/platforms/unix/0000777000175000017500000000000011172017534022233 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/include/platforms/unix/axutil_uuid_gen_unix.h0000644000175000017500000000460311166304657026643 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_UUID_GEN_UNIX_H #define AXUTIL_UUID_GEN_UNIX_H #include #include #define UUIDS_PER_TICK 100 #define UUID_TIMEOFFSET AXIS2_UNSIGNED_LONGLONGVALUE(0x01B21DD213814000) #define AXIS2_LOCAL_MAC_ADDR "000000" #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_uuid_gen UUID Generator * @ingroup axis2_util * @{ */ struct axutil_uuid { unsigned int time_low; unsigned short int time_mid; unsigned short int time_high_version; short int clock_variant; unsigned char mac_addr[6]; }; /* bits 0-59 time field * bits 60-63 version * bits 64-65 2 bit variant * bits 66-79 clock sequence * bits 80-107 node MAC address */ struct axutil_uuid_st { unsigned char mac[6]; /* pre-determined MAC address */ struct timeval time_last; /* last retrieved timestamp */ unsigned long time_seq; /* last timestamp sequence counter */ short int clock; /* clock tick - incremented random number */ }; typedef struct axutil_uuid axutil_uuid_t; /** * Returns the mac address of the first ethernet intsrface * @return MAC address as a char[6] */ char *AXIS2_CALL axutil_uuid_get_mac_addr(void ); /** * Generates a uuid in version1 format (node - timestamp based) * @return generated uuid as a axutil_uuid_t */ axutil_uuid_t *AXIS2_CALL axutil_uuid_gen_v1(void ); /** * Generates a uuid * @return generated uuid as a string */ axis2_char_t *AXIS2_CALL axutil_platform_uuid_gen( char *s); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_UUID_GEN_UNIX_H */ axis2c-src-1.6.0/util/include/platforms/unix/axutil_thread_unix.h0000644000175000017500000000277711166304657026325 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_THREAD_UNIX_H #define AXUTIL_THREAD_UNIX_H #include #include #define SHELL_PATH "/bin/sh" typedef pthread_t axis2_os_thread_t; /* Native thread */ struct axutil_thread_t { pthread_t *td; void *data; axutil_thread_start_t func; axis2_bool_t try_exit; }; struct axutil_threadattr_t { pthread_attr_t attr; }; struct axutil_threadkey_t { pthread_key_t key; }; struct axutil_thread_once_t { pthread_once_t once; }; /*************************Thread locking functions*****************************/ struct axutil_thread_mutex_t { axutil_allocator_t *allocator; pthread_mutex_t mutex; }; #endif /* AXIS2_THREAD_UNIX_H */ axis2c-src-1.6.0/util/include/platforms/unix/axutil_unix.h0000644000175000017500000002075111166304657024766 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_UNIX_H #define AXIS2_UNIX_H #include /** * @file axutil_unix.h * @brief axis2 unix platform specific interface */ #ifdef __cplusplus extern "C" { #endif /** @defgroup axis2_unix Platform Specific * @ingroup axis2_platforms_unix * @{ */ /*************************************************************** * Default paths to shared library/DLLs and files *************************************************************** */ #define AXIS2_PLATFORM_DEFAULT_DEPLOY_PATH "" #define AXIS2_PLATFORM_XMLPARSER_PATH "libaxis2_parser.so" #define AXIS2_PLATFORM_TRANSPORTHTTP_PATH "libhttp_transport.so" #define AXIS2_PLATFORM_CHANNEL_PATH "libhttp_channel.so" #define AXIS2_PLATFORM_SSLCHANNEL_PATH "Unknown" #define AXIS2_PLATFORM_LOG_PATH "/usr/local/axis2/log/axutil_log" #define AXIS2_PLATFORM_CLIENTLOG_PATH "/usr/local/axis2/log/axis2_client_log" #define AXIS2_PLATFORM_CONFIG_PATH "/etc/axiscpp.conf" #define AXIS2_PLATFORM_SECUREINFO "" /** * Resource that contains the configuration */ #define AXIS2_CONFIGURATION_RESOURCE "/usr/local/axis2/axis2.xml" /***************************************************************** * Library loading and procedure resolution ****************************************************************/ #ifdef USE_LTDL #include #define AXIS2_DLHANDLER lt_dlhandle #define AXIS2_PLATFORM_LOADLIBINIT lt_dlinit #define AXIS2_PLATFORM_LOADLIB(_lib) lt_dlopen(_lib) #define AXIS2_PLATFORM_UNLOADLIB lt_dlclose #define AXIS2_PLATFORM_GETPROCADDR lt_dlsym #define AXIS2_PLATFORM_LOADLIBEXIT lt_dlexit #define AXIS2_PLATFORM_LOADLIB_ERROR lt_dlerror() #else #include #define AXIS2_DLHANDLER void* #define AXIS2_PLATFORM_LOADLIBINIT() #define AXIS2_PLATFORM_LOADLIB(_lib) dlopen(_lib, RTLD_LAZY) /*#define AXIS2_PLATFORM_LOADLIB(_lib) dlopen(_lib, RTLD_NOW) */ #define AXIS2_PLATFORM_UNLOADLIB dlclose #define AXIS2_PLATFORM_GETPROCADDR dlsym #define AXIS2_PLATFORM_LOADLIBEXIT() #define AXIS2_PLATFORM_LOADLIB_ERROR dlerror() #endif /*************************************************************** * National Language Support ****************************************************************/ /* STRTOASC is to translate single byte 'native' character representation to ASCII */ /* ASCTOSTR is to translate single byte ascii representation to 'native' character */ /* CANNOT be used with constants */ #define AXIS2_PLATFORM_STRTOASC( x ) ( x ) #define AXIS2_PLATFORM_ASCTOSTR( x ) ( x ) /*************************************************************** * Miscellaneous ****************************************************************/ #include #include /*#include */ #include #include #include #include #include #include #include #include #include "axutil_uuid_gen_unix.h" /* uuid_gen unix implementation */ #include /* TCP_NODELAY */ #include #include #include "axutil_date_time_util_unix.h" /* for file access handling */ #ifdef HAVE_UNISTD_H #include extern int usleep (__useconds_t __useconds); #endif /*HAVE_UNISTD_H */ /* network handling */ #include #include #include #include #include #include /* dir handling */ #include #include #define AXIS2_STRRCHR(x, y) (strrchr(x, y)) #define AXIS2_PLATFORM_SLEEP(x) sleep(0); /** sleep function abstraction */ #define AXIS2_SLEEP sleep #define AXIS2_USLEEP usleep /** * Get the last error code from the system. * Please ensure that this is a thread safe implementation * and that it returns a long * @return long the last error message for this thread */ /*#define AXIS2_GETLASTERROR errno; */ /** * From the last error number get a sensible std::string representing it * @param errorNumber the error Number you are trying to get a message for * @return the error message. NOTE: The caller is responsible for deleting the returned string */ /*#define AXIS2_PLATFORM_GET_ERROR_MESSAGE(errorNumber) new string(strerror(errorNumber)); */ /** * Platform specific method to obtain current thread ID */ #include #define AXIS2_PLATFORM_GET_THREAD_ID() pthread_self() /** * Platform specific method to obtain current time in milli seconds */ #define AXIS2_PLATFORM_GET_TIME_IN_MILLIS ftime #define AXIS2_PLATFORM_TIMEB timeb /** * type to be used for 64bit integers */ #define AXIS2_LONGLONG long long #define AXIS2_LONGLONGVALUE(value) value##LL #define AXIS2_UNSIGNED_LONGLONGVALUE(value) value##ULL /** * Format string to be used in printf for 64bit integers */ #define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER "%lld" #define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER_CHARS "lld" #define AXIS2_PRINTF_UNSIGNED_LONGLONG_FORMAT_SPECIFIER "%llu" #define AXIS2_PRINTF_UNSIGNED_LONGLONG_FORMAT_SPECIFIER_CHARS "llu" /** * Platform specific path separator char */ #ifdef IS_MACOSX #define AXIS2_PATH_SEP_CHAR '/' #define AXIS2_PATH_SEP_STR "/" #define AXIS2_LIB_PREFIX "lib" #define AXIS2_LIB_SUFFIX ".dylib" #else #define AXIS2_PATH_SEP_CHAR '/' #define AXIS2_PATH_SEP_STR "/" #define AXIS2_LIB_PREFIX "lib" #define AXIS2_LIB_SUFFIX ".so" #endif /** * Platform specific time */ #define AXIS2_TIME_T time_t /** * Platform specific file handling */ #define AXIS2_FOPEN fopen #define AXIS2_FREAD fread #define AXIS2_FWRITE fwrite #define AXIS2_FCLOSE fclose #define AXIS2_ACCESS(zpath,imode) access(zpath,imode) #define AXIS2_R_OK R_OK /* test for read permission */ #define AXIS2_W_OK W_OK /* test for write permission */ #define AXIS2_X_OK X_OK /* test for execute or search permission */ #define AXIS2_F_OK F_OK /* test whether the directories leading to the file can be searched and the file exists */ /** * Platform specific environment variable access method */ #define AXIS2_GETENV(_env_var_name) getenv(_env_var_name) /** * unix specific directory handling functions */ #define AXIS2_SCANDIR scandir #define AXIS2_ALPHASORT alphasort #define AXIS2_OPENDIR opendir #define AXIS2_CLOSEDIR closedir #define AXIS2_READDIR readdir #define AXIS2_READDIR_R readdir_r #define AXIS2_REWINDDIR rewinddir #define AXIS2_MKDIR mkdir #define AXIS2_GETCWD getcwd #define AXIS2_CHDIR chdir /** * network specific functions and defs */ #define axis2_socket_t int #define AXIS2_INVALID_SOCKET -1 #define AXIS2_INADDR_NONE (in_addr_t)-1 #define axis2_unsigned_short_t uint16_t #define AXIS2_CLOSE_SOCKET(sock) close(sock) #define AXIS2_CLOSE_SOCKET_ON_EXIT(sock) fcntl(sock,F_SETFD, FD_CLOEXEC); #define axis2_socket_len_t socklen_t #define AXIS2_SHUT_WR SHUT_WR /** getopt function */ #define AXIS2_GETOPT getopt /** minizip functions */ #define axis2_fill_win32_filefunc(ffunc) #define AXIS2_UNZOPEN2(zipfilename,ffunc) unzOpen2(zipfilename,NULL); memset(&ffunc, 0, sizeof(ffunc)); /** * handling variable number of arguments (for log.c) */ #define AXIS2_VSNPRINTF vsnprintf #define AXIS2_SNPRINTF snprintf #define axis2_gmtime_r gmtime_r /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_UNIX_H */ axis2c-src-1.6.0/util/include/platforms/unix/axutil_date_time_util_unix.h0000644000175000017500000000211411166304657030027 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DATE_TIME_UTIL_UNIX_H #define AXUTIL_DATE_TIME_UTIL_UNIX_H #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_milliseconds * @ingroup axis2_milliseconds * @{ */ AXIS2_EXTERN int AXIS2_CALL axis2_platform_get_milliseconds(void ); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/util/include/platforms/axutil_platform_auto_sense.h0000644000175000017500000000325011166304661027057 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PLATFORM_AUTOSENSE_H #define AXIS2_PLATFORM_AUTOSENSE_H /** * @file axutil_platform_auto_sense.h * @brief axis2 platform auto sense */ /* #ifdef __cplusplus extern "C" { #endif */ /** @defgroup axis2_platform_auto_sense * @ingroup axis2_platforms * @{ */ #if defined( WIN32 ) #include "windows/axutil_windows.h" #include "windows/axutil_dir_windows.h" #include "windows/axutil_uuid_gen_windows.h" #include "windows/axutil_getopt_windows.h" #include "windows/axutil_date_time_util_windows.h" #include "windows/axutil_thread_windows.h" #elif defined ( __OS400__ ) #include #elif defined ( AIX ) #include #elif defined ( HPUX ) #include #else #include #endif /** @} */ /* #ifdef __cplusplus } #endif */ #endif /* AXIS2_PLATFORM_AUTOSENSE_H */ axis2c-src-1.6.0/util/include/platforms/windows/0000777000175000017500000000000011172017534022742 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/util/include/platforms/windows/axutil_thread_mutex_windows.h0000644000175000017500000000272511166304661030751 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_THREAD_MUTEX_WINDOWS_H #define AXIS2_THREAD_MUTEX_WINDOWS_H #include #include #include typedef enum thread_mutex_type { thread_mutex_critical_section, thread_mutex_unnested_event, thread_mutex_nested_mutex } thread_mutex_type; /* handle applies only to unnested_event on all platforms * and nested_mutex on Win9x only. Otherwise critical_section * is used for NT nexted mutexes providing optimal performance. */ struct axutil_thread_mutex_t { thread_mutex_type type; HANDLE handle; CRITICAL_SECTION section; axutil_allocator_t *allocator; }; #endif /* AXIS2_THREAD_MUTEX_WINDOWS_H */ axis2c-src-1.6.0/util/include/platforms/windows/axutil_thread_windows.h0000644000175000017500000000575011166304661027530 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_THREAD_WINDOWS_H #define AXIS2_THREAD_WINDOWS_H #include #include #include #define SHELL_PATH "cmd.exe" typedef HANDLE axis2_os_thread_t; /* Native thread */ /* Chosen for us by apr_initialize */ struct axutil_thread_t { HANDLE *td; void *data; axutil_thread_start_t func; axis2_bool_t try_exit; }; struct axutil_threadattr_t { int detach; size_t stacksize; }; struct axutil_threadkey_t { DWORD key; }; struct axutil_thread_once_t { long value; }; AXIS2_EXTERN axutil_threadattr_t *AXIS2_CALL axutil_threadattr_create( axutil_allocator_t * allocator); /* Destroy the threadattr object */ AXIS2_EXTERN axis2_status_t AXIS2_CALL threadattr_cleanup( void *data); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_set( axutil_threadattr_t * attr, axis2_bool_t detached); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_get( axutil_threadattr_t * attr, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_stacksize_set( axutil_threadattr_t * attr, size_t stacksize); AXIS2_EXTERN axutil_thread_t *AXIS2_CALL axutil_thread_create( axutil_allocator_t * allocator, axutil_threadattr_t * attr, axutil_thread_start_t func, void *data); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_exit( axutil_thread_t * thd, axutil_allocator_t * allocator); AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL axis2_os_thread_current( void); AXIS2_EXTERN int AXIS2_CALL axis2_os_thread_equal( axis2_os_thread_t tid1, axis2_os_thread_t tid2); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_join( axutil_thread_t * thd); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_detach( axutil_thread_t * thd); AXIS2_EXTERN axis2_os_thread_t AXIS2_CALL axis2_os_thread_get( axutil_thread_t * thd, const axutil_env_t * env); AXIS2_EXTERN axutil_thread_once_t *AXIS2_CALL axutil_thread_once_init( axutil_allocator_t * allocator); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_once( axutil_thread_once_t * control, void(*func)(void)); #endif /* AXIS2_THREAD_WINDOWS_H */ axis2c-src-1.6.0/util/include/platforms/windows/axutil_getopt_windows.h0000644000175000017500000000407011166304661027555 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIS2_GETOPT_WINDOWS_H_ #define _AXIS2_GETOPT_WINDOWS_H_ #include /** * @file axis2_getopt_windows.h * @brief windows cutdown version of getopt function in unix */ #ifdef __cplusplus extern "C" { #endif /** @defgroup axis2_getopt_windows getopt * @ingroup axis2_windows * @{ */ #ifndef AXIS2_GET_OPT_DEFINE_MODE_NO_IMPORT AXIS2_IMPORT extern int opterr; AXIS2_IMPORT extern int optopt; AXIS2_IMPORT extern char *optarg; #else AXIS2_EXPORT int opterr; AXIS2_EXPORT int optopt; AXIS2_EXPORT char *optarg; #endif /** * return and log error * @param __optopt option * @param __err error code * @param __showerr whether or not send to stderr * @return ':' or '?' */ int _axis2_opt_error( int __optopt, int __err, int __showerr); /** * cutdown version of getopt in unix * @param __argc no of arguments * @param __argv list of arguments * @param __shortopts options * @return option char if successful, -1 if over, ':' or '?' if error */ AXIS2_EXTERN int AXIS2_CALL axis2_getopt( int __argc, char *const *__argv, const char *__shortopts); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/util/include/platforms/windows/axutil_dir_windows.h0000644000175000017500000000571711166304661027042 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef READDIR_H #define READDIR_H #include #include #include #include #include #include #include #include /* struct dirent - same as Unix dirent.h */ struct dirent { long d_ino; /* inode number (always 1 in WIN32) */ off_t d_off; /* offset to this dirent */ unsigned short d_reclen; /* length of d_name */ char d_name[_MAX_FNAME + 1]; /* filename (null terminated) */ /*unsigned char d_type; *//*type of file */ }; /* def struct DIR - different from Unix DIR */ typedef struct { long handle; /* _findfirst/_findnext handle */ short offset; /* offset into directory */ short finished; /* 1 if there are not more files */ struct _finddata_t fileinfo; /* from _findfirst/_findnext */ char *dirname; /* the dir we are reading */ struct dirent dent; /* the dirent to return */ } AXIS2_DIR; /* Function prototypes */ /** * open a directory on a given name * returns a DIR if successful, or NULL if the path cannot be opened */ AXIS2_EXTERN AXIS2_DIR * AXIS2_CALL axis2_opendir(const char *); /** * Close the directory stream DIRP. * Return 0 if successful, -1 otherwise. */ AXIS2_EXTERN int AXIS2_CALL axis2_closedir( AXIS2_DIR *); /** * Read a directory entry from DIRP. Return a pointer to a `struct * dirent' describing the entry, or NULL for EOF or error. */ AXIS2_EXTERN struct dirent *AXIS2_CALL axis2_readdir( AXIS2_DIR *); /** * Reentrant version of `readdir' */ AXIS2_EXTERN int AXIS2_CALL axis2_readdir_r( AXIS2_DIR *, struct dirent *, struct dirent **); /** * Rewind DIRP to the beginning of the directory. */ AXIS2_EXTERN int AXIS2_CALL axis2_rewinddir( AXIS2_DIR *); /** * Scan the directory DIR * Returns the number of entries selected, or -1 on error */ AXIS2_EXTERN int AXIS2_CALL axis2_scandir( const char *_dirname, struct dirent **__namelist[], int(*selector)(const struct dirent * entry), int(*compare)(const struct dirent ** a, const struct dirent ** b)); /** * Compare two `struct dirent's alphabetically */ extern int alphasort( const struct dirent **__d1, const struct dirent **__d2); #endif /* READDIR_H */ axis2c-src-1.6.0/util/include/platforms/windows/axutil_uuid_gen_windows.h0000644000175000017500000000217711166304661030060 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_UDDI_GEN_WINDOWS_H #define AXIS2_UDDI_GEN_WINDOWS_H #include #ifdef __cplusplus extern "C" { #endif /* */ /* Function prototypes */ /** * Generate universally unique id * @return a char pointer to uuid */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL axutil_platform_uuid_gen( char *s); /** @} */ #ifdef __cplusplus } #endif /* */ #endif /* AXIS2_UDDI_GEN_WINDOWS_H */ axis2c-src-1.6.0/util/include/platforms/windows/axutil_date_time_util_windows.h0000644000175000017500000000207511166304661031246 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DATE_TIME_UTIL_WINDOWS_H #define AXUTIL_DATE_TIME_UTIL_WINDOWS_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_date_time_util * @ingroup axutil_date_time_util * @{ */ AXIS2_EXTERN int AXIS2_CALL axis2_platform_get_milliseconds( ); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/util/include/platforms/windows/axutil_windows.h0000644000175000017500000002011111166304661026165 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_WINDOWS_H #define AXIS2_WINDOWS_H /** * @file axutil_unix.h * @brief axis2 unix platform specific interface */ #include #define _WINSOCKAPI_ /* Prevent inclusion of winsock.h in windows.h */ #include /*for minizip uncompression library */ # include /*for file access check */ #include #include /*for network handling */ #include #include #include #include /* for time */ #include #include /* get opt */ #include "axutil_getopt_windows.h" #ifdef __cplusplus extern "C" { #endif /** @defgroup axis2_unix Platform Specific * @ingroup axis2_platforms_unix * @{ */ /*enum platform_error_codes { PLATFORM_ERROR_UUID_NO_ADDRESS = 0, PLATFORM_ERROR_OUT_OF_MEMORY = 1 }; */ AXIS2_EXTERN HMODULE AXIS2_CALL callLoadLib( char *lib); AXIS2_EXTERN struct tm *AXIS2_CALL axis2_win_gmtime( const time_t * timep, struct tm *result); /* Get the last Error */ AXIS2_EXTERN void AXIS2_CALL axutil_win32_get_last_error(axis2_char_t *buff, unsigned int buf_size); /* Get the last Socket Error */ AXIS2_EXTERN void AXIS2_CALL axutil_win32_get_last_wsa_error(axis2_char_t *buff, unsigned int buf_size); #define AXUTIL_WIN32_ERROR_BUFSIZE 256 /*************************************************************** * Default paths to shared library/DLLs and files *************************************************************** */ #define AXIS2_PLATFORM_DEFAULT_DEPLOY_PATH "" #define AXIS2_PLATFORM_XMLPARSER_PATH "axis2_parser.dll" #define AXIS2_PLATFORM_TRANSPORTHTTP_PATH "http_transport.dll" #define AXIS2_PLATFORM_CHANNEL_PATH "http_channel.dll" #define AXIS2_PLATFORM_SSLCHANNEL_PATH "Unknown" #define AXIS2_PLATFORM_LOG_PATH "" /*/usr/local/axis2/log/axutil_log */ #define AXIS2_PLATFORM_CLIENTLOG_PATH "" /* /usr/local/axis2/log/axis2_client_log */ #define AXIS2_PLATFORM_CONFIG_PATH "" /* /etc/axiscpp.conf */ #define AXIS2_PLATFORM_SECUREINFO "" /** * Resource that contains the configuration */ #define AXIS2_CONFIGURATION_RESOURCE "" /* should be set */ /* * ============================================================= * Library loading and procedure resolution * ============================================================= */ #define DLHandler HINSTANCE #define RTLD_LAZY 0 /* not sure this is needed? */ #define AXIS2_PLATFORM_LOADLIBINIT() #define AXIS2_PLATFORM_LOADLIB(_lib) /*LoadLibrary(_lib) */ callLoadLib(_lib) #define AXIS2_PLATFORM_UNLOADLIB FreeLibrary #define AXIS2_PLATFORM_GETPROCADDR GetProcAddress #define AXIS2_PLATFORM_LOADLIBEXIT() #define AXIS2_PLATFORM_LOADLIB_ERROR axutil_win32_get_last_error() #define AXIS2_DLHANDLER void* /* * ============================================================= * National Language Support * ============================================================= */ /* * STRTOASC is to translate single byte 'native' character representation to ASCII * ASCTOSTR is to translate single byte ascii representation to 'native' character * CANNOT be used with constants */ #define AXIS2_PLATFORM_STRTOASC( x ) ( x ) #define AXIS2_PLATFORM_ASCTOSTR( x ) ( x ) /* * ============================================================= * Miscellaneous * ============================================================= */ #define AXIS2_STRRCHR(x, y) (strrchr(x, y)) #define AXIS2_PLATFORM_SLEEP(x) Sleep(0); #define AXIS2_SLEEP(x) Sleep((x)*1000) #define AXIS2_USLEEP(x) Sleep((x)/1000); /** * Get the last error code from the system. * Please ensure that this is a thread safe implementation * and that it returns a long * @return long the last error message for this thread */ #define AXIS2_GETLASTERROR GetLastError(); /** * From the last error number get a sensible std::string representing it * @param errorNumber the error Number you are trying to get a message for * @return the error message. NOTE: The caller is responsible for deleting the returned string */ #define AXIS2_PLATFORM_GET_ERROR_MESSAGE(errorNumber) getPlatformErrorMessage(errorNumber); /** * Platform specific method to obtain current thread ID */ #define AXIS2_PLATFORM_GET_THREAD_ID() GetCurrentThreadId() /** * type to be used for 64bit integers */ #define AXIS2_LONGLONG __int64 /** * Format string to be used in printf for 64bit integers */ #define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER "%I64d" #define AXIS2_PRINTF_LONGLONG_FORMAT_SPECIFIER_CHARS "I64d" /** * Platform specific path separator char */ #define AXIS2_PATH_SEP_CHAR '/' #define AXIS2_PATH_SEP_STR "/" #define AXIS2_LIB_PREFIX "" #define AXIS2_LIB_SUFFIX ".dll" /** * Platform specific time */ #define AXIS2_TIME_T time_t /** * Platform specific method to obtain current time in milli seconds */ #define AXIS2_PLATFORM_GET_TIME_IN_MILLIS _ftime #define AXIS2_PLATFORM_TIMEB _timeb /** * Platform specific file handling */ #define AXIS2_FOPEN fopen #define AXIS2_FREAD fread #define AXIS2_FWRITE fwrite #define AXIS2_FCLOSE fclose #define AXIS2_ACCESS(zpath,imode) _access(zpath,imode) #define AXIS2_R_OK 04 /* test for read permission */ #define AXIS2_W_OK 02 /* test for write permission */ #define AXIS2_X_OK 00 /* test for execute or search permission */ #define AXIS2_F_OK 00 /* test whether the directories leading to the file can be searched and the file exists * / /** * windows specific directory handling functions */ #define AXIS2_SCANDIR axis2_scandir #define AXIS2_ALPHASORT alphasort #define AXIS2_OPENDIR axis2_opendir #define AXIS2_CLOSEDIR axis2_closedir #define AXIS2_READDIR axis2_readdir #define AXIS2_READDIR_R axis2_readdir_r #define AXIS2_REWINDDIR axis2_rewinddir #define AXIS2_MKDIR(path,x) _mkdir(path) #define AXIS2_GETCWD _getcwd #define AXIS2_CHDIR _chdir /** * network specific functions and defs */ #define axis2_socket_t SOCKET #define AXIS2_INVALID_SOCKET INVALID_SOCKET #define AXIS2_INADDR_NONE INADDR_NONE #define axis2_unsigned_short_t u_short #define AXIS2_CLOSE_SOCKET(sock) closesocket(sock) #define AXIS2_CLOSE_SOCKET_ON_EXIT(sock) #define axis2_socket_len_t int #define AXIS2_SHUT_WR SD_SEND /** * Platform specific environment variable access method */ #define AXIS2_GETENV(_env_var_name) getenv(_env_var_name) /** * minizip functions */ #define axis2_fill_win32_filefunc(ffunc) fill_win32_filefunc(ffunc) #define AXIS2_UNZOPEN2(zipfilename,ffunc) unzOpen2(zipfilename,NULL) /** * handling variable number of arguments (for log.c) */ /** getopt function */ #define AXIS2_GETOPT axis2_getopt /** string functions */ #define AXIS2_VSNPRINTF _vsnprintf #define AXIS2_SNPRINTF _snprintf #define axis2_gmtime_r axis2_win_gmtime /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_WINDOWS_H */ axis2c-src-1.6.0/util/include/axutil_dir_handler.h0000644000175000017500000000421111166304665023254 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DIR_HANDLER_H #define AXUTIL_DIR_HANDLER_H #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_dir_handler dir handler * @ingroup axis2_util * @{ */ /** * List the dll files in the given service or module folder path * @param pathname path to your service or module directory * @return array list of dll file names */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_dir_handler_list_services_or_modules_in_dir( const axutil_env_t * env, const axis2_char_t * pathname); /** * List services or modules directories in the services or modules folder * respectively * @param pathname path your modules or services folder * @return array list of contents of services or modules folder */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_dir_handler_list_service_or_module_dirs( const axutil_env_t * env, const axis2_char_t * pathname); /* *extentions for module and service archives */ #define AXIS2_AAR_SUFFIX ".aar" #define AXIS2_MAR_SUFFIX ".mar" #ifdef __cplusplus } #endif #endif /* AXIS2_DIR_HANDLER_H */ axis2c-src-1.6.0/util/include/axutil_http_chunked_stream.h0000644000175000017500000000733711166304665025050 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_HTTP_CHUNKED_STREAM_H #define AXUTIL_HTTP_CHUNKED_STREAM_H /** * @defgroup axutil_http_chunked_stream http chunked stream * @ingroup axis2_core_trans_http * Description * @{ */ /** * @file axutil_http_chunked_stream.h * @brief axis2 HTTP Chunked Stream */ #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axutil_http_chunked_stream */ typedef struct axutil_http_chunked_stream axutil_http_chunked_stream_t; struct axis2_callback_info { const axutil_env_t *env; void *in_stream; int content_length; int unread_len; axutil_http_chunked_stream_t *chunked_stream; }; typedef struct axis2_callback_info axis2_callback_info_t; /** * @param chunked_stream pointer to chunked stream * @param env pointer to environment struct * @param buffer * @param count */ AXIS2_EXTERN int AXIS2_CALL axutil_http_chunked_stream_read( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env, void *buffer, size_t count); /** * @param env pointer to environment struct * @param buffer * @param count */ AXIS2_EXTERN int AXIS2_CALL axutil_http_chunked_stream_write( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env, const void *buffer, size_t count); /** * @param chunked_stream pointer to chunked stream * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axutil_http_chunked_stream_get_current_chunk_size( const axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env); /** * @param chunked_stream pointer to chunked stream * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_http_chunked_stream_write_last_chunk( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env); /** * @param chunked_stream pointer to chunked stream * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_http_chunked_stream_free( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env); /** * @param env pointer to environment struct * @param stream pointer to stream */ AXIS2_EXTERN axutil_http_chunked_stream_t *AXIS2_CALL axutil_http_chunked_stream_create( const axutil_env_t * env, axutil_stream_t * stream); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_http_chunked_stream_get_end_of_chunks( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXUTIL_HTTP_CHUNKED_STREAM_H */ axis2c-src-1.6.0/util/include/axutil_types.h0000644000175000017500000000336711166304665022160 0ustar00manjulamanjula00000000000000 /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_TYPES_H #define AXUTIL_TYPES_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_types type convertors * @ingroup axis2_util * @{ */ AXIS2_EXTERN int AXIS2_CALL axutil_atoi( const char *s); #define AXIS2_ATOI(s) axutil_atoi(s) AXIS2_EXTERN uint64_t AXIS2_CALL axutil_strtoul( const char *nptr, char **endptr, int base); #define AXIS2_STRTOUL(s, e, b) axutil_strtoul(s, e, b) AXIS2_EXTERN int64_t AXIS2_CALL axutil_strtol( const char *nptr, char **endptr, int base); #define AXIS2_STRTOL(s, e, b) axutil_strtol(s, e, b) AXIS2_EXTERN int64_t AXIS2_CALL axutil_atol( const char *s); #define AXIS2_ATOL(s) axutil_atol(s) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TYPES_H */ axis2c-src-1.6.0/util/include/axutil_properties.h0000644000175000017500000001020611166304665023176 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_PROPERTIES_H #define AXUTIL_PROPERTIES_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_properties properties * @ingroup axis2_util * @{ */ typedef struct axutil_properties axutil_properties_t; /** * create new properties * @return properties newly created properties */ AXIS2_EXTERN axutil_properties_t *AXIS2_CALL axutil_properties_create( const axutil_env_t * env); /** * free w2c_properties. * @param properties pointer to properties struct * @param env Environment. MUST NOT be NULL * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_properties_free( axutil_properties_t * properties, const axutil_env_t * env); /** * get string value for property with specified key. * @param properties pointer to properties struct * @param env Environment. MUST NOT be NULL * @param key MUST NOT be NULL * @return value of the property */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_properties_get_property( axutil_properties_t * properties, const axutil_env_t * env, axis2_char_t * key); /** * set a property ( key, value) pair. * @param properties pointer to properties struct * @param env Environment. MUST NOT be NULL * @param key Property Key. MUST NOT be NULL * @param value Property Value * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_properties_set_property( axutil_properties_t * properties, const axutil_env_t * env, axis2_char_t * key, axis2_char_t * value); /** * retrieve the hash with all the properties * @param properties pointer to properties struct * @param env Environment. MUST NOT be NULL * @return hash (key,value) */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_properties_get_all( axutil_properties_t * properties, const axutil_env_t * env); /** * load properties * @param properties pointer to properties struct * @param env Environment. MUST NOT be NULL * @param input Input Stream. MUST NOT be NULL * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_properties_load( axutil_properties_t * properties, const axutil_env_t * env, axis2_char_t * input_filename); /** * store properties * @param properties pointer to properties struct * @param env Environment. MUST NOT be NULL * @param ouput Output Stream. MUST NOT be NULL * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_properties_store( axutil_properties_t * properites, const axutil_env_t * env, FILE * output); /*************************** End of function macros ***************************/ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PROPERTIES_H */ axis2c-src-1.6.0/util/include/axutil_param_container.h0000644000175000017500000000705311166304665024152 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_PARAM_CONTAINER_H #define AXUTIL_PARAM_CONTAINER_H /** @defgroup axutil_param_container Parameter Container * @ingroup axis2_descript * @{ */ /** * @file axutil_param_container.h * @brief Axis2 Param container interface */ #include #include #include #include #include #include #include #include /*#include */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axutil_param_container axutil_param_container_t; /** * Creates param container struct * @return pointer to newly created param container */ AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axutil_param_container_create( const axutil_env_t * env); /** * Free param_container passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the param_container structure's free method */ AXIS2_EXTERN void AXIS2_CALL axutil_param_container_free_void_arg( void *param_container, const axutil_env_t * env); /** De-allocate memory * @return status code */ AXIS2_EXTERN void AXIS2_CALL axutil_param_container_free( axutil_param_container_t * param_container, const axutil_env_t * env); /** Add a param * @param param param to be added * @return status code */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_container_add_param( axutil_param_container_t * param_container, const axutil_env_t * env, axutil_param_t * param); /** To get a param in a given description * @param name param name * @return param */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axutil_param_container_get_param( axutil_param_container_t * param_container, const axutil_env_t * env, const axis2_char_t * name); /** To get all the params in a given description * @return all the params contained */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_param_container_get_params( axutil_param_container_t * param_container, const axutil_env_t * env); /** To check whether the paramter is locked at any level * @param param_name name of the param * @return whether param is locked */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_param_container_is_param_locked( axutil_param_container_t * param_container, const axutil_env_t * env, const axis2_char_t * param_name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PARAM_CONTAINER_H */ axis2c-src-1.6.0/util/include/axutil_utils.h0000644000175000017500000002352111166304665022146 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_UTILS_H #define AXUTIL_UTILS_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_utils utils * @ingroup axis2_util * @{ */ /** * @file axutil_utils.h */ #define AXUTIL_LOG_FILE_SIZE 1024 * 1024 * 32 #define AXUTIL_LOG_FILE_NAME_SIZE 512 /** This macro is called to check whether structure on which function is called * is NULL and to check whether the environment structure passed is valid. * @param object structure on which function is called * @param env environment to be checked for validity * @param error_return If function return a status it should pass here * AXIS2_FAILURE. If function return a type pointer it should * pass NULL * @return If function return a status code return AXIS2_SUCCESS. Else if * function return a type pointer return NULL */ #define AXIS2_FUNC_PARAM_CHECK(object, env, error_return) \ if (!object) \ { \ AXIS2_ERROR_SET_ERROR_NUMBER(env->error, AXIS2_ERROR_INVALID_NULL_PARAM); \ AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_FAILURE); \ return error_return; \ } \ else \ { \ AXIS2_ERROR_SET_STATUS_CODE(env->error, AXIS2_SUCCESS); \ } /**This macro is called to check whether an object is NULL. * if object is NULL error number and status code is set * @param object object to be check for NULL * @param error_return If function return a status it should pass here * AXIS2_FAILURE. If function return a type pointer it should * pass NULL * @return If function return a status code return AXIS2_SUCCESS. Else if * function return a type pointer return NULL */ #define AXIS2_PARAM_CHECK(error, object, error_return) \ if (!object) \ { \ AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \ AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE); \ return error_return; \ } \ else \ { \ AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_SUCCESS); \ } #define AXIS2_PARAM_CHECK_VOID(error, object) \ if (!object) \ { \ AXIS2_ERROR_SET_ERROR_NUMBER(error, AXIS2_ERROR_INVALID_NULL_PARAM); \ AXIS2_ERROR_SET_STATUS_CODE(error, AXIS2_FAILURE); \ return; \ } /**This macro is used to handle error situation. * @param error_number Error number for the error occured * @param error_return If function return a status it should pass here * AXIS2_FAILURE. If function return a type pointer it should * pass NULL * @return If function return a status code return AXIS2_SUCCESS. Else if * function return a type pointer return NULL */ #define AXIS2_ERROR_SET(error, error_number, status_code) \ { \ AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number); \ AXIS2_ERROR_SET_STATUS_CODE(error, status_code); \ } /** * This macro is used to set and error, and log it. In addition to that * you are capable of specifying the file name and line number * @param env Reference to env struct * @param error_number Error number for the error occured * @param status_code The Error Status to be set * @param file_name_line_no File name and line number constant */ #define AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number, \ status_code, file_name_line_no) \ { \ AXIS2_ERROR_SET(env->error, error_number, status_code); \ AXIS2_LOG_ERROR(env->log, file_name_line_no, \ AXIS2_ERROR_GET_MESSAGE(env->error)); \ } /** * This macro is used to set and error, and log it * @param env Reference to env struct * @param error_number Error number for the error occured * @param status_code The Error Status to be set */ #define AXIS2_HANDLE_ERROR(env, error_number, status_code) \ AXIS2_HANDLE_ERROR_WITH_FILE(env, error_number, status_code, \ AXIS2_LOG_SI) \ /** Method names in the loadable libraries */ #define AXIS2_CREATE_FUNCTION "axis2_get_instance" #define AXIS2_DELETE_FUNCTION "axis2_remove_instance" typedef void( AXIS2_CALL * AXIS2_FREE_VOID_ARG)( void *obj_to_be_freed, const axutil_env_t * env); /* Function pointer typedef for read callback */ typedef int( AXIS2_CALL * AXIS2_READ_INPUT_CALLBACK)( char *buffer, int size, void *ctx); /* Function pointer typedef for close callback */ typedef int( AXIS2_CALL * AXIS2_CLOSE_INPUT_CALLBACK)( void *ctx); /** * \brief Axis2 scopes * * Possible scope value for Axis2 */ enum axis2_scopes { /** Request scope */ AXIS2_SCOPE_REQUEST = 0, /** Session scope */ AXIS2_SCOPE_SESSION, /** Application scope */ AXIS2_SCOPE_APPLICATION }; #define AXIS2_TARGET_EPR "target_epr" #define AXIS2_DUMP_INPUT_MSG_TRUE "dump" /** * This function allows the user match a REST URL template with the * Request URL. It returns a 3-dimensional array with pairs of elements * of axis2_char_t arrays (strings). The caller is responsible to free * the memory allocated by the function for the return value. * @param env pointer to environment struct * @param tmpl Template to Match * @param url Request URL * @param match_count variable to store match count * @param matches axis2_char_t *** axis2_char_t *** * @return AXIS2_SUCCESS if all matches were found or AXIS2_FAILURE. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_parse_rest_url_for_params( const axutil_env_t * env, const axis2_char_t * tmpl, const axis2_char_t * url, int * match_count, axis2_char_t **** matches); /** * This function allows users to resolve the service and op from the * url. It returns an array of 2 elements of axis2_char_t arrays (strings). * The caller is responsible to free the memory allocated by the function * for the return value. * @param env pointer to environment struct * @param request url * @return axis2_char_t ** axis2_char_t ** */ AXIS2_EXTERN axis2_char_t **AXIS2_CALL axutil_parse_request_url_for_svc_and_op( const axutil_env_t * env, const axis2_char_t * request); /** * Quotes an XML string. * Replace '<', '>', and '&' with '<', '>', and '&'. * If quotes is true, then replace '"' with '"'. * @param env pointer to environment struct * @param s string to be quoted * @param quotes if AXIS2_TRUE then replace '"' with '"'. * quotes is typically set to true for XML strings that will occur within * double quotes -- attribute values. * @return Encoded string if there are characters to be encoded, else NULL. * The caller is responsible to free the memory allocated by the function * for the return value */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_xml_quote_string( const axutil_env_t * env, const axis2_char_t * s, axis2_bool_t quotes); AXIS2_EXTERN int AXIS2_CALL axutil_hexit(axis2_char_t c); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_decode( const axutil_env_t * env, axis2_char_t * dest, axis2_char_t * src); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_char_2_byte( const axutil_env_t *env, axis2_char_t *char_buffer, axis2_byte_t **byte_buffer, int *byte_buffer_size); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_UTILS_H */ axis2c-src-1.6.0/util/include/axutil_file_handler.h0000644000175000017500000000452311166304665023423 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_FILE_HANDLER_H #define AXUTIL_FILE_HANDLER_H #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_file_handler file handler * @ingroup axis2_util * @{ */ /** * open a file for read according to the file options given * @param file_name file to be opened * @param options file options given. * @return status code */ AXIS2_EXTERN void *AXIS2_CALL axutil_file_handler_open( const char *file_name, const char *options); /** * close a file * @param file_ptr file pointer of the file need to be closed * @return status code */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_handler_close( void *file_ptr); /** * determine accessibility of file * checks the named file for accessibility according to mode * @param path path name naming a file * @param mode * AXIS2_R_OK * - test for read permission * AXIS2_W_OK * - test for write permission * AXIS2_X_OK * - test for execute or search permission * AXIS2_F_OK * - test whether the directories leading to the file can be searched and the * file exists * @return status */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_handler_access( const axis2_char_t * path, int mode); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_handler_copy( FILE *from, FILE *to); AXIS2_EXTERN long AXIS2_CALL axutil_file_handler_size( const axis2_char_t *const name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_FILE_HANDLER_H */ axis2c-src-1.6.0/util/include/axutil_thread_pool.h0000644000175000017500000000706711166304665023315 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_THREAD_POOL_H #define AXUTIL_THREAD_POOL_H /** * @file axutil_thread_pool.h * @brief Axis2 thread pool interface */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_thread_pool thread pool * @ingroup axis2_util * @{ */ typedef struct axutil_thread_pool axutil_thread_pool_t; struct axutil_env; /** * Retrives a thread from the thread pool * @param func function to be executed in the new thread * @param data arguments to be passed to the function * @return pointer to a thread in ready state. */ AXIS2_EXTERN axutil_thread_t *AXIS2_CALL axutil_thread_pool_get_thread( axutil_thread_pool_t * pool, axutil_thread_start_t func, void *data); /** * Blocks until the desired thread stops executing. * @param thd The thread to joined * @return status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_pool_join_thread( axutil_thread_pool_t * pool, axutil_thread_t * thd); /** * Stop the execution of current thread * @param thd thread to be stopped * @return status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_pool_exit_thread( axutil_thread_pool_t * pool, axutil_thread_t * thd); /** * Detaches a thread * @param thd thread to be detached * @return status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_pool_thread_detach( axutil_thread_pool_t * pool, axutil_thread_t * thd); /** * Frees resources used by thread_pool * @param pool thread_pool to be freed */ AXIS2_EXTERN void AXIS2_CALL axutil_thread_pool_free( axutil_thread_pool_t * pool); /** * Initializes (creates) an thread_pool. * @param allocator user defined allocator for the memory allocation. * @return initialized thread_pool. NULL on error. */ AXIS2_EXTERN axutil_thread_pool_t *AXIS2_CALL axutil_thread_pool_init( axutil_allocator_t * allocator); /** * This function can be used to initialize the environment in case of * spawning a new thread via a thread function */ AXIS2_EXTERN struct axutil_env *AXIS2_CALL axutil_init_thread_env( const struct axutil_env *system_env); /** * This function can be used to free the environment that was used * in a thread function */ AXIS2_EXTERN void AXIS2_CALL axutil_free_thread_env( struct axutil_env *thread_env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_THREAD_POOL_H */ axis2c-src-1.6.0/util/include/axutil_param.h0000644000175000017500000001155411166304665022111 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_PARAM_H #define AXUTIL_PARAM_H /** * @file axutil_param.h * @brief Axis2 param interface */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_param parameter * @ingroup axis2_util * @{ */ /** * TEXT PARAM */ #define AXIS2_TEXT_PARAM 0 /** * Field DOM_PARAM */ #define AXIS2_DOM_PARAM 1 typedef struct axutil_param axutil_param_t; /** * each type which is passed as a param value to a parameter, must have this * type of function implemented. When the param value is set this function * should also be assigned to param free function */ typedef void( AXIS2_CALL * AXIS2_PARAM_VALUE_FREE) ( void *param_value, const axutil_env_t * env); /** * creates param struct */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axutil_param_create( const axutil_env_t * env, axis2_char_t * name, void *value); /** * Parameter name accessor * @return name of the param */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_param_get_name( struct axutil_param *param, const axutil_env_t * env); /** * Parameter value accessor * @return Object */ AXIS2_EXTERN void *AXIS2_CALL axutil_param_get_value( struct axutil_param *param, const axutil_env_t * env); /** * param name mutator * @param name */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_name( struct axutil_param *param, const axutil_env_t * env, const axis2_char_t * name); /** * Method setValue * * @param value */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_value( struct axutil_param *param, const axutil_env_t * env, const void *value); /** * Method isLocked * * @return boolean */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_param_is_locked( struct axutil_param *param, const axutil_env_t * env); /** * Method setLocked * * @param value */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_locked( struct axutil_param *param, const axutil_env_t * env, axis2_bool_t value); /** * Method getParameterType * * @return int */ AXIS2_EXTERN int AXIS2_CALL axutil_param_get_param_type( struct axutil_param *param, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_param_type( struct axutil_param *param, const axutil_env_t * env, int type); AXIS2_EXTERN void AXIS2_CALL axutil_param_free( struct axutil_param *param, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_attributes( struct axutil_param *param, const axutil_env_t * env, axutil_hash_t * attrs); AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_param_get_attributes( struct axutil_param *param, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_value_list( struct axutil_param *param, const axutil_env_t * env, axutil_array_list_t * value_list); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_param_get_value_list( struct axutil_param *param, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_param_value_free( void *param_value, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_param_set_value_free( struct axutil_param *param, const axutil_env_t * env, AXIS2_PARAM_VALUE_FREE free_fn); AXIS2_EXTERN void AXIS2_CALL axutil_param_dummy_free_fn( void *param, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PARAM_H */ axis2c-src-1.6.0/util/include/axutil_class_loader.h0000644000175000017500000000334511166304665023443 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_CLASS_LOADER_H #define AXUTIL_CLASS_LOADER_H /** * @file axutil_class_loader.h * @brief axis2 class loader interface */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** @defgroup axutil_class_loader class loader * @ingroup axis2_util * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_class_loader_init( const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_class_loader_delete_dll( const axutil_env_t * env, axutil_dll_desc_t * dll_desc); AXIS2_EXTERN void *AXIS2_CALL axutil_class_loader_create_dll( const axutil_env_t * env, axutil_param_t * impl_info_param); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CLASS_LOADER_H */ axis2c-src-1.6.0/util/include/axutil_digest_calc.h0000644000175000017500000000665711166304665023262 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DIGEST_CALC_H #define AXUTIL_DIGEST_CALC_H /** * @file axutil_digest_calc.h * @brief implements the calculations of H(A1), H(A2), * request-digest and response-digest for Axis2 based on rfc2617. */ #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_util utilities * @ingroup axis2 * @{ * @} */ /** * @defgroup axutil_digest_calc digest_calc * @ingroup axis2_util * @{ */ #define AXIS2_DIGEST_HASH_LEN 16 #define AXIS2_DIGEST_HASH_HEX_LEN 32 typedef unsigned char axutil_digest_hash_t[AXIS2_DIGEST_HASH_LEN]; typedef unsigned char axutil_digest_hash_hex_t[AXIS2_DIGEST_HASH_HEX_LEN + 1]; /** * calculate H(A1) as per HTTP Digest spec * @param env, pointer to env struct * @param algorithm, algorithm * @param user_name, user name * @param realm, reaalm * @param password, password * @param nonce, nonce from server * @param cnonce, client nonce * @param session_key, H(A1) * @return AXIS2_SUCCESS on success or AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_digest_calc_get_h_a1( const axutil_env_t * env, char * algorithm, char * user_name, char * realm, char * password, char * nonce, char * cnonce, axutil_digest_hash_hex_t session_key); /** * calculate request-digest/response-digest as per HTTP Digest spec * @param env, pointer to env struct * @param h_a1, H(A1) * @param nonce, nonce from server * @param cnonce, client nonce * @param qop, qop-value: "", "auth", "auth-int" * @param method, method from the request * @param digest_uri, requested URL * @param h_entry, H(entity body) if qop="auth-int" * @param response, request-digest or response-digest * @return AXIS2_SUCCESS on success or AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_digest_calc_get_response( const axutil_env_t * env, axutil_digest_hash_hex_t h_a1, char * nonce, char * nonce_count, char * cnonce, char * qop, char * method, char * digest_uri, axutil_digest_hash_hex_t h_entity, axutil_digest_hash_hex_t response); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_DIGEST_CALC_H */ axis2c-src-1.6.0/util/include/axutil_uuid_gen.h0000644000175000017500000000232411166304665022603 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_UUID_GEN_H #define AXUTIL_UUID_GEN_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_uuid_gen UUID generator * @ingroup axis2_util * @{ */ /** * generate a uuid * @return generated uuid as a string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uuid_gen( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_UUID_GEN_H */ axis2c-src-1.6.0/util/include/axutil_duration.h0000644000175000017500000001173611166304665022640 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DURATION_H #define AXUTIL_DURATION_H #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_duration * @ingroup axis2_util * @{ */ typedef struct axutil_duration axutil_duration_t; /** * Creates axutil_duration struct with current date time * @param env double pointer to environment struct. MUST NOT be NULL * @return pointer to newly created axutil_duration struct */ AXIS2_EXTERN axutil_duration_t *AXIS2_CALL axutil_duration_create( axutil_env_t * env); AXIS2_EXTERN axutil_duration_t *AXIS2_CALL axutil_duration_create_from_values( const axutil_env_t * env, axis2_bool_t negative, int years, int months, int days, int hours, int minutes, double seconds); AXIS2_EXTERN axutil_duration_t *AXIS2_CALL axutil_duration_create_from_string( const axutil_env_t * env, const axis2_char_t * duration_str); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_free( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_deserialize_duration( axutil_duration_t * duration, const axutil_env_t * env, const char *duration_str); AXIS2_EXTERN char *AXIS2_CALL axutil_duration_serialize_duration( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_duration( axutil_duration_t * duration, const axutil_env_t * env, axis2_bool_t negative, int years, int months, int days, int hours, int mins, double seconds); AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_years( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_years( axutil_duration_t * duration, const axutil_env_t * env, int years); AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_months( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_months( axutil_duration_t * duration, const axutil_env_t * env, int months); AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_days( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_days( axutil_duration_t * duration, const axutil_env_t * env, int days); AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_hours( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_hours( axutil_duration_t * duration, const axutil_env_t * env, int hours); AXIS2_EXTERN int AXIS2_CALL axutil_duration_get_mins( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_mins( axutil_duration_t * duration, const axutil_env_t * env, int mins); AXIS2_EXTERN double AXIS2_CALL axutil_duration_get_seconds( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_seconds( axutil_duration_t * duration, const axutil_env_t * env, double seconds); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_duration_get_is_negative( axutil_duration_t * duration, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_duration_set_is_negative( axutil_duration_t * duration, const axutil_env_t * env, axis2_bool_t is_negative); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_duration_compare( axutil_duration_t * duration_one, axutil_duration_t * duration_two, axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_DURATION_H */ axis2c-src-1.6.0/util/include/axutil_thread.h0000644000175000017500000001670011166304665022256 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_THREAD_H #define AXUTIL_THREAD_H /** * @file axutil_thread.h * @brief axis2 thread api */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_thread thread * @ingroup axis2_util * @{ */ /** * Thread callbacks from axis2 functions must be declared with AXIS2_THREAD_FUNC * so that they follow the platform's calling convention. */ /*#define AXIS2_THREAD_FUNC */ /** Thread structure. */ typedef struct axutil_thread_t axutil_thread_t; /** Thread attributes structure. */ typedef struct axutil_threadattr_t axutil_threadattr_t; /** Control variable for one-time atomic variables. */ typedef struct axutil_thread_once_t axutil_thread_once_t; /** * The prototype for any AXIS2 thread worker functions. */ typedef void *( AXIS2_THREAD_FUNC * axutil_thread_start_t)( axutil_thread_t *, void *); /** Thread private address space. */ typedef struct axutil_threadkey_t axutil_threadkey_t; /* Thread Function definitions */ /** * Create and initialize a new threadattr variable * @param cont The pool to use * @return Newly created thread attribute */ AXIS2_EXTERN axutil_threadattr_t *AXIS2_CALL axutil_threadattr_create( axutil_allocator_t * allocator); /** * Set if newly created threads should be created in detached state. * @param attr The threadattr to affect * @param on Non-zero if detached threads should be created. * @return The status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_threadattr_detach_set( axutil_threadattr_t * attr, axis2_bool_t detached); /** * Get the detach state for this threadattr. * @param attr The threadattr to reference * @return AXIS2_TRUE if threads are to be detached, or AXIS2_FALSE * if threads are to be joinable. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_threadattr_is_detach( axutil_threadattr_t * attr, axutil_allocator_t * allocator); /** * Create a new thread of execution * @param attr The threadattr to use to determine how to create the thread * @param func The function to start the new thread in * @param data Any data to be passed to the starting function * @param cont The pool to use * @return The newly created thread handle. */ AXIS2_EXTERN axutil_thread_t *AXIS2_CALL axutil_thread_create( axutil_allocator_t * allocator, axutil_threadattr_t * attr, axutil_thread_start_t func, void *data); /** * Stop the current thread * @param thd The thread to stop * @return The status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_exit( axutil_thread_t * thd, axutil_allocator_t * allocator); /** * Block until the desired thread stops executing. * @param thd The thread to join * @return The status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_join( axutil_thread_t * thd); /** * force the current thread to yield the processor */ AXIS2_EXTERN void AXIS2_CALL axutil_thread_yield(void ); /** * Initialize the control variable for axutil_thread_once. * @param control The control variable to initialize * @return The status of the operation */ AXIS2_EXTERN axutil_thread_once_t *AXIS2_CALL axutil_thread_once_init( axutil_allocator_t * allocator); /** * Run the specified function one time, regardless of how many threads * call it. * @param control The control variable. The same variable should * be passed in each time the function is tried to be * called. This is how the underlying functions determine * if the function has ever been called before. * @param func The function to call. * @return The status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_once( axutil_thread_once_t * control, void(*func)(void)); /** * detach a thread * @param thd The thread to detach * @return The status of the operation */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_detach( axutil_thread_t * thd); /*************************Thread locking functions*****************************/ /** Opaque thread-local mutex structure */ typedef struct axutil_thread_mutex_t axutil_thread_mutex_t; #define AXIS2_THREAD_MUTEX_DEFAULT 0x0 /**< platform-optimal lock behavior */ #define AXIS2_THREAD_MUTEX_NESTED 0x1 /**< enable nested (recursive) locks */ #define AXIS2_THREAD_MUTEX_UNNESTED 0x2 /**< disable nested locks */ /** * Create and initialize a mutex that can be used to synchronize threads. * @param allocator Memory allocator to allocate memory for the mutex * @warning Be cautious in using AXIS2_THREAD_MUTEX_DEFAULT. While this is the * most optimal mutex based on a given platform's performance characteristics, * it will behave as either a nested or an unnested lock. */ AXIS2_EXTERN axutil_thread_mutex_t *AXIS2_CALL axutil_thread_mutex_create( axutil_allocator_t * allocator, unsigned int flags); /** * Acquire the lock for the given mutex. If the mutex is already locked, * the current thread will be put to sleep until the lock becomes available. * @param mutex the mutex on which to acquire the lock. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_lock( axutil_thread_mutex_t * mutex); /** * Attempt to acquire the lock for the given mutex. If the mutex has already * been acquired, the call returns immediately * @param mutex the mutex on which to attempt the lock acquiring. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_trylock( axutil_thread_mutex_t * mutex); /** * Release the lock for the given mutex. * @param mutex the mutex from which to release the lock. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_unlock( axutil_thread_mutex_t * mutex); /** * Destroy the mutex and free the memory associated with the lock. * @param mutex the mutex to destroy. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_destroy( axutil_thread_mutex_t * mutex); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_THREAD_H */ axis2c-src-1.6.0/util/include/axutil_linked_list.h0000644000175000017500000002217311166304665023311 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_LINKED_LIST_H #define AXUTIL_LINKED_LIST_H /** * @file axutil_linked_list.h * @brief Axis2 linked_list interface */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axutil_linked_list axutil_linked_list_t; /** * @defgroup axutil_linked_list linked list * @ingroup axis2_util * @{ */ /** * Struct to represent an entry in the list. Holds a single element. */ typedef struct entry_s { /** The element in the list. */ void *data; /** The next list entry, null if this is last. */ struct entry_s *next; /** The previous list entry, null if this is first. */ struct entry_s *previous; } entry_t; /* struct entry */ /** * Create an empty linked list. */ AXIS2_EXTERN axutil_linked_list_t *AXIS2_CALL axutil_linked_list_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_linked_list_free( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Obtain the Entry at a given position in a list. This method of course * takes linear time, but it is intelligent enough to take the shorter of the * paths to get to the Entry required. This implies that the first or last * entry in the list is obtained in constant time, which is a very desirable * property. * For speed and flexibility, range checking is not done in this method: * Incorrect values will be returned if (n < 0) or (n >= size). * * @param n the number of the entry to get * @return the entry at position n */ AXIS2_EXTERN entry_t *AXIS2_CALL axutil_linked_list_get_entry( axutil_linked_list_t * linked_list, const axutil_env_t * env, int n); /** * Remove an entry from the list. This will adjust size and deal with * `first' and `last' appropriatly. * * @param e the entry to remove */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_remove_entry( axutil_linked_list_t * linked_list, const axutil_env_t * env, entry_t * e); /** * Checks that the index is in the range of possible elements (inclusive). * * @param index the index to check */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_check_bounds_inclusive( axutil_linked_list_t * linked_list, const axutil_env_t * env, int index); /** * Checks that the index is in the range of existing elements (exclusive). * * @param index the index to check */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_check_bounds_exclusive( axutil_linked_list_t * linked_list, const axutil_env_t * env, int index); /** * Returns the first element in the list. * * @return the first list element */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_get_first( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Returns the last element in the list. * * @return the last list element */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_get_last( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Remove and return the first element in the list. * * @return the former first element in the list */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_remove_first( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Remove and return the last element in the list. * * @return the former last element in the list */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_remove_last( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Insert an element at the first of the list. * * @param o the element to insert */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_add_first( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Insert an element at the last of the list. * * @param o the element to insert */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_add_last( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Returns true if the list contains the given object. Comparison is done by * o == null ? e = null : o.equals(e). * * @param o the element to look for * @return true if it is found */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_contains( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Returns the size of the list. * * @return the list size */ AXIS2_EXTERN int AXIS2_CALL axutil_linked_list_size( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Adds an element to the end of the list. * * @param e the entry to add * @return true, as it always succeeds */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_add( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Removes the entry at the lowest index in the list that matches the given * object, comparing by o == null ? e = null : o.equals(e). * * @param o the object to remove * @return true if an instance of the object was removed */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_linked_list_remove( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Remove all elements from this list. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_clear( axutil_linked_list_t * linked_list, const axutil_env_t * env); /** * Return the element at index. * * @param index the place to look * @return the element at index */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_get( axutil_linked_list_t * linked_list, const axutil_env_t * env, int index); /** * Replace the element at the given location in the list. * * @param index which index to change * @param o the new element * @return the prior element */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_set( axutil_linked_list_t * linked_list, const axutil_env_t * env, int index, void *o); /** * Inserts an element in the given position in the list. * * @param index where to insert the element * @param o the element to insert */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_linked_list_add_at_index( axutil_linked_list_t * linked_list, const axutil_env_t * env, int index, void *o); /** * Removes the element at the given position from the list. * * @param index the location of the element to remove * @return the removed element */ AXIS2_EXTERN void *AXIS2_CALL axutil_linked_list_remove_at_index( axutil_linked_list_t * linked_list, const axutil_env_t * env, int index); /** * Returns the first index where the element is located in the list, or -1. * * @param o the element to look for * @return its position, or -1 if not found */ AXIS2_EXTERN int AXIS2_CALL axutil_linked_list_index_of( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Returns the last index where the element is located in the list, or -1. * * @param o the element to look for * @return its position, or -1 if not found */ AXIS2_EXTERN int AXIS2_CALL axutil_linked_list_last_index_of( axutil_linked_list_t * linked_list, const axutil_env_t * env, void *o); /** * Returns an array which contains the elements of the list in order. * * @return an array containing the list elements */ AXIS2_EXTERN void **AXIS2_CALL axutil_linked_list_to_array( axutil_linked_list_t * linked_list, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_LINKED_LIST_H */ axis2c-src-1.6.0/util/include/Makefile.am0000644000175000017500000000022211166304665021274 0ustar00manjulamanjula00000000000000includedir=$(prefix)/include/axis2-1.6.0/ nobase_include_HEADERS= platforms/axutil_platform_auto_sense.h platforms/unix/*.h platforms/windows/*.h axis2c-src-1.6.0/util/include/Makefile.in0000644000175000017500000002727111172017167021315 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = include DIST_COMMON = $(nobase_include_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(includedir)" nobase_includeHEADERS_INSTALL = $(install_sh_DATA) HEADERS = $(nobase_include_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ ZLIBBUILD = @ZLIBBUILD@ ZLIBINC = @ZLIBINC@ ZLIBLIBS = @ZLIBLIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0/ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ nobase_include_HEADERS = platforms/axutil_platform_auto_sense.h platforms/unix/*.h platforms/windows/*.h all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-nobase_includeHEADERS: $(nobase_include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @$(am__vpath_adj_setup) \ list='$(nobase_include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ $(am__vpath_adj) \ echo " $(nobase_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(nobase_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-nobase_includeHEADERS: @$(NORMAL_UNINSTALL) @$(am__vpath_adj_setup) \ list='$(nobase_include_HEADERS)'; for p in $$list; do \ $(am__vpath_adj) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(HEADERS) installdirs: for dir in "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-nobase_includeHEADERS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-nobase_includeHEADERS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool ctags distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-nobase_includeHEADERS \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-nobase_includeHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/util/include/axutil_array_list.h0000644000175000017500000002022411166304665023154 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_ARRAY_LIST_H #define AXUTIL_ARRAY_LIST_H /** * @defgroup axutil_array_list array list * @ingroup axis2_util * Description. * @{ */ /** * @file axutil_array_list.h * @brief Axis2 array_list interface */ #include #include #ifdef __cplusplus extern "C" { #endif static const int AXIS2_ARRAY_LIST_DEFAULT_CAPACITY = 16; /** * Array List struct */ typedef struct axutil_array_list axutil_array_list_t; /** * Constructs a new array list with the supplied initial capacity. * If capacity is invalid (<= 0) then default capacity is used * @param env pointer to environment struct * @param capacity initial capacity of this array_list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axutil_array_list_create( const axutil_env_t * env, int capacity); /** * Free array passed as void pointer. * @param array_list pointer to array list * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axutil_array_list_free_void_arg( void *array_list, const axutil_env_t * env); /** * Guarantees that this list will have at least enough capacity to * hold min_capacity elements. This implementation will grow the list to * max(current * 2, min_capacity) * @param array_list pointer to array_list * @param env pointer to environment struct * @param min_capacity the minimum guaranteed capacity * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_array_list_ensure_capacity( struct axutil_array_list *array_list, const axutil_env_t * env, int min_capacity); /** * Returns the number of elements in this list. * @param array_list pointer to array list * @param env pointer to environment struct * @return the list size */ AXIS2_EXTERN int AXIS2_CALL axutil_array_list_size( struct axutil_array_list *array_list, const axutil_env_t * env); /** * Checks if the list is empty. * @param array_list pointer to array list * @param env pointer to environment struct * @return true if there are no elements, else false */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_is_empty( struct axutil_array_list *array_list, const axutil_env_t * env); /** * Returns true iff element is in this array_list. * @param array_list pointer to array list * @param env pointer to environment struct * @param e the element whose inclusion in the List is being tested * @return true if the list contains e */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_contains( struct axutil_array_list *array_list, const axutil_env_t * env, void *e); /** * Returns the lowest index at which element appears in this List, or * -1 if it does not appear. This looks for the pointer value equality only, * does not look into pointer content * @param array_list pointer to array list * @param env pointer to environment struct * @param e the element whose inclusion in the List is being tested * @return the index where e was found */ AXIS2_EXTERN int AXIS2_CALL axutil_array_list_index_of( struct axutil_array_list *array_list, const axutil_env_t * env, void *e); /** * Retrieves the element at the user-supplied index. * @param array_list pointer to array list * @param env pointer to environment struct * @param index the index of the element we are fetching * @return element at the given index */ AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_get( struct axutil_array_list *array_list, const axutil_env_t * env, int index); /** * Sets the element at the specified index. The new element, e, * can be an object of any type or null. * @param array_list pointer to array list * @param env pointer to environment struct * @param index the index at which the element is being set * @param e the element to be set * @return the element previously at the specified index */ AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_set( struct axutil_array_list *array_list, const axutil_env_t * env, int index, void *e); /** * Appends the supplied element to the end of this list. * The element, e, can be a pointer of any type or NULL. * @param array_list pointer to array list * @param env pointer to environment struct * @param e the element to be appended to this list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_array_list_add( struct axutil_array_list *array_list, const axutil_env_t * env, const void *e); /** * Adds the supplied element at the specified index, shifting all * elements currently at that index or higher one to the right. * The element, e, can be a pointer of any type or NULL. * @param array_list pointer to array list * @param env pointer to environment struct * @param index the index at which the element is being added * @param e the item being added * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_array_list_add_at( struct axutil_array_list *array_list, const axutil_env_t * env, const int index, const void *e); /** * Removes the element at the user-supplied index. * @param array_list pointer to array list * @param env pointer to environment struct * @param index the index of the element to be removed * @return the removed void* pointer */ AXIS2_EXTERN void *AXIS2_CALL axutil_array_list_remove( struct axutil_array_list *array_list, const axutil_env_t * env, int index); /** * Checks that the index is in the range of possible elements (inclusive). * @param array_list pointer to array list * @param env pointer to environment struct * @param index the index to check * @return AXIS2_FALSE if index > size or index < 0, else AXIS2_TRUE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_check_bound_inclusive( struct axutil_array_list *array_list, const axutil_env_t * env, int index); /** * Checks that the index is in the range of existing elements (exclusive). * @param array_list pointer to array list * @param env pointer to environment struct * @param index the index to check * @return AXIS2_FALSE if index >= size or index < 0, else AXIS2_TRUE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_array_list_check_bound_exclusive( struct axutil_array_list *array_list, const axutil_env_t * env, int index); /** * @param array_list pointer to array list * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_array_list_free( struct axutil_array_list *array_list, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_ARRAY_LIST_H */ axis2c-src-1.6.0/util/include/axutil_error_default.h0000644000175000017500000000271711166304665023647 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_ERROR_DEFAULT_H #define AXUTIL_ERROR_DEFAULT_H #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_error error * @ingroup axis2_util * @{ */ /** * Creates an error struct * @param allocator allocator to be used. Mandatory, cannot be NULL * @return pointer to the newly created error struct */ AXIS2_EXTERN axutil_error_t *AXIS2_CALL axutil_error_create( axutil_allocator_t * allocator); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ERROR_DEFAULT_H */ axis2c-src-1.6.0/util/include/axutil_network_handler.h0000644000175000017500000001437511166304665024203 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_NETWORK_HANDLER_H #define AXUTIL_NETWORK_HANDLER_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_network_handler network handler * @ingroup axis2_util * @{ */ /** * open a socket for a given server * @param server ip address or the fqn of the server * @param port port of the service * @return opened socket */ AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_open_socket( const axutil_env_t * env, char *server, int port); /** * creates a server socket for a given port * @param port port of the socket to be bound * @return creates server socket */ AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_create_server_socket( const axutil_env_t * env, int port); /** * closes a socket * @param opened socket that need to be closed * @return status code */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_close_socket( const axutil_env_t * env, axis2_socket_t socket); /** * used to set up socket options such as timeouts, non-blocking ..etc * @param socket valid socket (obtained by socket() or similar call) * @param option the name of the option * @param value Value to be set * @return status of the operations as axis2_status_t */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_set_sock_option( const axutil_env_t * env, axis2_socket_t socket, int option, int value); /** * Accepts remote connections for a server socket * @param socket valid server socket (obtained by socket() or similar call) * @return created socket to handle the incoming client connection */ AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_svr_socket_accept( const axutil_env_t * env, axis2_socket_t socket); /** * Returns the ip address of the server associated with the socket * @param socket valid socket (obtained by accept() or similar call) * @return ip address asoociated with the socket or NULL */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_network_handler_get_svr_ip( const axutil_env_t * env, axis2_socket_t socket); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_network_handler_get_peer_ip( const axutil_env_t * env, axis2_socket_t socket); /* * Create a datagram socket. * @param env pointer to env * @return a datagram socket */ AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_open_dgram_socket(const axutil_env_t *env); /* * Send a UDP packet to the given source and port address. * Read a incoming UDP packet from the port and server address. * @param env pointer to the env structure * @param socket a datagram socket * @param buffer a buffer containing the data to be sent * @param buf_len length of the buffer * @param addr address of the source field * @param port udp port number * @return success if everything goes well */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_send_dgram(const axutil_env_t *env, axis2_socket_t socket, axis2_char_t *buff, int *buf_len, axis2_char_t *addr, int dest_port, int *source_port); /* * Read a incoming UDP packet from the port and server address. * @param env pointer to the env structure * @param socket a datagram socket * @param buffer a buffer allocated and passed to be filled * @param buf_len length of the buffer allocated. In return buffer len contains the length of the data read * @param addr address of the sender. This is a return value. * @param port senders port address. Return value * @return if everything goes well return success */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_read_dgram(const axutil_env_t *env, axis2_socket_t socket, axis2_char_t *buffer, int *buf_len, axis2_char_t **addr, int *port); /* * Create a datagram socket to receive incoming UDP packets. * @param env a pointer to the env structure * @param port udp port to listen * @return AXIS2_SUCCESS if everything goes well */ AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_handler_create_dgram_svr_socket( const axutil_env_t *env, int port); /* * Bind a socket to the specified address * @param env a pointer to the env structure * @param sock socket * @param port port number to bind to * @return AXIS2_SUCCESS if binding is performed */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_network_handler_bind_socket(const axutil_env_t *env, axis2_socket_t sock, int port); /* * Create a multicast socket for listening on the given port. * @param env a pointer to the env structure * @param port udp port to listen * @param mul_addr multicast address to join. The address should be valid and in dotted format. * @param ttl TTL value. * @return AXIS2_SUCCESS if everything goes well.s */ AXIS2_EXTERN axis2_socket_t AXIS2_CALL axutil_network_hadler_create_multicast_svr_socket(const axutil_env_t *env, int port, axis2_char_t *mul_addr); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_NETWORK_HANDLER_H */ axis2c-src-1.6.0/util/include/axutil_date_time.h0000644000175000017500000002671611166304665022752 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DATE_TIME_H #define AXUTIL_DATE_TIME_H #include #include /** * @file axutil_date_time.h * @brief axis2-util */ #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_date_time * @ingroup axis2_util * @{ */ typedef struct axutil_date_time axutil_date_time_t; typedef enum { AXIS2_DATE_TIME_COMP_RES_FAILURE = -1, AXIS2_DATE_TIME_COMP_RES_UNKNOWN, AXIS2_DATE_TIME_COMP_RES_EXPIRED, AXIS2_DATE_TIME_COMP_RES_EQUAL, AXIS2_DATE_TIME_COMP_RES_NOT_EXPIRED } axutil_date_time_comp_result_t; /** * Creates axutil_date_time struct with current date time * @param env double pointer to environment struct. MUST NOT be NULL * @return pointer to newly created axutil_date_time struct */ AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_create( const axutil_env_t * env); /* * Creates axutil_date_time struct with an additional offset value * If the offset is a positive value then the time will be in the future * offset is 0, then the time will be the current time * offset is a negative value then the time is in the past. * @param env double pointer to environment struct. MUST NOT be NULL * @param offset the offset from the current time in seconds * @return pointer to newly created axutil_date_time struct **/ AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_create_with_offset( const axutil_env_t * env, int offset); /** * free the axutil_date_time. * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_date_time_free( axutil_date_time_t * date_time, const axutil_env_t * env); /** * store the time value from plain text. * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param time time as a string format HH:MM:TTZ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_time( axutil_date_time_t * date_time, const axutil_env_t * env, const axis2_char_t * time_str); /** * store the date value from plain text. * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param date date as a string format YYYY-MM-DD * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_date( axutil_date_time_t * date_time, const axutil_env_t * env, const axis2_char_t * date_str); /** * store the date value from plain text. * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param date_time string format YYYY-MM-DDTHH:MM:SSZ * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_date_time( axutil_date_time_t * date_time, const axutil_env_t * env, const axis2_char_t * date_time_str); /** * store the date value from set of values * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @param year Integer -1 can be used to ignore * @param month Integer -1 can be used to ignore * @param date Integer -1 can be used to ignore * @param hour Integer -1 can be used to ignore * @param min Integer -1 can be used to ignore * @param second Integer -1 can be used to ignore * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_set_date_time( axutil_date_time_t * date_time, const axutil_env_t * env, int year, int month, int date, int hour, int min, int second, int milliseconds); /** * retrive the stored time as a string * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return time as a string format HH:MM:SSZ */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_time( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrive the stored date as a string * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return date as a string format YYYY-MM-DD */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrive the stored date time as a string with millisecond precision * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return time as a string format YYYY-MM-DDTHH:MM:SS.msZ */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date_time( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrive the stored date time as a string without millisecond * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return time as a string format YYYY-MM-DDTHH:MM:SSZ */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date_time_without_millisecond( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrieve the year of the date time * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return year as an integer */ AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_year( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrieve the month of the date time * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return month as an integer */ AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_month( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrieve the date of the date time * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return date as an integer */ AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_date( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrieve the hour of the date time * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return hour as an integer */ AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_hour( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrieve the minute of the date time * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return minute as an integer */ AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_minute( axutil_date_time_t * date_time, const axutil_env_t * env); /** * retrieve the second of the date time * @param date_time represet the type object * @param env pointer to environment struct. MUST NOT be NULL * @return second as an integer */ AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_second( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_msec( axutil_date_time_t * date_time, const axutil_env_t * env); /** * Compare the date and time of @date_time with the reference @ref. * If the @date_time < @ref this returns NOT_EXPIRED. * If the @date_time > @ref this returns EXPIRED. * If the @date_time = @ref this returns EQUAL. * @param date_time the date time to be compared * @param env pointer to environment struct. MUST NOT be NULL * @ref the reference date time * @return NOT_EXPIRED/EXPIRED/EQUAL if valid otherwise return FAILURE */ AXIS2_EXTERN axutil_date_time_comp_result_t AXIS2_CALL axutil_date_time_compare( axutil_date_time_t * date_time, const axutil_env_t * env, axutil_date_time_t * ref); AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_utc_to_local( axutil_date_time_t * date_time, const axutil_env_t * env, axis2_bool_t is_positive, int hour, int min); AXIS2_EXTERN axutil_date_time_t *AXIS2_CALL axutil_date_time_local_to_utc( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_time_zone_hour( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL axutil_date_time_get_time_zone_minute( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_date_time_is_time_zone_positive( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_set_time_zone( axutil_date_time_t * date_time, const axutil_env_t * env, axis2_bool_t is_positive, int hour, int min); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_date_time_with_time_zone( axutil_date_time_t * date_time, const axutil_env_t * env, const axis2_char_t * date_time_str); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_date_time_deserialize_time_with_time_zone( axutil_date_time_t * date_time, const axutil_env_t * env, const axis2_char_t * time_str); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_date_time_with_time_zone( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_date_time_serialize_time_with_time_zone( axutil_date_time_t * date_time, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_date_time_is_utc( axutil_date_time_t * date_time, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_DATE_TIME_H */ axis2c-src-1.6.0/util/include/axutil_base64.h0000644000175000017500000000732711166304665022100 0ustar00manjulamanjula00000000000000 /* * Copyright 2003-2004 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include /* * @file axutil_base64.h * @brief AXIS2-UTIL Base64 Encoding */ #ifndef AXUTIL_BASE64_H #define AXUTIL_BASE64_H #ifdef __cplusplus extern "C" { #endif /* * @defgroup AXIS2_Util_Base64 base64 encoding * @ingroup AXIS2_Util */ /* Simple BASE64 encode/decode functions. * * As we might encode binary strings, hence we require the length of * the incoming plain source. And return the length of what we decoded. * * The decoding function takes any non valid char (i.e. whitespace, \0 * or anything non A-Z,0-9 etc as terminal. * * plain strings/binary sequences are not assumed '\0' terminated. Encoded * strings are neither. But probably should. * */ /* * Given the length of an un-encrypted string, get the length of the * encrypted string. * @param len the length of an unencrypted string. * @return the length of the string after it is encrypted */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_encode_len( int len); /* * Encode a text string using base64encoding. * @param coded_dst The destination string for the encoded string. * @param plain_src The original string in plain text * @param len_plain_src The length of the plain text string * @return the length of the encoded string */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_encode( char *coded_dst, const char *plain_src, int len_plain_src); /* * Encode an EBCDIC string using base64encoding. * @param coded_dst The destination string for the encoded string. * @param plain_src The original string in plain text * @param len_plain_src The length of the plain text string * @return the length of the encoded string */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_encode_binary( char *coded_dst, const unsigned char *plain_src, int len_plain_src); /* * Determine the length of a plain text string given the encoded version * @param coded_src The encoded string * @return the length of the plain text string */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_len( const char *coded_src); /* * Decode a string to plain text * @param plain_dst The destination string for the plain text. size of this should be axutil_base64_decode_len + 1 * @param coded_src The encoded string * @return the length of the plain text string */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode( char *plain_dst, const char *coded_src); /* * Decode an EBCDIC string to plain text * @param plain_dst The destination string for the plain text. size of this should be axutil_base64_decode_len * @param coded_src The encoded string * @return the length of the plain text string */ AXIS2_EXTERN int AXIS2_CALL axutil_base64_decode_binary( unsigned char *plain_dst, const char *coded_src); /* @} */ #ifdef __cplusplus } #endif #endif /* !AXIS2_BASE64_H */ axis2c-src-1.6.0/util/include/axutil_stream.h0000644000175000017500000001735211166304665022306 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_STREAM_H #define AXUTIL_STREAM_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif #define AXIS2_STREAM_DEFAULT_BUF_SIZE 2048 /** * @defgroup axutil_stream stream * @ingroup axis2_util * @{ */ /** * \brief Axis2 stream types * * This is used to create a stream to correspond to * particular i/o mtd */ enum axutil_stream_type { AXIS2_STREAM_BASIC = 0, AXIS2_STREAM_FILE, AXIS2_STREAM_SOCKET, AXIS2_STREAM_MANAGED /* Example Wrapper stream for Apache2 read mechanism */ }; typedef enum axutil_stream_type axutil_stream_type_t; typedef struct axutil_stream axutil_stream_t; typedef int( AXIS2_CALL * AXUTIL_STREAM_READ)( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); typedef int( AXIS2_CALL * AXUTIL_STREAM_WRITE)( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); typedef int( AXIS2_CALL * AXUTIL_STREAM_SKIP)( axutil_stream_t * stream, const axutil_env_t * env, int count); struct axutil_stream { axutil_stream_type_t stream_type; int len; int max_len; /* Only one of these is used for a perticlar * instance depending on the type */ axis2_char_t *buffer; axis2_char_t *buffer_head; FILE *fp; int socket; int axis2_eof; /** * reads from stream * @param buffer buffer into which the content is to be read * @param count size of the buffer * @return no: of bytes read */ int( AXIS2_CALL * read)( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); /** * writes into stream * @param buffer buffer to be written * @param count size of the buffer * @return no: of bytes actually written */ int( AXIS2_CALL * write)( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); /** * Skips over and discards n bytes of data from this input stream. * @param count number of bytes to be discarded * @return no: of bytes actually skipped */ int( AXIS2_CALL * skip)( axutil_stream_t * stream, const axutil_env_t * env, int count); }; /** * Deletes the stream * @return axis2_status_t AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_stream_free( axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_stream_free_void_arg( void *stream, const axutil_env_t * env); /** * reads from stream * @param buffer buffer into which the content is to be read * @param count size of the buffer * @return no: of bytes read */ AXIS2_EXTERN int AXIS2_CALL axutil_stream_read( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); /** * writes into stream * @param buffer buffer to be written * @param count size of the buffer * @return no: of bytes actually written */ AXIS2_EXTERN int AXIS2_CALL axutil_stream_write( axutil_stream_t * stream, const axutil_env_t * env, const void *buffer, size_t count); /** * Skips over and discards n bytes of data from this input stream. * @param count number of bytes to be discarded * @return no: of bytes actually skipped */ AXIS2_EXTERN int AXIS2_CALL axutil_stream_skip( axutil_stream_t * stream, const axutil_env_t * env, int count); /** * Returns the length of the stream (applicable only to basic stream) * @return Length of the buffer if its type is basic, else -1 * (we can't define a length of a stream unless it is just a buffer) */ AXIS2_EXTERN int AXIS2_CALL axutil_stream_get_len( axutil_stream_t * stream, const axutil_env_t * env); /** \brief Constructor for creating an in memory stream * @return axutil_stream (in memory) */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_basic( const axutil_env_t * env); /** \brief Constructor for creating a file stream * @param valid file pointer (opened file) * @return axutil_stream (file) */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_file( const axutil_env_t * env, FILE * fp); /** \brief Constructor for creating a file stream * @param valid socket (opened socket) * @return axutil_stream (socket) */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axutil_stream_create_socket( const axutil_env_t * env, int socket); /** *Free stream */ AXIS2_EXTERN void AXIS2_CALL axutil_stream_free( axutil_stream_t * stream, const axutil_env_t * env); /** * Free stream passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the module_desc structure's free method */ AXIS2_EXTERN void AXIS2_CALL axutil_stream_free_void_arg( void *stream, const axutil_env_t * env); /** * Gets the buffer */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_stream_get_buffer( const axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_flush_buffer( axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL axutil_stream_peek_socket( axutil_stream_t * stream, const axutil_env_t * env, void *buffer, size_t count); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_flush( axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_close( axutil_stream_t * stream, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_set_read( axutil_stream_t * stream, const axutil_env_t * env, AXUTIL_STREAM_READ func); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_set_write( axutil_stream_t * stream, const axutil_env_t * env, AXUTIL_STREAM_WRITE func); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_stream_set_skip( axutil_stream_t * stream, const axutil_env_t * env, AXUTIL_STREAM_SKIP func); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_STREAM_H */ axis2c-src-1.6.0/util/include/axutil_date_time_util.h0000644000175000017500000000234411166304665023776 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_DATE_TIME_UTIL_H #define AXUTIL_DATE_TIME_UTIL_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_uuid_gen UUID generator * @ingroup axis2_util * @{ */ /** * generate a uuid * @return generated uuid as a string */ AXIS2_EXTERN int AXIS2_CALL axutil_get_milliseconds( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_DATE_TIME_UTIL_H */ axis2c-src-1.6.0/util/include/axutil_string.h0000644000175000017500000002470411166304665022320 0ustar00manjulamanjula00000000000000 /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_STRING_H #define AXUTIL_STRING_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_string string * @ingroup axis2_util * @{ */ typedef struct axutil_string axutil_string_t; /** * Creates a string struct. * @param str pointer to string. string struct would create a duplicate of * this * @param env pointer to environment struct * @return a pointer to newly created string struct */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axutil_string_create( const axutil_env_t * env, const axis2_char_t * str); /** * Creates a string struct. * @param str pointer to string. string struct would not create a duplicate * of this, but would assume ownership * @param env pointer to environment struct * @return a pointer to newly created string struct */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axutil_string_create_assume_ownership( const axutil_env_t * env, axis2_char_t ** str); /** * Creates a string struct. * @param str pointer to string. string struct would not create a duplicate * of this and assumes the str would have longer life than that of itself * @param env pointer to environment struct * @return a pointer to newly created string struct */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axutil_string_create_const( const axutil_env_t * env, axis2_char_t ** str); /** * Frees string struct. * @param string pointer to string struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axutil_string_free( struct axutil_string *string, const axutil_env_t * env); /** * Compares two strings. Checks if the two strings point to the same buffer. * Do not cmpare the buffer contents. * @param string pointer to string struct * @param env pointer to environment struct * @param string1 pointer to string struct to be compared * @return AXIS2_TRUE if string equals string1, AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_string_equals( const struct axutil_string *string, const axutil_env_t * env, const struct axutil_string *string1); /** * Clones a given string. Does not duplicate the buffer, rather * increments the reference count. Each call to clone needs to have a * matching free, when the clone is done with. * @param string pointer to string struct * @param env pointer to environment struct * @returns pointer to cloned string struct instance */ AXIS2_EXTERN struct axutil_string *AXIS2_CALL axutil_string_clone( struct axutil_string *string, const axutil_env_t * env); /** * Gets string buffer. * @param string pointer to string struct * @param env pointer to environment struct * @returns pointer to string buffer */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axutil_string_get_buffer( const struct axutil_string *string, const axutil_env_t * env); /** * Gets string length. * @param string pointer to string struct * @param env pointer to environment struct * @returns buffer length */ AXIS2_EXTERN unsigned int AXIS2_CALL axutil_string_get_length( const struct axutil_string *string, const axutil_env_t * env); /** @} */ /** * @defgroup axutil_string_utils string_utils * @ingroup axis2_util * @{ */ AXIS2_EXTERN void *AXIS2_CALL axutil_strdup( const axutil_env_t * env, const void *ptr); /** * duplicate the first n characters of a string into memory allocated * the new string will be null-terminated * @param ptr The string to duplicate * @param n The number of characters to duplicate * @return The new string */ AXIS2_EXTERN void *AXIS2_CALL axutil_strndup( const axutil_env_t * env, const void *ptr, int n); /** * Create a null-terminated string by making a copy of a sequence * of characters and appending a null byte * @param ptr The block of characters to duplicate * @param n The number of characters to duplicate * @return The new string * @remark This is a faster alternative to axis2_strndup, for use * when you know that the string being duplicated really * has 'n' or more characters. If the string might contain * fewer characters, use axis2_strndup. */ AXIS2_EXTERN void *AXIS2_CALL axutil_strmemdup( const void *ptr, size_t n, const axutil_env_t * env); AXIS2_EXTERN void *AXIS2_CALL axutil_memchr( const void *ptr, int c, size_t n); AXIS2_EXTERN int AXIS2_CALL axutil_strcmp( const axis2_char_t * s1, const axis2_char_t * s2); AXIS2_EXTERN int AXIS2_CALL axutil_strncmp( const axis2_char_t * s1, const axis2_char_t * s2, int n); AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axutil_strlen( const axis2_char_t * s); AXIS2_EXTERN int AXIS2_CALL axutil_strcasecmp( const axis2_char_t * s1, const axis2_char_t * s2); AXIS2_EXTERN int AXIS2_CALL axutil_strncasecmp( const axis2_char_t * s1, const axis2_char_t * s2, const int n); /* much similar to the strcat behaviour. But the difference is * this allocates new memory to put the conatenated string rather than * modifying the first argument. The user should free the allocated * memory for the return value */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_stracat( const axutil_env_t * env, const axis2_char_t * s1, const axis2_char_t * s2); /** * Concatenate multiple strings, allocating memory * @param ... The strings to concatenate. The final string must be NULL * @return The new string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strcat( const axutil_env_t * env, ...); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strstr( const axis2_char_t * heystack, const axis2_char_t * needle); /** * Finds the first occurrence of a character in a string * @param s String in which the character is searched * @param ch Character to be searched * @return Pointer to to the first occurence of the charecter if it could * be found in the string, NULL otherwise */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strchr( const axis2_char_t * s, axis2_char_t ch); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_rindex( const axis2_char_t * s, axis2_char_t c); /* replaces s1 with s2 */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_replace( const axutil_env_t * env, axis2_char_t * str, int s1, int s2); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strltrim( const axutil_env_t * env, const axis2_char_t * _s, const axis2_char_t * _trim); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strrtrim( const axutil_env_t * env, const axis2_char_t * _s, const axis2_char_t * _trim); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strtrim( const axutil_env_t * env, const axis2_char_t * _s, const axis2_char_t * _trim); /** * replace given axis2_character with a new one. * @param str string operation apply * @param old_char the old axis2_character which would be replaced * @param new_char new axis2_char_tacter * @return replaced string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_replace( axis2_char_t * str, axis2_char_t old_char, axis2_char_t new_char); /** * gives a sub string starting with given index. * @param str string operation apply * @param c starting index * @return substring */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_substring_starting_at( axis2_char_t * str, int s); /** * gives a sub string ending with given index. * @param str string operation apply * @param c ending index * @return substring */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_substring_ending_at( axis2_char_t * str, int e); /** * set a string to lowercase. * @param str string * @return string with lowercase */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_tolower( axis2_char_t * str); /** * set a string to uppercase. * @param str string * @return string with uppercase */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_string_toupper( axis2_char_t * str); /** * Finds the first occurrence of the substring needle in the string * haystack, ignores the case of both arguments. * @param haystack string in which the given string is to be found * @param needle string to be found in haystack * @return pointer to the beginning of the substring, * or NULL if the substring is not found */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_strcasestr( const axis2_char_t * heystack, const axis2_char_t * needle); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_STRING_H */ axis2c-src-1.6.0/util/include/axutil_file.h0000644000175000017500000000517111166304665021726 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_FILE_H #define AXUTIL_FILE_H #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axutil_file axutil_file_t; /** * @defgroup axutil_file file * @ingroup axis2_util * @{ */ /** * create new file * @return file newly created file */ AXIS2_EXTERN axutil_file_t *AXIS2_CALL axutil_file_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_file_free( axutil_file_t * file, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_set_name( axutil_file_t * file, const axutil_env_t * env, axis2_char_t * name); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_file_get_name( axutil_file_t * file, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_set_path( axutil_file_t * file, const axutil_env_t * env, axis2_char_t * path); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_file_get_path( axutil_file_t * file, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_file_set_timestamp( axutil_file_t * file, const axutil_env_t * env, AXIS2_TIME_T timestamp); AXIS2_EXTERN AXIS2_TIME_T AXIS2_CALL axutil_file_get_timestamp( axutil_file_t * file, const axutil_env_t * env); /** * create a newly allocated clone of the argument file */ AXIS2_EXTERN axutil_file_t *AXIS2_CALL axutil_file_clone( axutil_file_t * file, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_FILE_H */ axis2c-src-1.6.0/util/include/axutil_hash.h0000644000175000017500000002324111166304665021730 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_HASH_H #define AXUTIL_HASH_H /** * @file axutil_hash.h * @brief Axis2 Hash Tables */ #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_hash hash * @ingroup axis2_util * @{ */ /** * When passing a key to axutil_hash_set or axutil_hash_get, this value can be * passed to indicate a string-valued key, and have axutil_hash compute the * length automatically. * * @remark axutil_hash will use strlen(key) for the length. The NUL terminator * is not included in the hash value (why throw a constant in?). * Since the hash table merely references the provided key (rather * than copying it), axutil_hash_this() will return the NUL-term'd key. */ #define AXIS2_HASH_KEY_STRING (unsigned int)(-1) /** * Abstract type for hash tables. */ typedef struct axutil_hash_t axutil_hash_t; /** * Abstract type for scanning hash tables. */ typedef struct axutil_hash_index_t axutil_hash_index_t; /** * Callback functions for calculating hash values. * @param key The key. * @param klen The length of the key, or AXIS2_HASH_KEY_STRING to use the string * length. If AXIS2_HASH_KEY_STRING then returns the actual key length. */ typedef unsigned int( *axutil_hashfunc_t)( const char *key, axis2_ssize_t * klen); /** * The default hash function. */ unsigned int axutil_hashfunc_default( const char *key, axis2_ssize_t * klen); /** * Create a hash table. * @param env The environment to allocate the hash table out of * @return The hash table just created */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_make( const axutil_env_t * env); /** * Create a hash table with a custom hash function * @param env The environment to allocate the hash table out of * @param hash_func A custom hash function. * @return The hash table just created */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_make_custom( const axutil_env_t * env, axutil_hashfunc_t hash_func); /** * Make a copy of a hash table * @param ht The hash table to clone * @param env The environment from which to allocate the new hash table * @return The hash table just created * @remark Makes a shallow copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_copy( const axutil_hash_t * ht, const axutil_env_t * env); /** * Associate a value with a key in a hash table. * @param ht The hash table * @param key Pointer to the key * @param klen Length of the key. Can be AXIS2_HASH_KEY_STRING to use the string length. * @param val Value to associate with the key * @remark If the value is NULL the hash entry is deleted. */ AXIS2_EXTERN void AXIS2_CALL axutil_hash_set( axutil_hash_t * ht, const void *key, axis2_ssize_t klen, const void *val); /** * Look up the value associated with a key in a hash table. * @param ht The hash table * @param key Pointer to the key * @param klen Length of the key. Can be AXIS2_HASH_KEY_STRING to use the string length. * @return Returns NULL if the key is not present. */ AXIS2_EXTERN void *AXIS2_CALL axutil_hash_get( axutil_hash_t * ht, const void *key, axis2_ssize_t klen); /** * Start iterating over the entries in a hash table. * @param ht The hash table * @param p The environment to allocate the axutil_hash_index_t iterator. If this * environment is NULL, then an internal, non-thread-safe iterator is used. * @remark There is no restriction on adding or deleting hash entries during * an iteration (although the results may be unpredictable unless all you do * is delete the current entry) and multiple iterations can be in * progress at the same time. * @example */ /** *

         *
         * int sum_values(const axutil_env_t *env, axutil_hash_t *ht)
         * {
         *     axutil_hash_index_t *hi;
         *     void *val;
         *     int sum = 0;
         *     for (hi = axutil_hash_first(p, ht); hi; hi = axutil_hash_next(p, hi)) {
         *         axutil_hash_this(hi, NULL, NULL, &val);
         *         sum += *(int *)val;
         *     }
         *     return sum;
         * }
         * 
    */ AXIS2_EXTERN axutil_hash_index_t *AXIS2_CALL axutil_hash_first( axutil_hash_t * ht, const axutil_env_t * env); /** * Continue iterating over the entries in a hash table. * @param hi The iteration state * @return a pointer to the updated iteration state. NULL if there are no more * entries. */ AXIS2_EXTERN axutil_hash_index_t *AXIS2_CALL axutil_hash_next( const axutil_env_t * env, axutil_hash_index_t * hi); /** * Get the current entry's details from the iteration state. * @param hi The iteration state * @param key Return pointer for the pointer to the key. * @param klen Return pointer for the key length. * @param val Return pointer for the associated value. * @remark The return pointers should point to a variable that will be set to the * corresponding data, or they may be NULL if the data isn't interesting. */ AXIS2_EXTERN void AXIS2_CALL axutil_hash_this( axutil_hash_index_t * hi, const void **key, axis2_ssize_t * klen, void **val); /** * Get the number of key/value pairs in the hash table. * @param ht The hash table * @return The number of key/value pairs in the hash table. */ AXIS2_EXTERN unsigned int AXIS2_CALL axutil_hash_count( axutil_hash_t * ht); /** * Merge two hash tables into one new hash table. The values of the overlay * hash override the values of the base if both have the same key. Both * hash tables must use the same hash function. * @param overlay The table to add to the initial table * @param p The environment to use for the new hash table * @param base The table that represents the initial values of the new table * @return A new hash table containing all of the data from the two passed in */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_overlay( const axutil_hash_t * overlay, const axutil_env_t * env, const axutil_hash_t * base); /** * Merge two hash tables into one new hash table. If the same key * is present in both tables, call the supplied merge function to * produce a merged value for the key in the new table. Both * hash tables must use the same hash function. * @param h1 The first of the tables to merge * @param p The environment to use for the new hash table * @param h2 The second of the tables to merge * @param merger A callback function to merge values, or NULL to * make values from h1 override values from h2 (same semantics as * axutil_hash_overlay()) * @param data Client data to pass to the merger function * @return A new hash table containing all of the data from the two passed in */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axutil_hash_merge( const axutil_hash_t * h1, const axutil_env_t * env, const axutil_hash_t * h2, void *(*merger)(const axutil_env_t * env, const void *key, axis2_ssize_t klen, const void *h1_val, const void *h2_val, const void *data), const void *data); /** * Query whether the hash table provided as parameter contains the * key provided as parameter. * * @param ht hash table to be queried for key * @return return whether hash table contains key */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_hash_contains_key( axutil_hash_t * ht, const axutil_env_t * env, const axis2_char_t * key); /** * @param ht hash table to be freed * @param env The environment to use for hash table * @return return status code * */ AXIS2_EXTERN void AXIS2_CALL axutil_hash_free( axutil_hash_t * ht, const axutil_env_t * env); /** * Free a hash table with hash table given as void * @param ht hash table to be freed as a void * * @param env The environment to use for hash table * @return return status code */ AXIS2_EXTERN void AXIS2_CALL axutil_hash_free_void_arg( void *ht_void, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_hash_set_env( axutil_hash_t * ht, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* !AXIS2_HASH_H */ axis2c-src-1.6.0/util/include/axutil_qname.h0000644000175000017500000001005011166304665022100 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_QNAME_H #define AXUTIL_QNAME_H /** * @file axutil_qname.h * @brief represents a qualified name */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_qname qname * @ingroup axis2_util * @{ */ typedef struct axutil_qname axutil_qname_t; /** * creates a qname struct * returns a pointer to a qname struct * @localpart mandatory * @prefix mandatory * @ns_uri optional * The prefix. Must not be null. Use "" (empty string) to indicate that no * namespace URI is present or the namespace URI is not relevant * if null is passed for prefix and uri , "'(empty string ) will be assinged to * those fields * @return a pointer to newly created qname struct */ AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axutil_qname_create( const axutil_env_t * env, const axis2_char_t * localpart, const axis2_char_t * namespace_uri, const axis2_char_t * prefix); /** * returns a newly created qname using a string genarated from * axutil_qname_to_string method * freeing the returned qname is users responsibility */ AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axutil_qname_create_from_string( const axutil_env_t * env, const axis2_char_t * string); /** * Free a qname struct * @return Status code */ AXIS2_EXTERN void AXIS2_CALL axutil_qname_free( struct axutil_qname *qname, const axutil_env_t * env); /** * Compare two qnames * prefix is ignored when comparing * If ns_uri and localpart of qname1 and qname2 is equal returns true * @return true if qname1 equals qname2, false otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axutil_qname_equals( const struct axutil_qname *qname, const axutil_env_t * env, const struct axutil_qname *qname1); /** * clones a given qname * @param qname , qname struct instance to be cloned * @env environment , double pointer to environment * @returns the newly cloned qname struct instance */ AXIS2_EXTERN struct axutil_qname *AXIS2_CALL axutil_qname_clone( struct axutil_qname *qname, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_get_uri( const struct axutil_qname *qname, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_get_prefix( const struct axutil_qname *qname, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_get_localpart( const struct axutil_qname *qname, const axutil_env_t * env); /** * returns a unique string created by concatanting namespace uri * and localpart . * The string is of the form localpart|url * The returned char* is freed when qname free function is called. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_qname_to_string( struct axutil_qname *qname, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_QNAME_H */ axis2c-src-1.6.0/util/include/axutil_utils_defines.h0000644000175000017500000001314311166304665023642 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_UTILS_DEFINES_H #define AXUTIL_UTILS_DEFINES_H #include #if !defined(WIN32) #include #endif #ifdef __cplusplus extern "C" { #endif #if defined(WIN32) && !defined(AXIS2_SKIP_INT_TYPEDEFS) /** * ANSI Type definitions for Windows */ typedef unsigned __int8 uint8_t; typedef __int8 int8_t; typedef unsigned __int16 uint16_t; typedef __int16 int16_t; typedef unsigned __int32 uint32_t; typedef __int32 int32_t; typedef unsigned __int64 uint64_t; typedef __int64 int64_t; #endif /** * Definition of format specifiers * for printf family of functions */ #if defined(WIN32) #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%I64d" #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%I64u" #define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%I32d" #define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%I32u" #else #if __WORDSIZE == 64 #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%ld" #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%lu" #else #define AXIS2_PRINTF_INT64_FORMAT_SPECIFIER "%lld" #define AXIS2_PRINTF_UINT64_FORMAT_SPECIFIER "%llu" #endif #define AXIS2_PRINTF_INT32_FORMAT_SPECIFIER "%d" #define AXIS2_PRINTF_UINT32_FORMAT_SPECIFIER "%u" #endif /** * Type definitions */ typedef char axis2_char_t; typedef int axis2_bool_t; typedef int axis2_status_t; typedef int axis2_scope_t; typedef unsigned int axis2_ssize_t; typedef char axis2_byte_t; typedef unsigned char axis2_unsigned_byte_t; #define AXIS2_STRING(s) s #define AXIS2_CHAR(c) c #define AXIS2_CRLF_LENGTH 2 #define AXIS2_CRLF "\r\n" /* These constant definitions should later be moved to platform dependant * files */ #define AXIS2_EOLN '\0' /** * Boolean values */ #define AXIS2_TRUE 1 #define AXIS2_FALSE 0 /** * Exporting */ #if defined(WIN32) && !defined(AXIS2_DECLARE_STATIC) #define AXIS2_EXPORT __declspec(dllexport) #else #define AXIS2_EXPORT #endif /** * Importing */ #if defined(WIN32) #define AXIS2_IMPORT __declspec(dllimport) #else #define AXIS2_IMPORT #endif /** * Calling Conventions */ #if defined(__GNUC__) #if defined(__i386) #define AXIS2_CALL __attribute__((cdecl)) #define AXIS2_WUR __attribute__((warn_unused_result)) #else #define AXIS2_CALL #define AXIS2_WUR #endif #else #if defined(__unix) #define AXIS2_CALL #define AXIS2_WUR #else /* WIN32 */ #define AXIS2_CALL __stdcall #define AXIS2_WUR #endif #endif #define AXIS2_THREAD_FUNC AXIS2_CALL #ifdef DOXYGEN /* define these just so doxygen documents them */ /** * AXIS2_DECLARE_STATIC is defined when including Axis2's Core headers, * to provide static linkage when the dynamic library may be unavailable. * * @see AXIS2_DECLARE_EXPORT * * AXIS2_DECLARE_STATIC and AXIS2_DECLARE_EXPORT are left undefined when * including Axis2's Core headers, to import and link the symbols from the * dynamic Axis2 Core library and assure appropriate indirection and calling * conventions at compile time. */ # define AXIS2_DECLARE_STATIC /** * AXIS2_DECLARE_EXPORT is defined when building the Axis2 Core dynamic * library, so that all public symbols are exported. * * @see AXIS2_DECLARE_STATIC */ # define AXIS2_DECLARE_EXPORT #endif /* def DOXYGEN */ #if !defined(WIN32) /** * Axis2 Core functions are declared with AXIS2_EXTERN AXIS2_CALL , so they may * use the most appropriate calling convention. Other * Core functions with variable arguments must use AXIS2_DECLARE_NONSTD(). * @code * AXIS2_EXTERN rettype) axis2_func(args AXIS2_CALL * @endcode */ #define AXIS2_EXTERN /** * Axis2 Core variable argument and hook functions are declared with * AXIS2_DECLARE_NONSTD(), as they must use the C language calling convention. * @see AXIS2_DECLARE * @code * AXIS2_DECLARE_NONSTD(rettype) axis2_func(args [...]) * @endcode */ #define AXIS2_DECLARE_NONSTD(type) type /** * Axis2 Core variables are declared with AXIS2_DECLARE_DATA. * This assures the appropriate indirection is invoked at compile time. * * @code * AXIS2_DECLARE_DATA type axis2_variable * @endcode */ #define AXIS2_DECLARE_DATA #elif defined(AXIS2_DECLARE_STATIC) #define AXIS2_EXTERN #define AXIS2_EXTERN_NONSTD #define AXIS2_DECLARE_DATA #elif defined(AXIS2_DECLARE_EXPORT) #define AXIS2_EXTERN AXIS2_EXPORT #define AXIS2_EXTERN_NONSTD AXIS2_EXPORT #define AXIS2_DECLARE_DATA #else #define AXIS2_EXTERN AXIS2_IMPORT #define AXIS2_EXTERN_NONSTD AXIS2_IMPORT #define AXIS2_DECLARE_DATA #endif #ifdef __cplusplus } #endif #endif /* AXIS2_UTILS_DEFINES_H */ axis2c-src-1.6.0/util/include/axutil_version.h0000644000175000017500000000751211166304665022475 0ustar00manjulamanjula00000000000000 /** * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_VERSION_H #define AXUTIL_VERSION_H /* The numeric compile-time version constants. These constants are the * authoritative version numbers for AXIS2. */ /** major version * Major API changes that could cause compatibility problems for older * programs such as structure size changes. No binary compatibility is * possible across a change in the major version. */ #define AXIS2_MAJOR_VERSION 1 /** minor version * Minor API changes that do not cause binary compatibility problems. * Reset to 0 when upgrading AXIS2_MAJOR_VERSION */ #define AXIS2_MINOR_VERSION 6 /** patch level * The Patch Level never includes API changes, simply bug fixes. * Reset to 0 when upgrading AXIS2_MINOR_VERSION */ #define AXIS2_PATCH_VERSION 0 /** * The symbol AXIS2_IS_DEV_VERSION is only defined for internal, * "development" copies of AXIS2. It is undefined for released versions * of AXIS2. */ #undef AXIS2_IS_DEV_VERSION #if defined(AXIS2_IS_DEV_VERSION) || defined(DOXYGEN) /** Internal: string form of the "is dev" flag */ #define AXIS2_IS_DEV_STRING "-dev" #else #define AXIS2_IS_DEV_STRING "" #endif /** Properly quote a value as a string in the C preprocessor */ #define AXIS2_STRINGIFY(n) AXIS2_STRINGIFY_HELPER(n) /** Helper macro for AXIS2_STRINGIFY */ #define AXIS2_STRINGIFY_HELPER(n) #n /** The formatted string of AXIS2's version */ #define AXIS2_VERSION_STRING \ AXIS2_STRINGIFY(AXIS2_MAJOR_VERSION) "." \ AXIS2_STRINGIFY(AXIS2_MINOR_VERSION) "." \ AXIS2_STRINGIFY(AXIS2_PATCH_VERSION) \ AXIS2_IS_DEV_STRING /** An alternative formatted string of AXIS2's version */ /* macro for Win32 .rc files using numeric csv representation */ #define AXIS2_VERSION_STRING_CSV AXIS2_MAJOR_VERSION ##, \ ##AXIS2_MINOR_VERSION ##, \ ##AXIS2_PATCH_VERSION #ifndef AXIS2_VERSION_ONLY /* The C language API to access the version at run time, * as opposed to compile time. AXIS2_VERSION_ONLY may be defined * externally when preprocessing axutil_version.h to obtain strictly * the C Preprocessor macro declarations. */ #include "axutil_env.h" #ifdef __cplusplus extern "C" { #endif /** * The numeric version information is broken out into fields within this * structure. */ typedef struct { int major; /**< major number */ int minor; /**< minor number */ int patch; /**< patch number */ int is_dev; /**< is development (1 or 0) */ } axis2_version_t; /** * Return AXIS2's version information information in a numeric form. * * @param pvsn Pointer to a version structure for returning the version * information. */ AXIS2_EXTERN void AXIS2_CALL axis2_version( axis2_version_t * pvsn); /** Return AXIS2's version information as a string. */ AXIS2_EXTERN const char *AXIS2_CALL axis2_version_string( void); #ifdef __cplusplus } #endif #endif #endif /* AXIS2_VERSION_H */ axis2c-src-1.6.0/util/include/axutil_rand.h0000644000175000017500000000452211166304665021732 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_RAND_H #define AXUTIL_RAND_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_rand rand * @ingroup axis2_util * @{ */ /** * @file axutil_rand.h * @brief A simple thread safe and reentrant random number generator */ /** * This is reentrant and thread safe simple random number generator * function. it is passed an pointer to an unsigned int state value * which is used inside the function and changed in each call. * @param seedp pointer to an unsigned int used as the internal state * @return int int */ AXIS2_EXTERN int AXIS2_CALL axutil_rand( unsigned int *seedp); /** * This is reentrant and thread safe simple random number generator * function. it is passed an pointer to an unsigned int state value * which is used inside the function and changed in each call. Also * it is passed a range in which the random number is selected * @param seedp pointer to an unsigned int used as the internal state * @param start start of the range * @param end end of the range * @return int If invalid range is entered -1 is returned int */ AXIS2_EXTERN int AXIS2_CALL axutil_rand_with_range( unsigned int *seedp, int start, int end); /** * A random seed value generated based on the time */ AXIS2_EXTERN unsigned int AXIS2_CALL axutil_rand_get_seed_value_based_on_time( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_RAND_H */ axis2c-src-1.6.0/util/include/axutil_allocator.h0000644000175000017500000001366711166304665023000 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_ALLOCATOR_H #define AXUTIL_ALLOCATOR_H /** * @file axutil_allocator.h * @brief Axis2 memory allocator interface */ #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_allocator allocator * @ingroup axis2_util * @{ */ /** * \brief Axis2 memory allocator * * Encapsulator for memory allocating routines */ typedef struct axutil_allocator { /** * Function pointer representing the function that allocates memory. * @param allocator pointer to allocator struct. In the default * implementation this is not used, however this parameter is useful * when the allocator implementation is dealing with a memory pool. * @param size size of the memory block to be allocated * @return pointer to the allocated memory block */ void *( AXIS2_CALL * malloc_fn)( struct axutil_allocator * allocator, size_t size); /** * Function pointer representing the function that re-allocates memory. * @param allocator pointer to allocator struct. In the default * implementation this is not used, however this parameter is useful * when the allocator implementation is dealing with a memory pool. * @param ptr memory block who's size to be changed * @param size size of the memory block to be allocated * @return pointer to the allocated memory block */ void *( AXIS2_CALL * realloc)( struct axutil_allocator * allocator, void *ptr, size_t size); /** * Function pointer representing the function that frees memory. * @param allocator pointer to allocator struct. In the default * implementation this is not used, however this parameter is useful * when the allocator implementation is dealing with a memory pool. * @param ptr pointer to be freed * @return void */ void( AXIS2_CALL * free_fn)( struct axutil_allocator * allocator, void *ptr); /** * Local memory pool. Local pool is used to allocate per request * local values. */ void *local_pool; /** * Global memory pool. Global pool is used to allocate values that * live beyond a request */ void *global_pool; /** * Memory pool currently in use. The functions * axutil_allocator_switch_to_global_pool and * axutil_allocator_switch_to_local_pool should be used to * set the current pool to global pool or to local pool respectively. */ void *current_pool; } axutil_allocator_t; /** * Initializes (creates) a memory allocator. * @param allocator user defined allocator. If NULL, a default allocator * will be returned. * @return initialized allocator. NULL on error. */ AXIS2_EXTERN axutil_allocator_t *AXIS2_CALL axutil_allocator_init( axutil_allocator_t * allocator); /** * This function should be used to deallocate memory if the default * allocator was provided by the axutil_allocator_init() call. * @param allocator allocator struct to be freed * @return void */ AXIS2_EXTERN void AXIS2_CALL axutil_allocator_free( axutil_allocator_t * allocator); /** * Swaps the local_pool and global_pool and makes the global pool the * current pool. * In case of using pools, local_pool is supposed to hold the pool out of which * local values are allocated. In case of values that live beyond a request * global pool should be used, hence this method has to be called to switch to * global pool for allocation. * @param allocator allocator whose memory pools are to be switched * @return void */ AXIS2_EXTERN void AXIS2_CALL axutil_allocator_switch_to_global_pool( axutil_allocator_t * allocator); /** * Swaps the local_pool and global_pool and makes the local pool the * current pool. * In case of using pools, local_pool is supposed to hold the pool out of which * local values are allocated. In case of values that live beyond a request * global pool should be used. This method can be used to inverse the switching * done by axutil_allocator_switch_to_global_pool, to start using the local pool again. * @param allocator allocator whose memory pools are to be switched * @return void */ AXIS2_EXTERN void AXIS2_CALL axutil_allocator_switch_to_local_pool( axutil_allocator_t * allocator); #define AXIS2_MALLOC(allocator, size) \ ((allocator)->malloc_fn(allocator, size)) #define AXIS2_REALLOC(allocator, ptr, size) \ ((allocator)->realloc(allocator, ptr, size)) #define AXIS2_FREE(allocator, ptr) \ ((allocator)->free_fn(allocator, ptr)) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ALLOCATOR_H */ axis2c-src-1.6.0/util/include/axutil_log_default.h0000644000175000017500000000336611166304665023300 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_LOG_DEFAULT_H #define AXUTIL_LOG_DEFAULT_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_log Log * @ingroup axis2_util * @{ */ #define AXIS2_LEN_VALUE 6000 /** * Creates a log struct * @param allocator allocator to be used. Mandatory, cannot be NULL * @return pointer to the newly created log struct */ AXIS2_EXTERN axutil_log_t *AXIS2_CALL axutil_log_create( axutil_allocator_t * allocator, axutil_log_ops_t * ops, const axis2_char_t * stream_name); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_log_impl_get_time_str( void); AXIS2_EXTERN axutil_log_t *AXIS2_CALL axutil_log_create_default( axutil_allocator_t * allocator); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_LOG_DEFAULT_H */ axis2c-src-1.6.0/util/include/axutil_env.h0000644000175000017500000001637711166304665021611 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_ENV_H #define AXUTIL_ENV_H /** * @file axutil_env.h * @brief Axis2 environment that acts as a container for error, log and memory * allocator routines */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_util utilities * @ingroup axis2 * @{ * @} */ struct axutil_env; struct axutil_env_ops; /** * @defgroup axutil_env environment * @ingroup axis2_util * @{ */ /** * \brief Axis2 Environment struct * * Environment acts as a container for error, log, memory allocator and * threading routines */ typedef struct axutil_env { /** Memory allocation routines */ axutil_allocator_t *allocator; /** Error handling */ axutil_error_t *error; /** Logging routines */ axutil_log_t *log; /** This flag indicate whether logging is enabled or not */ axis2_bool_t log_enabled; /** Thread pool routines */ axutil_thread_pool_t *thread_pool; int ref; } axutil_env_t; /** * Creates an environment struct. Would include a default log and error * structs within the created environment. By default, logging would be enabled * and the default log level would be debug. * @param allocator pointer to an instance of allocator struct. Must not be NULL * @return pointer to the newly created environment struct */ AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create( axutil_allocator_t * allocator); /** * Creates an environment struct with all of its default parts, * that is an allocator, error, log and a thread pool. * @param log_file name of the log file. If NULL, a default log would be created. * @param log_level log level to be used. If not valid, debug would be * used as the default log level * @return pointer to the newly created environment struct */ AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_all( const axis2_char_t * log_file, const axutil_log_levels_t log_level); /** * Creates an environment struct with given error struct. * @param allocator pointer to an instance of allocator struct. Must not be NULL * @param error pointer to an instance of error struct. Must not be NULL * @return pointer to the newly created environment struct */ AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_with_error( axutil_allocator_t * allocator, axutil_error_t * error); /** * Creates an environment struct with given error and log structs. * @param allocator pointer to an instance of allocator struct. Must not be NULL * @param error pointer to an instance of error struct. Must not be NULL * @param log pointer to an instance of log struct. If NULL it would be * assumed that logging is disabled. * @return pointer to the newly created environment struct */ AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_with_error_log( axutil_allocator_t * allocator, axutil_error_t * error, axutil_log_t * log); /** * Creates an environment struct with given error, log and thread pool structs. * @param allocator pointer to an instance of allocator struct. Must not be NULL * @param error pointer to an instance of error struct. Must not be NULL * @param log pointer to an instance of log struct. If NULL it would be * assumed that logging is disabled. * @param pool pointer to an instance of thread_pool. Must not be NULL * @return pointer to the newly created environment struct */ AXIS2_EXTERN axutil_env_t *AXIS2_CALL axutil_env_create_with_error_log_thread_pool( axutil_allocator_t * allocator, axutil_error_t * error, axutil_log_t * log, axutil_thread_pool_t * pool); /** * Enable or disable logging. * @param env pointer to environment struct * @param enable AXIS2_TRUE to enable logging and AXIS2_FALSE to * disable logging * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_env_enable_log( axutil_env_t * env, axis2_bool_t enable); /** * Checks the status code of environment stored within error struct. * @param env pointer to environment struct * @return error status code or AXIS2_CRITICAL_FAILURE in case of * a failure */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_env_check_status( const axutil_env_t * env); /** * Frees an environment struct instance. * @param env pointer to environment struct instance to be freed. * @return void */ AXIS2_EXTERN void AXIS2_CALL axutil_env_free( axutil_env_t * env); #define AXIS_ENV_FREE_LOG 0x1 #define AXIS_ENV_FREE_ERROR 0x2 #define AXIS_ENV_FREE_THREADPOOL 0x4 /** * Frees the environment components based on the mask. * @param env pointer to environment struct to be freed * @param mask bit pattern indicating which components of the env * struct are to be freed * AXIS_ENV_FREE_LOG - Frees the log * AXIS_ENV_FREE_ERROR - Frees the error * AXIS_ENV_FREE_THREADPOOL - Frees the thread pool * You can use combinations to free multiple components as well * E.g : AXIS_ENV_FREE_LOG | AXIS_ENV_FREE_ERROR frees both log and error, but not the thread pool * @return void */ AXIS2_EXTERN void AXIS2_CALL axutil_env_free_masked( axutil_env_t * env, char mask); /** * Incrent the reference count.This is used when objects are created * using this env and keeping this for future use. * @param env pointer to environment struct instance to be freed. * @return void */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_env_increment_ref( axutil_env_t * env); /* AXIS2_ENV_CHECK is a macro to check environment pointer. Currently this is set to an empty value. But it was used to be defined as: #define AXIS2_ENV_CHECK(env, error_return) \ if(!env) \ { \ return error_return; \ } */ #define AXIS2_ENV_CHECK(env, error_return) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ENV_H */ axis2c-src-1.6.0/util/include/axutil_md5.h0000644000175000017500000000727111166304665021477 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_MD5_H #define AXUTIL_MD5_H /** * @file axutil_md5.h * @brief MD5 Implementation for Axis2 based on rfc1321. */ #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_util utilities * @ingroup axis2 * @{ * @} */ /** * @defgroup axutil_md5 md5 * @ingroup axis2_util * @{ */ /** The MD5 digest size */ #define AXIS2_MD5_DIGESTSIZE 16 typedef struct axutil_md5_ctx { /** state (ABCD) */ unsigned int state[4]; /** number of bits, modulo 2^64 (lsb first) */ unsigned int count[2]; /** input buffer */ unsigned char buffer[64]; } axutil_md5_ctx_t; /** * Creates md5_ctx struct, which is used for the MD5 message-digest * operation. Initialization of the struct is done during the creation * process. * @param env, pointer to the env struct. * @return pointer to md5_ctx struct created. */ AXIS2_EXTERN axutil_md5_ctx_t *AXIS2_CALL axutil_md5_ctx_create( const axutil_env_t * env); /** * Frees the md5_ctx struct * @param md5_ctx, pointer to struct to free. * @param env, pointer to the env struct. */ AXIS2_EXTERN void AXIS2_CALL axutil_md5_ctx_free( axutil_md5_ctx_t * md5_ctx, const axutil_env_t * env); /** * MD5 block update operation. Continue an MD5 message-digest operation, * processing another message block, and updating the context. * @param context The MD5 content to update. * @param env, pointer to the env struct. * @param input_str next message block to update * @param inputLen The length of the next message block */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_md5_update( axutil_md5_ctx_t *context, const axutil_env_t * env, const void *input_str, size_t inputLen); /** * MD5 finalization. Ends an MD5 message-digest operation, writing the * message digest and zeroing the context. * @param digest The final MD5 digest. * @param env, pointer to the env struct. * @param context The MD5 content we are finalizing. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_md5_final( axutil_md5_ctx_t *context, const axutil_env_t * env, unsigned char digest[AXIS2_MD5_DIGESTSIZE]); /** * MD5 in one step. * @param env, pointer to the env struct. * @param digest The final MD5 digest. * @param input_str The message block to use. * @param inputLen The length of the message block. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_md5( const axutil_env_t * env, unsigned char digest[AXIS2_MD5_DIGESTSIZE], const void *input_str, size_t inputLen); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MD5_H */ axis2c-src-1.6.0/util/include/axutil_log.h0000644000175000017500000001647411166304665021600 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_LOG_H #define AXUTIL_LOG_H #include #ifdef __cplusplus extern "C" { #endif typedef struct axutil_log_ops axutil_log_ops_t; typedef struct axutil_log axutil_log_t; #define AXIS2_LOG_SI __FILE__,__LINE__ /** * @defgroup axutil_log log * @ingroup axis2_util * @{ */ /** *Examples *To write debug information to log *AXIS2_LOG_DEBUG(log,AXIS2_LOG_SI,"log this %s %d","test",123); *This would log *"log this test 123" into the log file * *similar macros are defined for different log levels: CRITICAL,ERROR,WARNING and INFO * and SERVICE * *CRITICAL and ERROR logs are always written to file and other logs are written *depending on the log level set (log->level) */ /** * \brief Axis2 log levels */ typedef enum axutil_log_levels { /** Critical level, logs only critical errors */ AXIS2_LOG_LEVEL_CRITICAL = 0, /** Error level, logs only errors */ AXIS2_LOG_LEVEL_ERROR, /** Warning level, logs only warnings */ AXIS2_LOG_LEVEL_WARNING, /** Info level, logs information */ AXIS2_LOG_LEVEL_INFO, /** Debug level, logs everything */ AXIS2_LOG_LEVEL_DEBUG, /** User level, logs only user level debug messages */ AXIS2_LOG_LEVEL_USER, /** Trace level, Enable with compiler time option AXIS2_TRACE */ AXIS2_LOG_LEVEL_TRACE } axutil_log_levels_t; /** * \brief Axis2 log ops struct * * Encapsulator struct for ops of axutil_log */ struct axutil_log_ops { /** * deletes the log * @return axis2_status_t AXIS2_SUCCESS on success else AXIS2_FAILURE */ void( AXIS2_CALL * free)( axutil_allocator_t * allocator, struct axutil_log * log); /** * writes to the log * @param buffer buffer to be written to log * @param size size of the buffer to be written to log * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ void( AXIS2_CALL * write)( axutil_log_t * log, const axis2_char_t * buffer, axutil_log_levels_t level, const axis2_char_t * file, const int line); }; /** * \brief Axis2 Log struct * * Log is the encapsulating struct for all log related data and ops */ struct axutil_log { /** Log related ops */ const axutil_log_ops_t *ops; /** Log level */ axutil_log_levels_t level; /** Maximum log file size */ int size; /** Is logging enabled? */ axis2_bool_t enabled; }; AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_critical( axutil_log_t * log, const axis2_char_t * filename, const int linenumber, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_error( axutil_log_t * log, const axis2_char_t * filename, const int linenumber, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_warning( axutil_log_t * log, const axis2_char_t * filename, const int linenumber, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_info( axutil_log_t * log, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_user( axutil_log_t * log, const axis2_char_t * filename, const int linenumber, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_debug( axutil_log_t * log, const axis2_char_t * filename, const int linenumber, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_impl_log_trace( axutil_log_t * log, const axis2_char_t * filename, const int linenumber, const axis2_char_t * format, ...); AXIS2_EXTERN void AXIS2_CALL axutil_log_free( axutil_allocator_t * allocator, struct axutil_log *log); AXIS2_EXTERN void AXIS2_CALL axutil_log_write( axutil_log_t * log, const axis2_char_t * buffer, axutil_log_levels_t level, const axis2_char_t * file, const int line); #define AXIS2_LOG_FREE(allocator, log) \ axutil_log_free(allocator, log) #define AXIS2_LOG_WRITE(log, buffer, level, file) \ axutil_log_write(log, buffer, level, file, AXIS2_LOG_SI) #define AXIS2_LOG_USER axutil_log_impl_log_user #define AXIS2_LOG_DEBUG axutil_log_impl_log_debug #define AXIS2_LOG_INFO axutil_log_impl_log_info #define AXIS2_LOG_WARNING axutil_log_impl_log_warning #define AXIS2_LOG_ERROR axutil_log_impl_log_error #define AXIS2_LOG_CRITICAL axutil_log_impl_log_critical #ifdef AXIS2_TRACE #define AXIS2_LOG_TRACE axutil_log_impl_log_trace #else # ifdef HAVE_GNUC_VARARGS # define AXIS2_LOG_TRACE(params, args ...) # elif defined HAVE_ISO_VARARGS # define AXIS2_LOG_TRACE(params, ...) # elif __STDC__ && __STDC_VERSION > 199901L # define AXIS2_LOG_TRACE(params, ...) # elif WIN32 # define AXIS2_LOG_TRACE axutil_log_impl_log_trace # else # define AXIS2_LOG_TRACE axutil_log_impl_log_trace # endif #endif #ifndef AXIS2_LOG_PROJECT_PREFIX /** Each module/project should undef and define the following.. */ #define AXIS2_LOG_PROJECT_PREFIX "[axis2c]" #endif #define AXIS2_LOG_USER_MSG(log, msg) AXIS2_LOG_USER (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) #define AXIS2_LOG_DEBUG_MSG(log, msg) AXIS2_LOG_DEBUG (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) #define AXIS2_LOG_INFO_MSG(log, msg) AXIS2_LOG_INFO (log, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) #define AXIS2_LOG_WARNING_MSG(log, msg) AXIS2_LOG_WARNING (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) #define AXIS2_LOG_ERROR_MSG(log, msg) AXIS2_LOG_ERROR (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) #define AXIS2_LOG_CRITICAL_MSG(log, msg) AXIS2_LOG_CRITICAL (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) #define AXIS2_LOG_TRACE_MSG(log, msg) AXIS2_LOG_TRACE (log, AXIS2_LOG_SI, "%s %s", AXIS2_LOG_PROJECT_PREFIX, msg) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_LOG_H */ axis2c-src-1.6.0/util/include/axutil_uri.h0000644000175000017500000002160111166304665021602 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_URI_H #define AXUTIL_URI_H /** * @file axutil_uri.h * @brief AXIS2-UTIL URI Routines * axutil_uri.h: External Interface of axutil_uri.c */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_uri URI * @ingroup axis2_util * @{ */ #define AXIS2_URI_FTP_DEFAULT_PORT 21 /**< default FTP port */ #define AXIS2_URI_SSH_DEFAULT_PORT 22 /**< default SSH port */ #define AXIS2_URI_TELNET_DEFAULT_PORT 23 /**< default telnet port */ #define AXIS2_URI_GOPHER_DEFAULT_PORT 70 /**< default Gopher port */ #define AXIS2_URI_HTTP_DEFAULT_PORT 80 /**< default HTTP port */ #define AXIS2_URI_POP_DEFAULT_PORT 110 /**< default POP port */ #define AXIS2_URI_NNTP_DEFAULT_PORT 119 /**< default NNTP port */ #define AXIS2_URI_IMAP_DEFAULT_PORT 143 /**< default IMAP port */ #define AXIS2_URI_PROSPERO_DEFAULT_PORT 191 /**< default Prospero port */ #define AXIS2_URI_WAIS_DEFAULT_PORT 210 /**< default WAIS port */ #define AXIS2_URI_LDAP_DEFAULT_PORT 389 /**< default LDAP port */ #define AXIS2_URI_HTTPS_DEFAULT_PORT 443 /**< default HTTPS port */ #define AXIS2_URI_RTSP_DEFAULT_PORT 554 /**< default RTSP port */ #define AXIS2_URI_SNEWS_DEFAULT_PORT 563 /**< default SNEWS port */ #define AXIS2_URI_ACAP_DEFAULT_PORT 674 /**< default ACAP port */ #define AXIS2_URI_NFS_DEFAULT_PORT 2049 /**< default NFS port */ #define AXIS2_URI_TIP_DEFAULT_PORT 3372 /**< default TIP port */ #define AXIS2_URI_SIP_DEFAULT_PORT 5060 /**< default SIP port */ /** Flags passed to unparse_uri_components(): */ /** suppress "scheme://user\@site:port" */ #define AXIS2_URI_UNP_OMITSITEPART (1U<<0) /** Just omit user */ #define AXIS2_URI_UNP_OMITUSER (1U<<1) /** Just omit password */ #define AXIS2_URI_UNP_OMITPASSWORD (1U<<2) /** omit "user:password\@" part */ #define AXIS2_URI_UNP_OMITUSERINFO (AXIS2_URI_UNP_OMITUSER | \ AXIS2_URI_UNP_OMITPASSWORD) /** Show plain text password (default: show XXXXXXXX) */ #define AXIS2_URI_UNP_REVEALPASSWORD (1U<<3) /** Show "scheme://user\@site:port" only */ #define AXIS2_URI_UNP_OMITPATHINFO (1U<<4) /** Omit the "?queryarg" from the path */ #define AXIS2_URI_UNP_OMITQUERY_ONLY (1U<<5) /** Omit the "#fragment" from the path */ #define AXIS2_URI_UNP_OMITFRAGMENT_ONLY (1U<<6) /** Omit the "?queryarg" and "#fragment" from the path */ #define AXIS2_URI_UNP_OMITQUERY (AXIS2_URI_UNP_OMITQUERY_ONLY | \ AXIS2_URI_UNP_OMITFRAGMENT_ONLY) /** @see axutil_uri_t */ typedef unsigned short axis2_port_t; /* axutil_uri.c */ typedef struct axutil_uri axutil_uri_t; /** * Creates axutil_uri struct. * @param env pointer to environment struct. MUST NOT be NULL * @return pointer to newly created axutil_uri struct */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_create( const axutil_env_t * env); /** * Return the default port for a given scheme. The schemes recognized are * http, ftp, https, gopher, wais, nntp, snews, and prospero * @param scheme_str The string that contains the current scheme * @return The default port for this scheme */ AXIS2_EXTERN axis2_port_t AXIS2_CALL axutil_uri_port_of_scheme( const axis2_char_t * scheme_str); /** * Parse a given URI, fill in all supplied fields of a axutil_uri * structure. This eliminates the necessity of extracting host, port, * path, query info repeatedly in the modules. * @param uri The uri to parse * @param uptr The axutil_uri_t to fill out * @return AXIS2_SUCCESS for success or error code */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_parse_string( const axutil_env_t * env, const axis2_char_t * uri); /** * Special case for CONNECT parsing: it comes with the hostinfo part only * @param hostinfo The hostinfo string to parse * @param uptr The axutil_uri_t to fill out * @return AXIS2_SUCCESS for success or error code */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_parse_hostinfo( const axutil_env_t * env, const axis2_char_t * hostinfo); /** Resolve relative to a base. This means host/etc, and (crucially) path */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_resolve_relative( const axutil_env_t * env, const axutil_uri_t * base, axutil_uri_t * uptr); /** * Return a URI created from a context URI and a relative URI. * If a valid URI cannot be created the only other possibility * this method will consider is that an absolute file path has * been passed in as the relative URI argument, and it will try * to create a 'file' URI from it. * * @param context_uri the document base URI * @param uri a file URI relative to the context_uri or an * absolute file path * @return the URIcreated from context_uri and uri */ AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_parse_relative( const axutil_env_t * env, const axutil_uri_t * base, const char *uri); AXIS2_EXTERN void AXIS2_CALL axutil_uri_free( axutil_uri_t * uri, const axutil_env_t * env); /** * Unparse a axutil_uri_t structure to an URI string. Optionally * suppress the password for security reasons. * @param uptr All of the parts of the uri * @param flags How to unparse the uri. One of: *
         *    AXIS2_URI_UNP_OMITSITEPART        Suppress "scheme://user\@site:port" 
         *    AXIS2_URI_UNP_OMITUSER            Just omit user 
         *    AXIS2_URI_UNP_OMITPASSWORD        Just omit password 
         *    AXIS2_URI_UNP_OMITUSERINFO        Omit "user:password\@" part
         *    AXIS2_URI_UNP_REVEALPASSWORD      Show plain text password (default: show XXXXXXXX)
         *    AXIS2_URI_UNP_OMITPATHINFO        Show "scheme://user\@site:port" only 
         *    AXIS2_URI_UNP_OMITQUERY           Omit "?queryarg" or "#fragment" 
         * 
    * @return The uri as a string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_to_string( const axutil_uri_t * uri, const axutil_env_t * env, unsigned flags); /** * @return returns actual reference, not a cloned copy. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_protocol( axutil_uri_t * uri, const axutil_env_t * env); /** * @return returns actual reference, not a cloned copy. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_server( axutil_uri_t * uri, const axutil_env_t * env); /** * @return returns actual reference, not a cloned copy. * For IPv6 addresses, the IPv6 Address will be returned * rather than the IP-literal as defined in RFC3986. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_host( axutil_uri_t * uri, const axutil_env_t * env); AXIS2_EXTERN axis2_port_t AXIS2_CALL axutil_uri_get_port( axutil_uri_t * uri, const axutil_env_t * env); /** * @return returns actual reference, not a cloned copy. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_path( axutil_uri_t * uri, const axutil_env_t * env); AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_uri_clone( const axutil_uri_t * uri, const axutil_env_t * env); /** * @return returns actual reference, not a cloned copy. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_query( axutil_uri_t * uri, const axutil_env_t * env); /** * @return returns actual reference, not a cloned copy. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_uri_get_fragment( axutil_uri_t * uri, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_URI_H */ axis2c-src-1.6.0/util/include/axutil_url.h0000644000175000017500000000751711166304665021617 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_URL_H #define AXUTIL_URL_H /** * @file axutil_url.h * @brief axis2 URL container implementation */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @ingroup axis2_core_transport_http * @{ */ typedef struct axutil_url axutil_url_t; AXIS2_EXTERN axutil_url_t *AXIS2_CALL axutil_url_create( const axutil_env_t * env, const axis2_char_t * protocol, const axis2_char_t * host, const int port, const axis2_char_t * path); AXIS2_EXTERN axutil_url_t *AXIS2_CALL axutil_url_parse_string( const axutil_env_t * env, const axis2_char_t * str_url); AXIS2_EXTERN axutil_uri_t *AXIS2_CALL axutil_url_to_uri( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_to_external_form( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_protocol( axutil_url_t * url, const axutil_env_t * env, axis2_char_t * protocol); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_protocol( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_host( axutil_url_t * url, const axutil_env_t * env, axis2_char_t * host); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_host( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_server( axutil_url_t * url, const axutil_env_t * env, axis2_char_t * server); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_server( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_port( axutil_url_t * url, const axutil_env_t * env, int port); AXIS2_EXTERN int AXIS2_CALL axutil_url_get_port( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_url_set_path( axutil_url_t * url, const axutil_env_t * env, axis2_char_t * path); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_path( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axutil_url_t *AXIS2_CALL axutil_url_clone( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axutil_url_free( axutil_url_t * url, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_encode ( const axutil_env_t * env, axis2_char_t * dest, axis2_char_t * buff, int len); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axutil_url_get_query( axutil_url_t * url, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_URL_H */ axis2c-src-1.6.0/util/include/axutil_property.h0000644000175000017500000000731411166304665022674 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_PROPERTY_H #define AXUTIL_PROPERTY_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axutil_property property * @ingroup axis2_util * @{ */ typedef struct axutil_property axutil_property_t; /** * create new property * @return property newly created property */ AXIS2_EXTERN axutil_property_t *AXIS2_CALL axutil_property_create( const axutil_env_t * env); /** * create new property * @param env axis2 environment * @param scope scope can be one of following * AXIS2_SCOPE_REQUEST * AXIS2_SCOPE_SESSION * AXIS2_SCOPE_APPLICATION * pass 0 to use default scope of AXIS2_SCOPE_REQUEST * @param own_value whether value is owned by the property or not. * if the value is owned by the property it should be freed * by the proeprty. * @param free_func free function for the value freeing. Pass 0 if * param value is a string * @param value value of the property * @return property newly created property */ AXIS2_EXTERN axutil_property_t *AXIS2_CALL axutil_property_create_with_args( const axutil_env_t * env, axis2_scope_t scope, axis2_bool_t own_value, AXIS2_FREE_VOID_ARG free_func, void *value); AXIS2_EXTERN void AXIS2_CALL axutil_property_free( axutil_property_t * property, const axutil_env_t * env); /** * Default scope is AXIS2_SCOPE_REQUEST */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_property_set_scope( axutil_property_t * property, const axutil_env_t * env, axis2_scope_t scope); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_property_set_free_func( axutil_property_t * property, const axutil_env_t * env, AXIS2_FREE_VOID_ARG free_func); /*************************** Function macros **********************************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_property_set_value( axutil_property_t * property, const axutil_env_t * env, void *value); AXIS2_EXTERN void *AXIS2_CALL axutil_property_get_value( axutil_property_t * property, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_property_set_own_value( axutil_property_t * property, const axutil_env_t * env, axis2_bool_t own_value); AXIS2_EXTERN axutil_property_t *AXIS2_CALL axutil_property_clone( axutil_property_t * property, const axutil_env_t * env); /*************************** End of function macros ***************************/ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PROPERTY_H */ axis2c-src-1.6.0/util/include/axutil_error.h0000644000175000017500000007713511166304665022151 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXUTIL_ERROR_H #define AXUTIL_ERROR_H #include #include #ifdef __cplusplus extern "C" { #endif #define AXUTIL_ERROR_MESSAGE_BLOCK_SIZE 512 #define AXUTIL_ERROR_LAST AXUTIL_ERROR_MESSAGE_BLOCK_SIZE #define NEETHI_ERROR_CODES_START AXIS2_ERROR_LAST #define RAMPART_ERROR_CODES_START (NEETHI_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) #define SANDESHA2_ERROR_CODES_START (RAMPART_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) #define SAVAN_ERROR_CODES_START (SANDESHA2_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) #define USER_ERROR_CODES_START (SAVAN_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) /* AXUTIL_ERROR_MAX define the maximum size of the error array */ #define AXUTIL_ERROR_MAX (USER_ERROR_CODES_START + AXUTIL_ERROR_MESSAGE_BLOCK_SIZE) /** * \brief Axis2 status codes * * Possible status values for Axis2 */ enum axis2_status_codes { /** Critical Failure state */ AXIS2_CRITICAL_FAILURE = -1, /** Failure state */ AXIS2_FAILURE, /** Success state */ AXIS2_SUCCESS }; /** * \brief Axis2 error codes * * Set of error codes for Axis2 */ enum axutil_error_codes { /** * No error. * This must be the first error all the time and the assigned value of 0 * must not be changed as it is assumed in the error message array that * the error list starts with a value of 0. * Further, none of the error codes in this enum should not be initialized * to an arbitrary value as it is assumed in the implementation when mapping * error codes to error messages that the error codes are contiguous and * the last error value is always AXIS2_ERROR_LAST. */ AXIS2_ERROR_NONE = 0, /* * Group - Common Errors */ /** Out of memory */ AXIS2_ERROR_NO_MEMORY, /** NULL parameter was passed when a non NULL parameter was expected */ AXIS2_ERROR_INVALID_NULL_PARAM, /* * Group - core:addr */ /* * Group - core:clientapi */ /** Blocking invocation expects response */ AXIS2_ERROR_BLOCKING_INVOCATION_EXPECTS_RESPONSE, /** cannot infer transport from URL */ AXIS2_ERROR_CANNOT_INFER_TRANSPORT, /** Client side support only one configuration context */ AXIS2_ERROR_CLIENT_SIDE_SUPPORT_ONLY_ONE_CONF_CTX, /* MEP cannot be NULL in MEP client */ AXIS2_ERROR_MEP_CANNOT_BE_NULL_IN_MEP_CLIENT, /* MEP Mismatch */ AXIS2_ERROR_MEP_MISMATCH_IN_MEP_CLIENT, /** Two way channel needs addressing module to be engaged */ AXIS2_ERROR_TWO_WAY_CHANNEL_NEEDS_ADDRESSING, /** Unknown Transport */ AXIS2_ERROR_UNKNOWN_TRANSPORT, /* Unsupported SOAP style */ AXIS2_ERROR_UNSUPPORTED_TYPE, /* Options object is not set */ AXIS2_ERROR_OPTIONS_OBJECT_IS_NOT_SET, /* * Group - core:clientapi:diclient */ /* * Group - core:context */ /** Invalid SOAP envelope state */ AXIS2_ERROR_INVALID_SOAP_ENVELOPE_STATE, /** Invalid message context state */ AXIS2_ERROR_INVALID_STATE_MSG_CTX, /** Service accessed has invalid state */ AXIS2_ERROR_INVALID_STATE_SVC, /** Service group accessed has invalid state */ AXIS2_ERROR_INVALID_STATE_SVC_GRP, /** Service not yet found */ AXIS2_ERROR_SERVICE_NOT_YET_FOUND, /* * Group - core:deployment */ /* Invalid phase found in phase validation */ AXI2_ERROR_INVALID_PHASE, /* axis2.xml cannot be found */ AXIS2_ERROR_CONFIG_NOT_FOUND, /* Data element of the OM Node is null */ AXIS2_ERROR_DATA_ELEMENT_IS_NULL, /* In transport sender, Inflow is not allowed */ AXIS2_ERROR_IN_FLOW_NOT_ALLOWED_IN_TRS_OUT, /** Invalid handler state */ AXIS2_ERROR_INVALID_HANDLER_STATE, /* Invalid Module Ref encountered */ AXIS2_ERROR_INVALID_MODUELE_REF, /* Invalid Module Reference by Operation */ AXIS2_ERROR_INVALID_MODUELE_REF_BY_OP, /* Invalid Module Configuration */ AXIS2_ERROR_INVALID_MODULE_CONF, /* Description Builder is found to be in invalid state */ AXIS2_ERROR_INVALID_STATE_DESC_BUILDER, /* Module Not Found */ AXIS2_ERROR_MODULE_NOT_FOUND, /* Module Validation Failed */ AXIS2_ERROR_MODULE_VALIDATION_FAILED, /** Module xml file is not found in the given path */ AXIS2_ERROR_MODULE_XML_NOT_FOUND_FOR_THE_MODULE, /* No dispatcher found */ AXIS2_ERROR_NO_DISPATCHER_FOUND, /* Operation name is missing */ AXIS2_ERROR_OP_NAME_MISSING, /* In transport Receiver, Outflow is not allowed */ AXIS2_ERROR_OUT_FLOW_NOT_ALLOWED_IN_TRS_IN, /* Repository name cannot be NULL */ AXIS2_ERROR_REPO_CAN_NOT_BE_NULL, /* Repository in path does not exist */ AXIS2_ERROR_REPOSITORY_NOT_EXIST, /* Repository Listener initialization failed */ AXIS2_ERROR_REPOS_LISTENER_INIT_FAILED, /** Service xml file is not found in the given path */ AXIS2_ERROR_SERVICE_XML_NOT_FOUND, /* Service Name Error */ AXIS2_ERROR_SVC_NAME_ERROR, /* Transport Sender Error */ AXIS2_ERROR_TRANSPORT_SENDER_ERROR, /* Path to Config can not be NULL */ AXIS2_PATH_TO_CONFIG_CAN_NOT_BE_NULL, /* Invalid Service */ AXIS2_ERROR_INVALID_SVC, /* * Group - core:description */ /* Cannot correlate message */ AXIS2_ERROR_CANNOT_CORRELATE_MSG, /** Could not Map the MEP URI to a axis MEP constant value */ AXIS2_ERROR_COULD_NOT_MAP_MEP_URI_TO_MEP_CONSTANT, /* Invalid message addition , operation context completed */ AXIS2_ERROR_INVALID_MESSAGE_ADDITION, /** Module description accessed has invalid state */ AXIS2_ERROR_INVALID_STATE_MODULE_DESC, /** Parameter container not set */ AXIS2_ERROR_INVALID_STATE_PARAM_CONTAINER, /** module has already engaged to the op op terminated !!! */ AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_OP, /** module has already been engaged on the service.Operation terminated !!! */ AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC, /** module has already been engaged on the service. Group Operation terminated !!! */ AXIS2_ERROR_MODULE_ALREADY_ENGAGED_TO_SVC_GRP, /** Parameter locked, Cannot override */ AXIS2_ERROR_PARAMETER_LOCKED_CANNOT_OVERRIDE, /* schema list is empty or NULL in svc */ AXIS2_ERROR_EMPTY_SCHEMA_LIST, /* * Group - core:engine */ /** Both before and after handlers cannot be the same */ AXIS2_ERROR_BEFORE_AFTER_HANDLERS_SAME, /** Invalid handler rules */ AXIS2_ERROR_INVALID_HANDLER_RULES, /* Invalid Module */ AXIS2_ERROR_INVALID_MODULE, /** Invalid first handler for phase */ AXIS2_ERROR_INVALID_PHASE_FIRST_HANDLER, /** Invalid last handler for phase */ AXIS2_ERROR_INVALID_PHASE_LAST_HANDLER, /** Invalid engine config state */ AXIS2_ERROR_INVALID_STATE_CONF, /** Message context processing a fault already */ AXIS2_ERROR_INVALID_STATE_PROCESSING_FAULT_ALREADY, /** fault to field not specified in message context */ AXIS2_ERROR_NOWHERE_TO_SEND_FAULT, /** Only one handler allowed for phase, adding handler is not allowed */ AXIS2_ERROR_PHASE_ADD_HANDLER_INVALID, /** First handler of phase already set */ AXIS2_ERROR_PHASE_FIRST_HANDLER_ALREADY_SET, /** Last handler of phase already set */ AXIS2_ERROR_PHASE_LAST_HANDLER_ALREADY_SET, /**Two service can not have same name, a service with same name already exist in the system */ AXIS2_ERROR_TWO_SVCS_CANNOT_HAVE_SAME_NAME, /* * Group - core:phase resolver */ /* Invalid Module Ref */ AXIS2_ERROR_INVALID_MODULE_REF, /* Invalid Phase */ AXIS2_ERROR_INVALID_PHASE, /* No Transport Receiver is configured */ AXIS2_ERROR_NO_TRANSPORT_IN_CONFIGURED, /* No Transport Sender is configured */ AXIS2_ERROR_NO_TRANSPORT_OUT_CONFIGURED, /* Phase is not specified */ AXIS2_ERROR_PHASE_IS_NOT_SPECIFED, /* Service module can not refer global phase */ AXIS2_ERROR_SERVICE_MODULE_CAN_NOT_REFER_GLOBAL_PHASE, /* * Group - core:wsdl */ /** Schema is NULL */ AXIS2_ERROR_WSDL_SCHEMA_IS_NULL, /* * Group - core:receivers */ /* Om Element has invalid state */ AXIS2_ERROR_OM_ELEMENT_INVALID_STATE, /* Om Elements do not match */ AXIS2_ERROR_OM_ELEMENT_MISMATCH, /* RPC style SOAP body don't have a child element */ AXIS2_ERROR_RPC_NEED_MATCHING_CHILD, /* Operation Description has unknown operation style */ AXIS2_ERROR_UNKNOWN_STYLE, /* String does not represent a valid NCName */ AXIS2_ERROR_STRING_DOES_NOT_REPRESENT_A_VALID_NC_NAME, /* * Group - core:transport */ /* * Group - core:transport:http */ /* Error occurred in transport */ AXIS2_ERROR_HTTP_CLIENT_TRANSPORT_ERROR, /** A read attempt(HTTP) for the reply without sending the request */ AXIS2_ERROR_HTTP_REQUEST_NOT_SENT, /** Invalid string passed as a http header */ AXIS2_ERROR_INVALID_HEADER, /* Invalid header start line (request line or response line) */ AXIS2_ERROR_INVALID_HTTP_HEADER_START_LINE, /* Transport protocol is unsupported by axis2 */ AXIS2_ERROR_INVALID_TRANSPORT_PROTOCOL, /** No body present in the request or the response */ AXIS2_ERROR_NULL_BODY, /* A valid conf_ctx is reqd for the http worker */ AXIS2_ERROR_NULL_CONFIGURATION_CONTEXT, /* HTTP version cannot be null in the status/request line */ AXIS2_ERROR_NULL_HTTP_VERSION, /* Input stream is NULL in msg_ctx */ AXIS2_ERROR_NULL_IN_STREAM_IN_MSG_CTX, /* OM output is NULL */ AXIS2_ERROR_NULL_OM_OUTPUT, /* Null SOAP envelope in msg_ctx */ AXIS2_ERROR_NULL_SOAP_ENVELOPE_IN_MSG_CTX, /* NULL stream in the http chucked stream */ AXIS2_ERROR_NULL_STREAM_IN_CHUNKED_STREAM, /* We got a NULL stream in the response body */ AXIS2_ERROR_NULL_STREAM_IN_RESPONSE_BODY, /** URL NULL in http client */ AXIS2_ERROR_NULL_URL, /** Invalid URL format */ AXIS2_ERROR_INVALID_URL_FORMAT, /** Duplicate URL REST Mapping */ AXIS2_ERROR_DUPLICATE_URL_REST_MAPPING, /* We need transport_info in msg_ctx */ AXIS2_ERROR_OUT_TRNSPORT_INFO_NULL, /*Content-Type header missing in HTTP response" */ AXIS2_ERROR_RESPONSE_CONTENT_TYPE_MISSING, /** Response timed out */ AXIS2_ERROR_RESPONSE_TIMED_OUT, /** Server shutdown*/ AXIS2_ERROR_RESPONSE_SERVER_SHUTDOWN, /** SOAP envelope or SOAP body NULL */ AXIS2_ERROR_SOAP_ENVELOPE_OR_SOAP_BODY_NULL, /* Error occurred in SSL engine */ AXIS2_ERROR_SSL_ENGINE, /* Either axis2c cannot find certificates or the env variable is not set */ AXIS2_ERROR_SSL_NO_CA_FILE, /* Error in writing the response in response writer */ AXIS2_ERROR_WRITING_RESPONSE, /* Required parameter is missing in URL encoded request */ AXIS2_ERROR_REQD_PARAM_MISSING, /* Unsupported schema type in REST */ AXIS2_ERROR_UNSUPPORTED_SCHEMA_TYPE, /* Service or operation not found */ AXIS2_ERROR_SVC_OR_OP_NOT_FOUND, /* * Group - mod_addr */ AXIS2_ERROR_NO_MSG_INFO_HEADERS, /* * Group - platforms */ /* * Group - utils */ /** Could not open the axis2 file */ AXIS2_ERROR_COULD_NOT_OPEN_FILE, /* Failed in creating DLL */ AXIS2_ERROR_DLL_CREATE_FAILED, /* DLL loading failed */ AXIS2_ERROR_DLL_LOADING_FAILED, /** Environment passed is null */ AXIS2_ERROR_ENVIRONMENT_IS_NULL, /* Axis2 File does not have a file name */ AXIS2_ERROR_FILE_NAME_NOT_SET, /* DLL Description Info Object has invalid state */ AXIS2_ERROR_INVALID_STATE_DLL_DESC, /* Failed in creating Handler */ AXIS2_ERROR_HANDLER_CREATION_FAILED, /** Array list index out of bounds */ AXIS2_ERROR_INDEX_OUT_OF_BOUNDS, /** Invalid IP or host name */ AXIS2_ERROR_INVALID_ADDRESS, /** Trying to do operation on invalid file descriptor */ AXIS2_ERROR_INVALID_FD, /** Trying to do operation on closed/not opened socket */ AXIS2_ERROR_INVALID_SOCKET, /** Parameter not set */ AXIS2_ERROR_INVALID_STATE_PARAM, /* Module create failed */ AXIS2_ERROR_MODULE_CREATION_FAILED, /* Failed in creating Message Receiver */ AXIS2_ERROR_MSG_RECV_CREATION_FAILED, /** No such element */ AXIS2_ERROR_NO_SUCH_ELEMENT, /** Socket bind failed. Another process may be already using this port*/ AXIS2_ERROR_SOCKET_BIND_FAILED, /** Error creating a socket. Most probably error returned by OS */ AXIS2_ERROR_SOCKET_ERROR, /* Listen failed for the server socket */ AXIS2_ERROR_SOCKET_LISTEN_FAILED, /* Failed in creating Service Skeleton */ AXIS2_ERROR_SVC_SKELETON_CREATION_FAILED, /* Failed in creating Transport Receiver */ AXIS2_ERROR_TRANSPORT_RECV_CREATION_FAILED, /* Failed in creating Transport Sender */ AXIS2_ERROR_TRANSPORT_SENDER_CREATION_FAILED, /* Generation of platform dependent uuid failed */ AXIS2_ERROR_UUID_GEN_FAILED, /* Possible deadlock */ AXIS2_ERROR_POSSIBLE_DEADLOCK, /* * Group - WSDL */ /* Interface or Port Type not found for the binding */ AXIS2_ERROR_INTERFACE_OR_PORT_TYPE_NOT_FOUND_FOR_THE_BINDING, /* Interfaces or Ports not found for the partially built WOM */ AXIS2_ERROR_INTERFACES_OR_PORTS_NOT_FOUND_FOR_PARTIALLY_BUILT_WOM, /** Wsdl op accessed has invalid state */ AXIS2_ERROR_INVALID_STATE_WSDL_OP, /** Wsdl Service accessed has invalid state */ AXIS2_ERROR_INVALID_STATE_WSDL_SVC, /* Cannot determine MEP */ AXIS2_ERROR_MEP_CANNOT_DETERMINE_MEP, /* Wsdl binding name cannot be NULL(Is required) */ AXIS2_ERROR_WSDL_BINDING_NAME_IS_REQUIRED, /* PortType/Interface name cannot be null(Required) */ AXIS2_ERROR_WSDL_INTERFACE_NAME_IS_REQUIRED, /* Wsdl parsing has resulted in an invalid state */ AXIS2_ERROR_WSDL_PARSER_INVALID_STATE, /* Wsdl svc name cannot be null(Required) */ AXIS2_ERROR_WSDL_SVC_NAME_IS_REQUIRED, /* * Group - xml */ /* * Group - xml:attachments */ /** Attachment is missing */ AXIS2_ERROR_ATTACHMENT_MISSING, /* * Group - xml:om */ /** Builder done with pulling. Cannot pull any more */ AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL, /** Discard failed because the builder state is invalid */ AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD, /** Builder's last node is NULL when it is not supposed to be NULL */ AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL, /** Document root is NULL, when it is not supposed to be NULL */ AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL, /** Undefined namespace used */ AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE, /** error a namespace should have a valid uri */ AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI, /** next method has not been called so cannot remove an element before calling next valid for any om iterator */ AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED, /** remove method has already been called once so cannot remove till next method is called valid for any om children iterator*/ AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED, /** axiom_xml_reader returned NULL element */ AXIS2_ERROR_XML_READER_ELEMENT_NULL, /** axiom_xml_reader returned NULL value */ AXIS2_ERROR_XML_READER_VALUE_NULL, /* * Group - xml:parser */ /** error occurred creating xml stream reader */ AXIS2_ERROR_CREATING_XML_STREAM_READER, /** error occurred creating xml stream writer */ AXIS2_ERROR_CREATING_XML_STREAM_WRITER, /** error in writing attribute */ AXIS2_ERROR_WRITING_ATTRIBUTE, /** error in writing attribute with namespace */ AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE, /** error in writing attribute with namespace prefix */ AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX, /** error in writing comment */ AXIS2_ERROR_WRITING_COMMENT, /** error in writing data source*/ AXIS2_ERROR_WRITING_DATA_SOURCE, /** error in writing default namespace */ AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE, /** error in writing DDT */ AXIS2_ERROR_WRITING_DTD, /** error occurred in writing empty element */ AXIS2_ERROR_WRITING_EMPTY_ELEMENT, /** error occurred in writing empty element with namespace */ AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE, /** error in writing empty element with namespace prefix */ AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX, /** error occurred in writing end document in xml writer */ AXIS2_ERROR_WRITING_END_DOCUMENT, /** error occurred in writing end element in xml writer */ AXIS2_ERROR_WRITING_END_ELEMENT, /** error in writing processing instruction */ AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION, /** error occurred in writing start element in start document in xml writer */ AXIS2_ERROR_WRITING_START_DOCUMENT, /** error occurred in writing start element in xml writer */ AXIS2_ERROR_WRITING_START_ELEMENT, /** error occurred in writing start element with namespace in xml writer*/ AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE, /** error occurred in writing start element with namespace prefix */ AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX, /** error in writing cdata section */ AXIS2_ERROR_WRITING_CDATA, /** AXIS2_XML_PARSER_TYPE_BUFFER or AXIS2_XML_PARSER_TYPE_DOC is expected */ AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE, /* * Group - xml:SOAP */ /** invalid type passed */ AXIS2_ERROR_INVALID_BASE_TYPE, /** invalid SOAP namespace uri found */ AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI, /** Invalid SOAP version */ AXIS2_ERROR_INVALID_SOAP_VERSION, /* invalid value found in must understand attribute */ AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND, /*multiple code elements encountered in SOAP fault element */ AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED, /*multiple detail elements encountered in SOAP fault element */ AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED, /*multiple node elements encountered in SOAP fault element */ AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED, /*multiple reason elements encountered in SOAP fault element */ AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED, /*multiple role elements encountered in SOAP fault element */ AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED, /*multiple sub code values encountered in SOAP fault element */ AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, /* multiple value elements encountered */ AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT, /* must understand attribute should have values of true or false */ AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE, /** om element is expected */ AXIS2_ERROR_OM_ELEMENT_EXPECTED, /* processing SOAP 1.1 fault value element should have only text as its children */ AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE, /** only one SOAP fault allowed in SOAP body */ AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY, /*SOAP 1.1 fault actor element should not have child elements */ AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS, /** SOAP builder found a child element other than header or body in envelope element */ AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY, /** SOAP builder encountered body element first and header next */ AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER, /** SOAP builder multiple body elements encountered */ AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED, /** SOAP builder encountered multiple headers */ AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED, /*SOAP fault code element should a mandatory fault value element */ AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, /*SOAP fault reason element should have a text */ AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT, /*SOAP fault role element should have a text value */ AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT, /* SOAP fault value should be present before sub code element in SOAP fault code */ AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE, /** SOAP message does not have an envelope element */ AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE, /*SOAP message first element must contain a localname */ AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME, /* this localname is not supported inside a reason element */ AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT, /*this localname is not supported inside a sub code element */ AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT, /*this localname is not supported inside the code element */ AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT, /*transport level identified SOAP version does not match with the SOAP version */ AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP, /*unsupported element in SOAP fault element */ AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT, /*wrong element order encountered */ AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, /* * Group - services */ /** Invalid XML format in request */ AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, /** Input OM node NULL, Probably error in SOAP request */ AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, /** Invalid parameters for service operation in SOAP request */ AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, /* * Group - repos */ /* not authenticated */ AXIS2_ERROR_REPOS_NOT_AUTHENTICATED, /* unsupported mode */ AXIS2_ERROR_REPOS_UNSUPPORTED_MODE, /* expired */ AXIS2_ERROR_REPOS_EXPIRED, /* not implemented */ AXIS2_ERROR_REPOS_NOT_IMPLEMENTED, /* not found */ AXIS2_ERROR_REPOS_NOT_FOUND, /* bad search text */ AXIS2_ERROR_REPOS_BAD_SEARCH_TEXT, /* *Group - Neethi */ /* No Namespace */ AXIS2_ERROR_NEETHI_ELEMENT_WITH_NO_NAMESPACE, /*Policy cannot be created from element */ AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED_FROM_ELEMENT, /*All Cannot be created from element */ AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED_FROM_ELEMENT, /*Exactly one Cannot be created element */ AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED_FROM_ELEMENT, /*Reference Cannot be created from element */ AXIS2_ERROR_NEETHI_REFERENCE_CREATION_FAILED_FROM_ELEMENT, /*Assertion Cannot be created from element */ AXIS2_ERROR_NEETHI_ASSERTION_CREATION_FAILED_FROM_ELEMENT, /*All creation failed */ AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED, /*Exactly one creation failed */ AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED, /*Policy Creation failed */ AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED, /*Normalization failed */ AXIS2_ERROR_NEETHI_NORMALIZATION_FAILED, /*Merging Failed. Wrong Input */ AXIS2_ERROR_NEETHI_WRONG_INPUT_FOR_MERGE, /*Merging Failed. Cross Product failed */ AXIS2_ERROR_NEETHI_CROSS_PRODUCT_FAILED, /*No Children Policy Components */ AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS, /*Uri Not specified */ AXIS2_ERROR_NEETHI_URI_NOT_SPECIFIED, /*Policy NULL for the given uri */ AXIS2_ERROR_NEETHI_NO_ENTRY_FOR_THE_GIVEN_URI, /*Exactly one not found in Normalized policy */ AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY, /*Exactly one is Empty */ AXIS2_ERROR_NEETHI_EXACTLYONE_IS_EMPTY, /*Exactly one not found while getting cross product */ AXIS2_ERROR_NEETHI_ALL_NOT_FOUND_WHILE_GETTING_CROSS_PRODUCT, /*Unknown Assertion*/ AXIS2_ERROR_NEETHI_UNKNOWN_ASSERTION, /** * The following has to be the last error value all the time. * All other error codes should appear above this. * AXIS2_ERROR_LAST is used to track the number of error codes present * for the purpose of sizing the error messages array. */ AXIS2_ERROR_LAST }; struct axutil_error; typedef enum axis2_status_codes axis2_status_codes_t; typedef enum axutil_error_codes axutil_error_codes_t; /** * @defgroup axutil_error error * @ingroup axis2_util * @{ */ /** * Axutil error struct. * Error holds the last error number, the status code as well as the * last error message. */ typedef struct axutil_error { /** * Memory allocator associated with the error struct. * It is this allocator that would be used to allocate memory * for the error struct instance in create method. */ axutil_allocator_t *allocator; /** Last error number. */ int error_number; /** Last status code. */ int status_code; /** * Error message. This could be set to a custom message to be * returned, instead of standard errors set in the error messages * array by the axutil_error_init function call. */ axis2_char_t *message; } axutil_error_t; /** * Gets the error message corresponding to the last error occurred. * @param error pointer to error struct * @return string representing the error message for the last error occurred */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axutil_error_get_message( const struct axutil_error *error); /** * This function is supposed to be overridden in an extended error structure. * For example in Sandesha error structure this function is overridden so that * errors of axis2 range call the get_message function of error struct but * errors of sandesha2 range get the messages from an array of that struct. * @return error message for the extended struct. * @deprecated this function is not in use, so should be removed. */ /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axutil_error_get_extended_message( const struct axutil_error *error);*/ /** * Sets the error number. * @param error pointer to error struct * @param error_number error number to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_set_error_number( struct axutil_error *error, axutil_error_codes_t error_number); /** * Sets the status code. * @param error pointer to error struct * @param status_code status code to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_set_status_code( struct axutil_error *error, axis2_status_codes_t status_code); /** * Gets the status code. * @param error pointer to error struct * @return last status code set on error struct */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_get_status_code( struct axutil_error *error); /** * Sets error message to the given value. * @param error pointer to error struct * @param message error message to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_set_error_message( struct axutil_error *error, axis2_char_t *message); /** * Initializes the axutil_error_messages array. This array holds the * error messages that corresponds to the error codes. This function * must be call before using the error struct instance. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_error_init(void); /** * De-allocates an error struct instance. * @param error pointer to error struct instance to be freed. * @return void */ AXIS2_EXTERN void AXIS2_CALL axutil_error_free( struct axutil_error *error); /** * @deprecated The following macros are no longer useful as we can use the * function calls directly. Hence these macros should be removed */ #define AXIS2_ERROR_FREE(error) axutil_error_free(error) #define AXIS2_ERROR_GET_MESSAGE(error) \ axutil_error_get_message(error) #define AXIS2_ERROR_SET_MESSAGE(error, message) \ axutil_error_set_error_message(error, message) #define AXIS2_ERROR_SET_ERROR_NUMBER(error, error_number) \ axutil_error_set_error_number(error, error_number) #define AXIS2_ERROR_SET_STATUS_CODE(error, status_code) \ axutil_error_set_status_code(error, status_code) #define AXIS2_ERROR_GET_STATUS_CODE(error) axutil_error_get_status_code(error) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ERROR_H */ axis2c-src-1.6.0/util/COPYING0000644000175000017500000002613711166304700016653 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/util/CREDITS0000644000175000017500000000000011166304700016615 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axis2c_build.sh0000755000175000017500000000064211166304700017543 0ustar00manjulamanjula00000000000000#!/bin/bash if [ -z "$1" ] ; then AXIS2C_DEPLOY="/usr/local/axis2c" else AXIS2C_DEPLOY=$1 fi if [ `uname -s` = Darwin ] then export DYLD_LIBRARY_PATH=${AXIS2C_DEPLOY}/lib else export LD_LIBRARY_PATH=${AXIS2C_DEPLOY}/lib fi ./configure --prefix=${AXIS2C_DEPLOY} make make install cd samples ./configure --prefix=${AXIS2C_DEPLOY} --with-axis2=${AXIS2C_DEPLOY}/include/axis2-1.6.0 make make install axis2c-src-1.6.0/depcomp0000755000175000017500000004224610527332127016223 0ustar00manjulamanjula00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 . 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 . 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. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" 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" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. 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 tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; 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 mechanism 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 $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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: axis2c-src-1.6.0/guththila/0000777000175000017500000000000011172017547016636 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/src/0000777000175000017500000000000011172017546017424 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/src/guththila_attribute.c0000644000175000017500000000776111166304561023652 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include int GUTHTHILA_CALL guththila_attr_list_grow(guththila_attr_list_t * at_list, int addition,const axutil_env_t * env) { int i = 0; if (addition > 0 || (addition < 0 && at_list->capacity + addition > 0 && at_list->capacity + addition >= at_list->size)) { at_list->list =(guththila_attr_t *) realloc(at_list->list,sizeof(guththila_attr_t) *(at_list->capacity + addition)); if (at_list->list) { for (i = at_list->capacity; i < at_list->capacity + addition; i++) { guththila_stack_push(&at_list->fr_stack, at_list->list + i,env); } at_list->capacity += addition; } else { return GUTHTHILA_FAILURE; } } return 0; } guththila_attr_list_t *GUTHTHILA_CALL guththila_attr_list_create(const axutil_env_t * env) { int i = 0; guththila_attr_list_t * at_list =(guththila_attr_list_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_attr_list_t)); if (!at_list) return NULL; at_list->list =(guththila_attr_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_attr_t) *GUTHTHILA_ATTR_DEF_SIZE); if (at_list->list && guththila_stack_init(&at_list->fr_stack, env)) { at_list->capacity = GUTHTHILA_ATTR_DEF_SIZE; at_list->size = 0; for (i = 0; i < GUTHTHILA_ATTR_DEF_SIZE; i++) { guththila_stack_push(&at_list->fr_stack, at_list->list + i, env); } return at_list; } return NULL; } int GUTHTHILA_CALL guththila_attr_list_init(guththila_attr_list_t * at_list,const axutil_env_t * env) { int i = 0; at_list->list =(guththila_attr_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_attr_t) *GUTHTHILA_ATTR_DEF_SIZE); if (at_list->list && guththila_stack_init(&at_list->fr_stack, env)) { at_list->capacity = GUTHTHILA_ATTR_DEF_SIZE; at_list->size = 0; for (i = 0; i < GUTHTHILA_ATTR_DEF_SIZE; i++) { guththila_stack_push(&at_list->fr_stack, at_list->list + i, env); } return GUTHTHILA_SUCCESS; } return GUTHTHILA_FAILURE; } guththila_attr_t *GUTHTHILA_CALL guththila_attr_list_get(guththila_attr_list_t * at_list,const axutil_env_t * env) { if (at_list->fr_stack.top > 0 ||guththila_attr_list_grow(at_list, GUTHTHILA_ATTR_DEF_SIZE, env)) { return guththila_stack_pop(&at_list->fr_stack, env); } return NULL; } int GUTHTHILA_CALL guththila_attr_list_release(guththila_attr_list_t * at_list,guththila_attr_t * attr,const axutil_env_t * env) { return guththila_stack_push(&at_list->fr_stack, attr, env); } void GUTHTHILA_CALL msuila_attr_list_free_data(guththila_attr_list_t * at_list,const axutil_env_t * env) { AXIS2_FREE(env->allocator, at_list->list); guththila_stack_un_init(&at_list->fr_stack, env); } void GUTHTHILA_CALL guththila_attr_list_free(guththila_attr_list_t * at_list,const axutil_env_t * env) { AXIS2_FREE(env->allocator, at_list->list); guththila_stack_un_init(&at_list->fr_stack, env); AXIS2_FREE(env->allocator, at_list); } axis2c-src-1.6.0/guththila/src/guththila_xml_parser.c0000644000175000017500000017252611166304561024025 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #define GUTHTHILA_VALIDATION_PARSER /* * Read the next char from the reader and return it. */ static int guththila_next_char(guththila_t * m,int eof,const axutil_env_t * env); /* * Read the specified number of characters at once. */ static int guththila_next_no_char( guththila_t * m, int eof, guththila_char_t *bytes, size_t no, const axutil_env_t * env); /* * Close a token that is opened previously. */ static void guththila_token_close( guththila_t * m, guththila_token_t * tok, int tok_type, int referer, const axutil_env_t * env); /* * Process the XMl declaration part of a XML document. */ static int guththila_process_xml_dec( guththila_t * m, const axutil_env_t * env); /* * Read characters until all the white spaces are read. */ #ifndef GUTHTHILA_SKIP_SPACES #define GUTHTHILA_SKIP_SPACES(m, c, _env)while(0x20 == c || 0x9 == c || 0xD == c || 0xA == c){c = guththila_next_char(m, 0, _env);} #endif /* * Read character including new line until a non white space character is met. */ #ifndef GUTHTHILA_SKIP_SPACES_WITH_NEW_LINE #define GUTHTHILA_SKIP_SPACES_WITH_NEW_LINE(m, c, _env) while (0x20 == c || 0x9 == c || 0xD == c || 0xA == c || '\n' == c){c = guththila_next_char(m, 0, _env);} #endif #ifndef GUTHTHILA_XML_NAME #define GUTHTHILA_XML_NAME "xml" #endif #ifndef GUTHTHILA_XML_URI #define GUTHTHILA_XML_URI "http://www.w3.org/XML/1998/namespace" #endif /* * Return the last character that was read */ #ifndef GUTHTHILA_LAST_CHAR #define GUTHTHILA_LAST_CHAR(m) (m->buffer.buff + m->buffer.next - 1) #endif /* * Open a token. When we open a token we don't know it's type. We only * set the starting values. */ #ifndef GUTHTHILA_TOKEN_OPEN #define GUTHTHILA_TOKEN_OPEN(m, tok, _env) \ m->temp_tok = guththila_tok_list_get_token(&m->tokens, _env); \ m->temp_tok->type = _Unknown; \ m->temp_tok->_start = (int)m->next; \ m->last_start = (int)m->next - 1; /* We are sure that the difference lies within the int range */ #endif /* * Read until we met a = character. */ #ifndef GUTHTHILA_PROCESS_EQU #define GUTHTHILA_PROCESS_EQU(m, c, ic, _env) \ GUTHTHILA_SKIP_SPACES(m, c, _env); \ if (0x3D == c) { \ ic = guththila_next_char(m, 0, _env); \ GUTHTHILA_SKIP_SPACES(m, ic, _env); \ } #endif /* * Initialize a attribute to the values given. */ #ifndef GUTHTHILA_ATTRIBUTE_INITIALIZE #define GUTHTHILA_ATTRIBUTE_INITIALIZE(_attr, _pref, _name, _val) \ (_attr->pref = (_pref)); \ (_attr->name = (_name)); \ (_attr->val = (_val)); #endif /* * Initialize namespace to the values given. */ #ifndef GUTHTHILA_NAMESPACE_INITIALIZE #define GUTHTHILA_NAMESPACE_INITIALIZE(_namesp, _name, _uri) \ (_namesp->name = _name); \ (_namesp->uri = _uri); #endif /* * Return non zero value if the given argument is a space. */ #ifndef GUTHTHILA_IS_SPACE #define GUTHTHILA_IS_SPACE(c) (0x20 == c || 0xD == c || 0xA == c || 0x9 == c) #endif /* * Deterine weather a given character is a valid xml string char. */ #ifndef GUTHTHILA_IS_VALID_STRING_CHAR #define GUTHTHILA_IS_VALID_STRING_CHAR(c) (isalpha(c) || '_' == c || ':' == c) #endif /* * Determine weahter a given character is a valid starting char for a xml name. */ #ifndef GUTHTHILA_IS_VALID_STARTING_CHAR #define GUTHTHILA_IS_VALID_STARTING_CHAR(c) (isalpha(c) || '_' == c || ':' == c) #endif /* * Initialize the variables in the guththila_t structure. */ #ifndef GUTHTHILA_VARIABLE_INITIALZE #define GUTHTHILA_VARIABLE_INITIALZE(m) \ m->temp_prefix = NULL; \ m->temp_name = NULL; \ m->temp_tok = NULL; \ if (m->value) guththila_tok_list_release_token(&m->tokens, m->value, env); \ m->name = NULL; \ m->prefix = NULL; \ m->value = NULL; #endif /* * Initialize the guththila_t structure with the reader. * All the values will be set to default values. */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_init(guththila_t * m, void *reader, const axutil_env_t * env) { guththila_token_t* temp_name = NULL; guththila_token_t* temp_tok = NULL; guththila_elem_namesp_t* e_namesp = NULL; if (!((guththila_reader_t *) reader)) return GUTHTHILA_FAILURE; m->reader = (guththila_reader_t *) reader; if (!guththila_tok_list_init(&m->tokens, env)) { return GUTHTHILA_FAILURE; } if (m->reader->type == GUTHTHILA_MEMORY_READER) { guththila_buffer_init_for_buffer(&m->buffer, m->reader->buff, m->reader->buff_size, env); } else if (m->reader->type == GUTHTHILA_FILE_READER || m->reader->type == GUTHTHILA_IO_READER) { guththila_buffer_init(&m->buffer, 0, env); } guththila_stack_init(&m->elem, env); guththila_stack_init(&m->attrib, env); guththila_stack_init(&m->namesp, env); temp_name = guththila_tok_list_get_token(&m->tokens,env); temp_tok = guththila_tok_list_get_token(&m->tokens,env); if(temp_tok && temp_name) { guththila_set_token(temp_name,GUTHTHILA_XML_NAME,0,(int)strlen(GUTHTHILA_XML_NAME), 1,0,0,env); guththila_set_token(temp_tok,GUTHTHILA_XML_URI,0,(int)strlen(GUTHTHILA_XML_URI), 1,0,0,env); } e_namesp = (guththila_elem_namesp_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_elem_namesp_t)); if (e_namesp && temp_tok && temp_name) { e_namesp->namesp = (guththila_namespace_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_namespace_t) * GUTHTHILA_NAMESPACE_DEF_SIZE); } if (e_namesp->namesp) { e_namesp->no = 1; e_namesp->size = GUTHTHILA_NAMESPACE_DEF_SIZE; e_namesp->namesp[0].name = temp_name; e_namesp->namesp[0].uri = temp_tok; guththila_stack_push(&m->namesp, e_namesp, env); } else { if (temp_name) { AXIS2_FREE(env->allocator, temp_name); temp_name = NULL; } if (temp_tok) { AXIS2_FREE(env->allocator, temp_tok); temp_tok = NULL; } if (e_namesp) { AXIS2_FREE(env->allocator, e_namesp); e_namesp = NULL; } return GUTHTHILA_FAILURE; } m->name = NULL; m->prefix = NULL; m->value = NULL; m->status = S_1; m->guththila_event = -1; m->next = 0; m->last_start = -1; m->temp_name = NULL; m->temp_prefix = NULL; m->temp_tok = NULL; return GUTHTHILA_SUCCESS; } /* * Uninitialize a guththila_t structure. This method deallocates all the * resources that are held in the guththila_t structure. */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_un_init(guththila_t * m,const axutil_env_t * env) { int size = 0, i = 0, j = 0; guththila_attr_t * attr = NULL; guththila_element_t* elem = NULL; guththila_elem_namesp_t * e_namesp = NULL; if (m->prefix) { guththila_tok_list_release_token(&m->tokens, m->prefix, env); } if (m->name) { guththila_tok_list_release_token(&m->tokens, m->name, env); } if (m->value) { guththila_tok_list_release_token(&m->tokens, m->value, env); } if (m->temp_tok) { guththila_tok_list_release_token(&m->tokens, m->temp_tok, env); } if (m->temp_name) { guththila_tok_list_release_token(&m->tokens, m->temp_name, env); } if (m->temp_prefix) { guththila_tok_list_release_token(&m->tokens, m->temp_prefix, env); } size = GUTHTHILA_STACK_SIZE(m->attrib); for (i = 0; i < size; i++) { attr = (guththila_attr_t *) guththila_stack_pop(&m->attrib, env); if (attr) { if (attr->name) guththila_tok_list_release_token(&m->tokens, attr->name, env); if (attr->pref) guththila_tok_list_release_token(&m->tokens, attr->pref, env); AXIS2_FREE(env->allocator, attr); } } guththila_stack_un_init(&m->attrib, env); #ifndef GUTHTHILA_VALIDATION_PARSER guththila_namespace_t * namesp = NULL; size = GUTHTHILA_STACK_SIZE(m->namesp); for (i = 0; i < size; i++) { namesp = (guththila_namespace_t *) guththila_stack_pop(&m->namesp, env); if (namesp) { if (namesp->name) guththila_tok_list_release_token(&m->tokens, namesp->name, env); if (namesp->uri) guththila_tok_list_release_token(&m->tokens, namesp->uri, env); AXIS2_FREE(env->allocator, namesp); } } #else size = GUTHTHILA_STACK_SIZE(m->namesp); for (i = 0; i < size; i++) { e_namesp = (guththila_elem_namesp_t *) guththila_stack_pop(&m->namesp, env); if(e_namesp) { for (j = 0; j < e_namesp->no; j++) { if(e_namesp->namesp[j].name) { guththila_tok_list_release_token(&m->tokens,e_namesp->namesp[j].name,env); } if(e_namesp->namesp[j].uri) { guththila_tok_list_release_token(&m->tokens,e_namesp->namesp[j].uri, env); } } AXIS2_FREE(env->allocator, e_namesp->namesp); AXIS2_FREE(env->allocator,e_namesp); } } #endif size = GUTHTHILA_STACK_SIZE(m->elem); for (i = 0; i < size; i++) { elem = (guththila_element_t *) guththila_stack_pop(&m->elem, env); if (elem) { if (elem->name) guththila_tok_list_release_token(&m->tokens, elem->name, env); if (elem->prefix) guththila_tok_list_release_token(&m->tokens, elem->prefix, env); AXIS2_FREE(env->allocator, elem); } } guththila_stack_un_init(&m->elem,env); guththila_stack_un_init(&m->namesp, env); guththila_tok_list_free_data(&m->tokens, env); guththila_buffer_un_init(&m->buffer, env); AXIS2_FREE(env->allocator,m); return GUTHTHILA_SUCCESS; } /* * Replace the references with the corresponding actual values. */ static void guththila_token_evaluate_references(guththila_token_t * tok) { size_t size = tok->size; guththila_char_t *start = tok->start; size_t i, j; for (i = 0; (i < size) && (start[i] != '&'); i++) ; if (i < size) { j = i; while (i < size) { if (((i + 3) < size) && (start[i + 1] == 'g') && (start[i + 2] == 't') && (start[i + 3] == ';')) { /* replace first char of sequence with > */ start[j++] = '>'; /* skip remainder of sequence */ i += 4; } else if (((i + 3) < size) && (start[i + 1] == 'l') && (start[i + 2] == 't') && (start[i + 3] == ';')) { /* replace first char of sequence with < */ start[j++] = '<'; /* skip remainder of sequence */ i += 4; } else if (((i + 4) < size) && (start[i + 1] == 'a') && (start[i + 2] == 'm') && (start[i + 3] == 'p') && (start[i + 4] == ';')) { /* replace first char of sequence with & */ start[j++] = '&'; /* skip remainder of sequence */ i += 5; } else if (((i + 5) < size) && (start[i + 1] == 'a') && (start[i + 2] == 'p') && (start[i + 3] == 'o') && (start[i + 4] == 's') && (start[i + 5] == ';')) { /* replace first char of sequence with ' */ start[j++] = '\''; /* skip remainder of sequence */ i += 6; } else if (((i + 5) < size) && (start[i + 1] == 'q') && (start[i + 2] == 'u') && (start[i + 3] == 'o') && (start[i + 4] == 't') && (start[i + 5] == ';')) { /* replace first char of sequence with " */ start[j++] = '\"'; /* skip remainder of sequence */ i += 6; } else { /* ampersand does not start a sequence; skip it and continue scanning */ /* could insert character reference decoding here */ start[j++] = start[i++]; } /* copy characters downward until the next ampersand */ for ( ; (i < size) && ('&' != (start[j] = start[i])); i++, j++) ; } tok->size = j; } } /* * Close a token. This method accepts the type of the token as a parameter. */ static void guththila_token_close(guththila_t * m, guththila_token_t * tok, int tok_type, int referer, const axutil_env_t * env) { guththila_attr_t * attr = NULL; guththila_element_t * elem = NULL; guththila_elem_namesp_t * e_namesp = NULL; guththila_namespace_t * namesp; int i = 0; /* We are sure that the difference lies within the short range */ m->temp_tok->type = (short)tok_type; m->temp_tok->size = m->next - m->temp_tok->_start; m->temp_tok->start = GUTHTHILA_BUF_POS(m->buffer, m->next - 1) - m->temp_tok->size; m->temp_tok->ref = referer; m->last_start = -1; switch (tok_type) { case _attribute_name: m->temp_name = m->temp_tok; m->temp_tok = NULL; break; case _char_data: m->value = m->temp_tok; m->temp_tok = NULL; break; case _text_data: guththila_token_evaluate_references(m->temp_tok); m->value = m->temp_tok; m->temp_tok = NULL; break; case _attribute_value: guththila_token_evaluate_references(m->temp_tok); /* Chech weather we are at a xml namespace declaration */ if ((m->temp_prefix && (guththila_tok_str_cmp(m->temp_prefix, "xmlns", 5u, env) == 0)) || (guththila_tok_str_cmp(m->temp_name, "xmlns", 5u, env) == 0)) /*checks inside the m->temp_name to parse the default namespace*/ /*checks inside the m->temp_prefix to parse namespace with prefix*/ { #ifndef GUTHTHILA_VALIDATION_PARSER namesp = (guththila_namespace_t *) AXIS2_MALLOC(sizeof(guththila_namespace_t)); GUTHTHILA_NAMESPACE_INITIALIZE(namesp, m->temp_name, m->temp_tok); guththila_stack_push(&m->namesp, namesp); #else elem = (guththila_element_t *)guththila_stack_peek(&m->elem, env); /* This is the first namespace */ if (elem && !elem->is_namesp) { e_namesp = (guththila_elem_namesp_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_elem_namesp_t)); if (e_namesp) { e_namesp->namesp = (guththila_namespace_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_namespace_t) * GUTHTHILA_NAMESPACE_DEF_SIZE); if (e_namesp->namesp) { e_namesp->no = 1; e_namesp->size = GUTHTHILA_NAMESPACE_DEF_SIZE; e_namesp->namesp[0].name = m->temp_name; e_namesp->namesp[0].uri = m->temp_tok; guththila_stack_push(&m->namesp, e_namesp, env); elem->is_namesp = 1; } else { AXIS2_FREE(env->allocator, e_namesp); e_namesp = NULL; } } } /* Already there is a namespace */ else if (elem && elem->is_namesp) { e_namesp = (guththila_elem_namesp_t *)guththila_stack_peek(&m->namesp, env); /* if we have enough space allocated */ if (e_namesp->no < e_namesp->size) { e_namesp->namesp[e_namesp->no].name = m->temp_name; e_namesp->namesp[e_namesp->no].uri = m->temp_tok; e_namesp->no++; } else { namesp = (guththila_namespace_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_namespace_t)*e_namesp->size *2); if (namesp) { for (i = 0; i < e_namesp->no; i++) { namesp[i].name = e_namesp->namesp[i].name; namesp[i].uri = e_namesp->namesp[i].uri; } AXIS2_FREE(env->allocator, e_namesp->namesp); e_namesp->namesp = namesp; e_namesp->size *= 2; e_namesp->namesp[e_namesp->no].name = m->temp_name; e_namesp->namesp[e_namesp->no].uri = m->temp_tok; e_namesp->no++; } } } #endif } else { /* It is just a attribute */ attr = (guththila_attr_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_attr_t)); GUTHTHILA_ATTRIBUTE_INITIALIZE(attr, m->temp_prefix, m->temp_name, m->temp_tok); guththila_stack_push(&m->attrib, attr, env); } m->temp_prefix = NULL; m->temp_name = NULL; m->temp_tok = NULL; break; case _prefix: m->temp_prefix = m->temp_tok; m->temp_tok = NULL; break; default: m->prefix = m->temp_prefix; m->name = m->temp_tok; m->temp_tok = NULL; m->temp_prefix = NULL; break; } } int GUTHTHILA_CALL guththila_validate_namespaces(guththila_t *m, const axutil_env_t *env) { int size = 0, i = 0, nmsp_no = 0, j = 0, k = 0; int namesp_found = GUTHTHILA_FALSE; guththila_elem_namesp_t *e_namesp = NULL; size = GUTHTHILA_STACK_SIZE(m->attrib); /* Loop through all the attributes */ for (i = 0; i < size; i++) { guththila_attr_t *attr = (guththila_attr_t *) guththila_stack_get_by_index(&m->attrib, i, env); if (attr && attr->pref) { /* We have a attribute prefix. Need to validate the prefix */ nmsp_no = GUTHTHILA_STACK_SIZE(m->namesp); for (j = nmsp_no - 1; j >= 0; j--) { e_namesp = (guththila_elem_namesp_t *) guththila_stack_get_by_index(&m->namesp, j, env); for (k = 0; k < e_namesp->no; k++) { if (!guththila_tok_tok_cmp (e_namesp->namesp[k].name, attr->pref, env)) { namesp_found = GUTHTHILA_TRUE; j = -1; /* force exit from second for loop */ break; } } } if (!namesp_found) return GUTHTHILA_FAILURE; } } /* If the element has a prefix. Need to validate the prefix*/ if (m->prefix) { namesp_found = AXIS2_FALSE; nmsp_no = GUTHTHILA_STACK_SIZE(m->namesp); for (j = nmsp_no - 1; j >= 0; j--) { e_namesp = (guththila_elem_namesp_t *) guththila_stack_get_by_index(&m->namesp, j, env); for (k = 0; k < e_namesp->no; k++) { if (!guththila_tok_tok_cmp (e_namesp->namesp[k].name, m->prefix, env)) { namesp_found = GUTHTHILA_TRUE; j = -1; /* force exit from outer loop */ break; } } } if (!namesp_found) return AXIS2_FAILURE; } return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_next(guththila_t * m,const axutil_env_t * env) { guththila_element_t * elem = NULL; guththila_elem_namesp_t * nmsp = NULL; guththila_token_t * tok = NULL; int quote = 0, ref = 0; guththila_char_t c_arra[16] = { 0 }; int c = -1; guththila_attr_t * attr = NULL; int size = 0, i = 0, nmsp_counter, loop = 0, white_space = 0; /* Need to release the resources for attributes */ size = GUTHTHILA_STACK_SIZE(m->attrib); for (i = 0; i < size; i++) { attr = (guththila_attr_t *) guththila_stack_pop(&m->attrib, env); if (attr) { if (attr->name) guththila_tok_list_release_token(&m->tokens, attr->name, env); if (attr->pref) guththila_tok_list_release_token(&m->tokens, attr->pref, env); AXIS2_FREE(env->allocator, attr); } } #ifdef GUTHTHILA_VALIDATION_PARSER if (m->guththila_event == GUTHTHILA_END_ELEMENT && m->name) { guththila_tok_list_release_token(&m->tokens, m->name, env); if (m->prefix) { guththila_tok_list_release_token(&m->tokens, m->prefix, env); } } /* If the previous event was a empty element we need to do some clean up */ else if (m->guththila_event == GUTHTHILA_EMPTY_ELEMENT) { elem = (guththila_element_t *) guththila_stack_pop(&m->elem, env); if (elem->is_namesp) { nmsp = (guththila_elem_namesp_t *) guththila_stack_pop(&m->namesp, env); for (nmsp_counter = 0; nmsp_counter < nmsp->no; nmsp_counter++) { if (nmsp->namesp[nmsp_counter].name) guththila_tok_list_release_token(&m->tokens, nmsp->namesp[nmsp_counter]. name, env); if (nmsp->namesp[nmsp_counter].uri) guththila_tok_list_release_token(&m->tokens, nmsp->namesp[nmsp_counter]. uri, env); } AXIS2_FREE(env->allocator, nmsp->namesp); AXIS2_FREE(env->allocator, nmsp); } if (elem->name) guththila_tok_list_release_token(&m->tokens, elem->name, env); if (elem->prefix) guththila_tok_list_release_token(&m->tokens, elem->prefix, env); AXIS2_FREE(env->allocator, elem); } GUTHTHILA_VARIABLE_INITIALZE(m); #endif /* Actual XML parsing logic */ do { loop = 0; c = guththila_next_char(m, 0, env); if (m->status == S_1) { while (isspace(c)) { c = guththila_next_char(m, 0, env); if (c == -1) return -1; } if ('<' == c) { m->status = S_2; } else { return -1; } } if ('<' == c && m->status == S_2) { c = guththila_next_char(m, 0, env); if (c != '?' && c != '!' && c != '/') { /* We are at the beginig of a xml element */ if (GUTHTHILA_IS_VALID_STARTING_CHAR(c)) { GUTHTHILA_TOKEN_OPEN(m, tok, env); c = guththila_next_char(m, 0, env); while (!GUTHTHILA_IS_SPACE(c) && c != '>' && c != '/') { if (c == -1) return -1; if (c != ':') { c = guththila_next_char(m, 0, env); } else { /* We know for sure that this is a prefix */ guththila_token_close(m, tok, _prefix, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); } } /* XML element name */ guththila_token_close(m, tok, _name, 0, env); #ifdef GUTHTHILA_VALIDATION_PARSER elem = (guththila_element_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_element_t)); elem->name = m->name; elem->prefix = m->prefix; elem->is_namesp = 0; guththila_stack_push(&m->elem, elem, env); #endif } GUTHTHILA_SKIP_SPACES(m, c, env); /* Process the attributes */ for (;;) { /* Empty element */ if (c == '/') { c = guththila_next_char(m, 0, env); if (c == '>') { m->guththila_event = GUTHTHILA_EMPTY_ELEMENT; if (!guththila_validate_namespaces(m, env)) return -1; else return GUTHTHILA_EMPTY_ELEMENT; } else { return -1; } } /* Normal element */ else if (c == '>') { m->guththila_event = GUTHTHILA_START_ELEMENT; if (!guththila_validate_namespaces(m, env)) return -1; else return GUTHTHILA_START_ELEMENT; } /* We are in the middle of a element */ else if (c != -1) { /* Process the attributes */ if (GUTHTHILA_IS_VALID_STARTING_CHAR(c)) { GUTHTHILA_TOKEN_OPEN(m, tok, env); c = guththila_next_char(m, 0, env); while (!GUTHTHILA_IS_SPACE(c) && c != '=') { if (c == -1) return -1; if (c != ':') { c = guththila_next_char(m, 0, env); } else if (c == ':') { /* Prefix */ guththila_token_close(m, tok, _prefix, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); } } /* Attribute name*/ guththila_token_close(m, tok, _attribute_name, 0,env); } else { return -1; } /* Attribute Value */ GUTHTHILA_PROCESS_EQU(m, c, quote, env); if ('\'' == quote || '\"' == quote) { c = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); while (c != quote) { if (c == -1) return -1; c = guththila_next_char(m, 0, env); } guththila_token_close(m, tok, _attribute_value, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_SKIP_SPACES(m, c, env); } else { return -1; } } else { return -1; } } } else if (c == '/') { /* End Element */ m->guththila_event = GUTHTHILA_END_ELEMENT; c = guththila_next_char(m, -1, env); if (GUTHTHILA_IS_VALID_STARTING_CHAR(c)) { GUTHTHILA_TOKEN_OPEN(m, tok, env); c = guththila_next_char(m, 0, env); while (!GUTHTHILA_IS_SPACE(c) && c != '>') { if (c == -1) return -1; if (c != ':') { c = guththila_next_char(m, 0, env); } else { /* Prefix */ guththila_token_close(m, tok, _prefix, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); } } /* name */ guththila_token_close(m, tok, _name, 0, env); #ifdef GUTHTHILA_VALIDATION_PARSER elem = (guththila_element_t *) guththila_stack_pop(&m->elem,env); if (!elem || (!elem->prefix && m->prefix) || (elem->prefix && !m->prefix)) return -1; if (guththila_tok_tok_cmp(m->name, elem->name, env)) { return -1; } if (elem->prefix && m->prefix && guththila_tok_tok_cmp(m->prefix, elem->prefix, env)) { return -1; } /* Releasing the namespace related resources */ if (elem->is_namesp) { nmsp = (guththila_elem_namesp_t *) guththila_stack_pop(&m->namesp,env); for (nmsp_counter = 0; nmsp_counter < nmsp->no; nmsp_counter++) { if (nmsp->namesp[nmsp_counter].name) guththila_tok_list_release_token(&m->tokens, nmsp-> namesp [nmsp_counter]. name, env); if (nmsp->namesp[nmsp_counter].uri) guththila_tok_list_release_token(&m->tokens, nmsp-> namesp [nmsp_counter]. uri, env); } AXIS2_FREE(env->allocator, nmsp->namesp); AXIS2_FREE(env->allocator, nmsp); } /* Release the tokens */ if (elem->name) guththila_tok_list_release_token(&m->tokens, elem->name,env); if (elem->prefix) guththila_tok_list_release_token(&m->tokens,elem->prefix, env); AXIS2_FREE(env->allocator, elem); #endif GUTHTHILA_SKIP_SPACES(m, c, env); if (c != '>') return -1; return GUTHTHILA_END_ELEMENT; } return -1; } else if (c == '!') { /* Comment */ if (2 == guththila_next_no_char(m, 0, c_arra, 2, env) && '-' == c_arra[0] && '-' == c_arra[1]) { int loop_state = 1; c = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); while (loop_state) { c = guththila_next_char(m, 0, env); if ('-' == c) { if (2 == guththila_next_no_char(m, 0, c_arra, 2, env) && '-' == c_arra[0]) { if ('>' == c_arra[1]) { m->guththila_event = GUTHTHILA_COMMENT; /* position after first hyphen, as if we just scanned it */ m->next = m->next - 2; guththila_token_close(m, tok, _char_data,0, env); m->next = m->next + 2; return GUTHTHILA_COMMENT; } else { return -1; } } } } } else { c = guththila_next_char(m, 0, env); while ('<' != c) { if (c == -1) return -1; c = guththila_next_char(m, -1, env); } } } else if (c == '?') { /* XML declaration */ c = guththila_process_xml_dec(m, env); if (c != -1) return GUTHTHILA_START_DOCUMENT; else return -1; } } else if (c != '<' && m->status == S_2 && c != -1) { /* Text */ m->guththila_event = GUTHTHILA_CHARACTER; if (!GUTHTHILA_IS_SPACE(c)) white_space = 0; else white_space = 1; GUTHTHILA_TOKEN_OPEN(m, tok, env); do { c = guththila_next_char(m, -1, env); if (!GUTHTHILA_IS_SPACE(c) && c != '<') white_space = 0; if (c == -1) return -1; } while (c != '<'); guththila_token_close(m, tok, _text_data, ref, env); m->next--; if (white_space) { #ifndef GUTHTHILA_IGNORE_SPACES m->guththila_event = GUTHTHILA_SPACE; return GUTHTHILA_SPACE; #else loop = 1; if (m->value) { guththila_tok_list_release_token(&m->tokens, m->value, env); m->value = NULL; } #endif } else return GUTHTHILA_CHARACTER; } else { return -1; } } while (loop); return c; } /* Process the XML declaration */ static int guththila_process_xml_dec( guththila_t * m, const axutil_env_t * env) { guththila_token_t * tok = NULL; guththila_char_t c_arra[16] = { 0 }; int c = -1; int quote = -1; int nc = -1; if (3 == guththila_next_no_char(m, GUTHTHILA_EOF, c_arra, 3, env) && 'x' == c_arra[0] && 'm' == c_arra[1] && 'l' == c_arra[2]) { c = guththila_next_char(m, GUTHTHILA_EOF, env); GUTHTHILA_SKIP_SPACES(m, c, env); if (c == 'v') { GUTHTHILA_TOKEN_OPEN(m, tok, env); if (6 == guththila_next_no_char(m, 0, c_arra, 6, env) && 'e' == c_arra[0] && 'r' == c_arra[1] && 's' == c_arra[2] && 'i' == c_arra[3] && 'o' == c_arra[4] && 'n' == c_arra[5]) { c = guththila_next_char(m, 0, env); guththila_token_close(m, tok, _attribute_name, 0, env); GUTHTHILA_PROCESS_EQU(m, c, quote, env); nc = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); while (nc != quote) { if (nc == -1) return -1; nc = guththila_next_char(m, 0, env); } guththila_token_close(m, tok, _attribute_value, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_SKIP_SPACES(m, c, env); } else { return -1; } } if (c == 'e') { GUTHTHILA_TOKEN_OPEN(m, tok, env); if (7 == guththila_next_no_char(m, 0, c_arra, 7, env) && 'n' == c_arra[0] && 'c' == c_arra[1] && 'o' == c_arra[2] && 'd' == c_arra[3] && 'i' == c_arra[4] && 'n' == c_arra[5] && 'g' == c_arra[6]) { c = guththila_next_char(m, 0, env); guththila_token_close(m, tok, _attribute_name, 0, env); GUTHTHILA_PROCESS_EQU(m, c, quote, env); nc = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); while (nc != quote) { if (nc == -1) return -1; nc = guththila_next_char(m, 0, env); } guththila_token_close(m, tok, _attribute_value, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_SKIP_SPACES(m, c, env); } } if (c == 's') { GUTHTHILA_TOKEN_OPEN(m, tok, env); if (9 == guththila_next_no_char(m, 0, c_arra, 9, env) && 't' == c_arra[0] && 'a' == c_arra[1] && 'n' == c_arra[2] && 'd' == c_arra[3] && 'a' == c_arra[4] && 'l' == c_arra[5] && 'o' == c_arra[6] && 'n' == c_arra[7] && 'e' == c_arra[8]) { c = guththila_next_char(m, 0, env); guththila_token_close(m, tok, _attribute_name, 0, env); GUTHTHILA_PROCESS_EQU(m, c, quote, env); nc = guththila_next_char(m, 0, env); GUTHTHILA_TOKEN_OPEN(m, tok, env); while (nc != quote) { if (nc == -1) return -1; nc = guththila_next_char(m, 0, env); } guththila_token_close(m, tok, _attribute_value, 0, env); c = guththila_next_char(m, 0, env); GUTHTHILA_SKIP_SPACES(m, c, env); } } if (c == '?') { if ('>' == guththila_next_char(m, 0, env)) { m->guththila_event = GUTHTHILA_START_DOCUMENT; } else { return -1; } } } return c; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_get_attribute_count( guththila_t * m, const axutil_env_t * env) { return GUTHTHILA_STACK_SIZE(m->attrib); } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_name( guththila_t * m, guththila_attr_t * att, const axutil_env_t * env) { guththila_char_t *str = NULL; if (att->name) { GUTHTHILA_TOKEN_TO_STRING(att->name, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_value( guththila_t * m, guththila_attr_t * att, const axutil_env_t * env) { guththila_char_t *str = NULL; if (att->val) { GUTHTHILA_TOKEN_TO_STRING(att->val, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_prefix( guththila_t * m, guththila_attr_t * att, const axutil_env_t * env) { guththila_char_t *str = NULL; if (att->pref) { GUTHTHILA_TOKEN_TO_STRING(att->pref, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_attr_t *GUTHTHILA_CALL guththila_get_attribute( guththila_t * m, const axutil_env_t * env) { return (guththila_attr_t *) guththila_stack_pop(&m->attrib, env); } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_name_by_number( guththila_t * m, int i, const axutil_env_t *env) { guththila_char_t *str = NULL; guththila_attr_t * attr = (guththila_attr_t *) guththila_stack_get_by_index(&m->attrib, i - 1, env); if (attr->name) { GUTHTHILA_TOKEN_TO_STRING(attr->name, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_value_by_number( guththila_t * m, int i, const axutil_env_t *env) { guththila_char_t *str = NULL; guththila_attr_t * attr = (guththila_attr_t *) guththila_stack_get_by_index(&m->attrib, i - 1,env); if (attr->val) { GUTHTHILA_TOKEN_TO_STRING(attr->val, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_prefix_by_number( guththila_t * m, int i, const axutil_env_t *env) { guththila_char_t *str = NULL; guththila_attr_t * attr = (guththila_attr_t *) guththila_stack_get_by_index(&m->attrib, i - 1,env); if (attr && attr->pref) { GUTHTHILA_TOKEN_TO_STRING(attr->pref, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_name( guththila_t * m, const axutil_env_t * env) { guththila_char_t *str = NULL; if (m->name) { GUTHTHILA_TOKEN_TO_STRING(m->name, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_prefix( guththila_t * m, const axutil_env_t * env) { guththila_char_t *str = NULL; if (m->prefix) { GUTHTHILA_TOKEN_TO_STRING(m->prefix, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL guththila_get_value( guththila_t * m, const axutil_env_t * env) { guththila_char_t *str = NULL; if (m->value) { GUTHTHILA_TOKEN_TO_STRING(m->value, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_namespace_t *GUTHTHILA_CALL guththila_get_namespace( guththila_t * m, const axutil_env_t * env) { #ifndef GUTHTHILA_VALIDATION_PARSER return (guththila_namespace_t *) guththila_stack_pop(&m->namesp, env); #else return NULL; #endif } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_get_namespace_count( guththila_t * m, const axutil_env_t * env) { #ifndef GUTHTHILA_VALIDATION_PARSER return GUTHTHILA_STACK_SIZE(m->namesp); #else guththila_elem_namesp_t * nmsp = NULL; if (((guththila_element_t *) guththila_stack_peek(&m->elem, env))->is_namesp) { nmsp = (guththila_elem_namesp_t *) guththila_stack_peek(&m->namesp, env); return nmsp->no; } return 0; #endif } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_uri( guththila_t * m, guththila_namespace_t * ns, const axutil_env_t * env) { guththila_char_t *str = NULL; if (ns->uri) { GUTHTHILA_TOKEN_TO_STRING(ns->uri, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_prefix( guththila_t * m, guththila_namespace_t * ns, const axutil_env_t * env) { guththila_char_t *str = NULL; if (ns->name) { GUTHTHILA_TOKEN_TO_STRING(ns->name, str, env); return str; } return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_prefix_by_number( guththila_t * m, int i, const axutil_env_t *env) { guththila_char_t *str = NULL; #ifndef GUTHTHILA_VALIDATION_PARSER if (GUTHTHILA_STACK_SIZE(m->namesp) >= i) { namesp = guththila_stack_get_by_index(&m->namesp, i - 1, env); if (namesp && namesp->name) { GUTHTHILA_TOKEN_TO_STRING(namesp->name, str, env); return str; } } #else guththila_elem_namesp_t * nmsp = NULL; if (((guththila_element_t *) guththila_stack_peek(&m->elem, env))->is_namesp) { nmsp = (guththila_elem_namesp_t *) guththila_stack_peek(&m->namesp, env); if (nmsp && nmsp->no >= i) { GUTHTHILA_TOKEN_TO_STRING(nmsp->namesp[i - 1].name, str, env); return str; } } #endif /* */ return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_uri_by_number( guththila_t * m, int i, const axutil_env_t *env) { guththila_char_t *str = NULL; #ifndef GUTHTHILA_VALIDATION_PARSER if (GUTHTHILA_STACK_SIZE(m->namesp) >= i) { namesp = guththila_stack_get_by_index(&m->namesp, i - 1, env); if (namesp && namesp->uri) { GUTHTHILA_TOKEN_TO_STRING(namesp->uri, str, env); return str; } } #else guththila_elem_namesp_t * nmsp = NULL; if (((guththila_element_t *) guththila_stack_peek(&m->elem, env))->is_namesp) { nmsp = (guththila_elem_namesp_t *) guththila_stack_peek(&m->namesp, env); if (nmsp && nmsp->no >= i) { GUTHTHILA_TOKEN_TO_STRING(nmsp->namesp[i - 1].uri, str, env); return str; } } #endif return NULL; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_namespace_by_number(guththila_t * m, int i, const axutil_env_t *env) { #ifndef GUTHTHILA_VALIDATION_PARSER return NULL; #else guththila_attr_t * attr = NULL; guththila_char_t* str = NULL; int j = 0, k = 0, count = 0; guththila_elem_namesp_t * nmsp = NULL; if (i <= GUTHTHILA_STACK_SIZE(m->attrib)) { attr = (guththila_attr_t *) guththila_stack_get_by_index(&m->attrib, i - 1, env); if (attr && attr->pref) { count = GUTHTHILA_STACK_SIZE(m->namesp); for (j = count - 1; j >= 0; j--) { nmsp = (guththila_elem_namesp_t *) guththila_stack_get_by_index(&m->namesp, j, env); for (k = 0; k < nmsp->no; k++) { if (!guththila_tok_tok_cmp (nmsp->namesp[k].name, attr->pref, env)) { GUTHTHILA_TOKEN_TO_STRING(nmsp->namesp[k].uri, str, env); return str; } } } } } return NULL; #endif } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_encoding( guththila_t * m, const axutil_env_t * env) { return "UTF-8"; } /* Return the next character */ static int guththila_next_char(guththila_t * m, int eof, const axutil_env_t * env) { int c; size_t data_move, i; int temp; guththila_char_t **temp1; size_t * temp2, *temp3; /* we have a buffered reader. Easiest case just fetch the character from * the buffer. Here we have a single buffer. * */ if (m->reader->type == GUTHTHILA_MEMORY_READER && m->next < GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(m->buffer)) { c = m->buffer.buff[0][m->next++]; return c >= 0 ? c : -1; } else if (m->reader->type == GUTHTHILA_IO_READER || m->reader->type == GUTHTHILA_FILE_READER) { /* comlex stuff. We have a array of buffers */ if ( m->buffer.cur_buff != -1 && m->next < GUTHTHILA_BUFFER_PRE_DATA_SIZE(m->buffer) + GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(m->buffer)) { /* What we are looking for is already in the buffer */ c = m->buffer.buff[m->buffer.cur_buff][m->next++ - GUTHTHILA_BUFFER_PRE_DATA_SIZE (m->buffer)]; return c >= 0 ? c : -1; } else if ( m->buffer.cur_buff != -1 && m->next >= GUTHTHILA_BUFFER_PRE_DATA_SIZE(m->buffer) + GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(m->buffer)) { /* We are sure that the difference lies within the int range */ if (m->buffer.cur_buff == (int)m->buffer.no_buffers - 1) { /* we are out of allocated buffers. Need to allocate more buffers */ temp = m->buffer.no_buffers * 2; temp1 = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * temp); temp2 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * temp); temp3 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * temp); if (!temp1 || !temp2 || !temp3) return (-1); for (i = 0; i < m->buffer.no_buffers; i++) { temp1[i] = m->buffer.buff[i]; temp2[i] = m->buffer.buffs_size[i]; temp3[i] = m->buffer.data_size[i]; } AXIS2_FREE(env->allocator, m->buffer.buff); AXIS2_FREE(env->allocator, m->buffer.data_size); AXIS2_FREE(env->allocator, m->buffer.buffs_size); m->buffer.buff = temp1; m->buffer.buffs_size = temp2; m->buffer.data_size = temp3; m->buffer.no_buffers *= 2; } m->buffer.buff[m->buffer.cur_buff + 1] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * m->buffer.buffs_size[m->buffer.cur_buff] * 2); if (!m->buffer.buff[m->buffer.cur_buff + 1]) return -1; m->buffer.cur_buff++; m->buffer.buffs_size[m->buffer.cur_buff] = m->buffer.buffs_size[m->buffer.cur_buff - 1] * 2; m->buffer.data_size[m->buffer.cur_buff] = 0; /* We need to have the content for one token in a single buffer. * So if the space is not sufficient we have to move first part * of the token to the next buffer */ if (m->last_start != -1) { data_move = m->buffer.data_size[m->buffer.cur_buff - 1] - (m->last_start - m->buffer.pre_tot_data); memcpy(m->buffer.buff[m->buffer.cur_buff], m->buffer.buff[m->buffer.cur_buff - 1] + m->buffer.data_size[m->buffer.cur_buff - 1] - data_move, data_move); m->buffer.data_size[m->buffer.cur_buff - 1] -= data_move; m->buffer.data_size[m->buffer.cur_buff] += data_move; } m->buffer.pre_tot_data += m->buffer.data_size[m->buffer.cur_buff - 1]; temp = guththila_reader_read(m->reader, GUTHTHILA_BUFFER_CURRENT_BUFF(m->buffer),0, (int)GUTHTHILA_BUFFER_CURRENT_BUFF_SIZE(m->buffer),env); if (temp > 0) { m->buffer.data_size[m->buffer.cur_buff] += temp; } else { return -1; } c = m->buffer.buff[m->buffer.cur_buff][m->next++ - GUTHTHILA_BUFFER_PRE_DATA_SIZE (m->buffer)]; return c >= 0 ? c : -1; } /* Initial stage. We dont' have the array of buffers allocated*/ else if (m->buffer.cur_buff == -1) { m->buffer.buff[0] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * GUTHTHILA_BUFFER_DEF_SIZE); m->buffer.buffs_size[0] = GUTHTHILA_BUFFER_DEF_SIZE; m->buffer.cur_buff = 0; temp = guththila_reader_read(m->reader, m->buffer.buff[0], 0, GUTHTHILA_BUFFER_DEF_SIZE, env); m->buffer.data_size[0] = temp; c = m->buffer.buff[0][m->next++]; return c >= 0 ? c : -1; } } return -1; } /* Same functionality as the guththila_next_char. But insted of reading * one character this function reads several characters at once * */ static int guththila_next_no_char(guththila_t * m, int eof, guththila_char_t *bytes, size_t no, const axutil_env_t * env) { int temp, data_move; size_t i; guththila_char_t **temp1; size_t * temp2, *temp3; if (m->reader->type == GUTHTHILA_MEMORY_READER && m->next + no - 1 < GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(m->buffer) && m->buffer.cur_buff != -1) { for (i = 0; i < no; i++) { bytes[i] = m->buffer.buff[0][m->next++]; } return (int)no; /* We are sure that the difference lies within the int range */ } else if (m->reader->type == GUTHTHILA_IO_READER || m->reader->type == GUTHTHILA_FILE_READER) { if (m->next < GUTHTHILA_BUFFER_PRE_DATA_SIZE(m->buffer) + GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(m->buffer) + no && m->buffer.cur_buff != -1) { for (i = 0; i < no; i++) { bytes[i] = m->buffer.buff[m->buffer.cur_buff][m->next++ - GUTHTHILA_BUFFER_PRE_DATA_SIZE (m->buffer)]; } return (int)no; /* We are sure that the difference lies within the int range */ } else if (m->next >= GUTHTHILA_BUFFER_PRE_DATA_SIZE(m->buffer) + GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(m->buffer) + no && m->buffer.cur_buff != -1) { /* We are sure that the difference lies within the int range */ if (m->buffer.cur_buff == (int)m->buffer.no_buffers - 1) { temp = m->buffer.no_buffers * 2; temp1 = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * temp); temp2 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * temp); temp3 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * temp); if (!temp1 || !temp2 || !temp3) return (-1); for (i = 0; i < m->buffer.no_buffers; i++) { temp1[i] = m->buffer.buff[i]; temp2[i] = m->buffer.buffs_size[i]; temp3[i] = m->buffer.data_size[i]; } AXIS2_FREE(env->allocator, m->buffer.buff); AXIS2_FREE(env->allocator, m->buffer.data_size); AXIS2_FREE(env->allocator, m->buffer.buffs_size); m->buffer.buff = temp1; m->buffer.buffs_size = temp2; m->buffer.data_size = temp3; m->buffer.no_buffers *= 2; } m->buffer.buff[m->buffer.cur_buff + 1] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * m->buffer.data_size[m->buffer.cur_buff] * 2); if (!m->buffer.buff[m->buffer.cur_buff + 1]) return -1; m->buffer.cur_buff++; m->buffer.buffs_size[m->buffer.cur_buff] = m->buffer.buffs_size[m->buffer.cur_buff - 1] * 2; m->buffer.data_size[m->buffer.cur_buff] = 0; data_move = (int)m->next; /* We are sure that the difference lies within the int range */ if ((m->last_start != -1) && (m->last_start < data_move)) data_move = m->last_start; data_move = (int)m->buffer.data_size[m->buffer.cur_buff - 1] - (data_move - (int)m->buffer.pre_tot_data); /* We are sure that the difference lies within the int range */ if (data_move) { memcpy(m->buffer.buff[m->buffer.cur_buff], m->buffer.buff[m->buffer.cur_buff - 1] + m->buffer.data_size[m->buffer.cur_buff - 1] - data_move, data_move); m->buffer.data_size[m->buffer.cur_buff - 1] -= data_move; m->buffer.data_size[m->buffer.cur_buff] += data_move; } m->buffer.pre_tot_data += m->buffer.data_size[m->buffer.cur_buff - 1]; temp = guththila_reader_read(m->reader, GUTHTHILA_BUFFER_CURRENT_BUFF(m->buffer), 0, (int)GUTHTHILA_BUFFER_CURRENT_BUFF_SIZE(m-> buffer), env); /* We are sure that the difference lies within the int range */ if (temp > 0) { m->buffer.data_size[m->buffer.cur_buff] += temp; } else { return -1; } for (i = 0; i < no; i++) { bytes[i] = m->buffer.buff[m->buffer.cur_buff][m->next++ - GUTHTHILA_BUFFER_PRE_DATA_SIZE (m->buffer)]; } return (int)no; /* We are sure that the difference lies within the int range */ } else if (m->buffer.cur_buff == -1) { m->buffer.buff[0] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * GUTHTHILA_BUFFER_DEF_SIZE); m->buffer.buffs_size[0] = GUTHTHILA_BUFFER_DEF_SIZE; m->buffer.cur_buff = 0; temp = guththila_reader_read(m->reader, m->buffer.buff[0], 0, GUTHTHILA_BUFFER_DEF_SIZE, env); m->buffer.data_size[0] = temp; for (i = 0; i < no; i++) { bytes[i] = m->buffer.buff[m->buffer.cur_buff][m->next++ - GUTHTHILA_BUFFER_PRE_DATA_SIZE (m->buffer)]; } return (int)no; /* We are sure that the difference lies within the int range */ } } return -1; } axis2c-src-1.6.0/guththila/src/guththila_stack.c0000644000175000017500000000665311166304561022753 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include int GUTHTHILA_CALL guththila_stack_init( guththila_stack_t * stack, const axutil_env_t * env) { stack->top = 0; stack->data = (void **) AXIS2_MALLOC(env->allocator, sizeof(void **) * GUTHTHILA_STACK_DEFAULT); if (!stack->data) { return GUTHTHILA_FAILURE; } else { stack->max = GUTHTHILA_STACK_DEFAULT; return GUTHTHILA_SUCCESS; } } void GUTHTHILA_CALL guththila_stack_free( guththila_stack_t * stack, const axutil_env_t * env) { if (stack->data) AXIS2_FREE(env->allocator, stack->data); AXIS2_FREE(env->allocator, stack); } void GUTHTHILA_CALL guththila_stack_un_init( guththila_stack_t * stack, const axutil_env_t * env) { if (stack->data) AXIS2_FREE(env->allocator, stack->data); } void *GUTHTHILA_CALL guththila_stack_pop( guththila_stack_t * stack, const axutil_env_t * env) { if (stack->top > 0) { return stack->data[stack->top-- - 1]; } return NULL; } int GUTHTHILA_CALL guththila_stack_push( guththila_stack_t * stack, void *data, const axutil_env_t * env) { int i = 0; void **temp = NULL; if (stack->top >= stack->max) { temp = (void **) AXIS2_MALLOC(env->allocator, sizeof(void **) * (stack->max += GUTHTHILA_STACK_DEFAULT)); for (i = 0; i < stack->top; i++) { temp[i] = stack->data[i]; } AXIS2_FREE(env->allocator, stack->data); stack->data = temp; if (!stack->data) return GUTHTHILA_FAILURE; } stack->data[stack->top] = data; return stack->top++; } void *GUTHTHILA_CALL guththila_stack_peek( guththila_stack_t * stack, const axutil_env_t * env) { if (stack->top > 0) { return stack->data[stack->top - 1]; } else { return NULL; } } int GUTHTHILA_CALL guththila_stack_del_top( guththila_stack_t * stack, const axutil_env_t * env) { if (stack->top > 0) { AXIS2_FREE(env->allocator, stack->data[stack->top]); return GUTHTHILA_SUCCESS; } return GUTHTHILA_FAILURE; } int GUTHTHILA_CALL guththila_stack_is_empty( guththila_stack_t * stack, const axutil_env_t * env) { return stack->top == 0 ? 1 : 0; } void *GUTHTHILA_CALL guththila_stack_get_by_index( guththila_stack_t * stack, int index, const axutil_env_t * env) { return index < stack->top ? stack->data[index] : NULL; } axis2c-src-1.6.0/guththila/src/guththila_buffer.c0000644000175000017500000001020511166304561023103 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include int GUTHTHILA_CALL guththila_buffer_init(guththila_buffer_t * buffer,int size,const axutil_env_t * env) { buffer->type = GUTHTHILA_MULTIPLE_BUFFER; buffer->data_size =(size_t *) AXIS2_MALLOC(env->allocator,sizeof(size_t)*GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS); buffer->buffs_size =(size_t *) AXIS2_MALLOC(env->allocator,sizeof(size_t)*GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS); buffer->buff =(guththila_char_t **) AXIS2_MALLOC(env->allocator,sizeof(guththila_char_t *)*GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS); buffer->cur_buff = -1; buffer->pre_tot_data = 0; buffer->no_buffers = GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS; buffer->xml = NULL; if (size > 0) { buffer->buff[0] =(guththila_char_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_char_t) * size); buffer->data_size[0] = 0; buffer->buffs_size[0] = size; buffer->cur_buff = 0; } return GUTHTHILA_SUCCESS; } int GUTHTHILA_CALL guththila_buffer_un_init(guththila_buffer_t * buffer,const axutil_env_t * env) { int i = 0; if (buffer->type == GUTHTHILA_SINGLE_BUFFER && buffer->buff && buffer->cur_buff == 0) { if (buffer->buffs_size) AXIS2_FREE(env->allocator, buffer->buffs_size); if (buffer->data_size) AXIS2_FREE(env->allocator, buffer->data_size); if(buffer->xml) AXIS2_FREE(env->allocator,buffer->xml); AXIS2_FREE(env->allocator, buffer->buff); } else if (buffer->type == GUTHTHILA_MULTIPLE_BUFFER && buffer->buff) { for (i = 0; i <= buffer->cur_buff; i++) { AXIS2_FREE(env->allocator, buffer->buff[i]); } if(buffer->xml) AXIS2_FREE(env->allocator,buffer->xml); AXIS2_FREE(env->allocator, buffer->buff); if (buffer->data_size) AXIS2_FREE(env->allocator, buffer->data_size); if (buffer->buffs_size) AXIS2_FREE(env->allocator, buffer->buffs_size); } return GUTHTHILA_SUCCESS; } int GUTHTHILA_CALL guththila_buffer_init_for_buffer(guththila_buffer_t * buffer,char *buff,int size,const axutil_env_t * env) { buffer->type = GUTHTHILA_SINGLE_BUFFER; buffer->buff =(char **) AXIS2_MALLOC(env->allocator,sizeof(char *) * GUTHTHILA_BUFFER_DEF_SIZE); buffer->buff[0] = buff; buffer->cur_buff = 0; buffer->buffs_size =(size_t *) AXIS2_MALLOC(env->allocator,sizeof(size_t) * GUTHTHILA_BUFFER_DEF_SIZE); buffer->buffs_size[0] = size; buffer->pre_tot_data = 0; buffer->data_size =(size_t *) AXIS2_MALLOC(env->allocator,sizeof(size_t) * GUTHTHILA_BUFFER_DEF_SIZE); buffer->data_size[0] = size; buffer->no_buffers = 1; buffer->xml = NULL; return GUTHTHILA_SUCCESS; } void *GUTHTHILA_CALL guththila_buffer_get(guththila_buffer_t * buffer,const axutil_env_t * env) { size_t size = 0, current_size = 0; int i = 0; for (i = 0; i <= buffer->cur_buff; i++) { size += buffer->data_size[i]; } buffer->xml = (char *) AXIS2_MALLOC(env->allocator, sizeof(char) * (size + 1)); for (i = 0; i <= buffer->cur_buff; i++) { memcpy(buffer->xml + current_size, buffer->buff[i], buffer->data_size[i]); current_size += buffer->data_size[i]; } buffer->xml[current_size] = '\0'; return buffer->xml; } axis2c-src-1.6.0/guththila/src/guththila_token.c0000644000175000017500000001477711166304561022774 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #define TOK_LIST_FREE(tok_list) \ (if (tok_list) { AXIS2_FREE(tok_list)} ) #define TOK_LIST_SIZE(tok_list) (tok_list->size) int GUTHTHILA_CALL guththila_tok_list_grow( guththila_tok_list_t * tok_list, const axutil_env_t * env) { int i = 0; int cur = 0; int cur_cap = 0; guththila_token_t ** list = NULL; if (tok_list->cur_list < tok_list->no_list - 1) { cur = ++tok_list->cur_list; cur_cap = tok_list->capacity[cur - 1] * 2; tok_list->list[cur] = (guththila_token_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t) * cur_cap); for (i = 0; i < cur_cap; i++) { guththila_stack_push(&tok_list->fr_stack, &tok_list->list[cur][i], env); } tok_list->capacity[cur] = cur_cap; return GUTHTHILA_SUCCESS; } else { list = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * tok_list->no_list * 2); if (list) { for (i = 0; i <= tok_list->cur_list; i++) { list[i] = tok_list->list[i]; } tok_list->no_list = tok_list->no_list * 2; AXIS2_FREE(env->allocator, tok_list->list); tok_list->list = list; guththila_tok_list_grow(tok_list, env); } } return GUTHTHILA_FAILURE; } int GUTHTHILA_CALL guththila_tok_list_init( guththila_tok_list_t * tok_list, const axutil_env_t * env) { int i = 0; tok_list->list = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_TOK_DEF_LIST_SIZE); if (tok_list->list && guththila_stack_init(&tok_list->fr_stack, env)) { tok_list->capacity = (int *) AXIS2_MALLOC(env->allocator, sizeof(int) * GUTHTHILA_TOK_DEF_LIST_SIZE); if (tok_list->capacity) { tok_list->no_list = GUTHTHILA_TOK_DEF_LIST_SIZE; tok_list->list[0] = (guththila_token_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t) * GUTHTHILA_TOK_DEF_SIZE); for (i = 0; i < GUTHTHILA_TOK_DEF_SIZE; i++) { guththila_stack_push(&tok_list->fr_stack, &tok_list->list[0][i], env); } tok_list->capacity[0] = GUTHTHILA_TOK_DEF_SIZE; tok_list->cur_list = 0; tok_list->no_list = GUTHTHILA_TOK_DEF_LIST_SIZE; return GUTHTHILA_SUCCESS; } } return GUTHTHILA_FAILURE; } void GUTHTHILA_CALL guththila_tok_list_free( guththila_tok_list_t * tok_list, const axutil_env_t * env) { int i = 0; guththila_stack_un_init(&tok_list->fr_stack, env); for (; i <= tok_list->cur_list; i++) { AXIS2_FREE(env->allocator, tok_list->list[i]); } AXIS2_FREE(env->allocator, tok_list->list); AXIS2_FREE(env->allocator,tok_list->capacity); AXIS2_FREE(env->allocator, tok_list); } void GUTHTHILA_CALL guththila_tok_list_free_data( guththila_tok_list_t * tok_list, const axutil_env_t * env) { int i = 0; guththila_stack_un_init(&tok_list->fr_stack, env); for (; i <= tok_list->cur_list; i++) { AXIS2_FREE(env->allocator, tok_list->list[i]); } AXIS2_FREE(env->allocator,tok_list->capacity); AXIS2_FREE(env->allocator, tok_list->list); } guththila_token_t *GUTHTHILA_CALL guththila_tok_list_get_token(guththila_tok_list_t * tok_list, const axutil_env_t * env) { if (tok_list->fr_stack.top > 0 || guththila_tok_list_grow(tok_list, env)) { return guththila_stack_pop(&tok_list->fr_stack, env); } return NULL; } int GUTHTHILA_CALL guththila_tok_list_release_token( guththila_tok_list_t * tok_list, guththila_token_t * token, const axutil_env_t * env) { return guththila_stack_push(&tok_list->fr_stack, token, env); } int GUTHTHILA_CALL guththila_tok_str_cmp( guththila_token_t * tok, guththila_char_t *str, size_t str_len, const axutil_env_t * env) { unsigned int i = 0; if (tok->size != str_len) return -1; for (; i < tok->size; i++) { if (tok->start[i] != str[i]) { return -1; } } return 0; } int GUTHTHILA_CALL guththila_tok_tok_cmp( guththila_token_t * tok1, guththila_token_t * tok2, const axutil_env_t * env) { unsigned int i = 0; if (tok1 && tok2) { if (tok1->size != tok2->size) return -1; for (; i < tok1->size; i++) { if (tok1->start[i] != tok2->start[i]) { return -1; } } return 0; } return -1; } void GUTHTHILA_CALL guththila_set_token(guththila_token_t* tok, guththila_char_t* start, short type, int size, int _start, int last, int ref, const axutil_env_t* env) { if(start) { tok->start = start; tok->type = type; tok->_start = _start; tok->size = size; tok->last = last; tok->ref = ref; } } axis2c-src-1.6.0/guththila/src/guththila_reader.c0000644000175000017500000000655611166304561023112 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL guththila_reader_create_for_file(guththila_char_t *file_name, const axutil_env_t * env) { guththila_reader_t * reader = NULL; FILE * f = NULL; if (!file_name) return NULL; reader =(guththila_reader_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_reader_t)); if (!reader) return NULL; f = fopen(file_name, "r"); if (!f) { AXIS2_FREE(env->allocator, reader); return NULL; } reader->fp = f; reader->type = GUTHTHILA_FILE_READER; return reader; } GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL guththila_reader_create_for_memory(void *buffer, int size, const axutil_env_t * env) { guththila_reader_t * reader = (guththila_reader_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_reader_t)); if (reader) { reader->type = GUTHTHILA_MEMORY_READER; reader->buff = buffer; reader->buff_size = size; reader->fp = NULL; return reader; } return NULL; } GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL guththila_reader_create_for_io(GUTHTHILA_READ_INPUT_CALLBACK input_read_callback, void *ctx, const axutil_env_t * env) { guththila_reader_t * reader = (guththila_reader_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_reader_t)); if (reader) { reader->input_read_callback = input_read_callback; reader->context = ctx; reader->type = GUTHTHILA_IO_READER; return reader; } return NULL; } GUTHTHILA_EXPORT void GUTHTHILA_CALL guththila_reader_free( guththila_reader_t * r, const axutil_env_t * env) { if (r->type == GUTHTHILA_FILE_READER && r->fp) { fclose(r->fp); } if (r->type == GUTHTHILA_IO_READER && r->context) { AXIS2_FREE(env->allocator, r->context); } AXIS2_FREE(env->allocator, r); } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_reader_read( guththila_reader_t * r, guththila_char_t * buffer, int offset, int length, const axutil_env_t * env) { int rt = r->type; switch (rt) { case GUTHTHILA_FILE_READER: return (int) fread(buffer + offset, 1, length, r->fp); case GUTHTHILA_IO_READER: return r->input_read_callback((buffer + offset), length, r->context); default: return 0; } } axis2c-src-1.6.0/guththila/src/Makefile.am0000644000175000017500000000070711166304561021457 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libguththila.la libguththila_la_LDFLAGS = -version-info $(VERSION_NO) libguththila_la_SOURCES = guththila_buffer.c \ guththila_namespace.c \ guththila_token.c \ guththila_reader.c \ guththila_attribute.c \ guththila_xml_parser.c \ guththila_stack.c \ guththila_xml_writer.c libguththila_la_LIBADD = ../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../util/include axis2c-src-1.6.0/guththila/src/Makefile.in0000644000175000017500000003657311172017176021502 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libguththila_la_DEPENDENCIES = ../../util/src/libaxutil.la am_libguththila_la_OBJECTS = guththila_buffer.lo \ guththila_namespace.lo guththila_token.lo guththila_reader.lo \ guththila_attribute.lo guththila_xml_parser.lo \ guththila_stack.lo guththila_xml_writer.lo libguththila_la_OBJECTS = $(am_libguththila_la_OBJECTS) libguththila_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libguththila_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libguththila_la_SOURCES) DIST_SOURCES = $(libguththila_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libguththila.la libguththila_la_LDFLAGS = -version-info $(VERSION_NO) libguththila_la_SOURCES = guththila_buffer.c \ guththila_namespace.c \ guththila_token.c \ guththila_reader.c \ guththila_attribute.c \ guththila_xml_parser.c \ guththila_stack.c \ guththila_xml_writer.c libguththila_la_LIBADD = ../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../util/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libguththila.la: $(libguththila_la_OBJECTS) $(libguththila_la_DEPENDENCIES) $(libguththila_la_LINK) -rpath $(libdir) $(libguththila_la_OBJECTS) $(libguththila_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_attribute.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_buffer.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_namespace.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_stack.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_token.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_xml_parser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_xml_writer.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/guththila/src/guththila_namespace.c0000644000175000017500000001111611166304561023570 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include int GUTHTHILA_CALL guththila_namespace_list_grow(guththila_namespace_list_t * namesp_list,int addition,const axutil_env_t * env) { int i = 0; if (addition > 0 || (addition < 0 && namesp_list->capacity + addition > 0 && namesp_list->capacity + addition >= namesp_list->size)) { namesp_list->list = (guththila_namespace_t *) realloc(namesp_list->list, sizeof(guththila_namespace_t) * (namesp_list->capacity + addition)); if (namesp_list->list) { for (i = namesp_list->capacity;i < namesp_list->capacity + addition; i++) { guththila_stack_push(&namesp_list->fr_stack,namesp_list->list + i, env); } namesp_list->capacity += addition; } else { return GUTHTHILA_FAILURE; } } return 0; } guththila_namespace_list_t *GUTHTHILA_CALL guththila_namespace_list_create(const axutil_env_t * env) { int i = 0; guththila_namespace_list_t * namesp_list = (guththila_namespace_list_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_namespace_list_t)); if (!namesp_list) return NULL; namesp_list->list = (guththila_namespace_t *) AXIS2_MALLOC(env->allocator,sizeof(guththila_namespace_t) * GUTHTHILA_NAMESPACE_DEF_SIZE); if (namesp_list->list && guththila_stack_init(&namesp_list->fr_stack, env)) { namesp_list->capacity = GUTHTHILA_NAMESPACE_DEF_SIZE; namesp_list->size = 0; for (i = 0; i < GUTHTHILA_NAMESPACE_DEF_SIZE; i++) { guththila_stack_push(&namesp_list->fr_stack, namesp_list->list + i,env); } return namesp_list; } return NULL; } int GUTHTHILA_CALL guththila_namespace_list_init(guththila_namespace_list_t * namesp_list,const axutil_env_t * env) { int i = 0; namesp_list->list = (guththila_namespace_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_namespace_t) * GUTHTHILA_NAMESPACE_DEF_SIZE); if (namesp_list->list && guththila_stack_init(&namesp_list->fr_stack, env)) { namesp_list->capacity = GUTHTHILA_NAMESPACE_DEF_SIZE; namesp_list->size = 0; for (i = 0; i < GUTHTHILA_NAMESPACE_DEF_SIZE; i++) { guththila_stack_push(&namesp_list->fr_stack, namesp_list->list + i,env); } return GUTHTHILA_SUCCESS; } return GUTHTHILA_FAILURE; } guththila_namespace_t *GUTHTHILA_CALL guththila_namespace_list_get(guththila_namespace_list_t *namesp_list,const axutil_env_t * env) { if (namesp_list->fr_stack.top > 0 ||guththila_namespace_list_grow(namesp_list,GUTHTHILA_NAMESPACE_DEF_SIZE, env)) { return guththila_stack_pop(&namesp_list->fr_stack, env); } return NULL; } int GUTHTHILA_CALL guththila_namespace_list_release(guththila_namespace_list_t * namesp_list,guththila_namespace_t * namespace, const axutil_env_t * env) { return guththila_stack_push(&namesp_list->fr_stack, namespace, env); } void GUTHTHILA_CALL msuila_namespace_list_free_data(guththila_namespace_list_t * namesp_list,const axutil_env_t * env) { AXIS2_FREE(env->allocator, namesp_list->list); guththila_stack_un_init(&namesp_list->fr_stack, env); } void GUTHTHILA_CALL guththila_namespace_list_free(guththila_namespace_list_t * namesp_list,const axutil_env_t * env) { guththila_stack_un_init(&namesp_list->fr_stack, env); AXIS2_FREE(env->allocator, namesp_list->list); AXIS2_FREE(env->allocator, namesp_list); } axis2c-src-1.6.0/guththila/src/guththila_xml_writer.c0000644000175000017500000023155111166304561024037 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #define GUTHTHILA_WRITER_SD_DECLARATION "" #ifndef GUTHTHILA_XML_WRITER_TOKEN #ifndef GUTHTHILA_WRITER_ELEM_FREE #define GUTHTHILA_WRITER_ELEM_FREE(wr, elem, _env) \ if ((elem)->prefix) AXIS2_FREE(env->allocator, (elem)->prefix); \ if ((elem)->name) AXIS2_FREE(env->allocator, (elem)->name); \ AXIS2_FREE(env->allocator, elem); #endif #else #ifndef GUTHTHILA_WRITER_ELEM_FREE #define GUTHTHILA_WRITER_ELEM_FREE(wr, elem, _env) \ if ((elem)->prefix) guththila_tok_list_release_token(&wr->tok_list, (elem)->prefix, _env); \ if ((elem)->name) guththila_tok_list_release_token(&wr->tok_list, (elem)->name, _env); \ AXIS2_FREE(env->allocator, elem); #endif #endif #ifndef GUTHTHILA_XML_WRITER_TOKEN #ifndef GUTHTHILA_WRITER_CLEAR_NAMESP #define GUTHTHILA_WRITER_CLEAR_NAMESP(wr, stack_namesp, _no, counter, _namesp, j, _env) \ for (counter = GUTHTHILA_STACK_TOP_INDEX(*stack_namesp); counter >= _no; counter--) {\ _namesp = (guththila_xml_writer_namesp_t *) guththila_stack_pop(stack_namesp, _env); \ if (_namesp) { \ for (j = 0; j < _namesp->no - 1; j++) { \ if (_namesp->name[j]) AXIS2_FREE(env->allocator, _namesp->name[j]); \ if (_namesp->uri[j]) AXIS2_FREE(env->allocator, _namesp->uri[j]); \ } \ AXIS2_FREE(env->allocator, _namesp->name); \ AXIS2_FREE(env->allocator, _namesp->uri); \ AXIS2_FREE(env->allocator, _namesp); \ } \ _namesp = NULL; \ } #endif #else #ifndef GUTHTHILA_WRITER_CLEAR_NAMESP #define GUTHTHILA_WRITER_CLEAR_NAMESP(wr, stack_namesp, _no, counter, _namesp, j, _env) \ for (counter = GUTHTHILA_STACK_TOP_INDEX(*stack_namesp); counter >= _no; counter--) { \ _namesp = (guththila_xml_writer_namesp_t *) guththila_stack_pop(stack_namesp, _env); \ if (_namesp) { \ for (j = 0; j < _namesp->no - 1; j++) { \ guththila_tok_list_release_token(&wr->tok_list, _namesp->name[j], _env); \ guththila_tok_list_release_token(&wr->tok_list, _namesp->uri[j], _env); \ } \ AXIS2_FREE(env->allocator, _namesp->name); \ AXIS2_FREE(env->allocator, _namesp->uri); \ AXIS2_FREE(env->allocator, _namesp); \ } \ _namesp = NULL; \ } #endif #endif #ifndef GUTHTHILA_WRITER_INIT_ELEMENT #define GUTHTHILA_WRITER_INIT_ELEMENT_WITH_PREFIX(wr, _elem, _name_start, _name_size, _pref_start, _pref_size) \ _elem->name = guththila_tok_list_get_token(&wr->tok_list); \ _elem->prefix = = guththila_tok_list_get_token(&wr->tok_list); \ _elem->name->start = _name_start; \ _elem->name->size = _name_size; \ _elem->prefix->start = _pref_start; \ _elem->prrefix->size = pref_size; #endif #ifndef GUTHTHILA_WRITER_INIT_ELEMENT #define GUTHTHILA_WRITER_INIT_ELEMENT_WITHOUT_PREFIX(wr, _elem, _name_start, _name_size) \ _elem->name = guththila_tok_list_get_token(&(wr)->tok_list); \ _elem->name->start = _name_start; \ _elem->name->size = _name_size; \ _elem->prefix->NULL; #endif /* #ifndef guththila_write(_wr, _buff, _buff_size) #define guththila_write(_wr, _buff, _buff_size) \ if (_wr->type == GUTHTHILA_WRITER_MEMORY){ \ if (_wr->buffer.size > _wr->buffer.next + _buff_size) {\ memcpy (_wr->buffer.buff + _wr->buffer.next, _buff, _buff_size);\ _wr->buffer.next += (int)_buff_size; \ } else {\ _wr->buffer.buff = realloc(_wr->buffer.buff, _wr->buffer.size * 2);\ _wr->buffer.size = _wr->buffer.size * 2; \ memcpy (_wr->buffer.buff + _wr->buffer.next, _buff, _buff_size);\ _wr->buffer.next += (int)_buff_size; \ }\ } #endif*/ /* * Write the contents of the buff in to the guththila_xml_writer buffer. * len indicates the number of items in the buff. */ int GUTHTHILA_CALL guththila_write( guththila_xml_writer_t * wr, char *buff, size_t buff_size, const axutil_env_t * env); /* * Same functionality as the guththila_write only difference is here we are given * a token to write, not a buffer. */ int GUTHTHILA_CALL guththila_write_token( guththila_xml_writer_t * wr, guththila_token_t * tok, const axutil_env_t * env); int GUTHTHILA_CALL guththila_write_xtoken( guththila_xml_writer_t * wr, char *buff, size_t buff_len, const axutil_env_t * env); /* * Private function for free the contents of a empty element. */ int GUTHTHILA_CALL guththila_free_empty_element( guththila_xml_writer_t *wr, const axutil_env_t *env); GUTHTHILA_EXPORT guththila_xml_writer_t * GUTHTHILA_CALL guththila_create_xml_stream_writer(guththila_char_t *file_name, const axutil_env_t * env) { guththila_xml_writer_t * wr = AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_writer_t)); if (!wr) return NULL; wr->out_stream = fopen(file_name, "w"); if (!wr->out_stream) { AXIS2_FREE(env->allocator, wr); return NULL; } if (!guththila_stack_init(&wr->element, env)) { fclose(wr->out_stream); AXIS2_FREE(env->allocator, wr); return NULL; } if (!guththila_stack_init(&wr->namesp, env)) { guththila_stack_un_init(&wr->element, env); fclose(wr->out_stream); AXIS2_FREE(env->allocator, wr); return NULL; } wr->type = GUTHTHILA_WRITER_FILE; wr->status = BEGINING; wr->next = 0; return wr; } GUTHTHILA_EXPORT guththila_xml_writer_t * GUTHTHILA_CALL guththila_create_xml_stream_writer_for_memory(const axutil_env_t * env) { guththila_xml_writer_t * wr = AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_writer_t)); if (!wr) return NULL; if (!guththila_buffer_init(&wr->buffer, GUTHTHILA_BUFFER_DEF_SIZE, env)) { AXIS2_FREE(env->allocator, wr); return NULL; } if (!guththila_stack_init(&wr->element, env)) { guththila_buffer_un_init(&wr->buffer, env); AXIS2_FREE(env->allocator, wr); return NULL; } if (!guththila_stack_init(&wr->namesp, env)) { guththila_buffer_un_init(&wr->buffer, env); guththila_stack_un_init(&wr->element, env); AXIS2_FREE(env->allocator, wr); return NULL; } #ifdef GUTHTHILA_XML_WRITER_TOKEN if (!guththila_tok_list_init(&wr->tok_list, env)) { guththila_buffer_un_init(&wr->buffer, env); guththila_stack_un_init(&wr->element, env); guththila_stack_un_init(&wr->namesp, env); AXIS2_FREE(env->allocator, wr); return NULL; } #endif wr->type = GUTHTHILA_WRITER_MEMORY; wr->status = BEGINING; wr->next = 0; return wr; } GUTHTHILA_EXPORT void GUTHTHILA_CALL guththila_xml_writer_free( guththila_xml_writer_t * wr, const axutil_env_t * env) { if (wr->type == GUTHTHILA_WRITER_MEMORY) { guththila_buffer_un_init(&wr->buffer, env); } else if (wr->type == GUTHTHILA_WRITER_FILE) { fclose(wr->out_stream); } #ifdef GUTHTHILA_XML_WRITER_TOKEN guththila_tok_list_free_data(&wr->tok_list, env); #endif guththila_stack_un_init(&wr->element, env); guththila_stack_un_init(&wr->namesp, env); AXIS2_FREE(env->allocator,wr); } int GUTHTHILA_CALL guththila_write(guththila_xml_writer_t * wr, guththila_char_t *buff, size_t buff_len, const axutil_env_t * env) { size_t remain_len = 0; size_t temp = 0; size_t * temp1 = NULL, *temp2 = NULL; guththila_char_t **temp3 = NULL; int i = 0; if (wr->type == GUTHTHILA_WRITER_MEMORY) { remain_len = wr->buffer.buffs_size[wr->buffer.cur_buff] - wr->buffer.data_size[wr->buffer.cur_buff]; /* We have space */ if (buff_len < remain_len) { memcpy(wr->buffer.buff[wr->buffer.cur_buff] + wr->buffer.data_size[wr->buffer.cur_buff], buff, buff_len); wr->buffer.data_size[wr->buffer.cur_buff] += buff_len; wr->next += (int)buff_len; /* We are sure that the difference lies within the int range */ return (int) buff_len; } else { if (remain_len != 0) { memcpy(wr->buffer.buff[wr->buffer.cur_buff] + wr->buffer.data_size[wr->buffer.cur_buff], buff, remain_len); wr->buffer.data_size[wr->buffer.cur_buff] += remain_len; } /* We are sure that the difference lies within the int range */ if (((int)wr->buffer.no_buffers - 1) == wr->buffer.cur_buff) { /* Out of allocated array buffers. Need to allocate*/ wr->buffer.no_buffers = wr->buffer.no_buffers * 2; temp3 = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * wr->buffer.no_buffers); temp1 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * wr->buffer.no_buffers); temp2 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * wr->buffer.no_buffers); for (i = 0; i <= wr->buffer.cur_buff; i++) { temp3[i] = wr->buffer.buff[i]; temp1[i] = wr->buffer.data_size[i]; temp2[i] = wr->buffer.buffs_size[i]; } AXIS2_FREE(env->allocator, wr->buffer.data_size); AXIS2_FREE(env->allocator, wr->buffer.buffs_size); AXIS2_FREE(env->allocator, wr->buffer.buff); wr->buffer.buff = temp3; wr->buffer.buffs_size = temp2; wr->buffer.data_size = temp1; } wr->buffer.cur_buff++; temp = wr->buffer.buffs_size[wr->buffer.cur_buff - 1] * 2; while (temp < (buff_len - remain_len)) { temp = temp * 2; } /* Create a be buffer */ wr->buffer.buff[wr->buffer.cur_buff] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * temp); wr->buffer.buffs_size[wr->buffer.cur_buff] = temp; memcpy(wr->buffer.buff[wr->buffer.cur_buff], buff + remain_len, buff_len - remain_len); wr->buffer.data_size[wr->buffer.cur_buff] = buff_len - remain_len; wr->buffer.pre_tot_data += wr->buffer.data_size[wr->buffer.cur_buff - 1]; wr->next += (int)buff_len; /* We are sure that the difference lies within the int range */ return (int) buff_len; } } else if (wr->type == GUTHTHILA_WRITER_FILE) { return (int) fwrite(buff, 1, buff_len, wr->out_stream); } return GUTHTHILA_FAILURE; } int GUTHTHILA_CALL guththila_write_token(guththila_xml_writer_t * wr, guththila_token_t * tok, const axutil_env_t * env) { int i; size_t remain_len = 0; size_t temp = 0; size_t * temp1 = NULL, *temp2 = NULL; guththila_char_t **temp3 = NULL; if (wr->type == GUTHTHILA_WRITER_MEMORY) { remain_len = wr->buffer.buffs_size[wr->buffer.cur_buff] - wr->buffer.data_size[wr->buffer.cur_buff]; if (tok->size < remain_len) { memcpy(wr->buffer.buff[wr->buffer.cur_buff] + wr->buffer.data_size[wr->buffer.cur_buff], tok->start, tok->size); wr->buffer.data_size[wr->buffer.cur_buff] += tok->size; wr->next += (int)tok->size; /* We are sure that the difference lies within the int range */ return (int) tok->size; } else { if (remain_len != 0) { memcpy(wr->buffer.buff[wr->buffer.cur_buff] + wr->buffer.data_size[wr->buffer.cur_buff], tok->start, remain_len); wr->buffer.data_size[wr->buffer.cur_buff] += remain_len; } /* We are sure that the difference lies within the int range */ if (((int)wr->buffer.no_buffers - 1) == wr->buffer.cur_buff) { wr->buffer.no_buffers = wr->buffer.no_buffers * 2; temp3 = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * wr->buffer.no_buffers); temp1 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * wr->buffer.no_buffers); temp2 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * wr->buffer.no_buffers); for (i = 0; i <= wr->buffer.cur_buff; i++) { temp3[i] = wr->buffer.buff[i]; temp1[i] = wr->buffer.data_size[i]; temp2[i] = wr->buffer.buffs_size[i]; } AXIS2_FREE(env->allocator, wr->buffer.data_size); AXIS2_FREE(env->allocator, wr->buffer.buffs_size); AXIS2_FREE(env->allocator, wr->buffer.buff); wr->buffer.buff = temp3; wr->buffer.buffs_size = temp2; wr->buffer.data_size = temp1; } wr->buffer.cur_buff++; temp = wr->buffer.buffs_size[wr->buffer.cur_buff - 1] * 2; while (temp < (tok->size - remain_len)) { temp = temp * 2; } wr->buffer.buff[wr->buffer.cur_buff] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * temp); wr->buffer.buffs_size[wr->buffer.cur_buff] = temp; memcpy(wr->buffer.buff[wr->buffer.cur_buff], tok->start + remain_len, tok->size - remain_len); wr->buffer.data_size[wr->buffer.cur_buff] = tok->size - remain_len; wr->buffer.pre_tot_data += wr->buffer.data_size[wr->buffer.cur_buff - 1]; wr->next += (int)tok->size; /* We are sure that the difference lies within the int range */ return (int) tok->size; } } else if (wr->type == GUTHTHILA_WRITER_FILE) { return (int) fwrite(tok->start, 1, tok->size, wr->out_stream); } return GUTHTHILA_FAILURE; } int GUTHTHILA_CALL guththila_write_xtoken(guththila_xml_writer_t * wr, guththila_char_t *buff, size_t buff_len, const axutil_env_t * env) { int i; size_t temp = 0; size_t remain_len = 0; size_t * temp1 = NULL, *temp2 = NULL; guththila_char_t **temp3 = NULL; if (wr->type == GUTHTHILA_WRITER_MEMORY) { remain_len = wr->buffer.buffs_size[wr->buffer.cur_buff] - wr->buffer.data_size[wr->buffer.cur_buff]; if (buff_len < remain_len) { memcpy(wr->buffer.buff[wr->buffer.cur_buff] + wr->buffer.data_size[wr->buffer.cur_buff], buff, buff_len); wr->buffer.data_size[wr->buffer.cur_buff] += buff_len; wr->next += (int)buff_len; /* We are sure that the difference lies within the int range */ return (int) buff_len; } else { /* We are sure that the difference lies within the int range */ if (((int)wr->buffer.no_buffers - 1) == wr->buffer.cur_buff) { wr->buffer.no_buffers = wr->buffer.no_buffers * 2; temp3 = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * wr->buffer.no_buffers); temp1 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * wr->buffer.no_buffers); temp2 = (size_t *) AXIS2_MALLOC(env->allocator, sizeof(size_t) * wr->buffer.no_buffers); for (i = 0; i <= wr->buffer.cur_buff; i++) { temp3[i] = wr->buffer.buff[i]; temp1[i] = wr->buffer.data_size[i]; temp2[i] = wr->buffer.buffs_size[i]; } AXIS2_FREE(env->allocator, wr->buffer.data_size); AXIS2_FREE(env->allocator, wr->buffer.buffs_size); AXIS2_FREE(env->allocator, wr->buffer.buff); wr->buffer.buff = temp3; wr->buffer.buffs_size = temp2; wr->buffer.data_size = temp1; } temp = wr->buffer.buffs_size[wr->buffer.cur_buff] * 2; while (temp < (buff_len)) { temp = temp * 2; } wr->buffer.cur_buff++; wr->buffer.buff[wr->buffer.cur_buff] = (guththila_char_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t) * temp); wr->buffer.buffs_size[wr->buffer.cur_buff] = temp; memcpy(wr->buffer.buff[wr->buffer.cur_buff], buff, buff_len); wr->buffer.data_size[wr->buffer.cur_buff] = buff_len; wr->buffer.pre_tot_data += wr->buffer.data_size[wr->buffer.cur_buff - 1]; wr->next += (int)buff_len; /* We are sure that the difference lies within the int range */ return (int) buff_len; } } else if (wr->type == GUTHTHILA_WRITER_FILE) { return (int) fwrite(buff, 1, buff_len, wr->out_stream); } return GUTHTHILA_FAILURE; } int GUTHTHILA_CALL guththila_free_empty_element( guththila_xml_writer_t *wr, const axutil_env_t *env) { guththila_xml_writer_element_t * elem = NULL; guththila_xml_writer_namesp_t * namesp = NULL; int i = 0, j = 0; elem = (guththila_xml_writer_element_t *) guththila_stack_pop(&wr->element, env); if (elem) { wr->status = BEGINING; if (elem->name_sp_stack_no != -1) { GUTHTHILA_WRITER_CLEAR_NAMESP(wr, &wr->namesp, elem->name_sp_stack_no, i, namesp, j, env); } GUTHTHILA_WRITER_ELEM_FREE(wr, elem, env); return GUTHTHILA_SUCCESS; } else { return GUTHTHILA_FAILURE; } } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_document(guththila_xml_writer_t * wr, const axutil_env_t * env, char *encoding, char *version) { char *tmp1 = NULL; char *tmp2 = GUTHTHILA_WRITER_SD_DECLARATION; tmp1 = strchr(tmp2, '\"'); tmp1++; guththila_write(wr, tmp2, (int)(tmp1 - tmp2), env); tmp2 = strchr(tmp1, '\"'); if (version) { guththila_write(wr, version, (int)strlen(version), env); } else { guththila_write(wr, tmp1, (int)(tmp2 - tmp1), env); } tmp2++; tmp1 = strchr(tmp2, '\"'); tmp2--; tmp1++; guththila_write(wr, tmp2, (int)(tmp1 - tmp2), env); tmp2 = strchr(tmp1, '\"'); if (encoding) { guththila_write(wr, encoding, (int)strlen(encoding), env); } else { guththila_write(wr, tmp1, (int)(tmp2 - tmp1), env); } guththila_write(wr, tmp2, (int)strlen(tmp2), env); return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element(guththila_xml_writer_t * wr, guththila_char_t *start_element, const axutil_env_t * env) { int cur_pos = 0; size_t len = 0; guththila_xml_writer_element_t * element = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_writer_element_t)); len = strlen(start_element); if (wr->status == START) { /* If we are in a start we need to close and start */ guththila_write(wr, "><", 2u, env); cur_pos = wr->next; guththila_write_xtoken(wr, start_element, len, env); } else if (wr->status == START_EMPTY) { /* We need to close and start */ guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 3u, env); cur_pos = wr->next; guththila_write_xtoken(wr, start_element, len, env); } else if (wr->status == BEGINING) { /* We can start rightaway*/ guththila_write(wr, "<", 1u, env); cur_pos = wr->next; guththila_write_xtoken(wr, start_element, len, env); } else { return GUTHTHILA_FAILURE; } wr->status = START; #ifndef GUTHTHILA_XML_WRITER_TOKEN element->name = strdup(start_element); element->prefix = NULL; #else element->name = guththila_tok_list_get_token(&wr->tok_list, env); element->name->start = GUTHTHILA_BUF_POS(wr->buffer, cur_pos); element->name->size = len; element->prefix = NULL; #endif element->name_sp_stack_no = -1; return guththila_stack_push(&wr->element, element, env); } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_end_element(guththila_xml_writer_t * wr, const axutil_env_t * env) { guththila_xml_writer_element_t * elem = NULL; guththila_xml_writer_namesp_t * namesp = NULL; int i = 0, j = 0; if (wr->status == START) { guththila_write(wr, ">element, env); if (elem) { if (elem->prefix) { #ifndef GUTHTHILA_XML_WRITER_TOKEN guththila_write(wr, elem->prefix, strlen(elem->prefix), env); #else guththila_write_token(wr, elem->prefix, env); #endif guththila_write(wr, ":", 1u, env); } #ifndef GUTHTHILA_XML_WRITER_TOKEN guththila_write(wr, elem->name, strlen(elem->name), env); #else guththila_write_token(wr, elem->name, env); #endif guththila_write(wr, ">", 1u, env); wr->status = BEGINING; if (elem->name_sp_stack_no != -1) { GUTHTHILA_WRITER_CLEAR_NAMESP(wr, &wr->namesp, elem->name_sp_stack_no, i, namesp, j, env); } GUTHTHILA_WRITER_ELEM_FREE(wr, elem, env); return GUTHTHILA_SUCCESS; } else { return GUTHTHILA_FAILURE; } } else if (wr->status == START_EMPTY) { guththila_write(wr, "/>", 2u, env); elem = (guththila_xml_writer_element_t *) guththila_stack_pop(&wr->element, env); if (elem) { wr->status = BEGINING; if (elem->name_sp_stack_no != -1) { GUTHTHILA_WRITER_CLEAR_NAMESP(wr, &wr->namesp, elem->name_sp_stack_no, i, namesp, j, env); } GUTHTHILA_WRITER_ELEM_FREE(wr, elem, env); return GUTHTHILA_SUCCESS; } else { return GUTHTHILA_FAILURE; } } else if (wr->status == BEGINING) { guththila_write(wr, "element, env); if (elem) { if (elem->prefix) { #ifndef GUTHTHILA_XML_WRITER_TOKEN guththila_write(wr, elem->prefix, strlen(elem->prefix), env); #else guththila_write_token(wr, elem->prefix, env); #endif guththila_write(wr, ":", 1u, env); } #ifndef GUTHTHILA_XML_WRITER_TOKEN guththila_write(wr, elem->name, strlen(elem->name), env); #else guththila_write_token(wr, elem->name, env); #endif guththila_write(wr, ">", 1u, env); wr->status = BEGINING; if (elem->name_sp_stack_no != -1) { GUTHTHILA_WRITER_CLEAR_NAMESP(wr, &wr->namesp, elem->name_sp_stack_no, i, namesp, j, env); } GUTHTHILA_WRITER_ELEM_FREE(wr, elem, env); return GUTHTHILA_SUCCESS; } else { return GUTHTHILA_FAILURE; } } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_close(guththila_xml_writer_t * wr, const axutil_env_t * env) { return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_characters(guththila_xml_writer_t * wr, guththila_char_t *buff, const axutil_env_t * env) { size_t i = 0; size_t len = strlen(buff); guththila_char_t ch = 0; if (wr->status == START) { wr->status = BEGINING; guththila_write(wr, ">", 1u, env); } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); wr->status = BEGINING; guththila_write(wr, "/>", 2u, env); } else if (wr->status != BEGINING) { return GUTHTHILA_FAILURE; } while (len > 0) { /* scan buffer until the next special character */ for (i = 0; (i < len) && ((ch = buff[i]) != '&') && (ch != '<') && (ch != '>') && (ch != '\"') && (ch != '\''); i++) ; /* write everything until the special character */ if (i > 0) { guththila_write(wr, buff, i, env); buff += i; len -= i; } /* replace the character with the appropriate sequence */ if (len > 0) { if (AXIS2_SUCCESS != guththila_write_escape_character(wr, buff, env)) return GUTHTHILA_FAILURE; /* skip the character */ buff++; len--; } } return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_comment( guththila_xml_writer_t * wr, guththila_char_t *buff, const axutil_env_t * env) { if (wr->status == START) { wr->status = BEGINING; guththila_write(wr, ">", 3u, env); return GUTHTHILA_SUCCESS; } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); wr->status = BEGINING; guththila_write(wr, "/>", 3u, env); return GUTHTHILA_SUCCESS; } else if (wr->status == BEGINING) { guththila_write(wr, "", 3u, env); return GUTHTHILA_SUCCESS; } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_escape_character( guththila_xml_writer_t * wr, guththila_char_t *buff, const axutil_env_t * env) { if (buff) { switch (buff[0]) { case '>': guththila_write(wr, ">", 4u, env); break; case '<': guththila_write(wr, "<", 4u, env); break; case '\'': guththila_write(wr, "'", 6u, env); break; case '"': guththila_write(wr, """, 6u, env); break; case '&': guththila_write(wr, "&", 5u, env); break; default: return GUTHTHILA_FAILURE; }; } return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element(guththila_xml_writer_t * wr, guththila_char_t *start_element, const axutil_env_t * env) { int cur_pos = 0; size_t len = 0; guththila_xml_writer_element_t * element = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_writer_element_t)); len = strlen(start_element); if (wr->status == START) { guththila_write(wr, "><", 2u, env); cur_pos = wr->next; guththila_write_xtoken(wr, start_element, len, env); } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); wr->status = BEGINING; guththila_write(wr, "/><", 3u, env); cur_pos = wr->next; guththila_write_xtoken(wr, start_element, len, env); } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); cur_pos = wr->next; guththila_write_xtoken(wr, start_element, len, env); } else { return GUTHTHILA_FAILURE; } wr->status = START_EMPTY; #ifndef GUTHTHILA_XML_WRITER_TOKEN element->name = strdup(start_element); element->prefix = NULL; #else element->name = guththila_tok_list_get_token(&wr->tok_list, env); element->name->start = GUTHTHILA_BUF_POS(wr->buffer, cur_pos); element->name->size = len; element->prefix = NULL; #endif element->name_sp_stack_no = -1; return guththila_stack_push(&wr->element, element, env); } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_default_namespace( guththila_xml_writer_t * wr, guththila_char_t *namespace_uri, const axutil_env_t * env) { if (wr->status == START || wr->status == START_EMPTY) { guththila_write(wr, " xmlns=\"", 8u, env); guththila_write(wr, namespace_uri, strlen(namespace_uri), env); guththila_write(wr, "\"", 1u, env); return GUTHTHILA_SUCCESS; } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_namespace( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *uri, const axutil_env_t * env) { int i, j, temp, nmsp_found = GUTHTHILA_FALSE, stack_size; guththila_xml_writer_namesp_t * namesp = NULL; guththila_xml_writer_element_t * elem = NULL; int pref_start = 0, uri_start = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; guththila_token_t ** tok_name = NULL, **tok_uri = NULL; size_t pref_len = strlen(prefix), uri_len = strlen(uri); stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); /* Check weather we have met the namespace before */ for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(prefix, writer_namesp->name[j])) { #else if (!guththila_tok_str_cmp(writer_namesp->name[j], prefix, pref_len, env)) { #endif nmsp_found = GUTHTHILA_TRUE; } } } /* Proceed if we didn't find the namespace */ if (!nmsp_found && (wr->status == START || wr->status == START_EMPTY)) { guththila_write(wr, " xmlns:", 7u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, uri, uri_len, env); guththila_write(wr, "\"", 1u, env); elem = guththila_stack_peek(&wr->element, env); if (elem && elem->name_sp_stack_no == -1) { namesp = (guththila_xml_writer_namesp_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_namesp_t)); if (namesp) { #ifndef GUTHTHILA_XML_WRITER_TOKEN namesp->name = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->uri = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->name[0] = strdup(prefix); namesp->uri[0] = strdup(uri); #else namesp->name = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->uri = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->name[0] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->name[0]->start = GUTHTHILA_BUF_POS(wr->buffer, pref_start); namesp->name[0]->size = pref_len; namesp->uri[0] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->uri[0]->start = GUTHTHILA_BUF_POS(wr->buffer, uri_start); namesp->uri[0]->size = uri_len; #endif namesp->no = 1; namesp->size = GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE; guththila_stack_push(&wr->namesp, namesp, env); elem->name_sp_stack_no = GUTHTHILA_STACK_TOP_INDEX(wr->namesp); } else { return GUTHTHILA_FAILURE; } } else if (elem) { namesp = guththila_stack_peek(&wr->namesp, env); if (namesp->no < namesp->size) { #ifndef GUTHTHILA_XML_WRITER_TOKEN namesp->name[++(namesp->no) - 1] = strdup(prefix); namesp->uri[namesp->no - 1] = strdup(uri); #else namesp->name[++(namesp->no) - 1] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->uri[namesp->no - 1] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->name[namesp->no - 1]->start = GUTHTHILA_BUF_POS(wr->buffer, pref_start); namesp->name[namesp->no - 1]->size = pref_len; namesp->uri[namesp->no - 1]->start = GUTHTHILA_BUF_POS(wr->buffer, uri_start); namesp->uri[namesp->no - 1]->size = uri_len; #endif } else { #ifndef GUTHTHILA_XML_WRITER_TOKEN namesp->name = (guththila_char_t **) realloc(namesp->name, sizeof(guththila_char_t *) * (GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE + namesp->size)); namesp->uri = (guththila_char_t **) realloc(namesp->name, sizeof(guththila_char_t *) * (GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE + namesp->size)); namesp->size = GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE + namesp->size; namesp->name[++(namesp->no) - 1] = strdup(prefix); namesp->uri[namesp->no - 1] = strdup(uri); #else tok_name = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * (GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE + namesp->size)); tok_uri = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * (GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE + namesp->size)); for (i = 0; i < namesp->no; i++) { tok_name[i] = namesp->name[i]; tok_uri[i] = namesp->uri[i]; } AXIS2_FREE(env->allocator, namesp->name); AXIS2_FREE(env->allocator, namesp->uri); namesp->name = tok_name; namesp->uri = tok_uri; namesp->size = GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE + namesp->size; namesp->name[namesp->no] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->uri[namesp->no] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->name[namesp->no ]->start = GUTHTHILA_BUF_POS(wr->buffer, pref_start); namesp->name[namesp->no ]->size = pref_len; namesp->uri[namesp->no ]->start = GUTHTHILA_BUF_POS(wr->buffer, uri_start); namesp->uri[namesp->no ]->size = uri_len; namesp->no ++; #endif } } return GUTHTHILA_SUCCESS; } if (nmsp_found) return GUTHTHILA_SUCCESS; return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute( guththila_xml_writer_t * wr, guththila_char_t *localname, guththila_char_t *value, const axutil_env_t * env) { if (wr->status == START || wr->status == START_EMPTY) { guththila_write(wr, " ", 1u, env); guththila_write(wr, localname, strlen(localname), env); guththila_write(wr, "=\"", 2u, env); guththila_write(wr, value, strlen(value), env); guththila_write(wr, "\"", 1u, env); return GUTHTHILA_SUCCESS; } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_prefix_and_namespace( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *namespace_uri, guththila_char_t *localname, guththila_char_t *value, const axutil_env_t * env) { return guththila_write_namespace(wr, prefix, namespace_uri, env) && guththila_write_attribute_with_prefix(wr, prefix, localname, value, env); } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_prefix( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *localname, guththila_char_t *value, const axutil_env_t * env) { int i, j; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp; size_t pref_len = strlen(prefix); guththila_xml_writer_namesp_t * writer_namesp = NULL; if (wr->status == START || wr->status == START_EMPTY) { /* We need to make sure that there is a namespace defined with the * given prefix as the name */ for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(prefix, writer_namesp->name[j])) { #else if (!guththila_tok_str_cmp (writer_namesp->name[j], prefix, pref_len, env)) { #endif guththila_write(wr, " ", 1u, env); guththila_write(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); guththila_write(wr, localname, strlen(localname), env); guththila_write(wr, "=\"", 2u, env); guththila_write(wr, value, strlen(value), env); guththila_write(wr, "\"", 1u, env); return GUTHTHILA_SUCCESS; } } } } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_namespace( guththila_xml_writer_t * wr, guththila_char_t *namesp, guththila_char_t *loc_name, guththila_char_t *value, const axutil_env_t * env) { int i, j; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp; guththila_xml_writer_namesp_t * writer_namesp = NULL; if (wr->status == START || wr->status == START_EMPTY) { /* We need to make sure that the namespace is previously declared */ for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(namesp, writer_namesp->uri[j])) { guththila_write(wr, " ", 1, env); guththila_write(wr, writer_namesp->name[j], strlen(writer_namesp->name[j]), env); #else if (!guththila_tok_str_cmp (writer_namesp->uri[j], namesp, strlen(namesp), env)) { guththila_write(wr, " ", 1u, env); guththila_write_token(wr, writer_namesp->name[j], env); #endif guththila_write(wr, ":", 1u, env); guththila_write(wr, loc_name, strlen(loc_name), env); guththila_write(wr, "=\"", 2u, env); guththila_write(wr, value, strlen(value), env); guththila_write(wr, "\"", 1u, env); return GUTHTHILA_SUCCESS; } } } } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element_with_prefix_and_namespace( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *namespace_uri, guththila_char_t *local_name, const axutil_env_t * env) { int i, j, temp, stack_size, nmsp_found = GUTHTHILA_FALSE; guththila_xml_writer_namesp_t * namesp = NULL; guththila_xml_writer_element_t * elem = NULL; int uri_start = 0, pref_start = 0, elem_start = 0, elem_pref_start = 0; size_t uri_len = 0; size_t pref_len = 0; size_t elem_len = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; elem = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_element_t)); uri_len = strlen(namespace_uri); pref_len = strlen(prefix); elem_len = strlen(local_name); stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); /* We have to determine weather we have seen the namespace before */ for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(uri, writer_namesp->uri[j])) { #else if (!guththila_tok_str_cmp (writer_namesp->name[j], prefix, pref_len, env)) { #endif nmsp_found = GUTHTHILA_TRUE; } } } if (elem) { elem->name_sp_stack_no = -1; if (wr->status == START) { guththila_write(wr, "><", 2u, env); elem_pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); if (!nmsp_found) { guththila_write(wr, " ", 1u, env); guththila_write(wr, "xmlns:", 6u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, namespace_uri, uri_len, env); guththila_write(wr, "\"", 1u, env); } } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 2u, env); elem_pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); if (!nmsp_found) { guththila_write(wr, " ", 1u, env); guththila_write(wr, "xmlns:", 6u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, namespace_uri, uri_len, env); guththila_write(wr, "\"", 1u, env); } wr->status = START; } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); elem_pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); if (!nmsp_found) { guththila_write(wr, " ", 1u, env); guththila_write(wr, "xmlns:", 6u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, namespace_uri, uri_len, env); guththila_write(wr, "\"", 1u, env); } wr->status = START; } else { return GUTHTHILA_FAILURE; } if (!nmsp_found) { /* If this namespace not defined previously we need to add it */ namesp = (guththila_xml_writer_namesp_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_namesp_t)); #ifndef GUTHTHILA_XML_WRITER_TOKEN namesp->name = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->uri = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->name[0] = strdup(prefix); namesp->uri[0] = strdup(namespace_uri); #else namesp->name = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->uri = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->name[0] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->name[0]->start = GUTHTHILA_BUF_POS(wr->buffer, pref_start); namesp->name[0]->size = pref_len; namesp->uri[0] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->uri[0]->start = GUTHTHILA_BUF_POS(wr->buffer, uri_start); namesp->uri[0]->size = uri_len; #endif namesp->no = 1; namesp->size = GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE; guththila_stack_push(&wr->namesp, namesp, env); elem->name_sp_stack_no = GUTHTHILA_STACK_TOP_INDEX(wr->namesp); } #ifndef GUTHTHILA_XML_WRITER_TOKEN elem->name = strdup(local_name); elem->prefix = strdup(prefix); #else elem->name = guththila_tok_list_get_token(&wr->tok_list, env); elem->prefix = guththila_tok_list_get_token(&wr->tok_list, env); elem->name->start = GUTHTHILA_BUF_POS(wr->buffer, elem_start); elem->name->size = elem_len; elem->prefix->start = GUTHTHILA_BUF_POS(wr->buffer, elem_pref_start); elem->prefix->size = pref_len; #endif guththila_stack_push(&wr->element, elem, env); } else { return GUTHTHILA_FAILURE; } return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element_with_namespace( guththila_xml_writer_t * wr, guththila_char_t *namespace_uri, guththila_char_t *local_name, const axutil_env_t * env) { int i = 0, j = 0; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp = 0; int elem_start = 0; size_t elem_len = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; guththila_xml_writer_element_t * element; elem_len = strlen(local_name); element = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_element_t)); if (!element) return GUTHTHILA_FAILURE; for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(namespace_uri, writer_namesp->uri[j])) #else if (!guththila_tok_str_cmp (writer_namesp->uri[j], namespace_uri, strlen(namespace_uri), env)) #endif { i = 0; /* force exit from outer loop as well */ break; } } } /* Close off any preceding element and start a new element */ if (wr->status == START) { guththila_write(wr, "><", 2u, env); } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 2u, env); } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); } else { return GUTHTHILA_FAILURE; } /* If there is a prefix, include it. */ if (writer_namesp && (j < writer_namesp->no)) { #ifndef GUTHTHILA_XML_WRITER_TOKEN guththila_write(wr, writer_namesp->name[j], strlen(writer_namesp->name[j]), env); #else guththila_write_token(wr, writer_namesp->name[j], env); #endif guththila_write(wr, ":", 1u, env); } elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); /* Remember this element's name and prefix, so the closing tag can be written later. */ #ifndef GUTHTHILA_XML_WRITER_TOKEN element->name = strdup(local_name); if (writer_namesp && (j < writer_namesp->no)) { element->prefix = strdup(writer_namesp->name[j]); } else { element->prefix = NULL; } #else element->name = guththila_tok_list_get_token(&wr->tok_list, env); element->name->size = elem_len; element->name->start = GUTHTHILA_BUF_POS(wr->buffer, elem_start); if (writer_namesp && (j < writer_namesp->no)) { element->prefix = guththila_tok_list_get_token(&wr->tok_list, env); element->prefix->size = writer_namesp->name[j]->size; element->prefix->start = writer_namesp->name[j]->start; } else { element->prefix = NULL; } #endif element->name_sp_stack_no = -1; wr->status = START; return guththila_stack_push(&wr->element, element, env); } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element_with_prefix( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *local_name, const axutil_env_t * env) { int i, j; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp; int elem_start = 0; size_t elem_len = 0, pref_len = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; elem_len = strlen(local_name); pref_len = strlen(prefix); for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr-> namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { /* if we found a namespace with the given prefix we can proceed */ #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(prefix, writer_namesp->name[j])) { #else if (!guththila_tok_str_cmp(writer_namesp->name[j], prefix, pref_len, env)) { #endif guththila_xml_writer_element_t * element = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env-> allocator, sizeof (guththila_xml_writer_element_t)); if (wr->status == START) { guththila_write(wr, "><", 2u, env); guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, strlen(local_name), env); } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 3u, env); guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, strlen(local_name), env); } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, strlen(local_name), env); } else { return GUTHTHILA_FAILURE; } #ifndef GUTHTHILA_XML_WRITER_TOKEN element->name = strdup(local_name); element->prefix = strdup(prefix); #else element->name = guththila_tok_list_get_token(&wr->tok_list, env); element->name->size = elem_len; element->name->start = GUTHTHILA_BUF_POS(wr->buffer, elem_start); element->prefix = guththila_tok_list_get_token(&wr->tok_list, env); element->prefix->size = writer_namesp->name[j]->size; element->prefix->start = writer_namesp->name[j]->start; #endif wr->status = START; element->name_sp_stack_no = -1; return guththila_stack_push(&wr->element, element, env); } } } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element_with_prefix_and_namespace( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *namespace_uri, guththila_char_t *local_name, const axutil_env_t * env) { int i, j, temp, stack_size, nmsp_found = GUTHTHILA_FALSE; guththila_xml_writer_namesp_t * namesp = NULL; guththila_xml_writer_element_t * elem = NULL; int uri_start = 0, pref_start = 0, elem_start = 0, elem_pref_start = 0; size_t uri_len = 0; size_t pref_len = 0; size_t elem_len = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; namesp = (guththila_xml_writer_namesp_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_namesp_t)); elem = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_element_t)); uri_len = strlen(namespace_uri); pref_len = strlen(prefix); elem_len = strlen(local_name); stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); /* Chech weather we have defined this namespace before */ for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(uri, writer_namesp->uri[j])) { #else if (!guththila_tok_str_cmp (writer_namesp->name[j], prefix, pref_len, env)) { #endif nmsp_found = GUTHTHILA_TRUE; } } } if (namesp && elem) { elem->name_sp_stack_no = -1; if (wr->status == START) { guththila_write(wr, "><", 2u, env); elem_pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); if (!nmsp_found) { guththila_write(wr, " ", 1u, env); guththila_write(wr, "xmlns:", 6u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, namespace_uri, uri_len, env); guththila_write(wr, "\"", 1u, env); } wr->status = START_EMPTY; } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 2u, env); elem_pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); if (!nmsp_found) { guththila_write(wr, " ", 1u, env); guththila_write(wr, "xmlns:", 6u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, namespace_uri, uri_len, env); guththila_write(wr, "\"", 1u, env); } } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); elem_pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); if (!nmsp_found) { guththila_write(wr, " ", 1u, env); guththila_write(wr, "xmlns:", 6u, env); pref_start = wr->next; guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, "=\"", 2u, env); uri_start = wr->next; guththila_write_xtoken(wr, namespace_uri, uri_len, env); guththila_write(wr, "\"", 1u, env); } wr->status = START_EMPTY; } else { return GUTHTHILA_FAILURE; } if (!nmsp_found) { /* If the namespace is not defined we need to remember it for later*/ #ifndef GUTHTHILA_XML_WRITER_TOKEN namesp->name = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->uri = (guththila_char_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_char_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->name[0] = strdup(prefix); namesp->uri[0] = strdup(namespace_uri); #else namesp->name = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->uri = (guththila_token_t **) AXIS2_MALLOC(env->allocator, sizeof(guththila_token_t *) * GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE); namesp->name[0] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->name[0]->start = GUTHTHILA_BUF_POS(wr->buffer, pref_start); namesp->name[0]->size = pref_len; namesp->uri[0] = guththila_tok_list_get_token(&wr->tok_list, env); namesp->uri[0]->start = GUTHTHILA_BUF_POS(wr->buffer, uri_start); namesp->uri[0]->size = uri_len; #endif namesp->no = 1; namesp->size = GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE; guththila_stack_push(&wr->namesp, namesp, env); elem->name_sp_stack_no = GUTHTHILA_STACK_TOP_INDEX(wr->namesp); } #ifndef GUTHTHILA_XML_WRITER_TOKEN elem->name = strdup(local_name); elem->prefix = strdup(prefix); #else elem->name = guththila_tok_list_get_token(&wr->tok_list, env); elem->prefix = guththila_tok_list_get_token(&wr->tok_list, env); elem->name->start = GUTHTHILA_BUF_POS(wr->buffer, elem_start); elem->name->size = elem_len; elem->prefix->start = GUTHTHILA_BUF_POS(wr->buffer, elem_pref_start); elem->prefix->size = pref_len; #endif guththila_stack_push(&wr->element, elem, env); } return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element_with_namespace( guththila_xml_writer_t * wr, guththila_char_t *namespace_uri, guththila_char_t *local_name, const axutil_env_t * env) { int i = 0, j = 0; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp = 0; int elem_start = 0; size_t elem_len = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; guththila_xml_writer_element_t * element; elem_len = strlen(local_name); element = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_element_t)); if (!element) return GUTHTHILA_FAILURE; for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr->namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(namespace_uri, writer_namesp->uri[j])) #else if (!guththila_tok_str_cmp (writer_namesp->uri[j], namespace_uri, strlen(namespace_uri), env)) #endif { i = 0; /* force exit from outer loop as well */ break; } } } /* Close off any preceding element and start a new element */ if (wr->status == START) { guththila_write(wr, "><", 2u, env); } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 2u, env); } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); } else { return GUTHTHILA_FAILURE; } /* If there is a prefix, include it. */ if (writer_namesp && (j < writer_namesp->no)) { #ifndef GUTHTHILA_XML_WRITER_TOKEN guththila_write(wr, writer_namesp->name[j], strlen(writer_namesp->name[j]), env); #else guththila_write_token(wr, writer_namesp->name[j], env); #endif guththila_write(wr, ":", 1u, env); } elem_start = wr->next; guththila_write_xtoken(wr, local_name, elem_len, env); /* Remember this element's name and prefix, so the closing tag can be written later. */ #ifndef GUTHTHILA_XML_WRITER_TOKEN element->name = strdup(local_name); if (writer_namesp && (j < writer_namesp->no)) { element->prefix = strdup(writer_namesp->name[j]); } else { element->prefix = NULL; } #else element->name = guththila_tok_list_get_token(&wr->tok_list, env); element->name->size = elem_len; element->name->start = GUTHTHILA_BUF_POS(wr->buffer, elem_start); if (writer_namesp && (j < writer_namesp->no)) { element->prefix = guththila_tok_list_get_token(&wr->tok_list, env); element->prefix->size = writer_namesp->name[j]->size; element->prefix->start = writer_namesp->name[j]->start; } else { element->prefix = NULL; } #endif element->name_sp_stack_no = -1; wr->status = START_EMPTY; return guththila_stack_push(&wr->element, element, env); } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element_with_prefix( guththila_xml_writer_t * wr, guththila_char_t *prefix, guththila_char_t *local_name, const axutil_env_t * env) { int i, j; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp; int elem_start = 0; size_t elem_len = 0, pref_len = 0; guththila_xml_writer_namesp_t * writer_namesp = NULL; elem_len = strlen(local_name); pref_len = strlen(prefix); for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr-> namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { /* Proceed if we found the namespace */ #ifndef GUTHTHILA_XML_WRITER_TOKEN if (!strcmp(prefix, writer_namesp->name[j])) { #else if (!guththila_tok_str_cmp(writer_namesp->name[j], prefix, pref_len, env)) { #endif guththila_xml_writer_element_t * element = (guththila_xml_writer_element_t *) AXIS2_MALLOC(env-> allocator, sizeof (guththila_xml_writer_element_t)); if (wr->status == START) { guththila_write(wr, "><", 2u, env); guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, strlen(local_name), env); } else if (wr->status == START_EMPTY) { guththila_free_empty_element(wr, env); guththila_write(wr, "/><", 3u, env); guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, strlen(local_name), env); } else if (wr->status == BEGINING) { guththila_write(wr, "<", 1u, env); guththila_write_xtoken(wr, prefix, pref_len, env); guththila_write(wr, ":", 1u, env); elem_start = wr->next; guththila_write_xtoken(wr, local_name, strlen(local_name), env); } else { return GUTHTHILA_FAILURE; } #ifndef GUTHTHILA_XML_WRITER_TOKEN element->name = strdup(local_name); element->prefix = strdup(prefix); #else element->name = guththila_tok_list_get_token(&wr->tok_list, env); element->name->size = elem_len; element->name->start = GUTHTHILA_BUF_POS(wr->buffer, elem_start); element->prefix = guththila_tok_list_get_token(&wr->tok_list, env); element->prefix->size = writer_namesp->name[j]->size; element->prefix->start = writer_namesp->name[j]->start; #endif wr->status = START_EMPTY; element->name_sp_stack_no = -1; /* remember the element */ return guththila_stack_push(&wr->element, element, env); } } } return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_end_document( guththila_xml_writer_t * wr, const axutil_env_t * env) { int i = 0; int size = GUTHTHILA_STACK_SIZE(wr->element); if (wr->status == START_EMPTY) guththila_write_end_element(wr, env); /* For all the open elements in the element stack close them */ for (i = 0; i < size; i++) { if (!guththila_write_end_element(wr, env)) { return GUTHTHILA_FAILURE; } } return GUTHTHILA_SUCCESS; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_line( guththila_xml_writer_t * wr, guththila_char_t *element_name, guththila_char_t *characters, const axutil_env_t * env) { guththila_write_start_element(wr, element_name, env); guththila_write_characters(wr, characters, env); guththila_write_end_element(wr, env); guththila_write_characters(wr, "\n", env); return GUTHTHILA_FAILURE; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_memory_buffer( guththila_xml_writer_t * wr, const axutil_env_t * env) { if (wr->type == GUTHTHILA_WRITER_MEMORY) { return (guththila_char_t *) guththila_buffer_get(&wr->buffer, env); } return NULL; } GUTHTHILA_EXPORT unsigned int GUTHTHILA_CALL guththila_get_memory_buffer_size( guththila_xml_writer_t * wr, const axutil_env_t * env) { if (wr->type == GUTHTHILA_WRITER_MEMORY) { return (unsigned int)(wr->buffer.pre_tot_data + wr->buffer.data_size[wr->buffer.cur_buff]); } return 0; } GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_prefix_for_namespace( guththila_xml_writer_t * wr, guththila_char_t *nmsp, const axutil_env_t * env) { int i, j; int stack_size = GUTHTHILA_STACK_SIZE(wr->namesp); int temp; guththila_char_t *str = NULL; guththila_xml_writer_namesp_t * writer_namesp = NULL; for (i = stack_size - 1; i >= 0; i--) { writer_namesp = (guththila_xml_writer_namesp_t *) guththila_stack_get_by_index(&wr-> namesp, i, env); temp = writer_namesp->no; for (j = 0; j < temp; j++) { if (!guththila_tok_str_cmp (writer_namesp->uri[j], nmsp, strlen(nmsp), env)) { GUTHTHILA_TOKEN_TO_STRING(writer_namesp->uri[j], str, env); return str; } } } return NULL; } GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_to_buffer( guththila_xml_writer_t * wr, guththila_char_t *buff, int size, const axutil_env_t * env) { /* Just write what ever given. But need to close things before */ if(wr->status == START) { guththila_write(wr,">", 1u, env); } if(wr->status == START_EMPTY) { guththila_write(wr, "/>", 2u, env); } guththila_write(wr, buff, size, env); wr->status = BEGINING; return GUTHTHILA_SUCCESS; } axis2c-src-1.6.0/guththila/NEWS0000644000175000017500000000000011166304562017316 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/depcomp0000755000000000000000000004224610527332127017052 0ustar00rootroot00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 . 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 . 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. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" 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" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. 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 tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; 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 mechanism 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 $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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: axis2c-src-1.6.0/guththila/LICENSE0000644000175000017500000002613711166304562017647 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/guththila/aclocal.m40000644000175000017500000101251711166310370020472 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/guththila/config.status0000755000175000017500000007705611172017254021361 0ustar00manjulamanjula00000000000000#! /bin/bash # Generated by configure. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=${CONFIG_SHELL-/bin/bash} ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by guththilac-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " # Files that config.status was made for. config_files=" Makefile src/Makefile" config_headers=" config.h" config_commands=" depfiles" ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." ac_cs_version="\ guththilac-src config.status 1.6.0 configured by ./configure, generated by GNU Autoconf 2.61, with options \"'--prefix=/home/manjula/release/c/deploy' '--enable-tests=yes' '--with-apache2=/usr/local/apache2/include' '--enable-tcp=yes' '--with-archive=/usr/include' 'CFLAGS=-g3 -O0' '--cache-file=/dev/null' '--srcdir=.'\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='/home/manjula/release/c/guththila' srcdir='.' INSTALL='/usr/bin/install -c' MKDIR_P='/bin/mkdir -p' # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi if $ac_cs_recheck; then echo "running CONFIG_SHELL=/bin/bash /bin/bash ./configure " '--prefix=/home/manjula/release/c/deploy' '--enable-tests=yes' '--with-apache2=/usr/local/apache2/include' '--enable-tcp=yes' '--with-archive=/usr/include' 'CFLAGS=-g3 -O0' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=/bin/bash export CONFIG_SHELL exec /bin/bash "./configure" '--prefix=/home/manjula/release/c/deploy' '--enable-tests=yes' '--with-apache2=/usr/local/apache2/include' '--enable-tcp=yes' '--with-archive=/usr/include' 'CFLAGS=-g3 -O0' '--cache-file=/dev/null' '--srcdir=.' $ac_configure_extra_args --no-create --no-recursion fi exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 # # INIT-COMMANDS # AMDEP_TRUE="" ac_aux_dir="." # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then cat >"$tmp/subs-1.sed" <<\CEOF /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s,@SHELL@,|#_!!_#|/bin/bash,g s,@PATH_SEPARATOR@,|#_!!_#|:,g s,@PACKAGE_NAME@,|#_!!_#|guththilac-src,g s,@PACKAGE_TARNAME@,|#_!!_#|guththilac-src,g s,@PACKAGE_VERSION@,|#_!!_#|1.6.0,g s,@PACKAGE_STRING@,|#_!!_#|guththilac-src 1.6.0,g s,@PACKAGE_BUGREPORT@,|#_!!_#|,g s,@exec_prefix@,|#_!!_#|${prefix},g s,@prefix@,|#_!!_#|/home/manjula/release/c/deploy,g s,@program_transform_name@,|#_!!_#|s\,x\,x\,,g s,@bindir@,|#_!!_#|${exec_prefix}/bin,g s,@sbindir@,|#_!!_#|${exec_prefix}/sbin,g s,@libexecdir@,|#_!!_#|${exec_prefix}/libexec,g s,@datarootdir@,|#_!!_#|${prefix}/share,g s,@datadir@,|#_!!_#|${datarootdir},g s,@sysconfdir@,|#_!!_#|${prefix}/etc,g s,@sharedstatedir@,|#_!!_#|${prefix}/com,g s,@localstatedir@,|#_!!_#|${prefix}/var,g s,@includedir@,|#_!!_#|${prefix}/include,g s,@oldincludedir@,|#_!!_#|/usr/include,g s,@docdir@,|#_!!_#|${datarootdir}/doc/${PACKAGE_TARNAME},g s,@infodir@,|#_!!_#|${datarootdir}/info,g s,@htmldir@,|#_!!_#|${docdir},g s,@dvidir@,|#_!!_#|${docdir},g s,@pdfdir@,|#_!!_#|${docdir},g s,@psdir@,|#_!!_#|${docdir},g s,@libdir@,|#_!!_#|${exec_prefix}/lib,g s,@localedir@,|#_!!_#|${datarootdir}/locale,g s,@mandir@,|#_!!_#|${datarootdir}/man,g s,@DEFS@,|#_!!_#|-DHAVE_CONFIG_H,g s,@ECHO_C@,|#_!!_#|,g s,@ECHO_N@,|#_!!_#|-n,g s,@ECHO_T@,|#_!!_#|,g s,@LIBS@,|#_!!_#|-ldl ,g s,@build_alias@,|#_!!_#|,g s,@host_alias@,|#_!!_#|,g s,@target_alias@,|#_!!_#|,g s,@build@,|#_!!_#|i686-pc-linux-gnu,g s,@build_cpu@,|#_!!_#|i686,g s,@build_vendor@,|#_!!_#|pc,g s,@build_os@,|#_!!_#|linux-gnu,g s,@host@,|#_!!_#|i686-pc-linux-gnu,g s,@host_cpu@,|#_!!_#|i686,g s,@host_vendor@,|#_!!_#|pc,g s,@host_os@,|#_!!_#|linux-gnu,g s,@target@,|#_!!_#|i686-pc-linux-gnu,g s,@target_cpu@,|#_!!_#|i686,g s,@target_vendor@,|#_!!_#|pc,g s,@target_os@,|#_!!_#|linux-gnu,g s,@INSTALL_PROGRAM@,|#_!!_#|${INSTALL},g s,@INSTALL_SCRIPT@,|#_!!_#|${INSTALL},g s,@INSTALL_DATA@,|#_!!_#|${INSTALL} -m 644,g s,@am__isrc@,|#_!!_#|,g s,@CYGPATH_W@,|#_!!_#|echo,g s,@PACKAGE@,|#_!!_#|guththilac-src,g s,@VERSION@,|#_!!_#|1.6.0,g s,@ACLOCAL@,|#_!!_#|${SHELL} /home/manjula/release/c/guththila/missing --run aclocal-1.10,g s,@AUTOCONF@,|#_!!_#|${SHELL} /home/manjula/release/c/guththila/missing --run autoconf,g s,@AUTOMAKE@,|#_!!_#|${SHELL} /home/manjula/release/c/guththila/missing --run automake-1.10,g s,@AUTOHEADER@,|#_!!_#|${SHELL} /home/manjula/release/c/guththila/missing --run autoheader,g s,@MAKEINFO@,|#_!!_#|${SHELL} /home/manjula/release/c/guththila/missing --run makeinfo,g s,@install_sh@,|#_!!_#|$(SHELL) /home/manjula/release/c/guththila/install-sh,g s,@STRIP@,|#_!!_#|strip,g s,@INSTALL_STRIP_PROGRAM@,|#_!!_#|$(install_sh) -c -s,g s,@mkdir_p@,|#_!!_#|/bin/mkdir -p,g s,@AWK@,|#_!!_#|mawk,g s,@SET_MAKE@,|#_!!_#|,g s,@am__leading_dot@,|#_!!_#|.,g s,@AMTAR@,|#_!!_#|${SHELL} /home/manjula/release/c/guththila/missing --run tar,g s,@am__tar@,|#_!!_#|${AMTAR} chof - "$$tardir",g s,@am__untar@,|#_!!_#|${AMTAR} xf -,g s,@CC@,|#_!!_#|gcc,g s,@CFLAGS@,|#_!!_#|-g3 -O0 -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED -ansi -ggdb3 -Wall -Wno-implicit-function-declaration ,g s,@LDFLAGS@,|#_!!_#| -lpthread,g s,@CPPFLAGS@,|#_!!_#|,g s,@ac_ct_CC@,|#_!!_#|gcc,g s,@EXEEXT@,|#_!!_#|,g s,@OBJEXT@,|#_!!_#|o,g s,@DEPDIR@,|#_!!_#|.deps,g s,@am__include@,|#_!!_#|include,g s,@am__quote@,|#_!!_#|,g s,@AMDEP_TRUE@,|#_!!_#|,g s,@AMDEP_FALSE@,|#_!!_#|#,g s,@AMDEPBACKSLASH@,|#_!!_#|\\,g s,@CCDEPMODE@,|#_!!_#|depmode=gcc3,g s,@am__fastdepCC_TRUE@,|#_!!_#|,g s,@am__fastdepCC_FALSE@,|#_!!_#|#,g s,@CXX@,|#_!!_#|g++,g s,@CXXFLAGS@,|#_!!_#|-g -O2,g s,@ac_ct_CXX@,|#_!!_#|g++,g s,@CXXDEPMODE@,|#_!!_#|depmode=gcc3,g s,@am__fastdepCXX_TRUE@,|#_!!_#|,g s,@am__fastdepCXX_FALSE@,|#_!!_#|#,g s,@CPP@,|#_!!_#|gcc -E,g s,@SED@,|#_!!_#|/bin/sed,g s,@GREP@,|#_!!_#|/bin/grep,g s,@EGREP@,|#_!!_#|/bin/grep -E,g CEOF cat >"$tmp/subs-2.sed" <<\CEOF /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end s,@LN_S@,|#_!!_#|ln -s,g s,@ECHO@,|#_!!_#|echo,g s,@AR@,|#_!!_#|ar,g s,@RANLIB@,|#_!!_#|ranlib,g s,@CXXCPP@,|#_!!_#|g++ -E,g s,@F77@,|#_!!_#|,g s,@FFLAGS@,|#_!!_#|,g s,@ac_ct_F77@,|#_!!_#|,g s,@LIBTOOL@,|#_!!_#|$(SHELL) $(top_builddir)/libtool,g s,@LIBOBJS@,|#_!!_#|,g s,@UTILINC@,|#_!!_#|,g s,@VERSION_NO@,|#_!!_#|6:0:6,g s,@LTLIBOBJS@,|#_!!_#|,g :end s/|#_!!_#|//g CEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} ac_datarootdir_hack=' s&@datadir@&${datarootdir}&g s&@docdir@&${datarootdir}/doc/${PACKAGE_TARNAME}&g s&@infodir@&${datarootdir}/info&g s&@localedir@&${datarootdir}/locale&g s&@mandir@&${datarootdir}/man&g s&\${datarootdir}&${prefix}/share&g' ;; esac sed "/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// } :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # # First, check the format of the line: cat >"$tmp/defines.sed" <<\CEOF /^[ ]*#[ ]*undef[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[ ]*$/b def /^[ ]*#[ ]*define[ ][ ]*[_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ][_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789]*[( ]/b def b :def s/$/ / s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_NAME\)[ (].*,\1define\2 "guththilac-src" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_TARNAME\)[ (].*,\1define\2 "guththilac-src" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_VERSION\)[ (].*,\1define\2 "1.6.0" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_STRING\)[ (].*,\1define\2 "guththilac-src 1.6.0" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE_BUGREPORT\)[ (].*,\1define\2 "" , s,^\([ #]*\)[^ ]*\([ ]*PACKAGE\)[ (].*,\1define\2 "guththilac-src" , s,^\([ #]*\)[^ ]*\([ ]*VERSION\)[ (].*,\1define\2 "1.6.0" , s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_TYPES_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_SYS_STAT_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_MEMORY_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRINGS_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_INTTYPES_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDINT_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_UNISTD_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_DLFCN_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_ISO_VARARGS\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_GNUC_VARARGS\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_LIBDL\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*STDC_HEADERS\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDIO_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STRING_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_MALLOC\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_STDLIB_H\)[ (].*,\1define\2 1 , s,^\([ #]*\)[^ ]*\([ ]*HAVE_REALLOC\)[ (].*,\1define\2 1 , s/ $// s,^[ #]*u.*,/* & */, CEOF sed -f "$tmp/defines.sed" $ac_file_inputs >"$tmp/out1" ac_result="$tmp/out1" if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } axis2c-src-1.6.0/guththila/tests/0000777000175000017500000000000011172017534017774 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/tests/s0000755000175000017500000000061611166304553020166 0ustar00manjulamanjula00000000000000#!/usr/bin/perl -w use strict; if ($ARGV[0] == 1) { print "compiling writer\n"; system "gcc -Wall -g3 -O0 -o writer guththila_writer_main.c -L\$AXIS2C_HOME/lib -I\$AXIS2C_HOME/include -lguththila -laxis2_util"; } else { print "compiling reader tests \n"; system "gcc -Wall -g3 -O0 -o reader *.c \-L\$AXIS2C_HOME/lib \-I\$AXIS2C_HOME/include -lcheck -lguththila \-laxis2_util"; } axis2c-src-1.6.0/guththila/tests/test_attribute.c0000644000175000017500000000567411166304553023215 0ustar00manjulamanjula00000000000000#include #include #include "test.h" START_TEST(test_attribute) { int count = 0;; int c = 0; guththila_attribute_t *att; red = guththila_reader_create_for_file(env, "resources/om/evaluate.xml"); parser = guththila_create(env, red); guththila_read(env, parser); c = guththila_next(env, parser); while (!count) { c = guththila_next(env, parser); count = guththila_get_attribute_count(env, parser); if (count) att = guththila_get_attribute(env, parser); } fail_if(count == 0, "guththila attribute count failed"); fail_unless(!strcmp (guththila_get_attribute_name(env, parser, att), "color"), "guththila attribute name failed"); fail_unless(!strcmp (guththila_get_attribute_value(env, parser, att), "brown"), "guththila attribute value failed"); } END_TEST START_TEST( test_attribute_prefix) { int count = 0;; int c = 0; guththila_attribute_t *att; red = guththila_reader_create_for_file(env, "resources/soap/soapmessage.xml"); parser = guththila_create(env, red); guththila_read(env, parser); c = guththila_next(env, parser); while (!count) { c = guththila_next(env, parser); count = guththila_get_attribute_count(env, parser); if (count) att = guththila_get_attribute(env, parser); } fail_if(count == 0, "guththila attribute count failed"); fail_unless(!strcmp (guththila_get_attribute_prefix(env, parser, att), "soapenv"), "guththila attribute count failed"); fail_unless(!strcmp (guththila_get_attribute_name(env, parser, att), "mustUnderstand"), "guththila attribute count failed"); fail_unless(!strcmp(guththila_get_attribute_value(env, parser, att), "0"), "guththila attribute count failed"); count = 0; while (!count) { c = guththila_next(env, parser); count = guththila_get_attribute_count(env, parser); if (count) att = guththila_get_attribute(env, parser); } fail_unless(!strcmp (guththila_get_attribute_prefix(env, parser, att), "soapenv"), "guththila attribute count failed"); fail_unless(!strcmp (guththila_get_attribute_name(env, parser, att), "mustUnderstand"), "guththila attribute count failed"); fail_if(!strcmp(guththila_get_attribute_value(env, parser, att), "1"), "guththila attribute count failed"); } END_TEST Suite * guththila_attribute_suite(void) { Suite *s = suite_create("Guththila_attribute"); /* Core test case */ TCase *tc_core = tcase_create("attribute"); tcase_add_checked_fixture(tc_core, setup, teardown); tcase_add_test(tc_core, test_attribute); tcase_add_test(tc_core, test_attribute_prefix); suite_add_tcase(s, tc_core); return s; } axis2c-src-1.6.0/guththila/tests/test.c0000644000175000017500000001333611166304553021124 0ustar00manjulamanjula00000000000000#include #include #include "guththila_defines.h" #include "test.h" void setup( void) { allocator = axutil_allocator_init(NULL); env = axutil_env_create(allocator); } void teardown( void) { guththila_reader_free(env, red); guththila_free(env, parser); axutil_env_free(env); } START_TEST(test_guththila) { red = guththila_reader_create_for_file(env, "resources/om/axis.xml"); parser = guththila_create(env, red); fail_if(red == NULL, "guththila reader failed"); fail_if(parser == NULL, "guththila parser failed"); } END_TEST START_TEST( test_guththila_start_element) { int c = 0; char *p; red = guththila_reader_create_for_file(env, "resources/om/axis.xml"); parser = guththila_create(env, red); guththila_read(env, parser); c = guththila_next(env, parser); while ((c != GUTHTHILA_START_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_START_ELEMENT), "no start element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "root"), "root element differed"); c = 0; while ((c != GUTHTHILA_START_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_START_ELEMENT), "no start element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "a"), "a element differed"); c = 0; while ((c != GUTHTHILA_START_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless(!strcmp(p, "b"), "b element differed"); } END_TEST START_TEST( test_guththila_empty_element) { int c = 0; char *p; red = guththila_reader_create_for_file(env, "resources/om/axis.xml"); parser = guththila_create(env, red); guththila_read(env, parser); c = guththila_next(env, parser); while ((c != GUTHTHILA_EMPTY_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_EMPTY_ELEMENT), "no empty element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "a.1"), "a.1 element differed"); c = 0; while ((c != GUTHTHILA_EMPTY_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_EMPTY_ELEMENT), "no empty element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "a.2"), "a.2 element differed"); c = 0; while ((c != GUTHTHILA_START_ELEMENT)) c = guththila_next(env, parser); c = 0; while ((c != GUTHTHILA_EMPTY_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_EMPTY_ELEMENT), "no empty element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "b.1"), "b.1 element differed"); } END_TEST START_TEST( test_guththila_end_element) { int c = 0; char *p; red = guththila_reader_create_for_file(env, "resources/om/axis.xml"); parser = guththila_create(env, red); guththila_read(env, parser); c = guththila_next(env, parser); while ((c != GUTHTHILA_END_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_END_ELEMENT), "no end element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "a"), "a element differed"); c = 0; while ((c != GUTHTHILA_END_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_END_ELEMENT), "no endelement found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "b"), "b element differed"); c = 0; while ((c != GUTHTHILA_END_ELEMENT)) c = guththila_next(env, parser); p = guththila_get_name(env, parser); fail_unless((c == GUTHTHILA_END_ELEMENT), "no empty element found"); fail_if((p == NULL), "no name found"); fail_unless(!strcmp(p, "root"), "root element differed"); } END_TEST START_TEST( test_guththila_character) { int c = 0; int i = 0; char *p; red = guththila_reader_create_for_file(env, "resources/om/numbers.xml"); parser = guththila_create(env, red); guththila_read(env, parser); c = guththila_next(env, parser); while (i < 3) { if (c == GUTHTHILA_START_ELEMENT) i++; c = guththila_next(env, parser); } if (c == GUTHTHILA_CHARACTER) p = guththila_get_value(env, parser); fail_unless(!strcmp(p, "3"), "3 not found"); c = 0; while ((c != GUTHTHILA_CHARACTER) || (parser->is_whitespace)) c = guththila_next(env, parser); p = guththila_get_value(env, parser); fail_unless(!strcmp(p, "24"), "24 not found"); } END_TEST Suite * guththila_suite(void) { Suite *s = suite_create("Guththila"); /* Core test case */ TCase *tc_core = tcase_create("Core"); tcase_add_checked_fixture(tc_core, setup, teardown); tcase_add_test(tc_core, test_guththila); tcase_add_test(tc_core, test_guththila_start_element); tcase_add_test(tc_core, test_guththila_empty_element); tcase_add_test(tc_core, test_guththila_end_element); tcase_add_test(tc_core, test_guththila_character); suite_add_tcase(s, tc_core); return s; } int main( void) { int number_failed; Suite *s = guththila_suite(); Suite *att = guththila_attribute_suite(); SRunner *sr = srunner_create(s); srunner_add_suite(sr, att); srunner_set_log(sr, "guththila.log"); srunner_run_all(sr, CK_NORMAL); number_failed = srunner_ntests_failed(sr); srunner_free(sr); return (number_failed == 0) ? EXIT_SUCCESS : EXIT_FAILURE; } axis2c-src-1.6.0/guththila/tests/test.h0000644000175000017500000000055211166304553021125 0ustar00manjulamanjula00000000000000#ifndef _GUTHTHILA_TESTS_ #define _GUTHTHILA_TESTS_ #include #include #include "guththila_defines.h" axutil_allocator_t *allocator; guththila_reader_t *red; axutil_env_t *env; guththila_t *parser; void setup( void); void teardown( void); Suite *guththila_suite( void); Suite *guththila_attribute_suite( void); #endif axis2c-src-1.6.0/guththila/tests/resources/0000777000175000017500000000000011172017534022006 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/tests/resources/om/0000777000175000017500000000000011172017535022422 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/tests/resources/om/basic.xml0000644000175000017500000000024011166304614024215 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/om/evaluate.xml0000644000175000017500000000117511166304614024752 0ustar00manjulamanjula00000000000000 brown moderate axis2c-src-1.6.0/guththila/tests/resources/om/jaxen3.xml0000644000175000017500000000051211166304614024326 0ustar00manjulamanjula00000000000000 2 CE-A 1 CE-B axis2c-src-1.6.0/guththila/tests/resources/om/message.xml0000644000175000017500000000107111166304614024563 0ustar00manjulamanjula00000000000000
    lookupformservice 9 stammdaten new
    iteminfo ELE parentinfo Pruefgebiete id 1
    axis2c-src-1.6.0/guththila/tests/resources/om/testNamespaces.xml0000644000175000017500000000103211166304614026113 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/om/fibo.xml0000644000175000017500000000212111166304614024053 0ustar00manjulamanjula00000000000000 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 axis2c-src-1.6.0/guththila/tests/resources/om/nitf.xml0000644000175000017500000000575111166304614024110 0ustar00manjulamanjula00000000000000 Use of Napster Quadruples By PETER SVENSSON AP Business Writer The Associated Press NEW YORK

    Despite the uncertain legality of the Napster online music-sharing service, the number of people using it more than quadrupled in just five months, Media Metrix said Monday.

    That made Napster the fastest-growing software application ever recorded by the Internet research company.

    From 1.1 million home users in the United States in February, the first month Media Metrix tracked the application, Napster use rocketed to 4.9 million users in July.

    That represents 6 percent of U.S. home PC users who have modems, said Media Metrix, which pays people to install monitoring software on their computers.

    It estimates total usage from a panel of about 50,000 people in the United States.

    Napster was also used at work by 887,000 people in July, Media Metrix said.

    Napster Inc. has been sued by the recording industry for allegedly enabling copyright infringement. The federal government weighed in on the case Friday, saying the service is not protected under a key copyright law, as the San Mateo, Calif., company claims.

    Bruce Ryon, head of Media Metrix's New Media Group, said Napster was used by "the full spectrum of PC users, not just the youth with time on their hands and a passion for music."

    The Napster program allows users to copy digital music files from the hard drives of other users over the Internet.

    Napster Inc. said last week that 28 million people had downloaded its program. It does not reveal its own figures for how many people actually use the software.

    Because the program connects to the company's computers over the Internet every time it is run, Napster Inc. can track usage exactly.

    __

    On the Net:

    http://www.napster.com

    http://www.mediametrix.com

    axis2c-src-1.6.0/guththila/tests/resources/om/underscore.xml0000644000175000017500000000011611166304614025307 0ustar00manjulamanjula00000000000000 1 <_b>2 axis2c-src-1.6.0/guththila/tests/resources/om/test.xml0000644000175000017500000000071211166304614024117 0ustar00manjulamanjula00000000000000 Axis2C OM HOWTO1748491379 1748491379

    This is vey good book on OM!

    axis2c-src-1.6.0/guththila/tests/resources/om/defaultNamespace.xml0000644000175000017500000000013411166304614026377 0ustar00manjulamanjula00000000000000 Hello axis2c-src-1.6.0/guththila/tests/resources/om/jaxen24.xml0000644000175000017500000000013211166304614024407 0ustar00manjulamanjula00000000000000

    axis2c-src-1.6.0/guththila/tests/resources/om/namespaces.xml0000644000175000017500000000047311166304614025263 0ustar00manjulamanjula00000000000000 Hello Hey Hey2 Hey3 axis2c-src-1.6.0/guththila/tests/resources/om/moreover.xml0000644000175000017500000002706611166304614025011 0ustar00manjulamanjula00000000000000
    http://c.moreover.com/click/here.pl?x13563273 e-Commerce Operators Present Version 1.0 of the XML Standard StockAccess text moreover... http://www.stockaccess.com/index.html Dec 24 2000 6:28AM
    http://c.moreover.com/click/here.pl?x13560995 W3C Publishes XML Protocol Requirements Document Xml text moreover... http://www.xml.com/ Dec 24 2000 12:22AM
    http://c.moreover.com/click/here.pl?x13553521 Prowler: Open Source XML-Based Content Management Framework Xml text moreover... http://www.xml.com/ Dec 23 2000 2:05PM
    http://c.moreover.com/click/here.pl?x13549013 The Middleware Company Debuts Public Training Courses in Ejb, J2ee And Xml Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 23 2000 12:15PM
    http://c.moreover.com/click/here.pl?x13544467 Revised Working Draft for the W3C XML Information Set Xml text moreover... http://www.xml.com/ Dec 23 2000 5:50AM
    http://c.moreover.com/click/here.pl?x13534836 XML: Its The Great Peacemaker ZDNet text moreover... http://www.zdnet.com/intweek/ Dec 22 2000 9:05PM
    http://c.moreover.com/click/here.pl?x13533485 Project eL - The XML Leningrad Codex Markup Project Xml text moreover... http://www.xml.com/ Dec 22 2000 8:34PM
    http://c.moreover.com/click/here.pl?x13533488 XML Linking Language (XLink) and XML Base Specifications Issued as W3C Proposed Recommenda Xml text moreover... http://www.xml.com/ Dec 22 2000 8:34PM
    http://c.moreover.com/click/here.pl?x13533492 W3C Releases XHTML Basic Specification as a W3C Recommendation Xml text moreover... http://www.xml.com/ Dec 22 2000 8:34PM
    http://c.moreover.com/click/here.pl?x13521827 Java, Xml And Oracle9i(TM) Make A Great Team Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 22 2000 3:21PM
    http://c.moreover.com/click/here.pl?x13511233 Competing initiatives to vie for security standard ZDNet text moreover... http://www.zdnet.com/eweek/filters/news/ Dec 22 2000 10:54AM
    http://c.moreover.com/click/here.pl?x13492397 Oracle Provides Developers with Great Xml Reading This Holiday Season Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 21 2000 8:08PM
    http://c.moreover.com/click/here.pl?x13491292 XML as the great peacemaker - Extensible Markup Language Accomplished The Seemingly Impossible This Year: It B Hospitality Net text moreover... http://www.hospitalitynet.org/news/list.htm?c=2000 Dec 21 2000 7:45PM
    http://c.moreover.com/click/here.pl?x13484758 XML as the great peacemaker CNET text moreover... http://news.cnet.com/news/0-1003.html?tag=st.ne.1002.dir.1003 Dec 21 2000 4:41PM
    http://c.moreover.com/click/here.pl?x13480896 COOP Switzerland Selects Mercator as Integration Platform Stockhouse Canada text moreover... http://www.stockhouse.ca/news/ Dec 21 2000 1:55PM
    http://c.moreover.com/click/here.pl?x13471023 Competing XML Specs Move Toward a Union Internet World text moreover... http://www.internetworld.com/ Dec 21 2000 11:14AM
    http://c.moreover.com/click/here.pl?x13452280 Next-generation XHTML stripped down for handhelds CNET text moreover... http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005 Dec 20 2000 9:11PM
    http://c.moreover.com/click/here.pl?x13451789 Xml Powers Oracle9i(TM) Dynamic Services Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 20 2000 9:05PM
    http://c.moreover.com/click/here.pl?x13442097 XML DOM reference guide ASPWire text moreover... http://aspwire.com/ Dec 20 2000 6:26PM
    http://c.moreover.com/click/here.pl?x13424117 Repeat/Xqsite And Bowstreet Team to Deliver Integrated Xml Solutions Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 20 2000 9:04AM
    axis2c-src-1.6.0/guththila/tests/resources/om/id.xml0000644000175000017500000000057511166304614023543 0ustar00manjulamanjula00000000000000 ]> baz gouda baz cheddar baz axis2c-src-1.6.0/guththila/tests/resources/om/axis.xml0000644000175000017500000000033511166304614024105 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/om/pi.xml0000644000175000017500000000024411166304614023550 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/om/basicupdate.xml0000644000175000017500000000220211166304614025420 0ustar00manjulamanjula00000000000000 Goudse kaas Rond More cheese! Even more cheese! No sausages today axis2c-src-1.6.0/guththila/tests/resources/om/pi2.xml0000644000175000017500000000012011166304614023623 0ustar00manjulamanjula00000000000000 foo bar axis2c-src-1.6.0/guththila/tests/resources/om/web.xml0000644000175000017500000000152011166304614023713 0ustar00manjulamanjula00000000000000 snoop SnoopServlet file ViewFile initial 1000 The initial value for the counter mv *.wm manager director president axis2c-src-1.6.0/guththila/tests/resources/om/lang.xml0000644000175000017500000000024111166304614024056 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/om/web2.xml0000644000175000017500000000013211166304614023773 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/om/spaces.xml0000644000175000017500000000023611166304614024417 0ustar00manjulamanjula00000000000000 baz baz baz ]]> axis2c-src-1.6.0/guththila/tests/resources/om/numbers.xml0000644000175000017500000000040311166304614024610 0ustar00manjulamanjula00000000000000 3 24 55 11 2 -3 axis2c-src-1.6.0/guththila/tests/resources/om/much_ado.xml0000644000175000017500000057515311166304614024737 0ustar00manjulamanjula00000000000000 Much Ado about Nothing

    Text placed in the public domain by Moby Lexical Tools, 1992.

    SGML markup by Jon Bosak, 1992-1994.

    XML version by Jon Bosak, 1996-1998.

    This work may be freely copied and distributed worldwide.

    Dramatis Personae DON PEDRO, prince of Arragon. DON JOHN, his bastard brother. CLAUDIO, a young lord of Florence. BENEDICK, a young lord of Padua. LEONATO, governor of Messina. ANTONIO, his brother. BALTHASAR, attendant on Don Pedro. CONRADE BORACHIO followers of Don John. FRIAR FRANCIS DOGBERRY, a constable. VERGES, a headborough. A Sexton. A Boy. HERO, daughter to Leonato. BEATRICE, niece to Leonato. MARGARET URSULA gentlewomen attending on Hero. Messengers, Watch, Attendants, &c. SCENE Messina. MUCH ADO ABOUT NOTHING ACT I SCENE I. Before LEONATO'S house. Enter LEONATO, HERO, and BEATRICE, with a Messenger LEONATO I learn in this letter that Don Peter of Arragon comes this night to Messina. Messenger He is very near by this: he was not three leagues off when I left him. LEONATO How many gentlemen have you lost in this action? Messenger But few of any sort, and none of name. LEONATO A victory is twice itself when the achiever brings home full numbers. I find here that Don Peter hath bestowed much honour on a young Florentine called Claudio. Messenger Much deserved on his part and equally remembered by Don Pedro: he hath borne himself beyond the promise of his age, doing, in the figure of a lamb, the feats of a lion: he hath indeed better bettered expectation than you must expect of me to tell you how. LEONATO He hath an uncle here in Messina will be very much glad of it. Messenger I have already delivered him letters, and there appears much joy in him; even so much that joy could not show itself modest enough without a badge of bitterness. LEONATO Did he break out into tears? Messenger In great measure. LEONATO A kind overflow of kindness: there are no faces truer than those that are so washed. How much better is it to weep at joy than to joy at weeping! BEATRICE I pray you, is Signior Mountanto returned from the wars or no? Messenger I know none of that name, lady: there was none such in the army of any sort. LEONATO What is he that you ask for, niece? HERO My cousin means Signior Benedick of Padua. Messenger O, he's returned; and as pleasant as ever he was. BEATRICE He set up his bills here in Messina and challenged Cupid at the flight; and my uncle's fool, reading the challenge, subscribed for Cupid, and challenged him at the bird-bolt. I pray you, how many hath he killed and eaten in these wars? But how many hath he killed? for indeed I promised to eat all of his killing. LEONATO Faith, niece, you tax Signior Benedick too much; but he'll be meet with you, I doubt it not. Messenger He hath done good service, lady, in these wars. BEATRICE You had musty victual, and he hath holp to eat it: he is a very valiant trencherman; he hath an excellent stomach. Messenger And a good soldier too, lady. BEATRICE And a good soldier to a lady: but what is he to a lord? Messenger A lord to a lord, a man to a man; stuffed with all honourable virtues. BEATRICE It is so, indeed; he is no less than a stuffed man: but for the stuffing,--well, we are all mortal. LEONATO You must not, sir, mistake my niece. There is a kind of merry war betwixt Signior Benedick and her: they never meet but there's a skirmish of wit between them. BEATRICE Alas! he gets nothing by that. In our last conflict four of his five wits went halting off, and now is the whole man governed with one: so that if he have wit enough to keep himself warm, let him bear it for a difference between himself and his horse; for it is all the wealth that he hath left, to be known a reasonable creature. Who is his companion now? He hath every month a new sworn brother. Messenger Is't possible? BEATRICE Very easily possible: he wears his faith but as the fashion of his hat; it ever changes with the next block. Messenger I see, lady, the gentleman is not in your books. BEATRICE No; an he were, I would burn my study. But, I pray you, who is his companion? Is there no young squarer now that will make a voyage with him to the devil? Messenger He is most in the company of the right noble Claudio. BEATRICE O Lord, he will hang upon him like a disease: he is sooner caught than the pestilence, and the taker runs presently mad. God help the noble Claudio! if he have caught the Benedick, it will cost him a thousand pound ere a' be cured. Messenger I will hold friends with you, lady. BEATRICE Do, good friend. LEONATO You will never run mad, niece. BEATRICE No, not till a hot January. Messenger Don Pedro is approached. Enter DON PEDRO, DON JOHN, CLAUDIO, BENEDICK, and BALTHASAR DON PEDRO Good Signior Leonato, you are come to meet your trouble: the fashion of the world is to avoid cost, and you encounter it. LEONATO Never came trouble to my house in the likeness of your grace: for trouble being gone, comfort should remain; but when you depart from me, sorrow abides and happiness takes his leave. DON PEDRO You embrace your charge too willingly. I think this is your daughter. LEONATO Her mother hath many times told me so. BENEDICK Were you in doubt, sir, that you asked her? LEONATO Signior Benedick, no; for then were you a child. DON PEDRO You have it full, Benedick: we may guess by this what you are, being a man. Truly, the lady fathers herself. Be happy, lady; for you are like an honourable father. BENEDICK If Signior Leonato be her father, she would not have his head on her shoulders for all Messina, as like him as she is. BEATRICE I wonder that you will still be talking, Signior Benedick: nobody marks you. BENEDICK What, my dear Lady Disdain! are you yet living? BEATRICE Is it possible disdain should die while she hath such meet food to feed it as Signior Benedick? Courtesy itself must convert to disdain, if you come in her presence. BENEDICK Then is courtesy a turncoat. But it is certain I am loved of all ladies, only you excepted: and I would I could find in my heart that I had not a hard heart; for, truly, I love none. BEATRICE A dear happiness to women: they would else have been troubled with a pernicious suitor. I thank God and my cold blood, I am of your humour for that: I had rather hear my dog bark at a crow than a man swear he loves me. BENEDICK God keep your ladyship still in that mind! so some gentleman or other shall 'scape a predestinate scratched face. BEATRICE Scratching could not make it worse, an 'twere such a face as yours were. BENEDICK Well, you are a rare parrot-teacher. BEATRICE A bird of my tongue is better than a beast of yours. BENEDICK I would my horse had the speed of your tongue, and so good a continuer. But keep your way, i' God's name; I have done. BEATRICE You always end with a jade's trick: I know you of old. DON PEDRO That is the sum of all, Leonato. Signior Claudio and Signior Benedick, my dear friend Leonato hath invited you all. I tell him we shall stay here at the least a month; and he heartily prays some occasion may detain us longer. I dare swear he is no hypocrite, but prays from his heart. LEONATO If you swear, my lord, you shall not be forsworn. To DON JOHN Let me bid you welcome, my lord: being reconciled to the prince your brother, I owe you all duty. DON JOHN I thank you: I am not of many words, but I thank you. LEONATO Please it your grace lead on? DON PEDRO Your hand, Leonato; we will go together. Exeunt all except BENEDICK and CLAUDIO CLAUDIO Benedick, didst thou note the daughter of Signior Leonato? BENEDICK I noted her not; but I looked on her. CLAUDIO Is she not a modest young lady? BENEDICK Do you question me, as an honest man should do, for my simple true judgment; or would you have me speak after my custom, as being a professed tyrant to their sex? CLAUDIO No; I pray thee speak in sober judgment. BENEDICK Why, i' faith, methinks she's too low for a high praise, too brown for a fair praise and too little for a great praise: only this commendation I can afford her, that were she other than she is, she were unhandsome; and being no other but as she is, I do not like her. CLAUDIO Thou thinkest I am in sport: I pray thee tell me truly how thou likest her. BENEDICK Would you buy her, that you inquire after her? CLAUDIO Can the world buy such a jewel? BENEDICK Yea, and a case to put it into. But speak you this with a sad brow? or do you play the flouting Jack, to tell us Cupid is a good hare-finder and Vulcan a rare carpenter? Come, in what key shall a man take you, to go in the song? CLAUDIO In mine eye she is the sweetest lady that ever I looked on. BENEDICK I can see yet without spectacles and I see no such matter: there's her cousin, an she were not possessed with a fury, exceeds her as much in beauty as the first of May doth the last of December. But I hope you have no intent to turn husband, have you? CLAUDIO I would scarce trust myself, though I had sworn the contrary, if Hero would be my wife. BENEDICK Is't come to this? In faith, hath not the world one man but he will wear his cap with suspicion? Shall I never see a bachelor of three-score again? Go to, i' faith; an thou wilt needs thrust thy neck into a yoke, wear the print of it and sigh away Sundays. Look Don Pedro is returned to seek you. Re-enter DON PEDRO DON PEDRO What secret hath held you here, that you followed not to Leonato's? BENEDICK I would your grace would constrain me to tell. DON PEDRO I charge thee on thy allegiance. BENEDICK You hear, Count Claudio: I can be secret as a dumb man; I would have you think so; but, on my allegiance, mark you this, on my allegiance. He is in love. With who? now that is your grace's part. Mark how short his answer is;--With Hero, Leonato's short daughter. CLAUDIO If this were so, so were it uttered. BENEDICK Like the old tale, my lord: 'it is not so, nor 'twas not so, but, indeed, God forbid it should be so.' CLAUDIO If my passion change not shortly, God forbid it should be otherwise. DON PEDRO Amen, if you love her; for the lady is very well worthy. CLAUDIO You speak this to fetch me in, my lord. DON PEDRO By my troth, I speak my thought. CLAUDIO And, in faith, my lord, I spoke mine. BENEDICK And, by my two faiths and troths, my lord, I spoke mine. CLAUDIO That I love her, I feel. DON PEDRO That she is worthy, I know. BENEDICK That I neither feel how she should be loved nor know how she should be worthy, is the opinion that fire cannot melt out of me: I will die in it at the stake. DON PEDRO Thou wast ever an obstinate heretic in the despite of beauty. CLAUDIO And never could maintain his part but in the force of his will. BENEDICK That a woman conceived me, I thank her; that she brought me up, I likewise give her most humble thanks: but that I will have a recheat winded in my forehead, or hang my bugle in an invisible baldrick, all women shall pardon me. Because I will not do them the wrong to mistrust any, I will do myself the right to trust none; and the fine is, for the which I may go the finer, I will live a bachelor. DON PEDRO I shall see thee, ere I die, look pale with love. BENEDICK With anger, with sickness, or with hunger, my lord, not with love: prove that ever I lose more blood with love than I will get again with drinking, pick out mine eyes with a ballad-maker's pen and hang me up at the door of a brothel-house for the sign of blind Cupid. DON PEDRO Well, if ever thou dost fall from this faith, thou wilt prove a notable argument. BENEDICK If I do, hang me in a bottle like a cat and shoot at me; and he that hits me, let him be clapped on the shoulder, and called Adam. DON PEDRO Well, as time shall try: 'In time the savage bull doth bear the yoke.' BENEDICK The savage bull may; but if ever the sensible Benedick bear it, pluck off the bull's horns and set them in my forehead: and let me be vilely painted, and in such great letters as they write 'Here is good horse to hire,' let them signify under my sign 'Here you may see Benedick the married man.' CLAUDIO If this should ever happen, thou wouldst be horn-mad. DON PEDRO Nay, if Cupid have not spent all his quiver in Venice, thou wilt quake for this shortly. BENEDICK I look for an earthquake too, then. DON PEDRO Well, you temporize with the hours. In the meantime, good Signior Benedick, repair to Leonato's: commend me to him and tell him I will not fail him at supper; for indeed he hath made great preparation. BENEDICK I have almost matter enough in me for such an embassage; and so I commit you-- CLAUDIO To the tuition of God: From my house, if I had it,-- DON PEDRO The sixth of July: Your loving friend, Benedick. BENEDICK Nay, mock not, mock not. The body of your discourse is sometime guarded with fragments, and the guards are but slightly basted on neither: ere you flout old ends any further, examine your conscience: and so I leave you. Exit CLAUDIO My liege, your highness now may do me good. DON PEDRO My love is thine to teach: teach it but how, And thou shalt see how apt it is to learn Any hard lesson that may do thee good. CLAUDIO Hath Leonato any son, my lord? DON PEDRO No child but Hero; she's his only heir. Dost thou affect her, Claudio? CLAUDIO O, my lord, When you went onward on this ended action, I look'd upon her with a soldier's eye, That liked, but had a rougher task in hand Than to drive liking to the name of love: But now I am return'd and that war-thoughts Have left their places vacant, in their rooms Come thronging soft and delicate desires, All prompting me how fair young Hero is, Saying, I liked her ere I went to wars. DON PEDRO Thou wilt be like a lover presently And tire the hearer with a book of words. If thou dost love fair Hero, cherish it, And I will break with her and with her father, And thou shalt have her. Was't not to this end That thou began'st to twist so fine a story? CLAUDIO How sweetly you do minister to love, That know love's grief by his complexion! But lest my liking might too sudden seem, I would have salved it with a longer treatise. DON PEDRO What need the bridge much broader than the flood? The fairest grant is the necessity. Look, what will serve is fit: 'tis once, thou lovest, And I will fit thee with the remedy. I know we shall have revelling to-night: I will assume thy part in some disguise And tell fair Hero I am Claudio, And in her bosom I'll unclasp my heart And take her hearing prisoner with the force And strong encounter of my amorous tale: Then after to her father will I break; And the conclusion is, she shall be thine. In practise let us put it presently. Exeunt SCENE II. A room in LEONATO's house. Enter LEONATO and ANTONIO, meeting LEONATO How now, brother! Where is my cousin, your son? hath he provided this music? ANTONIO He is very busy about it. But, brother, I can tell you strange news that you yet dreamt not of. LEONATO Are they good? ANTONIO As the event stamps them: but they have a good cover; they show well outward. The prince and Count Claudio, walking in a thick-pleached alley in mine orchard, were thus much overheard by a man of mine: the prince discovered to Claudio that he loved my niece your daughter and meant to acknowledge it this night in a dance: and if he found her accordant, he meant to take the present time by the top and instantly break with you of it. LEONATO Hath the fellow any wit that told you this? ANTONIO A good sharp fellow: I will send for him; and question him yourself. LEONATO No, no; we will hold it as a dream till it appear itself: but I will acquaint my daughter withal, that she may be the better prepared for an answer, if peradventure this be true. Go you and tell her of it. Enter Attendants Cousins, you know what you have to do. O, I cry you mercy, friend; go you with me, and I will use your skill. Good cousin, have a care this busy time. Exeunt SCENE III. The same. Enter DON JOHN and CONRADE CONRADE What the good-year, my lord! why are you thus out of measure sad? DON JOHN There is no measure in the occasion that breeds; therefore the sadness is without limit. CONRADE You should hear reason. DON JOHN And when I have heard it, what blessing brings it? CONRADE If not a present remedy, at least a patient sufferance. DON JOHN I wonder that thou, being, as thou sayest thou art, born under Saturn, goest about to apply a moral medicine to a mortifying mischief. I cannot hide what I am: I must be sad when I have cause and smile at no man's jests, eat when I have stomach and wait for no man's leisure, sleep when I am drowsy and tend on no man's business, laugh when I am merry and claw no man in his humour. CONRADE Yea, but you must not make the full show of this till you may do it without controlment. You have of late stood out against your brother, and he hath ta'en you newly into his grace; where it is impossible you should take true root but by the fair weather that you make yourself: it is needful that you frame the season for your own harvest. DON JOHN I had rather be a canker in a hedge than a rose in his grace, and it better fits my blood to be disdained of all than to fashion a carriage to rob love from any: in this, though I cannot be said to be a flattering honest man, it must not be denied but I am a plain-dealing villain. I am trusted with a muzzle and enfranchised with a clog; therefore I have decreed not to sing in my cage. If I had my mouth, I would bite; if I had my liberty, I would do my liking: in the meantime let me be that I am and seek not to alter me. CONRADE Can you make no use of your discontent? DON JOHN I make all use of it, for I use it only. Who comes here? Enter BORACHIO What news, Borachio? BORACHIO I came yonder from a great supper: the prince your brother is royally entertained by Leonato: and I can give you intelligence of an intended marriage. DON JOHN Will it serve for any model to build mischief on? What is he for a fool that betroths himself to unquietness? BORACHIO Marry, it is your brother's right hand. DON JOHN Who? the most exquisite Claudio? BORACHIO Even he. DON JOHN A proper squire! And who, and who? which way looks he? BORACHIO Marry, on Hero, the daughter and heir of Leonato. DON JOHN A very forward March-chick! How came you to this? BORACHIO Being entertained for a perfumer, as I was smoking a musty room, comes me the prince and Claudio, hand in hand in sad conference: I whipt me behind the arras; and there heard it agreed upon that the prince should woo Hero for himself, and having obtained her, give her to Count Claudio. DON JOHN Come, come, let us thither: this may prove food to my displeasure. That young start-up hath all the glory of my overthrow: if I can cross him any way, I bless myself every way. You are both sure, and will assist me? CONRADE To the death, my lord. DON JOHN Let us to the great supper: their cheer is the greater that I am subdued. Would the cook were of my mind! Shall we go prove what's to be done? BORACHIO We'll wait upon your lordship. Exeunt ACT II SCENE I. A hall in LEONATO'S house. Enter LEONATO, ANTONIO, HERO, BEATRICE, and others LEONATO Was not Count John here at supper? ANTONIO I saw him not. BEATRICE How tartly that gentleman looks! I never can see him but I am heart-burned an hour after. HERO He is of a very melancholy disposition. BEATRICE He were an excellent man that were made just in the midway between him and Benedick: the one is too like an image and says nothing, and the other too like my lady's eldest son, evermore tattling. LEONATO Then half Signior Benedick's tongue in Count John's mouth, and half Count John's melancholy in Signior Benedick's face,-- BEATRICE With a good leg and a good foot, uncle, and money enough in his purse, such a man would win any woman in the world, if a' could get her good-will. LEONATO By my troth, niece, thou wilt never get thee a husband, if thou be so shrewd of thy tongue. ANTONIO In faith, she's too curst. BEATRICE Too curst is more than curst: I shall lessen God's sending that way; for it is said, 'God sends a curst cow short horns;' but to a cow too curst he sends none. LEONATO So, by being too curst, God will send you no horns. BEATRICE Just, if he send me no husband; for the which blessing I am at him upon my knees every morning and evening. Lord, I could not endure a husband with a beard on his face: I had rather lie in the woollen. LEONATO You may light on a husband that hath no beard. BEATRICE What should I do with him? dress him in my apparel and make him my waiting-gentlewoman? He that hath a beard is more than a youth, and he that hath no beard is less than a man: and he that is more than a youth is not for me, and he that is less than a man, I am not for him: therefore, I will even take sixpence in earnest of the bear-ward, and lead his apes into hell. LEONATO Well, then, go you into hell? BEATRICE No, but to the gate; and there will the devil meet me, like an old cuckold, with horns on his head, and say 'Get you to heaven, Beatrice, get you to heaven; here's no place for you maids:' so deliver I up my apes, and away to Saint Peter for the heavens; he shows me where the bachelors sit, and there live we as merry as the day is long. ANTONIO To HERO Well, niece, I trust you will be ruled by your father. BEATRICE Yes, faith; it is my cousin's duty to make curtsy and say 'Father, as it please you.' But yet for all that, cousin, let him be a handsome fellow, or else make another curtsy and say 'Father, as it please me.' LEONATO Well, niece, I hope to see you one day fitted with a husband. BEATRICE Not till God make men of some other metal than earth. Would it not grieve a woman to be overmastered with a pierce of valiant dust? to make an account of her life to a clod of wayward marl? No, uncle, I'll none: Adam's sons are my brethren; and, truly, I hold it a sin to match in my kindred. LEONATO Daughter, remember what I told you: if the prince do solicit you in that kind, you know your answer. BEATRICE The fault will be in the music, cousin, if you be not wooed in good time: if the prince be too important, tell him there is measure in every thing and so dance out the answer. For, hear me, Hero: wooing, wedding, and repenting, is as a Scotch jig, a measure, and a cinque pace: the first suit is hot and hasty, like a Scotch jig, and full as fantastical; the wedding, mannerly-modest, as a measure, full of state and ancientry; and then comes repentance and, with his bad legs, falls into the cinque pace faster and faster, till he sink into his grave. LEONATO Cousin, you apprehend passing shrewdly. BEATRICE I have a good eye, uncle; I can see a church by daylight. LEONATO The revellers are entering, brother: make good room. All put on their masks Enter DON PEDRO, CLAUDIO, BENEDICK, BALTHASAR, DON JOHN, BORACHIO, MARGARET, URSULA and others, masked DON PEDRO Lady, will you walk about with your friend? HERO So you walk softly and look sweetly and say nothing, I am yours for the walk; and especially when I walk away. DON PEDRO With me in your company? HERO I may say so, when I please. DON PEDRO And when please you to say so? HERO When I like your favour; for God defend the lute should be like the case! DON PEDRO My visor is Philemon's roof; within the house is Jove. HERO Why, then, your visor should be thatched. DON PEDRO Speak low, if you speak love. Drawing her aside BALTHASAR Well, I would you did like me. MARGARET So would not I, for your own sake; for I have many ill-qualities. BALTHASAR Which is one? MARGARET I say my prayers aloud. BALTHASAR I love you the better: the hearers may cry, Amen. MARGARET God match me with a good dancer! BALTHASAR Amen. MARGARET And God keep him out of my sight when the dance is done! Answer, clerk. BALTHASAR No more words: the clerk is answered. URSULA I know you well enough; you are Signior Antonio. ANTONIO At a word, I am not. URSULA I know you by the waggling of your head. ANTONIO To tell you true, I counterfeit him. URSULA You could never do him so ill-well, unless you were the very man. Here's his dry hand up and down: you are he, you are he. ANTONIO At a word, I am not. URSULA Come, come, do you think I do not know you by your excellent wit? can virtue hide itself? Go to, mum, you are he: graces will appear, and there's an end. BEATRICE Will you not tell me who told you so? BENEDICK No, you shall pardon me. BEATRICE Nor will you not tell me who you are? BENEDICK Not now. BEATRICE That I was disdainful, and that I had my good wit out of the 'Hundred Merry Tales:'--well this was Signior Benedick that said so. BENEDICK What's he? BEATRICE I am sure you know him well enough. BENEDICK Not I, believe me. BEATRICE Did he never make you laugh? BENEDICK I pray you, what is he? BEATRICE Why, he is the prince's jester: a very dull fool; only his gift is in devising impossible slanders: none but libertines delight in him; and the commendation is not in his wit, but in his villany; for he both pleases men and angers them, and then they laugh at him and beat him. I am sure he is in the fleet: I would he had boarded me. BENEDICK When I know the gentleman, I'll tell him what you say. BEATRICE Do, do: he'll but break a comparison or two on me; which, peradventure not marked or not laughed at, strikes him into melancholy; and then there's a partridge wing saved, for the fool will eat no supper that night. Music We must follow the leaders. BENEDICK In every good thing. BEATRICE Nay, if they lead to any ill, I will leave them at the next turning. Dance. Then exeunt all except DON JOHN, BORACHIO, and CLAUDIO DON JOHN Sure my brother is amorous on Hero and hath withdrawn her father to break with him about it. The ladies follow her and but one visor remains. BORACHIO And that is Claudio: I know him by his bearing. DON JOHN Are not you Signior Benedick? CLAUDIO You know me well; I am he. DON JOHN Signior, you are very near my brother in his love: he is enamoured on Hero; I pray you, dissuade him from her: she is no equal for his birth: you may do the part of an honest man in it. CLAUDIO How know you he loves her? DON JOHN I heard him swear his affection. BORACHIO So did I too; and he swore he would marry her to-night. DON JOHN Come, let us to the banquet. Exeunt DON JOHN and BORACHIO CLAUDIO Thus answer I in the name of Benedick, But hear these ill news with the ears of Claudio. 'Tis certain so; the prince wooes for himself. Friendship is constant in all other things Save in the office and affairs of love: Therefore, all hearts in love use their own tongues; Let every eye negotiate for itself And trust no agent; for beauty is a witch Against whose charms faith melteth into blood. This is an accident of hourly proof, Which I mistrusted not. Farewell, therefore, Hero! Re-enter BENEDICK BENEDICK Count Claudio? CLAUDIO Yea, the same. BENEDICK Come, will you go with me? CLAUDIO Whither? BENEDICK Even to the next willow, about your own business, county. What fashion will you wear the garland of? about your neck, like an usurer's chain? or under your arm, like a lieutenant's scarf? You must wear it one way, for the prince hath got your Hero. CLAUDIO I wish him joy of her. BENEDICK Why, that's spoken like an honest drovier: so they sell bullocks. But did you think the prince would have served you thus? CLAUDIO I pray you, leave me. BENEDICK Ho! now you strike like the blind man: 'twas the boy that stole your meat, and you'll beat the post. CLAUDIO If it will not be, I'll leave you. Exit BENEDICK Alas, poor hurt fowl! now will he creep into sedges. But that my Lady Beatrice should know me, and not know me! The prince's fool! Ha? It may be I go under that title because I am merry. Yea, but so I am apt to do myself wrong; I am not so reputed: it is the base, though bitter, disposition of Beatrice that puts the world into her person and so gives me out. Well, I'll be revenged as I may. Re-enter DON PEDRO DON PEDRO Now, signior, where's the count? did you see him? BENEDICK Troth, my lord, I have played the part of Lady Fame. I found him here as melancholy as a lodge in a warren: I told him, and I think I told him true, that your grace had got the good will of this young lady; and I offered him my company to a willow-tree, either to make him a garland, as being forsaken, or to bind him up a rod, as being worthy to be whipped. DON PEDRO To be whipped! What's his fault? BENEDICK The flat transgression of a schoolboy, who, being overjoyed with finding a birds' nest, shows it his companion, and he steals it. DON PEDRO Wilt thou make a trust a transgression? The transgression is in the stealer. BENEDICK Yet it had not been amiss the rod had been made, and the garland too; for the garland he might have worn himself, and the rod he might have bestowed on you, who, as I take it, have stolen his birds' nest. DON PEDRO I will but teach them to sing, and restore them to the owner. BENEDICK If their singing answer your saying, by my faith, you say honestly. DON PEDRO The Lady Beatrice hath a quarrel to you: the gentleman that danced with her told her she is much wronged by you. BENEDICK O, she misused me past the endurance of a block! an oak but with one green leaf on it would have answered her; my very visor began to assume life and scold with her. She told me, not thinking I had been myself, that I was the prince's jester, that I was duller than a great thaw; huddling jest upon jest with such impossible conveyance upon me that I stood like a man at a mark, with a whole army shooting at me. She speaks poniards, and every word stabs: if her breath were as terrible as her terminations, there were no living near her; she would infect to the north star. I would not marry her, though she were endowed with all that Adam bad left him before he transgressed: she would have made Hercules have turned spit, yea, and have cleft his club to make the fire too. Come, talk not of her: you shall find her the infernal Ate in good apparel. I would to God some scholar would conjure her; for certainly, while she is here, a man may live as quiet in hell as in a sanctuary; and people sin upon purpose, because they would go thither; so, indeed, all disquiet, horror and perturbation follows her. DON PEDRO Look, here she comes. Enter CLAUDIO, BEATRICE, HERO, and LEONATO BENEDICK Will your grace command me any service to the world's end? I will go on the slightest errand now to the Antipodes that you can devise to send me on; I will fetch you a tooth-picker now from the furthest inch of Asia, bring you the length of Prester John's foot, fetch you a hair off the great Cham's beard, do you any embassage to the Pigmies, rather than hold three words' conference with this harpy. You have no employment for me? DON PEDRO None, but to desire your good company. BENEDICK O God, sir, here's a dish I love not: I cannot endure my Lady Tongue. Exit DON PEDRO Come, lady, come; you have lost the heart of Signior Benedick. BEATRICE Indeed, my lord, he lent it me awhile; and I gave him use for it, a double heart for his single one: marry, once before he won it of me with false dice, therefore your grace may well say I have lost it. DON PEDRO You have put him down, lady, you have put him down. BEATRICE So I would not he should do me, my lord, lest I should prove the mother of fools. I have brought Count Claudio, whom you sent me to seek. DON PEDRO Why, how now, count! wherefore are you sad? CLAUDIO Not sad, my lord. DON PEDRO How then? sick? CLAUDIO Neither, my lord. BEATRICE The count is neither sad, nor sick, nor merry, nor well; but civil count, civil as an orange, and something of that jealous complexion. DON PEDRO I' faith, lady, I think your blazon to be true; though, I'll be sworn, if he be so, his conceit is false. Here, Claudio, I have wooed in thy name, and fair Hero is won: I have broke with her father, and his good will obtained: name the day of marriage, and God give thee joy! LEONATO Count, take of me my daughter, and with her my fortunes: his grace hath made the match, and an grace say Amen to it. BEATRICE Speak, count, 'tis your cue. CLAUDIO Silence is the perfectest herald of joy: I were but little happy, if I could say how much. Lady, as you are mine, I am yours: I give away myself for you and dote upon the exchange. BEATRICE Speak, cousin; or, if you cannot, stop his mouth with a kiss, and let not him speak neither. DON PEDRO In faith, lady, you have a merry heart. BEATRICE Yea, my lord; I thank it, poor fool, it keeps on the windy side of care. My cousin tells him in his ear that he is in her heart. CLAUDIO And so she doth, cousin. BEATRICE Good Lord, for alliance! Thus goes every one to the world but I, and I am sunburnt; I may sit in a corner and cry heigh-ho for a husband! DON PEDRO Lady Beatrice, I will get you one. BEATRICE I would rather have one of your father's getting. Hath your grace ne'er a brother like you? Your father got excellent husbands, if a maid could come by them. DON PEDRO Will you have me, lady? BEATRICE No, my lord, unless I might have another for working-days: your grace is too costly to wear every day. But, I beseech your grace, pardon me: I was born to speak all mirth and no matter. DON PEDRO Your silence most offends me, and to be merry best becomes you; for, out of question, you were born in a merry hour. BEATRICE No, sure, my lord, my mother cried; but then there was a star danced, and under that was I born. Cousins, God give you joy! LEONATO Niece, will you look to those things I told you of? BEATRICE I cry you mercy, uncle. By your grace's pardon. Exit DON PEDRO By my troth, a pleasant-spirited lady. LEONATO There's little of the melancholy element in her, my lord: she is never sad but when she sleeps, and not ever sad then; for I have heard my daughter say, she hath often dreamed of unhappiness and waked herself with laughing. DON PEDRO She cannot endure to hear tell of a husband. LEONATO O, by no means: she mocks all her wooers out of suit. DON PEDRO She were an excellent wife for Benedict. LEONATO O Lord, my lord, if they were but a week married, they would talk themselves mad. DON PEDRO County Claudio, when mean you to go to church? CLAUDIO To-morrow, my lord: time goes on crutches till love have all his rites. LEONATO Not till Monday, my dear son, which is hence a just seven-night; and a time too brief, too, to have all things answer my mind. DON PEDRO Come, you shake the head at so long a breathing: but, I warrant thee, Claudio, the time shall not go dully by us. I will in the interim undertake one of Hercules' labours; which is, to bring Signior Benedick and the Lady Beatrice into a mountain of affection the one with the other. I would fain have it a match, and I doubt not but to fashion it, if you three will but minister such assistance as I shall give you direction. LEONATO My lord, I am for you, though it cost me ten nights' watchings. CLAUDIO And I, my lord. DON PEDRO And you too, gentle Hero? HERO I will do any modest office, my lord, to help my cousin to a good husband. DON PEDRO And Benedick is not the unhopefullest husband that I know. Thus far can I praise him; he is of a noble strain, of approved valour and confirmed honesty. I will teach you how to humour your cousin, that she shall fall in love with Benedick; and I, with your two helps, will so practise on Benedick that, in despite of his quick wit and his queasy stomach, he shall fall in love with Beatrice. If we can do this, Cupid is no longer an archer: his glory shall be ours, for we are the only love-gods. Go in with me, and I will tell you my drift. Exeunt SCENE II. The same. Enter DON JOHN and BORACHIO DON JOHN It is so; the Count Claudio shall marry the daughter of Leonato. BORACHIO Yea, my lord; but I can cross it. DON JOHN Any bar, any cross, any impediment will be medicinable to me: I am sick in displeasure to him, and whatsoever comes athwart his affection ranges evenly with mine. How canst thou cross this marriage? BORACHIO Not honestly, my lord; but so covertly that no dishonesty shall appear in me. DON JOHN Show me briefly how. BORACHIO I think I told your lordship a year since, how much I am in the favour of Margaret, the waiting gentlewoman to Hero. DON JOHN I remember. BORACHIO I can, at any unseasonable instant of the night, appoint her to look out at her lady's chamber window. DON JOHN What life is in that, to be the death of this marriage? BORACHIO The poison of that lies in you to temper. Go you to the prince your brother; spare not to tell him that he hath wronged his honour in marrying the renowned Claudio--whose estimation do you mightily hold up--to a contaminated stale, such a one as Hero. DON JOHN What proof shall I make of that? BORACHIO Proof enough to misuse the prince, to vex Claudio, to undo Hero and kill Leonato. Look you for any other issue? DON JOHN Only to despite them, I will endeavour any thing. BORACHIO Go, then; find me a meet hour to draw Don Pedro and the Count Claudio alone: tell them that you know that Hero loves me; intend a kind of zeal both to the prince and Claudio, as,--in love of your brother's honour, who hath made this match, and his friend's reputation, who is thus like to be cozened with the semblance of a maid,--that you have discovered thus. They will scarcely believe this without trial: offer them instances; which shall bear no less likelihood than to see me at her chamber-window, hear me call Margaret Hero, hear Margaret term me Claudio; and bring them to see this the very night before the intended wedding,--for in the meantime I will so fashion the matter that Hero shall be absent,--and there shall appear such seeming truth of Hero's disloyalty that jealousy shall be called assurance and all the preparation overthrown. DON JOHN Grow this to what adverse issue it can, I will put it in practise. Be cunning in the working this, and thy fee is a thousand ducats. BORACHIO Be you constant in the accusation, and my cunning shall not shame me. DON JOHN I will presently go learn their day of marriage. Exeunt SCENE III. LEONATO'S orchard. Enter BENEDICK BENEDICK Boy! Enter Boy Boy Signior? BENEDICK In my chamber-window lies a book: bring it hither to me in the orchard. Boy I am here already, sir. BENEDICK I know that; but I would have thee hence, and here again. Exit Boy I do much wonder that one man, seeing how much another man is a fool when he dedicates his behaviors to love, will, after he hath laughed at such shallow follies in others, become the argument of his own scorn by failing in love: and such a man is Claudio. I have known when there was no music with him but the drum and the fife; and now had he rather hear the tabour and the pipe: I have known when he would have walked ten mile a-foot to see a good armour; and now will he lie ten nights awake, carving the fashion of a new doublet. He was wont to speak plain and to the purpose, like an honest man and a soldier; and now is he turned orthography; his words are a very fantastical banquet, just so many strange dishes. May I be so converted and see with these eyes? I cannot tell; I think not: I will not be sworn, but love may transform me to an oyster; but I'll take my oath on it, till he have made an oyster of me, he shall never make me such a fool. One woman is fair, yet I am well; another is wise, yet I am well; another virtuous, yet I am well; but till all graces be in one woman, one woman shall not come in my grace. Rich she shall be, that's certain; wise, or I'll none; virtuous, or I'll never cheapen her; fair, or I'll never look on her; mild, or come not near me; noble, or not I for an angel; of good discourse, an excellent musician, and her hair shall be of what colour it please God. Ha! the prince and Monsieur Love! I will hide me in the arbour. Withdraws Enter DON PEDRO, CLAUDIO, and LEONATO DON PEDRO Come, shall we hear this music? CLAUDIO Yea, my good lord. How still the evening is, As hush'd on purpose to grace harmony! DON PEDRO See you where Benedick hath hid himself? CLAUDIO O, very well, my lord: the music ended, We'll fit the kid-fox with a pennyworth. Enter BALTHASAR with Music DON PEDRO Come, Balthasar, we'll hear that song again. BALTHASAR O, good my lord, tax not so bad a voice To slander music any more than once. DON PEDRO It is the witness still of excellency To put a strange face on his own perfection. I pray thee, sing, and let me woo no more. BALTHASAR Because you talk of wooing, I will sing; Since many a wooer doth commence his suit To her he thinks not worthy, yet he wooes, Yet will he swear he loves. DON PEDRO Now, pray thee, come; Or, if thou wilt hold longer argument, Do it in notes. BALTHASAR Note this before my notes; There's not a note of mine that's worth the noting. DON PEDRO Why, these are very crotchets that he speaks; Note, notes, forsooth, and nothing. Air BENEDICK Now, divine air! now is his soul ravished! Is it not strange that sheeps' guts should hale souls out of men's bodies? Well, a horn for my money, when all's done. The Song BALTHASAR Sigh no more, ladies, sigh no more, Men were deceivers ever, One foot in sea and one on shore, To one thing constant never: Then sigh not so, but let them go, And be you blithe and bonny, Converting all your sounds of woe Into Hey nonny, nonny. Sing no more ditties, sing no moe, Of dumps so dull and heavy; The fraud of men was ever so, Since summer first was leafy: Then sigh not so, &c. DON PEDRO By my troth, a good song. BALTHASAR And an ill singer, my lord. DON PEDRO Ha, no, no, faith; thou singest well enough for a shift. BENEDICK An he had been a dog that should have howled thus, they would have hanged him: and I pray God his bad voice bode no mischief. I had as lief have heard the night-raven, come what plague could have come after it. DON PEDRO Yea, marry, dost thou hear, Balthasar? I pray thee, get us some excellent music; for to-morrow night we would have it at the Lady Hero's chamber-window. BALTHASAR The best I can, my lord. DON PEDRO Do so: farewell. Exit BALTHASAR Come hither, Leonato. What was it you told me of to-day, that your niece Beatrice was in love with Signior Benedick? CLAUDIO O, ay: stalk on. stalk on; the fowl sits. I did never think that lady would have loved any man. LEONATO No, nor I neither; but most wonderful that she should so dote on Signior Benedick, whom she hath in all outward behaviors seemed ever to abhor. BENEDICK Is't possible? Sits the wind in that corner? LEONATO By my troth, my lord, I cannot tell what to think of it but that she loves him with an enraged affection: it is past the infinite of thought. DON PEDRO May be she doth but counterfeit. CLAUDIO Faith, like enough. LEONATO O God, counterfeit! There was never counterfeit of passion came so near the life of passion as she discovers it. DON PEDRO Why, what effects of passion shows she? CLAUDIO Bait the hook well; this fish will bite. LEONATO What effects, my lord? She will sit you, you heard my daughter tell you how. CLAUDIO She did, indeed. DON PEDRO How, how, pray you? You amaze me: I would have I thought her spirit had been invincible against all assaults of affection. LEONATO I would have sworn it had, my lord; especially against Benedick. BENEDICK I should think this a gull, but that the white-bearded fellow speaks it: knavery cannot, sure, hide himself in such reverence. CLAUDIO He hath ta'en the infection: hold it up. DON PEDRO Hath she made her affection known to Benedick? LEONATO No; and swears she never will: that's her torment. CLAUDIO 'Tis true, indeed; so your daughter says: 'Shall I,' says she, 'that have so oft encountered him with scorn, write to him that I love him?' LEONATO This says she now when she is beginning to write to him; for she'll be up twenty times a night, and there will she sit in her smock till she have writ a sheet of paper: my daughter tells us all. CLAUDIO Now you talk of a sheet of paper, I remember a pretty jest your daughter told us of. LEONATO O, when she had writ it and was reading it over, she found Benedick and Beatrice between the sheet? CLAUDIO That. LEONATO O, she tore the letter into a thousand halfpence; railed at herself, that she should be so immodest to write to one that she knew would flout her; 'I measure him,' says she, 'by my own spirit; for I should flout him, if he writ to me; yea, though I love him, I should.' CLAUDIO Then down upon her knees she falls, weeps, sobs, beats her heart, tears her hair, prays, curses; 'O sweet Benedick! God give me patience!' LEONATO She doth indeed; my daughter says so: and the ecstasy hath so much overborne her that my daughter is sometime afeared she will do a desperate outrage to herself: it is very true. DON PEDRO It were good that Benedick knew of it by some other, if she will not discover it. CLAUDIO To what end? He would make but a sport of it and torment the poor lady worse. DON PEDRO An he should, it were an alms to hang him. She's an excellent sweet lady; and, out of all suspicion, she is virtuous. CLAUDIO And she is exceeding wise. DON PEDRO In every thing but in loving Benedick. LEONATO O, my lord, wisdom and blood combating in so tender a body, we have ten proofs to one that blood hath the victory. I am sorry for her, as I have just cause, being her uncle and her guardian. DON PEDRO I would she had bestowed this dotage on me: I would have daffed all other respects and made her half myself. I pray you, tell Benedick of it, and hear what a' will say. LEONATO Were it good, think you? CLAUDIO Hero thinks surely she will die; for she says she will die, if he love her not, and she will die, ere she make her love known, and she will die, if he woo her, rather than she will bate one breath of her accustomed crossness. DON PEDRO She doth well: if she should make tender of her love, 'tis very possible he'll scorn it; for the man, as you know all, hath a contemptible spirit. CLAUDIO He is a very proper man. DON PEDRO He hath indeed a good outward happiness. CLAUDIO Before God! and, in my mind, very wise. DON PEDRO He doth indeed show some sparks that are like wit. CLAUDIO And I take him to be valiant. DON PEDRO As Hector, I assure you: and in the managing of quarrels you may say he is wise; for either he avoids them with great discretion, or undertakes them with a most Christian-like fear. LEONATO If he do fear God, a' must necessarily keep peace: if he break the peace, he ought to enter into a quarrel with fear and trembling. DON PEDRO And so will he do; for the man doth fear God, howsoever it seems not in him by some large jests he will make. Well I am sorry for your niece. Shall we go seek Benedick, and tell him of her love? CLAUDIO Never tell him, my lord: let her wear it out with good counsel. LEONATO Nay, that's impossible: she may wear her heart out first. DON PEDRO Well, we will hear further of it by your daughter: let it cool the while. I love Benedick well; and I could wish he would modestly examine himself, to see how much he is unworthy so good a lady. LEONATO My lord, will you walk? dinner is ready. CLAUDIO If he do not dote on her upon this, I will never trust my expectation. DON PEDRO Let there be the same net spread for her; and that must your daughter and her gentlewomen carry. The sport will be, when they hold one an opinion of another's dotage, and no such matter: that's the scene that I would see, which will be merely a dumb-show. Let us send her to call him in to dinner. Exeunt DON PEDRO, CLAUDIO, and LEONATO BENEDICK Coming forward This can be no trick: the conference was sadly borne. They have the truth of this from Hero. They seem to pity the lady: it seems her affections have their full bent. Love me! why, it must be requited. I hear how I am censured: they say I will bear myself proudly, if I perceive the love come from her; they say too that she will rather die than give any sign of affection. I did never think to marry: I must not seem proud: happy are they that hear their detractions and can put them to mending. They say the lady is fair; 'tis a truth, I can bear them witness; and virtuous; 'tis so, I cannot reprove it; and wise, but for loving me; by my troth, it is no addition to her wit, nor no great argument of her folly, for I will be horribly in love with her. I may chance have some odd quirks and remnants of wit broken on me, because I have railed so long against marriage: but doth not the appetite alter? a man loves the meat in his youth that he cannot endure in his age. Shall quips and sentences and these paper bullets of the brain awe a man from the career of his humour? No, the world must be peopled. When I said I would die a bachelor, I did not think I should live till I were married. Here comes Beatrice. By this day! she's a fair lady: I do spy some marks of love in her. Enter BEATRICE BEATRICE Against my will I am sent to bid you come in to dinner. BENEDICK Fair Beatrice, I thank you for your pains. BEATRICE I took no more pains for those thanks than you take pains to thank me: if it had been painful, I would not have come. BENEDICK You take pleasure then in the message? BEATRICE Yea, just so much as you may take upon a knife's point and choke a daw withal. You have no stomach, signior: fare you well. Exit BENEDICK Ha! 'Against my will I am sent to bid you come in to dinner;' there's a double meaning in that 'I took no more pains for those thanks than you took pains to thank me.' that's as much as to say, Any pains that I take for you is as easy as thanks. If I do not take pity of her, I am a villain; if I do not love her, I am a Jew. I will go get her picture. Exit ACT III SCENE I. LEONATO'S garden. Enter HERO, MARGARET, and URSULA HERO Good Margaret, run thee to the parlor; There shalt thou find my cousin Beatrice Proposing with the prince and Claudio: Whisper her ear and tell her, I and Ursula Walk in the orchard and our whole discourse Is all of her; say that thou overheard'st us; And bid her steal into the pleached bower, Where honeysuckles, ripen'd by the sun, Forbid the sun to enter, like favourites, Made proud by princes, that advance their pride Against that power that bred it: there will she hide her, To listen our purpose. This is thy office; Bear thee well in it and leave us alone. MARGARET I'll make her come, I warrant you, presently. Exit HERO Now, Ursula, when Beatrice doth come, As we do trace this alley up and down, Our talk must only be of Benedick. When I do name him, let it be thy part To praise him more than ever man did merit: My talk to thee must be how Benedick Is sick in love with Beatrice. Of this matter Is little Cupid's crafty arrow made, That only wounds by hearsay. Enter BEATRICE, behind Now begin; For look where Beatrice, like a lapwing, runs Close by the ground, to hear our conference. URSULA The pleasant'st angling is to see the fish Cut with her golden oars the silver stream, And greedily devour the treacherous bait: So angle we for Beatrice; who even now Is couched in the woodbine coverture. Fear you not my part of the dialogue. HERO Then go we near her, that her ear lose nothing Of the false sweet bait that we lay for it. Approaching the bower No, truly, Ursula, she is too disdainful; I know her spirits are as coy and wild As haggerds of the rock. URSULA But are you sure That Benedick loves Beatrice so entirely? HERO So says the prince and my new-trothed lord. URSULA And did they bid you tell her of it, madam? HERO They did entreat me to acquaint her of it; But I persuaded them, if they loved Benedick, To wish him wrestle with affection, And never to let Beatrice know of it. URSULA Why did you so? Doth not the gentleman Deserve as full as fortunate a bed As ever Beatrice shall couch upon? HERO O god of love! I know he doth deserve As much as may be yielded to a man: But Nature never framed a woman's heart Of prouder stuff than that of Beatrice; Disdain and scorn ride sparkling in her eyes, Misprising what they look on, and her wit Values itself so highly that to her All matter else seems weak: she cannot love, Nor take no shape nor project of affection, She is so self-endeared. URSULA Sure, I think so; And therefore certainly it were not good She knew his love, lest she make sport at it. HERO Why, you speak truth. I never yet saw man, How wise, how noble, young, how rarely featured, But she would spell him backward: if fair-faced, She would swear the gentleman should be her sister; If black, why, Nature, drawing of an antique, Made a foul blot; if tall, a lance ill-headed; If low, an agate very vilely cut; If speaking, why, a vane blown with all winds; If silent, why, a block moved with none. So turns she every man the wrong side out And never gives to truth and virtue that Which simpleness and merit purchaseth. URSULA Sure, sure, such carping is not commendable. HERO No, not to be so odd and from all fashions As Beatrice is, cannot be commendable: But who dare tell her so? If I should speak, She would mock me into air; O, she would laugh me Out of myself, press me to death with wit. Therefore let Benedick, like cover'd fire, Consume away in sighs, waste inwardly: It were a better death than die with mocks, Which is as bad as die with tickling. URSULA Yet tell her of it: hear what she will say. HERO No; rather I will go to Benedick And counsel him to fight against his passion. And, truly, I'll devise some honest slanders To stain my cousin with: one doth not know How much an ill word may empoison liking. URSULA O, do not do your cousin such a wrong. She cannot be so much without true judgment-- Having so swift and excellent a wit As she is prized to have--as to refuse So rare a gentleman as Signior Benedick. HERO He is the only man of Italy. Always excepted my dear Claudio. URSULA I pray you, be not angry with me, madam, Speaking my fancy: Signior Benedick, For shape, for bearing, argument and valour, Goes foremost in report through Italy. HERO Indeed, he hath an excellent good name. URSULA His excellence did earn it, ere he had it. When are you married, madam? HERO Why, every day, to-morrow. Come, go in: I'll show thee some attires, and have thy counsel Which is the best to furnish me to-morrow. URSULA She's limed, I warrant you: we have caught her, madam. HERO If it proves so, then loving goes by haps: Some Cupid kills with arrows, some with traps. Exeunt HERO and URSULA BEATRICE Coming forward What fire is in mine ears? Can this be true? Stand I condemn'd for pride and scorn so much? Contempt, farewell! and maiden pride, adieu! No glory lives behind the back of such. And, Benedick, love on; I will requite thee, Taming my wild heart to thy loving hand: If thou dost love, my kindness shall incite thee To bind our loves up in a holy band; For others say thou dost deserve, and I Believe it better than reportingly. Exit SCENE II. A room in LEONATO'S house Enter DON PEDRO, CLAUDIO, BENEDICK, and LEONATO DON PEDRO I do but stay till your marriage be consummate, and then go I toward Arragon. CLAUDIO I'll bring you thither, my lord, if you'll vouchsafe me. DON PEDRO Nay, that would be as great a soil in the new gloss of your marriage as to show a child his new coat and forbid him to wear it. I will only be bold with Benedick for his company; for, from the crown of his head to the sole of his foot, he is all mirth: he hath twice or thrice cut Cupid's bow-string and the little hangman dare not shoot at him; he hath a heart as sound as a bell and his tongue is the clapper, for what his heart thinks his tongue speaks. BENEDICK Gallants, I am not as I have been. LEONATO So say I methinks you are sadder. CLAUDIO I hope he be in love. DON PEDRO Hang him, truant! there's no true drop of blood in him, to be truly touched with love: if he be sad, he wants money. BENEDICK I have the toothache. DON PEDRO Draw it. BENEDICK Hang it! CLAUDIO You must hang it first, and draw it afterwards. DON PEDRO What! sigh for the toothache? LEONATO Where is but a humour or a worm. BENEDICK Well, every one can master a grief but he that has it. CLAUDIO Yet say I, he is in love. DON PEDRO There is no appearance of fancy in him, unless it be a fancy that he hath to strange disguises; as, to be a Dutchman today, a Frenchman to-morrow, or in the shape of two countries at once, as, a German from the waist downward, all slops, and a Spaniard from the hip upward, no doublet. Unless he have a fancy to this foolery, as it appears he hath, he is no fool for fancy, as you would have it appear he is. CLAUDIO If he be not in love with some woman, there is no believing old signs: a' brushes his hat o' mornings; what should that bode? DON PEDRO Hath any man seen him at the barber's? CLAUDIO No, but the barber's man hath been seen with him, and the old ornament of his cheek hath already stuffed tennis-balls. LEONATO Indeed, he looks younger than he did, by the loss of a beard. DON PEDRO Nay, a' rubs himself with civet: can you smell him out by that? CLAUDIO That's as much as to say, the sweet youth's in love. DON PEDRO The greatest note of it is his melancholy. CLAUDIO And when was he wont to wash his face? DON PEDRO Yea, or to paint himself? for the which, I hear what they say of him. CLAUDIO Nay, but his jesting spirit; which is now crept into a lute-string and now governed by stops. DON PEDRO Indeed, that tells a heavy tale for him: conclude, conclude he is in love. CLAUDIO Nay, but I know who loves him. DON PEDRO That would I know too: I warrant, one that knows him not. CLAUDIO Yes, and his ill conditions; and, in despite of all, dies for him. DON PEDRO She shall be buried with her face upwards. BENEDICK Yet is this no charm for the toothache. Old signior, walk aside with me: I have studied eight or nine wise words to speak to you, which these hobby-horses must not hear. Exeunt BENEDICK and LEONATO DON PEDRO For my life, to break with him about Beatrice. CLAUDIO 'Tis even so. Hero and Margaret have by this played their parts with Beatrice; and then the two bears will not bite one another when they meet. Enter DON JOHN DON JOHN My lord and brother, God save you! DON PEDRO Good den, brother. DON JOHN If your leisure served, I would speak with you. DON PEDRO In private? DON JOHN If it please you: yet Count Claudio may hear; for what I would speak of concerns him. DON PEDRO What's the matter? DON JOHN To CLAUDIO Means your lordship to be married to-morrow? DON PEDRO You know he does. DON JOHN I know not that, when he knows what I know. CLAUDIO If there be any impediment, I pray you discover it. DON JOHN You may think I love you not: let that appear hereafter, and aim better at me by that I now will manifest. For my brother, I think he holds you well, and in dearness of heart hath holp to effect your ensuing marriage;--surely suit ill spent and labour ill bestowed. DON PEDRO Why, what's the matter? DON JOHN I came hither to tell you; and, circumstances shortened, for she has been too long a talking of, the lady is disloyal. CLAUDIO Who, Hero? DON PEDRO Even she; Leonato's Hero, your Hero, every man's Hero: CLAUDIO Disloyal? DON JOHN The word is too good to paint out her wickedness; I could say she were worse: think you of a worse title, and I will fit her to it. Wonder not till further warrant: go but with me to-night, you shall see her chamber-window entered, even the night before her wedding-day: if you love her then, to-morrow wed her; but it would better fit your honour to change your mind. CLAUDIO May this be so? DON PEDRO I will not think it. DON JOHN If you dare not trust that you see, confess not that you know: if you will follow me, I will show you enough; and when you have seen more and heard more, proceed accordingly. CLAUDIO If I see any thing to-night why I should not marry her to-morrow in the congregation, where I should wed, there will I shame her. DON PEDRO And, as I wooed for thee to obtain her, I will join with thee to disgrace her. DON JOHN I will disparage her no farther till you are my witnesses: bear it coldly but till midnight, and let the issue show itself. DON PEDRO O day untowardly turned! CLAUDIO O mischief strangely thwarting! DON JOHN O plague right well prevented! so will you say when you have seen the sequel. Exeunt SCENE III. A street. Enter DOGBERRY and VERGES with the Watch DOGBERRY Are you good men and true? VERGES Yea, or else it were pity but they should suffer salvation, body and soul. DOGBERRY Nay, that were a punishment too good for them, if they should have any allegiance in them, being chosen for the prince's watch. VERGES Well, give them their charge, neighbour Dogberry. DOGBERRY First, who think you the most desertless man to be constable? First Watchman Hugh Otecake, sir, or George Seacole; for they can write and read. DOGBERRY Come hither, neighbour Seacole. God hath blessed you with a good name: to be a well-favoured man is the gift of fortune; but to write and read comes by nature. Second Watchman Both which, master constable,-- DOGBERRY You have: I knew it would be your answer. Well, for your favour, sir, why, give God thanks, and make no boast of it; and for your writing and reading, let that appear when there is no need of such vanity. You are thought here to be the most senseless and fit man for the constable of the watch; therefore bear you the lantern. This is your charge: you shall comprehend all vagrom men; you are to bid any man stand, in the prince's name. Second Watchman How if a' will not stand? DOGBERRY Why, then, take no note of him, but let him go; and presently call the rest of the watch together and thank God you are rid of a knave. VERGES If he will not stand when he is bidden, he is none of the prince's subjects. DOGBERRY True, and they are to meddle with none but the prince's subjects. You shall also make no noise in the streets; for, for the watch to babble and to talk is most tolerable and not to be endured. Watchman We will rather sleep than talk: we know what belongs to a watch. DOGBERRY Why, you speak like an ancient and most quiet watchman; for I cannot see how sleeping should offend: only, have a care that your bills be not stolen. Well, you are to call at all the ale-houses, and bid those that are drunk get them to bed. Watchman How if they will not? DOGBERRY Why, then, let them alone till they are sober: if they make you not then the better answer, you may say they are not the men you took them for. Watchman Well, sir. DOGBERRY If you meet a thief, you may suspect him, by virtue of your office, to be no true man; and, for such kind of men, the less you meddle or make with them, why the more is for your honesty. Watchman If we know him to be a thief, shall we not lay hands on him? DOGBERRY Truly, by your office, you may; but I think they that touch pitch will be defiled: the most peaceable way for you, if you do take a thief, is to let him show himself what he is and steal out of your company. VERGES You have been always called a merciful man, partner. DOGBERRY Truly, I would not hang a dog by my will, much more a man who hath any honesty in him. VERGES If you hear a child cry in the night, you must call to the nurse and bid her still it. Watchman How if the nurse be asleep and will not hear us? DOGBERRY Why, then, depart in peace, and let the child wake her with crying; for the ewe that will not hear her lamb when it baes will never answer a calf when he bleats. VERGES 'Tis very true. DOGBERRY This is the end of the charge:--you, constable, are to present the prince's own person: if you meet the prince in the night, you may stay him. VERGES Nay, by'r our lady, that I think a' cannot. DOGBERRY Five shillings to one on't, with any man that knows the statutes, he may stay him: marry, not without the prince be willing; for, indeed, the watch ought to offend no man; and it is an offence to stay a man against his will. VERGES By'r lady, I think it be so. DOGBERRY Ha, ha, ha! Well, masters, good night: an there be any matter of weight chances, call up me: keep your fellows' counsels and your own; and good night. Come, neighbour. Watchman Well, masters, we hear our charge: let us go sit here upon the church-bench till two, and then all to bed. DOGBERRY One word more, honest neighbours. I pray you watch about Signior Leonato's door; for the wedding being there to-morrow, there is a great coil to-night. Adieu: be vigitant, I beseech you. Exeunt DOGBERRY and VERGES Enter BORACHIO and CONRADE BORACHIO What Conrade! Watchman Aside Peace! stir not. BORACHIO Conrade, I say! CONRADE Here, man; I am at thy elbow. BORACHIO Mass, and my elbow itched; I thought there would a scab follow. CONRADE I will owe thee an answer for that: and now forward with thy tale. BORACHIO Stand thee close, then, under this pent-house, for it drizzles rain; and I will, like a true drunkard, utter all to thee. Watchman Aside Some treason, masters: yet stand close. BORACHIO Therefore know I have earned of Don John a thousand ducats. CONRADE Is it possible that any villany should be so dear? BORACHIO Thou shouldst rather ask if it were possible any villany should be so rich; for when rich villains have need of poor ones, poor ones may make what price they will. CONRADE I wonder at it. BORACHIO That shows thou art unconfirmed. Thou knowest that the fashion of a doublet, or a hat, or a cloak, is nothing to a man. CONRADE Yes, it is apparel. BORACHIO I mean, the fashion. CONRADE Yes, the fashion is the fashion. BORACHIO Tush! I may as well say the fool's the fool. But seest thou not what a deformed thief this fashion is? Watchman Aside I know that Deformed; a' has been a vile thief this seven year; a' goes up and down like a gentleman: I remember his name. BORACHIO Didst thou not hear somebody? CONRADE No; 'twas the vane on the house. BORACHIO Seest thou not, I say, what a deformed thief this fashion is? how giddily a' turns about all the hot bloods between fourteen and five-and-thirty? sometimes fashioning them like Pharaoh's soldiers in the reeky painting, sometime like god Bel's priests in the old church-window, sometime like the shaven Hercules in the smirched worm-eaten tapestry, where his codpiece seems as massy as his club? CONRADE All this I see; and I see that the fashion wears out more apparel than the man. But art not thou thyself giddy with the fashion too, that thou hast shifted out of thy tale into telling me of the fashion? BORACHIO Not so, neither: but know that I have to-night wooed Margaret, the Lady Hero's gentlewoman, by the name of Hero: she leans me out at her mistress' chamber-window, bids me a thousand times good night,--I tell this tale vilely:--I should first tell thee how the prince, Claudio and my master, planted and placed and possessed by my master Don John, saw afar off in the orchard this amiable encounter. CONRADE And thought they Margaret was Hero? BORACHIO Two of them did, the prince and Claudio; but the devil my master knew she was Margaret; and partly by his oaths, which first possessed them, partly by the dark night, which did deceive them, but chiefly by my villany, which did confirm any slander that Don John had made, away went Claudio enraged; swore he would meet her, as he was appointed, next morning at the temple, and there, before the whole congregation, shame her with what he saw o'er night and send her home again without a husband. First Watchman We charge you, in the prince's name, stand! Second Watchman Call up the right master constable. We have here recovered the most dangerous piece of lechery that ever was known in the commonwealth. First Watchman And one Deformed is one of them: I know him; a' wears a lock. CONRADE Masters, masters,-- Second Watchman You'll be made bring Deformed forth, I warrant you. CONRADE Masters,-- First Watchman Never speak: we charge you let us obey you to go with us. BORACHIO We are like to prove a goodly commodity, being taken up of these men's bills. CONRADE A commodity in question, I warrant you. Come, we'll obey you. Exeunt SCENE IV. HERO's apartment. Enter HERO, MARGARET, and URSULA HERO Good Ursula, wake my cousin Beatrice, and desire her to rise. URSULA I will, lady. HERO And bid her come hither. URSULA Well. Exit MARGARET Troth, I think your other rabato were better. HERO No, pray thee, good Meg, I'll wear this. MARGARET By my troth, 's not so good; and I warrant your cousin will say so. HERO My cousin's a fool, and thou art another: I'll wear none but this. MARGARET I like the new tire within excellently, if the hair were a thought browner; and your gown's a most rare fashion, i' faith. I saw the Duchess of Milan's gown that they praise so. HERO O, that exceeds, they say. MARGARET By my troth, 's but a night-gown in respect of yours: cloth o' gold, and cuts, and laced with silver, set with pearls, down sleeves, side sleeves, and skirts, round underborne with a bluish tinsel: but for a fine, quaint, graceful and excellent fashion, yours is worth ten on 't. HERO God give me joy to wear it! for my heart is exceeding heavy. MARGARET 'Twill be heavier soon by the weight of a man. HERO Fie upon thee! art not ashamed? MARGARET Of what, lady? of speaking honourably? Is not marriage honourable in a beggar? Is not your lord honourable without marriage? I think you would have me say, 'saving your reverence, a husband:' and bad thinking do not wrest true speaking, I'll offend nobody: is there any harm in 'the heavier for a husband'? None, I think, and it be the right husband and the right wife; otherwise 'tis light, and not heavy: ask my Lady Beatrice else; here she comes. Enter BEATRICE HERO Good morrow, coz. BEATRICE Good morrow, sweet Hero. HERO Why how now? do you speak in the sick tune? BEATRICE I am out of all other tune, methinks. MARGARET Clap's into 'Light o' love;' that goes without a burden: do you sing it, and I'll dance it. BEATRICE Ye light o' love, with your heels! then, if your husband have stables enough, you'll see he shall lack no barns. MARGARET O illegitimate construction! I scorn that with my heels. BEATRICE 'Tis almost five o'clock, cousin; tis time you were ready. By my troth, I am exceeding ill: heigh-ho! MARGARET For a hawk, a horse, or a husband? BEATRICE For the letter that begins them all, H. MARGARET Well, and you be not turned Turk, there's no more sailing by the star. BEATRICE What means the fool, trow? MARGARET Nothing I; but God send every one their heart's desire! HERO These gloves the count sent me; they are an excellent perfume. BEATRICE I am stuffed, cousin; I cannot smell. MARGARET A maid, and stuffed! there's goodly catching of cold. BEATRICE O, God help me! God help me! how long have you professed apprehension? MARGARET Even since you left it. Doth not my wit become me rarely? BEATRICE It is not seen enough, you should wear it in your cap. By my troth, I am sick. MARGARET Get you some of this distilled Carduus Benedictus, and lay it to your heart: it is the only thing for a qualm. HERO There thou prickest her with a thistle. BEATRICE Benedictus! why Benedictus? you have some moral in this Benedictus. MARGARET Moral! no, by my troth, I have no moral meaning; I meant, plain holy-thistle. You may think perchance that I think you are in love: nay, by'r lady, I am not such a fool to think what I list, nor I list not to think what I can, nor indeed I cannot think, if I would think my heart out of thinking, that you are in love or that you will be in love or that you can be in love. Yet Benedick was such another, and now is he become a man: he swore he would never marry, and yet now, in despite of his heart, he eats his meat without grudging: and how you may be converted I know not, but methinks you look with your eyes as other women do. BEATRICE What pace is this that thy tongue keeps? MARGARET Not a false gallop. Re-enter URSULA URSULA Madam, withdraw: the prince, the count, Signior Benedick, Don John, and all the gallants of the town, are come to fetch you to church. HERO Help to dress me, good coz, good Meg, good Ursula. Exeunt SCENE V. Another room in LEONATO'S house. Enter LEONATO, with DOGBERRY and VERGES LEONATO What would you with me, honest neighbour? DOGBERRY Marry, sir, I would have some confidence with you that decerns you nearly. LEONATO Brief, I pray you; for you see it is a busy time with me. DOGBERRY Marry, this it is, sir. VERGES Yes, in truth it is, sir. LEONATO What is it, my good friends? DOGBERRY Goodman Verges, sir, speaks a little off the matter: an old man, sir, and his wits are not so blunt as, God help, I would desire they were; but, in faith, honest as the skin between his brows. VERGES Yes, I thank God I am as honest as any man living that is an old man and no honester than I. DOGBERRY Comparisons are odorous: palabras, neighbour Verges. LEONATO Neighbours, you are tedious. DOGBERRY It pleases your worship to say so, but we are the poor duke's officers; but truly, for mine own part, if I were as tedious as a king, I could find it in my heart to bestow it all of your worship. LEONATO All thy tediousness on me, ah? DOGBERRY Yea, an 'twere a thousand pound more than 'tis; for I hear as good exclamation on your worship as of any man in the city; and though I be but a poor man, I am glad to hear it. VERGES And so am I. LEONATO I would fain know what you have to say. VERGES Marry, sir, our watch to-night, excepting your worship's presence, ha' ta'en a couple of as arrant knaves as any in Messina. DOGBERRY A good old man, sir; he will be talking: as they say, when the age is in, the wit is out: God help us! it is a world to see. Well said, i' faith, neighbour Verges: well, God's a good man; an two men ride of a horse, one must ride behind. An honest soul, i' faith, sir; by my troth he is, as ever broke bread; but God is to be worshipped; all men are not alike; alas, good neighbour! LEONATO Indeed, neighbour, he comes too short of you. DOGBERRY Gifts that God gives. LEONATO I must leave you. DOGBERRY One word, sir: our watch, sir, have indeed comprehended two aspicious persons, and we would have them this morning examined before your worship. LEONATO Take their examination yourself and bring it me: I am now in great haste, as it may appear unto you. DOGBERRY It shall be suffigance. LEONATO Drink some wine ere you go: fare you well. Enter a Messenger Messenger My lord, they stay for you to give your daughter to her husband. LEONATO I'll wait upon them: I am ready. Exeunt LEONATO and Messenger DOGBERRY Go, good partner, go, get you to Francis Seacole; bid him bring his pen and inkhorn to the gaol: we are now to examination these men. VERGES And we must do it wisely. DOGBERRY We will spare for no wit, I warrant you; here's that shall drive some of them to a non-come: only get the learned writer to set down our excommunication and meet me at the gaol. Exeunt ACT IV SCENE I. A church. Enter DON PEDRO, DON JOHN, LEONATO, FRIAR FRANCIS, CLAUDIO, BENEDICK, HERO, BEATRICE, and Attendants LEONATO Come, Friar Francis, be brief; only to the plain form of marriage, and you shall recount their particular duties afterwards. FRIAR FRANCIS You come hither, my lord, to marry this lady. CLAUDIO No. LEONATO To be married to her: friar, you come to marry her. FRIAR FRANCIS Lady, you come hither to be married to this count. HERO I do. FRIAR FRANCIS If either of you know any inward impediment why you should not be conjoined, charge you, on your souls, to utter it. CLAUDIO Know you any, Hero? HERO None, my lord. FRIAR FRANCIS Know you any, count? LEONATO I dare make his answer, none. CLAUDIO O, what men dare do! what men may do! what men daily do, not knowing what they do! BENEDICK How now! interjections? Why, then, some be of laughing, as, ah, ha, he! CLAUDIO Stand thee by, friar. Father, by your leave: Will you with free and unconstrained soul Give me this maid, your daughter? LEONATO As freely, son, as God did give her me. CLAUDIO And what have I to give you back, whose worth May counterpoise this rich and precious gift? DON PEDRO Nothing, unless you render her again. CLAUDIO Sweet prince, you learn me noble thankfulness. There, Leonato, take her back again: Give not this rotten orange to your friend; She's but the sign and semblance of her honour. Behold how like a maid she blushes here! O, what authority and show of truth Can cunning sin cover itself withal! Comes not that blood as modest evidence To witness simple virtue? Would you not swear, All you that see her, that she were a maid, By these exterior shows? But she is none: She knows the heat of a luxurious bed; Her blush is guiltiness, not modesty. LEONATO What do you mean, my lord? CLAUDIO Not to be married, Not to knit my soul to an approved wanton. LEONATO Dear my lord, if you, in your own proof, Have vanquish'd the resistance of her youth, And made defeat of her virginity,-- CLAUDIO I know what you would say: if I have known her, You will say she did embrace me as a husband, And so extenuate the 'forehand sin: No, Leonato, I never tempted her with word too large; But, as a brother to his sister, show'd Bashful sincerity and comely love. HERO And seem'd I ever otherwise to you? CLAUDIO Out on thee! Seeming! I will write against it: You seem to me as Dian in her orb, As chaste as is the bud ere it be blown; But you are more intemperate in your blood Than Venus, or those pamper'd animals That rage in savage sensuality. HERO Is my lord well, that he doth speak so wide? LEONATO Sweet prince, why speak not you? DON PEDRO What should I speak? I stand dishonour'd, that have gone about To link my dear friend to a common stale. LEONATO Are these things spoken, or do I but dream? DON JOHN Sir, they are spoken, and these things are true. BENEDICK This looks not like a nuptial. HERO True! O God! CLAUDIO Leonato, stand I here? Is this the prince? is this the prince's brother? Is this face Hero's? are our eyes our own? LEONATO All this is so: but what of this, my lord? CLAUDIO Let me but move one question to your daughter; And, by that fatherly and kindly power That you have in her, bid her answer truly. LEONATO I charge thee do so, as thou art my child. HERO O, God defend me! how am I beset! What kind of catechising call you this? CLAUDIO To make you answer truly to your name. HERO Is it not Hero? Who can blot that name With any just reproach? CLAUDIO Marry, that can Hero; Hero itself can blot out Hero's virtue. What man was he talk'd with you yesternight Out at your window betwixt twelve and one? Now, if you are a maid, answer to this. HERO I talk'd with no man at that hour, my lord. DON PEDRO Why, then are you no maiden. Leonato, I am sorry you must hear: upon mine honour, Myself, my brother and this grieved count Did see her, hear her, at that hour last night Talk with a ruffian at her chamber-window Who hath indeed, most like a liberal villain, Confess'd the vile encounters they have had A thousand times in secret. DON JOHN Fie, fie! they are not to be named, my lord, Not to be spoke of; There is not chastity enough in language Without offence to utter them. Thus, pretty lady, I am sorry for thy much misgovernment. CLAUDIO O Hero, what a Hero hadst thou been, If half thy outward graces had been placed About thy thoughts and counsels of thy heart! But fare thee well, most foul, most fair! farewell, Thou pure impiety and impious purity! For thee I'll lock up all the gates of love, And on my eyelids shall conjecture hang, To turn all beauty into thoughts of harm, And never shall it more be gracious. LEONATO Hath no man's dagger here a point for me? HERO swoons BEATRICE Why, how now, cousin! wherefore sink you down? DON JOHN Come, let us go. These things, come thus to light, Smother her spirits up. Exeunt DON PEDRO, DON JOHN, and CLAUDIO BENEDICK How doth the lady? BEATRICE Dead, I think. Help, uncle! Hero! why, Hero! Uncle! Signior Benedick! Friar! LEONATO O Fate! take not away thy heavy hand. Death is the fairest cover for her shame That may be wish'd for. BEATRICE How now, cousin Hero! FRIAR FRANCIS Have comfort, lady. LEONATO Dost thou look up? FRIAR FRANCIS Yea, wherefore should she not? LEONATO Wherefore! Why, doth not every earthly thing Cry shame upon her? Could she here deny The story that is printed in her blood? Do not live, Hero; do not ope thine eyes: For, did I think thou wouldst not quickly die, Thought I thy spirits were stronger than thy shames, Myself would, on the rearward of reproaches, Strike at thy life. Grieved I, I had but one? Chid I for that at frugal nature's frame? O, one too much by thee! Why had I one? Why ever wast thou lovely in my eyes? Why had I not with charitable hand Took up a beggar's issue at my gates, Who smirch'd thus and mired with infamy, I might have said 'No part of it is mine; This shame derives itself from unknown loins'? But mine and mine I loved and mine I praised And mine that I was proud on, mine so much That I myself was to myself not mine, Valuing of her,--why, she, O, she is fallen Into a pit of ink, that the wide sea Hath drops too few to wash her clean again And salt too little which may season give To her foul-tainted flesh! BENEDICK Sir, sir, be patient. For my part, I am so attired in wonder, I know not what to say. BEATRICE O, on my soul, my cousin is belied! BENEDICK Lady, were you her bedfellow last night? BEATRICE No, truly not; although, until last night, I have this twelvemonth been her bedfellow. LEONATO Confirm'd, confirm'd! O, that is stronger made Which was before barr'd up with ribs of iron! Would the two princes lie, and Claudio lie, Who loved her so, that, speaking of her foulness, Wash'd it with tears? Hence from her! let her die. FRIAR FRANCIS Hear me a little; for I have only been Silent so long and given way unto This course of fortune By noting of the lady. I have mark'd A thousand blushing apparitions To start into her face, a thousand innocent shames In angel whiteness beat away those blushes; And in her eye there hath appear'd a fire, To burn the errors that these princes hold Against her maiden truth. Call me a fool; Trust not my reading nor my observations, Which with experimental seal doth warrant The tenor of my book; trust not my age, My reverence, calling, nor divinity, If this sweet lady lie not guiltless here Under some biting error. LEONATO Friar, it cannot be. Thou seest that all the grace that she hath left Is that she will not add to her damnation A sin of perjury; she not denies it: Why seek'st thou then to cover with excuse That which appears in proper nakedness? FRIAR FRANCIS Lady, what man is he you are accused of? HERO They know that do accuse me; I know none: If I know more of any man alive Than that which maiden modesty doth warrant, Let all my sins lack mercy! O my father, Prove you that any man with me conversed At hours unmeet, or that I yesternight Maintain'd the change of words with any creature, Refuse me, hate me, torture me to death! FRIAR FRANCIS There is some strange misprision in the princes. BENEDICK Two of them have the very bent of honour; And if their wisdoms be misled in this, The practise of it lives in John the bastard, Whose spirits toil in frame of villanies. LEONATO I know not. If they speak but truth of her, These hands shall tear her; if they wrong her honour, The proudest of them shall well hear of it. Time hath not yet so dried this blood of mine, Nor age so eat up my invention, Nor fortune made such havoc of my means, Nor my bad life reft me so much of friends, But they shall find, awaked in such a kind, Both strength of limb and policy of mind, Ability in means and choice of friends, To quit me of them throughly. FRIAR FRANCIS Pause awhile, And let my counsel sway you in this case. Your daughter here the princes left for dead: Let her awhile be secretly kept in, And publish it that she is dead indeed; Maintain a mourning ostentation And on your family's old monument Hang mournful epitaphs and do all rites That appertain unto a burial. LEONATO What shall become of this? what will this do? FRIAR FRANCIS Marry, this well carried shall on her behalf Change slander to remorse; that is some good: But not for that dream I on this strange course, But on this travail look for greater birth. She dying, as it must so be maintain'd, Upon the instant that she was accused, Shall be lamented, pitied and excused Of every hearer: for it so falls out That what we have we prize not to the worth Whiles we enjoy it, but being lack'd and lost, Why, then we rack the value, then we find The virtue that possession would not show us Whiles it was ours. So will it fare with Claudio: When he shall hear she died upon his words, The idea of her life shall sweetly creep Into his study of imagination, And every lovely organ of her life Shall come apparell'd in more precious habit, More moving-delicate and full of life, Into the eye and prospect of his soul, Than when she lived indeed; then shall he mourn, If ever love had interest in his liver, And wish he had not so accused her, No, though he thought his accusation true. Let this be so, and doubt not but success Will fashion the event in better shape Than I can lay it down in likelihood. But if all aim but this be levell'd false, The supposition of the lady's death Will quench the wonder of her infamy: And if it sort not well, you may conceal her, As best befits her wounded reputation, In some reclusive and religious life, Out of all eyes, tongues, minds and injuries. BENEDICK Signior Leonato, let the friar advise you: And though you know my inwardness and love Is very much unto the prince and Claudio, Yet, by mine honour, I will deal in this As secretly and justly as your soul Should with your body. LEONATO Being that I flow in grief, The smallest twine may lead me. FRIAR FRANCIS 'Tis well consented: presently away; For to strange sores strangely they strain the cure. Come, lady, die to live: this wedding-day Perhaps is but prolong'd: have patience and endure. Exeunt all but BENEDICK and BEATRICE BENEDICK Lady Beatrice, have you wept all this while? BEATRICE Yea, and I will weep a while longer. BENEDICK I will not desire that. BEATRICE You have no reason; I do it freely. BENEDICK Surely I do believe your fair cousin is wronged. BEATRICE Ah, how much might the man deserve of me that would right her! BENEDICK Is there any way to show such friendship? BEATRICE A very even way, but no such friend. BENEDICK May a man do it? BEATRICE It is a man's office, but not yours. BENEDICK I do love nothing in the world so well as you: is not that strange? BEATRICE As strange as the thing I know not. It were as possible for me to say I loved nothing so well as you: but believe me not; and yet I lie not; I confess nothing, nor I deny nothing. I am sorry for my cousin. BENEDICK By my sword, Beatrice, thou lovest me. BEATRICE Do not swear, and eat it. BENEDICK I will swear by it that you love me; and I will make him eat it that says I love not you. BEATRICE Will you not eat your word? BENEDICK With no sauce that can be devised to it. I protest I love thee. BEATRICE Why, then, God forgive me! BENEDICK What offence, sweet Beatrice? BEATRICE You have stayed me in a happy hour: I was about to protest I loved you. BENEDICK And do it with all thy heart. BEATRICE I love you with so much of my heart that none is left to protest. BENEDICK Come, bid me do any thing for thee. BEATRICE Kill Claudio. BENEDICK Ha! not for the wide world. BEATRICE You kill me to deny it. Farewell. BENEDICK Tarry, sweet Beatrice. BEATRICE I am gone, though I am here: there is no love in you: nay, I pray you, let me go. BENEDICK Beatrice,-- BEATRICE In faith, I will go. BENEDICK We'll be friends first. BEATRICE You dare easier be friends with me than fight with mine enemy. BENEDICK Is Claudio thine enemy? BEATRICE Is he not approved in the height a villain, that hath slandered, scorned, dishonoured my kinswoman? O that I were a man! What, bear her in hand until they come to take hands; and then, with public accusation, uncovered slander, unmitigated rancour, --O God, that I were a man! I would eat his heart in the market-place. BENEDICK Hear me, Beatrice,-- BEATRICE Talk with a man out at a window! A proper saying! BENEDICK Nay, but, Beatrice,-- BEATRICE Sweet Hero! She is wronged, she is slandered, she is undone. BENEDICK Beat-- BEATRICE Princes and counties! Surely, a princely testimony, a goodly count, Count Comfect; a sweet gallant, surely! O that I were a man for his sake! or that I had any friend would be a man for my sake! But manhood is melted into courtesies, valour into compliment, and men are only turned into tongue, and trim ones too: he is now as valiant as Hercules that only tells a lie and swears it. I cannot be a man with wishing, therefore I will die a woman with grieving. BENEDICK Tarry, good Beatrice. By this hand, I love thee. BEATRICE Use it for my love some other way than swearing by it. BENEDICK Think you in your soul the Count Claudio hath wronged Hero? BEATRICE Yea, as sure as I have a thought or a soul. BENEDICK Enough, I am engaged; I will challenge him. I will kiss your hand, and so I leave you. By this hand, Claudio shall render me a dear account. As you hear of me, so think of me. Go, comfort your cousin: I must say she is dead: and so, farewell. Exeunt SCENE II. A prison. Enter DOGBERRY, VERGES, and Sexton, in gowns; and the Watch, with CONRADE and BORACHIO DOGBERRY Is our whole dissembly appeared? VERGES O, a stool and a cushion for the sexton. Sexton Which be the malefactors? DOGBERRY Marry, that am I and my partner. VERGES Nay, that's certain; we have the exhibition to examine. Sexton But which are the offenders that are to be examined? let them come before master constable. DOGBERRY Yea, marry, let them come before me. What is your name, friend? BORACHIO Borachio. DOGBERRY Pray, write down, Borachio. Yours, sirrah? CONRADE I am a gentleman, sir, and my name is Conrade. DOGBERRY Write down, master gentleman Conrade. Masters, do you serve God? CONRADE BORACHIO Yea, sir, we hope. DOGBERRY Write down, that they hope they serve God: and write God first; for God defend but God should go before such villains! Masters, it is proved already that you are little better than false knaves; and it will go near to be thought so shortly. How answer you for yourselves? CONRADE Marry, sir, we say we are none. DOGBERRY A marvellous witty fellow, I assure you: but I will go about with him. Come you hither, sirrah; a word in your ear: sir, I say to you, it is thought you are false knaves. BORACHIO Sir, I say to you we are none. DOGBERRY Well, stand aside. 'Fore God, they are both in a tale. Have you writ down, that they are none? Sexton Master constable, you go not the way to examine: you must call forth the watch that are their accusers. DOGBERRY Yea, marry, that's the eftest way. Let the watch come forth. Masters, I charge you, in the prince's name, accuse these men. First Watchman This man said, sir, that Don John, the prince's brother, was a villain. DOGBERRY Write down Prince John a villain. Why, this is flat perjury, to call a prince's brother villain. BORACHIO Master constable,-- DOGBERRY Pray thee, fellow, peace: I do not like thy look, I promise thee. Sexton What heard you him say else? Second Watchman Marry, that he had received a thousand ducats of Don John for accusing the Lady Hero wrongfully. DOGBERRY Flat burglary as ever was committed. VERGES Yea, by mass, that it is. Sexton What else, fellow? First Watchman And that Count Claudio did mean, upon his words, to disgrace Hero before the whole assembly. and not marry her. DOGBERRY O villain! thou wilt be condemned into everlasting redemption for this. Sexton What else? Watchman This is all. Sexton And this is more, masters, than you can deny. Prince John is this morning secretly stolen away; Hero was in this manner accused, in this very manner refused, and upon the grief of this suddenly died. Master constable, let these men be bound, and brought to Leonato's: I will go before and show him their examination. Exit DOGBERRY Come, let them be opinioned. VERGES Let them be in the hands-- CONRADE Off, coxcomb! DOGBERRY God's my life, where's the sexton? let him write down the prince's officer coxcomb. Come, bind them. Thou naughty varlet! CONRADE Away! you are an ass, you are an ass. DOGBERRY Dost thou not suspect my place? dost thou not suspect my years? O that he were here to write me down an ass! But, masters, remember that I am an ass; though it be not written down, yet forget not that I am an ass. No, thou villain, thou art full of piety, as shall be proved upon thee by good witness. I am a wise fellow, and, which is more, an officer, and, which is more, a householder, and, which is more, as pretty a piece of flesh as any is in Messina, and one that knows the law, go to; and a rich fellow enough, go to; and a fellow that hath had losses, and one that hath two gowns and every thing handsome about him. Bring him away. O that I had been writ down an ass! Exeunt ACT V SCENE I. Before LEONATO'S house. Enter LEONATO and ANTONIO ANTONIO If you go on thus, you will kill yourself: And 'tis not wisdom thus to second grief Against yourself. LEONATO I pray thee, cease thy counsel, Which falls into mine ears as profitless As water in a sieve: give not me counsel; Nor let no comforter delight mine ear But such a one whose wrongs do suit with mine. Bring me a father that so loved his child, Whose joy of her is overwhelm'd like mine, And bid him speak of patience; Measure his woe the length and breadth of mine And let it answer every strain for strain, As thus for thus and such a grief for such, In every lineament, branch, shape, and form: If such a one will smile and stroke his beard, Bid sorrow wag, cry 'hem!' when he should groan, Patch grief with proverbs, make misfortune drunk With candle-wasters; bring him yet to me, And I of him will gather patience. But there is no such man: for, brother, men Can counsel and speak comfort to that grief Which they themselves not feel; but, tasting it, Their counsel turns to passion, which before Would give preceptial medicine to rage, Fetter strong madness in a silken thread, Charm ache with air and agony with words: No, no; 'tis all men's office to speak patience To those that wring under the load of sorrow, But no man's virtue nor sufficiency To be so moral when he shall endure The like himself. Therefore give me no counsel: My griefs cry louder than advertisement. ANTONIO Therein do men from children nothing differ. LEONATO I pray thee, peace. I will be flesh and blood; For there was never yet philosopher That could endure the toothache patiently, However they have writ the style of gods And made a push at chance and sufferance. ANTONIO Yet bend not all the harm upon yourself; Make those that do offend you suffer too. LEONATO There thou speak'st reason: nay, I will do so. My soul doth tell me Hero is belied; And that shall Claudio know; so shall the prince And all of them that thus dishonour her. ANTONIO Here comes the prince and Claudio hastily. Enter DON PEDRO and CLAUDIO DON PEDRO Good den, good den. CLAUDIO Good day to both of you. LEONATO Hear you. my lords,-- DON PEDRO We have some haste, Leonato. LEONATO Some haste, my lord! well, fare you well, my lord: Are you so hasty now? well, all is one. DON PEDRO Nay, do not quarrel with us, good old man. ANTONIO If he could right himself with quarreling, Some of us would lie low. CLAUDIO Who wrongs him? LEONATO Marry, thou dost wrong me; thou dissembler, thou:-- Nay, never lay thy hand upon thy sword; I fear thee not. CLAUDIO Marry, beshrew my hand, If it should give your age such cause of fear: In faith, my hand meant nothing to my sword. LEONATO Tush, tush, man; never fleer and jest at me: I speak not like a dotard nor a fool, As under privilege of age to brag What I have done being young, or what would do Were I not old. Know, Claudio, to thy head, Thou hast so wrong'd mine innocent child and me That I am forced to lay my reverence by And, with grey hairs and bruise of many days, Do challenge thee to trial of a man. I say thou hast belied mine innocent child; Thy slander hath gone through and through her heart, And she lies buried with her ancestors; O, in a tomb where never scandal slept, Save this of hers, framed by thy villany! CLAUDIO My villany? LEONATO Thine, Claudio; thine, I say. DON PEDRO You say not right, old man. LEONATO My lord, my lord, I'll prove it on his body, if he dare, Despite his nice fence and his active practise, His May of youth and bloom of lustihood. CLAUDIO Away! I will not have to do with you. LEONATO Canst thou so daff me? Thou hast kill'd my child: If thou kill'st me, boy, thou shalt kill a man. ANTONIO He shall kill two of us, and men indeed: But that's no matter; let him kill one first; Win me and wear me; let him answer me. Come, follow me, boy; come, sir boy, come, follow me: Sir boy, I'll whip you from your foining fence; Nay, as I am a gentleman, I will. LEONATO Brother,-- ANTONIO Content yourself. God knows I loved my niece; And she is dead, slander'd to death by villains, That dare as well answer a man indeed As I dare take a serpent by the tongue: Boys, apes, braggarts, Jacks, milksops! LEONATO Brother Antony,-- ANTONIO Hold you content. What, man! I know them, yea, And what they weigh, even to the utmost scruple,-- Scrambling, out-facing, fashion-monging boys, That lie and cog and flout, deprave and slander, Go anticly, show outward hideousness, And speak off half a dozen dangerous words, How they might hurt their enemies, if they durst; And this is all. LEONATO But, brother Antony,-- ANTONIO Come, 'tis no matter: Do not you meddle; let me deal in this. DON PEDRO Gentlemen both, we will not wake your patience. My heart is sorry for your daughter's death: But, on my honour, she was charged with nothing But what was true and very full of proof. LEONATO My lord, my lord,-- DON PEDRO I will not hear you. LEONATO No? Come, brother; away! I will be heard. ANTONIO And shall, or some of us will smart for it. Exeunt LEONATO and ANTONIO DON PEDRO See, see; here comes the man we went to seek. Enter BENEDICK CLAUDIO Now, signior, what news? BENEDICK Good day, my lord. DON PEDRO Welcome, signior: you are almost come to part almost a fray. CLAUDIO We had like to have had our two noses snapped off with two old men without teeth. DON PEDRO Leonato and his brother. What thinkest thou? Had we fought, I doubt we should have been too young for them. BENEDICK In a false quarrel there is no true valour. I came to seek you both. CLAUDIO We have been up and down to seek thee; for we are high-proof melancholy and would fain have it beaten away. Wilt thou use thy wit? BENEDICK It is in my scabbard: shall I draw it? DON PEDRO Dost thou wear thy wit by thy side? CLAUDIO Never any did so, though very many have been beside their wit. I will bid thee draw, as we do the minstrels; draw, to pleasure us. DON PEDRO As I am an honest man, he looks pale. Art thou sick, or angry? CLAUDIO What, courage, man! What though care killed a cat, thou hast mettle enough in thee to kill care. BENEDICK Sir, I shall meet your wit in the career, and you charge it against me. I pray you choose another subject. CLAUDIO Nay, then, give him another staff: this last was broke cross. DON PEDRO By this light, he changes more and more: I think he be angry indeed. CLAUDIO If he be, he knows how to turn his girdle. BENEDICK Shall I speak a word in your ear? CLAUDIO God bless me from a challenge! BENEDICK Aside to CLAUDIO You are a villain; I jest not: I will make it good how you dare, with what you dare, and when you dare. Do me right, or I will protest your cowardice. You have killed a sweet lady, and her death shall fall heavy on you. Let me hear from you. CLAUDIO Well, I will meet you, so I may have good cheer. DON PEDRO What, a feast, a feast? CLAUDIO I' faith, I thank him; he hath bid me to a calf's head and a capon; the which if I do not carve most curiously, say my knife's naught. Shall I not find a woodcock too? BENEDICK Sir, your wit ambles well; it goes easily. DON PEDRO I'll tell thee how Beatrice praised thy wit the other day. I said, thou hadst a fine wit: 'True,' said she, 'a fine little one.' 'No,' said I, 'a great wit:' 'Right,' says she, 'a great gross one.' 'Nay,' said I, 'a good wit:' 'Just,' said she, 'it hurts nobody.' 'Nay,' said I, 'the gentleman is wise:' 'Certain,' said she, 'a wise gentleman.' 'Nay,' said I, 'he hath the tongues:' 'That I believe,' said she, 'for he swore a thing to me on Monday night, which he forswore on Tuesday morning; there's a double tongue; there's two tongues.' Thus did she, an hour together, transshape thy particular virtues: yet at last she concluded with a sigh, thou wast the properest man in Italy. CLAUDIO For the which she wept heartily and said she cared not. DON PEDRO Yea, that she did: but yet, for all that, an if she did not hate him deadly, she would love him dearly: the old man's daughter told us all. CLAUDIO All, all; and, moreover, God saw him when he was hid in the garden. DON PEDRO But when shall we set the savage bull's horns on the sensible Benedick's head? CLAUDIO Yea, and text underneath, 'Here dwells Benedick the married man'? BENEDICK Fare you well, boy: you know my mind. I will leave you now to your gossip-like humour: you break jests as braggarts do their blades, which God be thanked, hurt not. My lord, for your many courtesies I thank you: I must discontinue your company: your brother the bastard is fled from Messina: you have among you killed a sweet and innocent lady. For my Lord Lackbeard there, he and I shall meet: and, till then, peace be with him. Exit DON PEDRO He is in earnest. CLAUDIO In most profound earnest; and, I'll warrant you, for the love of Beatrice. DON PEDRO And hath challenged thee. CLAUDIO Most sincerely. DON PEDRO What a pretty thing man is when he goes in his doublet and hose and leaves off his wit! CLAUDIO He is then a giant to an ape; but then is an ape a doctor to such a man. DON PEDRO But, soft you, let me be: pluck up, my heart, and be sad. Did he not say, my brother was fled? Enter DOGBERRY, VERGES, and the Watch, with CONRADE and BORACHIO DOGBERRY Come you, sir: if justice cannot tame you, she shall ne'er weigh more reasons in her balance: nay, an you be a cursing hypocrite once, you must be looked to. DON PEDRO How now? two of my brother's men bound! Borachio one! CLAUDIO Hearken after their offence, my lord. DON PEDRO Officers, what offence have these men done? DOGBERRY Marry, sir, they have committed false report; moreover, they have spoken untruths; secondarily, they are slanders; sixth and lastly, they have belied a lady; thirdly, they have verified unjust things; and, to conclude, they are lying knaves. DON PEDRO First, I ask thee what they have done; thirdly, I ask thee what's their offence; sixth and lastly, why they are committed; and, to conclude, what you lay to their charge. CLAUDIO Rightly reasoned, and in his own division: and, by my troth, there's one meaning well suited. DON PEDRO Who have you offended, masters, that you are thus bound to your answer? this learned constable is too cunning to be understood: what's your offence? BORACHIO Sweet prince, let me go no farther to mine answer: do you hear me, and let this count kill me. I have deceived even your very eyes: what your wisdoms could not discover, these shallow fools have brought to light: who in the night overheard me confessing to this man how Don John your brother incensed me to slander the Lady Hero, how you were brought into the orchard and saw me court Margaret in Hero's garments, how you disgraced her, when you should marry her: my villany they have upon record; which I had rather seal with my death than repeat over to my shame. The lady is dead upon mine and my master's false accusation; and, briefly, I desire nothing but the reward of a villain. DON PEDRO Runs not this speech like iron through your blood? CLAUDIO I have drunk poison whiles he utter'd it. DON PEDRO But did my brother set thee on to this? BORACHIO Yea, and paid me richly for the practise of it. DON PEDRO He is composed and framed of treachery: And fled he is upon this villany. CLAUDIO Sweet Hero! now thy image doth appear In the rare semblance that I loved it first. DOGBERRY Come, bring away the plaintiffs: by this time our sexton hath reformed Signior Leonato of the matter: and, masters, do not forget to specify, when time and place shall serve, that I am an ass. VERGES Here, here comes master Signior Leonato, and the Sexton too. Re-enter LEONATO and ANTONIO, with the Sexton LEONATO Which is the villain? let me see his eyes, That, when I note another man like him, I may avoid him: which of these is he? BORACHIO If you would know your wronger, look on me. LEONATO Art thou the slave that with thy breath hast kill'd Mine innocent child? BORACHIO Yea, even I alone. LEONATO No, not so, villain; thou beliest thyself: Here stand a pair of honourable men; A third is fled, that had a hand in it. I thank you, princes, for my daughter's death: Record it with your high and worthy deeds: 'Twas bravely done, if you bethink you of it. CLAUDIO I know not how to pray your patience; Yet I must speak. Choose your revenge yourself; Impose me to what penance your invention Can lay upon my sin: yet sinn'd I not But in mistaking. DON PEDRO By my soul, nor I: And yet, to satisfy this good old man, I would bend under any heavy weight That he'll enjoin me to. LEONATO I cannot bid you bid my daughter live; That were impossible: but, I pray you both, Possess the people in Messina here How innocent she died; and if your love Can labour ought in sad invention, Hang her an epitaph upon her tomb And sing it to her bones, sing it to-night: To-morrow morning come you to my house, And since you could not be my son-in-law, Be yet my nephew: my brother hath a daughter, Almost the copy of my child that's dead, And she alone is heir to both of us: Give her the right you should have given her cousin, And so dies my revenge. CLAUDIO O noble sir, Your over-kindness doth wring tears from me! I do embrace your offer; and dispose For henceforth of poor Claudio. LEONATO To-morrow then I will expect your coming; To-night I take my leave. This naughty man Shall face to face be brought to Margaret, Who I believe was pack'd in all this wrong, Hired to it by your brother. BORACHIO No, by my soul, she was not, Nor knew not what she did when she spoke to me, But always hath been just and virtuous In any thing that I do know by her. DOGBERRY Moreover, sir, which indeed is not under white and black, this plaintiff here, the offender, did call me ass: I beseech you, let it be remembered in his punishment. And also, the watch heard them talk of one Deformed: they say be wears a key in his ear and a lock hanging by it, and borrows money in God's name, the which he hath used so long and never paid that now men grow hard-hearted and will lend nothing for God's sake: pray you, examine him upon that point. LEONATO I thank thee for thy care and honest pains. DOGBERRY Your worship speaks like a most thankful and reverend youth; and I praise God for you. LEONATO There's for thy pains. DOGBERRY God save the foundation! LEONATO Go, I discharge thee of thy prisoner, and I thank thee. DOGBERRY I leave an arrant knave with your worship; which I beseech your worship to correct yourself, for the example of others. God keep your worship! I wish your worship well; God restore you to health! I humbly give you leave to depart; and if a merry meeting may be wished, God prohibit it! Come, neighbour. Exeunt DOGBERRY and VERGES LEONATO Until to-morrow morning, lords, farewell. ANTONIO Farewell, my lords: we look for you to-morrow. DON PEDRO We will not fail. CLAUDIO To-night I'll mourn with Hero. LEONATO To the Watch Bring you these fellows on. We'll talk with Margaret, How her acquaintance grew with this lewd fellow. Exeunt, severally SCENE II. LEONATO'S garden. Enter BENEDICK and MARGARET, meeting BENEDICK Pray thee, sweet Mistress Margaret, deserve well at my hands by helping me to the speech of Beatrice. MARGARET Will you then write me a sonnet in praise of my beauty? BENEDICK In so high a style, Margaret, that no man living shall come over it; for, in most comely truth, thou deservest it. MARGARET To have no man come over me! why, shall I always keep below stairs? BENEDICK Thy wit is as quick as the greyhound's mouth; it catches. MARGARET And yours as blunt as the fencer's foils, which hit, but hurt not. BENEDICK A most manly wit, Margaret; it will not hurt a woman: and so, I pray thee, call Beatrice: I give thee the bucklers. MARGARET Give us the swords; we have bucklers of our own. BENEDICK If you use them, Margaret, you must put in the pikes with a vice; and they are dangerous weapons for maids. MARGARET Well, I will call Beatrice to you, who I think hath legs. BENEDICK And therefore will come. Exit MARGARET Sings The god of love, That sits above, And knows me, and knows me, How pitiful I deserve,-- I mean in singing; but in loving, Leander the good swimmer, Troilus the first employer of panders, and a whole bookful of these quondam carpet-mangers, whose names yet run smoothly in the even road of a blank verse, why, they were never so truly turned over and over as my poor self in love. Marry, I cannot show it in rhyme; I have tried: I can find out no rhyme to 'lady' but 'baby,' an innocent rhyme; for 'scorn,' 'horn,' a hard rhyme; for, 'school,' 'fool,' a babbling rhyme; very ominous endings: no, I was not born under a rhyming planet, nor I cannot woo in festival terms. Enter BEATRICE Sweet Beatrice, wouldst thou come when I called thee? BEATRICE Yea, signior, and depart when you bid me. BENEDICK O, stay but till then! BEATRICE 'Then' is spoken; fare you well now: and yet, ere I go, let me go with that I came; which is, with knowing what hath passed between you and Claudio. BENEDICK Only foul words; and thereupon I will kiss thee. BEATRICE Foul words is but foul wind, and foul wind is but foul breath, and foul breath is noisome; therefore I will depart unkissed. BENEDICK Thou hast frighted the word out of his right sense, so forcible is thy wit. But I must tell thee plainly, Claudio undergoes my challenge; and either I must shortly hear from him, or I will subscribe him a coward. And, I pray thee now, tell me for which of my bad parts didst thou first fall in love with me? BEATRICE For them all together; which maintained so politic a state of evil that they will not admit any good part to intermingle with them. But for which of my good parts did you first suffer love for me? BENEDICK Suffer love! a good epithet! I do suffer love indeed, for I love thee against my will. BEATRICE In spite of your heart, I think; alas, poor heart! If you spite it for my sake, I will spite it for yours; for I will never love that which my friend hates. BENEDICK Thou and I are too wise to woo peaceably. BEATRICE It appears not in this confession: there's not one wise man among twenty that will praise himself. BENEDICK An old, an old instance, Beatrice, that lived in the lime of good neighbours. If a man do not erect in this age his own tomb ere he dies, he shall live no longer in monument than the bell rings and the widow weeps. BEATRICE And how long is that, think you? BENEDICK Question: why, an hour in clamour and a quarter in rheum: therefore is it most expedient for the wise, if Don Worm, his conscience, find no impediment to the contrary, to be the trumpet of his own virtues, as I am to myself. So much for praising myself, who, I myself will bear witness, is praiseworthy: and now tell me, how doth your cousin? BEATRICE Very ill. BENEDICK And how do you? BEATRICE Very ill too. BENEDICK Serve God, love me and mend. There will I leave you too, for here comes one in haste. Enter URSULA URSULA Madam, you must come to your uncle. Yonder's old coil at home: it is proved my Lady Hero hath been falsely accused, the prince and Claudio mightily abused; and Don John is the author of all, who is fed and gone. Will you come presently? BEATRICE Will you go hear this news, signior? BENEDICK I will live in thy heart, die in thy lap, and be buried in thy eyes; and moreover I will go with thee to thy uncle's. Exeunt SCENE III. A church. Enter DON PEDRO, CLAUDIO, and three or four with tapers CLAUDIO Is this the monument of Leonato? Lord It is, my lord. CLAUDIO Reading out of a scroll Done to death by slanderous tongues Was the Hero that here lies: Death, in guerdon of her wrongs, Gives her fame which never dies. So the life that died with shame Lives in death with glorious fame. Hang thou there upon the tomb, Praising her when I am dumb. Now, music, sound, and sing your solemn hymn. SONG. Pardon, goddess of the night, Those that slew thy virgin knight; For the which, with songs of woe, Round about her tomb they go. Midnight, assist our moan; Help us to sigh and groan, Heavily, heavily: Graves, yawn and yield your dead, Till death be uttered, Heavily, heavily. CLAUDIO Now, unto thy bones good night! Yearly will I do this rite. DON PEDRO Good morrow, masters; put your torches out: The wolves have prey'd; and look, the gentle day, Before the wheels of Phoebus, round about Dapples the drowsy east with spots of grey. Thanks to you all, and leave us: fare you well. CLAUDIO Good morrow, masters: each his several way. DON PEDRO Come, let us hence, and put on other weeds; And then to Leonato's we will go. CLAUDIO And Hymen now with luckier issue speed's Than this for whom we render'd up this woe. Exeunt SCENE IV. A room in LEONATO'S house. Enter LEONATO, ANTONIO, BENEDICK, BEATRICE, MARGARET, URSULA, FRIAR FRANCIS, and HERO FRIAR FRANCIS Did I not tell you she was innocent? LEONATO So are the prince and Claudio, who accused her Upon the error that you heard debated: But Margaret was in some fault for this, Although against her will, as it appears In the true course of all the question. ANTONIO Well, I am glad that all things sort so well. BENEDICK And so am I, being else by faith enforced To call young Claudio to a reckoning for it. LEONATO Well, daughter, and you gentle-women all, Withdraw into a chamber by yourselves, And when I send for you, come hither mask'd. Exeunt Ladies The prince and Claudio promised by this hour To visit me. You know your office, brother: You must be father to your brother's daughter And give her to young Claudio. ANTONIO Which I will do with confirm'd countenance. BENEDICK Friar, I must entreat your pains, I think. FRIAR FRANCIS To do what, signior? BENEDICK To bind me, or undo me; one of them. Signior Leonato, truth it is, good signior, Your niece regards me with an eye of favour. LEONATO That eye my daughter lent her: 'tis most true. BENEDICK And I do with an eye of love requite her. LEONATO The sight whereof I think you had from me, From Claudio and the prince: but what's your will? BENEDICK Your answer, sir, is enigmatical: But, for my will, my will is your good will May stand with ours, this day to be conjoin'd In the state of honourable marriage: In which, good friar, I shall desire your help. LEONATO My heart is with your liking. FRIAR FRANCIS And my help. Here comes the prince and Claudio. Enter DON PEDRO and CLAUDIO, and two or three others DON PEDRO Good morrow to this fair assembly. LEONATO Good morrow, prince; good morrow, Claudio: We here attend you. Are you yet determined To-day to marry with my brother's daughter? CLAUDIO I'll hold my mind, were she an Ethiope. LEONATO Call her forth, brother; here's the friar ready. Exit ANTONIO DON PEDRO Good morrow, Benedick. Why, what's the matter, That you have such a February face, So full of frost, of storm and cloudiness? CLAUDIO I think he thinks upon the savage bull. Tush, fear not, man; we'll tip thy horns with gold And all Europa shall rejoice at thee, As once Europa did at lusty Jove, When he would play the noble beast in love. BENEDICK Bull Jove, sir, had an amiable low; And some such strange bull leap'd your father's cow, And got a calf in that same noble feat Much like to you, for you have just his bleat. CLAUDIO For this I owe you: here comes other reckonings. Re-enter ANTONIO, with the Ladies masked Which is the lady I must seize upon? ANTONIO This same is she, and I do give you her. CLAUDIO Why, then she's mine. Sweet, let me see your face. LEONATO No, that you shall not, till you take her hand Before this friar and swear to marry her. CLAUDIO Give me your hand: before this holy friar, I am your husband, if you like of me. HERO And when I lived, I was your other wife: Unmasking And when you loved, you were my other husband. CLAUDIO Another Hero! HERO Nothing certainer: One Hero died defiled, but I do live, And surely as I live, I am a maid. DON PEDRO The former Hero! Hero that is dead! LEONATO She died, my lord, but whiles her slander lived. FRIAR FRANCIS All this amazement can I qualify: When after that the holy rites are ended, I'll tell you largely of fair Hero's death: Meantime let wonder seem familiar, And to the chapel let us presently. BENEDICK Soft and fair, friar. Which is Beatrice? BEATRICE Unmasking I answer to that name. What is your will? BENEDICK Do not you love me? BEATRICE Why, no; no more than reason. BENEDICK Why, then your uncle and the prince and Claudio Have been deceived; they swore you did. BEATRICE Do not you love me? BENEDICK Troth, no; no more than reason. BEATRICE Why, then my cousin Margaret and Ursula Are much deceived; for they did swear you did. BENEDICK They swore that you were almost sick for me. BEATRICE They swore that you were well-nigh dead for me. BENEDICK 'Tis no such matter. Then you do not love me? BEATRICE No, truly, but in friendly recompense. LEONATO Come, cousin, I am sure you love the gentleman. CLAUDIO And I'll be sworn upon't that he loves her; For here's a paper written in his hand, A halting sonnet of his own pure brain, Fashion'd to Beatrice. HERO And here's another Writ in my cousin's hand, stolen from her pocket, Containing her affection unto Benedick. BENEDICK A miracle! here's our own hands against our hearts. Come, I will have thee; but, by this light, I take thee for pity. BEATRICE I would not deny you; but, by this good day, I yield upon great persuasion; and partly to save your life, for I was told you were in a consumption. BENEDICK Peace! I will stop your mouth. Kissing her DON PEDRO How dost thou, Benedick, the married man? BENEDICK I'll tell thee what, prince; a college of wit-crackers cannot flout me out of my humour. Dost thou think I care for a satire or an epigram? No: if a man will be beaten with brains, a' shall wear nothing handsome about him. In brief, since I do purpose to marry, I will think nothing to any purpose that the world can say against it; and therefore never flout at me for what I have said against it; for man is a giddy thing, and this is my conclusion. For thy part, Claudio, I did think to have beaten thee, but in that thou art like to be my kinsman, live unbruised and love my cousin. CLAUDIO I had well hoped thou wouldst have denied Beatrice, that I might have cudgelled thee out of thy single life, to make thee a double-dealer; which, out of question, thou wilt be, if my cousin do not look exceedingly narrowly to thee. BENEDICK Come, come, we are friends: let's have a dance ere we are married, that we may lighten our own hearts and our wives' heels. LEONATO We'll have dancing afterward. BENEDICK First, of my word; therefore play, music. Prince, thou art sad; get thee a wife, get thee a wife: there is no staff more reverend than one tipped with horn. Enter a Messenger Messenger My lord, your brother John is ta'en in flight, And brought with armed men back to Messina. BENEDICK Think not on him till to-morrow: I'll devise thee brave punishments for him. Strike up, pipers. Dance Exeunt
    axis2c-src-1.6.0/guththila/tests/resources/om/simple.xml0000644000175000017500000000010411166304614024424 0ustar00manjulamanjula00000000000000 abd axis2c-src-1.6.0/guththila/tests/resources/om/contents.xml0000644000175000017500000000500011166304614024770 0ustar00manjulamanjula00000000000000 Java and XML Introduction What Is It? How Do I Use It? Why Should I Use It? What's Next? Creating XML An XML Document The Header The Content What's Next? Parsing XML Getting Prepared SAX Readers Content Handlers Error Handlers A Better Way to Load a Parser "Gotcha!" What's Next? Web Publishing Frameworks Selecting a Framework Installation Using a Publishing Framework XSP Cocoon 2.0 and Beyond What's Next? axis2c-src-1.6.0/guththila/tests/resources/soap/0000777000175000017500000000000011172017535022751 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/tests/resources/soap/soap12message.xml0000644000175000017500000000434611166304611026145 0ustar00manjulamanjula00000000000000 foo foo foo env:Sender m:MessageTimeout In First Subcode m:MessageTimeout In Second Subcode m:MessageTimeout In Third Subcode Sender Timeout http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver ultimateReceiver Details of error P5M\n P3M\n axis2c-src-1.6.0/guththila/tests/resources/soap/minimalMessage.xml0000644000175000017500000000017311166304611026420 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/soap/reallyReallyBigMessage.xml0000644000175000017500000033111611166304611030061 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/soap/soapmessage.txt0000644000175000017500000000171211166304611026013 0ustar00manjulamanjula00000000000000POST /axis/services/EchoService HTTP/1.1 Host: 127.0.0.1 Content-Type: application/soap+xml; charset="utf-8" uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/soapmessage.xml0000644000175000017500000000163111166304611025774 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/test.xml0000644000175000017500000000435011166304611024445 0ustar00manjulamanjula00000000000000 foo foo foo env:Sender m:MessageTimeout In First Subcode m:MessageTimeout In Second Subcode m:MessageTimeout In Third Subcode Sender Timeout http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver ultimateReceiver Details of error P5M\n P3M\n axis2c-src-1.6.0/guththila/tests/resources/soap/soapmessage1.xml0000644000175000017500000000245011166304611026055 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    1001
    axis2c-src-1.6.0/guththila/tests/resources/soap/OMElementTest.xml0000644000175000017500000000175711166304611026163 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    This is some text 2 Some Other Text
    axis2c-src-1.6.0/guththila/tests/resources/soap/wrongEnvelopeNamespace.xml0000644000175000017500000000047611166304611030142 0ustar00manjulamanjula00000000000000 IBM axis2c-src-1.6.0/guththila/tests/resources/soap/sample1.txt0000644000175000017500000000053311166304611025046 0ustar00manjulamanjula00000000000000POST /axis/services/EchoService HTTP/1.1 Host: 127.0.0.1 Content-Type: application/soap+xml; charset="utf-8" axis2c-src-1.6.0/guththila/tests/resources/soap/sample1.xml0000644000175000017500000000041111166304611025022 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/guththila/tests/resources/soap/soap11/0000777000175000017500000000000011172017535024055 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/tests/resources/soap/soap11/soap11message.xml0000644000175000017500000000352211166304611027243 0ustar00manjulamanjula00000000000000
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    env:Sender Sender Timeout http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver Details of error P5M P3M
    axis2c-src-1.6.0/guththila/tests/resources/soap/soap11/soap11fault.xml0000644000175000017500000000110111166304611026721 0ustar00manjulamanjula00000000000000 Test SOAP-ENV:MustUnderstand SOAP Must Understand Error Actor Detail text Some Element Text axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/0000777000175000017500000000000011172017535024362 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/twoBodymessage.xml0000644000175000017500000000203411166304611030070 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/haederBodyWrongOrder.xml0000644000175000017500000000163111166304611031155 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/wrongSoapNs.xml0000644000175000017500000000163411166304611027361 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/twoheaders.xml0000644000175000017500000000250711166304611027246 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/envelopeMissing.xml0000644000175000017500000000162111166304611030244 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/notnamespaceQualified.xml0000644000175000017500000000071311166304611031377 0ustar00manjulamanjula00000000000000
    uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/badsoap/bodyNotQualified.xml0000644000175000017500000000153311166304611030341 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/whitespacedMessage.xml0000644000175000017500000000144511166304611027275 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/emtyBodymessage.xml0000644000175000017500000000147511166304611026634 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/guththila/tests/resources/soap/invalidMustUnderstandSOAP12.xml0000644000175000017500000000074011166304611030642 0ustar00manjulamanjula00000000000000 foo axis2c-src-1.6.0/guththila/tests/resources/soap/security2-soap.xml0000644000175000017500000000462111166304611026360 0ustar00manjulamanjula00000000000000 http://fabrikam123.com/getQuote http://fabrikam123.com/stocks mailto:johnsmith@fabrikam123.com uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 MIIEZzCCA9CgAwIBAgIQEmtJZc0rqrKh5i... EULddytSo1... BL8jdfToEb1l/vXcMZNNjPOV... QQQ axis2c-src-1.6.0/guththila/README0000644000175000017500000000232311166304562017511 0ustar00manjulamanjula00000000000000 Apache Axis2/C Guththila ======================== What Is It? ----------- Guththila is Streaming XML Parser for the Apache Axis2/C. The Latest Version ------------------ You can get the latest svn checkout of Apache Axis2/C Guththila module from https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/guththila Installation ------------ Please see the file called INSTALL. Licensing --------- Please see the file called LICENSE. Contacts -------- o If you want freely available support for using Apache Axis2/C Guththila please join the Apache Axis2/C user community by subscribing to users mailing list, axis-c-user@ws.apache.org' as described at http://ws.apache.org/axis2/c/mail-lists.html o If you have a bug report for Apache Axis2/C Guththila please log-in and create a JIRA issue at http://issues.apache.org/jira/browse/AXIS2C o If you want to participate actively in developing Apache Axis2/C Guththila please subscribe to the `axis-c-dev@ws.apache.org' mailing list as described at http://ws.apache.org/axis2/c/mail-lists.html axis2c-src-1.6.0/guththila/samples/0000777000175000017500000000000011172017534020276 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/samples/guththila_writer_main.c0000644000175000017500000000511611166304555025037 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #define MAXA 100000 int main( int argc, char *argv[]) { char *t; axutil_allocator_t *allocator; axutil_env_t *env; guththila_t *parser; char *xml = NULL; FILE *file = NULL; allocator = axutil_allocator_init(NULL); env = axutil_env_create(allocator); parser = guththila_create(env, NULL); guththila_create_xml_stream_writer_for_memory(env, parser); guththila_write_start_element(env, parser, "two"); guththila_write_default_namespace(env, parser, "http://another.host.com"); guththila_write_start_element_with_prefix_and_namespace(env, parser, "ws", "http://www.wso2.org", "wso2"); guththila_write_start_element_with_prefix(env, parser, "ws", "stacks"); guththila_write_attribute_with_prefix(env, parser, "ws", "stack", "axis2"); guththila_write_characters(env, parser, "testadfjaldjf;ajf;lkajdfa;lkjfd;ajdf11111111111122334455"); guththila_write_end_document(env, parser); xml = (char *) AXIS2_MALLOC(env->allocator, MAXA + 1); memset(xml, 0, MAXA + 1); if (!argv[1]) { file = fopen("/home/dinesh/tmp/mbox_backup/mbox.archived", "r"); } else file = fopen(argv[1], "r"); if (file) fread(xml, 1, MAXA, file); guththila_write_to_buffer(env, parser, xml); t = guththila_writer_get_buffer(env, parser->xsw->writer); printf("%s \n", t); free(xml); fclose(file); guththila_xml_writer_free(env, parser); guththila_free(env, parser); axutil_env_free(env); return 0; } axis2c-src-1.6.0/guththila/samples/guththila_main.c0000644000175000017500000001643111166304555023445 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "guththila.h" #include "guththila_defines.h" int main( int argc, char *argv[]) { int c; axutil_allocator_t *allocator; guththila_reader_t *red; axutil_env_t *environment; guththila_t *parser; char *xml_buffer; allocator = axutil_allocator_init(NULL); xml_buffer = "addddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd123"; environment = axutil_env_create(allocator); if (argc > 1) red = guththila_reader_create_for_file(environment, argv[1]); else { if (xml_buffer) { int size = 0; size = strlen(xml_buffer); red = guththila_reader_create_for_memory(environment, (void *) xml_buffer, size, NULL); } } parser = guththila_create(environment, red); guththila_read(environment, parser); while ((c = guththila_next(environment, parser)) != -1) { switch (c) { case GUTHTHILA_START_DOCUMENT: { int ix; printf(" 0; ix--) { guththila_attribute_t *a; char *p; a = guththila_get_attribute(environment, parser); p = guththila_get_attribute_name(environment, parser, a); printf("%s=\"", p); AXIS2_FREE(allocator, p); p = guththila_get_attribute_value(environment, parser, a); printf("%s\" ", p); AXIS2_FREE(allocator, p); guththila_attribute_free(environment, a); } printf("?>\n"); } break; case GUTHTHILA_START_ELEMENT: case GUTHTHILA_EMPTY_ELEMENT: { int ia; int d; char *p; guththila_depth_t *depth; printf("<"); p = guththila_get_prefix(environment, parser); if (p) { printf("%s:", p); AXIS2_FREE(allocator, p); } p = guththila_get_name(environment, parser); printf("%s", p); AXIS2_FREE(allocator, p); ia = guththila_get_attribute_count(environment, parser); for (; ia > 0; ia--) { /* p = guththila_get_attribute_prefix_by_number (parser, ia); */ p = guththila_get_attribute_prefix_by_number(environment, parser, ia); if (p) { printf(" %s:", p); AXIS2_FREE(allocator, p); p = guththila_get_attribute_name_by_number(environment, parser, ia); printf("%s=\"", p); AXIS2_FREE(allocator, p); p = guththila_get_attribute_value_by_number(environment, parser, ia); printf("%s\"", p); AXIS2_FREE(allocator, p); } else { p = guththila_get_attribute_name_by_number(environment, parser, ia); printf(" %s=\"", p); AXIS2_FREE(allocator, p); p = guththila_get_attribute_value_by_number(environment, parser, ia); printf("%s\"", p); AXIS2_FREE(allocator, p); } } depth = (guththila_depth_t *) axutil_stack_get(parser->dep, environment); d = depth->count; for (; d > 0; d--) { p = guththila_get_namespace_prefix_by_number(environment, parser, d); if (strncmp(p, "xmlns", 5)) { printf(" xmlns:"); printf("%s=\"", p); } else printf(" xmlns=\""); AXIS2_FREE(allocator, p); p = guththila_get_namespace_uri_by_number (environment, parser, d); printf("%s\"", p); AXIS2_FREE(allocator, p); } if (parser->guththila_event == GUTHTHILA_START_ELEMENT) printf(">"); else if (parser->guththila_event == GUTHTHILA_EMPTY_ELEMENT) printf("/>"); else printf("error \n"); } break; case GUTHTHILA_END_ELEMENT: { char *p; printf(""); } break; case GUTHTHILA_CHARACTER: { char *p = NULL; p = guththila_get_value(environment, parser); /* if (!parser->is_whitespace) */ /* { */ /* printf(p); */ /* } */ printf("%s", p); AXIS2_FREE(allocator, p); } break; case GUTHTHILA_COMMENT: break; }; } guththila_reader_free(environment, red); guththila_free(environment, parser); axutil_env_free(environment); return 0; } axis2c-src-1.6.0/guththila/ltmain.sh0000644000000000000000000060512310660364710017315 0ustar00rootroot00000000000000# 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: axis2c-src-1.6.0/guththila/configure0000755000175000017500000255420411166310372020550 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for guththilac-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='guththilac-src' PACKAGE_TARNAME='guththilac-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='guththilac-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/guththila # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS UTILINC VERSION_NO LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures guththilac-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/guththilac-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of guththilac-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF guththilac-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by guththilac-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='guththilac-src' VERSION='1.6.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5068 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7103: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7107: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7393: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7397: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7497: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7501: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12379: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12383: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12483: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12487: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14060: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14064: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14164: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14168: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16364: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16368: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16654: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16658: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16758: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16762: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { echo "$as_me:$LINENO: checking for ISO C99 varargs macros in C" >&5 echo $ECHO_N "checking for ISO C99 varargs macros in C... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_iso_c_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_iso_c_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_iso_c_varargs" >&5 echo "${ECHO_T}$axis2c_have_iso_c_varargs" >&6; } { echo "$as_me:$LINENO: checking for GNUC varargs macros" >&5 echo $ECHO_N "checking for GNUC varargs macros... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_gnuc_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_gnuc_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_gnuc_varargs" >&5 echo "${ECHO_T}$axis2c_have_gnuc_varargs" >&6; } if test x$axis2c_have_iso_c_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISO_VARARGS 1 _ACEOF fi if test x$axis2c_have_gnuc_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_GNUC_VARARGS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -ggdb3 -Wall -Wno-implicit-function-declaration " fi LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 0 _ACEOF case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define malloc rpl_malloc _ACEOF fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible realloc" >&5 echo $ECHO_N "checking for GNU libc compatible realloc... $ECHO_C" >&6; } if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_realloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_realloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 0 _ACEOF case " $LIBOBJS " in *" realloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define realloc rpl_realloc _ACEOF fi #AC_CHECK_FUNCS([memmove]) UTILINC=$axis2_utilinc VERSION_NO="6:0:6" ac_config_files="$ac_config_files Makefile src/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by guththilac-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ guththilac-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim LIBOBJS!$LIBOBJS$ac_delim UTILINC!$UTILINC$ac_delim VERSION_NO!$VERSION_NO$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 13; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi axis2c-src-1.6.0/guththila/libtool0000755000175000017500000065376311172017254020243 0ustar00manjulamanjula00000000000000#! /bin/bash # libtoolT - Provide generalized library-building support services. # Generated automatically by (GNU guththilac-src 1.6.0) # NOTE: Changes made to this file will be lost: look at ltmain.sh. # # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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="/bin/sed" # Sed that helps us avoid accidentally triggering echo(1) options like -n. Xsed="/bin/sed -e 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags=" CXX" # ### BEGIN LIBTOOL CONFIG # Libtool was configured on host manjula: # Shell to use when invoking shell scripts. SHELL="/bin/bash" # Whether or not to build shared libraries. build_libtool_libs=yes # Whether or not to build static libraries. build_old_libs=yes # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=no # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=no # Whether or not to optimize for fast installation. fast_install=yes # The host system. host_alias= host=i686-pc-linux-gnu host_os=linux-gnu # The build system. build_alias= build=i686-pc-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. echo="echo" # The archiver. AR="ar" AR_FLAGS="cru" # A C compiler. LTCC="gcc" # LTCC compiler flags. LTCFLAGS="-g3 -O0" # A language-specific compiler. CC="gcc" # Is the compiler the GNU C compiler? with_gcc=yes # An ERE matcher. EGREP="/bin/grep -E" # The linker used to build libraries. LD="/usr/bin/ld" # Whether we need hard or soft links. LN_S="ln -s" # A BSD-compatible nm program. NM="/usr/bin/nm -B" # A symbol stripping program STRIP="strip" # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=file # 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=.libs # How to create reloadable object files. reload_flag=" -r" reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" # How to pass a linker flag through the compiler. wl="-Wl," # Object file suffix (normally "o"). objext="o" # Old archive suffix (normally "a"). libext="a" # Shared library suffix (normally ".so"). shrext_cmds='.so' # Executable file suffix (normally ""). exeext="" # Additional compiler flags for building library objects. pic_flag=" -fPIC -DPIC" pic_mode=default # What is the maximum length of a command? max_cmd_len=98304 # Does compiler simultaneously support -c and -o options? compiler_c_o="yes" # Must we lock files when doing compilation? need_locks="no" # Do we need the lib prefix for modules? need_lib_prefix=no # Do we need a version for libraries? need_version=no # Whether dlopen is supported. dlopen_support=unknown # Whether dlopen of programs is supported. dlopen_self=unknown # Whether dlopen of statically linked programs is supported. dlopen_self_static=unknown # Compiler flag to prevent dynamic linking. link_static_flag="-static" # Compiler flag to turn off builtin functions. no_builtin_flag=" -fno-builtin" # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec="\${wl}--export-dynamic" # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" # Compiler flag to generate thread-safe objects. thread_safe_flag_spec="" # Library versioning type. version_type=linux # Format of library name prefix. libname_spec="lib\$name" # 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="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" # The coded name of the library, if different from the real name. soname_spec="\${libname}\${release}\${shared_ext}\$major" # Commands used to build and install an old-style archive. RANLIB="ranlib" old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" old_postuninstall_cmds="" # Create an old-style archive from a shared archive. old_archive_from_new_cmds="" # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds="" # Commands used to build and install a shared archive. archive_cmds="\$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" archive_expsym_cmds="\$echo \\\"{ global:\\\" > \$output_objdir/\$libname.ver~ cat \$export_symbols | sed -e \\\"s/\\\\(.*\\\\)/\\\\1;/\\\" >> \$output_objdir/\$libname.ver~ \$echo \\\"local: *; };\\\" >> \$output_objdir/\$libname.ver~ \$CC -shared \$libobjs \$deplibs \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-version-script \${wl}\$output_objdir/\$libname.ver -o \$lib" postinstall_cmds="" postuninstall_cmds="" # Commands used to build a loadable module (assumed same as above if empty) module_cmds="" module_expsym_cmds="" # Commands to strip libraries. old_striplib="strip --strip-debug" striplib="strip --strip-unneeded" # Dependencies to place before the objects being linked to create a # shared library. predep_objects="" # Dependencies to place after the objects being linked to create a # shared library. postdep_objects="" # Dependencies to place before the objects being linked to create a # shared library. predeps="" # Dependencies to place after the objects being linked to create a # shared library. postdeps="" # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path="" # Method to check whether dependent libraries are shared objects. deplibs_check_method="pass_all" # Command to use when deplibs_check_method == file_magic. file_magic_cmd="\$MAGIC_CMD" # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag="" # Flag that forces no undefined symbols. no_undefined_flag="" # Commands used to finish a libtool library installation in a directory. finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" # Same as above, but a single script fragment to be evaled but not shown. finish_eval="" # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" # Transform the output of nm in a proper C declaration global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" # Transform the output of nm in a C name address pair global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" # This is the shared library runtime path variable. runpath_var=LD_RUN_PATH # This is the shared library path variable. shlibpath_var=LD_LIBRARY_PATH # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=no # How to hardcode a shared library path into an executable. hardcode_action=immediate # Whether we should hardcode library paths into libraries. hardcode_into_libs=yes # Flag to hardcode $libdir into a binary during linking. # This must work even if $libdir does not exist. hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" # 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="" # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator="" # Set to yes if using DIR/libNAME during linking hardcodes DIR into the # resulting binary. hardcode_direct=no # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=no # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=unsupported # 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=no # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=no # Compile-time system search path for libraries sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" # Run-time system search path for libraries sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" # Set to yes if exported symbols are required. always_export_symbols=no # The commands to list exported symbols. export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds="" # Symbols that should not be listed in the preloaded symbols. exclude_expsyms="_GLOBAL_OFFSET_TABLE_" # Symbols that must always be exported. include_expsyms="" # ### END LIBTOOL CONFIG # 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: # ### BEGIN LIBTOOL TAG CONFIG: CXX # Libtool was configured on host manjula: # Shell to use when invoking shell scripts. SHELL="/bin/bash" # Whether or not to build shared libraries. build_libtool_libs=yes # Whether or not to build static libraries. build_old_libs=yes # Whether or not to add -lc for building shared libraries. build_libtool_need_lc=no # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=no # Whether or not to optimize for fast installation. fast_install=yes # The host system. host_alias= host=i686-pc-linux-gnu host_os=linux-gnu # The build system. build_alias= build=i686-pc-linux-gnu build_os=linux-gnu # An echo program that does not interpret backslashes. echo="echo" # The archiver. AR="ar" AR_FLAGS="cru" # A C compiler. LTCC="gcc" # LTCC compiler flags. LTCFLAGS="-g3 -O0" # A language-specific compiler. CC="g++" # Is the compiler the GNU C compiler? with_gcc=yes # An ERE matcher. EGREP="/bin/grep -E" # The linker used to build libraries. LD="/usr/bin/ld" # Whether we need hard or soft links. LN_S="ln -s" # A BSD-compatible nm program. NM="/usr/bin/nm -B" # A symbol stripping program STRIP="strip" # Used to examine libraries when file_magic_cmd begins "file" MAGIC_CMD=file # 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=.libs # How to create reloadable object files. reload_flag=" -r" reload_cmds="\$LD\$reload_flag -o \$output\$reload_objs" # How to pass a linker flag through the compiler. wl="-Wl," # Object file suffix (normally "o"). objext="o" # Old archive suffix (normally "a"). libext="a" # Shared library suffix (normally ".so"). shrext_cmds='.so' # Executable file suffix (normally ""). exeext="" # Additional compiler flags for building library objects. pic_flag=" -fPIC -DPIC" pic_mode=default # What is the maximum length of a command? max_cmd_len=98304 # Does compiler simultaneously support -c and -o options? compiler_c_o="yes" # Must we lock files when doing compilation? need_locks="no" # Do we need the lib prefix for modules? need_lib_prefix=no # Do we need a version for libraries? need_version=no # Whether dlopen is supported. dlopen_support=unknown # Whether dlopen of programs is supported. dlopen_self=unknown # Whether dlopen of statically linked programs is supported. dlopen_self_static=unknown # Compiler flag to prevent dynamic linking. link_static_flag="-static" # Compiler flag to turn off builtin functions. no_builtin_flag=" -fno-builtin" # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec="\${wl}--export-dynamic" # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec="\${wl}--whole-archive\$convenience \${wl}--no-whole-archive" # Compiler flag to generate thread-safe objects. thread_safe_flag_spec="" # Library versioning type. version_type=linux # Format of library name prefix. libname_spec="lib\$name" # 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="\${libname}\${release}\${shared_ext}\$versuffix \${libname}\${release}\${shared_ext}\$major \$libname\${shared_ext}" # The coded name of the library, if different from the real name. soname_spec="\${libname}\${release}\${shared_ext}\$major" # Commands used to build and install an old-style archive. RANLIB="ranlib" old_archive_cmds="\$AR \$AR_FLAGS \$oldlib\$oldobjs~\$RANLIB \$oldlib" old_postinstall_cmds="chmod 644 \$oldlib~\$RANLIB \$oldlib" old_postuninstall_cmds="" # Create an old-style archive from a shared archive. old_archive_from_new_cmds="" # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds="" # Commands used to build and install a shared archive. archive_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname -o \$lib" archive_expsym_cmds="\$CC -shared -nostdlib \$predep_objects \$libobjs \$deplibs \$postdep_objects \$compiler_flags \${wl}-soname \$wl\$soname \${wl}-retain-symbols-file \$wl\$export_symbols -o \$lib" postinstall_cmds="" postuninstall_cmds="" # Commands used to build a loadable module (assumed same as above if empty) module_cmds="" module_expsym_cmds="" # Commands to strip libraries. old_striplib="strip --strip-debug" striplib="strip --strip-unneeded" # Dependencies to place before the objects being linked to create a # shared library. predep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crti.o /usr/lib/gcc/i486-linux-gnu/4.1.3/crtbeginS.o" # Dependencies to place after the objects being linked to create a # shared library. postdep_objects="/usr/lib/gcc/i486-linux-gnu/4.1.3/crtendS.o /usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib/crtn.o" # Dependencies to place before the objects being linked to create a # shared library. predeps="" # Dependencies to place after the objects being linked to create a # shared library. postdeps="-lstdc++ -lm -lgcc_s -lc -lgcc_s" # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path="-L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3 -L/usr/lib/gcc/i486-linux-gnu/4.1.3/../../../../lib -L/lib/../lib -L/usr/lib/../lib" # Method to check whether dependent libraries are shared objects. deplibs_check_method="pass_all" # Command to use when deplibs_check_method == file_magic. file_magic_cmd="\$MAGIC_CMD" # Flag that allows shared libraries with undefined symbols to be built. allow_undefined_flag="" # Flag that forces no undefined symbols. no_undefined_flag="" # Commands used to finish a libtool library installation in a directory. finish_cmds="PATH=\\\"\\\$PATH:/sbin\\\" ldconfig -n \$libdir" # Same as above, but a single script fragment to be evaled but not shown. finish_eval="" # Take the output of nm and produce a listing of raw symbols and C names. global_symbol_pipe="sed -n -e 's/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'" # Transform the output of nm in a proper C declaration global_symbol_to_cdecl="sed -n -e 's/^. .* \\(.*\\)\$/extern int \\1;/p'" # Transform the output of nm in a C name address pair global_symbol_to_c_name_address="sed -n -e 's/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p' -e 's/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'" # This is the shared library runtime path variable. runpath_var=LD_RUN_PATH # This is the shared library path variable. shlibpath_var=LD_LIBRARY_PATH # Is shlibpath searched before the hard-coded library search path? shlibpath_overrides_runpath=no # How to hardcode a shared library path into an executable. hardcode_action=immediate # Whether we should hardcode library paths into libraries. hardcode_into_libs=yes # Flag to hardcode $libdir into a binary during linking. # This must work even if $libdir does not exist. hardcode_libdir_flag_spec="\${wl}--rpath \${wl}\$libdir" # 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="" # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator="" # Set to yes if using DIR/libNAME during linking hardcodes DIR into the # resulting binary. hardcode_direct=no # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=no # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=unsupported # 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=no # Variables whose values should be saved in libtool wrapper scripts and # restored at relink time. variables_saved_for_relink="PATH LD_LIBRARY_PATH LD_RUN_PATH GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" # Whether libtool must link a program against all its dependency libraries. link_all_deplibs=no # Compile-time system search path for libraries sys_lib_search_path_spec="/usr/lib/gcc/i486-linux-gnu/4.1.3 /usr/lib /lib" # Run-time system search path for libraries sys_lib_dlsearch_path_spec="/lib /usr/lib /usr/local/lib " # Fix the shell variable $srcfile for the compiler. fix_srcfile_path="" # Set to yes if exported symbols are required. always_export_symbols=no # The commands to list exported symbols. export_symbols_cmds="\$NM \$libobjs \$convenience | \$global_symbol_pipe | \$SED 's/.* //' | sort | uniq > \$export_symbols" # The commands to extract the exported symbol list from a shared archive. extract_expsyms_cmds="" # Symbols that should not be listed in the preloaded symbols. exclude_expsyms="" # Symbols that must always be exported. include_expsyms="" # ### END LIBTOOL TAG CONFIG: CXX axis2c-src-1.6.0/guththila/configure.ac0000644000175000017500000000357311166304562021127 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(guththilac-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) dnl AM_INIT_AUTOMAKE([tar-ustar]) AM_INIT_AUTOMAKE AC_PREFIX_DEFAULT(/usr/local/guththila) m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ],axis2c_have_iso_c_varargs=yes,axis2c_have_iso_c_varargs=no) AC_MSG_RESULT($axis2c_have_iso_c_varargs) AC_MSG_CHECKING(for GNUC varargs macros) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ],axis2c_have_gnuc_varargs=yes,axis2c_have_gnuc_varargs=no) AC_MSG_RESULT($axis2c_have_gnuc_varargs) dnl Output varargs tests if test x$axis2c_have_iso_c_varargs = xyes; then AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros]) fi if test x$axis2c_have_gnuc_varargs = xyes; then AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros]) fi dnl Checks for libraries. AC_CHECK_LIB(dl, dlopen) CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -ggdb3 -Wall -Wno-implicit-function-declaration " fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST dnl Checks for library functions. AC_FUNC_MALLOC AC_FUNC_REALLOC #AC_CHECK_FUNCS([memmove]) UTILINC=$axis2_utilinc VERSION_NO="6:0:6" AC_SUBST(UTILINC) AC_SUBST(VERSION_NO) AC_CONFIG_FILES([Makefile \ src/Makefile \ ]) AC_OUTPUT axis2c-src-1.6.0/guththila/config.guess0000755000000000000000000012703510614436542020020 0ustar00rootroot00000000000000#! /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, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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 . # Please send patches to . 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 ." 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 "$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 ; set_cc_for_build= ;' # 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 ;; sh5el) machine=sh5le-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 ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-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 /* 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 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 #include 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 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 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:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *: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 ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [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*:*:* | x86_64: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 ;; avr32*: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 | sed -n ' /^CPU/{ s: ::g p }'`" 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-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 ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-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 #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" 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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-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 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 ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos 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 < # include #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 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 # 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 < 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: axis2c-src-1.6.0/guththila/install-sh0000755000000000000000000003160010527332127017471 0ustar00rootroot00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # 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. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment 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}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog 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 $# -ne 0; 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) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac 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 $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # 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 fi if test $# -eq 0; 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 if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? 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 dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # 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 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 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 "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # 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: axis2c-src-1.6.0/guththila/autogen.sh0000755000175000017500000000130511166304562020631 0ustar00manjulamanjula00000000000000#!/bin/bash echo -n 'Running libtoolize...' if [ `uname -s` = Darwin ] then LIBTOOLIZE=glibtoolize else LIBTOOLIZE=libtoolize fi if $LIBTOOLIZE --force > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running aclocal...' if aclocal > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoheader...' if autoheader > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoconf...' if autoconf > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running automake...' if automake --add-missing > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo 'done' axis2c-src-1.6.0/guththila/config.log0000644000175000017500000006704211172017255020607 0ustar00manjulamanjula00000000000000This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by guththilac-src configure 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ ./configure --prefix=/home/manjula/release/c/deploy --enable-tests=yes --with-apache2=/usr/local/apache2/include --enable-tcp=yes --with-archive=/usr/include CFLAGS=-g3 -O0 --cache-file=/dev/null --srcdir=. ## --------- ## ## Platform. ## ## --------- ## hostname = manjula uname -m = i686 uname -r = 2.6.22-14-generic uname -s = Linux uname -v = #1 SMP Tue Dec 18 08:02:57 UTC 2007 /usr/bin/uname -p = unknown /bin/uname -X = unknown /bin/arch = unknown /usr/bin/arch -k = unknown /usr/convex/getsysinfo = unknown /usr/bin/hostinfo = unknown /bin/machine = unknown /usr/bin/oslevel = unknown /bin/universe = unknown PATH: /usr/local/sbin PATH: /usr/local/bin PATH: /usr/sbin PATH: /usr/bin PATH: /sbin PATH: /bin PATH: /usr/games PATH: /home/manjula/software/jdk1.5.0_08/bin PATH: /home/manjula/tomcat/jakarta-tomcat-4.1.31/bin PATH: /home/manjula/apache-ant-1.6.5/bin PATH: /home/manjula/software/maven-1.0.2/bin PATH: /home/manjula/software/jdk1.5.0_08/bin PATH: /home/manjula/tomcat/jakarta-tomcat-4.1.31/bin PATH: /home/manjula/apache-ant-1.6.5/bin PATH: /home/manjula/software/maven-1.0.2/bin ## ----------- ## ## Core tests. ## ## ----------- ## configure:1974: checking build system type configure:1992: result: i686-pc-linux-gnu configure:2014: checking host system type configure:2029: result: i686-pc-linux-gnu configure:2051: checking target system type configure:2066: result: i686-pc-linux-gnu configure:2111: checking for a BSD-compatible install configure:2167: result: /usr/bin/install -c configure:2178: checking whether build environment is sane configure:2221: result: yes configure:2249: checking for a thread-safe mkdir -p configure:2288: result: /bin/mkdir -p configure:2301: checking for gawk configure:2331: result: no configure:2301: checking for mawk configure:2317: found /usr/bin/mawk configure:2328: result: mawk configure:2339: checking whether make sets $(MAKE) configure:2360: result: yes configure:2600: checking for gcc configure:2616: found /usr/bin/gcc configure:2627: result: gcc configure:2865: checking for C compiler version configure:2872: gcc --version >&5 gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) Copyright (C) 2006 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. configure:2875: $? = 0 configure:2882: gcc -v >&5 Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu Thread model: posix gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) configure:2885: $? = 0 configure:2892: gcc -V >&5 gcc: '-V' option must have argument configure:2895: $? = 1 configure:2918: checking for C compiler default output file name configure:2945: gcc -g3 -O0 conftest.c >&5 configure:2948: $? = 0 configure:2986: result: a.out configure:3003: checking whether the C compiler works configure:3013: ./a.out configure:3016: $? = 0 configure:3033: result: yes configure:3040: checking whether we are cross compiling configure:3042: result: no configure:3045: checking for suffix of executables configure:3052: gcc -o conftest -g3 -O0 conftest.c >&5 configure:3055: $? = 0 configure:3079: result: configure:3085: checking for suffix of object files configure:3111: gcc -c -g3 -O0 conftest.c >&5 configure:3114: $? = 0 configure:3137: result: o configure:3141: checking whether we are using the GNU C compiler configure:3170: gcc -c -g3 -O0 conftest.c >&5 configure:3176: $? = 0 configure:3193: result: yes configure:3198: checking whether gcc accepts -g configure:3228: gcc -c -g conftest.c >&5 configure:3234: $? = 0 configure:3333: result: yes configure:3350: checking for gcc option to accept ISO C89 configure:3424: gcc -c -g3 -O0 conftest.c >&5 configure:3430: $? = 0 configure:3453: result: none needed configure:3482: checking for style of include used by make configure:3510: result: GNU configure:3535: checking dependency style of gcc configure:3626: result: gcc3 configure:3699: checking for g++ configure:3715: found /usr/bin/g++ configure:3726: result: g++ configure:3757: checking for C++ compiler version configure:3764: g++ --version >&5 g++ (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) Copyright (C) 2006 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. configure:3767: $? = 0 configure:3774: g++ -v >&5 Using built-in specs. Target: i486-linux-gnu Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --enable-nls --with-gxx-include-dir=/usr/include/c++/4.1.3 --program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --enable-checking=release i486-linux-gnu Thread model: posix gcc version 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2) configure:3777: $? = 0 configure:3784: g++ -V >&5 g++: '-V' option must have argument configure:3787: $? = 1 configure:3790: checking whether we are using the GNU C++ compiler configure:3819: g++ -c conftest.cpp >&5 configure:3825: $? = 0 configure:3842: result: yes configure:3847: checking whether g++ accepts -g configure:3877: g++ -c -g conftest.cpp >&5 configure:3883: $? = 0 configure:3982: result: yes configure:4007: checking dependency style of g++ configure:4098: result: gcc3 configure:4118: checking how to run the C preprocessor configure:4158: gcc -E conftest.c configure:4164: $? = 0 configure:4195: gcc -E conftest.c conftest.c:10:28: error: ac_nonexistent.h: No such file or directory configure:4201: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "guththilac-src" | #define PACKAGE_TARNAME "guththilac-src" | #define PACKAGE_VERSION "1.6.0" | #define PACKAGE_STRING "guththilac-src 1.6.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "guththilac-src" | #define VERSION "1.6.0" | /* end confdefs.h. */ | #include configure:4234: result: gcc -E configure:4263: gcc -E conftest.c configure:4269: $? = 0 configure:4300: gcc -E conftest.c conftest.c:10:28: error: ac_nonexistent.h: No such file or directory configure:4306: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "guththilac-src" | #define PACKAGE_TARNAME "guththilac-src" | #define PACKAGE_VERSION "1.6.0" | #define PACKAGE_STRING "guththilac-src 1.6.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "guththilac-src" | #define VERSION "1.6.0" | /* end confdefs.h. */ | #include configure:4415: checking for a sed that does not truncate output configure:4471: result: /bin/sed configure:4474: checking for grep that handles long lines and -e configure:4548: result: /bin/grep configure:4553: checking for egrep configure:4631: result: /bin/grep -E configure:4647: checking for ld used by gcc configure:4714: result: /usr/bin/ld configure:4723: checking if the linker (/usr/bin/ld) is GNU ld configure:4738: result: yes configure:4743: checking for /usr/bin/ld option to reload object files configure:4750: result: -r configure:4768: checking for BSD-compatible nm configure:4817: result: /usr/bin/nm -B configure:4821: checking whether ln -s works configure:4825: result: yes configure:4832: checking how to recognize dependent libraries configure:5018: result: pass_all configure:5255: checking for ANSI C header files configure:5285: gcc -c -g3 -O0 conftest.c >&5 configure:5291: $? = 0 configure:5390: gcc -o conftest -g3 -O0 conftest.c >&5 configure:5393: $? = 0 configure:5399: ./conftest configure:5402: $? = 0 configure:5419: result: yes configure:5443: checking for sys/types.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for sys/stat.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for stdlib.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for string.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for memory.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for strings.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for inttypes.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for stdint.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5443: checking for unistd.h configure:5464: gcc -c -g3 -O0 conftest.c >&5 configure:5470: $? = 0 configure:5486: result: yes configure:5513: checking dlfcn.h usability configure:5530: gcc -c -g3 -O0 conftest.c >&5 configure:5536: $? = 0 configure:5550: result: yes configure:5554: checking dlfcn.h presence configure:5569: gcc -E conftest.c configure:5575: $? = 0 configure:5589: result: yes configure:5617: checking for dlfcn.h configure:5625: result: yes configure:5648: checking how to run the C++ preprocessor configure:5684: g++ -E conftest.cpp configure:5690: $? = 0 configure:5721: g++ -E conftest.cpp conftest.cpp:21:28: error: ac_nonexistent.h: No such file or directory configure:5727: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "guththilac-src" | #define PACKAGE_TARNAME "guththilac-src" | #define PACKAGE_VERSION "1.6.0" | #define PACKAGE_STRING "guththilac-src 1.6.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "guththilac-src" | #define VERSION "1.6.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | #include configure:5760: result: g++ -E configure:5789: g++ -E conftest.cpp configure:5795: $? = 0 configure:5826: g++ -E conftest.cpp conftest.cpp:21:28: error: ac_nonexistent.h: No such file or directory configure:5832: $? = 1 configure: failed program was: | /* confdefs.h. */ | #define PACKAGE_NAME "guththilac-src" | #define PACKAGE_TARNAME "guththilac-src" | #define PACKAGE_VERSION "1.6.0" | #define PACKAGE_STRING "guththilac-src 1.6.0" | #define PACKAGE_BUGREPORT "" | #define PACKAGE "guththilac-src" | #define VERSION "1.6.0" | #define STDC_HEADERS 1 | #define HAVE_SYS_TYPES_H 1 | #define HAVE_SYS_STAT_H 1 | #define HAVE_STDLIB_H 1 | #define HAVE_STRING_H 1 | #define HAVE_MEMORY_H 1 | #define HAVE_STRINGS_H 1 | #define HAVE_INTTYPES_H 1 | #define HAVE_STDINT_H 1 | #define HAVE_UNISTD_H 1 | #define HAVE_DLFCN_H 1 | /* end confdefs.h. */ | #include configure:5925: checking for g77 configure:5955: result: no configure:5925: checking for xlf configure:5955: result: no configure:5925: checking for f77 configure:5955: result: no configure:5925: checking for frt configure:5955: result: no configure:5925: checking for pgf77 configure:5955: result: no configure:5925: checking for cf77 configure:5955: result: no configure:5925: checking for fort77 configure:5955: result: no configure:5925: checking for fl32 configure:5955: result: no configure:5925: checking for af77 configure:5955: result: no configure:5925: checking for xlf90 configure:5955: result: no configure:5925: checking for f90 configure:5955: result: no configure:5925: checking for pgf90 configure:5955: result: no configure:5925: checking for pghpf configure:5955: result: no configure:5925: checking for epcf90 configure:5955: result: no configure:5925: checking for gfortran configure:5955: result: no configure:5925: checking for g95 configure:5955: result: no configure:5925: checking for xlf95 configure:5955: result: no configure:5925: checking for f95 configure:5955: result: no configure:5925: checking for fort configure:5955: result: no configure:5925: checking for ifort configure:5955: result: no configure:5925: checking for ifc configure:5955: result: no configure:5925: checking for efc configure:5955: result: no configure:5925: checking for pgf95 configure:5955: result: no configure:5925: checking for lf95 configure:5955: result: no configure:5925: checking for ftn configure:5955: result: no configure:5982: checking for Fortran 77 compiler version configure:5989: --version >&5 ./configure: line 5990: --version: command not found configure:5992: $? = 127 configure:5999: -v >&5 ./configure: line 6000: -v: command not found configure:6002: $? = 127 configure:6009: -V >&5 ./configure: line 6010: -V: command not found configure:6012: $? = 127 configure:6020: checking whether we are using the GNU Fortran 77 compiler configure:6039: -c conftest.F >&5 ./configure: line 6040: -c: command not found configure:6045: $? = 127 configure: failed program was: | program main | #ifndef __GNUC__ | choke me | #endif | | end configure:6062: result: no configure:6068: checking whether accepts -g configure:6085: -c -g conftest.f >&5 ./configure: line 6086: -c: command not found configure:6091: $? = 127 configure: failed program was: | program main | | end configure:6107: result: no configure:6137: checking the maximum length of command line arguments configure:6249: result: 98304 configure:6261: checking command to parse /usr/bin/nm -B output from gcc object configure:6366: gcc -c -g3 -O0 conftest.c >&5 configure:6369: $? = 0 configure:6373: /usr/bin/nm -B conftest.o \| sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' \> conftest.nm configure:6376: $? = 0 configure:6428: gcc -o conftest -g3 -O0 conftest.c conftstm.o >&5 configure:6431: $? = 0 configure:6469: result: ok configure:6473: checking for objdir configure:6488: result: .libs configure:6580: checking for ar configure:6596: found /usr/bin/ar configure:6607: result: ar configure:6676: checking for ranlib configure:6692: found /usr/bin/ranlib configure:6703: result: ranlib configure:6772: checking for strip configure:6788: found /usr/bin/strip configure:6799: result: strip configure:7085: checking if gcc supports -fno-rtti -fno-exceptions configure:7103: gcc -c -g3 -O0 -fno-rtti -fno-exceptions conftest.c >&5 cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C configure:7107: $? = 0 configure:7120: result: no configure:7135: checking for gcc option to produce PIC configure:7367: result: -fPIC configure:7375: checking if gcc PIC flag -fPIC works configure:7393: gcc -c -g3 -O0 -fPIC -DPIC conftest.c >&5 configure:7397: $? = 0 configure:7410: result: yes configure:7438: checking if gcc static flag -static works configure:7466: result: yes configure:7476: checking if gcc supports -c -o file.o configure:7497: gcc -c -g3 -O0 -o out/conftest2.o conftest.c >&5 configure:7501: $? = 0 configure:7523: result: yes configure:7549: checking whether the gcc linker (/usr/bin/ld) supports shared libraries configure:8530: result: yes configure:8551: checking whether -lc should be explicitly linked in configure:8556: gcc -c -g3 -O0 conftest.c >&5 configure:8559: $? = 0 configure:8574: gcc -shared conftest.o -v -Wl,-soname -Wl,conftest -o conftest 2\>\&1 \| grep -lc \>/dev/null 2\>\&1 configure:8577: $? = 0 configure:8589: result: no configure:8597: checking dynamic linker characteristics configure:9211: result: GNU/Linux ld.so configure:9220: checking how to hardcode library paths into programs configure:9245: result: immediate configure:9259: checking whether stripping libraries is possible configure:9264: result: yes configure:10066: checking if libtool supports shared libraries configure:10068: result: yes configure:10071: checking whether to build shared libraries configure:10092: result: yes configure:10095: checking whether to build static libraries configure:10099: result: yes configure:10192: creating libtool configure:10780: checking for ld used by g++ configure:10847: result: /usr/bin/ld configure:10856: checking if the linker (/usr/bin/ld) is GNU ld configure:10871: result: yes configure:10922: checking whether the g++ linker (/usr/bin/ld) supports shared libraries configure:11896: result: yes configure:11914: g++ -c -g -O2 conftest.cpp >&5 configure:11917: $? = 0 configure:12069: checking for g++ option to produce PIC configure:12353: result: -fPIC configure:12361: checking if g++ PIC flag -fPIC works configure:12379: g++ -c -g -O2 -fPIC -DPIC conftest.cpp >&5 configure:12383: $? = 0 configure:12396: result: yes configure:12424: checking if g++ static flag -static works configure:12452: result: yes configure:12462: checking if g++ supports -c -o file.o configure:12483: g++ -c -g -O2 -o out/conftest2.o conftest.cpp >&5 configure:12487: $? = 0 configure:12509: result: yes configure:12535: checking whether the g++ linker (/usr/bin/ld) supports shared libraries configure:12563: result: yes configure:12630: checking dynamic linker characteristics configure:13192: result: GNU/Linux ld.so configure:13201: checking how to hardcode library paths into programs configure:13226: result: immediate configure:19436: checking for a BSD-compatible install configure:19492: result: /usr/bin/install -c configure:19503: checking whether ln -s works configure:19507: result: yes configure:19514: checking whether make sets $(MAKE) configure:19535: result: yes configure:19545: checking for ISO C99 varargs macros in C configure:19572: gcc -c -g3 -O0 conftest.c >&5 configure:19578: $? = 0 configure:19592: result: yes configure:19595: checking for GNUC varargs macros configure:19622: gcc -c -g3 -O0 conftest.c >&5 configure:19628: $? = 0 configure:19642: result: yes configure:19661: checking for dlopen in -ldl configure:19696: gcc -o conftest -g3 -O0 conftest.c -ldl >&5 configure:19702: $? = 0 configure:19720: result: yes configure:19740: checking for ANSI C header files configure:19904: result: yes configure:19931: checking stdio.h usability configure:19948: gcc -c -g3 -O0 -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED -ansi -ggdb3 -Wall -Wno-implicit-function-declaration conftest.c >&5 configure:19954: $? = 0 configure:19968: result: yes configure:19972: checking stdio.h presence configure:19987: gcc -E conftest.c configure:19993: $? = 0 configure:20007: result: yes configure:20035: checking for stdio.h configure:20043: result: yes configure:19921: checking for stdlib.h configure:19927: result: yes configure:19921: checking for string.h configure:19927: result: yes configure:20057: checking for an ANSI C-conforming const configure:20132: gcc -c -g3 -O0 -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED -ansi -ggdb3 -Wall -Wno-implicit-function-declaration conftest.c >&5 configure:20138: $? = 0 configure:20153: result: yes configure:20169: checking for stdlib.h configure:20175: result: yes configure:20304: checking for GNU libc compatible malloc configure:20338: gcc -o conftest -g3 -O0 -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED -ansi -ggdb3 -Wall -Wno-implicit-function-declaration -lpthread conftest.c -ldl >&5 configure:20341: $? = 0 configure:20347: ./conftest configure:20350: $? = 0 configure:20366: result: yes configure:20399: checking for stdlib.h configure:20405: result: yes configure:20534: checking for GNU libc compatible realloc configure:20568: gcc -o conftest -g3 -O0 -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED -ansi -ggdb3 -Wall -Wno-implicit-function-declaration -lpthread conftest.c -ldl >&5 configure:20571: $? = 0 configure:20577: ./conftest configure:20580: $? = 0 configure:20596: result: yes configure:20757: creating ./config.status ## ---------------------- ## ## Running config.status. ## ## ---------------------- ## This file was extended by guththilac-src config.status 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = CONFIG_HEADERS = CONFIG_LINKS = CONFIG_COMMANDS = $ ./config.status on manjula config.status:669: creating Makefile config.status:669: creating src/Makefile config.status:669: creating config.h config.status:953: executing depfiles commands ## ---------------- ## ## Cache variables. ## ## ---------------- ## ac_cv_build=i686-pc-linux-gnu ac_cv_c_compiler_gnu=yes ac_cv_c_const=yes ac_cv_cxx_compiler_gnu=yes ac_cv_env_CCC_set= ac_cv_env_CCC_value= ac_cv_env_CC_set= ac_cv_env_CC_value= ac_cv_env_CFLAGS_set=set ac_cv_env_CFLAGS_value='-g3 -O0' ac_cv_env_CPPFLAGS_set= ac_cv_env_CPPFLAGS_value= ac_cv_env_CPP_set= ac_cv_env_CPP_value= ac_cv_env_CXXCPP_set= ac_cv_env_CXXCPP_value= ac_cv_env_CXXFLAGS_set= ac_cv_env_CXXFLAGS_value= ac_cv_env_CXX_set= ac_cv_env_CXX_value= ac_cv_env_F77_set= ac_cv_env_F77_value= ac_cv_env_FFLAGS_set= ac_cv_env_FFLAGS_value= ac_cv_env_LDFLAGS_set= ac_cv_env_LDFLAGS_value= ac_cv_env_LIBS_set= ac_cv_env_LIBS_value= ac_cv_env_build_alias_set= ac_cv_env_build_alias_value= ac_cv_env_host_alias_set= ac_cv_env_host_alias_value= ac_cv_env_target_alias_set= ac_cv_env_target_alias_value= ac_cv_f77_compiler_gnu=no ac_cv_func_malloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes ac_cv_header_dlfcn_h=yes ac_cv_header_inttypes_h=yes ac_cv_header_memory_h=yes ac_cv_header_stdc=yes ac_cv_header_stdint_h=yes ac_cv_header_stdio_h=yes ac_cv_header_stdlib_h=yes ac_cv_header_string_h=yes ac_cv_header_strings_h=yes ac_cv_header_sys_stat_h=yes ac_cv_header_sys_types_h=yes ac_cv_header_unistd_h=yes ac_cv_host=i686-pc-linux-gnu ac_cv_lib_dl_dlopen=yes ac_cv_objext=o ac_cv_path_EGREP='/bin/grep -E' ac_cv_path_GREP=/bin/grep ac_cv_path_install='/usr/bin/install -c' ac_cv_path_mkdir=/bin/mkdir ac_cv_prog_AWK=mawk ac_cv_prog_CPP='gcc -E' ac_cv_prog_CXXCPP='g++ -E' ac_cv_prog_ac_ct_AR=ar ac_cv_prog_ac_ct_CC=gcc ac_cv_prog_ac_ct_CXX=g++ ac_cv_prog_ac_ct_RANLIB=ranlib ac_cv_prog_ac_ct_STRIP=strip ac_cv_prog_cc_c89= ac_cv_prog_cc_g=yes ac_cv_prog_cxx_g=yes ac_cv_prog_f77_g=no ac_cv_prog_make_make_set=yes ac_cv_target=i686-pc-linux-gnu am_cv_CC_dependencies_compiler_type=gcc3 am_cv_CXX_dependencies_compiler_type=gcc3 lt_cv_deplibs_check_method=pass_all lt_cv_file_magic_cmd='$MAGIC_CMD' lt_cv_file_magic_test_file= lt_cv_ld_reload_flag=-r lt_cv_objdir=.libs lt_cv_path_LD=/usr/bin/ld lt_cv_path_LDCXX=/usr/bin/ld lt_cv_path_NM='/usr/bin/nm -B' lt_cv_path_SED=/bin/sed lt_cv_prog_compiler_c_o=yes lt_cv_prog_compiler_c_o_CXX=yes lt_cv_prog_compiler_rtti_exceptions=no lt_cv_prog_gnu_ld=yes lt_cv_prog_gnu_ldcxx=yes lt_cv_sys_global_symbol_pipe='sed -n -e '\''s/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p'\''' lt_cv_sys_global_symbol_to_c_name_address='sed -n -e '\''s/^: \([^ ]*\) $/ {\"\1\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \([^ ]*\) \([^ ]*\)$/ {"\2", (lt_ptr) \&\2},/p'\''' lt_cv_sys_global_symbol_to_cdecl='sed -n -e '\''s/^. .* \(.*\)$/extern int \1;/p'\''' lt_cv_sys_max_cmd_len=98304 lt_lt_cv_prog_compiler_c_o='"yes"' lt_lt_cv_prog_compiler_c_o_CXX='"yes"' lt_lt_cv_sys_global_symbol_pipe='"sed -n -e '\''s/^.*[ ]\\([ABCDGIRSTW][ABCDGIRSTW]*\\)[ ][ ]*\\([_A-Za-z][_A-Za-z0-9]*\\)\$/\\1 \\2 \\2/p'\''"' lt_lt_cv_sys_global_symbol_to_c_name_address='"sed -n -e '\''s/^: \\([^ ]*\\) \$/ {\\\"\\1\\\", (lt_ptr) 0},/p'\'' -e '\''s/^[BCDEGRST] \\([^ ]*\\) \\([^ ]*\\)\$/ {\"\\2\", (lt_ptr) \\&\\2},/p'\''"' lt_lt_cv_sys_global_symbol_to_cdecl='"sed -n -e '\''s/^. .* \\(.*\\)\$/extern int \\1;/p'\''"' ## ----------------- ## ## Output variables. ## ## ----------------- ## ACLOCAL='${SHELL} /home/manjula/release/c/guththila/missing --run aclocal-1.10' AMDEPBACKSLASH='\' AMDEP_FALSE='#' AMDEP_TRUE='' AMTAR='${SHELL} /home/manjula/release/c/guththila/missing --run tar' AR='ar' AUTOCONF='${SHELL} /home/manjula/release/c/guththila/missing --run autoconf' AUTOHEADER='${SHELL} /home/manjula/release/c/guththila/missing --run autoheader' AUTOMAKE='${SHELL} /home/manjula/release/c/guththila/missing --run automake-1.10' AWK='mawk' CC='gcc' CCDEPMODE='depmode=gcc3' CFLAGS='-g3 -O0 -D_LARGEFILE64_SOURCE -DAXIS2_GUTHTHILA_ENABLED -ansi -ggdb3 -Wall -Wno-implicit-function-declaration ' CPP='gcc -E' CPPFLAGS='' CXX='g++' CXXCPP='g++ -E' CXXDEPMODE='depmode=gcc3' CXXFLAGS='-g -O2' CYGPATH_W='echo' DEFS='-DHAVE_CONFIG_H' DEPDIR='.deps' ECHO='echo' ECHO_C='' ECHO_N='-n' ECHO_T='' EGREP='/bin/grep -E' EXEEXT='' F77='' FFLAGS='' GREP='/bin/grep' INSTALL_DATA='${INSTALL} -m 644' INSTALL_PROGRAM='${INSTALL}' INSTALL_SCRIPT='${INSTALL}' INSTALL_STRIP_PROGRAM='$(install_sh) -c -s' LDFLAGS=' -lpthread' LIBOBJS='' LIBS='-ldl ' LIBTOOL='$(SHELL) $(top_builddir)/libtool' LN_S='ln -s' LTLIBOBJS='' MAKEINFO='${SHELL} /home/manjula/release/c/guththila/missing --run makeinfo' OBJEXT='o' PACKAGE='guththilac-src' PACKAGE_BUGREPORT='' PACKAGE_NAME='guththilac-src' PACKAGE_STRING='guththilac-src 1.6.0' PACKAGE_TARNAME='guththilac-src' PACKAGE_VERSION='1.6.0' PATH_SEPARATOR=':' RANLIB='ranlib' SED='/bin/sed' SET_MAKE='' SHELL='/bin/bash' STRIP='strip' UTILINC='' VERSION='1.6.0' VERSION_NO='6:0:6' ac_ct_CC='gcc' ac_ct_CXX='g++' ac_ct_F77='' am__fastdepCC_FALSE='#' am__fastdepCC_TRUE='' am__fastdepCXX_FALSE='#' am__fastdepCXX_TRUE='' am__include='include' am__isrc='' am__leading_dot='.' am__quote='' am__tar='${AMTAR} chof - "$$tardir"' am__untar='${AMTAR} xf -' bindir='${exec_prefix}/bin' build='i686-pc-linux-gnu' build_alias='' build_cpu='i686' build_os='linux-gnu' build_vendor='pc' datadir='${datarootdir}' datarootdir='${prefix}/share' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' dvidir='${docdir}' exec_prefix='${prefix}' host='i686-pc-linux-gnu' host_alias='' host_cpu='i686' host_os='linux-gnu' host_vendor='pc' htmldir='${docdir}' includedir='${prefix}/include' infodir='${datarootdir}/info' install_sh='$(SHELL) /home/manjula/release/c/guththila/install-sh' libdir='${exec_prefix}/lib' libexecdir='${exec_prefix}/libexec' localedir='${datarootdir}/locale' localstatedir='${prefix}/var' mandir='${datarootdir}/man' mkdir_p='/bin/mkdir -p' oldincludedir='/usr/include' pdfdir='${docdir}' prefix='/home/manjula/release/c/deploy' program_transform_name='s,x,x,' psdir='${docdir}' sbindir='${exec_prefix}/sbin' sharedstatedir='${prefix}/com' sysconfdir='${prefix}/etc' target='i686-pc-linux-gnu' target_alias='' target_cpu='i686' target_os='linux-gnu' target_vendor='pc' ## ----------- ## ## confdefs.h. ## ## ----------- ## #define PACKAGE_NAME "guththilac-src" #define PACKAGE_TARNAME "guththilac-src" #define PACKAGE_VERSION "1.6.0" #define PACKAGE_STRING "guththilac-src 1.6.0" #define PACKAGE_BUGREPORT "" #define PACKAGE "guththilac-src" #define VERSION "1.6.0" #define STDC_HEADERS 1 #define HAVE_SYS_TYPES_H 1 #define HAVE_SYS_STAT_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_MEMORY_H 1 #define HAVE_STRINGS_H 1 #define HAVE_INTTYPES_H 1 #define HAVE_STDINT_H 1 #define HAVE_UNISTD_H 1 #define HAVE_DLFCN_H 1 #define HAVE_ISO_VARARGS 1 #define HAVE_GNUC_VARARGS 1 #define HAVE_LIBDL 1 #define STDC_HEADERS 1 #define HAVE_STDIO_H 1 #define HAVE_STDLIB_H 1 #define HAVE_STRING_H 1 #define HAVE_STDLIB_H 1 #define HAVE_MALLOC 1 #define HAVE_STDLIB_H 1 #define HAVE_REALLOC 1 configure: exit 0 axis2c-src-1.6.0/guththila/config.sub0000755000000000000000000007763110614436542017471 0ustar00rootroot00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-01-18' # 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 . 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 ." 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-newlib* | 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -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/'` ;; -sco5v6*) # 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | 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 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) 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) ;; ms1) basic_machine=mt-unknown ;; # 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-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | 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-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; 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 ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 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* | -solidbsd* \ | -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-newlib* | -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* | -haiku* | -rdos* | -toppers* | -drops*) # 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* | -haiku* \ | -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 score-*) os=-elf ;; spu-*) os=-elf ;; *-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 ;; mep-*) os=-elf ;; 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 ;; *-haiku) os=-haiku ;; *-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: axis2c-src-1.6.0/guththila/missing0000755000000000000000000002557710527332127017104 0ustar00rootroot00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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' autom4te touch the output file, or create a stub one 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 ." 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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: axis2c-src-1.6.0/guththila/config.h0000644000175000017500000000461111172017255020246 0ustar00manjulamanjula00000000000000/* config.h. Generated from config.h.in by configure. */ /* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #define HAVE_DLFCN_H 1 /* Have GNU-style varargs macros */ #define HAVE_GNUC_VARARGS 1 /* Define to 1 if you have the header file. */ #define HAVE_INTTYPES_H 1 /* Have ISO C99 varargs macros */ #define HAVE_ISO_VARARGS 1 /* Define to 1 if you have the `dl' library (-ldl). */ #define HAVE_LIBDL 1 /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #define HAVE_MALLOC 1 /* Define to 1 if you have the header file. */ #define HAVE_MEMORY_H 1 /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #define HAVE_REALLOC 1 /* Define to 1 if you have the header file. */ #define HAVE_STDINT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDIO_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 /* Define to 1 if you have the header file. */ #define HAVE_STRING_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_STAT_H 1 /* Define to 1 if you have the header file. */ #define HAVE_SYS_TYPES_H 1 /* Define to 1 if you have the header file. */ #define HAVE_UNISTD_H 1 /* Name of package */ #define PACKAGE "guththilac-src" /* Define to the address where bug reports for this package should be sent. */ #define PACKAGE_BUGREPORT "" /* Define to the full name of this package. */ #define PACKAGE_NAME "guththilac-src" /* Define to the full name and version of this package. */ #define PACKAGE_STRING "guththilac-src 1.6.0" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "guththilac-src" /* Define to the version of this package. */ #define PACKAGE_VERSION "1.6.0" /* Define to 1 if you have the ANSI C header files. */ #define STDC_HEADERS 1 /* Version number of package */ #define VERSION "1.6.0" /* Define to empty if `const' does not conform to ANSI C. */ /* #undef const */ /* Define to rpl_malloc if the replacement function should be used. */ /* #undef malloc */ /* Define to rpl_realloc if the replacement function should be used. */ /* #undef realloc */ axis2c-src-1.6.0/guththila/Makefile.am0000644000175000017500000000053511166304562020670 0ustar00manjulamanjula00000000000000datadir=$(prefix) SUBDIRS = src includedir=$(prefix)/include/axis2-1.6.0/ include_HEADERS=$(top_builddir)/include/*.h data_DATA= INSTALL README AUTHORS NEWS LICENSE COPYING #EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` EXTRA_DIST=LICENSE axis2c-src-1.6.0/guththila/Makefile.in0000644000175000017500000005251411172017176020704 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ ChangeLog INSTALL NEWS config.guess config.sub depcomp \ install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(datadir)" "$(DESTDIR)$(includedir)" dataDATA_INSTALL = $(INSTALL_DATA) DATA = $(data_DATA) includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ UTILINC = @UTILINC@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(prefix) datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0/ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src include_HEADERS = $(top_builddir)/include/*.h data_DATA = INSTALL README AUTHORS NEWS LICENSE COPYING EXTRA_DIST = LICENSE all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) test -z "$(datadir)" || $(MKDIR_P) "$(DESTDIR)$(datadir)" @list='$(data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ rm -f "$(DESTDIR)$(datadir)/$$f"; \ done install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datadir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dataDATA install-includeHEADERS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dataDATA uninstall-includeHEADERS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dataDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-includeHEADERS install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-dataDATA \ uninstall-includeHEADERS #EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/guththila/config.h.in0000644000175000017500000000424511166310372020655 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Have GNU-style varargs macros */ #undef HAVE_GNUC_VARARGS /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Have ISO C99 varargs macros */ #undef HAVE_ISO_VARARGS /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc axis2c-src-1.6.0/guththila/build.sh0000755000175000017500000000015411166304562020267 0ustar00manjulamanjula00000000000000./autogen.sh ./configure --prefix=${AXIS2C_HOME} --with-axis2_util=${AXIS2C_HOME}/include make make install axis2c-src-1.6.0/guththila/stamp-h10000644000175000017500000000002711172017255020202 0ustar00manjulamanjula00000000000000timestamp for config.h axis2c-src-1.6.0/guththila/AUTHORS0000644000175000017500000000000011166304562017667 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/INSTALL0000644000175000017500000000057611166304562017672 0ustar00manjulamanjula00000000000000Getting Guththila source working on Linux ============================================= Build the source This can be done using the following command sequence: ./configure make make install use './configure --help' for options NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/guththila directory. axis2c-src-1.6.0/guththila/ChangeLog0000644000175000017500000000000011166304562020371 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/include/0000777000175000017500000000000011172017534020255 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/guththila/include/guththila_attribute.h0000644000175000017500000000773411166304555024516 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_ATTRIBUTE_H #define GUTHTHILA_ATTRIBUTE_H #include #include #include EXTERN_C_START() #ifndef GUTHTHILA_ATTR_DEF_SIZE #define GUTHTHILA_ATTR_DEF_SIZE 16 #endif /* Representation of an attribute */ typedef struct guththila_attr_s { guththila_token_t *pref; /* Prefix */ guththila_token_t *name; /* Name */ guththila_token_t *val; /* Value */ } guththila_attr_t; typedef struct guththila_attr_list_s { guththila_attr_t *list; guththila_stack_t fr_stack; int size; int capacity; } guththila_attr_list_t; /** * Create function of guththila_attr_list_t type structure * @param env environment, MUST NOT be NULL. * return new pointer to structure guththila_attr_list_s with initializing stack * fr_stack */ guththila_attr_list_t * GUTHTHILA_CALL guththila_attr_list_create(const axutil_env_t * env); /** * Initializing function of guththila_attr_list_t type structure,same * thing done by the create method * @param at_list keeps the list of attributes in this structure using * a guththila_stack_t variable * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ int GUTHTHILA_CALL guththila_attr_list_init( guththila_attr_list_t * at_list, const axutil_env_t * env); /** * @param at_list keeps the list of attributes in this structure using * a guththila_stack_t variable * @param env environment, MUST NOT be NULL. * return the top value of the stack which is inside guththila_attr_list_t */ guththila_attr_t * GUTHTHILA_CALL guththila_attr_list_get(guththila_attr_list_t * at_list, const axutil_env_t * env); /** * This method push the given attribute in to the stack which is a * member of guththila_attr_list_t * @param at_list keeps the list of attributes in this structure using * a guththila_stack_t variable * @param attr contains attribute with attribute name,value,and prefix * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ int GUTHTHILA_CALL guththila_attr_list_release( guththila_attr_list_t * at_list, guththila_attr_t * attr, const axutil_env_t * env); /** * Free method for the stack which is inside guththila_attr_list_s * structure, free the stack and other members * @param at_list keeps the list of attributes in this structure using * a guththila_stack_t variable * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ void GUTHTHILA_CALL msuila_attr_list_free_data( guththila_attr_list_t * at_list, const axutil_env_t * env); /** * Free method for guththila_attr_list_s structure,this free at_list too. * @param at_list keeps the list of attributes in this structure using * a guththila_stack_t variable * @param attr contains attribute with attribute name,value,and prefix * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ void GUTHTHILA_CALL guththila_attr_list_free( guththila_attr_list_t * at_list, const axutil_env_t * env); EXTERN_C_END() #endif /* */ axis2c-src-1.6.0/guththila/include/guththila_error.h0000644000175000017500000001012511166304555023630 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #ifndef GUTHTHILA_ERROR_H #define GUTHTHILA_ERROR_H EXTERN_C_START() typedef enum guththila_error_l { GUTHTHILA_VALIDITY_ERROR, GUTHTHILA_VALIDITY_WARNING, GUTHTHILA_PARSER_ERROR, GUTHTHILA_PARSER_WARNING } guththila_error_level; enum guththila_error_codes { GUTHTHILA_ERROR_NONE = 0, GUTHTHILA_ERROR_NO_MEMORY, GUTHTHILA_ERROR_INVALID_NULL_PARAMETER, GUTHTHILA_ERROR_INVALID_ITERATOR_STATE, GUTHTHILA_ERROR_INVALID_NODE_TYPE, GUTHTHILA_STREAM_WRITER_ERROR_NOT_IN_GUTHTHILA_START_ELEMENT, GUTHTHILA_STREAM_WRITER_ERROR_WRITING_TO_STREAM, GUTHTHILA_STREAM_WRITER_ERROR_STREAM_STRUCT_NULL, GUTHTHILA_STREAM_WRITER_ERROR_LOCAL_NAME_NULL, GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_namespace_t_NULL, GUTHTHILA_STREAM_WRITER_ERROR_PREFIX_NULL, GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_namespace_t_NOT_DECLARED, GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_element_t_GUTHTHILA_stack_t_EMPTY, GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_STATE, GUTHTHILA_STREAM_WRITER_ERROR_GUTHTHILA_COMMENT_NULL, GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_GUTHTHILA_COMMENT, GUTHTHILA_STREAM_WRITER_ERROR_PROCESSING_INSTRUCTION_TARGET_NULL, GUTHTHILA_STREAM_WRITER_ERROR_CDATA_NULL, GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_CDATA, GUTHTHILA_STREAM_WRITER_ERROR_DTD_NULL, GUTHTHILA_STREAM_WRITER_ERROR_ENTITY_REF_NULL, GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_XML_VERSION, GUTHTHILA_STREAM_WRITER_ERROR_TEXT_NULL, GUTHTHILA_STREAM_WRITER_ERROR_ILLEGAL_PREFIX, GUTHTHILA_STREAM_WRITER_ERROR_OUT_OF_MEMORY, GUTHTHILA_STREAM_WRITER_ERROR_FILE_NOT_FOUND, GUTHTHILA_STREAM_READER_ERROR_OUT_OF_MEMORY, GUTHTHILA_ERROR_INVALID_ENCODING_DECLARATION, GUTHTHILA_ERROR_UNEXPECTED_UTF16_EOF, GUTHTHILA_ERROR_UNEXPECTED_EOF, GUTHTHILA_ERROR_PROCESS_EQUAL, GUTHTHILA_ERROR_INCORRECT_VERSION_INFO, GUTHTHILA_ERROR_INCORRECT_XML_DECLARATION, GUTHTHILA_ERROR_VERSION_INFO_NOT_FOUND, GUTHTHILA_ERROR_ENCODING_DECLARATION_ERROR, GUTHTHILA_ERROR_STANDALONE_ERROR_IN_YES, GUTHTHILA_ERROR_STANDALONE_ERROR_IN_NO, GUTHTHILA_ERROR_STANDALONE_ERROR_YES_OR_NO_NOT_AVAILABLE, GUTHTHILA_ERROR_MISSING_GREATER_SIGN_IN_XML_DECLARATION, GUTHTHILA_ERROR_INVALID_NAME_STARTING_CHARACTER, GUTHTHILA_ERROR_QUOTES_NOT_FOUND_BEFORE_ATTRIBUTE_VALUE, GUTHTHILA_ERROR_EMPTY_ELEMENT_NOT_CLOSED, GUTHTHILA_ERROR_END_TAG_NOT_CLOSED, GUTHTHILA_ERROR_MORE_HYPENS_OCCURED_IN_COMMENT, GUTHTHILA_ERROR_TOKENIZE_ERROR, GUTHTHILA_ERROR_INVALID_TOKEN_TYPE, GUTHTHILA_ERROR_NULL_ATTRIBUTE_NAME, GUTHTHILA_ERROR_NULL_ATTRIBUTE_VALUE, GUTHTHILA_ERROR_NULL_ATTRIBUTE_PREFIX, GUTHTHILA_ERROR_REQUESTED_NUMBER_GREATER_THAN_STACK_SIZE, GUTHTHILA_WRITER_ERROR_EMPTY_ARGUMENTS, GUTHTHILA_WRITER_ERROR_NON_EXSISTING_PREFIX, GUTHTHILA_WRITER_ERROR_EMPTY_WRITER, GUTHTHILA_WRITER_ERROR_NON_MATCHING_ELEMENTS, GUTHTHILA_WRITER_ERROR_INVALID_BUFFER, GUTHTHILA_WRITER_ERROR_INVALID_CHAR_IN_NAME, GUTHTHILA_WRITER_ERROR_XML_STRING_IN_NAME, GUTHTHILA_WRITER_ERROR_EXCESS_HYPENS_IN_COMMENT, GUTHTHILA_WRITER_ERROR_INVALID_CHAR_IN_ATTRIBUTE, GUTHTHILA_WRITER_ERROR_NON_EXSISTING_URI, GUTHTHILA_WRITER_ERROR_SAME_ATTRIBUTE_REPEAT, GUTHTHILA_ERROR_ATTRIBUTE_FREE }; EXTERN_C_END() #endif /* */ axis2c-src-1.6.0/guththila/include/guththila_stack.h0000644000175000017500000000457311166304555023616 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_STACK_H #define GUTHTHILA_STACK_H #include #include #include #include #define GUTHTHILA_STACK_DEFAULT 16 EXTERN_C_START() typedef struct guththila_stack_s { /* Number of Items in the stack */ int top; /* Max number of Items that can be hold in data */ int max; void ** data; } guththila_stack_t; #ifndef GUTHTHILA_STACK_SIZE #define GUTHTHILA_STACK_SIZE(_stack) ((_stack).top) #endif #ifndef GUTHTHILA_STACK_TOP_INDEX #define GUTHTHILA_STACK_TOP_INDEX(_stack) (((_stack).top - 1)) #endif int GUTHTHILA_CALL guththila_stack_init( guththila_stack_t * stack, const axutil_env_t * env); void GUTHTHILA_CALL guththila_stack_free( guththila_stack_t * stack, const axutil_env_t * env); void GUTHTHILA_CALL guththila_stack_un_init( guththila_stack_t * stack, const axutil_env_t * env); void * GUTHTHILA_CALL guththila_stack_pop( guththila_stack_t * stack, const axutil_env_t * env); int GUTHTHILA_CALL guththila_stack_push( guththila_stack_t * stack, void *data, const axutil_env_t * env); void * GUTHTHILA_CALL guththila_stack_peek( guththila_stack_t * stack, const axutil_env_t * env); void * GUTHTHILA_CALL guththila_stack_get_by_index( guththila_stack_t * stack, int index, const axutil_env_t * env); int GUTHTHILA_CALL guththila_stack_del_top( guththila_stack_t * stack, const axutil_env_t * env); int GUTHTHILA_CALL guththila_stack_is_empty( guththila_stack_t * stack, const axutil_env_t * env); EXTERN_C_END() #endif axis2c-src-1.6.0/guththila/include/guththila_buffer.h0000644000175000017500000001155211166304555023755 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_BUFFER_H #define GUTHTHILA_BUFFER_H #include #include EXTERN_C_START() typedef enum guththila_buffer_type { GUTHTHILA_SINGLE_BUFFER = 0, /* One buffer */ GUTHTHILA_MULTIPLE_BUFFER /* Mulitple buffers in a buff array */ } guththila_buffer_type_t; typedef struct guththila_buffer_s { /* Required to manupulate multiple buffers */ size_t *data_size; /* Array containing filled sizes of buffers */ size_t *buffs_size; /* Array containing actual sizes of buffers */ guththila_char_t **buff; /* Array of buffers */ int cur_buff; /* Current buffer */ int cur_buff_pos; /* Position of the current buffer */ size_t pre_tot_data; /* All the data in the previous buffers. Not include cur */ unsigned int no_buffers; /* No of buffers */ short type; /* Buffer type */ guththila_char_t *xml; /* All the buffers serialized together */ } guththila_buffer_t; #define GUTHTHILA_BUFFER_DEF_SIZE 16384 #define GUTHTHILA_BUFFER_NUMBER_OF_BUFFERS 16 #ifndef GUTHTHILA_BUFFER_SIZE #define GUTHTHILA_BUFFER_SIZE(_buffer) (_buffer.size) #endif #ifndef GUTHTHILA_BUFFER_CURRENT_BUFF #define GUTHTHILA_BUFFER_CURRENT_BUFF(_buffer) ((_buffer).buff[(_buffer).cur_buff] + (_buffer).data_size[(_buffer).cur_buff]) #endif #ifndef GUTHTHILA_BUFFER_CURRENT_BUFF_SIZE #define GUTHTHILA_BUFFER_CURRENT_BUFF_SIZE(_buffer) ((_buffer).buffs_size[(_buffer).cur_buff] - (_buffer).data_size[(_buffer).cur_buff]) #endif #ifndef GUTHTHILA_BUFFER_CURRENT_DATA_SIZE #define GUTHTHILA_BUFFER_CURRENT_DATA_SIZE(_buffer) ((_buffer).data_size[(_buffer).cur_buff]) #endif #ifndef GUTHTHILA_BUFFER_PRE_DATA_SIZE #define GUTHTHILA_BUFFER_PRE_DATA_SIZE(_buffer) ((_buffer).pre_tot_data) #endif /*We never consider tokens not in the current buffer*/ #ifndef GUTHTHILA_BUF_POS #define GUTHTHILA_BUF_POS(_buffer, _pos) ((_buffer).buff[(_buffer).cur_buff] + _pos - (_buffer).pre_tot_data) #endif /** * This method is the create method of guththila_buffer_s structure * @param buffer structure which is going to create * @param size size of the buffer which is going to create * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ int GUTHTHILA_CALL guththila_buffer_init(guththila_buffer_t * buffer, int size, const axutil_env_t * env); /** * This is the free method of guththila_buffer_s structure * @param buffer structure which is going to create * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ int GUTHTHILA_CALL guththila_buffer_un_init(guththila_buffer_t * buffer, const axutil_env_t * env); /** * This method creates a new buffer and copy the content of given * data by buffer variable * @param mu_buff structure which is going to create * @param buffer data to copy in to new buffer * @param size size of the buffer to create * @param env environment, MUST NOT be NULL. * return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ int GUTHTHILA_CALL guththila_buffer_init_for_buffer(guththila_buffer_t * mu_buff, guththila_char_t *buffer, int size, const axutil_env_t * env); void *GUTHTHILA_CALL guththila_get_position(guththila_buffer_t * buffer, int pos, const axutil_env_t * env); int GUTHTHILA_CALL guththila_buffer_next(guththila_buffer_t * buffer, const axutil_env_t * env); /** * This method create new xml element which is having the * size of cur_buff * data by buffer variable * @param buffer * @param env environment, MUST NOT be NULL. * return xml element of guththila_buffer_s structure */ void *GUTHTHILA_CALL guththila_buffer_get(guththila_buffer_t * buffer, const axutil_env_t * env); int GUTHTHILA_CALL guththila_buffer_shift(guththila_buffer_t * buffer, int no, const axutil_env_t * env); int GUTHTHILA_CALL guththila_buffer_insert_data(guththila_buffer_t * buffer, void *buff, size_t buff_len, const axutil_env_t * env); EXTERN_C_END() #endif axis2c-src-1.6.0/guththila/include/guththila_token.h0000644000175000017500000000715411166304555023627 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_TOKEN_H #define GUTHTHILA_TOKEN_H #include #include EXTERN_C_START() typedef struct guththila_token_s { short type; guththila_char_t *start; int _start; size_t size; int last; int ref; } guththila_token_t; enum guththila_token_type { _Unknown = 1, _name, _attribute_name, _attribute_value, _prefix, _char_data, _text_data }; typedef struct guththila_tok_list_s { guththila_stack_t fr_stack; guththila_token_t **list; int no_list; int cur_list; int *capacity; } guththila_tok_list_t; #ifndef GUTHTHILA_TOK_DEF_SIZE #define GUTHTHILA_TOK_DEF_SIZE 16 #endif #ifndef GUTHTHILA_TOK_DEF_LIST_SIZE #define GUTHTHILA_TOK_DEF_LIST_SIZE 16 #endif #ifndef GUTHTHILA_TOKEN_LEN #define GUTHTHILA_TOKEN_LEN(tok) (tok->size) #endif #ifndef GUTHTHILA_TOKEN_TO_STRING #define GUTHTHILA_TOKEN_TO_STRING(tok, string, _env) \ { \ string = (guththila_char_t *) AXIS2_MALLOC(_env->allocator, (GUTHTHILA_TOKEN_LEN(tok) + 1) * sizeof(guththila_char_t)); \ memcpy(string, (tok)->start, GUTHTHILA_TOKEN_LEN(tok)); \ string[GUTHTHILA_TOKEN_LEN(tok)] = 0; \ } #endif /* * Initialize token list. */ int GUTHTHILA_CALL guththila_tok_list_init( guththila_tok_list_t * tok_list, const axutil_env_t * env); /* * Free the token list. Allocated tokens are not free. */ void GUTHTHILA_CALL guththila_tok_list_free( guththila_tok_list_t * tok_list, const axutil_env_t * env); /* * Get a token from the list. */ guththila_token_t * GUTHTHILA_CALL guththila_tok_list_get_token( guththila_tok_list_t * tok_list, const axutil_env_t * env); /* * Release a token to the token list. */ int GUTHTHILA_CALL guththila_tok_list_release_token( guththila_tok_list_t * tok_list, guththila_token_t * token, const axutil_env_t * env); /* * Free the tokens in the token list. */ void GUTHTHILA_CALL guththila_tok_list_free_data( guththila_tok_list_t * tok_list, const axutil_env_t * env); /* * Grow the token list. */ int GUTHTHILA_CALL guththila_tok_list_grow( guththila_tok_list_t * tok_list, const axutil_env_t * env); /* * Compare a token with a string. * Return 0 if match. */ int GUTHTHILA_CALL guththila_tok_str_cmp( guththila_token_t * tok, guththila_char_t *str, size_t str_len, const axutil_env_t * env); /* * Compare two tokens for string equalance * Return 0 if match. */ int GUTHTHILA_CALL guththila_tok_tok_cmp( guththila_token_t * tok1, guththila_token_t * tok2, const axutil_env_t * env); void GUTHTHILA_CALL guththila_set_token( guththila_token_t* tok, guththila_char_t* start, short type, int size, int _start, int last, int ref, const axutil_env_t* env); EXTERN_C_END() #endif axis2c-src-1.6.0/guththila/include/guththila_reader.h0000644000175000017500000000645311166304555023752 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_READER_H #define GUTHTHILA_READER_H #include #include #include EXTERN_C_START() typedef int(GUTHTHILA_CALL * GUTHTHILA_READ_INPUT_CALLBACK)( guththila_char_t *buffer, int size, void *ctx); enum guththila_reader_type { GUTHTHILA_FILE_READER = 1, GUTHTHILA_IO_READER, GUTHTHILA_MEMORY_READER }; typedef struct guththila_reader_s { int type; /* Type of reader */ FILE *fp; /* File pointer */ guththila_char_t *buff; /* Buffer */ int buff_size; /* Buff size */ GUTHTHILA_READ_INPUT_CALLBACK input_read_callback; /* Call back */ void *context; /* Context */ } guththila_reader_t; #ifndef GUTHTHILA_READER_SET_LAST_START #define GUTHTHILA_READER_SET_LAST_START(_reader, _start) ((_reader)->start = _start) #endif #ifndef GUTHTHILA_READER_STEP_BACK #define GUTHTHILA_READER_STEP_BACK(_reader) ((_reader->next--)) #endif /* * Reading a file. * @param filename name of the file * @param env environment */ GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL guththila_reader_create_for_file(guththila_char_t *filename, const axutil_env_t * env); /* * Reading from a call back function. * @param input_read_callback function pointer to read data * @param ctx context * @param env environment */ GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL guththila_reader_create_for_io(GUTHTHILA_READ_INPUT_CALLBACK input_read_callback, void *ctx, const axutil_env_t * env); /* * Reading from memory buffer. * @param buffer buffer * @param size size of the buffer * @param env environment */ GUTHTHILA_EXPORT guththila_reader_t * GUTHTHILA_CALL guththila_reader_create_for_memory(void *buffer, int size, const axutil_env_t * env); /* * Read the specified number of character to the given buffer. * @param r reader * @param buffer buffer to place the read data * @param offset position to place the data on the given buffer * @param length number of bytes to read * @param env environment * @return number of bytes put in to the buffer. -1 if end of the read. */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_reader_read( guththila_reader_t * r, guththila_char_t * buffer, int offset, int length, const axutil_env_t * env); /* * Free the reader. * @param r reader * @param env environment */ GUTHTHILA_EXPORT void GUTHTHILA_CALL guththila_reader_free( guththila_reader_t * r, const axutil_env_t * env); EXTERN_C_END() #endif /* */ axis2c-src-1.6.0/guththila/include/guththila.h0000644000175000017500000002434711166304555022432 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_H #define GUTHTHILA_H #include #include #include #include #include #include #include #include #include #include /* All the functions in this library does not check weather the given arguments are NULL. It is the responsblity of the user to check weather the arguments contain NULL values. */ EXTERN_C_START() enum guththila_status { S_0 = 0, S_1, S_2, S_3 }; enum guththila_UTF16_endianess { None = 1, LE, BE }; typedef enum guththila_type { type_file_name = 0, type_memory_buffer, type_reader, type_io } guththila_type_t; enum guththila_event_types { GUTHTHILA_START_DOCUMENT =0, GUTHTHILA_END_ELEMENT, GUTHTHILA_CHARACTER, GUTHTHILA_ENTITY_REFERANCE, GUTHTHILA_COMMENT, GUTHTHILA_SPACE, GUTHTHILA_START_ELEMENT, GUTHTHILA_EMPTY_ELEMENT }; typedef struct guththila_s { guththila_tok_list_t tokens; /* Token cache */ guththila_buffer_t buffer; /* Holding incoming xml string */ guththila_reader_t *reader; /* Reading the data */ guththila_token_t *prefix; /* Prefix of the xml element */ guththila_token_t *name; /* xml element local name */ guththila_token_t *value; /* text of a xml element */ guththila_stack_t elem; /* elements are put in a stack */ guththila_stack_t attrib; /* Attributes are put in a stack */ guththila_stack_t namesp; /* namespaces are put in a stack */ int status; int guththila_event; /* Current event */ size_t next; /* Keep track of the position in the xml string */ int last_start; /* Keep track of the starting position of the last token */ guththila_token_t *temp_prefix; /* Temporery location for prefixes */ guththila_token_t *temp_name; /* Temporery location for names */ guththila_token_t *temp_tok; /* We don't know this until we close it */ } guththila_t; /* * An element will contain one of these things if it has namespaces * */ typedef struct guththila_elem_namesp_s { guththila_namespace_t *namesp; /* Array of namespaces */ int no; /*Number of namespace in the element */ int size; /* Allocated size */ } guththila_elem_namesp_t; /* * Element. */ typedef struct guththila_element_s { guththila_token_t *name; /* local name */ guththila_token_t *prefix; /* prefix */ int is_namesp; /* Positive if a namespace is present */ } guththila_element_t; /* Initialize the parser */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_init(guththila_t * m, void *reader, const axutil_env_t * env); /* Uninitialize the parser */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_un_init(guththila_t * m, const axutil_env_t * env); /* Still not used */ typedef void(GUTHTHILA_CALL * guththila_error_func)(void *arg, const guththila_char_t *msg, guththila_error_level level, void *locator); /* * Parse the xml and return an event. If something went wrong it will return -1. * The events are of the type guththila_event_types. According to the event * user can get the required information using the appriate functions. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_next(guththila_t * g, const axutil_env_t * env); /* * Return the number of attributes in the current element. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_get_attribute_count(guththila_t * g, const axutil_env_t * env); /* * Return the attribute name. * @param g pointer to a guththila_t structure * @param att pointer to a attribute * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL guththila_get_attribute_name(guththila_t * g, guththila_attr_t * att, const axutil_env_t * env); /* * Return the attribute value. * @param g pointer to a guththila_t structure * @param att pointer to a attribute * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL guththila_get_attribute_value(guththila_t * g, guththila_attr_t * att, const axutil_env_t * env); /* * Return the attribute prefix. * @param g pointer to a guththila_t structure * @param att pointer to a attribute * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_prefix(guththila_t * g, guththila_attr_t * att, const axutil_env_t * env); /* * Return the attribute * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT guththila_attr_t *GUTHTHILA_CALL guththila_get_attribute(guththila_t * g, const axutil_env_t * env); /* * Return the name of the attribute by the attribute bumber. * First attribute will be 1. * @param g pointer to a guththila_t structure * @param index position of the attribute * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_name_by_number(guththila_t * g, int index, const axutil_env_t *env); /* * Return the attribute value by number. * First attribute will be 1. * @param g pointer to a guththila_t structure * @param index position of the attribute * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_value_by_number(guththila_t * g, int index, const axutil_env_t *env); /* * Return the prefix of the attribute. * First attribute will be 1. * @param g pointer to a guththila_t structure * @param index position of the attribute * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_prefix_by_number(guththila_t * g, int index, const axutil_env_t *env); /* * Return the name of the element. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_name(guththila_t * g, const axutil_env_t * env); /* * Return the prefix of the element. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_prefix(guththila_t * g, const axutil_env_t * env); /* * Return the text of the element. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_value(guththila_t * g, const axutil_env_t * env); /* * Return the namespace of the element. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT guththila_namespace_t *GUTHTHILA_CALL guththila_get_namespace(guththila_t * g, const axutil_env_t * env); /* * Return the number of namespaces in the element. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_get_namespace_count(guththila_t * g, const axutil_env_t * env); /* * Return the namespace uri of the given namespace. * @param g pointer to a guththila_t structure * @param ns pointer to a namespace * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t * GUTHTHILA_CALL guththila_get_namespace_uri(guththila_t * g, guththila_namespace_t * ns, const axutil_env_t * env); /* * Return the prefix of the namespace. * @param g pointer to a guththila_t structure * @param ns pointer to a namespace * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_prefix(guththila_t * p, guththila_namespace_t * ns, const axutil_env_t * env); /* * Return the prefix of the namespace at the given position. * First namespace will have the value 1. * @param g pointer to a guththila_t structure * @param index position of the namespace * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_prefix_by_number(guththila_t * g, int index, const axutil_env_t *env); /* * Get the uri of the namespace at the given position. * First namespace will have the value 1. * @param g pointer to a guththila_t structure * @param index position of the namespace * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_namespace_uri_by_number(guththila_t * g, int index, const axutil_env_t *env); /* * Get the attribute namespace of the attribute at the given position. * @param g pointer to a guththila_t structure * @param index position of the namespace * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_attribute_namespace_by_number(guththila_t *g, int index, const axutil_env_t *env); /* * Get the encoding. at the moment we don't support UNICODE * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT guththila_char_t *GUTHTHILA_CALL guththila_get_encoding(guththila_t * p, const axutil_env_t * env); /* * To do. Implement a proper error handling mechanism. * @param g pointer to a guththila_t structure * @param env the environment */ GUTHTHILA_EXPORT void GUTHTHILA_CALL guththila_set_error_handler(guththila_t * m, guththila_error_func, const axutil_env_t * env); EXTERN_C_END() #endif axis2c-src-1.6.0/guththila/include/guththila_namespace.h0000644000175000017500000000421511166304555024436 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_NAMESPACE_H #define GUTHTHILA_NAMESPACE_H #include #include #include EXTERN_C_START() #ifndef GUTHTHILA_NAMESPACE_DEF_SIZE #define GUTHTHILA_NAMESPACE_DEF_SIZE 4 #endif typedef struct guththila_namespace_s { guththila_token_t *name; /* Name */ guththila_token_t *uri; /* URI */ } guththila_namespace_t; typedef struct guththila_namespace_list_s { guththila_namespace_t *list; guththila_stack_t fr_stack; int size; int capacity; } guththila_namespace_list_t; guththila_namespace_list_t *GUTHTHILA_CALL guththila_namespace_list_create( const axutil_env_t * env); int GUTHTHILA_CALL guththila_namespace_list_init( guththila_namespace_list_t * at_list, const axutil_env_t * env); guththila_namespace_t * GUTHTHILA_CALL guththila_namespace_list_get( guththila_namespace_list_t *at_list, const axutil_env_t * env); int GUTHTHILA_CALL guththila_namespace_list_release( guththila_namespace_list_t * at_list, guththila_namespace_t * namesp, const axutil_env_t * env); void GUTHTHILA_CALL msuila_namespace_list_free_data( guththila_namespace_list_t * at_list, const axutil_env_t * env); void GUTHTHILA_CALL guththila_namespace_list_free( guththila_namespace_list_t * at_list, const axutil_env_t * env); EXTERN_C_END() #endif axis2c-src-1.6.0/guththila/include/guththila_xml_writer.h0000644000175000017500000003536711166304555024712 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_XML_WRITER_H #define GUTHTHILA_XML_WRITER_H #include #include #include #include #include EXTERN_C_START() #define GUTHTHILA_XML_WRITER_TOKEN /* Design notes:- namesp member of guththila_xml_writer_s is populated with malloc created objects. Providing a list for this seems expensive because most of the times only few namespaces are present in a XML document. element member of guththila_xml_writer_s must be povided the list capablity. This is particularly important in very deep XML documents. */ typedef enum guththila_writer_type_s { GUTHTHILA_WRITER_FILE = 1, GUTHTHILA_WRITER_MEMORY } guththila_writer_type_t; typedef struct guththila_writer_s { short type; FILE *out_stream; guththila_buffer_t *buffer; int next; } guththila_writer_t; typedef enum guththila_writer_status_s { /*Started writing a non empty element */ START = 1, /*Started writing a empty element */ START_EMPTY, /*We are in a position to begin wrting an element */ BEGINING } guththila_writer_status_t; /*Main structure which provides the writer capability*/ typedef struct guththila_xml_writer_s { guththila_stack_t element; guththila_stack_t namesp; guththila_writer_t *writer; #ifdef GUTHTHILA_XML_WRITER_TOKEN guththila_tok_list_t tok_list; #endif /* Type of this writer. Can be file writer or memory writer */ guththila_writer_type_t type; FILE *out_stream; guththila_buffer_t buffer; guththila_writer_status_t status; int next; } guththila_xml_writer_t; /*TODO: we need to came up with common implementation of followng two structures in writer and reader*/ /* This is a private structure for keeping track of the elements. When we start to write an element this structure will be pop */ typedef struct guththila_xml_writer_element_s { #ifdef GUTHTHILA_XML_WRITER_TOKEN guththila_token_t *prefix; guththila_token_t *name; #else guththila_char_t *prefix; guththila_char_t *name; #endif /* contains the number of the stack which holds the namespaces for this element. When we close this element all the namespaces that are below this should also must be closed */ int name_sp_stack_no; } guththila_xml_writer_element_t; typedef struct guththila_xml_writer_namesp_s { /* These are double pointers because a single element may contain multple namespace declarations */ #ifdef GUTHTHILA_XML_WRITER_TOKEN guththila_token_t **name; guththila_token_t **uri; #else guththila_char_t **name; guththila_char_t **uri; #endif int no; /*number of namespaces */ int size; } guththila_xml_writer_namesp_t; #define GUTHTHILA_XML_WRITER_NAMESP_DEF_SIZE 4 /*Writer functions*/ /* * Create a writer which writes to a file. * @param file_name name of the file * @param env pointer to the environment */ GUTHTHILA_EXPORT guththila_xml_writer_t *GUTHTHILA_CALL guththila_create_xml_stream_writer( char *file_name, const axutil_env_t * env); /* * Create a writer which writes to a memory buffer. * @param env pointer to the environment */ GUTHTHILA_EXPORT guththila_xml_writer_t *GUTHTHILA_CALL guththila_create_xml_stream_writer_for_memory( const axutil_env_t * env); /* * Jus write what ever the content in the buffer. If the writer was in * a start of a element it will close it. * @param wr pointer to the writer * @param buff buffer containing the data * @param size size of the buffer * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_to_buffer( guththila_xml_writer_t * wr, char *buff, int size, const axutil_env_t * env); /* * Write the name space with the given prifix and namespace. * @param wr pointer to the writer * @param prefix prefix of the namespace * @param uri uri of the namespace * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_namespace( guththila_xml_writer_t * wr, char *prefix, char *uri, const axutil_env_t * env); /* * Write the name space with the given prifix and namespace. * @param wr pointer to the writer * @param prefix prefix of the namespace * @param uri uri of the namespace * @param local_name name of the attribute * @param value value of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_do_write_attribute_with_prefix_and_namespace( guththila_xml_writer_t * wr, char *prefix, char *uri, char *local_name, char *value, const axutil_env_t * env); /* * Write the start document element with the xml version and encoding. * @param wr pointer to the writer * @param env pointer to the environment * @param encoding encoding of the XML. * @param version xml version */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_document( guththila_xml_writer_t * wr, const axutil_env_t * env, char *encoding, char *version); /* * Write the start element. * @param wr pointer to the writer * @param name name of the element * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element( guththila_xml_writer_t * wr, char *name, const axutil_env_t * env); /* * Write the end element. * @param wr pointer to the writer * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_end_element( guththila_xml_writer_t * wr, const axutil_env_t * env); /* * Not implemented. * @param wr pointer to the writer * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_close( guththila_xml_writer_t * wr, const axutil_env_t * env); /* * Write the text content of a element. * @param wr pointer to the writer * @param buff character string * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_characters( guththila_xml_writer_t * wr, char *buff, const axutil_env_t * env); /* * Write comment with the given text data. * @param wr pointer to the writer * @param buff character string * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_comment( guththila_xml_writer_t * wr, char *buff, const axutil_env_t * env); /* * Write scape character. * @param wr pointer to the writer * @param buff character string * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_escape_character( guththila_xml_writer_t * wr, char *buff, const axutil_env_t * env); /* * Start to write an empty element with the given name. * @param wr pointer to the writer * @param name name of the element * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element( guththila_xml_writer_t * wr, char *name, const axutil_env_t * env); /* * Write a defualt namespace. * @param wr pointer to the writer * @param uri uri of the namespace * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_default_namespace( guththila_xml_writer_t * wr, char *uri, const axutil_env_t * env); /* * Write a attribute with the given name and value. * @param wr pointer to the writer * @param localname name of the attribute * @param value value of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute( guththila_xml_writer_t * wr, char *localname, char *value, const axutil_env_t * env); /* * Write a attribute with the given name and value and namespace. * @param wr pointer to the writer * @param prefix prefix of the attribute * @param namespace_uri uri of the namespace * @param localname name of the attribute * @param value value of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_prefix_and_namespace( guththila_xml_writer_t * wr, char *prefix, char *namespace_uri, char *localname, char *value, const axutil_env_t * env); /* * Write a attribute with the given name, value and prefix. If the prefix * is not defined previously as a namespace this method will fail. * @param wr pointer to the writer * @param prefix prefix of the attribute * @param localname name of the attribute * @param value value of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_prefix( guththila_xml_writer_t * wr, char *prefix, char *localname, char *value, const axutil_env_t * env); /* * Write a attribute with the given name, value and namespace uri. * If the namespace is not defined previously as a namespace this * method will fail. The prefix corresponding to the namespace uri * will be used. * @param wr pointer to the writer * @param namesp namespace uri * @param localname name of the attribute * @param value value of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_attribute_with_namespace( guththila_xml_writer_t * wr, char *namesp, char *localname, char *value, const axutil_env_t * env); /* * Write a start element with prefix and namespace. If the namespace is not * defined previoully new namespace will be written. * @param wr pointer to the writer * @param prefix prefix of the attribute * @param namespace_uri uri * @param localname name of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element_with_prefix_and_namespace( guththila_xml_writer_t * wr, char *prefix, char *namespace_uri, char *local_name, const axutil_env_t * env); /* * Write a start element with the namespace. If the namespace is not * defined previously method will fail. * @param wr pointer to the writer * @param namespace_uri uri * @param localname name of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element_with_namespace( guththila_xml_writer_t * wr, char *namespace_uri, char *local_name, const axutil_env_t * env); /* * Write a start element with the prefix. If the prefix is not * defined previously method will fail. * @param wr pointer to the writer * @param namespace_uri uri * @param localname name of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_start_element_with_prefix( guththila_xml_writer_t * wr, char *prefix, char *local_name, const axutil_env_t * env); /* * Write a empty element with prefix and namespace. If the namespace is not * defined previoully new namespace will be written. * @param wr pointer to the writer * @param prefix prefix of the attribute * @param namespace_uri uri * @param localname name of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element_with_prefix_and_namespace( guththila_xml_writer_t * wr, char *prefix, char *namespace_uri, char *local_name, const axutil_env_t * env); /* * Write a empty element with the namespace. If the namespace is not * defined previously method will fail. * @param wr pointer to the writer * @param namespace_uri uri * @param localname name of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element_with_namespace( guththila_xml_writer_t * wr, char *namespace_uri, char *local_name, const axutil_env_t * env); /* * Write a empty element with the prefix. If the prefix is not * defined previously method will fail. * @param wr pointer to the writer * @param namespace_uri uri * @param localname name of the attribute * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_empty_element_with_prefix( guththila_xml_writer_t * wr, char *prefix, char *local_name, const axutil_env_t * env); /* * Close all the elements that were started by writing the end elements. * @param wr pointer to the writer * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_end_document( guththila_xml_writer_t * wr, const axutil_env_t * env); /* * Write a new element with the name, then write the characters as text, * then close the element and write a new line. * @param wr pointer to the writer * @element_name name of the element * @characters text of the new element * @param env pointer to the environment */ GUTHTHILA_EXPORT int GUTHTHILA_CALL guththila_write_line( guththila_xml_writer_t * wr, char *element_name, char *characters, const axutil_env_t * env); /* * Get the memory buffer that is written. * @param wr pointer to the writer * @param env pointer to the environment * @return memory buffer */ GUTHTHILA_EXPORT char *GUTHTHILA_CALL guththila_get_memory_buffer( guththila_xml_writer_t * wr, const axutil_env_t * env); /* * Get the size of the memory buffer. * @param wr pointer to the writer * @param env pointer to the environment * @return size of the buffer */ GUTHTHILA_EXPORT unsigned int GUTHTHILA_CALL guththila_get_memory_buffer_size( guththila_xml_writer_t * wr, const axutil_env_t * env); /* * Free the writer. * @param wr pointer to the writer * @param env pointer to the environment */ GUTHTHILA_EXPORT void GUTHTHILA_CALL guththila_xml_writer_free( guththila_xml_writer_t * wr, const axutil_env_t * env); /* * Get the prefix for the namespace. * @param wr pointer to the writer * @namespace namespace uri * @param env pointer to the environment * @return prefix for the namspace uri */ GUTHTHILA_EXPORT char *GUTHTHILA_CALL guththila_get_prefix_for_namespace( guththila_xml_writer_t * wr, char *namespace, const axutil_env_t * env); EXTERN_C_END() #endif axis2c-src-1.6.0/guththila/include/guththila_defines.h0000644000175000017500000000325011166304555024115 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef GUTHTHILA_DEFINES_H #define GUTHTHILA_DEFINES_H #if defined(WIN32) #define GUTHTHILA_EXPORT __declspec(dllexport) #else #define GUTHTHILA_EXPORT #endif #if defined(__GNUC__) #if defined(__i386) #define GUTHTHILA_CALL __attribute__((cdecl)) #else #define GUTHTHILA_CALL #endif #else #if defined(__unix) #define GUTHTHILA_CALL #else #define GUTHTHILA_CALL __stdcall #endif #endif #ifndef guththila_char_t #define guththila_char_t char #endif #ifndef GUTHTHILA_SUCCESS #define GUTHTHILA_SUCCESS 1 #endif #ifndef GUTHTHILA_FAILURE #define GUTHTHILA_FAILURE 0 #endif #ifdef __cplusplus #define EXTERN_C_START() extern "C" { #define EXTERN_C_END() } #else #define EXTERN_C_START() #define EXTERN_C_END() #endif #ifndef GUTHTHILA_EOF #define GUTHTHILA_EOF (-1) #endif #ifndef GUTHTHILA_FALSE #define GUTHTHILA_FALSE 0 #endif #ifndef GUTHTHILA_TRUE #define GUTHTHILA_TRUE 1 #endif #endif axis2c-src-1.6.0/guththila/COPYING0000644000175000017500000002613711166304562017675 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/LICENSE0000644000175000017500000002613711166304700015650 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/axiom/0000777000175000017500000000000011172017535015757 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/0000777000175000017500000000000011172017535016546 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/om/0000777000175000017500000000000011172017535017161 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/om/om_comment.c0000644000175000017500000000737511166304640021471 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "axiom_node_internal.h" #include struct axiom_comment { /** comment text */ axis2_char_t *value; }; AXIS2_EXTERN axiom_comment_t *AXIS2_CALL axiom_comment_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * value, axiom_node_t ** node) { axiom_comment_t *comment = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, value, NULL); AXIS2_PARAM_CHECK(env->error, node, NULL); *node = NULL; *node = axiom_node_create(env); if (!*node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } comment = (axiom_comment_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_comment_t)); if (!comment) { AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } comment->value = NULL; if (value) { comment->value = (axis2_char_t *) axutil_strdup(env, value); if (!comment->value) { AXIS2_FREE(env->allocator, comment); AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } axiom_node_set_data_element((*node), env, comment); axiom_node_set_node_type((*node), env, AXIOM_COMMENT); if (parent) { axiom_node_add_child(parent, env, (*node)); } return comment; } AXIS2_EXTERN void AXIS2_CALL axiom_comment_free( axiom_comment_t * comment, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (comment->value) { AXIS2_FREE(env->allocator, comment->value); } AXIS2_FREE(env->allocator, comment); return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_comment_get_value( axiom_comment_t * comment, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return comment->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_comment_set_value( axiom_comment_t * comment, const axutil_env_t * env, const axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); if (comment->value) { AXIS2_FREE(env->allocator, comment->value); } comment->value = (axis2_char_t *) axutil_strdup(env, value); if (!comment->value) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_comment_serialize( axiom_comment_t * comment, const axutil_env_t * env, axiom_output_t * om_output) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (comment->value) { return axiom_output_write(om_output, env, AXIOM_COMMENT, 1, comment->value); } return AXIS2_FAILURE; } axis2c-src-1.6.0/axiom/src/om/axiom_namespace_internal.h0000644000175000017500000000236611166304640024361 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_NAMESPACE_INTERNAL_H #define AXIOM_NAMESPACE_INTERNAL_H /** @defgroup axiom AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_set_uri( axiom_namespace_t * ns, const axutil_env_t * env, const axis2_char_t * ns_uri); #ifdef __cplusplus } #endif #endif /** AXIOM_NAMESPACE_H */ axis2c-src-1.6.0/axiom/src/om/om_element.c0000644000175000017500000016543211166304640021457 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "axiom_node_internal.h" #include #include #include #include #include #include struct axiom_element { /** Element's namespace */ axiom_namespace_t *ns; /** Element's local name */ axutil_string_t *localname; /** List of attributes */ axutil_hash_t *attributes; /** List of namespaces */ axutil_hash_t *namespaces; axutil_qname_t *qname; axiom_child_element_iterator_t *child_ele_iter; axiom_children_iterator_t *children_iter; axiom_children_qname_iterator_t *children_qname_iter; axis2_char_t *text_value; int next_ns_prefix_number; axis2_bool_t is_empty; }; AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * localname, axiom_namespace_t * ns, axiom_node_t ** node) { axiom_element_t *element; AXIS2_ENV_CHECK(env, NULL); if (!localname || !node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "localname or node is NULL"); return NULL; } (*node) = axiom_node_create(env); if (!(*node)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No Memory"); return NULL; } element = (axiom_element_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_element_t)); if (!element) { AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No Memory"); return NULL; } element->ns = NULL; element->localname = NULL; element->attributes = NULL; element->namespaces = NULL; element->qname = NULL; element->child_ele_iter = NULL; element->children_iter = NULL; element->children_qname_iter = NULL; element->text_value = NULL; element->next_ns_prefix_number = 0; element->is_empty = AXIS2_FALSE; element->localname = axutil_string_create(env, localname); if (!element->localname) { AXIS2_FREE(env->allocator, element); AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (parent) { axiom_node_add_child(parent, env, (*node)); } axiom_node_set_complete((*node), env, AXIS2_FALSE); axiom_node_set_node_type((*node), env, AXIOM_ELEMENT); axiom_node_set_data_element((*node), env, element); if (ns) { axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; uri = axiom_namespace_get_uri(ns, env); prefix = axiom_namespace_get_prefix(ns, env); /* if (prefix && axutil_strcmp(prefix, "") == 0) { element->ns = NULL; return element; } */ element->ns = axiom_element_find_namespace(element, env, *node, uri, prefix); if (element->ns) { if (ns != element->ns) { axiom_namespace_free(ns, env); ns = NULL; } } if (!(element->ns)) { if (axiom_element_declare_namespace(element, env, *node, ns) == AXIS2_SUCCESS) { element->ns = ns; } } /*if (prefix && axutil_strcmp(prefix, "") == 0) { element->ns = NULL; } */ } return element; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_create_with_qname( const axutil_env_t * env, axiom_node_t * parent, const axutil_qname_t * qname, axiom_node_t ** node) { axiom_element_t *element = NULL; axis2_char_t *localpart = NULL; AXIS2_ENV_CHECK(env, NULL); if (!qname || !node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "qname or node is NULL"); return NULL; } localpart = axutil_qname_get_localpart(qname, env); if (!localpart) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "localpart is NULL"); return NULL; } element = axiom_element_create(env, parent, localpart, NULL, node); if (!element) { return NULL; } if (*node) { axiom_element_t *om_element = NULL; axis2_char_t *temp_nsuri = NULL; axis2_char_t *temp_prefix = NULL; axiom_namespace_t *ns = NULL; om_element = ((axiom_element_t *) axiom_node_get_data_element((*node), env)); temp_nsuri = axutil_qname_get_uri(qname, env); temp_prefix = axutil_qname_get_prefix(qname, env); if (!om_element) { return NULL; } if ((!temp_nsuri) || (axutil_strcmp(temp_nsuri, "") == 0)) { /** no namespace uri is available in given qname no need to bother about it */ return om_element; } om_element->ns = axiom_element_find_namespace(om_element, env, (*node), temp_nsuri, temp_prefix); if (!(element->ns)) { /** could not find a namespace so declare namespace */ ns = axiom_namespace_create(env, temp_nsuri, temp_prefix); if (ns && axiom_element_declare_namespace(om_element, env, *node, ns) == AXIS2_SUCCESS) { (element->ns) = ns; return om_element; } else { if (ns) { axiom_namespace_free(ns, env); } axiom_element_free(om_element, env); AXIS2_FREE(env->allocator, *node); return NULL; } } } return element; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node, const axis2_char_t * uri, const axis2_char_t * prefix) { axiom_node_t *parent = NULL; AXIS2_ENV_CHECK(env, NULL); if (!element_node || !om_element) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "element_node or om_element is NULL"); return NULL; } if (!axiom_node_get_data_element(element_node, env) || axiom_node_get_node_type(element_node, env) != AXIOM_ELEMENT) { /* wrong element type or null node */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Wrong element type or null node"); return NULL; } if (om_element->namespaces) { void *ns = NULL; if (uri && (!prefix || axutil_strcmp(prefix, "") == 0)) { /** check for a default namepsace */ axiom_namespace_t *default_ns = NULL; axutil_hash_index_t *hashindex; default_ns = axiom_element_get_default_namespace(om_element, env, element_node); if (default_ns) { axis2_char_t *default_uri = NULL; default_uri = axiom_namespace_get_uri(default_ns, env); if (axutil_strcmp(uri, default_uri) == 0) { return default_ns; } else { return NULL; } } /** prefix is null , so iterate the namespaces hash to find the namespace */ for (hashindex = axutil_hash_first(om_element->namespaces, env); hashindex; hashindex = axutil_hash_next(env, hashindex)) { axutil_hash_this(hashindex, NULL, NULL, &ns); if (ns) { axiom_namespace_t *temp_ns = NULL; axis2_char_t *temp_nsuri = NULL; temp_ns = (axiom_namespace_t *) ns; temp_nsuri = axiom_namespace_get_uri(temp_ns, env); if (axutil_strcmp(temp_nsuri, uri) == 0) { /** namespace uri matches, so free hashindex and return ns*/ AXIS2_FREE(env->allocator, hashindex); return (axiom_namespace_t *) (ns); } temp_ns = NULL; temp_nsuri = NULL; ns = NULL; } } ns = NULL; } else if (prefix) { /** prefix is not null get namespace directly if exist */ ns = axutil_hash_get(om_element->namespaces, prefix, AXIS2_HASH_KEY_STRING); if (ns) { axiom_namespace_t *found_ns = NULL; axis2_char_t *found_uri = NULL; found_ns = (axiom_namespace_t *) ns; found_uri = axiom_namespace_get_uri(found_ns, env); if (uri) { /* if uri provided, return found ns only if uri matches */ return (axutil_strcmp(found_uri, uri) == 0) ? found_ns : NULL; } return found_ns; } } } /** could not find the namespace in current element scope look in the parent */ parent = axiom_node_get_parent(element_node, env); if (parent) { if (axiom_node_get_node_type(parent, env) == AXIOM_ELEMENT) { axiom_element_t *om_element = NULL; om_element = (axiom_element_t *) axiom_node_get_data_element(parent, env); if (om_element) { /** parent exist, parent is om element so find in parent*/ return axiom_element_find_namespace(om_element, env, parent, uri, prefix); } } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_declare_namespace_assume_param_ownership( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * ns) { axis2_char_t *prefix = NULL; axis2_char_t *uri = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!ns || !om_element) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "namespace or om_element is NULL"); return AXIS2_FAILURE; } uri = axiom_namespace_get_uri(ns, env); prefix = axiom_namespace_get_prefix(ns, env); if (!(om_element->namespaces)) { om_element->namespaces = axutil_hash_make(env); if (!(om_element->namespaces)) { return AXIS2_FAILURE; } } if (prefix) { axutil_hash_set(om_element->namespaces, prefix, AXIS2_HASH_KEY_STRING, ns); } else { axis2_char_t *key = NULL; key = AXIS2_MALLOC(env->allocator, sizeof(char) * 10); memset(key, 0, sizeof(char) * 10); om_element->next_ns_prefix_number++; key[0] = '\0'; axutil_hash_set(om_element->namespaces, key, AXIS2_HASH_KEY_STRING, ns); } axiom_namespace_increment_ref(ns, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_declare_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * node, axiom_namespace_t * ns) { axiom_namespace_t *declared_ns = NULL; axis2_char_t *prefix = NULL; axis2_char_t *uri = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!node || !ns || !om_element) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "node or namespace or om_element is NULL"); return AXIS2_FAILURE; } uri = axiom_namespace_get_uri(ns, env); prefix = axiom_namespace_get_prefix(ns, env); declared_ns = axiom_element_find_namespace(om_element, env, node, uri, prefix); if (declared_ns) { if (axiom_namespace_equals(ns, env, declared_ns) == AXIS2_TRUE) { /*Namespace already declared, so return */ return AXIS2_SUCCESS; } } if (!(om_element->namespaces)) { om_element->namespaces = axutil_hash_make(env); if (!(om_element->namespaces)) { return AXIS2_FAILURE; } } if (prefix) { axutil_hash_set(om_element->namespaces, prefix, AXIS2_HASH_KEY_STRING, ns); } else { axis2_char_t *key = NULL; key = AXIS2_MALLOC(env->allocator, sizeof(char) * 10); memset(key, 0, sizeof(char) * 10); om_element->next_ns_prefix_number++; key[0] = '\0'; axutil_hash_set(om_element->namespaces, key, AXIS2_HASH_KEY_STRING, ns); } axiom_namespace_increment_ref(ns, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_declared_namespace( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix) { axutil_hash_index_t *hash_index = NULL; void *ns = NULL; AXIS2_ENV_CHECK(env, NULL); if (!(om_element->namespaces)) { return NULL; } if (uri && (!prefix || axutil_strcmp(prefix, "") == 0)) { /** prefix null iterate the namespace hash for matching uri */ for (hash_index = axutil_hash_first(om_element->namespaces, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { axutil_hash_this(hash_index, NULL, NULL, &ns); if (ns) { axiom_namespace_t *temp_ns = NULL; axis2_char_t *temp_nsuri = NULL; temp_ns = (axiom_namespace_t *) (ns); temp_nsuri = axiom_namespace_get_uri(temp_ns, env); if (axutil_strcmp(temp_nsuri, uri) == 0) { AXIS2_FREE(env->allocator, hash_index); return temp_ns; } temp_ns = NULL; temp_nsuri = NULL; } } ns = NULL; return NULL; } else if (prefix) { axiom_namespace_t *found_ns = NULL; ns = axutil_hash_get(om_element->namespaces, prefix, AXIS2_HASH_KEY_STRING); if (ns) { axis2_char_t *found_uri = NULL; found_ns = (axiom_namespace_t *) ns; found_uri = axiom_namespace_get_uri(found_ns, env); /* If uri provided, ensure this namespace found by prefix matches the uri */ if (uri && axutil_strcmp(found_uri, uri) == 0) { return found_ns; } } } return NULL; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_namespace_with_qname( axiom_element_t * element, const axutil_env_t * env, axiom_node_t * node, axutil_qname_t * qname) { AXIS2_ENV_CHECK(env, NULL); if (!element || !node || !qname) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "element or node or qname is NULL"); return NULL; } if (axutil_qname_get_uri(qname, env)) { return axiom_element_find_namespace(element, env, node, axutil_qname_get_uri(qname, env), axutil_qname_get_prefix(qname, env)); } else { return NULL; } } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_add_attribute( axiom_element_t * om_element, const axutil_env_t * env, axiom_attribute_t * attribute, axiom_node_t * element_node) { axutil_qname_t *qname = NULL; axiom_namespace_t *om_namespace = NULL; axiom_namespace_t *temp_ns = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, attribute, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, element_node, AXIS2_FAILURE); /* ensure the attribute's namespace structure is declared */ om_namespace = axiom_attribute_get_namespace(attribute, env); if (om_namespace) { temp_ns = axiom_element_find_namespace(om_element, env, element_node, axiom_namespace_get_uri (om_namespace, env), axiom_namespace_get_prefix (om_namespace, env)); if (temp_ns != om_namespace) { axis2_status_t status; /* as the attribute's namespace structure is not declared in scope, declare it here */ status = axiom_element_declare_namespace_assume_param_ownership(om_element, env, om_namespace); if (status != AXIS2_SUCCESS) { return status; } } } if (!(om_element->attributes)) { om_element->attributes = axutil_hash_make(env); if (!(om_element->attributes)) { return AXIS2_FAILURE; } } qname = axiom_attribute_get_qname(attribute, env); if (qname) { axis2_char_t *name = axutil_qname_to_string(qname, env); axutil_hash_set(om_element->attributes, name, AXIS2_HASH_KEY_STRING, attribute); axiom_attribute_increment_ref(attribute, env); } return ((qname) ? AXIS2_SUCCESS : AXIS2_FAILURE); } AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_element_get_attribute( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * qname) { axis2_char_t *name = NULL; axiom_attribute_t *attr = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, qname, NULL); name = axutil_qname_to_string(qname, env); if ((om_element->attributes) && name) { attr = (axiom_attribute_t *) (axutil_hash_get(om_element->attributes, name, AXIS2_HASH_KEY_STRING)); } return attr; } AXIS2_EXTERN void AXIS2_CALL axiom_element_free( axiom_element_t * om_element, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_element) { return; } if (om_element->localname) { axutil_string_free(om_element->localname, env); } if (om_element->ns) { /* it is the responsibility of the element where the namespace is declared to free it */ } if (om_element->attributes) { axutil_hash_index_t *hi; void *val = NULL; for (hi = axutil_hash_first(om_element->attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_attribute_free((axiom_attribute_t *) val, env); } } axutil_hash_free(om_element->attributes, env); } if (om_element->namespaces) { axutil_hash_index_t *hi; void *val = NULL; for (hi = axutil_hash_first(om_element->namespaces, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_namespace_free((axiom_namespace_t *) val, env); } } axutil_hash_free(om_element->namespaces, env); } if (om_element->qname) { axutil_qname_free(om_element->qname, env); } if (om_element->children_iter) { axiom_children_iterator_free(om_element->children_iter, env); } if (om_element->child_ele_iter) { AXIOM_CHILD_ELEMENT_ITERATOR_FREE(om_element->child_ele_iter, env); } if (om_element->children_qname_iter) { axiom_children_qname_iterator_free(om_element->children_qname_iter, env); } if (om_element->text_value) { AXIS2_FREE(env->allocator, om_element->text_value); } AXIS2_FREE(env->allocator, om_element); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_serialize_start_part( axiom_element_t * om_element, const axutil_env_t * env, axiom_output_t * om_output, axiom_node_t * ele_node) { int status = AXIS2_SUCCESS; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (om_element->is_empty) { if (om_element->ns) { axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; uri = axiom_namespace_get_uri(om_element->ns, env); prefix = axiom_namespace_get_prefix(om_element->ns, env); if ((uri) && (prefix) && (axutil_strcmp(prefix, "") != 0)) { status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 4, axutil_string_get_buffer(om_element-> localname, env), uri, prefix, NULL); } else if (uri) { status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 4, axutil_string_get_buffer(om_element-> localname, env), uri, NULL, NULL); } } else { status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 4, axutil_string_get_buffer(om_element-> localname, env), NULL, NULL, NULL); } } else { if (om_element->ns) { axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; uri = axiom_namespace_get_uri(om_element->ns, env); prefix = axiom_namespace_get_prefix(om_element->ns, env); if ((uri) && (prefix) && (axutil_strcmp(prefix, "") != 0)) { status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 3, axutil_string_get_buffer(om_element-> localname, env), uri, prefix); } else if (uri) { status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 2, axutil_string_get_buffer(om_element-> localname, env), uri); } } else { status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 1, axutil_string_get_buffer(om_element-> localname, env)); } } if (om_element->attributes) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(om_element->attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { status = axiom_attribute_serialize((axiom_attribute_t *) val, env, om_output); } else { status = AXIS2_FAILURE; } } } if (om_element->namespaces) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(om_element->namespaces, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { status = axiom_namespace_serialize((axiom_namespace_t *) val, env, om_output); } else { status = AXIS2_FAILURE; } } } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_serialize_end_part( axiom_element_t * om_element, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); status = axiom_output_write(om_output, env, AXIOM_ELEMENT, 0); return status; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_localname( axiom_element_t * om_element, const axutil_env_t * env) { if (om_element->localname) return (axis2_char_t *) axutil_string_get_buffer(om_element->localname, env); else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_localname( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * localname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); if (om_element->localname) { axutil_string_free(om_element->localname, env); om_element->localname = NULL; } om_element->localname = axutil_string_create(env, localname); if (!(om_element->localname)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_get_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * ele_node) { axiom_namespace_t *ns = NULL; AXIS2_ENV_CHECK(env, NULL); if (om_element->ns) { ns = om_element->ns; } else { ns = axiom_element_get_default_namespace(om_element, env, ele_node); } return ns; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * ns, axiom_node_t * node) { axiom_namespace_t *om_ns = NULL; axis2_status_t status = AXIS2_SUCCESS; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, ns, AXIS2_FAILURE); om_ns = axiom_element_find_namespace(om_element, env, node, axiom_namespace_get_uri(ns, env), axiom_namespace_get_prefix(ns, env)); if (!om_ns) { status = axiom_element_declare_namespace(om_element, env, node, ns); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } om_element->ns = ns; } else { om_element->ns = om_ns; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace_assume_param_ownership( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * ns) { om_element->ns = ns; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_element_get_all_attributes( axiom_element_t * om_element, const axutil_env_t * env) { return om_element->attributes; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_element_get_namespaces( axiom_element_t * om_element, const axutil_env_t * env) { return om_element->namespaces; } AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axiom_element_get_qname( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * ele_node) { axiom_namespace_t *ns = NULL; AXIS2_ENV_CHECK(env, NULL); if (om_element->qname) { return om_element->qname; } else { ns = axiom_element_get_namespace(om_element, env, ele_node); if (ns) { if (axiom_namespace_get_prefix(ns, env)) { om_element->qname = axutil_qname_create(env, axutil_string_get_buffer (om_element->localname, env), axiom_namespace_get_uri (ns, env), axiom_namespace_get_prefix (ns, env)); } else { om_element->qname = axutil_qname_create(env, axutil_string_get_buffer (om_element->localname, env), axiom_namespace_get_uri (ns, env), NULL); } } else { om_element->qname = axutil_qname_create(env, axutil_string_get_buffer (om_element->localname, env), NULL, NULL); } } return om_element->qname; } AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL axiom_element_get_children( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node) { AXIS2_PARAM_CHECK(env->error, element_node, NULL); if (!om_element->children_iter) { om_element->children_iter = axiom_children_iterator_create(env, axiom_node_get_first_child (element_node, env)); } return om_element->children_iter; } AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL axiom_element_get_children_with_qname( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * element_qname, axiom_node_t * element_node) { AXIS2_PARAM_CHECK(env->error, element_node, NULL); if (om_element->children_qname_iter) { axiom_children_qname_iterator_free(om_element->children_qname_iter, env); om_element->children_qname_iter = NULL; } om_element->children_qname_iter = axiom_children_qname_iterator_create(env, axiom_node_get_first_child (element_node, env), element_qname); return om_element->children_qname_iter; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_get_first_child_with_qname( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * element_qname, axiom_node_t * element_node, axiom_node_t ** child_node) { axiom_node_t *om_node = NULL; axiom_children_qname_iterator_t *children_iterator = NULL; AXIS2_PARAM_CHECK(env->error, element_qname, NULL); AXIS2_PARAM_CHECK(env->error, element_node, NULL); om_node = axiom_node_get_first_child(element_node, env); if (!om_node) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "There are no child elements for the node"); return NULL; } children_iterator = axiom_children_qname_iterator_create(env, om_node, element_qname); if (!children_iterator) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Could not create children qname iterator"); return NULL; } om_node = NULL; if (axiom_children_qname_iterator_has_next(children_iterator, env)) { om_node = axiom_children_qname_iterator_next(children_iterator, env); } if (om_node && (axiom_node_get_node_type(om_node, env) == AXIOM_ELEMENT)) { axiom_children_qname_iterator_free(children_iterator, env); if (child_node) { *child_node = om_node; } return (axiom_element_t *) axiom_node_get_data_element(om_node, env); } axiom_children_qname_iterator_free(children_iterator, env); return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_remove_attribute( axiom_element_t * om_element, const axutil_env_t * env, axiom_attribute_t * om_attribute) { axutil_qname_t *qname = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_attribute, AXIS2_FAILURE); qname = axiom_attribute_get_qname(om_attribute, env); if (qname && (om_element->attributes)) { axis2_char_t *name = NULL; name = axutil_qname_to_string(qname, env); if (name) { axutil_hash_set(om_element->attributes, name, AXIS2_HASH_KEY_STRING, NULL); return AXIS2_SUCCESS; } } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_get_first_element( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node, axiom_node_t ** first_ele_node) { axiom_node_t *temp_node = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, element_node, NULL); temp_node = axiom_node_get_first_child(element_node, env); while (temp_node) { if (axiom_node_get_node_type(temp_node, env) == AXIOM_ELEMENT) { if (first_ele_node) { *first_ele_node = temp_node; } return (axiom_element_t *) axiom_node_get_data_element(temp_node, env); } else { temp_node = axiom_node_get_next_sibling(temp_node, env); } } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_text( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node) { axis2_char_t *dest = NULL; const axis2_char_t *temp_text = NULL; axiom_text_t *text_node = NULL; axiom_node_t *temp_node = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, element_node, NULL); if (om_element->text_value) { AXIS2_FREE(env->allocator, om_element->text_value); om_element->text_value = NULL; } temp_node = axiom_node_get_first_child(element_node, env); while (temp_node) { if (axiom_node_get_node_type(temp_node, env) == AXIOM_TEXT) { int dest_len = 0; int curr_len = 0; axis2_char_t *temp_dest = NULL; text_node = (axiom_text_t *) axiom_node_get_data_element(temp_node, env); if (text_node) { temp_text = axiom_text_get_value(text_node, env); if (dest && temp_text && axutil_strcmp(temp_text, "") != 0) { dest_len = axutil_strlen(dest); curr_len = dest_len + axutil_strlen(temp_text); temp_dest = AXIS2_MALLOC(env->allocator, (curr_len + 1) * sizeof(axis2_char_t)); memcpy(temp_dest, dest, dest_len * sizeof(axis2_char_t)); memcpy((temp_dest + dest_len * sizeof(axis2_char_t)), temp_text, curr_len - dest_len); temp_dest[curr_len] = '\0'; AXIS2_FREE(env->allocator, dest); dest = NULL; dest = temp_dest; } else if (!dest && temp_text && axutil_strcmp(temp_text, "") != 0) { dest = axutil_strdup(env, temp_text); } } } temp_node = axiom_node_get_next_sibling(temp_node, env); } om_element->text_value = dest; return om_element->text_value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_text( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * text, axiom_node_t * element_node) { axiom_node_t *temp_node, *next_node; axiom_text_t *om_text = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, text, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, element_node, AXIS2_FAILURE); next_node = axiom_node_get_first_child(element_node, env); while (next_node) { temp_node = next_node; next_node = axiom_node_get_next_sibling(temp_node, env); if (axiom_node_get_node_type(temp_node, env) == AXIOM_TEXT) { axiom_node_free_tree(temp_node, env); } } om_text = axiom_text_create(env, NULL, text, &temp_node); axiom_node_add_child(element_node, env, temp_node); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_to_string( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node) { return axiom_node_to_string(element_node, env); } AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL axiom_element_get_child_elements( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node) { axiom_node_t *first_node = NULL; axiom_element_t *ele = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, element_node, NULL); ele = axiom_element_get_first_element(om_element, env, element_node, &first_node); if (om_element->child_ele_iter) { return om_element->child_ele_iter; } else if (ele && first_node) { om_element->child_ele_iter = axiom_child_element_iterator_create(env, first_node); return om_element->child_ele_iter; } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_build( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_ele_node) { axiom_stax_builder_t *builder = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_ele_node, AXIS2_FAILURE); if (axiom_node_get_node_type(om_ele_node, env) != AXIOM_ELEMENT) { return AXIS2_FAILURE; } builder = axiom_node_get_builder(om_ele_node, env); if (!builder) { return AXIS2_FAILURE; } while (!axiom_node_is_complete(om_ele_node, env) && !axiom_stax_builder_is_complete(builder, env)) { void *value = NULL; value = axiom_stax_builder_next(builder, env); if (!value) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_get_default_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node) { axiom_node_t *parent_node = NULL; axiom_namespace_t *default_ns = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, element_node, NULL); if (om_element->namespaces) { default_ns = axutil_hash_get(om_element->namespaces, "", AXIS2_HASH_KEY_STRING); if (default_ns) { return default_ns; } } parent_node = axiom_node_get_parent(element_node, env); if ((parent_node) && (axiom_node_get_node_type(parent_node, env) == AXIOM_ELEMENT)) { axiom_element_t *parent_ele = NULL; parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (parent_ele) { return axiom_element_get_default_namespace(parent_ele, env, parent_node); } } return NULL; } /** * declared a default namespace explicitly */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_declare_default_namespace( axiom_element_t * om_element, const axutil_env_t * env, axis2_char_t * uri) { axiom_namespace_t *default_ns = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, uri, NULL); if (axutil_strcmp(uri, "") == 0) { return NULL; } default_ns = axiom_namespace_create(env, uri, ""); if (!default_ns) { return NULL; } if (!om_element->namespaces) { om_element->namespaces = axutil_hash_make(env); if (!(om_element->namespaces)) { axiom_namespace_free(default_ns, env); return NULL; } } axutil_hash_set(om_element->namespaces, "", AXIS2_HASH_KEY_STRING, default_ns); axiom_namespace_increment_ref(default_ns, env); return default_ns; } /** * checks for the namespace in the context of this element * with the given prefix */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_namespace_uri( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * prefix, axiom_node_t * element_node) { axiom_node_t *parent_node = NULL; axiom_namespace_t *ns = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, element_node, NULL); AXIS2_PARAM_CHECK(env->error, prefix, NULL); if (om_element->namespaces) { ns = axutil_hash_get(om_element->namespaces, prefix, AXIS2_HASH_KEY_STRING); if (ns) { return ns; } } parent_node = axiom_node_get_parent(element_node, env); if ((parent_node) && (axiom_node_get_node_type(parent_node, env) == AXIOM_ELEMENT)) { axiom_element_t *parent_ele = NULL; parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (parent_ele) { return axiom_element_find_namespace_uri(parent_ele, env, prefix, parent_node); } } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_attribute_value( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * qname) { axis2_char_t *name = NULL; axiom_attribute_t *attr = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, qname, NULL); name = axutil_qname_to_string(qname, env); if ((om_element->attributes) && (NULL != name)) { attr = (axiom_attribute_t *) axutil_hash_get(om_element->attributes, name, AXIS2_HASH_KEY_STRING); if (attr) { return axiom_attribute_get_value(attr, env); } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace_with_no_find_in_current_scope( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * om_ns) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_ns, AXIS2_FAILURE); om_element->ns = om_ns; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_element_extract_attributes( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * ele_node) { axutil_hash_index_t *hi = NULL; axutil_hash_t *ht_cloned = NULL; axiom_attribute_t *om_attr = NULL; axiom_attribute_t *cloned_attr = NULL; axiom_namespace_t *om_ns = NULL; /*axiom_namespace_t *cloned_ns = NULL; */ axis2_char_t *key = NULL; axutil_qname_t *qn = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); if (!om_element->attributes) { return NULL; } ht_cloned = axutil_hash_make(env); if (!ht_cloned) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } for (hi = axutil_hash_first(om_element->attributes, env); hi; hi = axutil_hash_next(env, hi)) { void *val = NULL; axutil_hash_this(hi, NULL, NULL, &val); if (val) { om_attr = (axiom_attribute_t *) val; cloned_attr = axiom_attribute_clone(om_attr, env); om_ns = axiom_attribute_get_namespace(om_attr, env); if (om_ns) { /*cloned_ns = axiom_namespace_clone(om_ns, env); */ /*axiom_attribute_set_namespace(cloned_attr, env, cloned_ns); */ axiom_attribute_set_namespace(cloned_attr, env, om_ns); } qn = axiom_attribute_get_qname(cloned_attr, env); key = axutil_qname_to_string(qn, env); axutil_hash_set(ht_cloned, key, AXIS2_HASH_KEY_STRING, cloned_attr); } val = NULL; key = NULL; qn = NULL; om_attr = NULL; cloned_attr = NULL; om_ns = NULL; /*cloned_ns = NULL; */ } return ht_cloned; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_attribute_value_by_name( axiom_element_t * om_element, const axutil_env_t * env, axis2_char_t * attr_name) { axutil_hash_index_t *hi = NULL; AXIS2_PARAM_CHECK(env->error, attr_name, NULL); if (!om_element->attributes) { return NULL; } for (hi = axutil_hash_first(om_element->attributes, env); hi; hi = axutil_hash_next(env, hi)) { void *attr = NULL; axiom_attribute_t *om_attr = NULL; axutil_hash_this(hi, NULL, NULL, &attr); if (attr) { axis2_char_t *this_attr_name; axis2_char_t *this_attr_value; axis2_char_t *attr_qn_str = NULL; axiom_namespace_t *attr_ns = NULL; axis2_char_t *prefix = NULL; om_attr = (axiom_attribute_t *) attr; this_attr_name = axiom_attribute_get_localname(om_attr, env); this_attr_value = axiom_attribute_get_value(om_attr, env); attr_ns = axiom_attribute_get_namespace(om_attr, env); if (attr_ns) { prefix = axiom_namespace_get_prefix(attr_ns, env); if (prefix) { axis2_char_t *tmp_val = NULL; tmp_val = axutil_stracat(env, prefix, ":"); attr_qn_str = axutil_stracat(env, tmp_val, this_attr_name); if (tmp_val) { AXIS2_FREE(env->allocator, tmp_val); tmp_val = NULL; } } } else { attr_qn_str = axutil_strdup(env, this_attr_name); } if (attr_qn_str && axutil_strcmp(attr_qn_str, attr_name) == 0) { AXIS2_FREE(env->allocator, attr_qn_str); attr_qn_str = NULL; AXIS2_FREE(env->allocator, hi); return this_attr_value; } AXIS2_FREE(env->allocator, attr_qn_str); attr_qn_str = NULL; } } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_create_str( const axutil_env_t * env, axiom_node_t * parent, axutil_string_t * localname, axiom_namespace_t * ns, axiom_node_t ** node) { axiom_element_t *element; AXIS2_ENV_CHECK(env, NULL); if (!localname || !node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "localname or node is NULL"); return NULL; } (*node) = axiom_node_create(env); if (!(*node)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } element = (axiom_element_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_element_t)); if (!element) { AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } element->ns = NULL; element->localname = NULL; element->attributes = NULL; element->namespaces = NULL; element->qname = NULL; element->child_ele_iter = NULL; element->children_iter = NULL; element->children_qname_iter = NULL; element->text_value = NULL; element->next_ns_prefix_number = 0; element->is_empty = AXIS2_FALSE; element->localname = axutil_string_clone(localname, env); if (!element->localname) { AXIS2_FREE(env->allocator, element); AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (parent) { axiom_node_add_child(parent, env, (*node)); } axiom_node_set_complete((*node), env, AXIS2_FALSE); axiom_node_set_node_type((*node), env, AXIOM_ELEMENT); axiom_node_set_data_element((*node), env, element); if (ns) { axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; uri = axiom_namespace_get_uri(ns, env); prefix = axiom_namespace_get_prefix(ns, env); element->ns = axiom_element_find_namespace(element, env, *node, uri, prefix); if (!(element->ns)) { if (axiom_element_declare_namespace(element, env, *node, ns) == AXIS2_SUCCESS) { element->ns = ns; } } if (prefix && axutil_strcmp(prefix, "") == 0) { element->ns = NULL; } } return element; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_element_get_localname_str( axiom_element_t * om_element, const axutil_env_t * env) { return om_element->localname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_localname_str( axiom_element_t * om_element, const axutil_env_t * env, axutil_string_t * localname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); if (om_element->localname) { axutil_string_free(om_element->localname, env); om_element->localname = NULL; } om_element->localname = axutil_string_clone(localname, env); if (!(om_element->localname)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_element_get_is_empty( axiom_element_t * om_element, const axutil_env_t * env) { return om_element->is_empty; } AXIS2_EXTERN void AXIS2_CALL axiom_element_set_is_empty( axiom_element_t * om_element, const axutil_env_t * env, axis2_bool_t is_empty) { om_element->is_empty = is_empty; } /** * Scan the parents of the element, to determine which namespaces are inscope for the * the element and its children. */ AXIS2_EXTERN axutil_hash_t * AXIS2_CALL axiom_element_gather_parent_namespaces( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_node) { axutil_hash_t *inscope_namespaces = NULL; axiom_node_t *parent_node = om_node; while ((parent_node = axiom_node_get_parent(parent_node, env)) && (axiom_node_get_node_type(parent_node, env) == AXIOM_ELEMENT)) { axiom_element_t *parent_element = (axiom_element_t *)axiom_node_get_data_element(parent_node, env); axutil_hash_t *parent_namespaces = axiom_element_get_namespaces(parent_element, env); if (parent_namespaces) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(parent_namespaces, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { /* Check if prefix is already associated with some namespace in node being detached */ if (!axiom_element_find_declared_namespace(om_element, env, NULL, axiom_namespace_get_prefix((axiom_namespace_t *)val, env))) { axis2_char_t *key = axiom_namespace_get_prefix((axiom_namespace_t *)val, env); if (!key) key = ""; /* Check if prefix already associated with some namespace in a parent node */ if (!(inscope_namespaces && axutil_hash_get(inscope_namespaces, key, AXIS2_HASH_KEY_STRING))) { /* Remember this namespace as needing to be declared, if used */ if (!inscope_namespaces) inscope_namespaces = axutil_hash_make(env); if (inscope_namespaces) axutil_hash_set(inscope_namespaces, key, AXIS2_HASH_KEY_STRING, val); } } } } } } return inscope_namespaces; } /** * Test if the provided namespace pointer is declared in a parent namespace * If so, redeclare it in the provided root element */ AXIS2_EXTERN void AXIS2_CALL axiom_element_use_parent_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_node, axiom_namespace_t *ns, axiom_element_t * root_element, axutil_hash_t *inscope_namespaces) { if (ns && inscope_namespaces) { axiom_namespace_t *parent_ns; axis2_char_t *key = axiom_namespace_get_prefix(ns, env); if (!key) key = ""; parent_ns = axutil_hash_get(inscope_namespaces, key, AXIS2_HASH_KEY_STRING); /* Check if namespace is a namespace declared in a parent and not also declared at an intermediate level */ if (parent_ns && (parent_ns == ns) && (ns != axiom_element_find_namespace(om_element, env, om_node, axiom_namespace_get_uri(ns, env), axiom_namespace_get_prefix(ns, env)))) { /* Redeclare this parent namespace at the level of the element being detached */ axiom_element_declare_namespace_assume_param_ownership(root_element, env, parent_ns); /* Remove the namespace from the inscope parent namespaces now that it has been redeclared. */ axutil_hash_set(inscope_namespaces, key, AXIS2_HASH_KEY_STRING, NULL); } } } /** * For each child node, determine if it uses a namespace from a parent of the node being detached * If so, re-declare that namespace in the node being detached */ AXIS2_EXTERN void AXIS2_CALL axiom_element_redeclare_parent_namespaces( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_node, axiom_element_t * root_element, axutil_hash_t *inscope_namespaces) { axiom_node_t *child_node; axutil_hash_t * attributes; if (!om_element || !om_node || !inscope_namespaces) return; /* ensure the element's namespace is declared */ axiom_element_use_parent_namespace(om_element, env, om_node, om_element->ns, root_element, inscope_namespaces); /* for each attribute, ensure the attribute's namespace is declared */ attributes = om_element->attributes; if (attributes) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_element_use_parent_namespace(om_element, env, om_node, axiom_attribute_get_namespace((axiom_attribute_t *)val, env), root_element, inscope_namespaces); } } } /* ensure the namespaces in all the children are declared */ child_node = axiom_node_get_first_child(om_node, env); while (child_node && (axutil_hash_count(inscope_namespaces) > 0)) { if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { axiom_element_redeclare_parent_namespaces(axiom_node_get_data_element(child_node, env), env, child_node, root_element, inscope_namespaces); } child_node = axiom_node_get_next_sibling(child_node, env); } } axis2c-src-1.6.0/axiom/src/om/om_data_source.c0000644000175000017500000000751711166304640022316 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include "axiom_node_internal.h" #include #include #include #include #include /********************* axiom_data_source_struct ***************/ struct axiom_data_source { /** stream holding serialized XML string */ axutil_stream_t *stream; }; AXIS2_EXTERN axiom_data_source_t *AXIS2_CALL axiom_data_source_create( const axutil_env_t * env, axiom_node_t * parent, axiom_node_t ** node) { axiom_data_source_t *data_source = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, node, NULL); *node = axiom_node_create(env); if (!(*node)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } data_source = (axiom_data_source_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_data_source_t)); if (!data_source) { AXIS2_FREE(env->allocator, *node); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axiom_node_set_data_element((*node), env, data_source); axiom_node_set_node_type((*node), env, AXIOM_DATA_SOURCE); axiom_node_set_complete((*node), env, AXIS2_FALSE); data_source->stream = NULL; data_source->stream = axutil_stream_create_basic(env); if (!(data_source->stream)) { AXIS2_FREE(env->allocator, *node); AXIS2_FREE(env->allocator, data_source); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (parent && axiom_node_get_node_type(parent, env) == AXIOM_ELEMENT) { axiom_node_add_child(parent, env, (*node)); } return data_source; } AXIS2_EXTERN void AXIS2_CALL axiom_data_source_free( axiom_data_source_t * data_source, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (data_source->stream) { axutil_stream_free(data_source->stream, env); } AXIS2_FREE(env->allocator, data_source); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_source_serialize( axiom_data_source_t * data_source, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; axis2_char_t *data = NULL; unsigned int data_len = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); data = axutil_stream_get_buffer(data_source->stream, env); data_len = axutil_stream_get_len(data_source->stream, env); if (data) { data[data_len] = '\0'; status = axiom_output_write(om_output, env, AXIOM_DATA_SOURCE, 1, data); } return status; } AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axiom_data_source_get_stream( axiom_data_source_t * data_source, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return data_source->stream; } axis2c-src-1.6.0/axiom/src/om/om_doctype.c0000644000175000017500000000710011166304640021460 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axiom_node_internal.h" struct axiom_doctype { /** Doctype value */ axis2_char_t *value; }; AXIS2_EXTERN axiom_doctype_t *AXIS2_CALL axiom_doctype_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * value, axiom_node_t ** node) { axiom_doctype_t *doctype = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, node, NULL); *node = axiom_node_create(env); if (!*node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } doctype = (axiom_doctype_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_doctype_t)); if (!doctype) { AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } doctype->value = NULL; if (value) { doctype->value = (axis2_char_t *) axutil_strdup(env, value); if (!doctype->value) { AXIS2_FREE(env->allocator, doctype); AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } axiom_node_set_data_element((*node), env, doctype); axiom_node_set_node_type((*node), env, AXIOM_DOCTYPE); if (parent) { axiom_node_add_child(parent, env, (*node)); } return doctype; } AXIS2_EXTERN void AXIS2_CALL axiom_doctype_free( axiom_doctype_t * om_doctype, const axutil_env_t * env) { if (om_doctype) { if (om_doctype->value) { AXIS2_FREE(env->allocator, om_doctype->value); } AXIS2_FREE(env->allocator, om_doctype); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_doctype_set_value( axiom_doctype_t * om_doctype, const axutil_env_t * env, const axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); om_doctype->value = (axis2_char_t *) axutil_strdup(env, value); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_doctype_get_value( axiom_doctype_t * om_doctype, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return om_doctype->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_doctype_serialize( axiom_doctype_t * om_doctype, const axutil_env_t * env, axiom_output_t * om_output) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (om_doctype->value) return axiom_output_write(om_output, env, AXIOM_DOCTYPE, 1, om_doctype->value); return AXIS2_FAILURE; } axis2c-src-1.6.0/axiom/src/om/axiom_node_internal.h0000644000175000017500000001161511166304640023347 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_NODE_INTERNAL_H #define AXIOM_NODE_INTERNAL_H /** @defgroup axiom AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_node OM Node * @ingroup axiom * @{ */ struct axiom_document; struct axiom_stax_builder; /** * Sets a parent node to a given node, if a parent already exist for this node * then it is detached before seting the parent internal function; * @param om_node child node to whom a parent to be added. , cannot be NULL. * @param env Environment. MUST NOT be NULL, . * @param parent_node the node that will be set as parent. , cannot be NULL. * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_parent( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * parent); /** * Sets a node as first child of om_node * @param om_node om_node * @param env environment, MUST NOT be NULL. * @param first_child child to be set as first child */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_first_child( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * first_child); /** * Sets previous sibling * @param om_node * @param env environment, MUST NOT be NULL. * @param prev_sibling * @return status of the op, AXIS2_SUCCESS on success * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_previous_sibling( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * prev_sibling); /** * Sets next sibling * @param om_node * @param env environment, MUST NOT be NULL. * @param last_sibling * @return status of the op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_next_sibling( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * next_sibling); /** * Sets node type * @param om_node * @param env environment, MUST NOT be NULL. * @param type type of the node * @return status code of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_node_type( axiom_node_t * om_node, const axutil_env_t * env, axiom_types_t type); /** * Sets data element * @param om_node node struct * @param env environment, MUST NOT be NULL. * @param data_element * @return status code of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_data_element( axiom_node_t * om_node, const axutil_env_t * env, void *data_element); /** * Sets the build status , if the node if completety build, this attribute is * set to AXIS2_TRUE , otherwise AXIS2_FALSE * @param om_node * @param env environment, MUST NOT be NULL. * @param done */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_complete( axiom_node_t * om_node, const axutil_env_t * env, axis2_bool_t done); /** * This functions is only to be used by builder * do not use this function */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_document( axiom_node_t * om_node, const axutil_env_t * env, struct axiom_document *om_doc); /** * Sets the builder */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_builder( axiom_node_t * om_node, const axutil_env_t * env, struct axiom_stax_builder *builder); AXIS2_EXTERN struct axiom_stax_builder *AXIS2_CALL axiom_node_get_builder( axiom_node_t * om_node, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** AXIOM_NODE_INTERNAL_H */ axis2c-src-1.6.0/axiom/src/om/om_processing_instruction.c0000644000175000017500000001340011166304640024626 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axiom_node_internal.h" struct axiom_processing_instruction { /** processing instruction target */ axis2_char_t *target; /** processing instruction value */ axis2_char_t *value; }; AXIS2_EXTERN axiom_processing_instruction_t *AXIS2_CALL axiom_processing_instruction_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * target, const axis2_char_t * value, axiom_node_t ** node) { axiom_processing_instruction_t *processing_instruction = NULL; AXIS2_ENV_CHECK(env, NULL); if (!node || !target || !value) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Node or target or value is NULL"); return NULL; } *node = axiom_node_create(env); if (!*node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } processing_instruction = (axiom_processing_instruction_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_processing_instruction_t)); if (!processing_instruction) { AXIS2_FREE(env->allocator, (*node)); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } processing_instruction->value = NULL; if (value) { processing_instruction->value = (axis2_char_t *) axutil_strdup(env, value); if (!processing_instruction->value) { AXIS2_FREE(env->allocator, processing_instruction); AXIS2_FREE(env->allocator, *node); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } processing_instruction->target = NULL; if (target) { processing_instruction->target = (axis2_char_t *) axutil_strdup(env, target); if (!processing_instruction->target) { AXIS2_FREE(env->allocator, processing_instruction->value); AXIS2_FREE(env->allocator, processing_instruction); AXIS2_FREE(env->allocator, *node); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } axiom_node_set_data_element(*node, env, processing_instruction); axiom_node_set_node_type(*node, env, AXIOM_PROCESSING_INSTRUCTION); if (parent) { axiom_node_add_child(parent, env, (*node)); } return processing_instruction; } AXIS2_EXTERN void AXIS2_CALL axiom_processing_instruction_free( axiom_processing_instruction_t * om_pi, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (om_pi->value) { AXIS2_FREE(env->allocator, om_pi->value); om_pi->value = NULL; } if (om_pi->target) { AXIS2_FREE(env->allocator, om_pi->target); om_pi->target = NULL; } AXIS2_FREE(env->allocator, om_pi); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_processing_instruction_set_value( axiom_processing_instruction_t * om_pi, const axutil_env_t * env, const axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); om_pi->value = (axis2_char_t *) axutil_strdup(env, value); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_processing_instruction_set_target( axiom_processing_instruction_t * om_pi, const axutil_env_t * env, const axis2_char_t * target) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, target, AXIS2_FAILURE); om_pi->target = (axis2_char_t *) axutil_strdup(env, target); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_processing_instruction_get_value( axiom_processing_instruction_t * om_pi, const axutil_env_t * env) { return om_pi->value; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_processing_instruction_get_target( axiom_processing_instruction_t * om_pi, const axutil_env_t * env) { return om_pi->target; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_processing_instruction_serialize( axiom_processing_instruction_t * om_pi, const axutil_env_t * env, axiom_output_t * om_output) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (om_pi->target && om_pi->value) { return axiom_output_write(om_output, env, AXIOM_PROCESSING_INSTRUCTION, 2, om_pi->target, om_pi->value); } else if (om_pi->target) { return axiom_output_write(om_output, env, AXIOM_PROCESSING_INSTRUCTION, 2, om_pi->target, om_pi->value); } return AXIS2_FAILURE; } axis2c-src-1.6.0/axiom/src/om/om_namespace.c0000644000175000017500000002545111166304640021756 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axiom_namespace_internal.h" struct axiom_namespace { /** namespace URI */ axutil_string_t *uri; /** namespace prefix */ axutil_string_t *prefix; axis2_char_t *key; int ref; }; AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_namespace_create( const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix) { axiom_namespace_t *om_namespace = NULL; AXIS2_ENV_CHECK(env, NULL); if (!uri) { uri = ""; } om_namespace = (axiom_namespace_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_namespace_t)); if (!om_namespace) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_namespace->ref = 0; om_namespace->prefix = NULL; om_namespace->uri = NULL; om_namespace->key = NULL; om_namespace->uri = axutil_string_create(env, uri); if (!om_namespace->uri) { AXIS2_FREE(env->allocator, om_namespace); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (prefix) { om_namespace->prefix = axutil_string_create(env, prefix); if (!om_namespace->prefix) { AXIS2_FREE(env->allocator, om_namespace); AXIS2_FREE(env->allocator, om_namespace->uri); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } return om_namespace; } AXIS2_EXTERN void AXIS2_CALL axiom_namespace_free( axiom_namespace_t * om_namespace, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (--om_namespace->ref > 0) { return; } if (om_namespace->prefix) { axutil_string_free(om_namespace->prefix, env); } if (om_namespace->uri) { axutil_string_free(om_namespace->uri, env); } if (om_namespace->key) { AXIS2_FREE(env->allocator, om_namespace->key); } AXIS2_FREE(env->allocator, om_namespace); return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_namespace_equals( axiom_namespace_t * om_namespace, const axutil_env_t * env, axiom_namespace_t * om_namespace1) { int uris_differ = 0; int prefixes_differ = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_namespace, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_namespace1, AXIS2_FAILURE); if (!om_namespace || !om_namespace1) { return AXIS2_FALSE; } if (om_namespace->uri && om_namespace1->uri) { uris_differ = axutil_strcmp(axutil_string_get_buffer(om_namespace->uri, env), axutil_string_get_buffer(om_namespace1->uri, env)); } else { uris_differ = (om_namespace->uri || om_namespace1->uri); } if (om_namespace->prefix && om_namespace1->prefix) { prefixes_differ = axutil_strcmp(axutil_string_get_buffer(om_namespace->prefix, env), axutil_string_get_buffer(om_namespace1->prefix, env)); } else { prefixes_differ = (om_namespace->prefix || om_namespace1->prefix); } return (!uris_differ && !prefixes_differ); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_serialize( axiom_namespace_t * om_namespace, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; if (!om_namespace) { return AXIS2_FAILURE; } AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (om_namespace->uri && NULL != om_namespace->prefix && axutil_strcmp(axutil_string_get_buffer(om_namespace->prefix, env), "") != 0) { status = axiom_output_write(om_output, env, AXIOM_NAMESPACE, 2, axutil_string_get_buffer(om_namespace-> prefix, env), axutil_string_get_buffer(om_namespace->uri, env)); } else if (om_namespace->uri) { status = axiom_output_write(om_output, env, AXIOM_NAMESPACE, 2, NULL, axutil_string_get_buffer(om_namespace->uri, env)); } return status; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_namespace_get_uri( axiom_namespace_t * om_namespace, const axutil_env_t * env) { if (om_namespace->uri) { return (axis2_char_t *) axutil_string_get_buffer(om_namespace->uri, env); } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_namespace_get_prefix( axiom_namespace_t * om_namespace, const axutil_env_t * env) { if (om_namespace->prefix) { return (axis2_char_t *) axutil_string_get_buffer(om_namespace->prefix, env); } return NULL; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_namespace_clone( axiom_namespace_t * om_namespace, const axutil_env_t * env) { axiom_namespace_t *cloned_ns = NULL; AXIS2_ENV_CHECK(env, NULL); cloned_ns = axiom_namespace_create_str(env, om_namespace->uri, om_namespace->prefix); if (cloned_ns) { return cloned_ns; } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_namespace_to_string( axiom_namespace_t * om_namespace, const axutil_env_t * env) { axis2_char_t *temp_str = NULL; AXIS2_ENV_CHECK(env, NULL); if (om_namespace->key) { AXIS2_FREE(env->allocator, om_namespace->key); om_namespace->key = NULL; } if ((om_namespace->uri) && (NULL != om_namespace->prefix)) { temp_str = axutil_stracat(env, axutil_string_get_buffer(om_namespace->uri, env), "|"); om_namespace->key = axutil_stracat(env, temp_str, axutil_string_get_buffer(om_namespace->prefix, env)); if (temp_str) { AXIS2_FREE(env->allocator, temp_str); temp_str = NULL; } } else if ((om_namespace->uri) && !(om_namespace->prefix)) { om_namespace->key = axutil_strdup(env, axutil_string_get_buffer(om_namespace->uri, env)); if (!(om_namespace->key)) { return NULL; } } return om_namespace->key; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_set_uri( axiom_namespace_t * om_namespace, const axutil_env_t * env, const axis2_char_t * uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); if (om_namespace->uri) { axutil_string_free(om_namespace->uri, env); om_namespace->uri = NULL; } om_namespace->uri = axutil_string_create(env, uri); if (!(om_namespace->uri)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_increment_ref( struct axiom_namespace * om_namespace, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_namespace->ref++; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_namespace_create_str( const axutil_env_t * env, axutil_string_t * uri, axutil_string_t * prefix) { axiom_namespace_t *om_namespace = NULL; AXIS2_ENV_CHECK(env, NULL); if (!uri) { uri = axutil_string_create(env, ""); } om_namespace = (axiom_namespace_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_namespace_t)); if (!om_namespace) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_namespace->ref = 0; om_namespace->prefix = NULL; om_namespace->uri = NULL; om_namespace->key = NULL; om_namespace->uri = axutil_string_clone(uri, env); if (!om_namespace->uri) { AXIS2_FREE(env->allocator, om_namespace); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } if (prefix) { om_namespace->prefix = axutil_string_clone(prefix, env); if (!om_namespace->prefix) { AXIS2_FREE(env->allocator, om_namespace); AXIS2_FREE(env->allocator, om_namespace->uri); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } } return om_namespace; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_set_uri_str( axiom_namespace_t * om_namespace, const axutil_env_t * env, axutil_string_t * uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); if (om_namespace->uri) { axutil_string_free(om_namespace->uri, env); om_namespace->uri = NULL; } om_namespace->uri = axutil_string_clone(uri, env); if (!(om_namespace->uri)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_namespace_get_uri_str( axiom_namespace_t * om_namespace, const axutil_env_t * env) { return om_namespace->uri; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_namespace_get_prefix_str( axiom_namespace_t * om_namespace, const axutil_env_t * env) { return om_namespace->prefix; } axis2c-src-1.6.0/axiom/src/om/om_children_iterator.c0000644000175000017500000001003711166304640023515 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axiom_children_iterator { axiom_node_t *first_child; axiom_node_t *current_child; axiom_node_t *last_child; axis2_bool_t next_called; axis2_bool_t remove_called; }; AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL axiom_children_iterator_create( const axutil_env_t * env, axiom_node_t * current_child) { axiom_children_iterator_t *iterator = NULL; AXIS2_ENV_CHECK(env, NULL); iterator = (axiom_children_iterator_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_children_iterator_t)); if (!iterator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } iterator->current_child = NULL; iterator->last_child = NULL; iterator->first_child = NULL; iterator->next_called = AXIS2_FALSE; iterator->remove_called = AXIS2_FALSE; iterator->first_child = current_child; iterator->current_child = current_child; return iterator; } AXIS2_EXTERN void AXIS2_CALL axiom_children_iterator_free( axiom_children_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); AXIS2_FREE(env->allocator, iterator); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_iterator_remove( axiom_children_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, iterator, AXIS2_FAILURE); if (!(iterator->next_called)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED, AXIS2_FAILURE); return AXIS2_FAILURE; } if (iterator->remove_called) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED, AXIS2_FAILURE); return AXIS2_FAILURE; } iterator->remove_called = AXIS2_TRUE; if (!(iterator->last_child)) { return AXIS2_FAILURE; } axiom_node_free_tree(iterator->last_child, env); iterator->last_child = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_children_iterator_has_next( axiom_children_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return (iterator->current_child) ? AXIS2_TRUE : AXIS2_FALSE; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_children_iterator_next( axiom_children_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); iterator->next_called = AXIS2_TRUE; iterator->remove_called = AXIS2_FALSE; if (iterator->current_child) { iterator->last_child = iterator->current_child; iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); return iterator->last_child; } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_iterator_reset( axiom_children_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); iterator->current_child = iterator->first_child; return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/om/Makefile.am0000644000175000017500000000265111166304640021214 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_axiom.la libaxis2_axiom_la_SOURCES = om_attribute.c \ om_document.c \ om_node.c \ om_text.c \ om_data_source.c \ om_comment.c \ om_element.c \ om_output.c \ om_doctype.c \ om_namespace.c \ om_processing_instruction.c \ om_stax_builder.c \ om_children_iterator.c \ om_children_qname_iterator.c \ om_child_element_iterator.c \ om_children_with_specific_attribute_iterator.c \ om_navigator.c libaxis2_axiom_la_LIBADD = $(top_builddir)/src/soap/libaxis2_soap.la \ $(top_builddir)/src/attachments/libaxis2_attachments.la \ $(top_builddir)/src/util/libaxis2_axiom_util.la \ ../parser/${WRAPPER_DIR}/libaxis2_parser.la \ ../../../util/src/libaxutil.la libaxis2_axiom_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I$(top_builddir)/src/attachments \ -I ../../../util/include EXTRA_DIST = axiom_namespace_internal.h axiom_node_internal.h axiom_stax_builder_internal.h axis2c-src-1.6.0/axiom/src/om/Makefile.in0000644000175000017500000004320411172017173021223 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/om DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_axiom_la_DEPENDENCIES = \ $(top_builddir)/src/soap/libaxis2_soap.la \ $(top_builddir)/src/attachments/libaxis2_attachments.la \ $(top_builddir)/src/util/libaxis2_axiom_util.la \ ../parser/${WRAPPER_DIR}/libaxis2_parser.la \ ../../../util/src/libaxutil.la am_libaxis2_axiom_la_OBJECTS = om_attribute.lo om_document.lo \ om_node.lo om_text.lo om_data_source.lo om_comment.lo \ om_element.lo om_output.lo om_doctype.lo om_namespace.lo \ om_processing_instruction.lo om_stax_builder.lo \ om_children_iterator.lo om_children_qname_iterator.lo \ om_child_element_iterator.lo \ om_children_with_specific_attribute_iterator.lo \ om_navigator.lo libaxis2_axiom_la_OBJECTS = $(am_libaxis2_axiom_la_OBJECTS) libaxis2_axiom_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_axiom_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_axiom_la_SOURCES) DIST_SOURCES = $(libaxis2_axiom_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_axiom.la libaxis2_axiom_la_SOURCES = om_attribute.c \ om_document.c \ om_node.c \ om_text.c \ om_data_source.c \ om_comment.c \ om_element.c \ om_output.c \ om_doctype.c \ om_namespace.c \ om_processing_instruction.c \ om_stax_builder.c \ om_children_iterator.c \ om_children_qname_iterator.c \ om_child_element_iterator.c \ om_children_with_specific_attribute_iterator.c \ om_navigator.c libaxis2_axiom_la_LIBADD = $(top_builddir)/src/soap/libaxis2_soap.la \ $(top_builddir)/src/attachments/libaxis2_attachments.la \ $(top_builddir)/src/util/libaxis2_axiom_util.la \ ../parser/${WRAPPER_DIR}/libaxis2_parser.la \ ../../../util/src/libaxutil.la libaxis2_axiom_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I$(top_builddir)/src/attachments \ -I ../../../util/include EXTRA_DIST = axiom_namespace_internal.h axiom_node_internal.h axiom_stax_builder_internal.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/om/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/om/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_axiom.la: $(libaxis2_axiom_la_OBJECTS) $(libaxis2_axiom_la_DEPENDENCIES) $(libaxis2_axiom_la_LINK) -rpath $(libdir) $(libaxis2_axiom_la_OBJECTS) $(libaxis2_axiom_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_attribute.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_child_element_iterator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_children_iterator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_children_qname_iterator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_children_with_specific_attribute_iterator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_comment.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_data_source.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_doctype.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_document.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_element.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_namespace.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_navigator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_node.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_output.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_processing_instruction.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_stax_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_text.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/om/om_stax_builder.c0000644000175000017500000010364111166304640022505 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include "axiom_node_internal.h" #include "axiom_stax_builder_internal.h" struct axiom_stax_builder { /** pull parser instance used by the om_builder */ axiom_xml_reader_t *parser; /** last node the om_builder found */ axiom_node_t *lastnode; axiom_node_t *root_node; /** document associated with the om_builder */ axiom_document_t *document; /** done building the document? */ axis2_bool_t done; /** parser was accessed? */ axis2_bool_t parser_accessed; /** caching enabled? */ axis2_bool_t cache; /** current event */ int current_event; /** Indicate the current element level. */ int element_level; axutil_hash_t *declared_namespaces; }; AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axiom_stax_builder_create( const axutil_env_t * env, axiom_xml_reader_t * parser) { axiom_stax_builder_t *om_builder = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, parser, NULL); om_builder = (axiom_stax_builder_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_stax_builder_t)); if (!om_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_builder->cache = AXIS2_TRUE; om_builder->parser_accessed = AXIS2_FALSE; om_builder->done = AXIS2_FALSE; om_builder->lastnode = NULL; om_builder->document = NULL; om_builder->parser = parser; om_builder->current_event = -1; om_builder->root_node = NULL; om_builder->element_level = 0; om_builder->declared_namespaces = axutil_hash_make(env); om_builder->document = axiom_document_create(env, NULL, om_builder); if (!om_builder->document) { AXIS2_FREE(env->allocator, om_builder); return NULL; } return om_builder; } axis2_status_t axiom_stax_builder_process_attributes( axiom_stax_builder_t * om_builder, const axutil_env_t * env, axiom_node_t * element_node) { int i = 0; int attribute_count; axiom_attribute_t *attribute = NULL; axiom_namespace_t *ns = NULL; axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; axis2_char_t *attr_name = NULL; axis2_char_t *attr_value = NULL; axutil_string_t *attr_name_str = NULL; axutil_string_t *attr_value_str = NULL; axis2_status_t status = AXIS2_SUCCESS; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, element_node, AXIS2_FAILURE); attribute_count = axiom_xml_reader_get_attribute_count(om_builder->parser, env); for (i = 1; i <= attribute_count; i++) { axiom_element_t *temp_ele = NULL; uri = axiom_xml_reader_get_attribute_namespace_by_number(om_builder-> parser, env, i); prefix = axiom_xml_reader_get_attribute_prefix_by_number(om_builder->parser, env, i); if (uri) { if (axutil_strcmp(uri, "") != 0) { axiom_element_t *om_ele = NULL; om_ele = (axiom_element_t *) axiom_node_get_data_element(element_node, env); if (om_ele) { ns = axiom_element_find_namespace(om_ele, env, element_node, uri, prefix); /* newly added to handle "xml:*" attributes" (axutil_strcmp(prefix, "xml") == 0) && */ if (!ns) { ns = axiom_namespace_create(env, uri, prefix); } } } } attr_name = axiom_xml_reader_get_attribute_name_by_number(om_builder->parser, env, i); #ifdef WIN32 attr_name_str = axutil_string_create(env, attr_name); axiom_xml_reader_xml_free(om_builder->parser, env, attr_name); #else attr_name_str = axutil_string_create_assume_ownership(env, &attr_name); #endif attr_value = axiom_xml_reader_get_attribute_value_by_number(om_builder->parser, env, i); #ifdef WIN32 attr_value_str = axutil_string_create(env, attr_value); axiom_xml_reader_xml_free(om_builder->parser, env, attr_value); #else attr_value_str = axutil_string_create_assume_ownership(env, &attr_value); #endif if (attr_name) { attribute = axiom_attribute_create_str(env, attr_name_str, attr_value_str, ns); if (!attribute) { return AXIS2_FAILURE; } temp_ele = (axiom_element_t *) axiom_node_get_data_element(element_node, env); if (temp_ele) { status = axiom_element_add_attribute(temp_ele, env, attribute, element_node); } } if (uri) { #ifdef AXIS2_LIBXML2_ENABLED axiom_xml_reader_xml_free(om_builder->parser, env, uri); #else AXIS2_FREE(env->allocator,uri); #endif } if (prefix) { #ifdef AXIS2_LIBXML2_ENABLED axiom_xml_reader_xml_free(om_builder->parser, env, prefix); #else AXIS2_FREE(env->allocator,prefix); #endif } if (attr_name_str) { axutil_string_free(attr_name_str, env); } if (attr_value_str) { axutil_string_free(attr_value_str, env); } ns = NULL; } return status; } axiom_node_t * axiom_stax_builder_create_om_text( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axis2_char_t *temp_value = NULL; axutil_string_t *temp_value_str = NULL; axiom_node_t *node = NULL; AXIS2_ENV_CHECK(env, NULL); if (!om_builder->lastnode) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_BUILDER_STATE_LAST_NODE_NULL, AXIS2_FAILURE); return NULL; } temp_value = axiom_xml_reader_get_value(om_builder->parser, env); if (!temp_value) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_XML_READER_VALUE_NULL, AXIS2_FAILURE); return NULL; } #ifdef WIN32 temp_value_str = axutil_string_create(env, temp_value); axiom_xml_reader_xml_free(om_builder->parser, env, temp_value); #else temp_value_str = axutil_string_create_assume_ownership(env, &temp_value); #endif if (!temp_value_str) { /* axutil_string_create will have set an error number */ return NULL; } if (axiom_node_is_complete(om_builder->lastnode, env)) { axiom_text_create_str(env, axiom_node_get_parent(om_builder->lastnode, env), temp_value_str, &node); } else { axiom_text_create_str(env, om_builder->lastnode, temp_value_str, &node); } if (node) { axiom_node_set_complete(node, env, AXIS2_TRUE); om_builder->lastnode = node; } axutil_string_free(temp_value_str, env); return node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_discard_current_element( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axiom_node_t *element = NULL; axiom_node_t *prev_node = NULL; axiom_node_t *parent = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); element = om_builder->lastnode; if (axiom_node_is_complete(element, env) || !(om_builder->cache)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_BUILDER_STATE_CANNOT_DISCARD, AXIS2_FAILURE); return AXIS2_FAILURE; } om_builder->cache = AXIS2_FALSE; do { while (axiom_xml_reader_next(om_builder->parser, env) != AXIOM_XML_READER_END_ELEMENT); } while (!(axiom_node_is_complete(element, env))); /*All children of this element is pulled now */ prev_node = axiom_node_get_previous_sibling(element, env); if (prev_node) { axiom_node_free_tree(axiom_node_get_next_sibling(prev_node, env), env); axiom_node_set_next_sibling(prev_node, env, NULL); } else { parent = axiom_node_get_parent(element, env); axiom_node_free_tree(axiom_node_get_first_child(parent, env), env); axiom_node_set_first_child(parent, env, NULL); om_builder->lastnode = parent; } om_builder->cache = AXIS2_TRUE; return AXIS2_SUCCESS; } axis2_status_t axiom_stax_builder_process_namespaces( axiom_stax_builder_t * om_builder, const axutil_env_t * env, axiom_node_t * node, int is_soap_element) { axis2_status_t status = AXIS2_SUCCESS; int namespace_count = 0; axiom_namespace_t *om_ns = NULL; /* temp values */ axis2_char_t *temp_prefix = NULL; axis2_char_t *temp_ns_prefix = NULL; axis2_char_t *temp_ns_uri = NULL; axutil_string_t *temp_ns_prefix_str = NULL; axutil_string_t *temp_ns_uri_str = NULL; int i = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); namespace_count = axiom_xml_reader_get_namespace_count(om_builder->parser, env); for (i = 1; i <= namespace_count; i++) { temp_ns_prefix = axiom_xml_reader_get_namespace_prefix_by_number(om_builder->parser, env, i); temp_ns_uri = axiom_xml_reader_get_namespace_uri_by_number(om_builder->parser, env, i); #ifdef WIN32 temp_ns_prefix_str = axutil_string_create(env, temp_ns_prefix); #else temp_ns_prefix_str = axutil_string_create_assume_ownership(env, &temp_ns_prefix); #endif #ifdef WIN32 temp_ns_uri_str = axutil_string_create(env, temp_ns_uri); #else temp_ns_uri_str = axutil_string_create_assume_ownership(env, &temp_ns_uri); #endif if (!temp_ns_prefix || axutil_strcmp(temp_ns_prefix, "xmlns") == 0) { /** default namespace case */ /** !temp_ns_prefix is for guththila */ axiom_element_t *om_ele = NULL; if (temp_ns_prefix_str) { axutil_string_free(temp_ns_prefix_str, env); temp_ns_prefix_str = NULL; } temp_ns_prefix_str = axutil_string_create(env, ""); om_ele = (axiom_element_t *) axiom_node_get_data_element(node, env); om_ns = axiom_namespace_create_str(env, temp_ns_uri_str, temp_ns_prefix_str); if (!om_ns || !om_ele) { return AXIS2_FAILURE; } status = axiom_element_declare_namespace(om_ele, env, node, om_ns); if (!status) { axiom_namespace_free(om_ns, env); om_ns = NULL; } } else { axiom_element_t *om_ele = NULL; axis2_char_t *prefix = NULL; om_ele = (axiom_element_t *) axiom_node_get_data_element(node, env); om_ns = axiom_namespace_create_str(env, temp_ns_uri_str, temp_ns_prefix_str); if (!om_ns || !om_ele) { return AXIS2_FAILURE; } status = axiom_element_declare_namespace_assume_param_ownership(om_ele, env, om_ns); prefix = axiom_namespace_get_prefix(om_ns, env); axutil_hash_set(om_builder->declared_namespaces, prefix, AXIS2_HASH_KEY_STRING, om_ns); } axutil_string_free(temp_ns_uri_str, env); axutil_string_free(temp_ns_prefix_str, env); #ifdef WIN32 axiom_xml_reader_xml_free(om_builder->parser, env, temp_ns_uri); axiom_xml_reader_xml_free(om_builder->parser, env, temp_ns_prefix); #endif if (!om_ns) { /* something went wrong */ return AXIS2_FAILURE; } } /* set own namespace */ temp_prefix = axiom_xml_reader_get_prefix(om_builder->parser, env); if (temp_prefix) { om_ns = axutil_hash_get(om_builder->declared_namespaces, temp_prefix, AXIS2_HASH_KEY_STRING); if (om_ns) { axiom_element_t *om_ele = NULL; om_ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (om_ele) { axiom_element_set_namespace_assume_param_ownership(om_ele, env, om_ns); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_DOCUMENT_STATE_UNDEFINED_NAMESPACE, AXIS2_FAILURE); return AXIS2_FAILURE; } #ifdef AXIS2_LIBXML2_ENABLED axiom_xml_reader_xml_free(om_builder->parser, env, temp_prefix); #else AXIS2_FREE(env->allocator,temp_prefix); #endif } return status; } axiom_node_t * axiom_stax_builder_create_om_element( axiom_stax_builder_t * om_builder, const axutil_env_t * env, axis2_bool_t is_empty) { axiom_node_t *element_node = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *temp_localname = NULL; axutil_string_t *temp_localname_str = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, om_builder, NULL); temp_localname = axiom_xml_reader_get_name(om_builder->parser, env); if (!temp_localname) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_XML_READER_ELEMENT_NULL, AXIS2_FAILURE); return NULL; } #ifdef WIN32 temp_localname_str = axutil_string_create(env, temp_localname); axiom_xml_reader_xml_free(om_builder->parser, env, temp_localname); #else temp_localname_str = axutil_string_create_assume_ownership(env, &temp_localname); #endif om_builder->element_level++; if (!(om_builder->lastnode)) { om_ele = axiom_element_create_str(env, NULL, temp_localname_str, NULL, &element_node); if (!om_ele) { return NULL; } om_builder->root_node = element_node; axiom_node_set_builder(element_node, env, om_builder); if (om_builder->document) { axiom_node_set_document(element_node, env, om_builder->document); axiom_document_set_root_element(om_builder->document, env, element_node); } } else if (axiom_node_is_complete(om_builder->lastnode, env)) { om_ele = axiom_element_create_str(env, axiom_node_get_parent(om_builder-> lastnode, env), temp_localname_str, NULL, &element_node); if (!om_ele) { return NULL; } if (element_node) { axiom_node_set_next_sibling(om_builder->lastnode, env, element_node); axiom_node_set_previous_sibling(element_node, env, om_builder->lastnode); axiom_node_set_document(element_node, env, om_builder->document); axiom_node_set_builder(element_node, env, om_builder); } } else { om_ele = axiom_element_create_str(env, om_builder->lastnode, temp_localname_str, NULL, &element_node); if (element_node) { axiom_node_set_first_child(om_builder->lastnode, env, element_node); axiom_node_set_parent(element_node, env, om_builder->lastnode); axiom_node_set_document(element_node, env, om_builder->document); axiom_node_set_builder(element_node, env, om_builder); } } axutil_string_free(temp_localname_str, env); /** order of processing namespaces first is important */ axiom_stax_builder_process_namespaces(om_builder, env, element_node, 0); axiom_stax_builder_process_attributes(om_builder, env, element_node); om_builder->lastnode = element_node; if (om_ele) { axiom_element_set_is_empty(om_ele, env, is_empty); } return element_node; } axiom_node_t * axiom_stax_builder_create_om_comment( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axiom_node_t *comment_node = NULL; axis2_char_t *comment_value = NULL; AXIS2_ENV_CHECK(env, NULL); comment_value = axiom_xml_reader_get_value(om_builder->parser, env); if (!comment_value) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_XML_READER_ELEMENT_NULL, AXIS2_FAILURE); return NULL; } if (!(om_builder->lastnode)) { #ifdef AXIS2_LIBXML2_ENABLED axiom_xml_reader_xml_free(om_builder->parser, env, comment_value); #else AXIS2_FREE(env->allocator,comment_value); #endif return NULL; } else if (axiom_node_is_complete(om_builder->lastnode, env)) { axiom_comment_create(env, axiom_node_get_parent(om_builder->lastnode, env), comment_value, &comment_node); axiom_node_set_next_sibling(om_builder->lastnode, env, comment_node); axiom_node_set_previous_sibling(comment_node, env, om_builder->lastnode); axiom_node_set_builder(comment_node, env, om_builder); axiom_node_set_document(comment_node, env, om_builder->document); } else { axiom_comment_create(env, om_builder->lastnode, comment_value, &comment_node); axiom_node_set_first_child(om_builder->lastnode, env, comment_node); axiom_node_set_parent(comment_node, env, om_builder->lastnode); axiom_node_set_builder(comment_node, env, om_builder); axiom_node_set_document(comment_node, env, om_builder->document); } om_builder->element_level++; #ifdef AXIS2_LIBXML2_ENABLED axiom_xml_reader_xml_free(om_builder->parser,env,comment_value); #else AXIS2_FREE(env->allocator,comment_value); #endif om_builder->lastnode = comment_node; return comment_node; } axiom_node_t * axiom_stax_builder_create_om_doctype( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axiom_node_t *doctype_node = NULL; axis2_char_t *doc_value = NULL; AXIS2_ENV_CHECK(env, NULL); doc_value = axiom_xml_reader_get_dtd(om_builder->parser, env); if (!doc_value) { return NULL; } if (!(om_builder->lastnode)) { axiom_doctype_create(env, NULL, doc_value, &doctype_node); if (om_builder->document) { axiom_document_set_root_element(om_builder->document, env, doctype_node); } } om_builder->lastnode = doctype_node; axiom_xml_reader_xml_free(om_builder->parser, env, doc_value); return doctype_node; } axiom_node_t * axiom_stax_builder_create_om_processing_instruction( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axiom_node_t *pi_node = NULL; axis2_char_t *target = NULL; axis2_char_t *value = NULL; AXIS2_ENV_CHECK(env, NULL); target = axiom_xml_reader_get_pi_target(om_builder->parser, env); value = axiom_xml_reader_get_pi_data(om_builder->parser, env); if (!target) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_XML_READER_ELEMENT_NULL, AXIS2_FAILURE); return NULL; } if (!(om_builder->lastnode)) { /* do nothing */ axiom_xml_reader_xml_free(om_builder->parser, env, target); axiom_xml_reader_xml_free(om_builder->parser, env, value); return NULL; } else if (axiom_node_is_complete(om_builder->lastnode, env) || (axiom_node_get_node_type(om_builder->lastnode, env) == AXIOM_TEXT)) { axiom_processing_instruction_create(env, axiom_node_get_parent(om_builder-> lastnode, env), target, value, &pi_node); axiom_node_set_next_sibling(om_builder->lastnode, env, pi_node); axiom_node_set_previous_sibling(pi_node, env, om_builder->lastnode); } else { axiom_processing_instruction_create(env, om_builder->lastnode, target, value, &pi_node); axiom_node_set_first_child(om_builder->lastnode, env, pi_node); axiom_node_set_parent(pi_node, env, om_builder->lastnode); } om_builder->element_level++; if (target) { axiom_xml_reader_xml_free(om_builder->parser, env, target); } if (value) { axiom_xml_reader_xml_free(om_builder->parser, env, value); } om_builder->lastnode = pi_node; return pi_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_end_element( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axiom_node_t *parent = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_builder->element_level--; if (om_builder->lastnode) { if (axiom_node_is_complete((om_builder->lastnode), env)) { parent = axiom_node_get_parent((om_builder->lastnode), env); if (parent) { axiom_node_set_complete(parent, env, AXIS2_TRUE); om_builder->lastnode = parent; } } else { axiom_node_set_complete((om_builder->lastnode), env, AXIS2_TRUE); } } if (om_builder->root_node) { if (axiom_node_is_complete(om_builder->root_node, env)) { om_builder->done = AXIS2_TRUE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_stax_builder_next( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { int token = 0; axiom_node_t *node = NULL; AXIS2_ENV_CHECK(env, NULL); if (!om_builder->parser) { return NULL; } do { if (om_builder->done) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL, AXIS2_FAILURE); return NULL; } token = axiom_xml_reader_next(om_builder->parser, env); if (token == -1) { return NULL; } om_builder->current_event = token; if (!(om_builder->cache)) { return NULL; } switch (token) { case AXIOM_XML_READER_START_DOCUMENT: /*Do nothing */ break; case AXIOM_XML_READER_START_ELEMENT: node = axiom_stax_builder_create_om_element(om_builder, env, AXIS2_FALSE); break; case AXIOM_XML_READER_EMPTY_ELEMENT: #ifdef AXIS2_LIBXML2_ENABLED node = axiom_stax_builder_create_om_element(om_builder, env, AXIS2_FALSE); #else node = axiom_stax_builder_create_om_element(om_builder, env, AXIS2_TRUE); #endif case AXIOM_XML_READER_END_ELEMENT: axiom_stax_builder_end_element(om_builder, env); break; case AXIOM_XML_READER_SPACE: node = axiom_stax_builder_create_om_text(om_builder, env); break; case AXIOM_XML_READER_CHARACTER: node = axiom_stax_builder_create_om_text(om_builder, env); break; case AXIOM_XML_READER_ENTITY_REFERENCE: break; case AXIOM_XML_READER_COMMENT: node = axiom_stax_builder_create_om_comment(om_builder, env); axiom_stax_builder_end_element(om_builder, env); break; case AXIOM_XML_READER_PROCESSING_INSTRUCTION: node = axiom_stax_builder_create_om_processing_instruction(om_builder, env); axiom_stax_builder_end_element(om_builder, env); break; case AXIOM_XML_READER_CDATA: break; case AXIOM_XML_READER_DOCUMENT_TYPE: break; default: break; } } while (!node); return node; } AXIS2_EXTERN void AXIS2_CALL axiom_stax_builder_free( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_builder) { return; } if (om_builder->declared_namespaces) { axutil_hash_free(om_builder->declared_namespaces, env); om_builder->declared_namespaces = NULL; } if (om_builder->document) { axiom_document_free(om_builder->document, env); om_builder->document = NULL; } else { if (om_builder->root_node) { axiom_node_free_tree(om_builder->root_node, env); om_builder->root_node = NULL; } } if (om_builder->parser) { axiom_xml_reader_free(om_builder->parser, env); om_builder->parser = NULL; } AXIS2_FREE(env->allocator, om_builder); return; } AXIS2_EXTERN void AXIS2_CALL axiom_stax_builder_free_self( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { axiom_node_t *temp_node = NULL; axiom_node_t *nodes[256]; axiom_node_t *om_node = NULL; int count = 0; om_node = om_builder->root_node; nodes[count++] = om_node; if (om_node) { do { axiom_node_set_builder(om_node, env, NULL); axiom_node_set_document(om_node, env, NULL); temp_node = axiom_node_get_first_child(om_node, env); /* serialize children of this node */ if (temp_node) { om_node = temp_node; nodes[count++] = om_node; } else { temp_node = axiom_node_get_next_sibling(om_node, env); if (temp_node) { om_node = temp_node; nodes[count - 1] = om_node; } else { while (count > 1 && !temp_node) { count--; om_node = nodes[count - 1]; temp_node = axiom_node_get_next_sibling(om_node, env); } if (temp_node && count > 1) { om_node = temp_node; nodes[count - 1] = om_node; } else { count--; } } } } while (count > 0); } if (om_builder->declared_namespaces) { axutil_hash_free(om_builder->declared_namespaces, env); om_builder->declared_namespaces = NULL; } if (om_builder->parser) { axiom_xml_reader_free(om_builder->parser, env); om_builder->parser = NULL; } if (om_builder->document) { axiom_document_free_self(om_builder->document, env); om_builder->document = NULL; } AXIS2_FREE(env->allocator, om_builder); return; } AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_stax_builder_get_document( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { return om_builder->document; } /** This is an internal function */ AXIS2_EXTERN int AXIS2_CALL axiom_stax_builder_get_current_event( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, om_builder, AXIS2_FAILURE); return om_builder->current_event; } /** This is an internal function */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_stax_builder_get_lastnode( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, om_builder, NULL); return om_builder->lastnode; } /** This is an internal function */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_stax_builder_is_complete( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return om_builder->done; } /** This is an internal function to be used by soap om_builder only */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_set_lastnode( axiom_stax_builder_t * om_builder, const axutil_env_t * env, axiom_node_t * om_node) { AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_builder, AXIS2_FAILURE); om_builder->lastnode = om_node; return AXIS2_SUCCESS; } /** internal function for soap om_builder only */ AXIS2_EXTERN int AXIS2_CALL axiom_stax_builder_get_element_level( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { AXIS2_PARAM_CHECK(env->error, om_builder, -1); return om_builder->element_level; } /** internal function for soap om_builder only */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_set_element_level( axiom_stax_builder_t * om_builder, const axutil_env_t * env, int element_level) { AXIS2_PARAM_CHECK(env->error, om_builder, AXIS2_FAILURE); om_builder->element_level = element_level; return AXIS2_SUCCESS; } int AXIS2_CALL axiom_stax_builder_next_with_token( axiom_stax_builder_t * om_builder, const axutil_env_t * env) { int token = 0; void *val = NULL; /* axutil_env_t* thread = NULL;*/ /* thread = axutil_env_create(env->allocator);*/ /* env = thread;*/ if (!om_builder) { return -1; } if (om_builder->done) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_BUILDER_DONE_CANNOT_PULL, AXIS2_FAILURE); return -1; } if (!om_builder->parser) { return -1; } token = axiom_xml_reader_next(om_builder->parser, env); om_builder->current_event = token; if (token == -1) { om_builder->done = AXIS2_TRUE; return -1; } if (!(om_builder->cache)) { return -1; } switch (token) { case AXIOM_XML_READER_START_DOCUMENT: /*Do nothing */ break; case AXIOM_XML_READER_START_ELEMENT: val = axiom_stax_builder_create_om_element(om_builder, env, AXIS2_FALSE); if (!val) { return -1; } break; case AXIOM_XML_READER_EMPTY_ELEMENT: #ifdef AXIS2_LIBXML2_ENABLED val = axiom_stax_builder_create_om_element(om_builder, env, AXIS2_FALSE); #else val = axiom_stax_builder_create_om_element(om_builder, env, AXIS2_TRUE); #endif if (!val) { return -1; } case AXIOM_XML_READER_END_ELEMENT: axiom_stax_builder_end_element(om_builder, env); break; case AXIOM_XML_READER_SPACE: /* ignore white space before the root element */ if (om_builder->lastnode) { val = axiom_stax_builder_create_om_text(om_builder, env); if (!val) { return -1; } } break; case AXIOM_XML_READER_CHARACTER: val = axiom_stax_builder_create_om_text(om_builder, env); if (!val) { return -1; } break; case AXIOM_XML_READER_ENTITY_REFERENCE: break; case AXIOM_XML_READER_COMMENT: val = axiom_stax_builder_create_om_comment(om_builder, env); if (val) { axiom_stax_builder_end_element(om_builder, env); } break; case AXIOM_XML_READER_PROCESSING_INSTRUCTION: val = axiom_stax_builder_create_om_processing_instruction(om_builder, env); if (val) { axiom_stax_builder_end_element(om_builder, env); } break; case AXIOM_XML_READER_CDATA: break; case AXIOM_XML_READER_DOCUMENT_TYPE: break; default: break; } return token; } axis2c-src-1.6.0/axiom/src/om/om_children_with_specific_attribute_iterator.c0000644000175000017500000001413311166304640030501 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axiom_children_with_specific_attribute_iterator { axiom_node_t *current_child; axiom_node_t *last_child; axis2_bool_t next_called; axis2_bool_t remove_called; axutil_qname_t *attr_qname; axis2_char_t *attr_value; axis2_bool_t detach; }; AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t *AXIS2_CALL axiom_children_with_specific_attribute_iterator_create( const axutil_env_t * env, axiom_node_t * current_child, axutil_qname_t * attr_qname, axis2_char_t * attr_value, axis2_bool_t detach) { axiom_children_with_specific_attribute_iterator_t *iterator = NULL; AXIS2_PARAM_CHECK(env->error, current_child, NULL); AXIS2_PARAM_CHECK(env->error, attr_qname, NULL); AXIS2_PARAM_CHECK(env->error, attr_value, NULL); iterator = (axiom_children_with_specific_attribute_iterator_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_children_with_specific_attribute_iterator_t)); if (!iterator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } iterator->current_child = NULL; iterator->last_child = NULL; iterator->next_called = AXIS2_FALSE; iterator->remove_called = AXIS2_FALSE; iterator->attr_qname = axutil_qname_clone(attr_qname, env); iterator->attr_value = attr_value; iterator->detach = detach; return iterator; } AXIS2_EXTERN void AXIS2_CALL axiom_children_with_specific_attribute_iterator_free( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (iterator->attr_qname) { axutil_qname_free(iterator->attr_qname, env); } AXIS2_FREE(env->allocator, iterator); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_with_specific_attribute_iterator_remove( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, iterator, AXIS2_FAILURE); if (!(iterator->next_called)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED, AXIS2_FAILURE); return AXIS2_FAILURE; } if (iterator->remove_called) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED, AXIS2_FAILURE); return AXIS2_FAILURE; } iterator->remove_called = AXIS2_TRUE; if (!(iterator->last_child)) return AXIS2_FAILURE; axiom_node_free_tree(iterator->last_child, env); iterator->last_child = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_children_with_specific_attribute_iterator_has_next( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env) { axis2_bool_t matching_node_found = AXIS2_FALSE; axis2_bool_t need_to_move_forward = AXIS2_TRUE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(iterator->current_child)) { return AXIS2_FALSE; } while (need_to_move_forward) { if (axiom_node_get_node_type(iterator->current_child, env) == AXIOM_ELEMENT) { axiom_attribute_t *om_attr = NULL; axiom_element_t *om_ele = NULL; om_ele = (axiom_element_t *) axiom_node_get_data_element(iterator-> current_child, env); om_attr = axiom_element_get_attribute(om_ele, env, iterator->attr_qname); break; /*if (om_attr && (axutil_strcmp(axiom_attribute_get_value(om_attr, env), iterator->attr_value) == 0)) { matching_node_found = AXIS2_TRUE; need_to_move_forward = AXIS2_FALSE; } else { iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); need_to_move_forward = (iterator->current_child != NULL); }*/ } else { iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); need_to_move_forward = (iterator->current_child != NULL); } } return matching_node_found; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_children_with_specific_attribute_iterator_next( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, iterator, NULL); iterator->next_called = AXIS2_TRUE; iterator->remove_called = AXIS2_FALSE; iterator->last_child = iterator->current_child; iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); if (iterator->last_child && iterator->detach && (axiom_node_get_parent(iterator->last_child, env))) { axiom_node_free_tree(iterator->last_child, env); } return iterator->last_child; } axis2c-src-1.6.0/axiom/src/om/axiom_stax_builder_internal.h0000644000175000017500000000377511166304640025117 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_STAX_BUILDER_INTERNAL_H #define AXIOM_STAX_BUILDER_INTERNAL_H /** @defgroup axiom AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_stax builder * @ingroup axiom * @{ */ AXIS2_EXTERN int AXIS2_CALL axiom_stax_builder_get_current_event( axiom_stax_builder_t * builder, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_set_lastnode( axiom_stax_builder_t * builder, const axutil_env_t * env, axiom_node_t * om_node); AXIS2_EXTERN int AXIS2_CALL axiom_stax_builder_get_element_level( axiom_stax_builder_t * builder, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_set_element_level( axiom_stax_builder_t * builder, const axutil_env_t * env, int element_level); AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_stax_builder_get_lastnode( axiom_stax_builder_t * builder, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** AXIOM_STAX_BUILDER_INTERNAL_H */ axis2c-src-1.6.0/axiom/src/om/om_output.c0000644000175000017500000005002211166304640021352 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #define AXIS2_DEFAULT_CHAR_SET_ENCODING "UTF-8" /** also defined in axiom_soap.h */ /** max args for om_output_write function */ #define MAX_ARGS 4 struct axiom_output { /** axiom_xml_writer. any xml writer which implemet axiom_xml_writer.h interface */ axiom_xml_writer_t *xml_writer; axis2_bool_t do_optimize; axis2_char_t *mime_boundary; axis2_char_t *root_content_id; int next_id; axis2_char_t *next_content_id; axis2_bool_t is_soap11; axis2_char_t *char_set_encoding; axis2_char_t *xml_version; axis2_bool_t ignore_xml_declaration; axutil_array_list_t *binary_node_list; axis2_char_t *mime_boundry; axis2_char_t *content_type; axutil_array_list_t *mime_parts; }; AXIS2_EXTERN axiom_output_t *AXIS2_CALL axiom_output_create( const axutil_env_t * env, axiom_xml_writer_t * xml_writer) { axiom_output_t *om_output = NULL; AXIS2_ENV_CHECK(env, NULL); om_output = (axiom_output_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_output_t)); if (!om_output) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_output->xml_writer = xml_writer; om_output->do_optimize = AXIS2_TRUE; om_output->mime_boundary = NULL; om_output->root_content_id = NULL; om_output->next_content_id = NULL; om_output->next_id = 0; om_output->is_soap11 = AXIS2_TRUE; om_output->char_set_encoding = AXIS2_DEFAULT_CHAR_SET_ENCODING; om_output->xml_version = NULL; om_output->ignore_xml_declaration = AXIS2_TRUE; om_output->binary_node_list = NULL; om_output->mime_boundry = NULL; om_output->content_type = NULL; om_output->mime_parts = NULL; return om_output; } AXIS2_EXTERN void AXIS2_CALL axiom_output_free( axiom_output_t * om_output, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (om_output->xml_version) { AXIS2_FREE(env->allocator, om_output->xml_version); } if (om_output->mime_boundary) { AXIS2_FREE(env->allocator, om_output->mime_boundary); } if (om_output->next_content_id) { AXIS2_FREE(env->allocator, om_output->next_content_id); } if (om_output->root_content_id) { AXIS2_FREE(env->allocator, om_output->root_content_id); } if (om_output->xml_writer) { axiom_xml_writer_free(om_output->xml_writer, env); } if (om_output->binary_node_list) { axutil_array_list_free(om_output->binary_node_list, env); } if (om_output->content_type) { AXIS2_FREE(env->allocator, om_output->content_type); } AXIS2_FREE(env->allocator, om_output); return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_output_is_soap11( axiom_output_t * om_output, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return om_output->is_soap11; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_output_is_ignore_xml_declaration( axiom_output_t * om_output, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return om_output->ignore_xml_declaration; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_ignore_xml_declaration( axiom_output_t * om_output, const axutil_env_t * env, axis2_bool_t ignore_xml_dec) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_output->ignore_xml_declaration = ignore_xml_dec; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_soap11( axiom_output_t * om_output, const axutil_env_t * env, axis2_bool_t soap11) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_output->is_soap11 = soap11; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_xml_version( axiom_output_t * om_output, const axutil_env_t * env, axis2_char_t * xml_version) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, xml_version, AXIS2_FAILURE); if (om_output->xml_version) { AXIS2_FREE(env->allocator, om_output->xml_version); om_output->xml_version = NULL; } om_output->xml_version = axutil_strdup(env, xml_version); if (!om_output->xml_version) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_xml_version( axiom_output_t * om_output, const axutil_env_t * env) { return om_output->xml_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_char_set_encoding( axiom_output_t * om_output, const axutil_env_t * env, axis2_char_t * char_set_encoding) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_output->char_set_encoding = char_set_encoding; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_char_set_encoding( axiom_output_t * om_output, const axutil_env_t * env) { return om_output->char_set_encoding; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_do_optimize( axiom_output_t * om_output, const axutil_env_t * env, axis2_bool_t optimize) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_output->do_optimize = optimize; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_output_get_xml_writer( axiom_output_t * om_output, const axutil_env_t * env) { return om_output->xml_writer; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_output_is_optimized( axiom_output_t * om_output, const axutil_env_t * env) { return om_output->do_optimize; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_output_get_content_type( axiom_output_t * om_output, const axutil_env_t * env) { const axis2_char_t *soap_content_type = NULL; if (AXIS2_TRUE == om_output->do_optimize) { if (AXIS2_TRUE == om_output->is_soap11) { soap_content_type = AXIOM_SOAP11_CONTENT_TYPE; } else { soap_content_type = AXIOM_SOAP12_CONTENT_TYPE; } if (om_output->content_type) { AXIS2_FREE(env->allocator, om_output->content_type); om_output->content_type = NULL; } om_output->content_type = (axis2_char_t *) axiom_mime_part_get_content_type_for_mime(env, om_output->mime_boundry, om_output->root_content_id, om_output->char_set_encoding, soap_content_type); return om_output->content_type; } else if (AXIS2_TRUE == om_output->is_soap11) { return AXIOM_SOAP11_CONTENT_TYPE; } return AXIOM_SOAP12_CONTENT_TYPE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_write_optimized( axiom_output_t * om_output, const axutil_env_t * env, axiom_text_t * om_text) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (om_output->binary_node_list) { axutil_array_list_add(om_output->binary_node_list, env, om_text); } else { om_output->binary_node_list = axutil_array_list_create(env, 5); if (!(om_output->binary_node_list)) { return AXIS2_FAILURE; } axutil_array_list_add(om_output->binary_node_list, env, om_text); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_next_content_id( axiom_output_t * om_output, const axutil_env_t * env) { axis2_char_t *uuid = NULL; axis2_char_t *temp_str = NULL; axis2_char_t *temp_str1 = NULL; axis2_char_t id[256]; om_output->next_id++; /** free existing id */ if (om_output->next_content_id) { AXIS2_FREE(env->allocator, om_output->next_content_id); om_output->next_content_id = NULL; } uuid = axutil_uuid_gen(env); if (!uuid) { return NULL; } sprintf(id, "%d", om_output->next_id); temp_str = axutil_stracat(env, id, "."); temp_str1 = axutil_stracat(env, temp_str, uuid); om_output->next_content_id = axutil_stracat(env, temp_str1, "@apache.org"); if (temp_str) { AXIS2_FREE(env->allocator, temp_str); temp_str = NULL; } if (temp_str1) { AXIS2_FREE(env->allocator, temp_str1); temp_str1 = NULL; } if (uuid) { AXIS2_FREE(env->allocator, uuid); uuid = NULL; } return om_output->next_content_id; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_root_content_id( axiom_output_t * om_output, const axutil_env_t * env) { axis2_char_t *temp_str = NULL; axis2_char_t *uuid = NULL; if (!om_output->root_content_id) { uuid = axutil_uuid_gen(env); temp_str = axutil_stracat(env, "0.", uuid); om_output->root_content_id = axutil_stracat(env, temp_str, "@apache.org"); if (temp_str) { AXIS2_FREE(env->allocator, temp_str); temp_str = NULL; } if (uuid) { AXIS2_FREE(env->allocator, uuid); uuid = NULL; } } return om_output->root_content_id; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_mime_boundry( axiom_output_t * om_output, const axutil_env_t * env) { axis2_char_t *uuid = NULL; if (!om_output->mime_boundary) { uuid = axutil_uuid_gen(env); om_output->mime_boundary = axutil_stracat(env, "MIMEBoundary", uuid); if (uuid) { AXIS2_FREE(env->allocator, uuid); uuid = NULL; } } return om_output->mime_boundary; } /******************************************************************************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_write( axiom_output_t * om_output, const axutil_env_t * env, axiom_types_t type, int no_of_args, ...) { int status = AXIS2_SUCCESS; axis2_char_t *args_list[MAX_ARGS]; int i = 0; va_list ap; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); va_start(ap, no_of_args); for (i = 0; i < no_of_args; i++) { args_list[i] = va_arg(ap, axis2_char_t *); } va_end(ap); if (type == AXIOM_ELEMENT) { if (no_of_args == 0) { status = axiom_xml_writer_write_end_element(om_output->xml_writer, env); } else if (no_of_args == 1) { status = axiom_xml_writer_write_start_element(om_output->xml_writer, env, args_list[0]); } else if (no_of_args == 2) { status = axiom_xml_writer_write_start_element_with_namespace(om_output-> xml_writer, env, args_list [0], args_list [1]); } else if (no_of_args == 3) { status = axiom_xml_writer_write_start_element_with_namespace_prefix (om_output->xml_writer, env, args_list[0], args_list[1], args_list[2]); } else if (no_of_args == 4) { if (!args_list[0]) { status = AXIS2_FAILURE; } else if (!args_list[1]) { status = axiom_xml_writer_write_empty_element(om_output->xml_writer, env, args_list[0]); } else if (!args_list[2]) { status = axiom_xml_writer_write_empty_element_with_namespace(om_output-> xml_writer, env, args_list [0], args_list [1]); } else { status = axiom_xml_writer_write_empty_element_with_namespace_prefix (om_output->xml_writer, env, args_list[0], args_list[1], args_list[2]); } } } else if (type == AXIOM_DATA_SOURCE) { status = axiom_xml_writer_write_raw(om_output->xml_writer, env, args_list[0]); } else if (type == AXIOM_ATTRIBUTE) { if (no_of_args == 2) { status = axiom_xml_writer_write_attribute(om_output->xml_writer, env, args_list[0], args_list[1]); } else if (no_of_args == 3) { status = axiom_xml_writer_write_attribute_with_namespace(om_output-> xml_writer, env, args_list[0], args_list[1], args_list[2]); } else if (no_of_args == 4) { status = axiom_xml_writer_write_attribute_with_namespace_prefix (om_output->xml_writer, env, args_list[0], args_list[1], args_list[2], args_list[3]); } } else if (type == AXIOM_NAMESPACE) { /* If the namespace prefix is xml, it must be the pre-defined xml namespace. Although the XML spec allows it to be declared explicitly, this is superfluous and not accepted by all xml parsers. */ if ((!args_list[0]) || (strcmp(args_list[0], "xml") != 0)) { status = axiom_xml_writer_write_namespace(om_output->xml_writer, env, args_list[0], args_list[1]); } } else if (type == AXIOM_TEXT) { status = axiom_xml_writer_write_characters(om_output->xml_writer, env, args_list[0]); } else if (type == AXIOM_COMMENT) { status = axiom_xml_writer_write_comment(om_output->xml_writer, env, args_list[0]); } else if (type == AXIOM_PROCESSING_INSTRUCTION) { if (no_of_args == 1) { status = axiom_xml_writer_write_processing_instruction(om_output-> xml_writer, env, args_list[0]); } else if (no_of_args == 2) { status = axiom_xml_writer_write_processing_instruction_data(om_output-> xml_writer, env, args_list[0], args_list [1]); } } else if (type == AXIOM_DOCTYPE) { status = axiom_xml_writer_write_dtd(om_output->xml_writer, env, args_list[0]); } if (status == AXIS2_SUCCESS) { return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axiom_output_write_xml_version_encoding( axiom_output_t * om_output, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_output->xml_version) { axiom_output_set_xml_version(om_output, env, "1.0"); } if (!om_output->char_set_encoding) { axiom_output_set_char_set_encoding(om_output, env, "UTF-8"); } return axiom_xml_writer_write_start_document_with_version_encoding(om_output-> xml_writer, env, om_output-> xml_version, om_output-> char_set_encoding); } /* This method will be called from transport. After this method each and every * message part needs to be send are stored in an arraylits. So the transport * sender should correctly figure out how to send from the given information. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_flush( axiom_output_t * om_output, const axutil_env_t * env) { const axis2_char_t *soap_content_type = NULL; AXIS2_ENV_CHECK(env, NULL); if (om_output->do_optimize) { axis2_char_t *root_content_id = NULL; axis2_char_t *buffer = NULL; /* Extracting the soap part */ buffer = axiom_xml_writer_get_xml(om_output->xml_writer, env); if (om_output->is_soap11) { soap_content_type = AXIOM_SOAP11_CONTENT_TYPE; } else { soap_content_type = AXIOM_SOAP12_CONTENT_TYPE; } /* The created mime_boundary for this soap message */ om_output->mime_boundry = axiom_output_get_mime_boundry(om_output, env); /* This is also created for attachments*/ root_content_id = axiom_output_get_root_content_id(om_output, env); /* different parts of the message is added according to their order * to an arraylist */ om_output->mime_parts = axiom_mime_part_create_part_list( env, buffer, om_output->binary_node_list, om_output->mime_boundry, om_output->root_content_id, om_output->char_set_encoding, soap_content_type); if(om_output->mime_parts) { return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_output_get_mime_parts( axiom_output_t * om_output, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return om_output->mime_parts; } axis2c-src-1.6.0/axiom/src/om/om_document.c0000644000175000017500000001477011166304640021642 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axiom_document { /** root element */ axiom_node_t *root_element; /** last child */ axiom_node_t *last_child; /** first child */ axiom_node_t *first_child; /** done building the document */ axis2_bool_t done; /** builder of the document */ struct axiom_stax_builder *builder; /** char set encoding */ axis2_char_t *char_set_encoding; /** XML version */ axis2_char_t *xml_version; }; AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_document_create( const axutil_env_t * env, axiom_node_t * root, axiom_stax_builder_t * builder) { axiom_document_t *document = NULL; AXIS2_ENV_CHECK(env, NULL); document = (axiom_document_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_document_t)); if (!document) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } document->builder = builder; document->root_element = root; document->first_child = root; document->last_child = root; document->xml_version = XML_VERSION; document->char_set_encoding = CHAR_SET_ENCODING; document->done = AXIS2_FALSE; return document; } AXIS2_EXTERN void AXIS2_CALL axiom_document_free( axiom_document_t * document, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (document->root_element) { axiom_node_free_tree(document->root_element, env); } AXIS2_FREE(env->allocator, document); return; } AXIS2_EXTERN void AXIS2_CALL axiom_document_free_self( axiom_document_t * document, const axutil_env_t * env) { AXIS2_FREE(env->allocator, document); return; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_build_next( axiom_document_t * document, const axutil_env_t * env) { axiom_node_t *last_child = NULL; AXIS2_ENV_CHECK(env, NULL); if (!document->builder) { return NULL; } if (!(document->root_element)) { last_child = axiom_stax_builder_next(document->builder, env); if (last_child) { document->last_child = last_child; document->root_element = last_child; } return last_child; } else if ((document->root_element) && (axiom_node_is_complete(document->root_element, env) == AXIS2_TRUE)) return NULL; /* Nothing wrong but done with pulling */ last_child = axiom_stax_builder_next(document->builder, env); if (last_child) { document->last_child = last_child; } return last_child; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_get_root_element( axiom_document_t * document, const axutil_env_t * env) { axiom_node_t *node = NULL; AXIS2_ENV_CHECK(env, NULL); if (document->root_element) { return document->root_element; } node = axiom_document_build_next(document, env); if (document->root_element) { return document->root_element; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_DOCUMENT_STATE_ROOT_NULL, AXIS2_FAILURE); return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_document_set_root_element( axiom_document_t * document, const axutil_env_t * env, axiom_node_t * node) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (document->root_element) { axiom_node_free_tree(document->root_element, env); document->root_element = node; return AXIS2_SUCCESS; } else { document->root_element = node; } return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_build_all( struct axiom_document * document, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); if (!document) { return NULL; } if (!document->root_element) { axiom_document_get_root_element(document, env); } if (document->root_element) { do { axiom_node_t *ret_val = NULL; ret_val = axiom_document_build_next(document, env); if (!ret_val) { if (axiom_node_is_complete(document->root_element, env) == AXIS2_TRUE) { /** document is completly build */ return document->root_element; } else { /** error occurred */ return NULL; } } } while (!axiom_node_is_complete(document->root_element, env)); return document->root_element; } else return NULL; } AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axiom_document_get_builder( axiom_document_t * document, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return document->builder; } AXIS2_EXTERN void AXIS2_CALL axiom_document_set_builder( axiom_document_t * document, const axutil_env_t * env, axiom_stax_builder_t * builder) { document->builder = builder; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_document_serialize( axiom_document_t * document, const axutil_env_t * env, axiom_output_t * om_output) { if (!document) return AXIS2_FAILURE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!(document->root_element)) { axiom_document_get_root_element(document, env); } if (document->root_element) { return axiom_node_serialize(document->root_element, env, om_output); } else { return AXIS2_FAILURE; } } axis2c-src-1.6.0/axiom/src/om/om_node.c0000644000175000017500000013224311166304640020745 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axiom_node_internal.h" #include #include #include #include #include #include #include #include struct axiom_node { /** document only available if build through builder */ struct axiom_document *om_doc; axiom_stax_builder_t *builder; /** parent node */ axiom_node_t *parent; /** previous sibling */ axiom_node_t *prev_sibling; /** next sibling */ axiom_node_t *next_sibling; /** first child */ axiom_node_t *first_child; /** last child */ axiom_node_t *last_child; /** node type, indicates the type stored in data_element */ axiom_types_t node_type; /** done true means that this node is completely built , false otherwise */ int done; /** instances of an om struct, whose type is defined by node type */ void *data_element; }; static axiom_node_t * axiom_node_detach_without_namespaces( axiom_node_t * om_node, const axutil_env_t * env); AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_create( const axutil_env_t * env) { axiom_node_t *node = NULL; AXIS2_ENV_CHECK(env, NULL); node = (axiom_node_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_node_t)); if (!node) { env->error->error_number = AXIS2_ERROR_NO_MEMORY; return NULL; } node->first_child = NULL; node->last_child = NULL; node->next_sibling = NULL; node->prev_sibling = NULL; node->parent = NULL; node->node_type = AXIOM_INVALID; node->done = AXIS2_FALSE; node->data_element = NULL; node->om_doc = NULL; node->builder = NULL; return node; } AXIS2_EXTERN axiom_node_t* AXIS2_CALL axiom_node_create_from_buffer( const axutil_env_t * env, axis2_char_t *buffer) { axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_document_t *document = NULL; axiom_node_t *om_node = NULL; reader = axiom_xml_reader_create_for_memory (env, buffer, axutil_strlen (buffer), "UTF-8", AXIS2_XML_PARSER_TYPE_BUFFER); if (!reader) { return NULL; } builder = axiom_stax_builder_create (env, reader); if (!builder) { return NULL; } document = axiom_stax_builder_get_document (builder, env); if (!document) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Document is null for deserialization"); return NULL; } om_node = axiom_document_get_root_element (document, env); if (!om_node) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Root element of the document is not found"); return NULL; } axiom_document_build_all (document, env); axiom_stax_builder_free_self (builder, env); return om_node; } static void axiom_node_free_detached_subtree( axiom_node_t * om_node, const axutil_env_t * env) { /* Free any child nodes first */ if (om_node->first_child) { axiom_node_t *child_node = om_node->first_child, *next_sibling; while (child_node) { next_sibling = child_node->next_sibling; axiom_node_free_detached_subtree(child_node, env); child_node = next_sibling; } } if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { axiom_element_free((axiom_element_t *) (om_node->data_element), env); } } else if (om_node->node_type == AXIOM_COMMENT) { if (om_node->data_element) { axiom_comment_free((axiom_comment_t *) (om_node->data_element), env); } } else if (om_node->node_type == AXIOM_DOCTYPE) { /*axiom_doctype_free((axiom_doctype_t*)(om_node->data_element), env); */ } else if (om_node->node_type == AXIOM_PROCESSING_INSTRUCTION) { if (om_node->data_element) { axiom_processing_instruction_free((axiom_processing_instruction_t *) (om_node->data_element), env); } } else if (om_node->node_type == AXIOM_TEXT) { if (om_node->data_element) { axiom_text_free((axiom_text_t *) (om_node->data_element), env); } } else if (om_node->node_type == AXIOM_DATA_SOURCE) { if (om_node->data_element) { axiom_data_source_free((axiom_data_source_t *) (om_node->data_element), env); } } AXIS2_FREE(env->allocator, om_node); return; } /** * This free function will free an om_element and all the children contained in it * If the node is still attached to the tree, it will be detached first */ AXIS2_EXTERN void AXIS2_CALL axiom_node_free_tree( axiom_node_t * om_node, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (!om_node) { return; } /* Detach this node before freeing it and its subtree. */ axiom_node_detach_without_namespaces(om_node, env); /* Free this node and its subtree */ axiom_node_free_detached_subtree(om_node, env); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_add_child( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * child) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, child, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); if (child->parent) { child = axiom_node_detach(child, env); } if (!(om_node->first_child)) { om_node->first_child = child; } else { axiom_node_t *last_sib = NULL; last_sib = om_node->last_child; if (last_sib) { last_sib->next_sibling = child; child->prev_sibling = last_sib; } } child->parent = om_node; om_node->last_child = child; return AXIS2_SUCCESS; } /** * Detach the node without regard to any namespace references in the node or * its children. */ static axiom_node_t * axiom_node_detach_without_namespaces( axiom_node_t * om_node, const axutil_env_t * env) { axiom_node_t *parent = NULL; AXIS2_ENV_CHECK(env, NULL); parent = om_node->parent; if (!parent) { /* Node is already detached */ om_node->builder = NULL; return om_node; } if (!(om_node->prev_sibling)) { parent->first_child = om_node->next_sibling; } else { axiom_node_t *prev_sib = NULL; prev_sib = om_node->prev_sibling; if (prev_sib) { prev_sib->next_sibling = om_node->next_sibling; } } if (om_node->next_sibling) { axiom_node_t *next_sibling = NULL; next_sibling = om_node->next_sibling; if (next_sibling) { next_sibling->prev_sibling = om_node->prev_sibling; } } if ((parent->last_child) && ((parent->last_child) == om_node)) { parent->last_child = om_node->prev_sibling; } om_node->parent = NULL; om_node->prev_sibling = NULL; om_node->next_sibling = NULL; om_node->builder = NULL; return om_node; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_detach( axiom_node_t * om_node, const axutil_env_t * env) { axutil_hash_t *inscope_namespaces = NULL; axiom_element_t *om_element = NULL; AXIS2_ENV_CHECK(env, NULL); if (!om_node) { return NULL; } /* If this is an element node, determine which namespaces are available to it from its parent nodes. */ if ((om_node->node_type == AXIOM_ELEMENT) && (om_element = om_node->data_element)) { inscope_namespaces = axiom_element_gather_parent_namespaces(om_element, env, om_node); } /* Detach this node from its parent. */ om_node = axiom_node_detach_without_namespaces(om_node, env); /* If this is an element node, ensure that any namespaces available to it or its children remain available after the detach. */ if (om_node && inscope_namespaces) { axiom_element_redeclare_parent_namespaces(om_element, env, om_node, om_element, inscope_namespaces); } if (inscope_namespaces) { axutil_hash_free(inscope_namespaces, env); } return om_node; } /** Internal function , only used in om and soap not to be used by users */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_parent( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * parent) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_node) { return AXIS2_FAILURE; } AXIS2_PARAM_CHECK(env->error, parent, AXIS2_FAILURE); if (parent == om_node->parent) { /* same parent already exist */ return AXIS2_SUCCESS; } /* if a new parent is assigned in place of existing one first the node should be detached */ if (om_node->parent) { om_node = axiom_node_detach_without_namespaces(om_node, env); } om_node->parent = parent; return AXIS2_SUCCESS; } /** * This will insert a sibling just after the current information item * @param node the node in consideration * @param nodeto_insert the node that will be inserted */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_insert_sibling_after( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * node_to_insert) { axiom_node_t *next_sib = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, node_to_insert, AXIS2_FAILURE); if (!om_node->parent) { /* We shouldn't add a sibling because this node doesn't has a parent. * This can be the root node of the tree*/ return AXIS2_FAILURE; } node_to_insert->parent = om_node->parent; node_to_insert->prev_sibling = om_node; next_sib = om_node->next_sibling; if (next_sib) { next_sib->prev_sibling = node_to_insert; } node_to_insert->next_sibling = om_node->next_sibling; om_node->next_sibling = node_to_insert; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_insert_sibling_before( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * node_to_insert) { axiom_node_t *prev_sibling = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, node_to_insert, AXIS2_FAILURE); if (!om_node->parent) { /* We shouldn't add a sibling because this node doesn't has a parent. * This can be the root node of the tree*/ return AXIS2_FAILURE; } node_to_insert->parent = om_node->parent; node_to_insert->prev_sibling = om_node->prev_sibling; node_to_insert->next_sibling = om_node; prev_sibling = om_node->prev_sibling; if (!prev_sibling) { axiom_node_t *parent = om_node->parent; parent->first_child = node_to_insert; } else { axiom_node_t *prev_sibling = om_node->prev_sibling; if (prev_sibling) { prev_sibling->next_sibling = node_to_insert; } } om_node->prev_sibling = node_to_insert; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_serialize( axiom_node_t * om_node, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; axiom_node_t *temp_node = NULL; axiom_node_t *nodes[256]; int count = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_node) { return AXIS2_SUCCESS; } nodes[count++] = om_node; AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); do { if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { status = axiom_element_serialize_start_part((axiom_element_t *) (om_node-> data_element), env, om_output, om_node); } if (status != AXIS2_SUCCESS) { return status; } } else if (om_node->node_type == AXIOM_DATA_SOURCE) { if (om_node->data_element) { status = axiom_data_source_serialize((axiom_data_source_t *) (om_node->data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } else if (om_node->node_type == AXIOM_TEXT) { if (om_node->data_element) { status = axiom_text_serialize((axiom_text_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } else if (om_node->node_type == AXIOM_COMMENT) { if (om_node->data_element) { status = axiom_comment_serialize((axiom_comment_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } else if (om_node->node_type == AXIOM_DOCTYPE) { if (om_node->data_element) { status = axiom_doctype_serialize((axiom_doctype_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } else if (om_node->node_type == AXIOM_PROCESSING_INSTRUCTION) { if (om_node->data_element) { status = axiom_processing_instruction_serialize((axiom_processing_instruction_t *) (om_node->data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } temp_node = axiom_node_get_first_child(om_node, env); /* serialize children of this node */ if (temp_node) { om_node = temp_node; nodes[count++] = om_node; } else { if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { status = axiom_element_serialize_end_part((axiom_element_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } temp_node = axiom_node_get_next_sibling(om_node, env); if (temp_node) { om_node = temp_node; nodes[count - 1] = om_node; } else { while (count > 1 && !temp_node) { count--; om_node = nodes[count - 1]; if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { status = axiom_element_serialize_end_part((axiom_element_t *) (om_node->data_element), env, om_output); } if (status != AXIS2_SUCCESS) { return status; } } temp_node = axiom_node_get_next_sibling(om_node, env); } if (temp_node && count > 1) { om_node = temp_node; nodes[count - 1] = om_node; } else { count--; } } } } while (count > 0); return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_serialize_sub_tree( axiom_node_t * om_node, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; axiom_node_t *temp_node = NULL; axiom_node_t *nodes[256]; int count = 0; axutil_hash_t *namespaces = NULL; axutil_hash_t *namespaces_from_parents = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_node) { return AXIS2_SUCCESS; } namespaces = axutil_hash_make(env); if(!namespaces) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "hash for namespaces creation failed"); return AXIS2_FAILURE; } namespaces_from_parents = axutil_hash_make(env); if(!namespaces_from_parents) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "hash for namespaces_from_parents creation failed"); return AXIS2_FAILURE; } nodes[count++] = om_node; AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); do { if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { axutil_hash_t *temp_namespaces = NULL; axutil_hash_t *temp_attributes = NULL; axiom_namespace_t *namespace = NULL; status = axiom_element_serialize_start_part((axiom_element_t *) (om_node-> data_element), env, om_output, om_node); temp_namespaces = axiom_element_get_namespaces((axiom_element_t *) (om_node-> data_element), env); if (temp_namespaces) { axutil_hash_t *new_hash = NULL; new_hash = axutil_hash_overlay(temp_namespaces, env, namespaces); if(namespaces) axutil_hash_free(namespaces, env); namespaces = new_hash; } namespace = axiom_element_get_namespace((axiom_element_t *) (om_node-> data_element), env, om_node); if (namespace) { axiom_namespace_t *ns = NULL; axis2_char_t *prefix = NULL; prefix = axiom_namespace_get_prefix(namespace, env); if (prefix) { ns = axutil_hash_get(namespaces, prefix, AXIS2_HASH_KEY_STRING); if (!ns) { ns = axutil_hash_get(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING); if (!ns) { axiom_namespace_serialize(namespace, env, om_output); axutil_hash_set(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING, namespace); } } } } temp_attributes = axiom_element_get_all_attributes((axiom_element_t *) (om_node->data_element), env); if (temp_attributes) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(temp_attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_namespace_t *ns = NULL; axis2_char_t *prefix = NULL; namespace = axiom_attribute_get_namespace((axiom_attribute_t *) val, env); if (namespace) { prefix = axiom_namespace_get_prefix(namespace, env); if (prefix) { ns = axutil_hash_get(namespaces, prefix, AXIS2_HASH_KEY_STRING); if (!ns) { ns = axutil_hash_get(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING); if (!ns) { axiom_namespace_serialize(namespace, env, om_output); axutil_hash_set(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING, namespace); } } } } } else { status = AXIS2_FAILURE; } } } } if (status != AXIS2_SUCCESS) { break; } } else if (om_node->node_type == AXIOM_DATA_SOURCE) { if (om_node->data_element) { status = axiom_data_source_serialize((axiom_data_source_t *) (om_node->data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } else if (om_node->node_type == AXIOM_TEXT) { if (om_node->data_element) { status = axiom_text_serialize((axiom_text_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } else if (om_node->node_type == AXIOM_COMMENT) { if (om_node->data_element) { status = axiom_comment_serialize((axiom_comment_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } else if (om_node->node_type == AXIOM_DOCTYPE) { if (om_node->data_element) { status = axiom_doctype_serialize((axiom_doctype_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } else if (om_node->node_type == AXIOM_PROCESSING_INSTRUCTION) { if (om_node->data_element) { status = axiom_processing_instruction_serialize((axiom_processing_instruction_t *) (om_node->data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } temp_node = axiom_node_get_first_child(om_node, env); /* serialize children of this node */ if (temp_node) { om_node = temp_node; nodes[count++] = om_node; } else { if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { axutil_hash_t *temp_attributes = NULL; axiom_namespace_t *namespace = NULL; /* at the writing of end part all the namespaces declared specially to that element should be cancelled */ /* first checking the element namespace */ namespace = axiom_element_get_namespace((axiom_element_t *) (om_node-> data_element), env, om_node); if (namespace) { axiom_namespace_t *ns = NULL; axis2_char_t *prefix = NULL; prefix = axiom_namespace_get_prefix(namespace, env); if (prefix) { ns = axutil_hash_get(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING); if (ns) { axutil_hash_set(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING, NULL); } } } /* then checking the attribute namespaces */ temp_attributes = axiom_element_get_all_attributes((axiom_element_t *) (om_node->data_element), env); if (temp_attributes) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(temp_attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_namespace_t *ns = NULL; axis2_char_t *prefix = NULL; namespace = axiom_attribute_get_namespace((axiom_attribute_t *) val, env); if (namespace) { prefix = axiom_namespace_get_prefix(namespace, env); if (prefix) { ns = axutil_hash_get(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING); if (ns) { axutil_hash_set(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING, NULL); } } } } } } status = axiom_element_serialize_end_part((axiom_element_t *) (om_node-> data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } /* We need to make make sure that om_node is not the root when we take the next sibling */ if (count > 1) { temp_node = axiom_node_get_next_sibling(om_node, env); } if (temp_node) { om_node = temp_node; nodes[count - 1] = om_node; } else { while (count > 1 && !temp_node) { count--; om_node = nodes[count - 1]; if (om_node->node_type == AXIOM_ELEMENT) { if (om_node->data_element) { axutil_hash_t *temp_attributes = NULL; axiom_namespace_t *namespace = NULL; /* similar to the earlier time, whenever the ending is happened * namespaces declared specially to that element should be cancelled */ /* first checking the element namespace */ namespace = axiom_element_get_namespace((axiom_element_t *) (om_node-> data_element), env, om_node); if (namespace) { axiom_namespace_t *ns = NULL; axis2_char_t *prefix = NULL; prefix = axiom_namespace_get_prefix(namespace, env); if (prefix) { ns = axutil_hash_get(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING); if (ns) { axutil_hash_set(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING, NULL); } } } /* then checking the attribute namespaces */ temp_attributes = axiom_element_get_all_attributes((axiom_element_t *) (om_node->data_element), env); if (temp_attributes) { axutil_hash_index_t *hi; void *val; for (hi = axutil_hash_first(temp_attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_namespace_t *ns = NULL; axis2_char_t *prefix = NULL; namespace = axiom_attribute_get_namespace((axiom_attribute_t *) val, env); if (namespace) { prefix = axiom_namespace_get_prefix(namespace, env); if (prefix) { ns = axutil_hash_get(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING); if (ns) { axutil_hash_set(namespaces_from_parents, prefix, AXIS2_HASH_KEY_STRING, NULL); } } } } } } status = axiom_element_serialize_end_part((axiom_element_t *) (om_node->data_element), env, om_output); } if (status != AXIS2_SUCCESS) { break; } } temp_node = axiom_node_get_next_sibling(om_node, env); } if (temp_node && count > 1) { om_node = temp_node; nodes[count - 1] = om_node; } else { count--; } } } } while (count > 0); axutil_hash_free(namespaces_from_parents, env); axutil_hash_free(namespaces, env); return status; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_parent( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->parent; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_first_child( axiom_node_t * om_node, const axutil_env_t * env) { int token = 0; if (!om_node) { return NULL; } /**********************************************************/ while (!(om_node->first_child) && !(om_node->done) && om_node->builder) { token = axiom_stax_builder_next_with_token(om_node->builder, env); if (token == -1) { return NULL; } } /**********************************************************/ return om_node->first_child; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_first_element( axiom_node_t * om_node, const axutil_env_t * env) { int token = 0; axiom_node_t *first_element; if (!om_node) { return NULL; } /**********************************************************/ while (!(om_node->first_child) && !(om_node->done) && om_node->builder) { token = axiom_stax_builder_next_with_token(om_node->builder, env); if (token == -1) { return NULL; } } /**********************************************************/ first_element = om_node->first_child; while (first_element && (axiom_node_get_node_type(first_element, env) != AXIOM_ELEMENT)) { first_element = axiom_node_get_next_sibling(first_element, env); } return first_element; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_last_child( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->last_child; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_previous_sibling( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->prev_sibling; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_next_sibling( axiom_node_t * om_node, const axutil_env_t * env) { int token = 0; if (!om_node) { return NULL; } while (!(om_node->next_sibling) && om_node->parent && om_node->builder && !(axiom_node_is_complete(om_node->parent, env))) { token = axiom_stax_builder_next_with_token(om_node->builder, env); if (token == -1) { return NULL; } } return om_node->next_sibling; } AXIS2_EXTERN axiom_types_t AXIS2_CALL axiom_node_get_node_type( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->node_type; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_node_is_complete( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->done; } AXIS2_EXTERN struct axiom_document *AXIS2_CALL axiom_node_get_document( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->om_doc; } AXIS2_EXTERN void *AXIS2_CALL axiom_node_get_data_element( axiom_node_t * om_node, const axutil_env_t * env) { return om_node->data_element; } /** internal function , not to be used by users only sets the first_child link because this is needed by builder */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_first_child( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * first_child) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, first_child, AXIS2_FAILURE); /** set the parent */ axiom_node_set_parent(first_child, env, om_node); om_node->first_child = first_child; return AXIS2_SUCCESS; } /** internal function not to be used by users only sets the previous sibling link as it is needed by builders */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_previous_sibling( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * prev_sibling) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prev_sibling, AXIS2_FAILURE); om_node->prev_sibling = prev_sibling; return AXIS2_SUCCESS; } /** internal function, not to be used by users only sets the next sibling link; */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_next_sibling( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * next_sibling) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, next_sibling, AXIS2_FAILURE); om_node->next_sibling = next_sibling; return AXIS2_SUCCESS; } /** internal function not to be used by users sets the node type only used in soap and om */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_node_type( axiom_node_t * om_node, const axutil_env_t * env, axiom_types_t type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); om_node->node_type = type; return AXIS2_SUCCESS; } /** internal function , not to be used by users only used in om and soap */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_data_element( axiom_node_t * om_node, const axutil_env_t * env, void *data_element) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, data_element, AXIS2_FAILURE); om_node->data_element = data_element; return AXIS2_SUCCESS; } /** internal function not to be used by users only sets the build status */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_complete( axiom_node_t * om_node, const axutil_env_t * env, axis2_bool_t done) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); om_node->done = done; return AXIS2_SUCCESS; } /** internal function not to be used by users only used by om builder */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_document( axiom_node_t * om_node, const axutil_env_t * env, struct axiom_document * om_doc) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); om_node->om_doc = om_doc; return AXIS2_SUCCESS; } /** internal function only sets the builder reference , should not be used by user */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_set_builder( axiom_node_t * om_node, const axutil_env_t * env, axiom_stax_builder_t * builder) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_node, AXIS2_FAILURE); om_node->builder = builder; return AXIS2_SUCCESS; } /** * This is an internal function */ AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axiom_node_get_builder( axiom_node_t * om_node, const axutil_env_t * env) { if (!om_node) { return NULL; } return om_node->builder; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_to_string( axiom_node_t * om_node, const axutil_env_t * env) { int status = AXIS2_SUCCESS; axiom_output_t *om_output = NULL; axiom_xml_writer_t *xml_writer = NULL; axis2_char_t *xml = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, om_node, NULL); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { return NULL; } om_output = axiom_output_create(env, xml_writer); if (!om_output) { axiom_xml_writer_free(xml_writer, env); return NULL; } status = axiom_node_serialize(om_node, env, om_output); if (status == AXIS2_SUCCESS) { xml = axutil_strdup(env, (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env)); } axiom_output_free(om_output, env); return xml; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_sub_tree_to_string( axiom_node_t * om_node, const axutil_env_t * env) { int status = AXIS2_SUCCESS; axiom_output_t *om_output = NULL; axiom_xml_writer_t *xml_writer = NULL; axis2_char_t *xml = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, om_node, NULL); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { return NULL; } om_output = axiom_output_create(env, xml_writer); if (!om_output) { axiom_xml_writer_free(xml_writer, env); return NULL; } status = axiom_node_serialize_sub_tree(om_node, env, om_output); if (status == AXIS2_SUCCESS) { xml = axutil_strdup(env, (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env)); } axiom_output_free(om_output, env); return xml; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_to_string_non_optimized( axiom_node_t * om_node, const axutil_env_t * env) { int status = AXIS2_SUCCESS; axiom_output_t *om_output = NULL; axiom_xml_writer_t *xml_writer = NULL; axis2_char_t *xml = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, om_node, NULL); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { return NULL; } om_output = axiom_output_create(env, xml_writer); if (!om_output) { axiom_xml_writer_free(xml_writer, env); return NULL; } /*This is where we set the output to be non-optimized*/ axiom_output_set_do_optimize(om_output, env, AXIS2_FALSE); status = axiom_node_serialize(om_node, env, om_output); if (status == AXIS2_SUCCESS) { xml = axutil_strdup(env, (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env)); } axiom_output_free(om_output, env); return xml; } axis2c-src-1.6.0/axiom/src/om/om_text.c0000644000175000017500000004464611166304640021015 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include "axiom_node_internal.h" #include #include #include #include #include static axis2_bool_t AXIS2_CALL axiom_text_get_is_binary( axiom_text_t * om_text, const axutil_env_t * env); static axis2_status_t AXIS2_CALL axiom_text_serialize_start_part( axiom_text_t * om_text, const axutil_env_t * env, axiom_output_t * om_output); struct axiom_text { /** Text value */ axutil_string_t *value; /** The following fields are for MTOM */ axis2_char_t *mime_type; axis2_bool_t optimize; const axis2_char_t *localname; axis2_bool_t is_binary; axis2_bool_t is_swa; axis2_char_t *content_id; axiom_attribute_t *om_attribute; axiom_namespace_t *ns; axiom_data_handler_t *data_handler; }; AXIS2_EXTERN axiom_text_t *AXIS2_CALL axiom_text_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * value, axiom_node_t ** node) { axiom_text_t *om_text = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, node, NULL); *node = axiom_node_create(env); if (!(*node)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_text = (axiom_text_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_text_t)); if (!om_text) { AXIS2_FREE(env->allocator, *node); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_text->mime_type = NULL; om_text->optimize = AXIS2_FALSE; om_text->localname = "Include"; om_text->is_binary = AXIS2_FALSE; om_text->is_swa = AXIS2_FALSE; om_text->content_id = NULL; om_text->om_attribute = NULL; om_text->value = NULL; om_text->ns = NULL; om_text->data_handler = NULL; om_text->mime_type = NULL; if (value) { om_text->value = axutil_string_create(env, value); } axiom_node_set_data_element((*node), env, om_text); axiom_node_set_node_type((*node), env, AXIOM_TEXT); axiom_node_set_complete((*node), env, AXIS2_FALSE); if (parent && axiom_node_get_node_type(parent, env) == AXIOM_ELEMENT) { axiom_node_add_child(parent, env, (*node)); } return om_text; } AXIS2_EXTERN axiom_text_t *AXIS2_CALL axiom_text_create_with_data_handler( const axutil_env_t * env, axiom_node_t * parent, axiom_data_handler_t * data_handler, axiom_node_t ** node) { axiom_text_t *om_text = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, data_handler, NULL); om_text = (axiom_text_t *) axiom_text_create(env, parent, NULL, node); if (!om_text) { return NULL; } om_text->optimize = AXIS2_TRUE; om_text->is_binary = AXIS2_TRUE; om_text->data_handler = data_handler; om_text->mime_type = axiom_data_handler_get_content_type(data_handler, env); return om_text; } AXIS2_EXTERN void AXIS2_CALL axiom_text_free( axiom_text_t * om_text, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (om_text->value) { axutil_string_free(om_text->value, env); } if (om_text->ns) { axiom_namespace_free(om_text->ns, env); } if (om_text->content_id) { AXIS2_FREE(env->allocator, om_text->content_id); } if (om_text->om_attribute) { axiom_attribute_free(om_text->om_attribute, env); } if (om_text->data_handler) { axiom_data_handler_free(om_text->data_handler, env); } AXIS2_FREE(env->allocator, om_text); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_serialize( axiom_text_t * om_text, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; axis2_char_t *attribute_value = NULL; const axis2_char_t *text = NULL; axiom_xml_writer_t *om_output_xml_writer = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (!axiom_text_get_is_binary(om_text, env)) { if (om_text->value) { status = axiom_output_write(om_output, env, AXIOM_TEXT, 1, axutil_string_get_buffer(om_text->value, env)); } } else { om_output_xml_writer = axiom_output_get_xml_writer(om_output, env); if (axiom_output_is_optimized(om_output, env) && om_text->optimize) { if (!(axiom_text_get_content_id(om_text, env))) { axis2_char_t *content_id = axiom_output_get_next_content_id(om_output, env); if (content_id) { om_text->content_id = axutil_strdup(env, content_id); } } attribute_value = axutil_stracat(env, "cid:", om_text->content_id); /*send binary as MTOM optimised */ if (om_text->om_attribute) { axiom_attribute_free(om_text->om_attribute, env); om_text->om_attribute = NULL; } om_text->om_attribute = axiom_attribute_create(env, "href", attribute_value, NULL); AXIS2_FREE(env->allocator, attribute_value); attribute_value = NULL; if (!om_text->is_swa) /* This is a hack to get SwA working */ { axiom_text_serialize_start_part(om_text, env, om_output); } else { status = axiom_output_write(om_output, env, AXIOM_TEXT, 1, om_text->content_id); } axiom_output_write_optimized(om_output, env, om_text); axiom_output_write(om_output, env, AXIOM_ELEMENT, 0); } else { text = axiom_text_get_text(om_text, env); axiom_xml_writer_write_characters(om_output_xml_writer, env, (axis2_char_t *) text); } } return status; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_text_get_value( axiom_text_t * om_text, const axutil_env_t * env) { if (om_text->value) { return axutil_string_get_buffer(om_text->value, env); } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_value( axiom_text_t * om_text, const axutil_env_t * env, const axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_text, AXIS2_FAILURE); if (om_text->value) { axutil_string_free(om_text->value, env); om_text->value = NULL; } om_text->value = axutil_string_create(env, value); if (!om_text->value) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } /*Following has been implemented for the MTOM support*/ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_text_get_mime_type( axiom_text_t * om_text, const axutil_env_t * env) { return om_text->mime_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_mime_type( axiom_text_t * om_text, const axutil_env_t * env, const axis2_char_t * mime_type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_text, AXIS2_FAILURE); if (om_text->mime_type) { AXIS2_FREE(env->allocator, om_text->mime_type); } om_text->mime_type = (axis2_char_t *) axutil_strdup(env, mime_type); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_text_get_optimize( axiom_text_t * om_text, const axutil_env_t * env) { return om_text->optimize; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_optimize( axiom_text_t * om_text, const axutil_env_t * env, axis2_bool_t optimize) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_text, AXIS2_FAILURE); om_text->optimize = optimize; return AXIS2_SUCCESS; } static axis2_bool_t AXIS2_CALL axiom_text_get_is_binary( axiom_text_t * om_text, const axutil_env_t * env) { return om_text->is_binary; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_is_binary( axiom_text_t * om_text, const axutil_env_t * env, const axis2_bool_t is_binary) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_text, AXIS2_FAILURE); om_text->is_binary = is_binary; return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_text_get_localname( axiom_text_t * om_text, const axutil_env_t * env) { return om_text->localname; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_text_get_content_id( axiom_text_t * om_text, const axutil_env_t * env) { return om_text->content_id; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_content_id( axiom_text_t * om_text, const axutil_env_t * env, const axis2_char_t * content_id) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_text, AXIS2_FAILURE); if (om_text->content_id) { AXIS2_FREE(env->allocator, om_text->content_id); } om_text->content_id = (axis2_char_t *) axutil_strdup(env, content_id); return AXIS2_SUCCESS; } static axis2_status_t AXIS2_CALL axiom_text_serialize_start_part( axiom_text_t * om_text, const axutil_env_t * env, axiom_output_t * om_output) { axis2_char_t *namespace_uri = NULL; axis2_char_t *prefix = NULL; const axis2_char_t *local_name = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); local_name = axiom_text_get_localname(om_text, env); om_text->ns = axiom_namespace_create(env, "http://www.w3.org/2004/08/xop/include", "xop"); if (om_text->ns) { namespace_uri = axiom_namespace_get_uri(om_text->ns, env); if (namespace_uri) { prefix = axiom_namespace_get_prefix(om_text->ns, env); if (prefix) { axiom_output_write(om_output, env, AXIOM_ELEMENT, 3, local_name, namespace_uri, prefix); } else { axiom_output_write(om_output, env, AXIOM_ELEMENT, 2, local_name, namespace_uri); } } else { axiom_output_write(om_output, env, AXIOM_ELEMENT, 1, local_name); } } else { axiom_output_write(om_output, env, AXIOM_TEXT, 1, local_name); } if (om_text->om_attribute) { axiom_attribute_serialize(om_text->om_attribute, env, om_output); } if (om_text->ns) { axiom_namespace_serialize(om_text->ns, env, om_output); axiom_namespace_free(om_text->ns, env); om_text->ns = NULL; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_serialize_attribute( axiom_text_t * om_text, const axutil_env_t * env, axiom_output_t * om_output, axiom_attribute_t * om_attribute) { axiom_xml_writer_t *xml_writer = NULL; axiom_namespace_t *om_namespace = NULL; axis2_char_t *namespace_uri = NULL; axis2_char_t *prefix = NULL; axis2_char_t *attribute_local_name = NULL; axis2_char_t *attribute_value = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_namespace = axiom_namespace_create(env, "", ""); namespace_uri = axiom_namespace_get_uri(om_text->ns, env); attribute_local_name = axiom_attribute_get_localname(om_attribute, env); if (om_namespace) { prefix = axiom_namespace_get_prefix(om_text->ns, env); attribute_value = axiom_attribute_get_value(om_attribute, env); if (prefix) { axiom_xml_writer_write_attribute(xml_writer, env, attribute_local_name, attribute_value); } else { axiom_xml_writer_write_attribute_with_namespace(xml_writer, env, attribute_local_name, attribute_value, namespace_uri); } } else { axiom_xml_writer_write_attribute(xml_writer, env, attribute_local_name, attribute_value); } axiom_namespace_free(om_namespace, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_serialize_namespace( axiom_text_t * om_text, const axutil_env_t * env, const axiom_namespace_t * om_namespace, axiom_output_t * om_output) { axiom_xml_writer_t *xml_writer = NULL; axis2_char_t *namespace_uri = NULL; axis2_char_t *namespace_prefix = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_namespace = axiom_namespace_create(env, "", ""); if (om_namespace) { namespace_uri = axiom_namespace_get_uri(om_text->ns, env); namespace_prefix = axiom_namespace_get_prefix(om_text->ns, env); axiom_xml_writer_write_namespace(xml_writer, env, namespace_prefix, namespace_uri); axiom_xml_writer_set_prefix(xml_writer, env, namespace_prefix, namespace_uri); } return AXIS2_SUCCESS; } AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_text_get_text( axiom_text_t * om_text, const axutil_env_t * env) { if (om_text->value) { return axutil_string_get_buffer(om_text->value, env); } else { axis2_char_t *data_handler_stream = NULL; int data_handler_stream_size = 0; if (om_text->data_handler) { int encoded_len = 0; axis2_char_t *encoded_str = NULL; axiom_data_handler_read_from(om_text->data_handler, env, &data_handler_stream, &data_handler_stream_size); if (data_handler_stream) { encoded_len = axutil_base64_encode_len(data_handler_stream_size); encoded_str = AXIS2_MALLOC(env->allocator, encoded_len + 2); if (encoded_str) { encoded_len = axutil_base64_encode(encoded_str, data_handler_stream, data_handler_stream_size); encoded_str[encoded_len] = '\0'; return encoded_str; } } } } return NULL; } AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL axiom_text_get_data_handler( axiom_text_t * om_text, const axutil_env_t * env) { return om_text->data_handler; } AXIS2_EXTERN axiom_text_t *AXIS2_CALL axiom_text_create_str( const axutil_env_t * env, axiom_node_t * parent, axutil_string_t * value, axiom_node_t ** node) { axiom_text_t *om_text = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, node, NULL); *node = axiom_node_create(env); if (!(*node)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_text = (axiom_text_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_text_t)); if (!om_text) { AXIS2_FREE(env->allocator, *node); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_text->mime_type = NULL; om_text->optimize = AXIS2_FALSE; om_text->localname = "Include"; om_text->is_binary = AXIS2_FALSE; om_text->content_id = NULL; om_text->om_attribute = NULL; om_text->value = NULL; om_text->ns = NULL; om_text->data_handler = NULL; om_text->mime_type = NULL; if (value) { om_text->value = axutil_string_clone(value, env); } axiom_node_set_data_element((*node), env, om_text); axiom_node_set_node_type((*node), env, AXIOM_TEXT); axiom_node_set_complete((*node), env, AXIS2_FALSE); if (parent && axiom_node_get_node_type(parent, env) == AXIOM_ELEMENT) { axiom_node_add_child(parent, env, (*node)); } return om_text; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_value_str( struct axiom_text * om_text, const axutil_env_t * env, axutil_string_t * value) { if (om_text->value) { axutil_string_free(om_text->value, env); om_text->value = NULL; } if (value) { om_text->value = axutil_string_clone(value, env); } return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_text_get_value_str( struct axiom_text * om_text, const axutil_env_t * env) { return om_text->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_is_swa( axiom_text_t * om_text, const axutil_env_t * env, const axis2_bool_t is_swa) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_text, AXIS2_FAILURE); om_text->is_swa = is_swa; return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/om/om_attribute.c0000644000175000017500000003145611166304640022027 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axiom_attribute { /** localname of this attribute */ axutil_string_t *localname; /** value of this attribute */ axutil_string_t *value; /** attribute namespace */ axiom_namespace_t *ns; /** store qname here */ axutil_qname_t *qname; int ref; }; AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_attribute_create( const axutil_env_t * env, const axis2_char_t * localname, const axis2_char_t * value, axiom_namespace_t * ns) { axiom_attribute_t *attribute = NULL; AXIS2_ENV_CHECK(env, NULL); /* localname is mandatory */ AXIS2_PARAM_CHECK(env->error, localname, NULL); attribute = (axiom_attribute_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_attribute_t)); if (!attribute) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } /** initialize fields */ attribute->localname = NULL; attribute->value = NULL; attribute->ns = NULL; attribute->qname = NULL; attribute->localname = axutil_string_create(env, localname); if (!(attribute->localname)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_FREE(env->allocator, attribute); return NULL; } if (value) { attribute->value = axutil_string_create(env, value); if (!(attribute->value)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axutil_string_free(attribute->localname, env); AXIS2_FREE(env->allocator, attribute); return NULL; } } attribute->ns = ns; attribute->ref = 0; return attribute; } AXIS2_EXTERN void AXIS2_CALL axiom_attribute_free( axiom_attribute_t * attribute, const axutil_env_t * env) { if (--attribute->ref > 0) { return; } AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (attribute->localname) { axutil_string_free(attribute->localname, env); } if (attribute->value) { axutil_string_free(attribute->value, env); } if (attribute->qname) { axutil_qname_free(attribute->qname, env); } AXIS2_FREE(env->allocator, attribute); return; } AXIS2_EXTERN void AXIS2_CALL axiom_attribute_free_void_arg( void *attribute, const axutil_env_t * env) { axiom_attribute_t *om_attribute_l = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_attribute_l = (axiom_attribute_t *) attribute; axiom_attribute_free(om_attribute_l, env); return; } AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axiom_attribute_get_qname( axiom_attribute_t * attribute, const axutil_env_t * env) { axutil_qname_t *qname = NULL; AXIS2_ENV_CHECK(env, NULL); if (!(attribute->qname)) { if (attribute->ns) { qname = axutil_qname_create(env, axutil_string_get_buffer(attribute-> localname, env), axiom_namespace_get_uri(attribute->ns, env), axiom_namespace_get_prefix(attribute-> ns, env)); } else { qname = axutil_qname_create(env, axutil_string_get_buffer(attribute-> localname, env), NULL, NULL); } attribute->qname = qname; return qname; } return attribute->qname; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_serialize( axiom_attribute_t * attribute, const axutil_env_t * env, axiom_output_t * om_output) { int status = AXIS2_SUCCESS; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); if (attribute->ns) { axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; uri = axiom_namespace_get_uri(attribute->ns, env); prefix = axiom_namespace_get_prefix(attribute->ns, env); if ((uri) && (NULL != prefix) && (axutil_strcmp(prefix, "") != 0)) { status = axiom_output_write(om_output, env, AXIOM_ATTRIBUTE, 4, axutil_string_get_buffer(attribute-> localname, env), axutil_string_get_buffer(attribute-> value, env), uri, prefix); } else if (uri) { status = axiom_output_write(om_output, env, AXIOM_ATTRIBUTE, 3, axutil_string_get_buffer(attribute-> localname, env), axutil_string_get_buffer(attribute-> value, env), uri); } } else { status = axiom_output_write(om_output, env, AXIOM_ATTRIBUTE, 2, axutil_string_get_buffer(attribute-> localname, env), axutil_string_get_buffer(attribute->value, env)); } return status; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_attribute_get_localname( axiom_attribute_t * attribute, const axutil_env_t * env) { if (attribute->localname) { return (axis2_char_t *) axutil_string_get_buffer(attribute->localname, env); } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_attribute_get_value( axiom_attribute_t * attribute, const axutil_env_t * env) { if (attribute->value) { return (axis2_char_t *) axutil_string_get_buffer(attribute->value, env); } return NULL; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_attribute_get_namespace( axiom_attribute_t * attribute, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return attribute->ns; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_localname( axiom_attribute_t * attribute, const axutil_env_t * env, const axis2_char_t * localname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); if (attribute->localname) { axutil_string_free(attribute->localname, env); attribute->localname = NULL; } attribute->localname = axutil_string_create(env, localname); if (!(attribute->localname)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_value( axiom_attribute_t * attribute, const axutil_env_t * env, const axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); if (attribute->value) { axutil_string_free(attribute->value, env); attribute->value = NULL; } attribute->value = axutil_string_create(env, value); if (!(attribute->value)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_namespace( axiom_attribute_t * attribute, const axutil_env_t * env, axiom_namespace_t * om_namespace) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_FUNC_PARAM_CHECK(om_namespace, env, AXIS2_FAILURE); attribute->ns = om_namespace; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_attribute_clone( axiom_attribute_t * attribute, const axutil_env_t * env) { axiom_attribute_t *cloned_attr = NULL; if (!attribute) return NULL; AXIS2_ENV_CHECK(env, NULL); /** namespace is not cloned since it is a shollow copy*/ cloned_attr = axiom_attribute_create_str(env, attribute->localname, attribute->value, attribute->ns); if (cloned_attr) { return cloned_attr; } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_increment_ref( struct axiom_attribute * om_attribute, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); om_attribute->ref++; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_attribute_create_str( const axutil_env_t * env, axutil_string_t * localname, axutil_string_t * value, axiom_namespace_t * ns) { axiom_attribute_t *attribute = NULL; AXIS2_ENV_CHECK(env, NULL); /* localname is mandatory */ AXIS2_PARAM_CHECK(env->error, localname, NULL); attribute = (axiom_attribute_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_attribute_t)); if (!attribute) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } /** initialize fields */ attribute->localname = NULL; attribute->value = NULL; attribute->ns = NULL; attribute->qname = NULL; attribute->localname = axutil_string_clone(localname, env); if (!(attribute->localname)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_FREE(env->allocator, attribute); return NULL; } if (value) { attribute->value = axutil_string_clone(value, env); if (!(attribute->value)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); axutil_string_free(attribute->localname, env); AXIS2_FREE(env->allocator, attribute); return NULL; } } attribute->ns = ns; attribute->ref = 0; return attribute; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_attribute_get_localname_str( axiom_attribute_t * attribute, const axutil_env_t * env) { return attribute->localname; } AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_attribute_get_value_str( axiom_attribute_t * attribute, const axutil_env_t * env) { return attribute->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_localname_str( axiom_attribute_t * attribute, const axutil_env_t * env, axutil_string_t * localname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); if (attribute->localname) { axutil_string_free(attribute->localname, env); attribute->localname = NULL; } attribute->localname = axutil_string_clone(localname, env); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_value_str( axiom_attribute_t * attribute, const axutil_env_t * env, axutil_string_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); if (attribute->value) { axutil_string_free(attribute->value, env); attribute->value = NULL; } attribute->value = axutil_string_clone(value, env); if (!(attribute->value)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/om/om_children_qname_iterator.c0000644000175000017500000001416011166304640024677 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct axiom_children_qname_iterator { axiom_node_t *current_child; axiom_node_t *last_child; axis2_bool_t next_called; axis2_bool_t remove_called; axutil_qname_t *given_qname; axis2_bool_t need_to_move_forward; axis2_bool_t matching_node_found; }; AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL axiom_children_qname_iterator_create( const axutil_env_t * env, axiom_node_t * current_child, axutil_qname_t * given_qname) { axiom_children_qname_iterator_t *iterator = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, current_child, NULL); iterator = (axiom_children_qname_iterator_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_children_qname_iterator_t)); if (!iterator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } iterator->current_child = NULL; iterator->last_child = NULL; iterator->need_to_move_forward = AXIS2_TRUE; iterator->matching_node_found = AXIS2_FALSE; iterator->next_called = AXIS2_FALSE; iterator->remove_called = AXIS2_FALSE; iterator->given_qname = NULL; iterator->current_child = current_child; if (given_qname) { iterator->given_qname = axutil_qname_clone(given_qname, env); if (!(iterator->given_qname)) { axiom_children_qname_iterator_free(iterator, env); return NULL; } } return iterator; } AXIS2_EXTERN void AXIS2_CALL axiom_children_qname_iterator_free( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (iterator->given_qname) { axutil_qname_free(iterator->given_qname, env); } AXIS2_FREE(env->allocator, iterator); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_qname_iterator_remove( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, iterator, AXIS2_FAILURE); if (!(iterator->next_called)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ITERATOR_NEXT_METHOD_HAS_NOT_YET_BEEN_CALLED, AXIS2_FAILURE); return AXIS2_FAILURE; } if (iterator->remove_called) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ITERATOR_REMOVE_HAS_ALREADY_BEING_CALLED, AXIS2_FAILURE); return AXIS2_FAILURE; } iterator->remove_called = AXIS2_TRUE; if (!(iterator->last_child)) return AXIS2_FAILURE; axiom_node_free_tree(iterator->last_child, env); iterator->last_child = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_children_qname_iterator_has_next( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env) { while (iterator->need_to_move_forward) { if (iterator->current_child) { axiom_element_t *om_element = NULL; axutil_qname_t *element_qname = NULL; if (axiom_node_get_node_type(iterator->current_child, env) == AXIOM_ELEMENT) { om_element = (axiom_element_t *) axiom_node_get_data_element(iterator-> current_child, env); } if(om_element) { element_qname = axiom_element_get_qname(om_element, env, iterator->current_child); } if (om_element && axutil_qname_equals(element_qname, env, iterator->given_qname)) { iterator->matching_node_found = AXIS2_TRUE; iterator->need_to_move_forward = AXIS2_FALSE; } else { iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); if (iterator->current_child) { iterator->need_to_move_forward = AXIS2_TRUE; iterator->matching_node_found = AXIS2_TRUE; } else { iterator->need_to_move_forward = AXIS2_FALSE; iterator->matching_node_found = AXIS2_FALSE; } } } else { iterator->need_to_move_forward = AXIS2_FALSE; } } return iterator->matching_node_found; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_children_qname_iterator_next( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); iterator->need_to_move_forward = AXIS2_TRUE; iterator->matching_node_found = AXIS2_FALSE; iterator->next_called = AXIS2_TRUE; iterator->remove_called = AXIS2_FALSE; iterator->last_child = iterator->current_child; if (iterator->current_child) { iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); } return iterator->last_child; } axis2c-src-1.6.0/axiom/src/om/om_child_element_iterator.c0000644000175000017500000000705511166304640024527 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct axiom_child_element_iterator { axiom_node_t *current_child; axiom_node_t *last_child; axis2_bool_t next_called; axis2_bool_t remove_called; }; AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL axiom_child_element_iterator_create( const axutil_env_t * env, axiom_node_t * current_child) { axiom_child_element_iterator_t *iterator = NULL; AXIS2_ENV_CHECK(env, NULL); iterator = (axiom_child_element_iterator_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_child_element_iterator_t)); if (!iterator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } iterator->current_child = current_child; iterator->last_child = NULL; iterator->next_called = AXIS2_FALSE; iterator->remove_called = AXIS2_FALSE; return iterator; } AXIS2_EXTERN void AXIS2_CALL axiom_child_element_iterator_free( void *iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_FREE(env->allocator, iterator); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_child_element_iterator_remove( axiom_child_element_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, iterator, AXIS2_FAILURE); if (!(iterator->next_called)) return AXIS2_FAILURE; if (iterator->remove_called) return AXIS2_FAILURE; iterator->remove_called = AXIS2_TRUE; if (!(iterator->last_child)) return AXIS2_FAILURE; axiom_node_free_tree(iterator->last_child, env); iterator->last_child = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_child_element_iterator_has_next( axiom_child_element_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return (iterator->current_child) ? AXIS2_TRUE : AXIS2_FALSE; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_child_element_iterator_next( axiom_child_element_iterator_t * iterator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); iterator->next_called = AXIS2_TRUE; iterator->remove_called = AXIS2_FALSE; if (iterator->current_child) { iterator->last_child = iterator->current_child; do { iterator->current_child = axiom_node_get_next_sibling(iterator->current_child, env); } while (iterator->current_child && (axiom_node_get_node_type(iterator->current_child, env) != AXIOM_ELEMENT)); return iterator->last_child; } return NULL; } axis2c-src-1.6.0/axiom/src/om/om_navigator.c0000644000175000017500000001177011166304640022013 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include static void axiom_navigator_update_next_node( axiom_navigator_t * om_navigator, const axutil_env_t * env); struct axiom_navigator { axiom_node_t *node; axis2_bool_t visited; axiom_node_t *next; axiom_node_t *root; axis2_bool_t backtracked; axis2_bool_t end; axis2_bool_t start; }; AXIS2_EXTERN axiom_navigator_t *AXIS2_CALL axiom_navigator_create( const axutil_env_t * env, axiom_node_t * om_node) { axiom_navigator_t *om_navigator = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, om_node, NULL); om_navigator = (axiom_navigator_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_navigator_t)); if (!om_navigator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } om_navigator->node = NULL; om_navigator->visited = AXIS2_FALSE; om_navigator->next = NULL; om_navigator->root = NULL; om_navigator->end = AXIS2_FALSE; om_navigator->start = AXIS2_TRUE; om_navigator->backtracked = AXIS2_FALSE; om_navigator->next = om_node; om_navigator->root = om_node; return om_navigator; } AXIS2_EXTERN void AXIS2_CALL axiom_navigator_free( axiom_navigator_t * om_navigator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_FREE(env->allocator, om_navigator); return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_navigator_is_navigable( axiom_navigator_t * om_navigator, const axutil_env_t * env) { if (AXIS2_TRUE == om_navigator->end) { return AXIS2_FALSE; } else { if (om_navigator->next) { return AXIS2_TRUE; } } return AXIS2_FALSE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_navigator_is_completed( axiom_navigator_t * om_navigator, const axutil_env_t * env) { return om_navigator->end; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_navigator_visited( axiom_navigator_t * om_navigator, const axutil_env_t * env) { return om_navigator->visited; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_navigator_next( axiom_navigator_t * om_navigator, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); if (!om_navigator->next) { return NULL; } om_navigator->node = om_navigator->next; om_navigator->visited = om_navigator->backtracked; om_navigator->backtracked = AXIS2_FALSE; axiom_navigator_update_next_node(om_navigator, env); /** set the starting and ending flags */ if (om_navigator->root == om_navigator->next) { if (!(om_navigator->start)) { om_navigator->end = AXIS2_TRUE; } else { om_navigator->start = AXIS2_FALSE; } } return om_navigator->node; } /** this method encapsulate searching logic */ static void axiom_navigator_update_next_node( axiom_navigator_t * om_navigator, const axutil_env_t * env) { if (!om_navigator) { return; } if (!om_navigator->next) { return; } if ((AXIOM_ELEMENT == axiom_node_get_node_type(om_navigator->next, env)) && !(om_navigator->visited)) { if (axiom_node_get_first_child(om_navigator->next, env)) { om_navigator->next = axiom_node_get_first_child(om_navigator->next, env); } else if (AXIS2_TRUE == axiom_node_is_complete(om_navigator->next, env)) { om_navigator->backtracked = AXIS2_TRUE; } else { om_navigator->next = NULL; } } else { axiom_node_t *parent = NULL; axiom_node_t *next_sibling = NULL; next_sibling = axiom_node_get_next_sibling(om_navigator->next, env); parent = axiom_node_get_parent(om_navigator->next, env); if (next_sibling) { om_navigator->next = next_sibling; } else if ((parent) && axiom_node_is_complete(parent, env)) { om_navigator->next = parent; om_navigator->backtracked = AXIS2_TRUE; } else { om_navigator->next = NULL; } } } axis2c-src-1.6.0/axiom/src/soap/0000777000175000017500000000000011172017535017510 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/soap/soap_fault_node.c0000644000175000017500000001217411166304631023016 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_fault_node.h" #include #include #include "_axiom_soap_fault.h" struct axiom_soap_fault_node { axiom_node_t *om_ele_node; }; AXIS2_EXTERN axiom_soap_fault_node_t *AXIS2_CALL axiom_soap_fault_node_create( const axutil_env_t * env) { axiom_soap_fault_node_t *fault_node = NULL; fault_node = (axiom_soap_fault_node_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_node_t)); if (!fault_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create a SOAP fault node"); return NULL; } fault_node->om_ele_node = NULL; return fault_node; } AXIS2_EXTERN axiom_soap_fault_node_t *AXIS2_CALL axiom_soap_fault_node_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault) { axiom_soap_fault_node_t *fault_node = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; AXIS2_PARAM_CHECK(env->error, fault, NULL); fault_node = axiom_soap_fault_node_create(env); if (!fault_node) { return NULL; } parent_node = axiom_soap_fault_get_base_node(fault, env); if (!parent_node) { axiom_soap_fault_node_free(fault_node, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_node_free(fault_node, env); return NULL; } parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_NODE_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_node_free(fault_node, env); return NULL; } fault_node->om_ele_node = this_node; axiom_soap_fault_set_node(fault, env, fault_node); return fault_node; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_node_free( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env) { AXIS2_FREE(env->allocator, fault_node); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_node_set_value( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env, axis2_char_t * uri) { axiom_element_t *om_ele = NULL; AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); if (fault_node->om_ele_node) { om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_node-> om_ele_node, env); if (om_ele) { return axiom_element_set_text(om_ele, env, uri, fault_node->om_ele_node); } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_node_get_value( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; if (fault_node->om_ele_node) { om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_node-> om_ele_node, env); if (om_ele) { return axiom_element_get_text(om_ele, env, fault_node->om_ele_node); } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_node_set_base_node( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_node->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_node_get_base_node( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env) { return fault_node->om_ele_node; } axis2c-src-1.6.0/axiom/src/soap/soap_fault_value.c0000644000175000017500000001605311166304631023205 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "_axiom_soap_fault_sub_code.h" #include "_axiom_soap_fault_code.h" #include #include struct axiom_soap_fault_value { /** store om element node */ axiom_node_t *om_ele_node; }; AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_value_create( const axutil_env_t * env) { axiom_soap_fault_value_t *fault_value = NULL; fault_value = (axiom_soap_fault_value_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_value_t)); if (!fault_value) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP fault value"); return NULL; } fault_value->om_ele_node = NULL; return fault_value; } AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_value_create_with_subcode( const axutil_env_t * env, axiom_soap_fault_sub_code_t * parent) { axiom_soap_fault_value_t *fault_value = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_namespace_t *parent_ns = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; int soap_version = -1; AXIS2_PARAM_CHECK(env->error, parent, NULL); fault_value = axiom_soap_fault_value_create(env); if (!fault_value) { return NULL; } parent_node = axiom_soap_fault_sub_code_get_base_node(parent, env); if (!parent_node) { axiom_soap_fault_value_free(fault_value, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_value_free(fault_value, env); return NULL; } soap_version = axiom_soap_fault_sub_code_get_soap_version(parent, env); if (soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_value_free(fault_value, env); return NULL; } fault_value->om_ele_node = this_node; axiom_soap_fault_sub_code_set_value(parent, env, fault_value); return fault_value; } AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_value_create_with_code( const axutil_env_t * env, axiom_soap_fault_code_t * parent) { axiom_soap_fault_value_t *fault_value = NULL; int soap_version = -1; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_namespace_t *parent_ns = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; AXIS2_PARAM_CHECK(env->error, parent, NULL); fault_value = axiom_soap_fault_value_create(env); if (!fault_value) { return NULL; } parent_node = axiom_soap_fault_code_get_base_node(parent, env); if (!parent_node) { axiom_soap_fault_value_free(fault_value, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_value_free(fault_value, env); return NULL; } soap_version = axiom_soap_fault_code_get_soap_version(parent, env); if (soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_value_free(fault_value, env); return NULL; } fault_value->om_ele_node = this_node; axiom_soap_fault_code_set_value(parent, env, fault_value); return fault_value; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_value_free( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env) { AXIS2_FREE(env->allocator, fault_value); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_value_set_base_node( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env, axiom_node_t * node) { if (node && (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT)) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_value->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_value_get_base_node( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env) { return fault_value->om_ele_node; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_value_get_text( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env) { axiom_node_t *value_node = NULL; axiom_element_t *value_element = NULL; value_node = axiom_soap_fault_value_get_base_node(fault_value, env); if (!value_node) { return NULL; } value_element = (axiom_element_t *) axiom_node_get_data_element(value_node, env); if (!value_element) { return NULL; } return axiom_element_get_text(value_element, env, value_node); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_value_set_text( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env, axis2_char_t * text) { AXIS2_PARAM_CHECK(env->error, text, AXIS2_FAILURE); if (fault_value->om_ele_node && axiom_node_get_node_type(fault_value->om_ele_node, env) == AXIOM_ELEMENT) { axiom_element_t *om_ele = NULL; om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_value->om_ele_node, env); return axiom_element_set_text(om_ele, env, text, fault_value->om_ele_node); } return AXIS2_FAILURE; } axis2c-src-1.6.0/axiom/src/soap/soap_fault_sub_code.c0000644000175000017500000002162111166304631023651 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "_axiom_soap_fault_code.h" #include #include struct axiom_soap_fault_sub_code { /* corresponding om element node */ axiom_node_t *om_ele_node; /* sub element fault value */ axiom_soap_fault_value_t *value; /* sub element fault subcode */ axiom_soap_fault_sub_code_t *subcode; /* pointer to soap builder */ axiom_soap_builder_t *builder; int soap_version; }; AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_create( const axutil_env_t * env) { axiom_soap_fault_sub_code_t *fault_sub_code = NULL; AXIS2_ENV_CHECK(env, NULL); fault_sub_code = (axiom_soap_fault_sub_code_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_sub_code_t)); if (!fault_sub_code) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP fault sub-code"); return NULL; } fault_sub_code->om_ele_node = NULL; fault_sub_code->value = NULL; fault_sub_code->subcode = NULL; fault_sub_code->builder = NULL; return fault_sub_code; } AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_create_with_parent( const axutil_env_t * env, axiom_soap_fault_code_t * fault_code) { axiom_soap_fault_sub_code_t *fault_sub_code = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; AXIS2_PARAM_CHECK(env->error, fault_code, NULL); fault_sub_code = axiom_soap_fault_sub_code_create(env); if (!fault_sub_code) { return NULL; } parent_node = axiom_soap_fault_code_get_base_node(fault_code, env); if (!parent_node) { axiom_soap_fault_sub_code_free(fault_sub_code, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_sub_code_free(fault_sub_code, env); return NULL; } fault_sub_code->soap_version = axiom_soap_fault_code_get_soap_version(fault_code, env); if (fault_sub_code->soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_sub_code_free(fault_sub_code, env); return NULL; } fault_sub_code->om_ele_node = this_node; axiom_soap_fault_code_set_sub_code(fault_code, env, fault_sub_code); return fault_sub_code; } AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_create_with_parent_value( const axutil_env_t * env, axiom_soap_fault_code_t * fault_code, axis2_char_t * value) { axiom_soap_fault_sub_code_t *fault_sub_code = NULL; axiom_soap_fault_value_t *fault_value = NULL; AXIS2_PARAM_CHECK(env->error, value, NULL); fault_sub_code = axiom_soap_fault_sub_code_create_with_parent(env, fault_code); if (!fault_sub_code) { return NULL; } fault_value = axiom_soap_fault_value_create_with_subcode(env, fault_sub_code); if (!fault_value) { axiom_soap_fault_sub_code_free(fault_sub_code, env); return NULL; } axiom_soap_fault_value_set_text(fault_value, env, value); return fault_sub_code; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_sub_code_free( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env) { if (fault_sub_code->value) { axiom_soap_fault_value_free(fault_sub_code->value, env); fault_sub_code->value = NULL; } if (fault_sub_code->subcode) { axiom_soap_fault_sub_code_free(fault_sub_code->subcode, env); fault_sub_code->subcode = NULL; } AXIS2_FREE(env->allocator, fault_sub_code); fault_sub_code = NULL; return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_sub_code( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, axiom_soap_fault_sub_code_t * subcode) { AXIS2_PARAM_CHECK(env->error, subcode, AXIS2_FAILURE); if (!(fault_sub_code->subcode)) { fault_sub_code->subcode = subcode; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "error tring to set fault subcode more than once"); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_sub_code_get_value( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (fault_sub_code->builder) { while (!(fault_sub_code->value) && !axiom_node_is_complete(fault_sub_code->om_ele_node, env)) { status = axiom_soap_builder_next(fault_sub_code->builder, env); if (status == AXIS2_FAILURE) { break; } } } return fault_sub_code->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_value( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, axiom_soap_fault_value_t * fault_sub_code_val) { AXIS2_PARAM_CHECK(env->error, fault_sub_code_val, AXIS2_FAILURE); if (!(fault_sub_code->value)) { fault_sub_code->value = fault_sub_code_val; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "error tring to set fault subcode value more than once"); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_get_subcode( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (fault_sub_code->builder) { while (!(fault_sub_code->subcode) && !axiom_node_is_complete(fault_sub_code->om_ele_node, env)) { status = axiom_soap_builder_next(fault_sub_code->builder, env); if (status == AXIS2_FAILURE) { break; } } } return fault_sub_code->subcode; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_base_node( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_sub_code->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_sub_code_get_base_node( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env) { return fault_sub_code->om_ele_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_builder( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, axiom_soap_builder_t * builder) { AXIS2_PARAM_CHECK(env->error, builder, AXIS2_FAILURE); fault_sub_code->builder = builder; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_soap_version( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, int soap_version) { fault_sub_code->soap_version = soap_version; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_fault_sub_code_get_soap_version( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env) { return fault_sub_code->soap_version; } axis2c-src-1.6.0/axiom/src/soap/soap_fault_role.c0000644000175000017500000001226511166304631023033 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "_axiom_soap_fault.h" #include #include struct axiom_soap_fault_role { axiom_node_t *om_ele_node; }; AXIS2_EXTERN axiom_soap_fault_role_t *AXIS2_CALL axiom_soap_fault_role_create( const axutil_env_t * env) { axiom_soap_fault_role_t *fault_role = NULL; fault_role = (axiom_soap_fault_role_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_role_t)); if (!fault_role) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP fault role"); return NULL; } fault_role->om_ele_node = NULL; return fault_role; } AXIS2_EXTERN axiom_soap_fault_role_t *AXIS2_CALL axiom_soap_fault_role_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault) { axiom_soap_fault_role_t *fault_role = NULL; int soap_version = -1; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; AXIS2_PARAM_CHECK(env->error, fault, NULL); fault_role = axiom_soap_fault_role_create(env); if (!fault_role) { return NULL; } parent_node = axiom_soap_fault_get_base_node(fault, env); if (!parent_node) { axiom_soap_fault_role_free(fault_role, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_role_free(fault_role, env); return NULL; } soap_version = axiom_soap_fault_get_soap_version(fault, env); if (soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_role_free(fault_role, env); return NULL; } fault_role->om_ele_node = this_node; axiom_soap_fault_set_role(fault, env, fault_role); return fault_role; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_role_free( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env) { AXIS2_FREE(env->allocator, fault_role); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_role_set_role_value( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env, axis2_char_t * uri) { axiom_element_t *role_ele = NULL; AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); if (!fault_role->om_ele_node) { return AXIS2_FAILURE; } role_ele = (axiom_element_t *) axiom_node_get_data_element (fault_role->om_ele_node, env); if (role_ele) { return axiom_element_set_text(role_ele, env, uri, fault_role->om_ele_node); } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_role_get_role_value( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env) { axiom_element_t *role_ele = NULL; if (!fault_role->om_ele_node) { return NULL; } role_ele = (axiom_element_t *) axiom_node_get_data_element (fault_role->om_ele_node, env); if (role_ele) { return axiom_element_get_text(role_ele, env, fault_role->om_ele_node); } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_role_set_base_node( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_role->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_role_get_base_node( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env) { return fault_role->om_ele_node; } axis2c-src-1.6.0/axiom/src/soap/soap_fault_text.c0000644000175000017500000002242511166304631023055 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "_axiom_soap_fault_text.h" #include "_axiom_soap_fault_reason.h" #include #include struct axiom_soap_fault_text { axiom_attribute_t *lang_attribute; axiom_namespace_t *lang_namespace; axiom_node_t *om_ele_node; axis2_bool_t lang_ns_used; }; AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL axiom_soap_fault_text_create( const axutil_env_t * env) { axiom_soap_fault_text_t *fault_text = NULL; fault_text = (axiom_soap_fault_text_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_text_t)); if (!fault_text) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP fault text"); return NULL; } fault_text->om_ele_node = NULL; fault_text->lang_attribute = NULL; fault_text->lang_namespace = NULL; fault_text->lang_ns_used = AXIS2_FALSE; fault_text->lang_namespace = axiom_namespace_create(env, AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_URI, AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX); if (!(fault_text->lang_namespace)) { return NULL; } return fault_text; } AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL axiom_soap_fault_text_create_with_parent( const axutil_env_t * env, axiom_soap_fault_reason_t * parent) { axiom_soap_fault_text_t *fault_text = NULL; axiom_element_t *this_ele = NULL; int soap_version = -1; axiom_node_t *this_node = NULL; axiom_namespace_t *parent_ns = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; AXIS2_PARAM_CHECK(env->error, parent, NULL); fault_text = axiom_soap_fault_text_create(env); if (!fault_text) { return NULL; } parent_node = axiom_soap_fault_reason_get_base_node(parent, env); if (!parent_node) { axiom_soap_fault_text_free(fault_text, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_text_free(fault_text, env); return NULL; } soap_version = axiom_soap_fault_reason_get_soap_version(parent, env); if (AXIOM_SOAP12 == soap_version) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_TEXT_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_text_free(fault_text, env); return NULL; } fault_text->om_ele_node = this_node; axiom_soap_fault_reason_add_soap_fault_text(parent, env, fault_text); return fault_text; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_text_free( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env) { if (fault_text->lang_ns_used == AXIS2_FALSE && fault_text->lang_namespace) { axiom_namespace_free(fault_text->lang_namespace, env); fault_text->lang_namespace = NULL; } AXIS2_FREE(env->allocator, fault_text); fault_text = NULL; return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_text_set_lang( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env, const axis2_char_t * lang) { int status = AXIS2_SUCCESS; axiom_element_t *om_ele = NULL; AXIS2_PARAM_CHECK(env->error, lang, AXIS2_FAILURE); if (fault_text->lang_attribute) { axis2_char_t *attr_lang = NULL; attr_lang = axiom_attribute_get_value(fault_text->lang_attribute, env); if (attr_lang) { if (axutil_strcmp(attr_lang, lang) == 0) { /** this attribute already exists */ return AXIS2_SUCCESS; } } axiom_attribute_set_value(fault_text->lang_attribute, env, lang); return AXIS2_SUCCESS; } fault_text->lang_attribute = axiom_attribute_create(env, AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME, lang, fault_text-> lang_namespace); if (!fault_text->lang_attribute) { return AXIS2_FAILURE; } if (!fault_text->om_ele_node) { return AXIS2_FAILURE; } om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_text->om_ele_node, env); if (!om_ele) { return AXIS2_FAILURE; } status = axiom_element_add_attribute(om_ele, env, fault_text->lang_attribute, fault_text->om_ele_node); if (status == AXIS2_SUCCESS) { fault_text->lang_ns_used = AXIS2_TRUE; } else { axiom_attribute_free(fault_text->lang_attribute, env); fault_text->lang_attribute = NULL; } return status; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_text_get_lang( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; axutil_qname_t *tmp_qname = NULL; if (!fault_text->om_ele_node) { return NULL; } om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_text->om_ele_node, env); if (!om_ele) { return NULL; } if (!(fault_text->lang_attribute)) { /* this logic need to be rechecked */ tmp_qname = axutil_qname_create(env, AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME, AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_URI, AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX); fault_text->lang_attribute = axiom_element_get_attribute(om_ele, env, tmp_qname); axutil_qname_free(tmp_qname, env); } if (fault_text->lang_attribute) { return axiom_attribute_get_value(fault_text->lang_attribute, env); } else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_text_set_base_node( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env, axiom_node_t * node) { if (node && (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT)) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_text->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_text_get_base_node( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env) { return fault_text->om_ele_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_text_set_text( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env, axis2_char_t * value, axis2_char_t * lang) { AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); if (fault_text->om_ele_node) { axiom_element_t *text_ele = NULL; text_ele = (axiom_element_t *) axiom_node_get_data_element(fault_text->om_ele_node, env); if (text_ele) { axiom_element_set_text(text_ele, env, value, fault_text->om_ele_node); if (lang) { axiom_soap_fault_text_set_lang(fault_text, env, lang); } return AXIS2_SUCCESS; } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_text_get_text( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env) { axis2_char_t *text = NULL; if (fault_text->om_ele_node) { axiom_element_t *text_ele = NULL; text_ele = (axiom_element_t *) axiom_node_get_data_element(fault_text->om_ele_node, env); if (text_ele) { text = axiom_element_get_text(text_ele, env, fault_text->om_ele_node); return text; } } return NULL; } axis2c-src-1.6.0/axiom/src/soap/soap11_builder_helper.c0000644000175000017500000003130111166304631024016 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axiom_soap11_builder_helper.h" #include #include #include #include "_axiom_soap_fault_code.h" #include "_axiom_soap_fault_value.h" #include "_axiom_soap_fault_reason.h" #include "_axiom_soap_fault.h" #include "_axiom_soap_body.h" #include "_axiom_soap_fault_detail.h" #include #include "_axiom_soap_fault_role.h" #include #include static axis2_status_t axiom_soap11_builder_helper_process_text( axiom_soap11_builder_helper_t * builder_helper, const axutil_env_t * env); struct axiom_soap11_builder_helper { axiom_soap_builder_t *soap_builder; axis2_bool_t fault_code_present; axis2_bool_t fault_string_present; axiom_stax_builder_t *om_builder; axiom_node_t *last_processed_node; }; AXIS2_EXTERN axiom_soap11_builder_helper_t *AXIS2_CALL axiom_soap11_builder_helper_create( const axutil_env_t * env, axiom_soap_builder_t * soap_builder, axiom_stax_builder_t * om_builder) { axiom_soap11_builder_helper_t *builder_helper = NULL; AXIS2_PARAM_CHECK(env->error, soap_builder, NULL); AXIS2_PARAM_CHECK(env->error, om_builder, NULL); builder_helper = (axiom_soap11_builder_helper_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_soap11_builder_helper_t)); if (!builder_helper) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP 1.1 builder helper"); return NULL; } builder_helper->fault_code_present = AXIS2_FALSE; builder_helper->fault_string_present = AXIS2_FALSE; builder_helper->last_processed_node = NULL; builder_helper->om_builder = NULL; builder_helper->soap_builder = soap_builder; builder_helper->om_builder = om_builder; return builder_helper; } AXIS2_EXTERN void AXIS2_CALL axiom_soap11_builder_helper_free( axiom_soap11_builder_helper_t * builder_helper, const axutil_env_t * env) { AXIS2_FREE(env->allocator, builder_helper); builder_helper = NULL; return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap11_builder_helper_handle_event( axiom_soap11_builder_helper_t * builder_helper, const axutil_env_t * env, axiom_node_t * om_element_node, int element_level) { axiom_element_t *om_ele = NULL; axis2_char_t *ele_localname = NULL; axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; AXIS2_PARAM_CHECK(env->error, om_element_node, AXIS2_FAILURE); om_ele = (axiom_element_t *) axiom_node_get_data_element(om_element_node, env); ele_localname = axiom_element_get_localname(om_ele, env); if (!ele_localname) { return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(builder_helper->soap_builder, env); if (!soap_envelope) { return AXIS2_FAILURE; } soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) { return AXIS2_FAILURE; } soap_fault = axiom_soap_body_get_fault(soap_body, env); if (!soap_fault) { return AXIS2_FAILURE; } if (element_level == 4) { axiom_soap_fault_code_t *fault_code = NULL; axiom_soap_fault_value_t *fault_value = NULL; axiom_node_t *fault_value_node = NULL; axiom_element_t *fault_value_ele = NULL; if (axutil_strcmp (ele_localname, AXIOM_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME) == 0) { axis2_status_t status = AXIS2_SUCCESS; if (builder_helper->fault_string_present) { axiom_soap_builder_set_bool_processing_mandatory_fault_elements (builder_helper->soap_builder, env, AXIS2_FALSE); } fault_code = axiom_soap_fault_code_create(env); if (!fault_code) { return AXIS2_FAILURE; } axiom_soap_fault_code_set_base_node(fault_code, env, om_element_node); axiom_soap_fault_set_code(soap_fault, env, fault_code); axiom_soap_fault_code_set_builder(fault_code, env, builder_helper->soap_builder); axiom_element_set_localname(om_ele, env, AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME); fault_value = axiom_soap_fault_value_create_with_code(env, fault_code); if (!fault_value) { return AXIS2_FAILURE; } fault_value_node = axiom_soap_fault_value_get_base_node(fault_value, env); if (!fault_value_node) { return AXIS2_FAILURE; } fault_value_ele = (axiom_element_t *) axiom_node_get_data_element(fault_value_node, env); axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, fault_value_node); status = axiom_soap11_builder_helper_process_text(builder_helper, env); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, om_element_node); axiom_node_set_complete(om_element_node, env, AXIS2_TRUE); axiom_stax_builder_set_element_level(builder_helper->om_builder, env, (element_level - 1)); builder_helper->fault_code_present = AXIS2_TRUE; } else if (axutil_strcmp (AXIOM_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME, ele_localname) == 0) { axiom_soap_fault_reason_t *fault_reason = NULL; axiom_soap_fault_text_t *fault_text = NULL; axiom_node_t *fault_text_node = NULL; int status = AXIS2_SUCCESS; if (builder_helper->fault_code_present) { axiom_soap_builder_set_bool_processing_mandatory_fault_elements (builder_helper->soap_builder, env, AXIS2_FALSE); } axiom_element_set_localname(om_ele, env, AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME); fault_reason = axiom_soap_fault_reason_create(env); if (!fault_reason) { return AXIS2_FAILURE; } axiom_soap_fault_reason_set_base_node(fault_reason, env, om_element_node); axiom_soap_fault_set_reason(soap_fault, env, fault_reason); fault_text = axiom_soap_fault_text_create_with_parent(env, fault_reason); if (!fault_text) { return AXIS2_FAILURE; } fault_text_node = axiom_soap_fault_text_get_base_node(fault_text, env); if (!fault_text_node) { return AXIS2_FAILURE; } axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, fault_text_node); status = axiom_soap11_builder_helper_process_text(builder_helper, env); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } axiom_stax_builder_set_lastnode(builder_helper->om_builder, env, om_element_node); axiom_node_set_complete(om_element_node, env, AXIS2_TRUE); axiom_stax_builder_set_element_level(builder_helper->om_builder, env, (element_level - 1)); builder_helper->fault_string_present = AXIS2_TRUE; } else if (axutil_strcmp (AXIOM_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME, ele_localname) == 0) { axiom_soap_fault_role_t *fault_role = NULL; fault_role = axiom_soap_fault_role_create(env); if (!fault_role) { return AXIS2_FAILURE; } axiom_element_set_localname(om_ele, env, AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME); axiom_soap_fault_role_set_base_node(fault_role, env, om_element_node); axiom_soap_fault_set_role(soap_fault, env, fault_role); /* Role element may not have a namespace associated, hence commented, else it segfaults here - Samisa status = axiom_soap_builder_process_namespace_data( builder_helper->soap_builder, env, om_element_node, AXIS2_TRUE); if(status == AXIS2_FAILURE) return AXIS2_FAILURE; */ } else if (axutil_strcmp (AXIOM_SOAP11_SOAP_FAULT_DETAIL_LOCAL_NAME, ele_localname) == 0) { axiom_soap_fault_detail_t *fault_detail = NULL; fault_detail = axiom_soap_fault_detail_create(env); if (!fault_detail) { return AXIS2_FAILURE; } axiom_element_set_localname(om_ele, env, AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME); axiom_soap_fault_detail_set_base_node(fault_detail, env, om_element_node); axiom_soap_fault_set_detail(soap_fault, env, fault_detail); } else { return AXIS2_SUCCESS; } } else if (element_level == 5) { axiom_node_t *parent_node = NULL; axiom_element_t *parent_element = NULL; axis2_char_t *parent_localname = NULL; parent_node = axiom_node_get_parent(om_element_node, env); if (!parent_node) { return AXIS2_FAILURE; } parent_element = (axiom_element_t *) axiom_node_get_data_element(om_element_node, env); parent_localname = axiom_element_get_localname(parent_element, env); if (!parent_localname) { return AXIS2_FAILURE; } if (axutil_strcmp (parent_localname, AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME) == 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP11_FAULT_ACTOR_SHOULD_NOT_HAVE_CHILD_ELEMENTS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP 1.1 Actor should not have child elements"); return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } static axis2_status_t axiom_soap11_builder_helper_process_text( axiom_soap11_builder_helper_t * builder_helper, const axutil_env_t * env) { int token = 0; token = axiom_stax_builder_next_with_token(builder_helper->om_builder, env); if (token == -1) { return AXIS2_FAILURE; } while (token != AXIOM_XML_READER_END_ELEMENT) { if (token != AXIOM_XML_READER_CHARACTER) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ONLY_CHARACTERS_ARE_ALLOWED_HERE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unidentified character in SOAP 1.1 builder helper processing"); return AXIS2_FAILURE; } token = axiom_stax_builder_next_with_token(builder_helper->om_builder, env); if (token == -1) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/soap/soap_fault_reason.c0000644000175000017500000002655011166304631023363 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "_axiom_soap_fault.h" #include #include #include #include struct axiom_soap_fault_reason { /* corresponding om element node */ axiom_node_t *om_ele_node; axutil_array_list_t *fault_texts; /* pointer to soap builder */ axiom_soap_builder_t *soap_builder; int soap_version; }; static axis2_bool_t axiom_soap_fault_reason_lang_exists( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axis2_char_t * lang); AXIS2_EXTERN axiom_soap_fault_reason_t *AXIS2_CALL axiom_soap_fault_reason_create( const axutil_env_t * env) { axiom_soap_fault_reason_t *fault_reason = NULL; fault_reason = (axiom_soap_fault_reason_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_reason_t)); if (!fault_reason) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP fault reason"); return NULL; } fault_reason->om_ele_node = NULL; fault_reason->fault_texts = NULL; fault_reason->soap_version = -1; return fault_reason; } AXIS2_EXTERN axiom_soap_fault_reason_t *AXIS2_CALL axiom_soap_fault_reason_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault) { axiom_soap_fault_reason_t *fault_reason = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; AXIS2_PARAM_CHECK(env->error, fault, NULL); fault_reason = axiom_soap_fault_reason_create(env); if (!fault_reason) { return NULL; } parent_node = axiom_soap_fault_get_base_node(fault, env); if (!parent_node) { return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { return NULL; } fault_reason->soap_version = axiom_soap_fault_get_soap_version(fault, env); if (fault_reason->soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { return NULL; } fault_reason->om_ele_node = this_node; axiom_soap_fault_set_reason(fault, env, fault_reason); return fault_reason; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_reason_free( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env) { if (fault_reason->fault_texts) { int size = 0; int i = 0; size = axutil_array_list_size(fault_reason->fault_texts, env); for (i = 0; i < size; i++) { axiom_soap_fault_text_t *fault_text = NULL; void *value = NULL; value = axutil_array_list_get(fault_reason->fault_texts, env, i); if (value) { fault_text = (axiom_soap_fault_text_t *) value; axiom_soap_fault_text_free(fault_text, env); fault_text = NULL; } } axutil_array_list_free(fault_reason->fault_texts, env); fault_reason->fault_texts = NULL; } AXIS2_FREE(env->allocator, fault_reason); fault_reason = NULL; return; } AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL axiom_soap_fault_reason_get_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axis2_char_t * lang) { int status = AXIS2_SUCCESS; int size = 0; int i = 0; AXIS2_PARAM_CHECK(env->error, fault_reason, NULL); if (!lang || (axutil_strcmp(lang, "") == 0)) { return NULL; } /** Here we have to build the soap fault reason element completly */ if (!fault_reason->fault_texts) { if (fault_reason->soap_builder && !(axiom_node_is_complete(fault_reason->om_ele_node, env))) { while (!(axiom_node_is_complete(fault_reason->om_ele_node, env))) { status = axiom_soap_builder_next(fault_reason->soap_builder, env); if (status == AXIS2_FAILURE) { return NULL; } } } } if (!fault_reason->fault_texts) { return NULL; } /** iterate the array list */ size = axutil_array_list_size(fault_reason->fault_texts, env); for (i = 0; i < size; i++) { axiom_soap_fault_text_t *fault_text = NULL; void *value = NULL; value = axutil_array_list_get(fault_reason->fault_texts, env, i); if (value) { axis2_char_t *fault_lang = NULL; fault_text = (axiom_soap_fault_text_t *) value; fault_lang = axiom_soap_fault_text_get_lang(fault_text, env); if (fault_lang && axutil_strcmp(lang, fault_lang) == 0) { return fault_text; } } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_base_node( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_reason->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_reason_get_base_node( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env) { return fault_reason->om_ele_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_builder( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axiom_soap_builder_t * builder) { AXIS2_PARAM_CHECK(env->error, builder, AXIS2_FAILURE); fault_reason->soap_builder = builder; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_soap_fault_reason_get_all_soap_fault_texts( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (!(fault_reason->fault_texts) && (fault_reason->soap_builder)) { if (!(axiom_node_is_complete(fault_reason->om_ele_node, env))) { while (!(axiom_node_is_complete(fault_reason->om_ele_node, env))) { status = axiom_soap_builder_next(fault_reason->soap_builder, env); if (status == AXIS2_FAILURE) { return NULL; } } } } return fault_reason->fault_texts; } AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL axiom_soap_fault_reason_get_first_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (!(fault_reason->fault_texts) && (fault_reason->soap_builder)) { if (!(axiom_node_is_complete(fault_reason->om_ele_node, env))) { while (!(axiom_node_is_complete(fault_reason->om_ele_node, env))) { status = axiom_soap_builder_next(fault_reason->soap_builder, env); if (status == AXIS2_FAILURE) { return NULL; } } } } if (fault_reason->fault_texts) { void *value = NULL; value = axutil_array_list_get(fault_reason->fault_texts, env, 0); if (value) { return (axiom_soap_fault_text_t *) value; } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_add_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axiom_soap_fault_text_t * fault_text) { if (!fault_text) { return AXIS2_FAILURE; } if (!(fault_reason->fault_texts)) { fault_reason->fault_texts = axutil_array_list_create(env, 1); if (!fault_reason->fault_texts) { return AXIS2_FAILURE; } axutil_array_list_add(fault_reason->fault_texts, env, fault_text); } else { axis2_char_t *lang = NULL; axis2_bool_t is_exists = AXIS2_FALSE; lang = axiom_soap_fault_text_get_lang(fault_text, env); if (lang) { is_exists = axiom_soap_fault_reason_lang_exists(fault_reason, env, lang); if (is_exists == AXIS2_TRUE) { return AXIS2_FAILURE; } /** this soap_fault text already exists */ } axutil_array_list_add(fault_reason->fault_texts, env, fault_text); } return AXIS2_SUCCESS; } static axis2_bool_t axiom_soap_fault_reason_lang_exists( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axis2_char_t * lang) { int size = 0; int i = 0; if (!lang || (axutil_strcmp(lang, "") == 0) || !fault_reason->fault_texts) { return AXIS2_FALSE; } size = axutil_array_list_size(fault_reason->fault_texts, env); for (i = 0; i < size; i++) { axiom_soap_fault_text_t *fault_text = NULL; void *value = NULL; value = axutil_array_list_get(fault_reason->fault_texts, env, i); if (value) { axis2_char_t *text_lang = NULL; fault_text = (axiom_soap_fault_text_t *) value; text_lang = axiom_soap_fault_text_get_lang(fault_text, env); if (text_lang && (axutil_strcmp(lang, text_lang) == 0)) { return AXIS2_TRUE; } } } return AXIS2_FALSE; } /** internal function */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_soap_version( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, int soap_version) { fault_reason->soap_version = soap_version; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_get_soap_version( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env) { return fault_reason->soap_version; } axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_reason.h0000644000175000017500000000452511166304631024722 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_REASON_H #define _AXIOM_SOAP_FAULT_REASON_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_reason Soap Reason * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_builder( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, struct axiom_soap_builder *builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_base_node( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, struct axiom_soap_fault_text *soap_text); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_set_soap_version( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, int soap_version); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_get_soap_version( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env); AXIS2_EXTERN axiom_soap_fault_reason_t *AXIS2_CALL axiom_soap_fault_reason_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_REASON_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_sub_code.h0000644000175000017500000000515211166304631025213 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_CODE_SUB_CODE_H #define _AXIOM_SOAP_FAULT_CODE_SUB_CODE_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_sub_code Soap_fault_code * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_sub_code( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, axiom_soap_fault_sub_code_t * sub_code); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_value( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, struct axiom_soap_fault_value *fault_sub_code_val); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_base_node( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_builder( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, struct axiom_soap_builder *builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_sub_code_set_soap_version( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env, int soap_version); AXIS2_EXTERN int AXIS2_CALL axiom_soap_fault_sub_code_get_soap_version( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env); AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_CODE_SUB_CODE_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_header.h0000644000175000017500000000406111166304631023463 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_HEADER_H #define _AXIOM_SOAP_HEADER_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_header Soap header * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_base_node( axiom_soap_header_t * header, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_soap_version( axiom_soap_header_t * header, const axutil_env_t * env, int soap_version); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_header_block( axiom_soap_header_t * header, const axutil_env_t * env, struct axiom_soap_header_block *header_block); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_builder( axiom_soap_header_t * header, const axutil_env_t * env, struct axiom_soap_builder *builder); AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL axiom_soap_header_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_HEADER_H */ axis2c-src-1.6.0/axiom/src/soap/axiom_soap11_builder_helper.h0000644000175000017500000000405711166304631025230 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP11_BUILDER_HELPER_H #define AXIOM_SOAP11_BUILDER_HELPER_H /** * @file axiom_soap_11_builder_helper.h * @brief axiom_soap11_builder_helper */ #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap11_builder_helper axiom_soap11_builder_helper_t; /** * @defgroup axiom_soap11_builder_helper * @ingroup axiom_soap * @{ */ /** * creates a soap11_builder_helper_create * @param env Environment. MUST NOT be NULL */ AXIS2_EXTERN axiom_soap11_builder_helper_t *AXIS2_CALL axiom_soap11_builder_helper_create( const axutil_env_t * env, axiom_soap_builder_t * soap_builder, axiom_stax_builder_t * om_builder); AXIS2_EXTERN void AXIS2_CALL axiom_soap11_builder_helper_free( axiom_soap11_builder_helper_t * builder_helper, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap11_builder_helper_handle_event( axiom_soap11_builder_helper_t * builder_helper, const axutil_env_t * env, axiom_node_t * om_element_node, int element_level); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP11_BUILDER_HELPER_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_code.h0000644000175000017500000000477211166304631024351 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_CODE_H #define _AXIOM_SOAP_FAULT_CODE_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_code Soap fault code * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_value( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, struct axiom_soap_fault_value *fault_val); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_sub_code( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, struct axiom_soap_fault_sub_code *fault_subcode); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_base_node( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_builder( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, struct axiom_soap_builder *soap_builder); AXIS2_EXTERN int AXIS2_CALL axiom_soap_fault_code_get_soap_version( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_soap_version( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, int soap_version); AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_code_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_CODE_H */ axis2c-src-1.6.0/axiom/src/soap/soap_header_block.c0000644000175000017500000003560511166304631023304 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "_axiom_soap_header_block.h" #include "_axiom_soap_header.h" #include #include struct axiom_soap_header_block { /** om_element node corresponding to this headerblock */ axiom_node_t *om_ele_node; /** soap version */ int soap_version; axis2_bool_t processed; }; AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL axiom_soap_header_block_create( const axutil_env_t * env) { axiom_soap_header_block_t *header_block = NULL; AXIS2_ENV_CHECK(env, NULL); header_block = (axiom_soap_header_block_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_header_block_t)); if (!header_block) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP header block"); return NULL; } header_block->om_ele_node = NULL; header_block->soap_version = AXIOM_SOAP_VERSION_NOT_SET; header_block->processed = AXIS2_FALSE; return header_block; } AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL axiom_soap_header_block_create_with_parent( const axutil_env_t * env, const axis2_char_t * localname, axiom_namespace_t * ns, axiom_soap_header_t * header) { axiom_soap_header_block_t *header_block = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *om_ele = NULL; AXIS2_PARAM_CHECK(env->error, localname, NULL); header_block = axiom_soap_header_block_create(env); if (!header_block) { return NULL; } parent_node = axiom_soap_header_get_base_node(header, env); if (!parent_node) { return NULL; } om_ele = axiom_element_create(env, parent_node, localname, ns, &this_node); if (!om_ele) { axiom_soap_header_block_free(header_block, env); return NULL; } header_block->om_ele_node = this_node; axiom_soap_header_set_header_block(header, env, header_block); header_block->soap_version = axiom_soap_header_get_soap_version(header, env); return header_block; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_header_block_free( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { AXIS2_FREE(env->allocator, header_block); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_role( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axis2_char_t * role_uri) { const axis2_char_t *attr_localname = NULL; const axis2_char_t *attr_nsuri = NULL; if (header_block->soap_version == AXIOM_SOAP_VERSION_NOT_SET) { return AXIS2_FAILURE; } if (header_block->soap_version == AXIOM_SOAP11) { attr_localname = AXIOM_SOAP11_ATTR_ACTOR; attr_nsuri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } if (header_block->soap_version == AXIOM_SOAP12) { attr_localname = AXIOM_SOAP12_SOAP_ROLE; attr_nsuri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } axiom_soap_header_block_set_attribute(header_block, env, attr_localname, role_uri, attr_nsuri); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_header_block_get_role( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { const axis2_char_t *attr_localname = NULL; const axis2_char_t *attr_nsuri = NULL; if (header_block->soap_version == AXIOM_SOAP_VERSION_NOT_SET) { return NULL; } if (header_block->soap_version == AXIOM_SOAP11) { attr_localname = AXIOM_SOAP11_ATTR_ACTOR; attr_nsuri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } if (header_block->soap_version == AXIOM_SOAP12) { attr_localname = AXIOM_SOAP12_SOAP_ROLE; attr_nsuri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } return axiom_soap_header_block_get_attribute(header_block, env, attr_localname, attr_nsuri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_must_understand_with_bool( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axis2_bool_t must_understand) { const axis2_char_t *attr_nsuri = NULL; const axis2_char_t *attr_value = NULL; if (header_block->soap_version == AXIOM_SOAP_VERSION_NOT_SET) { return AXIS2_FAILURE; } if (header_block->soap_version == AXIOM_SOAP11) { attr_nsuri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } if (header_block->soap_version == AXIOM_SOAP12) { attr_nsuri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } if (must_understand) { attr_value = "1"; } else { attr_value = "0"; } return axiom_soap_header_block_set_attribute(header_block, env, AXIOM_SOAP_ATTR_MUST_UNDERSTAND, attr_value, attr_nsuri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_must_understand_with_string( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axis2_char_t * must_understand) { const axis2_char_t *attr_nsuri = NULL; AXIS2_PARAM_CHECK(env->error, must_understand, AXIS2_FAILURE); if (header_block->soap_version == AXIOM_SOAP_VERSION_NOT_SET) { return AXIS2_FAILURE; } if (header_block->soap_version == AXIOM_SOAP11) { attr_nsuri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } if (header_block->soap_version == AXIOM_SOAP12) { attr_nsuri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } if (axutil_strcmp(AXIOM_SOAP_ATTR_MUST_UNDERSTAND_TRUE, must_understand) == 0 || axutil_strcmp(AXIOM_SOAP_ATTR_MUST_UNDERSTAND_FALSE, must_understand) == 0 || axutil_strcmp(AXIOM_SOAP_ATTR_MUST_UNDERSTAND_0, must_understand) == 0 || axutil_strcmp(AXIOM_SOAP_ATTR_MUST_UNDERSTAND_1, must_understand) == 0) { axiom_soap_header_block_set_attribute(header_block, env, AXIOM_SOAP_ATTR_MUST_UNDERSTAND, must_understand, attr_nsuri); return AXIS2_SUCCESS; } else { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_MUST_UNDERSTAND_SHOULD_BE_1_0_TRUE_FALSE, AXIS2_FAILURE); return AXIS2_FAILURE; } } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_header_block_get_must_understand( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { const axis2_char_t *must_understand = NULL; const axis2_char_t *attr_nsuri = NULL; if (header_block->soap_version == AXIOM_SOAP_VERSION_NOT_SET) { return AXIS2_FAILURE; } if (header_block->soap_version == AXIOM_SOAP11) { attr_nsuri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } if (header_block->soap_version == AXIOM_SOAP12) { attr_nsuri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } must_understand = axiom_soap_header_block_get_attribute(header_block, env, AXIOM_SOAP_ATTR_MUST_UNDERSTAND, attr_nsuri); if (!must_understand) { return AXIS2_FALSE; } if (axutil_strcmp(must_understand, AXIOM_SOAP_ATTR_MUST_UNDERSTAND_1) == 0 || axutil_strcmp(must_understand, AXIOM_SOAP_ATTR_MUST_UNDERSTAND_TRUE) == 0) { return AXIS2_TRUE; } else if (axutil_strcmp(must_understand, AXIOM_SOAP_ATTR_MUST_UNDERSTAND_0) == 0 || axutil_strcmp(must_understand, AXIOM_SOAP_ATTR_MUST_UNDERSTAND_FALSE) == 0) { return AXIS2_FALSE; } AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_VALUE_FOUND_IN_MUST_UNDERSTAND, AXIS2_FAILURE); return AXIS2_FALSE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_attribute( axiom_soap_header_block_t * header_block, const axutil_env_t * env, const axis2_char_t * attr_name, const axis2_char_t * attr_value, const axis2_char_t * soap_envelope_namespace_uri) { axiom_attribute_t *om_attr = NULL; axiom_node_t *header_node = NULL; axiom_element_t *header_ele = NULL; axiom_namespace_t *header_ns = NULL; axis2_char_t *prefix = NULL; axutil_qname_t *qn = NULL; axiom_namespace_t *om_ns = NULL; axiom_element_t *om_ele = NULL; AXIS2_PARAM_CHECK(env->error, attr_name, AXIS2_FAILURE); header_node = axiom_node_get_parent(header_block->om_ele_node, env); if (!header_node) { return AXIS2_FAILURE; } if (axiom_node_get_node_type(header_node, env) == AXIOM_ELEMENT) { header_ele = (axiom_element_t *) axiom_node_get_data_element(header_node, env); if (!header_ele) { return AXIS2_FAILURE; } header_ns = axiom_element_get_namespace(header_ele, env, header_node); if (!header_ns) { return AXIS2_FAILURE; } prefix = axiom_namespace_get_prefix(header_ns, env); } qn = axutil_qname_create(env, attr_name, soap_envelope_namespace_uri, prefix); if (!qn) { return AXIS2_FAILURE; } if (!header_block->om_ele_node) { return AXIS2_FAILURE; } om_ele = (axiom_element_t *) axiom_node_get_data_element(header_block-> om_ele_node, env); om_attr = axiom_element_get_attribute(om_ele, env, qn); axutil_qname_free(qn, env); if (om_attr) { return axiom_attribute_set_value(om_attr, env, attr_value); } if (soap_envelope_namespace_uri) { if (prefix) { om_ns = axiom_namespace_create(env, soap_envelope_namespace_uri, prefix); } else { om_ns = axiom_namespace_create(env, soap_envelope_namespace_uri, AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX); } } om_attr = axiom_attribute_create(env, attr_name, attr_value, om_ns); if (!om_attr && om_ns) { axiom_namespace_free(om_ns, env); return AXIS2_FAILURE; } return axiom_element_add_attribute(om_ele, env, om_attr, header_block->om_ele_node); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_header_block_get_attribute( axiom_soap_header_block_t * header_block, const axutil_env_t * env, const axis2_char_t * attr_name, const axis2_char_t * soap_envelope_namespace_uri) { axiom_attribute_t *om_attr = NULL; axis2_char_t *attr_value = NULL; axiom_node_t *header_node = NULL; axiom_element_t *header_ele = NULL; axiom_namespace_t *header_ns = NULL; axis2_char_t *prefix = NULL; axutil_qname_t *qn = NULL; axiom_element_t *om_ele = NULL; AXIS2_PARAM_CHECK(env->error, attr_name, NULL); AXIS2_PARAM_CHECK(env->error, soap_envelope_namespace_uri, NULL); header_node = axiom_node_get_parent(header_block->om_ele_node, env); if (!header_node) { return NULL; } if (axiom_node_get_node_type(header_node, env) == AXIOM_ELEMENT) { header_ele = (axiom_element_t *) axiom_node_get_data_element(header_node, env); if (!header_ele) { return NULL; } header_ns = axiom_element_get_namespace(header_ele, env, header_node); if (!header_ns) { return NULL; } prefix = axiom_namespace_get_prefix(header_ns, env); } qn = axutil_qname_create(env, attr_name, soap_envelope_namespace_uri, prefix); if (!qn) { return NULL; } om_ele = (axiom_element_t *) axiom_node_get_data_element(header_block-> om_ele_node, env); om_attr = axiom_element_get_attribute(om_ele, env, qn); if (om_attr) { attr_value = axiom_attribute_get_value(om_attr, env); } axutil_qname_free(qn, env); return attr_value; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_header_block_is_processed( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { return header_block->processed; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_processed( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { header_block->processed = AXIS2_TRUE; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_base_node( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } header_block->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_header_block_get_base_node( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { return header_block->om_ele_node; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_header_block_get_soap_version( axiom_soap_header_block_t * header_block, const axutil_env_t * env) { return header_block->soap_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_soap_version( axiom_soap_header_block_t * header_block, const axutil_env_t * env, int soap_version) { header_block->soap_version = soap_version; return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_header_block.h0000644000175000017500000000335711166304631024644 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_HEADER_BLOCK_H #define _AXIOM_SOAP_HEADER_BLOCK_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_header_block Soap header block * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_soap_version( axiom_soap_header_block_t * header_block, const axutil_env_t * env, int soap_version); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_base_node( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL axiom_soap_header_block_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_HEADER_BLOCK_H */ axis2c-src-1.6.0/axiom/src/soap/soap_body.c0000644000175000017500000004555211166304631021641 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_envelope.h" #include "_axiom_soap_body.h" #include #include #include #include #include #include #include #include "_axiom_soap_fault_value.h" #include "_axiom_soap_fault_text.h" #include struct axiom_soap_body { axiom_node_t *om_ele_node; axis2_bool_t has_fault; axiom_soap_fault_t *soap_fault; axiom_soap_builder_t *soap_builder; int soap_version; }; AXIS2_EXTERN axiom_soap_body_t *AXIS2_CALL axiom_soap_body_create( const axutil_env_t * env) { axiom_soap_body_t *soap_body = NULL; soap_body = (axiom_soap_body_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_soap_body_t)); if (!soap_body) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } soap_body->om_ele_node = NULL; soap_body->soap_builder = NULL; soap_body->has_fault = AXIS2_FALSE; soap_body->soap_fault = NULL; return soap_body; } AXIS2_EXTERN axiom_soap_body_t *AXIS2_CALL axiom_soap_body_create_with_parent( const axutil_env_t * env, axiom_soap_envelope_t * envelope) { axiom_soap_body_t *soap_body = NULL; axiom_element_t *ele = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *om_ns = NULL; AXIS2_PARAM_CHECK(env->error, envelope, NULL); soap_body = axiom_soap_body_create(env); if (!soap_body) { return NULL; } /*get parent node from SOAP envelope */ parent_node = axiom_soap_envelope_get_base_node(envelope, env); if (!parent_node) { axiom_soap_body_free(soap_body, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_body_free(soap_body, env); return NULL; } om_ns = axiom_element_get_namespace(parent_ele, env, parent_node); ele = axiom_element_create(env, parent_node, AXIOM_SOAP_BODY_LOCAL_NAME, om_ns, &(soap_body->om_ele_node)); if (!ele) { axiom_soap_body_free(soap_body, env); return NULL; } axiom_soap_envelope_set_body(envelope, env, soap_body); return soap_body; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_body_free( axiom_soap_body_t * soap_body, const axutil_env_t * env) { if (soap_body->soap_fault) { axiom_soap_fault_free(soap_body->soap_fault, env); soap_body->soap_fault = NULL; } AXIS2_FREE(env->allocator, soap_body); soap_body = NULL; return; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_body_has_fault( axiom_soap_body_t * soap_body, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_body->soap_fault) { soap_body->has_fault = AXIS2_TRUE; return AXIS2_TRUE; } else { if (soap_body->soap_builder) { while (!(soap_body->soap_fault) && !(axiom_node_is_complete(soap_body->om_ele_node, env))) { status = axiom_soap_builder_next(soap_body->soap_builder, env); if (status == AXIS2_FAILURE) { return AXIS2_FALSE; } } if (soap_body->soap_fault) { soap_body->has_fault = AXIS2_TRUE; return AXIS2_TRUE; } } } return AXIS2_FALSE; } /** * Returns the axiom_soap_fault_t struct in this axiom_soap_bodY_t * struct * * @return the SOAPFault object in this SOAPBody * object */ AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_body_get_fault( axiom_soap_body_t * soap_body, const axutil_env_t * env) { if (soap_body->soap_fault) { return soap_body->soap_fault; } else if (soap_body->soap_builder) { while (!(soap_body->soap_fault) && !(axiom_node_is_complete(soap_body->om_ele_node, env))) { int status = AXIS2_SUCCESS; status = axiom_soap_builder_next(soap_body->soap_builder, env); if (status == AXIS2_FAILURE) { return NULL; } } if (soap_body->soap_fault) { soap_body->has_fault = AXIS2_TRUE; return soap_body->soap_fault; } } return NULL; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_body_get_base_node( axiom_soap_body_t * soap_body, const axutil_env_t * env) { return soap_body->om_ele_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_set_base_node( axiom_soap_body_t * soap_body, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } soap_body->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_set_builder( axiom_soap_body_t * soap_body, const axutil_env_t * env, axiom_soap_builder_t * builder) { AXIS2_PARAM_CHECK(env->error, builder, AXIS2_FAILURE); soap_body->soap_builder = builder; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_build( axiom_soap_body_t * soap_body, const axutil_env_t * env) { int status = AXIS2_SUCCESS; axiom_node_t *xop_node = NULL; axis2_bool_t is_replaced = AXIS2_FALSE; axiom_element_t *xop_element = NULL; if (soap_body->om_ele_node && soap_body->soap_builder) { xop_node = axiom_util_get_node_by_local_name(env, soap_body->om_ele_node, AXIS2_XOP_INCLUDE); if(xop_node) { xop_element = (axiom_element_t *)axiom_node_get_data_element( xop_node, env); if(xop_element) { is_replaced = axiom_soap_builder_replace_xop(soap_body->soap_builder, env, xop_node, xop_element); } } while (axiom_node_is_complete(soap_body->om_ele_node, env) != AXIS2_TRUE) { status = axiom_soap_builder_next(soap_body->soap_builder, env); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } } } return AXIS2_SUCCESS; } /** This is an internal function */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_set_fault( axiom_soap_body_t * soap_body, const axutil_env_t * env, axiom_soap_fault_t * soap_fault) { AXIS2_PARAM_CHECK(env->error, soap_fault, AXIS2_FAILURE); if (soap_body->soap_fault) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ONLY_ONE_SOAP_FAULT_ALLOWED_IN_BODY, AXIS2_FAILURE); return AXIS2_FAILURE; } else { soap_body->soap_fault = soap_fault; soap_body->has_fault = AXIS2_TRUE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_add_child( axiom_soap_body_t * soap_body, const axutil_env_t * env, axiom_node_t * child) { AXIS2_PARAM_CHECK(env->error, child, AXIS2_FAILURE); if (soap_body->om_ele_node) { return axiom_node_add_child(soap_body->om_ele_node, env, child); } return AXIS2_FAILURE; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_body_get_soap_version( axiom_soap_body_t * soap_body, const axutil_env_t * env) { axiom_element_t *body_ele = NULL; axiom_namespace_t *om_ns = NULL; axis2_char_t *uri = NULL; if (!soap_body->om_ele_node) { return AXIS2_FAILURE; } body_ele = axiom_node_get_data_element(soap_body->om_ele_node, env); if (!body_ele) { return AXIS2_FAILURE; } om_ns = axiom_element_get_namespace(body_ele, env, soap_body->om_ele_node); if (!om_ns) { return AXIS2_FAILURE; } uri = axiom_namespace_get_uri(om_ns, env); if (uri) { if (axutil_strcmp(uri, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI) == 0) { return AXIOM_SOAP11; } else if (axutil_strcmp(uri, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI) == 0) { return AXIOM_SOAP12; } } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_convert_fault_to_soap11( axiom_soap_body_t * soap_body, const axutil_env_t * env) { if (soap_body) { axiom_soap_fault_t *soap_fault = NULL; if (axiom_soap_body_has_fault(soap_body, env)) { soap_fault = axiom_soap_body_get_fault(soap_body, env); if (soap_fault) { axiom_soap_fault_code_t *fault_code = NULL; axiom_soap_fault_reason_t *fault_reason = NULL; axiom_soap_fault_detail_t *fault_detail = NULL; axiom_soap_fault_role_t *fault_role = NULL; fault_code = axiom_soap_fault_get_code(soap_fault, env); if (fault_code) { axiom_node_t *fault_code_om_node = NULL; axiom_element_t *fault_code_om_ele = NULL; axiom_node_t *fault_value_om_node = NULL; axiom_element_t *fault_value_om_ele = NULL; axiom_soap_fault_value_t *fault_value = NULL; axis2_char_t *text = NULL; fault_code_om_node = axiom_soap_fault_code_get_base_node(fault_code, env); if (fault_code_om_node) { fault_code_om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_code_om_node, env); if (fault_code_om_ele) { axiom_element_set_localname(fault_code_om_ele, env, AXIOM_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME); fault_value = axiom_soap_fault_code_get_value(fault_code, env); if (fault_value) { fault_value_om_node = axiom_soap_fault_value_get_base_node (fault_value, env); if (fault_value_om_node) { fault_value_om_ele = (axiom_element_t *) axiom_node_get_data_element (fault_value_om_node, env); if (fault_value_om_ele) { text = axiom_element_get_text (fault_value_om_ele, env, fault_value_om_node); if (text) { axiom_element_set_text (fault_code_om_ele, env, text, fault_code_om_node); } } axiom_node_free_tree (fault_value_om_node, env); axiom_soap_fault_value_set_base_node (fault_value, env, NULL); } } } } } fault_reason = axiom_soap_fault_get_reason(soap_fault, env); if (fault_reason) { axiom_node_t *fault_reason_om_node = NULL; axiom_element_t *fault_reason_om_ele = NULL; axiom_node_t *fault_text_om_node = NULL; axiom_element_t *fault_text_om_ele = NULL; axiom_soap_fault_text_t *fault_text = NULL; axis2_char_t *text = NULL; fault_reason_om_node = axiom_soap_fault_reason_get_base_node(fault_reason, env); if (fault_reason_om_node) { fault_reason_om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_reason_om_node, env); if (fault_reason_om_ele) { axiom_element_set_localname(fault_reason_om_ele, env, AXIOM_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME); fault_text = axiom_soap_fault_reason_get_first_soap_fault_text (fault_reason, env); if (fault_text) { fault_text_om_node = axiom_soap_fault_text_get_base_node (fault_text, env); if (fault_text_om_node) { fault_text_om_ele = (axiom_element_t *) axiom_node_get_data_element (fault_text_om_node, env); if (fault_text_om_ele) { text = axiom_element_get_text (fault_text_om_ele, env, fault_text_om_node); if (text) { axiom_element_set_text (fault_reason_om_ele, env, text, fault_reason_om_node); } } axiom_node_free_tree(fault_text_om_node, env); axiom_soap_fault_text_set_base_node (fault_text, env, NULL); } } } } } fault_role = axiom_soap_fault_get_role(soap_fault, env); if (fault_role) { axiom_node_t *fault_role_om_node = NULL; axiom_element_t *fault_role_om_ele = NULL; fault_role_om_node = axiom_soap_fault_role_get_base_node(fault_role, env); if (fault_role_om_node) { fault_role_om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_role_om_node, env); if (fault_role_om_ele) { axiom_element_set_localname(fault_role_om_ele, env, AXIOM_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME); } } } fault_detail = axiom_soap_fault_get_detail(soap_fault, env); if (fault_detail) { axiom_node_t *fault_detail_om_node = NULL; axiom_element_t *fault_detail_om_ele = NULL; fault_detail_om_node = axiom_soap_fault_detail_get_base_node(fault_detail, env); if (fault_detail_om_node) { fault_detail_om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_detail_om_node, env); if (fault_detail_om_ele) { axiom_element_set_localname(fault_detail_om_ele, env, AXIOM_SOAP11_SOAP_FAULT_DETAIL_LOCAL_NAME); } } } } } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_process_attachments( axiom_soap_body_t * soap_body, const axutil_env_t * env, void *user_pram, axis2_char_t *callback_name) { axis2_status_t status = AXIS2_FAILURE; status = axiom_soap_builder_create_attachments( soap_body->soap_builder, env, user_pram, callback_name); if(status == AXIS2_FAILURE) { return status; } else { return axiom_soap_body_build(soap_body, env); } } axis2c-src-1.6.0/axiom/src/soap/Makefile.am0000644000175000017500000000256211166304631021544 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_soap.la libaxis2_soap_la_SOURCES = soap_fault.c \ soap_fault_code.c \ soap_fault_detail.c \ soap_fault_node.c \ soap_fault_reason.c \ soap_fault_role.c \ soap_fault_sub_code.c \ soap_fault_text.c \ soap_fault_value.c \ soap_header_block.c \ soap_header.c \ soap_body.c \ soap_envelope.c \ soap_builder.c \ soap11_builder_helper.c \ soap12_builder_helper.c libaxis2_soap_la_LIBADD = INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I ../../../util/include EXTRA_DIST = axiom_soap11_builder_helper.h \ _axiom_soap_fault_code.h _axiom_soap_fault_reason.h \ _axiom_soap_fault_value.h axiom_soap12_builder_helper.h \ _axiom_soap_fault_detail.h _axiom_soap_fault_role.h \ _axiom_soap_header_block.h _axiom_soap_body.h \ _axiom_soap_fault.h _axiom_soap_fault_sub_code.h \ _axiom_soap_header.h _axiom_soap_envelope.h \ _axiom_soap_fault_node.h _axiom_soap_fault_text.h axis2c-src-1.6.0/axiom/src/soap/Makefile.in0000644000175000017500000003747011172017173021562 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/soap DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_soap_la_DEPENDENCIES = am_libaxis2_soap_la_OBJECTS = soap_fault.lo soap_fault_code.lo \ soap_fault_detail.lo soap_fault_node.lo soap_fault_reason.lo \ soap_fault_role.lo soap_fault_sub_code.lo soap_fault_text.lo \ soap_fault_value.lo soap_header_block.lo soap_header.lo \ soap_body.lo soap_envelope.lo soap_builder.lo \ soap11_builder_helper.lo soap12_builder_helper.lo libaxis2_soap_la_OBJECTS = $(am_libaxis2_soap_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_soap_la_SOURCES) DIST_SOURCES = $(libaxis2_soap_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_soap.la libaxis2_soap_la_SOURCES = soap_fault.c \ soap_fault_code.c \ soap_fault_detail.c \ soap_fault_node.c \ soap_fault_reason.c \ soap_fault_role.c \ soap_fault_sub_code.c \ soap_fault_text.c \ soap_fault_value.c \ soap_header_block.c \ soap_header.c \ soap_body.c \ soap_envelope.c \ soap_builder.c \ soap11_builder_helper.c \ soap12_builder_helper.c libaxis2_soap_la_LIBADD = INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I ../../../util/include EXTRA_DIST = axiom_soap11_builder_helper.h \ _axiom_soap_fault_code.h _axiom_soap_fault_reason.h \ _axiom_soap_fault_value.h axiom_soap12_builder_helper.h \ _axiom_soap_fault_detail.h _axiom_soap_fault_role.h \ _axiom_soap_header_block.h _axiom_soap_body.h \ _axiom_soap_fault.h _axiom_soap_fault_sub_code.h \ _axiom_soap_header.h _axiom_soap_envelope.h \ _axiom_soap_fault_node.h _axiom_soap_fault_text.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/soap/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/soap/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_soap.la: $(libaxis2_soap_la_OBJECTS) $(libaxis2_soap_la_DEPENDENCIES) $(LINK) $(libaxis2_soap_la_OBJECTS) $(libaxis2_soap_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap11_builder_helper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap12_builder_helper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_body.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_envelope.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_code.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_detail.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_node.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_reason.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_role.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_sub_code.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_text.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_fault_value.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_header.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/soap_header_block.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_node.h0000644000175000017500000000302011166304631024345 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_NODE_H #define _AXIOM_SOAP_FAULT_NODE_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_node Soap fault_node * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_node_set_base_node( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axiom_soap_fault_node_t *AXIS2_CALL axiom_soap_fault_node_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_NODE_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_body.h0000644000175000017500000000351111166304631023167 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_BODY_H #define _AXIOM_SOAP_BODY_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_body Soap Body * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_set_base_node( axiom_soap_body_t * body, const axutil_env_t * env, axiom_node_t * om_node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_set_builder( axiom_soap_body_t * body, const axutil_env_t * env, struct axiom_soap_builder *builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_set_fault( axiom_soap_body_t * body, const axutil_env_t * env, struct axiom_soap_fault *soap_fault); AXIS2_EXTERN axiom_soap_body_t *AXIS2_CALL axiom_soap_body_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_BODY_H */ axis2c-src-1.6.0/axiom/src/soap/soap_header.c0000644000175000017500000004702111166304631022125 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_envelope.h" #include "_axiom_soap_header.h" #include "_axiom_soap_body.h" #include #include #include #include #include #include #include struct axiom_soap_header { axiom_node_t *om_ele_node; int soap_version; axutil_hash_t *header_blocks; int hbnumber; axiom_soap_builder_t *soap_builder; axiom_soap_envelope_t *soap_envelope; axutil_array_list_t *header_block_keys; }; static axis2_bool_t AXIS2_CALL axiom_soap_header_qname_matches( const axutil_env_t * env, axutil_qname_t * element_qname, axutil_qname_t * qname_to_match); AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL axiom_soap_header_create( const axutil_env_t * env) { axiom_soap_header_t *soap_header = NULL; soap_header = (axiom_soap_header_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_header_t)); if (!soap_header) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP header"); return NULL; } soap_header->om_ele_node = NULL; soap_header->soap_envelope = NULL; soap_header->hbnumber = 0; soap_header->header_blocks = NULL; /** default value */ soap_header->soap_version = AXIOM_SOAP12; soap_header->header_block_keys = NULL; soap_header->header_block_keys = axutil_array_list_create(env, 10); if (!soap_header->header_block_keys) { AXIS2_FREE(env->allocator, soap_header); return NULL; } return soap_header; } AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL axiom_soap_header_create_with_parent( const axutil_env_t * env, axiom_soap_envelope_t * envelope) { axiom_soap_header_t *soap_header = NULL; /*axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL;*/ axiom_node_t *body_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; /*axiom_namespace_t *parent_ns = NULL;*/ AXIS2_PARAM_CHECK(env->error, envelope, NULL); soap_header = axiom_soap_header_create(env); if (!soap_header) { return NULL; } soap_header->soap_version = axiom_soap_envelope_get_soap_version(envelope, env); parent_node = axiom_soap_envelope_get_base_node(envelope, env); if (!parent_node || axiom_node_get_node_type(parent_node, env) != AXIOM_ELEMENT) { axiom_soap_header_free(soap_header, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_header_free(soap_header, env); return NULL; } if (axiom_node_get_first_element(parent_node, env)) { body_node = axiom_node_get_first_element(parent_node, env); axiom_node_detach(body_node, env); } /*parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP_HEADER_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_header_free(soap_header, env); return NULL; } soap_header->om_ele_node = this_node;*/ axiom_soap_envelope_set_header(envelope, env, soap_header); if (body_node) { axiom_node_add_child(parent_node, env, body_node); } soap_header->soap_envelope = envelope; return soap_header; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_header_free( axiom_soap_header_t * soap_header, const axutil_env_t * env) { if (soap_header->header_blocks) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(soap_header->header_blocks, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_soap_header_block_free((axiom_soap_header_block_t *) val, env); val = NULL; } } axutil_hash_free(soap_header->header_blocks, env); } if (soap_header->header_block_keys) { int size = 0; void *val = NULL; int i = 0; size = axutil_array_list_size(soap_header->header_block_keys, env); for (i = 0; i < size; i++) { val = axutil_array_list_get(soap_header->header_block_keys, env, i); if (val) { AXIS2_FREE(env->allocator, (char *) val); val = NULL; } } axutil_array_list_free(soap_header->header_block_keys, env); soap_header->header_block_keys = NULL; } AXIS2_FREE(env->allocator, soap_header); soap_header = NULL; return; } AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL axiom_soap_header_add_header_block( axiom_soap_header_t * soap_header, const axutil_env_t * env, const axis2_char_t * localname, axiom_namespace_t * ns) { axiom_soap_header_block_t *header_block = NULL; axiom_namespace_t *cloned_ns = NULL; axiom_node_t *header_block_node = NULL; AXIS2_PARAM_CHECK(env->error, localname, NULL); AXIS2_PARAM_CHECK(env->error, ns, NULL); cloned_ns = axiom_namespace_clone(ns, env); if (!cloned_ns) { return NULL; } header_block = axiom_soap_header_block_create_with_parent(env, localname, cloned_ns, soap_header); if (!header_block) { return NULL; } header_block_node = axiom_soap_header_block_get_base_node(header_block, env); if (header_block_node) { axiom_node_set_complete(header_block_node, env, AXIS2_TRUE); return header_block; } else { return NULL; } } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_soap_header_examine_header_blocks( axiom_soap_header_t * soap_header, const axutil_env_t * env, axis2_char_t * param_role) { AXIS2_PARAM_CHECK(env->error, param_role, NULL); return soap_header->header_blocks; } AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL axiom_soap_header_examine_all_header_blocks( axiom_soap_header_t * soap_header, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; if (!soap_header->om_ele_node) { return NULL; } om_ele = (axiom_element_t *) axiom_node_get_data_element(soap_header-> om_ele_node, env); if (om_ele) { return axiom_element_get_children_with_qname(om_ele, env, NULL, soap_header->om_ele_node); } else return NULL; } AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t *AXIS2_CALL axiom_soap_header_extract_header_blocks( axiom_soap_header_t * soap_header, const axutil_env_t * env, axis2_char_t * role) { const axis2_char_t *localname = NULL; const axis2_char_t *nsuri = NULL; axiom_node_t *first_node = NULL; axiom_element_t *first_ele = NULL; axutil_qname_t *qn = NULL; axiom_element_t *header_om_ele = NULL; axiom_children_with_specific_attribute_iterator_t *iter = NULL; if (soap_header->soap_version == AXIOM_SOAP_VERSION_NOT_SET) { return NULL; } if (soap_header->soap_version == AXIOM_SOAP11) { localname = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; nsuri = AXIOM_SOAP11_ATTR_ACTOR; } if (soap_header->soap_version == AXIOM_SOAP12) { localname = AXIOM_SOAP12_SOAP_ROLE; nsuri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } qn = axutil_qname_create(env, localname, nsuri, NULL); if (!qn) { return NULL; } header_om_ele = (axiom_element_t *) axiom_node_get_data_element(soap_header->om_ele_node, env); if (header_om_ele) { first_ele = axiom_element_get_first_element(header_om_ele, env, soap_header->om_ele_node, &first_node); if (first_node) { return axiom_children_with_specific_attribute_iterator_create(env, first_node, qn, role, AXIS2_TRUE); } } axutil_qname_free(qn, env); return iter; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_base_node( axiom_soap_header_t * soap_header, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } soap_header->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_header_get_base_node( axiom_soap_header_t * soap_header, const axutil_env_t * env) { if(!soap_header->om_ele_node) { axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_soap_body_t *soap_body = NULL; axiom_node_t *body_node = NULL; parent_node = axiom_soap_envelope_get_base_node(soap_header->soap_envelope, env); if (!parent_node || axiom_node_get_node_type(parent_node, env) != AXIOM_ELEMENT) { axiom_soap_header_free(soap_header, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_header_free(soap_header, env); return NULL; } parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); this_ele = axiom_element_create(env, NULL, AXIOM_SOAP_HEADER_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_header_free(soap_header, env); return NULL; } soap_body = axiom_soap_envelope_get_body(soap_header->soap_envelope, env); if(soap_body) { body_node = axiom_soap_body_get_base_node(soap_body, env); axiom_node_insert_sibling_before(body_node, env, this_node); } else { axiom_node_add_child(parent_node, env, this_node); } soap_header->om_ele_node = this_node; } return soap_header->om_ele_node; } /** set soap version and get soap version are internal functions */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_get_soap_version( axiom_soap_header_t * soap_header, const axutil_env_t * env) { return soap_header->soap_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_soap_version( axiom_soap_header_t * soap_header, const axutil_env_t * env, int soap_version) { soap_header->soap_version = soap_version; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_header_block( axiom_soap_header_t * soap_header, const axutil_env_t * env, struct axiom_soap_header_block * header_block) { axis2_char_t *key = NULL; AXIS2_PARAM_CHECK(env->error, header_block, AXIS2_FAILURE); key = (axis2_char_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 10); if (!key) { return AXIS2_FAILURE; } sprintf(key, "%d", soap_header->hbnumber++); if (soap_header->header_blocks) { axutil_hash_set(soap_header->header_blocks, key, AXIS2_HASH_KEY_STRING, header_block); } else { soap_header->header_blocks = axutil_hash_make(env); axutil_hash_set(soap_header->header_blocks, key, AXIS2_HASH_KEY_STRING, header_block); } if (soap_header->header_block_keys) { axutil_array_list_add(soap_header->header_block_keys, env, key); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_set_builder( axiom_soap_header_t * soap_header, const axutil_env_t * env, struct axiom_soap_builder * builder) { AXIS2_PARAM_CHECK(env->error, builder, AXIS2_FAILURE); soap_header->soap_builder = builder; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_soap_header_get_header_blocks_with_namespace_uri( axiom_soap_header_t * soap_header, const axutil_env_t * env, const axis2_char_t * ns_uri) { axutil_array_list_t *header_block_list = NULL; axutil_hash_index_t *hash_index = NULL; axiom_soap_header_block_t *header_block = NULL; axiom_node_t *header_block_om_node = NULL; axiom_element_t *header_block_om_ele = NULL; axiom_namespace_t *ns = NULL; axis2_char_t *hb_namespace_uri = NULL; int found = 0; void *hb = NULL; AXIS2_PARAM_CHECK(env->error, ns_uri, NULL); if (!(soap_header->header_blocks)) { return NULL; } header_block_list = axutil_array_list_create(env, 10); if (!header_block_list) { return NULL; } for (hash_index = axutil_hash_first(soap_header->header_blocks, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { axutil_hash_this(hash_index, NULL, NULL, &hb); if (hb) { header_block = (axiom_soap_header_block_t *) hb; header_block_om_node = axiom_soap_header_block_get_base_node(header_block, env); if (header_block_om_node) { header_block_om_ele = (axiom_element_t *) axiom_node_get_data_element(header_block_om_node, env); if (header_block_om_ele) { ns = axiom_element_get_namespace(header_block_om_ele, env, header_block_om_node); if (ns) { hb_namespace_uri = axiom_namespace_get_uri(ns, env); if (axutil_strcmp(hb_namespace_uri, ns_uri) == 0) { axutil_array_list_add(header_block_list, env, header_block); found++; } } } } hb = NULL; header_block = NULL; header_block_om_ele = NULL; header_block_om_node = NULL; ns = NULL; hb_namespace_uri = NULL; } } if (found > 0) { return header_block_list; } else { axutil_array_list_free(header_block_list, env); } return NULL; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_soap_header_get_all_header_blocks( axiom_soap_header_t * soap_header, const axutil_env_t * env) { return soap_header->header_blocks; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_remove_header_block( axiom_soap_header_t * soap_header, const axutil_env_t * env, axutil_qname_t * qname) { axis2_char_t *qn_localname = NULL; axis2_char_t *qname_ns = NULL; axis2_char_t *qname_prefix = NULL; axutil_hash_index_t *hi = NULL; AXIS2_PARAM_CHECK(env->error, qname, AXIS2_FAILURE); qn_localname = axutil_qname_get_localpart(qname, env); qname_ns = axutil_qname_get_uri(qname, env); qname_prefix = axutil_qname_get_prefix(qname, env); if (!soap_header->header_blocks) { return AXIS2_FAILURE; } for (hi = axutil_hash_first(soap_header->header_blocks, env); hi; hi = axutil_hash_next(env, hi)) { const void *key = NULL; void *val = NULL; axutil_hash_this(hi, &key, NULL, &val); if (val) { axiom_soap_header_block_t *header_block = NULL; axiom_element_t *ele = NULL; axiom_node_t *node = NULL; header_block = (axiom_soap_header_block_t *) val; node = axiom_soap_header_block_get_base_node(header_block, env); if (node) { axutil_qname_t *element_qname = NULL; ele = (axiom_element_t *) axiom_node_get_data_element(node, env); element_qname = axiom_element_get_qname(ele, env, node); if (axiom_soap_header_qname_matches(env, element_qname, qname) == AXIS2_TRUE) { axiom_node_detach(node, env); /* axiom_node_free_tree(node, env); */ axutil_hash_set(soap_header->header_blocks, key, AXIS2_HASH_KEY_STRING, NULL); axiom_soap_header_block_free(header_block, env); axiom_node_free_tree(node, env); break; } } } } if(hi) { AXIS2_FREE(env->allocator, hi); } return AXIS2_SUCCESS; } static axis2_bool_t AXIS2_CALL axiom_soap_header_qname_matches( const axutil_env_t * env, axutil_qname_t * element_qname, axutil_qname_t * qname_to_match) { int lparts_match = 0; int uris_match = 0; axis2_char_t *ele_lpart = NULL; axis2_char_t *match_lpart = NULL; axis2_char_t *ele_nsuri = NULL; axis2_char_t *match_nsuri = NULL; if (!(qname_to_match)) { return AXIS2_TRUE; } if (qname_to_match) { match_lpart = axutil_qname_get_localpart(qname_to_match, env); match_nsuri = axutil_qname_get_uri(qname_to_match, env); } if (element_qname) { ele_lpart = axutil_qname_get_localpart(element_qname, env); ele_nsuri = axutil_qname_get_uri(element_qname, env); } lparts_match = (!match_lpart || (axutil_strcmp(match_lpart, "") == 0) || (element_qname && (axutil_strcmp(ele_lpart, match_lpart) == 0))); uris_match = (!match_nsuri || (axutil_strcmp(match_nsuri, "") == 0) || (element_qname && (axutil_strcmp(ele_nsuri, match_nsuri) == 0))); return lparts_match && uris_match; } axis2c-src-1.6.0/axiom/src/soap/soap12_builder_helper.c0000644000175000017500000007206211166304631024030 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axiom_soap12_builder_helper.h" #include #include "_axiom_soap_body.h" #include "_axiom_soap_fault.h" #include "_axiom_soap_envelope.h" #include "_axiom_soap_fault_code.h" #include "_axiom_soap_fault_sub_code.h" #include "_axiom_soap_fault_node.h" #include "_axiom_soap_fault_detail.h" #include "_axiom_soap_fault_reason.h" #include "_axiom_soap_fault_role.h" #include "_axiom_soap_fault_value.h" #include "_axiom_soap_fault_text.h" struct axiom_soap12_builder_helper { axiom_soap_builder_t *soap_builder; axis2_bool_t code_present; axis2_bool_t reason_present; axis2_bool_t node_present; axis2_bool_t role_present; axis2_bool_t detail_present; axis2_bool_t subcode_value_present; axis2_bool_t value_present; axis2_bool_t sub_code_present; axis2_bool_t sub_sub_code_present; axis2_bool_t code_processing; axis2_bool_t sub_code_processing; axis2_bool_t reason_processing; axutil_array_list_t *detail_element_names; }; AXIS2_EXTERN axiom_soap12_builder_helper_t *AXIS2_CALL axiom_soap12_builder_helper_create( const axutil_env_t * env, axiom_soap_builder_t * soap_builder) { axiom_soap12_builder_helper_t *builder_helper = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, soap_builder, NULL); builder_helper = (axiom_soap12_builder_helper_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_soap12_builder_helper_t)); if (!builder_helper) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP 1.1 builder helper"); return NULL; } builder_helper->code_present = AXIS2_FALSE; builder_helper->detail_present = AXIS2_FALSE; builder_helper->reason_present = AXIS2_FALSE; builder_helper->role_present = AXIS2_FALSE; builder_helper->sub_code_present = AXIS2_FALSE; builder_helper->reason_processing = AXIS2_FALSE; builder_helper->code_processing = AXIS2_FALSE; builder_helper->sub_code_processing = AXIS2_FALSE; builder_helper->detail_element_names = NULL; builder_helper->node_present = AXIS2_FALSE; builder_helper->soap_builder = soap_builder; builder_helper->sub_sub_code_present = AXIS2_FALSE; builder_helper->value_present = AXIS2_FALSE; builder_helper->subcode_value_present = AXIS2_FALSE; return builder_helper; } AXIS2_EXTERN void AXIS2_CALL axiom_soap12_builder_helper_free( axiom_soap12_builder_helper_t * builder_helper, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, void); if (builder_helper->detail_element_names) { axutil_array_list_free(builder_helper->detail_element_names, env); builder_helper->detail_element_names = NULL; } AXIS2_FREE(env->allocator, builder_helper); builder_helper = NULL; return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap12_builder_helper_handle_event( axiom_soap12_builder_helper_t * builder_helper, const axutil_env_t * env, axiom_node_t * om_ele_node, int element_level) { axis2_char_t *ele_localname = NULL; axiom_element_t *om_ele = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_soap_envelope_t *soap_envelope = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_ele_node, AXIS2_FAILURE); om_ele = (axiom_element_t *) axiom_node_get_data_element(om_ele_node, env); if (!om_ele) { return AXIS2_FAILURE; } ele_localname = axiom_element_get_localname(om_ele, env); if (!ele_localname) { return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(builder_helper->soap_builder, env); if (!soap_envelope) { return AXIS2_FAILURE; } soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) { return AXIS2_FAILURE; } soap_fault = axiom_soap_body_get_fault(soap_body, env); if (!soap_fault) { return AXIS2_FAILURE; } if (element_level == 4) { if (axutil_strcmp (AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME, ele_localname) == 0) { if (builder_helper->code_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_CODE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Multiple fault code elements encountered in SOAP fault"); return AXIS2_FAILURE; } else { axiom_soap_fault_code_t *soap_fault_code = NULL; soap_fault_code = axiom_soap_fault_code_create(env); if (!soap_fault_code) { return AXIS2_FAILURE; } axiom_soap_fault_code_set_base_node(soap_fault_code, env, om_ele_node); axiom_soap_fault_code_set_builder(soap_fault_code, env, builder_helper->soap_builder); axiom_soap_fault_set_code(soap_fault, env, soap_fault_code); builder_helper->code_present = AXIS2_TRUE; builder_helper->code_processing = AXIS2_TRUE; } } else if (axutil_strcmp (AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME, ele_localname) == 0) { if (!(builder_helper->code_processing) && !(builder_helper->sub_code_processing)) { if (builder_helper->code_present) { if (builder_helper->reason_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_REASON_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Multiple fault reason elements encountered in SOAP fault"); return AXIS2_FAILURE; } else { axiom_soap_fault_reason_t *fault_reason = NULL; fault_reason = axiom_soap_fault_reason_create(env); if (!fault_reason) { return AXIS2_FAILURE; } axiom_soap_fault_reason_set_base_node(fault_reason, env, om_ele_node); axiom_soap_fault_set_reason(soap_fault, env, fault_reason); axiom_soap_fault_reason_set_builder(fault_reason, env, builder_helper-> soap_builder); builder_helper->reason_present = AXIS2_TRUE; builder_helper->reason_processing = AXIS2_TRUE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { if (builder_helper->code_processing) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, AXIS2_FAILURE); return AXIS2_FAILURE; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_CODE_DOES_NOT_HAVE_A_VALUE, AXIS2_FAILURE); return AXIS2_FAILURE; } } } else if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_NODE_LOCAL_NAME) == 0) { if (!(builder_helper->reason_processing)) { if (builder_helper->reason_present && !(builder_helper->role_present) && !(builder_helper->detail_present)) { if (builder_helper->node_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_NODE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } else { axiom_soap_fault_node_t *soap_fault_node = NULL; soap_fault_node = axiom_soap_fault_node_create(env); if (!soap_fault_node) { return AXIS2_FAILURE; } axiom_soap_fault_node_set_base_node(soap_fault_node, env, om_ele_node); axiom_soap_fault_set_node(soap_fault, env, soap_fault_node); builder_helper->node_present = AXIS2_TRUE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FALSE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT, AXIS2_FALSE); return AXIS2_FAILURE; } } else if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME) == 0) { if (!(builder_helper->reason_processing)) { if (builder_helper->reason_present && !(builder_helper->detail_present)) { if (builder_helper->role_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_ROLE_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } else { axiom_soap_fault_role_t *soap_fault_role = NULL; soap_fault_role = axiom_soap_fault_role_create(env); if (!soap_fault_role) return AXIS2_FAILURE; axiom_soap_fault_role_set_base_node(soap_fault_role, env, om_ele_node); axiom_soap_fault_set_role(soap_fault, env, soap_fault_role); builder_helper->role_present = AXIS2_TRUE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_ROLE_ELEMENT_SHOULD_HAVE_A_TEXT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME) == 0) { if (!(builder_helper->reason_processing)) { if (builder_helper->reason_present) { if (builder_helper->detail_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_DETAIL_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } else { axiom_soap_fault_detail_t *soap_fault_detail = NULL; soap_fault_detail = axiom_soap_fault_detail_create(env); if (!soap_fault_detail) return AXIS2_FAILURE; axiom_soap_fault_detail_set_base_node(soap_fault_detail, env, om_ele_node); axiom_soap_fault_set_detail(soap_fault, env, soap_fault_detail); builder_helper->detail_present = AXIS2_TRUE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_WRONG_ELEMENT_ORDER_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_REASON_ELEMENT_SHOULD_HAVE_A_TEXT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_UNSUPPORTED_ELEMENT_IN_SOAP_FAULT_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else if (element_level == 5) { axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axis2_char_t *parent_localname = NULL; parent_node = axiom_node_get_parent(om_ele_node, env); if (!parent_node) { return AXIS2_FAILURE; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { return AXIS2_FAILURE; } parent_localname = axiom_element_get_localname(parent_ele, env); if (!parent_localname) { return AXIS2_FAILURE; } if (axutil_strcmp(parent_localname, AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME) == 0) { if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME) == 0) { if (!(builder_helper->value_present)) { axiom_soap_fault_value_t *soap_fault_value = NULL; axiom_soap_fault_code_t *parent_fcode = NULL; soap_fault_value = axiom_soap_fault_value_create(env); if (!soap_fault_value) { return AXIS2_FAILURE; } axiom_soap_fault_value_set_base_node(soap_fault_value, env, om_ele_node); parent_fcode = axiom_soap_fault_get_code(soap_fault, env); if (!parent_fcode) { return AXIS2_FAILURE; } axiom_soap_fault_code_set_value(parent_fcode, env, soap_fault_value); builder_helper->value_present = AXIS2_TRUE; builder_helper->code_processing = AXIS2_FALSE; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_VALUE_ENCOUNTERED_IN_CODE_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else if (axutil_strcmp(ele_localname, AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0) { if (!(builder_helper->sub_code_present)) { if (builder_helper->value_present) { axiom_soap_fault_sub_code_t *fault_subcode = NULL; axiom_soap_fault_code_t *fault_code = NULL; fault_subcode = axiom_soap_fault_sub_code_create(env); if (!fault_subcode) { return AXIS2_FAILURE; } axiom_soap_fault_sub_code_set_base_node(fault_subcode, env, om_ele_node); fault_code = axiom_soap_fault_get_code(soap_fault, env); if (!fault_code) { return AXIS2_FAILURE; } axiom_soap_fault_code_set_sub_code(fault_code, env, fault_subcode); axiom_soap_fault_sub_code_set_builder(fault_subcode, env, builder_helper-> soap_builder); builder_helper->sub_code_present = AXIS2_TRUE; builder_helper->sub_code_processing = AXIS2_TRUE; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_THIS_LOCALNAME_NOT_SUPPORTED_INSIDE_THE_CODE_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else if (axutil_strcmp (parent_localname, AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME) == 0) { if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_TEXT_LOCAL_NAME) == 0) { axiom_soap_fault_text_t *soap_fault_text = NULL; axiom_soap_fault_reason_t *fault_reason = NULL; soap_fault_text = axiom_soap_fault_text_create(env); if (!soap_fault_text) { return AXIS2_FAILURE; } axiom_soap_fault_text_set_base_node(soap_fault_text, env, om_ele_node); fault_reason = axiom_soap_fault_get_reason(soap_fault, env); if (!fault_reason) { return AXIS2_FAILURE; } axiom_soap_fault_reason_add_soap_fault_text(fault_reason, env, soap_fault_text); builder_helper->reason_processing = AXIS2_FALSE; axiom_soap_builder_set_bool_processing_mandatory_fault_elements (builder_helper->soap_builder, env, AXIS2_FALSE); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_REASON_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else if (axutil_strcmp (parent_localname, AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME) == 0) { axiom_soap_builder_set_processing_detail_elements(builder_helper-> soap_builder, env, AXIS2_TRUE); if (!(builder_helper->detail_element_names)) { builder_helper->detail_element_names = axutil_array_list_create(env, 20); } axutil_array_list_add(builder_helper->detail_element_names, env, ele_localname); } else { return AXIS2_FAILURE; } } else if (element_level > 5) { axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axis2_char_t *parent_localname = NULL; parent_node = axiom_node_get_parent(om_ele_node, env); if (!parent_node) { return AXIS2_FAILURE; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { return AXIS2_FAILURE; } parent_localname = axiom_element_get_localname(parent_ele, env); if (!parent_localname) { return AXIS2_FAILURE; } if (axutil_strcmp (parent_localname, AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0) { if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME) == 0) { if (builder_helper->subcode_value_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } else { axiom_soap_fault_sub_code_t *sub_code = NULL; axiom_soap_fault_code_t *code = NULL; axiom_soap_fault_value_t *value = NULL; code = axiom_soap_fault_get_code(soap_fault, env); if (!code) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault code null when it should not be null"); return AXIS2_FAILURE; } sub_code = axiom_soap_fault_code_get_sub_code(code, env); if (!sub_code) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault subcode null when it should not be null"); return AXIS2_FAILURE; } value = axiom_soap_fault_value_create(env); if (!value) { return AXIS2_FAILURE; } axiom_soap_fault_value_set_base_node(value, env, om_ele_node); axiom_soap_fault_sub_code_set_value(sub_code, env, value); builder_helper->subcode_value_present = AXIS2_TRUE; builder_helper->sub_sub_code_present = AXIS2_FALSE; builder_helper->sub_code_processing = AXIS2_FALSE; } } else if (axutil_strcmp (ele_localname, AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME) == 0) { if (builder_helper->subcode_value_present) { if (!(builder_helper->sub_sub_code_present)) { axiom_soap_fault_code_t *fault_code = NULL; axiom_soap_fault_sub_code_t *parent_subcode = NULL; axiom_soap_fault_sub_code_t *subcode = NULL; subcode = axiom_soap_fault_sub_code_create(env); if (!subcode) { return AXIS2_FAILURE; } axiom_soap_fault_sub_code_set_base_node(subcode, env, om_ele_node); fault_code = axiom_soap_fault_get_code(soap_fault, env); if (!fault_code) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault code null when it should not be null"); return AXIS2_FAILURE; } parent_subcode = axiom_soap_fault_code_get_sub_code(fault_code, env); if (!parent_subcode) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "fault subcode null when it should not be null"); return AXIS2_FAILURE; } axiom_soap_fault_sub_code_set_sub_code(parent_subcode, env, subcode); builder_helper->subcode_value_present = AXIS2_FALSE; builder_helper->sub_sub_code_present = AXIS2_TRUE; builder_helper->sub_code_processing = AXIS2_TRUE; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_MULTIPLE_SUB_CODE_VALUES_ENCOUNTERED, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_FAULT_VALUE_SHOULD_BE_PRESENT_BEFORE_SUB_CODE, AXIS2_FAILURE); return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_THIS_LOCALNAME_IS_NOT_SUPPORTED_INSIDE_THE_SUB_CODE_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } } else if (axiom_soap_builder_is_processing_detail_elements (builder_helper->soap_builder, env)) { int detail_element_level = 0; axis2_bool_t local_name_exists = AXIS2_FALSE; int i = 0; if (!(builder_helper->detail_element_names)) { return AXIS2_FAILURE; } for (i = 0; i < axutil_array_list_size(builder_helper->detail_element_names, env); i++) { if (axutil_strcmp (parent_localname, axutil_array_list_get(builder_helper->detail_element_names, env, i)) == 0) { local_name_exists = AXIS2_TRUE; detail_element_level = i + 1; } } if (local_name_exists) { axutil_array_list_add(builder_helper->detail_element_names, env, ele_localname); } else { return AXIS2_FAILURE; } } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_envelope.h0000644000175000017500000000443711166304631024057 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_ENVELOPE_H #define _AXIOM_SOAP_ENVELOPE_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_envelope Soap Envelope * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_base_node( axiom_soap_envelope_t * envelope, const axutil_env_t * env, axiom_node_t * om_node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_body( axiom_soap_envelope_t * envelope, const axutil_env_t * env, struct axiom_soap_body *body); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_header( axiom_soap_envelope_t * envelope, const axutil_env_t * env, struct axiom_soap_header *header); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_builder( axiom_soap_envelope_t * envelope, const axutil_env_t * env, struct axiom_soap_builder *soap_builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_soap_version_internal( axiom_soap_envelope_t * envelope, const axutil_env_t * env, int soap_version); AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_null( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_ENVELOPE_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_role.h0000644000175000017500000000302011166304631024361 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_ROLE_H #define _AXIOM_SOAP_FAULT_ROLE_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_role Soap_fault_role * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_role_set_base_node( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axiom_soap_fault_role_t *AXIS2_CALL axiom_soap_fault_role_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_ROLE_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_text.h0000644000175000017500000000302011166304631024404 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_TEXT_H #define _AXIOM_SOAP_FAULT_TEXT_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_text soap fault text * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_text_set_base_node( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL axiom_soap_fault_text_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_TEXT_H */ axis2c-src-1.6.0/axiom/src/soap/soap_envelope.c0000644000175000017500000004411711166304631022515 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_envelope.h" #include #include #include #include #include #include #include #include #include #include #include #include #include struct axiom_soap_envelope { /* corresponding om element node */ axiom_node_t *om_ele_node; /* soap version */ int soap_version; /* soap header */ axiom_soap_header_t *header; /* soap body */ axiom_soap_body_t *body; /* pointer to soap builder */ axiom_soap_builder_t *soap_builder; int ref; }; static axis2_status_t check_and_set_soap_version( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_namespace_t * ns); AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_null( const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; soap_envelope = (axiom_soap_envelope_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_envelope_t)); if (!soap_envelope) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create a SOAP Envelope"); return NULL; } soap_envelope->om_ele_node = NULL; soap_envelope->soap_version = AXIOM_SOAP12; soap_envelope->header = NULL; soap_envelope->body = NULL; soap_envelope->ref = 1; soap_envelope->soap_builder = NULL; return soap_envelope; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create( const axutil_env_t * env, axiom_namespace_t * ns) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_element_t *ele = NULL; int status = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, ns, NULL); soap_envelope = axiom_soap_envelope_create_null(env); if (!soap_envelope) { return NULL; } status = check_and_set_soap_version(soap_envelope, env, ns); if (status == AXIS2_FAILURE) { AXIS2_FREE(env->allocator, soap_envelope); return NULL; } ele = axiom_element_create(env, NULL, AXIOM_SOAP_ENVELOPE_LOCAL_NAME, ns, &(soap_envelope->om_ele_node)); if (!ele) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create a SOAP element"); axiom_soap_envelope_free(soap_envelope, env); return NULL; } return soap_envelope; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_with_soap_version_prefix( const axutil_env_t * env, int soap_version, const axis2_char_t * prefix) { axiom_namespace_t *ns = NULL; const axis2_char_t *ns_prefix = NULL; const axis2_char_t *ns_uri = NULL; if (soap_version == AXIOM_SOAP11) { ns_uri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } else if (soap_version == AXIOM_SOAP12) { ns_uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOAP_VERSION, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Invalid SOAP version"); return NULL; } if (!prefix || axutil_strcmp(prefix, "") == 0) { ns_prefix = AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX; } else { ns_prefix = prefix; } ns = axiom_namespace_create(env, ns_uri, ns_prefix); if (!ns) return NULL; return axiom_soap_envelope_create(env, ns); } AXIS2_EXTERN void AXIS2_CALL axiom_soap_envelope_free( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env) { if (--(soap_envelope->ref) > 0) { return; } if (soap_envelope->header) { axiom_soap_header_free(soap_envelope->header, env); } if (soap_envelope->body) { axiom_soap_body_free(soap_envelope->body, env); } if (soap_envelope->om_ele_node) { if (soap_envelope->soap_builder) { axiom_soap_builder_free(soap_envelope->soap_builder, env); soap_envelope->om_ele_node = NULL; } else { axiom_node_free_tree(soap_envelope->om_ele_node, env); } } AXIS2_FREE(env->allocator, soap_envelope); return; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_envelope_get_base_node( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env) { return soap_envelope->om_ele_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_base_node( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } soap_envelope->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_envelope_get_soap_version( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env) { return soap_envelope->soap_version; } /** this is an internal function */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_soap_version_internal( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, int soap_version) { soap_envelope->soap_version = soap_version; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL axiom_soap_envelope_get_header( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_envelope->header) { return soap_envelope->header; } else if (soap_envelope->soap_builder) { while (!(soap_envelope->header) && !(soap_envelope->body) && !axiom_node_is_complete(soap_envelope->om_ele_node, env)) { status = axiom_soap_builder_next(soap_envelope->soap_builder, env); if (status == AXIS2_FAILURE) { break; } } } return soap_envelope->header; } AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL axiom_soap_envelope_add_header( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axis2_char_t * namespace_uri, axis2_char_t * name) { axiom_namespace_t *ns = NULL; if (!soap_envelope->header) { return NULL; } if (namespace_uri) { ns = axiom_namespace_create(env, namespace_uri, NULL); } return axiom_soap_header_block_create_with_parent(env, name, ns, soap_envelope->header); } AXIS2_EXTERN axiom_soap_body_t *AXIS2_CALL axiom_soap_envelope_get_body( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_envelope->body) { return soap_envelope->body; } else if (soap_envelope->soap_builder) { while (!(soap_envelope->body) && !axiom_node_is_complete(soap_envelope->om_ele_node, env)) { status = axiom_soap_builder_next(soap_envelope->soap_builder, env); if (status == AXIS2_FAILURE) { return NULL; } } } return soap_envelope->body; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_serialize( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_output_t * om_output, axis2_bool_t cache) { AXIS2_PARAM_CHECK(env->error, soap_envelope, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, om_output, AXIS2_FAILURE); /* if soap version is soap11 we modify the soap fault part. This is done because the builder construct a soap12 fault all the time. So when serializing if the soap version is soap11 we should convert it back to soap11 fault */ if (soap_envelope->soap_version == AXIOM_SOAP11) { axiom_soap_body_t *soap_body = NULL; soap_body = axiom_soap_envelope_get_body(soap_envelope, env); axiom_soap_body_convert_fault_to_soap11(soap_body, env); } /* write the xml version and encoding These should be set to om output before calling the serialize function Otherwise default values will be written */ axiom_output_get_content_type(om_output, env); return axiom_node_serialize(soap_envelope->om_ele_node, env, om_output); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_body( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_soap_body_t * body) { if (!(soap_envelope->body)) { soap_envelope->body = body; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "trying to set a soap bedy to soap_envelope when a soap body alrady exists"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_header( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_soap_header_t * header) { if (!(soap_envelope->header)) { soap_envelope->header = header; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, " trying to set a soap header to soap_envelope when a soap header alrady exists"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_soap_envelope_get_namespace( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env) { if (soap_envelope->om_ele_node) { axiom_element_t *ele = NULL; if (axiom_node_get_node_type(soap_envelope->om_ele_node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(soap_envelope-> om_ele_node, env); if (ele) { return axiom_element_get_namespace(ele, env, soap_envelope->om_ele_node); } } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_builder( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_soap_builder_t * soap_builder) { AXIS2_PARAM_CHECK(env->error, soap_builder, AXIS2_FAILURE); soap_envelope->soap_builder = soap_builder; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_default_soap_envelope( const axutil_env_t * env, int soap_version) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_header_t *soap_header = NULL; axiom_soap_body_t *soap_body = NULL; axiom_namespace_t *om_ns = NULL; if (soap_version == AXIOM_SOAP11) { om_ns = axiom_namespace_create(env, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX); if (!om_ns) { return NULL; } soap_envelope = axiom_soap_envelope_create(env, om_ns); soap_header = axiom_soap_header_create_with_parent(env, soap_envelope); soap_body = axiom_soap_body_create_with_parent(env, soap_envelope); soap_envelope->body = soap_body; soap_envelope->header = soap_header; return soap_envelope; } else if (soap_version == AXIOM_SOAP12) { om_ns = axiom_namespace_create(env, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI, AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX); if (!om_ns) { return NULL; } soap_envelope = axiom_soap_envelope_create(env, om_ns); soap_header = axiom_soap_header_create_with_parent(env, soap_envelope); soap_body = axiom_soap_body_create_with_parent(env, soap_envelope); soap_envelope->body = soap_body; soap_envelope->header = soap_header; return soap_envelope; } AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_SOAP_VERSION, AXIS2_FAILURE); return NULL; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_default_soap_fault_envelope( const axutil_env_t * env, const axis2_char_t * code_value, const axis2_char_t * reason_text, const int soap_version, axutil_array_list_t * sub_codes, axiom_node_t * detail_node) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *fault = NULL; if (AXIOM_SOAP11 != soap_version && AXIOM_SOAP12 != soap_version) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_SOAP_VERSION, AXIS2_FAILURE); return NULL; } soap_envelope = axiom_soap_envelope_create_default_soap_envelope(env, soap_version); if (!soap_envelope) { return NULL; } soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (!soap_body) { axiom_soap_envelope_free(soap_envelope, env); return NULL; } fault = axiom_soap_fault_create_default_fault(env, soap_body, code_value, reason_text, soap_version); if (!fault) { axiom_soap_envelope_free(soap_envelope, env); return NULL; } if (sub_codes) { int i = 0; axiom_soap_fault_code_t *fault_code = NULL; fault_code = axiom_soap_fault_get_code(fault, env); if (fault_code) { for (i = 0; i < axutil_array_list_size(sub_codes, env); i++) { axis2_char_t *sub_code = (axis2_char_t *) axutil_array_list_get(sub_codes, env, i); if (sub_code) { axiom_soap_fault_sub_code_create_with_parent_value(env, fault_code, sub_code); } } } } if (detail_node) { axiom_soap_fault_detail_t *detail = axiom_soap_fault_detail_create_with_parent(env, fault); if (detail) { axiom_soap_fault_detail_add_detail_entry(detail, env, detail_node); } } return soap_envelope; } static axis2_status_t check_and_set_soap_version( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, axiom_namespace_t * ns) { axis2_char_t *uri = NULL; if (!soap_envelope) { return AXIS2_FAILURE; } if (!ns) { return AXIS2_FAILURE; } uri = axiom_namespace_get_uri(ns, env); if (!uri) { return AXIS2_FAILURE; } if (axutil_strcmp(uri, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI) == 0) { soap_envelope->soap_version = AXIOM_SOAP11; return AXIS2_SUCCESS; } else if (axutil_strcmp(uri, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI) == 0) { soap_envelope->soap_version = AXIOM_SOAP12; return AXIS2_SUCCESS; } else { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI, AXIS2_FAILURE); } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_soap_version( axiom_soap_envelope_t * soap_envelope, const axutil_env_t * env, int soap_version) { axiom_element_t *env_ele = NULL; axiom_namespace_t *env_ns = NULL; const axis2_char_t *ns_uri = NULL; int status = AXIS2_SUCCESS; if (soap_version == AXIOM_SOAP11) { ns_uri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; } else if (soap_version == AXIOM_SOAP12) { ns_uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } else { return AXIS2_FAILURE; } env_ele = (axiom_element_t *) axiom_node_get_data_element(soap_envelope->om_ele_node, env); if (!env_ele) { return AXIS2_FAILURE; } env_ns = axiom_element_get_namespace(env_ele, env, soap_envelope->om_ele_node); if (!env_ns) { return AXIS2_FAILURE; } status = axiom_namespace_set_uri(env_ns, env, ns_uri); if (status == AXIS2_SUCCESS) { axiom_soap_envelope_set_soap_version_internal(soap_envelope, env, soap_version); return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_increment_ref( axiom_soap_envelope_t * envelope, const axutil_env_t * env) { envelope->ref++; return AXIS2_SUCCESS; } AXIS2_EXTERN struct axiom_soap_builder *AXIS2_CALL axiom_soap_envelope_get_soap_builder( axiom_soap_envelope_t * envelope, const axutil_env_t * env) { return envelope->soap_builder; } axis2c-src-1.6.0/axiom/src/soap/soap_fault.c0000644000175000017500000004432211166304631022011 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_fault.h" #include #include "_axiom_soap_body.h" #include #include #include #include #include #include #include #include #include #include struct axiom_soap_fault { /* om element node corresponding to soap soap_fault */ axiom_node_t *om_ele_node; /* soap soap_fault code sub element */ axiom_soap_fault_code_t *fcode; /* soap soap_fault reason sub element */ axiom_soap_fault_reason_t *freason; /* soap soap_fault node sub element */ axiom_soap_fault_node_t *fnode; /* soap soap_fault role sub element */ axiom_soap_fault_role_t *frole; /* soap soap_fault detail sub element */ axiom_soap_fault_detail_t *fdetail; axis2_char_t *exception; /* reference to soap builder */ axiom_soap_builder_t *soap_builder; int soap_version; }; AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create( const axutil_env_t * env) { axiom_soap_fault_t *soap_fault = NULL; soap_fault = (axiom_soap_fault_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_t)); if (!soap_fault) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create a SOAP fault"); return NULL; } soap_fault->exception = NULL; soap_fault->fcode = NULL; soap_fault->fdetail = NULL; soap_fault->fnode = NULL; soap_fault->freason = NULL; soap_fault->frole = NULL; soap_fault->om_ele_node = NULL; soap_fault->soap_builder = NULL; soap_fault->soap_version = -1; return soap_fault; } AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create_with_parent( const axutil_env_t * env, axiom_soap_body_t * body) { axiom_soap_fault_t *soap_fault = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; AXIS2_PARAM_CHECK(env->error, body, NULL); soap_fault = axiom_soap_fault_create(env); if (!soap_fault) { return NULL; } parent_node = axiom_soap_body_get_base_node(body, env); if (!parent_node) { AXIS2_FREE(env->allocator, soap_fault); return NULL; } soap_fault->soap_version = axiom_soap_body_get_soap_version(body, env); parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { AXIS2_FREE(env->allocator, soap_fault); return NULL; } parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP_FAULT_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { AXIS2_FREE(env->allocator, soap_fault); return NULL; } soap_fault->om_ele_node = this_node; axiom_soap_body_set_fault(body, env, soap_fault); return soap_fault; } AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create_with_exception( const axutil_env_t * env, axiom_soap_body_t * body, axis2_char_t * exception) { axiom_soap_fault_t *soap_fault = NULL; axis2_status_t status = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, body, NULL); AXIS2_PARAM_CHECK(env->error, exception, NULL); soap_fault = axiom_soap_fault_create_with_parent(env, body); if (!soap_fault) { return NULL; } status = axiom_soap_fault_set_exception(soap_fault, env, exception); if (status == AXIS2_FAILURE) { axiom_soap_fault_free(soap_fault, env); return NULL; } return soap_fault; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_free( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { if (soap_fault->fcode) { axiom_soap_fault_code_free(soap_fault->fcode, env); soap_fault->fcode = NULL; } if (soap_fault->fdetail) { axiom_soap_fault_detail_free(soap_fault->fdetail, env); soap_fault->fdetail = NULL; } if (soap_fault->fnode) { axiom_soap_fault_node_free(soap_fault->fnode, env); soap_fault->fnode = NULL; } if (soap_fault->freason) { axiom_soap_fault_reason_free(soap_fault->freason, env); soap_fault->freason = NULL; } if (soap_fault->frole) { axiom_soap_fault_role_free(soap_fault->frole, env); soap_fault->frole = NULL; } AXIS2_FREE(env->allocator, soap_fault); soap_fault = NULL; return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_code( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_soap_fault_code_t * code) { AXIS2_PARAM_CHECK(env->error, code, AXIS2_FAILURE); if (!(soap_fault->fcode)) { soap_fault->fcode = code; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "tring to set multiple code elements to soap_fault "); } return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_get_code( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_fault->fcode) { return soap_fault->fcode; } else if (soap_fault->soap_builder) { while (!(soap_fault->fcode) && !(axiom_node_is_complete(soap_fault->om_ele_node, env))) { status = axiom_soap_builder_next(soap_fault->soap_builder, env); if (status == AXIS2_FAILURE) { break; } } } return soap_fault->fcode; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_reason( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_soap_fault_reason_t * reason) { AXIS2_PARAM_CHECK(env->error, reason, AXIS2_FAILURE); if (!(soap_fault->freason)) { soap_fault->freason = reason; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "tring to set soap_fault reason twice"); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_reason_t *AXIS2_CALL axiom_soap_fault_get_reason( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_fault->freason) { return soap_fault->freason; } else if (soap_fault->soap_builder) { while (!(soap_fault->freason) && !(axiom_node_is_complete(soap_fault->om_ele_node, env))) { status = axiom_soap_builder_next(soap_fault->soap_builder, env); if (status == AXIS2_FAILURE) { break; } } } return soap_fault->freason; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_node( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_soap_fault_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (!(soap_fault->fnode)) { soap_fault->fnode = node; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "tring to set soap_fault node more than once"); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_node_t *AXIS2_CALL axiom_soap_fault_get_node( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_fault->fnode) { return soap_fault->fnode; } else if (soap_fault->soap_builder) { while (!(soap_fault->fnode) && !(axiom_node_is_complete(soap_fault->om_ele_node, env))) { status = axiom_soap_builder_next(soap_fault->soap_builder, env); if (status == AXIS2_FAILURE) { break; } } } return soap_fault->fnode; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_role( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_soap_fault_role_t * role) { AXIS2_PARAM_CHECK(env->error, role, AXIS2_FAILURE); if (!(soap_fault->frole)) { soap_fault->frole = role; return AXIS2_FAILURE; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "tring to set soap_fault role more than once "); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_role_t *AXIS2_CALL axiom_soap_fault_get_role( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_fault->frole) { return soap_fault->frole; } else if (soap_fault->soap_builder) { while (!(soap_fault->frole) && !(axiom_node_is_complete(soap_fault->om_ele_node, env))) { status = axiom_soap_builder_next(soap_fault->soap_builder, env); if (status == AXIS2_FAILURE) { break; } } } return soap_fault->frole; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_detail( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_soap_fault_detail_t * detail) { AXIS2_PARAM_CHECK(env->error, detail, AXIS2_FAILURE); if (!(soap_fault->fdetail)) { soap_fault->fdetail = detail; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, " tring to set soap_fault detail more than once"); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_detail_t *AXIS2_CALL axiom_soap_fault_get_detail( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (soap_fault->fdetail) { return soap_fault->fdetail; } else if (soap_fault->soap_builder) { while (!(soap_fault->fdetail) && !(axiom_node_is_complete(soap_fault->om_ele_node, env))) { status = axiom_soap_builder_next(soap_fault->soap_builder, env); if (status == AXIS2_FAILURE) { break; } } } return soap_fault->fdetail; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_base_node( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } soap_fault->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_get_base_node( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { return soap_fault->om_ele_node; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_get_exception( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { axiom_soap_fault_detail_t *detail = NULL; axiom_node_t *detail_node = NULL; axiom_element_t *detail_ele = NULL; axiom_node_t *exception_node = NULL; axiom_element_t *exception_ele = NULL; axutil_qname_t *qn = NULL; axis2_char_t *excep = NULL; detail = axiom_soap_fault_get_detail(soap_fault, env); if (!detail) { return NULL; } detail_node = axiom_soap_fault_detail_get_base_node(detail, env); if (detail_node) { detail_ele = (axiom_element_t *) axiom_node_get_data_element(detail_node, env); qn = axutil_qname_create(env, AXIOM_SOAP_FAULT_DETAIL_EXCEPTION_ENTRY, NULL, NULL); if (qn) { exception_ele = axiom_element_get_first_child_with_qname(detail_ele, env, qn, detail_node, &exception_node); axutil_qname_free(qn, env); if (exception_ele) { excep = axiom_element_get_text(exception_ele, env, exception_node); } return excep; } } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_exception( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axis2_char_t * exception) { axiom_soap_fault_detail_t *detail = NULL; axiom_node_t *fault_detail_entry_node = NULL; axiom_element_t *fault_detail_ele = NULL; AXIS2_PARAM_CHECK(env->error, exception, AXIS2_FAILURE); detail = axiom_soap_fault_get_detail(soap_fault, env); if (!detail) { detail = axiom_soap_fault_detail_create_with_parent(env, soap_fault); if (!detail) { return AXIS2_FAILURE; } } /** create an om element with the exception enrty */ fault_detail_ele = axiom_element_create(env, NULL, AXIOM_SOAP_FAULT_DETAIL_EXCEPTION_ENTRY, NULL, &fault_detail_entry_node); if (!fault_detail_ele) { return AXIS2_FAILURE; } /** set the exception string as a text node of newly created om element */ axiom_element_set_text(fault_detail_ele, env, exception, fault_detail_entry_node); /** now add this om element as a child of soap soap_fault detail om element node */ return axiom_soap_fault_detail_add_detail_entry(detail, env, fault_detail_entry_node); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_builder( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, axiom_soap_builder_t * builder) { AXIS2_PARAM_CHECK(env->error, builder, AXIS2_FAILURE); soap_fault->soap_builder = builder; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create_default_fault( const axutil_env_t * env, struct axiom_soap_body * parent, const axis2_char_t * code_value, const axis2_char_t * reason_text, const int soap_version) { axiom_soap_fault_t *soap_fault = NULL; axiom_node_t *fault_node = NULL; axiom_soap_fault_code_t *soap_fault_code = NULL; axiom_soap_fault_value_t *soap_fault_value = NULL; axiom_soap_fault_reason_t *soap_fault_reason = NULL; axiom_soap_fault_text_t *soap_fault_text = NULL; axiom_node_t *value_node = NULL; axiom_element_t *value_ele = NULL; axiom_node_t *text_node = NULL; axiom_element_t *text_ele = NULL; AXIS2_PARAM_CHECK(env->error, code_value, NULL); AXIS2_PARAM_CHECK(env->error, reason_text, NULL); soap_fault = axiom_soap_fault_create_with_parent(env, parent); if (!soap_fault) { return NULL; } fault_node = axiom_soap_fault_get_base_node(soap_fault, env); if (!fault_node) { axiom_soap_fault_free(soap_fault, env); return NULL; } soap_fault_code = axiom_soap_fault_code_create_with_parent(env, soap_fault); if (!soap_fault_code) { axiom_soap_fault_free(soap_fault, env); axiom_node_free_tree(fault_node, env); return NULL; } soap_fault_reason = axiom_soap_fault_reason_create_with_parent(env, soap_fault); if (!soap_fault_reason) { axiom_soap_fault_free(soap_fault, env); axiom_node_free_tree(fault_node, env); return NULL; } soap_fault_value = axiom_soap_fault_value_create_with_code(env, soap_fault_code); if (!soap_fault_value) { axiom_soap_fault_free(soap_fault, env); axiom_node_free_tree(fault_node, env); return NULL; } value_node = axiom_soap_fault_value_get_base_node(soap_fault_value, env); if (!value_node) { return NULL; } value_ele = (axiom_element_t *) axiom_node_get_data_element(value_node, env); axiom_element_set_text(value_ele, env, code_value, value_node); soap_fault_text = axiom_soap_fault_text_create_with_parent(env, soap_fault_reason); if (!soap_fault_text) { axiom_soap_fault_free(soap_fault, env); axiom_node_free_tree(fault_node, env); return NULL; } axiom_soap_fault_text_set_lang(soap_fault_text, env, "en"); text_node = axiom_soap_fault_text_get_base_node(soap_fault_text, env); if (!text_node) { return NULL; } text_ele = (axiom_element_t *) axiom_node_get_data_element(text_node, env); axiom_element_set_text(text_ele, env, reason_text, text_node); return soap_fault; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_soap_version( axiom_soap_fault_t * soap_fault, const axutil_env_t * env, int soap_version) { soap_fault->soap_version = soap_version; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_fault_get_soap_version( axiom_soap_fault_t * soap_fault, const axutil_env_t * env) { return soap_fault->soap_version; } axis2c-src-1.6.0/axiom/src/soap/axiom_soap12_builder_helper.h0000644000175000017500000000400411166304631025221 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP12_BUILDER_HELPER_H #define AXIOM_SOAP12_BUILDER_HELPER_H #include /** * @file axiom_soap_12_builder_helper.h * @brief axiom_soap12_builder_helper */ #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap12_builder_helper axiom_soap12_builder_helper_t; /** * @defgroup axiom_soap12_builder_helper * @ingroup axiom_soap * @{ */ /** * creates a soap12_builder_helper_create * @param env Environment. MUST NOT be NULL */ AXIS2_EXTERN axiom_soap12_builder_helper_t *AXIS2_CALL axiom_soap12_builder_helper_create( const axutil_env_t * env, axiom_soap_builder_t * soap_builder); AXIS2_EXTERN void AXIS2_CALL axiom_soap12_builder_helper_free( axiom_soap12_builder_helper_t * builder_helper, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap12_builder_helper_handle_event( axiom_soap12_builder_helper_t * builder_helper, const axutil_env_t * env, axiom_node_t * om_element_node, int element_level); /** @} */ #ifdef __cplusplus } #endif #endif /*AXIOM_SOAP11_BUILDER_HELPER_H */ axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault.h0000644000175000017500000000563511166304631023356 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_H #define _AXIOM_SOAP_FAULT_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault Soap fault * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_code( axiom_soap_fault_t * fault, const axutil_env_t * env, struct axiom_soap_fault_code *code); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_reason( axiom_soap_fault_t * fault, const axutil_env_t * env, struct axiom_soap_fault_reason *reason); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_node( axiom_soap_fault_t * fault, const axutil_env_t * env, struct axiom_soap_fault_node *node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_role( axiom_soap_fault_t * fault, const axutil_env_t * env, struct axiom_soap_fault_role *role); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_detail( axiom_soap_fault_t * fault, const axutil_env_t * env, struct axiom_soap_fault_detail *detail); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_base_node( axiom_soap_fault_t * fault, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_builder( axiom_soap_fault_t * fault, const axutil_env_t * env, struct axiom_soap_builder *builder); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_soap_version( axiom_soap_fault_t * fault, const axutil_env_t * env, int soap_version); AXIS2_EXTERN int AXIS2_CALL axiom_soap_fault_get_soap_version( axiom_soap_fault_t * fault, const axutil_env_t * env); AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_H */ axis2c-src-1.6.0/axiom/src/soap/soap_builder.c0000644000175000017500000013114111166304631022320 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "_axiom_soap_envelope.h" #include "_axiom_soap_header.h" #include "axiom_soap11_builder_helper.h" #include "axiom_soap12_builder_helper.h" #include #include "_axiom_soap_body.h" #include "_axiom_soap_header_block.h" #include #include "_axiom_soap_fault.h" #include axis2_status_t axiom_soap_builder_create_om_element( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * current_node, int current_event); static axis2_status_t axiom_soap_builder_construct_node( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * parent, axiom_node_t * om_element_node, axis2_bool_t is_soap_envelope); static axis2_status_t axiom_soap_builder_identify_soap_version( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, const axis2_char_t * soap_version_uri_from_transport); static axis2_status_t axiom_soap_builder_parse_headers( axiom_soap_builder_t * soap_builder, const axutil_env_t * env); static axis2_status_t axiom_soap_builder_construct_node_for_empty_element( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * parent, axiom_node_t * om_element_node); struct axiom_soap_builder { axiom_stax_builder_t *om_builder; axiom_soap_envelope_t *soap_envelope; axis2_bool_t header_present; axis2_bool_t body_present; int element_level; axis2_bool_t processing_fault; axis2_bool_t processing_detail_elements; axis2_char_t *sender_fault_code; axis2_char_t *receiver_fault_code; axis2_bool_t processing_mandatory_fault_elements; void *builder_helper; axiom_namespace_t *envelope_ns; int soap_version; int last_node_status; axis2_bool_t done; axutil_hash_t *mime_body_parts; axiom_mime_parser_t *mime_parser; AXIS2_READ_INPUT_CALLBACK callback; void *callback_ctx; }; typedef enum axis2_builder_last_node_states { AXIS2_BUILDER_LAST_NODE_NULL = 0, AXIS2_BUILDER_LAST_NODE_NOT_NULL } axis2_builder_last_node_states; #define AXIS2_MAX_EVENT 100 AXIS2_EXTERN axiom_soap_builder_t *AXIS2_CALL axiom_soap_builder_create( const axutil_env_t * env, axiom_stax_builder_t * stax_builder, const axis2_char_t * soap_version) { axiom_soap_builder_t *soap_builder = NULL; axis2_status_t status = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, stax_builder, NULL); soap_builder = (axiom_soap_builder_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_builder_t)); if (soap_builder == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } soap_builder->done = AXIS2_FALSE; soap_builder->body_present = AXIS2_FALSE; soap_builder->builder_helper = NULL; soap_builder->element_level = 0; soap_builder->header_present = AXIS2_FALSE; soap_builder->processing_detail_elements = AXIS2_FALSE; soap_builder->processing_fault = AXIS2_FALSE; soap_builder->processing_mandatory_fault_elements = AXIS2_FALSE; soap_builder->receiver_fault_code = NULL; soap_builder->sender_fault_code = NULL; soap_builder->soap_version = AXIOM_SOAP12; soap_builder->last_node_status = -1; soap_builder->envelope_ns = NULL; soap_builder->soap_envelope = NULL; soap_builder->mime_body_parts = NULL; soap_builder->om_builder = stax_builder; soap_builder->mime_parser = NULL; soap_builder->callback = NULL; soap_builder->callback_ctx = NULL; status = axiom_soap_builder_identify_soap_version(soap_builder, env, soap_version); if (status == AXIS2_FAILURE) { axiom_soap_builder_free(soap_builder, env); return NULL; } status = axiom_soap_builder_parse_headers(soap_builder, env); if (status == AXIS2_FAILURE) { axiom_soap_builder_free(soap_builder, env); return NULL; } return soap_builder; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_free( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { if (!soap_builder) { return; } if (soap_builder->builder_helper) { if (soap_builder->soap_version == AXIOM_SOAP11 && soap_builder->builder_helper) { axiom_soap11_builder_helper_free((axiom_soap11_builder_helper_t *) (soap_builder->builder_helper), env); soap_builder->builder_helper = NULL; } else if (soap_builder->soap_version == AXIOM_SOAP12 && soap_builder->builder_helper) { axiom_soap12_builder_helper_free((axiom_soap12_builder_helper_t *) (soap_builder->builder_helper), env); soap_builder->builder_helper = NULL; } } if (soap_builder->om_builder) { axiom_stax_builder_free(soap_builder->om_builder, env); soap_builder->om_builder = NULL; } if (soap_builder->mime_body_parts) { axutil_hash_index_t *hi = NULL; void *val = NULL; const void *key = NULL; for (hi = axutil_hash_first(soap_builder->mime_body_parts, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, &val); if (key) { AXIS2_FREE(env->allocator, (char *) key); } val = NULL; key = NULL; } axutil_hash_free(soap_builder->mime_body_parts, env); soap_builder->mime_body_parts = NULL; } if(soap_builder->mime_parser) { axiom_mime_parser_free(soap_builder->mime_parser, env); soap_builder->mime_parser = NULL; } if(soap_builder->callback_ctx) { axis2_callback_info_t *callback_info = NULL; callback_info = (axis2_callback_info_t *)(soap_builder->callback_ctx); if(callback_info) { if(callback_info->chunked_stream) { axutil_http_chunked_stream_free(callback_info->chunked_stream, env); callback_info->chunked_stream = NULL; } AXIS2_FREE(env->allocator, callback_info); callback_info = NULL; soap_builder->callback_ctx = NULL; } } if (soap_builder) { AXIS2_FREE(env->allocator, soap_builder); soap_builder = NULL; } return; } AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_builder_get_soap_envelope( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (!soap_builder) { return NULL; } if (!(soap_builder->om_builder)) { return NULL; } while (!(soap_builder->soap_envelope) && !axiom_stax_builder_is_complete(soap_builder->om_builder, env)) { status = axiom_soap_builder_next(soap_builder, env); if (status == AXIS2_FAILURE) { break; } } return soap_builder->soap_envelope; } AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_soap_builder_get_document( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { if (!soap_builder) { return NULL; } if (soap_builder->om_builder) { return axiom_stax_builder_get_document(soap_builder->om_builder, env); } else return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_next( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { axiom_node_t *lastnode = NULL; int current_event = AXIS2_MAX_EVENT; axiom_node_t *current_node = NULL; int status = AXIS2_SUCCESS; if (!soap_builder) { return AXIS2_FAILURE; } if (soap_builder->done) { return AXIS2_FAILURE; } if (!(soap_builder->om_builder)) { return AXIS2_FAILURE; } lastnode = axiom_stax_builder_get_lastnode(soap_builder->om_builder, env); if (!lastnode) { soap_builder->last_node_status = AXIS2_BUILDER_LAST_NODE_NULL; } else { soap_builder->last_node_status = AXIS2_BUILDER_LAST_NODE_NOT_NULL; } current_event = axiom_stax_builder_next_with_token(soap_builder->om_builder, env); if (current_event == -1) { soap_builder->done = AXIS2_TRUE; return AXIS2_FAILURE; } if (current_event == AXIOM_XML_READER_EMPTY_ELEMENT || current_event == AXIOM_XML_READER_START_ELEMENT) { current_node = axiom_stax_builder_get_lastnode(soap_builder->om_builder, env); if (current_node) { status = axiom_soap_builder_create_om_element(soap_builder, env, current_node, current_event); } else return AXIS2_FAILURE; } return status; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_builder_get_document_element( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { if (soap_builder->soap_envelope) { return axiom_soap_envelope_get_base_node(soap_builder->soap_envelope, env); } else return NULL; } axis2_status_t axiom_soap_builder_create_om_element (axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * current_node, int current_event) { int ret_val = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, current_node, AXIS2_FAILURE); if (!soap_builder) { return AXIS2_FAILURE; } if (soap_builder->last_node_status == AXIS2_BUILDER_LAST_NODE_NULL) { ret_val = axiom_soap_builder_construct_node(soap_builder, env, NULL, current_node, AXIS2_TRUE); } else { int element_level = 0; axiom_node_t *parent_node = NULL; parent_node = axiom_node_get_parent(current_node, env); if (!soap_builder->om_builder) { return AXIS2_FAILURE; } element_level = axiom_stax_builder_get_element_level(soap_builder->om_builder, env); if (parent_node && element_level == 1 && current_event == AXIOM_XML_READER_EMPTY_ELEMENT) { ret_val = axiom_soap_builder_construct_node_for_empty_element (soap_builder, env, parent_node, current_node); } else if (parent_node) { ret_val = axiom_soap_builder_construct_node(soap_builder, env, parent_node, current_node, AXIS2_FALSE); } else return AXIS2_FAILURE; } return ret_val; } static axis2_status_t axiom_soap_builder_construct_node( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * parent, axiom_node_t * om_element_node, axis2_bool_t is_soap_envelope) { axiom_element_t *parent_ele = NULL; axis2_char_t *parent_localname = NULL; axiom_element_t *om_element = NULL; const axis2_char_t *ele_localname = NULL; int element_level = 0; int status = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, om_element_node, AXIS2_FAILURE); if (!soap_builder) { return AXIS2_FAILURE; } if (!soap_builder->om_builder) { return AXIS2_FAILURE; } /** get element level of this om element */ element_level = axiom_stax_builder_get_element_level(soap_builder->om_builder, env); if (axiom_stax_builder_get_current_event(soap_builder->om_builder, env) == AXIOM_XML_READER_EMPTY_ELEMENT) { /* if it is an empty element, increase the element level to ensurer processing * header block logic, as the following logic assumes * empty elements to be full elements. */ element_level++; } /* get om element struct from node */ om_element = (axiom_element_t *) axiom_node_get_data_element(om_element_node, env); if (!om_element) { return AXIS2_FAILURE; } /* get element localname */ ele_localname = axiom_element_get_localname(om_element, env); if (!ele_localname) { return AXIS2_FAILURE; } /* start: handle MTOM stuff */ if (axutil_strcmp(ele_localname, AXIS2_XOP_INCLUDE) == 0) { axiom_namespace_t *ns = NULL; while (!axiom_node_is_complete(om_element_node, env)) axiom_stax_builder_next_with_token(soap_builder->om_builder, env); ns = axiom_element_get_namespace(om_element, env, om_element_node); if (ns) { axis2_char_t *uri = axiom_namespace_get_uri(ns, env); if (uri) { if (axutil_strcmp(uri, AXIS2_XOP_NAMESPACE_URI) == 0) { axutil_qname_t *qname = NULL; qname = axutil_qname_create(env, "href", NULL, NULL); if (qname) { axis2_char_t *id = NULL; id = axiom_element_get_attribute_value(om_element, env, qname); if (id) { axis2_char_t *pos = NULL; pos = axutil_strstr(id, "cid:"); if (pos) { axiom_data_handler_t *data_handler = NULL; id += 4; if (soap_builder->mime_body_parts) { axis2_char_t *id_decoded = NULL; id_decoded = axutil_strdup(env, id); axutil_url_decode(env, id_decoded, id_decoded); data_handler = (axiom_data_handler_t *) axutil_hash_get(soap_builder-> mime_body_parts, (void *) id_decoded, AXIS2_HASH_KEY_STRING); if (data_handler) { axiom_text_t *data_text = NULL; axiom_node_t *data_om_node = NULL; /*remove the element */ axiom_node_free_tree(om_element_node, env); data_text = axiom_text_create_with_data_handler (env, parent, data_handler, &data_om_node); axiom_text_set_content_id(data_text, env, id_decoded); axiom_stax_builder_set_lastnode (soap_builder->om_builder, env, parent); } if(id_decoded) { AXIS2_FREE(env->allocator, id_decoded); } } } } } axutil_qname_free(qname, env); } } } } /* end: handle MTOM stuff */ if (parent) { /** a parent node exist , so not soap envelope element */ parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent, env); if (parent_ele) { parent_localname = axiom_element_get_localname(parent_ele, env); } } if (!parent && is_soap_envelope) { /** this is the soap envelope element */ if (axutil_strcasecmp(ele_localname, AXIOM_SOAP_ENVELOPE_LOCAL_NAME) != 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_MESSAGE_FIRST_ELEMENT_MUST_CONTAIN_LOCAL_NAME, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP message first element must contain a localname"); return AXIS2_FAILURE; } /** create a null soap envelope struct */ soap_builder->soap_envelope = axiom_soap_envelope_create_null(env); if (!soap_builder->soap_envelope) { return AXIS2_FAILURE; } /** wrap this om node in it */ status = axiom_soap_envelope_set_base_node(soap_builder->soap_envelope, env, om_element_node); axiom_soap_envelope_set_builder(soap_builder->soap_envelope, env, soap_builder); status = axiom_soap_builder_process_namespace_data(soap_builder, env, om_element_node, AXIS2_TRUE); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } } else if (element_level == 2) { if (axutil_strcmp(ele_localname, AXIOM_SOAP_HEADER_LOCAL_NAME) == 0) { /** this is the soap header element */ axiom_soap_header_t *soap_header = NULL; if (soap_builder->header_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder encountered multiple headers"); return AXIS2_FAILURE; } if (soap_builder->body_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder encountered body element first and header next"); return AXIS2_FAILURE; } soap_builder->header_present = AXIS2_TRUE; soap_header = axiom_soap_header_create(env); if (!soap_header) { return AXIS2_FAILURE; } axiom_soap_header_set_base_node(soap_header, env, om_element_node); axiom_soap_envelope_set_header(soap_builder->soap_envelope, env, soap_header); axiom_soap_header_set_builder(soap_header, env, soap_builder); axiom_soap_header_set_soap_version(soap_header, env, soap_builder->soap_version); status = axiom_soap_builder_process_namespace_data(soap_builder, env, om_element_node, AXIS2_TRUE); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } } else if (axutil_strcmp(ele_localname, AXIOM_SOAP_BODY_LOCAL_NAME) == 0) { axiom_soap_body_t *soap_body = NULL; if (soap_builder->body_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder multiple body elements encountered"); return AXIS2_FAILURE; } soap_builder->body_present = AXIS2_TRUE; soap_body = axiom_soap_body_create(env); if (!soap_body) { return AXIS2_FAILURE; } axiom_soap_body_set_base_node(soap_body, env, om_element_node); axiom_soap_body_set_builder(soap_body, env, soap_builder); axiom_soap_envelope_set_body(soap_builder->soap_envelope, env, soap_body); status = axiom_soap_builder_process_namespace_data(soap_builder, env, om_element_node, AXIS2_TRUE); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } } else if (parent_localname && axutil_strcasecmp(parent_localname, AXIOM_SOAP_HEADER_LOCAL_NAME) && axutil_strcasecmp(parent_localname, AXIOM_SOAP_BODY_LOCAL_NAME)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder found a child element other than header or "\ "body in envelope element"); return AXIS2_FAILURE; } } else if ((element_level == 3) && parent_localname && axutil_strcasecmp(parent_localname, AXIOM_SOAP_HEADER_LOCAL_NAME) == 0) { axiom_soap_header_block_t *header_block = NULL; axiom_soap_header_t *soap_header = NULL; soap_header = axiom_soap_envelope_get_header(soap_builder->soap_envelope, env); if (!soap_header) { return AXIS2_FAILURE; } header_block = axiom_soap_header_block_create(env); if (!header_block) { return AXIS2_FAILURE; } axiom_soap_header_block_set_base_node(header_block, env, om_element_node); axiom_soap_header_set_header_block(soap_header, env, header_block); axiom_soap_header_block_set_soap_version(header_block, env, soap_builder->soap_version); } else if ((element_level == 3) && parent_localname && axutil_strcasecmp(parent_localname, AXIOM_SOAP_BODY_LOCAL_NAME) == 0 && axutil_strcasecmp(ele_localname, AXIOM_SOAP_BODY_FAULT_LOCAL_NAME) == 0) { axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_namespace_t *env_ns = NULL; env_ns = axiom_soap_envelope_get_namespace(soap_builder->soap_envelope, env); if (!env_ns) { return AXIS2_FAILURE; } soap_body = axiom_soap_envelope_get_body(soap_builder->soap_envelope, env); if (!soap_body) { return AXIS2_FAILURE; } soap_fault = axiom_soap_fault_create(env); if (!soap_fault) { return AXIS2_FAILURE; } axiom_soap_fault_set_base_node(soap_fault, env, om_element_node); axiom_soap_body_set_fault(soap_body, env, soap_fault); axiom_soap_fault_set_builder(soap_fault, env, soap_builder); soap_builder->processing_fault = AXIS2_TRUE; soap_builder->processing_mandatory_fault_elements = AXIS2_TRUE; if (axutil_strcmp(AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI, axiom_namespace_get_uri(env_ns, env)) == 0) { soap_builder->builder_helper = axiom_soap12_builder_helper_create(env, soap_builder); if (!(soap_builder->builder_helper)) { return AXIS2_FAILURE; } } else if (axutil_strcmp(AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, axiom_namespace_get_uri(env_ns, env)) == 0) { soap_builder->builder_helper = axiom_soap11_builder_helper_create(env, soap_builder, soap_builder->om_builder); if (!(soap_builder->builder_helper)) { return AXIS2_FAILURE; } } } else if (element_level > 3 && soap_builder->processing_fault) { if (soap_builder->soap_version == AXIOM_SOAP11) { status = axiom_soap11_builder_helper_handle_event(((axiom_soap11_builder_helper_t *) (soap_builder->builder_helper)), env, om_element_node, element_level); } else if (soap_builder->soap_version == AXIOM_SOAP12) { status = axiom_soap12_builder_helper_handle_event(((axiom_soap12_builder_helper_t *) (soap_builder->builder_helper)), env, om_element_node, element_level); } } return status; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_process_namespace_data( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * om_node, axis2_bool_t is_soap_element) { axiom_element_t *om_ele = NULL; axiom_namespace_t *om_ns = NULL; axis2_char_t *ns_uri = NULL; if (!om_node) { return AXIS2_FAILURE; } if (!is_soap_element) { return AXIS2_SUCCESS; } if (axiom_node_get_node_type(om_node, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(om_node, env); if (om_ele) { om_ns = axiom_element_get_namespace(om_ele, env, om_node); if (om_ns) { ns_uri = axiom_namespace_get_uri(om_ns, env); if (ns_uri && (axutil_strcmp (ns_uri, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI) != 0) && (axutil_strcmp (ns_uri, AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI) != 0)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI, AXIS2_FAILURE); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "AXIS2_ERROR_INVALID_SOAP_NAMESPACE_URI"); return AXIS2_FAILURE; } } } } return AXIS2_SUCCESS; } static axis2_status_t axiom_soap_builder_identify_soap_version( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, const axis2_char_t * soap_version_uri_from_transport) { axiom_namespace_t *om_ns = NULL; axiom_node_t *envelope_node = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *ns_uri = NULL; AXIS2_PARAM_CHECK(env->error, soap_version_uri_from_transport, AXIS2_FAILURE); if (!soap_builder) { return AXIS2_FAILURE; } soap_builder->soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (soap_builder->soap_envelope == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_MESSAGE_DOES_NOT_CONTAIN_AN_ENVELOPE, AXIS2_FAILURE); AXIS2_LOG_CRITICAL(env->log, AXIS2_LOG_SI, "SOAP message does not have a SOAP envelope element "); return AXIS2_FAILURE; } envelope_node = axiom_soap_envelope_get_base_node(soap_builder->soap_envelope, env); if (!envelope_node) { return AXIS2_FAILURE; } om_ele = (axiom_element_t *) axiom_node_get_data_element(envelope_node, env); if (!om_ele) { return AXIS2_FAILURE; } om_ns = axiom_element_get_namespace(om_ele, env, envelope_node); if (!om_ns) { return AXIS2_FAILURE; } ns_uri = axiom_namespace_get_uri(om_ns, env); if (ns_uri) { if (soap_version_uri_from_transport && axutil_strcmp(soap_version_uri_from_transport, ns_uri) != 0) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "AXIS2_ERROR_TRANSPORT_LEVEL_INFORMATION_DOES_NOT_MATCH_WITH_SOAP"); return AXIS2_FAILURE; } if (axutil_strcmp(AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, ns_uri) == 0) { soap_builder->soap_version = AXIOM_SOAP11; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Identified soap version is soap11"); axiom_soap_envelope_set_soap_version_internal(soap_builder-> soap_envelope, env, soap_builder-> soap_version); return AXIS2_SUCCESS; } else if (axutil_strcmp(AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI, ns_uri) == 0) { soap_builder->soap_version = AXIOM_SOAP12; AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "identified soap version is soap12"); axiom_soap_envelope_set_soap_version_internal(soap_builder-> soap_envelope, env, soap_builder-> soap_version); return AXIS2_SUCCESS; } } return AXIS2_FAILURE; } static axis2_status_t axiom_soap_builder_parse_headers( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { axiom_node_t *om_node = NULL; axiom_soap_header_t *soap_header = NULL; int status = AXIS2_SUCCESS; if (!soap_builder) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Soap Builder is NULL"); return AXIS2_FAILURE; } if (!soap_builder->soap_envelope) { return AXIS2_FAILURE; } soap_header = axiom_soap_envelope_get_header(soap_builder->soap_envelope, env); if (soap_header) { om_node = axiom_soap_header_get_base_node(soap_header, env); if (om_node) { while (!axiom_node_is_complete(om_node, env)) { status = axiom_soap_builder_next(soap_builder, env); if (status == AXIS2_FAILURE) return AXIS2_FAILURE; } /*HACK: to fix AXIS2C-129 - Samisa */ /* axiom_stax_builder_set_element_level( soap_builder->om_builder, env, 1); */ } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_set_bool_processing_mandatory_fault_elements( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axis2_bool_t value) { soap_builder->processing_mandatory_fault_elements = value; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_set_processing_detail_elements( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axis2_bool_t value) { soap_builder->processing_detail_elements = value; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_builder_is_processing_detail_elements( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { return soap_builder->processing_detail_elements; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_builder_get_soap_version( axiom_soap_builder_t * soap_builder, const axutil_env_t * env) { return soap_builder->soap_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_set_mime_body_parts( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axutil_hash_t * map) { soap_builder->mime_body_parts = map; return AXIS2_SUCCESS; } static axis2_status_t axiom_soap_builder_construct_node_for_empty_element( axiom_soap_builder_t * soap_builder, const axutil_env_t * env, axiom_node_t * parent, axiom_node_t * om_element_node) { axiom_element_t *parent_ele = NULL; axis2_char_t *parent_localname = NULL; axiom_element_t *om_element = NULL; axis2_char_t *ele_localname = NULL; int element_level = 0; int status = AXIS2_SUCCESS; AXIS2_PARAM_CHECK(env->error, om_element_node, AXIS2_FAILURE); if (!soap_builder) { return AXIS2_FAILURE; } if (!soap_builder->om_builder) { return AXIS2_FAILURE; } element_level = axiom_stax_builder_get_element_level(soap_builder->om_builder, env); om_element = (axiom_element_t *) axiom_node_get_data_element(om_element_node, env); if (!om_element) { return AXIS2_FAILURE; } ele_localname = axiom_element_get_localname(om_element, env); if (!ele_localname) { return AXIS2_FAILURE; } if (!parent) { return AXIS2_FAILURE; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent, env); if (!parent_ele) { return AXIS2_FAILURE; } parent_localname = axiom_element_get_localname(parent_ele, env); if (!parent_localname) { return AXIS2_FAILURE; } if (element_level == 1) { if (axutil_strcmp(ele_localname, AXIOM_SOAP_HEADER_LOCAL_NAME) == 0) { /** this is the soap header element */ axiom_soap_header_t *soap_header = NULL; if (soap_builder->header_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_HEADERS_ENCOUNTERED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder encountered multiple headers"); return AXIS2_FAILURE; } if (soap_builder->body_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_HEADER_BODY_WRONG_ORDER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder encountered body element first and header next"); return AXIS2_FAILURE; } soap_builder->header_present = AXIS2_TRUE; soap_header = axiom_soap_header_create(env); if (!soap_header) { return AXIS2_FAILURE; } axiom_soap_header_set_base_node(soap_header, env, om_element_node); axiom_soap_envelope_set_header(soap_builder->soap_envelope, env, soap_header); axiom_soap_header_set_builder(soap_header, env, soap_builder); axiom_soap_header_set_soap_version(soap_header, env, soap_builder->soap_version); status = axiom_soap_builder_process_namespace_data(soap_builder, env, om_element_node, AXIS2_TRUE); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } } else if (axutil_strcmp(ele_localname, AXIOM_SOAP_BODY_LOCAL_NAME) == 0) { axiom_soap_body_t *soap_body = NULL; if (soap_builder->body_present) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_MULTIPLE_BODY_ELEMENTS_ENCOUNTERED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder multiple body elements encountered"); return AXIS2_FAILURE; } soap_builder->body_present = AXIS2_TRUE; soap_body = axiom_soap_body_create(env); if (!soap_body) { return AXIS2_FAILURE; } axiom_soap_body_set_base_node(soap_body, env, om_element_node); axiom_soap_body_set_builder(soap_body, env, soap_builder); axiom_soap_envelope_set_body(soap_builder->soap_envelope, env, soap_body); status = axiom_soap_builder_process_namespace_data(soap_builder, env, om_element_node, AXIS2_TRUE); if (status == AXIS2_FAILURE) { return AXIS2_FAILURE; } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SOAP_BUILDER_ENVELOPE_CAN_HAVE_ONLY_HEADER_AND_BODY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "SOAP builder found a child element other than header or "\ "body in envelope element"); return AXIS2_FAILURE; } } return status; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_soap_builder_get_mime_body_parts( axiom_soap_builder_t * builder, const axutil_env_t * env) { return builder->mime_body_parts; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_set_mime_parser( axiom_soap_builder_t * builder, const axutil_env_t * env, axiom_mime_parser_t *mime_parser) { builder->mime_parser = mime_parser; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_set_callback_function( axiom_soap_builder_t * builder, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback) { builder->callback = callback; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_set_callback_ctx( axiom_soap_builder_t * builder, const axutil_env_t * env, void *callback_ctx) { builder->callback_ctx = callback_ctx; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_create_attachments( axiom_soap_builder_t * builder, const axutil_env_t * env, void *user_param, axis2_char_t *callback_name) { axutil_hash_t *attachments_map = NULL; axis2_char_t *mime_boundary = NULL; if(builder->mime_parser) { if(builder->callback_ctx) { mime_boundary = axiom_mime_parser_get_mime_boundary( builder->mime_parser, env); if(mime_boundary) { if(callback_name) { axiom_mime_parser_set_caching_callback_name(builder->mime_parser, env, callback_name); } attachments_map = axiom_mime_parser_parse_for_attachments( builder->mime_parser, env, builder->callback, builder->callback_ctx, mime_boundary, user_param); if(attachments_map) { builder->mime_body_parts = attachments_map; return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_builder_replace_xop( axiom_soap_builder_t * builder, const axutil_env_t * env, axiom_node_t *om_element_node, axiom_element_t *om_element) { axiom_namespace_t *ns = NULL; axis2_bool_t is_replaced = AXIS2_FALSE; ns = axiom_element_get_namespace(om_element, env, om_element_node); if (ns) { axis2_char_t *uri = axiom_namespace_get_uri(ns, env); if (uri) { if (axutil_strcmp(uri, AXIS2_XOP_NAMESPACE_URI) == 0) { axutil_qname_t *qname = NULL; qname = axutil_qname_create(env, "href", NULL, NULL); if (qname) { axis2_char_t *id = NULL; id = axiom_element_get_attribute_value(om_element, env, qname); if (id) { axis2_char_t *pos = NULL; pos = axutil_strstr(id, "cid:"); if (pos) { axiom_data_handler_t *data_handler = NULL; id += 4; if (builder->mime_body_parts) { axis2_char_t *id_decoded = NULL; id_decoded = axutil_strdup(env, id); axutil_url_decode(env, id_decoded, id_decoded); data_handler = (axiom_data_handler_t *) axutil_hash_get(builder-> mime_body_parts, (void *) id_decoded, AXIS2_HASH_KEY_STRING); if (data_handler) { axiom_text_t *data_text = NULL; axiom_node_t *data_om_node = NULL; axiom_node_t *parent = NULL; parent = axiom_node_get_parent(om_element_node, env); /*remove the element */ axiom_node_free_tree(om_element_node, env); data_text = axiom_text_create_with_data_handler (env, parent, data_handler, &data_om_node); axiom_text_set_content_id(data_text, env, id_decoded); /*axiom_stax_builder_set_lastnode (soap_builder->om_builder, env, parent);*/ is_replaced = AXIS2_TRUE; } if(id_decoded) { AXIS2_FREE(env->allocator, id_decoded); } } } } } axutil_qname_free(qname, env); } } } return is_replaced; } axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_value.h0000644000175000017500000000303211166304631024537 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_VALUE_H #define _AXIOM_SOAP_FAULT_VALUE_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_value Soap Fault Value * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_value_set_base_node( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_value_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_VALUE_H */ axis2c-src-1.6.0/axiom/src/soap/soap_fault_code.c0000644000175000017500000002064411166304631023004 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_fault_code.h" #include #include #include #include "_axiom_soap_fault.h" struct axiom_soap_fault_code { axiom_node_t *om_ele_node; axiom_soap_fault_sub_code_t *subcode; axiom_soap_fault_value_t *value; axiom_soap_builder_t *builder; int soap_version; }; AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_code_create( const axutil_env_t * env) { axiom_soap_fault_code_t *fault_code = NULL; fault_code = (axiom_soap_fault_code_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_code_t)); if (!fault_code) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create SOAP fault code"); return NULL; } fault_code->om_ele_node = NULL; fault_code->subcode = NULL; fault_code->value = NULL; fault_code->builder = NULL; fault_code->soap_version = AXIOM_SOAP_VERSION_NOT_SET; return fault_code; } AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_code_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault) { axiom_soap_fault_code_t *fault_code = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; AXIS2_PARAM_CHECK(env->error, fault, NULL); fault_code = axiom_soap_fault_code_create(env); if (!fault_code) { return NULL; } parent_node = axiom_soap_fault_get_base_node(fault, env); if (!parent_node) { axiom_soap_fault_code_free(fault_code, env); return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { axiom_soap_fault_code_free(fault_code, env); return NULL; } fault_code->soap_version = axiom_soap_fault_get_soap_version(fault, env); if (fault_code->soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_code_free(fault_code, env); return NULL; } fault_code->om_ele_node = this_node; axiom_soap_fault_set_code(fault, env, fault_code); return fault_code; } AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_code_create_with_parent_value( const axutil_env_t * env, axiom_soap_fault_t * fault, axis2_char_t * value) { axiom_soap_fault_code_t *fault_code = NULL; axiom_soap_fault_value_t *fault_value = NULL; AXIS2_PARAM_CHECK(env->error, value, NULL); fault_code = axiom_soap_fault_code_create_with_parent(env, fault); if (!fault_code) { return NULL; } fault_value = axiom_soap_fault_value_create_with_code(env, fault_code); if (!fault_value) { axiom_soap_fault_code_free(fault_code, env); return NULL; } axiom_soap_fault_value_set_text(fault_value, env, value); return fault_code; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_code_free( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env) { if (fault_code->subcode) { axiom_soap_fault_sub_code_free(fault_code->subcode, env); } if (fault_code->value) { axiom_soap_fault_value_free(fault_code->value, env); } AXIS2_FREE(env->allocator, fault_code); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_value( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, axiom_soap_fault_value_t * fault_val) { AXIS2_PARAM_CHECK(env->error, fault_val, AXIS2_FAILURE); if (!(fault_code->value)) { fault_code->value = fault_val; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "trying to set fault value to fault code more than once"); } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_sub_code( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, axiom_soap_fault_sub_code_t * fault_subcode) { AXIS2_PARAM_CHECK(env->error, fault_subcode, AXIS2_FAILURE); if (!(fault_code->subcode)) { fault_code->subcode = fault_subcode; return AXIS2_SUCCESS; } else { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "trying to set fault subcode to fault code more than once "); } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_code_get_sub_code( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (fault_code->subcode) { return fault_code->subcode; } else if (fault_code->builder) { while (!(fault_code->subcode) && !(axiom_node_is_complete(fault_code->om_ele_node, env))) { status = axiom_soap_builder_next(fault_code->builder, env); if (status == AXIS2_FAILURE) { break; } } } return fault_code->subcode; } AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_code_get_value( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env) { int status = AXIS2_SUCCESS; if (fault_code->value) { return fault_code->value; } else if (fault_code->builder) { while (!(fault_code->value) && !(axiom_node_is_complete(fault_code->om_ele_node, env))) { status = axiom_soap_builder_next(fault_code->builder, env); if (status == AXIS2_FAILURE) { break; } } } return fault_code->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_base_node( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_code->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_code_get_base_node( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env) { return fault_code->om_ele_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_builder( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, axiom_soap_builder_t * soap_builder) { AXIS2_PARAM_CHECK(env->error, soap_builder, AXIS2_FAILURE); fault_code->builder = soap_builder; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL axiom_soap_fault_code_get_soap_version( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env) { return fault_code->soap_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_code_set_soap_version( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env, int soap_version) { fault_code->soap_version = soap_version; return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/soap/soap_fault_detail.c0000644000175000017500000001213411166304631023327 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "_axiom_soap_fault.h" #include #include #include "_axiom_soap_fault_detail.h" struct axiom_soap_fault_detail { axiom_node_t *om_ele_node; }; AXIS2_EXTERN axiom_soap_fault_detail_t *AXIS2_CALL axiom_soap_fault_detail_create( const axutil_env_t * env) { axiom_soap_fault_detail_t *fault_detail = NULL; fault_detail = (axiom_soap_fault_detail_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_soap_fault_detail_t)); if (!fault_detail) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create a fault detail"); return NULL; } fault_detail->om_ele_node = NULL; return fault_detail; } AXIS2_EXTERN axiom_soap_fault_detail_t *AXIS2_CALL axiom_soap_fault_detail_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault) { axiom_soap_fault_detail_t *fault_detail = NULL; axiom_element_t *this_ele = NULL; axiom_node_t *this_node = NULL; axiom_node_t *parent_node = NULL; axiom_element_t *parent_ele = NULL; axiom_namespace_t *parent_ns = NULL; int soap_version = -1; AXIS2_PARAM_CHECK(env->error, fault, NULL); fault_detail = axiom_soap_fault_detail_create(env); if (!fault_detail) { return NULL; } parent_node = axiom_soap_fault_get_base_node(fault, env); if (!parent_node) { return NULL; } parent_ele = (axiom_element_t *) axiom_node_get_data_element(parent_node, env); if (!parent_ele) { return NULL; } soap_version = axiom_soap_fault_get_soap_version(fault, env); if (soap_version == AXIOM_SOAP12) { parent_ns = axiom_element_get_namespace(parent_ele, env, parent_node); } this_ele = axiom_element_create(env, parent_node, AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME, parent_ns, &this_node); if (!this_ele) { axiom_soap_fault_detail_free(fault_detail, env); return NULL; } fault_detail->om_ele_node = this_node; axiom_soap_fault_set_detail(fault, env, fault_detail); return fault_detail; } AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_detail_free( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env) { AXIS2_FREE(env->allocator, fault_detail); return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_detail_add_detail_entry( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_OM_ELEMENT_EXPECTED, AXIS2_FAILURE); return AXIS2_FAILURE; } axiom_node_add_child(fault_detail->om_ele_node, env, node); return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL axiom_soap_fault_detail_get_all_detail_entries( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; if (fault_detail->om_ele_node) { om_ele = (axiom_element_t *) axiom_node_get_data_element(fault_detail->om_ele_node, env); return axiom_element_get_children(om_ele, env, fault_detail->om_ele_node); } return NULL; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_detail_set_base_node( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env, axiom_node_t * node) { AXIS2_PARAM_CHECK(env->error, node, AXIS2_FAILURE); if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_INVALID_BASE_TYPE, AXIS2_FAILURE); return AXIS2_FAILURE; } fault_detail->om_ele_node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_detail_get_base_node( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env) { return fault_detail->om_ele_node; } axis2c-src-1.6.0/axiom/src/soap/_axiom_soap_fault_detail.h0000644000175000017500000000304611166304631024672 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef _AXIOM_SOAP_FAULT_DETAIL_H #define _AXIOM_SOAP_FAULT_DETAIL_H /** @defgroup axiom_soap AXIOM (Axis Object Model) * @ingroup axis2 * @{ */ /** @} */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap_fault_detail soap fault detail * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_detail_set_base_node( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axiom_soap_fault_detail_t *AXIS2_CALL axiom_soap_fault_detail_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /** _AXIOM_SOAP_FAULT_DETAIL_H */ axis2c-src-1.6.0/axiom/src/util/0000777000175000017500000000000011172017535017523 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/util/Makefile.am0000644000175000017500000000041611166304645021560 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_axiom_util.la libaxis2_axiom_util_la_SOURCES = om_util.c libaxis2_axiom_util_la_LIBADD = INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I ../../../util/include axis2c-src-1.6.0/axiom/src/util/Makefile.in0000644000175000017500000003245011172017173021566 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_axiom_util_la_DEPENDENCIES = am_libaxis2_axiom_util_la_OBJECTS = om_util.lo libaxis2_axiom_util_la_OBJECTS = $(am_libaxis2_axiom_util_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_axiom_util_la_SOURCES) DIST_SOURCES = $(libaxis2_axiom_util_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_axiom_util.la libaxis2_axiom_util_la_SOURCES = om_util.c libaxis2_axiom_util_la_LIBADD = INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I ../../../util/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_axiom_util.la: $(libaxis2_axiom_util_la_OBJECTS) $(libaxis2_axiom_util_la_DEPENDENCIES) $(LINK) $(libaxis2_axiom_util_la_OBJECTS) $(libaxis2_axiom_util_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/om_util.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/util/om_util.c0000644000175000017500000011353011166304645021342 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_child_text(axiom_node_t *node, const axutil_env_t * env) { axiom_element_t *ele = NULL; axis2_char_t *txt = NULL; ele = (axiom_element_t*)axiom_node_get_data_element(node, env); txt = axiom_element_get_text(ele, env, node); return txt; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_uri( axiom_node_t * ele_node, const axutil_env_t * env, axis2_char_t * uri, axiom_node_t ** child) { axiom_node_t *child_node = NULL; if (!ele_node || !uri) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Element node or uri is NULL"); return NULL; } child_node = axiom_node_get_first_child(ele_node, env); while (child_node) { if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { axiom_element_t *child_ele = NULL; axiom_namespace_t *ns = NULL; child_ele = (axiom_element_t *) axiom_node_get_data_element(child_node, env); ns = axiom_element_get_namespace(child_ele, env, child_node); if (ns) { axis2_char_t *child_uri = NULL; child_uri = axiom_namespace_get_uri(ns, env); if (child_uri && axutil_strcmp(child_uri, uri) == 0) { (*child) = child_node; return child_ele; } } } child_node = axiom_node_get_next_sibling(child_node, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_sibling_element_with_uri( axiom_node_t * ele_node, const axutil_env_t * env, axis2_char_t * uri, axiom_node_t ** next_node) { axiom_node_t *next_sib_node = NULL; if (!ele_node || !uri) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_NULL_PARAM, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Element node or uri is NULL"); return NULL; } next_sib_node = axiom_node_get_next_sibling(ele_node, env); while (next_sib_node) { if (axiom_node_get_node_type(next_sib_node, env) == AXIOM_ELEMENT) { axiom_element_t *sib_ele = NULL; axiom_namespace_t *ns = NULL; sib_ele = (axiom_element_t *) axiom_node_get_data_element(next_sib_node, env); ns = axiom_element_get_namespace(sib_ele, env, next_sib_node); if (ns) { axis2_char_t *sib_uri = NULL; sib_uri = axiom_namespace_get_uri(ns, env); if (sib_uri && axutil_strcmp(sib_uri, uri) == 0) { (*next_node) = next_sib_node; return sib_ele; } } } next_sib_node = axiom_node_get_next_sibling(next_sib_node, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axiom_node_t ** child_node) { AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); return axiom_element_get_first_element(ele, env, ele_node, child_node); } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axiom_node_t ** child_node) { axiom_node_t *last_node = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); last_node = axiom_node_get_last_child(ele_node, env); while (last_node) { if (axiom_node_get_node_type(last_node, env) == AXIOM_ELEMENT) { *child_node = last_node; return (axiom_element_t *) axiom_node_get_data_element(last_node, env); } last_node = axiom_node_get_previous_sibling(ele_node, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_sibling_element( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axiom_node_t ** next_node) { axiom_node_t *next_sibling = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); next_sibling = axiom_node_get_next_sibling(ele_node, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { *next_node = next_sibling; return (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_node_t *next_sibling = NULL; axis2_char_t *child_localname = NULL; axiom_element_t *om_ele = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); AXIS2_PARAM_CHECK(env->error, localname, NULL); child = axiom_node_get_first_child(ele_node, env); if (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(child, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && axutil_strcmp(child_localname, localname) == 0) { *child_node = child; return om_ele; } } } om_ele = NULL; child_localname = NULL; } next_sibling = axiom_node_get_next_sibling(child, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && axutil_strcmp(child_localname, localname) == 0) { *child_node = next_sibling; return om_ele; } } om_ele = NULL; child_localname = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *child_localname = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, localname, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); child = axiom_node_get_last_child(ele_node, env); while (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(ele_node, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && axutil_strcmp(child_localname, localname) == 0) { *child_node = child; return om_ele; } } om_ele = NULL; child_localname = NULL; } child = axiom_node_get_previous_sibling(child, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_siblng_element_with_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axiom_node_t ** next_node) { axiom_node_t *next_sibling = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *ele_localname = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); next_sibling = axiom_node_get_next_sibling(ele_node, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { ele_localname = axiom_element_get_localname(om_ele, env); if (ele_localname && axutil_strcmp(localname, ele_localname) == 0) { *next_node = next_sibling; return om_ele; } } om_ele = NULL; ele_localname = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_uri_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * uri, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_node_t *next_sibling = NULL; axis2_char_t *child_localname = NULL; axiom_element_t *om_ele = NULL; axiom_namespace_t *ns = NULL; axis2_char_t *ns_uri = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); AXIS2_PARAM_CHECK(env->error, localname, NULL); AXIS2_PARAM_CHECK(env->error, uri, NULL); child = axiom_node_get_first_child(ele_node, env); if (!child) { return NULL; } if (axiom_node_get_node_type(ele_node, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(child, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); ns = axiom_element_get_namespace(om_ele, env, child); if (ns) { ns_uri = axiom_namespace_get_uri(ns, env); } if ((child_localname) && (axutil_strcmp(child_localname, localname) == 0) && (ns_uri) && (axutil_strcmp(ns_uri, uri) == 0)) { *child_node = child; return om_ele; } } } om_ele = NULL; child_localname = NULL; ns = NULL; ns_uri = NULL; next_sibling = axiom_node_get_next_sibling(child, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); ns = axiom_element_get_namespace(om_ele, env, next_sibling); if (ns) { ns_uri = axiom_namespace_get_uri(ns, env); } if ((child_localname) && (axutil_strcmp(child_localname, localname) == 0) && (ns_uri) && (axutil_strcmp(ns_uri, uri) == 0)) { *child_node = next_sibling; return om_ele; } } om_ele = NULL; child_localname = NULL; ns = NULL; ns_uri = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_uri_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * uri, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *child_localname = NULL; axiom_namespace_t *ns = NULL; axis2_char_t *ns_uri = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, localname, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); AXIS2_PARAM_CHECK(env->error, uri, NULL); child = axiom_node_get_last_child(ele_node, env); while (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(ele_node, env); if (om_ele) { ns = axiom_element_get_namespace(om_ele, env, ele_node); if (ns) { ns_uri = axiom_namespace_get_uri(ns, env); } child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && (axutil_strcmp(child_localname, localname) == 0) && (ns_uri) && (axutil_strcmp(ns_uri, uri) == 0)) { *child_node = child; return om_ele; } } om_ele = NULL; child_localname = NULL; ns = NULL; ns_uri = NULL; } child = axiom_node_get_previous_sibling(child, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_sibling_element_with_uri_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * uri, axiom_node_t ** next_node) { axiom_node_t *next_sibling = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *ele_localname = NULL; axiom_namespace_t *ns = NULL; axis2_char_t *ns_uri = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); next_sibling = axiom_node_get_next_sibling(ele_node, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { ns = axiom_element_get_namespace(om_ele, env, next_sibling); if (ns) { ns_uri = axiom_namespace_get_uri(ns, env); } ele_localname = axiom_element_get_localname(om_ele, env); if (ele_localname && (axutil_strcmp(localname, ele_localname) == 0) && (ns) && (axutil_strcmp(ns_uri, uri) == 0)) { *next_node = next_sibling; return om_ele; } } om_ele = NULL; ele_localname = NULL; ns_uri = NULL; ns = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_localnames( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axutil_array_list_t * names, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_node_t *next_sibling = NULL; axis2_char_t *child_localname = NULL; axis2_char_t *given_localname = NULL; axiom_element_t *om_ele = NULL; int size = 0; int i = 0; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); AXIS2_PARAM_CHECK(env->error, names, NULL); child = axiom_node_get_first_child(ele_node, env); if (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(child, env); if (om_ele) { size = axutil_array_list_size(names, env); child_localname = axiom_element_get_localname(om_ele, env); for (i = 0; i < size; i++) { given_localname = (axis2_char_t *) axutil_array_list_get(names, env, i); if ((child_localname) && (NULL != given_localname) && axutil_strcmp(child_localname, given_localname) == 0) { *child_node = child; return om_ele; } given_localname = NULL; } } } om_ele = NULL; child_localname = NULL; given_localname = NULL; size = 0; } next_sibling = axiom_node_get_next_sibling(child, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { size = axutil_array_list_size(names, env); child_localname = axiom_element_get_localname(om_ele, env); for (i = 0; i < size; i++) { given_localname = (axis2_char_t *) axutil_array_list_get(names, env, i); if ((child_localname) && (NULL != given_localname) && (axutil_strcmp(child_localname, given_localname) == 0)) { *child_node = next_sibling; return om_ele; } given_localname = NULL; } } om_ele = NULL; child_localname = NULL; given_localname = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_localnames( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axutil_array_list_t * names, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *child_localname = NULL; axis2_char_t *given_localname = NULL; int size = 0; int i = 0; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, names, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); child = axiom_node_get_last_child(ele_node, env); while (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(ele_node, env); if (om_ele) { size = axutil_array_list_size(names, env); for (i = 0; i < size; i++) { given_localname = (axis2_char_t *) axutil_array_list_get(names, env, i); child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && (NULL != given_localname) && (axutil_strcmp(child_localname, given_localname) == 0)) { *child_node = child; return om_ele; } } } om_ele = NULL; child_localname = NULL; given_localname = NULL; } child = axiom_node_get_previous_sibling(child, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_siblng_element_with_localnames( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axutil_array_list_t * names, axiom_node_t ** next_node) { axiom_node_t *next_sibling = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *ele_localname = NULL; axis2_char_t *given_localname = NULL; int size = 0; int i = 0; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, names, NULL); AXIS2_PARAM_CHECK(env->error, next_node, NULL); next_sibling = axiom_node_get_next_sibling(ele_node, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { size = axutil_array_list_size(names, env); for (i = 0; i < size; i++) { given_localname = (axis2_char_t *) axutil_array_list_get(names, env, i); ele_localname = axiom_element_get_localname(om_ele, env); if ((ele_localname) && (NULL != given_localname) && (axutil_strcmp(given_localname, ele_localname) == 0)) { *next_node = next_sibling; return om_ele; } } } om_ele = NULL; ele_localname = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_localname_attr( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * attr_name, axis2_char_t * attr_value, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_node_t *next_sibling = NULL; axis2_char_t *child_localname = NULL; axiom_element_t *om_ele = NULL; axiom_attribute_t *om_attr = NULL; axutil_hash_t *attr_ht = NULL; axutil_hash_index_t *hi = NULL; axis2_char_t *om_attr_value = NULL; axis2_char_t *om_attr_name = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); AXIS2_PARAM_CHECK(env->error, localname, NULL); AXIS2_PARAM_CHECK(env->error, attr_name, NULL); AXIS2_PARAM_CHECK(env->error, attr_value, NULL); child = axiom_node_get_first_child(ele_node, env); if (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(child, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && axutil_strcmp(child_localname, localname) == 0) { attr_ht = axiom_element_get_all_attributes(om_ele, env); if (attr_ht) { for (hi = axutil_hash_first(attr_ht, env); hi; hi = axutil_hash_next(env, hi)) { void *val = NULL; axutil_hash_this(hi, NULL, NULL, &val); if (val) { om_attr = (axiom_attribute_t *) val; om_attr_name = axiom_attribute_get_localname(om_attr, env); om_attr_value = axiom_attribute_get_value(om_attr, env); if (om_attr_name && NULL != om_attr_value && axutil_strcmp(om_attr_name, attr_name) == 0 && axutil_strcmp(om_attr_value, attr_value) == 0) { AXIS2_FREE(env->allocator, hi); *child_node = child; return om_ele; } om_attr = NULL; om_attr_name = NULL; om_attr_value = NULL; } } } } } } om_ele = NULL; child_localname = NULL; hi = NULL; } next_sibling = axiom_node_get_next_sibling(child, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && axutil_strcmp(child_localname, localname) == 0) { attr_ht = axiom_element_get_all_attributes(om_ele, env); if (attr_ht) { for (hi = axutil_hash_first(attr_ht, env); hi; hi = axutil_hash_next(env, hi)) { void *val = NULL; axutil_hash_this(hi, NULL, NULL, &val); if (val) { om_attr = (axiom_attribute_t *) val; om_attr_name = axiom_attribute_get_localname(om_attr, env); om_attr_value = axiom_attribute_get_value(om_attr, env); if (om_attr_name && NULL != om_attr_value && axutil_strcmp(om_attr_name, attr_name) == 0 && axutil_strcmp(om_attr_value, attr_value) == 0) { *child_node = child; return om_ele; } om_attr = NULL; om_attr_name = NULL; om_attr_value = NULL; } } } } } om_ele = NULL; child_localname = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_localname_attr( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * attr_name, axis2_char_t * attr_value, axiom_node_t ** child_node) { axiom_node_t *child = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *child_localname = NULL; axiom_attribute_t *om_attr = NULL; axis2_char_t *om_attr_name = NULL; axis2_char_t *om_attr_value = NULL; axutil_hash_index_t *hi = NULL; axutil_hash_t *attr_ht = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); AXIS2_PARAM_CHECK(env->error, localname, NULL); AXIS2_PARAM_CHECK(env->error, child_node, NULL); child = axiom_node_get_last_child(ele_node, env); while (child) { if (axiom_node_get_node_type(child, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(ele_node, env); if (om_ele) { child_localname = axiom_element_get_localname(om_ele, env); if (child_localname && axutil_strcmp(child_localname, localname) == 0) { attr_ht = axiom_element_get_all_attributes(om_ele, env); if (attr_ht) { for (hi = axutil_hash_first(attr_ht, env); hi; hi = axutil_hash_next(env, hi)) { void *val = NULL; axutil_hash_this(hi, NULL, NULL, &val); if (val) { om_attr = (axiom_attribute_t *) val; om_attr_name = axiom_attribute_get_localname(om_attr, env); om_attr_value = axiom_attribute_get_value(om_attr, env); if (om_attr_name && NULL != om_attr_value && axutil_strcmp(om_attr_name, attr_name) == 0 && axutil_strcmp(om_attr_value, attr_value) == 0) { AXIS2_FREE(env->allocator, hi); *child_node = child; return om_ele; } om_attr = NULL; om_attr_name = NULL; om_attr_value = NULL; } } } } } om_ele = NULL; child_localname = NULL; } child = axiom_node_get_previous_sibling(child, env); } return NULL; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_siblng_element_with_localname_attr( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * attr_name, axis2_char_t * attr_value, axiom_node_t ** child_node) { axiom_node_t *next_sibling = NULL; axiom_element_t *om_ele = NULL; axis2_char_t *ele_localname = NULL; axiom_attribute_t *om_attr = NULL; axis2_char_t *om_attr_value = NULL; axis2_char_t *om_attr_name = NULL; axutil_hash_t *attr_ht = NULL; axutil_hash_index_t *hi = NULL; AXIS2_PARAM_CHECK(env->error, ele_node, NULL); next_sibling = axiom_node_get_next_sibling(ele_node, env); while (next_sibling) { if (axiom_node_get_node_type(next_sibling, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(next_sibling, env); if (om_ele) { ele_localname = axiom_element_get_localname(om_ele, env); if (ele_localname && axutil_strcmp(localname, ele_localname) == 0) { attr_ht = axiom_element_get_all_attributes(om_ele, env); if (attr_ht) { for (hi = axutil_hash_first(attr_ht, env); hi; hi = axutil_hash_next(env, hi)) { void *val = NULL; axutil_hash_this(hi, NULL, NULL, &val); if (val) { om_attr = (axiom_attribute_t *) val; om_attr_name = axiom_attribute_get_localname(om_attr, env); om_attr_value = axiom_attribute_get_value(om_attr, env); if (om_attr_name && NULL != om_attr_value && axutil_strcmp(om_attr_name, attr_name) == 0 && axutil_strcmp(om_attr_value, attr_value) == 0) { AXIS2_FREE(env->allocator, hi); *child_node = next_sibling; return om_ele; } om_attr = NULL; om_attr_name = NULL; om_attr_value = NULL; } } } } } om_ele = NULL; ele_localname = NULL; } next_sibling = axiom_node_get_next_sibling(next_sibling, env); } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_child_node_text( axiom_node_t * om_node, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; if (!om_node) { return NULL; } if (axiom_node_get_node_type(om_node, env) != AXIOM_ELEMENT) { return NULL; } om_ele = (axiom_element_t *) axiom_node_get_data_element(om_node, env); if (om_ele) { return axiom_element_get_text(om_ele, env, om_node); } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_localname( axiom_node_t * node, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; AXIS2_ENV_CHECK(env, NULL); if (!node) { return NULL; } if (axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { return NULL; } om_ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (om_ele) { return axiom_element_get_localname(om_ele, env); } return NULL; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_node_namespace_uri( axiom_node_t * om_node, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; axiom_namespace_t *om_ns = NULL; if (!om_node) { return NULL; } if (axiom_node_get_node_type(om_node, env) == AXIOM_ELEMENT) { om_ele = axiom_node_get_data_element(om_node, env); if (!om_ele) { return NULL; } om_ns = axiom_element_get_namespace(om_ele, env, om_node); if (om_ns) { return axiom_namespace_get_uri(om_ns, env); } } return NULL; } AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL axiom_util_get_child_elements( axiom_element_t * om_ele, const axutil_env_t * env, axiom_node_t * om_node) { axiom_element_t *first_ele = NULL; axiom_node_t *first_node = NULL; AXIS2_PARAM_CHECK(env->error, om_node, NULL); AXIS2_PARAM_CHECK(env->error, om_ele, NULL); first_ele = axiom_element_get_first_element(om_ele, env, om_node, &first_node); if (first_ele) { return axiom_child_element_iterator_create(env, first_node); } return NULL; } AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_util_new_document( const axutil_env_t * env, const axutil_uri_t * uri) { axis2_char_t *path = NULL; axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *om_builder = NULL; axiom_document_t *doc = NULL; AXIS2_PARAM_CHECK(env->error, uri, NULL); /* This is temporary code. Later complete the code to read from uri and build * the document */ if (uri) { path = axutil_uri_get_path((axutil_uri_t *) uri, env); } else { return NULL; } if (path) { reader = axiom_xml_reader_create_for_file(env, path, NULL); } else { return NULL; } if (reader) { om_builder = axiom_stax_builder_create(env, reader); } else { return NULL; } if (om_builder) { doc = axiom_stax_builder_get_document(om_builder, env); } else { return NULL; } if (doc) { axiom_document_build_all(doc, env); } else { return NULL; } return doc; } AXIS2_EXTERN axiom_node_t* AXIS2_CALL axiom_util_get_node_by_local_name( const axutil_env_t *env, axiom_node_t *node, axis2_char_t *local_name) { axis2_char_t *temp_name = NULL; if(!node) { return NULL; } if(axiom_node_get_node_type(node, env) != AXIOM_ELEMENT) { return NULL; } temp_name = axiom_util_get_localname(node, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "[rampart]Checking node %s for %s", temp_name, local_name ); if(!axutil_strcmp(temp_name, local_name)) { /* Gottcha.. return this node */ return node; } else { /* Doesn't match? Get the children and search for them */ axiom_node_t *temp_node = NULL; temp_node = axiom_node_get_first_element(node, env); while(temp_node) { axiom_node_t *res_node = NULL; res_node = axiom_util_get_node_by_local_name(env, temp_node, local_name); if(res_node) { return res_node; } temp_node = axiom_node_get_next_sibling(temp_node, env); } } return NULL; } axis2c-src-1.6.0/axiom/src/xpath/0000777000175000017500000000000011172017535017672 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/xpath/xpath_internals.c0000755000175000017500000000243611166304633023246 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_internals.h" /* Make a copy of the xpath expression */ void axiom_xpath_expression_copy( axiom_xpath_context_t *context, axiom_xpath_expression_t* expr) { int i; axiom_xpath_operation_t *op; context->expr = expr; /* Set value of pos in every operation to 0 */ for (i = 0; i < axutil_array_list_size(expr->operations, context->env); i++) { op = AXIOM_XPATH_OPR_GET(i); op->pos = 0; } } axis2c-src-1.6.0/axiom/src/xpath/xpath_internals.h0000755000175000017500000001226511171531736023256 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_INTERNALS_H #define AXIOM_XPATH_INTERNALS_H #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_internals internals * @ingroup axiom_xpath * @{ */ /** Get operation at index ind */ #define AXIOM_XPATH_OPR_GET(ind) (axiom_xpath_operation_t *) \ axutil_array_list_get(context->expr->operations, context->env, ind) /** * An error has occured while parsing */ #define AXIOM_XPATH_PARSE_ERROR -2 /** * XPath expression was successfully compiled */ #define AXIOM_XPATH_PARSE_SUCCESS 0 /** * End of expression reached */ #define AXIOM_XPATH_PARSE_END -1 /* Types */ /** * XPath operation * Contains the operands and parameters */ typedef struct axiom_xpath_operation axiom_xpath_operation_t; /** * XPath node test * Stores the components of a node test */ typedef struct axiom_xpath_node_test axiom_xpath_node_test_t; /** * Functions to process a XPath operator */ typedef int (*axiom_xpath_operator_t)(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Functions to iterate through different XPath axes */ typedef int (*axiom_xpath_iterator_t)(axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * XPath node test types */ typedef enum axiom_xpath_node_test_type_t { AXIOM_XPATH_NODE_TEST_NONE = 0, AXIOM_XPATH_NODE_TEST_ALL, AXIOM_XPATH_NODE_TYPE_COMMENT, AXIOM_XPATH_NODE_TYPE_NODE, AXIOM_XPATH_NODE_TYPE_PI, AXIOM_XPATH_NODE_TYPE_TEXT, AXIOM_XPATH_NODE_TEST_STANDARD } axiom_xpath_node_test_type_t; /** * XPath operations */ typedef enum axiom_xpath_operation_type_t { AXIOM_XPATH_OPERATION_ROOT_NODE = 0, AXIOM_XPATH_OPERATION_CONTEXT_NODE, AXIOM_XPATH_OPERATION_NODE_TEST, AXIOM_XPATH_OPERATION_STEP, AXIOM_XPATH_OPERATION_RESULT, AXIOM_XPATH_OPERATION_UNION, AXIOM_XPATH_OPERATION_EQUAL_EXPR, AXIOM_XPATH_OPERATION_AND_EXPR, AXIOM_XPATH_OPERATION_OR_EXPR, AXIOM_XPATH_OPERATION_PREDICATE, AXIOM_XPATH_OPERATION_LITERAL, AXIOM_XPATH_OPERATION_NUMBER, AXIOM_XPATH_OPERATION_PATH_EXPRESSION, AXIOM_XPATH_OPERATION_FUNCTION_CALL, AXIOM_XPATH_OPERATION_ARGUMENT } axiom_xpath_operation_type_t; /** * XPath axes */ typedef enum axiom_xpath_axis_t { AXIOM_XPATH_AXIS_NONE = -1, AXIOM_XPATH_AXIS_CHILD, AXIOM_XPATH_AXIS_DESCENDANT, AXIOM_XPATH_AXIS_PARENT, AXIOM_XPATH_AXIS_ANCESTOR, AXIOM_XPATH_AXIS_FOLLOWING_SIBLING, AXIOM_XPATH_AXIS_PRECEDING_SIBLING, AXIOM_XPATH_AXIS_FOLLOWING, AXIOM_XPATH_AXIS_PRECEDING, AXIOM_XPATH_AXIS_ATTRIBUTE, AXIOM_XPATH_AXIS_NAMESPACE, AXIOM_XPATH_AXIS_SELF, AXIOM_XPATH_AXIS_DESCENDANT_OR_SELF, AXIOM_XPATH_AXIS_ANCESTOR_OR_SELF } axiom_xpath_axis_t; /** * XPath node test structure */ struct axiom_xpath_node_test { /** Node test type */ axiom_xpath_node_test_type_t type; /** Prefix * NULL if no prefix */ axis2_char_t *prefix; /** Name */ axis2_char_t *name; /** Literal for processing instruction (PI) */ axis2_char_t *lit; }; /** * XPath operation structure */ struct axiom_xpath_operation { /** Type of operator */ axiom_xpath_operation_type_t opr; /** Parameters of the operation */ void *par1; void *par2; /** Position: Used for predicate evaluation */ int pos; /** Operands pointing to other operations */ int op1; int op2; }; /** * Copies an XPath expression to a context * * No data is duplicated just the reference is assigned. * Some parameters in the expression are reset. * - pos in every operation * * @param context XPath context must not be NULL * @param expr Expression to be copied */ void axiom_xpath_expression_copy( axiom_xpath_context_t *context, axiom_xpath_expression_t* expr); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/src/xpath/xpath.c0000755000175000017500000002431211171531736021166 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_internals.h" #include "xpath_internals_parser.h" #include "xpath_internals_engine.h" #include "xpath_functions.h" #include "xpath_streaming.h" /* Create XPath context */ AXIS2_EXTERN axiom_xpath_context_t * AXIS2_CALL axiom_xpath_context_create( const axutil_env_t *env, axiom_node_t * root_node) { axiom_xpath_context_t* context; /*HACK: xpath impl requires a dummy root node in order to process properly.*/ axiom_node_t * dummy_root; dummy_root = axiom_node_create(env); axiom_node_add_child(dummy_root, env, root_node); context = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_context_t)); context->env = env; context->root_node = dummy_root; context->node = dummy_root; context->expr = NULL; context->attribute = NULL; context->namespaces = NULL; context->functions = NULL; axiom_xpath_register_default_functions_set(context); return context; } /* Compile XPath expression */ AXIS2_EXTERN axiom_xpath_expression_t * AXIS2_CALL axiom_xpath_compile_expression( const axutil_env_t *env, const axis2_char_t* xpath_expr) { axiom_xpath_expression_t* expr; expr = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_expression_t)); expr->expr_str = axutil_strdup(env, xpath_expr); if (axiom_xpath_compile(env, expr) == AXIOM_XPATH_PARSE_ERROR) { AXIS2_FREE(env->allocator, expr->expr_str); AXIS2_FREE(env->allocator, expr); return NULL; } else return expr; } /* Evaluate compiled XPath expression */ AXIS2_EXTERN axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate( axiom_xpath_context_t *context, axiom_xpath_expression_t *xpath_expr) { axiom_xpath_expression_copy(context, xpath_expr); context->streaming = AXIS2_FALSE; return axiom_xpath_run(context); } AXIS2_EXTERN axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate_streaming( axiom_xpath_context_t *context, axiom_xpath_expression_t *xpath_expr) { axiom_xpath_result_t *res; axiom_xpath_expression_copy(context, xpath_expr); if (axiom_xpath_streaming_check(context->env, xpath_expr)) { context->streaming = AXIS2_TRUE; return axiom_xpath_run(context); } else { res = AXIS2_MALLOC( context->env->allocator, sizeof(axiom_xpath_result_t)); res->nodes = NULL; res->flag = AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED; return res; } } AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_default_functions_set( axiom_xpath_context_t *context) { axiom_xpath_register_function( context, "count", axiom_xpath_function_count); } AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_function( axiom_xpath_context_t *context, axis2_char_t *name, axiom_xpath_function_t func) { if (name && func) { if (!context->functions) { context->functions = axutil_hash_make(context->env); } axutil_hash_set(context->functions, name, AXIS2_HASH_KEY_STRING, func); } } AXIS2_EXTERN axiom_xpath_function_t AXIS2_CALL axiom_xpath_get_function( axiom_xpath_context_t *context, axis2_char_t *name) { axiom_xpath_function_t func = NULL; if (context->functions) { func = axutil_hash_get(context->functions, name, AXIS2_HASH_KEY_STRING); } return func; } AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_namespace( axiom_xpath_context_t *context, axiom_namespace_t *ns) { axis2_char_t *prefix = NULL; if (!context->namespaces) { context->namespaces = axutil_hash_make(context->env); } prefix = axiom_namespace_get_prefix(ns, context->env); if (prefix) { axutil_hash_set( context->namespaces, prefix, AXIS2_HASH_KEY_STRING, ns); } } AXIS2_EXTERN axiom_namespace_t * AXIS2_CALL axiom_xpath_get_namespace( axiom_xpath_context_t *context, axis2_char_t *prefix) { axiom_namespace_t *ns = NULL; if (context->namespaces) { ns = axutil_hash_get(context->namespaces, prefix, AXIS2_HASH_KEY_STRING); } return ns; } AXIS2_EXTERN void AXIS2_CALL axiom_xpath_clear_namespaces(axiom_xpath_context_t *context) { axutil_hash_index_t *hi; void *val; if (context->namespaces) { for (hi = axutil_hash_first(context->namespaces, context->env); hi; hi = axutil_hash_next(context->env, hi)) { axutil_hash_this(hi, NULL, NULL, &val); axiom_namespace_free((axiom_namespace_t *)val, context->env); } axutil_hash_free(context->namespaces, context->env); } context->namespaces = NULL; } /* Cast to boolean */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_xpath_cast_node_to_boolean( const axutil_env_t *env, axiom_xpath_result_node_t * node) { if (node->type == AXIOM_XPATH_TYPE_BOOLEAN) { return *(axis2_bool_t *)node->value; } else if (node->type == AXIOM_XPATH_TYPE_NUMBER) { /* Cannot evaluate as *(double *)(node->value) == 1e-12 since there might be an precision error */ if (*(double *)(node->value) > 1e-12 || *(double *)(node->value) < -1e-12) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } else if (node->value) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } /* Cast to double */ AXIS2_EXTERN double AXIS2_CALL axiom_xpath_cast_node_to_number( const axutil_env_t *env, axiom_xpath_result_node_t * node) { if (node->type == AXIOM_XPATH_TYPE_BOOLEAN) { if (*(axis2_bool_t *)(node->value) == AXIS2_TRUE) { return 1.0; } else { return 0.0; } } else if (node->type == AXIOM_XPATH_TYPE_NUMBER) { return *(double *)node->value; } else if (node->value) { return 1.0; } else { return 0.0; } } /* Cast to text */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL axiom_xpath_cast_node_to_string( const axutil_env_t *env, axiom_xpath_result_node_t * node) { axiom_element_t *ele; axis2_char_t *res; if (!node->value) { return NULL; } if (node->type == AXIOM_XPATH_TYPE_BOOLEAN) { if (*(axis2_bool_t *)(node->value) == AXIS2_TRUE) { return axutil_strdup(env, "true"); } else { return axutil_strdup(env, "false"); } } else if (node->type == AXIOM_XPATH_TYPE_NUMBER) { /* Allocate 50 bytes */ res = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 50); sprintf(res, "%lf", *(double *)(node->value)); return res; } else if (node->type == AXIOM_XPATH_TYPE_TEXT) { return (axis2_char_t *)node->value; } else if (node->type == AXIOM_XPATH_TYPE_NODE) { ele = (axiom_element_t *)axiom_node_get_data_element( (axiom_node_t *)(node->value), env); if (ele) { return axiom_element_get_text( ele, env, (axiom_node_t *)(node->value)); } else { return NULL; } } else if (node->type == AXIOM_XPATH_TYPE_ATTRIBUTE) { return axiom_attribute_get_value( (axiom_attribute_t *)(node->value), env); } else if (node->type == AXIOM_XPATH_TYPE_NAMESPACE) { return axiom_namespace_get_prefix( (axiom_namespace_t *)(node->value), env); } return NULL; } /* Cast to axiom node */ AXIS2_EXTERN axiom_node_t * AXIS2_CALL axiom_xpath_cast_node2axiom_node( const axutil_env_t *env, axiom_xpath_result_node_t * node) { if (node->type == AXIOM_XPATH_TYPE_NODE && node->value) { return (axiom_node_t *)node->value; } else { return NULL; } } /* Free context */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_context( const axutil_env_t *env, axiom_xpath_context_t *context) { if (context) { /* Free the expression if not freed */ if (context->expr) { /* axiom_xpath_free_expression(env, context->expr); */ context->expr = NULL; } AXIS2_FREE(env->allocator, context); } } /* Free expression */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_expression( const axutil_env_t *env, axiom_xpath_expression_t * xpath_expr) { if (xpath_expr) { if (xpath_expr->expr_str) { AXIS2_FREE(env->allocator, xpath_expr->expr_str); xpath_expr->expr_str = NULL; } AXIS2_FREE(env->allocator, xpath_expr); } } /* Free result set */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_result( const axutil_env_t *env, axiom_xpath_result_t* result) { if (result) { if (result->nodes) { axutil_array_list_free(result->nodes, env); } AXIS2_FREE(env->allocator, result); } } /* Check if the expression can be evaluated on streaming XML */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_xpath_streaming_check( const axutil_env_t *env, axiom_xpath_expression_t* expr) { axiom_xpath_streaming_t r = AXIOM_XPATH_CHECK(expr->start); if (r == AXIOM_XPATH_STREAMING_NOT_SUPPORTED) { return AXIS2_FALSE; } else { return AXIS2_TRUE; } } axis2c-src-1.6.0/axiom/src/xpath/xpath_internals_iterators.c0000644000175000017500000004007611171531736025343 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_internals.h" #include "xpath_internals_engine.h" #include "xpath_internals_iterators.h" /* child */ int axiom_xpath_child_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes_tot = 0; int n_nodes; axiom_xpath_operation_t * node_test_op; axiom_node_t *cur = NULL; axiom_node_t *context_node = NULL; /* For streaming */ axiom_node_t *prev = NULL; /*axiom_xpath_operation_t * next_operation = NULL;*/ AXIOM_XPATH_ITERATOR_INITIALIZE; cur = axiom_node_get_first_child(context->node, context->env); while (cur != NULL) { n_nodes = 0; context->node = cur; prev = cur; cur = axiom_node_get_next_sibling(cur, context->env); if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes = axiom_xpath_evaluate_predicate(context, op_next, op_predicate); n_nodes_tot += n_nodes; } /* if (context->streaming) { if (n_nodes) { next_operation = AXIOM_XPATH_OPR_GET(op_next); } if (!n_nodes || next_operation->opr != AXIOM_XPATH_OPERATION_RESULT) { axiom_node_detach(prev, context->env); axiom_node_free_tree(prev, context->env); } } */ } /* Change the context node back to what it was */ context->node = context_node; return n_nodes_tot; } /* descendant */ int axiom_xpath_descendant_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *child = NULL; axiom_node_t *context_node = NULL; axutil_stack_t *stack; AXIOM_XPATH_ITERATOR_INITIALIZE; /* Setting up the stack */ stack = axutil_stack_create(context->env); child = axiom_node_get_first_child(context->node, context->env); while (child) { axutil_stack_push(stack, context->env, child); child = axiom_node_get_first_child(child, context->env); } /* Processing nodes */ while (axutil_stack_size(stack, context->env) > 0) { child = (axiom_node_t *)axutil_stack_pop(stack, context->env); context->node = child; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } child = axiom_node_get_next_sibling(child, context->env); while (child) { axutil_stack_push(stack, context->env, child); child = axiom_node_get_first_child(child, context->env); } } context->node = context_node; return n_nodes; } /* parent */ int axiom_xpath_parent_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *parent = NULL; axiom_node_t *context_node = NULL; AXIOM_XPATH_ITERATOR_INITIALIZE; parent = axiom_node_get_parent(context->node, context->env); if (parent != NULL) { context->node = parent; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes = axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* ancestor axis */ int axiom_xpath_ancestor_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *cur = NULL; axiom_node_t *context_node = NULL; AXIOM_XPATH_ITERATOR_INITIALIZE; cur = axiom_node_get_parent(context->node, context->env); while (cur != NULL) { context->node = cur; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } cur = axiom_node_get_parent(cur, context->env); } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* following-sibling axis */ int axiom_xpath_following_sibling_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *cur = NULL; axiom_node_t *context_node = NULL; AXIOM_XPATH_ITERATOR_INITIALIZE; cur = axiom_node_get_next_sibling(context->node, context->env); while (cur != NULL) { context->node = cur; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } cur = axiom_node_get_next_sibling(cur, context->env); } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* preceding-sibling axis */ int axiom_xpath_preceding_sibling_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *cur = NULL; axiom_node_t *context_node = NULL; AXIOM_XPATH_ITERATOR_INITIALIZE; cur = axiom_node_get_previous_sibling(context->node, context->env); while (cur != NULL) { context->node = cur; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } cur = axiom_node_get_previous_sibling(cur, context->env); } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* following */ int axiom_xpath_following_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *child = NULL, *parent = NULL; axiom_node_t *context_node = NULL; axutil_stack_t *stack; AXIOM_XPATH_ITERATOR_INITIALIZE; /* Setting up the stack */ stack = axutil_stack_create(context->env); axutil_stack_push(stack, context->env, context->node); parent = context->node; while (parent) { axutil_stack_push(stack, context->env, parent); while (axutil_stack_size(stack, context->env) > 0) { child = (axiom_node_t *)axutil_stack_pop(stack, context->env); child = axiom_node_get_next_sibling(child, context->env); while (child) { context->node = child; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } axutil_stack_push(stack, context->env, child); child = axiom_node_get_first_child(child, context->env); } } parent = axiom_node_get_parent(parent, context->env); } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* preceding */ int axiom_xpath_preceding_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *child = NULL, *parent = NULL; axiom_node_t *context_node = NULL; axutil_stack_t *stack; AXIOM_XPATH_ITERATOR_INITIALIZE; /* Setting up the stack */ stack = axutil_stack_create(context->env); parent = context->node; while (parent) { axutil_stack_push(stack, context->env, parent); while (axutil_stack_size(stack, context->env) > 0) { child = (axiom_node_t *)axutil_stack_pop(stack, context->env); child = axiom_node_get_previous_sibling(child, context->env); while (child) { context->node = child; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } axutil_stack_push(stack, context->env, child); child = axiom_node_get_last_child(child, context->env); } } parent = axiom_node_get_parent(parent, context->env); } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* attribute axis */ int axiom_xpath_attribute_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_types_t type; axiom_node_t *context_node = NULL; axiom_element_t *element; axutil_hash_t *ht; axutil_hash_index_t *hi; /* void *key; * axis2_ssize_t klen; */ void *attr; AXIOM_XPATH_ITERATOR_INITIALIZE; type = axiom_node_get_node_type(context_node, context->env); if (type != AXIOM_ELEMENT) { return 0; } element = axiom_node_get_data_element(context_node, context->env); context->node = NULL; ht = axiom_element_get_all_attributes(element, context->env); if (ht) { for (hi = axutil_hash_first(ht, context->env); hi; hi = axutil_hash_next(context->env, hi)) { attr = &context->attribute; axutil_hash_this(hi, NULL, NULL, attr); if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } } } context->node = context_node; context->attribute = NULL; return n_nodes; } /* namespace axis */ int axiom_xpath_namespace_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_types_t type; axiom_node_t *context_node = NULL; axiom_element_t *element; axutil_hash_t *ht; axutil_hash_index_t *hi; /* void *key; * axis2_ssize_t klen; */ void *ns; AXIOM_XPATH_ITERATOR_INITIALIZE; type = axiom_node_get_node_type(context_node, context->env); if (type != AXIOM_ELEMENT) { return 0; } element = axiom_node_get_data_element(context_node, context->env); context->node = NULL; ht = axiom_element_get_namespaces(element, context->env); if (ht) { for (hi = axutil_hash_first(ht, context->env); hi; hi = axutil_hash_next(context->env, hi)) { ns = &context->ns; axutil_hash_this(hi, NULL, NULL, ns); if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } } } context->node = context_node; context->ns = NULL; return n_nodes; } /* self axis */ int axiom_xpath_self_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *context_node = NULL; AXIOM_XPATH_ITERATOR_INITIALIZE; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } context->node = context_node; return n_nodes; } /* descendant-or-self axis */ int axiom_xpath_descendant_self_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *child = NULL; axiom_node_t *context_node = NULL; axutil_stack_t *stack; AXIOM_XPATH_ITERATOR_INITIALIZE; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } /* Setting up the stack */ stack = axutil_stack_create(context->env); child = axiom_node_get_first_child(context->node, context->env); while (child) { axutil_stack_push(stack, context->env, child); child = axiom_node_get_first_child(child, context->env); } /* Processing nodes */ while (axutil_stack_size(stack, context->env) > 0) { child = (axiom_node_t *)axutil_stack_pop(stack, context->env); context->node = child; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } child = axiom_node_get_next_sibling(child, context->env); while (child) { axutil_stack_push(stack, context->env, child); child = axiom_node_get_first_child(child, context->env); } } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } /* ancestor-or-self axis */ int axiom_xpath_ancestor_self_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate) { int n_nodes = 0; axiom_xpath_operation_t * node_test_op; axiom_node_t *parent = NULL; axiom_node_t *context_node = NULL; AXIOM_XPATH_ITERATOR_INITIALIZE; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } parent = axiom_node_get_parent(context->node, context->env); while (parent != NULL) { context->node = parent; if (axiom_xpath_node_test_match( context, (axiom_xpath_node_test_t *)node_test_op->par1)) { n_nodes += axiom_xpath_evaluate_predicate(context, op_next, op_predicate); } parent = axiom_node_get_parent(parent, context->env); } /* Change the context node back to what it was */ context->node = context_node; return n_nodes; } axis2c-src-1.6.0/axiom/src/xpath/xpath_internals_iterators.h0000755000175000017500000002353711166304633025354 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_INTERNALS_ITERATORS_H #define AXIOM_XPATH_INTERNALS_ITERATORS_H #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_iterators iterators * @ingroup axiom_xpath * @{ */ #ifdef AXIOM_XPATH_DEBUG #define AXIOM_XPATH_ITERATOR_INITIALIZE { \ if(!context->node) { \ printf("Context node NULL; cannot evaluate self or descendent axis.\n"); \ return AXIOM_XPATH_EVALUATION_ERROR; } \ node_test_op = AXIOM_XPATH_OPR_GET(op_node_test); \ if(!node_test_op) { \ printf("Node test not present.\n"); \ return AXIOM_XPATH_EVALUATION_ERROR; } \ context_node = context->node; \ } #else #define AXIOM_XPATH_ITERATOR_INITIALIZE { \ if(!context->node) { \ return AXIOM_XPATH_EVALUATION_ERROR; } \ node_test_op = AXIOM_XPATH_OPR_GET(op_node_test); \ if(!node_test_op) { \ return AXIOM_XPATH_EVALUATION_ERROR; } \ context_node = context->node; \ } #endif /** * Iterate through children * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_child_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through descendents * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_descendant_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through parent node. (Only one node) * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_parent_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through ancestors * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_ancestor_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through siblings following the context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_following_sibling_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through sibling preceding the context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_preceding_sibling_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through all nodes following the context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_following_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through all nodes preceding the context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_preceding_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through attributes * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_attribute_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through namespaces defined in the context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_namespace_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through self node (Only one node) * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_self_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through descendents and context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_descendant_self_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** * Iterate through ancestors and context node * * @param context XPath context * @param op_node_test Reference to the node test operation * in the parsed expression * @param op_next Reference to the next step in the location path, * in the parsed expression * @param op_predicate Reference to the first predicate in the * parsed expression * @return Number of nodes added to the stack */ int axiom_xpath_ancestor_self_iterator( axiom_xpath_context_t *context, int op_node_test, int op_next, int op_predicate); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/src/xpath/xpath_functions.c0000755000175000017500000000265311166304633023260 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_functions.h" #include "xpath_internals_engine.h" int axiom_xpath_function_count(axiom_xpath_context_t *context, int np) { axiom_xpath_result_node_t *node; double * v; int i; node = AXIS2_MALLOC( context->env->allocator, sizeof(axiom_xpath_result_node_t)); v = AXIS2_MALLOC(context->env->allocator, sizeof(double)); *v = np; node->value = v; node->type = AXIOM_XPATH_TYPE_NUMBER; for (i = 0; i < np; i++) { axutil_stack_pop(context->stack, context->env); } axutil_stack_push(context->stack, context->env, node); return 1; } axis2c-src-1.6.0/axiom/src/xpath/xpath_functions.h0000755000175000017500000000236111166304633023261 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_FUNCTIONS_H #define AXIOM_XPATH_FUNCTIONS_H #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_functions functions * @ingroup axiom_xpath * @{ */ /** * count(node-set) function * http://www.w3.org/TR/xpath#function-count */ int axiom_xpath_function_count(axiom_xpath_context_t *context, int np); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/src/xpath/xpath_streaming.c0000755000175000017500000001476611166304633023251 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_streaming.h" #include "xpath_internals.h" #include "xpath_internals_engine.h" axiom_xpath_streaming_t axiom_xpath_streaming_check_operation( const axutil_env_t *env, axiom_xpath_expression_t* expr, int op_p) { axiom_xpath_operation_t *op; if (op_p == AXIOM_XPATH_PARSE_END) { return AXIOM_XPATH_STREAMING_CONSTANT; } op = AXIOM_XPATH_OPR_EXPR_GET(op_p); switch (op->opr) { case AXIOM_XPATH_OPERATION_CONTEXT_NODE: case AXIOM_XPATH_OPERATION_ROOT_NODE: return axiom_xpath_streaming_combine_dependent( AXIOM_XPATH_CHECK(op->op1), AXIOM_XPATH_STREAMING_CONSTANT); case AXIOM_XPATH_OPERATION_STEP: return axiom_xpath_streaming_combine_dependent( AXIOM_XPATH_CHECK(op->op1), AXIOM_XPATH_CHECK(op->op2)); case AXIOM_XPATH_OPERATION_RESULT: return AXIOM_XPATH_STREAMING_CONSTANT; case AXIOM_XPATH_OPERATION_UNION: return axiom_xpath_streaming_combine_independent( AXIOM_XPATH_CHECK(op->op1), AXIOM_XPATH_CHECK(op->op2)); case AXIOM_XPATH_OPERATION_EQUAL_EXPR: return axiom_xpath_streaming_combine_independent( AXIOM_XPATH_CHECK(op->op1), AXIOM_XPATH_CHECK(op->op2)); case AXIOM_XPATH_OPERATION_LITERAL: return AXIOM_XPATH_STREAMING_CONSTANT; case AXIOM_XPATH_OPERATION_NUMBER: return AXIOM_XPATH_STREAMING_CONSTANT; case AXIOM_XPATH_OPERATION_PATH_EXPRESSION: return axiom_xpath_streaming_combine_dependent( AXIOM_XPATH_CHECK(op->op1), AXIOM_XPATH_CHECK(op->op2)); case AXIOM_XPATH_OPERATION_NODE_TEST: return axiom_xpath_streaming_check_node_test(env, expr, op); case AXIOM_XPATH_OPERATION_PREDICATE: return axiom_xpath_streaming_check_predicate(env, expr, op_p); default: #ifdef AXIOM_XPATH_DEBUG printf("Unidentified operation.\n"); #endif return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } } axiom_xpath_streaming_t axiom_xpath_streaming_check_predicate( const axutil_env_t *env, axiom_xpath_expression_t* expr, int op_p) { axiom_xpath_operation_t *op; if (op_p == AXIOM_XPATH_PARSE_END) { return AXIOM_XPATH_STREAMING_CONSTANT; } op = AXIOM_XPATH_OPR_EXPR_GET(op_p); return axiom_xpath_streaming_combine_dependent( AXIOM_XPATH_CHECK(op->op1), AXIOM_XPATH_CHECK(op->op2)); } axiom_xpath_streaming_t axiom_xpath_streaming_check_node_test( const axutil_env_t *env, axiom_xpath_expression_t* expr, axiom_xpath_operation_t *op) { axiom_xpath_axis_t axis = AXIOM_XPATH_AXIS_NONE; axiom_xpath_streaming_t r; if (!op->par2) { #ifdef AXIOM_XPATH_DEBUG printf("axis is NULL in the step operator\n"); #endif return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } axis = *((axiom_xpath_axis_t *)op->par2); switch (axis) { case AXIOM_XPATH_AXIS_ATTRIBUTE: case AXIOM_XPATH_AXIS_CHILD: break; default: return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } r = axiom_xpath_streaming_check_predicate(env, expr, op->op1); if (r != AXIOM_XPATH_STREAMING_ATTRIBUTE && r != AXIOM_XPATH_STREAMING_CONSTANT) { return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } if (axis == AXIOM_XPATH_AXIS_ATTRIBUTE) { return AXIOM_XPATH_STREAMING_ATTRIBUTE; } else { return AXIOM_XPATH_STREAMING_SUPPORTED; } } axiom_xpath_streaming_t axiom_xpath_streaming_combine_dependent( axiom_xpath_streaming_t r1, axiom_xpath_streaming_t r2) { if (r1 == AXIOM_XPATH_STREAMING_NOT_SUPPORTED || r2 == AXIOM_XPATH_STREAMING_NOT_SUPPORTED) { return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } else if (r1 == AXIOM_XPATH_STREAMING_SUPPORTED || r2 == AXIOM_XPATH_STREAMING_SUPPORTED) { return AXIOM_XPATH_STREAMING_SUPPORTED; } else if (r1 == AXIOM_XPATH_STREAMING_ATTRIBUTE || r2 == AXIOM_XPATH_STREAMING_ATTRIBUTE) { return AXIOM_XPATH_STREAMING_ATTRIBUTE; } else { return AXIOM_XPATH_STREAMING_CONSTANT; } } axiom_xpath_streaming_t axiom_xpath_streaming_combine_independent( axiom_xpath_streaming_t r1, axiom_xpath_streaming_t r2) { if (r1 == AXIOM_XPATH_STREAMING_NOT_SUPPORTED || r2 == AXIOM_XPATH_STREAMING_NOT_SUPPORTED) { return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } else if (r1 == AXIOM_XPATH_STREAMING_CONSTANT || r2 == AXIOM_XPATH_STREAMING_CONSTANT) { if (r1 == AXIOM_XPATH_STREAMING_SUPPORTED || r2 == AXIOM_XPATH_STREAMING_SUPPORTED) { return AXIOM_XPATH_STREAMING_SUPPORTED; } else if (r1 == AXIOM_XPATH_STREAMING_ATTRIBUTE || r2 == AXIOM_XPATH_STREAMING_ATTRIBUTE) { return AXIOM_XPATH_STREAMING_ATTRIBUTE; } else { return AXIOM_XPATH_STREAMING_CONSTANT; } } else if (r1 == AXIOM_XPATH_STREAMING_ATTRIBUTE || r2 == AXIOM_XPATH_STREAMING_ATTRIBUTE) { if (r1 == AXIOM_XPATH_STREAMING_SUPPORTED || r2 == AXIOM_XPATH_STREAMING_SUPPORTED) { return AXIOM_XPATH_STREAMING_SUPPORTED; } else { return AXIOM_XPATH_STREAMING_ATTRIBUTE; } } else { return AXIOM_XPATH_STREAMING_NOT_SUPPORTED; } } axis2c-src-1.6.0/axiom/src/xpath/xpath_streaming.h0000755000175000017500000001017211166304633023241 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_STREAMING_H #define AXIOM_XPATH_STREAMING_H #include "xpath_internals.h" #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_streaming streaming * @ingroup axiom_xpath * @{ */ /** * XPath streaming support */ typedef enum axiom_xpath_streaming_t { AXIOM_XPATH_STREAMING_NOT_SUPPORTED = 0, AXIOM_XPATH_STREAMING_SUPPORTED, AXIOM_XPATH_STREAMING_CONSTANT, AXIOM_XPATH_STREAMING_ATTRIBUTE } axiom_xpath_streaming_t; /** Check whether the given expression is supported on streaming XML */ #define AXIOM_XPATH_CHECK(op) axiom_xpath_streaming_check_operation(env, expr, op) /** Get an operation from the list of operations */ #define AXIOM_XPATH_OPR_EXPR_GET(ind) (axiom_xpath_operation_t *) \ axutil_array_list_get(expr->operations, env, ind) /** * Checks whether the given expression is supported on streaming XML * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @param op_p Index of the operation in the list of operations * @return Whether the given operation can be evaluated on streaming XML */ axiom_xpath_streaming_t axiom_xpath_streaming_check_operation( const axutil_env_t *env, axiom_xpath_expression_t* expr, int op_p); /** * Checks whether the predicate is supported on streaming XML. * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @param op_p Index of the operation in the list of operations * @return Whether the given operation can be evaluated on streaming XML */ axiom_xpath_streaming_t axiom_xpath_streaming_check_predicate( const axutil_env_t *env, axiom_xpath_expression_t* expr, int op_p); /** * Checks whether the predicate is supported on streaming XML. * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @param op Index of the operation in the list of operations * @return Whether the given operation can be evaluated on streaming XML */ axiom_xpath_streaming_t axiom_xpath_streaming_check_node_test( const axutil_env_t *env, axiom_xpath_expression_t* expr, axiom_xpath_operation_t* op); /** * Checks whether the two operations can be evaluated on streaming XML * sequencially (one after the other), where the result of the first * operation is the context of the next * * @param r1 Type of first operation * @param r2 Type of second operation * @return Whether the given operations can be evaluated on streaming XML */ axiom_xpath_streaming_t axiom_xpath_streaming_combine_dependent( axiom_xpath_streaming_t r1, axiom_xpath_streaming_t r2); /** * Checks whether the two operations can be evaluated on streaming XML * simultaneousy * * @param r1 Type of first operation * @param r2 Type of second operation * @return Whether the given operations can be evaluated on streaming XML */ axiom_xpath_streaming_t axiom_xpath_streaming_combine_independent( axiom_xpath_streaming_t r1, axiom_xpath_streaming_t r2); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/src/xpath/Makefile.am0000644000175000017500000000121711166304633021724 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_xpath.la libaxis2_xpath_la_SOURCES = xpath.c \ xpath_functions.c \ xpath_internals.c \ xpath_internals_engine.c \ xpath_internals_iterators.c \ xpath_internals_parser.c \ xpath_streaming.c libaxis2_xpath_la_LDFLAGS = -version-info $(VERSION_NO) libaxis2_xpath_la_LIBADD = INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I ../../../util/include \ -I ../../../include EXTRA_DIST = xpath_functions.h xpath_internals_engine.h \ xpath_internals.h xpath_internals_iterators.h \ xpath_internals_parser.h xpath_streaming.h axis2c-src-1.6.0/axiom/src/xpath/Makefile.in0000644000175000017500000003723211172017173021740 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/xpath DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_xpath_la_DEPENDENCIES = am_libaxis2_xpath_la_OBJECTS = xpath.lo xpath_functions.lo \ xpath_internals.lo xpath_internals_engine.lo \ xpath_internals_iterators.lo xpath_internals_parser.lo \ xpath_streaming.lo libaxis2_xpath_la_OBJECTS = $(am_libaxis2_xpath_la_OBJECTS) libaxis2_xpath_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_xpath_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_xpath_la_SOURCES) DIST_SOURCES = $(libaxis2_xpath_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_xpath.la libaxis2_xpath_la_SOURCES = xpath.c \ xpath_functions.c \ xpath_internals.c \ xpath_internals_engine.c \ xpath_internals_iterators.c \ xpath_internals_parser.c \ xpath_streaming.c libaxis2_xpath_la_LDFLAGS = -version-info $(VERSION_NO) libaxis2_xpath_la_LIBADD = INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I$(top_builddir)/src/om \ -I ../../../util/include \ -I ../../../include EXTRA_DIST = xpath_functions.h xpath_internals_engine.h \ xpath_internals.h xpath_internals_iterators.h \ xpath_internals_parser.h xpath_streaming.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/xpath/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/xpath/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_xpath.la: $(libaxis2_xpath_la_OBJECTS) $(libaxis2_xpath_la_DEPENDENCIES) $(libaxis2_xpath_la_LINK) -rpath $(libdir) $(libaxis2_xpath_la_OBJECTS) $(libaxis2_xpath_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath_functions.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath_internals.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath_internals_engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath_internals_iterators.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath_internals_parser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xpath_streaming.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/xpath/xpath_internals_parser.c0000755000175000017500000007233711171531736024633 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_internals.h" #include "xpath_internals_parser.h" #include /* Compile an XPath expression */ int axiom_xpath_compile( const axutil_env_t *env, axiom_xpath_expression_t* expr) { if (!expr || !expr->expr_str) { #ifdef AXIOM_XPATH_DEBUG printf("Expression in NULL.\n"); #endif return AXIS2_FAILURE; } expr->expr_len = (int)axutil_strlen(expr->expr_str); expr->operations = axutil_array_list_create(env, 0); expr->expr_ptr = 0; expr->start = axiom_xpath_compile_orexpr(env, expr); if (expr->start == AXIOM_XPATH_PARSE_ERROR) { axutil_array_list_free(expr->operations, env); return AXIOM_XPATH_PARSE_ERROR; } else { #ifdef AXIOM_XPATH_DEBUG printf("Expression successfully parsed\n"); #endif return AXIOM_XPATH_PARSE_SUCCESS; } } /* Parse Or Expression */ int axiom_xpath_compile_orexpr( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1, op2; if (!AXIOM_XPATH_HAS_MORE) { return AXIOM_XPATH_PARSE_END; } op1 = axiom_xpath_compile_andexpr(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: AndEpxr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_SKIP_WHITESPACES; while (AXIOM_XPATH_CURRENT == 'o' && AXIOM_XPATH_NEXT(1) == 'r') { AXIOM_XPATH_READ(2); AXIOM_XPATH_SKIP_WHITESPACES; op2 = axiom_xpath_compile_andexpr(env, expr); if (op2 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: AndEpxr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op1 = AXIOM_XPATH_PUSH(AXIOM_XPATH_OPERATION_OR_EXPR, op1, op2); AXIOM_XPATH_SKIP_WHITESPACES; } return op1; } /* Parse And Expression */ int axiom_xpath_compile_andexpr( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1, op2; if (!AXIOM_XPATH_HAS_MORE) { return AXIOM_XPATH_PARSE_END; } op1 = axiom_xpath_compile_equalexpr(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: EqualityExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_SKIP_WHITESPACES; while (AXIOM_XPATH_CURRENT == 'a' && AXIOM_XPATH_NEXT(1) == 'n' && AXIOM_XPATH_NEXT(1) == 'd') { AXIOM_XPATH_READ(2); AXIOM_XPATH_SKIP_WHITESPACES; op2 = axiom_xpath_compile_equalexpr(env, expr); if (op2 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: EqualityExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op1 = AXIOM_XPATH_PUSH(AXIOM_XPATH_OPERATION_AND_EXPR, op1, op2); AXIOM_XPATH_SKIP_WHITESPACES; } return op1; } /* Parse Equality Expression */ int axiom_xpath_compile_equalexpr( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1, op2; if (!AXIOM_XPATH_HAS_MORE) { return AXIOM_XPATH_PARSE_END; } op1 = axiom_xpath_compile_union(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: UnionExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } while (AXIOM_XPATH_CURRENT == '=') { AXIOM_XPATH_SKIP_WHITESPACES; AXIOM_XPATH_READ(1); AXIOM_XPATH_SKIP_WHITESPACES; op2 = axiom_xpath_compile_union(env, expr); if (op2 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: UnionExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op1 = AXIOM_XPATH_PUSH(AXIOM_XPATH_OPERATION_EQUAL_EXPR, op1, op2); AXIOM_XPATH_SKIP_WHITESPACES; } return op1; } /* Parse Union */ int axiom_xpath_compile_union( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1, op2; if (!AXIOM_XPATH_HAS_MORE) { return AXIOM_XPATH_PARSE_END; } op1 = axiom_xpath_compile_path_expression(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: PathExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_CURRENT == '|') { AXIOM_XPATH_READ(1); AXIOM_XPATH_SKIP_WHITESPACES; op2 = axiom_xpath_compile_union(env, expr); if (op2 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: UnionExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } return AXIOM_XPATH_PUSH(AXIOM_XPATH_OPERATION_UNION, op1, op2); } /* Just a location path */ return op1; } /* Compile Filter expression */ int axiom_xpath_compile_filter( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op = AXIOM_XPATH_PARSE_END; if (AXIOM_XPATH_CURRENT == '(') { AXIOM_XPATH_READ(1); op = axiom_xpath_compile_orexpr(env, expr); AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_CURRENT == ')') { AXIOM_XPATH_READ(1); return op; } else { return AXIOM_XPATH_PARSE_ERROR; } } else if (AXIOM_XPATH_CURRENT == '\'' || AXIOM_XPATH_CURRENT == '\"') { return AXIOM_XPATH_PUSH_PAR( AXIOM_XPATH_OPERATION_LITERAL, axiom_xpath_compile_literal(env, expr), NULL, AXIOM_XPATH_PARSE_END); } else if (isdigit(AXIOM_XPATH_CURRENT) || (AXIOM_XPATH_CURRENT == '.' && isdigit(AXIOM_XPATH_NEXT(1)))) { return AXIOM_XPATH_PUSH_PAR( AXIOM_XPATH_OPERATION_NUMBER, axiom_xpath_compile_number(env, expr), NULL, AXIOM_XPATH_PARSE_END); } else if (AXIOM_XPATH_CURRENT == '$') { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: Variables are not supported, yet - %s\n", expr->expr_str + expr->expr_ptr); #endif } else { return axiom_xpath_compile_function_call(env, expr); } #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: Invalid Filter expression - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; /* TODO: functions and variables */ } /* Parse Path expression (not a location path) */ int axiom_xpath_path_compile_path_expression_filter( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op_filter, op_next; op_filter = axiom_xpath_compile_filter(env, expr); if (op_filter == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: FilterExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_NEXT(0) == '/' && AXIOM_XPATH_NEXT(1) == '/') { AXIOM_XPATH_READ(2); op_next = axiom_xpath_compile_relative_location(env, expr); if (op_next == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op_next = AXIOM_XPATH_WRAP_SELF_DESCENDANT(op_next); } else if (AXIOM_XPATH_NEXT(0) == '/') { AXIOM_XPATH_READ(1); op_next = axiom_xpath_compile_relative_location(env, expr); if (op_next == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } } else { op_next = AXIOM_XPATH_PARSE_END; } return AXIOM_XPATH_PUSH( AXIOM_XPATH_OPERATION_PATH_EXPRESSION, op_filter, op_next); } /* Parse Path expression */ int axiom_xpath_compile_path_expression( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int temp_ptr = expr->expr_ptr; axis2_char_t *name; axis2_char_t *node_types[] = {"comment", "node", "processing-instruction", "text"}; axis2_char_t filter_start[] = {'$', '\'', '\"', '('}; int i; /* if | FilterExpr | FilterExpr '/' RelativeLocationPath | FilterExpr '//' RelativeLocationPath */ for (i = 0; i < 4; i++) { if (AXIOM_XPATH_CURRENT == filter_start[i]) { return axiom_xpath_path_compile_path_expression_filter(env, expr); } } if (isdigit(AXIOM_XPATH_CURRENT) || (AXIOM_XPATH_CURRENT == '.' && isdigit(AXIOM_XPATH_NEXT(1)))) { return axiom_xpath_path_compile_path_expression_filter(env, expr); } /* Funciton calls */ name = axiom_xpath_compile_ncname(env, expr); AXIOM_XPATH_SKIP_WHITESPACES; if (name != NULL && AXIOM_XPATH_CURRENT == '(') { expr->expr_ptr = temp_ptr; for (i = 0; i < 4; i++) { /* If node type */ if (axutil_strcmp(name, node_types[i]) == 0) { return axiom_xpath_compile_location_path(env, expr); } } return axiom_xpath_path_compile_path_expression_filter(env, expr); } expr->expr_ptr = temp_ptr; return axiom_xpath_compile_location_path(env, expr); } /* Parses Location Path */ int axiom_xpath_compile_location_path( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1; axiom_xpath_operation_type_t opr; if (!AXIOM_XPATH_HAS_MORE) { return AXIOM_XPATH_PARSE_END; } if (AXIOM_XPATH_CURRENT == '/') { /* Descendent */ if (AXIOM_XPATH_NEXT(1) == '/') { opr = AXIOM_XPATH_OPERATION_CONTEXT_NODE; AXIOM_XPATH_READ(2); AXIOM_XPATH_SKIP_WHITESPACES; op1 = axiom_xpath_compile_relative_location(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op1 = AXIOM_XPATH_WRAP_SELF_DESCENDANT(op1); } else { opr = AXIOM_XPATH_OPERATION_ROOT_NODE; AXIOM_XPATH_READ(1); op1 = axiom_xpath_compile_relative_location(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } } } else { opr = AXIOM_XPATH_OPERATION_CONTEXT_NODE; op1 = axiom_xpath_compile_relative_location(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } } if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } return AXIOM_XPATH_PUSH(opr, op1, AXIOM_XPATH_PARSE_END); } /* Parses Relative Location Path */ int axiom_xpath_compile_relative_location( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op_step, op_next; if (!AXIOM_XPATH_HAS_MORE) { return AXIOM_XPATH_PARSE_END; } op_step = axiom_xpath_compile_step(env, expr); op_next = AXIOM_XPATH_PARSE_END; /* Will change if there are more steps */ if (op_step == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: Step expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_NEXT(0) == '/' && AXIOM_XPATH_NEXT(1) == '/') { AXIOM_XPATH_READ(2); op_next = axiom_xpath_compile_relative_location(env, expr); if (op_next == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op_next = AXIOM_XPATH_WRAP_SELF_DESCENDANT(op_next); } else if (AXIOM_XPATH_NEXT(0) == '/') { AXIOM_XPATH_READ(1); op_next = axiom_xpath_compile_relative_location(env, expr); if (op_next == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: RelativeLocation expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } } /* End of the location path */ if (op_next == AXIOM_XPATH_PARSE_END) { op_next = AXIOM_XPATH_PUSH( AXIOM_XPATH_OPERATION_RESULT, AXIOM_XPATH_PARSE_END, AXIOM_XPATH_PARSE_END); } return AXIOM_XPATH_PUSH(AXIOM_XPATH_OPERATION_STEP, op_step, op_next); } /* Parses Step */ int axiom_xpath_compile_step( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op_predicate = AXIOM_XPATH_PARSE_END; axiom_xpath_node_test_t *node_test; int temp_ptr; axis2_char_t *name = NULL; axiom_xpath_axis_t axis = AXIOM_XPATH_AXIS_NONE; AXIOM_XPATH_SKIP_WHITESPACES; /* . and .. */ if (AXIOM_XPATH_CURRENT == '.') { if (AXIOM_XPATH_NEXT(1) == '.') { AXIOM_XPATH_READ(2); axis = AXIOM_XPATH_AXIS_PARENT; } else { AXIOM_XPATH_READ(1); axis = AXIOM_XPATH_AXIS_SELF; } return AXIOM_XPATH_PUSH_PAR( AXIOM_XPATH_OPERATION_NODE_TEST, axiom_xpath_create_node_test_node(env), axiom_xpath_create_axis(env, axis), op_predicate); } else if (AXIOM_XPATH_CURRENT == '@') { axis = AXIOM_XPATH_AXIS_ATTRIBUTE; AXIOM_XPATH_READ(1); AXIOM_XPATH_SKIP_WHITESPACES; } else { temp_ptr = expr->expr_ptr; name = axiom_xpath_compile_ncname(env, expr); if (name) { AXIOM_XPATH_SKIP_WHITESPACES; /* An axis */ if (AXIOM_XPATH_CURRENT == ':' && AXIOM_XPATH_NEXT(1) == ':') { axis = axiom_xpath_get_axis(env, name); if (axis == AXIOM_XPATH_AXIS_NONE) { #ifdef AXIOM_XPATH_DEBUG printf("Parse error: Invalid axis - %s\n", name); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_READ(2); AXIOM_XPATH_SKIP_WHITESPACES; } else { axis = AXIOM_XPATH_AXIS_CHILD; expr->expr_ptr = temp_ptr; } } else { axis = AXIOM_XPATH_AXIS_CHILD; expr->expr_ptr = temp_ptr; } } node_test = axiom_xpath_compile_node_test(env, expr); if (!node_test) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: NodeTest expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } op_predicate = axiom_xpath_compile_predicate(env, expr); if (op_predicate == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: Predicate expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } return AXIOM_XPATH_PUSH_PAR( AXIOM_XPATH_OPERATION_NODE_TEST, node_test, axiom_xpath_create_axis(env, axis), op_predicate); } axiom_xpath_node_test_t* axiom_xpath_compile_node_test( const axutil_env_t *env, axiom_xpath_expression_t* expr) { axis2_char_t* name; axiom_xpath_node_test_t *node_test; node_test = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_node_test_t)); node_test->type = AXIOM_XPATH_NODE_TEST_NONE; node_test->prefix = NULL; node_test->name = NULL; node_test->lit = NULL; if (AXIOM_XPATH_CURRENT == '*') { AXIOM_XPATH_READ(1); node_test->type = AXIOM_XPATH_NODE_TEST_ALL; return node_test; } name = axiom_xpath_compile_ncname(env, expr); if (!name) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: NCName expected - %s\n", expr->expr_str + expr->expr_ptr); #endif AXIS2_FREE(env->allocator, node_test); return NULL; } /* Node type */ if (AXIOM_XPATH_CURRENT == '(') { AXIOM_XPATH_READ(1); if (axutil_strcmp(name, "comment") == 0) { node_test->type = AXIOM_XPATH_NODE_TYPE_COMMENT; } if (axutil_strcmp(name, "node") == 0) { node_test->type = AXIOM_XPATH_NODE_TYPE_NODE; } if (axutil_strcmp(name, "processing-instruction") == 0) { node_test->type = AXIOM_XPATH_NODE_TYPE_PI; node_test->lit = axiom_xpath_compile_literal(env, expr); } if (axutil_strcmp(name, "text") == 0) { node_test->type = AXIOM_XPATH_NODE_TYPE_TEXT; } AXIOM_XPATH_SKIP_WHITESPACES; if (node_test->type == AXIOM_XPATH_NODE_TEST_NONE || AXIOM_XPATH_CURRENT != ')') { #ifdef AXIOM_XPATH_DEBUG printf("Parse error: Invalid node type - %s\n", name); #endif AXIS2_FREE(env->allocator, node_test); return NULL; } AXIOM_XPATH_READ(1); } else { node_test->type = AXIOM_XPATH_NODE_TEST_STANDARD; if (AXIOM_XPATH_CURRENT == ':') { AXIOM_XPATH_READ(1); node_test->prefix = name; if (AXIOM_XPATH_CURRENT == '*') { AXIOM_XPATH_READ(1); node_test->type = AXIOM_XPATH_NODE_TEST_ALL; return node_test; } node_test->name = axiom_xpath_compile_ncname(env, expr); if (!node_test->name) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: NCName expected - %s\n", expr->expr_str + expr->expr_ptr); #endif AXIS2_FREE(env->allocator, node_test); return NULL; } } else { node_test->name = name; } } return node_test; } int axiom_xpath_compile_function_call( const axutil_env_t *env, axiom_xpath_expression_t* expr) { axis2_char_t *name; int op1 = AXIOM_XPATH_PARSE_END; name = axiom_xpath_compile_ncname(env, expr); if (!name) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: NCName expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } if (AXIOM_XPATH_CURRENT != '(') { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: '(' expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_READ(1); AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_CURRENT != ')') { op1 = axiom_xpath_compile_argument(env, expr); } if (AXIOM_XPATH_CURRENT != ')') { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: ')' expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_READ(1); return AXIOM_XPATH_PUSH_PAR( AXIOM_XPATH_OPERATION_FUNCTION_CALL, name, NULL, op1); } int axiom_xpath_compile_argument( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1 = AXIOM_XPATH_PARSE_END; int op2 = AXIOM_XPATH_PARSE_END; op1 = axiom_xpath_compile_orexpr(env, expr); AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_CURRENT == ',') { op2 = axiom_xpath_compile_argument(env, expr); } return AXIOM_XPATH_PUSH(AXIOM_XPATH_OPERATION_ARGUMENT, op1, op2); } axiom_xpath_node_test_t* axiom_xpath_create_node_test_all( const axutil_env_t *env) { axiom_xpath_node_test_t *node_test; node_test = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_node_test_t)); node_test->type = AXIOM_XPATH_NODE_TEST_ALL; node_test->prefix = NULL; node_test->name = NULL; node_test->lit = NULL; return node_test; } axiom_xpath_node_test_t* axiom_xpath_create_node_test_node( const axutil_env_t *env) { axiom_xpath_node_test_t *node_test; node_test = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_node_test_t)); node_test->type = AXIOM_XPATH_NODE_TYPE_NODE; node_test->prefix = NULL; node_test->name = NULL; node_test->lit = NULL; return node_test; } double* axiom_xpath_compile_number( const axutil_env_t *env, axiom_xpath_expression_t* expr) { double *ret = AXIS2_MALLOC(env->allocator, sizeof(double)); double res = 0, dec = 0.1; axis2_bool_t dot = AXIS2_FALSE; *ret = 0; while (1) { if (isdigit(AXIOM_XPATH_CURRENT)) { if (!dot) { res = res * 10 + (AXIOM_XPATH_CURRENT - '0'); } else { res += dec * (AXIOM_XPATH_CURRENT - '0'); dec /= 10; } } else if (AXIOM_XPATH_CURRENT == '.') { if (dot) { return ret; } else { dot = AXIS2_TRUE; dec = 0.1; } } else { break; } AXIOM_XPATH_READ(1); } *ret = res; return ret; } axis2_char_t* axiom_xpath_compile_literal( const axutil_env_t *env, axiom_xpath_expression_t* expr) { axis2_char_t lit[255]; int i = 0; axis2_char_t del; if (AXIOM_XPATH_CURRENT == '\"') { del = '\"'; } else if (AXIOM_XPATH_CURRENT == '\'') { del = '\''; } else return NULL; AXIOM_XPATH_READ(1); while (AXIOM_XPATH_HAS_MORE && AXIOM_XPATH_CURRENT != del) { lit[i] = AXIOM_XPATH_CURRENT; AXIOM_XPATH_READ(1); ++i; } if (AXIOM_XPATH_HAS_MORE) { AXIOM_XPATH_READ(1); } lit[i] = '\0'; return axutil_strdup(env, lit); } /* Get axis for name */ axiom_xpath_axis_t axiom_xpath_get_axis( const axutil_env_t *env, axis2_char_t* name) { if (axutil_strcmp(name, "child") == 0) { return AXIOM_XPATH_AXIS_CHILD; } else if (axutil_strcmp(name, "descendant") == 0) { return AXIOM_XPATH_AXIS_DESCENDANT; } else if (axutil_strcmp(name, "parent") == 0) { return AXIOM_XPATH_AXIS_PARENT; } else if (axutil_strcmp(name, "ancestor") == 0) { return AXIOM_XPATH_AXIS_ANCESTOR; } else if (axutil_strcmp(name, "following-sibling") == 0) { return AXIOM_XPATH_AXIS_FOLLOWING_SIBLING; } else if (axutil_strcmp(name, "preceding-sibling") == 0) { return AXIOM_XPATH_AXIS_PRECEDING_SIBLING; } else if (axutil_strcmp(name, "following") == 0) { return AXIOM_XPATH_AXIS_FOLLOWING; } else if (axutil_strcmp(name, "preceding") == 0) { return AXIOM_XPATH_AXIS_PRECEDING; } else if (axutil_strcmp(name, "attribute") == 0) { return AXIOM_XPATH_AXIS_ATTRIBUTE; } else if (axutil_strcmp(name, "namespace") == 0) { return AXIOM_XPATH_AXIS_NAMESPACE; } else if (axutil_strcmp(name, "self") == 0) { return AXIOM_XPATH_AXIS_SELF; } else if (axutil_strcmp(name, "descendant-or-self") == 0) { return AXIOM_XPATH_AXIS_DESCENDANT_OR_SELF; } else if (axutil_strcmp(name, "ancestor-or-self") == 0) { return AXIOM_XPATH_AXIS_ANCESTOR_OR_SELF; } else { #ifdef AXIOM_XPATH_DEBUG printf("Unidentified axis name.\n"); #endif return AXIOM_XPATH_AXIS_NONE; } } /* Parse Predicate */ int axiom_xpath_compile_predicate( const axutil_env_t *env, axiom_xpath_expression_t* expr) { int op1, op_next_predicate; AXIOM_XPATH_SKIP_WHITESPACES; if (!AXIOM_XPATH_HAS_MORE || AXIOM_XPATH_CURRENT != '[') { return AXIOM_XPATH_PARSE_END; } AXIOM_XPATH_READ(1); AXIOM_XPATH_SKIP_WHITESPACES; /* A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the context position and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function. */ op1 = axiom_xpath_compile_orexpr(env, expr); if (op1 == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: EqualExpr expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_SKIP_WHITESPACES; if (AXIOM_XPATH_CURRENT != ']') { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: ] expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } AXIOM_XPATH_READ(1); op_next_predicate = axiom_xpath_compile_predicate(env, expr); if (op_next_predicate == AXIOM_XPATH_PARSE_ERROR) { #ifdef AXIOM_XPATH_DEBUG printf( "Parse error: Predicate expected - %s\n", expr->expr_str + expr->expr_ptr); #endif return AXIOM_XPATH_PARSE_ERROR; } return AXIOM_XPATH_PUSH( AXIOM_XPATH_OPERATION_PREDICATE, op1, op_next_predicate); } /* Parse Node Test */ axis2_char_t * axiom_xpath_compile_ncname( const axutil_env_t *env, axiom_xpath_expression_t* expr) { axis2_char_t name[255]; int i = 0; if (!isalpha(AXIOM_XPATH_CURRENT) && AXIOM_XPATH_CURRENT != '_') { return NULL; } /* TODO: Add CombiningChar and Extender * Link http://www.w3.org/TR/REC-xml/#NT-NameChar */ while (AXIOM_XPATH_HAS_MORE && (isalnum(AXIOM_XPATH_CURRENT) || AXIOM_XPATH_CURRENT == '_' || AXIOM_XPATH_CURRENT == '.' || AXIOM_XPATH_CURRENT == '-')) { name[i] = AXIOM_XPATH_CURRENT; AXIOM_XPATH_READ(1); ++i; } name[i] = '\0'; return axutil_strdup(env, name); } /* Supporting functions */ int axiom_xpath_add_operation( const axutil_env_t *env, axiom_xpath_expression_t* expr, axiom_xpath_operation_type_t op_type, int op1, int op2, void *par1, void *par2) { axiom_xpath_operation_t *op; op = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_operation_t)); op->opr = op_type; op->op1 = op1; op->op2 = op2; op->pos = 0; op->par1 = par1; op->par2 = par2; axutil_array_list_add(expr->operations, env, op); return axutil_array_list_size(expr->operations, env) - 1; } axiom_xpath_axis_t *axiom_xpath_create_axis( const axutil_env_t *env, axiom_xpath_axis_t axis) { axiom_xpath_axis_t *axis_p = AXIS2_MALLOC(env->allocator, sizeof(axiom_xpath_axis_t)); *axis_p = axis; return axis_p; } axis2c-src-1.6.0/axiom/src/xpath/xpath_internals_parser.h0000755000175000017500000003200311171531736024622 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_INTERNALS_PARSER_H #define AXIOM_XPATH_INTERNALS_PARSER_H #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_parser parser * @ingroup axiom_xpath * @{ */ /* Macros */ /** Get the current character in the expression */ #define AXIOM_XPATH_CURRENT (expr->expr_ptr < expr->expr_len ? \ expr->expr_str[expr->expr_ptr] : -1) /** Get a character after the current */ #define AXIOM_XPATH_NEXT(ind) (expr->expr_ptr + ind < expr->expr_len ? \ expr->expr_str[expr->expr_ptr + ind] : -1) /** Increment the pointer to the expression */ #define AXIOM_XPATH_READ(n) (expr->expr_ptr += n) /** Check if expression has finished parsing */ #define AXIOM_XPATH_HAS_MORE (expr->expr_ptr < expr->expr_len) /** Skip white spaces */ #define AXIOM_XPATH_SKIP_WHITESPACES \ { while(AXIOM_XPATH_CURRENT == ' ') \ AXIOM_XPATH_READ(1); \ } /** Wrape an operation in a self_or_descendent step; used to handle '//' */ #define AXIOM_XPATH_WRAP_SELF_DESCENDANT(_op2) \ axiom_xpath_add_operation(env, expr, AXIOM_XPATH_OPERATION_STEP, \ axiom_xpath_add_operation(env, expr, AXIOM_XPATH_OPERATION_NODE_TEST, \ AXIOM_XPATH_PARSE_END, AXIOM_XPATH_PARSE_END, \ axiom_xpath_create_node_test_node(env), \ axiom_xpath_create_axis(env, AXIOM_XPATH_AXIS_DESCENDANT_OR_SELF)), \ _op2, NULL, NULL) /** Adds an operation */ #define AXIOM_XPATH_PUSH(_opr, _op1, _op2) axiom_xpath_add_operation( \ env, expr, _opr, _op1, _op2, NULL, NULL) /** Adds an operation with parameters */ #define AXIOM_XPATH_PUSH_PAR(_opr, _par1, _par2, _op1) axiom_xpath_add_operation( \ env, expr, _opr, _op1, AXIOM_XPATH_PARSE_END, (void *)_par1, (void *)_par2) /* Functions */ /** * Add an operation to the operations array * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @param op_type Type of the operation * @param op1 First operand * @param op2 Second operand * @param par1 First parameter * @param par2 Second parameter * @return Index of the operation in the array */ int axiom_xpath_add_operation( const axutil_env_t *env, axiom_xpath_expression_t* expr, axiom_xpath_operation_type_t op_type, int op1, int op2, void *par1, void *par2); /** * Compile a XPath expression * * [14] Expr ::= OrExpr * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the main operation in the array */ int axiom_xpath_compile( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile an equals expression * * ***Not completed*** * [23] EqualityExpr ::= UnionExpr '=' UnionExpr * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_equalexpr( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile an union * * [18] UnionExpr ::= PathExpr * | UnionExpr '|' PathExpr * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_union( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a path expression * * [19] PathExpr ::= LocationPath * | FilterExpr * | FilterExpr '/' RelativeLocationPath * | FilterExpr '//' RelativeLocationPath * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_path_expression( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a path expression with a filter * * [19] PathExpr ::= FilterExpr * | FilterExpr '/' RelativeLocationPath * | FilterExpr '//' RelativeLocationPath * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_path_compile_path_expression_filter( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a filter expression * * 20] FilterExpr ::= PrimaryExpr * | FilterExpr Predicate * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_filter( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a location path * * [1] LocationPath ::= RelativeLocationPath * | AbsoluteLocationPath * [2] AbsoluteLocationPath ::= '/' RelativeLocationPath? * | AbbreviatedAbsoluteLocationPath * * [10] AbbreviatedAbsoluteLocationPath ::= '//' RelativeLocationPath * [11] AbbreviatedRelativeLocationPath ::= RelativeLocationPath '//' Step * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_location_path( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a relative location * * [3] RelativeLocationPath ::= Step * | RelativeLocationPath '/' Step * | AbbreviatedRelativeLocationPath * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_relative_location( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a step * * [4] Step ::= AxisSpecifier NodeTest Predicate* * | AbbreviatedStep * [5] AxisSpecifier ::= AxisName '::' * | AbbreviatedAxisSpecifier * * [12] AbbreviatedStep ::= '.' | '..' * [13] AbbreviatedAxisSpecifier ::= '@'? * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_step( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compiles an OrExpr. * * [21] OrExpr ::= AndExpr * | OrExpr 'or' AndExpr * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_orexpr( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compiles an AndExpr. * * [22] AndExpr ::= EqualityExpr * | AndExpr 'and' EqualityExpr * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_andexpr( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compiles a FunctionCall * * [16] FunctionCall ::= FunctionName '(' ( Argument ( ',' Argument )* )? ')' * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_function_call( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compiles an Argument. * * [17] Argument ::= Expr * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_argument( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a node test * * [7] NodeTest ::= NameTest * | NodeType '(' ')' * | 'processing-instruction' '(' Literal ')' * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ axiom_xpath_node_test_t* axiom_xpath_compile_node_test( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a predicate(s) * * [8] Predicate ::= '[' PredicateExpr ']' * [9] PredicateExpr ::= Expr * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return Index of the operation in the array */ int axiom_xpath_compile_predicate( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a literal * * [29] Literal ::= '"' [^"]* '"' * | "'" [^']* "'" * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return The literal parsed */ axis2_char_t* axiom_xpath_compile_literal( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a number * * [30] Number ::= Digits ('.' Digits?)? * | '.' Digits * [31] Digits ::= [0-9]+ * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return The number parsed */ double* axiom_xpath_compile_number( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Compile a ncname * * @param env Environment must not be null * @param expr A pointer to the XPath expression * @return The ncname parsed */ axis2_char_t* axiom_xpath_compile_ncname( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Get the XPath axis by axis name * * [6] AxisName ::= 'ancestor' * | 'ancestor-or-self' * | 'attribute' * | 'child' * | 'descendant' * | 'descendant-or-self' * | 'following' * | 'following-sibling' * | 'namespace' * | 'parent' * | 'preceding' * | 'preceding-sibling' * | 'self' * * @param env Environment must not be null * @param name Name of the axis * @return XPath axis; returns AXIOM_XPATH_AXIS_NONE if invalid name */ axiom_xpath_axis_t axiom_xpath_get_axis( const axutil_env_t *env, axis2_char_t* name); /** * Create a node test which matches all nodes (*) * * @param env Environment must not be null * @return Node test */ axiom_xpath_node_test_t* axiom_xpath_create_node_test_all( const axutil_env_t *env); /** * Create a node test which matches all nodes (nodes()) * * @param env Environment must not be null * @return Node test */ axiom_xpath_node_test_t* axiom_xpath_create_node_test_node( const axutil_env_t *env); /** * Create a pointer to an axis; allocate memory using the allocator * * @param env Environment must not be null * @param axis XPath axis * @return Pointer to the axis created */ axiom_xpath_axis_t *axiom_xpath_create_axis( const axutil_env_t *env, axiom_xpath_axis_t axis); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/src/xpath/xpath_internals_engine.c0000644000175000017500000007410611171531736024575 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "xpath_internals.h" #include "xpath_internals_engine.h" #include "xpath_internals_iterators.h" /* Evaluates the expath expression */ axiom_xpath_result_t * axiom_xpath_run(axiom_xpath_context_t *context) { axiom_xpath_result_t* res; /* Initialize result ret */ res = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_t)); res->flag = 0; res->nodes = axutil_array_list_create(context->env, 0); context->stack = axutil_stack_create(context->env); /* Expression is empty */ if (context->expr->start == AXIOM_XPATH_PARSE_END) { return res; } axiom_xpath_evaluate_operation(context, context->expr->start); /* Add nodes to the result set from the stack */ while (axutil_stack_size(context->stack, context->env) > 0) { axutil_array_list_add( res->nodes, context->env, axutil_stack_pop(context->stack, context->env)); } return res; } /* Casting functions; these make use of the casting functions defined in xpath.h */ void axiom_xpath_cast_boolean( axiom_xpath_result_node_t *node, axiom_xpath_context_t *context) { axis2_bool_t v = axiom_xpath_cast_node_to_boolean(context->env, node); AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, v); node->type = AXIOM_XPATH_TYPE_BOOLEAN; } void axiom_xpath_cast_number( axiom_xpath_result_node_t *node, axiom_xpath_context_t *context) { double v = axiom_xpath_cast_node_to_number(context->env, node); AXIOM_XPATH_CAST_SET_VALUE(double, v); node->type = AXIOM_XPATH_TYPE_NUMBER; } void axiom_xpath_cast_string( axiom_xpath_result_node_t *node, axiom_xpath_context_t *context) { node->value = axiom_xpath_cast_node_to_string(context->env, node); node->type = AXIOM_XPATH_TYPE_TEXT; } /* Evaluate whether two results are equal If either node is a boolean other is casted to a boolean; Otherwise, if either node is a number other is casted to a number; Otherwise, both nodes are casted to strings.*/ axis2_bool_t axiom_xpath_compare_equal( axiom_xpath_result_node_t *node1, axiom_xpath_result_node_t *node2, axiom_xpath_context_t *context) { if (node1->type == AXIOM_XPATH_TYPE_BOOLEAN || node2->type == AXIOM_XPATH_TYPE_BOOLEAN) { axiom_xpath_cast_boolean(node1, context); axiom_xpath_cast_boolean(node2, context); if (*(axis2_bool_t*)(node1->value) == *(axis2_bool_t*)(node2->value)) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } if (node1->type == AXIOM_XPATH_TYPE_NUMBER || node2->type == AXIOM_XPATH_TYPE_NUMBER) { axiom_xpath_cast_number(node1, context); axiom_xpath_cast_number(node2, context); if (*(double *)(node1->value) == *(double *)(node2->value)) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } axiom_xpath_cast_string(node1, context); axiom_xpath_cast_string(node2, context); if (axutil_strcmp( (axis2_char_t *)(node1->value), (axis2_char_t *)(node2->value)) == 0) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } /* Convert a node set to boolean */ axis2_bool_t axiom_xpath_convert_to_boolean( axutil_array_list_t *node_set, axiom_xpath_context_t *context) { if (axutil_array_list_size(node_set, context->env) == 0) { return AXIS2_FALSE; } else if (axutil_array_list_size(node_set, context->env) >= 2) { return AXIS2_TRUE; } else { axiom_xpath_result_node_t *node = axutil_array_list_get(node_set, context->env, 0); axiom_xpath_cast_boolean(node, context); return *(axis2_bool_t *)node->value; } } /* Operators */ /* Literal */ int axiom_xpath_literal_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_result_node_t *node; node = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_node_t)); /* Set the context node to NULL */ /* This is not required; it gives some problems */ /* context->node = NULL;*/ node->value = op->par1; node->type = AXIOM_XPATH_TYPE_TEXT; axutil_stack_push(context->stack, context->env, node); return 1; } /* Number */ int axiom_xpath_number_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_result_node_t *node; node = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_node_t)); /* Set the context node to NULL */ /* This is not required; it gives some problems */ /* context->node = NULL;*/ node->value = op->par1; node->type = AXIOM_XPATH_TYPE_NUMBER; axutil_stack_push(context->stack, context->env, node); return 1; } /* Path Expression */ int axiom_xpath_path_expression_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { int filter_res_n, n_nodes = 0; axiom_xpath_operation_t *rel_loc_op; axiom_xpath_operator_t rel_loc_func; axutil_array_list_t *arr; axiom_xpath_result_node_t *res_node; int i; /* Filter operation */ if (op->op1 == AXIOM_XPATH_PARSE_END) { return 0; } filter_res_n = axiom_xpath_evaluate_operation(context, op->op1); /* Relative location path */ if (op->op2 == AXIOM_XPATH_PARSE_END) { return filter_res_n; } rel_loc_op = AXIOM_XPATH_OPR_GET(op->op2); rel_loc_func = axiom_xpath_get_operator(rel_loc_op); /* Array list to add all results from the filter expression */ arr = axutil_array_list_create(context->env, 0); for (i = 0; i < filter_res_n; i++) { axutil_array_list_add( arr, context->env, axutil_stack_pop(context->stack, context->env)); } /* Evaluate relative location path for all results from the filter expression */ for (i = 0; i < axutil_array_list_size(arr, context->env); i++) { res_node = (axiom_xpath_result_node_t *)axutil_array_list_get( arr, context->env, i); if (res_node->type != AXIOM_XPATH_TYPE_NODE) { continue; } context->node = (axiom_node_t *)res_node->value; context->position = i + 1; context->size = filter_res_n; n_nodes += rel_loc_func(context, rel_loc_op); } return n_nodes; } /* Or Expression */ int axiom_xpath_orexpr_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_result_node_t *node; int n_nodes[2]; int i, j; int op12[2]; axutil_array_list_t *arr[2]; op12[0] = op->op1; op12[1] = op->op2; /* Evaluate both operands and get number of results */ for (i = 0; i < 2; i++) { if (op12[i] == AXIOM_XPATH_PARSE_END) { continue; } n_nodes[i] = axiom_xpath_evaluate_operation(context, op12[i]); } for (i = 1; i >= 0; i--) { arr[i] = axutil_array_list_create(context->env, 0); for (j = 0; j < n_nodes[i]; j++) { axutil_array_list_add( arr[i], context->env, axutil_stack_pop(context->stack, context->env)); } } node = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_node_t)); node->type = AXIOM_XPATH_TYPE_BOOLEAN; node->value = NULL; /* Checking equality - If any node from the first set is equal to any node from the second set the result is true */ if (axiom_xpath_convert_to_boolean(arr[0], context) || axiom_xpath_convert_to_boolean(arr[1], context)) { AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, AXIS2_TRUE); axutil_stack_push(context->stack, context->env, node); } else { AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, AXIS2_FALSE); axutil_stack_push(context->stack, context->env, node); } axutil_array_list_free(arr[0], context->env); axutil_array_list_free(arr[1], context->env); return 1; } /* And Expression */ int axiom_xpath_andexpr_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_result_node_t *node; int n_nodes[2]; int i, j; int op12[2]; axutil_array_list_t *arr[2]; op12[0] = op->op1; op12[1] = op->op2; /* Evaluate both operands and get number of results */ for (i = 0; i < 2; i++) { if (op12[i] == AXIOM_XPATH_PARSE_END) { continue; } n_nodes[i] = axiom_xpath_evaluate_operation(context, op12[i]); } for (i = 1; i >= 0; i--) { arr[i] = axutil_array_list_create(context->env, 0); for (j = 0; j < n_nodes[i]; j++) { axutil_array_list_add( arr[i], context->env, axutil_stack_pop(context->stack, context->env)); } } node = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_node_t)); node->type = AXIOM_XPATH_TYPE_BOOLEAN; node->value = NULL; /* Checking equality - If any node from the first set is equal to any node from the second set the result is true */ if (axiom_xpath_convert_to_boolean(arr[0], context) && axiom_xpath_convert_to_boolean(arr[1], context)) { AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, AXIS2_TRUE); axutil_stack_push(context->stack, context->env, node); } else { AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, AXIS2_FALSE); axutil_stack_push(context->stack, context->env, node); } axutil_array_list_free(arr[0], context->env); axutil_array_list_free(arr[1], context->env); return 1; } /* Equal Expression */ int axiom_xpath_equalexpr_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_result_node_t *node; int n_nodes[2]; int i, j; int op12[2]; axutil_array_list_t *arr[2]; op12[0] = op->op1; op12[1] = op->op2; /* Evaluate both operands and get number of results */ for (i = 0; i < 2; i++) { if (op12[i] == AXIOM_XPATH_PARSE_END) { continue; } n_nodes[i] = axiom_xpath_evaluate_operation(context, op12[i]); } for (i = 1; i >= 0; i--) { arr[i] = axutil_array_list_create(context->env, 0); for (j = 0; j < n_nodes[i]; j++) { axutil_array_list_add( arr[i], context->env, axutil_stack_pop(context->stack, context->env)); } } node = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_node_t)); node->type = AXIOM_XPATH_TYPE_BOOLEAN; node->value = NULL; /* Checking equality - If any node from the first set is equal to any node from the second set the result is true */ for (i = 0; i < n_nodes[0]; i++) { for (j = 0; j < n_nodes[1]; j++) { if (axiom_xpath_compare_equal( axutil_array_list_get(arr[0], context->env, i), axutil_array_list_get(arr[1], context->env, j), context)) { AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, AXIS2_TRUE); axutil_stack_push(context->stack, context->env, node); break; } } if (j < n_nodes[1]) { break; } } if (!node->value) { AXIOM_XPATH_CAST_SET_VALUE(axis2_bool_t, AXIS2_FALSE); axutil_stack_push(context->stack, context->env, node); } axutil_array_list_free(arr[0], context->env); axutil_array_list_free(arr[1], context->env); return 1; } /* Union */ int axiom_xpath_union_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { int n_nodes = 0; int i; int op12[2]; op12[0] = op->op1; op12[1] = op->op2; for (i = 0; i < 2; i++) { if (op12[i] == AXIOM_XPATH_PARSE_END) { continue; } n_nodes += axiom_xpath_evaluate_operation(context, op12[i]); } return n_nodes; } /* Set context node depending on whether relative or absolute location path */ int axiom_xpath_start_node_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { int n_nodes = 0; if (op->op1 == AXIOM_XPATH_PARSE_END) { return 0; } if (op->opr == AXIOM_XPATH_OPERATION_ROOT_NODE) { context->node = context->root_node; n_nodes += axiom_xpath_evaluate_operation(context, op->op1); } else if (op->opr == AXIOM_XPATH_OPERATION_CONTEXT_NODE) { n_nodes += axiom_xpath_evaluate_operation(context, op->op1); } return n_nodes; } /* Step */ int axiom_xpath_step_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_operation_t * node_test_op; axiom_xpath_iterator_t iter; axiom_xpath_axis_t axis; if (op->op1 == AXIOM_XPATH_PARSE_END) { #ifdef AXIOM_XPATH_DEBUG printf("Node test operator empty\n"); #endif return AXIOM_XPATH_EVALUATION_ERROR; } if (op->op2 == AXIOM_XPATH_PARSE_END) { return 0; } /* Get the name */ node_test_op = AXIOM_XPATH_OPR_GET(op->op1); /* Get the axis */ if (!node_test_op->par2) { #ifdef AXIOM_XPATH_DEBUG printf("axis is NULL in the step operator\n"); #endif return AXIOM_XPATH_EVALUATION_ERROR; } axis = *((axiom_xpath_axis_t *)node_test_op->par2); /* Get the iteration for the axis */ iter = axiom_xpath_get_iterator(axis); return iter(context, op->op1 /* node test */, op->op2 /* next step */, node_test_op->op1 /* predicate */); } /* Predicates */ axis2_bool_t axiom_xpath_evaluate_predicate_condition( axiom_xpath_context_t *context, int n_nodes) { axiom_xpath_result_node_t *res; int i; if (n_nodes <= 0) { return AXIS2_FALSE; } else if (n_nodes > 1) { for (i = 0; i < n_nodes; i++) { axutil_stack_pop(context->stack, context->env); } return AXIS2_TRUE; } else { res = (axiom_xpath_result_node_t *)axutil_stack_pop( context->stack, context->env); if (res->type == AXIOM_XPATH_TYPE_NUMBER) { if (*(double *)(res->value) == context->position) { return AXIS2_TRUE; } else { return AXIS2_FAILURE; } } else if (res->type == AXIOM_XPATH_TYPE_BOOLEAN) { return *(axis2_bool_t *)(res->value); } else { return AXIS2_TRUE; } } } /* Predicate */ int axiom_xpath_evaluate_predicate( axiom_xpath_context_t *context, int op_next, int op_predicate) { int n_res; axis2_bool_t res; axiom_xpath_operation_t * pred_op; axiom_node_t *context_node = context->node; if (op_predicate == AXIOM_XPATH_PARSE_END) { return axiom_xpath_evaluate_operation(context, op_next); } else { pred_op = AXIOM_XPATH_OPR_GET(op_predicate); pred_op->pos++; /* Evaluate the predicate */ if (pred_op->op1 != AXIOM_XPATH_PARSE_END) { n_res = axiom_xpath_evaluate_operation(context, pred_op->op1); context->position = pred_op->pos; res = axiom_xpath_evaluate_predicate_condition(context, n_res); } else { res = AXIS2_TRUE; } /* A PredicateExpr is evaluated by evaluating the Expr and converting the result to a boolean. If the result is a number, the result will be converted to true if the number is equal to the context position and will be converted to false otherwise; if the result is not a number, then the result will be converted as if by a call to the boolean function. */ /* Transform the result to number or boolean ? */ if (res) { context->node = context_node; return axiom_xpath_evaluate_predicate( context, op_next, pred_op->op2); } } return 0; } /* Node test match */ axis2_bool_t axiom_xpath_node_test_match( axiom_xpath_context_t *context, axiom_xpath_node_test_t *node_test) { axiom_types_t type; axiom_element_t *element = NULL; axis2_char_t *name = NULL; axiom_namespace_t *ns = NULL, *xpath_ns = NULL; if (!context->node && !context->attribute && !context->ns) { #ifdef AXIOM_XPATH_DEBUG printf("Both context node and attribute are NULL."); printf(" May be a literal or a number.\n"); #endif return AXIS2_FALSE; } else if (context->node) { /* Test if the node matches */ type = axiom_node_get_node_type(context->node, context->env); if (type == AXIOM_ELEMENT) { element = axiom_node_get_data_element( context->node, context->env); name = axiom_element_get_localname( element, context->env); ns = axiom_element_get_namespace( element, context->env, context->node); } if (node_test->type == AXIOM_XPATH_NODE_TEST_NONE) { return AXIS2_FALSE; } else { if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL || node_test->type == AXIOM_XPATH_NODE_TEST_STANDARD) { if (type != AXIOM_ELEMENT) { return AXIS2_FALSE; } /* Check namespace */ if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL) { if (!ns && node_test->prefix) { return AXIS2_FALSE; } } else { if ((ns && !node_test->prefix) || (!ns && node_test->prefix)) { return AXIS2_FALSE; } } if (ns && node_test->prefix) { xpath_ns = axiom_xpath_get_namespace(context, node_test->prefix); if (!xpath_ns) { return AXIS2_FALSE; } if (axutil_strcmp( axiom_namespace_get_uri(ns, context->env), axiom_namespace_get_uri(xpath_ns, context->env))) { return AXIS2_FALSE; } } /* Check local name */ if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL) { return AXIS2_TRUE; } else if (node_test->type == AXIOM_XPATH_NODE_TEST_STANDARD) { if (name && axutil_strcmp(node_test->name, name) == 0) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } } else if (node_test->type == AXIOM_XPATH_NODE_TYPE_COMMENT) { if (type == AXIOM_COMMENT) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } else if (node_test->type == AXIOM_XPATH_NODE_TYPE_PI) { if (type == AXIOM_PROCESSING_INSTRUCTION) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } else if (node_test->type == AXIOM_XPATH_NODE_TYPE_NODE) { if (type == AXIOM_ELEMENT) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } else if (node_test->type == AXIOM_XPATH_NODE_TYPE_TEXT) { if (type == AXIOM_TEXT) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } } } /* Attributes */ else if (context->attribute) { name = axiom_attribute_get_localname(context->attribute, context->env); ns = axiom_attribute_get_namespace(context->attribute, context->env); if (node_test->type == AXIOM_XPATH_NODE_TEST_NONE) { return AXIS2_FALSE; } else { /* Check namespace */ if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL) { if (!ns && node_test->prefix) { return AXIS2_FALSE; } } else { if ((ns && !node_test->prefix) || (!ns && node_test->prefix)) { return AXIS2_FALSE; } } if (ns && node_test->prefix) { xpath_ns = axiom_xpath_get_namespace(context, node_test->prefix); if (!xpath_ns) { return AXIS2_FALSE; } if (axutil_strcmp(axiom_namespace_get_uri(ns, context->env), axiom_namespace_get_uri(xpath_ns, context->env))) { return AXIS2_FALSE; } } /* Check local name */ if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL) { return AXIS2_TRUE; } else if (node_test->type == AXIOM_XPATH_NODE_TEST_STANDARD) { if (name && axutil_strcmp(node_test->name, name) == 0) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } } } /* Namespace */ else if (context->ns) { /* Prefix is checked ??? If changed to uri the cast method in xpath.c needs to be changed as well */ name = axiom_namespace_get_prefix(context->ns, context->env); ns = NULL; if (node_test->type == AXIOM_XPATH_NODE_TEST_NONE) { return AXIS2_FALSE; } else { /* Check namespace */ if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL) { if (!ns && node_test->prefix) { return AXIS2_FALSE; } } else { if ((ns && !node_test->prefix) || (!ns && node_test->prefix)) { return AXIS2_FALSE; } } if (ns && node_test->prefix) { xpath_ns = axiom_xpath_get_namespace(context, node_test->prefix); if (!xpath_ns) { return AXIS2_FALSE; } if (axutil_strcmp(axiom_namespace_get_uri(ns, context->env), axiom_namespace_get_uri(xpath_ns, context->env))) { return AXIS2_FALSE; } } /* Check local name */ if (node_test->type == AXIOM_XPATH_NODE_TEST_ALL) { return AXIS2_TRUE; } else if (node_test->type == AXIOM_XPATH_NODE_TEST_STANDARD) { if (name && axutil_strcmp(node_test->name, name) == 0) { return AXIS2_TRUE; } else { return AXIS2_FALSE; } } } } return AXIS2_FALSE; } int axiom_xpath_function_call_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_function_t func = axiom_xpath_get_function(context, op->par1); int n_args = 0; if (!func) { #ifdef AXIOM_XPATH_DEBUG printf("Function %s not found\n", (char *)op->par1); #endif return AXIOM_XPATH_EVALUATION_ERROR; } if (op->op1 != AXIOM_XPATH_PARSE_END) { n_args = axiom_xpath_evaluate_operation(context, op->op1); } return func(context, n_args); } int axiom_xpath_argument_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { int n_args = 0; if (op->op1 != AXIOM_XPATH_PARSE_END) { n_args += axiom_xpath_evaluate_operation(context, op->op1); } if (op->op2 != AXIOM_XPATH_PARSE_END) { n_args += axiom_xpath_evaluate_operation(context, op->op1); } return n_args; } /* Collect the current node to the results list */ int axiom_xpath_collect_operator( axiom_xpath_context_t *context, axiom_xpath_operation_t * op) { axiom_xpath_result_node_t *node; node = AXIS2_MALLOC(context->env->allocator, sizeof(axiom_xpath_result_node_t)); if (context->node) { node->value = context->node; node->type = AXIOM_XPATH_TYPE_NODE; } else if (context->attribute) { node->value = context->attribute; node->type = AXIOM_XPATH_TYPE_ATTRIBUTE; } else if (context->ns) { node->value = context->ns; node->type = AXIOM_XPATH_TYPE_NAMESPACE; } axutil_stack_push(context->stack, context->env, node); return 1; } /* Returns a pointer to the respective processing function */ axiom_xpath_operator_t axiom_xpath_get_operator(axiom_xpath_operation_t * op) { switch (op->opr) { case AXIOM_XPATH_OPERATION_STEP: return axiom_xpath_step_operator; case AXIOM_XPATH_OPERATION_ROOT_NODE: case AXIOM_XPATH_OPERATION_CONTEXT_NODE: return axiom_xpath_start_node_operator; case AXIOM_XPATH_OPERATION_RESULT: return axiom_xpath_collect_operator; case AXIOM_XPATH_OPERATION_UNION: return axiom_xpath_union_operator; case AXIOM_XPATH_OPERATION_OR_EXPR: return axiom_xpath_orexpr_operator; case AXIOM_XPATH_OPERATION_AND_EXPR: return axiom_xpath_andexpr_operator; case AXIOM_XPATH_OPERATION_EQUAL_EXPR: return axiom_xpath_equalexpr_operator; case AXIOM_XPATH_OPERATION_LITERAL: return axiom_xpath_literal_operator; case AXIOM_XPATH_OPERATION_NUMBER: return axiom_xpath_number_operator; case AXIOM_XPATH_OPERATION_PATH_EXPRESSION: return axiom_xpath_path_expression_operator; case AXIOM_XPATH_OPERATION_FUNCTION_CALL: return axiom_xpath_function_call_operator; case AXIOM_XPATH_OPERATION_ARGUMENT: return axiom_xpath_argument_operator; default: #ifdef AXIOM_XPATH_DEBUG printf("Unidentified operation.\n"); #endif return NULL; } } /* Returns a pointer to the respective processing function */ axiom_xpath_iterator_t axiom_xpath_get_iterator(axiom_xpath_axis_t axis) { switch (axis) { case AXIOM_XPATH_AXIS_CHILD: return axiom_xpath_child_iterator; case AXIOM_XPATH_AXIS_DESCENDANT: return axiom_xpath_descendant_iterator; case AXIOM_XPATH_AXIS_PARENT: return axiom_xpath_parent_iterator; case AXIOM_XPATH_AXIS_ANCESTOR: return axiom_xpath_ancestor_iterator; case AXIOM_XPATH_AXIS_FOLLOWING_SIBLING: return axiom_xpath_following_sibling_iterator; case AXIOM_XPATH_AXIS_PRECEDING_SIBLING: return axiom_xpath_preceding_sibling_iterator; case AXIOM_XPATH_AXIS_FOLLOWING: return axiom_xpath_following_iterator; case AXIOM_XPATH_AXIS_PRECEDING: return axiom_xpath_preceding_iterator; case AXIOM_XPATH_AXIS_ATTRIBUTE: return axiom_xpath_attribute_iterator; case AXIOM_XPATH_AXIS_NAMESPACE: return axiom_xpath_namespace_iterator; case AXIOM_XPATH_AXIS_SELF: return axiom_xpath_self_iterator; case AXIOM_XPATH_AXIS_DESCENDANT_OR_SELF: return axiom_xpath_descendant_self_iterator; case AXIOM_XPATH_AXIS_ANCESTOR_OR_SELF: return axiom_xpath_ancestor_self_iterator; default: #ifdef AXIOM_XPATH_DEBUG printf("Unidentified axis.\n"); #endif return NULL; } } int axiom_xpath_evaluate_operation(axiom_xpath_context_t *context, int op) { axiom_xpath_operation_t * operation; axiom_xpath_operator_t function; /* Get a pointer to the operation */ operation = AXIOM_XPATH_OPR_GET(op); /* Get the funciton which processes the operations */ function = axiom_xpath_get_operator(operation); return function(context, operation); } axis2c-src-1.6.0/axiom/src/xpath/xpath_internals_engine.h0000755000175000017500000002063311171531736024601 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_INTERNALS_ENGINE_H #define AXIOM_XPATH_INTERNALS_ENGINE_H #include "xpath_internals.h" #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_engine engine * @ingroup axiom_xpath * @{ */ /* Macros */ /** Set node->value to _value */ #define AXIOM_XPATH_CAST_SET_VALUE(_type, _value) { \ _type * _var; \ if(node->value \ && node->type != AXIOM_XPATH_TYPE_NODE \ && node->type != AXIOM_XPATH_TYPE_ATTRIBUTE \ && node->type != AXIOM_XPATH_TYPE_NAMESPACE) \ { AXIS2_FREE(context->env->allocator, node->value); } \ _var = AXIS2_MALLOC(context->env->allocator, sizeof(_type)); \ *_var = _value; \ node->value = (void *) _var; \ } /* Functions */ /** * Evaluate an XPath context, which containes a parsed expression * * @param context XPath context * @return Result set */ axiom_xpath_result_t* axiom_xpath_run(axiom_xpath_context_t *context); /** * Finds the operator function for a given operation * * @param op Operation * @return Pointer to the function which process the given operation */ axiom_xpath_operator_t axiom_xpath_get_operator(axiom_xpath_operation_t * op); /** * Get the iterotor for give axis * * @param axis XPath axis * @return Pointer to the function which iterater through the given axis */ axiom_xpath_iterator_t axiom_xpath_get_iterator(axiom_xpath_axis_t axis); /* Operators */ /** * Select the start node depending on whether it is an absolute or relative location path * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack */ int axiom_xpath_start_node_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Add the context node or attribute to the results stack * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack */ int axiom_xpath_collect_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Process union operator * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack */ int axiom_xpath_union_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Perform or operation * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_orexpr_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Perform and operation * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_andexpr_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Perform equality test operation * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_equalexpr_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Evaluate function call operation * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_function_call_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Evaluate argument operation * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_argument_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Process a path expression * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack */ int axiom_xpath_path_expression_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Process a number; push the value to the stack * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_number_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Process a literal; push the string to the stack * * @param context XPath context * @param op XPath operation * @return Number of nodes added to the stack; which is one */ int axiom_xpath_literal_operator(axiom_xpath_context_t *context, axiom_xpath_operation_t * op); /** * Converts an XPath result to a boolean result * * @param node Result * @param context XPath context */ void axiom_xpath_cast_boolean(axiom_xpath_result_node_t *node, axiom_xpath_context_t *context); /** * Converts an XPath result to a number * * @param node Result * @param context XPath context */ void axiom_xpath_cast_number(axiom_xpath_result_node_t *node, axiom_xpath_context_t *context); /** * Converts an XPath result to a string * * @param node Result * @param context XPath context */ void axiom_xpath_cast_string(axiom_xpath_result_node_t *node, axiom_xpath_context_t *context); /* Convert a node set to boolean */ /** * Convert a XPath node set to boolean * * @param node_set Node set * @return AXIS2_TRUE if true; AXIS2_FALSE otherwise */ axis2_bool_t axiom_xpath_convert_to_boolean(axutil_array_list_t *node_set, axiom_xpath_context_t *context); /** * Test if two result nodes are equal * * @param node1 First node * @param node2 Second node * @param context XPath context * @return AXIS2_TRUE if equal; AXIS2_FALSE otherwise */ axis2_bool_t axiom_xpath_compare_equal(axiom_xpath_result_node_t *node1, axiom_xpath_result_node_t *node2, axiom_xpath_context_t *context); /** * Test if the axiom node matches node test * * @param context XPath context * @param node_test Node test * @return AXIS2_TRUE if matches; AXIS2_FALSE otherwise */ axis2_bool_t axiom_xpath_node_test_match(axiom_xpath_context_t *context, axiom_xpath_node_test_t *node_test); /** * Evaluate if the predicate is true * * @param context XPath context * @param n_nodes Number of results after evaluating the expression in the predicate * @return AXIS2_TRUE if matches; AXIS2_FALSE otherwise */ axis2_bool_t axiom_xpath_evaluate_predicate_condition(axiom_xpath_context_t *context, int n_nodes); /** * Evaluate if the predicate(s) is true using axiom_xpath_evaluate_predicate_condition and executes the operation op_next * * @param context XPath context * @param op_next The operation to be executed if all predicates are true * @param op_predicate Reference to predicate * @return Number of nodes added to the stack */ int axiom_xpath_evaluate_predicate(axiom_xpath_context_t *context, int op_next, int op_predicate); /** * Evaluate operation pointed by op * * @param context XPath context * @param op The index of the operation in the operations list * @return Number of nodes added to the stack */ int axiom_xpath_evaluate_operation(axiom_xpath_context_t *context, int op); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/src/attachments/0000777000175000017500000000000011172017534021060 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/attachments/mime_part.c0000644000175000017500000004415411166304634023210 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "axiom_mime_body_part.h" #include #include #include static axis2_status_t axiom_mime_part_write_body_part_to_list( const axutil_env_t *env, axutil_array_list_t *list, axiom_mime_body_part_t *part, axis2_char_t *boundary); static axis2_status_t axiom_mime_part_write_mime_boundary( const axutil_env_t *env, axutil_array_list_t *list, axis2_char_t *boundary); static axis2_status_t axiom_mime_part_finish_adding_parts( const axutil_env_t *env, axutil_array_list_t *list, axis2_char_t *boundary); /* This method will create a mime_part * A mime part will encapsulate a buffer * a file or a callback to load the attachment which needs to be send */ AXIS2_EXTERN axiom_mime_part_t *AXIS2_CALL axiom_mime_part_create( const axutil_env_t *env) { axiom_mime_part_t *mime_part = NULL; mime_part = AXIS2_MALLOC(env->allocator, sizeof(axiom_mime_part_t)); if(mime_part) { mime_part->part = NULL; mime_part->file_name = NULL; mime_part->part_size = 0; mime_part->type = AXIOM_MIME_PART_UNKNOWN; mime_part->user_param = NULL; return mime_part; } else { return NULL; } } /* Frees the mime_part */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_part_free( axiom_mime_part_t *mime_part, const axutil_env_t *env) { if (mime_part) { if(mime_part->type == AXIOM_MIME_PART_BUFFER) { if(mime_part->part) { AXIS2_FREE(env->allocator, mime_part->part); mime_part->part = NULL; } } else if(mime_part->type == AXIOM_MIME_PART_FILE) { if(mime_part->file_name) { AXIS2_FREE(env->allocator, mime_part->file_name); mime_part->file_name = NULL; } } AXIS2_FREE(env->allocator, mime_part); mime_part = NULL; } return; } /* This method will create a mime_boundary buffer * and based on the buffer creates a mime_part. * This will be added to the array_list so later in the trasnport * this can be put to the wire. */ static axis2_status_t axiom_mime_part_write_mime_boundary( const axutil_env_t *env, axutil_array_list_t *list, axis2_char_t *boundary) { axis2_byte_t *byte_buffer = NULL; axis2_byte_t *byte_stream = NULL; int size = 0; axiom_mime_part_t *boundary_part = NULL; boundary_part = axiom_mime_part_create(env); byte_buffer = (axis2_byte_t *)boundary; size = axutil_strlen(boundary); byte_stream = AXIS2_MALLOC(env->allocator, (size + 2) * sizeof(axis2_byte_t)); if (!byte_stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create byte stream"); return AXIS2_FAILURE; } /* Mime boundary is always in the following form --MimeBoundary */ byte_stream[0] = AXIOM_MIME_BOUNDARY_BYTE; byte_stream[1] = AXIOM_MIME_BOUNDARY_BYTE; memcpy(byte_stream + 2, byte_buffer, size); boundary_part->part = byte_stream; boundary_part->part_size = size + 2; boundary_part->type = AXIOM_MIME_PART_BUFFER; axutil_array_list_add(list, env, boundary_part); return AXIS2_SUCCESS; } /* This method will add the attachment file related information to the list. It will create a mime_part from those information and add to the list. If there are not data_handlers in the mime_body then this method just add the headers. */ static axis2_status_t axiom_mime_part_write_body_part_to_list( const axutil_env_t *env, axutil_array_list_t *list, axiom_mime_body_part_t *part, axis2_char_t *boundary) { axiom_mime_part_t *crlf1 = NULL; axiom_mime_part_t *crlf2 = NULL; axis2_status_t status = AXIS2_SUCCESS; /* We are adding accoarding to the following format here. * --MimeBoundary * mime_header1 * mime_header2 * mime_header3 */ status = axiom_mime_part_write_mime_boundary( env, list, boundary); if(status != AXIS2_SUCCESS) { return status; } /* Then we will add the new line charator after * the mime_boundary */ crlf1 = axiom_mime_part_create(env); crlf1->part = (axis2_byte_t *)axutil_strdup(env, AXIS2_CRLF); crlf1->part_size = 2; crlf1->type = AXIOM_MIME_PART_BUFFER; axutil_array_list_add(list, env, crlf1); /*This method will fill the list with mime_headers and *if there is an attachment with attachment details*/ axiom_mime_body_part_write_to_list(part, env, list); /* Then add the next \r\n after the attachment */ crlf2 = axiom_mime_part_create(env); crlf2->part = (axis2_byte_t *)axutil_strdup(env, AXIS2_CRLF); crlf2->part_size = 2; crlf2->type = AXIOM_MIME_PART_BUFFER; axutil_array_list_add(list, env, crlf2); return AXIS2_SUCCESS; } /* This methos will add the final mime_boundary * It is in --MimeBoundary-- format */ static axis2_status_t axiom_mime_part_finish_adding_parts( const axutil_env_t *env, axutil_array_list_t *list, axis2_char_t *boundary) { axis2_byte_t *byte_buffer = NULL; axis2_byte_t *byte_stream = NULL; int size = 0; axiom_mime_part_t *final_part = NULL; size = axutil_strlen(boundary); byte_buffer = (axis2_byte_t *)boundary; /* There is -- before and after so the length of the * actual part is mime_boundary_len + 4 */ byte_stream = AXIS2_MALLOC(env->allocator, (size + 4) * sizeof(axis2_byte_t)); if (!byte_stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create byte stream"); return AXIS2_FAILURE; } /* Adding the starting -- */ byte_stream[0] = AXIOM_MIME_BOUNDARY_BYTE; byte_stream[1] = AXIOM_MIME_BOUNDARY_BYTE; if (byte_buffer) { memcpy(byte_stream + 2, byte_buffer, size); } else { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Byte buffer not available for writing"); } /* Adding the final -- */ byte_stream[size + 2] = AXIOM_MIME_BOUNDARY_BYTE; byte_stream[size + 3] = AXIOM_MIME_BOUNDARY_BYTE; /* Now we add this as an mime_part to * the list. */ final_part = axiom_mime_part_create(env); if(!final_part) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create final_part"); return AXIS2_FAILURE; } final_part->part = byte_stream; final_part->part_size = size + 4; final_part->type = AXIOM_MIME_PART_BUFFER; axutil_array_list_add(list, env, final_part); return AXIS2_SUCCESS; } /* This is the method which creates the content-type string which is in the HTTP header or in mime_headers*/ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_mime_part_get_content_type_for_mime( const axutil_env_t *env, axis2_char_t *boundary, axis2_char_t *content_id, axis2_char_t *char_set_encoding, const axis2_char_t *soap_content_type) { axis2_char_t *content_type_string = NULL; axis2_char_t *temp_content_type_string = NULL; content_type_string = axutil_strdup(env, AXIOM_MIME_TYPE_MULTIPART_RELATED); if (!content_type_string) { AXIS2_LOG_WARNING(env->log, AXIS2_LOG_SI, "Creation of Content-Type string failed"); return NULL; } temp_content_type_string = axutil_stracat(env, content_type_string, "; "); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; if (boundary) { temp_content_type_string = axutil_stracat(env, content_type_string, AXIOM_MIME_HEADER_FIELD_BOUNDARY "="); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, boundary); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, "; "); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; } temp_content_type_string = axutil_stracat(env, content_type_string, AXIOM_MIME_HEADER_FIELD_TYPE "=\"" AXIOM_MIME_TYPE_XOP_XML "\""); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, "; "); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; if (content_id) { temp_content_type_string = axutil_stracat(env, content_type_string, AXIOM_MIME_HEADER_FIELD_START "=\"<"); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, content_id); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, ">\""); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, "; "); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; } if (soap_content_type) { temp_content_type_string = axutil_stracat(env, content_type_string, AXIOM_MIME_HEADER_FIELD_START_INFO "=\""); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, soap_content_type); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, "\"; "); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; } if (char_set_encoding) { temp_content_type_string = axutil_stracat(env, content_type_string, AXIOM_MIME_HEADER_FIELD_CHARSET "=\""); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, char_set_encoding); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; temp_content_type_string = axutil_stracat(env, content_type_string, "\""); AXIS2_FREE(env->allocator, content_type_string); content_type_string = temp_content_type_string; } return content_type_string; } /* This method is the core of attachment sending * part. It will build each and every part and put them in * an array_list. Instead of a big buffer we pass the array_list * with small buffers and attachment locations. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_mime_part_create_part_list( const axutil_env_t *env, axis2_char_t *soap_body, axutil_array_list_t *binary_node_list, axis2_char_t *boundary, axis2_char_t *content_id, axis2_char_t *char_set_encoding, const axis2_char_t *soap_content_type) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *header_value = NULL; axis2_char_t *temp_header_value = NULL; axis2_char_t *content_id_string = NULL; axis2_char_t *temp_content_id_string = NULL; axiom_mime_body_part_t *root_mime_body_part = NULL; axis2_char_t *soap_body_buffer = NULL; axutil_array_list_t *part_list = NULL; axiom_mime_part_t *soap_part = NULL; part_list = axutil_array_list_create(env, 0); if(!part_list) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create part list array"); return NULL; } /* This mime_body part just keeps the mime_headers of the * SOAP part. Since it is not created from an axiom_text * this will not contain an attachment*/ root_mime_body_part = axiom_mime_body_part_create(env); if (!root_mime_body_part) { return NULL; } /* In order to understand the following code which creates * mime_headers go through the code with a sample mtom message */ /* Adding Content-Type Header */ header_value = axutil_strdup(env, AXIOM_MIME_TYPE_XOP_XML ";" AXIOM_MIME_HEADER_FIELD_CHARSET "="); temp_header_value = axutil_stracat(env, header_value, char_set_encoding); AXIS2_FREE(env->allocator, header_value); header_value = temp_header_value; temp_header_value = axutil_stracat(env, header_value, ";" AXIOM_MIME_HEADER_FIELD_TYPE "=\""); AXIS2_FREE(env->allocator, header_value); header_value = temp_header_value; temp_header_value = axutil_stracat(env, header_value, soap_content_type); AXIS2_FREE(env->allocator, header_value); header_value = temp_header_value; temp_header_value = axutil_stracat(env, header_value, "\";"); AXIS2_FREE(env->allocator, header_value); header_value = temp_header_value; AXIOM_MIME_BODY_PART_ADD_HEADER(root_mime_body_part, env, AXIOM_MIME_HEADER_CONTENT_TYPE, header_value); /* Adding Content Transfer Encoding header */ AXIOM_MIME_BODY_PART_ADD_HEADER(root_mime_body_part, env, AXIOM_MIME_HEADER_CONTENT_TRANSFER_ENCODING, axutil_strdup(env, AXIOM_MIME_CONTENT_TRANSFER_ENCODING_BINARY)); /* Adding Content ID header */ content_id_string = (axis2_char_t *) "<"; content_id_string = axutil_stracat(env, content_id_string, content_id); temp_content_id_string = axutil_stracat(env, content_id_string, ">"); AXIS2_FREE(env->allocator, content_id_string); content_id_string = temp_content_id_string; AXIOM_MIME_BODY_PART_ADD_HEADER(root_mime_body_part, env, AXIOM_MIME_HEADER_CONTENT_ID, content_id_string); /* Now first insert the headers needed for SOAP */ /* After calling this method we have mime_headers of the SOAP envelope * as a mime_part in the array_list */ status = axiom_mime_part_write_body_part_to_list(env, part_list, root_mime_body_part, boundary); if(status == AXIS2_FAILURE) { return NULL; } /* Now add the SOAP body */ AXIOM_MIME_BODY_PART_FREE(root_mime_body_part, env); root_mime_body_part = NULL; soap_part = axiom_mime_part_create(env); if(!soap_part) { return NULL; } /* The atachment's mime_boundary will start after a new line charator */ soap_body_buffer = axutil_stracat(env, soap_body, AXIS2_CRLF); soap_part->part = (axis2_byte_t *)soap_body_buffer; soap_part->part_size = (int) axutil_strlen(soap_body_buffer); soap_part->type = AXIOM_MIME_PART_BUFFER; axutil_array_list_add(part_list, env, soap_part); /* Now we need to add each binary attachment to the array_list */ if (binary_node_list) { int j = 0; for (j = 0; j < axutil_array_list_size(binary_node_list, env); j++) { /* Getting each attachment text node from the node list */ axiom_text_t *text = (axiom_text_t *) axutil_array_list_get(binary_node_list, env, j); if (text) { axiom_mime_body_part_t *mime_body_part = NULL; mime_body_part = axiom_mime_body_part_create_from_om_text(env, text); /* Let's fill the mime_part arraylist with attachment data*/ if(!mime_body_part) { return NULL; } /* This call will create mime_headers for the attachment and put * them to the array_list. Then put the attachment file_name to the * list */ status = axiom_mime_part_write_body_part_to_list(env, part_list, mime_body_part, boundary); if(status == AXIS2_FAILURE) { return NULL; } AXIOM_MIME_BODY_PART_FREE(mime_body_part, env); mime_body_part = NULL; } } } /* Now we have the SOAP message, all the attachments and headers are added to the list. * So let's add the final mime_boundary with -- at the end */ status = axiom_mime_part_finish_adding_parts(env, part_list, boundary); if(status == AXIS2_FAILURE) { return NULL; } return part_list; } axis2c-src-1.6.0/axiom/src/attachments/mime_parser.c0000644000175000017500000021511011166304634023526 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include struct axiom_mime_parser { /* This will keep the attachment and its info*/ axutil_hash_t *mime_parts_map; /* This is the actual SOAP part len */ int soap_body_len; /* The SOAP part of the message */ axis2_char_t *soap_body_str; /* The size of the buffer we give to the callback to * read data */ int buffer_size; /* The number of buffers */ int max_buffers; /* The attachment dir name, in the case of caching */ axis2_char_t *attachment_dir; /*A pointer to the caching callback */ axiom_mtom_caching_callback_t *mtom_caching_callback; /* The caching callback name specified */ axis2_char_t *callback_name; axis2_char_t **buf_array; int *len_array; int current_buf_num; axis2_bool_t end_of_mime; axis2_char_t *mime_boundary; }; struct axiom_search_info { /*String need to be searched*/ const axis2_char_t *search_str; /*The buffers and the lengths need to be searched*/ axis2_char_t *buffer1; int len1; axis2_char_t *buffer2; int len2; /*Flag to keep what type of search is this buffer has done*/ axis2_bool_t primary_search; /*The offset where we found the pattern entirely in one buffer*/ int match_len1; /*when pattern contains in two buffers the length of partial pattern in buffer2 */ int match_len2; /*Whether we need caching or not*/ axis2_bool_t cached; /*A pointer to a user provided storage to which we cache the attachment*/ void *handler; /* Size of the binary when writing to the buffer*/ int binary_size; }; typedef struct axiom_search_info axiom_search_info_t; #define AXIOM_MIME_PARSER_CONTENT_ID "content-id" #define AXIOM_MIME_PARSER_CONTENT_TYPE "content-type" #define AXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNT 100 static axis2_char_t *axiom_mime_parser_search_for_soap( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, int *buf_num, int *len_array, axis2_char_t **buf_array, axiom_search_info_t *search_info, int size, axis2_char_t *mime_boundary, axiom_mime_parser_t *mime_parser); static axis2_char_t *axiom_mime_parser_search_for_crlf( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, int *buf_num, int *len_array, axis2_char_t **buf_array, axiom_search_info_t *search_info, int size, axiom_mime_parser_t *mime_parser); static int axiom_mime_parser_calculate_part_len( const axutil_env_t *env, int buf_num, int *len_list, int maker, axis2_char_t *pos, axis2_char_t *buf ); static axis2_char_t * axiom_mime_parser_create_part ( const axutil_env_t *env, int part_len, int buf_num, int *len_list, int marker, axis2_char_t *pos, axis2_char_t **buf_list, axiom_mime_parser_t *mime_parser); static axis2_char_t *axiom_mime_parser_search_string( axiom_search_info_t *search_info, const axutil_env_t *env); static axis2_char_t *axiom_mime_parser_search_for_attachment( axiom_mime_parser_t *mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, int *buf_num, int *len_array, axis2_char_t **buf_array, axiom_search_info_t *search_info, int size, axis2_char_t *mime_boundary, axis2_char_t *mime_id, void *user_param); static axis2_status_t axiom_mime_parser_store_attachment( const axutil_env_t *env, axiom_mime_parser_t *mime_parser, axis2_char_t *mime_id, axis2_char_t *mime_type, axis2_char_t *mime_binary, int mime_binary_len, axis2_bool_t cached); static void axiom_mime_parser_clear_buffers( const axutil_env_t *env, axis2_char_t **buf_list, int free_from, int free_to); static axis2_status_t axiom_mime_parser_cache_to_buffer( const axutil_env_t *env, axis2_char_t *buf, int buf_len, axiom_search_info_t *search_info, axiom_mime_parser_t *mime_parser); static axis2_bool_t axiom_mime_parser_is_more_data( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_callback_info_t *callback_info); static axis2_char_t * axiom_mime_parser_process_mime_headers( const axutil_env_t *env, axiom_mime_parser_t *mime_parser, axis2_char_t **mime_id, axis2_char_t *mime_headers); static axis2_status_t axiom_mime_parser_cache_to_file( const axutil_env_t* env, axis2_char_t *buf, int buf_len, void *handler); static void* axiom_mime_parser_initiate_callback( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *mime_id, void *user_param); AXIS2_EXTERN axiom_mime_parser_t *AXIS2_CALL axiom_mime_parser_create( const axutil_env_t * env) { axiom_mime_parser_t *mime_parser = NULL; AXIS2_ENV_CHECK(env, NULL); mime_parser = (axiom_mime_parser_t *) AXIS2_MALLOC(env->allocator, sizeof (axiom_mime_parser_t)); if (!mime_parser) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } mime_parser->mime_parts_map = NULL; mime_parser->soap_body_len = 0; mime_parser->soap_body_str = NULL; /* shallow copy */ mime_parser->buffer_size = 1; mime_parser->max_buffers = AXIOM_MIME_PARSER_MAX_BUFFERS; mime_parser->attachment_dir = NULL; mime_parser->mtom_caching_callback = NULL; mime_parser->callback_name = NULL; mime_parser->buf_array = NULL; mime_parser->len_array = NULL; mime_parser->current_buf_num = 0; mime_parser->end_of_mime = AXIS2_FALSE; mime_parser->mime_boundary = NULL; mime_parser->mime_parts_map = axutil_hash_make(env); if (!(mime_parser->mime_parts_map)) { axiom_mime_parser_free(mime_parser, env); return NULL; } return mime_parser; } AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_free( axiom_mime_parser_t * mime_parser, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); /* The map is passed on to SOAP builder, and SOAP builder take over the ownership of the map */ /* We will unload the callback at the end */ if(mime_parser->mtom_caching_callback) { axutil_param_t *param = NULL; param = mime_parser->mtom_caching_callback->param; AXIOM_MTOM_CACHING_CALLBACK_FREE(mime_parser->mtom_caching_callback, env); mime_parser->mtom_caching_callback = NULL; if(param) { axutil_param_free(param, env); param = NULL; } } if(mime_parser->buf_array) { AXIS2_FREE(env->allocator, mime_parser->buf_array); mime_parser->buf_array = NULL; } if(mime_parser->len_array) { AXIS2_FREE(env->allocator, mime_parser->len_array); mime_parser->len_array = NULL; } if (mime_parser) { AXIS2_FREE(env->allocator, mime_parser); } return; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_parser_parse_for_soap( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t * mime_boundary) { int size = 0; axis2_char_t *soap_str = NULL; int soap_len = 0; int temp_mime_boundary_size = 0; axis2_char_t *temp_mime_boundary = NULL; axis2_char_t **buf_array = NULL; int *len_array = NULL; int buf_num = 0; axis2_char_t *pos = NULL; axiom_search_info_t *search_info = NULL; int part_start = 0; axis2_bool_t end_of_mime = AXIS2_FALSE; int len = 0; axis2_char_t *buffer = NULL; int malloc_len = 0; axis2_callback_info_t *callback_info = NULL; callback_info = (axis2_callback_info_t *)callback_ctx; /* The user will specify the mime_parser->buffer_size */ size = AXIOM_MIME_PARSER_BUFFER_SIZE * (mime_parser->buffer_size); /*An array to keep the set of buffers*/ buf_array = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t *) * (mime_parser->max_buffers)); if (!buf_array) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Failed in creating buffer array"); return AXIS2_FAILURE; } /*Keeps the corresponding lengths of buffers in buf_array*/ len_array = AXIS2_MALLOC(env->allocator, sizeof(int) * (mime_parser->max_buffers)); if (!len_array) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Failed in creating length array"); return AXIS2_FAILURE; } mime_parser->buf_array = buf_array; mime_parser->len_array = len_array; temp_mime_boundary = axutil_stracat(env, "--", mime_boundary); temp_mime_boundary_size = strlen(mime_boundary) + 2; /*This struct keeps the pre-post search informations*/ search_info = AXIS2_MALLOC(env->allocator, sizeof(axiom_search_info_t)); /* The first buffer is created */ buf_array[buf_num] = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (size + 1)); /* The buffer is filled from the callback */ if(buf_array[buf_num]) { len = callback(buf_array[buf_num], size, (void *) callback_ctx); } if(len > 0) { len_array[buf_num] = len; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error reading from the stream"); return AXIS2_FAILURE; } /*starting buffer for the current search*/ part_start = buf_num; /*We are passing the address of the buf_num , beacause that value is changing inside the method.*/ /* Following call to the method will search first \r\n\r\n */ pos = axiom_mime_parser_search_for_crlf(env, callback, callback_ctx, &buf_num, len_array, buf_array, search_info, size, mime_parser); if(!pos) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in the message."); return AXIS2_FAILURE; } /* The patteren contains in one buffer */ if((search_info->match_len2 == 0)) { /*Readjusting the buffers for the next search and discarding the prevoius buffers*/ /* We need the remaining part in the buffer after the \r\n\r\n*/ malloc_len = buf_array[buf_num] + len_array[buf_num] - pos - 4; if(malloc_len < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing."); return AXIS2_FAILURE; } else { /* Here we will create a new buffer of predefined size fill the * first portion from the remaining part after previous search * and then fill the remaining from the callback */ buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); if(malloc_len > 0) { memcpy(buffer, pos + 4, malloc_len); } /* Here we need to check for more data, because if the message is too small * comapred to the reading size there may be no data in the stream , instead * all the remaining data may be in the buffer.And if there are no more data * we will set the len to be 0. Otherwise len_array will contain wrong lenghts. */ if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { /* There is more data so fill the remaining from the stream*/ len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } /* We do not need the data in the previous buffers once we found a particular * string and after worked with those buffers */ axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); /* Adding the new buffer to the buffer list */ if(len >= 0) { buf_array[buf_num] = buffer; len_array[buf_num] = malloc_len + len; } } } /*The pattern divides among two buffers*/ else if(search_info->match_len2 > 0) { malloc_len = len_array[buf_num] - search_info->match_len2; if(malloc_len < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing."); return AXIS2_FAILURE; } else { buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); /* Here the buf_num is the second buffer. We will copy the remaining data * after the partial string in the second buffer */ if(malloc_len > 0) { memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len); } if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); if(len >= 0) { buf_array[buf_num] = buffer; len_array[buf_num] = malloc_len + len; } } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing."); return AXIS2_FAILURE; } /*Resetting the previous search data and getting ready for the next search */ part_start = buf_num; pos = NULL; malloc_len = 0; search_info->match_len1 = 0; search_info->match_len2 = 0; /*In order to extract the soap envelope we need to search for the first --MIMEBOUNDARY */ pos = axiom_mime_parser_search_for_soap(env, callback, callback_ctx, &buf_num, len_array, buf_array, search_info, size, temp_mime_boundary, mime_parser); if(!pos) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error while searching for the SOAP part "); return AXIS2_FAILURE; } if(search_info->match_len2 == 0) { /*Calculating the length of the SOAP str*/ soap_len = axiom_mime_parser_calculate_part_len ( env, buf_num, len_array, part_start, pos, buf_array[buf_num]); if(soap_len > 0) { /* Get the SOAP string from the starting and end buffers containing * the SOAP part */ soap_str = axiom_mime_parser_create_part( env, soap_len, buf_num, len_array, part_start, pos, buf_array, mime_parser); if(!soap_str) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error while creating the SOAP part from the message "); return AXIS2_FAILURE; } malloc_len = len_array[buf_num] - search_info->match_len1 - temp_mime_boundary_size; if(malloc_len < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing for mime."); return AXIS2_FAILURE; } else { /* This will fill the new buffer with remaining data after the * SOAP */ buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); memset(buffer, 0, size + 1); if(malloc_len > 0) { memcpy(buffer, pos + temp_mime_boundary_size, malloc_len); } if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); if(len >= 0) { buf_array[buf_num] = buffer; len_array[buf_num] = malloc_len + len; } } } else { return AXIS2_FAILURE; } } /* This is the condition where the --MIMEBOUNDARY is devided among two * buffers */ else if(search_info->match_len2 > 0) { soap_len = axiom_mime_parser_calculate_part_len ( env, buf_num - 1, len_array, part_start, pos, buf_array[buf_num - 1]); if(soap_len > 0) { /* Here we pass buf_num-1 becasue buf_num does not have any thing we want to * for this particular part. It begins with the latter part of the search string */ soap_str = axiom_mime_parser_create_part( env, soap_len, buf_num - 1, len_array, part_start, pos, buf_array, mime_parser); if(!soap_str) { return AXIS2_FAILURE; } malloc_len = len_array[buf_num] - search_info->match_len2; if(malloc_len < 0) { return AXIS2_FAILURE; } else { buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); if(malloc_len > 0) { memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len); } if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); if(len >= 0) { buf_array[buf_num] = buffer; len_array[buf_num] = malloc_len + len; } } } else { return AXIS2_FAILURE; } } mime_parser->soap_body_str = soap_str; mime_parser->soap_body_len = soap_len; mime_parser->current_buf_num = buf_num; /* There are multipart/related messages which does not contain attachments * The only mime_part is the soap envelope. So for those messages the mime * boundary after the soap will end up with -- * So we will check that here and if we found then the logic inside the * while loop will not be executed */ end_of_mime = (AXIOM_MIME_BOUNDARY_BYTE == *(buf_array[buf_num])) && (AXIOM_MIME_BOUNDARY_BYTE == *(buf_array[buf_num] + 1)); if(end_of_mime) { AXIS2_FREE(env->allocator, buf_array[buf_num]); buf_array[buf_num] = NULL; } if(temp_mime_boundary) { AXIS2_FREE(env->allocator, temp_mime_boundary); temp_mime_boundary = NULL; } if(search_info) { AXIS2_FREE(env->allocator, search_info); search_info = NULL; } mime_parser->end_of_mime = end_of_mime; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_mime_parser_parse_for_attachments( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t * mime_boundary, void *user_param) { int count = 0; axiom_search_info_t *search_info = NULL; axis2_char_t *pos = NULL; int part_start = 0; axis2_char_t **buf_array = NULL; int *len_array = NULL; int buf_num = 0; int size = 0; int malloc_len = 0; axis2_callback_info_t *callback_info = NULL; axis2_char_t *temp_mime_boundary = NULL; int temp_mime_boundary_size = 0; axis2_bool_t end_of_mime = AXIS2_FALSE; callback_info = (axis2_callback_info_t *)callback_ctx; search_info = AXIS2_MALLOC(env->allocator, sizeof(axiom_search_info_t)); size = AXIOM_MIME_PARSER_BUFFER_SIZE * (mime_parser->buffer_size); buf_array = mime_parser->buf_array; len_array = mime_parser->len_array; buf_num = mime_parser->current_buf_num; /*--MIMEBOUNDARY mime_headr1:....... mime_headr2:.... Binarstart................. ...............--MIMEBOUNDARY */ /* This loop will extract all the attachments in the message. The condition * with the count is needed because if the sender not marked the end of the * attachment wiht -- then this loop may run infinitely. To prevent that * this additional condition has been put */ temp_mime_boundary = axutil_stracat(env, "--", mime_boundary); temp_mime_boundary_size = strlen(mime_boundary) + 2; while ((!(mime_parser->end_of_mime)) && count < AXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNT) { /*First we will search for \r\n\r\n*/ axis2_char_t *mime_id = NULL; axis2_char_t *mime_type = NULL; int mime_headers_len = 0; int mime_binary_len = 0; axis2_char_t *mime_binary = NULL; axis2_char_t *mime_headers = NULL; axis2_char_t *buffer = NULL; int len = 0; axis2_status_t status = AXIS2_FAILURE; search_info->match_len1 = 0; search_info->match_len2 = 0; pos = NULL; part_start = buf_num; malloc_len = 0; count++; pos = axiom_mime_parser_search_for_crlf(env, callback, callback_ctx, &buf_num, len_array, buf_array, search_info, size, mime_parser); if(!pos) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing for mime."); return NULL; } /*The pattern contains in one buffer*/ if(search_info->match_len2 == 0) { /*We found it . so lets seperates the details of this binary into mime headers.*/ mime_headers_len = axiom_mime_parser_calculate_part_len ( env, buf_num, len_array, part_start, pos, buf_array[buf_num]); if(mime_headers_len > 0) { mime_headers = axiom_mime_parser_create_part( env, mime_headers_len, buf_num, len_array, part_start, pos, buf_array, mime_parser); if(!mime_headers) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing for mime headers."); return NULL; } malloc_len = buf_array[buf_num] + len_array[buf_num] - pos - 4; /*This should be > 0 , > 0 means there is some part to copy = 0 means there is nothing to copy*/ if(malloc_len < 0) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing for mime headers"); return NULL; } else { buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); if(malloc_len > 0) { memcpy(buffer, pos + 4, malloc_len); } if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); if(len >= 0) { buf_array[buf_num] = buffer; len_array[buf_num] = malloc_len + len; } } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing for mime headers."); return NULL; } } else if(search_info->match_len2 > 0) { /*Now we extract the mime headers */ mime_headers_len = axiom_mime_parser_calculate_part_len ( env, buf_num - 1, len_array, part_start, pos, buf_array[buf_num - 1]); if(mime_headers_len > 0) { mime_headers = axiom_mime_parser_create_part( env, mime_headers_len, buf_num - 1, len_array, part_start, pos, buf_array, mime_parser); if(!mime_headers) { return NULL; } malloc_len = len_array[buf_num] - search_info->match_len2; if(malloc_len < 0) { return NULL; } else { buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); if(malloc_len > 0) { memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len); } if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); if(len >= 0) { buf_array[buf_num] = buffer; len_array[buf_num] = malloc_len + len; } } } else { return NULL; } } else { return NULL; } pos = NULL; search_info->match_len1 = 0; search_info->match_len2 = 0; part_start = buf_num; malloc_len = 0; mime_type = axiom_mime_parser_process_mime_headers(env, mime_parser, &mime_id, mime_headers); if(!mime_id ) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in parsing for mime headers.Mime id did not find"); return NULL; } if(!mime_type) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Mime type did not find"); } /*We extract the mime headers. So lets search for the attachment.*/ pos = axiom_mime_parser_search_for_attachment(mime_parser, env, callback, callback_ctx, &buf_num, len_array, buf_array, search_info, size, temp_mime_boundary, mime_id, user_param); if(pos) { /*If it is small we are not caching. Hence the attachment is in memory. So store it in a buffer. */ if(!search_info->cached) { if(search_info->match_len2 == 0) { /* mime_binary contains the attachment when it does not * cached */ mime_binary_len = axiom_mime_parser_calculate_part_len ( env, buf_num, len_array, part_start, pos, buf_array[buf_num]); if(mime_binary_len > 0) { mime_binary = axiom_mime_parser_create_part( env, mime_binary_len, buf_num, len_array, part_start, pos, buf_array, mime_parser); if(!mime_binary) { return NULL; } } else { return NULL; } } else if(search_info->match_len2 > 0) { mime_binary_len = axiom_mime_parser_calculate_part_len ( env, buf_num - 1, len_array, part_start, pos, buf_array[buf_num - 1]); if(mime_binary_len > 0) { mime_binary = axiom_mime_parser_create_part( env, mime_binary_len, buf_num - 1, len_array, part_start, pos, buf_array, mime_parser); if(!mime_binary) { return NULL; } } else { return NULL; } } } /* The functionality below is common when it is cached or not. It deals with remaining * after a particualr attachment, Those may be related to a end of mime_boundary or * another attachment */ if(search_info->match_len2 == 0) { malloc_len = len_array[buf_num] - search_info->match_len1 - temp_mime_boundary_size; if(malloc_len < 0) { return NULL; } else { buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); if(malloc_len > 0) { memcpy(buffer, pos + temp_mime_boundary_size, malloc_len); } /*When the last buffer only containing -- we know this is the end of the attachments. Hence we don't need to read again*/ if(malloc_len != 2) { if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } if(len >= 0) { len_array[buf_num] = malloc_len + len; } } /* This means there is another attachment */ else { len_array[buf_num] = malloc_len; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); buf_array[buf_num] = buffer; } } else if(search_info->match_len2 > 0) { malloc_len = len_array[buf_num] - search_info->match_len2; if(malloc_len < 0) { return NULL; } else { buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ( size + 1)); if(malloc_len > 0) { memcpy(buffer, buf_array[buf_num] + search_info->match_len2, malloc_len); } if(malloc_len != 2) { if(axiom_mime_parser_is_more_data(mime_parser, env, callback_info)) { len = callback(buffer + malloc_len, size - malloc_len, (void *) callback_ctx); } else { len = 0; } if(len >= 0) { len_array[buf_num] = malloc_len + len; } } else { len_array[buf_num] = malloc_len; } axiom_mime_parser_clear_buffers(env, buf_array, part_start, buf_num); buf_array[buf_num] = buffer; } } } else { return NULL; } /*We have the attachment now either cached or not. So lets put it in the mime_parts * hash map with the mime_id. Remember at this moment we have already processed the * mime_headers and mime_id is already there */ /* In the case user has not specified the callback or the attachment dir . So we cached it to a memory * buffer. Hence the data_handler type we need to create is different */ if((search_info->cached) && (!mime_parser->attachment_dir) && (!mime_parser->callback_name)) { mime_binary = (axis2_char_t *)search_info->handler; mime_binary_len = search_info->binary_size; } /* Storing the attachment in the hash map with the id*/ status = axiom_mime_parser_store_attachment(env, mime_parser, mime_id, mime_type, mime_binary, mime_binary_len, search_info->cached); /*Check wether we encounter --MIMEBOUNDARY-- to find the end of mime*/ if(buf_array[buf_num]) { /* Here we check for the end of mime */ end_of_mime = (AXIOM_MIME_BOUNDARY_BYTE == *(buf_array[buf_num])) && (AXIOM_MIME_BOUNDARY_BYTE == *(buf_array[buf_num] + 1)); if(end_of_mime) { AXIS2_FREE(env->allocator, buf_array[buf_num]); buf_array[buf_num] = NULL; } mime_parser->end_of_mime = end_of_mime; } if(mime_headers) { AXIS2_FREE(env->allocator, mime_headers); mime_headers = NULL; } if(status != AXIS2_SUCCESS) { return NULL; } } /*Do the necessary cleaning */ /*if (buf_array) { AXIS2_FREE(env->allocator, buf_array); buf_array = NULL; } if (len_array) { AXIS2_FREE(env->allocator, len_array); len_array = NULL; }*/ if(temp_mime_boundary) { AXIS2_FREE(env->allocator, temp_mime_boundary); temp_mime_boundary = NULL; } if(search_info) { AXIS2_FREE(env->allocator, search_info); search_info = NULL; } return mime_parser->mime_parts_map; } /*This method will search for \r\n\r\n */ static axis2_char_t *axiom_mime_parser_search_for_crlf( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, int *buf_num, int *len_array, axis2_char_t **buf_array, axiom_search_info_t *search_info, int size, axiom_mime_parser_t *mime_parser) { axis2_char_t *found = NULL; int len = 0; search_info->search_str = "\r\n\r\n"; search_info->buffer1 = NULL; search_info->buffer2 = NULL; search_info->len1 = 0; search_info->len2 = 0; search_info->match_len1 = 0; search_info->match_len2 = 0; search_info->primary_search = AXIS2_FALSE; search_info->cached = AXIS2_FALSE; search_info->handler = NULL; search_info->binary_size = 0; /*First do a search in the first buffer*/ if(buf_array[*buf_num]) { search_info->buffer1 = buf_array[*buf_num]; search_info->len1 = len_array[*buf_num]; found = axiom_mime_parser_search_string(search_info, env); } while(!found) { /*Let's read another buffer and do a boundary search in both*/ *buf_num = *buf_num + 1; buf_array[*buf_num] = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (size + 1)); if(buf_array[*buf_num]) { len = callback(buf_array[*buf_num], size, (void *) callback_ctx); } if(len > 0) { len_array[*buf_num] = len; search_info->buffer2 = buf_array[*buf_num]; search_info->len2 = len; found = axiom_mime_parser_search_string(search_info, env); } else { break; } if(!found) { /*Let's do a full search in the second buffer*/ search_info->buffer1 = buf_array[*buf_num]; search_info->len1 = len_array[*buf_num]; search_info->primary_search = AXIS2_FALSE; search_info->buffer2 = NULL; search_info->len2 = 0; found = axiom_mime_parser_search_string(search_info, env); } } return found; } /* This method will search for the mime_boundary after the SOAP part * of the message */ static axis2_char_t *axiom_mime_parser_search_for_soap( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, int *buf_num, int *len_array, axis2_char_t **buf_array, axiom_search_info_t *search_info, int size, axis2_char_t *mime_boundary, axiom_mime_parser_t *mime_parser) { axis2_char_t *found = NULL; int len = 0; /* What we need to search is the mime_boundary */ search_info->search_str = mime_boundary; search_info->buffer1 = NULL; search_info->buffer2 = NULL; search_info->len1 = 0; search_info->len2 = 0; search_info->match_len1 = 0; search_info->match_len2 = 0; search_info->primary_search = AXIS2_FALSE; if(buf_array[*buf_num]) { search_info->buffer1 = buf_array[*buf_num]; search_info->len1 = len_array[*buf_num]; found = axiom_mime_parser_search_string(search_info, env); /* Inside this search primary_search flag will be set to TRUE */ } while(!found) { /* We need to create the second buffer and do the search for the * mime_boundary in the both the buffers */ *buf_num = *buf_num + 1; buf_array[*buf_num] = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (size + 1)); if(buf_array[*buf_num]) { len = callback(buf_array[*buf_num], size, (void *) callback_ctx); } if(len > 0) { /* In this search we are matching end part of the first * buffer and starting part of the previous buffer */ len_array[*buf_num] = len; search_info->buffer2 = buf_array[*buf_num]; search_info->len2 = len; found = axiom_mime_parser_search_string(search_info, env); } else { break; } if(!found) { search_info->buffer1 = buf_array[*buf_num]; search_info->len1 = len_array[*buf_num]; search_info->primary_search = AXIS2_FALSE; search_info->buffer2 = NULL; search_info->len2 = 0; found = axiom_mime_parser_search_string(search_info, env); } } return found; } /*The caching is done in this function. Caching happens when we did not find the mime_boundary in initial two buffers. So the maximum size that we are keeping in memory is 2 * size. This size can be configurable from the aixs.xml. The caching may starts when the search failed with the second buffer. In this logic first we will search for a callback to cache. If it is not there then we will search for a directory to save the file. If it is also not there then the attachment will be in memory. */ static axis2_char_t *axiom_mime_parser_search_for_attachment( axiom_mime_parser_t *mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, int *buf_num, int *len_array, axis2_char_t **buf_array, axiom_search_info_t *search_info, int size, axis2_char_t *mime_boundary, axis2_char_t *mime_id, void *user_param) { axis2_char_t *found = NULL; int len = 0; axis2_status_t status = AXIS2_FAILURE; axis2_char_t *temp = NULL; int temp_length = 0; axis2_char_t *file_name = NULL; search_info->search_str = mime_boundary; search_info->buffer1 = NULL; search_info->buffer2 = NULL; search_info->len1 = 0; search_info->len2 = 0; search_info->match_len1 = 0; search_info->match_len2 = 0; search_info->primary_search = AXIS2_FALSE; search_info->cached = AXIS2_FALSE; search_info->handler = NULL; /*First search in the incoming buffer*/ if(buf_array[*buf_num]) { search_info->buffer1 = buf_array[*buf_num]; search_info->len1 = len_array[*buf_num]; found = axiom_mime_parser_search_string(search_info, env); } while(!found) { if(search_info->cached) { if(mime_parser->callback_name) { if(!(search_info->handler)) { /* If the callback is not loaded yet then we load it*/ if(!mime_parser->mtom_caching_callback) { search_info->handler = axiom_mime_parser_initiate_callback(mime_parser, env, mime_id, user_param); if(!(search_info->handler)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Caching Callback is not loaded"); return NULL; } } } /*So lets cache the previous buffer which has undergone the full search and the partial search. */ if(mime_parser->mtom_caching_callback) { /* Caching callback is loaded. So we can cache the previous buffer */ status = AXIOM_MTOM_CACHING_CALLBACK_CACHE(mime_parser->mtom_caching_callback, env, buf_array[*buf_num - 1], len_array[*buf_num - 1], search_info->handler); } } else if(mime_parser->attachment_dir) { if(!(search_info->handler)) { /* If the File is not opened yet we will open it*/ axis2_char_t *encoded_mime_id = NULL; /* Some times content-ids urls, hence we need to encode them * becasue we can't create files with / */ encoded_mime_id = AXIS2_MALLOC(env->allocator, (sizeof(axis2_char_t))* (strlen(mime_id))); memset(encoded_mime_id, 0, strlen(mime_id)); encoded_mime_id = axutil_url_encode(env, encoded_mime_id, mime_id, strlen(mime_id)); if(!encoded_mime_id) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Mime Id encoding failed"); return NULL; } file_name = axutil_stracat(env, mime_parser->attachment_dir, encoded_mime_id); AXIS2_FREE(env->allocator, encoded_mime_id); encoded_mime_id = NULL; if(!file_name) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Caching file name creation error"); return NULL; } search_info->handler = (void *)fopen(file_name, "ab+"); if(!(search_info->handler)) { return NULL; } } /*So lets cache the previous buffer which has undergone the full search and the partial search. */ status = axiom_mime_parser_cache_to_file(env, buf_array[*buf_num - 1], len_array[*buf_num - 1], search_info->handler); } else { /* Here the user has not specified the caching File location. So we are * not going to cache. Instead we store the attachment in the buffer */ status = axiom_mime_parser_cache_to_buffer(env, buf_array[*buf_num - 1], len_array[*buf_num - 1], search_info, mime_parser); } if(status == AXIS2_FAILURE) { return NULL; } /*Here we interchange the buffers.*/ temp = buf_array[*buf_num - 1]; buf_array[*buf_num - 1] = buf_array[*buf_num]; buf_array[*buf_num] = temp; temp_length = len_array[*buf_num - 1]; len_array[*buf_num - 1] = len_array[*buf_num]; len_array[*buf_num] = temp_length; if(buf_array[*buf_num]) { /*The cached buffer is the one which get filled.*/ len = callback(buf_array[*buf_num], size, (void *) callback_ctx); } } /*Size of the data in memory not yet risen to the caching threasold *So we can create the second buffer */ else { *buf_num = *buf_num + 1; buf_array[*buf_num] = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (size + 1)); if(buf_array[*buf_num]) { len = callback(buf_array[*buf_num], size, (void *) callback_ctx); } } /*Doing a complete search in newly cretaed buffer*/ if(len > 0) { len_array[*buf_num] = len; search_info->buffer2 = buf_array[*buf_num]; search_info->len2 = len; found = axiom_mime_parser_search_string(search_info, env); } else { break; } /* Now there are two buffers. If the searching string is not * here then we must cache the first buffer */ if(!found) { /*So now we must start caching*/ search_info->buffer1 = buf_array[*buf_num]; search_info->len1 = len_array[*buf_num]; search_info->primary_search = AXIS2_FALSE; search_info->buffer2 = NULL; search_info->len2 = 0; found = axiom_mime_parser_search_string(search_info, env); if(!found) { /* So at the begining of the next search we start * that only after caching this data */ search_info->cached = AXIS2_TRUE; } } } /* Here we are out of the loop. If there is no error then this means * the searching string is found */ if(search_info->cached) { /* If the attachment is cached then we need to cache the * final buffer */ if(search_info->match_len2 == 0) { /* This is the case where we found the whole string in one buffer * So we need to cache previous buffer and the data up to the starting * point of the search string in the current buffer */ if(mime_parser->mtom_caching_callback) { status = AXIOM_MTOM_CACHING_CALLBACK_CACHE(mime_parser->mtom_caching_callback, env, buf_array[*buf_num - 1], len_array[*buf_num - 1], search_info->handler); if(status == AXIS2_SUCCESS) { status = AXIOM_MTOM_CACHING_CALLBACK_CACHE(mime_parser->mtom_caching_callback, env, buf_array[*buf_num], found - buf_array[*buf_num], search_info->handler); } } else if(mime_parser->attachment_dir) { status = axiom_mime_parser_cache_to_file(env, buf_array[*buf_num - 1], len_array[*buf_num - 1], search_info->handler); if(status == AXIS2_SUCCESS) { status = axiom_mime_parser_cache_to_file(env, buf_array[*buf_num], found - buf_array[*buf_num], search_info->handler); } } /* If the callback or a file is not there then the data is appended to the buffer */ else { status = axiom_mime_parser_cache_to_buffer(env, buf_array[*buf_num - 1], len_array[*buf_num - 1], search_info, mime_parser); if(status == AXIS2_SUCCESS) { status = axiom_mime_parser_cache_to_buffer(env, buf_array[*buf_num], found - buf_array[*buf_num], search_info, mime_parser); } } } else if(search_info->match_len2 > 0) { /*Here the curent buffer has partial mime boundary. So we need to cache only the previous buffer. */ if(mime_parser->mtom_caching_callback) { status = AXIOM_MTOM_CACHING_CALLBACK_CACHE(mime_parser->mtom_caching_callback, env, buf_array[*buf_num - 1], search_info->match_len1, search_info->handler); } else if(mime_parser->attachment_dir) { status = axiom_mime_parser_cache_to_file(env, buf_array[*buf_num - 1], search_info->match_len1, search_info->handler); } else { status = axiom_mime_parser_cache_to_buffer(env, buf_array[*buf_num - 1], search_info->match_len1, search_info, mime_parser); } } else { return NULL; } if(status == AXIS2_FAILURE) { return NULL; } } /* Parsing is done so lets close the relative handlers */ if(search_info->handler) { if(mime_parser->mtom_caching_callback) { status = AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLER(mime_parser->mtom_caching_callback, env, search_info->handler); if(status == AXIS2_FAILURE) { return NULL; } } else if(mime_parser->attachment_dir) { if(fclose((FILE *)(search_info->handler)) == 0) { status = AXIS2_SUCCESS; } else { status = AXIS2_FAILURE; } AXIS2_FREE(env->allocator, file_name); file_name = NULL; if(status == AXIS2_FAILURE) { return NULL; } } } return found; } /*following two functions are used to extract important information from the buffer list. eg: SOAP, MIME_HEADERS*/ /*marker is the starting buffer of the required part and pos is the end point of that part */ static int axiom_mime_parser_calculate_part_len ( const axutil_env_t *env, int buf_num, int *len_list, int marker, axis2_char_t *pos, axis2_char_t *buf) { int part_len = 0; int i = 0; for(i = marker; i < buf_num; i++) { part_len += len_list[i]; } part_len = part_len + (pos - buf); return part_len; } static axis2_char_t * axiom_mime_parser_create_part( const axutil_env_t *env, int part_len, int buf_num, int *len_list, int marker, axis2_char_t *pos, axis2_char_t **buf_list, axiom_mime_parser_t *mime_parser) { /*We will copy the set of buffers which contains the required part. This part can be the SOAP message , mime headers or the mime binary in the case of none cahced.*/ axis2_char_t *part_str = NULL; int i = 0; int temp = 0; part_str = AXIS2_MALLOC(env->allocator, sizeof(char) * (part_len + 1)); if (!part_str) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Failed in creating buffer"); return NULL; } /* Copy from the part starting buffer to the * curent buffer */ for (i = marker; i < buf_num; i++) { if (buf_list[i]) { memcpy(part_str + temp, buf_list[i], len_list[i]); temp += len_list[i]; } } /* Finally we are copying from the final portion */ memcpy(part_str + temp, buf_list[i], pos - buf_list[i]); part_str[part_len] = '\0'; return part_str; } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_mime_parser_get_mime_parts_map( axiom_mime_parser_t * mime_parser, const axutil_env_t * env) { return mime_parser->mime_parts_map; } AXIS2_EXTERN int AXIS2_CALL axiom_mime_parser_get_soap_body_len( axiom_mime_parser_t * mime_parser, const axutil_env_t * env) { return mime_parser->soap_body_len; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_mime_parser_get_soap_body_str( axiom_mime_parser_t * mime_parser, const axutil_env_t * env) { return mime_parser->soap_body_str; } /*This is the new search function. This will first do a search for the entire search string.Then will do a search for the partial string which can be divided among two buffers.*/ static axis2_char_t *axiom_mime_parser_search_string( axiom_search_info_t *search_info, const axutil_env_t *env) { axis2_char_t *pos = NULL; axis2_char_t *old_pos = NULL; axis2_char_t *found = NULL; int str_length = 0; int search_length = 0; str_length = strlen(search_info->search_str); /*First lets search the entire buffer*/ if(!search_info->primary_search) { old_pos = search_info->buffer1; do { /*find the first byte. We need to adhere to this approach rather than straightaway using strstr because the buffer1 can be containg binary data*/ pos = NULL; search_length = search_info->buffer1 + search_info->len1 - old_pos - str_length + 1; if(search_length < 0) { break; } if (old_pos) { pos = memchr(old_pos, *(search_info->search_str), search_length); } /* found it so lets check the remaining */ if (pos) { found = axutil_strstr(pos, search_info->search_str); if(found) { search_info->match_len1 = found - search_info->buffer1; break; } else { old_pos = pos + 1; } } } while (pos); } search_info->primary_search = AXIS2_TRUE; if(found) { return found; } /*So we didn't find the string in the buffer lets check whether it is divided in two buffers*/ else { int offset = 0; pos = NULL; old_pos = NULL; found = NULL; search_length = 0; if(search_info->buffer2) { old_pos = search_info->buffer1 + search_info->len1 - str_length + 1; do { /*First check the starting byte*/ pos = NULL; found = NULL; search_length = search_info->buffer1 + search_info->len1 - old_pos; if(search_length < 0) { break; } pos = memchr(old_pos, *(search_info->search_str), search_length); if(pos) { offset = search_info->buffer1 + search_info->len1 - pos; /*First match the beginng to offset in buffer1*/ if(offset > 0) { if(memcmp(pos, search_info->search_str, offset) == 0) { found = pos; } /*We found something in buffer1 so lets match the remaining in buffer2*/ if(found) { if(memcmp(search_info->buffer2, search_info->search_str + offset, str_length - offset ) == 0) { search_info->match_len2 = str_length - offset; search_info->match_len1 = found - search_info->buffer1; break; } else { old_pos = pos + 1; } } else { old_pos = pos + 1; } } } } while(pos); /* We will set this to AXIS2_FALSE so when the next time this * search method is called it will do a full search first for buffer1 */ search_info->primary_search = AXIS2_FALSE; return found; } else { return NULL; } } } /* This method creates a data_handler out of the attachment * and store the data_handler in the mime_parts map */ static axis2_status_t axiom_mime_parser_store_attachment( const axutil_env_t *env, axiom_mime_parser_t *mime_parser, axis2_char_t *mime_id, axis2_char_t *mime_type, axis2_char_t *mime_binary, int mime_binary_len, axis2_bool_t cached) { if (mime_parser->mime_parts_map) { if (mime_id) { axiom_data_handler_t *data_handler = NULL; /* Handling the case where attachment is cached using a callback */ if(mime_parser->callback_name && cached) { data_handler = axiom_data_handler_create(env, NULL, mime_type); if(data_handler) { axiom_data_handler_set_cached(data_handler, env, AXIS2_TRUE); axiom_data_handler_set_data_handler_type(data_handler, env, AXIOM_DATA_HANDLER_TYPE_CALLBACK); } } /* Handling the case where attachment is cached to a file*/ else if(mime_parser->attachment_dir && cached) { axis2_char_t *attachment_location = NULL; axis2_char_t *encoded_mime_id = NULL; /* Some times content-ids urls, hence we need to encode them * becasue we can't create files with / */ encoded_mime_id = AXIS2_MALLOC(env->allocator, (sizeof(axis2_char_t))* (strlen(mime_id))); memset(encoded_mime_id, 0, strlen(mime_id)); encoded_mime_id = axutil_url_encode(env, encoded_mime_id, mime_id, strlen(mime_id)); if(!encoded_mime_id) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Mime Id encoding failed"); return AXIS2_FAILURE; } attachment_location = axutil_stracat(env, mime_parser->attachment_dir, encoded_mime_id); AXIS2_FREE(env->allocator, encoded_mime_id); encoded_mime_id = NULL; if(attachment_location) { data_handler = axiom_data_handler_create(env, attachment_location, mime_type); if(data_handler) { axiom_data_handler_set_cached(data_handler, env, AXIS2_TRUE); } AXIS2_FREE(env->allocator, attachment_location); attachment_location = NULL; } } /* Attachment is in memory, either it is small to be cached or * user does not provided the attachment cached directory */ else if(mime_binary) { data_handler = axiom_data_handler_create(env, NULL, mime_type); if(data_handler) { axiom_data_handler_set_binary_data(data_handler, env, mime_binary, mime_binary_len - 2); } } axiom_data_handler_set_mime_id(data_handler, env, mime_id); axutil_hash_set(mime_parser->mime_parts_map, mime_id, AXIS2_HASH_KEY_STRING, data_handler); if(mime_type) { AXIS2_FREE(env->allocator, mime_type); } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Mime Id or Mime rype not found"); return AXIS2_FAILURE; /*axis2_char_t temp_boundry[1024]; sprintf(temp_boundry, "--%s--", mime_boundary); if (body_mime && axutil_strstr(body_mime, temp_boundry)) { break; }*/ } return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } /* This method will process the mime_headers for a particualr attacment and return the mime_id */ static axis2_char_t * axiom_mime_parser_process_mime_headers( const axutil_env_t *env, axiom_mime_parser_t *mime_parser, axis2_char_t **mime_id, axis2_char_t *mime_headers) { axis2_char_t *id = NULL; axis2_char_t *type = NULL; axis2_char_t *pos = NULL; /* Get the MIME ID */ if (mime_headers) { id = axutil_strcasestr(mime_headers, AXIOM_MIME_HEADER_CONTENT_ID); type = axutil_strcasestr(mime_headers, AXIOM_MIME_HEADER_CONTENT_TYPE); if (type) { axis2_char_t *end = NULL; axis2_char_t *temp_type = NULL; type += axutil_strlen(AXIOM_MIME_HEADER_CONTENT_TYPE); while (type && *type && *type != ':') { type++; } type++; while (type && *type && *type == ' ') { type++; } end = type; while (end && *end && !isspace((int)*end)) { end++; } if ((end - type) > 0) { temp_type = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * ((end - type) + 1)); if (!temp_type) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Failed in creating Content-Type"); return NULL; } memcpy(temp_type, type, (end - type)); temp_type[end - type] = '\0'; type = temp_type; } } if (id) { id += axutil_strlen(AXIOM_MIME_HEADER_CONTENT_ID); while (id && *id && *id != ':') { id++; } if (id) { while (id && *id && *id != '<') { id++; } id++; pos = axutil_strstr(id, ">"); if (pos) { int mime_id_len = 0; mime_id_len = (int)(pos - id); *mime_id = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * mime_id_len + 1); /* The MIME ID will be freed by the SOAP builder */ if (*mime_id) { memcpy(*mime_id, id, mime_id_len); (*mime_id)[mime_id_len] = '\0'; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Failed in creating MIME ID"); return NULL; } } } } else { /*axis2_char_t temp_boundry[1024]; sprintf(temp_boundry, "--%s--", mime_boundary); if (body_mime && axutil_strstr(body_mime, temp_boundry)) { break; }*/ return NULL; } return type; } else { return NULL; } } /*This is used to free some unwanted buffers. For example we did not want the buffers which contains the data before the soap envelope starts. */ static void axiom_mime_parser_clear_buffers( const axutil_env_t *env, axis2_char_t **buf_list, int free_from, int free_to) { int i = 0; for(i = free_from; i <= free_to; i++) { if(buf_list[i]) { AXIS2_FREE(env->allocator, buf_list[i]); buf_list[i] = NULL; } } return; } /* Instead of caching to a file this method will cache it * to a buffer */ static axis2_status_t axiom_mime_parser_cache_to_buffer( const axutil_env_t *env, axis2_char_t *buf, int buf_len, axiom_search_info_t *search_info, axiom_mime_parser_t *mime_parser) { axis2_char_t *data_buffer = NULL; axis2_char_t *temp_buf = NULL; int mime_binary_len = 0; temp_buf = (axis2_char_t *)search_info->handler; mime_binary_len = search_info->binary_size + buf_len; if(mime_binary_len > 0) { data_buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (mime_binary_len)); if(data_buffer) { if(temp_buf && search_info->binary_size > 0) { memcpy(data_buffer, temp_buf, search_info->binary_size); AXIS2_FREE(env->allocator, temp_buf); temp_buf = NULL; } memcpy(data_buffer + (search_info->binary_size), buf, buf_len); search_info->binary_size = mime_binary_len; search_info->handler = (void *)data_buffer; return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_buffer_size( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, int size) { mime_parser->buffer_size = size; } AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_max_buffers( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, int num) { mime_parser->max_buffers = num; } AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_attachment_dir( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *attachment_dir) { mime_parser->attachment_dir = attachment_dir; } /* Set the path of the caching callnack to be loaded */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_caching_callback_name( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *callback_name) { mime_parser->callback_name = callback_name; } AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_mime_boundary( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *mime_boundary) { mime_parser->mime_boundary = mime_boundary; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_mime_parser_get_mime_boundary( axiom_mime_parser_t *mime_parser, const axutil_env_t *env) { return mime_parser->mime_boundary; } /* Load the caching callback dll */ static void* axiom_mime_parser_initiate_callback( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *mime_id, void *user_param) { axutil_dll_desc_t *dll_desc = NULL; axutil_param_t *impl_info_param = NULL; void *ptr = NULL; if(mime_parser->callback_name) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "Trying to load module = %s", mime_parser->callback_name); dll_desc = axutil_dll_desc_create(env); axutil_dll_desc_set_name(dll_desc, env, mime_parser->callback_name); impl_info_param = axutil_param_create(env, NULL, dll_desc); /*Set the free function*/ axutil_param_set_value_free(impl_info_param, env, axutil_dll_desc_free_void_arg); axutil_class_loader_init(env); ptr = axutil_class_loader_create_dll(env, impl_info_param); if (!ptr) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Unable to load the module %s. ERROR", mime_parser->callback_name); return NULL; } mime_parser->mtom_caching_callback = (axiom_mtom_caching_callback_t *)ptr; mime_parser->mtom_caching_callback->param = impl_info_param; mime_parser->mtom_caching_callback->user_param = user_param; return AXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLER(mime_parser->mtom_caching_callback, env, mime_id); } else { return NULL; } } /* This method will tell whether there are more data in the * stream */ static axis2_bool_t axiom_mime_parser_is_more_data( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_callback_info_t *callback_info) { /* In the case of axutil_http_chunked stream it is the * end of chunk */ if(callback_info->chunked_stream) { if(axutil_http_chunked_stream_get_end_of_chunks( callback_info->chunked_stream, env)) { return AXIS2_FALSE; } else { return AXIS2_TRUE; } } /* When we are using content length or any wrapped * stream it will be the unread_length */ else if(callback_info->unread_len == 0) { return AXIS2_FALSE; } else { return AXIS2_TRUE; } } static axis2_status_t axiom_mime_parser_cache_to_file( const axutil_env_t* env, axis2_char_t *buf, int buf_len, void *handler) { int len = 0; FILE *fp = NULL; fp = (FILE *)handler; len = fwrite(buf, 1, buf_len, fp); if(len < 0) { return AXIS2_FAILURE; } else { return AXIS2_SUCCESS; } } axis2c-src-1.6.0/axiom/src/attachments/axiom_mime_body_part.h0000644000175000017500000000732311166304634025424 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_MIME_BODY_PART_H #define AXIOM_MIME_BODY_PART_H /** * @file axiom_mime_body_part.h * @brief axis2 mime_body_part interface */ #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_mime_body_part axiom_mime_body_part_t; /** @defgroup axiom_mime_body_part * @ingroup axiom_mime_body_part * @{ */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_add_header( axiom_mime_body_part_t * mime_body_part, const axutil_env_t * env, const axis2_char_t * name, const axis2_char_t * value); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_set_data_handler( axiom_mime_body_part_t * mime_body_part, const axutil_env_t * env, axiom_data_handler_t * data_handler); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_write_to( axiom_mime_body_part_t * mime_body_part, const axutil_env_t * env, axis2_byte_t ** output_stream, int *output_stream_size); /** Deallocate memory * @return status code */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_body_part_free( axiom_mime_body_part_t * mime_body_part, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_write_to_list( axiom_mime_body_part_t *mime_body_part, const axutil_env_t *env, axutil_array_list_t *list); /** * Creates mime_body_part struct * @return pointer to newly created mime_body_part */ AXIS2_EXTERN axiom_mime_body_part_t *AXIS2_CALL axiom_mime_body_part_create( const axutil_env_t * env); /** * Creates mime_body_part struct from a om_text * @return pointer to newly created mime_body_part */ AXIS2_EXTERN axiom_mime_body_part_t *AXIS2_CALL axiom_mime_body_part_create_from_om_text( const axutil_env_t *env, axiom_text_t *text); #define AXIOM_MIME_BODY_PART_FREE(mime_body_part, env) \ axiom_mime_body_part_free (mime_body_part, env) #define AXIOM_MIME_BODY_PART_ADD_HEADER(mime_body_part, env, name, value) \ axiom_mime_body_part_add_header (mime_body_part, env, name, value) #define AXIOM_MIME_BODY_PART_SET_DATA_HANDLER(mime_body_part, env, data_handler) \ axiom_mime_body_part_set_data_handler (mime_body_part, env, data_handler) #define AXIOM_MIME_BODY_PART_WRITE_TO(mime_body_part, env, output_stream, output_stream_size) \ axiom_mime_body_part_write_to (mime_body_part, env, output_stream, output_stream_size) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_MIME_BODY_PART_H */ axis2c-src-1.6.0/axiom/src/attachments/data_handler.c0000644000175000017500000004015511166304634023636 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include struct axiom_data_handler { /* The content type */ axis2_char_t *mime_type; /* If in a file then the file name*/ axis2_char_t *file_name; /* If it is in a buffer then the buffer */ axis2_byte_t *buffer; /* The length of the buffer */ int buffer_len; /* Is this a data_handler with a file name or a buffer*/ axiom_data_handler_type_t data_handler_type; /* When parsing whether we have cached it or not */ axis2_bool_t cached; /* The Content Id */ axis2_char_t *mime_id; /* In the case of sending callback this is required */ void *user_param; }; /* Creates the data_handler. The file name is not mandatory */ AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL axiom_data_handler_create( const axutil_env_t *env, const axis2_char_t *file_name, const axis2_char_t *mime_type) { axiom_data_handler_t *data_handler = NULL; AXIS2_ENV_CHECK(env, NULL); data_handler = (axiom_data_handler_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_data_handler_t)); if (!data_handler) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create data handler"); return NULL; } data_handler->mime_type = NULL; data_handler->file_name = NULL; data_handler->buffer = NULL; data_handler->buffer_len = 0; /* By default, a Data Handler is of type Buffer */ data_handler->data_handler_type = AXIOM_DATA_HANDLER_TYPE_BUFFER; data_handler->cached = AXIS2_FALSE; data_handler->mime_id = NULL; data_handler->user_param = NULL; if (mime_type) { data_handler->mime_type = axutil_strdup(env, mime_type); if (!(data_handler->mime_type)) { axiom_data_handler_free(data_handler, env); return NULL; } } if (file_name) { data_handler->file_name = axutil_strdup(env, file_name); if (!(data_handler->file_name)) { axiom_data_handler_free(data_handler, env); return NULL; } data_handler->data_handler_type = AXIOM_DATA_HANDLER_TYPE_FILE; } return data_handler; } AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_free( axiom_data_handler_t *data_handler, const axutil_env_t *env) { if (data_handler->file_name) { AXIS2_FREE(env->allocator, data_handler->file_name); } if (data_handler->mime_type) { AXIS2_FREE(env->allocator, data_handler->mime_type); } if (data_handler->buffer) { AXIS2_FREE(env->allocator, data_handler->buffer); } if(data_handler->mime_id) { AXIS2_FREE(env->allocator, data_handler->mime_id); } if (data_handler) { AXIS2_FREE(env->allocator, data_handler); } return; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_data_handler_get_content_type( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->mime_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_content_type( axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_type) { if(data_handler->mime_type) { AXIS2_FREE(env->allocator, data_handler->mime_type); } data_handler->mime_type = axutil_strdup(env, mime_type); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_data_handler_get_cached( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->cached; } AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_set_cached( axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_bool_t cached) { data_handler->cached = cached; } AXIS2_EXTERN axis2_byte_t *AXIS2_CALL axiom_data_handler_get_input_stream( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->buffer; } AXIS2_EXTERN int AXIS2_CALL axiom_data_handler_get_input_stream_len( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->buffer_len; } /* With MTOM caching support this function is no longer used * Because this will load whole file in to buffer. So for large * attachment this is not wise */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_read_from( axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_byte_t **output_stream, int *output_stream_size) { if (data_handler->data_handler_type == AXIOM_DATA_HANDLER_TYPE_BUFFER) { *output_stream = data_handler->buffer; *output_stream_size = data_handler->buffer_len; } else if (data_handler->data_handler_type == AXIOM_DATA_HANDLER_TYPE_FILE && data_handler->file_name) { FILE *f = NULL; axis2_byte_t *byte_stream = NULL; axis2_byte_t *temp_byte_stream = NULL; axis2_byte_t *read_stream = NULL; int byte_stream_size = 0; int temp_byte_stream_size = 0; int read_stream_size = 0; int count = 0; struct stat stat_p; f = fopen(data_handler->file_name, "rb"); if (!f) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error opening file %s for reading", data_handler->file_name); return AXIS2_FAILURE; } if (stat(data_handler->file_name, &stat_p) == -1) { fclose(f); return AXIS2_FAILURE; } else if (stat_p.st_size == 0) { fclose(f); *output_stream = NULL; *output_stream_size = 0; return AXIS2_SUCCESS; } do { read_stream_size = stat_p.st_size; read_stream = AXIS2_MALLOC(env->allocator, (read_stream_size) * sizeof(axis2_byte_t)); if (!read_stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create binary stream"); if (byte_stream) { AXIS2_FREE(env->allocator, byte_stream); } fclose(f); return AXIS2_FAILURE; } count = (int)fread(read_stream, 1, read_stream_size, f); /* The count lies within the int range */ if (ferror(f)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in reading file %s", data_handler->file_name); if (byte_stream) { AXIS2_FREE(env->allocator, byte_stream); } if (read_stream) { AXIS2_FREE(env->allocator, read_stream); } fclose(f); return AXIS2_FAILURE; } /* copy the read bytes */ if (count > 0) { if (byte_stream) { temp_byte_stream = byte_stream; temp_byte_stream_size = byte_stream_size; byte_stream_size = temp_byte_stream_size + count; byte_stream = AXIS2_MALLOC(env->allocator, (byte_stream_size) * sizeof(axis2_byte_t)); if (!byte_stream) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create binary stream"); if (read_stream) { AXIS2_FREE(env->allocator, read_stream); } if (temp_byte_stream) { AXIS2_FREE(env->allocator, temp_byte_stream); } fclose(f); return AXIS2_FAILURE; } memcpy(byte_stream, temp_byte_stream, temp_byte_stream_size); memcpy(byte_stream + temp_byte_stream_size, read_stream, count); if (read_stream) { AXIS2_FREE(env->allocator, read_stream); read_stream_size = 0; } if (temp_byte_stream) { AXIS2_FREE(env->allocator, temp_byte_stream); temp_byte_stream = NULL; temp_byte_stream_size = 0; } } else { byte_stream = read_stream; byte_stream_size = read_stream_size; read_stream = NULL; read_stream_size = 0; } } else if (read_stream) { AXIS2_FREE(env->allocator, read_stream); } } while (!feof(f)); fclose(f); data_handler->buffer = byte_stream; data_handler->buffer_len = byte_stream_size; *output_stream = byte_stream; *output_stream_size = byte_stream_size; } else { /* Data Handler File Name is missing */ return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_binary_data( axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_byte_t *input_stream, int input_stream_len) { data_handler->buffer = input_stream; data_handler->buffer_len = input_stream_len; return AXIS2_SUCCESS; } /* This function will write the data in the buffer * to a file. When caching is being used this will * not be called , because the parser it self cache * the attachment while parsing */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_write_to( axiom_data_handler_t *data_handler, const axutil_env_t *env) { if (data_handler->file_name) { FILE *f = NULL; int count = 0; f = fopen(data_handler->file_name, "wb"); if (!f) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error opening file %s for writing", data_handler->file_name); return AXIS2_FAILURE; } count = (int)fwrite(data_handler->buffer, 1, data_handler->buffer_len, f); /* The count lies within the int range */ if (ferror(f)) { fclose(f); return AXIS2_FAILURE; } fflush(f); fclose(f); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_file_name( axiom_data_handler_t *data_handler, const axutil_env_t *env, axis2_char_t *file_name) { if (data_handler->file_name) { AXIS2_FREE(env->allocator, data_handler->file_name); data_handler->file_name = NULL; } if (file_name) { data_handler->file_name = axutil_strdup(env, file_name); if (!(data_handler->file_name)) { return AXIS2_FAILURE; } } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_data_handler_get_file_name( axiom_data_handler_t *data_handler, const axutil_env_t *env) { if (data_handler->file_name) { return data_handler->file_name; } else { return NULL; } } /* This method will add the data_handler binary data to the array_list. * If it is a buffer the part type is buffer. otherwise it is a file. In the * case of file the array_list have just the file name and the size. The content * is not loaded to the memory. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_add_binary_data( axiom_data_handler_t *data_handler, const axutil_env_t *env, axutil_array_list_t *list) { axiom_mime_part_t *binary_part = NULL; binary_part = axiom_mime_part_create(env); if(!binary_part) { return AXIS2_FAILURE; } if (data_handler->data_handler_type == AXIOM_DATA_HANDLER_TYPE_BUFFER) { binary_part->part = (axis2_byte_t *)AXIS2_MALLOC(env->allocator, (data_handler->buffer_len) * sizeof(axis2_byte_t)); memcpy(binary_part->part, data_handler->buffer, data_handler->buffer_len); binary_part->part_size = data_handler->buffer_len; binary_part->type = AXIOM_MIME_PART_BUFFER; } /* In the case of file we first calculate the file size * and then add the file name */ else if (data_handler->data_handler_type == AXIOM_DATA_HANDLER_TYPE_FILE && data_handler->file_name) { struct stat stat_p; if (stat(data_handler->file_name, &stat_p) == -1) { return AXIS2_FAILURE; } else if (stat_p.st_size == 0) { return AXIS2_SUCCESS; } else { binary_part->file_name = (axis2_char_t *)axutil_strdup(env, data_handler->file_name); binary_part->part_size = stat_p.st_size; binary_part->type = AXIOM_MIME_PART_FILE; } } /* In the case of Callback the user should specify the callback name in the * configuration file. We just set the correct type. Inside the transport * it will load the callback and send the attachment appropriately */ else if(data_handler->data_handler_type == AXIOM_DATA_HANDLER_TYPE_CALLBACK) { binary_part->type = AXIOM_MIME_PART_CALLBACK; binary_part->user_param = data_handler->user_param; } else { /* Data Handler File Name is missing */ return AXIS2_FAILURE; } /* Finaly we add the binary details to the list */ axutil_array_list_add(list, env, binary_part); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_data_handler_get_mime_id( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->mime_id; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_mime_id( axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_id) { if(data_handler->mime_id) { AXIS2_FREE(env->allocator, data_handler->mime_id); } data_handler->mime_id = axutil_strdup(env, mime_id); return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_data_handler_type_t AXIS2_CALL axiom_data_handler_get_data_handler_type( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->data_handler_type; } AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_set_data_handler_type( axiom_data_handler_t *data_handler, const axutil_env_t *env, axiom_data_handler_type_t data_handler_type) { data_handler->data_handler_type = data_handler_type; return; } AXIS2_EXTERN void *AXIS2_CALL axiom_data_handler_get_user_param( axiom_data_handler_t *data_handler, const axutil_env_t *env) { return data_handler->user_param; } AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_set_user_param( axiom_data_handler_t *data_handler, const axutil_env_t *env, void *user_param) { data_handler->user_param = user_param; return; } axis2c-src-1.6.0/axiom/src/attachments/mime_body_part.c0000644000175000017500000002232411166304634024220 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axiom_mime_body_part.h" #include #include #include struct axiom_mime_body_part { /* hash map to hold header name, value pairs */ axutil_hash_t *header_map; axiom_data_handler_t *data_handler; }; /* This method just create a mime_body_part. It does not * fill the header map. */ AXIS2_EXTERN axiom_mime_body_part_t *AXIS2_CALL axiom_mime_body_part_create( const axutil_env_t *env) { axiom_mime_body_part_t *mime_body_part = NULL; AXIS2_ENV_CHECK(env, NULL); mime_body_part = (axiom_mime_body_part_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_mime_body_part_t)); if (!mime_body_part) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create MIME body part"); return NULL; } mime_body_part->header_map = NULL; mime_body_part->data_handler = NULL; mime_body_part->header_map = axutil_hash_make(env); if (!(mime_body_part->header_map)) { axiom_mime_body_part_free(mime_body_part, env); return NULL; } return mime_body_part; } /* This method will create the mime_body_part and fill the header map with * default information. Default information are for binary attachments. * Attachment information is taken from the information in data_handler in passed * om_text. */ AXIS2_EXTERN axiom_mime_body_part_t *AXIS2_CALL axiom_mime_body_part_create_from_om_text( const axutil_env_t *env, axiom_text_t *text) { axiom_data_handler_t *data_handler = NULL; axiom_mime_body_part_t *mime_body_part = NULL; axis2_char_t *content_id = NULL; axis2_char_t *temp_content_id = NULL; const axis2_char_t *content_type = AXIOM_MIME_TYPE_OCTET_STREAM; mime_body_part = axiom_mime_body_part_create(env); if (!mime_body_part) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "MIME body part creation failed"); return NULL; } /* Take the data_handler which is set by the sending applocation. */ data_handler = axiom_text_get_data_handler(text, env); if (data_handler) { content_type = axiom_data_handler_get_content_type(data_handler, env); } AXIOM_MIME_BODY_PART_SET_DATA_HANDLER(mime_body_part, env, data_handler); content_id = (axis2_char_t *) "<"; content_id = axutil_stracat(env, content_id, axiom_text_get_content_id(text, env)); temp_content_id = axutil_stracat(env, content_id, ">"); AXIS2_FREE(env->allocator, content_id); content_id = temp_content_id; /* Adding the content-id */ AXIOM_MIME_BODY_PART_ADD_HEADER(mime_body_part, env, AXIOM_MIME_HEADER_CONTENT_ID, content_id); /* Adding the content-type */ AXIOM_MIME_BODY_PART_ADD_HEADER(mime_body_part, env, AXIOM_MIME_HEADER_CONTENT_TYPE, axutil_strdup(env, content_type)); /* Adding the content-transfer encoding */ AXIOM_MIME_BODY_PART_ADD_HEADER(mime_body_part, env, AXIOM_MIME_HEADER_CONTENT_TRANSFER_ENCODING, axutil_strdup(env, AXIOM_MIME_CONTENT_TRANSFER_ENCODING_BINARY)); return mime_body_part; } AXIS2_EXTERN void AXIS2_CALL axiom_mime_body_part_free( axiom_mime_body_part_t *mime_body_part, const axutil_env_t *env) { if (mime_body_part->header_map) { axutil_hash_index_t *hash_index = NULL; const void *key = NULL; void *value = NULL; for (hash_index = axutil_hash_first(mime_body_part->header_map, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { axutil_hash_this(hash_index, &key, NULL, &value); if (value) { AXIS2_FREE(env->allocator, value); } } axutil_hash_free(mime_body_part->header_map, env); mime_body_part->header_map = NULL; } if (mime_body_part) { AXIS2_FREE(env->allocator, mime_body_part); } return; } /* This method will add a mime_header to the hash */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_add_header( axiom_mime_body_part_t *mime_body_part, const axutil_env_t *env, const axis2_char_t *name, const axis2_char_t *value) { AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); if (!mime_body_part->header_map) { return AXIS2_FAILURE; } axutil_hash_set(mime_body_part->header_map, name, AXIS2_HASH_KEY_STRING, value); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_set_data_handler( axiom_mime_body_part_t *mime_body_part, const axutil_env_t *env, axiom_data_handler_t *data_handler) { mime_body_part->data_handler = data_handler; return AXIS2_SUCCESS; } /* This method will fill the array_list with binary and binary_beader information. * If the binary is in a file this will not load the file to the memory. Because * that will cause performance degradation when the file size is large. Instead * this will add file information to the list so that when writing the message * through transport_sender it can send the file by chunk. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_body_part_write_to_list( axiom_mime_body_part_t *mime_body_part, const axutil_env_t *env, axutil_array_list_t *list) { axutil_hash_index_t *hash_index = NULL; const void *key = NULL; void *value = NULL; axis2_char_t *header_str = NULL; axis2_char_t *temp_header_str = NULL; int header_str_size = 0; axis2_status_t status = AXIS2_FAILURE; axiom_mime_part_t *mime_header_part = NULL; /* We have the mime headers in the hash with thier keys * So first concatenate them to a one string */ for (hash_index = axutil_hash_first(mime_body_part->header_map, env); hash_index; hash_index = axutil_hash_next(env, hash_index)) { axutil_hash_this(hash_index, &key, NULL, &value); if (key && value) { /* First conactenate to the already conacatenated stuff */ temp_header_str = axutil_stracat(env, header_str, (axis2_char_t *) key); if (header_str) { AXIS2_FREE(env->allocator, header_str); } header_str = temp_header_str; temp_header_str = axutil_stracat(env, header_str, ": "); AXIS2_FREE(env->allocator, header_str); header_str = temp_header_str; /* Add the new stuff */ temp_header_str = axutil_stracat(env, header_str, (axis2_char_t *) value); AXIS2_FREE(env->allocator, header_str); header_str = temp_header_str; /* Next header will be in a new line. So lets add it */ temp_header_str = axutil_stracat(env, header_str, AXIS2_CRLF); AXIS2_FREE(env->allocator, header_str); header_str = temp_header_str; } } /* If there is a data handler that's mean there is an attachment. Attachment * will always start after an additional new line . So let's add it .*/ if (mime_body_part->data_handler) { temp_header_str = axutil_stracat(env, header_str, AXIS2_CRLF); AXIS2_FREE(env->allocator, header_str); header_str = temp_header_str; } if (header_str) { header_str_size = axutil_strlen(header_str); } /* Now we have the complete mime_headers string for a particular mime part. * First wrap it as a mime_part_t .Then add it to the array list so * later through the transport this can be written to the wire. */ mime_header_part = axiom_mime_part_create(env); if(mime_header_part) { mime_header_part->part = (axis2_byte_t *)header_str; mime_header_part->part_size = header_str_size; mime_header_part->type = AXIOM_MIME_PART_BUFFER; } else { return AXIS2_FAILURE; } axutil_array_list_add(list, env, mime_header_part); /* Then if the data_handler is there let's add the binary data, may be * buffer , may be file name and information. */ if (mime_body_part->data_handler) { status = axiom_data_handler_add_binary_data(mime_body_part->data_handler, env, list); if (status != AXIS2_SUCCESS) { return status; } } return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/attachments/Makefile.am0000644000175000017500000000063311166304634023115 0ustar00manjulamanjula00000000000000noinst_LTLIBRARIES = libaxis2_attachments.la AM_CPPFLAGS = $(CPPFLAGS) libaxis2_attachments_la_SOURCES = mime_part.c \ data_handler.c \ mime_body_part.c \ mime_parser.c libaxis2_attachments_la_LIBADD = ../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/parser \ -I ../../../util/include EXTRA_DIST = axiom_mime_body_part.h axis2c-src-1.6.0/axiom/src/attachments/Makefile.in0000644000175000017500000003342611172017173023130 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/attachments DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) libaxis2_attachments_la_DEPENDENCIES = ../../../util/src/libaxutil.la am_libaxis2_attachments_la_OBJECTS = mime_part.lo data_handler.lo \ mime_body_part.lo mime_parser.lo libaxis2_attachments_la_OBJECTS = \ $(am_libaxis2_attachments_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_attachments_la_SOURCES) DIST_SOURCES = $(libaxis2_attachments_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = libaxis2_attachments.la AM_CPPFLAGS = $(CPPFLAGS) libaxis2_attachments_la_SOURCES = mime_part.c \ data_handler.c \ mime_body_part.c \ mime_parser.c libaxis2_attachments_la_LIBADD = ../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/parser \ -I ../../../util/include EXTRA_DIST = axiom_mime_body_part.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/attachments/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/attachments/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_attachments.la: $(libaxis2_attachments_la_OBJECTS) $(libaxis2_attachments_la_DEPENDENCIES) $(LINK) $(libaxis2_attachments_la_OBJECTS) $(libaxis2_attachments_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/data_handler.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mime_body_part.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mime_parser.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mime_part.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/Makefile.am0000644000175000017500000000007111166304645020600 0ustar00manjulamanjula00000000000000SUBDIRS = parser attachments soap util ${XPATH_DIR} om axis2c-src-1.6.0/axiom/src/Makefile.in0000644000175000017500000003427411172017172020616 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = parser attachments soap util ${XPATH_DIR} om all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/parser/0000777000175000017500000000000011172017534020041 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/parser/xml_writer.c0000644000175000017500000002522411166304644022406 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN void AXIS2_CALL axiom_xml_writer_free( axiom_xml_writer_t * writer, const axutil_env_t * env) { (writer)->ops->free(writer, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname) { return (writer)->ops->write_start_element(writer, env, localname); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_end_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->end_start_element(writer, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri) { return (writer)->ops->write_start_element_with_namespace(writer, env, localname, namespace_uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix) { return (writer)->ops->write_start_element_with_namespace_prefix(writer, env, localname, namespace_uri, prefix); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_empty_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname) { return (writer)->ops->write_empty_element(writer, env, localname); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_empty_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri) { return (writer)->ops->write_empty_element_with_namespace(writer, env, localname, namespace_uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_empty_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix) { return (writer)->ops->write_empty_element_with_namespace_prefix(writer, env, localname, namespace_uri, prefix); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_end_element( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->write_end_element(writer, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_end_document( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->write_end_document(writer, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_attribute( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value) { return (writer)->ops->write_attribute(writer, env, localname, value); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_attribute_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri) { return (writer)->ops->write_attribute_with_namespace(writer, env, localname, value, namespace_uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_attribute_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix) { return (writer)->ops->write_attribute_with_namespace_prefix(writer, env, localname, value, namespace_uri, prefix); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri) { return (writer)->ops->write_namespace(writer, env, prefix, namespace_uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_default_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri) { return (writer)->ops->write_default_namespace(writer, env, namespace_uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_comment( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value) { return (writer)->ops->write_comment(writer, env, value); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_processing_instruction( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target) { return (writer)->ops->write_processing_instruction(writer, env, target); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_processing_instruction_data( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data) { return (writer)->ops->write_processing_instruction_data(writer, env, target, data); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_cdata( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data) { return (writer)->ops->write_cdata(writer, env, data); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_dtd( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd) { return (writer)->ops->write_cdata(writer, env, dtd); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_entity_ref( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name) { return (writer)->ops->write_entity_ref(writer, env, name); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_document( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->write_start_document(writer, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_document_with_version( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version) { return (writer)->ops->write_start_document_with_version(writer, env, version); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_document_with_version_encoding( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version, axis2_char_t * encoding) { return (writer)->ops->write_start_document_with_version_encoding(writer, env, encoding, version); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_characters( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text) { return (writer)->ops->write_characters(writer, env, text); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_writer_get_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { return (writer)->ops->get_prefix(writer, env, uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_set_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri) { return (writer)->ops->set_prefix(writer, env, prefix, uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_set_default_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { return (writer)->ops->set_default_prefix(writer, env, uri); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_encoded( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr) { return (writer)->ops->write_encoded(writer, env, text, in_attr); } AXIS2_EXTERN void *AXIS2_CALL axiom_xml_writer_get_xml( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->get_xml(writer, env); } AXIS2_EXTERN unsigned int AXIS2_CALL axiom_xml_writer_get_xml_size( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->get_xml_size(writer, env); } AXIS2_EXTERN int AXIS2_CALL axiom_xml_writer_get_type( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->get_type(writer, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_raw( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content) { return (writer)->ops->write_raw(writer, env, content); } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_flush( axiom_xml_writer_t * writer, const axutil_env_t * env) { return (writer)->ops->flush(writer, env); } axis2c-src-1.6.0/axiom/src/parser/guththila/0000777000175000017500000000000011172017534022032 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/parser/guththila/guththila_xml_reader_wrapper.c0000644000175000017500000004454311166304641030140 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include /**************** function prototypes ******************************************/ int AXIS2_CALL guththila_xml_reader_wrapper_next( axiom_xml_reader_t * parser, const axutil_env_t * env); void AXIS2_CALL guththila_xml_reader_wrapper_free( axiom_xml_reader_t * parser, const axutil_env_t * env); int AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_count( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_name_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_value_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_namespace_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_value( axiom_xml_reader_t * parser, const axutil_env_t * env); int AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_count( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_uri_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_name( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_pi_target( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_pi_data( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_dtd( axiom_xml_reader_t * parser, const axutil_env_t * env); void AXIS2_CALL guththila_xml_reader_wrapper_xml_free( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_char_set_encoding( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_uri( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_uri_by_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix); /*********** guththila_xml_reader_wrapper_impl_t wrapper struct *******************/ typedef struct guththila_xml_reader_wrapper_impl { axiom_xml_reader_t parser; guththila_t *guththila_parser; guththila_reader_t *reader; int event_map[10]; } guththila_xml_reader_wrapper_impl_t; /********************************* Macro ***************************************/ #define AXIS2_INTF_TO_IMPL(p) ((guththila_xml_reader_wrapper_impl_t*)p) #define AXIS2_IMPL_TO_INTF(p) &(p->parser) /**********End macros -- event_map initializing function *********************/ static axis2_status_t guththila_xml_reader_wrapper_init_map( guththila_xml_reader_wrapper_impl_t * parser) { if (parser) { parser->event_map[GUTHTHILA_START_DOCUMENT] = AXIOM_XML_READER_START_DOCUMENT; parser->event_map[GUTHTHILA_START_ELEMENT] = AXIOM_XML_READER_START_ELEMENT; parser->event_map[GUTHTHILA_END_ELEMENT] = AXIOM_XML_READER_END_ELEMENT; parser->event_map[GUTHTHILA_SPACE] = AXIOM_XML_READER_SPACE; parser->event_map[GUTHTHILA_EMPTY_ELEMENT] = AXIOM_XML_READER_EMPTY_ELEMENT; parser->event_map[GUTHTHILA_CHARACTER] = AXIOM_XML_READER_CHARACTER; parser->event_map[GUTHTHILA_ENTITY_REFERANCE] = AXIOM_XML_READER_ENTITY_REFERENCE; parser->event_map[GUTHTHILA_COMMENT] = AXIOM_XML_READER_COMMENT; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } static const axiom_xml_reader_ops_t axiom_xml_reader_ops_var = { guththila_xml_reader_wrapper_next, guththila_xml_reader_wrapper_free, guththila_xml_reader_wrapper_get_attribute_count, guththila_xml_reader_wrapper_get_attribute_name_by_number, guththila_xml_reader_wrapper_get_attribute_prefix_by_number, guththila_xml_reader_wrapper_get_attribute_value_by_number, guththila_xml_reader_wrapper_get_attribute_namespace_by_number, guththila_xml_reader_wrapper_get_value, guththila_xml_reader_wrapper_get_namespace_count, guththila_xml_reader_wrapper_get_namespace_uri_by_number, guththila_xml_reader_wrapper_get_namespace_prefix_by_number, guththila_xml_reader_wrapper_get_prefix, guththila_xml_reader_wrapper_get_name, guththila_xml_reader_wrapper_get_pi_target, guththila_xml_reader_wrapper_get_pi_data, guththila_xml_reader_wrapper_get_dtd, guththila_xml_reader_wrapper_xml_free, guththila_xml_reader_wrapper_get_char_set_encoding, guththila_xml_reader_wrapper_get_namespace_uri, guththila_xml_reader_wrapper_get_namespace_uri_by_prefix }; /********************************************************************************/ AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_file( const axutil_env_t * env, char *filename, const axis2_char_t * encoding) { guththila_xml_reader_wrapper_impl_t *guththila_impl = NULL; guththila_t *guththila = NULL; AXIS2_ENV_CHECK(env, NULL); guththila_impl = AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_reader_wrapper_impl_t)); if (!guththila_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila_impl->reader = guththila_reader_create_for_file(filename, env); if (!(guththila_impl->reader)) { AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila = (guththila_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_t)); guththila_init(guththila, guththila_impl->reader, env); if (!guththila) { AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila_impl->guththila_parser = guththila; guththila_impl->parser.ops = NULL; /* guththila_impl->parser.ops = (axiom_xml_reader_ops_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_xml_reader_ops_t)); if (!(guththila_impl->parser.ops)) { guththila_free(guththila, env); AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } */ guththila_xml_reader_wrapper_init_map(guththila_impl); /************** ops *****/ guththila_impl->parser.ops = &axiom_xml_reader_ops_var; return &(guththila_impl->parser); } /****** pull parser for io create function ***************************/ axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_io( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK read_input_callback, AXIS2_CLOSE_INPUT_CALLBACK close_input_callback, void *ctx, const char *encoding) { guththila_xml_reader_wrapper_impl_t *guththila_impl = NULL; /*axutil_allocator_t *allocator = NULL; */ guththila_t *guththila = NULL; AXIS2_ENV_CHECK(env, NULL); guththila_impl = AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_reader_wrapper_impl_t)); if (!guththila_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } /*allocator = axutil_allocator_init(NULL); */ /*-------difference of two create function is here--------*/ guththila_impl->reader = guththila_reader_create_for_io(read_input_callback, ctx, env); if (!(guththila_impl->reader)) { AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila = (guththila_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_t)); guththila_init(guththila, guththila_impl->reader, env); if (!guththila) { AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila_impl->guththila_parser = guththila; guththila_impl->parser.ops = NULL; /* guththila_impl->parser.ops = (axiom_xml_reader_ops_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_xml_reader_ops_t)); if (!(guththila_impl->parser.ops)) { guththila_free(guththila, env); AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; }*/ guththila_xml_reader_wrapper_init_map(guththila_impl); /************** ops *****/ guththila_impl->parser.ops = &axiom_xml_reader_ops_var; return &(guththila_impl->parser); } /* ####################################################################### */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_reader_init( ) { return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_reader_cleanup( ) { return AXIS2_SUCCESS; } /* ######################################################################## */ AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_memory( const axutil_env_t * env, void *buffer, int size, const char *encoding, int type) { guththila_xml_reader_wrapper_impl_t *guththila_impl = NULL; /*axutil_allocator_t *allocator = NULL; */ guththila_t *guththila = NULL; AXIS2_ENV_CHECK(env, NULL); guththila_impl = AXIS2_MALLOC(env->allocator, sizeof(guththila_xml_reader_wrapper_impl_t)); if (!guththila_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } /*allocator = axutil_allocator_init(NULL); */ /*-------difference of two create function is here--------*/ guththila_impl->reader = guththila_reader_create_for_memory(buffer, size, env); if (!(guththila_impl->reader)) { AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila = (guththila_t *) AXIS2_MALLOC(env->allocator, sizeof(guththila_t)); guththila_init(guththila, guththila_impl->reader, env); if (!guththila) { AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } guththila_impl->guththila_parser = guththila; guththila_impl->parser.ops = NULL; /* guththila_impl->parser.ops = (axiom_xml_reader_ops_t *) AXIS2_MALLOC(env->allocator, sizeof(axiom_xml_reader_ops_t)); if (!(guththila_impl->parser.ops)) { guththila_free(guththila, env); AXIS2_FREE(env->allocator, guththila_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } */ guththila_xml_reader_wrapper_init_map(guththila_impl); /************** ops *****/ guththila_impl->parser.ops = &axiom_xml_reader_ops_var; return &(guththila_impl->parser); } int AXIS2_CALL guththila_xml_reader_wrapper_next( axiom_xml_reader_t * parser, const axutil_env_t * env) { int i = -1; AXIS2_ENV_CHECK(env, -1); i = guththila_next(AXIS2_INTF_TO_IMPL(parser)->guththila_parser, env); return i == -1 ? -1 : AXIS2_INTF_TO_IMPL(parser)->event_map[i]; } void AXIS2_CALL guththila_xml_reader_wrapper_free( axiom_xml_reader_t * parser, const axutil_env_t * env) { guththila_xml_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->reader) { guththila_reader_free(parser_impl->reader, env); } if (parser_impl->guththila_parser) { guththila_un_init(parser_impl->guththila_parser, env); } AXIS2_FREE(env->allocator, parser_impl); } int AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_count( axiom_xml_reader_t * parser, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return guththila_get_attribute_count(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_name_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_attribute_name_by_number(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, i, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_attribute_prefix_by_number(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, i, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_value_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_attribute_value_by_number(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, i, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_attribute_namespace_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_attribute_namespace_by_number(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, i, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_value( axiom_xml_reader_t * parser, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_value(AXIS2_INTF_TO_IMPL(parser)->guththila_parser, env); } int AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_count( axiom_xml_reader_t * parser, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return guththila_get_namespace_count(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_uri_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_namespace_uri_by_number(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, i, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_namespace_prefix_by_number(AXIS2_INTF_TO_IMPL(parser)-> guththila_parser, i, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_prefix(AXIS2_INTF_TO_IMPL(parser)->guththila_parser, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_name( axiom_xml_reader_t * parser, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return guththila_get_name(AXIS2_INTF_TO_IMPL(parser)->guththila_parser, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_pi_target( axiom_xml_reader_t * parser, const axutil_env_t * env) { /* guththila_does not support pi's yet */ return NULL; } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_pi_data( axiom_xml_reader_t * parser, const axutil_env_t * env) { /* guththila_dose not support yet */ return NULL; } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_dtd( axiom_xml_reader_t * parser, const axutil_env_t * env) { printf("not implemented in guththila"); return NULL; } void AXIS2_CALL guththila_xml_reader_wrapper_xml_free( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data) { if (data) AXIS2_FREE(env->allocator, data); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_char_set_encoding( axiom_xml_reader_t * parser, const axutil_env_t * env) { return guththila_get_encoding(AXIS2_INTF_TO_IMPL(parser)->guththila_parser, env); } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_uri( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (axis2_char_t *) NULL; } axis2_char_t *AXIS2_CALL guththila_xml_reader_wrapper_get_namespace_uri_by_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix) { return (axis2_char_t *) NULL; } axis2c-src-1.6.0/axiom/src/parser/guththila/Makefile.am0000644000175000017500000000073511166304641024070 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_parser.la libaxis2_parser_la_LIBADD = ../../../../guththila/src/libguththila.la \ ../../../../util/src/libaxutil.la libaxis2_parser_la_SOURCES = ../xml_reader.c ../xml_writer.c guththila_xml_writer_wrapper.c \ guththila_xml_reader_wrapper.c libaxis2_parser_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I ../../../../util/include \ -I ../../../../guththila/include axis2c-src-1.6.0/axiom/src/parser/guththila/Makefile.in0000644000175000017500000004214111172017173024074 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/parser/guththila DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_parser_la_DEPENDENCIES = \ ../../../../guththila/src/libguththila.la \ ../../../../util/src/libaxutil.la am_libaxis2_parser_la_OBJECTS = xml_reader.lo xml_writer.lo \ guththila_xml_writer_wrapper.lo \ guththila_xml_reader_wrapper.lo libaxis2_parser_la_OBJECTS = $(am_libaxis2_parser_la_OBJECTS) libaxis2_parser_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_parser_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_parser_la_SOURCES) DIST_SOURCES = $(libaxis2_parser_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_parser.la libaxis2_parser_la_LIBADD = ../../../../guththila/src/libguththila.la \ ../../../../util/src/libaxutil.la libaxis2_parser_la_SOURCES = ../xml_reader.c ../xml_writer.c guththila_xml_writer_wrapper.c \ guththila_xml_reader_wrapper.c libaxis2_parser_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I ../../../../util/include \ -I ../../../../guththila/include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/parser/guththila/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/parser/guththila/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_parser.la: $(libaxis2_parser_la_OBJECTS) $(libaxis2_parser_la_DEPENDENCIES) $(libaxis2_parser_la_LINK) -rpath $(libdir) $(libaxis2_parser_la_OBJECTS) $(libaxis2_parser_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_xml_reader_wrapper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/guththila_xml_writer_wrapper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_writer.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< xml_reader.lo: ../xml_reader.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xml_reader.lo -MD -MP -MF $(DEPDIR)/xml_reader.Tpo -c -o xml_reader.lo `test -f '../xml_reader.c' || echo '$(srcdir)/'`../xml_reader.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xml_reader.Tpo $(DEPDIR)/xml_reader.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../xml_reader.c' object='xml_reader.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xml_reader.lo `test -f '../xml_reader.c' || echo '$(srcdir)/'`../xml_reader.c xml_writer.lo: ../xml_writer.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xml_writer.lo -MD -MP -MF $(DEPDIR)/xml_writer.Tpo -c -o xml_writer.lo `test -f '../xml_writer.c' || echo '$(srcdir)/'`../xml_writer.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xml_writer.Tpo $(DEPDIR)/xml_writer.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../xml_writer.c' object='xml_writer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xml_writer.lo `test -f '../xml_writer.c' || echo '$(srcdir)/'`../xml_writer.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/parser/guththila/guththila_xml_writer_wrapper.c0000644000175000017500000006340311166304641030206 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include /************************ function prototypes ************************************/ void AXIS2_CALL guththila_xml_writer_wrapper_free( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_end_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_empty_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_empty_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_empty_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_end_element( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_end_document( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_attribute( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_attribute_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_attribute_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_default_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_comment( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_processing_instruction( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_processing_instruction_data( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_cdata( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_dtd( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_entity_ref( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_document( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_document_with_version( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_document_with_version_encoding( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * encoding, axis2_char_t * version); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_characters( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text); axis2_char_t *AXIS2_CALL guththila_xml_writer_wrapper_get_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_set_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_set_default_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_encoded( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr); void *AXIS2_CALL guththila_xml_writer_wrapper_get_xml( axiom_xml_writer_t * writer, const axutil_env_t * env); unsigned int AXIS2_CALL guththila_xml_writer_wrapper_get_xml_size( axiom_xml_writer_t * writer, const axutil_env_t * env); int AXIS2_CALL guththila_xml_writer_wrapper_get_type( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_raw( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content); axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_flush( axiom_xml_writer_t * writer, const axutil_env_t * env); /***************************** end function pointers *****************************/ typedef struct guththila_xml_writer_wrapper_impl { axiom_xml_writer_t writer; guththila_xml_writer_t *wr; } guththila_xml_writer_wrapper_impl_t; static const axiom_xml_writer_ops_t axiom_xml_writer_ops_var = { guththila_xml_writer_wrapper_free, guththila_xml_writer_wrapper_write_start_element, guththila_xml_writer_wrapper_end_start_element, guththila_xml_writer_wrapper_write_start_element_with_namespace, guththila_xml_writer_wrapper_write_start_element_with_namespace_prefix, guththila_xml_writer_wrapper_write_empty_element, guththila_xml_writer_wrapper_write_empty_element_with_namespace, guththila_xml_writer_wrapper_write_empty_element_with_namespace_prefix, guththila_xml_writer_wrapper_write_end_element, guththila_xml_writer_wrapper_write_end_document, guththila_xml_writer_wrapper_write_attribute, guththila_xml_writer_wrapper_write_attribute_with_namespace, guththila_xml_writer_wrapper_write_attribute_with_namespace_prefix, guththila_xml_writer_wrapper_write_namespace, guththila_xml_writer_wrapper_write_default_namespace, guththila_xml_writer_wrapper_write_comment, guththila_xml_writer_wrapper_write_processing_instruction, guththila_xml_writer_wrapper_write_processing_instruction_data, guththila_xml_writer_wrapper_write_cdata, guththila_xml_writer_wrapper_write_dtd, guththila_xml_writer_wrapper_write_entity_ref, guththila_xml_writer_wrapper_write_start_document, guththila_xml_writer_wrapper_write_start_document_with_version, guththila_xml_writer_wrapper_write_start_document_with_version_encoding, guththila_xml_writer_wrapper_write_characters, guththila_xml_writer_wrapper_get_prefix, guththila_xml_writer_wrapper_set_prefix, guththila_xml_writer_wrapper_set_default_prefix, guththila_xml_writer_wrapper_write_encoded, guththila_xml_writer_wrapper_get_xml, guththila_xml_writer_wrapper_get_xml_size, guththila_xml_writer_wrapper_get_type, guththila_xml_writer_wrapper_write_raw, guththila_xml_writer_wrapper_flush }; /****************************** Macros *******************************************/ #define AXIS2_INTF_TO_IMPL(p) ((guththila_xml_writer_wrapper_impl_t*)p) /******************************* End macro ***************************************/ AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_xml_writer_create( const axutil_env_t * env, axis2_char_t * filename, axis2_char_t * encoding, int is_prefix_default, int compression) { guththila_xml_writer_wrapper_impl_t *writer_impl; AXIS2_ENV_CHECK(env, NULL); writer_impl = (guththila_xml_writer_wrapper_impl_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_wrapper_impl_t)); return &(writer_impl->writer); } AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_xml_writer_create_for_memory( const axutil_env_t * env, axis2_char_t * encoding, int is_prefix_default, int compression, int type) { guththila_xml_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, NULL); writer_impl = (guththila_xml_writer_wrapper_impl_t *) AXIS2_MALLOC(env->allocator, sizeof (guththila_xml_writer_wrapper_impl_t)); if (!writer_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } /* creating guththila parser */ /* guththila xml stream writer for memory */ writer_impl->wr = guththila_create_xml_stream_writer_for_memory(env); if (!(writer_impl->wr)) { AXIS2_FREE(env->allocator, writer_impl->wr); AXIS2_FREE(env->allocator, writer_impl); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } writer_impl->writer.ops = NULL; /* ops */ writer_impl->writer.ops = &axiom_xml_writer_ops_var; return &(writer_impl->writer); } void AXIS2_CALL guththila_xml_writer_wrapper_free( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (AXIS2_INTF_TO_IMPL(writer)->wr) { guththila_xml_writer_free(AXIS2_INTF_TO_IMPL(writer)->wr, env); } if (writer) { AXIS2_FREE(env->allocator, AXIS2_INTF_TO_IMPL(writer)); } } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname) { int status = AXIS2_SUCCESS; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); guththila_write_start_element(AXIS2_INTF_TO_IMPL(writer)->wr, localname, env); return status; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri) { int status = AXIS2_SUCCESS; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); guththila_write_start_element_with_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, namespace_uri, localname, env); return status; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); guththila_write_start_element_with_prefix_and_namespace(AXIS2_INTF_TO_IMPL (writer)->wr, prefix, namespace_uri, localname, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_empty_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); guththila_write_empty_element(AXIS2_INTF_TO_IMPL(writer)->wr, localname, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_empty_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); guththila_write_empty_element_with_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, namespace_uri, localname, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_empty_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); guththila_write_empty_element_with_prefix_and_namespace(AXIS2_INTF_TO_IMPL (writer)->wr, prefix, namespace_uri, localname, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_end_element( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); guththila_write_end_element(AXIS2_INTF_TO_IMPL(writer)->wr, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_end_document( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); guththila_write_end_document(AXIS2_INTF_TO_IMPL(writer)->wr, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_attribute( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value) { if(!value) value = ""; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); guththila_write_attribute(AXIS2_INTF_TO_IMPL(writer)->wr, localname, value, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_attribute_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri) { if(!value) value = ""; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); guththila_write_attribute_with_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, namespace_uri, localname, value, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_attribute_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); guththila_write_attribute_with_prefix_and_namespace(AXIS2_INTF_TO_IMPL (writer)->wr, prefix, namespace_uri, localname, value, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); /* when default namespace comes is passed, prefix is null */ if (prefix) guththila_write_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, prefix, namespace_uri, env); else guththila_write_default_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, namespace_uri, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_default_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); guththila_write_default_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, namespace_uri, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_comment( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); guththila_write_comment(AXIS2_INTF_TO_IMPL(writer)->wr, value, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_processing_instruction( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, target, AXIS2_FAILURE); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_processing_instruction_data( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, target, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, data, AXIS2_FAILURE); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_cdata( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, data, AXIS2_FAILURE); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_dtd( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd) { /* AXIS2_ENV_CHECK( env, AXIS2_FAILURE); */ /* AXIS2_PARAM_CHECK(env->error, dtd, AXIS2_FAILURE); */ /* return guththila_write_dtd( */ /* (axutil_env_t *)env, */ /* AXIS2_INTF_TO_IMPL(writer)->parser, */ /* dtd); */ return 0; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_entity_ref( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name) { /* AXIS2_ENV_CHECK( env, AXIS2_FAILURE); */ /* AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); */ /* return guththila_write_entity_ref( */ /* (axutil_env_t *)env, */ /* AXIS2_INTF_TO_IMPL(writer)->parser, */ /* name); */ return 0; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_document( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); guththila_write_start_document(AXIS2_INTF_TO_IMPL(writer)->wr, env, NULL, NULL); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_document_with_version( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, version, AXIS2_FAILURE); guththila_write_start_document(AXIS2_INTF_TO_IMPL(writer)->wr, env, NULL, version); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_start_document_with_version_encoding( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * encoding, axis2_char_t * version) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encoding, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, version, AXIS2_FAILURE); guththila_write_start_document(AXIS2_INTF_TO_IMPL(writer)->wr, env, encoding, version); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_characters( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, text, AXIS2_FAILURE); guththila_write_characters(AXIS2_INTF_TO_IMPL(writer)->wr, text, env); return AXIS2_SUCCESS; } axis2_char_t *AXIS2_CALL guththila_xml_writer_wrapper_get_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, uri, NULL); return guththila_get_prefix_for_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, uri, env); } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_set_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); guththila_write_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, prefix, uri, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_set_default_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); guththila_write_default_namespace(AXIS2_INTF_TO_IMPL(writer)->wr, uri, env); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_encoded( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, text, AXIS2_FAILURE); return AXIS2_SUCCESS; } void *AXIS2_CALL guththila_xml_writer_wrapper_get_xml( axiom_xml_writer_t * writer, const axutil_env_t * env) { char *buffer = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); buffer = guththila_get_memory_buffer(AXIS2_INTF_TO_IMPL(writer)->wr, env); return (void *) buffer; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_write_raw( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content) { if (!content) { return AXIS2_FAILURE; } else { guththila_write_to_buffer(AXIS2_INTF_TO_IMPL(writer)->wr, (char *) content, (int) strlen(content), env); return AXIS2_SUCCESS; } } unsigned int AXIS2_CALL guththila_xml_writer_wrapper_get_xml_size( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return guththila_get_memory_buffer_size(AXIS2_INTF_TO_IMPL(writer)->wr, env); } int AXIS2_CALL guththila_xml_writer_wrapper_get_type( axiom_xml_writer_t * writer, const axutil_env_t * env) { return 0; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_flush( axiom_xml_writer_t * writer, const axutil_env_t * env) { return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL guththila_xml_writer_wrapper_end_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); /* nothing to do , it is automatically taken care by the libxml2 writer */ return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/parser/libxml2/0000777000175000017500000000000011172017534021412 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/src/parser/libxml2/libxml2_reader_wrapper.c0000644000175000017500000007216211166304644026221 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include int AXIS2_CALL axis2_libxml2_reader_wrapper_next( axiom_xml_reader_t * parser, const axutil_env_t * env); void AXIS2_CALL axis2_libxml2_reader_wrapper_free( axiom_xml_reader_t * parser, const axutil_env_t * env); int AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_count( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_name_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_value_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_namespace_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_value( axiom_xml_reader_t * parser, const axutil_env_t * env); int AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_count( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_uri_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_name( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_pi_target( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_pi_data( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_dtd( axiom_xml_reader_t * parser, const axutil_env_t * env); void AXIS2_CALL axis2_libxml2_reader_wrapper_xml_free( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_char_set_encoding( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_uri( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_uri_by_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix); axis2_status_t axis2_libxml2_reader_wrapper_fill_maps( axiom_xml_reader_t * parser, const axutil_env_t * env); void axis2_libxml2_reader_wrapper_error_handler( void *arg, const char *msg, int severities, void *locator_ptr); static int axis2_libxml2_reader_wrapper_read_input_callback( void *ctx, char *buffer, int size); static int axis2_libxml2_reader_wrapper_close_input_callback( void *ctx); typedef struct axis2_libxml2_reader_wrapper_impl_t { axiom_xml_reader_t parser; xmlTextReaderPtr reader; int current_event; int current_attribute_count; int current_namespace_count; int event_map[18]; void *ctx; /* assuming that max ns and attribute will be 20 */ int *namespace_map; int *attribute_map; AXIS2_READ_INPUT_CALLBACK read_input_callback; AXIS2_CLOSE_INPUT_CALLBACK close_input_callback; } axis2_libxml2_reader_wrapper_impl_t; #define AXIS2_INTF_TO_IMPL(p) ((axis2_libxml2_reader_wrapper_impl_t*)p) #define AXIS2_IMPL_TO_INTF(p) &(p->parser) static const axiom_xml_reader_ops_t axiom_xml_reader_ops_var = { axis2_libxml2_reader_wrapper_next, axis2_libxml2_reader_wrapper_free, axis2_libxml2_reader_wrapper_get_attribute_count, axis2_libxml2_reader_wrapper_get_attribute_name_by_number, axis2_libxml2_reader_wrapper_get_attribute_prefix_by_number, axis2_libxml2_reader_wrapper_get_attribute_value_by_number, axis2_libxml2_reader_wrapper_get_attribute_namespace_by_number, axis2_libxml2_reader_wrapper_get_value, axis2_libxml2_reader_wrapper_get_namespace_count, axis2_libxml2_reader_wrapper_get_namespace_uri_by_number, axis2_libxml2_reader_wrapper_get_namespace_prefix_by_number, axis2_libxml2_reader_wrapper_get_prefix, axis2_libxml2_reader_wrapper_get_name, axis2_libxml2_reader_wrapper_get_pi_target, axis2_libxml2_reader_wrapper_get_pi_data, axis2_libxml2_reader_wrapper_get_dtd, axis2_libxml2_reader_wrapper_xml_free, axis2_libxml2_reader_wrapper_get_char_set_encoding, axis2_libxml2_reader_wrapper_get_namespace_uri, axis2_libxml2_reader_wrapper_get_namespace_uri_by_prefix }; static axis2_status_t axis2_libxml2_reader_wrapper_init_map( axis2_libxml2_reader_wrapper_impl_t * parser) { int i = 0; if (parser) { for (i = 0; i < 18; i++) { parser->event_map[i] = -1; } parser->event_map[XML_READER_TYPE_ELEMENT] = AXIOM_XML_READER_START_ELEMENT; parser->event_map[XML_READER_TYPE_ELEMENT] = AXIOM_XML_READER_START_ELEMENT; parser->event_map[XML_READER_TYPE_DOCUMENT] = AXIOM_XML_READER_START_DOCUMENT; parser->event_map[XML_READER_TYPE_TEXT] = AXIOM_XML_READER_CHARACTER; parser->event_map[XML_READER_TYPE_CDATA] = AXIOM_XML_READER_CHARACTER; parser->event_map[XML_READER_TYPE_SIGNIFICANT_WHITESPACE] = AXIOM_XML_READER_SPACE; parser->event_map[XML_READER_TYPE_WHITESPACE] = AXIOM_XML_READER_SPACE; parser->event_map[XML_READER_TYPE_END_ELEMENT] = AXIOM_XML_READER_END_ELEMENT; parser->event_map[XML_READER_TYPE_ENTITY_REFERENCE] = AXIOM_XML_READER_ENTITY_REFERENCE; parser->event_map[XML_READER_TYPE_END_ENTITY] = AXIOM_XML_READER_SPACE; parser->event_map[XML_READER_TYPE_ENTITY] = AXIOM_XML_READER_SPACE; parser->event_map[XML_READER_TYPE_PROCESSING_INSTRUCTION] = AXIOM_XML_READER_PROCESSING_INSTRUCTION; parser->event_map[XML_READER_TYPE_COMMENT] = AXIOM_XML_READER_COMMENT; parser->event_map[XML_READER_TYPE_DOCUMENT_TYPE] = AXIOM_XML_READER_DOCUMENT_TYPE; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_reader_init() { xmlInitParser(); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_reader_cleanup() { xmlCleanupParser(); return AXIS2_SUCCESS; } static axis2_libxml2_reader_wrapper_impl_t* libxml2_reader_wrapper_create(const axutil_env_t *env) { axis2_libxml2_reader_wrapper_impl_t *wrapper_impl = NULL; wrapper_impl = (axis2_libxml2_reader_wrapper_impl_t *)AXIS2_MALLOC(env->allocator, sizeof(axis2_libxml2_reader_wrapper_impl_t)); if (!wrapper_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create libxml2 reader wrapper"); return NULL; } memset(wrapper_impl, 0, sizeof(axis2_libxml2_reader_wrapper_impl_t)); wrapper_impl->attribute_map = NULL; wrapper_impl->namespace_map = NULL; wrapper_impl->close_input_callback = NULL; wrapper_impl->read_input_callback = NULL; wrapper_impl->ctx = NULL; wrapper_impl->current_namespace_count = 0; wrapper_impl->current_attribute_count = 0; wrapper_impl->current_event = -1; return wrapper_impl; } AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_file( const axutil_env_t * env, char *filename, const axis2_char_t * encoding) { axis2_libxml2_reader_wrapper_impl_t *wrapper_impl = NULL; AXIS2_ENV_CHECK(env, NULL); AXIS2_PARAM_CHECK(env->error, filename, NULL); wrapper_impl = libxml2_reader_wrapper_create(env); if (!wrapper_impl) { return NULL; } wrapper_impl->reader = xmlReaderForFile(filename, encoding, XML_PARSE_RECOVER); if (!(wrapper_impl->reader)) { AXIS2_FREE(env->allocator, wrapper_impl); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); return NULL; } xmlTextReaderSetErrorHandler(wrapper_impl->reader, (xmlTextReaderErrorFunc) axis2_libxml2_reader_wrapper_error_handler, (void *) env); wrapper_impl->current_event = -1; wrapper_impl->ctx = NULL; axis2_libxml2_reader_wrapper_init_map(wrapper_impl); wrapper_impl->parser.ops = &axiom_xml_reader_ops_var; return &(wrapper_impl->parser); } AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_io( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK read_input_callback, AXIS2_CLOSE_INPUT_CALLBACK close_input_callback, void *ctx, const axis2_char_t * encoding) { axis2_libxml2_reader_wrapper_impl_t *wrapper_impl = NULL; AXIS2_ENV_CHECK(env, NULL); if (!read_input_callback) { return NULL; } wrapper_impl = libxml2_reader_wrapper_create(env); if (!wrapper_impl) { return NULL; } wrapper_impl->close_input_callback = NULL; wrapper_impl->read_input_callback = NULL; wrapper_impl->read_input_callback = read_input_callback; wrapper_impl->close_input_callback = close_input_callback; wrapper_impl->ctx = ctx; if (wrapper_impl->close_input_callback) { wrapper_impl->reader = xmlReaderForIO(axis2_libxml2_reader_wrapper_read_input_callback, axis2_libxml2_reader_wrapper_close_input_callback, wrapper_impl, NULL, encoding, XML_PARSE_RECOVER); } else { wrapper_impl->reader = xmlReaderForIO(axis2_libxml2_reader_wrapper_read_input_callback, NULL, wrapper_impl, NULL, encoding, XML_PARSE_RECOVER); } if (!(wrapper_impl->reader)) { AXIS2_FREE(env->allocator, wrapper_impl); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); return NULL; } xmlTextReaderSetErrorHandler(wrapper_impl->reader, (xmlTextReaderErrorFunc) axis2_libxml2_reader_wrapper_error_handler, (void *) env); wrapper_impl->current_event = -1; axis2_libxml2_reader_wrapper_init_map(wrapper_impl); wrapper_impl->parser.ops = &axiom_xml_reader_ops_var; return &(wrapper_impl->parser); } AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_memory( const axutil_env_t * env, void *container, int size, const axis2_char_t * encoding, int type) { axis2_libxml2_reader_wrapper_impl_t *wrapper_impl = NULL; AXIS2_PARAM_CHECK(env->error, container, NULL); wrapper_impl = libxml2_reader_wrapper_create(env); if (!wrapper_impl) { return NULL; } wrapper_impl->close_input_callback = NULL; wrapper_impl->read_input_callback = NULL; wrapper_impl->ctx = NULL; if (AXIS2_XML_PARSER_TYPE_BUFFER == type) { wrapper_impl->reader = xmlReaderForMemory((axis2_char_t *) container, size, NULL, encoding, XML_PARSE_RECOVER); } else if (AXIS2_XML_PARSER_TYPE_DOC == type) { wrapper_impl->reader = xmlReaderWalker((xmlDocPtr) container); } else { AXIS2_FREE(env->allocator, wrapper_impl); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE, AXIS2_FAILURE); return NULL; } if (!(wrapper_impl->reader)) { AXIS2_FREE(env->allocator, wrapper_impl); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); return NULL; } if (AXIS2_XML_PARSER_TYPE_BUFFER == type) { xmlTextReaderSetErrorHandler(wrapper_impl->reader, (xmlTextReaderErrorFunc) axis2_libxml2_reader_wrapper_error_handler, (void *) env); } wrapper_impl->current_event = -1; axis2_libxml2_reader_wrapper_init_map(wrapper_impl); wrapper_impl->parser.ops = &axiom_xml_reader_ops_var; return &(wrapper_impl->parser); } int AXIS2_CALL axis2_libxml2_reader_wrapper_next( axiom_xml_reader_t * parser, const axutil_env_t * env) { int ret_val = 0; int node = 2; int empty_check = 0; axis2_libxml2_reader_wrapper_impl_t *parser_impl; AXIS2_ENV_CHECK(env, -1); parser_impl = AXIS2_INTF_TO_IMPL(parser); ret_val = xmlTextReaderRead(parser_impl->reader); if (ret_val == 0) { AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "xml stream is over "); } if (ret_val == -1) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, " error occurred in reading xml stream "); return -1; } if (ret_val == 1) { node = xmlTextReaderNodeType(parser_impl->reader); parser_impl->current_event = parser_impl->event_map[node]; parser_impl->current_attribute_count = 0; parser_impl->current_namespace_count = 0; if (node == XML_READER_TYPE_ELEMENT) { empty_check = xmlTextReaderIsEmptyElement(parser_impl->reader); axis2_libxml2_reader_wrapper_fill_maps(parser, env); } if (empty_check == 1) { parser_impl->current_event = AXIOM_XML_READER_EMPTY_ELEMENT; return AXIOM_XML_READER_EMPTY_ELEMENT; } return parser_impl->event_map[node]; } else { return -1; } } /** * If your application crashes here, it may be due to an earlier call to * xmlCleanupParser() function. In client API, op_client create function has a call * to axiom_xml_reader_init and op_client_free function has a call to axiom_xml_reader_cleanup * function. You can avoid the call to axiom_xml_reader_cleanup using * axis2_options_set_xml_parser_reset function in client API. * refer to jira issue: https://issues.apache.org/jira/browse/AXIS2C-884 */ void AXIS2_CALL axis2_libxml2_reader_wrapper_free( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->ctx) { AXIS2_FREE(env->allocator, parser_impl->ctx); } if (parser_impl->reader) { xmlTextReaderClose(parser_impl->reader); xmlFreeTextReader(parser_impl->reader); } if(parser_impl->namespace_map) { AXIS2_FREE(env->allocator,parser_impl->namespace_map); parser_impl->namespace_map = NULL; } if(parser_impl->attribute_map) { AXIS2_FREE(env->allocator, parser_impl->attribute_map); parser_impl->attribute_map = NULL; } AXIS2_FREE(env->allocator, AXIS2_INTF_TO_IMPL(parser)); return; } int AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_count( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_event == AXIOM_XML_READER_START_ELEMENT || parser_impl->current_event == AXIOM_XML_READER_EMPTY_ELEMENT) { return parser_impl->current_attribute_count; } else { return 0; } } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_name_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { axis2_libxml2_reader_wrapper_impl_t *parser_impl; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_attribute_count > 0 && parser_impl->current_attribute_count >= i) { int ret = xmlTextReaderMoveToAttributeNo(parser_impl->reader, parser_impl->attribute_map[i]); if (ret == 1) { return (axis2_char_t *) xmlTextReaderLocalName(parser_impl->reader); } else { return NULL; } } return NULL; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_attribute_count > 0 && parser_impl->current_attribute_count >= i) { int ret = xmlTextReaderMoveToAttributeNo(parser_impl->reader, parser_impl->attribute_map[i]); if (ret == 1) { return (axis2_char_t *) xmlTextReaderPrefix(parser_impl->reader); } else { return NULL; } } return NULL; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_value_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { axis2_libxml2_reader_wrapper_impl_t *parser_impl; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_attribute_count > 0 && parser_impl->current_attribute_count >= i) { int ret = xmlTextReaderMoveToAttributeNo(parser_impl->reader, parser_impl->attribute_map[i]); if (ret == 1) { return (axis2_char_t *) xmlTextReaderValue(parser_impl->reader); } else { return NULL; } } return NULL; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_attribute_namespace_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { axis2_libxml2_reader_wrapper_impl_t *parser_impl; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_attribute_count > 0 && parser_impl->current_attribute_count >= i) { int ret = xmlTextReaderMoveToAttributeNo(parser_impl->reader, parser_impl->attribute_map[i]); if (ret == 1) { return (axis2_char_t *) xmlTextReaderNamespaceUri(parser_impl-> reader); } else { return NULL; } } return NULL; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_value( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); return (axis2_char_t *) xmlTextReaderValue(parser_impl->reader); } int AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_count( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_event == AXIOM_XML_READER_START_ELEMENT || parser_impl->current_event == AXIOM_XML_READER_EMPTY_ELEMENT) { return parser_impl->current_namespace_count; } else { return 0; } } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_uri_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_namespace_count > 0 && parser_impl->current_namespace_count >= i) { int ret = xmlTextReaderMoveToAttributeNo(parser_impl->reader, parser_impl->namespace_map[i]); if (ret == 1) { return (axis2_char_t *) xmlTextReaderValue(parser_impl->reader); } else return NULL; } return NULL; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; AXIS2_ENV_CHECK(env, NULL); parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_namespace_count > 0 && parser_impl->current_namespace_count >= i) { int ret = xmlTextReaderMoveToAttributeNo(parser_impl->reader, parser_impl->namespace_map[i]); if (ret == 1) { return (axis2_char_t *) xmlTextReaderLocalName(parser_impl->reader); } else { return NULL; } } return NULL; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); xmlTextReaderMoveToElement(parser_impl->reader); return (axis2_char_t *) xmlTextReaderPrefix(parser_impl->reader); } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_name( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); xmlTextReaderMoveToElement(parser_impl->reader); return (axis2_char_t *) xmlTextReaderLocalName(parser_impl->reader); } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_pi_target( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_event == AXIOM_XML_READER_PROCESSING_INSTRUCTION) { return (axis2_char_t *) xmlTextReaderLocalName(parser_impl->reader); } else { return NULL; } } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_dtd( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_event == AXIOM_XML_READER_DOCUMENT_TYPE) { return (axis2_char_t *) xmlTextReaderLocalName(parser_impl->reader); } else { return NULL; } } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_pi_data( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); if (parser_impl->current_event == AXIOM_XML_READER_PROCESSING_INSTRUCTION) { return (axis2_char_t *) xmlTextReaderValue(parser_impl->reader); } else { return NULL; } } void AXIS2_CALL axis2_libxml2_reader_wrapper_xml_free( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data) { AXIS2_ENV_CHECK(env, void); if (data) xmlFree(data); return; } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_char_set_encoding( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *reader_impl = NULL; reader_impl = AXIS2_INTF_TO_IMPL(parser); return (axis2_char_t *) xmlTextReaderConstEncoding(reader_impl->reader); } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_uri( axiom_xml_reader_t * parser, const axutil_env_t * env) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); return (axis2_char_t *) xmlTextReaderNamespaceUri(parser_impl->reader); } axis2_char_t *AXIS2_CALL axis2_libxml2_reader_wrapper_get_namespace_uri_by_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix) { axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; parser_impl = AXIS2_INTF_TO_IMPL(parser); if (!prefix || axutil_strcmp(prefix, "") == 0) { return NULL; } return (axis2_char_t *) xmlTextReaderLookupNamespace(parser_impl->reader, (const xmlChar *) prefix); } axis2_status_t axis2_libxml2_reader_wrapper_fill_maps( axiom_xml_reader_t * parser, const axutil_env_t * env) { int libxml2_attribute_count = 0; int attr_count = 0; int ns_count = 0; int i = 0; char *q_name = NULL; axis2_libxml2_reader_wrapper_impl_t *parser_impl = NULL; int map_size = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); parser_impl = AXIS2_INTF_TO_IMPL(parser); libxml2_attribute_count = xmlTextReaderAttributeCount(parser_impl->reader); if (libxml2_attribute_count == 0) { parser_impl->current_attribute_count = 0; parser_impl->current_namespace_count = 0; return AXIS2_SUCCESS; } map_size = libxml2_attribute_count +1; if(parser_impl->namespace_map) { AXIS2_FREE(env->allocator, parser_impl->namespace_map); parser_impl->namespace_map = NULL; } if(parser_impl->attribute_map) { AXIS2_FREE(env->allocator, parser_impl->attribute_map); parser_impl->attribute_map = NULL; } parser_impl->attribute_map = AXIS2_MALLOC(env->allocator, sizeof(int)* map_size); memset(parser_impl->attribute_map, 0, map_size*sizeof(int)); parser_impl->namespace_map = AXIS2_MALLOC(env->allocator, sizeof(int)*map_size); memset(parser_impl->namespace_map,0, map_size*sizeof(int)); for (i = 0; i < map_size ; i++) { parser_impl->namespace_map[i] = -1; parser_impl->attribute_map[i] = -1; } for (i = 0; i < libxml2_attribute_count; i++) { xmlTextReaderMoveToAttributeNo(parser_impl->reader, i); q_name = (char *) xmlTextReaderName(parser_impl->reader); if (q_name) { if ((strcmp(q_name, "xmlns") == 0) || (strncmp(q_name, "xmlns:", 6) == 0)) { /* found a namespace */ ns_count++; parser_impl->namespace_map[ns_count] = i; } else { /* found an attribute */ attr_count++; parser_impl->attribute_map[attr_count] = i; } xmlFree(q_name); q_name = NULL; } parser_impl->current_attribute_count = attr_count; parser_impl->current_namespace_count = ns_count; } return AXIS2_SUCCESS; } static int axis2_libxml2_reader_wrapper_read_input_callback( void *ctx, char *buffer, int size) { return ((axis2_libxml2_reader_wrapper_impl_t *) ctx)-> read_input_callback(buffer, size, ((axis2_libxml2_reader_wrapper_impl_t *) ctx)->ctx); } void axis2_libxml2_reader_wrapper_error_handler( void *arg, const char *msg, int severities, void *locator_ptr) { const axutil_env_t *env = NULL; env = (const axutil_env_t *) arg; switch (severities) { case XML_PARSER_SEVERITY_VALIDITY_WARNING: { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s VALIDITY WARNTING", msg); } break; case XML_PARSER_SEVERITY_VALIDITY_ERROR: { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s -- VALIDITY ERROR", msg); } break; case XML_PARSER_SEVERITY_WARNING: { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s -- VALIDITY ERROR", msg); } break; case XML_PARSER_SEVERITY_ERROR: { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "%s -- SEVERITY_ERROR", msg); } break; default: break; } } static int axis2_libxml2_reader_wrapper_close_input_callback( void *ctx) { return ((axis2_libxml2_reader_wrapper_impl_t *) ctx)-> close_input_callback(((axis2_libxml2_reader_wrapper_impl_t *) ctx)-> ctx); } axis2c-src-1.6.0/axiom/src/parser/libxml2/Makefile.am0000644000175000017500000000077511166304644023457 0ustar00manjulamanjula00000000000000lib_LTLIBRARIES = libaxis2_parser.la libaxis2_parser_la_SOURCES = ../xml_reader.c ../xml_writer.c \ libxml2_reader_wrapper.c libxml2_writer_wrapper.c libaxis2_parser_la_LIBADD = @LIBXML2_LIBS@ \ ../../../../util/src/libaxutil.la libaxis2_parser_la_LDFLAGS = -version-info $(VERSION_NO) libaxis2_libxml2_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../../util/include \ @LIBXML2_CFLAGS@ axis2c-src-1.6.0/axiom/src/parser/libxml2/Makefile.in0000644000175000017500000004205511172017173023460 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/parser/libxml2 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libaxis2_parser_la_DEPENDENCIES = ../../../../util/src/libaxutil.la am_libaxis2_parser_la_OBJECTS = xml_reader.lo xml_writer.lo \ libxml2_reader_wrapper.lo libxml2_writer_wrapper.lo libaxis2_parser_la_OBJECTS = $(am_libaxis2_parser_la_OBJECTS) libaxis2_parser_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libaxis2_parser_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libaxis2_parser_la_SOURCES) DIST_SOURCES = $(libaxis2_parser_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ lib_LTLIBRARIES = libaxis2_parser.la libaxis2_parser_la_SOURCES = ../xml_reader.c ../xml_writer.c \ libxml2_reader_wrapper.c libxml2_writer_wrapper.c libaxis2_parser_la_LIBADD = @LIBXML2_LIBS@ \ ../../../../util/src/libaxutil.la libaxis2_parser_la_LDFLAGS = -version-info $(VERSION_NO) libaxis2_libxml2_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../../util/include \ @LIBXML2_CFLAGS@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/parser/libxml2/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/parser/libxml2/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libaxis2_parser.la: $(libaxis2_parser_la_OBJECTS) $(libaxis2_parser_la_DEPENDENCIES) $(libaxis2_parser_la_LINK) -rpath $(libdir) $(libaxis2_parser_la_OBJECTS) $(libaxis2_parser_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxml2_reader_wrapper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libxml2_writer_wrapper.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_reader.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xml_writer.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< xml_reader.lo: ../xml_reader.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xml_reader.lo -MD -MP -MF $(DEPDIR)/xml_reader.Tpo -c -o xml_reader.lo `test -f '../xml_reader.c' || echo '$(srcdir)/'`../xml_reader.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xml_reader.Tpo $(DEPDIR)/xml_reader.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../xml_reader.c' object='xml_reader.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xml_reader.lo `test -f '../xml_reader.c' || echo '$(srcdir)/'`../xml_reader.c xml_writer.lo: ../xml_writer.c @am__fastdepCC_TRUE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT xml_writer.lo -MD -MP -MF $(DEPDIR)/xml_writer.Tpo -c -o xml_writer.lo `test -f '../xml_writer.c' || echo '$(srcdir)/'`../xml_writer.c @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/xml_writer.Tpo $(DEPDIR)/xml_writer.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='../xml_writer.c' object='xml_writer.lo' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o xml_writer.lo `test -f '../xml_writer.c' || echo '$(srcdir)/'`../xml_writer.c mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-libLTLIBRARIES install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am \ install-libLTLIBRARIES install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-libLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/parser/libxml2/libxml2_writer_wrapper.c0000644000175000017500000014037211166304644026272 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include /*******************************************************************************/ #define ENCODING "ISO-8859-1" #define AXIS2_XMLNS_NAMESPACE_URI "http://www.w3.org/XML/1998/namespace" #define AXIS2_XMLNS_PREFIX "xml" typedef struct uri_prefix_element { axis2_char_t *prefix; axis2_char_t *uri; axis2_char_t *real_prefix; axis2_char_t *key; } uri_prefix_element_t; typedef struct axis2_libxml2_writer_wrapper_impl { axiom_xml_writer_t writer; xmlTextWriterPtr xml_writer; xmlBufferPtr buffer; xmlDocPtr doc; int writer_type; axis2_char_t *encoding; int is_prefix_defaulting; int compression; axutil_stack_t *stack; axis2_bool_t in_empty_element; axis2_bool_t in_start_element; axutil_hash_t *uri_prefix_map; uri_prefix_element_t *default_lang_namespace; } axis2_libxml2_writer_wrapper_impl_t; #define AXIS2_INTF_TO_IMPL(p) ((axis2_libxml2_writer_wrapper_impl_t*)p) void AXIS2_CALL axis2_libxml2_writer_wrapper_free( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_end_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_empty_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_empty_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_empty_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_end_element( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_end_document( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_attribute( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_attribute_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_attribute_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_default_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_comment( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_processing_instruction( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_processing_instruction_data( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_cdata( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_dtd( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_entity_ref( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_document( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_document_with_version( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_document_with_version_encoding( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * encoding, axis2_char_t * version); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_characters( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text); axis2_char_t *AXIS2_CALL axis2_libxml2_writer_wrapper_get_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_set_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_set_default_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_encoded( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr); void *AXIS2_CALL axis2_libxml2_writer_wrapper_get_xml( axiom_xml_writer_t * writer, const axutil_env_t * env); unsigned int AXIS2_CALL axis2_libxml2_writer_wrapper_get_xml_size( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_flush( axiom_xml_writer_t * writer, const axutil_env_t * env); int AXIS2_CALL axis2_libxml2_writer_wrapper_get_type( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_raw( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content); static axis2_status_t axis2_libxml2_writer_wrapper_push( axiom_xml_writer_t * writer, const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix); static axis2_bool_t axis2_libxml2_writer_wrapper_is_namespace_declared( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * key); static void uri_prefix_element_free( uri_prefix_element_t * up_element, const axutil_env_t * env); static uri_prefix_element_t *uri_prefix_element_create( const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix, const axis2_char_t * real_prefix, const axis2_char_t * key); static void create_key_from_uri_prefix( const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix, axis2_char_t * array); static axis2_char_t *axis2_libxml2_writer_wrapper_find_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); static uri_prefix_element_t *axis2_libxml2_writer_wrapper_find_prefix_in_context( axutil_array_list_t * context, const axutil_env_t * env, axis2_char_t * uri); static const axiom_xml_writer_ops_t axiom_xml_writer_ops_var = { axis2_libxml2_writer_wrapper_free, axis2_libxml2_writer_wrapper_write_start_element, axis2_libxml2_writer_wrapper_end_start_element, axis2_libxml2_writer_wrapper_write_start_element_with_namespace, axis2_libxml2_writer_wrapper_write_start_element_with_namespace_prefix, axis2_libxml2_writer_wrapper_write_empty_element, axis2_libxml2_writer_wrapper_write_empty_element_with_namespace, axis2_libxml2_writer_wrapper_write_empty_element_with_namespace_prefix, axis2_libxml2_writer_wrapper_write_end_element, axis2_libxml2_writer_wrapper_write_end_document, axis2_libxml2_writer_wrapper_write_attribute, axis2_libxml2_writer_wrapper_write_attribute_with_namespace, axis2_libxml2_writer_wrapper_write_attribute_with_namespace_prefix, axis2_libxml2_writer_wrapper_write_namespace, axis2_libxml2_writer_wrapper_write_default_namespace, axis2_libxml2_writer_wrapper_write_comment, axis2_libxml2_writer_wrapper_write_processing_instruction, axis2_libxml2_writer_wrapper_write_processing_instruction_data, axis2_libxml2_writer_wrapper_write_cdata, axis2_libxml2_writer_wrapper_write_dtd, axis2_libxml2_writer_wrapper_write_entity_ref, axis2_libxml2_writer_wrapper_write_start_document, axis2_libxml2_writer_wrapper_write_start_document_with_version, axis2_libxml2_writer_wrapper_write_start_document_with_version_encoding, axis2_libxml2_writer_wrapper_write_characters, axis2_libxml2_writer_wrapper_get_prefix, axis2_libxml2_writer_wrapper_set_prefix, axis2_libxml2_writer_wrapper_set_default_prefix, axis2_libxml2_writer_wrapper_write_encoded, axis2_libxml2_writer_wrapper_get_xml, axis2_libxml2_writer_wrapper_get_xml_size, axis2_libxml2_writer_wrapper_get_type, axis2_libxml2_writer_wrapper_write_raw, axis2_libxml2_writer_wrapper_flush }; AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_xml_writer_create( const axutil_env_t * env, axis2_char_t * filename, axis2_char_t * encoding, int is_prefix_default, int compression) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, NULL); writer_impl = (axis2_libxml2_writer_wrapper_impl_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_libxml2_writer_wrapper_impl_t)); if (!writer_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create an XML writer wrapper"); return NULL; } writer_impl->xml_writer = xmlNewTextWriterFilename(filename, compression); if (!(writer_impl->xml_writer)) { AXIS2_FREE(env->allocator, writer_impl); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_CREATING_XML_STREAM_WRITER, AXIS2_FAILURE); return NULL; } writer_impl->buffer = NULL; writer_impl->encoding = NULL; writer_impl->compression = 0; writer_impl->in_empty_element = AXIS2_FALSE; writer_impl->in_start_element = AXIS2_FALSE; writer_impl->stack = NULL; writer_impl->uri_prefix_map = NULL; writer_impl->default_lang_namespace = NULL; writer_impl->writer_type = AXIS2_XML_PARSER_TYPE_FILE; writer_impl->compression = compression; if (encoding) { writer_impl->encoding = axutil_strdup(env, encoding); } else { writer_impl->encoding = axutil_strdup(env, ENCODING); } writer_impl->uri_prefix_map = axutil_hash_make(env); if (!(writer_impl->uri_prefix_map)) { axis2_libxml2_writer_wrapper_free(&(writer_impl->writer), env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create URI prefix hash map"); return NULL; } writer_impl->writer.ops = &axiom_xml_writer_ops_var; return &(writer_impl->writer); } AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_xml_writer_create_for_memory( const axutil_env_t * env, axis2_char_t * encoding, int is_prefix_default, int compression, int type) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, NULL); writer_impl = (axis2_libxml2_writer_wrapper_impl_t *) AXIS2_MALLOC(env->allocator, sizeof (axis2_libxml2_writer_wrapper_impl_t)); if (!writer_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create writer wrapper"); return NULL; } writer_impl->encoding = NULL; writer_impl->buffer = NULL; writer_impl->doc = NULL; writer_impl->in_empty_element = AXIS2_FALSE; writer_impl->in_start_element = AXIS2_FALSE; writer_impl->stack = NULL; writer_impl->uri_prefix_map = NULL; writer_impl->default_lang_namespace = NULL; writer_impl->compression = compression; if (AXIS2_XML_PARSER_TYPE_BUFFER == type) { writer_impl->writer_type = AXIS2_XML_PARSER_TYPE_BUFFER; writer_impl->buffer = xmlBufferCreate(); if (!(writer_impl->buffer)) { axis2_libxml2_writer_wrapper_free(&(writer_impl->writer), env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create a buffer for writer wrapper"); return NULL; } writer_impl->xml_writer = xmlNewTextWriterMemory(writer_impl->buffer, 0); } else if (AXIS2_XML_PARSER_TYPE_DOC == type) { writer_impl->writer_type = AXIS2_XML_PARSER_TYPE_DOC; writer_impl->xml_writer = xmlNewTextWriterDoc(&writer_impl->doc, 0); } else { axis2_libxml2_writer_wrapper_free(&(writer_impl->writer), env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_XML_PARSER_INVALID_MEM_TYPE, AXIS2_FAILURE); return NULL; } if (!(writer_impl->xml_writer)) { axis2_libxml2_writer_wrapper_free(&(writer_impl->writer), env); AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_CREATING_XML_STREAM_WRITER, AXIS2_FAILURE); return NULL; } if (encoding) { writer_impl->encoding = axutil_strdup(env, encoding); } else { writer_impl->encoding = axutil_strdup(env, ENCODING); } writer_impl->uri_prefix_map = axutil_hash_make(env); if (!(writer_impl->uri_prefix_map)) { axis2_libxml2_writer_wrapper_free(&(writer_impl->writer), env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create URI prefix hash map"); return NULL; } writer_impl->stack = axutil_stack_create(env); if (!(writer_impl->stack)) { axis2_libxml2_writer_wrapper_free(&(writer_impl->writer), env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create the stack for writer wrapper"); return NULL; } writer_impl->writer.ops = &axiom_xml_writer_ops_var; return &(writer_impl->writer); } void AXIS2_CALL axis2_libxml2_writer_wrapper_free( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); if (writer_impl->xml_writer) { xmlFreeTextWriter(writer_impl->xml_writer); writer_impl->xml_writer = NULL; } if (writer_impl->buffer) { xmlBufferFree(writer_impl->buffer); writer_impl->buffer = NULL; } if (writer_impl->encoding) { AXIS2_FREE(env->allocator, writer_impl->encoding); writer_impl->encoding = NULL; } if (writer_impl->uri_prefix_map) { axutil_hash_free(writer_impl->uri_prefix_map, env); writer_impl->uri_prefix_map = NULL; } if (writer_impl->stack) { axutil_stack_free(writer_impl->stack, env); writer_impl->stack = NULL; } if (writer_impl->default_lang_namespace) { uri_prefix_element_free(writer_impl->default_lang_namespace, env); writer_impl->default_lang_namespace = NULL; } AXIS2_FREE(env->allocator, writer_impl); writer_impl = NULL; return; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname) { int status = 0; axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); writer_impl->in_start_element = AXIS2_TRUE; status = xmlTextWriterStartElement(writer_impl->xml_writer, (xmlChar *) localname); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_end_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); /* nothing to do , it is automatically taken care by the libxml2 writer */ return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartElementNS(writer_impl->xml_writer, NULL, BAD_CAST localname, NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); writer_impl->in_start_element = AXIS2_TRUE; status = xmlTextWriterStartElementNS(writer_impl->xml_writer, BAD_CAST prefix, BAD_CAST localname, BAD_CAST NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_empty_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname) { int status = 0; axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartElement(writer_impl->xml_writer, (xmlChar *) localname); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_EMPTY_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } status = xmlTextWriterEndElement(writer_impl->xml_writer); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_EMPTY_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_empty_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartElementNS(writer_impl->xml_writer, NULL, BAD_CAST localname, BAD_CAST namespace_uri); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE, AXIS2_FAILURE); return AXIS2_FAILURE; } status = xmlTextWriterEndElement(writer_impl->xml_writer); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_empty_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartElementNS(writer_impl->xml_writer, BAD_CAST prefix, BAD_CAST localname, BAD_CAST NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_ELEMENT_WITH_NAMESPACE_PREFIX, AXIS2_FAILURE); return AXIS2_FAILURE; } status = xmlTextWriterEndElement(writer_impl->xml_writer); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_EMPTY_ELEMENT_WITH_NAMESPACE_PREFIX, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_end_element( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); writer_impl->in_start_element = AXIS2_FALSE; /* write an empty element in case the element is empty, status = xmlTextWriterFullEndElement(writer_impl->xml_writer); Above call write it like . Call below will write it like */ status = xmlTextWriterEndElement(writer_impl->xml_writer); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_END_ELEMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_end_document( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterEndDocument(writer_impl->xml_writer); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_END_DOCUMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_attribute( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); if (!value) { value = ""; } writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteAttribute(writer_impl->xml_writer, BAD_CAST localname, BAD_CAST value); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_ATTRIBUTE, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_attribute_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); if (!value) { value = ""; } writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteAttributeNS(writer_impl->xml_writer, NULL, BAD_CAST localname, BAD_CAST NULL, BAD_CAST value); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_attribute_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, localname, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); if (!value) { value = ""; } writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteAttributeNS(writer_impl->xml_writer, BAD_CAST prefix, BAD_CAST localname, BAD_CAST NULL, BAD_CAST value); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } /** need to work on this */ axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; char *xmlnsprefix = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); if (prefix && (axutil_strcmp(prefix, "") != 0)) { xmlnsprefix = (axis2_char_t *) AXIS2_MALLOC(env->allocator, (sizeof(char) * (axutil_strlen(prefix) + 7))); sprintf(xmlnsprefix, "xmlns:%s", prefix); } else { xmlnsprefix = axutil_strdup(env, "xmlns"); } status = xmlTextWriterWriteAttribute(writer_impl->xml_writer, BAD_CAST xmlnsprefix, BAD_CAST namespace_uri); AXIS2_FREE(env->allocator, xmlnsprefix); xmlnsprefix = NULL; if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_ATTRIBUTE_WITH_NAMESPACE_PREFIX, AXIS2_FAILURE); return AXIS2_FAILURE; } AXIS2_FREE(env->allocator, xmlnsprefix); xmlnsprefix = NULL; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_default_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; axis2_char_t *xmlns = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, namespace_uri, AXIS2_FAILURE) xmlns = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (strlen("xmlns") + 1)); sprintf(xmlns, "xmlns"); status = xmlTextWriterWriteAttribute(writer_impl->xml_writer, (const xmlChar *) xmlns, BAD_CAST namespace_uri); if (xmlns) { AXIS2_FREE(env->allocator, xmlns); xmlns = NULL; } if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_DEFAULT_NAMESPACE, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_comment( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteComment(writer_impl->xml_writer, BAD_CAST value); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_COMMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_processing_instruction( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, target, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartPI(writer_impl->xml_writer, BAD_CAST target); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_processing_instruction_data( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, target, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, data, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWritePI(writer_impl->xml_writer, BAD_CAST target, BAD_CAST data); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_PROCESSING_INSTRUCTION, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_cdata( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, data, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteCDATA(writer_impl->xml_writer, BAD_CAST data); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_CDATA, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_dtd( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, dtd, AXIS2_FAILURE); status = xmlTextWriterStartDTD(writer_impl->xml_writer, BAD_CAST dtd, NULL, NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_DTD, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_entity_ref( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_document( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *wrapper_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); wrapper_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartDocument(wrapper_impl->xml_writer, NULL, NULL, NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_DOCUMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_document_with_version( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version) { axis2_libxml2_writer_wrapper_impl_t *wrapper_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, version, AXIS2_FAILURE); wrapper_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartDocument(wrapper_impl->xml_writer, version, NULL, NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_DOCUMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_start_document_with_version_encoding( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * encoding, axis2_char_t * version) { axis2_libxml2_writer_wrapper_impl_t *wrapper_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); wrapper_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterStartDocument(wrapper_impl->xml_writer, version, encoding, NULL); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_DOCUMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_characters( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, text, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteString(writer_impl->xml_writer, BAD_CAST text); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_START_DOCUMENT, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_char_t *AXIS2_CALL axis2_libxml2_writer_wrapper_get_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_PARAM_CHECK(env->error, uri, NULL); writer_impl = AXIS2_INTF_TO_IMPL(writer); if (!uri || axutil_strcmp(uri, "") == 0) { return NULL; } return axis2_libxml2_writer_wrapper_find_prefix(writer, env, uri); } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_set_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; axis2_bool_t is_declared = AXIS2_FALSE; axis2_char_t key[1024]; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, prefix, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); if (axutil_strcmp(uri, "") == 0) { return AXIS2_FAILURE; } create_key_from_uri_prefix(env, uri, prefix, key); is_declared = axis2_libxml2_writer_wrapper_is_namespace_declared(writer, env, key); if (!is_declared) { return axis2_libxml2_writer_wrapper_push(writer, env, uri, prefix); } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_set_default_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { axis2_bool_t is_declared = AXIS2_FALSE; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, uri, AXIS2_FAILURE); if (axutil_strcmp(uri, "") == 0) { return AXIS2_FAILURE; } is_declared = axis2_libxml2_writer_wrapper_is_namespace_declared(writer, env, uri); if (!is_declared) { return axis2_libxml2_writer_wrapper_push(writer, env, uri, NULL); } return AXIS2_FAILURE; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_encoded( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, text, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); return AXIS2_FAILURE; } void *AXIS2_CALL axis2_libxml2_writer_wrapper_get_xml( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; writer_impl = AXIS2_INTF_TO_IMPL(writer); if (writer_impl->writer_type == AXIS2_XML_PARSER_TYPE_BUFFER) { int output_bytes = 0; output_bytes = xmlTextWriterFlush(writer_impl->xml_writer); return writer_impl->buffer->content; } else if (writer_impl->writer_type == AXIS2_XML_PARSER_TYPE_DOC) { return (void *) writer_impl->doc; } else if (writer_impl->writer_type == AXIS2_XML_PARSER_TYPE_FILE) { return NULL; } return NULL; } unsigned int AXIS2_CALL axis2_libxml2_writer_wrapper_get_xml_size( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; writer_impl = AXIS2_INTF_TO_IMPL(writer); if (writer_impl->writer_type == AXIS2_XML_PARSER_TYPE_BUFFER) { return writer_impl->buffer->use; } else { return 0; } } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_flush( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; writer_impl = AXIS2_INTF_TO_IMPL(writer); if (writer_impl->xml_writer) { int ret = 0; ret = xmlTextWriterFlush(writer_impl->xml_writer); if (ret > -1) return AXIS2_SUCCESS; } return AXIS2_FAILURE; } int AXIS2_CALL axis2_libxml2_writer_wrapper_get_type( axiom_xml_writer_t * writer, const axutil_env_t * env) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; writer_impl = AXIS2_INTF_TO_IMPL(writer); return writer_impl->writer_type; } static axis2_status_t axis2_libxml2_writer_wrapper_push( axiom_xml_writer_t * writer, const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; axutil_array_list_t *current_list = NULL; axis2_char_t key[1024]; const axis2_char_t *temp_prefix = NULL; writer_impl = AXIS2_INTF_TO_IMPL(writer); if (!prefix || axutil_strcmp(prefix, "") == 0) { temp_prefix = "default"; } else { temp_prefix = prefix; } if (writer_impl->stack) { current_list = (axutil_array_list_t *) axutil_stack_get(writer_impl->stack, env); if (current_list) { uri_prefix_element_t *ele = NULL; create_key_from_uri_prefix(env, uri, prefix, key); ele = uri_prefix_element_create(env, uri, temp_prefix, prefix, key); if (ele) { axutil_array_list_add(current_list, env, ele); axutil_hash_set(writer_impl->uri_prefix_map, ele->key, AXIS2_HASH_KEY_STRING, ele->prefix); } } } return AXIS2_SUCCESS; } static axis2_bool_t axis2_libxml2_writer_wrapper_is_namespace_declared( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * key) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FALSE); writer_impl = AXIS2_INTF_TO_IMPL(writer); if (writer_impl->uri_prefix_map && NULL != key) { void *ret = NULL; ret = axutil_hash_get(writer_impl->uri_prefix_map, key, AXIS2_HASH_KEY_STRING); if (ret) { return AXIS2_TRUE; } } return AXIS2_FALSE; } static void uri_prefix_element_free( uri_prefix_element_t * up_element, const axutil_env_t * env) { if (up_element) { if (up_element->uri) { AXIS2_FREE(env->allocator, up_element->uri); up_element->uri = NULL; } if (up_element->prefix) { AXIS2_FREE(env->allocator, up_element->prefix); up_element->prefix = NULL; } if (up_element->key) { AXIS2_FREE(env->allocator, up_element->key); up_element->key = NULL; } if (up_element->real_prefix) { AXIS2_FREE(env->allocator, up_element->real_prefix); up_element->real_prefix = NULL; } AXIS2_FREE(env->allocator, up_element); up_element = NULL; } return; } static uri_prefix_element_t * uri_prefix_element_create( const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix, const axis2_char_t * real_prefix, const axis2_char_t * key) { uri_prefix_element_t *up_element = NULL; up_element = (uri_prefix_element_t *) AXIS2_MALLOC(env->allocator, sizeof (uri_prefix_element_t)); if (!uri) { return NULL; } if (!up_element) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "No memory. Cannot create URI prefix element %s", uri); return NULL; } up_element->key = NULL; up_element->prefix = NULL; up_element->uri = NULL; up_element->real_prefix = NULL; up_element->uri = axutil_strdup(env, uri); if (!up_element->uri) { uri_prefix_element_free(up_element, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } up_element->prefix = axutil_strdup(env, prefix); if (prefix && !up_element->prefix) { uri_prefix_element_free(up_element, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } up_element->key = axutil_strdup(env, key); if (key && !up_element->key) { uri_prefix_element_free(up_element, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } up_element->real_prefix = axutil_strdup(env, real_prefix); return up_element; } static void create_key_from_uri_prefix( const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix, axis2_char_t * array) { if (!prefix) { prefix = ""; } sprintf(array, "%s%s%s", uri, "|", prefix); } static axis2_char_t * axis2_libxml2_writer_wrapper_find_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int size = 0; int i = 0; writer_impl = AXIS2_INTF_TO_IMPL(writer); if (!writer_impl->stack) { return NULL; } size = axutil_stack_size(writer_impl->stack, env); if (size <= 0) { return NULL; } for (i = size - 1; i < 0; i--) { axutil_array_list_t *context = NULL; void *value = NULL; value = axutil_stack_get_at(writer_impl->stack, env, i); if (value) { uri_prefix_element_t *up_ele = NULL; context = (axutil_array_list_t *) value; up_ele = axis2_libxml2_writer_wrapper_find_prefix_in_context(context, env, uri); if (up_ele) { return up_ele->real_prefix; } } } return NULL; } static uri_prefix_element_t * axis2_libxml2_writer_wrapper_find_prefix_in_context( axutil_array_list_t * context, const axutil_env_t * env, axis2_char_t * uri) { int size = 0; int i = 0; if (!context) { return NULL; } size = axutil_array_list_size(context, env); for (i = 0; i < size; i++) { uri_prefix_element_t *ele = NULL; void *value = NULL; value = axutil_array_list_get(context, env, i); if (value) { ele = (uri_prefix_element_t *) value; if (ele->uri && axutil_strcmp(uri, ele->uri)) { return ele; } } } return NULL; } axis2_status_t AXIS2_CALL axis2_libxml2_writer_wrapper_write_raw( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content) { axis2_libxml2_writer_wrapper_impl_t *writer_impl = NULL; int status = 0; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, content, AXIS2_FAILURE); writer_impl = AXIS2_INTF_TO_IMPL(writer); status = xmlTextWriterWriteRaw(writer_impl->xml_writer, BAD_CAST content); if (status < 0) { AXIS2_HANDLE_ERROR(env, AXIS2_ERROR_WRITING_DATA_SOURCE, AXIS2_FAILURE); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/axiom/src/parser/Makefile.am0000644000175000017500000000007111166304644022073 0ustar00manjulamanjula00000000000000SUBDIRS = $(WRAPPER_DIR) DIST_SUBDIRS=guththila libxml2 axis2c-src-1.6.0/axiom/src/parser/Makefile.in0000644000175000017500000003427111172017173022110 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/parser DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = $(WRAPPER_DIR) DIST_SUBDIRS = guththila libxml2 all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/parser/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/parser/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/src/parser/xml_reader.c0000644000175000017500000001151611166304644022333 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN int AXIS2_CALL axiom_xml_reader_next( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->next(parser, env); } AXIS2_EXTERN void AXIS2_CALL axiom_xml_reader_free( axiom_xml_reader_t * parser, const axutil_env_t * env) { (parser)->ops->free(parser, env); } AXIS2_EXTERN int AXIS2_CALL axiom_xml_reader_get_attribute_count( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_attribute_count(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_name_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { return (parser)->ops->get_attribute_name_by_number(parser, env, i); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { return (parser)->ops->get_attribute_prefix_by_number(parser, env, i); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_value_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { return (parser)->ops->get_attribute_value_by_number(parser, env, i); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_namespace_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { return (parser)->ops->get_attribute_namespace_by_number(parser, env, i); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_value( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_value(parser, env); } AXIS2_EXTERN int AXIS2_CALL axiom_xml_reader_get_namespace_count( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_namespace_count(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_uri_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { return (parser)->ops->get_namespace_uri_by_number(parser, env, i); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i) { return (parser)->ops->get_namespace_prefix_by_number(parser, env, i); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_prefix(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_name( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_name(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_pi_target( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_pi_target(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_pi_data( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_pi_data(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_dtd( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_dtd(parser, env); } AXIS2_EXTERN void AXIS2_CALL axiom_xml_reader_xml_free( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data) { (parser)->ops->xml_free(parser, env, data); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_char_set_encoding( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_char_set_encoding(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_uri( axiom_xml_reader_t * parser, const axutil_env_t * env) { return (parser)->ops->get_namespace_uri(parser, env); } AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_uri_by_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix) { return (parser)->ops->get_namespace_uri_by_prefix(parser, env, prefix); } axis2c-src-1.6.0/axiom/NEWS0000644000175000017500000000051011166304645016452 0ustar00manjulamanjula00000000000000Axiom module seperated from Axis2/C ====================================== Initially this was inside Axis2/C code base as axiom directory. As the project expands it's moved to the top level with the view of making it a seperate Apache project called Apache Axiom/C. -- Axis2-C team Thu, 18 May 2006 axis2c-src-1.6.0/axiom/test/0000777000175000017500000000000011172017535016736 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/om/0000777000175000017500000000000011172017535017351 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/om/Makefile.am0000644000175000017500000000066211166304616021407 0ustar00manjulamanjula00000000000000TESTS = noinst_PROGRAMS = test_om check_PROGRAMS = test_om SUBDIRS = AM_CFLAGS = -g -O2 -pthread test_om_SOURCES = test_om.c test_om_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../util/include axis2c-src-1.6.0/axiom/test/om/Makefile.in0000644000175000017500000004717211172017173021423 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = noinst_PROGRAMS = test_om$(EXEEXT) check_PROGRAMS = test_om$(EXEEXT) subdir = test/om DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_om_OBJECTS = test_om.$(OBJEXT) test_om_OBJECTS = $(am_test_om_OBJECTS) test_om_DEPENDENCIES = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_om_SOURCES) DIST_SOURCES = $(test_om_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -O2 -pthread test_om_SOURCES = test_om.c test_om_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../util/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/om/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/om/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_om$(EXEEXT): $(test_om_OBJECTS) $(test_om_DEPENDENCIES) @rm -f test_om$(EXEEXT) $(LINK) $(test_om_OBJECTS) $(test_om_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_om.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/test/om/test_om.c0000644000175000017500000002767511166304616021206 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include /** Define the environment related variables globally so that they are available for both functions */ axutil_allocator_t *allocator = NULL; axutil_env_t *environment = NULL; axutil_stream_t *stream = NULL; axutil_error_t *error = NULL; axutil_log_t *axis_log = NULL; FILE *f = NULL; /** a method that demonstrate creating a om model using an xml file */ int AXIS2_CALL read_input( char *buffer, int size, void *ctx) { int len = 0; char *pos = NULL; len = fread(buffer, sizeof(char), size, f); if (buffer) pos = strstr(buffer, "---"); if (pos) { len = pos - buffer; *pos = '\0'; } return len; } int test_om_build( const char *filename) { axiom_element_t *ele1 = NULL, *ele2 = NULL; axiom_stax_builder_t *builder = NULL; axiom_text_t *text = NULL; axiom_document_t *document = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_node_t *node3 = NULL; axiom_output_t *om_output = NULL; axiom_namespace_t *ns = NULL; axiom_xml_reader_t *reader = NULL; axiom_xml_writer_t *writer = NULL; char *buffer = NULL; axutil_hash_t* hash = NULL; printf("\nstart test_om_build\n"); f = fopen(filename, "r"); if (!f) return -1; /** create pull parser */ reader = axiom_xml_reader_create_for_io(environment, read_input, NULL, NULL, NULL); if (!reader) { printf("ERROR CREATING PULLPARSER"); return -1; } /** create axiom_stax_builder by parsing pull_parser struct */ builder = axiom_stax_builder_create(environment, reader); if (!builder) { printf("ERROR CREATING PULL PARSER"); return -1; } /** create an om document document is the container of om model created using builder */ document = axiom_stax_builder_get_document(builder, environment); /** get root element , building starts hear */ if (!document) return -1; node1 = axiom_document_get_root_element(document, environment); if (!node1) { printf(" root element null "); axiom_stax_builder_free(builder, environment); return -1; } if (node1) { /** print root node information */ ele1 = axiom_node_get_data_element(node1, environment); if (ele1) { printf("root localname %s\n", axiom_element_get_localname(ele1, environment)); hash = axiom_element_get_all_attributes(ele1,environment); if(hash) { axutil_hash_index_t *hi; const void *key= NULL; void *val = NULL; for (hi = axutil_hash_first(hash,environment); hi; hi = axutil_hash_next(environment, hi)) { axutil_hash_this(hi, &key, NULL,&val); if(val) { printf(" Attribute name: %s", axiom_attribute_get_localname((axiom_attribute_t *)val,environment)); printf(" value: %s\n", axiom_attribute_get_value((axiom_attribute_t *)val,environment)); } } } } ns = axiom_element_get_namespace(ele1, environment, node1); if (ns) { printf("root ns prefix %s\n", axiom_namespace_get_prefix(ns, environment)); printf("root ns uri %s\n", axiom_namespace_get_uri(ns, environment)); printf("============================================="); } else printf("============================================="); } /** build the document continuously untill all the xml file is built in to a om model */ node2 = axiom_document_build_next(document, environment); do { if (!node2) break; switch (axiom_node_get_node_type(node2, environment)) { case AXIOM_ELEMENT: ele2 = (axiom_element_t *) axiom_node_get_data_element(node2, environment); printf("============================================="); if (ele2 && axiom_element_get_localname(ele2, environment)) { printf("\n localname %s\n", axiom_element_get_localname(ele2, environment)); hash = axiom_element_get_all_attributes(ele2,environment); if(hash) { axutil_hash_index_t *hi; const void *key= NULL; void *val = NULL; for (hi = axutil_hash_first(hash,environment); hi; hi = axutil_hash_next(environment, hi)) { axutil_hash_this(hi, &key, NULL,&val); if(val) { printf(" Attribute name: %s", axiom_attribute_get_localname((axiom_attribute_t *)val,environment)); printf(" value: %s\n", axiom_attribute_get_value((axiom_attribute_t *)val,environment)); } } } } if (!node3) node3 = node2; break; case AXIOM_TEXT: text = (axiom_text_t *) axiom_node_get_data_element(node2, environment); if (text && axiom_text_get_value(text, environment)) printf("\n text value %s \n", axiom_text_get_value(text, environment)); break; default: break; } node2 = axiom_document_build_next(document, environment); } while (node2); printf("END: pull document\n"); printf("Serialize pulled document\n"); writer = axiom_xml_writer_create_for_memory(environment, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(environment, writer); axiom_node_serialize_sub_tree(node3, environment, om_output); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(writer, environment); if (buffer) printf("Sub Tree = %s\n", buffer); axiom_output_free(om_output, environment); axiom_stax_builder_free(builder, environment); /* if (buffer) */ /* AXIS2_FREE(environment->allocator, buffer); */ printf("\nend test_om_build\n"); fclose(f); return 0; } int test_om_serialize( ) { /* Axis2/C OM HOWTO 1748491379

    This is vey good book on OM!

    */ int status; axiom_element_t *ele1 = NULL, *ele2 = NULL, *ele3 = NULL, *ele4 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL, *node3 = NULL, *node4 = NULL, *node5 = NULL, *node6 = NULL; axiom_data_source_t *data_source = NULL; axutil_stream_t *stream = NULL; axiom_attribute_t *attr1 = NULL, *attr2 = NULL; axiom_namespace_t *ns1 = NULL, *ns2 = NULL; axiom_text_t *text1 = NULL; axiom_output_t *om_output = NULL; axiom_xml_writer_t *writer = NULL; axis2_char_t *output_buffer = NULL; printf("\nstart test_om_serialize\n"); ns1 = axiom_namespace_create(environment, "http://ws.apache.org/axis2/c/om", "axiom"); ns2 = axiom_namespace_create(environment, "urn:ISBN:0-395-74341-6", "isbn"); ele1 = axiom_element_create(environment, NULL, "book", ns1, &node1); axiom_element_declare_namespace(ele1, environment, node1, ns2); ele2 = axiom_element_create(environment, node1, "title", ns1, &node2); attr1 = axiom_attribute_create(environment, "title22", NULL, NULL); axiom_element_add_attribute(ele2, environment, attr1, node2); text1 = axiom_text_create(environment, node2, "Axis2/C OM HOWTO", &node3); ele3 = axiom_element_create(environment, node1, "number", ns2, &node4); text1 = axiom_text_create(environment, node4, "1748491379", &node5); ele4 = axiom_element_create(environment, node1, "author", ns1, &node6); attr1 = axiom_attribute_create(environment, "title", "Mr", ns1); axiom_element_add_attribute(ele4, environment, attr1, node6); attr2 = axiom_attribute_create(environment, "name", "Axitoc Oman", ns1); axiom_element_add_attribute(ele4, environment, attr2, node6); data_source = axiom_data_source_create(environment, node1, &node6); stream = axiom_data_source_get_stream(data_source, environment); if (stream) { axutil_stream_write(stream, environment, "is a test", axutil_strlen ("is a test")); } /* serializing stuff */ writer = axiom_xml_writer_create_for_memory(environment, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(environment, writer); printf("Serialize built document\n"); status = axiom_node_serialize(node1, environment, om_output); if (status != AXIS2_SUCCESS) { printf("\naxiom_node_serialize failed\n"); return status; } else printf("\naxiom_node_serialize success\n"); /* end serializing stuff */ axiom_node_free_tree(node1, environment); output_buffer = (axis2_char_t *) axiom_xml_writer_get_xml(writer, environment); axiom_output_free(om_output, environment); /* if (output_buffer) */ /* { */ /* printf("%s", output_buffer); */ /* AXIS2_FREE(environment->allocator, output_buffer); */ /* } */ printf("\nend test_om_serialize\n"); return 0; } int main( int argc, char *argv[]) { const char *file_name = "../../resources/xml/om/test.xml"; if (argc > 1) file_name = argv[1]; allocator = axutil_allocator_init(NULL); axis_log = axutil_log_create(allocator, NULL, NULL); error = axutil_error_create(allocator); environment = axutil_env_create_with_error_log(allocator, error, axis_log); test_om_build(file_name); test_om_serialize(); axutil_env_free(environment); return 0; } axis2c-src-1.6.0/axiom/test/soap/0000777000175000017500000000000011172017535017700 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/soap/Makefile.am0000644000175000017500000000064611166304611021733 0ustar00manjulamanjula00000000000000TESTS = test_soap noinst_PROGRAMS = test_soap check_PROGRAMS = test_soap SUBDIRS = AM_CFLAGS = -g -O2 -pthread test_soap_SOURCES = test_soap.c test_soap_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../util/include axis2c-src-1.6.0/axiom/test/soap/Makefile.in0000644000175000017500000004723211172017173021747 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = test_soap$(EXEEXT) noinst_PROGRAMS = test_soap$(EXEEXT) check_PROGRAMS = test_soap$(EXEEXT) subdir = test/soap DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_soap_OBJECTS = test_soap.$(OBJEXT) test_soap_OBJECTS = $(am_test_soap_OBJECTS) test_soap_DEPENDENCIES = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_soap_SOURCES) DIST_SOURCES = $(test_soap_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = AM_CFLAGS = -g -O2 -pthread test_soap_SOURCES = test_soap.c test_soap_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../util/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/soap/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/soap/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_soap$(EXEEXT): $(test_soap_OBJECTS) $(test_soap_DEPENDENCIES) @rm -f test_soap$(EXEEXT) $(LINK) $(test_soap_OBJECTS) $(test_soap_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_soap.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/test/soap/test_soap.c0000644000175000017500000004254111166304611022044 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include FILE *f = NULL; int read_soap( char *buffer, int size, void *ctx) { int len = 0; char *pos = NULL; len = fread(buffer, sizeof(char), size, f); if (buffer) pos = strstr(buffer, "---"); if (pos) { len = pos - buffer; *pos = '\0'; } printf("buffer = %s\n", buffer); return len; } /*int read_soap(char *buffer, int size, void *ctx) { return fread(buffer, sizeof(char), size, f); }*/ int close_soap( void *ctx) { fclose(f); return AXIS2_TRUE; } int printnode( axiom_node_t * om_node, const axutil_env_t * env) { axiom_element_t *om_ele = NULL; axis2_char_t *localname = NULL; axiom_namespace_t *om_ns = NULL; axis2_char_t *uri = NULL; axis2_char_t *prefix = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (!om_node) return AXIS2_FAILURE; if (axiom_node_get_node_type(om_node, env) == AXIOM_ELEMENT) { om_ele = (axiom_element_t *) axiom_node_get_data_element(om_node, env); if (!om_ele) return AXIS2_FAILURE; localname = axiom_element_get_localname(om_ele, env); if (localname) printf("\n %s \n", localname); om_ns = axiom_element_get_namespace(om_ele, env, om_node); if (om_ns) { prefix = axiom_namespace_get_prefix(om_ns, env); uri = axiom_namespace_get_uri(om_ns, env); printf("\n uri %s \n prefix %s \n", uri, prefix); } } return 0; } int build_soap( const axutil_env_t * env, const char *filename, const axis2_char_t * uri) { axiom_stax_builder_t *om_builder = NULL; axiom_xml_reader_t *xml_reader = NULL; axiom_soap_builder_t *soap_builder = NULL; axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *om_node = NULL; axis2_char_t *buffer = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_header_t *soap_header = NULL; axiom_children_qname_iterator_t *children_iter = NULL; int status = AXIS2_SUCCESS; if (!filename) return -1; f = fopen(filename, "r"); if (!f) return -1; printf(" \n\n _________ Test SOAP BUILD ___________ \n\n "); xml_reader = axiom_xml_reader_create_for_io(env, read_soap, close_soap, NULL, NULL); if (!xml_reader) { printf("%s \n", axutil_error_get_message(env->error)); return AXIS2_FAILURE; } om_builder = axiom_stax_builder_create(env, xml_reader); if (!om_builder) { axiom_xml_reader_free(xml_reader, env); printf("%s \n", axutil_error_get_message(env->error)); return AXIS2_FAILURE; } soap_builder = axiom_soap_builder_create(env, om_builder, uri); if (!soap_builder) { printf("%s \n", axutil_error_get_message(env->error)); return AXIS2_FAILURE; } soap_envelope = axiom_soap_builder_get_soap_envelope(soap_builder, env); if (!soap_envelope) { axiom_soap_builder_free(soap_builder, env); printf("%s \n", axutil_error_get_message(env->error)); return AXIS2_FAILURE; } om_node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (om_node) printnode(om_node, env); soap_header = axiom_soap_envelope_get_header(soap_envelope, env); if (soap_header) { om_node = axiom_soap_header_get_base_node(soap_header, env); if (om_node) printnode(om_node, env); children_iter = axiom_soap_header_examine_all_header_blocks(soap_header, env); if (children_iter) { /*while (axiom_children_iterator_has_next(children_iter, env)) { om_node = axiom_children_iterator_next(children_iter, env); if (om_node) printnode(om_node, env); } */ } } soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if (soap_body) { if (axiom_soap_body_has_fault(soap_body, env)); printf("axiom_soap_body_has_fault\n"); om_node = axiom_soap_body_get_base_node(soap_body, env); if (om_node) printnode(om_node, env); else printf("\n\n soap body base node null \n\n"); } else { printf("%s \n", axutil_error_get_message(env->error)); printf("\n\n ERROR soap_body NULL.\n\n"); return AXIS2_FAILURE; } if (axiom_soap_body_has_fault(soap_body, env)) { printf("\n\nsoap body has a fault element\n\n\n "); } om_node = axiom_soap_body_get_base_node(soap_body, env); if (om_node) { while (!(axiom_node_is_complete(om_node, env))) { status = axiom_soap_builder_next(soap_builder, env); if (status == AXIS2_FAILURE) { printf("failure %s", axutil_error_get_message(env->error)); return AXIS2_FAILURE; } } } xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_writer) { axiom_soap_builder_free(soap_builder, env); return AXIS2_FAILURE; } om_output = axiom_output_create(env, xml_writer); if (!om_output) { axiom_soap_builder_free(soap_builder, env); axiom_xml_writer_free(xml_writer, env); return AXIS2_FAILURE; } axiom_soap_envelope_serialize(soap_envelope, env, om_output, AXIS2_FALSE); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); printf("\n\nThe serialized xml is >>>>>>>>>>>>>\n\n\n%s \n\n\n", buffer); if (buffer) AXIS2_FREE(env->allocator, buffer); axiom_soap_envelope_free(soap_envelope, env); printf(" \n __________ END TEST SOAP BUILD ____________ \n"); return AXIS2_SUCCESS; } int build_soap_programatically( const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_header_t *soap_header = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_soap_fault_code_t *fault_code = NULL; axiom_soap_header_block_t *hb1 = NULL; axiom_namespace_t *env_ns = NULL; axiom_namespace_t *test_ns = NULL; axiom_namespace_t *role_ns = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; axiom_node_t *hb_node = NULL; axiom_element_t *hb_ele = NULL; printf(" \n ____________ BUILD SOAP PROGRAMATICALLY _______________ \n"); env_ns = axiom_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope", "env"); if (!env_ns) return AXIS2_FAILURE; soap_envelope = axiom_soap_envelope_create(env, env_ns); if (!soap_envelope) return AXIS2_FAILURE; soap_header = axiom_soap_header_create_with_parent(env, soap_envelope); if (!soap_header) return AXIS2_FAILURE; test_ns = axiom_namespace_create(env, "http://example.org/ts-tests", "test"); role_ns = axiom_namespace_create(env, "http://www.w3.org/2003/05/soap-envelope/role/next", "role"); hb1 = axiom_soap_header_block_create_with_parent(env, "echoOk", role_ns, soap_header); hb_node = axiom_soap_header_block_get_base_node(hb1, env); hb_ele = axiom_node_get_data_element(hb_node, env); axiom_element_set_namespace(hb_ele, env, test_ns, hb_node); soap_body = axiom_soap_body_create_with_parent(env, soap_envelope); soap_fault = axiom_soap_fault_create_with_parent(env, soap_body); fault_code = axiom_soap_fault_code_create_with_parent(env, soap_fault); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); axiom_soap_envelope_serialize(soap_envelope, env, om_output, AXIS2_FALSE); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); printf("%s \n", buffer); axiom_soap_envelope_free(soap_envelope, env); AXIS2_FREE(env->allocator, buffer); buffer = NULL; axiom_output_free(om_output, env); printf("\n __________ END BUILD SOAP PROGRAMATICALLY ____________\n"); return AXIS2_SUCCESS; } int create_soap_fault( const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; axis2_char_t *exception_text = NULL; axis2_status_t status = 0; soap_envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, "Fault Code", "Fault Reason", AXIOM_SOAP11, NULL, NULL); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); soap_fault = axiom_soap_body_get_fault(soap_body, env); axiom_soap_fault_detail_create_with_parent(env, soap_fault); axiom_soap_fault_role_create_with_parent(env, soap_fault); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); axiom_soap_envelope_serialize(soap_envelope, env, om_output, AXIS2_FALSE); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); printf("\n Testing Create soap fault \n %s \n", buffer); status = axiom_soap_fault_set_exception(soap_fault, env, "MyNewException"); exception_text = axiom_soap_fault_get_exception(soap_fault, env); printf(" Testing soap fault set exception \n"); printf("Actual = %s Expected = %s |", exception_text, "MyNewException"); if (status && (0 == strcmp(exception_text, "MyNewException"))) printf("SUCCESS\n"); else printf("FAILURE\n"); axiom_soap_envelope_free(soap_envelope, env); axiom_output_free(om_output, env); return 0; } int create_soap_fault_with_exception( const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *exception_text = NULL; soap_envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, "Fault Code", "Fault Reason", AXIOM_SOAP11, NULL, NULL); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); soap_fault = axiom_soap_fault_create_with_exception(env, soap_body, "MyException"); axiom_soap_fault_detail_create_with_parent(env, soap_fault); axiom_soap_fault_role_create_with_parent(env, soap_fault); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); axiom_soap_envelope_serialize(soap_envelope, env, om_output, AXIS2_FALSE); exception_text = axiom_soap_fault_get_exception(soap_fault, env); printf(" Testing Create soap fault with exception \n"); printf("Actual = %s Expected = %s |", exception_text, "MyException"); if (0 == strcmp(exception_text, "MyException")) printf("SUCCESS\n"); else printf("FAILURE\n"); axiom_soap_envelope_free(soap_envelope, env); axiom_output_free(om_output, env); return 0; } int test_soap_fault_node( const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axis2_char_t *node_text = NULL; axiom_soap_fault_node_t *fault_node = NULL; axis2_status_t status = 0; printf("Testing soap fault node \n"); soap_envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, "env:Receiver", "Something went wrong!", AXIOM_SOAP12, NULL, NULL); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); soap_fault = axiom_soap_body_get_fault(soap_body, env); fault_node = axiom_soap_fault_node_create_with_parent(env, soap_fault); status = axiom_soap_fault_node_set_value(fault_node, env, "MyFaultNode"); node_text = axiom_soap_fault_node_get_value(fault_node, env); printf("Actual = %s Expected = %s |", node_text, "MyFaultNode"); if (0 == strcmp(node_text, "MyFaultNode")) printf("SUCCESS\n"); else printf("FAILURE\n"); axiom_soap_envelope_free(soap_envelope, env); return 0; } int test_soap_fault_value( const axutil_env_t * env) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axiom_soap_fault_code_t *soap_code = NULL; axiom_soap_fault_value_t *value = NULL; axis2_char_t *value_text = NULL; printf("TEST SOAP FAULT VALUE\n"); soap_envelope = axiom_soap_envelope_create_default_soap_fault_envelope(env, "env:Receiver", "Something went wrong!", AXIOM_SOAP12, NULL, NULL); soap_body = axiom_soap_envelope_get_body(soap_envelope, env); soap_fault = axiom_soap_body_get_fault(soap_body, env); soap_code = axiom_soap_fault_get_code(soap_fault, env); value = axiom_soap_fault_code_get_value(soap_code, env); value_text = axiom_soap_fault_value_get_text(value, env); printf("Actual = %s Expected = %s |", value_text, "env:Receiver"); if (0 == strcmp(value_text, "env:Receiver")) printf("SUCCESS\n"); else printf("FAILURE\n"); axiom_soap_envelope_free(soap_envelope, env); return 0; } int main( int argc, char *argv[]) { axutil_env_t *env = NULL; axutil_allocator_t *allocator = NULL; axutil_error_t *error = NULL; axutil_log_t *log = NULL; const axis2_char_t *uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; const char *filename = "../resources/xml/soap/test.xml"; if (argc > 1) filename = argv[1]; if (argc > 2) { if (axutil_strcmp(argv[2], "0") == 0) uri = AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI; else if (axutil_strcmp(argv[2], "1") == 0) uri = AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI; } allocator = axutil_allocator_init(NULL); log = axutil_log_create(allocator, NULL, "test_soap.log"); log->level = AXIS2_LOG_LEVEL_DEBUG; error = axutil_error_create(allocator); env = axutil_env_create_with_error_log(allocator, error, log); axutil_error_init(); /*build_soap_programatically(env); */ build_soap(env, filename, uri); create_soap_fault(env); create_soap_fault_with_exception(env); test_soap_fault_node(env); test_soap_fault_value(env); axutil_env_free(env); return 0; } axis2c-src-1.6.0/axiom/test/util/0000777000175000017500000000000011172017535017713 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/util/axiom_util_test.c0000644000175000017500000001553211166304616023274 0ustar00manjulamanjula00000000000000#include #include #include #include #include #include "../../../util/test/util/create_env.h" FILE *f = NULL; axiom_node_t *node = NULL; axiom_node_t *child = NULL; axiom_types_t node_type; axiom_node_t *first_node = NULL; axiom_element_t *my_ele = NULL; axiom_element_t *first_element = NULL; axis2_char_t *uri = "http://www.develop.com/student"; const axutil_uri_t * uri1 = NULL; axiom_node_t *last_child = NULL; axiom_element_t *localname_last_child = NULL; axiom_element_t *localname_next_sibling = NULL; axiom_element_t *uri_localname_first_child = NULL; axiom_element_t *uri_localname_last_child = NULL; axiom_element_t *uri_localname_next_sibling = NULL; axiom_element_t *localname_first_child = NULL; axis2_char_t *localname = NULL; axiom_element_t *data_element = NULL; axiom_element_t *next_sibling = NULL; axiom_namespace_t *ns = NULL; axiom_element_t *last_element = NULL; axutil_qname_t *qname = NULL; axis2_char_t *attr_name = NULL; axiom_attribute_t *attr = NULL; axis2_char_t *attr_value = NULL; axiom_element_t *localname_attr_first_child = NULL; axiom_element_t *localname_attr_last_child = NULL; axiom_element_t *localname_attr_next_sibling = NULL; axiom_child_element_iterator_t * child_element = NULL; axis2_char_t * localpart = "type"; axis2_char_t *child_node_text = NULL; axis2_char_t *node_namespace_uri = NULL; axiom_document_t * new_document = NULL; axutil_array_list_t * names; axiom_node_t *parent = NULL; axis2_char_t * target = NULL; axis2_char_t * value = NULL; axiom_node_t *temp_node = NULL; axiom_xml_reader_t *xml_reader = NULL; int read_input_callback(char *buffer, int size, void* ctx) { return fread(buffer, sizeof(char), size, f); } int close_input_callback(void *ctx) { return fclose(f); } axis2_status_t build_and_serialize_om(axutil_env_t *env) { axiom_node_t *root_node = NULL; axiom_element_t *root_ele = NULL; axiom_document_t *document = NULL; axiom_stax_builder_t *om_builder = NULL; f = fopen("test.xml","r"); xml_reader = axiom_xml_reader_create_for_io(env, read_input_callback, close_input_callback, NULL, NULL); if(!xml_reader) return -1; om_builder = axiom_stax_builder_create(env, xml_reader); if(!om_builder) { axiom_xml_reader_free(xml_reader, env); return AXIS2_FAILURE; } document = axiom_stax_builder_get_document(om_builder, env); if(!document) { axiom_stax_builder_free(om_builder, env); return AXIS2_FAILURE; } root_node = axiom_document_get_root_element(document, env); if(!root_node) { axiom_stax_builder_free(om_builder, env); return AXIS2_FAILURE; } if(root_node) { if(axiom_node_get_node_type(root_node, env) == AXIOM_ELEMENT) { root_ele = (axiom_element_t*)axiom_node_get_data_element(root_node, env); if(root_ele) { printf(" %s is the root element \n" ,axiom_element_get_localname(root_ele, env)); } } } axiom_document_build_all(document, env); child = axiom_node_get_first_child(root_node, env); printf ("%s\n", axiom_node_to_string (child, env)); node = axiom_node_get_next_sibling(child, env); temp_node = axiom_node_get_next_sibling (node, env); child = axiom_node_get_first_child(node, env); printf (" %s\n", axiom_node_to_string (temp_node, env)); node_type = axiom_node_get_node_type(child,env); data_element =(axiom_element_t*)axiom_node_get_data_element(child,env); last_child = axiom_node_get_last_child(temp_node,env); ns = axiom_element_get_namespace((axiom_element_t*)axiom_node_get_data_element(root_node,env), env, root_node); printf("\nThe namespace = %s\n", axiom_namespace_to_string(ns,env)); uri = axiom_namespace_get_uri(ns,env); axiom_util_get_next_siblng_element_with_localnames(my_ele,env,node,names,&child); axiom_util_get_last_child_element_with_localnames(my_ele,env,node,names,&child); my_ele = axiom_util_get_first_child_element_with_uri(root_node,env,uri,&child); axiom_util_get_first_child_element_with_localnames(my_ele,env,node,names,&child); child = axiom_node_get_last_child(node, env); axiom_util_new_document(env,uri1); printf("\nmy_ele = "); printf("%s\n ",axiom_element_to_string(my_ele,env,child)); first_element = axiom_util_get_first_child_element(my_ele,env,child,&child); printf("The first element = %s\n",axiom_element_to_string(first_element,env,node)); last_element = axiom_util_get_last_child_element(my_ele,env,root_node,&child); localname = axiom_element_get_localname(my_ele,env); localname_last_child = axiom_util_get_last_child_element_with_localname(my_ele,env,root_node,localname,&child); localname_next_sibling = axiom_util_get_next_siblng_element_with_localname(my_ele,env,root_node,localname,&child); uri_localname_first_child = axiom_util_get_first_child_element_with_uri_localname(my_ele,env,root_node,localname,uri,&child); uri_localname_last_child = axiom_util_get_last_child_element_with_uri_localname(my_ele,env,root_node,localname,uri,&child); uri_localname_next_sibling = axiom_util_get_next_sibling_element_with_uri_localname(my_ele,env,root_node,localname,uri,&child); qname = axutil_qname_create(env,localpart, NULL, NULL); printf("The qname is "); printf("%s",axutil_qname_to_string(qname,env)); printf("\nThe localname is "); printf("%s\n", axiom_element_get_localname(my_ele, env)); attr = axiom_element_get_attribute(my_ele,env,qname); attr_name = axiom_attribute_get_localname(attr,env); attr_value = axiom_element_get_attribute_value(my_ele,env,qname); localname_attr_first_child = axiom_util_get_first_child_element_with_localname_attr(my_ele,env,root_node,localname,attr_name,attr_value,&child); localname_attr_last_child = axiom_util_get_last_child_element_with_localname_attr(my_ele,env,root_node,localname,attr_name,attr_value,&child); localname_attr_next_sibling = axiom_util_get_next_siblng_element_with_localname_attr(my_ele,env,root_node,localname,attr_name,attr_value,&child); axiom_util_get_child_node_text(node,env); node_namespace_uri = axiom_util_get_node_namespace_uri(node,env); child_element = axiom_util_get_child_elements(my_ele,env,node); printf("%s\n",axiom_element_to_string(localname_attr_next_sibling,env,node)); printf("%s\n","test is SUCCESS"); return AXIS2_SUCCESS; } int main() { int status = AXIS2_SUCCESS; axutil_env_t *env = NULL; status = build_and_serialize_om(env); if(status == AXIS2_FAILURE) { printf(" build AXIOM failed"); } axutil_env_free(env); return 0; } axis2c-src-1.6.0/axiom/test/util/Makefile.am0000644000175000017500000000035111166304616021744 0ustar00manjulamanjula00000000000000noinst_PROGRAMS = axiom axiom_SOURCES = axiom_util_test.c axiom_LDADD = \ $(top_builddir)/src/om/libaxis2_axiom.la INCLUDES = -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../include axis2c-src-1.6.0/axiom/test/util/Makefile.in0000644000175000017500000003201711172017173021755 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ noinst_PROGRAMS = axiom$(EXEEXT) subdir = test/util DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_axiom_OBJECTS = axiom_util_test.$(OBJEXT) axiom_OBJECTS = $(am_axiom_OBJECTS) axiom_DEPENDENCIES = $(top_builddir)/src/om/libaxis2_axiom.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(axiom_SOURCES) DIST_SOURCES = $(axiom_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ axiom_SOURCES = axiom_util_test.c axiom_LDADD = \ $(top_builddir)/src/om/libaxis2_axiom.la INCLUDES = -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/util/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/util/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done axiom$(EXEEXT): $(axiom_OBJECTS) $(axiom_DEPENDENCIES) @rm -f axiom$(EXEEXT) $(LINK) $(axiom_OBJECTS) $(axiom_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axiom_util_test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-noinstPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/test/xpath/0000777000175000017500000000000011172017535020062 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/xpath/test_xpath.c0000644000175000017500000003110511171531736022410 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* Compiling For Windows: cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /I %AXIS2C_HOME%\include /c *.c link.exe /LIBPATH:%AXIS2C_HOME%\lib axutil.lib axiom.lib axis2_parser.lib axis2_engine.lib /OUT:test.exe *.obj */ #include #include #include #include #include /* Function headers */ axiom_node_t *build_test_xml(const axutil_env_t *env); void output_results(const axutil_env_t *env, axiom_xpath_result_t *xpath_result); axiom_node_t *read_test_xml(const axutil_env_t *env, char *file_name); void output_results(const axutil_env_t *env, axiom_xpath_result_t *xpath_result); void evaluate(const axutil_env_t *env, axiom_xpath_context_t *context, axis2_char_t *expr_str); void evaluate_expressions(const axutil_env_t *env, axiom_xpath_context_t *context, char *file_name); void add_namespaces(const axutil_env_t *env, axiom_xpath_context_t *context, char *file_name); int readline(FILE *fin, char *str); FILE *fcor; /*FILE *ftemp;*/ int main(int argc, char *argv[]) { axiom_node_t *test_tree = NULL; axis2_char_t *test_tree_str; char *xml_file = "test.xml"; char *xpath_file = "test.xpath"; char *ns_file = "test.ns"; char *cor_file = "results.txt"; axiom_xpath_context_t *context = NULL; /* Create environment */ axutil_env_t *env = axutil_env_create_all("xpath_test.log", AXIS2_LOG_LEVEL_TRACE); /* Set input file */ if (argc > 1) { printf("Usage: test [xml_file xpath_file namespaces_file results_file]\n\n"); printf("\tLook at the example test case:"); printf(" test.xml, test.xpath test.ns\n\n"); if(argc > 4) { xml_file = argv[1]; xpath_file = argv[2]; ns_file = argv[3]; cor_file = argv[4]; } } /*Create the request */ /* test_tree = build_test_xml(env); */ test_tree = read_test_xml(env, (axis2_char_t *)xml_file); fcor = fopen(cor_file, "r"); /*ftemp = fopen("temp.txt", "w");*/ if (!fcor) { printf("Error opening file: %s\n", cor_file); } if (test_tree) { test_tree_str = axiom_node_to_string(test_tree, env); printf("\nTesting XML\n-----------\n\"%s\"\n\n\n", test_tree_str); /* Create XPath Context */ context = axiom_xpath_context_create(env, test_tree); /* Namespaces */ add_namespaces(env, context, ns_file); evaluate_expressions(env, context, xpath_file); test_tree_str = axiom_node_to_string(test_tree, env); printf("\n\nFinal XML\n-----------\n\"%s\"\n\n\n", test_tree_str); } /* Freeing memory */ if (context) { axiom_xpath_free_context(env, context); } if (test_tree) { axiom_node_free_tree(test_tree, env); } if (env) { axutil_env_free((axutil_env_t *) env); } if(fcor) { fclose(fcor); } return 0; } int readline(FILE *fin, char *str) { int i; for (i = 0; 1; i++) { str[i] = (char)getc(fin); if (str[i] == '\n' || str[i] == '\r' || str[i] == EOF) { break; } } str[i] = '\0'; return i; } void add_namespaces(const axutil_env_t *env, axiom_xpath_context_t *context, char *file_name) { FILE *fin = NULL; char prefix[1024]; char uri[1024]; axiom_namespace_t *ns; fin = fopen(file_name, "r"); if (!fin) { printf("Error opening file: %s\n", file_name); return; } /* Compiling XPath expression */ while (1) { if (readline(fin, prefix) == 0) { break; } if (readline(fin, uri) == 0) { break; } ns = axiom_namespace_create( env, (axis2_char_t *)uri, (axis2_char_t *)prefix); if (ns) { axiom_xpath_register_namespace(context, ns); } } fclose(fin); } void evaluate_expressions( const axutil_env_t *env, axiom_xpath_context_t *context, char *file_name) { FILE *fin = NULL; char str[1024]; fin = fopen(file_name, "r"); if (!fin) { printf("Error opening file: %s\n", file_name); return; } /* Compiling XPath expression */ while (1) { if (readline(fin, str) == 0) { break; } if (str[0] == '#') { printf("\n\n%s", str + 1); continue; } evaluate(env, context, (axis2_char_t *)str); } fclose(fin); } void evaluate( const axutil_env_t *env, axiom_xpath_context_t *context, axis2_char_t *expr_str) { axiom_xpath_expression_t *expr = NULL; axiom_xpath_result_t *result = NULL; printf("\nCompiling XPath expression: \"%s\" ...\n", expr_str); expr = axiom_xpath_compile_expression(env, expr_str); if (!expr) { printf("Compilation error."); printf("Please check the systax of the XPath query.\n"); return; } /* Evaluating XPath expression */ printf("Evaluating...\n"); result = axiom_xpath_evaluate(context, expr); if (!result) { printf("An error occured while evaluating the expression.\n"); axiom_xpath_free_expression(env, expr); return; } if (result->flag == AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED) { printf("Streaming not supported.\n"); axiom_xpath_free_expression(env, expr); return; } output_results(env, result); if (result) { axiom_xpath_free_result(env, result); } if (expr) { axiom_xpath_free_expression(env, expr); } } int compare_result(axis2_char_t *rs) { int i; char c; /*fprintf(ftemp, "%s#", rs);*/ if(!fcor) { return 0; } for(i = 0; 1; i++) { while(rs[i] == ' ' || rs[i] == '\n' || rs[i] == '\r' || rs[i] == '\t') { i++; } do { c = (char)getc(fcor); } while(c == ' ' || c == '\n' || c == '\r' || c == '\t'); if(c == '#' || c == EOF) { break; } if(c != rs[i]) { while(c != '#' && c != EOF) { c = getc(fcor); } return 0; } } return rs[i] == '\0'; } void output_results(const axutil_env_t *env, axiom_xpath_result_t *xpath_result) { axiom_xpath_result_node_t *xpath_result_node; axiom_node_t *result_node; axis2_char_t *result_str; axis2_char_t result_set[100000]; axis2_char_t temp_res[100000]; axiom_element_t *ele; int i; result_set[0] = '\n'; result_set[1] = '\0'; for (i = 0; i < axutil_array_list_size(xpath_result->nodes, env); i++) { xpath_result_node = axutil_array_list_get(xpath_result->nodes, env, i); if (xpath_result_node->type == AXIOM_XPATH_TYPE_NODE) { result_node = xpath_result_node->value; ele = (axiom_element_t *)axiom_node_get_data_element( result_node, env); if (ele) { /*result_str = axiom_element_get_text(ele, env, result_node);*/ result_str = axiom_node_to_string(result_node, env); sprintf(temp_res, "\"%s\"\n", result_str); strcat(result_set, temp_res); } } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_ATTRIBUTE) { result_str = axiom_attribute_get_localname(xpath_result_node->value, env); sprintf(temp_res, "%s = ", result_str); strcat(result_set, temp_res); result_str = axiom_attribute_get_value(xpath_result_node->value, env); sprintf(temp_res, "\"%s\"\n", result_str); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_NAMESPACE) { result_str = axiom_namespace_get_prefix(xpath_result_node->value, env); sprintf(temp_res, "%s = ", result_str); strcat(result_set, temp_res); result_str = axiom_namespace_get_uri(xpath_result_node->value, env); sprintf(temp_res, "\"%s\"\n", result_str); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_BOOLEAN) { sprintf(temp_res, "\"%s\"\n", (*(axis2_bool_t *)xpath_result_node->value) ? "true" : "false"); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_TEXT) { sprintf(temp_res, "\"%s\"\n", (axis2_char_t *)xpath_result_node->value); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_NUMBER) { sprintf(temp_res, "\"%lf\"\n", *(double *)xpath_result_node->value); strcat(result_set, temp_res); } } if(compare_result(result_set)) { printf("Test case passed\n"); } else { printf("Failed test case!\nOutput\n%s\n", result_set); } } axiom_node_t *read_test_xml(const axutil_env_t *env, axis2_char_t *file_name) { axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_document_t *document = NULL; axiom_node_t *root = NULL; /* Create parser */ reader = axiom_xml_reader_create_for_file(env, file_name, NULL); if (!reader) { printf("Error creating pullparser"); return NULL; } /* Create axiom_stax_builder */ builder = axiom_stax_builder_create(env, reader); if (!builder) { printf("Error creating pull parser"); return NULL; } /* Create an om document */ document = axiom_stax_builder_get_document(builder, env); if (!document) { printf("Error creating document"); return NULL; } /* Get root element */ root = axiom_document_get_root_element(document, env); if (!root) { printf("Root element null "); axiom_stax_builder_free(builder, env); return NULL; } while (axiom_document_build_next(document, env)); return root; } axiom_node_t * build_test_xml(const axutil_env_t *env) { axiom_node_t *main_node; axiom_node_t *order_node; axiom_node_t *values_node; axiom_node_t *value_node; axiom_node_t *grandchild; axis2_char_t value_str[255]; axiom_element_t *order_ele; axiom_element_t *values_ele; axiom_element_t *value_ele; axiom_element_t *grandchild_ele; axiom_attribute_t *attribute; int i, N = 20; axiom_namespace_t *ns1 = axiom_namespace_create(env, "http://xpath/test", "ns1"); axiom_element_create(env, NULL, "test", ns1, &main_node); order_ele = axiom_element_create(env, main_node, "node1", NULL, &order_node); axiom_element_set_text(order_ele, env, "10", order_node); attribute = axiom_attribute_create(env, "attr1", "attribute_value_1", NULL); axiom_element_add_attribute(order_ele, env, attribute, order_node); values_ele = axiom_element_create(env, main_node, "node2", NULL, &values_node); for (i = 0 ; i < N; i++) { sprintf(value_str, "%d", i + 1); value_ele = axiom_element_create(env, values_node, "child", NULL, &value_node); axiom_element_set_text(value_ele, env, value_str, value_node); grandchild_ele = axiom_element_create(env, value_node, "grandchild", NULL, &grandchild); axiom_element_set_text(grandchild_ele, env, value_str /*"3 rd level"*/, grandchild); } return main_node; } axis2c-src-1.6.0/axiom/test/xpath/test_xpath_streaming.c0000644000175000017500000002572011171531736024467 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* Compiling For Windows: cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" /I %AXIS2C_HOME%\include /c *.c link.exe /LIBPATH:%AXIS2C_HOME%\lib axutil.lib axiom.lib axis2_parser.lib axis2_engine.lib /OUT:test.exe *.obj */ #include #include #include #include #include /* Function headers */ void output_results(const axutil_env_t *env, axiom_xpath_result_t *xpath_result); axiom_node_t *read_test_xml(const axutil_env_t *env, char *file_name); void output_results(const axutil_env_t *env, axiom_xpath_result_t *xpath_result); void evaluate(const axutil_env_t *env, axis2_char_t *expr_str); void evaluate_expressions(const axutil_env_t *env, char *file_name); void add_namespaces(const axutil_env_t *env, axiom_xpath_context_t *context, char *file_name); int readline(FILE *fin, char *str); FILE *fcor; char *xml_file = "test.xml"; char *xpath_file = "test.xpath"; char *cor_file = "results.txt"; char *ns_file = "test.ns"; /*FILE *ftemp;*/ int main(int argc, char *argv[]) { axiom_node_t *test_tree = NULL; axis2_char_t *test_tree_str; /* Create environment */ axutil_env_t *env = axutil_env_create_all("xpath_test.log", AXIS2_LOG_LEVEL_TRACE); /* Set input file */ if (argc > 1) { printf("Usage: test [xml_file xpath_file namespaces_file results_file]\n\n"); printf("\tLook at the example test case:"); printf(" test.xml, test.xpath test.ns\n\n"); if(argc > 4) { xml_file = argv[1]; xpath_file = argv[2]; ns_file = argv[3]; cor_file = argv[4]; } } /*Create the request */ test_tree = read_test_xml(env, (axis2_char_t *)xml_file); fcor = fopen(cor_file, "r"); /*ftemp = fopen("temp.txt", "w");*/ if (!fcor) { printf("Error opening file: %s\n", cor_file); } if (test_tree) { test_tree_str = axiom_node_to_string(test_tree, env); printf("\nTesting XML\n-----------\n\"%s\"\n\n\n", test_tree_str); axiom_node_free_tree(test_tree, env); evaluate_expressions(env, xpath_file); } /* Freeing memory */ if (env) { axutil_env_free((axutil_env_t *) env); } if(fcor) { fclose(fcor); } return 0; } int readline(FILE *fin, char *str) { int i; for (i = 0; 1; i++) { str[i] = (char)getc(fin); if (str[i] == '\n' || str[i] == '\r' || str[i] == EOF) { break; } } str[i] = '\0'; return i; } void add_namespaces(const axutil_env_t *env, axiom_xpath_context_t *context, char *file_name) { FILE *fin = NULL; char prefix[1024]; char uri[1024]; axiom_namespace_t *ns; fin = fopen(file_name, "r"); if (!fin) { printf("Error opening file: %s\n", file_name); return; } /* Compiling XPath expression */ while (1) { if (readline(fin, prefix) == 0) { break; } if (readline(fin, uri) == 0) { break; } ns = axiom_namespace_create( env, (axis2_char_t *)uri, (axis2_char_t *)prefix); if (ns) { axiom_xpath_register_namespace(context, ns); } } fclose(fin); } void evaluate_expressions( const axutil_env_t *env, char *file_name) { FILE *fin = NULL; char str[1024]; fin = fopen(file_name, "r"); if (!fin) { printf("Error opening file: %s\n", file_name); return; } /* Compiling XPath expression */ while (1) { if (readline(fin, str) == 0) { break; } if (str[0] == '#') { printf("\n\n%s", str + 1); continue; } evaluate(env, (axis2_char_t *)str); } fclose(fin); } void evaluate( const axutil_env_t *env, axis2_char_t *expr_str) { axiom_xpath_expression_t *expr = NULL; axiom_xpath_result_t *result = NULL; axiom_node_t *test_tree = NULL; axiom_xpath_context_t *context = NULL; test_tree = read_test_xml(env, (axis2_char_t *)xml_file); if(!test_tree) { printf("Error reading file: %s\n", xml_file); return; } /* Create XPath Context */ context = axiom_xpath_context_create(env, test_tree); if(!context) { printf("Could not initialise XPath context\n"); return; } /* Namespaces */ add_namespaces(env, context, ns_file); printf("\nCompiling XPath expression: \"%s\" ...\n", expr_str); expr = axiom_xpath_compile_expression(env, expr_str); if (!expr) { printf("Compilation error."); printf("Please check the systax of the XPath query.\n"); return; } /* Evaluating XPath expression */ printf("Evaluating...\n"); result = axiom_xpath_evaluate_streaming(context, expr); if (!result) { compare_result(""); printf("An error occured while evaluating the expression.\n"); axiom_xpath_free_expression(env, expr); return; } if (result->flag == AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED) { compare_result(""); printf("Streaming not supported.\n"); axiom_xpath_free_expression(env, expr); return; } output_results(env, result); if (result) { axiom_xpath_free_result(env, result); } if (expr) { axiom_xpath_free_expression(env, expr); } } int compare_result(axis2_char_t *rs) { int i; char c; /*fprintf(ftemp, "%s#", rs);*/ if(!fcor) { return 0; } for(i = 0; 1; i++) { while(rs[i] == ' ' || rs[i] == '\n' || rs[i] == '\r' || rs[i] == '\t') { i++; } do { c = (char)getc(fcor); } while(c == ' ' || c == '\n' || c == '\r' || c == '\t'); if(c == '#' || c == EOF) { break; } if(c != rs[i]) { while(c != '#' && c != EOF) { c = getc(fcor); } return 0; } } return rs[i] == '\0'; } void output_results(const axutil_env_t *env, axiom_xpath_result_t *xpath_result) { axiom_xpath_result_node_t *xpath_result_node; axiom_node_t *result_node; axis2_char_t *result_str; axis2_char_t result_set[100000]; axis2_char_t temp_res[100000]; axiom_element_t *ele; int i; result_set[0] = '\n'; result_set[1] = '\0'; for (i = 0; i < axutil_array_list_size(xpath_result->nodes, env); i++) { xpath_result_node = axutil_array_list_get(xpath_result->nodes, env, i); if (xpath_result_node->type == AXIOM_XPATH_TYPE_NODE) { result_node = xpath_result_node->value; ele = (axiom_element_t *)axiom_node_get_data_element( result_node, env); if (ele) { /*result_str = axiom_element_get_text(ele, env, result_node);*/ result_str = axiom_node_to_string(result_node, env); sprintf(temp_res, "\"%s\"\n", result_str); strcat(result_set, temp_res); } } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_ATTRIBUTE) { result_str = axiom_attribute_get_localname(xpath_result_node->value, env); sprintf(temp_res, "%s = ", result_str); strcat(result_set, temp_res); result_str = axiom_attribute_get_value(xpath_result_node->value, env); sprintf(temp_res, "\"%s\"\n", result_str); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_NAMESPACE) { result_str = axiom_namespace_get_prefix(xpath_result_node->value, env); sprintf(temp_res, "%s = ", result_str); strcat(result_set, temp_res); result_str = axiom_namespace_get_uri(xpath_result_node->value, env); sprintf(temp_res, "\"%s\"\n", result_str); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_BOOLEAN) { sprintf(temp_res, "\"%s\"\n", (*(axis2_bool_t *)xpath_result_node->value) ? "true" : "false"); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_TEXT) { sprintf(temp_res, "\"%s\"\n", (axis2_char_t *)xpath_result_node->value); strcat(result_set, temp_res); } else if (xpath_result_node->type == AXIOM_XPATH_TYPE_NUMBER) { sprintf(temp_res, "\"%lf\"\n", *(double *)xpath_result_node->value); strcat(result_set, temp_res); } } if(compare_result(result_set)) { printf("Test case passed\n"); } else { printf("Failed test case!\nOutput\n%s\n", result_set); } } axiom_node_t *read_test_xml(const axutil_env_t *env, axis2_char_t *file_name) { axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_document_t *document = NULL; axiom_node_t *root = NULL; /* Create parser */ reader = axiom_xml_reader_create_for_file(env, file_name, NULL); if (!reader) { printf("Error creating pullparser"); return NULL; } /* Create axiom_stax_builder */ builder = axiom_stax_builder_create(env, reader); if (!builder) { printf("Error creating pull parser"); return NULL; } /* Create an om document */ document = axiom_stax_builder_get_document(builder, env); if (!document) { printf("Error creating document"); return NULL; } /* Get root element */ root = axiom_document_get_root_element(document, env); if (!root) { printf("Root element null "); axiom_stax_builder_free(builder, env); return NULL; } while (axiom_document_build_next(document, env)); return root; } axis2c-src-1.6.0/axiom/test/xpath/Makefile.am0000644000175000017500000000156411171531736022123 0ustar00manjulamanjula00000000000000TESTS = noinst_PROGRAMS = test_xpath test_xpath_streaming check_PROGRAMS = test_xpath test_xpath_streaming SUBDIRS = test_xpath_SOURCES = test_xpath.c test_xpath_streaming_SOURCES = test_xpath_streaming.c test_xpath_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/xpath/libaxis2_xpath.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la test_xpath_streaming_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/xpath/libaxis2_xpath.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../include \ -I ../../../util/include axis2c-src-1.6.0/axiom/test/xpath/Makefile.in0000644000175000017500000005157411172017173022135 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = noinst_PROGRAMS = test_xpath$(EXEEXT) test_xpath_streaming$(EXEEXT) check_PROGRAMS = test_xpath$(EXEEXT) test_xpath_streaming$(EXEEXT) subdir = test/xpath DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_xpath_OBJECTS = test_xpath.$(OBJEXT) test_xpath_OBJECTS = $(am_test_xpath_OBJECTS) test_xpath_DEPENDENCIES = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/xpath/libaxis2_xpath.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la am_test_xpath_streaming_OBJECTS = test_xpath_streaming.$(OBJEXT) test_xpath_streaming_OBJECTS = $(am_test_xpath_streaming_OBJECTS) test_xpath_streaming_DEPENDENCIES = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/xpath/libaxis2_xpath.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_xpath_SOURCES) $(test_xpath_streaming_SOURCES) DIST_SOURCES = $(test_xpath_SOURCES) $(test_xpath_streaming_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = test_xpath_SOURCES = test_xpath.c test_xpath_streaming_SOURCES = test_xpath_streaming.c test_xpath_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/xpath/libaxis2_xpath.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la test_xpath_streaming_LDADD = ../../../util/src/libaxutil.la \ $(top_builddir)/src/om/libaxis2_axiom.la \ $(top_builddir)/src/xpath/libaxis2_xpath.la \ $(top_builddir)/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I$(top_builddir)/src/parser \ -I ../../../include \ -I ../../../util/include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/xpath/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/xpath/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-checkPROGRAMS: @list='$(check_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test_xpath$(EXEEXT): $(test_xpath_OBJECTS) $(test_xpath_DEPENDENCIES) @rm -f test_xpath$(EXEEXT) $(LINK) $(test_xpath_OBJECTS) $(test_xpath_LDADD) $(LIBS) test_xpath_streaming$(EXEEXT): $(test_xpath_streaming_OBJECTS) $(test_xpath_streaming_DEPENDENCIES) @rm -f test_xpath_streaming$(EXEEXT) $(LINK) $(test_xpath_streaming_OBJECTS) $(test_xpath_streaming_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xpath.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_xpath_streaming.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) $(check_PROGRAMS) $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean \ clean-checkPROGRAMS clean-generic clean-libtool \ clean-noinstPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/test/Makefile.am0000644000175000017500000000007411166304616020771 0ustar00manjulamanjula00000000000000TESTS = SUBDIRS = om soap util xpath EXTRA_DIST = resources axis2c-src-1.6.0/axiom/test/Makefile.in0000644000175000017500000004055211172017173021003 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = om soap util xpath EXTRA_DIST = resources all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-TESTS check-am clean clean-generic \ clean-libtool ctags ctags-recursive distclean \ distclean-generic distclean-libtool distclean-tags distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/test/resources/0000777000175000017500000000000011172017535020750 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/xml/0000777000175000017500000000000011172017535021550 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/xml/om/0000777000175000017500000000000011172017535022163 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/xml/om/basic.xml0000644000175000017500000000024011166304614023756 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/om/evaluate.xml0000644000175000017500000000117511166304614024513 0ustar00manjulamanjula00000000000000 brown moderate axis2c-src-1.6.0/axiom/test/resources/xml/om/jaxen3.xml0000644000175000017500000000051211166304614024067 0ustar00manjulamanjula00000000000000 2 CE-A 1 CE-B axis2c-src-1.6.0/axiom/test/resources/xml/om/message.xml0000644000175000017500000000107111166304614024324 0ustar00manjulamanjula00000000000000
    lookupformservice 9 stammdaten new
    iteminfo ELE parentinfo Pruefgebiete id 1
    axis2c-src-1.6.0/axiom/test/resources/xml/om/testNamespaces.xml0000644000175000017500000000103211166304614025654 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/om/fibo.xml0000644000175000017500000000212111166304614023614 0ustar00manjulamanjula00000000000000 0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597 2584 4181 6765 10946 17711 28657 46368 75025 axis2c-src-1.6.0/axiom/test/resources/xml/om/nitf.xml0000644000175000017500000000575111166304614023651 0ustar00manjulamanjula00000000000000 Use of Napster Quadruples By PETER SVENSSON AP Business Writer The Associated Press NEW YORK

    Despite the uncertain legality of the Napster online music-sharing service, the number of people using it more than quadrupled in just five months, Media Metrix said Monday.

    That made Napster the fastest-growing software application ever recorded by the Internet research company.

    From 1.1 million home users in the United States in February, the first month Media Metrix tracked the application, Napster use rocketed to 4.9 million users in July.

    That represents 6 percent of U.S. home PC users who have modems, said Media Metrix, which pays people to install monitoring software on their computers.

    It estimates total usage from a panel of about 50,000 people in the United States.

    Napster was also used at work by 887,000 people in July, Media Metrix said.

    Napster Inc. has been sued by the recording industry for allegedly enabling copyright infringement. The federal government weighed in on the case Friday, saying the service is not protected under a key copyright law, as the San Mateo, Calif., company claims.

    Bruce Ryon, head of Media Metrix's New Media Group, said Napster was used by "the full spectrum of PC users, not just the youth with time on their hands and a passion for music."

    The Napster program allows users to copy digital music files from the hard drives of other users over the Internet.

    Napster Inc. said last week that 28 million people had downloaded its program. It does not reveal its own figures for how many people actually use the software.

    Because the program connects to the company's computers over the Internet every time it is run, Napster Inc. can track usage exactly.

    __

    On the Net:

    http://www.napster.com

    http://www.mediametrix.com

    axis2c-src-1.6.0/axiom/test/resources/xml/om/underscore.xml0000644000175000017500000000011611166304614025050 0ustar00manjulamanjula00000000000000 1 <_b>2 axis2c-src-1.6.0/axiom/test/resources/xml/om/test.xml0000644000175000017500000000071211166304614023660 0ustar00manjulamanjula00000000000000 Axis2C OM HOWTO1748491379 1748491379

    This is vey good book on OM!

    axis2c-src-1.6.0/axiom/test/resources/xml/om/defaultNamespace.xml0000644000175000017500000000013411166304614026140 0ustar00manjulamanjula00000000000000 Hello axis2c-src-1.6.0/axiom/test/resources/xml/om/jaxen24.xml0000644000175000017500000000013211166304614024150 0ustar00manjulamanjula00000000000000

    axis2c-src-1.6.0/axiom/test/resources/xml/om/namespaces.xml0000644000175000017500000000047311166304614025024 0ustar00manjulamanjula00000000000000 Hello Hey Hey2 Hey3 axis2c-src-1.6.0/axiom/test/resources/xml/om/moreover.xml0000644000175000017500000002706611166304614024552 0ustar00manjulamanjula00000000000000
    http://c.moreover.com/click/here.pl?x13563273 e-Commerce Operators Present Version 1.0 of the XML Standard StockAccess text moreover... http://www.stockaccess.com/index.html Dec 24 2000 6:28AM
    http://c.moreover.com/click/here.pl?x13560995 W3C Publishes XML Protocol Requirements Document Xml text moreover... http://www.xml.com/ Dec 24 2000 12:22AM
    http://c.moreover.com/click/here.pl?x13553521 Prowler: Open Source XML-Based Content Management Framework Xml text moreover... http://www.xml.com/ Dec 23 2000 2:05PM
    http://c.moreover.com/click/here.pl?x13549013 The Middleware Company Debuts Public Training Courses in Ejb, J2ee And Xml Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 23 2000 12:15PM
    http://c.moreover.com/click/here.pl?x13544467 Revised Working Draft for the W3C XML Information Set Xml text moreover... http://www.xml.com/ Dec 23 2000 5:50AM
    http://c.moreover.com/click/here.pl?x13534836 XML: Its The Great Peacemaker ZDNet text moreover... http://www.zdnet.com/intweek/ Dec 22 2000 9:05PM
    http://c.moreover.com/click/here.pl?x13533485 Project eL - The XML Leningrad Codex Markup Project Xml text moreover... http://www.xml.com/ Dec 22 2000 8:34PM
    http://c.moreover.com/click/here.pl?x13533488 XML Linking Language (XLink) and XML Base Specifications Issued as W3C Proposed Recommenda Xml text moreover... http://www.xml.com/ Dec 22 2000 8:34PM
    http://c.moreover.com/click/here.pl?x13533492 W3C Releases XHTML Basic Specification as a W3C Recommendation Xml text moreover... http://www.xml.com/ Dec 22 2000 8:34PM
    http://c.moreover.com/click/here.pl?x13521827 Java, Xml And Oracle9i(TM) Make A Great Team Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 22 2000 3:21PM
    http://c.moreover.com/click/here.pl?x13511233 Competing initiatives to vie for security standard ZDNet text moreover... http://www.zdnet.com/eweek/filters/news/ Dec 22 2000 10:54AM
    http://c.moreover.com/click/here.pl?x13492397 Oracle Provides Developers with Great Xml Reading This Holiday Season Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 21 2000 8:08PM
    http://c.moreover.com/click/here.pl?x13491292 XML as the great peacemaker - Extensible Markup Language Accomplished The Seemingly Impossible This Year: It B Hospitality Net text moreover... http://www.hospitalitynet.org/news/list.htm?c=2000 Dec 21 2000 7:45PM
    http://c.moreover.com/click/here.pl?x13484758 XML as the great peacemaker CNET text moreover... http://news.cnet.com/news/0-1003.html?tag=st.ne.1002.dir.1003 Dec 21 2000 4:41PM
    http://c.moreover.com/click/here.pl?x13480896 COOP Switzerland Selects Mercator as Integration Platform Stockhouse Canada text moreover... http://www.stockhouse.ca/news/ Dec 21 2000 1:55PM
    http://c.moreover.com/click/here.pl?x13471023 Competing XML Specs Move Toward a Union Internet World text moreover... http://www.internetworld.com/ Dec 21 2000 11:14AM
    http://c.moreover.com/click/here.pl?x13452280 Next-generation XHTML stripped down for handhelds CNET text moreover... http://news.cnet.com/news/0-1005.html?tag=st.ne.1002.dir.1005 Dec 20 2000 9:11PM
    http://c.moreover.com/click/here.pl?x13451789 Xml Powers Oracle9i(TM) Dynamic Services Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 20 2000 9:05PM
    http://c.moreover.com/click/here.pl?x13442097 XML DOM reference guide ASPWire text moreover... http://aspwire.com/ Dec 20 2000 6:26PM
    http://c.moreover.com/click/here.pl?x13424117 Repeat/Xqsite And Bowstreet Team to Deliver Integrated Xml Solutions Java Industry Connection text moreover... http://industry.java.sun.com/javanews/more/hotnews/ Dec 20 2000 9:04AM
    axis2c-src-1.6.0/axiom/test/resources/xml/om/id.xml0000644000175000017500000000057511166304614023304 0ustar00manjulamanjula00000000000000 ]> baz gouda baz cheddar baz axis2c-src-1.6.0/axiom/test/resources/xml/om/axis.xml0000644000175000017500000000033511166304614023646 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/om/pi.xml0000644000175000017500000000024411166304614023311 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/om/basicupdate.xml0000644000175000017500000000220211166304614025161 0ustar00manjulamanjula00000000000000 Goudse kaas Rond More cheese! Even more cheese! No sausages today axis2c-src-1.6.0/axiom/test/resources/xml/om/pi2.xml0000644000175000017500000000012011166304614023364 0ustar00manjulamanjula00000000000000 foo bar axis2c-src-1.6.0/axiom/test/resources/xml/om/web.xml0000644000175000017500000000152011166304614023454 0ustar00manjulamanjula00000000000000 snoop SnoopServlet file ViewFile initial 1000 The initial value for the counter mv *.wm manager director president axis2c-src-1.6.0/axiom/test/resources/xml/om/lang.xml0000644000175000017500000000024111166304614023617 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/om/web2.xml0000644000175000017500000000013211166304614023534 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/om/spaces.xml0000644000175000017500000000023611166304614024160 0ustar00manjulamanjula00000000000000 baz baz baz ]]> axis2c-src-1.6.0/axiom/test/resources/xml/om/numbers.xml0000644000175000017500000000040311166304614024351 0ustar00manjulamanjula00000000000000 3 24 55 11 2 -3 axis2c-src-1.6.0/axiom/test/resources/xml/om/much_ado.xml0000644000175000017500000057515311166304614024500 0ustar00manjulamanjula00000000000000 Much Ado about Nothing

    Text placed in the public domain by Moby Lexical Tools, 1992.

    SGML markup by Jon Bosak, 1992-1994.

    XML version by Jon Bosak, 1996-1998.

    This work may be freely copied and distributed worldwide.

    Dramatis Personae DON PEDRO, prince of Arragon. DON JOHN, his bastard brother. CLAUDIO, a young lord of Florence. BENEDICK, a young lord of Padua. LEONATO, governor of Messina. ANTONIO, his brother. BALTHASAR, attendant on Don Pedro. CONRADE BORACHIO followers of Don John. FRIAR FRANCIS DOGBERRY, a constable. VERGES, a headborough. A Sexton. A Boy. HERO, daughter to Leonato. BEATRICE, niece to Leonato. MARGARET URSULA gentlewomen attending on Hero. Messengers, Watch, Attendants, &c. SCENE Messina. MUCH ADO ABOUT NOTHING ACT I SCENE I. Before LEONATO'S house. Enter LEONATO, HERO, and BEATRICE, with a Messenger LEONATO I learn in this letter that Don Peter of Arragon comes this night to Messina. Messenger He is very near by this: he was not three leagues off when I left him. LEONATO How many gentlemen have you lost in this action? Messenger But few of any sort, and none of name. LEONATO A victory is twice itself when the achiever brings home full numbers. I find here that Don Peter hath bestowed much honour on a young Florentine called Claudio. Messenger Much deserved on his part and equally remembered by Don Pedro: he hath borne himself beyond the promise of his age, doing, in the figure of a lamb, the feats of a lion: he hath indeed better bettered expectation than you must expect of me to tell you how. LEONATO He hath an uncle here in Messina will be very much glad of it. Messenger I have already delivered him letters, and there appears much joy in him; even so much that joy could not show itself modest enough without a badge of bitterness. LEONATO Did he break out into tears? Messenger In great measure. LEONATO A kind overflow of kindness: there are no faces truer than those that are so washed. How much better is it to weep at joy than to joy at weeping! BEATRICE I pray you, is Signior Mountanto returned from the wars or no? Messenger I know none of that name, lady: there was none such in the army of any sort. LEONATO What is he that you ask for, niece? HERO My cousin means Signior Benedick of Padua. Messenger O, he's returned; and as pleasant as ever he was. BEATRICE He set up his bills here in Messina and challenged Cupid at the flight; and my uncle's fool, reading the challenge, subscribed for Cupid, and challenged him at the bird-bolt. I pray you, how many hath he killed and eaten in these wars? But how many hath he killed? for indeed I promised to eat all of his killing. LEONATO Faith, niece, you tax Signior Benedick too much; but he'll be meet with you, I doubt it not. Messenger He hath done good service, lady, in these wars. BEATRICE You had musty victual, and he hath holp to eat it: he is a very valiant trencherman; he hath an excellent stomach. Messenger And a good soldier too, lady. BEATRICE And a good soldier to a lady: but what is he to a lord? Messenger A lord to a lord, a man to a man; stuffed with all honourable virtues. BEATRICE It is so, indeed; he is no less than a stuffed man: but for the stuffing,--well, we are all mortal. LEONATO You must not, sir, mistake my niece. There is a kind of merry war betwixt Signior Benedick and her: they never meet but there's a skirmish of wit between them. BEATRICE Alas! he gets nothing by that. In our last conflict four of his five wits went halting off, and now is the whole man governed with one: so that if he have wit enough to keep himself warm, let him bear it for a difference between himself and his horse; for it is all the wealth that he hath left, to be known a reasonable creature. Who is his companion now? He hath every month a new sworn brother. Messenger Is't possible? BEATRICE Very easily possible: he wears his faith but as the fashion of his hat; it ever changes with the next block. Messenger I see, lady, the gentleman is not in your books. BEATRICE No; an he were, I would burn my study. But, I pray you, who is his companion? Is there no young squarer now that will make a voyage with him to the devil? Messenger He is most in the company of the right noble Claudio. BEATRICE O Lord, he will hang upon him like a disease: he is sooner caught than the pestilence, and the taker runs presently mad. God help the noble Claudio! if he have caught the Benedick, it will cost him a thousand pound ere a' be cured. Messenger I will hold friends with you, lady. BEATRICE Do, good friend. LEONATO You will never run mad, niece. BEATRICE No, not till a hot January. Messenger Don Pedro is approached. Enter DON PEDRO, DON JOHN, CLAUDIO, BENEDICK, and BALTHASAR DON PEDRO Good Signior Leonato, you are come to meet your trouble: the fashion of the world is to avoid cost, and you encounter it. LEONATO Never came trouble to my house in the likeness of your grace: for trouble being gone, comfort should remain; but when you depart from me, sorrow abides and happiness takes his leave. DON PEDRO You embrace your charge too willingly. I think this is your daughter. LEONATO Her mother hath many times told me so. BENEDICK Were you in doubt, sir, that you asked her? LEONATO Signior Benedick, no; for then were you a child. DON PEDRO You have it full, Benedick: we may guess by this what you are, being a man. Truly, the lady fathers herself. Be happy, lady; for you are like an honourable father. BENEDICK If Signior Leonato be her father, she would not have his head on her shoulders for all Messina, as like him as she is. BEATRICE I wonder that you will still be talking, Signior Benedick: nobody marks you. BENEDICK What, my dear Lady Disdain! are you yet living? BEATRICE Is it possible disdain should die while she hath such meet food to feed it as Signior Benedick? Courtesy itself must convert to disdain, if you come in her presence. BENEDICK Then is courtesy a turncoat. But it is certain I am loved of all ladies, only you excepted: and I would I could find in my heart that I had not a hard heart; for, truly, I love none. BEATRICE A dear happiness to women: they would else have been troubled with a pernicious suitor. I thank God and my cold blood, I am of your humour for that: I had rather hear my dog bark at a crow than a man swear he loves me. BENEDICK God keep your ladyship still in that mind! so some gentleman or other shall 'scape a predestinate scratched face. BEATRICE Scratching could not make it worse, an 'twere such a face as yours were. BENEDICK Well, you are a rare parrot-teacher. BEATRICE A bird of my tongue is better than a beast of yours. BENEDICK I would my horse had the speed of your tongue, and so good a continuer. But keep your way, i' God's name; I have done. BEATRICE You always end with a jade's trick: I know you of old. DON PEDRO That is the sum of all, Leonato. Signior Claudio and Signior Benedick, my dear friend Leonato hath invited you all. I tell him we shall stay here at the least a month; and he heartily prays some occasion may detain us longer. I dare swear he is no hypocrite, but prays from his heart. LEONATO If you swear, my lord, you shall not be forsworn. To DON JOHN Let me bid you welcome, my lord: being reconciled to the prince your brother, I owe you all duty. DON JOHN I thank you: I am not of many words, but I thank you. LEONATO Please it your grace lead on? DON PEDRO Your hand, Leonato; we will go together. Exeunt all except BENEDICK and CLAUDIO CLAUDIO Benedick, didst thou note the daughter of Signior Leonato? BENEDICK I noted her not; but I looked on her. CLAUDIO Is she not a modest young lady? BENEDICK Do you question me, as an honest man should do, for my simple true judgment; or would you have me speak after my custom, as being a professed tyrant to their sex? CLAUDIO No; I pray thee speak in sober judgment. BENEDICK Why, i' faith, methinks she's too low for a high praise, too brown for a fair praise and too little for a great praise: only this commendation I can afford her, that were she other than she is, she were unhandsome; and being no other but as she is, I do not like her. CLAUDIO Thou thinkest I am in sport: I pray thee tell me truly how thou likest her. BENEDICK Would you buy her, that you inquire after her? CLAUDIO Can the world buy such a jewel? BENEDICK Yea, and a case to put it into. But speak you this with a sad brow? or do you play the flouting Jack, to tell us Cupid is a good hare-finder and Vulcan a rare carpenter? Come, in what key shall a man take you, to go in the song? CLAUDIO In mine eye she is the sweetest lady that ever I looked on. BENEDICK I can see yet without spectacles and I see no such matter: there's her cousin, an she were not possessed with a fury, exceeds her as much in beauty as the first of May doth the last of December. But I hope you have no intent to turn husband, have you? CLAUDIO I would scarce trust myself, though I had sworn the contrary, if Hero would be my wife. BENEDICK Is't come to this? In faith, hath not the world one man but he will wear his cap with suspicion? Shall I never see a bachelor of three-score again? Go to, i' faith; an thou wilt needs thrust thy neck into a yoke, wear the print of it and sigh away Sundays. Look Don Pedro is returned to seek you. Re-enter DON PEDRO DON PEDRO What secret hath held you here, that you followed not to Leonato's? BENEDICK I would your grace would constrain me to tell. DON PEDRO I charge thee on thy allegiance. BENEDICK You hear, Count Claudio: I can be secret as a dumb man; I would have you think so; but, on my allegiance, mark you this, on my allegiance. He is in love. With who? now that is your grace's part. Mark how short his answer is;--With Hero, Leonato's short daughter. CLAUDIO If this were so, so were it uttered. BENEDICK Like the old tale, my lord: 'it is not so, nor 'twas not so, but, indeed, God forbid it should be so.' CLAUDIO If my passion change not shortly, God forbid it should be otherwise. DON PEDRO Amen, if you love her; for the lady is very well worthy. CLAUDIO You speak this to fetch me in, my lord. DON PEDRO By my troth, I speak my thought. CLAUDIO And, in faith, my lord, I spoke mine. BENEDICK And, by my two faiths and troths, my lord, I spoke mine. CLAUDIO That I love her, I feel. DON PEDRO That she is worthy, I know. BENEDICK That I neither feel how she should be loved nor know how she should be worthy, is the opinion that fire cannot melt out of me: I will die in it at the stake. DON PEDRO Thou wast ever an obstinate heretic in the despite of beauty. CLAUDIO And never could maintain his part but in the force of his will. BENEDICK That a woman conceived me, I thank her; that she brought me up, I likewise give her most humble thanks: but that I will have a recheat winded in my forehead, or hang my bugle in an invisible baldrick, all women shall pardon me. Because I will not do them the wrong to mistrust any, I will do myself the right to trust none; and the fine is, for the which I may go the finer, I will live a bachelor. DON PEDRO I shall see thee, ere I die, look pale with love. BENEDICK With anger, with sickness, or with hunger, my lord, not with love: prove that ever I lose more blood with love than I will get again with drinking, pick out mine eyes with a ballad-maker's pen and hang me up at the door of a brothel-house for the sign of blind Cupid. DON PEDRO Well, if ever thou dost fall from this faith, thou wilt prove a notable argument. BENEDICK If I do, hang me in a bottle like a cat and shoot at me; and he that hits me, let him be clapped on the shoulder, and called Adam. DON PEDRO Well, as time shall try: 'In time the savage bull doth bear the yoke.' BENEDICK The savage bull may; but if ever the sensible Benedick bear it, pluck off the bull's horns and set them in my forehead: and let me be vilely painted, and in such great letters as they write 'Here is good horse to hire,' let them signify under my sign 'Here you may see Benedick the married man.' CLAUDIO If this should ever happen, thou wouldst be horn-mad. DON PEDRO Nay, if Cupid have not spent all his quiver in Venice, thou wilt quake for this shortly. BENEDICK I look for an earthquake too, then. DON PEDRO Well, you temporize with the hours. In the meantime, good Signior Benedick, repair to Leonato's: commend me to him and tell him I will not fail him at supper; for indeed he hath made great preparation. BENEDICK I have almost matter enough in me for such an embassage; and so I commit you-- CLAUDIO To the tuition of God: From my house, if I had it,-- DON PEDRO The sixth of July: Your loving friend, Benedick. BENEDICK Nay, mock not, mock not. The body of your discourse is sometime guarded with fragments, and the guards are but slightly basted on neither: ere you flout old ends any further, examine your conscience: and so I leave you. Exit CLAUDIO My liege, your highness now may do me good. DON PEDRO My love is thine to teach: teach it but how, And thou shalt see how apt it is to learn Any hard lesson that may do thee good. CLAUDIO Hath Leonato any son, my lord? DON PEDRO No child but Hero; she's his only heir. Dost thou affect her, Claudio? CLAUDIO O, my lord, When you went onward on this ended action, I look'd upon her with a soldier's eye, That liked, but had a rougher task in hand Than to drive liking to the name of love: But now I am return'd and that war-thoughts Have left their places vacant, in their rooms Come thronging soft and delicate desires, All prompting me how fair young Hero is, Saying, I liked her ere I went to wars. DON PEDRO Thou wilt be like a lover presently And tire the hearer with a book of words. If thou dost love fair Hero, cherish it, And I will break with her and with her father, And thou shalt have her. Was't not to this end That thou began'st to twist so fine a story? CLAUDIO How sweetly you do minister to love, That know love's grief by his complexion! But lest my liking might too sudden seem, I would have salved it with a longer treatise. DON PEDRO What need the bridge much broader than the flood? The fairest grant is the necessity. Look, what will serve is fit: 'tis once, thou lovest, And I will fit thee with the remedy. I know we shall have revelling to-night: I will assume thy part in some disguise And tell fair Hero I am Claudio, And in her bosom I'll unclasp my heart And take her hearing prisoner with the force And strong encounter of my amorous tale: Then after to her father will I break; And the conclusion is, she shall be thine. In practise let us put it presently. Exeunt SCENE II. A room in LEONATO's house. Enter LEONATO and ANTONIO, meeting LEONATO How now, brother! Where is my cousin, your son? hath he provided this music? ANTONIO He is very busy about it. But, brother, I can tell you strange news that you yet dreamt not of. LEONATO Are they good? ANTONIO As the event stamps them: but they have a good cover; they show well outward. The prince and Count Claudio, walking in a thick-pleached alley in mine orchard, were thus much overheard by a man of mine: the prince discovered to Claudio that he loved my niece your daughter and meant to acknowledge it this night in a dance: and if he found her accordant, he meant to take the present time by the top and instantly break with you of it. LEONATO Hath the fellow any wit that told you this? ANTONIO A good sharp fellow: I will send for him; and question him yourself. LEONATO No, no; we will hold it as a dream till it appear itself: but I will acquaint my daughter withal, that she may be the better prepared for an answer, if peradventure this be true. Go you and tell her of it. Enter Attendants Cousins, you know what you have to do. O, I cry you mercy, friend; go you with me, and I will use your skill. Good cousin, have a care this busy time. Exeunt SCENE III. The same. Enter DON JOHN and CONRADE CONRADE What the good-year, my lord! why are you thus out of measure sad? DON JOHN There is no measure in the occasion that breeds; therefore the sadness is without limit. CONRADE You should hear reason. DON JOHN And when I have heard it, what blessing brings it? CONRADE If not a present remedy, at least a patient sufferance. DON JOHN I wonder that thou, being, as thou sayest thou art, born under Saturn, goest about to apply a moral medicine to a mortifying mischief. I cannot hide what I am: I must be sad when I have cause and smile at no man's jests, eat when I have stomach and wait for no man's leisure, sleep when I am drowsy and tend on no man's business, laugh when I am merry and claw no man in his humour. CONRADE Yea, but you must not make the full show of this till you may do it without controlment. You have of late stood out against your brother, and he hath ta'en you newly into his grace; where it is impossible you should take true root but by the fair weather that you make yourself: it is needful that you frame the season for your own harvest. DON JOHN I had rather be a canker in a hedge than a rose in his grace, and it better fits my blood to be disdained of all than to fashion a carriage to rob love from any: in this, though I cannot be said to be a flattering honest man, it must not be denied but I am a plain-dealing villain. I am trusted with a muzzle and enfranchised with a clog; therefore I have decreed not to sing in my cage. If I had my mouth, I would bite; if I had my liberty, I would do my liking: in the meantime let me be that I am and seek not to alter me. CONRADE Can you make no use of your discontent? DON JOHN I make all use of it, for I use it only. Who comes here? Enter BORACHIO What news, Borachio? BORACHIO I came yonder from a great supper: the prince your brother is royally entertained by Leonato: and I can give you intelligence of an intended marriage. DON JOHN Will it serve for any model to build mischief on? What is he for a fool that betroths himself to unquietness? BORACHIO Marry, it is your brother's right hand. DON JOHN Who? the most exquisite Claudio? BORACHIO Even he. DON JOHN A proper squire! And who, and who? which way looks he? BORACHIO Marry, on Hero, the daughter and heir of Leonato. DON JOHN A very forward March-chick! How came you to this? BORACHIO Being entertained for a perfumer, as I was smoking a musty room, comes me the prince and Claudio, hand in hand in sad conference: I whipt me behind the arras; and there heard it agreed upon that the prince should woo Hero for himself, and having obtained her, give her to Count Claudio. DON JOHN Come, come, let us thither: this may prove food to my displeasure. That young start-up hath all the glory of my overthrow: if I can cross him any way, I bless myself every way. You are both sure, and will assist me? CONRADE To the death, my lord. DON JOHN Let us to the great supper: their cheer is the greater that I am subdued. Would the cook were of my mind! Shall we go prove what's to be done? BORACHIO We'll wait upon your lordship. Exeunt ACT II SCENE I. A hall in LEONATO'S house. Enter LEONATO, ANTONIO, HERO, BEATRICE, and others LEONATO Was not Count John here at supper? ANTONIO I saw him not. BEATRICE How tartly that gentleman looks! I never can see him but I am heart-burned an hour after. HERO He is of a very melancholy disposition. BEATRICE He were an excellent man that were made just in the midway between him and Benedick: the one is too like an image and says nothing, and the other too like my lady's eldest son, evermore tattling. LEONATO Then half Signior Benedick's tongue in Count John's mouth, and half Count John's melancholy in Signior Benedick's face,-- BEATRICE With a good leg and a good foot, uncle, and money enough in his purse, such a man would win any woman in the world, if a' could get her good-will. LEONATO By my troth, niece, thou wilt never get thee a husband, if thou be so shrewd of thy tongue. ANTONIO In faith, she's too curst. BEATRICE Too curst is more than curst: I shall lessen God's sending that way; for it is said, 'God sends a curst cow short horns;' but to a cow too curst he sends none. LEONATO So, by being too curst, God will send you no horns. BEATRICE Just, if he send me no husband; for the which blessing I am at him upon my knees every morning and evening. Lord, I could not endure a husband with a beard on his face: I had rather lie in the woollen. LEONATO You may light on a husband that hath no beard. BEATRICE What should I do with him? dress him in my apparel and make him my waiting-gentlewoman? He that hath a beard is more than a youth, and he that hath no beard is less than a man: and he that is more than a youth is not for me, and he that is less than a man, I am not for him: therefore, I will even take sixpence in earnest of the bear-ward, and lead his apes into hell. LEONATO Well, then, go you into hell? BEATRICE No, but to the gate; and there will the devil meet me, like an old cuckold, with horns on his head, and say 'Get you to heaven, Beatrice, get you to heaven; here's no place for you maids:' so deliver I up my apes, and away to Saint Peter for the heavens; he shows me where the bachelors sit, and there live we as merry as the day is long. ANTONIO To HERO Well, niece, I trust you will be ruled by your father. BEATRICE Yes, faith; it is my cousin's duty to make curtsy and say 'Father, as it please you.' But yet for all that, cousin, let him be a handsome fellow, or else make another curtsy and say 'Father, as it please me.' LEONATO Well, niece, I hope to see you one day fitted with a husband. BEATRICE Not till God make men of some other metal than earth. Would it not grieve a woman to be overmastered with a pierce of valiant dust? to make an account of her life to a clod of wayward marl? No, uncle, I'll none: Adam's sons are my brethren; and, truly, I hold it a sin to match in my kindred. LEONATO Daughter, remember what I told you: if the prince do solicit you in that kind, you know your answer. BEATRICE The fault will be in the music, cousin, if you be not wooed in good time: if the prince be too important, tell him there is measure in every thing and so dance out the answer. For, hear me, Hero: wooing, wedding, and repenting, is as a Scotch jig, a measure, and a cinque pace: the first suit is hot and hasty, like a Scotch jig, and full as fantastical; the wedding, mannerly-modest, as a measure, full of state and ancientry; and then comes repentance and, with his bad legs, falls into the cinque pace faster and faster, till he sink into his grave. LEONATO Cousin, you apprehend passing shrewdly. BEATRICE I have a good eye, uncle; I can see a church by daylight. LEONATO The revellers are entering, brother: make good room. All put on their masks Enter DON PEDRO, CLAUDIO, BENEDICK, BALTHASAR, DON JOHN, BORACHIO, MARGARET, URSULA and others, masked DON PEDRO Lady, will you walk about with your friend? HERO So you walk softly and look sweetly and say nothing, I am yours for the walk; and especially when I walk away. DON PEDRO With me in your company? HERO I may say so, when I please. DON PEDRO And when please you to say so? HERO When I like your favour; for God defend the lute should be like the case! DON PEDRO My visor is Philemon's roof; within the house is Jove. HERO Why, then, your visor should be thatched. DON PEDRO Speak low, if you speak love. Drawing her aside BALTHASAR Well, I would you did like me. MARGARET So would not I, for your own sake; for I have many ill-qualities. BALTHASAR Which is one? MARGARET I say my prayers aloud. BALTHASAR I love you the better: the hearers may cry, Amen. MARGARET God match me with a good dancer! BALTHASAR Amen. MARGARET And God keep him out of my sight when the dance is done! Answer, clerk. BALTHASAR No more words: the clerk is answered. URSULA I know you well enough; you are Signior Antonio. ANTONIO At a word, I am not. URSULA I know you by the waggling of your head. ANTONIO To tell you true, I counterfeit him. URSULA You could never do him so ill-well, unless you were the very man. Here's his dry hand up and down: you are he, you are he. ANTONIO At a word, I am not. URSULA Come, come, do you think I do not know you by your excellent wit? can virtue hide itself? Go to, mum, you are he: graces will appear, and there's an end. BEATRICE Will you not tell me who told you so? BENEDICK No, you shall pardon me. BEATRICE Nor will you not tell me who you are? BENEDICK Not now. BEATRICE That I was disdainful, and that I had my good wit out of the 'Hundred Merry Tales:'--well this was Signior Benedick that said so. BENEDICK What's he? BEATRICE I am sure you know him well enough. BENEDICK Not I, believe me. BEATRICE Did he never make you laugh? BENEDICK I pray you, what is he? BEATRICE Why, he is the prince's jester: a very dull fool; only his gift is in devising impossible slanders: none but libertines delight in him; and the commendation is not in his wit, but in his villany; for he both pleases men and angers them, and then they laugh at him and beat him. I am sure he is in the fleet: I would he had boarded me. BENEDICK When I know the gentleman, I'll tell him what you say. BEATRICE Do, do: he'll but break a comparison or two on me; which, peradventure not marked or not laughed at, strikes him into melancholy; and then there's a partridge wing saved, for the fool will eat no supper that night. Music We must follow the leaders. BENEDICK In every good thing. BEATRICE Nay, if they lead to any ill, I will leave them at the next turning. Dance. Then exeunt all except DON JOHN, BORACHIO, and CLAUDIO DON JOHN Sure my brother is amorous on Hero and hath withdrawn her father to break with him about it. The ladies follow her and but one visor remains. BORACHIO And that is Claudio: I know him by his bearing. DON JOHN Are not you Signior Benedick? CLAUDIO You know me well; I am he. DON JOHN Signior, you are very near my brother in his love: he is enamoured on Hero; I pray you, dissuade him from her: she is no equal for his birth: you may do the part of an honest man in it. CLAUDIO How know you he loves her? DON JOHN I heard him swear his affection. BORACHIO So did I too; and he swore he would marry her to-night. DON JOHN Come, let us to the banquet. Exeunt DON JOHN and BORACHIO CLAUDIO Thus answer I in the name of Benedick, But hear these ill news with the ears of Claudio. 'Tis certain so; the prince wooes for himself. Friendship is constant in all other things Save in the office and affairs of love: Therefore, all hearts in love use their own tongues; Let every eye negotiate for itself And trust no agent; for beauty is a witch Against whose charms faith melteth into blood. This is an accident of hourly proof, Which I mistrusted not. Farewell, therefore, Hero! Re-enter BENEDICK BENEDICK Count Claudio? CLAUDIO Yea, the same. BENEDICK Come, will you go with me? CLAUDIO Whither? BENEDICK Even to the next willow, about your own business, county. What fashion will you wear the garland of? about your neck, like an usurer's chain? or under your arm, like a lieutenant's scarf? You must wear it one way, for the prince hath got your Hero. CLAUDIO I wish him joy of her. BENEDICK Why, that's spoken like an honest drovier: so they sell bullocks. But did you think the prince would have served you thus? CLAUDIO I pray you, leave me. BENEDICK Ho! now you strike like the blind man: 'twas the boy that stole your meat, and you'll beat the post. CLAUDIO If it will not be, I'll leave you. Exit BENEDICK Alas, poor hurt fowl! now will he creep into sedges. But that my Lady Beatrice should know me, and not know me! The prince's fool! Ha? It may be I go under that title because I am merry. Yea, but so I am apt to do myself wrong; I am not so reputed: it is the base, though bitter, disposition of Beatrice that puts the world into her person and so gives me out. Well, I'll be revenged as I may. Re-enter DON PEDRO DON PEDRO Now, signior, where's the count? did you see him? BENEDICK Troth, my lord, I have played the part of Lady Fame. I found him here as melancholy as a lodge in a warren: I told him, and I think I told him true, that your grace had got the good will of this young lady; and I offered him my company to a willow-tree, either to make him a garland, as being forsaken, or to bind him up a rod, as being worthy to be whipped. DON PEDRO To be whipped! What's his fault? BENEDICK The flat transgression of a schoolboy, who, being overjoyed with finding a birds' nest, shows it his companion, and he steals it. DON PEDRO Wilt thou make a trust a transgression? The transgression is in the stealer. BENEDICK Yet it had not been amiss the rod had been made, and the garland too; for the garland he might have worn himself, and the rod he might have bestowed on you, who, as I take it, have stolen his birds' nest. DON PEDRO I will but teach them to sing, and restore them to the owner. BENEDICK If their singing answer your saying, by my faith, you say honestly. DON PEDRO The Lady Beatrice hath a quarrel to you: the gentleman that danced with her told her she is much wronged by you. BENEDICK O, she misused me past the endurance of a block! an oak but with one green leaf on it would have answered her; my very visor began to assume life and scold with her. She told me, not thinking I had been myself, that I was the prince's jester, that I was duller than a great thaw; huddling jest upon jest with such impossible conveyance upon me that I stood like a man at a mark, with a whole army shooting at me. She speaks poniards, and every word stabs: if her breath were as terrible as her terminations, there were no living near her; she would infect to the north star. I would not marry her, though she were endowed with all that Adam bad left him before he transgressed: she would have made Hercules have turned spit, yea, and have cleft his club to make the fire too. Come, talk not of her: you shall find her the infernal Ate in good apparel. I would to God some scholar would conjure her; for certainly, while she is here, a man may live as quiet in hell as in a sanctuary; and people sin upon purpose, because they would go thither; so, indeed, all disquiet, horror and perturbation follows her. DON PEDRO Look, here she comes. Enter CLAUDIO, BEATRICE, HERO, and LEONATO BENEDICK Will your grace command me any service to the world's end? I will go on the slightest errand now to the Antipodes that you can devise to send me on; I will fetch you a tooth-picker now from the furthest inch of Asia, bring you the length of Prester John's foot, fetch you a hair off the great Cham's beard, do you any embassage to the Pigmies, rather than hold three words' conference with this harpy. You have no employment for me? DON PEDRO None, but to desire your good company. BENEDICK O God, sir, here's a dish I love not: I cannot endure my Lady Tongue. Exit DON PEDRO Come, lady, come; you have lost the heart of Signior Benedick. BEATRICE Indeed, my lord, he lent it me awhile; and I gave him use for it, a double heart for his single one: marry, once before he won it of me with false dice, therefore your grace may well say I have lost it. DON PEDRO You have put him down, lady, you have put him down. BEATRICE So I would not he should do me, my lord, lest I should prove the mother of fools. I have brought Count Claudio, whom you sent me to seek. DON PEDRO Why, how now, count! wherefore are you sad? CLAUDIO Not sad, my lord. DON PEDRO How then? sick? CLAUDIO Neither, my lord. BEATRICE The count is neither sad, nor sick, nor merry, nor well; but civil count, civil as an orange, and something of that jealous complexion. DON PEDRO I' faith, lady, I think your blazon to be true; though, I'll be sworn, if he be so, his conceit is false. Here, Claudio, I have wooed in thy name, and fair Hero is won: I have broke with her father, and his good will obtained: name the day of marriage, and God give thee joy! LEONATO Count, take of me my daughter, and with her my fortunes: his grace hath made the match, and an grace say Amen to it. BEATRICE Speak, count, 'tis your cue. CLAUDIO Silence is the perfectest herald of joy: I were but little happy, if I could say how much. Lady, as you are mine, I am yours: I give away myself for you and dote upon the exchange. BEATRICE Speak, cousin; or, if you cannot, stop his mouth with a kiss, and let not him speak neither. DON PEDRO In faith, lady, you have a merry heart. BEATRICE Yea, my lord; I thank it, poor fool, it keeps on the windy side of care. My cousin tells him in his ear that he is in her heart. CLAUDIO And so she doth, cousin. BEATRICE Good Lord, for alliance! Thus goes every one to the world but I, and I am sunburnt; I may sit in a corner and cry heigh-ho for a husband! DON PEDRO Lady Beatrice, I will get you one. BEATRICE I would rather have one of your father's getting. Hath your grace ne'er a brother like you? Your father got excellent husbands, if a maid could come by them. DON PEDRO Will you have me, lady? BEATRICE No, my lord, unless I might have another for working-days: your grace is too costly to wear every day. But, I beseech your grace, pardon me: I was born to speak all mirth and no matter. DON PEDRO Your silence most offends me, and to be merry best becomes you; for, out of question, you were born in a merry hour. BEATRICE No, sure, my lord, my mother cried; but then there was a star danced, and under that was I born. Cousins, God give you joy! LEONATO Niece, will you look to those things I told you of? BEATRICE I cry you mercy, uncle. By your grace's pardon. Exit DON PEDRO By my troth, a pleasant-spirited lady. LEONATO There's little of the melancholy element in her, my lord: she is never sad but when she sleeps, and not ever sad then; for I have heard my daughter say, she hath often dreamed of unhappiness and waked herself with laughing. DON PEDRO She cannot endure to hear tell of a husband. LEONATO O, by no means: she mocks all her wooers out of suit. DON PEDRO She were an excellent wife for Benedict. LEONATO O Lord, my lord, if they were but a week married, they would talk themselves mad. DON PEDRO County Claudio, when mean you to go to church? CLAUDIO To-morrow, my lord: time goes on crutches till love have all his rites. LEONATO Not till Monday, my dear son, which is hence a just seven-night; and a time too brief, too, to have all things answer my mind. DON PEDRO Come, you shake the head at so long a breathing: but, I warrant thee, Claudio, the time shall not go dully by us. I will in the interim undertake one of Hercules' labours; which is, to bring Signior Benedick and the Lady Beatrice into a mountain of affection the one with the other. I would fain have it a match, and I doubt not but to fashion it, if you three will but minister such assistance as I shall give you direction. LEONATO My lord, I am for you, though it cost me ten nights' watchings. CLAUDIO And I, my lord. DON PEDRO And you too, gentle Hero? HERO I will do any modest office, my lord, to help my cousin to a good husband. DON PEDRO And Benedick is not the unhopefullest husband that I know. Thus far can I praise him; he is of a noble strain, of approved valour and confirmed honesty. I will teach you how to humour your cousin, that she shall fall in love with Benedick; and I, with your two helps, will so practise on Benedick that, in despite of his quick wit and his queasy stomach, he shall fall in love with Beatrice. If we can do this, Cupid is no longer an archer: his glory shall be ours, for we are the only love-gods. Go in with me, and I will tell you my drift. Exeunt SCENE II. The same. Enter DON JOHN and BORACHIO DON JOHN It is so; the Count Claudio shall marry the daughter of Leonato. BORACHIO Yea, my lord; but I can cross it. DON JOHN Any bar, any cross, any impediment will be medicinable to me: I am sick in displeasure to him, and whatsoever comes athwart his affection ranges evenly with mine. How canst thou cross this marriage? BORACHIO Not honestly, my lord; but so covertly that no dishonesty shall appear in me. DON JOHN Show me briefly how. BORACHIO I think I told your lordship a year since, how much I am in the favour of Margaret, the waiting gentlewoman to Hero. DON JOHN I remember. BORACHIO I can, at any unseasonable instant of the night, appoint her to look out at her lady's chamber window. DON JOHN What life is in that, to be the death of this marriage? BORACHIO The poison of that lies in you to temper. Go you to the prince your brother; spare not to tell him that he hath wronged his honour in marrying the renowned Claudio--whose estimation do you mightily hold up--to a contaminated stale, such a one as Hero. DON JOHN What proof shall I make of that? BORACHIO Proof enough to misuse the prince, to vex Claudio, to undo Hero and kill Leonato. Look you for any other issue? DON JOHN Only to despite them, I will endeavour any thing. BORACHIO Go, then; find me a meet hour to draw Don Pedro and the Count Claudio alone: tell them that you know that Hero loves me; intend a kind of zeal both to the prince and Claudio, as,--in love of your brother's honour, who hath made this match, and his friend's reputation, who is thus like to be cozened with the semblance of a maid,--that you have discovered thus. They will scarcely believe this without trial: offer them instances; which shall bear no less likelihood than to see me at her chamber-window, hear me call Margaret Hero, hear Margaret term me Claudio; and bring them to see this the very night before the intended wedding,--for in the meantime I will so fashion the matter that Hero shall be absent,--and there shall appear such seeming truth of Hero's disloyalty that jealousy shall be called assurance and all the preparation overthrown. DON JOHN Grow this to what adverse issue it can, I will put it in practise. Be cunning in the working this, and thy fee is a thousand ducats. BORACHIO Be you constant in the accusation, and my cunning shall not shame me. DON JOHN I will presently go learn their day of marriage. Exeunt SCENE III. LEONATO'S orchard. Enter BENEDICK BENEDICK Boy! Enter Boy Boy Signior? BENEDICK In my chamber-window lies a book: bring it hither to me in the orchard. Boy I am here already, sir. BENEDICK I know that; but I would have thee hence, and here again. Exit Boy I do much wonder that one man, seeing how much another man is a fool when he dedicates his behaviors to love, will, after he hath laughed at such shallow follies in others, become the argument of his own scorn by failing in love: and such a man is Claudio. I have known when there was no music with him but the drum and the fife; and now had he rather hear the tabour and the pipe: I have known when he would have walked ten mile a-foot to see a good armour; and now will he lie ten nights awake, carving the fashion of a new doublet. He was wont to speak plain and to the purpose, like an honest man and a soldier; and now is he turned orthography; his words are a very fantastical banquet, just so many strange dishes. May I be so converted and see with these eyes? I cannot tell; I think not: I will not be sworn, but love may transform me to an oyster; but I'll take my oath on it, till he have made an oyster of me, he shall never make me such a fool. One woman is fair, yet I am well; another is wise, yet I am well; another virtuous, yet I am well; but till all graces be in one woman, one woman shall not come in my grace. Rich she shall be, that's certain; wise, or I'll none; virtuous, or I'll never cheapen her; fair, or I'll never look on her; mild, or come not near me; noble, or not I for an angel; of good discourse, an excellent musician, and her hair shall be of what colour it please God. Ha! the prince and Monsieur Love! I will hide me in the arbour. Withdraws Enter DON PEDRO, CLAUDIO, and LEONATO DON PEDRO Come, shall we hear this music? CLAUDIO Yea, my good lord. How still the evening is, As hush'd on purpose to grace harmony! DON PEDRO See you where Benedick hath hid himself? CLAUDIO O, very well, my lord: the music ended, We'll fit the kid-fox with a pennyworth. Enter BALTHASAR with Music DON PEDRO Come, Balthasar, we'll hear that song again. BALTHASAR O, good my lord, tax not so bad a voice To slander music any more than once. DON PEDRO It is the witness still of excellency To put a strange face on his own perfection. I pray thee, sing, and let me woo no more. BALTHASAR Because you talk of wooing, I will sing; Since many a wooer doth commence his suit To her he thinks not worthy, yet he wooes, Yet will he swear he loves. DON PEDRO Now, pray thee, come; Or, if thou wilt hold longer argument, Do it in notes. BALTHASAR Note this before my notes; There's not a note of mine that's worth the noting. DON PEDRO Why, these are very crotchets that he speaks; Note, notes, forsooth, and nothing. Air BENEDICK Now, divine air! now is his soul ravished! Is it not strange that sheeps' guts should hale souls out of men's bodies? Well, a horn for my money, when all's done. The Song BALTHASAR Sigh no more, ladies, sigh no more, Men were deceivers ever, One foot in sea and one on shore, To one thing constant never: Then sigh not so, but let them go, And be you blithe and bonny, Converting all your sounds of woe Into Hey nonny, nonny. Sing no more ditties, sing no moe, Of dumps so dull and heavy; The fraud of men was ever so, Since summer first was leafy: Then sigh not so, &c. DON PEDRO By my troth, a good song. BALTHASAR And an ill singer, my lord. DON PEDRO Ha, no, no, faith; thou singest well enough for a shift. BENEDICK An he had been a dog that should have howled thus, they would have hanged him: and I pray God his bad voice bode no mischief. I had as lief have heard the night-raven, come what plague could have come after it. DON PEDRO Yea, marry, dost thou hear, Balthasar? I pray thee, get us some excellent music; for to-morrow night we would have it at the Lady Hero's chamber-window. BALTHASAR The best I can, my lord. DON PEDRO Do so: farewell. Exit BALTHASAR Come hither, Leonato. What was it you told me of to-day, that your niece Beatrice was in love with Signior Benedick? CLAUDIO O, ay: stalk on. stalk on; the fowl sits. I did never think that lady would have loved any man. LEONATO No, nor I neither; but most wonderful that she should so dote on Signior Benedick, whom she hath in all outward behaviors seemed ever to abhor. BENEDICK Is't possible? Sits the wind in that corner? LEONATO By my troth, my lord, I cannot tell what to think of it but that she loves him with an enraged affection: it is past the infinite of thought. DON PEDRO May be she doth but counterfeit. CLAUDIO Faith, like enough. LEONATO O God, counterfeit! There was never counterfeit of passion came so near the life of passion as she discovers it. DON PEDRO Why, what effects of passion shows she? CLAUDIO Bait the hook well; this fish will bite. LEONATO What effects, my lord? She will sit you, you heard my daughter tell you how. CLAUDIO She did, indeed. DON PEDRO How, how, pray you? You amaze me: I would have I thought her spirit had been invincible against all assaults of affection. LEONATO I would have sworn it had, my lord; especially against Benedick. BENEDICK I should think this a gull, but that the white-bearded fellow speaks it: knavery cannot, sure, hide himself in such reverence. CLAUDIO He hath ta'en the infection: hold it up. DON PEDRO Hath she made her affection known to Benedick? LEONATO No; and swears she never will: that's her torment. CLAUDIO 'Tis true, indeed; so your daughter says: 'Shall I,' says she, 'that have so oft encountered him with scorn, write to him that I love him?' LEONATO This says she now when she is beginning to write to him; for she'll be up twenty times a night, and there will she sit in her smock till she have writ a sheet of paper: my daughter tells us all. CLAUDIO Now you talk of a sheet of paper, I remember a pretty jest your daughter told us of. LEONATO O, when she had writ it and was reading it over, she found Benedick and Beatrice between the sheet? CLAUDIO That. LEONATO O, she tore the letter into a thousand halfpence; railed at herself, that she should be so immodest to write to one that she knew would flout her; 'I measure him,' says she, 'by my own spirit; for I should flout him, if he writ to me; yea, though I love him, I should.' CLAUDIO Then down upon her knees she falls, weeps, sobs, beats her heart, tears her hair, prays, curses; 'O sweet Benedick! God give me patience!' LEONATO She doth indeed; my daughter says so: and the ecstasy hath so much overborne her that my daughter is sometime afeared she will do a desperate outrage to herself: it is very true. DON PEDRO It were good that Benedick knew of it by some other, if she will not discover it. CLAUDIO To what end? He would make but a sport of it and torment the poor lady worse. DON PEDRO An he should, it were an alms to hang him. She's an excellent sweet lady; and, out of all suspicion, she is virtuous. CLAUDIO And she is exceeding wise. DON PEDRO In every thing but in loving Benedick. LEONATO O, my lord, wisdom and blood combating in so tender a body, we have ten proofs to one that blood hath the victory. I am sorry for her, as I have just cause, being her uncle and her guardian. DON PEDRO I would she had bestowed this dotage on me: I would have daffed all other respects and made her half myself. I pray you, tell Benedick of it, and hear what a' will say. LEONATO Were it good, think you? CLAUDIO Hero thinks surely she will die; for she says she will die, if he love her not, and she will die, ere she make her love known, and she will die, if he woo her, rather than she will bate one breath of her accustomed crossness. DON PEDRO She doth well: if she should make tender of her love, 'tis very possible he'll scorn it; for the man, as you know all, hath a contemptible spirit. CLAUDIO He is a very proper man. DON PEDRO He hath indeed a good outward happiness. CLAUDIO Before God! and, in my mind, very wise. DON PEDRO He doth indeed show some sparks that are like wit. CLAUDIO And I take him to be valiant. DON PEDRO As Hector, I assure you: and in the managing of quarrels you may say he is wise; for either he avoids them with great discretion, or undertakes them with a most Christian-like fear. LEONATO If he do fear God, a' must necessarily keep peace: if he break the peace, he ought to enter into a quarrel with fear and trembling. DON PEDRO And so will he do; for the man doth fear God, howsoever it seems not in him by some large jests he will make. Well I am sorry for your niece. Shall we go seek Benedick, and tell him of her love? CLAUDIO Never tell him, my lord: let her wear it out with good counsel. LEONATO Nay, that's impossible: she may wear her heart out first. DON PEDRO Well, we will hear further of it by your daughter: let it cool the while. I love Benedick well; and I could wish he would modestly examine himself, to see how much he is unworthy so good a lady. LEONATO My lord, will you walk? dinner is ready. CLAUDIO If he do not dote on her upon this, I will never trust my expectation. DON PEDRO Let there be the same net spread for her; and that must your daughter and her gentlewomen carry. The sport will be, when they hold one an opinion of another's dotage, and no such matter: that's the scene that I would see, which will be merely a dumb-show. Let us send her to call him in to dinner. Exeunt DON PEDRO, CLAUDIO, and LEONATO BENEDICK Coming forward This can be no trick: the conference was sadly borne. They have the truth of this from Hero. They seem to pity the lady: it seems her affections have their full bent. Love me! why, it must be requited. I hear how I am censured: they say I will bear myself proudly, if I perceive the love come from her; they say too that she will rather die than give any sign of affection. I did never think to marry: I must not seem proud: happy are they that hear their detractions and can put them to mending. They say the lady is fair; 'tis a truth, I can bear them witness; and virtuous; 'tis so, I cannot reprove it; and wise, but for loving me; by my troth, it is no addition to her wit, nor no great argument of her folly, for I will be horribly in love with her. I may chance have some odd quirks and remnants of wit broken on me, because I have railed so long against marriage: but doth not the appetite alter? a man loves the meat in his youth that he cannot endure in his age. Shall quips and sentences and these paper bullets of the brain awe a man from the career of his humour? No, the world must be peopled. When I said I would die a bachelor, I did not think I should live till I were married. Here comes Beatrice. By this day! she's a fair lady: I do spy some marks of love in her. Enter BEATRICE BEATRICE Against my will I am sent to bid you come in to dinner. BENEDICK Fair Beatrice, I thank you for your pains. BEATRICE I took no more pains for those thanks than you take pains to thank me: if it had been painful, I would not have come. BENEDICK You take pleasure then in the message? BEATRICE Yea, just so much as you may take upon a knife's point and choke a daw withal. You have no stomach, signior: fare you well. Exit BENEDICK Ha! 'Against my will I am sent to bid you come in to dinner;' there's a double meaning in that 'I took no more pains for those thanks than you took pains to thank me.' that's as much as to say, Any pains that I take for you is as easy as thanks. If I do not take pity of her, I am a villain; if I do not love her, I am a Jew. I will go get her picture. Exit ACT III SCENE I. LEONATO'S garden. Enter HERO, MARGARET, and URSULA HERO Good Margaret, run thee to the parlor; There shalt thou find my cousin Beatrice Proposing with the prince and Claudio: Whisper her ear and tell her, I and Ursula Walk in the orchard and our whole discourse Is all of her; say that thou overheard'st us; And bid her steal into the pleached bower, Where honeysuckles, ripen'd by the sun, Forbid the sun to enter, like favourites, Made proud by princes, that advance their pride Against that power that bred it: there will she hide her, To listen our purpose. This is thy office; Bear thee well in it and leave us alone. MARGARET I'll make her come, I warrant you, presently. Exit HERO Now, Ursula, when Beatrice doth come, As we do trace this alley up and down, Our talk must only be of Benedick. When I do name him, let it be thy part To praise him more than ever man did merit: My talk to thee must be how Benedick Is sick in love with Beatrice. Of this matter Is little Cupid's crafty arrow made, That only wounds by hearsay. Enter BEATRICE, behind Now begin; For look where Beatrice, like a lapwing, runs Close by the ground, to hear our conference. URSULA The pleasant'st angling is to see the fish Cut with her golden oars the silver stream, And greedily devour the treacherous bait: So angle we for Beatrice; who even now Is couched in the woodbine coverture. Fear you not my part of the dialogue. HERO Then go we near her, that her ear lose nothing Of the false sweet bait that we lay for it. Approaching the bower No, truly, Ursula, she is too disdainful; I know her spirits are as coy and wild As haggerds of the rock. URSULA But are you sure That Benedick loves Beatrice so entirely? HERO So says the prince and my new-trothed lord. URSULA And did they bid you tell her of it, madam? HERO They did entreat me to acquaint her of it; But I persuaded them, if they loved Benedick, To wish him wrestle with affection, And never to let Beatrice know of it. URSULA Why did you so? Doth not the gentleman Deserve as full as fortunate a bed As ever Beatrice shall couch upon? HERO O god of love! I know he doth deserve As much as may be yielded to a man: But Nature never framed a woman's heart Of prouder stuff than that of Beatrice; Disdain and scorn ride sparkling in her eyes, Misprising what they look on, and her wit Values itself so highly that to her All matter else seems weak: she cannot love, Nor take no shape nor project of affection, She is so self-endeared. URSULA Sure, I think so; And therefore certainly it were not good She knew his love, lest she make sport at it. HERO Why, you speak truth. I never yet saw man, How wise, how noble, young, how rarely featured, But she would spell him backward: if fair-faced, She would swear the gentleman should be her sister; If black, why, Nature, drawing of an antique, Made a foul blot; if tall, a lance ill-headed; If low, an agate very vilely cut; If speaking, why, a vane blown with all winds; If silent, why, a block moved with none. So turns she every man the wrong side out And never gives to truth and virtue that Which simpleness and merit purchaseth. URSULA Sure, sure, such carping is not commendable. HERO No, not to be so odd and from all fashions As Beatrice is, cannot be commendable: But who dare tell her so? If I should speak, She would mock me into air; O, she would laugh me Out of myself, press me to death with wit. Therefore let Benedick, like cover'd fire, Consume away in sighs, waste inwardly: It were a better death than die with mocks, Which is as bad as die with tickling. URSULA Yet tell her of it: hear what she will say. HERO No; rather I will go to Benedick And counsel him to fight against his passion. And, truly, I'll devise some honest slanders To stain my cousin with: one doth not know How much an ill word may empoison liking. URSULA O, do not do your cousin such a wrong. She cannot be so much without true judgment-- Having so swift and excellent a wit As she is prized to have--as to refuse So rare a gentleman as Signior Benedick. HERO He is the only man of Italy. Always excepted my dear Claudio. URSULA I pray you, be not angry with me, madam, Speaking my fancy: Signior Benedick, For shape, for bearing, argument and valour, Goes foremost in report through Italy. HERO Indeed, he hath an excellent good name. URSULA His excellence did earn it, ere he had it. When are you married, madam? HERO Why, every day, to-morrow. Come, go in: I'll show thee some attires, and have thy counsel Which is the best to furnish me to-morrow. URSULA She's limed, I warrant you: we have caught her, madam. HERO If it proves so, then loving goes by haps: Some Cupid kills with arrows, some with traps. Exeunt HERO and URSULA BEATRICE Coming forward What fire is in mine ears? Can this be true? Stand I condemn'd for pride and scorn so much? Contempt, farewell! and maiden pride, adieu! No glory lives behind the back of such. And, Benedick, love on; I will requite thee, Taming my wild heart to thy loving hand: If thou dost love, my kindness shall incite thee To bind our loves up in a holy band; For others say thou dost deserve, and I Believe it better than reportingly. Exit SCENE II. A room in LEONATO'S house Enter DON PEDRO, CLAUDIO, BENEDICK, and LEONATO DON PEDRO I do but stay till your marriage be consummate, and then go I toward Arragon. CLAUDIO I'll bring you thither, my lord, if you'll vouchsafe me. DON PEDRO Nay, that would be as great a soil in the new gloss of your marriage as to show a child his new coat and forbid him to wear it. I will only be bold with Benedick for his company; for, from the crown of his head to the sole of his foot, he is all mirth: he hath twice or thrice cut Cupid's bow-string and the little hangman dare not shoot at him; he hath a heart as sound as a bell and his tongue is the clapper, for what his heart thinks his tongue speaks. BENEDICK Gallants, I am not as I have been. LEONATO So say I methinks you are sadder. CLAUDIO I hope he be in love. DON PEDRO Hang him, truant! there's no true drop of blood in him, to be truly touched with love: if he be sad, he wants money. BENEDICK I have the toothache. DON PEDRO Draw it. BENEDICK Hang it! CLAUDIO You must hang it first, and draw it afterwards. DON PEDRO What! sigh for the toothache? LEONATO Where is but a humour or a worm. BENEDICK Well, every one can master a grief but he that has it. CLAUDIO Yet say I, he is in love. DON PEDRO There is no appearance of fancy in him, unless it be a fancy that he hath to strange disguises; as, to be a Dutchman today, a Frenchman to-morrow, or in the shape of two countries at once, as, a German from the waist downward, all slops, and a Spaniard from the hip upward, no doublet. Unless he have a fancy to this foolery, as it appears he hath, he is no fool for fancy, as you would have it appear he is. CLAUDIO If he be not in love with some woman, there is no believing old signs: a' brushes his hat o' mornings; what should that bode? DON PEDRO Hath any man seen him at the barber's? CLAUDIO No, but the barber's man hath been seen with him, and the old ornament of his cheek hath already stuffed tennis-balls. LEONATO Indeed, he looks younger than he did, by the loss of a beard. DON PEDRO Nay, a' rubs himself with civet: can you smell him out by that? CLAUDIO That's as much as to say, the sweet youth's in love. DON PEDRO The greatest note of it is his melancholy. CLAUDIO And when was he wont to wash his face? DON PEDRO Yea, or to paint himself? for the which, I hear what they say of him. CLAUDIO Nay, but his jesting spirit; which is now crept into a lute-string and now governed by stops. DON PEDRO Indeed, that tells a heavy tale for him: conclude, conclude he is in love. CLAUDIO Nay, but I know who loves him. DON PEDRO That would I know too: I warrant, one that knows him not. CLAUDIO Yes, and his ill conditions; and, in despite of all, dies for him. DON PEDRO She shall be buried with her face upwards. BENEDICK Yet is this no charm for the toothache. Old signior, walk aside with me: I have studied eight or nine wise words to speak to you, which these hobby-horses must not hear. Exeunt BENEDICK and LEONATO DON PEDRO For my life, to break with him about Beatrice. CLAUDIO 'Tis even so. Hero and Margaret have by this played their parts with Beatrice; and then the two bears will not bite one another when they meet. Enter DON JOHN DON JOHN My lord and brother, God save you! DON PEDRO Good den, brother. DON JOHN If your leisure served, I would speak with you. DON PEDRO In private? DON JOHN If it please you: yet Count Claudio may hear; for what I would speak of concerns him. DON PEDRO What's the matter? DON JOHN To CLAUDIO Means your lordship to be married to-morrow? DON PEDRO You know he does. DON JOHN I know not that, when he knows what I know. CLAUDIO If there be any impediment, I pray you discover it. DON JOHN You may think I love you not: let that appear hereafter, and aim better at me by that I now will manifest. For my brother, I think he holds you well, and in dearness of heart hath holp to effect your ensuing marriage;--surely suit ill spent and labour ill bestowed. DON PEDRO Why, what's the matter? DON JOHN I came hither to tell you; and, circumstances shortened, for she has been too long a talking of, the lady is disloyal. CLAUDIO Who, Hero? DON PEDRO Even she; Leonato's Hero, your Hero, every man's Hero: CLAUDIO Disloyal? DON JOHN The word is too good to paint out her wickedness; I could say she were worse: think you of a worse title, and I will fit her to it. Wonder not till further warrant: go but with me to-night, you shall see her chamber-window entered, even the night before her wedding-day: if you love her then, to-morrow wed her; but it would better fit your honour to change your mind. CLAUDIO May this be so? DON PEDRO I will not think it. DON JOHN If you dare not trust that you see, confess not that you know: if you will follow me, I will show you enough; and when you have seen more and heard more, proceed accordingly. CLAUDIO If I see any thing to-night why I should not marry her to-morrow in the congregation, where I should wed, there will I shame her. DON PEDRO And, as I wooed for thee to obtain her, I will join with thee to disgrace her. DON JOHN I will disparage her no farther till you are my witnesses: bear it coldly but till midnight, and let the issue show itself. DON PEDRO O day untowardly turned! CLAUDIO O mischief strangely thwarting! DON JOHN O plague right well prevented! so will you say when you have seen the sequel. Exeunt SCENE III. A street. Enter DOGBERRY and VERGES with the Watch DOGBERRY Are you good men and true? VERGES Yea, or else it were pity but they should suffer salvation, body and soul. DOGBERRY Nay, that were a punishment too good for them, if they should have any allegiance in them, being chosen for the prince's watch. VERGES Well, give them their charge, neighbour Dogberry. DOGBERRY First, who think you the most desertless man to be constable? First Watchman Hugh Otecake, sir, or George Seacole; for they can write and read. DOGBERRY Come hither, neighbour Seacole. God hath blessed you with a good name: to be a well-favoured man is the gift of fortune; but to write and read comes by nature. Second Watchman Both which, master constable,-- DOGBERRY You have: I knew it would be your answer. Well, for your favour, sir, why, give God thanks, and make no boast of it; and for your writing and reading, let that appear when there is no need of such vanity. You are thought here to be the most senseless and fit man for the constable of the watch; therefore bear you the lantern. This is your charge: you shall comprehend all vagrom men; you are to bid any man stand, in the prince's name. Second Watchman How if a' will not stand? DOGBERRY Why, then, take no note of him, but let him go; and presently call the rest of the watch together and thank God you are rid of a knave. VERGES If he will not stand when he is bidden, he is none of the prince's subjects. DOGBERRY True, and they are to meddle with none but the prince's subjects. You shall also make no noise in the streets; for, for the watch to babble and to talk is most tolerable and not to be endured. Watchman We will rather sleep than talk: we know what belongs to a watch. DOGBERRY Why, you speak like an ancient and most quiet watchman; for I cannot see how sleeping should offend: only, have a care that your bills be not stolen. Well, you are to call at all the ale-houses, and bid those that are drunk get them to bed. Watchman How if they will not? DOGBERRY Why, then, let them alone till they are sober: if they make you not then the better answer, you may say they are not the men you took them for. Watchman Well, sir. DOGBERRY If you meet a thief, you may suspect him, by virtue of your office, to be no true man; and, for such kind of men, the less you meddle or make with them, why the more is for your honesty. Watchman If we know him to be a thief, shall we not lay hands on him? DOGBERRY Truly, by your office, you may; but I think they that touch pitch will be defiled: the most peaceable way for you, if you do take a thief, is to let him show himself what he is and steal out of your company. VERGES You have been always called a merciful man, partner. DOGBERRY Truly, I would not hang a dog by my will, much more a man who hath any honesty in him. VERGES If you hear a child cry in the night, you must call to the nurse and bid her still it. Watchman How if the nurse be asleep and will not hear us? DOGBERRY Why, then, depart in peace, and let the child wake her with crying; for the ewe that will not hear her lamb when it baes will never answer a calf when he bleats. VERGES 'Tis very true. DOGBERRY This is the end of the charge:--you, constable, are to present the prince's own person: if you meet the prince in the night, you may stay him. VERGES Nay, by'r our lady, that I think a' cannot. DOGBERRY Five shillings to one on't, with any man that knows the statutes, he may stay him: marry, not without the prince be willing; for, indeed, the watch ought to offend no man; and it is an offence to stay a man against his will. VERGES By'r lady, I think it be so. DOGBERRY Ha, ha, ha! Well, masters, good night: an there be any matter of weight chances, call up me: keep your fellows' counsels and your own; and good night. Come, neighbour. Watchman Well, masters, we hear our charge: let us go sit here upon the church-bench till two, and then all to bed. DOGBERRY One word more, honest neighbours. I pray you watch about Signior Leonato's door; for the wedding being there to-morrow, there is a great coil to-night. Adieu: be vigitant, I beseech you. Exeunt DOGBERRY and VERGES Enter BORACHIO and CONRADE BORACHIO What Conrade! Watchman Aside Peace! stir not. BORACHIO Conrade, I say! CONRADE Here, man; I am at thy elbow. BORACHIO Mass, and my elbow itched; I thought there would a scab follow. CONRADE I will owe thee an answer for that: and now forward with thy tale. BORACHIO Stand thee close, then, under this pent-house, for it drizzles rain; and I will, like a true drunkard, utter all to thee. Watchman Aside Some treason, masters: yet stand close. BORACHIO Therefore know I have earned of Don John a thousand ducats. CONRADE Is it possible that any villany should be so dear? BORACHIO Thou shouldst rather ask if it were possible any villany should be so rich; for when rich villains have need of poor ones, poor ones may make what price they will. CONRADE I wonder at it. BORACHIO That shows thou art unconfirmed. Thou knowest that the fashion of a doublet, or a hat, or a cloak, is nothing to a man. CONRADE Yes, it is apparel. BORACHIO I mean, the fashion. CONRADE Yes, the fashion is the fashion. BORACHIO Tush! I may as well say the fool's the fool. But seest thou not what a deformed thief this fashion is? Watchman Aside I know that Deformed; a' has been a vile thief this seven year; a' goes up and down like a gentleman: I remember his name. BORACHIO Didst thou not hear somebody? CONRADE No; 'twas the vane on the house. BORACHIO Seest thou not, I say, what a deformed thief this fashion is? how giddily a' turns about all the hot bloods between fourteen and five-and-thirty? sometimes fashioning them like Pharaoh's soldiers in the reeky painting, sometime like god Bel's priests in the old church-window, sometime like the shaven Hercules in the smirched worm-eaten tapestry, where his codpiece seems as massy as his club? CONRADE All this I see; and I see that the fashion wears out more apparel than the man. But art not thou thyself giddy with the fashion too, that thou hast shifted out of thy tale into telling me of the fashion? BORACHIO Not so, neither: but know that I have to-night wooed Margaret, the Lady Hero's gentlewoman, by the name of Hero: she leans me out at her mistress' chamber-window, bids me a thousand times good night,--I tell this tale vilely:--I should first tell thee how the prince, Claudio and my master, planted and placed and possessed by my master Don John, saw afar off in the orchard this amiable encounter. CONRADE And thought they Margaret was Hero? BORACHIO Two of them did, the prince and Claudio; but the devil my master knew she was Margaret; and partly by his oaths, which first possessed them, partly by the dark night, which did deceive them, but chiefly by my villany, which did confirm any slander that Don John had made, away went Claudio enraged; swore he would meet her, as he was appointed, next morning at the temple, and there, before the whole congregation, shame her with what he saw o'er night and send her home again without a husband. First Watchman We charge you, in the prince's name, stand! Second Watchman Call up the right master constable. We have here recovered the most dangerous piece of lechery that ever was known in the commonwealth. First Watchman And one Deformed is one of them: I know him; a' wears a lock. CONRADE Masters, masters,-- Second Watchman You'll be made bring Deformed forth, I warrant you. CONRADE Masters,-- First Watchman Never speak: we charge you let us obey you to go with us. BORACHIO We are like to prove a goodly commodity, being taken up of these men's bills. CONRADE A commodity in question, I warrant you. Come, we'll obey you. Exeunt SCENE IV. HERO's apartment. Enter HERO, MARGARET, and URSULA HERO Good Ursula, wake my cousin Beatrice, and desire her to rise. URSULA I will, lady. HERO And bid her come hither. URSULA Well. Exit MARGARET Troth, I think your other rabato were better. HERO No, pray thee, good Meg, I'll wear this. MARGARET By my troth, 's not so good; and I warrant your cousin will say so. HERO My cousin's a fool, and thou art another: I'll wear none but this. MARGARET I like the new tire within excellently, if the hair were a thought browner; and your gown's a most rare fashion, i' faith. I saw the Duchess of Milan's gown that they praise so. HERO O, that exceeds, they say. MARGARET By my troth, 's but a night-gown in respect of yours: cloth o' gold, and cuts, and laced with silver, set with pearls, down sleeves, side sleeves, and skirts, round underborne with a bluish tinsel: but for a fine, quaint, graceful and excellent fashion, yours is worth ten on 't. HERO God give me joy to wear it! for my heart is exceeding heavy. MARGARET 'Twill be heavier soon by the weight of a man. HERO Fie upon thee! art not ashamed? MARGARET Of what, lady? of speaking honourably? Is not marriage honourable in a beggar? Is not your lord honourable without marriage? I think you would have me say, 'saving your reverence, a husband:' and bad thinking do not wrest true speaking, I'll offend nobody: is there any harm in 'the heavier for a husband'? None, I think, and it be the right husband and the right wife; otherwise 'tis light, and not heavy: ask my Lady Beatrice else; here she comes. Enter BEATRICE HERO Good morrow, coz. BEATRICE Good morrow, sweet Hero. HERO Why how now? do you speak in the sick tune? BEATRICE I am out of all other tune, methinks. MARGARET Clap's into 'Light o' love;' that goes without a burden: do you sing it, and I'll dance it. BEATRICE Ye light o' love, with your heels! then, if your husband have stables enough, you'll see he shall lack no barns. MARGARET O illegitimate construction! I scorn that with my heels. BEATRICE 'Tis almost five o'clock, cousin; tis time you were ready. By my troth, I am exceeding ill: heigh-ho! MARGARET For a hawk, a horse, or a husband? BEATRICE For the letter that begins them all, H. MARGARET Well, and you be not turned Turk, there's no more sailing by the star. BEATRICE What means the fool, trow? MARGARET Nothing I; but God send every one their heart's desire! HERO These gloves the count sent me; they are an excellent perfume. BEATRICE I am stuffed, cousin; I cannot smell. MARGARET A maid, and stuffed! there's goodly catching of cold. BEATRICE O, God help me! God help me! how long have you professed apprehension? MARGARET Even since you left it. Doth not my wit become me rarely? BEATRICE It is not seen enough, you should wear it in your cap. By my troth, I am sick. MARGARET Get you some of this distilled Carduus Benedictus, and lay it to your heart: it is the only thing for a qualm. HERO There thou prickest her with a thistle. BEATRICE Benedictus! why Benedictus? you have some moral in this Benedictus. MARGARET Moral! no, by my troth, I have no moral meaning; I meant, plain holy-thistle. You may think perchance that I think you are in love: nay, by'r lady, I am not such a fool to think what I list, nor I list not to think what I can, nor indeed I cannot think, if I would think my heart out of thinking, that you are in love or that you will be in love or that you can be in love. Yet Benedick was such another, and now is he become a man: he swore he would never marry, and yet now, in despite of his heart, he eats his meat without grudging: and how you may be converted I know not, but methinks you look with your eyes as other women do. BEATRICE What pace is this that thy tongue keeps? MARGARET Not a false gallop. Re-enter URSULA URSULA Madam, withdraw: the prince, the count, Signior Benedick, Don John, and all the gallants of the town, are come to fetch you to church. HERO Help to dress me, good coz, good Meg, good Ursula. Exeunt SCENE V. Another room in LEONATO'S house. Enter LEONATO, with DOGBERRY and VERGES LEONATO What would you with me, honest neighbour? DOGBERRY Marry, sir, I would have some confidence with you that decerns you nearly. LEONATO Brief, I pray you; for you see it is a busy time with me. DOGBERRY Marry, this it is, sir. VERGES Yes, in truth it is, sir. LEONATO What is it, my good friends? DOGBERRY Goodman Verges, sir, speaks a little off the matter: an old man, sir, and his wits are not so blunt as, God help, I would desire they were; but, in faith, honest as the skin between his brows. VERGES Yes, I thank God I am as honest as any man living that is an old man and no honester than I. DOGBERRY Comparisons are odorous: palabras, neighbour Verges. LEONATO Neighbours, you are tedious. DOGBERRY It pleases your worship to say so, but we are the poor duke's officers; but truly, for mine own part, if I were as tedious as a king, I could find it in my heart to bestow it all of your worship. LEONATO All thy tediousness on me, ah? DOGBERRY Yea, an 'twere a thousand pound more than 'tis; for I hear as good exclamation on your worship as of any man in the city; and though I be but a poor man, I am glad to hear it. VERGES And so am I. LEONATO I would fain know what you have to say. VERGES Marry, sir, our watch to-night, excepting your worship's presence, ha' ta'en a couple of as arrant knaves as any in Messina. DOGBERRY A good old man, sir; he will be talking: as they say, when the age is in, the wit is out: God help us! it is a world to see. Well said, i' faith, neighbour Verges: well, God's a good man; an two men ride of a horse, one must ride behind. An honest soul, i' faith, sir; by my troth he is, as ever broke bread; but God is to be worshipped; all men are not alike; alas, good neighbour! LEONATO Indeed, neighbour, he comes too short of you. DOGBERRY Gifts that God gives. LEONATO I must leave you. DOGBERRY One word, sir: our watch, sir, have indeed comprehended two aspicious persons, and we would have them this morning examined before your worship. LEONATO Take their examination yourself and bring it me: I am now in great haste, as it may appear unto you. DOGBERRY It shall be suffigance. LEONATO Drink some wine ere you go: fare you well. Enter a Messenger Messenger My lord, they stay for you to give your daughter to her husband. LEONATO I'll wait upon them: I am ready. Exeunt LEONATO and Messenger DOGBERRY Go, good partner, go, get you to Francis Seacole; bid him bring his pen and inkhorn to the gaol: we are now to examination these men. VERGES And we must do it wisely. DOGBERRY We will spare for no wit, I warrant you; here's that shall drive some of them to a non-come: only get the learned writer to set down our excommunication and meet me at the gaol. Exeunt ACT IV SCENE I. A church. Enter DON PEDRO, DON JOHN, LEONATO, FRIAR FRANCIS, CLAUDIO, BENEDICK, HERO, BEATRICE, and Attendants LEONATO Come, Friar Francis, be brief; only to the plain form of marriage, and you shall recount their particular duties afterwards. FRIAR FRANCIS You come hither, my lord, to marry this lady. CLAUDIO No. LEONATO To be married to her: friar, you come to marry her. FRIAR FRANCIS Lady, you come hither to be married to this count. HERO I do. FRIAR FRANCIS If either of you know any inward impediment why you should not be conjoined, charge you, on your souls, to utter it. CLAUDIO Know you any, Hero? HERO None, my lord. FRIAR FRANCIS Know you any, count? LEONATO I dare make his answer, none. CLAUDIO O, what men dare do! what men may do! what men daily do, not knowing what they do! BENEDICK How now! interjections? Why, then, some be of laughing, as, ah, ha, he! CLAUDIO Stand thee by, friar. Father, by your leave: Will you with free and unconstrained soul Give me this maid, your daughter? LEONATO As freely, son, as God did give her me. CLAUDIO And what have I to give you back, whose worth May counterpoise this rich and precious gift? DON PEDRO Nothing, unless you render her again. CLAUDIO Sweet prince, you learn me noble thankfulness. There, Leonato, take her back again: Give not this rotten orange to your friend; She's but the sign and semblance of her honour. Behold how like a maid she blushes here! O, what authority and show of truth Can cunning sin cover itself withal! Comes not that blood as modest evidence To witness simple virtue? Would you not swear, All you that see her, that she were a maid, By these exterior shows? But she is none: She knows the heat of a luxurious bed; Her blush is guiltiness, not modesty. LEONATO What do you mean, my lord? CLAUDIO Not to be married, Not to knit my soul to an approved wanton. LEONATO Dear my lord, if you, in your own proof, Have vanquish'd the resistance of her youth, And made defeat of her virginity,-- CLAUDIO I know what you would say: if I have known her, You will say she did embrace me as a husband, And so extenuate the 'forehand sin: No, Leonato, I never tempted her with word too large; But, as a brother to his sister, show'd Bashful sincerity and comely love. HERO And seem'd I ever otherwise to you? CLAUDIO Out on thee! Seeming! I will write against it: You seem to me as Dian in her orb, As chaste as is the bud ere it be blown; But you are more intemperate in your blood Than Venus, or those pamper'd animals That rage in savage sensuality. HERO Is my lord well, that he doth speak so wide? LEONATO Sweet prince, why speak not you? DON PEDRO What should I speak? I stand dishonour'd, that have gone about To link my dear friend to a common stale. LEONATO Are these things spoken, or do I but dream? DON JOHN Sir, they are spoken, and these things are true. BENEDICK This looks not like a nuptial. HERO True! O God! CLAUDIO Leonato, stand I here? Is this the prince? is this the prince's brother? Is this face Hero's? are our eyes our own? LEONATO All this is so: but what of this, my lord? CLAUDIO Let me but move one question to your daughter; And, by that fatherly and kindly power That you have in her, bid her answer truly. LEONATO I charge thee do so, as thou art my child. HERO O, God defend me! how am I beset! What kind of catechising call you this? CLAUDIO To make you answer truly to your name. HERO Is it not Hero? Who can blot that name With any just reproach? CLAUDIO Marry, that can Hero; Hero itself can blot out Hero's virtue. What man was he talk'd with you yesternight Out at your window betwixt twelve and one? Now, if you are a maid, answer to this. HERO I talk'd with no man at that hour, my lord. DON PEDRO Why, then are you no maiden. Leonato, I am sorry you must hear: upon mine honour, Myself, my brother and this grieved count Did see her, hear her, at that hour last night Talk with a ruffian at her chamber-window Who hath indeed, most like a liberal villain, Confess'd the vile encounters they have had A thousand times in secret. DON JOHN Fie, fie! they are not to be named, my lord, Not to be spoke of; There is not chastity enough in language Without offence to utter them. Thus, pretty lady, I am sorry for thy much misgovernment. CLAUDIO O Hero, what a Hero hadst thou been, If half thy outward graces had been placed About thy thoughts and counsels of thy heart! But fare thee well, most foul, most fair! farewell, Thou pure impiety and impious purity! For thee I'll lock up all the gates of love, And on my eyelids shall conjecture hang, To turn all beauty into thoughts of harm, And never shall it more be gracious. LEONATO Hath no man's dagger here a point for me? HERO swoons BEATRICE Why, how now, cousin! wherefore sink you down? DON JOHN Come, let us go. These things, come thus to light, Smother her spirits up. Exeunt DON PEDRO, DON JOHN, and CLAUDIO BENEDICK How doth the lady? BEATRICE Dead, I think. Help, uncle! Hero! why, Hero! Uncle! Signior Benedick! Friar! LEONATO O Fate! take not away thy heavy hand. Death is the fairest cover for her shame That may be wish'd for. BEATRICE How now, cousin Hero! FRIAR FRANCIS Have comfort, lady. LEONATO Dost thou look up? FRIAR FRANCIS Yea, wherefore should she not? LEONATO Wherefore! Why, doth not every earthly thing Cry shame upon her? Could she here deny The story that is printed in her blood? Do not live, Hero; do not ope thine eyes: For, did I think thou wouldst not quickly die, Thought I thy spirits were stronger than thy shames, Myself would, on the rearward of reproaches, Strike at thy life. Grieved I, I had but one? Chid I for that at frugal nature's frame? O, one too much by thee! Why had I one? Why ever wast thou lovely in my eyes? Why had I not with charitable hand Took up a beggar's issue at my gates, Who smirch'd thus and mired with infamy, I might have said 'No part of it is mine; This shame derives itself from unknown loins'? But mine and mine I loved and mine I praised And mine that I was proud on, mine so much That I myself was to myself not mine, Valuing of her,--why, she, O, she is fallen Into a pit of ink, that the wide sea Hath drops too few to wash her clean again And salt too little which may season give To her foul-tainted flesh! BENEDICK Sir, sir, be patient. For my part, I am so attired in wonder, I know not what to say. BEATRICE O, on my soul, my cousin is belied! BENEDICK Lady, were you her bedfellow last night? BEATRICE No, truly not; although, until last night, I have this twelvemonth been her bedfellow. LEONATO Confirm'd, confirm'd! O, that is stronger made Which was before barr'd up with ribs of iron! Would the two princes lie, and Claudio lie, Who loved her so, that, speaking of her foulness, Wash'd it with tears? Hence from her! let her die. FRIAR FRANCIS Hear me a little; for I have only been Silent so long and given way unto This course of fortune By noting of the lady. I have mark'd A thousand blushing apparitions To start into her face, a thousand innocent shames In angel whiteness beat away those blushes; And in her eye there hath appear'd a fire, To burn the errors that these princes hold Against her maiden truth. Call me a fool; Trust not my reading nor my observations, Which with experimental seal doth warrant The tenor of my book; trust not my age, My reverence, calling, nor divinity, If this sweet lady lie not guiltless here Under some biting error. LEONATO Friar, it cannot be. Thou seest that all the grace that she hath left Is that she will not add to her damnation A sin of perjury; she not denies it: Why seek'st thou then to cover with excuse That which appears in proper nakedness? FRIAR FRANCIS Lady, what man is he you are accused of? HERO They know that do accuse me; I know none: If I know more of any man alive Than that which maiden modesty doth warrant, Let all my sins lack mercy! O my father, Prove you that any man with me conversed At hours unmeet, or that I yesternight Maintain'd the change of words with any creature, Refuse me, hate me, torture me to death! FRIAR FRANCIS There is some strange misprision in the princes. BENEDICK Two of them have the very bent of honour; And if their wisdoms be misled in this, The practise of it lives in John the bastard, Whose spirits toil in frame of villanies. LEONATO I know not. If they speak but truth of her, These hands shall tear her; if they wrong her honour, The proudest of them shall well hear of it. Time hath not yet so dried this blood of mine, Nor age so eat up my invention, Nor fortune made such havoc of my means, Nor my bad life reft me so much of friends, But they shall find, awaked in such a kind, Both strength of limb and policy of mind, Ability in means and choice of friends, To quit me of them throughly. FRIAR FRANCIS Pause awhile, And let my counsel sway you in this case. Your daughter here the princes left for dead: Let her awhile be secretly kept in, And publish it that she is dead indeed; Maintain a mourning ostentation And on your family's old monument Hang mournful epitaphs and do all rites That appertain unto a burial. LEONATO What shall become of this? what will this do? FRIAR FRANCIS Marry, this well carried shall on her behalf Change slander to remorse; that is some good: But not for that dream I on this strange course, But on this travail look for greater birth. She dying, as it must so be maintain'd, Upon the instant that she was accused, Shall be lamented, pitied and excused Of every hearer: for it so falls out That what we have we prize not to the worth Whiles we enjoy it, but being lack'd and lost, Why, then we rack the value, then we find The virtue that possession would not show us Whiles it was ours. So will it fare with Claudio: When he shall hear she died upon his words, The idea of her life shall sweetly creep Into his study of imagination, And every lovely organ of her life Shall come apparell'd in more precious habit, More moving-delicate and full of life, Into the eye and prospect of his soul, Than when she lived indeed; then shall he mourn, If ever love had interest in his liver, And wish he had not so accused her, No, though he thought his accusation true. Let this be so, and doubt not but success Will fashion the event in better shape Than I can lay it down in likelihood. But if all aim but this be levell'd false, The supposition of the lady's death Will quench the wonder of her infamy: And if it sort not well, you may conceal her, As best befits her wounded reputation, In some reclusive and religious life, Out of all eyes, tongues, minds and injuries. BENEDICK Signior Leonato, let the friar advise you: And though you know my inwardness and love Is very much unto the prince and Claudio, Yet, by mine honour, I will deal in this As secretly and justly as your soul Should with your body. LEONATO Being that I flow in grief, The smallest twine may lead me. FRIAR FRANCIS 'Tis well consented: presently away; For to strange sores strangely they strain the cure. Come, lady, die to live: this wedding-day Perhaps is but prolong'd: have patience and endure. Exeunt all but BENEDICK and BEATRICE BENEDICK Lady Beatrice, have you wept all this while? BEATRICE Yea, and I will weep a while longer. BENEDICK I will not desire that. BEATRICE You have no reason; I do it freely. BENEDICK Surely I do believe your fair cousin is wronged. BEATRICE Ah, how much might the man deserve of me that would right her! BENEDICK Is there any way to show such friendship? BEATRICE A very even way, but no such friend. BENEDICK May a man do it? BEATRICE It is a man's office, but not yours. BENEDICK I do love nothing in the world so well as you: is not that strange? BEATRICE As strange as the thing I know not. It were as possible for me to say I loved nothing so well as you: but believe me not; and yet I lie not; I confess nothing, nor I deny nothing. I am sorry for my cousin. BENEDICK By my sword, Beatrice, thou lovest me. BEATRICE Do not swear, and eat it. BENEDICK I will swear by it that you love me; and I will make him eat it that says I love not you. BEATRICE Will you not eat your word? BENEDICK With no sauce that can be devised to it. I protest I love thee. BEATRICE Why, then, God forgive me! BENEDICK What offence, sweet Beatrice? BEATRICE You have stayed me in a happy hour: I was about to protest I loved you. BENEDICK And do it with all thy heart. BEATRICE I love you with so much of my heart that none is left to protest. BENEDICK Come, bid me do any thing for thee. BEATRICE Kill Claudio. BENEDICK Ha! not for the wide world. BEATRICE You kill me to deny it. Farewell. BENEDICK Tarry, sweet Beatrice. BEATRICE I am gone, though I am here: there is no love in you: nay, I pray you, let me go. BENEDICK Beatrice,-- BEATRICE In faith, I will go. BENEDICK We'll be friends first. BEATRICE You dare easier be friends with me than fight with mine enemy. BENEDICK Is Claudio thine enemy? BEATRICE Is he not approved in the height a villain, that hath slandered, scorned, dishonoured my kinswoman? O that I were a man! What, bear her in hand until they come to take hands; and then, with public accusation, uncovered slander, unmitigated rancour, --O God, that I were a man! I would eat his heart in the market-place. BENEDICK Hear me, Beatrice,-- BEATRICE Talk with a man out at a window! A proper saying! BENEDICK Nay, but, Beatrice,-- BEATRICE Sweet Hero! She is wronged, she is slandered, she is undone. BENEDICK Beat-- BEATRICE Princes and counties! Surely, a princely testimony, a goodly count, Count Comfect; a sweet gallant, surely! O that I were a man for his sake! or that I had any friend would be a man for my sake! But manhood is melted into courtesies, valour into compliment, and men are only turned into tongue, and trim ones too: he is now as valiant as Hercules that only tells a lie and swears it. I cannot be a man with wishing, therefore I will die a woman with grieving. BENEDICK Tarry, good Beatrice. By this hand, I love thee. BEATRICE Use it for my love some other way than swearing by it. BENEDICK Think you in your soul the Count Claudio hath wronged Hero? BEATRICE Yea, as sure as I have a thought or a soul. BENEDICK Enough, I am engaged; I will challenge him. I will kiss your hand, and so I leave you. By this hand, Claudio shall render me a dear account. As you hear of me, so think of me. Go, comfort your cousin: I must say she is dead: and so, farewell. Exeunt SCENE II. A prison. Enter DOGBERRY, VERGES, and Sexton, in gowns; and the Watch, with CONRADE and BORACHIO DOGBERRY Is our whole dissembly appeared? VERGES O, a stool and a cushion for the sexton. Sexton Which be the malefactors? DOGBERRY Marry, that am I and my partner. VERGES Nay, that's certain; we have the exhibition to examine. Sexton But which are the offenders that are to be examined? let them come before master constable. DOGBERRY Yea, marry, let them come before me. What is your name, friend? BORACHIO Borachio. DOGBERRY Pray, write down, Borachio. Yours, sirrah? CONRADE I am a gentleman, sir, and my name is Conrade. DOGBERRY Write down, master gentleman Conrade. Masters, do you serve God? CONRADE BORACHIO Yea, sir, we hope. DOGBERRY Write down, that they hope they serve God: and write God first; for God defend but God should go before such villains! Masters, it is proved already that you are little better than false knaves; and it will go near to be thought so shortly. How answer you for yourselves? CONRADE Marry, sir, we say we are none. DOGBERRY A marvellous witty fellow, I assure you: but I will go about with him. Come you hither, sirrah; a word in your ear: sir, I say to you, it is thought you are false knaves. BORACHIO Sir, I say to you we are none. DOGBERRY Well, stand aside. 'Fore God, they are both in a tale. Have you writ down, that they are none? Sexton Master constable, you go not the way to examine: you must call forth the watch that are their accusers. DOGBERRY Yea, marry, that's the eftest way. Let the watch come forth. Masters, I charge you, in the prince's name, accuse these men. First Watchman This man said, sir, that Don John, the prince's brother, was a villain. DOGBERRY Write down Prince John a villain. Why, this is flat perjury, to call a prince's brother villain. BORACHIO Master constable,-- DOGBERRY Pray thee, fellow, peace: I do not like thy look, I promise thee. Sexton What heard you him say else? Second Watchman Marry, that he had received a thousand ducats of Don John for accusing the Lady Hero wrongfully. DOGBERRY Flat burglary as ever was committed. VERGES Yea, by mass, that it is. Sexton What else, fellow? First Watchman And that Count Claudio did mean, upon his words, to disgrace Hero before the whole assembly. and not marry her. DOGBERRY O villain! thou wilt be condemned into everlasting redemption for this. Sexton What else? Watchman This is all. Sexton And this is more, masters, than you can deny. Prince John is this morning secretly stolen away; Hero was in this manner accused, in this very manner refused, and upon the grief of this suddenly died. Master constable, let these men be bound, and brought to Leonato's: I will go before and show him their examination. Exit DOGBERRY Come, let them be opinioned. VERGES Let them be in the hands-- CONRADE Off, coxcomb! DOGBERRY God's my life, where's the sexton? let him write down the prince's officer coxcomb. Come, bind them. Thou naughty varlet! CONRADE Away! you are an ass, you are an ass. DOGBERRY Dost thou not suspect my place? dost thou not suspect my years? O that he were here to write me down an ass! But, masters, remember that I am an ass; though it be not written down, yet forget not that I am an ass. No, thou villain, thou art full of piety, as shall be proved upon thee by good witness. I am a wise fellow, and, which is more, an officer, and, which is more, a householder, and, which is more, as pretty a piece of flesh as any is in Messina, and one that knows the law, go to; and a rich fellow enough, go to; and a fellow that hath had losses, and one that hath two gowns and every thing handsome about him. Bring him away. O that I had been writ down an ass! Exeunt ACT V SCENE I. Before LEONATO'S house. Enter LEONATO and ANTONIO ANTONIO If you go on thus, you will kill yourself: And 'tis not wisdom thus to second grief Against yourself. LEONATO I pray thee, cease thy counsel, Which falls into mine ears as profitless As water in a sieve: give not me counsel; Nor let no comforter delight mine ear But such a one whose wrongs do suit with mine. Bring me a father that so loved his child, Whose joy of her is overwhelm'd like mine, And bid him speak of patience; Measure his woe the length and breadth of mine And let it answer every strain for strain, As thus for thus and such a grief for such, In every lineament, branch, shape, and form: If such a one will smile and stroke his beard, Bid sorrow wag, cry 'hem!' when he should groan, Patch grief with proverbs, make misfortune drunk With candle-wasters; bring him yet to me, And I of him will gather patience. But there is no such man: for, brother, men Can counsel and speak comfort to that grief Which they themselves not feel; but, tasting it, Their counsel turns to passion, which before Would give preceptial medicine to rage, Fetter strong madness in a silken thread, Charm ache with air and agony with words: No, no; 'tis all men's office to speak patience To those that wring under the load of sorrow, But no man's virtue nor sufficiency To be so moral when he shall endure The like himself. Therefore give me no counsel: My griefs cry louder than advertisement. ANTONIO Therein do men from children nothing differ. LEONATO I pray thee, peace. I will be flesh and blood; For there was never yet philosopher That could endure the toothache patiently, However they have writ the style of gods And made a push at chance and sufferance. ANTONIO Yet bend not all the harm upon yourself; Make those that do offend you suffer too. LEONATO There thou speak'st reason: nay, I will do so. My soul doth tell me Hero is belied; And that shall Claudio know; so shall the prince And all of them that thus dishonour her. ANTONIO Here comes the prince and Claudio hastily. Enter DON PEDRO and CLAUDIO DON PEDRO Good den, good den. CLAUDIO Good day to both of you. LEONATO Hear you. my lords,-- DON PEDRO We have some haste, Leonato. LEONATO Some haste, my lord! well, fare you well, my lord: Are you so hasty now? well, all is one. DON PEDRO Nay, do not quarrel with us, good old man. ANTONIO If he could right himself with quarreling, Some of us would lie low. CLAUDIO Who wrongs him? LEONATO Marry, thou dost wrong me; thou dissembler, thou:-- Nay, never lay thy hand upon thy sword; I fear thee not. CLAUDIO Marry, beshrew my hand, If it should give your age such cause of fear: In faith, my hand meant nothing to my sword. LEONATO Tush, tush, man; never fleer and jest at me: I speak not like a dotard nor a fool, As under privilege of age to brag What I have done being young, or what would do Were I not old. Know, Claudio, to thy head, Thou hast so wrong'd mine innocent child and me That I am forced to lay my reverence by And, with grey hairs and bruise of many days, Do challenge thee to trial of a man. I say thou hast belied mine innocent child; Thy slander hath gone through and through her heart, And she lies buried with her ancestors; O, in a tomb where never scandal slept, Save this of hers, framed by thy villany! CLAUDIO My villany? LEONATO Thine, Claudio; thine, I say. DON PEDRO You say not right, old man. LEONATO My lord, my lord, I'll prove it on his body, if he dare, Despite his nice fence and his active practise, His May of youth and bloom of lustihood. CLAUDIO Away! I will not have to do with you. LEONATO Canst thou so daff me? Thou hast kill'd my child: If thou kill'st me, boy, thou shalt kill a man. ANTONIO He shall kill two of us, and men indeed: But that's no matter; let him kill one first; Win me and wear me; let him answer me. Come, follow me, boy; come, sir boy, come, follow me: Sir boy, I'll whip you from your foining fence; Nay, as I am a gentleman, I will. LEONATO Brother,-- ANTONIO Content yourself. God knows I loved my niece; And she is dead, slander'd to death by villains, That dare as well answer a man indeed As I dare take a serpent by the tongue: Boys, apes, braggarts, Jacks, milksops! LEONATO Brother Antony,-- ANTONIO Hold you content. What, man! I know them, yea, And what they weigh, even to the utmost scruple,-- Scrambling, out-facing, fashion-monging boys, That lie and cog and flout, deprave and slander, Go anticly, show outward hideousness, And speak off half a dozen dangerous words, How they might hurt their enemies, if they durst; And this is all. LEONATO But, brother Antony,-- ANTONIO Come, 'tis no matter: Do not you meddle; let me deal in this. DON PEDRO Gentlemen both, we will not wake your patience. My heart is sorry for your daughter's death: But, on my honour, she was charged with nothing But what was true and very full of proof. LEONATO My lord, my lord,-- DON PEDRO I will not hear you. LEONATO No? Come, brother; away! I will be heard. ANTONIO And shall, or some of us will smart for it. Exeunt LEONATO and ANTONIO DON PEDRO See, see; here comes the man we went to seek. Enter BENEDICK CLAUDIO Now, signior, what news? BENEDICK Good day, my lord. DON PEDRO Welcome, signior: you are almost come to part almost a fray. CLAUDIO We had like to have had our two noses snapped off with two old men without teeth. DON PEDRO Leonato and his brother. What thinkest thou? Had we fought, I doubt we should have been too young for them. BENEDICK In a false quarrel there is no true valour. I came to seek you both. CLAUDIO We have been up and down to seek thee; for we are high-proof melancholy and would fain have it beaten away. Wilt thou use thy wit? BENEDICK It is in my scabbard: shall I draw it? DON PEDRO Dost thou wear thy wit by thy side? CLAUDIO Never any did so, though very many have been beside their wit. I will bid thee draw, as we do the minstrels; draw, to pleasure us. DON PEDRO As I am an honest man, he looks pale. Art thou sick, or angry? CLAUDIO What, courage, man! What though care killed a cat, thou hast mettle enough in thee to kill care. BENEDICK Sir, I shall meet your wit in the career, and you charge it against me. I pray you choose another subject. CLAUDIO Nay, then, give him another staff: this last was broke cross. DON PEDRO By this light, he changes more and more: I think he be angry indeed. CLAUDIO If he be, he knows how to turn his girdle. BENEDICK Shall I speak a word in your ear? CLAUDIO God bless me from a challenge! BENEDICK Aside to CLAUDIO You are a villain; I jest not: I will make it good how you dare, with what you dare, and when you dare. Do me right, or I will protest your cowardice. You have killed a sweet lady, and her death shall fall heavy on you. Let me hear from you. CLAUDIO Well, I will meet you, so I may have good cheer. DON PEDRO What, a feast, a feast? CLAUDIO I' faith, I thank him; he hath bid me to a calf's head and a capon; the which if I do not carve most curiously, say my knife's naught. Shall I not find a woodcock too? BENEDICK Sir, your wit ambles well; it goes easily. DON PEDRO I'll tell thee how Beatrice praised thy wit the other day. I said, thou hadst a fine wit: 'True,' said she, 'a fine little one.' 'No,' said I, 'a great wit:' 'Right,' says she, 'a great gross one.' 'Nay,' said I, 'a good wit:' 'Just,' said she, 'it hurts nobody.' 'Nay,' said I, 'the gentleman is wise:' 'Certain,' said she, 'a wise gentleman.' 'Nay,' said I, 'he hath the tongues:' 'That I believe,' said she, 'for he swore a thing to me on Monday night, which he forswore on Tuesday morning; there's a double tongue; there's two tongues.' Thus did she, an hour together, transshape thy particular virtues: yet at last she concluded with a sigh, thou wast the properest man in Italy. CLAUDIO For the which she wept heartily and said she cared not. DON PEDRO Yea, that she did: but yet, for all that, an if she did not hate him deadly, she would love him dearly: the old man's daughter told us all. CLAUDIO All, all; and, moreover, God saw him when he was hid in the garden. DON PEDRO But when shall we set the savage bull's horns on the sensible Benedick's head? CLAUDIO Yea, and text underneath, 'Here dwells Benedick the married man'? BENEDICK Fare you well, boy: you know my mind. I will leave you now to your gossip-like humour: you break jests as braggarts do their blades, which God be thanked, hurt not. My lord, for your many courtesies I thank you: I must discontinue your company: your brother the bastard is fled from Messina: you have among you killed a sweet and innocent lady. For my Lord Lackbeard there, he and I shall meet: and, till then, peace be with him. Exit DON PEDRO He is in earnest. CLAUDIO In most profound earnest; and, I'll warrant you, for the love of Beatrice. DON PEDRO And hath challenged thee. CLAUDIO Most sincerely. DON PEDRO What a pretty thing man is when he goes in his doublet and hose and leaves off his wit! CLAUDIO He is then a giant to an ape; but then is an ape a doctor to such a man. DON PEDRO But, soft you, let me be: pluck up, my heart, and be sad. Did he not say, my brother was fled? Enter DOGBERRY, VERGES, and the Watch, with CONRADE and BORACHIO DOGBERRY Come you, sir: if justice cannot tame you, she shall ne'er weigh more reasons in her balance: nay, an you be a cursing hypocrite once, you must be looked to. DON PEDRO How now? two of my brother's men bound! Borachio one! CLAUDIO Hearken after their offence, my lord. DON PEDRO Officers, what offence have these men done? DOGBERRY Marry, sir, they have committed false report; moreover, they have spoken untruths; secondarily, they are slanders; sixth and lastly, they have belied a lady; thirdly, they have verified unjust things; and, to conclude, they are lying knaves. DON PEDRO First, I ask thee what they have done; thirdly, I ask thee what's their offence; sixth and lastly, why they are committed; and, to conclude, what you lay to their charge. CLAUDIO Rightly reasoned, and in his own division: and, by my troth, there's one meaning well suited. DON PEDRO Who have you offended, masters, that you are thus bound to your answer? this learned constable is too cunning to be understood: what's your offence? BORACHIO Sweet prince, let me go no farther to mine answer: do you hear me, and let this count kill me. I have deceived even your very eyes: what your wisdoms could not discover, these shallow fools have brought to light: who in the night overheard me confessing to this man how Don John your brother incensed me to slander the Lady Hero, how you were brought into the orchard and saw me court Margaret in Hero's garments, how you disgraced her, when you should marry her: my villany they have upon record; which I had rather seal with my death than repeat over to my shame. The lady is dead upon mine and my master's false accusation; and, briefly, I desire nothing but the reward of a villain. DON PEDRO Runs not this speech like iron through your blood? CLAUDIO I have drunk poison whiles he utter'd it. DON PEDRO But did my brother set thee on to this? BORACHIO Yea, and paid me richly for the practise of it. DON PEDRO He is composed and framed of treachery: And fled he is upon this villany. CLAUDIO Sweet Hero! now thy image doth appear In the rare semblance that I loved it first. DOGBERRY Come, bring away the plaintiffs: by this time our sexton hath reformed Signior Leonato of the matter: and, masters, do not forget to specify, when time and place shall serve, that I am an ass. VERGES Here, here comes master Signior Leonato, and the Sexton too. Re-enter LEONATO and ANTONIO, with the Sexton LEONATO Which is the villain? let me see his eyes, That, when I note another man like him, I may avoid him: which of these is he? BORACHIO If you would know your wronger, look on me. LEONATO Art thou the slave that with thy breath hast kill'd Mine innocent child? BORACHIO Yea, even I alone. LEONATO No, not so, villain; thou beliest thyself: Here stand a pair of honourable men; A third is fled, that had a hand in it. I thank you, princes, for my daughter's death: Record it with your high and worthy deeds: 'Twas bravely done, if you bethink you of it. CLAUDIO I know not how to pray your patience; Yet I must speak. Choose your revenge yourself; Impose me to what penance your invention Can lay upon my sin: yet sinn'd I not But in mistaking. DON PEDRO By my soul, nor I: And yet, to satisfy this good old man, I would bend under any heavy weight That he'll enjoin me to. LEONATO I cannot bid you bid my daughter live; That were impossible: but, I pray you both, Possess the people in Messina here How innocent she died; and if your love Can labour ought in sad invention, Hang her an epitaph upon her tomb And sing it to her bones, sing it to-night: To-morrow morning come you to my house, And since you could not be my son-in-law, Be yet my nephew: my brother hath a daughter, Almost the copy of my child that's dead, And she alone is heir to both of us: Give her the right you should have given her cousin, And so dies my revenge. CLAUDIO O noble sir, Your over-kindness doth wring tears from me! I do embrace your offer; and dispose For henceforth of poor Claudio. LEONATO To-morrow then I will expect your coming; To-night I take my leave. This naughty man Shall face to face be brought to Margaret, Who I believe was pack'd in all this wrong, Hired to it by your brother. BORACHIO No, by my soul, she was not, Nor knew not what she did when she spoke to me, But always hath been just and virtuous In any thing that I do know by her. DOGBERRY Moreover, sir, which indeed is not under white and black, this plaintiff here, the offender, did call me ass: I beseech you, let it be remembered in his punishment. And also, the watch heard them talk of one Deformed: they say be wears a key in his ear and a lock hanging by it, and borrows money in God's name, the which he hath used so long and never paid that now men grow hard-hearted and will lend nothing for God's sake: pray you, examine him upon that point. LEONATO I thank thee for thy care and honest pains. DOGBERRY Your worship speaks like a most thankful and reverend youth; and I praise God for you. LEONATO There's for thy pains. DOGBERRY God save the foundation! LEONATO Go, I discharge thee of thy prisoner, and I thank thee. DOGBERRY I leave an arrant knave with your worship; which I beseech your worship to correct yourself, for the example of others. God keep your worship! I wish your worship well; God restore you to health! I humbly give you leave to depart; and if a merry meeting may be wished, God prohibit it! Come, neighbour. Exeunt DOGBERRY and VERGES LEONATO Until to-morrow morning, lords, farewell. ANTONIO Farewell, my lords: we look for you to-morrow. DON PEDRO We will not fail. CLAUDIO To-night I'll mourn with Hero. LEONATO To the Watch Bring you these fellows on. We'll talk with Margaret, How her acquaintance grew with this lewd fellow. Exeunt, severally SCENE II. LEONATO'S garden. Enter BENEDICK and MARGARET, meeting BENEDICK Pray thee, sweet Mistress Margaret, deserve well at my hands by helping me to the speech of Beatrice. MARGARET Will you then write me a sonnet in praise of my beauty? BENEDICK In so high a style, Margaret, that no man living shall come over it; for, in most comely truth, thou deservest it. MARGARET To have no man come over me! why, shall I always keep below stairs? BENEDICK Thy wit is as quick as the greyhound's mouth; it catches. MARGARET And yours as blunt as the fencer's foils, which hit, but hurt not. BENEDICK A most manly wit, Margaret; it will not hurt a woman: and so, I pray thee, call Beatrice: I give thee the bucklers. MARGARET Give us the swords; we have bucklers of our own. BENEDICK If you use them, Margaret, you must put in the pikes with a vice; and they are dangerous weapons for maids. MARGARET Well, I will call Beatrice to you, who I think hath legs. BENEDICK And therefore will come. Exit MARGARET Sings The god of love, That sits above, And knows me, and knows me, How pitiful I deserve,-- I mean in singing; but in loving, Leander the good swimmer, Troilus the first employer of panders, and a whole bookful of these quondam carpet-mangers, whose names yet run smoothly in the even road of a blank verse, why, they were never so truly turned over and over as my poor self in love. Marry, I cannot show it in rhyme; I have tried: I can find out no rhyme to 'lady' but 'baby,' an innocent rhyme; for 'scorn,' 'horn,' a hard rhyme; for, 'school,' 'fool,' a babbling rhyme; very ominous endings: no, I was not born under a rhyming planet, nor I cannot woo in festival terms. Enter BEATRICE Sweet Beatrice, wouldst thou come when I called thee? BEATRICE Yea, signior, and depart when you bid me. BENEDICK O, stay but till then! BEATRICE 'Then' is spoken; fare you well now: and yet, ere I go, let me go with that I came; which is, with knowing what hath passed between you and Claudio. BENEDICK Only foul words; and thereupon I will kiss thee. BEATRICE Foul words is but foul wind, and foul wind is but foul breath, and foul breath is noisome; therefore I will depart unkissed. BENEDICK Thou hast frighted the word out of his right sense, so forcible is thy wit. But I must tell thee plainly, Claudio undergoes my challenge; and either I must shortly hear from him, or I will subscribe him a coward. And, I pray thee now, tell me for which of my bad parts didst thou first fall in love with me? BEATRICE For them all together; which maintained so politic a state of evil that they will not admit any good part to intermingle with them. But for which of my good parts did you first suffer love for me? BENEDICK Suffer love! a good epithet! I do suffer love indeed, for I love thee against my will. BEATRICE In spite of your heart, I think; alas, poor heart! If you spite it for my sake, I will spite it for yours; for I will never love that which my friend hates. BENEDICK Thou and I are too wise to woo peaceably. BEATRICE It appears not in this confession: there's not one wise man among twenty that will praise himself. BENEDICK An old, an old instance, Beatrice, that lived in the lime of good neighbours. If a man do not erect in this age his own tomb ere he dies, he shall live no longer in monument than the bell rings and the widow weeps. BEATRICE And how long is that, think you? BENEDICK Question: why, an hour in clamour and a quarter in rheum: therefore is it most expedient for the wise, if Don Worm, his conscience, find no impediment to the contrary, to be the trumpet of his own virtues, as I am to myself. So much for praising myself, who, I myself will bear witness, is praiseworthy: and now tell me, how doth your cousin? BEATRICE Very ill. BENEDICK And how do you? BEATRICE Very ill too. BENEDICK Serve God, love me and mend. There will I leave you too, for here comes one in haste. Enter URSULA URSULA Madam, you must come to your uncle. Yonder's old coil at home: it is proved my Lady Hero hath been falsely accused, the prince and Claudio mightily abused; and Don John is the author of all, who is fed and gone. Will you come presently? BEATRICE Will you go hear this news, signior? BENEDICK I will live in thy heart, die in thy lap, and be buried in thy eyes; and moreover I will go with thee to thy uncle's. Exeunt SCENE III. A church. Enter DON PEDRO, CLAUDIO, and three or four with tapers CLAUDIO Is this the monument of Leonato? Lord It is, my lord. CLAUDIO Reading out of a scroll Done to death by slanderous tongues Was the Hero that here lies: Death, in guerdon of her wrongs, Gives her fame which never dies. So the life that died with shame Lives in death with glorious fame. Hang thou there upon the tomb, Praising her when I am dumb. Now, music, sound, and sing your solemn hymn. SONG. Pardon, goddess of the night, Those that slew thy virgin knight; For the which, with songs of woe, Round about her tomb they go. Midnight, assist our moan; Help us to sigh and groan, Heavily, heavily: Graves, yawn and yield your dead, Till death be uttered, Heavily, heavily. CLAUDIO Now, unto thy bones good night! Yearly will I do this rite. DON PEDRO Good morrow, masters; put your torches out: The wolves have prey'd; and look, the gentle day, Before the wheels of Phoebus, round about Dapples the drowsy east with spots of grey. Thanks to you all, and leave us: fare you well. CLAUDIO Good morrow, masters: each his several way. DON PEDRO Come, let us hence, and put on other weeds; And then to Leonato's we will go. CLAUDIO And Hymen now with luckier issue speed's Than this for whom we render'd up this woe. Exeunt SCENE IV. A room in LEONATO'S house. Enter LEONATO, ANTONIO, BENEDICK, BEATRICE, MARGARET, URSULA, FRIAR FRANCIS, and HERO FRIAR FRANCIS Did I not tell you she was innocent? LEONATO So are the prince and Claudio, who accused her Upon the error that you heard debated: But Margaret was in some fault for this, Although against her will, as it appears In the true course of all the question. ANTONIO Well, I am glad that all things sort so well. BENEDICK And so am I, being else by faith enforced To call young Claudio to a reckoning for it. LEONATO Well, daughter, and you gentle-women all, Withdraw into a chamber by yourselves, And when I send for you, come hither mask'd. Exeunt Ladies The prince and Claudio promised by this hour To visit me. You know your office, brother: You must be father to your brother's daughter And give her to young Claudio. ANTONIO Which I will do with confirm'd countenance. BENEDICK Friar, I must entreat your pains, I think. FRIAR FRANCIS To do what, signior? BENEDICK To bind me, or undo me; one of them. Signior Leonato, truth it is, good signior, Your niece regards me with an eye of favour. LEONATO That eye my daughter lent her: 'tis most true. BENEDICK And I do with an eye of love requite her. LEONATO The sight whereof I think you had from me, From Claudio and the prince: but what's your will? BENEDICK Your answer, sir, is enigmatical: But, for my will, my will is your good will May stand with ours, this day to be conjoin'd In the state of honourable marriage: In which, good friar, I shall desire your help. LEONATO My heart is with your liking. FRIAR FRANCIS And my help. Here comes the prince and Claudio. Enter DON PEDRO and CLAUDIO, and two or three others DON PEDRO Good morrow to this fair assembly. LEONATO Good morrow, prince; good morrow, Claudio: We here attend you. Are you yet determined To-day to marry with my brother's daughter? CLAUDIO I'll hold my mind, were she an Ethiope. LEONATO Call her forth, brother; here's the friar ready. Exit ANTONIO DON PEDRO Good morrow, Benedick. Why, what's the matter, That you have such a February face, So full of frost, of storm and cloudiness? CLAUDIO I think he thinks upon the savage bull. Tush, fear not, man; we'll tip thy horns with gold And all Europa shall rejoice at thee, As once Europa did at lusty Jove, When he would play the noble beast in love. BENEDICK Bull Jove, sir, had an amiable low; And some such strange bull leap'd your father's cow, And got a calf in that same noble feat Much like to you, for you have just his bleat. CLAUDIO For this I owe you: here comes other reckonings. Re-enter ANTONIO, with the Ladies masked Which is the lady I must seize upon? ANTONIO This same is she, and I do give you her. CLAUDIO Why, then she's mine. Sweet, let me see your face. LEONATO No, that you shall not, till you take her hand Before this friar and swear to marry her. CLAUDIO Give me your hand: before this holy friar, I am your husband, if you like of me. HERO And when I lived, I was your other wife: Unmasking And when you loved, you were my other husband. CLAUDIO Another Hero! HERO Nothing certainer: One Hero died defiled, but I do live, And surely as I live, I am a maid. DON PEDRO The former Hero! Hero that is dead! LEONATO She died, my lord, but whiles her slander lived. FRIAR FRANCIS All this amazement can I qualify: When after that the holy rites are ended, I'll tell you largely of fair Hero's death: Meantime let wonder seem familiar, And to the chapel let us presently. BENEDICK Soft and fair, friar. Which is Beatrice? BEATRICE Unmasking I answer to that name. What is your will? BENEDICK Do not you love me? BEATRICE Why, no; no more than reason. BENEDICK Why, then your uncle and the prince and Claudio Have been deceived; they swore you did. BEATRICE Do not you love me? BENEDICK Troth, no; no more than reason. BEATRICE Why, then my cousin Margaret and Ursula Are much deceived; for they did swear you did. BENEDICK They swore that you were almost sick for me. BEATRICE They swore that you were well-nigh dead for me. BENEDICK 'Tis no such matter. Then you do not love me? BEATRICE No, truly, but in friendly recompense. LEONATO Come, cousin, I am sure you love the gentleman. CLAUDIO And I'll be sworn upon't that he loves her; For here's a paper written in his hand, A halting sonnet of his own pure brain, Fashion'd to Beatrice. HERO And here's another Writ in my cousin's hand, stolen from her pocket, Containing her affection unto Benedick. BENEDICK A miracle! here's our own hands against our hearts. Come, I will have thee; but, by this light, I take thee for pity. BEATRICE I would not deny you; but, by this good day, I yield upon great persuasion; and partly to save your life, for I was told you were in a consumption. BENEDICK Peace! I will stop your mouth. Kissing her DON PEDRO How dost thou, Benedick, the married man? BENEDICK I'll tell thee what, prince; a college of wit-crackers cannot flout me out of my humour. Dost thou think I care for a satire or an epigram? No: if a man will be beaten with brains, a' shall wear nothing handsome about him. In brief, since I do purpose to marry, I will think nothing to any purpose that the world can say against it; and therefore never flout at me for what I have said against it; for man is a giddy thing, and this is my conclusion. For thy part, Claudio, I did think to have beaten thee, but in that thou art like to be my kinsman, live unbruised and love my cousin. CLAUDIO I had well hoped thou wouldst have denied Beatrice, that I might have cudgelled thee out of thy single life, to make thee a double-dealer; which, out of question, thou wilt be, if my cousin do not look exceedingly narrowly to thee. BENEDICK Come, come, we are friends: let's have a dance ere we are married, that we may lighten our own hearts and our wives' heels. LEONATO We'll have dancing afterward. BENEDICK First, of my word; therefore play, music. Prince, thou art sad; get thee a wife, get thee a wife: there is no staff more reverend than one tipped with horn. Enter a Messenger Messenger My lord, your brother John is ta'en in flight, And brought with armed men back to Messina. BENEDICK Think not on him till to-morrow: I'll devise thee brave punishments for him. Strike up, pipers. Dance Exeunt
    axis2c-src-1.6.0/axiom/test/resources/xml/om/simple.xml0000644000175000017500000000010411166304614024165 0ustar00manjulamanjula00000000000000 abd axis2c-src-1.6.0/axiom/test/resources/xml/om/contents.xml0000644000175000017500000000500011166304614024531 0ustar00manjulamanjula00000000000000 Java and XML Introduction What Is It? How Do I Use It? Why Should I Use It? What's Next? Creating XML An XML Document The Header The Content What's Next? Parsing XML Getting Prepared SAX Readers Content Handlers Error Handlers A Better Way to Load a Parser "Gotcha!" What's Next? Web Publishing Frameworks Selecting a Framework Installation Using a Publishing Framework XSP Cocoon 2.0 and Beyond What's Next? axis2c-src-1.6.0/axiom/test/resources/xml/soap/0000777000175000017500000000000011172017535022512 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/xml/soap/soap12message.xml0000644000175000017500000000434611166304611025706 0ustar00manjulamanjula00000000000000 foo foo foo env:Sender m:MessageTimeout In First Subcode m:MessageTimeout In Second Subcode m:MessageTimeout In Third Subcode Sender Timeout http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver ultimateReceiver Details of error P5M\n P3M\n axis2c-src-1.6.0/axiom/test/resources/xml/soap/minimalMessage.xml0000644000175000017500000000017311166304611026161 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/soap/reallyReallyBigMessage.xml0000644000175000017500000033111611166304611027622 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/soap/soapmessage.txt0000644000175000017500000000171211166304611025554 0ustar00manjulamanjula00000000000000POST /axis/services/EchoService HTTP/1.1 Host: 127.0.0.1 Content-Type: application/soap+xml; charset="utf-8" uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/soapmessage.xml0000644000175000017500000000163111166304611025535 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/test.xml0000644000175000017500000000435011166304611024206 0ustar00manjulamanjula00000000000000 foo foo foo env:Sender m:MessageTimeout In First Subcode m:MessageTimeout In Second Subcode m:MessageTimeout In Third Subcode Sender Timeout http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver ultimateReceiver Details of error P5M\n P3M\n axis2c-src-1.6.0/axiom/test/resources/xml/soap/soapmessage1.xml0000644000175000017500000000245011166304611025616 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    1001
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/OMElementTest.xml0000644000175000017500000000175711166304611025724 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    This is some text 2 Some Other Text
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/wrongEnvelopeNamespace.xml0000644000175000017500000000047611166304611027703 0ustar00manjulamanjula00000000000000 IBM axis2c-src-1.6.0/axiom/test/resources/xml/soap/sample1.txt0000644000175000017500000000053311166304611024607 0ustar00manjulamanjula00000000000000POST /axis/services/EchoService HTTP/1.1 Host: 127.0.0.1 Content-Type: application/soap+xml; charset="utf-8" axis2c-src-1.6.0/axiom/test/resources/xml/soap/sample1.xml0000644000175000017500000000041111166304611024563 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/xml/soap/soap11/0000777000175000017500000000000011172017535023616 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/xml/soap/soap11/soap11message.xml0000644000175000017500000000352211166304611027004 0ustar00manjulamanjula00000000000000
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    env:Sender Sender Timeout http://schemas.xmlsoap.org/soap/envelope/actor/ultimateReceiver Details of error P5M P3M
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/soap11/soap11fault.xml0000644000175000017500000000110111166304611026462 0ustar00manjulamanjula00000000000000 Test SOAP-ENV:MustUnderstand SOAP Must Understand Error Actor Detail text Some Element Text axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/0000777000175000017500000000000011172017535024123 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/twoBodymessage.xml0000644000175000017500000000203411166304611027631 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/haederBodyWrongOrder.xml0000644000175000017500000000163111166304611030716 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/wrongSoapNs.xml0000644000175000017500000000163411166304611027122 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/twoheaders.xml0000644000175000017500000000250711166304611027007 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/envelopeMissing.xml0000644000175000017500000000162111166304611030005 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/notnamespaceQualified.xml0000644000175000017500000000071311166304611031140 0ustar00manjulamanjula00000000000000
    uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/badsoap/bodyNotQualified.xml0000644000175000017500000000153311166304611030102 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/whitespacedMessage.xml0000644000175000017500000000144511166304611027036 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/emtyBodymessage.xml0000644000175000017500000000147511166304611026375 0ustar00manjulamanjula00000000000000 uuid:920C5190-0B8F-11D9-8CED-F22EDEEBF7E5 http://localhost:8081/axis/services/BankPort
    http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous
    axis2c-src-1.6.0/axiom/test/resources/xml/soap/invalidMustUnderstandSOAP12.xml0000644000175000017500000000074011166304611030403 0ustar00manjulamanjula00000000000000 foo axis2c-src-1.6.0/axiom/test/resources/xml/soap/security2-soap.xml0000644000175000017500000000462111166304611026121 0ustar00manjulamanjula00000000000000 http://fabrikam123.com/getQuote http://fabrikam123.com/stocks mailto:johnsmith@fabrikam123.com uuid:84b9f5d0-33fb-4a81-b02b-5b760641c1d6 MIIEZzCCA9CgAwIBAgIQEmtJZc0rqrKh5i... EULddytSo1... BL8jdfToEb1l/vXcMZNNjPOV... QQQ axis2c-src-1.6.0/axiom/test/resources/wsdl/0000777000175000017500000000000011172017535021721 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_unsignedInt.wsdl0000644000175000017500000002344211166304616025624 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/OtherFaultException.wsdl0000644000175000017500000000667111166304616026560 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_gMonthDay.wsdl0000644000175000017500000002335411166304616025231 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSDElementNil.wsdl0000644000175000017500000010253711166304616025235 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/PrimitiveAndArray.wsdl0000644000175000017500000001271211166304616026207 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_gYear.wsdl0000644000175000017500000002320011166304616024374 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/InteropTestRound1Doc.wsdl0000644000175000017500000004663211166304616026624 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleArrayDoc.wsdl0000644000175000017500000000506611166304616025477 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_negativeInteger.wsdl0000644000175000017500000002361611166304616026460 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_token.wsdl0000644000175000017500000002320011166304616024445 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSDAttribute.wsdl0000644000175000017500000011051511166304616025137 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_ID.wsdl0000644000175000017500000002312311166304616023625 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/inquire_v2.wsdl0000644000175000017500000002441411166304616024702 0ustar00manjulamanjula00000000000000 Copyright (c) 2000 - 2002 by Accenture, Ariba, Inc., Commerce One, Inc. Fujitsu Limited, Hewlett-Packard Company, i2 Technologies, Inc., Intel Corporation, International Business Machines Corporation, Microsoft Corporation, Oracle Corporation, SAP AG, Sun Microsystems, Inc., and VeriSign, Inc. All Rights Reserved. WSDL Service Interface for UDDI Inquiry API V2.0 This WSDL document defines the inquiry API calls for interacting with the UDDI registry. The complete UDDI API specification is available at http://www.uddi.org/specification.html. This portType defines all of the UDDI inquiry operations. This is the SOAP binding for the UDDI inquiry operations. axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_anyURI.wsdl0000644000175000017500000002323311166304616024502 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleTypeInnerUnbounded.wsdl0000644000175000017500000001077711166304616027561 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_unsignedLong.wsdl0000644000175000017500000002347511166304616025777 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/DataHandlerService.wsdl0000644000175000017500000001732011166304616026305 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/CalculatorDoc.wsdl0000644000175000017500000001547611166304616025346 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_Name.wsdl0000644000175000017500000002314511166304616024215 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_NOTATION.wsdl0000644000175000017500000002336511166304616024574 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_byte.wsdl0000644000175000017500000002314511166304616024300 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/wsaTestService.wsdl0000644000175000017500000000551411166304616025572 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_short.wsdl0000644000175000017500000002320011166304616024464 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/InteropTestRound1.wsdl0000644000175000017500000003314511166304616026171 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_unsignedShort.wsdl0000644000175000017500000002353011166304616026167 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RPCAllTest.wsdl0000644000175000017500000000653111166304616024534 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest1.wsdl0000644000175000017500000003314511166304616026221 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_IDREF.wsdl0000644000175000017500000002324411166304616024166 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest2.wsdl0000644000175000017500000003314511166304616026222 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_language.wsdl0000644000175000017500000002332111166304616025114 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest3.wsdl0000644000175000017500000003314511166304616026223 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest4.wsdl0000644000175000017500000003314511166304616026224 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_QName.wsdl0000644000175000017500000002320011166304616024326 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_double.wsdl0000644000175000017500000002323311166304616024605 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest6.wsdl0000644000175000017500000003314511166304616026226 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/ExceptionTest.wsdl0000644000175000017500000001234511166304616025415 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_int.wsdl0000644000175000017500000002311211166304616024121 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest8.wsdl0000644000175000017500000003314511166304616026230 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_string.wsdl0000644000175000017500000002323311166304616024641 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_unsignedByte.wsdl0000644000175000017500000002347511166304616026003 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/FaultMappingDoc.wsdl0000644000175000017500000001256211166304616025635 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_NCName.wsdl0000644000175000017500000002323311166304616024434 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest9.wsdl0000644000175000017500000003314511166304616026231 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/MathOpsDoc.wsdl0000644000175000017500000001003711166304616024614 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_base64Binary.wsdl0000644000175000017500000002347511166304616025574 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_hexBinary.wsdl0000644000175000017500000002335411166304616025270 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/ExtensibilityQuery.wsdl0000644000175000017500000000621011166304616026473 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_decimal.wsdl0000644000175000017500000002326611166304616024737 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_ENTITIES.wsdl0000644000175000017500000002336511166304616024565 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RecurseTypes.wsdl0000644000175000017500000000713011166304616025250 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/FourLevelTestDoc.wsdl0000644000175000017500000000746411166304616026016 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_positiveInteger.wsdl0000644000175000017500000002361611166304616026520 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleRefDoc.wsdl0000644000175000017500000000705511166304616025135 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/ComplexLists.wsdl0000644000175000017500000001704111166304616025243 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleArrays.wsdl0000644000175000017500000003071311166304616025231 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/ManyTypeRefRoot.wsdl0000644000175000017500000000643311166304616025667 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_IDREFS.wsdl0000644000175000017500000002327711166304616024317 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_nonNegativeInteger.wsdl0000644000175000017500000002373711166304616027137 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleTypeInnerUnboundedInOutput.wsdl0000644000175000017500000001113011166304616031251 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_boolean.wsdl0000644000175000017500000002326611166304616024760 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/CombinedChoice.wsdl0000644000175000017500000000770111166304616025452 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/ExceptionTestDoc.wsdl0000644000175000017500000001256211166304616026044 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest1.wsdl0000644000175000017500000003314511166304616026236 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_gDay.wsdl0000644000175000017500000002314511166304616024221 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/TestTransportTimeout.wsdl0000644000175000017500000001546611166304616027031 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest2.wsdl0000644000175000017500000003314511166304616026237 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest3.wsdl0000644000175000017500000003314511166304616026240 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest4.wsdl0000644000175000017500000003314511166304616026241 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest5.wsdl0000644000175000017500000003314511166304616026242 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/BasicChoice.wsdl0000644000175000017500000000740311166304616024752 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleRef.wsdl0000644000175000017500000000622011166304616024500 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/NillableArrays.wsdl0000644000175000017500000002675311166304616025533 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest7.wsdl0000644000175000017500000003314511166304616026244 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_ENTITY.wsdl0000644000175000017500000002327711166304616024357 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcHttpHeaderTest8.wsdl0000644000175000017500000003314511166304616026245 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/FaultMapping.wsdl0000644000175000017500000001234511166304616025206 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleTypeArray.wsdl0000644000175000017500000000632011166304616025705 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_float.wsdl0000644000175000017500000002320011166304616024432 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/MinOccurTest.wsdl0000644000175000017500000000751411166304616025200 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleArray.wsdl0000644000175000017500000000631611166304616025050 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/Calculator.wsdl0000644000175000017500000001364711166304616024716 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/CombinedAllTest.wsdl0000644000175000017500000000744311166304616025633 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/UnboundedStringChoice.wsdl0000644000175000017500000000742311166304616027045 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/UDDI.wsdl0000644000175000017500000000336411166304616023345 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/nillableComplexType.xsd0000644000175000017500000000153211166304616026414 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/ComplexTypeAll.wsdl0000644000175000017500000000647111166304616025524 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/PlainTextAttachment.wsdl0000644000175000017500000000504311166304616026535 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_integer.wsdl0000644000175000017500000002326611166304616024776 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/Attachment1.wsdl0000644000175000017500000000537111166304616024771 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_NMTOKENS.wsdl0000644000175000017500000002336511166304616024577 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/NestedArrays.wsdl0000644000175000017500000001010311166304616025211 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/NestedComplex.wsdl0000644000175000017500000001341111166304616025364 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/InOut.wsdl0000644000175000017500000003323411166304616023655 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/AttachmentService.wsdl0000644000175000017500000001057111166304616026227 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_dateTime.wsdl0000644000175000017500000002332111166304616025065 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_gMonth.wsdl0000644000175000017500000002323311166304616024567 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/MathOps.wsdl0000644000175000017500000000717011166304616024172 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_gYearMonth.wsdl0000644000175000017500000002340711166304616025413 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_duration.wsdl0000644000175000017500000002332111166304616025156 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_time.wsdl0000644000175000017500000002314511166304616024273 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/AxisBench.wsdl0000644000175000017500000001103511166304616024456 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/MultiOut.wsdl0000644000175000017500000001354311166304616024402 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_NMTOKEN.wsdl0000644000175000017500000002333211166304616024446 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/BasicAllTest.wsdl0000644000175000017500000000702511166304616025130 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_normalizedString.wsdl0000644000175000017500000002365111166304616026672 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_nonPositiveInteger.wsdl0000644000175000017500000002373711166304616027177 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/LargeReturningString.wsdl0000644000175000017500000000730411166304616026735 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/DIClientDoc.wsdl0000644000175000017500000000677611166304616024713 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_date.wsdl0000644000175000017500000002314511166304616024252 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/StockQuotes.wsdl0000644000175000017500000000435411166304616025104 0ustar00manjulamanjula00000000000000 net.xmethods.services.stockquote.StockQuote web service axis2c-src-1.6.0/axiom/test/resources/wsdl/UnboundedChoice.wsdl0000644000175000017500000000743311166304616025657 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/XSD_long.wsdl0000644000175000017500000002314511166304616024274 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/RpcSoapHeaderTest10.wsdl0000644000175000017500000003314511166304616026301 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/SimpleChoice.wsdl0000644000175000017500000000742311166304616025164 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/LimitedAllTest.wsdl0000644000175000017500000000710311166304616025473 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/Enumeration.wsdl0000644000175000017500000001022311166304616025076 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/Choice.wsdl0000644000175000017500000000740311166304616024010 0ustar00manjulamanjula00000000000000 These operations implement DOC/LIT SOAP operations, for interop testing. Please email johnko@microsoft.com with any questions/coments. axis2c-src-1.6.0/axiom/test/resources/wsdl/XSDElement.wsdl0000644000175000017500000010122211166304616024560 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/test/resources/wsdl/nillableComplexType.wsdl0000644000175000017500000000721311166304616026571 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/axiom/depcomp0000755000175000017500000004224610527332127017340 0ustar00manjulamanjula00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 . 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 . 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. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" 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" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. 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 tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; 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 mechanism 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 $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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: axis2c-src-1.6.0/axiom/LICENSE0000644000175000017500000002613711166304645016775 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/axiom/aclocal.m40000644000175000017500000102466511166310362017626 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/axiom/README0000644000175000017500000000350011166304645016635 0ustar00manjulamanjula00000000000000 Apache Axiom/C ================ What is it? ----------- Axiom stands for AXis Object Model (also known as OM - Object Model) and refers to the XML infoset model that is initially developed for Apache Axis2. This is an effort to implement Apache Axiom in C. Please have a look at http://ws.apache.org/axis2/c/docs/om_tutorial.html for an introduction about Apache Axiom/C. As a project of the Apache Software Foundation, the developers aim to collaboratively develop and maintain a robust, commercial-grade, standards-based Web Services stack implementation with freely available source code. The Latest Version ------------------ You can get the latest svn checkout of Apache Axiom/C module from https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/axiom Installation ------------ Please see the file called INSTALL. Licensing --------- Please see the file called LICENSE. Contacts -------- o If you want freely available support for using Apache Axiom/C please join the Apache Axis2/C user community by subscribing to users mailing list, axis-c-user@ws.apache.org' as described at http://ws.apache.org/axis2/c/mail-lists.html o If you have a bug report for Apache Axis2/C Guththila please log-in and create a JIRA issue at http://issues.apache.org/jira/browse/AXIS2C o If you want to participate actively in developing Apache Axis2/C Guththila please subscribe to the `axis-c-dev@ws.apache.org' mailing list as described at http://ws.apache.org/axis2/c/mail-lists.html Acknowledgments ---------------- Apache Axiom/C relies heavily on the use of autoconf, automake and libtool to provide a build environment. axis2c-src-1.6.0/axiom/ltmain.sh0000644000175000017500000060512310660364710017603 0ustar00manjulamanjula00000000000000# 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: axis2c-src-1.6.0/axiom/configure0000755000175000017500000260377311166310364017703 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for axis2_axiom-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='axis2_axiom-src' PACKAGE_TARNAME='axis2_axiom-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='axis2_axiom-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/axis2_axiom # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS VERSION_NO WRAPPER_DIR GUTHTHILA_LIBS TESTDIR XPATH_DIR LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures axis2_axiom-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/axis2_axiom-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of axis2_axiom-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-xpath build xpath. default=yes --enable-guththila build guththila xml parser library wrapper. default=yes --enable-libxml2 build libxml2 xml parser library wrapper. default=no --enable-tests build tests. default=no Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags PKG_CONFIG path to pkg-config utility LIBXML2_CFLAGS C compiler flags for LIBXML2, overriding pkg-config LIBXML2_LIBS linker flags for LIBXML2, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF axis2_axiom-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by axis2_axiom-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='axis2_axiom-src' VERSION='1.6.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5084 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7119: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7123: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7409: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7413: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7513: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7517: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12395: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12399: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12499: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12503: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14076: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14080: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14180: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14184: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16380: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16384: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16670: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16674: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16774: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16778: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { echo "$as_me:$LINENO: checking for ISO C99 varargs macros in C" >&5 echo $ECHO_N "checking for ISO C99 varargs macros in C... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_iso_c_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_iso_c_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_iso_c_varargs" >&5 echo "${ECHO_T}$axis2c_have_iso_c_varargs" >&6; } { echo "$as_me:$LINENO: checking for GNUC varargs macros" >&5 echo $ECHO_N "checking for GNUC varargs macros... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_gnuc_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_gnuc_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_gnuc_varargs" >&5 echo "${ECHO_T}$axis2c_have_gnuc_varargs" >&6; } if test x$axis2c_have_iso_c_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISO_VARARGS 1 _ACEOF fi if test x$axis2c_have_gnuc_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_GNUC_VARARGS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi { echo "$as_me:$LINENO: checking for inflate in -lz" >&5 echo $ECHO_N "checking for inflate in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_inflate+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inflate (); int main () { return inflate (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_inflate=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_inflate=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflate" >&5 echo "${ECHO_T}$ac_cv_lib_z_inflate" >&6; } if test $ac_cv_lib_z_inflate = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF LIBS="-lz $LIBS" fi #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Werror -Wall -Wno-implicit-function-declaration " fi LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/socket.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in linux/if.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_SOCKET_H # include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/appleapiopts.h" >&5 echo $ECHO_N "checking for sys/appleapiopts.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_appleapiopts_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_appleapiopts_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/appleapiopts.h usability" >&5 echo $ECHO_N "checking sys/appleapiopts.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/appleapiopts.h presence" >&5 echo $ECHO_N "checking sys/appleapiopts.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for sys/appleapiopts.h" >&5 echo $ECHO_N "checking for sys/appleapiopts.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_appleapiopts_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_appleapiopts_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_appleapiopts_h" >&6; } fi if test $ac_cv_header_sys_appleapiopts_h = yes; then cat >>confdefs.h <<\_ACEOF #define IS_MACOSX 1 _ACEOF fi #AC_CHECK_FUNCS([memmove]) { echo "$as_me:$LINENO: checking whether to build xpath" >&5 echo $ECHO_N "checking whether to build xpath... $ECHO_C" >&6; } # Check whether --enable-xpath was given. if test "${enable_xpath+set}" = set; then enableval=$enable_xpath; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } XPATH_DIR="xpath" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } XPATH_DIR="xpath" fi { echo "$as_me:$LINENO: checking whether to build guththila xml parser library" >&5 echo $ECHO_N "checking whether to build guththila xml parser library... $ECHO_C" >&6; } # Check whether --enable-guththila was given. if test "${enable_guththila+set}" = set; then enableval=$enable_guththila; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } WRAPPER_DIR="guththila" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } WRAPPER_DIR="guththila" fi { echo "$as_me:$LINENO: checking whether to build libxml2 xml parser library" >&5 echo $ECHO_N "checking whether to build libxml2 xml parser library... $ECHO_C" >&6; } if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } PKG_CONFIG="" fi fi # Check whether --enable-libxml2 was given. if test "${enable_libxml2+set}" = set; then enableval=$enable_libxml2; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_LIBXML2_ENABLED" WRAPPER_DIR="libxml2" pkg_failed=no { echo "$as_me:$LINENO: checking for LIBXML2" >&5 echo $ECHO_N "checking for LIBXML2... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$LIBXML2_CFLAGS"; then pkg_cv_LIBXML2_CFLAGS="$LIBXML2_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$LIBXML2_LIBS"; then pkg_cv_LIBXML2_LIBS="$LIBXML2_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBXML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxml-2.0"` else LIBXML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0"` fi # Put the nasty error message in config.log where it belongs echo "$LIBXML2_PKG_ERRORS" >&5 { { echo "$as_me:$LINENO: error: Package requirements (libxml-2.0) were not met: $LIBXML2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 echo "$as_me: error: Package requirements (libxml-2.0) were not met: $LIBXML2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&2;} { (exit 1); exit 1; }; } elif test $pkg_failed = untried; then { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&5 echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else LIBXML2_CFLAGS=$pkg_cv_LIBXML2_CFLAGS LIBXML2_LIBS=$pkg_cv_LIBXML2_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } : fi ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to build tests" >&5 echo $ECHO_N "checking whether to build tests... $ECHO_C" >&6; } # Check whether --enable-tests was given. if test "${enable_tests+set}" = set; then enableval=$enable_tests; case "${enableval}" in yes) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } TESTDIR="test" ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" fi if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.15 { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } PKG_CONFIG="" fi fi CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS" VERSION_NO="6:0:6" ac_config_files="$ac_config_files Makefile src/Makefile src/parser/Makefile src/parser/libxml2/Makefile src/parser/guththila/Makefile src/soap/Makefile src/om/Makefile src/util/Makefile src/attachments/Makefile src/xpath/Makefile test/Makefile test/om/Makefile test/soap/Makefile test/util/Makefile test/xpath/Makefile include/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by axis2_axiom-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ axis2_axiom-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/parser/Makefile") CONFIG_FILES="$CONFIG_FILES src/parser/Makefile" ;; "src/parser/libxml2/Makefile") CONFIG_FILES="$CONFIG_FILES src/parser/libxml2/Makefile" ;; "src/parser/guththila/Makefile") CONFIG_FILES="$CONFIG_FILES src/parser/guththila/Makefile" ;; "src/soap/Makefile") CONFIG_FILES="$CONFIG_FILES src/soap/Makefile" ;; "src/om/Makefile") CONFIG_FILES="$CONFIG_FILES src/om/Makefile" ;; "src/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/util/Makefile" ;; "src/attachments/Makefile") CONFIG_FILES="$CONFIG_FILES src/attachments/Makefile" ;; "src/xpath/Makefile") CONFIG_FILES="$CONFIG_FILES src/xpath/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/om/Makefile") CONFIG_FILES="$CONFIG_FILES test/om/Makefile" ;; "test/soap/Makefile") CONFIG_FILES="$CONFIG_FILES test/soap/Makefile" ;; "test/util/Makefile") CONFIG_FILES="$CONFIG_FILES test/util/Makefile" ;; "test/xpath/Makefile") CONFIG_FILES="$CONFIG_FILES test/xpath/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim PKG_CONFIG!$PKG_CONFIG$ac_delim LIBXML2_CFLAGS!$LIBXML2_CFLAGS$ac_delim LIBXML2_LIBS!$LIBXML2_LIBS$ac_delim VERSION_NO!$VERSION_NO$ac_delim WRAPPER_DIR!$WRAPPER_DIR$ac_delim GUTHTHILA_LIBS!$GUTHTHILA_LIBS$ac_delim TESTDIR!$TESTDIR$ac_delim XPATH_DIR!$XPATH_DIR$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 19; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi axis2c-src-1.6.0/axiom/configure.ac0000644000175000017500000001003611166304645020245 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(axis2_axiom-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE AC_PREFIX_DEFAULT(/usr/local/axis2_axiom) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ],axis2c_have_iso_c_varargs=yes,axis2c_have_iso_c_varargs=no) AC_MSG_RESULT($axis2c_have_iso_c_varargs) AC_MSG_CHECKING(for GNUC varargs macros) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ],axis2c_have_gnuc_varargs=yes,axis2c_have_gnuc_varargs=no) AC_MSG_RESULT($axis2c_have_gnuc_varargs) dnl Output varargs tests if test x$axis2c_have_iso_c_varargs = xyes; then AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros]) fi if test x$axis2c_have_gnuc_varargs = xyes; then AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros]) fi dnl Checks for libraries. AC_CHECK_LIB(dl, dlopen) AC_CHECK_LIB(z, inflate) #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Werror -Wall -Wno-implicit-function-declaration " fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([linux/if.h],[],[], [ #if HAVE_SYS_SOCKET_H # include #endif ]) dnl This is a check to see if we are running MacOS X dnl It may be better to do a Darwin check AC_CHECK_HEADER([sys/appleapiopts.h], [AC_DEFINE([IS_MACOSX],[1],[Define to 1 if compiling on MacOS X])], []) dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_C_CONST dnl Checks for library functions. dnl AC_FUNC_MALLOC dnl AC_FUNC_REALLOC #AC_CHECK_FUNCS([memmove]) AC_MSG_CHECKING(whether to build xpath) AC_ARG_ENABLE(xpath, [ --enable-xpath build xpath. default=yes], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) XPATH_DIR="xpath" ;; esac ], AC_MSG_RESULT(yes) XPATH_DIR="xpath" ) AC_MSG_CHECKING(whether to build guththila xml parser library) AC_ARG_ENABLE(guththila, [ --enable-guththila build guththila xml parser library wrapper. default=yes], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) WRAPPER_DIR="guththila" ;; esac ], AC_MSG_RESULT(yes) WRAPPER_DIR="guththila" ) AC_MSG_CHECKING(whether to build libxml2 xml parser library) AC_ARG_ENABLE(libxml2, [ --enable-libxml2 build libxml2 xml parser library wrapper. default=no], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_LIBXML2_ENABLED" WRAPPER_DIR="libxml2" PKG_CHECK_MODULES(LIBXML2, libxml-2.0) ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to build tests) AC_ARG_ENABLE(tests, [ --enable-tests build tests. default=no], [ case "${enableval}" in yes) AC_MSG_RESULT(yes) TESTDIR="test" ;; *) AC_MSG_RESULT(no) TESTDIR="" ;; esac ], AC_MSG_RESULT(no) TESTDIR="" ) PKG_PROG_PKG_CONFIG(0.15) CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS" VERSION_NO="6:0:6" AC_SUBST(VERSION_NO) AC_SUBST(LIBXML2_CFLAGS) AC_SUBST(LIBXML2_LIBS) AC_SUBST(WRAPPER_DIR) AC_SUBST(GUTHTHILA_LIBS) AC_SUBST(TESTDIR) AC_SUBST(XPATH_DIR) AC_CONFIG_FILES([Makefile \ src/Makefile \ src/parser/Makefile \ src/parser/libxml2/Makefile \ src/parser/guththila/Makefile \ src/soap/Makefile \ src/om/Makefile \ src/util/Makefile \ src/attachments/Makefile \ src/xpath/Makefile \ test/Makefile \ test/om/Makefile \ test/soap/Makefile \ test/util/Makefile \ test/xpath/Makefile \ include/Makefile ]) AC_OUTPUT axis2c-src-1.6.0/axiom/config.guess0000755000175000017500000012703510614436542020306 0ustar00manjulamanjula00000000000000#! /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, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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 . # Please send patches to . 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 ." 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 "$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 ; set_cc_for_build= ;' # 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 ;; sh5el) machine=sh5le-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 ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-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 /* 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 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 #include 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 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 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:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *: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 ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [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*:*:* | x86_64: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 ;; avr32*: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 | sed -n ' /^CPU/{ s: ::g p }'`" 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-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 ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-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 #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" 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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-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 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 ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos 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 < # include #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 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 # 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 < 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: axis2c-src-1.6.0/axiom/install-sh0000755000175000017500000003160010527332127017757 0ustar00manjulamanjula00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # 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. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment 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}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog 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 $# -ne 0; 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) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac 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 $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # 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 fi if test $# -eq 0; 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 if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? 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 dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # 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 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 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 "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # 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: axis2c-src-1.6.0/axiom/autogen.sh0000755000175000017500000000130411166304645017756 0ustar00manjulamanjula00000000000000#!/bin/bash echo -n 'Running libtoolize...' if [ `uname -s` = Darwin ] then LIBTOOLIZE=glibtoolize else LIBTOOLIZE=libtoolize fi if $LIBTOOLIZE --force > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running aclocal...' if aclocal > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoheader...' if autoheader > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoconf...' if autoconf > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running automake...' if automake --add-missing > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo 'done' axis2c-src-1.6.0/axiom/config.sub0000755000175000017500000007763110614436542017757 0ustar00manjulamanjula00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-01-18' # 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 . 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 ." 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-newlib* | 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -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/'` ;; -sco5v6*) # 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | 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 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) 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) ;; ms1) basic_machine=mt-unknown ;; # 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-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | 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-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; 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 ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 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* | -solidbsd* \ | -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-newlib* | -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* | -haiku* | -rdos* | -toppers* | -drops*) # 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* | -haiku* \ | -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 score-*) os=-elf ;; spu-*) os=-elf ;; *-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 ;; mep-*) os=-elf ;; 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 ;; *-haiku) os=-haiku ;; *-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: axis2c-src-1.6.0/axiom/missing0000755000175000017500000002557710527332127017372 0ustar00manjulamanjula00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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' autom4te touch the output file, or create a stub one 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 ." 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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: axis2c-src-1.6.0/axiom/Makefile.am0000644000175000017500000000054111166304645020013 0ustar00manjulamanjula00000000000000datadir=$(prefix) SUBDIRS = src $(TESTDIR) include includedir=$(prefix)/include/axis2-1.6.0/ include_HEADERS=$(top_builddir)/include/*.h data_DATA= INSTALL README AUTHORS NEWS CREDITS LICENSE COPYING EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` axis2c-src-1.6.0/axiom/Makefile.in0000644000175000017500000005300011172017174020015 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ ChangeLog INSTALL NEWS config.guess config.sub depcomp \ install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(datadir)" "$(DESTDIR)$(includedir)" dataDATA_INSTALL = $(INSTALL_DATA) DATA = $(data_DATA) includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(prefix) datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0/ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src $(TESTDIR) include include_HEADERS = $(top_builddir)/include/*.h data_DATA = INSTALL README AUTHORS NEWS CREDITS LICENSE COPYING EXTRA_DIST = build.sh autogen.sh CREDITS LICENSE all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) test -z "$(datadir)" || $(MKDIR_P) "$(DESTDIR)$(datadir)" @list='$(data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ rm -f "$(DESTDIR)$(datadir)/$$f"; \ done install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datadir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dataDATA install-includeHEADERS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dataDATA uninstall-includeHEADERS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dataDATA install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-includeHEADERS install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-dataDATA \ uninstall-includeHEADERS dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/config.h.in0000644000175000017500000000374711166310363020007 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Have GNU-style varargs macros */ #undef HAVE_GNUC_VARARGS /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Have ISO C99 varargs macros */ #undef HAVE_ISO_VARARGS /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if compiling on MacOS X */ #undef IS_MACOSX /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION axis2c-src-1.6.0/axiom/build.sh0000755000175000017500000000016711166304645017421 0ustar00manjulamanjula00000000000000#!/bin/bash ./autogen.sh ./configure --prefix=${AXIS2C_HOME} --enable-static=no --enable-tests=no make make install axis2c-src-1.6.0/axiom/AUTHORS0000644000175000017500000000000011166304645017015 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/INSTALL0000644000175000017500000000060011166304645017004 0ustar00manjulamanjula00000000000000Getting Axiom/C source working on Linux ============================================= Build the source This can be done using the following command sequence: ./configure make make install use './configure --help' for options NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/axis2_axiom directory. axis2c-src-1.6.0/axiom/ChangeLog0000644000175000017500000000016711166304645017535 0ustar00manjulamanjula00000000000000Apache Axiom/C * Seperated Axiom module from Axis2/C -- Axis2-C team Thu, 18 May 2006 axis2c-src-1.6.0/axiom/include/0000777000175000017500000000000011172017535017402 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/axiom/include/axiom_soap_fault_detail.h0000644000175000017500000000675611166304627024445 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_DETAIL_H #define AXIOM_SOAP_FAULT_DETAIL_H /** * @file axiom_soap_fault_detail.h * @brief axiom_soap_fault_detail struct */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_detail axiom_soap_fault_detail_t; /** * @defgroup axiom_soap_fault_detail soap fault detail * @ingroup axiom_soap * @{ */ /** * creates a soap struct * @param env Environment. MUST NOT be NULL * @param fault The SOAP fault * * @return the created OM SOAP fault detail */ AXIS2_EXTERN axiom_soap_fault_detail_t *AXIS2_CALL axiom_soap_fault_detail_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault); /** * Free an axiom_soap_fault_detail * @param fault_detail pointer to soap_fault_detail struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_detail_free( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env); /** * Adds a detail entry to the SOAP fault detail * @param fault_detail pointer to soap_fault_detail struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_detail_add_detail_entry( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env, axiom_node_t * ele_node); /** * Return all detail entries in the SOAP fault detail * @param fault_detail pointer to soap_fault_detail struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL axiom_soap_fault_detail_get_all_detail_entries( axiom_soap_fault_detail_t * fault_detail, const axutil_env_t * env); /** * Returns the base node of the SOAP fault detail * @param fault_detail pointer to soap_fault_detail struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_detail_get_base_node( axiom_soap_fault_detail_t * fault_code, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_DETAIL_H */ axis2c-src-1.6.0/axiom/include/axiom_child_element_iterator.h0000644000175000017500000001002011166304627025446 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_CHILD_ELEMENT_ITERATOR_H #define AXIOM_CHILD_ELEMENT_ITERATOR_H /** *@file axiom_child_element_iterator.h *@brief this is the iterator for om elemnts */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_child_element_iterator axiom_child_element_iterator_t; /** * @defgroup axiom_child_element_iterator child element iterator * @ingroup axiom_om * @{ */ /** * Free the iterator * @param iterator a pointer to child element iterator struct * @param env environment, MUST NOT be NULL. */ AXIS2_EXTERN void AXIS2_CALL axiom_child_element_iterator_free( void *iterator, const axutil_env_t * env); /** * Removes from the underlying collection the last element returned by the * iterator (optional op). This method can be called only once per * call to next. The behavior of an iterator is unspecified if * the underlying collection is modified while the iteration is in * progress in any way other than by calling this method. * @param iterator a pointer to child element iterator struct * @param env environment, MUST NOT be NULL. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_child_element_iterator_remove( axiom_child_element_iterator_t * iterator, const axutil_env_t * env); /** * returns true if the iteration has more elements * in otherwords it returns true if the next() would return an element * rather than null with an error code set to environments error * @param iterator a pointer to child element iterator struct * @param env environment, MUST NOT be NULL. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_child_element_iterator_has_next( axiom_child_element_iterator_t * iterator, const axutil_env_t * env); /** * Returns the next element in the iteration. Returns null if there * is no more elements * @param iterator a pointer to child element iterator struct * @param env environment, MUST NOT be NULL. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_child_element_iterator_next( axiom_child_element_iterator_t * iterator, const axutil_env_t * env); /** * Create a child element interator for the current child * @param current child * @param env environment, MUST NOT be NULL. * return axiom_child_element_iterator_t */ AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL axiom_child_element_iterator_create( const axutil_env_t * env, axiom_node_t * current_child); #define AXIOM_CHILD_ELEMENT_ITERATOR_FREE(iterator, env) \ axiom_child_element_iterator_free(iterator, env) #define AXIOM_CHILD_ELEMENT_ITERATOR_REMOVE(iterator, env) \ axiom_child_element_iterator_remove(iterator, env) #define AXIOM_CHILD_ELEMENT_ITERATOR_HAS_NEXT(iterator, env) \ axiom_child_element_iterator_has_next(iterator, env) #define AXIOM_CHILD_ELEMENT_ITERATOR_NEXT(iterator, env) \ axiom_child_element_iterator_next(iterator, env) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_CHILD_ELEMENT_ITERATOR_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_code.h0000644000175000017500000000732411166304627024105 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_CODE_H #define AXIOM_SOAP_FAULT_CODE_H /** * @file axiom_soap_fault_code.h * @brief axiom_soap_fault_code struct */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_code axiom_soap_fault_code_t; struct axiom_soap_fault_value; struct axiom_soap_fault_sub_code; struct axiom_soap_builder; /** * @defgroup axiom_soap_fault_code soap fault code * @ingroup axiom_soap * @{ */ /** * creates a soap fault code struct * @param env Environment. MUST NOT be NULL * @param fault_code the pointer to the AXIOM fault code struct * * @return */ AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_code_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault); /** * * @param fault_code the pointer to the AXIOM fault code struct * @param env Environment. MUST NOT be NULL * * @return */ AXIS2_EXTERN axiom_soap_fault_code_t *AXIS2_CALL axiom_soap_fault_code_create_with_parent_value( const axutil_env_t * env, axiom_soap_fault_t * fault, axis2_char_t * value); /** * Free an axiom_soap_fault_code * @param fault_code pointer to soap_fault_code struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_code_free( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env); /** * @param fault_code the pointer to the AXIOM fault code struct * @param env Environment. MUST NOT be NULL * @returns axiom_soap_fault_sub_code struct if one is associated with * this fault_code struct , otherwise teturns NULL */ AXIS2_EXTERN struct axiom_soap_fault_sub_code *AXIS2_CALL axiom_soap_fault_code_get_sub_code( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env); /** * @param fault_code the pointer to the AXIOM fault code struct * @param env Environment. MUST NOT be NULL * @returns soap_fault_value if available */ AXIS2_EXTERN struct axiom_soap_fault_value *AXIS2_CALL axiom_soap_fault_code_get_value( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env); /** * Get the base node of the SOAP fault * @param fault_code the pointer to the AXIOM fault code struct * @param env Environment. MUST NOT be NULL * * @return retrns the base node of the SOAP fault */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_code_get_base_node( axiom_soap_fault_code_t * fault_code, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_CODE_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_value.h0000644000175000017500000000730111166304627024302 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_VALUE_H #define AXIOM_SOAP_FAULT_VALUE_H /** * @file axiom_soap_fault_value.h * @brief axiom_soap_fault_value */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_value axiom_soap_fault_value_t; /** * @defgroup axiom_soap_fault_value soap fault value * @ingroup axiom_soap * @{ */ /** * creates a soap struct * @param env Environment. MUST NOT be NULL */ AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_value_create_with_subcode( const axutil_env_t * env, axiom_soap_fault_sub_code_t * parent); /** * Create s SOAP fault value givn a SOAP fault code * @param fault_value pointer to soap_fault_value struct * @param env Environment. MUST NOT be NULL * * @return Created SOAP fault value */ AXIS2_EXTERN axiom_soap_fault_value_t *AXIS2_CALL axiom_soap_fault_value_create_with_code( const axutil_env_t * env, axiom_soap_fault_code_t * parent); /** * Free an axiom_soap_fault_value * @param fault_value pointer to soap_fault_value struct * @param env Environment. MUST NOT be NULL * * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_value_free( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env); /** * Get the text value of the soapenv:Value element directly under soapenv:Code element * @param fault_value pointer to axiom_soap_fault_t * @param env Environment. MUST NOT BE NULL * @return text value */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_value_get_text( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env); /** * Set the text value of the soapenv:Value element directly under soapenv:Code element * @param fault_value pointer to axiom_soap_fault_t * @param env Environment. MUST NOT BE NULL * @param text value to be set * * @return the base node */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_value_get_base_node( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env); /** * set the text value of soap_fault_value element * @param fault_value pointer to soap fault value struct * @param env environment MUST not be NULL * @param text Text value to be set * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_value_set_text( axiom_soap_fault_value_t * fault_value, const axutil_env_t * env, axis2_char_t * text); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_VALUE_H */ axis2c-src-1.6.0/axiom/include/axiom_attribute.h0000644000175000017500000002214211166304627022754 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_ATTRIBUTE_H #define AXIOM_ATTRIBUTE_H /** * @file axiom_attribute.h * @brief om attribute struct represents an xml attribute */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_attribute attribute * @ingroup axiom_om * @{ */ typedef struct axiom_attribute axiom_attribute_t; /** * creates an om_attribute struct * @param env Environment. MUST NOT be NULL * @param localname localname of the attribute, should not be a null value. * @param value normalized attribute value. cannot be NULL * @param ns namespace, if any, of the attribute. Optional, can be NULL om_attribute wont free the ns * @return a pointer to newly created attribute struct, returns NULL on error with * error code set in environment's error. */ AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_attribute_create( const axutil_env_t * env, const axis2_char_t * localname, const axis2_char_t * value, axiom_namespace_t * ns); /** * Free om attribute passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the om_attribute structure's free method * @param om_attribute pointer to attribute struct to be freed * @param env Environment. MUST NOT be NULL */ AXIS2_EXTERN void AXIS2_CALL axiom_attribute_free_void_arg( void *om_attribute, const axutil_env_t * env); /** * Free an axiom_attribute struct * @param om_attribute pointer to attribute struct to be freed * @param env Environment. MUST NOT be NULL */ AXIS2_EXTERN void AXIS2_CALL axiom_attribute_free( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** * Creates and returns a qname struct for this attribute * @param om_attribute pointer to attribute struct * for which the qname is to be returned * @param env Environment. MUST NOT be NULL * @return returns qname for given attribute.NULL on error */ AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axiom_attribute_get_qname( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** * Serialize op * @param om_attribute pointer to attribute struct to be serialized * @param env Environment. MUST NOT be NULL, * @param om_output AXIOM output handler to be used in serializing * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN int AXIS2_CALL axiom_attribute_serialize( struct axiom_attribute *om_attribute, const axutil_env_t * env, axiom_output_t * om_output); /** Returns the localname of this attribute * @param om_attribute pointer to attribute struct * @param env environment. MUST NOT not be NULL. * @return localname returns NULL on error. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_attribute_get_localname( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** * returns value of this attribute *@param om_attribute pointer to om_attribute struct *@param env environment N not be null *@return value , null on error */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_attribute_get_value( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** * returns namespace of this attribute *@param om_attribute *@param env environment MUST NOT be NULL *@return a pointer to om_namespace struct , returns NULL on error. */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_attribute_get_namespace( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** sets the localname of the attribute *@param om_attribute pointer to om attribute struct. *@param env environment, MUST NOT be null. *@param localname localname that should be set for this attribute *@return status code AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_localname( struct axiom_attribute *om_attribute, const axutil_env_t * env, const axis2_char_t * localname); /** set the attribute value *@param om_attribute a pointer to om_attribute struct. *@param env environment, MUST NOT be NULL. *@param value value that should be set for this attribute *@return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_value( struct axiom_attribute *om_attribute, const axutil_env_t * env, const axis2_char_t * value); /** set namespace of the attribute *@param om_attribute a pointer to om_attribute struct *@param env environment, MUST NOT be NULL. *@param om_namespace a pointer to om_namespace struct that should be set * for this attribute *@return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_namespace( struct axiom_attribute *om_attribute, const axutil_env_t * env, axiom_namespace_t * om_namespace); /** * clones an om attribute * @param om_attibute * @param env environment * @returns pointer to cloned om attribute struct on success * NULL otherwise */ AXIS2_EXTERN struct axiom_attribute *AXIS2_CALL axiom_attribute_clone( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** Increment the reference counter. * @param om_attribute a pointer to om_attribute struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_increment_ref( struct axiom_attribute *om_attribute, const axutil_env_t * env); /** Create OM attribute * @param om_attribute a pointer to om_attribute struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_attribute_create_str( const axutil_env_t * env, axutil_string_t * localname, axutil_string_t * value, axiom_namespace_t * ns); /** Get the localname as a string * @param om_attribute a pointer to om_attribute struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_attribute_get_localname_str( axiom_attribute_t * attribute, const axutil_env_t * env); /** Get the value as a string * @param om_attribute a pointer to om_attribute struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_attribute_get_value_str( axiom_attribute_t * attribute, const axutil_env_t * env); /** Set the localname of the attribute * @param om_attribute a pointer to om_attribute struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_localname_str( axiom_attribute_t * attribute, const axutil_env_t * env, axutil_string_t * localname); /** Set the value of the attribute * @param om_attribute a pointer to om_attribute struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_attribute_set_value_str( axiom_attribute_t * attribute, const axutil_env_t * env, axutil_string_t * value); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_ATTRIBUTE_H */ axis2c-src-1.6.0/axiom/include/axiom_mime_parser.h0000644000175000017500000001500111166304627023250 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_MIME_PARSER_H #define AXIOM_MIME_PARSER_H /** * @file axiom_mime_parser.h * @brief axis2 mime_parser interface */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif #define AXIOM_MIME_PARSER_BUFFER_SIZE (1024 * 1024/2) #define AXIOM_MIME_PARSER_MAX_BUFFERS 1000 #define AXIOM_MIME_PARSER_END_OF_MIME_MAX_COUNT 100 typedef struct axiom_mime_parser axiom_mime_parser_t; /** @defgroup axiom_mime_parser Flow * @ingroup axiom_mime_parser * @{ */ /** * Parse and returns mime parts as a hash map * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @param callback_ctx the callback context * @param mime_boundary the MIME boundary * @return mime parts as a hash map */ /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_mime_parser_parse( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK, void *callback_ctx, axis2_char_t * mime_boundary);*/ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_mime_parser_parse_for_soap( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t * mime_boundary); AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_mime_parser_parse_for_attachments( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback, void *callback_ctx, axis2_char_t * mime_boundary, void *user_param); /** * Returns mime parts as a hash map * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @return mime parts as a hash map */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_mime_parser_get_mime_parts_map( axiom_mime_parser_t * mime_parser, const axutil_env_t * env); /** * Deallocate memory. Free the mime parser struct * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_free( axiom_mime_parser_t * mime_parser, const axutil_env_t * env); /** * Returns the length of the SOAP Body * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @return the length of the SOAP Body */ AXIS2_EXTERN int AXIS2_CALL axiom_mime_parser_get_soap_body_len( axiom_mime_parser_t * mime_parser, const axutil_env_t * env); /** * Get the SOAP Body as a string * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @return the SOAP Body as a string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_mime_parser_get_soap_body_str( axiom_mime_parser_t * mime_parser, const axutil_env_t * env); /** * Create a mime parser struct * @param env Environment. MUST NOT be NULL. * @return created mime parser */ AXIS2_EXTERN axiom_mime_parser_t *AXIS2_CALL axiom_mime_parser_create( const axutil_env_t * env); /** * Set the size of the chink buffer * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @param size the size of the chink buffer * @return mime parts as a hash map */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_buffer_size( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, int size); /** * Set maximum number of chunk buffers * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @param num maximum number of chunk buffers * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_max_buffers( axiom_mime_parser_t * mime_parser, const axutil_env_t * env, int num); /** * Set attachment dir specified in the axis2.xml * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @param attachment_dir is string containg the directory path * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_attachment_dir( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *attachment_dir); /** * Set Caching callback name specified in the axis2.xml * @param mime_parser the pointer for the mime parser struct * @param env Environment. MUST NOT be NULL. * @param callback_name is string containg the dll path * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_caching_callback_name( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *callback_name); AXIS2_EXTERN void AXIS2_CALL axiom_mime_parser_set_mime_boundary( axiom_mime_parser_t *mime_parser, const axutil_env_t *env, axis2_char_t *mime_boundary); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_mime_parser_get_mime_boundary( axiom_mime_parser_t *mime_parser, const axutil_env_t *env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_MIME_PARSER_H */ axis2c-src-1.6.0/axiom/include/axiom_output.h0000644000175000017500000001562411166304627022320 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_OUTPUT_H #define AXIOM_OUTPUT_H #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_output output * @ingroup axiom_om * @{ */ /** * \brief output struct * The XML writer interface struct of om */ typedef struct axiom_output axiom_output_t; struct axiom_text; /** * Creates AXIOM output struct * @param env Environment. MUST NOT be NULL, . * @param xml_writer XML writer. OM output takes * ownership of the xml_writer. * @return a pointer to newly created output struct. */ AXIS2_EXTERN axiom_output_t *AXIS2_CALL axiom_output_create( const axutil_env_t * env, axiom_xml_writer_t * xml_writer); /** * Performs xml writing. * Accepts variable number of args depending on the on AXIOM type to be serialized * @param om_output Output struct to be used * @param env Environment. MUST NOT be NULL, * @param type one of the AXIOM types * @param no_of_args number of arguments passed in the variable parameter list * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_write( axiom_output_t * om_output, const axutil_env_t * env, axiom_types_t type, int no_of_args, ...); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_write_optimized( axiom_output_t * om_output, const axutil_env_t * env, struct axiom_text *om_text); /** * Free om_output * @param om_output om_output struct * @param env environment * @return status code AXIS2_SUCCESS on success, * AXIS2_FAILURE otherwise */ AXIS2_EXTERN void AXIS2_CALL axiom_output_free( axiom_output_t * om_output, const axutil_env_t * env); /** * If the xml to be serialized is soap 11, this property is set to true * @param om_output pointer to om_output struct * @param env environment must not be NULL * @returns the output soap version */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_output_is_soap11( axiom_output_t * om_output, const axutil_env_t * env); /** * @returns true if the ignore_xml_declaration property is true */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_output_is_ignore_xml_declaration( axiom_output_t * om_output, const axutil_env_t * env); /** * Sets the ignore_xml_declaration property is true */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_ignore_xml_declaration( axiom_output_t * om_output, const axutil_env_t * env, axis2_bool_t ignore_xml_dec); /** * Sets the soap11 property to true */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_soap11( axiom_output_t * om_output, const axutil_env_t * env, axis2_bool_t soap11); /** * Sets xml_version property */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_xml_version( axiom_output_t * om_output, const axutil_env_t * env, axis2_char_t * xml_version); /** * @returns xml version property */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_xml_version( axiom_output_t * om_output, const axutil_env_t * env); /** * Sets the char set encoding property */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_char_set_encoding( axiom_output_t * om_output, const axutil_env_t * env, axis2_char_t * char_set_encoding); /** * @returns the char set encoding property */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_char_set_encoding( axiom_output_t * om_output, const axutil_env_t * env); /** * Sets the do optimize property true */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_set_do_optimize( axiom_output_t * om_output, const axutil_env_t * env, axis2_bool_t optimize); /** * Returns the xml writer */ AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_output_get_xml_writer( axiom_output_t * om_output, const axutil_env_t * env); /** * Returns the content type * for soap11 'text/xml' etc.. * @param om_output * @param env environemnt * @returns content id */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_output_get_content_type( axiom_output_t * om_output, const axutil_env_t * env); /** * Writes the xml versio encoding */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_write_xml_version_encoding( axiom_output_t * om_output, const axutil_env_t * env); /** * @returns whether the output is to be optimized */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_output_is_optimized( axiom_output_t * om_output, const axutil_env_t * env); /** * Returns the next content id */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_next_content_id( axiom_output_t * om_output, const axutil_env_t * env); /** * root content id */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_root_content_id( axiom_output_t * om_output, const axutil_env_t * env); /** * */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_output_get_mime_boundry( axiom_output_t * om_output, const axutil_env_t * env); /** * */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_output_flush( axiom_output_t * om_output, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_output_get_mime_parts( axiom_output_t * om_output, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_OUTPUT_H */ axis2c-src-1.6.0/axiom/include/axiom_comment.h0000644000175000017500000000701311166304627022413 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_COMMENT_H #define AXIOM_COMMENT_H /** * @file axiom_comment.h * @brief defines axiom_comment_t struct, and manipulation functions */ #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_comment comment * @ingroup axiom_om * @{ */ typedef struct axiom_comment axiom_comment_t; /** * Creates a comment struct * @param env Environment. MUST NOT be NULL, * @param parent This is the parent node of the comment is any, can be NULL. * @param value comment text * @param node This is an out parameter.cannot be NULL. * Returns the node corresponding to the comment created. * Node type will be set to AXIOM_COMMENT * @return a pointer to the newly created comment struct */ AXIS2_EXTERN axiom_comment_t *AXIS2_CALL axiom_comment_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * value, axiom_node_t ** node); /** * Free a axis2_comment_t struct * @param om_comment pointer to axis2_commnet_t struct to be freed * @param env Environment. MUST NOT be NULL. * @return satus of the op. * AXIS2_SUCCESS on success ,AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_comment_free( struct axiom_comment *om_comment, const axutil_env_t * env); /** get the comments data * @param om_comment a pointer to axiom_comment_t struct * @param env environment, MUST NOT be NULL * @returns comment text */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_comment_get_value( struct axiom_comment *om_comment, const axutil_env_t * env); /** * set comment data * @param om_comment pointer to axiom_comment_t struct * @param env environment, MUST NOT be NULL. * @param value comment text * @returns AXIS2_SUCCESS on success , AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_comment_set_value( struct axiom_comment *om_comment, const axutil_env_t * env, const axis2_char_t * value); /** * serialize function * @param om_comment pointer to axiom_comment_t struct * @param env environment, MUST NOT be NULL. * @param om_output pointer to om_output_t struct * @return AXIS2_SUCCESS on success, AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_comment_serialize( struct axiom_comment *om_comment, const axutil_env_t * env, axiom_output_t * om_output); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_COMMENT_H */ axis2c-src-1.6.0/axiom/include/axiom_children_iterator.h0000644000175000017500000000770511166304627024462 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_CHILDREN_ITERATOR_H #define AXIOM_CHILDREN_ITERATOR_H /** *@file axiom_children_iterator.h *@brief this is the iterator for om nodes */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_children_iterator axiom_children_iterator_t; /** * @defgroup axiom_children_iterator children iterator * @ingroup axiom_om * @{ */ /** * @param current child * @param env environment * return axiom_children_iterator_t */ AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL axiom_children_iterator_create( const axutil_env_t * env, axiom_node_t * current_child); /** * Free the om_children_iterator struct * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN void AXIS2_CALL axiom_children_iterator_free( axiom_children_iterator_t * iterator, const axutil_env_t * env); /** * Removes from the underlying collection the last element returned by the * iterator (optional op). This method can be called only once per * call to next. The behavior of an iterator is unspecified if * the underlying collection is modified while the iteration is in * progress in any way other than by calling this method. * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_iterator_remove( axiom_children_iterator_t * iterator, const axutil_env_t * env); /** * @returns true if the iteration has more elements. In other * words, returns true if next() would return an om_node_t struct * rather than null with error code set in environment * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_children_iterator_has_next( axiom_children_iterator_t * iterator, const axutil_env_t * env); /** * Returns the next element in the iteration. Returns null if there are * no more elements in the iteration * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_children_iterator_next( axiom_children_iterator_t * iterator, const axutil_env_t * env); /** * Resets the Iterator. This moves the cursor back to the initial. * iterator chidren_iterator to be reset. * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_iterator_reset( axiom_children_iterator_t * iterator, const axutil_env_t * env); /************ Macros *********************************************/ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_CHILDREN_ITERATOR_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_node.h0000644000175000017500000000663211166304627024121 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_NODE_H #define AXIOM_SOAP_FAULT_NODE_H /** * @file axiom_soap_fault_node.h * @brief axiom_soap_fault_node struct */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_node axiom_soap_fault_node_t; /** * @defgroup axiom_soap_fault_node soap fault node * @ingroup axiom_soap * @{ */ /** * creates a soap fault node struct * @param env Environment. MUST NOT be NULL * @param fault_node pointer to soap_fault_node struct * * @return the created SOAP fault node */ AXIS2_EXTERN axiom_soap_fault_node_t *AXIS2_CALL axiom_soap_fault_node_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault); /** * Free an axiom_soap_fault_node * @param fault_node pointer to soap_fault_node struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_node_free( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env); /** * Set the fault string value of the SOAP fault node * @param fault_node pointer to soap_fault_node struct * @param env Environment. MUST NOT be NULL * @param fault_val the fault string value * * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_node_set_value( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env, axis2_char_t * fault_val); /** * Get the string value of the SOAP fault node * @param fault_node pointer to soap_fault_node struct * @param env Environment. MUST NOT be NULL * * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_node_get_value( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env); /** * Get the base node of the SOAP fault node * @param fault_node pointer to soap_fault_node struct * @param env Environment. MUST NOT be NULL * * @return the base node of the fault node */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_node_get_base_node( axiom_soap_fault_node_t * fault_node, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_NODE_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_role.h0000644000175000017500000000633411166304627024134 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_ROLE_H #define AXIOM_SOAP_FAULT_ROLE_H /** * @file axiom_soap_fault_role.h * @brief axiom_soap_fault_role */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_role axiom_soap_fault_role_t; /** * @defgroup axiom_soap_fault_role soap fault role * @ingroup axiom_soap * @{ */ /** * creates a soap struct * @param env Environment. MUST NOT be NULL */ AXIS2_EXTERN axiom_soap_fault_role_t *AXIS2_CALL axiom_soap_fault_role_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault); /** * Free an axiom_soap_fault_role * @param fault_role pointer to soap_fault_role struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_role_free( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env); /** * Set the SOAP fault role value * @param fault_role pointer to soap_fault_role struct * @param env Environment. MUST NOT be NULL * @param uri the URI to be set * * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_role_set_role_value( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env, axis2_char_t * uri); /** * Get the SOAP fault role value * @param fault_role pointer to soap_fault_role struct * @param env Environment. MUST NOT be NULL * * @return the SOAP fault role value */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_role_get_role_value( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env); /** * Get the base node of the OM SOAP fault role * @param fault_role pointer to soap_fault_role struct * @param env Environment. MUST NOT be NULL * * @return the base node of the OM SOAP fault role */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_role_get_base_node( axiom_soap_fault_role_t * fault_role, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_ROLE_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_reason.h0000644000175000017500000001076411166304627024464 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_REASON_H #define AXIOM_SOAP_FAULT_REASON_H /** * @file axiom_soap_fault_reason.h * @brief axiom_soap_fault_reason */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_reason axiom_soap_fault_reason_t; struct axiom_soap_fault_text; struct axiom_soap_builder; /** * @defgroup axiom_soap_fault_reason soap fault reason * @ingroup axiom_soap * @{ */ /** * creates a SOAP fault reason struct * @param env Environment. MUST NOT be NULL * @param fault the SOAP fault * * @return the created SOAP fault reason struct */ AXIS2_EXTERN axiom_soap_fault_reason_t *AXIS2_CALL axiom_soap_fault_reason_create_with_parent( const axutil_env_t * env, axiom_soap_fault_t * fault); /** * Free an axiom_soap_fault_reason * @param fault_reason pointer to soap_fault_reason struct * @param env Environment. MUST NOT be NULL * * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_reason_free( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env); /** * Get the SOAP fault text by comparing the given string * @param fault_reason pointer to soap_fault_reason struct * @param env Environment. MUST NOT be NULL * @param lang string to be compares * * @return the SOAP fault text of the SOAP fault string */ AXIS2_EXTERN struct axiom_soap_fault_text *AXIS2_CALL axiom_soap_fault_reason_get_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, axis2_char_t * lang); /** * Returns all the SOAP fault reason strings as an array list * @param fault_reason pointer to soap_fault_reason struct * @param env Environment. MUST NOT be NULL * * @return all the SOAP fault reason strings as an array list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_soap_fault_reason_get_all_soap_fault_texts( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env); /** * Retuens the first SOAP fault reason string * @param fault_reason pointer to soap_fault_reason struct * @param env Environment. MUST NOT be NULL * * @return The first SOAP fault reason string */ AXIS2_EXTERN struct axiom_soap_fault_text *AXIS2_CALL axiom_soap_fault_reason_get_first_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env); /** * Add a string as a SOAP fault reason * @param fault_reason pointer to soap_fault_reason struct * @param env Environment. MUST NOT be NULL * @param fault_text The text to be added as the SOAP fault reason * * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_reason_add_soap_fault_text( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env, struct axiom_soap_fault_text *fault_text); /** * Get the base node of the SOAP fault reason * @param fault_reason pointer to soap_fault_reason struct * @param env Environment. MUST NOT be NULL * @return the base node of the SOAP fault reason */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_reason_get_base_node( axiom_soap_fault_reason_t * fault_reason, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_REASON_H */ axis2c-src-1.6.0/axiom/include/axiom_navigator.h0000644000175000017500000000732511166304627022751 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_NAVIGATOR_H #define AXIOM_NAVIGATOR_H #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_navigator navigator * @ingroup axiom_om * @{ */ typedef struct axiom_navigator axiom_navigator_t; /** Creates an axiom_navigator * @param env environment MUST not be NULL * @param node a pointer to axiom_node_t struct * which is to be navigated * @returns a pointer to axiom_navigator_t struct * or returns NULL on error */ AXIS2_EXTERN axiom_navigator_t *AXIS2_CALL axiom_navigator_create( const axutil_env_t * env, axiom_node_t * node); /** * free function , free the axiom_navigator struct * @param om_navigator axiom_navigator_struct * @param env environment MUST not be NULL * @returns AXIS2_SUCCESS */ AXIS2_EXTERN void AXIS2_CALL axiom_navigator_free( axiom_navigator_t * om_navigator, const axutil_env_t * env); /** * Returns the navigable status * @param om_navigator axiom_navigator_struct * @param env environment MUST not be NULL * @returns AXIS2_TRUE if the om is navigable * otherwise returns AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_navigator_is_navigable( axiom_navigator_t * om_navigator, const axutil_env_t * env); /** * Returns the build status of this node * if the node is completly build returns AXIS2_TRUE * otherwise AXIS2_FALSE * @param om_navigator axiom_navigator struct * @param env environment MUST not be NULL * @return AXIS2_TRUE if this node is completly built * otherwise return AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_navigator_is_completed( axiom_navigator_t * om_navigator, const axutil_env_t * env); /** * gets the next node * @param om_navigator om_navigaot struct * @param env environment MUST not be NULL * @returns axiom_node_t pointer in the sequence of preorder travasal * however the an element node is treated slightly differently * Once the om_element type om node is passed it returns the same om_node * pointer in the next , returns NULL on error or if there is no more nodes */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_navigator_next( axiom_navigator_t * om_navigator, const axutil_env_t * env); /** * method visited * @param om_navigator om_navigaot struct * @param env environment MUST not be NULL * @returns AXIS2_TRUE if this node is alrady visited * otherwise AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_navigator_visited( axiom_navigator_t * om_navigator, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_NAVIGATOR_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_text.h0000644000175000017500000001034111166304627024150 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_TEXT_H #define AXIOM_SOAP_FAULT_TEXT_H /** * @file axiom_soap_fault_text.h * @brief axiom_soap_fault_text */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_text axiom_soap_fault_text_t; /** * @defgroup axiom_soap_fault_text soap fault text * @ingroup axiom_soap * @{ */ /** * creates a soap fault struct * @param env Environment. MUST NOT be NULL * @param fault the SOAP fault reason * * @return Created SOAP fault text */ AXIS2_EXTERN axiom_soap_fault_text_t *AXIS2_CALL axiom_soap_fault_text_create_with_parent( const axutil_env_t * env, axiom_soap_fault_reason_t * fault); /** * Free an axiom_soap_fault_text * @param fault_text pointer to soap_fault_text struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_text_free( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env); /** * Set the lang of the SOAP fault text * @param fault_text pointer to soap_fault_text struct * @param env Environment. MUST NOT be NULL * @param lang the string to be set * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_text_set_lang( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env, const axis2_char_t * lang); /** * Get the lang of the SOAP fault * @param fault_text pointer to soap_fault_text struct * @param env Environment. MUST NOT be NULL * * @return the lang of the SOAP fault */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_text_get_lang( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env); /** * Get the base node of the SOAP fault text * @param fault_text pointer to soap_fault_text struct * @param env Environment. MUST NOT be NULL * * @return the base node of the SOAP fault text */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_text_get_base_node( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env); /** * Set the SOAP fault text * @param fault_text pointer to soap_fault_text struct * @param env Environment. MUST NOT be NULL * @param value the text value * @param lang string to be compared * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_text_set_text( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env, axis2_char_t * value, axis2_char_t * lang); /** * get the SOAP fault text * @param fault_text pointer to soap_fault_text struct * @param env Environment. MUST NOT be NULL * * @return the Text of the SOAP fault */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_text_get_text( axiom_soap_fault_text_t * fault_text, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_TEXT_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_builder.h0000644000175000017500000001740211166304627023424 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_BUILDER_H #define AXIOM_SOAP_BUILDER_H #include #include #include /** * @file axiom_soap_builder.h * @brief axiom_soap_builder struct */ #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_builder axiom_soap_builder_t; /** * @defgroup axiom_soap_builder soap builder * @ingroup axiom_soap * @{ */ /** * creates a axiom_soap_builder struct * @param env Environment. MUST NOT be NULL * @param builder Stax builder * @return the created SOAP Builder */ AXIS2_EXTERN axiom_soap_builder_t *AXIS2_CALL axiom_soap_builder_create( const axutil_env_t * env, axiom_stax_builder_t * builder, const axis2_char_t * soap_version); /** * Free the SOAP Builder * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_free( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * Get the SOAP envelope of the SOAP builder * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return the SOAP envelope */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_builder_get_soap_envelope( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * Get the OM document of the SOAP Buidler * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return the OM document */ AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_soap_builder_get_document( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS if the next element is present else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_next( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return the axiom_node of the OM document */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_builder_get_document_element( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_set_bool_processing_mandatory_fault_elements( axiom_soap_builder_t * builder, const axutil_env_t * env, axis2_bool_t value); /** * * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_set_processing_detail_elements( axiom_soap_builder_t * builder, const axutil_env_t * env, axis2_bool_t value); /** * * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_TRUE if the the element is present, AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_builder_is_processing_detail_elements( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * Get the SOAP version * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return the SOAP version */ AXIS2_EXTERN int AXIS2_CALL axiom_soap_builder_get_soap_version( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * Process and verifies namespace data of @param om_node * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_process_namespace_data( axiom_soap_builder_t * builder, const axutil_env_t * env, axiom_node_t * om_node, axis2_bool_t is_soap_element); /** * Set the MIME body parts * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_set_mime_body_parts( axiom_soap_builder_t * builder, const axutil_env_t * env, axutil_hash_t * map); /** * Get the MIME body parts * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * * @return hash of mime body parts */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_soap_builder_get_mime_body_parts( axiom_soap_builder_t * builder, const axutil_env_t * env); /** * Set the mime_parser * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * @paran mime_parser pointer to a axiom_mime_parser_t instance */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_set_mime_parser( axiom_soap_builder_t * builder, const axutil_env_t * env, axiom_mime_parser_t *mime_parser); /** * Set the callback function * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * @param callback to the callback function pointer */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_set_callback_function( axiom_soap_builder_t * builder, const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK callback); /** * Set the callback_ctx * @param builder pointer to the SOAP Builder struct * @param env Environment. MUST NOT be NULL * @param void pointer to the callback_ctx */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_builder_set_callback_ctx( axiom_soap_builder_t * builder, const axutil_env_t * env, void *callback_ctx); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_builder_create_attachments( axiom_soap_builder_t * builder, const axutil_env_t * env, void *user_param, axis2_char_t *callback_name); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_builder_replace_xop( axiom_soap_builder_t * builder, const axutil_env_t * env, axiom_node_t *om_element_node, axiom_element_t *om_element); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_BUILDER_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_const.h0000644000175000017500000001153411166304627023124 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_CONST_H #define AXIOM_SOAP_CONST_H /** * @file axiom_soap.h * @brief defines SOAP constants */ #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_soap SOAP * @ingroup axiom * @{ * @} */ typedef enum soap_version { AXIOM_SOAP_VERSION_NOT_SET = 0, AXIOM_SOAP11, AXIOM_SOAP12 } axiom_soap_version; /** soap 11 constants */ #define AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI "http://schemas.xmlsoap.org/soap/envelope/" #define AXIOM_SOAP11_ATTR_ACTOR "actor" #define AXIOM_SOAP11_SOAP_FAULT_CODE_LOCAL_NAME "faultcode" #define AXIOM_SOAP11_SOAP_FAULT_STRING_LOCAL_NAME "faultstring" #define AXIOM_SOAP11_SOAP_FAULT_ACTOR_LOCAL_NAME "faultactor" #define AXIOM_SOAP11_SOAP_FAULT_DETAIL_LOCAL_NAME "detail" #define AXIOM_SOAP11_CONTENT_TYPE "text/xml" #define AXIOM_SOAP11_FAULT_CODE_SENDER "Client" #define AXIOM_SOAP11_FAULT_CODE_RECEIVER "Server" #define AXIOM_SOAP11_SOAP_ACTOR_NEXT "http://schemas.xmlsoap.org/soap/actor/next" /** soap12 constants */ #define AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI "http://www.w3.org/2003/05/soap-envelope" #define AXIOM_SOAP12_SOAP_ROLE "role" #define AXIOM_SOAP12_SOAP_RELAY "relay" #define AXIOM_SOAP12_SOAP_FAULT_CODE_LOCAL_NAME "Code" #define AXIOM_SOAP12_SOAP_FAULT_SUB_CODE_LOCAL_NAME "Subcode" #define AXIOM_SOAP12_SOAP_FAULT_VALUE_LOCAL_NAME "Value" #define AXIOM_SOAP12_SOAP_FAULT_VALUE_VERSION_MISMATCH "VersionMismatch" #define AXIOM_SOAP12_SOAP_FAULT_VALUE_MUST_UNDERSTAND "MustUnderstand" #define AXIOM_SOAP12_SOAP_FAULT_VALUE_DATA_ENCODING_UKNOWN "DataEncodingUnknown" #define AXIOM_SOAP12_SOAP_FAULT_VALUE_SENDER "Sender" #define AXIOM_SOAP12_SOAP_FAULT_VALUE_RECEIVER "Receiver" /** SOAP Fault */ #define AXIOM_SOAP12_SOAP_FAULT_REASON_LOCAL_NAME "Reason" #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LOCAL_NAME "Text" #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_LOCAL_NAME "lang" #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_URI "http://www.w3.org/XML/1998/namespace" #define AXIOM_SOAP12_SOAP_FAULT_TEXT_LANG_ATTR_NS_PREFIX "xml" #define AXIOM_SOAP12_SOAP_FAULT_NODE_LOCAL_NAME "Node" #define AXIOM_SOAP12_SOAP_FAULT_DETAIL_LOCAL_NAME "Detail" #define AXIOM_SOAP12_SOAP_FAULT_ROLE_LOCAL_NAME "Role" #define AXIOM_SOAP12_CONTENT_TYPE "application/soap+xml" #define AXIOM_SOAP12_FAULT_CODE_SENDER "Sender" #define AXIOM_SOAP12_FAULT_CODE_RECEIVER "Receiver" #define AXIOM_SOAP12_SOAP_ROLE_NEXT "http://www.w3.org/2003/05/soap-envelope/role/next" #define AXIOM_SOAP12_SOAP_ROLE_NONE "http://www.w3.org/2003/05/soap-envelope/role/none" #define SOAP12_SOAP_ROLE_ULTIMATE_RECEIVER "http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver" #define AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX "soapenv" #define AXIOM_SOAP_ENVELOPE_LOCAL_NAME "Envelope" #define AXIOM_SOAP_HEADER_LOCAL_NAME "Header" #define AXIOM_SOAP_BODY_LOCAL_NAME "Body" #define AXIOM_SOAP_BODY_NAMESPACE_PREFIX AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX #define AXIOM_SOAP_BODY_FAULT_LOCAL_NAME "Fault" /** attribute must understand */ #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND "mustUnderstand" #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_TRUE "true" #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_FALSE "false" #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_0 "0" #define AXIOM_SOAP_ATTR_MUST_UNDERSTAND_1 "1" #define AXIOM_SOAP_FAULT_LOCAL_NAME "Fault" #define AXIOM_SOAP_FAULT_DETAIL_LOCAL_NAME "detail" #define AXIOM_SOAP_FAULT_NAMESPACE_PREFIX AXIOM_SOAP_DEFAULT_NAMESPACE_PREFIX #define AXIOM_SOAP_FAULT_DETAIL_EXCEPTION_ENTRY "Exception" #define AXIOM_SOAP_FAULT_CODE_VERSION_MISMATCH "soapenv:VersionMismatch" #define AXIOM_SOAP_FAULT_CODE_MUST_UNDERSTAND "soapenv:MustUnderstand" #define AXIOM_SOAP_FAULT_CODE_DATA_ENCODING_UNKNOWN "soapenv:DataEncodingUnknown" #define AXIOM_SOAP_FAULT_CODE_SENDER "" #define AXIOM_SOAP_FAULT_CODE_RECEIVER "" /* MTOM related */ #define AXIS2_XOP_NAMESPACE_URI "http://www.w3.org/2004/08/xop/include" #define AXIS2_XOP_INCLUDE "Include" /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_CONSTANTS_H */ axis2c-src-1.6.0/axiom/include/axiom_mtom_sending_callback.h0000644000175000017500000000655511166304627025262 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_MTOM_SENDING_CALLBACK_H #define AXIOM_MTOM_SENDING_CALLBACK_H /** * @file axiom_mtom_sending_callback.h * @brief sending callback for attachment sending */ /** * @defgroup mtom_sending_callback * @ingroup axiom * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif /** * Type name for struct axiom_mtom_sending_callback_ops */ typedef struct axiom_mtom_sending_callback_ops axiom_mtom_sending_callback_ops_t; /** * Type name for struct axiom_mtom_sending_callback */ typedef struct axiom_mtom_sending_callback axiom_mtom_sending_callback_t; /** * init_handler will init the attachment storage */ /** * load will read the attachemnt by part from the storage */ /** * close_handler will close the storage */ struct axiom_mtom_sending_callback_ops { void* (AXIS2_CALL* init_handler)(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env, void *user_param); int (AXIS2_CALL* load_data)(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env, void *handler, axis2_char_t **buffer); axis2_status_t (AXIS2_CALL* close_handler)(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env, void *handler); axis2_status_t (AXIS2_CALL* free)(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env); }; struct axiom_mtom_sending_callback { axiom_mtom_sending_callback_ops_t *ops; axutil_param_t *param; }; /*************************** Function macros **********************************/ #define AXIOM_MTOM_SENDING_CALLBACK_INIT_HANDLER(mtom_sending_callback, env, user_param) \ ((mtom_sending_callback)->ops->init_handler(mtom_sending_callback, env, user_param)) #define AXIOM_MTOM_SENDING_CALLBACK_LOAD_DATA(mtom_sending_callback, env, handler, buffer) \ ((mtom_sending_callback)->ops->load_data(mtom_sending_callback, env, handler, buffer)) #define AXIOM_MTOM_SENDING_CALLBACK_CLOSE_HANDLER(mtom_sending_callback, env, handler) \ ((mtom_sending_callback)->ops->close_handler(mtom_sending_callback, env, handler)) #define AXIOM_MTOM_SENDING_CALLBACK_FREE(mtom_sending_callback, env) \ ((mtom_sending_callback)->ops->free(mtom_sending_callback, env)) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_MTOM_SENDING_CALLBACK */ axis2c-src-1.6.0/axiom/include/axiom_document.h0000644000175000017500000001313711166304627022573 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_DOCUMENT_H #define AXIOM_DOCUMENT_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @file axiom_document.h * @brief om_document represents an XML document */ #define CHAR_SET_ENCODING "UTF-8" #define XML_VERSION "1.0" struct axiom_stax_builder; /** * @defgroup axiom_document document * @ingroup axiom_om * @{ */ typedef struct axiom_document axiom_document_t; /** * creates an axiom_document_t struct * @param env Environment. MUST NOT be NULL. * @param root pointer to document's root node. Optional, can be NULL * @param builder pointer to axiom_stax_builder * @return pointer to the newly created document. */ AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_document_create( const axutil_env_t * env, axiom_node_t * root, struct axiom_stax_builder *builder); /** * Free document struct * @param document pointer to axiom_document_t struct to be freed * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN void AXIS2_CALL axiom_document_free( struct axiom_document *document, const axutil_env_t * env); /** * Free document struct only, Does not free the associated axiom struture. * @param document pointer to axiom_document_t struct to be freed * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN void AXIS2_CALL axiom_document_free_self( struct axiom_document *document, const axutil_env_t * env); /** Builds the next node if the builder is not finished with input xml stream * @param document document whose next node is to be built. cannot be NULL * @param env Environment. MUST NOT be NULL. * @return pointer to the next node. NULL on error. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_build_next( struct axiom_document *document, const axutil_env_t * env); /** * Gets the root element of the document. * @param document document to return the root of * @param env Environment. MUST NOT be NULL. * @return returns a pointer to the root node. If no root present, * this method tries to build the root. Returns NULL on error. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_get_root_element( struct axiom_document *document, const axutil_env_t * env); /** * set the root element of the document. IF a root node is already exist,it is freed * before setting to root element * @param document document struct to return the root of * @param env Environment. MUST NOT be NULL. * @return returns status code AXIS2_SUCCESS on success ,AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_document_set_root_element( struct axiom_document *document, const axutil_env_t * env, axiom_node_t * om_node); /** * This method builds the rest of the xml input stream from current position till * the root element is completed . * @param document pointer to axiom_document_t struct to be built. * @param env environment MUST NOT be NULL. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_document_build_all( struct axiom_document *document, const axutil_env_t * env); /** * get builder * @param document pointer to axiom_document_t struct to be built. * @param env environment MUST NOT be NULL. * @return builder, returns NULL if a builder is not associated with * document */ AXIS2_EXTERN struct axiom_stax_builder *AXIS2_CALL axiom_document_get_builder( struct axiom_document *document, const axutil_env_t * env); /** * sets builder for document. * @param document pointer to axiom_document_t struct to be built. * @param env environment MUST NOT be NULL. * @param builder pointer to builder to associate with document */ AXIS2_EXTERN void AXIS2_CALL axiom_document_set_builder( axiom_document_t * document, const axutil_env_t * env, struct axiom_stax_builder * builder); /** * @param om_document * @return status code AXIS2_SUCCESS on success , otherwise AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_document_serialize( struct axiom_document *document, const axutil_env_t * env, axiom_output_t * om_output); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_DOCUMENT_H */ axis2c-src-1.6.0/axiom/include/axiom_stax_builder.h0000644000175000017500000001143211166304627023436 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_STAX_BUILDER_H #define AXIOM_STAX_BUILDER_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_stax_builder stax builder * @ingroup axiom_om * @{ */ typedef struct axiom_stax_builder axiom_stax_builder_t; /** * Creates an stax builder * @param environment Environment. MUST NOT be NULL. * @param parser parser to be used with builder. The builder * will take ownership of the parser. * @return a pointer to the newly created builder struct. */ AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axiom_stax_builder_create( const axutil_env_t * env, axiom_xml_reader_t * parser); /** * Builds the next node from stream. Moves pull parser forward and reacts * to events. * @param builder pointer to stax builder struct to be used * @param environment Environment. MUST NOT be NULL. * @return a pointer to the next node, or NULL if there are no more nodes. * On erros sets the error and returns NULL. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_stax_builder_next( struct axiom_stax_builder *builder, const axutil_env_t * env); /** * Discards the element that is being built currently. * @param environment Environment. MUST NOT be NULL, . * @param builder pointer to stax builder struct to be used * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_stax_builder_discard_current_element( struct axiom_stax_builder *builder, const axutil_env_t * env); /** * Free the build struct instance and its associated document,axiom tree. * @param builder pointer to builder struct * @param env environment, MUST NOT be NULL * @return status of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_stax_builder_free( struct axiom_stax_builder *builder, const axutil_env_t * env); /** * Free the build struct instance and its associated document. does not free the associated axiom tree. * @param builder pointer to builder struct * @param env environment, MUST NOT be NULL * @return status of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_stax_builder_free_self( struct axiom_stax_builder *builder, const axutil_env_t * env); /** Gets the document associated with the builder * @param builder axiom_stax_builder * @param env environment * @return pointer to document struct associated with builder * NULL if there is no document associated with the builder, * NULL if an error occured. */ AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_stax_builder_get_document( struct axiom_stax_builder *builder, const axutil_env_t * env); /** * builder is finished building om structure * @param builder pointer to stax builder struct to be used * @param environment Environment. MUST NOT be NULL. * * @return AXIS2_TRUE if is complete or AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_stax_builder_is_complete( struct axiom_stax_builder *builder, const axutil_env_t * env); /** * moves the reader to next event and returns the token returned * by the xml_reader , returns -1 on error * @param builder pointer to stax builder struct to be used * @param environment Environment. MUST NOT be NULL. */ AXIS2_EXTERN int AXIS2_CALL axiom_stax_builder_next_with_token( struct axiom_stax_builder *builder, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_STAX_BUILDER_H */ axis2c-src-1.6.0/axiom/include/axiom_element.h0000644000175000017500000006750411166304627022415 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_ELEMENT_H #define AXIOM_ELEMENT_H #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_element axiom_element_t; /** * @defgroup axiom_element element * @ingroup axiom_om * @{ */ /** * Creates an AXIOM element with given local name * @param env Environment. MUST NOT be NULL. * @param parent parent of the element node to be created. can be NULL. * @param localname local name of the elment. cannot be NULL. * @param ns namespace of the element. can be NULL. * If the value of the namespace has not already been declared * then the namespace structure ns will be declared and will be * freed when the tree is freed. * If the value of the namespace has already been declared using * another namespace structure then the namespace structure ns * will be freed. * @param node This is an out parameter. cannot be NULL. * Returns the node corresponding to the comment created. * Node type will be set to AXIOM_ELEMENT * @return a pointer to the newly created element struct */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * localname, axiom_namespace_t * ns, axiom_node_t ** node); /** * Creates an AXIOM element with given qname * @param env Environment. MUST NOT be NULL. * @param parent parent of the element node to be created. can be NULL. * @param qname qname of the elment.cannot be NULL. * @param node This is an out parameter. cannot be NULL. * Returns the node corresponding to the comment created. * Node type will be set to AXIOM_ELEMENT * @return a pointer to the newly created element struct */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_create_with_qname( const axutil_env_t * env, axiom_node_t * parent, const axutil_qname_t * qname, axiom_node_t ** node); /* * Find a namespace in the scope of the document. * Start to find from the given node and go up the hierarchy. * @param om_element pointer to om_element_struct contained in * node , * @param env Environment. MUST NOT be NULL. * @param node node containing an instance of an AXIOM element,cannot be NULL. * @param uri namespace uri.. * @param prefix namespace prefix. can be NULL. * @return pointer to the namespace, if found, else NULL. On error, returns * NULL and sets error code in environment,s error */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * node, const axis2_char_t * uri, const axis2_char_t * prefix); /** * Declare a namespace in current element (in the scope of this element ). * It checks to see if it is already declared. * @param om_element contained in the om node struct * @param env Environment. MUST NOT be NULL. * @param node node containing an instance of an AXIOM element. * @param ns pointer to the namespace struct to be declared * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_declare_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * node, axiom_namespace_t * ns); /** * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. * */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_declare_namespace_assume_param_ownership( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * ns); /** * Finds a namespace using qname * Start to find from the given node and go up the hierarchy. * @param om_element om_element contained in node * @param env Environment. MUST NOT be NULL. * @param node node containing an instance of an AXIOM element, cannot be NULL. * @param qname qname of the namespace to be found. cannot be NULL. * @return pointer to the namespace, if found, else NULL. On error, returns * NULL and sets the error code in environment's error struct. */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_namespace_with_qname( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * node, axutil_qname_t * qname); /** * Adds an attribute to current element The current element takes responsibility of the assigned attribute * @param om_element element to which the attribute is to be added.cannot be NULL. * @param env Environment. MUST NOT be NULL. * @param attribute attribute to be added. * @param node axiom_node_t node that om_element is contained in * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_add_attribute( axiom_element_t * om_element, const axutil_env_t * env, axiom_attribute_t * attribute, axiom_node_t * node); /** * Gets (finds) the attribute with the given qname * @param element element whose attribute is to be found. * @param env Environment. MUST NOT be NULL. * @qname qname qname of the attribute to be found. should not be NULL. * @return a pointer to the attribute with given qname if found, else NULL. * On error, returns NULL and sets the error code in environment's error struct. */ AXIS2_EXTERN axiom_attribute_t *AXIS2_CALL axiom_element_get_attribute( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * qname); /** * Gets (finds) the attribute value with the given qname * @param element element whose attribute is to be found. * @param env Environment. MUST NOT be NULL. * @qname qname qname of the attribute to be found. should not be NULL. * @return the attribute value with given qname if found, else NULL. * On error, returns NULL and sets the error code in environment's error struct. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_attribute_value( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * qname); /** * Frees given element * @param element AXIOM element to be freed. * @param env Environment. MUST NOT be NULL. * @return satus of the op. AXIS2_SUCCESS on success ,AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_element_free( axiom_element_t * element, const axutil_env_t * env); /** * Serializes the start part of the given element * @param element element to be serialized. * @param env Environment. MUST NOT be NULL. * @param om_output AXIOM output handler to be used in serializing * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_serialize_start_part( axiom_element_t * om_element, const axutil_env_t * env, axiom_output_t * om_output, axiom_node_t * ele_node); /** * Serializes the end part of the given element. serialize_start_part must * have been called before calling this method. * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @param om_output AXIOM output handler to be used in serializing * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_serialize_end_part( axiom_element_t * om_element, const axutil_env_t * env, axiom_output_t * om_output); /** * finds a namespace in current element's scope, * by uri or prefix or both * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param uri namespace uri, may be null * @param prefix prefix * @return axiom_namespace_t if found, else return NULL */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_declared_namespace( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix); /** * returns the localname of this element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @returns localname of element, returns NULL on error. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_localname( axiom_element_t * om_element, const axutil_env_t * env); /** * set the localname of this element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @localname text value to be set as localname * @returns status code of op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_localname( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * localname); /** * get the namespace of om_element * @param om_element om_element struct * @param env environemt, MUST NOT be NULL. * @returns pointer to axiom_namespace_t struct * NULL if there is no namespace associated with the element, * NULL on error with error code set to environment's error */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_get_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * ele_node); /** * set the namespace of the element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param ns pointer to namespace * If the value of the namespace has not already been declared * then the namespace structure ns will be declared and will be * freed when the tree is freed. * @returns status code of the op, with error code * set to environment's error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * ns, axiom_node_t * node); /** * unconditionally set the namespace of the element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param ns pointer to namespace * The namespace ns is assumed to have been declared already. * @returns status code of the op, with error code * set to environment's error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace_assume_param_ownership( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * ns); /** * get the attribute list of the element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @returns axutil_hash poiner to attributes hash * This hash table is read only */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_element_get_all_attributes( axiom_element_t * om_element, const axutil_env_t * env); /** * get the namespace list of the element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @returns axutil_hash pointer to namespaces hash * this hash table is read only */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_element_get_namespaces( axiom_element_t * om_element, const axutil_env_t * env); /** *@return qname of this element * the returned qname should not be externaly freed * when om_element struct is freed qname is also * freed * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param ele_node pointer to this element node * * @returns axutil_qname_t struct , NULL on failure */ AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axiom_element_get_qname( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * ele_node); /** * returns a list of children iterator * returned iterator is freed when om_element struct * is freed * iterators reset function must be called by user * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param element_node pointer to this element node * */ AXIS2_EXTERN axiom_children_iterator_t *AXIS2_CALL axiom_element_get_children( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node); /** * returns a list of children iterator with qname * returned iterator is freed when om element struct * is freed * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param element_node pointer to this element node * @returns children qname iterator struct */ AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL axiom_element_get_children_with_qname( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * element_qname, axiom_node_t * element_node); /** * Returns the om_element corresponding to element_qname * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param element_qname qname of the element * @param om_node pointer to this element node * @param element_node * @param child_node * @returns children qname iterator struct */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_get_first_child_with_qname( axiom_element_t * om_element, const axutil_env_t * env, axutil_qname_t * element_qname, axiom_node_t * element_node, axiom_node_t ** child_node); /** * removes an attribute from the element attribute list * user must free this attribute, element free function does not free * attributes that are not is it's attribute list * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_attribute attribute to be removed * @return AXIS2_SUCCESS if attribute was found and removed, else * AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_remove_attribute( axiom_element_t * om_element, const axutil_env_t * env, axiom_attribute_t * om_attribute); /** * Sets the text of the given element. * caution - This method will wipe out all the text elements (and hence any * mixed content) before setting the text * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param text text to set. * @param element_node node of element. * @return AXIS2_SUCCESS if attribute was found and removed, else * AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_text( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * text, axiom_node_t * element_node); /** * Select all the text children and concat them to a single string. The string * returned by this method call will be free by axiom when this method is called again. * So it is recomended to have a copy of the return value if this method is going to * be called more that once and the return values of the earlier calls are important. * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param element node , the container node of this om element * @return the contanated text of all text childrens text values * return null if no text children is avilable or on error */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_text( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node); /** * returns the first child om element of this om element node * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @return om_element if one is availble otherwise return NULL */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_get_first_element( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node, axiom_node_t ** first_element_node); /** * returns the serilized text of this element and its children * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param element_node the container node this on element is contained * @return a char array of xml , returns NULL on error */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_to_string( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node); /** * returns an iterator with child elements of type AXIOM_ELEMENT * iterator is freed when om_element node is freed * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param element_node * @returns axiom_child_element_iterator_t , NULL on error */ AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL axiom_element_get_child_elements( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node); /** * builds this om_element_node completely, This is only possible * if the om_stax_builder is associated with the om_element_node, * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @param element_node corresponding om element node of this om element * struct * @returns AXIS2_SUCCESS if this element node was successfully completed, * otherwise returns AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_build( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node); /** * retrieves the default namespace of this element , if available, * @param om_element pointer to om element * @param env axutil_environment MUST Not be NULL * @param element_node corresponding om element node of this om element * @returns pointer to default namespace if availale , NULL otherwise */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_get_default_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * element_node); /** * declared a default namespace explicitly * @param om_element pointer to om element * @param env environment MUST not be NULL * @param uri namespace uri of the default namespace * @returns the declared namespace */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_declare_default_namespace( axiom_element_t * om_element, const axutil_env_t * env, axis2_char_t * uri); /** * checks for the namespace in the context of this element * with the given prefix * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_element_node pointer to this element node * @returns pointer to relevent namespace */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_element_find_namespace_uri( axiom_element_t * om_element, const axutil_env_t * env, const axis2_char_t * prefix, axiom_node_t * element_node); /** *This will not search the namespace in the scope nor will * declare in the current element, as in set_namespace. This will * just assign the given namespace to the element. * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @param om_ns pointer to namespace to be set * @returns */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_namespace_with_no_find_in_current_scope( axiom_element_t * om_element, const axutil_env_t * env, axiom_namespace_t * om_ns); /** * Extract attributes , returns a clones hash table of attributes, * if attributes are associated with a namespace it is also cloned * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_element_extract_attributes( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * ele_node); /** * Returns the attribute value as a string for the given element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param attr_name the attribute name * * @return the attribute value as a string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_element_get_attribute_value_by_name( axiom_element_t * om_ele, const axutil_env_t * env, axis2_char_t * attr_name); /** * Create an OM Element and an OM node from given string params * @param env environment MUST not be NULL * @param parent pointer to this parent element node * @param localname the locanmae of the element * @param ns the namespace of the element * @param node the reference ot the created node * @return */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_element_create_str( const axutil_env_t * env, axiom_node_t * parent, axutil_string_t * localname, axiom_namespace_t * ns, axiom_node_t ** node); /** * Returns the Local name of the element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * * @return the Local name of the element */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_element_get_localname_str( axiom_element_t * om_element, const axutil_env_t * env); /** * Set the Local name of the element * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param localname the Local name of the element * * @return */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_element_set_localname_str( axiom_element_t * om_element, const axutil_env_t * env, axutil_string_t * localname); /** * Return whether the element is empty or not * @param om_element pointer to om_element * @param env environment MUST not be NULL * * @return AXIS2_TRUE if empty AXIS2_FALSE if not empty */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_element_get_is_empty( axiom_element_t * om_element, const axutil_env_t * env); /** * Set whether the element is empty or not * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param is_empty AXIS2_TRUE if empty AXIS2_FALSE if not empty * * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_element_set_is_empty( axiom_element_t * om_element, const axutil_env_t * env, axis2_bool_t is_empty); /** * Collect all the namespaces with distinct prefixes in * the parents of the given element. Effectively this * is the set of namespaces declared above this element * that are inscope at this element and might be used * by it or its children. * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @returns pointer to hash of relevent namespaces */ AXIS2_EXTERN axutil_hash_t * AXIS2_CALL axiom_element_gather_parent_namespaces( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_node); /** * If the provided namespace used by the provided element * is one of the namespaces from the parent of the root * root element, redeclares that namespace at the root element * and removes it from the hash of parent namespaces * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * @param ns pointer to namespace to redeclare * @param root_element pointer to the subtree root element node * @param inscope_namespaces pointer to hash of parent namespaces */ AXIS2_EXTERN void AXIS2_CALL axiom_element_use_parent_namespace( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_node, axiom_namespace_t *ns, axiom_element_t * root_element, axutil_hash_t *inscope_namespaces); /** * Examines the subtree beginning at the provided element * For each element or attribute, if it refers to a namespace * declared in a parent of the subtree root element, redeclares * that namespace at the level of the subtree root and removes * it from the set of parent namespaces in scope and not yet * declared * @param om_element pointer to om_element * @param env environment MUST not be NULL * @param om_node pointer to this element node * * @param root_element pointer to the subtree root element node * @param inscope_namespaces pointer to hash of parent namespaces */ AXIS2_EXTERN void AXIS2_CALL axiom_element_redeclare_parent_namespaces( axiom_element_t * om_element, const axutil_env_t * env, axiom_node_t * om_node, axiom_element_t * root_element, axutil_hash_t *inscope_namespaces); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_ELEMENT_H */ axis2c-src-1.6.0/axiom/include/axiom_processing_instruction.h0000644000175000017500000001105111166304627025563 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_PI_H #define AXIOM_PI_H #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_processing_instruction pocessing instruction * @ingroup axiom_om * @{ */ typedef struct axiom_processing_instruction axiom_processing_instruction_t; /** * Creates a processing instruction * @param environment Environment. MUST NOT be NULL. * @param parent parent of the element node to be created. Optional, can be NULL. * @param target target of the processing instruction.cannot be NULL. * @param value value of the processing instruction.cannot be NULL. * @param node This is an out parameter. cannot be NULL. * Returns the node corresponding to the comment created. * Node type will be set to AXIOM_PROCESSING_INSTRUCTION * @return a pointer tonewly created processing instruction struct */ AXIS2_EXTERN axiom_processing_instruction_t *AXIS2_CALL axiom_processing_instruction_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * target, const axis2_char_t * value, axiom_node_t ** node); /** * Frees an instance of axiom_processing_instruction * @param om_pi processing instruction to be freed. * @param env Environment. MUST NOT be NULL, . * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_processing_instruction_free( struct axiom_processing_instruction *om_pi, const axutil_env_t * env); /** * Set processing instruction data * @param om_pi * @param env Environment. MUST NOT be NULL, . * @param value */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_processing_instruction_set_value( struct axiom_processing_instruction *om_pi, const axutil_env_t * env, const axis2_char_t * value); /** * Set processing instruction target * @param om_pi processing_instruction struct * @param env environment, MUST NOT be NULL. * @param target * @return status of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_processing_instruction_set_target( struct axiom_processing_instruction *om_pi, const axutil_env_t * env, const axis2_char_t * target); /** * Get PI target * @param om_pi processing_instruction struct * @param env Environment. MUST NOT be NULL, . * @return target text , NULL on error or if target is null */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_processing_instruction_get_target( struct axiom_processing_instruction *om_pi, const axutil_env_t * env); /** * Get data part of processing_instruction * @param om_pi processing instruction * @param env environment , MUST NOT be NULL. * @return data text , NULL if there is no data, */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_processing_instruction_get_value( struct axiom_processing_instruction *om_pi, const axutil_env_t * env); /** * Serialize function * @param om_pi processing_instruction struct * @param env environment, MUST NOT be NULL. * @param om_output om_output handler struct * @return status of the op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_processing_instruction_serialize( struct axiom_processing_instruction *om_pi, const axutil_env_t * env, axiom_output_t * om_output); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_PI_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_body.h0000644000175000017500000001304111166304627022726 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_BODY_H #define AXIOM_SOAP_BODY_H /** * @file axiom_soap_body.h * @brief axiom_soap_body struct */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_body axiom_soap_body_t; struct axiom_soap_builder; /** * @defgroup axiom_soap_body soap body * @ingroup axiom_soap * @{ */ /** * a struct that represents the contents of the SOAP body * element in a SOAP message. SOAP body element consists of XML data * that affects the way the application-specific content is processed. * soap_body_struct contains soap_header and * which have the content for the SOAP body. * this also contains axiom_soap_fault_t struct , which carries status and/or * error information. */ /** * creates a soap body struct * @param env Environment. MUST NOT be NULL * @param envelope the SOAP envelope to set the SOAP Body * @return created SOAP Body */ AXIS2_EXTERN axiom_soap_body_t *AXIS2_CALL axiom_soap_body_create_with_parent( const axutil_env_t * env, struct axiom_soap_envelope *envelope); /** * Deallocate all the resources associated to soap_body * But it does not deallocate the underlying om structure * @param body soap_body struct * @param env must not be null * @return status code AXIS2_SUCCESS */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_body_free( axiom_soap_body_t * body, const axutil_env_t * env); /** * Indicates whether a soap fault is available with this * soap body * @param body soap_body struct * @param env environment must not be null * @return AXIS2_TRUE if fault is available, AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_body_has_fault( axiom_soap_body_t * body, const axutil_env_t * env); /** * returns the soap fault in this soap_body * IF a soap_builder is associated with the soap_body * Pulling will take place * @param body soap_body * @param env environment must not be null * @return axiom_soap_fault_t if available, NULL otherwise */ AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_body_get_fault( axiom_soap_body_t * body, const axutil_env_t * env); /** * get the underlying om_node * @param body soap_body * @param env environment must not be null * @returns axiom_node_t */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_body_get_base_node( axiom_soap_body_t * body, const axutil_env_t * env); /** * return the soap version * @param body soap_body * @param env environment must not be null * @return one of AXIOM_SOAP11 or AXIOM_SOAP12 */ AXIS2_EXTERN int AXIS2_CALL axiom_soap_body_get_soap_version( axiom_soap_body_t * body, const axutil_env_t * env); /** * build the soap body completely . return the status code, * @param body pointer to soap_body struct * @param env axutil_environment struct MUST not be NULL * @returns status code , AXIS2_SUCCESS on success , AXIS2_ERROR */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_build( axiom_soap_body_t * body, const axutil_env_t * env); /** add an om node as the child to this soap_body * the child is added to as the first child * @param body pointer to soap_body struct * @param env axutil_environment struct MUST not be NULL * @returns status code , AXIS2_SUCCESS on success , AXIS2_ERROR * otherwise */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_add_child( axiom_soap_body_t * body, const axutil_env_t * env, axiom_node_t * child); /** * SOAP builder construct a SOAP 1.2 fault all the time. * So when SOAP 1.1 is in use, we should convert SOAP fault to * SOAP 1.1 fault format before use. * @param body pointer to soap_body struct * @param env axutil_environment struct MUST not be NULL * @returns status code , AXIS2_SUCCESS on success , AXIS2_ERROR */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_convert_fault_to_soap11( axiom_soap_body_t * soap_body, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_body_process_attachments( axiom_soap_body_t * soap_body, const axutil_env_t * env, void *user_param, axis2_char_t *callback_name); #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_BODY_H */ axis2c-src-1.6.0/axiom/include/axiom_mtom_caching_callback.h0000644000175000017500000000657611166304627025232 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_MTOM_CACHING_CALLBACK_H #define AXIOM_MTOM_CACHING_CALLBACK_H /** * @file axiom_mtom_caching_callback.h * @brief Caching callback for mime parser */ /** * @defgroup caching_callback * @ingroup axiom * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif /** * Type name for struct axiom_mtom_caching_callback_ops */ typedef struct axiom_mtom_caching_callback_ops axiom_mtom_caching_callback_ops_t; /** * Type name for struct axiom_mtom_caching_callback */ typedef struct axiom_mtom_caching_callback axiom_mtom_caching_callback_t; /** * init_handler will init the caching storage */ /** * cache will write the data to the storage */ /** * close_handler will close the storage */ struct axiom_mtom_caching_callback_ops { void* (AXIS2_CALL* init_handler)(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t* env, axis2_char_t *key); axis2_status_t (AXIS2_CALL* cache)(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t* env, axis2_char_t *data, int length, void *handler); axis2_status_t (AXIS2_CALL* close_handler)(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t* env, void *handler); axis2_status_t (AXIS2_CALL* free)(axiom_mtom_caching_callback_t *mtom_caching_callback, const axutil_env_t* env); }; struct axiom_mtom_caching_callback { axiom_mtom_caching_callback_ops_t *ops; axutil_param_t *param; void *user_param; }; /*************************** Function macros **********************************/ #define AXIOM_MTOM_CACHING_CALLBACK_INIT_HANDLER(mtom_caching_callback, env, key) \ ((mtom_caching_callback)->ops->init_handler(mtom_caching_callback, env, key)) #define AXIOM_MTOM_CACHING_CALLBACK_CACHE(mtom_caching_callback, env, data, length, handler) \ ((mtom_caching_callback)->ops->cache(mtom_caching_callback, env, data, length, handler)) #define AXIOM_MTOM_CACHING_CALLBACK_CLOSE_HANDLER(mtom_caching_callback, env, handler) \ ((mtom_caching_callback)->ops->close_handler(mtom_caching_callback, env, handler)) #define AXIOM_MTOM_CACHING_CALLBACK_FREE(mtom_caching_callback, env) \ ((mtom_caching_callback)->ops->free(mtom_caching_callback, env)) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_MTOM_CACHING_CALLBACK */ axis2c-src-1.6.0/axiom/include/axiom_mime_const.h0000644000175000017500000000342611166304627023112 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_MIME_CONST_H #define AXIOM_MIME_CONST_H /** * @file axiom.h * @brief includes all headers in MIME_CONST */ #ifdef __cplusplus extern "C" { #endif #define AXIOM_MIME_BOUNDARY_BYTE 45 #define AXIOM_MIME_CRLF_BYTE 13 #define AXIOM_MIME_TYPE_XOP_XML "application/xop+xml" #define AXIOM_MIME_TYPE_MULTIPART_RELATED "multipart/related" #define AXIOM_MIME_TYPE_OCTET_STREAM "application/octet-stream" #define AXIOM_MIME_HEADER_FIELD_CHARSET "charset" #define AXIOM_MIME_HEADER_FIELD_TYPE "type" #define AXIOM_MIME_HEADER_FIELD_BOUNDARY "boundary" #define AXIOM_MIME_HEADER_FIELD_START_INFO "start-info" #define AXIOM_MIME_HEADER_FIELD_START "start" #define AXIOM_MIME_HEADER_CONTENT_TYPE "content-type" #define AXIOM_MIME_HEADER_CONTENT_TRANSFER_ENCODING "content-transfer-encoding" #define AXIOM_MIME_HEADER_CONTENT_ID "content-id" #define AXIOM_MIME_CONTENT_TRANSFER_ENCODING_BINARY "binary" /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_MIME_CONST_H */ axis2c-src-1.6.0/axiom/include/axiom_doctype.h0000644000175000017500000000711611166304627022424 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_DOCTYPE_H #define AXIOM_DOCTYPE_H /** *@file axiom_doctype.h *@brief defines struct representing xml DTD and its manipulation functions */ #include #include #ifdef __cplusplus extern "C" { #endif struct axiom_doctype; struct axiom_doctype_ops; /** * @defgroup axiom_doctype doctype * @ingroup axiom_om * @{ */ typedef struct axiom_doctype axiom_doctype_t; /** * Creates a axiom_doctype_t struct * @param env Environment. MUST NOT be NULL, * @param parent parent of the new node. Optinal, can be NULL. * @param value doctype text * @param node This is an out parameter.cannot be NULL. * Returns the node corresponding to the doctype created. * Node type will be set to AXIOM_DOCTYPE * @return pointer to newly created doctype struct */ AXIS2_EXTERN axiom_doctype_t *AXIS2_CALL axiom_doctype_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * value, axiom_node_t ** node); /** * free doctype struct * @param om_doctype pointer to axiom_doctype_t struct to be freed * @param env Environment. MUST NOT be NULL, * @return satus of the op. AXIS2_SUCCESS on success * AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_doctype_free( struct axiom_doctype *om_doctype, const axutil_env_t * env); /** * @param om_doctype pointer to a axiom_doctype_t struct * @param env environment must not be null * @return DTD text */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_doctype_get_value( struct axiom_doctype *om_doctype, const axutil_env_t * env); /** * @param om_doctype pointer to axiom doctype_t struct * @param env environment , MUST NOT be NULL. * @param value doctype text value * @return status of the op, * AXIS2_SUCCESS on success, AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_doctype_set_value( struct axiom_doctype *om_doctype, const axutil_env_t * env, const axis2_char_t * value); /** * serialize op * @param om_doctype pointer to axiom_doctype_t struct * @param env environment , MUST NOT be NULL * @param om_output pointer to axiom_output_t struct * @returns status of the op, * AXIS2_SUCCESS on success, AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_doctype_serialize( struct axiom_doctype *om_doctype, const axutil_env_t * env, axiom_output_t * om_output); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_DOCTYPE_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_header_block.h0000644000175000017500000001736611166304627024411 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_HEADER_BLOCK_H #define AXIOM_SOAP_HEADER_BLOCK_H /** * @file axiom_soap_header_block.h * @brief axiom_soap_header_block struct */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_header_block axiom_soap_header_block_t; /** * @defgroup axiom_soap_header_block soap header block * @ingroup axiom_soap * @{ */ /** * creates a soap struct * @param env Environment. MUST NOT be NULL * this is an internal function. * * @return the created SOAP header block */ AXIS2_EXTERN axiom_soap_header_block_t *AXIS2_CALL axiom_soap_header_block_create_with_parent( const axutil_env_t * env, const axis2_char_t * localname, axiom_namespace_t * ns, struct axiom_soap_header *parent); /** * Free an axiom_soap_header_block * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_header_block_free( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** * Set the SOAP role * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * @param uri the role URI * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_role( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axis2_char_t * uri); /** * Set the mustunderstand attribute of the SOAP header * If must_understand=TRUE its set to 1, otherwise set to 0 * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * @param must_understand SOAP mustunderstand attribute value * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_must_understand_with_bool( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axis2_bool_t must_understand); /** * Set the SOAP mustunderstand attribute * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * @param must_understand SOAP mustunderstand attribute * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_must_understand_with_string( axiom_soap_header_block_t * header_block, const axutil_env_t * env, axis2_char_t * must_understand); /** * To check the SOAP mustunderstand attribute * If must_understand=TRUE its set to 1, otherwise set to 0 * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_TRUE if mustunderstand is set true. AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_header_block_get_must_understand( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** * To chk if the SOAP header is processed or not * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_TRUE if checked AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_soap_header_block_is_processed( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** * Set the SOAP header as processed * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_processed( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** * Get the SOAP role of the header block * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * * @return the SOAP role of the header block */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_header_block_get_role( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** * Set the attribute of the header block * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * @param attr_name the attribute name * @param attr_value the attribute value * @param soap_envelope_namespace_uri the namsepace URI value * * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_block_set_attribute( axiom_soap_header_block_t * header_block, const axutil_env_t * env, const axis2_char_t * attr_name, const axis2_char_t * attr_value, const axis2_char_t * soap_envelope_namespace_uri); /** * Get the attribute of the header block * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * @param attr_name the attribute name * @param the namespace URI of the SOAP envelope * * @return the attribute of the header block */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_header_block_get_attribute( axiom_soap_header_block_t * header_block, const axutil_env_t * env, const axis2_char_t * attr_name, const axis2_char_t * soap_envelope_namespace_uri); /** * Get the base node of the header block * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * * @return the base node of the of the header block */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_header_block_get_base_node( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** * Get the SOAP version of the header block * @param header_block pointer to soap_header_block struct * @param env Environment. MUST NOT be NULL * * @return the SOAP version of the header block */ AXIS2_EXTERN int AXIS2_CALL axiom_soap_header_block_get_soap_version( axiom_soap_header_block_t * header_block, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_HEADER_BLOCK_H */ axis2c-src-1.6.0/axiom/include/Makefile.am0000644000175000017500000000001011166304627021425 0ustar00manjulamanjula00000000000000TESTS = axis2c-src-1.6.0/axiom/include/Makefile.in0000644000175000017500000002557411172017172021455 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = include DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ XPATH_DIR = @XPATH_DIR@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/axiom/include/axiom_children_qname_iterator.h0000644000175000017500000000674311166304627025644 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_CHILDREN_QNAME_ITERATOR_H #define AXIOM_CHILDREN_QNAME_ITERATOR_H /** *@file axiom_children_qname_iterator.h *@brief this is the iterator for om nodes using qname */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_children_qname_iterator axiom_children_qname_iterator_t; /** * @defgroup axiom_children_qname_iterator children qname iterator * @ingroup axiom_om * @{ */ AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL axiom_children_qname_iterator_create( const axutil_env_t * env, axiom_node_t * current_child, axutil_qname_t * given_qname); /** * free om_children_qname_iterator struct * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN void AXIS2_CALL axiom_children_qname_iterator_free( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env); /** * Removes from the underlying collection the last element returned by the * iterator (optional operation). This method can be called only once per * call to next. The behavior of an iterator is unspecified if * the underlying collection is modified while the iteration is in * progress in any way other than by calling this method. * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_qname_iterator_remove( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env); /** * Returns true if the iteration has more elements. (In other * words, returns true if next would return an * axiom_node_t struct rather than null with error code set in environment * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_children_qname_iterator_has_next( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env); /** * Returns the next element in the iteration. * @param iterator a pointer to axiom children iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_children_qname_iterator_next( axiom_children_qname_iterator_t * iterator, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_CHILDREN_QNAME_ITERATOR_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault.h0000644000175000017500000001606511166304627023115 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_H #define AXIOM_SOAP_FAULT_H /** * @file axiom_soap_fault.h * @brief axiom_soap_fault struct */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault axiom_soap_fault_t; struct axiom_soap_fault_reason; struct axiom_soap_fault_detail; struct axiom_soap_fault_sub_code; struct axiom_soap_fault_code; struct axiom_soap_fault_node; struct axiom_soap_fault_role; struct axiom_soap_fault_text; struct axiom_soap_fault_value; struct axiom_soap_body; struct axiom_soap_builder; /** * @defgroup axiom_soap_fault soap fault * @ingroup axiom_soap * @{ */ /** * creates a soap fault struct * @param env environment must not be NULL * @param parent soap body struct to which this soap * fault is the child * @param env Environment. MUST NOT be NULL * @returns pointer to axiom_soap_fault_t struct on success * otherwise return NULL with error code set in environments error */ AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create_with_parent( const axutil_env_t * env, struct axiom_soap_body *parent); /** create an returns a axiom_soap_fault_t struct with a soap fault detail * element and have this exceptio string as a text of a child of soap fault * detail * @param env environment must not be NULL * @param parent soap body struct must not be NULL * @param exceptio an error string must not be NULL * @returns pointer to axiom_soap_fault_t on success , * otherwise return NULL */ AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create_with_exception( const axutil_env_t * env, struct axiom_soap_body *parent, axis2_char_t * exception); /** * * @param env environment must not be NULL * @param parent soap body struct must not be NULL * @param code_value * @param reason_text * @param soap_version * * @return the created default OM SOAP fault */ AXIS2_EXTERN axiom_soap_fault_t *AXIS2_CALL axiom_soap_fault_create_default_fault( const axutil_env_t * env, struct axiom_soap_body *parent, const axis2_char_t * code_value, const axis2_char_t * reason_text, const int soap_version); /** * Free an axiom_soap_fault * @param fault pointer to soap_fault struct * @param env Environment. MUST NOT be NULL * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_free( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * this function returns a axiom_soap_fault_code struct * if a fault code is associated with this soap fault * only valid when called after building the soap fault * @param fault soap fault struct * @param env environment must not be NULL * @returns pointer to soap_fault_code struct if one is associated * with this soap_fault struct , NULL is returned otherwise */ AXIS2_EXTERN struct axiom_soap_fault_code *AXIS2_CALL axiom_soap_fault_get_code( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * @param fault soap fault struct * @param env environment must not be NULL * @returns pointer to soap_fault_reason struct if one is associated * with this soap_fault struct , NULL is returned otherwise */ AXIS2_EXTERN struct axiom_soap_fault_reason *AXIS2_CALL axiom_soap_fault_get_reason( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * @param fault soap fault struct * @param env environment must not be NULL * @returns pointer to soap_fault_node struct if one is associated * with this soap_fault struct , NULL is returned otherwise */ AXIS2_EXTERN struct axiom_soap_fault_node *AXIS2_CALL axiom_soap_fault_get_node( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * @param fault soap fault struct * @param env environment must not be NULL * @returns pointer to soap_fault_code struct if one is associated * with this soap_fault struct , NULL is returned otherwise */ AXIS2_EXTERN struct axiom_soap_fault_role *AXIS2_CALL axiom_soap_fault_get_role( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * @param fault soap fault struct * @param env environment must not be NULL * @returns a pointer to soap_fault_code struct if one is * associated with this soap_fault struct , NULL is returned otherwise */ AXIS2_EXTERN struct axiom_soap_fault_detail *AXIS2_CALL axiom_soap_fault_get_detail( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * @param fault soap fault struct * @param env enviroment must not be NULL * @returns a pointer to soap_fault_code struct if one is * associated with this soap_fault struct , NULL is returned otherwise */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_soap_fault_get_exception( axiom_soap_fault_t * fault, const axutil_env_t * env); /** * set an error string * @param fualt soap fault struct * @param env enviroment must not be NULL * @param exception error message to be stored on soap fault */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_fault_set_exception( axiom_soap_fault_t * fault, const axutil_env_t * env, axis2_char_t * exception); /** * returns the axiom_node_t struct which is wrapped by * this soap fault struct * @param fault soap fault struct * @param env environment must not be NULL * @returns a pointer to axiom_node_t struct if an om node is associated * with this soap fault struct, otherwise return NULL */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_get_base_node( axiom_soap_fault_t * fault, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_H */ axis2c-src-1.6.0/axiom/include/axiom_data_handler.h0000644000175000017500000002045611166304627023365 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_DATA_HANDLER_H #define AXIOM_DATA_HANDLER_H /** * @file axiom_data_handler.h * @brief axis2 data_handler interface */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef enum axiom_data_handler_type { AXIOM_DATA_HANDLER_TYPE_FILE, AXIOM_DATA_HANDLER_TYPE_BUFFER, AXIOM_DATA_HANDLER_TYPE_CALLBACK } axiom_data_handler_type_t; typedef struct axiom_data_handler axiom_data_handler_t; /** @defgroup axiom_data_handler Flow * @ingroup axiom_data_handler * @{ */ /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_data_handler_get_content_type( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @param mime type, * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_content_type( axiom_data_handler_t * data_handler, const axutil_env_t * env, const axis2_char_t *mime_type); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return bool whether attachment is cached or not */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_data_handler_get_cached( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @param cached, * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_set_cached( axiom_data_handler_t * data_handler, const axutil_env_t * env, axis2_bool_t cached); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_byte_t *AXIS2_CALL axiom_data_handler_get_input_stream( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN int AXIS2_CALL axiom_data_handler_get_input_stream_len( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * The data_handler is responsible for memory occupied by the stream * returned * @param output_stream parameter to store reference to output byte stream. * @param output_stream_size parameter to store reference to output byte * stream length */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_read_from( axiom_data_handler_t * data_handler, const axutil_env_t * env, axis2_byte_t ** output_stream, int *output_stream_size); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_binary_data( axiom_data_handler_t * data_handler, const axutil_env_t * env, axis2_byte_t * input_stream, int input_stream_len); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_write_to( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_file_name( axiom_data_handler_t * data_handler, const axutil_env_t * env, axis2_char_t * file_name); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return file name, in the case of file type data handler. */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_data_handler_get_file_name( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_free( axiom_data_handler_t * data_handler, const axutil_env_t * env); /** * Creates data_handler struct * @return pointer to newly created data_handler */ AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL axiom_data_handler_create( const axutil_env_t * env, const axis2_char_t * file_name, const axis2_char_t * mime_type); /* Add the binary to the array_list * @param data_handler, a pointer to data handler struct * data_handler, a pointer to data handler struct * list, a pointer to an array_list which containing some message parts need * to be written to the wire * data_handler, a pointer to data handler struct */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_add_binary_data( axiom_data_handler_t *data_handler, const axutil_env_t *env, axutil_array_list_t *list); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_data_handler_get_mime_id( axiom_data_handler_t *data_handler, const axutil_env_t *env); /** * @param data_handler, a pointer to data handler struct * @param env environment, MUST NOT be NULL. * @param mime id, * @return status code, AXIS2_SUCCESS on success and AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_handler_set_mime_id( axiom_data_handler_t *data_handler, const axutil_env_t *env, const axis2_char_t *mime_id); AXIS2_EXTERN axiom_data_handler_type_t AXIS2_CALL axiom_data_handler_get_data_handler_type( axiom_data_handler_t *data_handler, const axutil_env_t *env); AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_set_data_handler_type( axiom_data_handler_t *data_handler, const axutil_env_t *env, axiom_data_handler_type_t data_handler_type); AXIS2_EXTERN void *AXIS2_CALL axiom_data_handler_get_user_param( axiom_data_handler_t *data_handler, const axutil_env_t *env); AXIS2_EXTERN void AXIS2_CALL axiom_data_handler_set_user_param( axiom_data_handler_t *data_handler, const axutil_env_t *env, void *user_param); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_DATA_HANDLER_H */ axis2c-src-1.6.0/axiom/include/axiom_node.h0000644000175000017500000002650711166304627021707 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_NODE_H #define AXIOM_NODE_H /** * @defgroup axiom AXIOM project * @{ * @} */ /** * @defgroup axiom_om AXIOM * @ingroup axiom * @{ * @} */ /** * @file axiom_node.h * @brief defines axiom_node struct */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_node axiom_node_t; struct axiom_output; struct axiom_document; struct axiom_stax_builder; /** * @defgroup axiom_node node * @ingroup axiom_om * @{ */ /** * @brief AXIOM types */ typedef enum axiom_types_t { /** Invalid node type */ AXIOM_INVALID = 0, /** AXIOM document type */ AXIOM_DOCUMENT, /** AXIOM element type */ AXIOM_ELEMENT, /** AXIOM doctype type */ AXIOM_DOCTYPE, /** AXIOM comment type */ AXIOM_COMMENT, /** AXIOM attribute type */ AXIOM_ATTRIBUTE, /** AXIOM namespace type */ AXIOM_NAMESPACE, /** AXIOM processing instruction type */ AXIOM_PROCESSING_INSTRUCTION, /** AXIOM text type */ AXIOM_TEXT, /** AXIOM data source, represent a serialized XML fragment with a stream */ AXIOM_DATA_SOURCE } axiom_types_t; /** * Creates a node struct. * @param env Environment. MUST NOT be NULL, . * @return a pointer to newly created node struct. NULL on error. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_create( const axutil_env_t * env); /** * Creates a node struct from a character buffer. * @param env Environment. MUST NOT be NULL, . * @param buffer string. buffer to make the node * @return a pointer to newly created node struct. NULL on error. */ AXIS2_EXTERN axiom_node_t* AXIS2_CALL axiom_node_create_from_buffer( const axutil_env_t * env, axis2_char_t *buffer); /** * Frees an om node and all of its children. Please note that the attached * data_element will also be freed along with the node. If the node is * still attached to a parent, it will be detached first, then freed. * @param om_node node to be freed. * @param env Environment. MUST NOT be NULL, . * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_node_free_tree( axiom_node_t * om_node, const axutil_env_t * env); /** * Adds given node as child to parent. child should not have a parent * if child has a parent it will be detached from existing parent * @param om_node parent node. cannot be NULL. * @param env Environment. MUST NOT be NULL, . * @param child child node. * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_add_child( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * child); /** * Detaches given node from the parent and reset the links * @param om_node node to be detached, cannot be NULL. * @param env Environment. MUST NOT be NULL, . * @return a pointer to detached node,returns NULL on error with error * code set to environment's error struct */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_detach( axiom_node_t * om_node, const axutil_env_t * env); /** * Inserts a sibling node after the given node * @param om_node node to whom the sibling to be inserted. , cannot be NULL. * @param env Environment. MUST NOT be NULL, . * @param node_to_insert the node to be inserted. , cannot be NULL. * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_insert_sibling_after( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * node_to_insert); /** * Inserts a sibling node before the given current node * @param om_node node to whom the sibling to be inserted. , cannot be NULL. * @param env Environment. MUST NOT be NULL, . * @param node_to_insert the node to be inserted. , cannot be NULL. * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_insert_sibling_before( axiom_node_t * om_node, const axutil_env_t * env, axiom_node_t * node_to_insert); /** * Serializes the given node. This op makes the node go * through its children and serialize them in order. * @param om_node node to be serialized. cannot be NULL. * @param env Environment .MUST NOT be NULL. * @param om_output AXIOM output handler to be used in serializing * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_serialize( axiom_node_t * om_node, const axutil_env_t * env, struct axiom_output *om_output); /** get parent of om_node *@om_node node *@param env environment *@return pointer to parent node of om_node, return NULL if no parent exists or * when an error occured. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_parent( axiom_node_t * om_node, const axutil_env_t * env); /** * get the first child of om_node * @param om_node node * @param env environment must not be null. * @returns pointer to first child node , NULL is returned on error with * error code set in environments error */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_first_child( axiom_node_t * om_node, const axutil_env_t * env); /**get the first AXIOM_ELEMENT in om_node * @param om_node node * @param env environment must not be null * @returns pointer to first child om element, NULL is returned on error * with error code set in environments error. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_first_element( axiom_node_t * om_node, const axutil_env_t * env); /** * get the last child * @param om_node node * @param env environment, MUST NOT be NULL * @return pointer to last child of this node , return NULL on error. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_last_child( axiom_node_t * om_node, const axutil_env_t * env); /** * get the previous sibling * @param om_node om_node struct * @param env environment , must node be null * @returns a pointer to previous sibling , NULL if a previous sibling does not exits * (happens when this node is the first child of a node ) */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_previous_sibling( axiom_node_t * om_node, const axutil_env_t * env); /** * get next sibling * @param om_node om_node struct * @param env environment, MUST NOT be NULL. * @return next sibling of this node. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_node_get_next_sibling( axiom_node_t * om_node, const axutil_env_t * env); /** * get the node type of this element * Node type can be one of AXIOM_ELEMENT, AXIOM_COMMENT, AXIOM_TEXT * AXIOM_DOCTYPE, AXIOM_PROCESSING_INSTRUCTION * @param om_node node of which node type is required * @param env environment * @return node type */ AXIS2_EXTERN axiom_types_t AXIS2_CALL axiom_node_get_node_type( axiom_node_t * om_node, const axutil_env_t * env); /** * get the struct contained in the node * IF the node is on type AXIOM_ELEMENT , this method returns * a pointer to axiom_element_t struct contained * @param om_node node * @param env environment, MUST NOT be NULL. * @returns pointer to struct contained in the node * returns NULL if no struct is contained */ AXIS2_EXTERN void *AXIS2_CALL axiom_node_get_data_element( axiom_node_t * om_node, const axutil_env_t * env); /** * Indicates whether parser has parsed this information item completely or not * @param om_node om_node struct * @param env environment, MUST NOT be NULL. * @returns AXIS2_TRUE if node is completly build, * AXIS2_FALSE if node is not completed */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_node_is_complete( axiom_node_t * om_node, const axutil_env_t * env); /** * returns the associated document, * only valid if built using builder and for a node of type * AXIOM_ELEMENT * returns null if no document is available * @param om_node * @param env environment, MUST NOT be NULL. * * @return the OM document of the node */ AXIS2_EXTERN struct axiom_document *AXIS2_CALL axiom_node_get_document( axiom_node_t * om_node, const axutil_env_t * env); /** * * @param om_node pointer to the OM node struct * @param env environment, MUST NOT be NULL * * @return the string representation of the node */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_to_string( axiom_node_t * om_node, const axutil_env_t * env); /** * * @param om_node pointer to the OM node struct * @param env environment, MUST NOT be NULL * @param om_output the serialized output will be placed here * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_node_serialize_sub_tree( axiom_node_t * om_node, const axutil_env_t * env, struct axiom_output *om_output); /** * * @param om_node pointer to the OM node struct * @param env environment, MUST NOT be NULL * * @return the tree as a string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_sub_tree_to_string( axiom_node_t * om_node, const axutil_env_t * env); /** * Convert the node to string, treating the binary contents, if any, * as non-optimized content. * @param om_node pointer to the OM node struct * @param env environment, MUST NOT be NULL * * @return the none optimized string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_node_to_string_non_optimized( axiom_node_t * om_node, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_NODE_H */ axis2c-src-1.6.0/axiom/include/axiom_namespace.h0000644000175000017500000001456411166304627022716 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_NAMESPACE_H #define AXIOM_NAMESPACE_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_namespace namespace * @ingroup axiom_om * @{ */ typedef struct axiom_namespace axiom_namespace_t; /** * Creates a namespace struct * @param uri namespace URI * @param prefix namespace prefix * @return a pointer to newly created namespace struct */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_namespace_create( const axutil_env_t * env, const axis2_char_t * uri, const axis2_char_t * prefix); /** * Frees given AXIOM namespcae * @param om_namespace namespace to be freed. * @param env Environment. MUST NOT be NULL. * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN void AXIS2_CALL axiom_namespace_free( struct axiom_namespace *om_namespace, const axutil_env_t * env); /** * Compares two namepsaces * @param om_namespace first namespase to be compared * @param env Environment. MUST NOT be NULL. * @param om_namespace1 second namespace to be compared * @return AXIS2_TRUE if the two namespaces are equal,AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_namespace_equals( struct axiom_namespace *om_namespace, const axutil_env_t * env, struct axiom_namespace *om_namespace1); /** * Serializes given namespace * @param om_namespace namespace to be serialized. * @param env Environment. MUST NOT be NULL. * @param om_output AXIOM output handler to be used in serializing * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_serialize( struct axiom_namespace *om_namespace, const axutil_env_t * env, axiom_output_t * om_output); /** * @param om_namespace pointer to om_namespace struct * @param env environment , MUST NOT be NULL. * @returns namespace uri , NULL on error */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_namespace_get_uri( struct axiom_namespace *om_namespace, const axutil_env_t * env); /** * @param om_namespace pointer to om namespace struct * @param env environment, MUST NOT be NULL * @return prefix , NULL on error */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_namespace_get_prefix( struct axiom_namespace *om_namespace, const axutil_env_t * env); /** * Clones an om_namespace struct * @param om_namespace pointer to namespace struct * @param env Environment. MUST NOT be NULL * @returns axiom_namespace on success , NULL on error */ AXIS2_EXTERN struct axiom_namespace *AXIS2_CALL axiom_namespace_clone( struct axiom_namespace *om_namespace, const axutil_env_t * env); /** * to string , returns the string by combining namespace_uri, * and prefix seperated by a '|' character * @param om_namespace * @param env Environment. MUST NOT be NULL * @returns pointer to string , This is a property of namespace, * should not be freed by user */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_namespace_to_string( struct axiom_namespace *om_namespace, const axutil_env_t * env); /** * Incerament the reference value. The struct will be freed when the ref value is zero * @param om_namespace pointer to the axiom namespace struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_increment_ref( struct axiom_namespace *om_namespace, const axutil_env_t * env); /** * Create an OM namespace from a URI and a Prefix * @param om_namespace pointer to the axiom namespace struct * @param env Environment. MUST NOT be NULL * * @return created OM namespace */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_namespace_create_str( const axutil_env_t * env, axutil_string_t * uri, axutil_string_t * prefix); /** * Set the uri string * @param om_namespace pointer to the axiom namespace struct * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_namespace_set_uri_str( axiom_namespace_t * om_namespace, const axutil_env_t * env, axutil_string_t * uri); /** * Get the uri as a string * @param om_namespace pointer to the axiom namespace struct * @param env Environment. MUST NOT be NULL * * @return the uri as a string */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_namespace_get_uri_str( axiom_namespace_t * om_namespace, const axutil_env_t * env); /** * Get the prefix as a string * @param om_namespace pointer to the axiom namespace struct * @param env Environment. MUST NOT be NULL * * @return the prefix as a string */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_namespace_get_prefix_str( axiom_namespace_t * om_namespace, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_NAMESPACE */ axis2c-src-1.6.0/axiom/include/axiom_soap_header.h0000644000175000017500000001611111166304627023222 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_HEADER_H #define AXIOM_SOAP_HEADER_H /** * @file axiom_soap_header.h * @brief axiom_soap_header struct */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_header axiom_soap_header_t; struct axiom_soap_header_block; struct axiom_soap_builder; /** * @defgroup axiom_soap_header soap header * @ingroup axiom_soap * @{ */ AXIS2_EXTERN axiom_soap_header_t *AXIS2_CALL axiom_soap_header_create_with_parent( const axutil_env_t * env, struct axiom_soap_envelope *envelope); /** * Free an axiom_soap_header * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * @return satus of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_header_free( axiom_soap_header_t * header, const axutil_env_t * env); /** * create a new axiom_soap_header_block_t struct initialized with the * specified name and adds it to passed axiom_soap_header_t struct. * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * @param localName the localname of the SOAP header block * @param ns the namespace of the SOAP header block * @return The newly created axiom_soap_header_block_t struct */ AXIS2_EXTERN struct axiom_soap_header_block *AXIS2_CALL axiom_soap_header_add_header_block( axiom_soap_header_t * header, const axutil_env_t * env, const axis2_char_t * localname, axiom_namespace_t * ns); /** * returns a hash_table of all the soap_header_block_t struct in this * soap_header_t object that have the the specified actor. An * actor is a global attribute that indicates the intermediate parties to * whom the message should be sent. An actor receives the message and then * sends it to the next actor. The default actor is the ultimate intended * recipient for the message, so if no actor attribute is set in a * axiom_soap_header_t struct the message is sent to its ultimate * destination. * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * @param role the role value for the examination * * @return hash_table of all the soap_header_block_t struct */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_soap_header_examine_header_blocks( axiom_soap_header_t * header, const axutil_env_t * env, axis2_char_t * param_role); /** * returns an arraylist of header_blocks which has a given namesapce uri * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * @param ns_uri namespace uri * @return pointer to axutil_array_list_t, or null if no header_blocks with * given namespace uri exists * The returned array_list must be freed by the user. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_soap_header_get_header_blocks_with_namespace_uri( axiom_soap_header_t * header, const axutil_env_t * env, const axis2_char_t * ns_uri); /** * returns an iterator to iterate through all soap header block's om nodes * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * @returns axiom_children_qname_iterator_t or null if no header blocks * present */ AXIS2_EXTERN axiom_children_qname_iterator_t *AXIS2_CALL axiom_soap_header_examine_all_header_blocks( axiom_soap_header_t * header, const axutil_env_t * env); /** * returns an iterator to iterate through all header blocks om_nodes * with the matching role attribute * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * @param role * @returns iterator or null if no header blocks present with matching * role attribute */ AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t *AXIS2_CALL axiom_soap_header_extract_header_blocks( axiom_soap_header_t * header, const axutil_env_t * env, axis2_char_t * role); /** * returns the axiom_node_t struct wrapped in soap_header * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * * @return the base node of the SOAP header */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_header_get_base_node( axiom_soap_header_t * header, const axutil_env_t * env); /** * return the soap_version of this soap_header * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * * @return AXIOM_SOAP11 or AXIOM_SOAP12 */ AXIS2_EXTERN int AXIS2_CALL axiom_soap_header_get_soap_version( axiom_soap_header_t * header, const axutil_env_t * env); /** * Get all the SOAP headers * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * * @returns a hash table of all header_blocks in this header * the returned hash is a readonly hash should not be modified */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axiom_soap_header_get_all_header_blocks( axiom_soap_header_t * header, const axutil_env_t * env); /** * remove header block that matches to the given qname * qname should not be null * @param header pointer to soap_header struct * @param env Environment. MUST NOT be NULL * * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_header_remove_header_block( axiom_soap_header_t * header, const axutil_env_t * env, axutil_qname_t * qname); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_HEADER_H */ axis2c-src-1.6.0/axiom/include/axiom_soap.h0000644000175000017500000000303611166304627021714 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_H #define AXIOM_SOAP_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @file axiom_soap.h * @brief includes all SOAP related headers */ #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_H */ axis2c-src-1.6.0/axiom/include/axiom_text.h0000644000175000017500000002055211166304627021740 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_TEXT_H #define AXIOM_TEXT_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_text text * @ingroup axiom_om * @{ */ typedef struct axiom_text axiom_text_t; /** * Creates a new text struct * @param env Environment. * @param parent parent of the new node. Optinal, can be NULL. * The parent element must be of type AXIOM_ELEMENT * @param value Text value. Optinal, can be NULL. * @param comment_node This is an out parameter. cannot be NULL. * Returns the node corresponding to the text struct created. * Node type will be set to AXIOM_TEXT * @return pointer to newly created text struct */ AXIS2_EXTERN axiom_text_t *AXIS2_CALL axiom_text_create( const axutil_env_t * env, axiom_node_t * parent, const axis2_char_t * value, axiom_node_t ** node); /** * Creates a new text struct * @param env Environment. * @param parent parent of the new node. Optinal, can be NULL. * The parent element must be of type AXIOM_ELEMENT * @param value Text value string. Optinal, can be NULL. * @param comment_node This is an out parameter. cannot be NULL. * Returns the node corresponding to the text struct created. * Node type will be set to AXIOM_TEXT * @return pointer to newly created text struct */ AXIS2_EXTERN axiom_text_t *AXIS2_CALL axiom_text_create_str( const axutil_env_t * env, axiom_node_t * parent, axutil_string_t * value, axiom_node_t ** node); /** * Creates a new text struct for binary data (MTOM) * @param env Environment. * @param parent parent of the new node. Optinal, can be NULL. * The parent element must be of type AXIOM_ELEMENT * @param data_handler data handler. Optinal, can be NULL. * @param comment_node This is an out parameter. cannot be NULL. * Returns the node corresponding to the text struct created. * Node type will be set to AXIOM_TEXT * @return pointer to newly created text struct */ AXIS2_EXTERN axiom_text_t *AXIS2_CALL axiom_text_create_with_data_handler( const axutil_env_t * env, axiom_node_t * parent, axiom_data_handler_t * data_handler, axiom_node_t ** node); /** * Free an axiom_text struct * @param env environment. * @param om_text pointer to om text struct to be freed. * @return satus of the op. AXIS2_SUCCESS on success * AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_text_free( struct axiom_text *om_text, const axutil_env_t * env); /** * Serialize op * @param env environment. * @param om_text pointer to om text struct to be serialized. * @param om_output AXIOM output handler to be used in serializing. * @return satus of the op. AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_serialize( struct axiom_text *om_text, const axutil_env_t * env, axiom_output_t * om_output); /** * Sets the text value * @param om_text om_text struct * @param env environment. * @param value text * @return status of the op. AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_value( struct axiom_text *om_text, const axutil_env_t * env, const axis2_char_t * value); /** * Gets text value * @param om_text om_text struct * @param env environment. * @return text value , NULL is returned if there is no text value. */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_text_get_value( struct axiom_text *om_text, const axutil_env_t * env); /** * Sets the text value * @param om_text om_text struct * @param env environment. * @param value string * @return status of the op. AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_value_str( struct axiom_text *om_text, const axutil_env_t * env, axutil_string_t * value); /** * Gets text value from the text node even when MTOM optimized * @param om_text om_text struct * @param env environment. * @return text value base64 encoded text when MTOM optimized, * NULL is returned if there is no text value. */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_text_get_text( axiom_text_t * om_text, const axutil_env_t * env); /** * Gets text value * @param om_text om_text struct * @param env environment. * @return text valu stringe , NULL is returned if there is no text value. */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axiom_text_get_value_str( struct axiom_text *om_text, const axutil_env_t * env); /** * Sets optimized * @param om_text pointer to om_text struct * @param env environment * @optimize optimize value * @returns AXIS2_SUCCESS */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_optimize( struct axiom_text *om_text, const axutil_env_t * env, axis2_bool_t optimize); /** * @param om_text text value * @param env environment * @param is_binary * @returns AXIS2_SUCCESS */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_is_binary( struct axiom_text *om_text, const axutil_env_t * env, const axis2_bool_t is_binary); /** * Get the data handler of the OM text * @param om_text pointer to the OM Text struct * @param environment Environment. MUST NOT be NULL * * @return the data handler of the OM text */ AXIS2_EXTERN axiom_data_handler_t *AXIS2_CALL axiom_text_get_data_handler( struct axiom_text *om_text, const axutil_env_t * env); /** * Get the Content ID of the OM text * @param om_text pointer to the OM Text struct * @param environment Environment. MUST NOT be NULL * * @return the content id of the OM text */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_text_get_content_id( struct axiom_text *om_text, const axutil_env_t * env); /** * Set the content ID of the OM text * @param om_text pointer to the OM Text struct * @param environment Environment. MUST NOT be NULL * @param content_id the content ID * @return status of the op. AXIS2_SUCCESS on success * else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_content_id( axiom_text_t * om_text, const axutil_env_t * env, const axis2_char_t * content_id); /** * Sets the boolean value indicating if the binary data associated with the text * node should be sent in SOAP with Attachment (SwA) format or not. * @param om_text text node * @param env environment * @param is_swa bool value, AXIS2_TRUE means use SwA format, else AXIS2_FALSE * @returns AXIS2_SUCCESS */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_text_set_is_swa( struct axiom_text *om_text, const axutil_env_t * env, const axis2_bool_t is_swa); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_TEXT_H */ axis2c-src-1.6.0/axiom/include/axiom_util.h0000644000175000017500000003136311166304627021733 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_UTIL_H #define AXIOM_UTIL_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * After calling this method the variable child points to * the node of the returning element * @param ele_node axiom node * @param env environment, MUST not be NULL * @param uri uri * return the first child element which has the given uri */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_uri( axiom_node_t * ele_node, const axutil_env_t * env, axis2_char_t * uri, axiom_node_t ** child); /** * After calling this method next_node will point to the * previous sibling node to the returning node * @param ele_node axiom node * @param env environment, MUST not be NULL * @param uri uri * @param next_node * return the next sibling element to the element which contains * the give namespace uri */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_sibling_element_with_uri( axiom_node_t * ele_node, const axutil_env_t * env, axis2_char_t * uri, axiom_node_t ** next_node); /** * @param eleaxiom node * @param env environment, MUST not be NULL * @param ele_node * @param child_node * return the first child element this calls the method * axiom_element_get_first_child_element * */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axiom_node_t ** child_node); /** * @param ele axiom element * @param env environment, MUST not be NULL * @param ele_node * @param child_node * return the last child element of the given element ele_node */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axiom_node_t ** child_node); /** * @param ele axiom node * @param env environment, MUST not be NULL * @param ele_node * @param next_node * return the first child element which has the given uri */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_sibling_element( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axiom_node_t ** next_node); /** * @param ele axiom element * @param env environment, MUST not be NULL * @param ele_node axiom node * @param localname localname to find the first child element * @param child_node * * return the first child element from ele_node which contains the * given local name */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param localname to find the last child element * @param child_node * return the last child element which having the given local name */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param localname to find the last child element * @param next_node * return the next sibling element which is having the given local name */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_siblng_element_with_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axiom_node_t ** next_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param localname to find the last child element * @param uri uri to of the namespace to find the first element * @param next_node * return the first child element which is having the given local * name and the given namespace uri */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_uri_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * uri, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param localname to find the last child element * @param uri uri of the namespace to find the last element * @param next_node * return the last child element which is having the given local name and * the given namespace uri */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_uri_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * uri, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param localname to find the last child element * @param uri uri of the namespace to find the last element * @param next_node * return next sibling element which is having the given local name and * the given namespace uri */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_sibling_element_with_uri_localname( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * uri, axiom_node_t ** next_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param names local names to find the child element * @param child_node * return the first child element which is having all the localnames given */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_localnames( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axutil_array_list_t * names, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param names local names to find the last child element * @param child_node * return the last child element which is having all the localnames given */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_localnames( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axutil_array_list_t * names, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node axiom node * @param names local names to find the next sibling * @param child_node * return the next sibling element which is having all the localnames given */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_siblng_element_with_localnames( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axutil_array_list_t * names, axiom_node_t ** next_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node * @param localname local name to find the first child * @param attr_name attribute name to find first child * @param attr_value attribute value of attr_name attribute * @param child_node * return the first child element which is having the given local * name and the given attribute (attribute name and attribute value) */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_first_child_element_with_localname_attr( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * attr_name, axis2_char_t * attr_value, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node * @param localname local name to find the last child * @param attr_name attribute name to find last child * @param attr_value attribute value of attr_name attribute * @param child_node * return the last child element which is having the given local * name and the given attribute (attribute name and attribute value) */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_last_child_element_with_localname_attr( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * attr_name, axis2_char_t * attr_value, axiom_node_t ** child_node); /** * @param ele * @param env environment, MUST not be NULL * @param ele_node * @param localname local name to find the next sibling child * @param attr_name attribute name to find the next sibling child * @param attr_value attribute value of attr_name attribute * @param child_node * return the next sibling child element which is having the given local * name and the given attribute (attribute name and attribute value) */ AXIS2_EXTERN axiom_element_t *AXIS2_CALL axiom_util_get_next_siblng_element_with_localname_attr( axiom_element_t * ele, const axutil_env_t * env, axiom_node_t * ele_node, axis2_char_t * localname, axis2_char_t * attr_name, axis2_char_t * attr_value, axiom_node_t ** next_node); /** * @param node axiom node * @param env environment, MUST not be NULL * * return the element text of axiom_node */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_child_text( axiom_node_t * node, const axutil_env_t * env); /** * @param node axiom node * @param env environment, MUST not be NULL * * return the local name of axiom_node */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_localname( axiom_node_t * node, const axutil_env_t * env); /** * @param om_node axiom node * @param env environment, MUST not be NULL * * return the namespace uri of the give node variable om_node if * there's no namespace in that particular om_node this method * returns NULL */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_util_get_node_namespace_uri( axiom_node_t * om_node, const axutil_env_t * env); /** * @param om_ele axiom node * @param env environment, MUST not be NULL * @param om_node * return all the child element using the method * axiom_child_element_iterator_create */ AXIS2_EXTERN axiom_child_element_iterator_t *AXIS2_CALL axiom_util_get_child_elements( axiom_element_t * om_ele, const axutil_env_t * env, axiom_node_t * om_node); AXIS2_EXTERN axiom_document_t *AXIS2_CALL axiom_util_new_document( const axutil_env_t * env, const axutil_uri_t * uri); AXIS2_EXTERN axiom_node_t* AXIS2_CALL axiom_util_get_node_by_local_name( const axutil_env_t *env, axiom_node_t *node, axis2_char_t *local_name); #ifdef __cplusplus } #endif #endif /* AXIOM_UTIL_H */ axis2c-src-1.6.0/axiom/include/axiom_defines.h0000644000175000017500000000233011166304627022363 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_DEFINES_H #define AXIOM_DEFINES_H #ifdef __cplusplus extern "C" { #endif /** * This enum is used to decide the type of storage used */ typedef enum _axis2_xml_parser_type { AXIS2_XML_PARSER_TYPE_BUFFER = 1, AXIS2_XML_PARSER_TYPE_FILE, AXIS2_XML_PARSER_TYPE_DOC } axis2_xml_parser_type; #ifdef __cplusplus } #endif #endif /* AXIOM_DEFINES_H */ axis2c-src-1.6.0/axiom/include/axiom_xpath.h0000644000175000017500000003024111171531736022073 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_XPATH_H #define AXIOM_XPATH_H #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_xpath_api api * @ingroup axiom_xpath * @{ */ /** * Enable tracing */ #define AXIOM_XPATH_DEBUG /** * An error occured while evaluating the xpath expression */ #define AXIOM_XPATH_EVALUATION_ERROR 0 #define AXIOM_XPATH_ERROR_STREAMING_NOT_SUPPORTED 10 /* Typedefs */ /** * XPath expression * It includes the expression as a string and parsed data. */ typedef struct axiom_xpath_expression axiom_xpath_expression_t; /** * The XPath context * Keeps a reference to the context node or attribute, * XPath expression, environment and result set. */ typedef struct axiom_xpath_context axiom_xpath_context_t; /** * XPath result set * Contains the result set and other information such as * whether the expression was evaluated successfully. */ typedef struct axiom_xpath_result axiom_xpath_result_t; /** * XPath result * Stores type and value of the result. */ typedef struct axiom_xpath_result_node axiom_xpath_result_node_t; /** * XPath result types */ typedef enum axiom_xpath_result_type_t { AXIOM_XPATH_TYPE_NODE = 0, AXIOM_XPATH_TYPE_ATTRIBUTE, AXIOM_XPATH_TYPE_NAMESPACE, AXIOM_XPATH_TYPE_TEXT, AXIOM_XPATH_TYPE_NUMBER, AXIOM_XPATH_TYPE_BOOLEAN } axiom_xpath_result_type_t; typedef int (*axiom_xpath_function_t)(axiom_xpath_context_t *context, int np); /** * XPath expression */ struct axiom_xpath_expression { /** XPath expression as a string */ axis2_char_t* expr_str; /** Length of the expression */ int expr_len; /** A cursor pointing to the position currently being parsed */ int expr_ptr; /** Parsed expression in an array list*/ axutil_array_list_t *operations; /** A pointer to the start operation in operations */ int start; }; /** * XPath context */ struct axiom_xpath_context { /** Environment */ const axutil_env_t *env; /** List of namespaces */ axutil_hash_t *namespaces; /** Set of functions */ axutil_hash_t *functions; /** Root node */ axiom_node_t *root_node; /** Context node */ axiom_node_t *node; /** Context attribute */ axiom_attribute_t *attribute; /** Context attribute */ axiom_namespace_t *ns; /** Context position */ int position; /** Context size * *Does not work location paths due to optimizations */ int size; /** XPath expression */ axiom_xpath_expression_t *expr; /** Streaming */ axis2_bool_t streaming; /** Stack of processed items */ axutil_stack_t *stack; /* TODO: functions variables etc */ }; /** * XPath result set */ struct axiom_xpath_result { /** A flag indicating whether errors occured while evaluting XPath * expression */ int flag; /** An array list containing the set of results */ axutil_array_list_t * nodes; }; /** * XPath result */ struct axiom_xpath_result_node { /** Type of result */ axiom_xpath_result_type_t type; /** Value */ void * value; }; /** * Compile an XPath expression * * @param env Environment must not be null * @param xpath_expr A pointer to the XPath expression * @return The parsed XPath expression. Returns NULL if an error occured * while parsing. */ AXIS2_EXTERN axiom_xpath_expression_t * AXIS2_CALL axiom_xpath_compile_expression( const axutil_env_t *env, const axis2_char_t* xpath_expr); /** * Create an empty XPath context * * @param env Environment must not be null * @param root_node A pointer to the root of the tree * @return The initialized XPath context. */ AXIS2_EXTERN axiom_xpath_context_t * AXIS2_CALL axiom_xpath_context_create( const axutil_env_t *env, axiom_node_t * root_node); /** * Evaluate an parsed XPath expression. Different expressions could * be evaluated on the same context, and same expression could be * evaluated on multiple trees without recompiling. * * @param context XPath context must not be null * @param xpath_expr XPath expression to be evaluated * @return The set of results. */ AXIS2_EXTERN axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate( axiom_xpath_context_t *context, axiom_xpath_expression_t *xpath_expr); /** * Convert an XPath result to a boolean. * If the result is a boolean the value of it is returned. * If the result is a number, AXIS2_TRUE is * returned if the value is not equal to 0 and AXIS2_FALSE otherwise. * Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE otherwise. * * @param env Environment must not be null * @param node A pointer to the XPath result * @return The boolean value. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_xpath_cast_node_to_boolean( const axutil_env_t *env, axiom_xpath_result_node_t * node); /** * Convert an XPath result to a number. * If the result is a boolean, 1 is returned if it's true and 0 otherwise. * If the result is a number the value of it is returned. * Otherwise AXIS2_TRUE is returned if the result is not NULL and AXIS2_FALSE otherwise. * * @param env Environment must not be null * @param node A pointer to the XPath result * @return The numerical value. */ AXIS2_EXTERN double AXIS2_CALL axiom_xpath_cast_node_to_number( const axutil_env_t *env, axiom_xpath_result_node_t * node); /** * Convert an XPath result to text. * If the result is a boolean, "true" is returned if it's true and "false" otherwise. * If the result is a number the text representation of it is returned. * If the result is a text the value of it is returned. * If the result is an axiom node, the text value of it is returned * If the result is an axiom attribue, the text value of it is returned * * @param env Environment must not be null * @param node A pointer to the XPath result * @return The text value. */ AXIS2_EXTERN axis2_char_t * AXIS2_CALL axiom_xpath_cast_node_to_string( const axutil_env_t *env, axiom_xpath_result_node_t * node); /** * Convert an XPath result to an axiom node. * If the result is an axiom node it is returned and NULL otherwise. * * @param env Environment must not be null * @param node A pointer to the XPath result * @return The axiom node. */ AXIS2_EXTERN axiom_node_t * AXIS2_CALL axiom_xpath_cast_node_to_axiom_node( const axutil_env_t *env, axiom_xpath_result_node_t * node); /** * Free XPath context * * @param env Environment must not be null * @param context XPath context must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_context( const axutil_env_t *env, axiom_xpath_context_t *context); /** * Free XPath expression * * @param env Environment must not be null * @param xpath_expr XPath expression must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_expression( const axutil_env_t *env, axiom_xpath_expression_t * xpath_expr); /** * Free XPath result set * * @param env Environment must not be null * @param result XPath result set must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_free_result( const axutil_env_t *env, axiom_xpath_result_t* result); /** * Registers a XPath namespace * * @param context XPath Context, must not be null * @param ns AXIOM namespace, must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_namespace( axiom_xpath_context_t *context, axiom_namespace_t *ns); /** * Get a registered namespace by the prefix. * If there is no namespace registered by the given prefix NULL will be returned * * @param context XPath Context, must not be null * @param prefix Prefix of the namespace, must not be null * @return The namespace corresponding to the prefix. */ AXIS2_EXTERN axiom_namespace_t * AXIS2_CALL axiom_xpath_get_namespace( axiom_xpath_context_t *context, axis2_char_t *prefix); /** * Clears all registered XPath namespaces * * @param context XPath Context, must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_clear_namespaces( axiom_xpath_context_t *context); /** * Evaluates an XPath expression on streaming XML. * Not all expressions can be evaluated on streaming XML. * If the expression cannot be evaluated on streaming XML NULL will be returned. * * @param context XPath Context, must not be null * @param xpath_expr XPath expression to be evaluated */ AXIS2_EXTERN axiom_xpath_result_t * AXIS2_CALL axiom_xpath_evaluate_streaming( axiom_xpath_context_t *context, axiom_xpath_expression_t *xpath_expr); /** * Checks whether the given expression can be evaluated on streaming XML. * If it is possible AXIS2_TRUE will be retuned; AXIS2_FALSE otherwise. * * @param env Axis2 environment, must not be null * @param expr Complied XPath expression, must not be null * @return A boolean indicating whether the expression can be evaluated on streaming XML. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_xpath_streaming_check( const axutil_env_t *env, axiom_xpath_expression_t* expr); /** * Setup the XPath core function library * * @param context XPath Context, must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_default_functions_set( axiom_xpath_context_t *context); /** * Registers a custom XPath function http://www.w3.org/TR/xpath#corelib * * @param context XPath Context, must not be null * @param name Name of the function, must not be null * @param func Pointer to the function, must not be null */ AXIS2_EXTERN void AXIS2_CALL axiom_xpath_register_function( axiom_xpath_context_t *context, axis2_char_t *name, axiom_xpath_function_t func); /** * Retrive a pointer to a registered funciton by the function name. * If there is no function registered by the given name, NULL will be returned. * * @param context XPath Context, must not be null * @param name Name of the function, must not be null * @return The corresponding function. */ AXIS2_EXTERN axiom_xpath_function_t AXIS2_CALL axiom_xpath_get_function( axiom_xpath_context_t *context, axis2_char_t *name); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/axiom/include/axiom_data_source.h0000644000175000017500000000706511166304627023251 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_DATA_SOURCE_H #define AXIOM_DATA_SOURCE_H /** * @file axiom_data_source.h * @brief Axis2 AXIOM XML data_source */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axiom_data_source data_source * @ingroup axiom_om * @{ */ /** * \brief data_source struct * Handles the XML data_source in OM */ typedef struct axiom_data_source axiom_data_source_t; /** * Creates a new data_source struct * @param env Environment. MUST NOT be NULL, . * @param parent parent of the new node. Optinal, can be NULL. * The parent element must be of type AXIOM_ELEMENT * @param value Text value. Optinal, can be NULL. * @param comment_node This is an out parameter. cannot be NULL. * Returns the node corresponding to the data_source struct created. * Node type will be set to AXIOM_DATA_SOURCE * @return pointer to newly created data_source struct */ AXIS2_EXTERN axiom_data_source_t *AXIS2_CALL axiom_data_source_create( const axutil_env_t * env, axiom_node_t * parent, axiom_node_t ** node); /** * Free an axiom_data_source struct * @param env environment. MUST NOT be NULL. * @param om_data_source pointer to om data_source struct to be freed. * @return satus of the op. AXIS2_SUCCESS on success * AXIS2_FAILURE on error. */ AXIS2_EXTERN void AXIS2_CALL axiom_data_source_free( struct axiom_data_source *om_data_source, const axutil_env_t * env); /** * Serialize op * @param env environment. MUST NOT be NULL. * @param om_data_source pointer to om data_source struct to be serialized. * @param om_output AXIOM output handler to be used in serializing. * @return satus of the op. AXIS2_SUCCESS on success, * AXIS2_FAILURE on error */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_data_source_serialize( struct axiom_data_source *om_data_source, const axutil_env_t * env, axiom_output_t * om_output); /** * set the data_source value * @param om_data_source om_data_source struct * @param env environment , MUST NOT be NULL. * @param value data_source * @return status of the op. AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axiom_data_source_get_stream( struct axiom_data_source *om_data_source, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_DATA_SOURCE_H */ axis2c-src-1.6.0/axiom/include/axiom.h0000644000175000017500000000321011166304627020664 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_H #define AXIOM_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @file axiom.h * @brief includes all headers in OM */ #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_envelope.h0000644000175000017500000001700611166304627023613 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_ENVELOPE_H #define AXIOM_SOAP_ENVELOPE_H /** * @file axiom_soap_envelope.h * @brief axiom_soap_envelope struct * corresponds to root element of soap message */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_envelope axiom_soap_envelope_t; struct axiom_soap_body; struct axiom_soap_header; struct axiom_soap_header_block; struct axiom_soap_builder; /** * @defgroup axiom_soap_envelope soap envelope * @ingroup axiom_soap * @{ */ /** * create a soap_envelope with the given namespace prefix and uri * as the prefix and uri, The uri of ns should be valid soap uri * @param env Environment. MUST NOT be NULL * @param ns The OM namespace * * @return Created SOAP envelope */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create( const axutil_env_t * env, axiom_namespace_t * ns); /** * create a soap_envelope with the given namespace prefix and uri is selected * according to soap_version, soap version should be one of AXIOM_SOAP11 * or AXIOM_SOAP12 * @param env Environment. MUST NOT be NULL * @param prefix soap envelope prefix * if prefix is NULL default prefix is used * * @return a pointer to soap envelope struct */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_with_soap_version_prefix( const axutil_env_t * env, int soap_version, const axis2_char_t * prefix); /** * Create the default SOAP envelope * @param envelope OM SOAP Envelope * @param env Environment. MUST NOT be NULL * * @return Created SOAP envelope */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_default_soap_envelope( const axutil_env_t * env, int soap_version); /** * Create the default SOAP fault envelope * @param envelope OM SOAP Envelope * @param env Environment. MUST NOT be NULL * * @return Created SOAP fault envelope */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axiom_soap_envelope_create_default_soap_fault_envelope( const axutil_env_t * env, const axis2_char_t * code_value, const axis2_char_t * reason_text, const int soap_version, axutil_array_list_t * sub_codes, axiom_node_t * detail_node); /** * gets the soap header of this soap envelope * @param envelope soap envelope * @param env environment must not be null * @return soap header null it no header is present */ AXIS2_EXTERN struct axiom_soap_header *AXIS2_CALL axiom_soap_envelope_get_header( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** * Returns the soap body associated with this soap envelope * @param envelope soap_envelope * @param env environment * @return soap_body */ AXIS2_EXTERN struct axiom_soap_body *AXIS2_CALL axiom_soap_envelope_get_body( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** * serialize function , serialize the soap envelope * IF the soap version it set to soap11 the soap fault part is converted * to soap11 fault even is the underlying soap fault is of soap12 type * @param envelope soap envelope * @param env environment must not be null * @param om_output * @param cache whether caching is enabled or not * @return status code , AXIS2_SUCCESS if success , * AXIS2_FAILURE otherwise */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_serialize( axiom_soap_envelope_t * envelope, const axutil_env_t * env, axiom_output_t * om_output, axis2_bool_t cache); /** * Free function, This function deallocate all the resources associated * with the soap_envelope * IT frees it's soap body and soap headers as well as the underlying * om node tree by calling axiom_node_free_tree function * @param envelope soap_envelope * @param env environment * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_envelope_free( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** * returns the om_node associated with this soap envelope * @param envelope soap_envelope * @param env environment * @return axiom_node_t pointer */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_envelope_get_base_node( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** returns the soap version of this soap envelope * @param envelope soap_envelope * @param env environment must not be null * @return soap_version AXIOM_SOAP12 or AXIOM_SOAP11 */ AXIS2_EXTERN int AXIS2_CALL axiom_soap_envelope_get_soap_version( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** * Return the soap envelope namespace * @param envelope * @param env * @return axiom_namespace_t */ AXIS2_EXTERN axiom_namespace_t *AXIS2_CALL axiom_soap_envelope_get_namespace( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** * Set the SOAP version * @param envelope OM SOAP Envelope * @param env Environment. MUST NOT be NULL * @param soap_version, the SOAP version number. * Must be either AXIOM_SOAP11 or AXIOM_SOAP12 * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_set_soap_version( axiom_soap_envelope_t * envelope, const axutil_env_t * env, int soap_version); /** * Increment the reference number for the created instance * @param envelope OM SOAP Envelope * @param env Environment. MUST NOT be NULL * * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_soap_envelope_increment_ref( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** * get the soap builder of the envelope * @param envelope OM SOAP Envelope * @param env Environment. MUST NOT be NULL * * @return soap_builder struct related to the envelope */ AXIS2_EXTERN struct axiom_soap_builder *AXIS2_CALL axiom_soap_envelope_get_soap_builder( axiom_soap_envelope_t * envelope, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_ENVELOPE_H */ axis2c-src-1.6.0/axiom/include/axiom_xml_reader.h0000644000175000017500000005176511166304627023110 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #ifndef AXIOM_XML_READER_H #define AXIOM_XML_READER_H /** *@file axiom_xml_reader.h *@brief this is the parser abstraction layer for axis2 */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_xml_reader_ops axiom_xml_reader_ops_t; typedef struct axiom_xml_reader axiom_xml_reader_t; /** * @defgroup axiom_parser parser * @ingroup axiom * @{ * @} */ /** * @defgroup axiom_xml_reader XML reader * @ingroup axiom_parser * @{ */ typedef enum axiom_xml_reader_event_types { AXIOM_XML_READER_START_DOCUMENT = 0, AXIOM_XML_READER_START_ELEMENT, AXIOM_XML_READER_END_ELEMENT, AXIOM_XML_READER_SPACE, AXIOM_XML_READER_EMPTY_ELEMENT, AXIOM_XML_READER_CHARACTER, AXIOM_XML_READER_ENTITY_REFERENCE, AXIOM_XML_READER_COMMENT, AXIOM_XML_READER_PROCESSING_INSTRUCTION, AXIOM_XML_READER_CDATA, AXIOM_XML_READER_DOCUMENT_TYPE } axiom_xml_reader_event_types; /** * \brief AXIOM_XML_READER ops * Encapsulator struct for ops of axiom_xml_reader */ struct axiom_xml_reader_ops { /** * causes the reader to read the next parse event. * returns the event just read * @param parser axiom_xml_reader struct * @param env axutil_environment, MUST NOT be NULL * @returns one of the events defined in * axiom_xml_reader_event_types */ int( AXIS2_CALL * next)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * free pull_parser * @param parser axiom_xml_reader struct * @param env axutil_environment MUST NOT be NULL * @returns axis2_status_code */ void( AXIS2_CALL * free)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Get the Number of attributes in the current element * @param parser axiom_xml_reader * @param env axutil_environment, MUST NOT be NULL. * @returns Number of attributes , AXIS2_FAILURE on error */ int( AXIS2_CALL * get_attribute_count)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** This is used to get an attribute's localname using an index relative to * current element.The iterations are not zero based. * To access the first attribute use 1 for parameter i * @param parser parser struct * @param env environment struct * @param i attribute index * @returns the attribute localname * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_attribute_name_by_number)( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** This is used to get an attribute's prefix using an index relative to * current element. The iterations are not zero based. * To access the first attribute use 1 for parameter i * @param parser parser struct * @param env environment, MUST NOT be NULL * @param i attribute index. * @returns the attribute prefix, returns NULL on error, * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_attribute_prefix_by_number)( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** Gets an attribute's value using an index relative to * current element. The iterations are not zero based. * To access the first attribute use 1 for parameter i * @param parser parser struct * @param env environment, MUST NOT be NULL. * @param i attribute index * @returns the attribute value, returns NULL on error, * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_attribute_value_by_number)( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** Gets an attribute's namespace uri using an index relative to * current element. The iterations are not zero based. * To access the first attribute use 1 for parameter i * @param parser parser struct * @param env environment struct * @param i attribute index * @returns the attribute value, returns NULL on error * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_attribute_namespace_by_number)( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** Returns the text value of current element * @param parser pointer to parser * @param env environment, MUST not be NULL * @returns Text Value, NULL on error * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_value)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Returns the namespace count of current element * @param parser parser struct * @param env environment * @returns namespace count of current element, */ int( AXIS2_CALL * get_namespace_count)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Accesses the namespace uri of the namespaces declared in current element * using an index * @param parser parser struct * @param env environment * @param i index * @returns namespace uri of corresponding namespace * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_namespace_uri_by_number)( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * Accesses the namespace prefix of the namespaces declared in current element * using an index * @param parser parser struct * @param env environment * @param i index * @returns namespace prefix of corresponding namespace * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_namespace_prefix_by_number)( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * Used to obtain the current element prefix * @param parser parser struct * @param env environment struct * @returns prefix , NULL on error * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_prefix)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Used to obtain the current element localname * @param parser parser struct * @param env environment struct * @returns localname , NULL on error * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_name)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Used to get the processingInstruction target * @param parser parser struct * @param env environment, MUST NOT be NULL. * @returns target value of processingInstruction * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_pi_target)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Gets the processingInstruction data * @param parser parser struct * @param env environment, MUST NOT be NULL. * @returns data of processingInstruction * caller must free the value using axiom_xml_reader_xml_free macro */ axis2_char_t *( AXIS2_CALL * get_pi_data)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Used to get the DTD * @param parser pointer to pull parser struct * @param env environment, MUST NOT be NULL. * @return text of doctype declaration. NULL is returns of no data * exists. */ axis2_char_t *( AXIS2_CALL * get_dtd)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * Free function , this function wraps the underlying parser's * xml free function. For freeing values obatined by calling * pull parser api methods, This function must be used. * @param parser pointer to axiom_xml_reader * @param env environment, MUST NOT be NULL. * @param data data values to be destroyed * @return status of the op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ void( AXIS2_CALL * xml_free)( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data); /** * Gets the char set encoding of the parser * @param parser xml parser * @param env environment * @returns char set encoding string or NULL in failure */ axis2_char_t *( AXIS2_CALL * get_char_set_encoding)( axiom_xml_reader_t * parser, const axutil_env_t * env); /** Returns the namespace uri associated with current node */ axis2_char_t *( AXIS2_CALL * get_namespace_uri)( axiom_xml_reader_t * parser, const axutil_env_t * env); axis2_char_t *( AXIS2_CALL * get_namespace_uri_by_prefix)( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix); }; /** * @brief axiom_xml_reader struct * Axis2 OM pull_parser */ struct axiom_xml_reader { const axiom_xml_reader_ops_t *ops; }; /** * Creates an instance of axiom_xml_reader to parse * a file using an xml document in a file system * @param env environment struct, must not be null * @param filename url of an xml document * @returns a pointer to xml_pull_parser_t struct * NULL on error with error code set in the environment's error */ AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_file( const axutil_env_t * env, char *filename, const axis2_char_t * encoding); /** * This create an instance of axiom_xml_reader to * parse a xml document in a buffer. It takes a callback * function that takes a buffer and the size of the buffer * The user must implement a function that takes in buffer * and size and fill the buffer with specified size * with xml stream, parser will call this function to fill the * buffer on the fly while parsing. * @param env environment MUST NOT be NULL. * @param read_input_callback() callback function that fills * a char buffer. * @param close_input_callback() callback function that closes * the input stream. * @param ctx, context can be any data that needs to be passed * to the callback method. * @param encoding encoding scheme of the xml stream */ AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_io( const axutil_env_t * env, AXIS2_READ_INPUT_CALLBACK, AXIS2_CLOSE_INPUT_CALLBACK, void *ctx, const axis2_char_t * encoding); /** * Create an axiom_xml_reader_t using a buffer, which is the xml input * @param env environment, MUST not be NULL * @param container any data that needs to passed to the corresponding * parser's create_for_memory method. The reader does not take ownership * of this data. * @param size size of the buffer * @param encoding encoding of the xml * @return pointer to axiom_xml_reader_t struct on success , NULL otherwise */ AXIS2_EXTERN axiom_xml_reader_t *AXIS2_CALL axiom_xml_reader_create_for_memory( const axutil_env_t * env, void *container, int size, const axis2_char_t * encoding, int type); /** * init function initializes the parser. When using libxml2 parser, this function * is needed to initialize libxml2. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_reader_init(void ); /** * parser cleanup function. This function is used to clean up the globals of libxml2 * parser. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_reader_cleanup(void ); /** * while parsing through this method is calling for each and every * time it parse a charactor.This is the atomic method which parse charactors. * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN int AXIS2_CALL axiom_xml_reader_next( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN void AXIS2_CALL axiom_xml_reader_free( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * free method for xml reader * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN int AXIS2_CALL axiom_xml_reader_get_attribute_count( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return number of attributes in an element */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_name_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return the attribute name by number */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return the attribute prefix by number */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_value_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return attribute value by number */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_attribute_namespace_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return attribute namespace by number */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_value( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return value of the element */ AXIS2_EXTERN int AXIS2_CALL axiom_xml_reader_get_namespace_count( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return the number of namespaces in an element */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_uri_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return uri or the namespace by number */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_prefix_by_number( axiom_xml_reader_t * parser, const axutil_env_t * env, int i); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return prefix of the namespace by number */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return namespace prefix */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_name( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return name of the element */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_pi_target( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_pi_data( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_dtd( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN void AXIS2_CALL axiom_xml_reader_xml_free( axiom_xml_reader_t * parser, const axutil_env_t * env, void *data); /** * free method for xml * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_char_set_encoding( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return charactor encoding */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_uri( axiom_xml_reader_t * parser, const axutil_env_t * env); /** * * @param parser pointer to the OM XML Reader struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_reader_get_namespace_uri_by_prefix( axiom_xml_reader_t * parser, const axutil_env_t * env, axis2_char_t * prefix); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_XML_READER_H */ axis2c-src-1.6.0/axiom/include/axiom_xml_writer.h0000644000175000017500000010032511166304627023145 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ #ifndef AXIOM_XML_WRITER_H #define AXIOM_XML_WRITER_H /** *@file axiom_xml_writer.h *@brief this is the parser abstraction layer for axis2 */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_xml_writer_ops axiom_xml_writer_ops_t; typedef struct axiom_xml_writer axiom_xml_writer_t; /** * @defgroup axiom_xml_writer XML writer * @ingroup axiom_parser * @{ */ /** * \brief axiom_xml_writer ops * Encapsulator struct for ops of axiom_xml_writer */ struct axiom_xml_writer_ops { /** * Free xml writer * @param writer pointer to xml_writer struct to be freed * @param env environment, MUST NOT be NULL. * @returns status of the op. * AXIS2_SUCCESS on success and AXIS2_FAILURE on error */ void( AXIS2_CALL * free)( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * Write a start tag to output stream with localname. * Internally the writer keeps track of the opened tags * @param writer pointer to xml writer struct * @param env environment. MUST NOT be NULL. * @param localname localname of the tag, May not be NULL. * @return the status of the op, AXIS2_SUCCESS on success AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_start_element)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); /** * write an end tag to the output relying on the internal * state of writer to determine the prefix and localname of * the element * @param writer xml_writer struct * @param env environment, MUST NOT be NULL. * @return status of the op. AXIS2_SUCCESS on success. * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * end_start_element)( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * Write an element tag with localname and namespace uri * @param writer pointer to xml writer struct * @param env environment struct * @param localname localname of the tag, May not be null. * @param namespace_uri the namespace URI of the the pefix * to use.may not be null. * @returns status of the op, AXIS2_SUCCESS on success. * AXIS2_FAILURE on error */ axis2_status_t( AXIS2_CALL * write_start_element_with_namespace)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); /** * write a start tag to output * @param writer pointer to xml_writer struct * @param environment, MUST NOT be NULL. * @param localname localname of the tag, May not be null. * @param namespace_uri namespace to bind the prefix to * @param prefix the prefix to the tag.May not be NULL. * @return status of the op AXIS2_SUCCESS on success. AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_start_element_with_namespace_prefix)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); /** * write an element tag with localname * @param writer xml_writer * @param env environment * @param localname localname * @return status of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_empty_element)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); /** * write empty_element with localname and namespace uri. * @param writer xml writer * @param env environment * @param localname localname * @param namespace uri * @return status of the op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_empty_element_with_namespace)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); /** * write empty element with namespace uri and prefix * @param writer xml_writer * @param env environment * @param localname localname * @param namespace_uri namespace uri * @param prefix prefix * @return status of the op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_empty_element_with_namespace_prefix)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); /** * write end tag with correct localname prefix resolved internally * @param writer xml writer * @param env environment * @return status of the op, AXIS2_SUCCESS on success, * AXIS2_FAILURE on failure */ axis2_status_t( AXIS2_CALL * write_end_element)( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * write end document * @param writer xml writer * @param env environment * @return status of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_end_document)( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * write attribute with localname and value * @param writer writer * @param env environment * @param localname localname * @param value text value of attribute * @return status of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_attribute)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value); /** * @param writer * @param env environment * @param localname * @param value text value of attribute * @param namespace uri namespace uri * @return status code of the op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_attribute_with_namespace)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri); /** * @param writer xml_writer * @param env environment * @param localname localname * @param value text value of attribute * @param namespace uri namespaceuri * @param prefix prefix */ axis2_status_t( AXIS2_CALL * write_attribute_with_namespace_prefix)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix); /** * @param writer xml_writer * @param env environment * @param prefix prefix * @param namespace uri namespaceuri * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_namespace)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri); /** * @param writer xml_writer * @param env environment * @param namespace uri namespaceuri * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_default_namespace)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri); /** * @param writer xml_writer * @param env environment * @param value value * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_comment)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value); /** * @param writer xml_writer * @param env environment * @param target pi target * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_processing_instruction)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target); /** * @param writer xml_writer * @param env environment * @param target pi target * @param data pi data * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_processing_instruction_data)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data); /** * @param writer xml_writer * @param env environment * @param data cdata * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_cdata)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data); /** * @param writer xml_writer * @param env environment * @param dtd dtd * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_dtd)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd); /** * @param writer xml_writer * @param env environment * @param name name * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_entity_ref)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name); /** * @param writer xml_writer * @param env environment * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_start_document)( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer xml_writer * @param env environment * @param version version * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_start_document_with_version)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version); /** * @param writer xml_writer * @param env environment * @param version version * @param encoding encoding * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_start_document_with_version_encoding)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version, axis2_char_t * encoding); /** * @param writer xml_writer * @param env environment * @param text text * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_characters)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text); /** * @param writer xml_writer * @param env environment * @param uri uri * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_char_t *( AXIS2_CALL * get_prefix)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); /** * @param writer xml_writer * @param env environment * @param prefix prefix * @param uri uri * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * set_prefix)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri); /** * @param writer xml_writer * @param env environment * @param uri uri * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * set_default_prefix)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); /** * @param writer xml_writer * @param env environment * @param text text * @param in_attr * @return status of op AXIS2_SUCCESS on success, * AXIS2_FAILURE on error. */ axis2_status_t( AXIS2_CALL * write_encoded)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr); void *( AXIS2_CALL * get_xml)( axiom_xml_writer_t * writer, const axutil_env_t * env); unsigned int( AXIS2_CALL * get_xml_size)( axiom_xml_writer_t * writer, const axutil_env_t * env); int( AXIS2_CALL * get_type)( axiom_xml_writer_t * writer, const axutil_env_t * env); axis2_status_t( AXIS2_CALL * write_raw)( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content); axis2_status_t( AXIS2_CALL * flush)( axiom_xml_writer_t * writer, const axutil_env_t * env); }; /** * @brief axis2_pull_parser struct * Axis2 OM pull_parser */ struct axiom_xml_writer { const axiom_xml_writer_ops_t *ops; }; /** * create function for axiom_xml_writer * @param env environment * @param filename filename * @param encoding encoding * @param is_prefix_default * @param compression * return xml writer wrapper structure */ AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_xml_writer_create( const axutil_env_t * env, axis2_char_t * filename, axis2_char_t * encoding, int is_prefix_default, int compression); /** * create fuction for xml writer for memory buffer * @param env environment struct, must not be null * @param env environment * @param encoding encoding * @param is_prefix_default * @param compression * @return xml writer wrapper structure. */ AXIS2_EXTERN axiom_xml_writer_t *AXIS2_CALL axiom_xml_writer_create_for_memory( const axutil_env_t * env, axis2_char_t * encoding, int is_prefix_default, int compression, int type); /** * free method for axiom xml writer * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN void AXIS2_CALL axiom_xml_writer_free( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the start element * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return satus of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_end_start_element( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname localname of the start element * @param namespace_uri namespace uri of that element * @param prefix prefix of that namespace * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the element * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_empty_element( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the element * @param namespace_uri uri of the namespace * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_empty_element_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the element * @param namespace_uri uri of the namespace * @param prefix prefix of the namespace * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_empty_element_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * namespace_uri, axis2_char_t * prefix); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_end_element( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_end_document( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the element * @param value value of the element * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_attribute( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the element * @param value value of the element * @param uri of the namespace * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_attribute_with_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param localname local name of the element * @param value value of the element * @param uri of the namespace * @param prefix of the namespace * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_attribute_with_namespace_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * localname, axis2_char_t * value, axis2_char_t * namespace_uri, axis2_char_t * prefix); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * @param prefix prefix of the namespace * @param uri of the namespace * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * namespace_uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_default_namespace( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * namespace_uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_comment( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * value); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_processing_instruction( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_processing_instruction_data( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * target, axis2_char_t * data); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_cdata( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * data); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_dtd( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * dtd); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_entity_ref( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * name); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_document( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_document_with_version( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_start_document_with_version_encoding( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * version, axis2_char_t * encoding); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_characters( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axiom_xml_writer_get_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return prefix */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_set_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * prefix, axis2_char_t * uri); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_set_default_prefix( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * uri); /** * sets the default prefix * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_encoded( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * text, int in_attr); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN void *AXIS2_CALL axiom_xml_writer_get_xml( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return */ AXIS2_EXTERN unsigned int AXIS2_CALL axiom_xml_writer_get_xml_size( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return size of the xml */ AXIS2_EXTERN int AXIS2_CALL axiom_xml_writer_get_type( axiom_xml_writer_t * writer, const axutil_env_t * env); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return type */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_write_raw( axiom_xml_writer_t * writer, const axutil_env_t * env, axis2_char_t * content); /** * @param writer pointer to the OM XML Writer struct * @param env environment struct, must not be null * * @return status of the op. AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_xml_writer_flush( axiom_xml_writer_t * writer, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_XML_WRITER_H */ axis2c-src-1.6.0/axiom/include/axiom_mime_part.h0000644000175000017500000000663411166304627022736 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_MIME_PART_H #define AXIOM_MIME_PART_H /** * @file axiom_mime_part.h * @brief axis2 mime_part interface */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_mime_part_t axiom_mime_part_t; /* An enum to keep different mime_part types */ typedef enum axiom_mime_part_type_t { /** Char buffer */ AXIOM_MIME_PART_BUFFER = 0, /* A file */ AXIOM_MIME_PART_FILE, /* User specified callback */ AXIOM_MIME_PART_CALLBACK, /* unknown type*/ AXIOM_MIME_PART_UNKNOWN } axiom_mime_part_type_t; struct axiom_mime_part_t { /* This is when the mime part is a buffer. * This will be null when the part is a file */ axis2_byte_t *part; /* This is to keep file name when the part is a file * NULL when the part is a buffer */ axis2_char_t *file_name; /* Size of the part. In the case of buffer this is * the buffer size and in the case of file this is the file size */ int part_size; /* This is one from the above defined enum */ axiom_mime_part_type_t type; /* This is required in the case of the callback */ void *user_param; }; AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axiom_mime_part_get_content_type_for_mime( const axutil_env_t * env, axis2_char_t * boundary, axis2_char_t * content_id, axis2_char_t * char_set_encoding, const axis2_char_t * soap_content_type); /** * Creates mime_part struct * @return pointer to newly created mime_part */ AXIS2_EXTERN axiom_mime_part_t *AXIS2_CALL axiom_mime_part_create( const axutil_env_t *env); /* This method will create the output part * list.*/ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axiom_mime_part_create_part_list( const axutil_env_t *env, axis2_char_t *soap_body, axutil_array_list_t *binary_node_list, axis2_char_t *boundary, axis2_char_t *content_id, axis2_char_t *char_set_encoding, const axis2_char_t *soap_content_type); AXIS2_EXTERN void AXIS2_CALL axiom_mime_part_free( axiom_mime_part_t *mime_part, const axutil_env_t *env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_MIME_PART_H */ axis2c-src-1.6.0/axiom/include/axiom_soap_fault_sub_code.h0000644000175000017500000000762211166304627024757 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_SOAP_FAULT_SUB_CODE_H #define AXIOM_SOAP_FAULT_SUB_CODE_H /** * @file axiom_soap_fault_sub_code.h * @brief axiom_soap_fault_sub_code struct */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_soap_fault_sub_code axiom_soap_fault_sub_code_t; struct axiom_soap_fault_value; struct axiom_soap_builder; /** * @defgroup axiom_soap_fault_sub_code soap fault sub code * @ingroup axiom_soap * @{ */ /** * creates a soap struct * @param env Environment. MUST NOT be NULL * @param fault_code SOAP fault code * * @return Created SOAP fault sub code */ AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_create_with_parent( const axutil_env_t * env, axiom_soap_fault_code_t * fault_code); /** * Create a SOAP fault sub code from the given SOAP fault and value * @param fault_sub_code pointer to soap_fault_sub_code struct * @param env Environment. MUST NOT be NULL * @param value the value to be set to the SOAP fault * * @return Created SOAP sub code */ AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_create_with_parent_value( const axutil_env_t * env, axiom_soap_fault_code_t * fault_code, axis2_char_t * value); /** * Free an axiom_soap_fault_sub_code * @param fault_sub_code pointer to soap_fault_sub_code struct * @param env Environment. MUST NOT be NULL * @return VOID */ AXIS2_EXTERN void AXIS2_CALL axiom_soap_fault_sub_code_free( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env); /** * Get the SOAP fault sub code * @param fault_sub_code pointer to soap_fault_sub_code struct * @param env Environment. MUST NOT be NULL * * @return the SOAP fault sub code */ AXIS2_EXTERN axiom_soap_fault_sub_code_t *AXIS2_CALL axiom_soap_fault_sub_code_get_sub_code( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env); /** * Get the value of the SOAP fault sub code * @param fault_sub_code pointer to soap_fault_sub_code struct * @param env Environment. MUST NOT be NULL * * @return the SOAP fault value */ AXIS2_EXTERN struct axiom_soap_fault_value *AXIS2_CALL axiom_soap_fault_sub_code_get_value( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env); /** * Get the base node of the SOAP fault sub code * @param fault_sub_code pointer to soap_fault_sub_code struct * @param env Environment. MUST NOT be NULL * * @return the base node of the SOAP fault sub code as OM node */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_soap_fault_sub_code_get_base_node( axiom_soap_fault_sub_code_t * fault_sub_code, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_SOAP_FAULT_SUB_CODE_H */ axis2c-src-1.6.0/axiom/include/axiom_children_with_specific_attribute_iterator.h0000644000175000017500000001173311166304627031441 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H /** *@file axiom_children_with_specific_attribute_iterator.h *@brief this is the iterator for om nodes */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axiom_children_with_specific_attribute_iterator axiom_children_with_specific_attribute_iterator_t; /** * @defgroup axiom_children_with_specific_attribute_iterator children with specific attribute iterator * @ingroup axiom_om * @{ */ /** * Free function free the om_children_with_specific_attribute_iterator struct * @param iterator a pointer to axiom children with specific attribute iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN void AXIS2_CALL axiom_children_with_specific_attribute_iterator_free( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env); /** * Removes from the underlying collection the last element returned by the * iterator (optional op). This method can be called only once per * call to next. The behavior of an iterator is unspecified if * the underlying collection is modified while the iteration is in * progress in any way other than by calling this method. * @param iterator a pointer to axiom children with specific attribute iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axiom_children_with_specific_attribute_iterator_remove( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env); /** * Returns true< if the iteration has more elements. (In other * words, returns true if next would return an axiom_node_t struct * rather than NULL with error code set in environment * @param iterator a pointer to axiom children with specific attribute iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axiom_children_with_specific_attribute_iterator_has_next( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env); /** * Returns the next element in the iteration. returns null if there is no * more elements in the iteration * @param iterator a pointer to axiom children with specific attribute iterator struct * @param env environment, MUST NOT be NULL */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axiom_children_with_specific_attribute_iterator_next( axiom_children_with_specific_attribute_iterator_t * iterator, const axutil_env_t * env); /** * @param env environment, MUST NOT be NULL * @param current_child the current child for the interation * @param attr_qname the qname for the attribute * @param attr_value the value string for the attribute * @param detach AXIS2_TRUE to detach AXIS2_FALSE not to * return axiom_children_with_specific_attribute_iterator_t */ AXIS2_EXTERN axiom_children_with_specific_attribute_iterator_t *AXIS2_CALL axiom_children_with_specific_attribute_iterator_create( const axutil_env_t * env, axiom_node_t * current_child, axutil_qname_t * attr_qname, axis2_char_t * attr_value, axis2_bool_t detach); #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_FREE(iterator, env) \ axiom_children_with_specific_attribute_iterator_free(iterator, env) #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_REMOVE(iterator, env) \ axiom_children_with_specific_attribute_iterator_remove(iterator, env) #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_HAS_NEXT(iterator, env) \ axiom_children_with_specific_attribute_iterator_has_next(iterator, env) #define AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_NEXT(iterator, env) \ axiom_children_with_specific_attribute_iterator_next(iterator, env) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIOM_CHILDREN_WITH_SPECIFIC_ATTRIBUTE_ITERATOR_H */ axis2c-src-1.6.0/axiom/COPYING0000644000175000017500000002613711166304645017023 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/axiom/CREDITS0000644000175000017500000000000011166304645016765 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/build/0000777000175000017500000000000011172017546015743 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/build/win32/0000777000175000017500000000000011172017547016706 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/build/win32/clean.bat0000644000175000017500000000003011166304563020445 0ustar00manjulamanjula00000000000000@nmake /nologo clean axis2c-src-1.6.0/build/win32/axis2_env.bat0000644000175000017500000000032511166304563021270 0ustar00manjulamanjula00000000000000SET AXIS2C_HOME=%AXIS2C_HOME% PATH=%PATH%;%ZLIB_HOME%\bin PATH=%PATH%;%CURL_HOME%\bin PATH=%PATH%;%ICONV_HOME%\bin PATH=%PATH%;%LIBXML_HOME%\bin PATH=%PATH%;%OPENSSL_HOME%\bin PATH=%PATH%;%AXIS2C_HOME%\lib axis2c-src-1.6.0/build/win32/configure.in0000644000175000017500000000427111166304563021217 0ustar00manjulamanjula00000000000000############################################################################# ### Build Details ### ############################################################################# # # enables https support ENABLE_SSL = 0 # # build libcurl transport ENABLE_LIBCURL = 0 # # build axis2 with Libxml2 Parser. Axis2/C will be built with embeded guththila # parser by Default. ENABLE_LIBXML2=0 # # build tcp server in addition to http server WITH_TCP = 1 # # build with archive based deployment WITH_ARCHIVE = 0 # # ############################################################################# ### Dependant Binary Locations (Required) ### ############################################################################# # # libxml2 binary location ( axis2c is built with libxml2 ) LIBXML2_BIN_DIR = E:\libxml2-2.6.30.win32 # # iconv binary location ICONV_BIN_DIR = E:\iconv-1.9.2.win32 # # zlib binary location ZLIB_BIN_DIR= E:\zlib-1.2.3.win32 # # ############################################################################# ### Dependant Binary Locations (Optional) ### ############################################################################# # # openssl binary location # required if ENABLE_SSL = 1 OPENSSL_BIN_DIR = E:\OpenSSL # # libcurl binary location, only required if libcurl transport is enabled LIBCURL_BIN_DIR = E:\libcurl-7.15.1-msvc-win32-ssl-0.9.8a-zlib-1.2.3 # # ############################################################################# ### Apache Server module (required when building Axis2/C Apache Module) ### ############################################################################# # # apache binary location APACHE_BIN_DIR = "E:\Apache22" # # apache 2 server family # To use apache 2.2 family, use APACHE_VERSION_IS_2_0_X = 0 APACHE_VERSION_2_0_X = 0 # # ############################################################################# ### Compiler Options ### ############################################################################# # # C runtime LIBRARY OPTION ( Use /MD or /MT ) CRUNTIME = /MT # # Embed Manifest Files EMBED_MANIFEST = 0 # # debug symbols # To build with debug symbols use DEBUG = 1 DEBUG = 0 # axis2c-src-1.6.0/build/win32/makefile0000644000175000017500000015505011172017547020410 0ustar00manjulamanjula00000000000000####################################################################################### ## This is the make file for Axis2/C # # This file should reside in the win32 directory of the source directory when executed. # nmake [all] - builds dlls, server and samples [ client, server ] # nmake clean - cleans everything # nmake samples - builds samples # nmake install - installs axis2 with server all modules and services # nmake dist - creates the distribution, builds all distributable components # # # It is possible to run individual targets to build those targets only. # eg: nmake axis2_apache_module, will build httpd module of Axis2/C # # The default install directory is ..\deploy with a directory structure as follows. # # AXIS2_BINDIR # | # |- bin - server and other executables # |- samples - samples # |- logs - log file location # |- lib - library modules # |- services - deployed services # |- modules - deployed modules # |- include - Axis2/C header files # |- tests # |- system_tests # |- unit tests # ######################################################################################### AUTOCONF = configure.in !include $(AUTOCONF) RELEASE_VER = 1.6.0 AXIS2_RELEASE_DIR=axis2c-bin-$(RELEASE_VER)-win32 # Directory structure ################################## AXIS2_BINDIR = ..\deploy AXIS2_SERVICES = $(AXIS2_BINDIR)\services AXIS2_MODULES = $(AXIS2_BINDIR)\modules AXIS2_LIBS = $(AXIS2_BINDIR)\lib AXIS2_BINS = $(AXIS2_BINDIR)\bin AXIS2_INCLUDE = $(AXIS2_BINDIR)\include AXIS2_SAMPLES = $(AXIS2_BINS)\samples AXIS2_TOOLS = $(AXIS2_BINS)\tools AXIS2_LOG = $(AXIS2_BINDIR)\logs AXIS2_TESTS = $(AXIS2_BINDIR)\tests AXIS2_TESTS_SYS = $(AXIS2_TESTS)\system_tests AXIS2_TESTS_UNIT = $(AXIS2_TESTS)\unit_tests AXIS2_SOURCE_DIR = ..\.. #directories for intermediate files ################################### AXIS2_INTDIR= .\int.msvc AXIS2_INTDIR_SAMPLES = $(AXIS2_INTDIR)\samples # Binary distribution librarys ############################## AXUTIL = axutil AXIS2_PARSER = axis2_parser AXIOM = axiom AXIS2_XPATH = axis2_xpath NEETHI = neethi AXIS2_HTTP_SENDER = axis2_http_sender AXIS2_HTTP_RECEIVER = axis2_http_receiver AXIS2_TCP_SENDER = axis2_tcp_sender AXIS2_TCP_RECEIVER = axis2_tcp_receiver AXIS2_ENGINE = axis2_engine AXIS2_APACHE_MODULE = mod_axis2 AXIS2_IIS_MODULE = axis2_mod_IIS AXIS2_MOD_ADDR = axis2_mod_addr AXIS2_HTTP_SERVER = axis2_http_server AXIS2_TCP_SERVER = axis2_tcp_server AXIS2_CGI = axis2.cgi GUTHTHILA = guththila AXIS2_MOD_LOG = axis2_mod_log # include path ################ APACHE_INCLUDE_PATH = /I$(APACHE_BIN_DIR)\include AXIS2_INCLUDE_PATH = /I$(AXIS2_SOURCE_DIR)\util\include \ /I$(AXIS2_SOURCE_DIR)\util\src\ \ /I$(AXIS2_SOURCE_DIR)\util\src\minizip\ \ /I$(AXIS2_SOURCE_DIR)\axiom\include \ /I$(AXIS2_SOURCE_DIR)\axiom\src\om \ /I$(AXIS2_SOURCE_DIR)\axiom\src\soap \ /I$(AXIS2_SOURCE_DIR)\util\include\platforms \ /I$(AXIS2_SOURCE_DIR)\neethi\include \ /I$(AXIS2_SOURCE_DIR)\neethi\src \ /I$(AXIS2_SOURCE_DIR)\neethi\src\secpolicy\builder \ /I$(AXIS2_SOURCE_DIR)\neethi\src\secpolicy\model \ /I$(AXIS2_SOURCE_DIR)\src\core\clientapi \ /I$(AXIS2_SOURCE_DIR)\src\core\deployment \ /I$(AXIS2_SOURCE_DIR)\src\core\description \ /I$(AXIS2_SOURCE_DIR)\src\core\transport \ /I$(AXIS2_SOURCE_DIR)\src\core\transport\tcp \ /I$(AXIS2_SOURCE_DIR)\include \ /I$(AXIS2_SOURCE_DIR)\src\core\engine \ /I$(AXIS2_SOURCE_DIR)\src\core\context \ /I$(AXIS2_SOURCE_DIR)\src\core\util \ /I$(AXIS2_SOURCE_DIR)\src\core\transport\http\server\apache2 \ /I$(AXIS2_SOURCE_DIR)\axiom\src\attachments \ /I$(AXIS2_SOURCE_DIR)\tools\tcpmon\include GUTHTHILA_INCLUDE_PATH = /I$(AXIS2_SOURCE_DIR)\guththila\include LIBXML2_INCLUDE_PATH = /I$(LIBXML2_BIN_DIR)\include /I$(ICONV_BIN_DIR)\include # optional include paths ######################## !if "$(WITH_ARCHIVE)" == "1" AXIS2_INCLUDE_PATH = $(AXIS2_INCLUDE_PATH) /I$(ZLIB_BIN_DIR)\include !endif !if "$(ENABLE_SSL)" == "1" AXIS2_INCLUDE_PATH = $(AXIS2_INCLUDE_PATH) /I$(OPENSSL_BIN_DIR)\include !endif !if "$(ENABLE_LIBCURL)" == "1" AXIS2_INCLUDE_PATH = $(AXIS2_INCLUDE_PATH) /I$(LIBCURL_BIN_DIR)\include !endif # Compiler Options ################### CC = @cl.exe CFLAGS = /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "AXIS2_DECLARE_EXPORT" \ /D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_SECURE_NO_WARNINGS" \ /D "AXIS2_SVR_MULTI_THREADED" /W3 /wd4100 /MP10 /nologo $(AXIS2_INCLUDE_PATH) \ $(APACHE_INCLUDE_PATH) !if "$(ENABLE_SSL)" == "1" CFLAGS = $(CFLAGS) /D "AXIS2_SSL_ENABLED" !endif !if "$(ENABLE_LIBCURL)" == "1" CFLAGS = $(CFLAGS) /D "AXIS2_LIBCURL_ENABLED" !endif !if "$(ENABLE_LIBXML2)" == "1" CFLAGS = $(CFLAGS) /D "AXIS2_LIBXML2_ENABLED" $(LIBXML2_INCLUDE_PATH) !else CFLAGS = $(CFLAGS) /D "AXIS2_GUTHTHILA_ENABLED" $(GUTHTHILA_INCLUDE_PATH) !endif # Linker Options #################### LD = @link.exe LDFLAGS = /NOLOGO /LIBPATH:$(AXIS2_LIBS) /LIBPATH:$(LIBXML2_BIN_DIR)\lib \ /LIBPATH:$(APACHE_BIN_DIR)\lib /LIBPATH:$(ZLIB_BIN_DIR)\lib LIBS = Rpcrt4.lib Ws2_32.lib !if "$(ENABLE_SSL)" == "1" LDFLAGS = $(LDFLAGS) /LIBPATH:$(OPENSSL_BIN_DIR)\lib\VC LIBS = $(LIBS) libeay32MD.lib ssleay32MD.lib !endif !if "$(ENABLE_LIBCURL)" == "1" LDFLAGS = $(LDFLAGS) /LIBPATH:$(LIBCURL_BIN_DIR) LIBS = $(LIBS) libcurl_imp.lib !endif !if "$(APACHE_VERSION_2_0_X)" == "1" APACHE_LIBS = apr.lib xml.lib libhttpd.lib libaprutil.lib libapr.lib !else APACHE_LIBS = apr-1.lib xml.lib libhttpd.lib libapr-1.lib libaprutil-1.lib !endif # Manifest Options #################### MT=mt.exe MT="$(MT)" !if "$(EMBED_MANIFEST)" == "0" _VC_MANIFEST_EMBED_EXE= _VC_MANIFEST_EMBED_DLL= !else _VC_MANIFEST_EMBED_EXE= if exist $@.manifest $(MT) -nologo -manifest $@.manifest -outputresource:$@;1 _VC_MANIFEST_EMBED_DLL= if exist $@.manifest $(MT) -nologo -manifest $@.manifest -outputresource:$@;2 !endif # Debug Symbols ##################### !if "$(DEBUG)" == "1" CFLAGS = $(CFLAGS) /D "_DEBUG" /Od /Z7 $(CRUNTIME)d LDFLAGS = $(LDFLAGS) /DEBUG !else CFLAGS = $(CFLAGS) /D "NDEBUG" /O2 $(CRUNTIME) LDFLAGS = $(LDFLAGS) !endif # Build Targets ################# # create the directory structure deploy: @if not exist $(AXIS2_BINDIR) mkdir $(AXIS2_BINDIR) @if not exist $(AXIS2_BINS) mkdir $(AXIS2_BINS) @if not exist $(AXIS2_SERVICES) mkdir $(AXIS2_SERVICES) @if not exist $(AXIS2_MODULES) mkdir $(AXIS2_MODULES) @if not exist $(AXIS2_LIBS) mkdir $(AXIS2_LIBS) @if not exist $(AXIS2_INCLUDE) mkdir $(AXIS2_INCLUDE) @if not exist $(AXIS2_LOG) mkdir $(AXIS2_LOG) @if not exist $(AXIS2_MODULES)\addressing mkdir $(AXIS2_MODULES)\addressing @if not exist $(AXIS2_INTDIR) mkdir $(AXIS2_INTDIR) @if not exist $(AXIS2_INTDIR_SAMPLES) mkdir $(AXIS2_INTDIR_SAMPLES) #clean clean: if exist $(AXIS2_BINDIR) rmdir /S /Q $(AXIS2_BINDIR) if exist $(AXIS2_INTDIR) rmdir /S /Q $(AXIS2_INTDIR) # axutil ################### AXUTIL_SRC = $(AXIS2_SOURCE_DIR)\util\src AXIS2_INTDIR_AXUTIL = $(AXIS2_INTDIR)\util AXIS2_INTDIR_AXUTIL1 = $(AXIS2_INTDIR_AXUTIL)\platform AXIS2_INTDIR_AXUTIL2 =$(AXIS2_INTDIR_AXUTIL)\minizip AXUTIL_OBJS = $(AXIS2_INTDIR_AXUTIL)\*.obj \ $(AXIS2_INTDIR_AXUTIL)\platform\*.obj !if "$(WITH_ARCHIVE)" == "1" AXUTIL_OBJS = $(AXUTIL_OBJS) $(AXIS2_INTDIR_AXUTIL)\minizip\*.obj !endif $(AXIS2_INTDIR_AXUTIL) : @if not exist $(AXIS2_INTDIR_AXUTIL) mkdir $(AXIS2_INTDIR_AXUTIL) $(AXIS2_INTDIR_AXUTIL1) : @if not exist $(AXIS2_INTDIR_AXUTIL1) mkdir $(AXIS2_INTDIR_AXUTIL1) $(AXIS2_INTDIR_AXUTIL2) : @if not exist $(AXIS2_INTDIR_AXUTIL2) mkdir $(AXIS2_INTDIR_AXUTIL2) {$(AXUTIL_SRC)}.c{$(AXIS2_INTDIR_AXUTIL)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_INTDIR_AXUTIL)\ /c $< {$(AXUTIL_SRC)\platforms\windows}.c{$(AXIS2_INTDIR_AXUTIL1)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_INTDIR_AXUTIL1)\ /c $< !if "$(WITH_ARCHIVE)" == "1" {$(AXUTIL_SRC)\minizip}.c{$(AXIS2_INTDIR_AXUTIL2)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_INTDIR_AXUTIL2)\ /c $< $(AXUTIL_OBJS) : $(AXIS2_INTDIR_AXUTIL) $(AXIS2_INTDIR_AXUTIL1) $(AXIS2_INTDIR_AXUTIL2) $(AXIS2_LIBS)\$(AXUTIL).dll : $(AXUTIL_OBJS) $(LD) $(LDFLAGS) $(AXUTIL_OBJS) $(LIBS) $(ZLIB_BIN_DIR)\lib\zdll.lib \ /DLL /OUT:$(AXIS2_LIBS)\$(AXUTIL).dll /IMPLIB:$(AXIS2_LIBS)\$(AXUTIL).lib -@$(_VC_MANIFEST_EMBED_DLL) !else $(AXUTIL_OBJS) : $(AXIS2_INTDIR_AXUTIL) $(AXIS2_INTDIR_AXUTIL1) $(AXIS2_LIBS)\$(AXUTIL).dll : $(AXUTIL_OBJS) $(LD) $(LDFLAGS) $(AXUTIL_OBJS) $(LIBS) /DLL /OUT:$(AXIS2_LIBS)\$(AXUTIL).dll \ /IMPLIB:$(AXIS2_LIBS)\$(AXUTIL).lib -@$(_VC_MANIFEST_EMBED_DLL) !endif axis2_util : $(AXIS2_LIBS)\$(AXUTIL).dll #end axutil # guththila ################## GUTHTHILA_SRC = $(AXIS2_SOURCE_DIR)\guththila\src AXIS2_INTDIR_GUTHTHILA = $(AXIS2_INTDIR)\guththila GUTHTHILA_OBJS = $(AXIS2_INTDIR_GUTHTHILA)\*.obj $(AXIS2_INTDIR_GUTHTHILA) : @if not exist $(AXIS2_INTDIR_GUTHTHILA) mkdir $(AXIS2_INTDIR_GUTHTHILA) {$(GUTHTHILA_SRC)}.c{$(AXIS2_INTDIR_GUTHTHILA)}.obj :: $(CC) $(CFLAGS) $(GUTHTHILA_INCLUDE_PATH) /Fo$(AXIS2_INTDIR_GUTHTHILA)\ /c $< $(GUTHTHILA_OBJS) : $(AXIS2_INTDIR_GUTHTHILA) $(AXIS2_LIBS)\$(GUTHTHILA).dll : $(GUTHTHILA_OBJS) $(LD) $(LDFLAGS) $(GUTHTHILA_OBJS) $(AXUTIL).lib $(LIBS) \ /DLL /OUT:$(AXIS2_LIBS)\$(GUTHTHILA).dll /IMPLIB:$(AXIS2_LIBS)\$(GUTHTHILA).lib -@$(_VC_MANIFEST_EMBED_DLL) guththila: $(AXIS2_LIBS)\$(GUTHTHILA).dll # end guththila # axis2 parser ################### AXIS2_PARSER_SRC = $(AXIS2_SOURCE_DIR)\axiom\src\parser AXIS2_INTDIR_PARSER = $(AXIS2_INTDIR)\parser $(AXIS2_INTDIR_PARSER) : @if not exist $(AXIS2_INTDIR_PARSER) mkdir $(AXIS2_INTDIR_PARSER) !if "$(ENABLE_LIBXML2)" == "1" AXIS2_INTDIR_PARSER1 = $(AXIS2_INTDIR)\parser\libxml2 AXIS2_PARSER_OBJS = $(AXIS2_INTDIR_PARSER)\*.obj \ $(AXIS2_INTDIR_PARSER)\libxml2\*.obj PARSER_LIB= $(LIBXML2_BIN_DIR)\lib\libxml2.lib !else AXIS2_INTDIR_PARSER1 = $(AXIS2_INTDIR)\parser\guththila AXIS2_PARSER_OBJS = $(AXIS2_INTDIR_PARSER)\*.obj \ $(AXIS2_INTDIR_PARSER)\guththila\*.obj PARSER_LIB = $(AXIS2_LIBS)\$(GUTHTHILA).lib !endif $(AXIS2_INTDIR_PARSER1) : @if not exist $(AXIS2_INTDIR_PARSER1) mkdir $(AXIS2_INTDIR_PARSER1) {$(AXIS2_PARSER_SRC)}.c{$(AXIS2_INTDIR_PARSER)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_INTDIR_PARSER)\ /c $< !if "$(ENABLE_LIBXML2)"=="1" {$(AXIS2_PARSER_SRC)\libxml2}.c{$(AXIS2_INTDIR_PARSER1)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_INTDIR_PARSER1)\ /c $< !else {$(AXIS2_PARSER_SRC)\guththila}.c{$(AXIS2_INTDIR_PARSER1)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_INTDIR_PARSER1)\ /c $< !endif $(AXIS2_PARSER_OBJS) : $(AXIS2_INTDIR_PARSER) $(AXIS2_INTDIR_PARSER1) $(AXIS2_LIBS)\$(AXIS2_PARSER).dll : $(AXIS2_PARSER_OBJS) $(LD) $(LDFLAGS) $(AXIS2_PARSER_OBJS) $(AXUTIL).lib $(LIBS) $(PARSER_LIB) /DLL \ /OUT:$(AXIS2_LIBS)\$(AXIS2_PARSER).dll /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_PARSER).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_parser : $(AXIS2_LIBS)\$(AXIS2_PARSER).dll # decide build order !if "$(ENABLE_LIBXML2)"=="1" axis2_basic_modules: axis2_util axis2_parser !else axis2_basic_modules: axis2_util guththila axis2_parser !endif #end parser ##### axiom AXIOM_SRC = $(AXIS2_SOURCE_DIR)\axiom\src AXIOM_INTDIR = $(AXIS2_INTDIR)\axiom\om AXIOM_INTDIR1 = $(AXIS2_INTDIR)\axiom\soap AXIOM_INTDIR2 = $(AXIS2_INTDIR)\axiom\util AXIOM_INTDIR3 = $(AXIS2_INTDIR)\axiom\attachments AXIOM_OBJS = $(AXIOM_INTDIR)\*.obj \ $(AXIOM_INTDIR1)\*.obj \ $(AXIOM_INTDIR2)\*.obj \ $(AXIOM_INTDIR3)\*.obj $(AXIOM_INTDIR) : @if not exist $(AXIOM_INTDIR) mkdir $(AXIOM_INTDIR) $(AXIOM_INTDIR1) : @if not exist $(AXIOM_INTDIR1) mkdir $(AXIOM_INTDIR1) $(AXIOM_INTDIR2) : @if not exist $(AXIOM_INTDIR2) mkdir $(AXIOM_INTDIR2) $(AXIOM_INTDIR3) : @if not exist $(AXIOM_INTDIR3) mkdir $(AXIOM_INTDIR3) {$(AXIOM_SRC)\om}.c{$(AXIOM_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIOM_INTDIR)\ /c $< {$(AXIOM_SRC)\soap}.c{$(AXIOM_INTDIR1)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIOM_INTDIR1)\ /c $< {$(AXIOM_SRC)\util}.c{$(AXIOM_INTDIR2)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIOM_INTDIR2)\ /c $< {$(AXIOM_SRC)\attachments}.c{$(AXIOM_INTDIR3)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIOM_INTDIR3)\ /c $< $(AXIOM_OBJS) : $(AXIOM_INTDIR) $(AXIOM_INTDIR1) $(AXIOM_INTDIR2) $(AXIOM_INTDIR3) $(AXIS2_LIBS)\$(AXIOM).dll : $(AXIOM_OBJS) $(LD) $(LDFLAGS) $(AXIOM_OBJS) $(AXUTIL).lib $(AXIS2_PARSER).lib $(LIBS) \ /DLL /OUT:$(AXIS2_LIBS)\$(AXIOM).dll /IMPLIB:$(AXIS2_LIBS)\$(AXIOM).lib -@$(_VC_MANIFEST_EMBED_DLL) axiom : $(AXIS2_LIBS)\$(AXIOM).dll ##### end axiom ##### axis2_xpath XPATH_SRC = $(AXIS2_SOURCE_DIR)\axiom\src\xpath XPATH_INTDIR = $(AXIS2_INTDIR)\axiom\xpath XPATH_OBJS = $(XPATH_INTDIR)\*.obj $(XPATH_INTDIR) : @if not exist $(XPATH_INTDIR) mkdir $(XPATH_INTDIR) {$(AXIOM_SRC)\xpath}.c{$(XPATH_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(XPATH_INTDIR)\ /c $< $(XPATH_OBJS) : $(XPATH_INTDIR) $(AXIS2_LIBS)\$(AXIS2_XPATH).dll : $(XPATH_OBJS) $(LD) $(LDFLAGS) $(XPATH_OBJS) $(AXUTIL).lib $(AXIOM).lib $(LIBS) \ /DLL /OUT:$(AXIS2_LIBS)\$(AXIS2_XPATH).dll /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_XPATH).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_xpath : $(AXIS2_LIBS)\$(AXIS2_XPATH).dll ##### end axis2_xpath ##### neethi NEETHI_SRC = $(AXIS2_SOURCE_DIR)\neethi\src NEETHI_INTDIR = $(AXIS2_INTDIR)\neethi NEETHI_INTDIR1 = $(AXIS2_INTDIR)\neethi\model NEETHI_INTDIR2 = $(AXIS2_INTDIR)\neethi\builder NEETHI_INTDIR3 = $(AXIS2_INTDIR)\neethi\rmpolicy NEETHI_OBJS = $(NEETHI_INTDIR)\*.obj \ $(NEETHI_INTDIR)\model\*.obj \ $(NEETHI_INTDIR)\builder\*.obj \ $(NEETHI_INTDIR)\rmpolicy\*.obj $(NEETHI_INTDIR) : @if not exist $(NEETHI_INTDIR) mkdir $(NEETHI_INTDIR) $(NEETHI_INTDIR1) : @if not exist $(NEETHI_INTDIR1) mkdir $(NEETHI_INTDIR1) $(NEETHI_INTDIR2) : @if not exist $(NEETHI_INTDIR2) mkdir $(NEETHI_INTDIR2) $(NEETHI_INTDIR3) : @if not exist $(NEETHI_INTDIR3) mkdir $(NEETHI_INTDIR3) {$(NEETHI_SRC)}.c{$(NEETHI_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(NEETHI_INTDIR)\ /c $< {$(NEETHI_SRC)\secpolicy\model}.c{$(NEETHI_INTDIR1)}.obj :: $(CC) $(CFLAGS) /Fo$(NEETHI_INTDIR1)\ /c $< {$(NEETHI_SRC)\secpolicy\builder}.c{$(NEETHI_INTDIR2)}.obj :: $(CC) $(CFLAGS) /Fo$(NEETHI_INTDIR2)\ /c $< {$(NEETHI_SRC)\rmpolicy}.c{$(NEETHI_INTDIR3)}.obj :: $(CC) $(CFLAGS) /Fo$(NEETHI_INTDIR3)\ /c $< $(NEETHI_OBJS) : $(NEETHI_INTDIR) $(NEETHI_INTDIR1) $(NEETHI_INTDIR2) $(NEETHI_INTDIR3) $(AXIS2_LIBS)\$(NEETHI).dll : $(NEETHI_OBJS) $(LD) $(LDFLAGS) $(NEETHI_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ /DLL /OUT:$(AXIS2_LIBS)\$(NEETHI).dll /IMPLIB:$(AXIS2_LIBS)\$(NEETHI).lib -@$(_VC_MANIFEST_EMBED_DLL) neethi : $(AXIS2_LIBS)\$(NEETHI).dll ##### end neethi ##### axis2 engine ENGINE_SRC = $(AXIS2_SOURCE_DIR)\src\core ENGINE_INTDIR = $(AXIS2_INTDIR)\core\addr ENGINE_INTDIR1 = $(AXIS2_INTDIR)\core\clientapi ENGINE_INTDIR2 = $(AXIS2_INTDIR)\core\context ENGINE_INTDIR3 = $(AXIS2_INTDIR)\core\deployment ENGINE_INTDIR4 = $(AXIS2_INTDIR)\core\description ENGINE_INTDIR5 = $(AXIS2_INTDIR)\core\engine ENGINE_INTDIR6 = $(AXIS2_INTDIR)\core\phaseresolver ENGINE_INTDIR7 = $(AXIS2_INTDIR)\core\receivers ENGINE_INTDIR8 = $(AXIS2_INTDIR)\core\util ENGINE_INTDIR9 = $(AXIS2_INTDIR)\core\transport ENGINE_INTDIR10 = $(AXIS2_INTDIR)\core\transport\http\common ENGINE_INTDIR11 = $(AXIS2_INTDIR)\core\transport\http\util ENGINE_OBJS = $(ENGINE_INTDIR)\*.obj \ $(ENGINE_INTDIR1)\*.obj \ $(ENGINE_INTDIR2)\*.obj \ $(ENGINE_INTDIR3)\*.obj \ $(ENGINE_INTDIR4)\*.obj \ $(ENGINE_INTDIR5)\*.obj \ $(ENGINE_INTDIR6)\*.obj \ $(ENGINE_INTDIR7)\*.obj \ $(ENGINE_INTDIR8)\*.obj \ $(ENGINE_INTDIR9)\*.obj \ $(ENGINE_INTDIR10)\*.obj \ $(ENGINE_INTDIR11)\*.obj $(ENGINE_INTDIR) : @if not exist $(ENGINE_INTDIR) mkdir $(ENGINE_INTDIR) $(ENGINE_INTDIR1) : @if not exist $(ENGINE_INTDIR1) mkdir $(ENGINE_INTDIR1) $(ENGINE_INTDIR2) : @if not exist $(ENGINE_INTDIR2) mkdir $(ENGINE_INTDIR2) $(ENGINE_INTDIR3) : @if not exist $(ENGINE_INTDIR3) mkdir $(ENGINE_INTDIR3) $(ENGINE_INTDIR4) : @if not exist $(ENGINE_INTDIR4) mkdir $(ENGINE_INTDIR4) $(ENGINE_INTDIR5) : @if not exist $(ENGINE_INTDIR5) mkdir $(ENGINE_INTDIR5) $(ENGINE_INTDIR6) : @if not exist $(ENGINE_INTDIR6) mkdir $(ENGINE_INTDIR6) $(ENGINE_INTDIR7) : @if not exist $(ENGINE_INTDIR7) mkdir $(ENGINE_INTDIR7) $(ENGINE_INTDIR8) : @if not exist $(ENGINE_INTDIR8) mkdir $(ENGINE_INTDIR8) $(ENGINE_INTDIR9) : @if not exist $(ENGINE_INTDIR9) mkdir $(ENGINE_INTDIR9) $(ENGINE_INTDIR10) : @if not exist $(ENGINE_INTDIR10) mkdir $(ENGINE_INTDIR10) $(ENGINE_INTDIR11) : @if not exist $(ENGINE_INTDIR11) mkdir $(ENGINE_INTDIR11) {$(ENGINE_SRC)\addr}.c{$(ENGINE_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR)\ /c $< {$(ENGINE_SRC)\clientapi}.c{$(ENGINE_INTDIR1)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR1)\ /c $< {$(ENGINE_SRC)\context}.c{$(ENGINE_INTDIR2)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR2)\ /c $< {$(ENGINE_SRC)\deployment}.c{$(ENGINE_INTDIR3)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR3)\ /c $< {$(ENGINE_SRC)\description}.c{$(ENGINE_INTDIR4)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR4)\ /c $< {$(ENGINE_SRC)\engine}.c{$(ENGINE_INTDIR5)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR5)\ /c $< {$(ENGINE_SRC)\phaseresolver}.c{$(ENGINE_INTDIR6)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR6)\ /c $< {$(ENGINE_SRC)\receivers}.c{$(ENGINE_INTDIR7)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR7)\ /c $< {$(ENGINE_SRC)\util}.c{$(ENGINE_INTDIR8)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR8)\ /c $< {$(ENGINE_SRC)\transport}.c{$(ENGINE_INTDIR9)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR9)\ /c $< {$(ENGINE_SRC)\transport\http\common}.c{$(ENGINE_INTDIR10)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR10)\ /c $< {$(ENGINE_SRC)\transport\http\util}.c{$(ENGINE_INTDIR11)}.obj :: $(CC) $(CFLAGS) /Fo$(ENGINE_INTDIR11)\ /c $< $(ENGINE_OBJS) : $(ENGINE_INTDIR) $(ENGINE_INTDIR1) $(ENGINE_INTDIR2) $(ENGINE_INTDIR3) \ $(ENGINE_INTDIR4) $(ENGINE_INTDIR5) $(ENGINE_INTDIR6) $(ENGINE_INTDIR7) \ $(ENGINE_INTDIR8) $(ENGINE_INTDIR9) $(ENGINE_INTDIR10) $(ENGINE_INTDIR11) $(AXIS2_LIBS)\$(AXIS2_ENGINE).dll : $(ENGINE_OBJS) $(LD) $(LDFLAGS) $(ENGINE_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(NEETHI).lib $(LIBS) /DLL /OUT:$(AXIS2_LIBS)\$(AXIS2_ENGINE).dll \ /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_ENGINE).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_engine : $(AXIS2_LIBS)\$(AXIS2_ENGINE).dll ##### end axis2 engine ##### axis2 http sender HTTP_SENDER_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\http\sender HTTP_SENDER_INTDIR = $(AXIS2_INTDIR)\http_sender HTTP_SENDER_INTDIR1 = $(AXIS2_INTDIR)\http_sender\ssl HTTP_SENDER_INTDIR2 = $(AXIS2_INTDIR)\http_sender\libcurl HTTP_SENDER_OBJS = $(HTTP_SENDER_INTDIR)\*.obj $(HTTP_SENDER_INTDIR) : @if not exist $(HTTP_SENDER_INTDIR) mkdir $(HTTP_SENDER_INTDIR) $(HTTP_SENDER_INTDIR1) : @if not exist $(HTTP_SENDER_INTDIR1) mkdir $(HTTP_SENDER_INTDIR1) $(HTTP_SENDER_INTDIR2) : @if not exist $(HTTP_SENDER_INTDIR2) mkdir $(HTTP_SENDER_INTDIR2) {$(HTTP_SENDER_SRC)}.c{$(HTTP_SENDER_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(HTTP_SENDER_INTDIR)\ /c $< {$(HTTP_SENDER_SRC)\ssl}.c{$(HTTP_SENDER_INTDIR1)}.obj :: $(CC) $(CFLAGS) /Fo$(HTTP_SENDER_INTDIR1)\ /c $< {$(HTTP_SENDER_SRC)\libcurl}.c{$(HTTP_SENDER_INTDIR2)}.obj :: $(CC) $(CFLAGS) /Fo$(HTTP_SENDER_INTDIR2)\ /c $< !if "$(ENABLE_SSL)" == "1" !if "$(ENABLE_LIBCURL)" == "1" HTTP_SENDER_OBJS = $(HTTP_SENDER_OBJS) \ $(HTTP_SENDER_INTDIR1)\*.obj \ $(HTTP_SENDER_INTDIR2)\*.obj $(HTTP_SENDER_OBJS) : $(HTTP_SENDER_INTDIR) $(HTTP_SENDER_INTDIR1) $(HTTP_SENDER_INTDIR2) !else HTTP_SENDER_OBJS = $(HTTP_SENDER_OBJS) \ $(HTTP_SENDER_INTDIR1)\*.obj $(HTTP_SENDER_OBJS) : $(HTTP_SENDER_INTDIR) $(HTTP_SENDER_INTDIR1) !endif !elseif "$(ENABLE_LIBCURL)" == "1" HTTP_SENDER_OBJS = $(HTTP_SENDER_OBJS) \ $(HTTP_SENDER_INTDIR2)\*.obj $(HTTP_SENDER_OBJS) : $(HTTP_SENDER_INTDIR) $(HTTP_SENDER_INTDIR2) !else $(HTTP_SENDER_OBJS) : $(HTTP_SENDER_INTDIR) !endif $(AXIS2_LIBS)\$(AXIS2_HTTP_SENDER).dll : $(HTTP_SENDER_OBJS) $(LD) $(LDFLAGS) $(HTTP_SENDER_OBJS) $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /DLL /OUT:$(AXIS2_LIBS)\$(AXIS2_HTTP_SENDER).dll /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_HTTP_SENDER).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_http_sender : $(AXIS2_LIBS)\$(AXIS2_HTTP_SENDER).dll # axis2 http sender # axis2_tcp_sender ########################## TCP_SENDER_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\tcp\sender TCP_SENDER_INTDIR = $(AXIS2_INTDIR)\tcp_sender TCP_SENDER_OBJS = $(TCP_SENDER_INTDIR)\*.obj $(TCP_SENDER_INTDIR) : @if not exist $(TCP_SENDER_INTDIR) mkdir $(TCP_SENDER_INTDIR) {$(TCP_SENDER_SRC)}.c{$(TCP_SENDER_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(TCP_SENDER_INTDIR)\ /c $< $(TCP_SENDER_OBJS) : $(TCP_SENDER_INTDIR) $(AXIS2_LIBS)\$(AXIS2_TCP_SENDER).dll : $(TCP_SENDER_OBJS) $(LD) $(LDFLAGS) $(TCP_SENDER_OBJS) $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /DLL /OUT:$(AXIS2_LIBS)\$(AXIS2_TCP_SENDER).dll /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_TCP_SENDER).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_tcp_sender : $(AXIS2_LIBS)\$(AXIS2_TCP_SENDER).dll # end axis2_tcp_sender # axis2 http receiver ############################## HTTP_RECEIVER_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\http\receiver HTTP_RECEIVER_INTDIR = $(AXIS2_INTDIR)\http_receiver HTTP_RECEIVER_OBJS = $(HTTP_RECEIVER_INTDIR)\*.obj $(HTTP_RECEIVER_INTDIR) : @if not exist $(HTTP_RECEIVER_INTDIR) mkdir $(HTTP_RECEIVER_INTDIR) {$(HTTP_RECEIVER_SRC)}.c{$(HTTP_RECEIVER_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(HTTP_RECEIVER_INTDIR)\ /c $< $(HTTP_RECEIVER_OBJS) : $(HTTP_RECEIVER_INTDIR) $(AXIS2_LIBS)\$(AXIS2_HTTP_RECEIVER).dll : $(HTTP_RECEIVER_OBJS) $(LD) $(LDFLAGS) $(HTTP_RECEIVER_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_LIBS)\$(AXIS2_HTTP_RECEIVER).dll \ /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_HTTP_RECEIVER).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_http_receiver : $(AXIS2_LIBS)\$(AXIS2_HTTP_RECEIVER).dll # end axis2 http receiver # axis2_tcp_receiver ########################## TCP_RECEIVER_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\tcp\receiver TCP_RECEIVER_INTDIR = $(AXIS2_INTDIR)\tcp_receiver TCP_RECEIVER_OBJS = $(TCP_RECEIVER_INTDIR)\*.obj $(TCP_RECEIVER_INTDIR) : @if not exist $(TCP_RECEIVER_INTDIR) mkdir $(TCP_RECEIVER_INTDIR) {$(TCP_RECEIVER_SRC)}.c{$(TCP_RECEIVER_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(TCP_RECEIVER_INTDIR)\ /c $< $(TCP_RECEIVER_OBJS) : $(TCP_RECEIVER_INTDIR) $(AXIS2_LIBS)\$(AXIS2_TCP_RECEIVER).dll : $(TCP_RECEIVER_OBJS) $(LD) $(LDFLAGS) $(TCP_RECEIVER_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_LIBS)\$(AXIS2_TCP_RECEIVER).dll \ /IMPLIB:$(AXIS2_LIBS)\$(AXIS2_TCP_RECEIVER).lib -@$(_VC_MANIFEST_EMBED_DLL) axis2_tcp_receiver : $(AXIS2_LIBS)\$(AXIS2_TCP_RECEIVER).dll ##### end axis2_tcp_receiver ##### axis2 mod addr ADDR_SRC = $(AXIS2_SOURCE_DIR)\src\modules\mod_addr ADDR_INTDIR = $(AXIS2_INTDIR)\addressing ADDR_OBJS = $(ADDR_INTDIR)\*.obj $(ADDR_INTDIR) : @if not exist $(ADDR_INTDIR) mkdir $(ADDR_INTDIR) {$(ADDR_SRC)}.c{$(ADDR_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(ADDR_INTDIR)\ /c $< $(ADDR_OBJS) : $(ADDR_INTDIR) $(AXIS2_MODULES)\addressing\$(AXIS2_MOD_ADDR).dll : $(ADDR_OBJS) $(LD) $(LDFLAGS) $(ADDR_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_MODULES)\addressing\$(AXIS2_MOD_ADDR).dll @copy $(AXIS2_SOURCE_DIR)\src\modules\mod_addr\module.xml $(AXIS2_MODULES)\addressing -@$(_VC_MANIFEST_EMBED_DLL) axis2_mod_addr : $(AXIS2_MODULES)\addressing\$(AXIS2_MOD_ADDR).dll ##### end axis2 mod addr ##### simple_axis_server SIMPLE_AXIS2_SVR_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\http\server\simple_axis2_server AXIS2_SVR_INTDIR = $(AXIS2_INTDIR)\simple_http_server AXIS2_SVR_OBJS = $(AXIS2_INTDIR)\simple_http_server\*.obj $(AXIS2_SVR_INTDIR) : @if not exist $(AXIS2_SVR_INTDIR) mkdir $(AXIS2_SVR_INTDIR) {$(SIMPLE_AXIS2_SVR_SRC)}.c{$(AXIS2_SVR_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_SVR_INTDIR)\ /c $< $(AXIS2_SVR_OBJS) : $(AXIS2_SVR_INTDIR) $(AXIS2_BINS)\$(AXIS2_HTTP_SERVER).exe : $(AXIS2_SVR_OBJS) $(LD) $(LDFLAGS) $(AXIS2_SVR_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib $(AXIS2_HTTP_RECEIVER).lib /OUT:$(AXIS2_BINS)\$(AXIS2_HTTP_SERVER).exe -@$(_VC_MANIFEST_EMBED_EXE) @copy $(AXIS2_SOURCE_DIR)\samples\server\axis2.xml $(AXIS2_BINDIR)\ simple_axis2_http_server : $(AXIS2_BINS)\$(AXIS2_HTTP_SERVER).exe ##### end simple_axis2_server ##### simple tcp server AXIS2_TCP_SVR_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\tcp\server\simple_tcp_server AXIS2_TCP_SVR_INTDIR = $(AXIS2_INTDIR)\simple_tcp_server AXIS2_TCP_SVR_OBJS = $(AXIS2_INTDIR)\simple_tcp_server\*.obj $(AXIS2_TCP_SVR_INTDIR) : @if not exist $(AXIS2_TCP_SVR_INTDIR) mkdir $(AXIS2_TCP_SVR_INTDIR) {$(AXIS2_TCP_SVR_SRC)}.c{$(AXIS2_TCP_SVR_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(AXIS2_TCP_SVR_INTDIR)\ /c $< $(AXIS2_TCP_SVR_OBJS) : $(AXIS2_TCP_SVR_INTDIR) $(AXIS2_BINS)\$(AXIS2_TCP_SERVER).exe : $(AXIS2_TCP_SVR_OBJS) $(LD) $(LDFLAGS) $(AXIS2_TCP_SVR_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib $(AXIS2_TCP_RECEIVER).lib /OUT:$(AXIS2_BINS)\$(AXIS2_TCP_SERVER).exe -@$(_VC_MANIFEST_EMBED_EXE) @copy $(AXIS2_SOURCE_DIR)\samples\server\axis2.xml $(AXIS2_BINDIR)\ simple_axis2_tcp_server : $(AXIS2_BINS)\$(AXIS2_TCP_SERVER).exe ##### end simple tcp server ########## server modules #apache module MOD_AXIS2_SRC=$(AXIS2_SOURCE_DIR)\src\core\transport\http\server\apache2 MOD_AXIS2_INTDIR = $(AXIS2_INTDIR)\apache_module MOD_AXIS2_OBJS = $(MOD_AXIS2_INTDIR)\*.obj $(MOD_AXIS2_INTDIR) : @if not exist $(MOD_AXIS2_INTDIR) mkdir $(MOD_AXIS2_INTDIR) {$(MOD_AXIS2_SRC)}.c{$(MOD_AXIS2_INTDIR)}.obj :: $(CC) $(CFLAGS) $(APACHE_INCLUDE_PATH) /Fo$(MOD_AXIS2_INTDIR)\ /c $< $(MOD_AXIS2_OBJS) : $(MOD_AXIS2_INTDIR) $(AXIS2_LIBS)\mod_axis2.dll : $(MOD_AXIS2_OBJS) $(LD) $(LDFLAGS) $(MOD_AXIS2_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib $(APACHE_LIBS) /DLL /OUT:$(AXIS2_LIBS)\mod_axis2.dll -@$(_VC_MANIFEST_EMBED_DLL) axis2_apache_module : $(AXIS2_LIBS)\mod_axis2.dll #mod IIS MOD_IIS_SRC = $(AXIS2_SOURCE_DIR)\src\core\transport\http\server\IIS MOD_IIS_INTDIR = $(AXIS2_INTDIR)\mod_IIS MOD_IIS_INTDIR1 = $(AXIS2_INTDIR)\mod_IIS\isapi51 DEF_FILE = $(AXIS2_SOURCE_DIR)\src\core\transport\http\server\IIS\mod_axis2.def MOD_IIS_OBJS = $(MOD_IIS_INTDIR)\*.obj \ $(MOD_IIS_INTDIR1)\*.obj $(MOD_IIS_INTDIR) : @if not exist $(MOD_IIS_INTDIR) mkdir $(MOD_IIS_INTDIR) $(MOD_IIS_INTDIR1) : @if not exist $(MOD_IIS_INTDIR1) mkdir $(MOD_IIS_INTDIR1) {$(MOD_IIS_SRC)\iis_iaspi_plugin_51}.c{$(MOD_IIS_INTDIR1)}.obj :: $(CC) $(CFLAGS) /D "WIN32" /D "_WINDOWS" /D "_CRT_SECURE_NO_DEPRECATE" /Fo$(MOD_IIS_INTDIR1)\ /c $< {$(MOD_IIS_SRC)}.c{$(MOD_IIS_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MOD_IIS_INTDIR)\ /c $< $(MOD_IIS_OBJS) : $(MOD_IIS_INTDIR) $(MOD_IIS_INTDIR1) $(AXIS2_LIBS)\mod_axis2_IIS.dll : $(MOD_IIS_OBJS) $(LD) $(LDFLAGS) $(MOD_IIS_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) Advapi32.lib $(AXIS2_ENGINE).lib /DEF:$(DEF_FILE) /DLL /OUT:$(AXIS2_LIBS)\mod_axis2_IIS.dll @copy $(MOD_IIS_SRC)\axis2_iis_regedit.js $(AXIS2_BINDIR) -@$(_VC_MANIFEST_EMBED_DLL) axis2_IIS_module : $(AXIS2_LIBS)\mod_axis2_IIS.dll #CGI module MOD_CGI_SRC=$(AXIS2_SOURCE_DIR)\src\core\transport\http\server\CGI MOD_CGI_INTDIR = $(AXIS2_INTDIR)\CGI MOD_CGI_OBJS = $(MOD_CGI_INTDIR)\*.obj $(MOD_CGI_INTDIR) : @if not exist $(MOD_CGI_INTDIR) mkdir $(MOD_CGI_INTDIR) {$(MOD_CGI_SRC)}.c{$(MOD_CGI_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MOD_CGI_INTDIR)\ /c $< $(MOD_CGI_OBJS) : $(MOD_CGI_INTDIR) $(AXIS2_BINS)\axis2.cgi : $(MOD_CGI_OBJS) $(LD) $(LDFLAGS) $(MOD_CGI_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib /OUT:$(AXIS2_BINS)\$(AXIS2_CGI) -@$(_VC_MANIFEST_EMBED_EXE) axis2_cgi : $(AXIS2_BINS)\$(AXIS2_CGI) # end modules # Core Build Targets ################################ axis2_core:axis2_basic_modules axiom axis2_xpath neethi axis2_engine axis2_http_sender \ axis2_http_receiver axis2_mod_addr simple_axis2_http_server axis2_core_without_server: axis2_basic_modules axiom axis2_xpath neethi axis2_engine axis2_http_sender \ axis2_http_receiver axis2_mod_addr axis2_tcp : axis2_tcp_sender axis2_tcp_receiver simple_axis2_tcp_server ##### logging module MOD_LOG_SRC = $(AXIS2_SOURCE_DIR)\src\modules\mod_log MOD_LOG_INTDIR = $(AXIS2_INTDIR)\mod_log MOD_LOG_OBJS = $(MOD_LOG_INTDIR)\*.obj $(MOD_LOG_INTDIR) : @if not exist $(AXIS2_MDOULES)\logging mkdir $(AXIS2_MODULES)\logging @if not exist $(MOD_LOG_INTDIR) mkdir $(MOD_LOG_INTDIR) {$(MOD_LOG_SRC)}.c{$(MOD_LOG_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MOD_LOG_INTDIR)\ /c $< $(MOD_LOG_OBJS) : $(MOD_LOG_INTDIR) $(AXIS2_MODULES)\logging\axis2_mod_log.dll : $(MOD_LOG_OBJS) $(LD) $(LDFLAGS) $(MOD_LOG_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_MODULES)\logging\axis2_mod_log.dll @copy $(AXIS2_SOURCE_DIR)\src\modules\mod_log\module.xml $(AXIS2_MODULES)\logging -@$(_VC_MANIFEST_EMBED_DLL) axis2_mod_log: $(AXIS2_MODULES)\logging\axis2_mod_log.dll ##### end logging module ################ samples #################### #sample services ### echo ECHO_SRC = $(AXIS2_SOURCE_DIR)\samples\server\echo ECHO_INTDIR = $(AXIS2_INTDIR_SAMPLES)\services\echo ECHO_OBJS = $(ECHO_INTDIR)\*.obj $(ECHO_INTDIR) : @if not exist $(ECHO_INTDIR) mkdir $(ECHO_INTDIR) @if not exist $(AXIS2_SERVICES)\echo mkdir $(AXIS2_SERVICES)\echo {$(ECHO_SRC)}.c{$(ECHO_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(ECHO_INTDIR)\ /c $< $(ECHO_OBJS) : $(ECHO_INTDIR) $(AXIS2_SERVICES)\echo\echo.dll : $(ECHO_OBJS) $(LD) $(LDFLAGS) $(ECHO_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\echo\echo.dll -@$(_VC_MANIFEST_EMBED_DLL) @copy $(AXIS2_SOURCE_DIR)\samples\server\echo\services.xml $(AXIS2_SERVICES)\echo axis2_services_echo: $(AXIS2_SERVICES)\echo\echo.dll ### notify NOTIFY_SRC = $(AXIS2_SOURCE_DIR)\samples\server\notify NOTIFY_INTDIR = $(AXIS2_INTDIR_SAMPLES)\services\notify NOTIFY_OBJS = $(NOTIFY_INTDIR)\*.obj $(NOTIFY_INTDIR) : @if not exist $(NOTIFY_INTDIR) mkdir $(NOTIFY_INTDIR) @if not exist $(AXIS2_SERVICES)\notify mkdir $(AXIS2_SERVICES)\notify {$(NOTIFY_SRC)}.c{$(NOTIFY_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(NOTIFY_INTDIR)\ /c $< $(NOTIFY_OBJS) : $(NOTIFY_INTDIR) $(AXIS2_SERVICES)\notify\notify.dll : $(NOTIFY_OBJS) $(LD) $(LDFLAGS) $(NOTIFY_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\notify\notify.dll -@$(_VC_MANIFEST_EMBED_DLL) @copy $(AXIS2_SOURCE_DIR)\samples\server\notify\services.xml $(AXIS2_SERVICES)\notify axis2_services_notify: $(AXIS2_SERVICES)\notify\notify.dll ### math MATH_SRC = $(AXIS2_SOURCE_DIR)\samples\server\math MATH_INTDIR = $(AXIS2_INTDIR_SAMPLES)\services\math MATH_OBJS = $(MATH_INTDIR)\*.obj $(MATH_INTDIR) : @if not exist $(MATH_INTDIR) mkdir $(MATH_INTDIR) @if not exist $(AXIS2_SERVICES)\math mkdir $(AXIS2_SERVICES)\math {$(MATH_SRC)}.c{$(MATH_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MATH_INTDIR)\ /c $< $(MATH_OBJS) : $(MATH_INTDIR) $(AXIS2_SERVICES)\math\math.dll : $(MATH_OBJS) $(LD) $(LDFLAGS) $(MATH_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\math\math.dll -@$(_VC_MANIFEST_EMBED_DLL) @copy $(AXIS2_SOURCE_DIR)\samples\server\math\services.xml $(AXIS2_SERVICES)\math axis2_services_math: $(AXIS2_SERVICES)\math\math.dll ### mtom MTOM_SRC = $(AXIS2_SOURCE_DIR)\samples\server\mtom MTOM_INTDIR = $(AXIS2_INTDIR_SAMPLES)\services\mtom MTOM_OBJS = $(MTOM_INTDIR)\*.obj $(MTOM_INTDIR) : @if not exist $(MTOM_INTDIR) mkdir $(MTOM_INTDIR) @if not exist $(AXIS2_SERVICES)\mtom mkdir $(AXIS2_SERVICES)\mtom {$(MTOM_SRC)}.c{$(MTOM_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MTOM_INTDIR)\ /c $< $(MTOM_OBJS) : $(MTOM_INTDIR) $(AXIS2_SERVICES)\mtom\mtom.dll : $(MTOM_OBJS) $(LD) $(LDFLAGS) $(MTOM_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\mtom\mtom.dll -@$(_VC_MANIFEST_EMBED_DLL) @copy $(AXIS2_SOURCE_DIR)\samples\server\mtom\services.xml $(AXIS2_SERVICES)\mtom axis2_services_mtom: $(AXIS2_SERVICES)\mtom\mtom.dll MTOM_SERVICE_CALLBACK_SRC = $(AXIS2_SOURCE_DIR)\samples\server\mtom_callback MTOM_SERVICE_CALLBACK_INTDIR = $(AXIS2_INTDIR_SAMPLES)\services\mtom_callback MTOM_SERVICE_CALLBACK_OBJS = $(MTOM_SERVICE_CALLBACK_INTDIR)\*.obj $(MTOM_SERVICE_CALLBACK_INTDIR) : @if not exist $(MTOM_SERVICE_CALLBACK_INTDIR) mkdir $(MTOM_SERVICE_CALLBACK_INTDIR) @if not exist $(AXIS2_SERVICES)\mtom_callback mkdir $(AXIS2_SERVICES)\mtom_callback {$(MTOM_SERVICE_CALLBACK_SRC)}.c{$(MTOM_SERVICE_CALLBACK_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MTOM_SERVICE_CALLBACK_INTDIR)\ /c $< $(MTOM_SERVICE_CALLBACK_OBJS) : $(MTOM_SERVICE_CALLBACK_INTDIR) $(AXIS2_SERVICES)\mtom_callback\mtom_callback.dll : $(MTOM_SERVICE_CALLBACK_OBJS) $(LD) $(LDFLAGS) $(MTOM_SERVICE_CALLBACK_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\mtom_callback\mtom_callback.dll -@$(_VC_MANIFEST_EMBED_DLL) @copy $(AXIS2_SOURCE_DIR)\samples\server\mtom_callback\services.xml $(AXIS2_SERVICES)\mtom_callback axis2_services_mtom_callback: $(AXIS2_SERVICES)\mtom_callback\mtom_callback.dll #### Calculator CALCULATOR_SRC = $(AXIS2_SOURCE_DIR)\samples\server\\Calculator CALCULATOR_INTDIR = $(AXIS2_INTDIR_SAMPLES)\services\\Calculator CALCULATOR_OBJS = $(CALCULATOR_INTDIR)\*.obj $(CALCULATOR_INTDIR) : @if not exist $(CALCULATOR_INTDIR) mkdir $(CALCULATOR_INTDIR) @if not exist $(AXIS2_SERVICES)\\Calculator mkdir $(AXIS2_SERVICES)\\Calculator {$(CALCULATOR_SRC)}.c{$(CALCULATOR_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(CALCULATOR_INTDIR)\ /c $< $(CALCULATOR_OBJS) : $(CALCULATOR_INTDIR) $(AXIS2_SERVICES)\Calculator\Calculator.dll : $(CALCULATOR_OBJS) $(LD) $(LDFLAGS) $(CALCULATOR_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\Calculator\Calculator.dll -@$(_VC_MANIFEST_EMBED_DLL) @copy $(AXIS2_SOURCE_DIR)\samples\server\Calculator\services.xml $(AXIS2_SERVICES)\Calculator @copy $(AXIS2_SOURCE_DIR)\samples\server\Calculator\Calculator.wsdl $(AXIS2_SERVICES)\Calculator axis2_services_calculator : $(AXIS2_SERVICES)\Calculator\Calculator.dll ### sgmath AXIS2_INTDIR_SGM=$(AXIS2_INTDIR_SAMPLES)\services\sgmath axis2_services_sg_math_int: @if not exist $(AXIS2_SERVICES)\sg_math mkdir $(AXIS2_SERVICES)\sg_math @if not exist $(AXIS2_INTDIR_SGM)\add mkdir $(AXIS2_INTDIR_SGM)\add @if not exist $(AXIS2_INTDIR_SGM)\sub mkdir $(AXIS2_INTDIR_SGM)\sub @if not exist $(AXIS2_INTDIR_SGM)\mul mkdir $(AXIS2_INTDIR_SGM)\mul @if not exist $(AXIS2_INTDIR_SGM)\div mkdir $(AXIS2_INTDIR_SGM)\div $(AXIS2_SERVICES)\sg_math\add.dll : $(CC) $(CFLAGS) /I$(AXIS2_SOURCE_DIR)\samples\server\sg_math \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\add.c \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\add_skeleton.c /Fo$(AXIS2_INTDIR_SGM)\add\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_SGM)\add\*.obj $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /DLL /OUT:$(AXIS2_SERVICES)\sg_math\add.dll -@$(_VC_MANIFEST_EMBED_DLL) $(AXIS2_SERVICES)\sg_math\div.dll : $(CC) $(CFLAGS) /I$(AXIS2_SOURCE_DIR)\samples\server\sg_math \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\div.c \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\div_skeleton.c /Fo$(AXIS2_INTDIR_SGM)\div\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_SGM)\div\*.obj $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\sg_math\div.dll -@$(_VC_MANIFEST_EMBED_DLL) $(AXIS2_SERVICES)\sg_math\sub.dll : $(CC) $(CFLAGS) /I$(AXIS2_SOURCE_DIR)\samples\server\sg_math \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\sub.c \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\sub_skeleton.c /Fo$(AXIS2_INTDIR_SGM)\sub\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_SGM)\sub\*.obj $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SERVICES)\sg_math\sub.dll -@$(_VC_MANIFEST_EMBED_DLL) $(AXIS2_SERVICES)\sg_math\mul.dll : $(CC) $(CFLAGS) /I$(AXIS2_SOURCE_DIR)\samples\server\sg_math \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\mul.c \ $(AXIS2_SOURCE_DIR)\samples\server\sg_math\mul_skeleton.c /Fo$(AXIS2_INTDIR_SGM)\mul\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_SGM)\mul\*.obj $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib \ $(LIBS) $(AXIS2_ENGINE).lib $(AXIS2_HTTP_RECEIVER).lib \ $(AXIS2_HTTP_SENDER).lib /DLL /OUT:$(AXIS2_SERVICES)\sg_math\mul.dll -@$(_VC_MANIFEST_EMBED_DLL) axis2_services_sg_math : axis2_services_sg_math_int $(AXIS2_SERVICES)\sg_math\add.dll \ $(AXIS2_SERVICES)\sg_math\div.dll $(AXIS2_SERVICES)\sg_math\sub.dll $(AXIS2_SERVICES)\sg_math\mul.dll @copy $(AXIS2_SOURCE_DIR)\samples\server\sg_math\services.xml $(AXIS2_SERVICES)\sg_math ###################### clients ################################# AXIS2_INTDIR_CLI = $(AXIS2_INTDIR)\samples\clients axis2_clients_intdir: @if not exist $(AXIS2_BINDIR)\samples\bin mkdir $(AXIS2_BINDIR)\samples\bin @if not exist $(AXIS2_INTDIR_CLI)\math mkdir $(AXIS2_INTDIR_CLI)\math @if not exist $(AXIS2_INTDIR_CLI)\echo mkdir $(AXIS2_INTDIR_CLI)\echo @if not exist $(AXIS2_INTDIR_CLI)\dyn_cli mkdir $(AXIS2_INTDIR_CLI)\dyn_cli @if not exist $(AXIS2_INTDIR_CLI)\gslc mkdir $(AXIS2_INTDIR_CLI)\gslc @if not exist $(AXIS2_INTDIR_CLI)\yahoo mkdir $(AXIS2_INTDIR_CLI)\yahoo @if not exist $(AXIS2_INTDIR_CLI)\notify mkdir $(AXIS2_INTDIR_CLI)\notify @if not exist $(AXIS2_INTDIR_CLI)\mtom mkdir $(AXIS2_INTDIR_CLI)\mtom @if not exist $(AXIS2_INTDIR_CLI)\mtom_callback mkdir $(AXIS2_INTDIR_CLI)\mtom_callback AXIS2_SAMPLES_BIN = $(AXIS2_BINDIR)\samples\bin $(AXIS2_SAMPLES_BIN)\math.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\math\*.c /Fo$(AXIS2_INTDIR_CLI)\math\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\math\*.obj $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\math.exe -@$(_VC_MANIFEST_EMBED_EXE) axis2_client_math: $(AXIS2_SAMPLES_BIN)\math.exe $(AXIS2_SAMPLES_BIN)\echo.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\echo\echo.c /Fo$(AXIS2_INTDIR_CLI)\echo\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\echo\*.obj $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\echo.exe -@$(_VC_MANIFEST_EMBED_EXE) axis2_client_echo: $(AXIS2_SAMPLES_BIN)\echo.exe $(AXIS2_SAMPLES_BIN)\google.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\google\*.c /Fo$(AXIS2_INTDIR_CLI)\gslc\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\gslc\*.obj $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\google.exe -@$(_VC_MANIFEST_EMBED_EXE) axis2_client_google_spell : $(AXIS2_SAMPLES_BIN)\google.exe $(AXIS2_SAMPLES_BIN)\yahoo.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\yahoo\*.c /Fo$(AXIS2_INTDIR_CLI)\yahoo\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\yahoo\*.obj $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\yahoo.exe -@$(_VC_MANIFEST_EMBED_EXE) axis2_client_yahoo: $(AXIS2_SAMPLES_BIN)\yahoo.exe $(AXIS2_SAMPLES_BIN)\notify.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\notify\*.c /Fo$(AXIS2_INTDIR_CLI)\notify\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\notify\*.obj $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\notify.exe -@$(_VC_MANIFEST_EMBED_EXE) axis2_client_notify: $(AXIS2_SAMPLES_BIN)\notify.exe $(AXIS2_SAMPLES_BIN)\mtom.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\mtom\*.c /Fo$(AXIS2_INTDIR_CLI)\mtom\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\mtom\*.obj $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\mtom.exe -@$(_VC_MANIFEST_EMBED_EXE) @if not exist $(AXIS2_SAMPLES_BIN)\resources mkdir $(AXIS2_SAMPLES_BIN)\resources @xcopy /Y $(AXIS2_SOURCE_DIR)\samples\client\mtom\resources $(AXIS2_SAMPLES_BIN)\resources axis2_client_mtom: $(AXIS2_SAMPLES_BIN)\mtom.exe $(AXIS2_SAMPLES_BIN)\mtom_callback.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\client\mtom_callback\*.c /Fo$(AXIS2_INTDIR_CLI)\mtom_callback\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR_CLI)\mtom_callback\*.obj $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\mtom_callback.exe -@$(_VC_MANIFEST_EMBED_EXE) axis2_client_mtom_callback: $(AXIS2_SAMPLES_BIN)\mtom_callback.exe axis2_client_userguide_int: @if not exist $(AXIS2_INTDIR)\userguide\echo_blocking mkdir $(AXIS2_INTDIR)\userguide\echo_blocking @if not exist $(AXIS2_INTDIR)\userguide\echo_non_blocking mkdir $(AXIS2_INTDIR)\userguide\echo_non_blocking @if not exist $(AXIS2_INTDIR)\userguide\echo_blocking_addr mkdir $(AXIS2_INTDIR)\userguide\echo_blocking_addr @if not exist $(AXIS2_INTDIR)\userguide\echo_rest mkdir $(AXIS2_INTDIR)\userguide\echo_rest @if not exist $(AXIS2_INTDIR)\userguide\echo_blocking_dual mkdir $(AXIS2_INTDIR)\userguide\echo_blocking_dual @if not exist $(AXIS2_INTDIR)\userguide\echo_non_blocking_dual mkdir $(AXIS2_INTDIR)\userguide\echo_non_blocking_dual @if not exist $(AXIS2_INTDIR)\userguide\echo_blocking_soap11 mkdir $(AXIS2_INTDIR)\userguide\echo_blocking_soap11 @if not exist $(AXIS2_INTDIR)\userguide\echo_blocking_auth mkdir $(AXIS2_INTDIR)\userguide\echo_blocking_auth $(AXIS2_SAMPLES_BIN)\echo_blocking.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_blocking.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_blocking\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_blocking\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\echo_blocking.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_non_blocking.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_non_blocking.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_non_blocking\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_non_blocking\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /OUT:$(AXIS2_SAMPLES_BIN)\echo_non_blocking.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_blocking_addr.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_blocking_addr.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_blocking_addr\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_blocking_addr\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /OUT:$(AXIS2_SAMPLES_BIN)\echo_blocking_addr.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_rest.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_rest.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_rest\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_rest\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /OUT:$(AXIS2_SAMPLES_BIN)\echo_rest.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_blocking_dual.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_blocking_dual.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_blocking_dual\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_blocking_dual\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\echo_blocking_dual.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_non_blocking_dual.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_non_blocking_dual.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_non_blocking_dual\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_non_blocking_dual\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib \ /OUT:$(AXIS2_SAMPLES_BIN)\echo_non_blocking_dual.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_blocking_soap11.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_blocking_soap11.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_blocking_soap11\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_blocking_soap11\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\echo_blocking_soap11.exe -@$(_VC_MANIFEST_EMBED_EXE) $(AXIS2_SAMPLES_BIN)\echo_blocking_auth.exe : $(CC) $(CFLAGS) $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_blocking_auth.c \ $(AXIS2_SOURCE_DIR)\samples\user_guide\clients\echo_util.c /Fo$(AXIS2_INTDIR)\userguide\echo_blocking_auth\ /c $(LD) $(LDFLAGS) $(AXIS2_INTDIR)\userguide\echo_blocking_auth\*.obj $(AXUTIL).lib \ $(AXIOM).lib $(AXIS2_PARSER).lib $(LIBS) \ $(AXIS2_ENGINE).lib /OUT:$(AXIS2_SAMPLES_BIN)\echo_blocking_auth.exe -@$(_VC_MANIFEST_EMBED_EXE) ################ callbacks ################### AXIS2_INTDIR_CALLBACK = $(AXIS2_INTDIR)\samples\callback MTOM_SENDING_CALLBACK_SRC = $(AXIS2_SOURCE_DIR)\samples\mtom_sending_callback MTOM_SENDING_CALLBACK_INTDIR = $(AXIS2_INTDIR_CALLBACK)\mtom_sending_callback MTOM_SENDING_CALLBACK_OBJS = $(MTOM_SENDING_CALLBACK_INTDIR)\*.obj AXIS2_SAMPLES_LIB = $(AXIS2_BINDIR)\samples\lib $(MTOM_SENDING_CALLBACK_INTDIR) : @if not exist $(AXIS2_INTDIR_CALLBACK) mkdir $(AXIS2_INTDIR_CALLBACK) @if not exist $(MTOM_SENDING_CALLBACK_INTDIR) mkdir $(MTOM_SENDING_CALLBACK_INTDIR) @if not exist $(AXIS2_SAMPLES_LIB)\mtom_sending_callback mkdir $(AXIS2_SAMPLES_LIB)\mtom_sending_callback {$(MTOM_SENDING_CALLBACK_SRC)}.c{$(MTOM_SENDING_CALLBACK_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MTOM_SENDING_CALLBACK_INTDIR)\ /c $< $(MTOM_SENDING_CALLBACK_OBJS) : $(MTOM_SENDING_CALLBACK_INTDIR) $(AXIS2_SAMPLES_LIB)\mtom_sending_callback\mtom_sending_callback.dll : $(MTOM_SENDING_CALLBACK_OBJS) $(LD) $(LDFLAGS) $(MTOM_SENDING_CALLBACK_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SAMPLES_LIB)\mtom_sending_callback\mtom_sending_callback.dll -@$(_VC_MANIFEST_EMBED_DLL) axis2_mtom_sending_callback: $(AXIS2_SAMPLES_LIB)\mtom_sending_callback\mtom_sending_callback.dll MTOM_CACHING_CALLBACK_SRC = $(AXIS2_SOURCE_DIR)\samples\mtom_caching_callback MTOM_CACHING_CALLBACK_INTDIR = $(AXIS2_INTDIR_CALLBACK)\mtom_caching_callback MTOM_CACHING_CALLBACK_OBJS = $(MTOM_CACHING_CALLBACK_INTDIR)\*.obj $(MTOM_CACHING_CALLBACK_INTDIR) : @if not exist $(AXIS2_INTDIR_CALLBACK) mkdir $(AXIS2_INTDIR_CALLBACK) @if not exist $(MTOM_CACHING_CALLBACK_INTDIR) mkdir $(MTOM_CACHING_CALLBACK_INTDIR) @if not exist $(AXIS2_SAMPLES_LIB)\mtom_caching_callback mkdir $(AXIS2_SAMPLES_LIB)\mtom_caching_callback {$(MTOM_CACHING_CALLBACK_SRC)}.c{$(MTOM_CACHING_CALLBACK_INTDIR)}.obj :: $(CC) $(CFLAGS) /Fo$(MTOM_CACHING_CALLBACK_INTDIR)\ /c $< $(MTOM_CACHING_CALLBACK_OBJS) : $(MTOM_CACHING_CALLBACK_INTDIR) $(AXIS2_SAMPLES_LIB)\mtom_caching_callback\mtom_caching_callback.dll : $(MTOM_CACHING_CALLBACK_OBJS) $(LD) $(LDFLAGS) $(MTOM_CACHING_CALLBACK_OBJS) $(AXUTIL).lib $(AXIOM).lib \ $(AXIS2_PARSER).lib $(LIBS) $(AXIS2_ENGINE).lib /DLL /OUT:$(AXIS2_SAMPLES_LIB)\mtom_caching_callback\mtom_caching_callback.dll -@$(_VC_MANIFEST_EMBED_DLL) axis2_mtom_caching_callback: $(AXIS2_SAMPLES_LIB)\mtom_caching_callback\mtom_caching_callback.dll axis2_client_userguide : axis2_client_userguide_int $(AXIS2_SAMPLES_BIN)\echo_blocking_soap11.exe \ $(AXIS2_SAMPLES_BIN)\echo_non_blocking_dual.exe $(AXIS2_SAMPLES_BIN)\echo_blocking.exe \ $(AXIS2_SAMPLES_BIN)\echo_blocking_dual.exe $(AXIS2_SAMPLES_BIN)\echo_rest.exe \ $(AXIS2_SAMPLES_BIN)\echo_blocking_addr.exe $(AXIS2_SAMPLES_BIN)\echo_non_blocking.exe \ $(AXIS2_SAMPLES_BIN)\echo_blocking_auth.exe clean_manifest: @del /s $(AXIS2_BINDIR)\*.manifest copy_extra: @copy $(AXIS2_SOURCE_DIR)\INSTALL $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\LICENSE $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\CREDITS $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\README $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\AUTHORS $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\NEWS $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\NOTICE $(AXIS2_BINDIR) @copy $(AXIS2_SOURCE_DIR)\ChangeLog $(AXIS2_BINDIR) @if exist $(AXIS2_SOURCE_DIR)\docs xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\docs $(AXIS2_BINDIR)\docs copy_samples: @if not exist $(AXIS2_BINDIR)\samples mkdir $(AXIS2_BINDIR)\samples @if not exist $(AXIS2_BINDIR)\samples\src mkdir $(AXIS2_BINDIR)\samples\src @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\samples\client $(AXIS2_BINDIR)\samples\src\client @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\samples\user_guide $(AXIS2_BINDIR)\samples\src\user_guide @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\samples\codegen $(AXIS2_BINDIR)\samples\src\codegen @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\samples\server $(AXIS2_BINDIR)\samples\src\server @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\samples\mtom_caching_callback $(AXIS2_BINDIR)\samples\src\mtom_caching_callback @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\samples\mtom_sending_callback $(AXIS2_BINDIR)\samples\src\mtom_sending_callback @cd $(AXIS2_BINDIR)\samples\src @del /s /q *.am @cd .\..\..\..\win32 copy_include: @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\include $(AXIS2_BINDIR)\include @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\axiom\include $(AXIS2_BINDIR)\include @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\util\include $(AXIS2_BINDIR)\include @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\neethi\include $(AXIS2_BINDIR)\include @if exist $(AXIS2_BINDIR)\include\Makefile.am del $(AXIS2_BINDIR)\include\Makefile.am copy_vc_projects: @if not exist $(AXIS2_BINDIR)\ides mkdir $(AXIS2_BINDIR)\ides @if not exist $(AXIS2_BINDIR)\ides\vc\samples mkdir $(AXIS2_BINDIR)\ides\vc\samples @xcopy /E /I /Y $(AXIS2_SOURCE_DIR)\ides\vc\samples $(AXIS2_BINDIR)\ides\vc\samples copy_wsdl2c: if not exist $(AXIS2_BINDIR)\bin\tools\wsdl2c mkdir $(AXIS2_BINDIR)\bin\tools\wsdl2c @copy $(AXIS2_SOURCE_DIR)\tools\codegen\javatool\README $(AXIS2_BINDIR)\bin\tools\wsdl2c @copy $(AXIS2_SOURCE_DIR)\tools\codegen\javatool\WSDL2C.bat $(AXIS2_BINDIR)\bin\tools\wsdl2c @copy $(AXIS2_SOURCE_DIR)\tools\codegen\javatool\WSDL2C.sh $(AXIS2_BINDIR)\bin\tools\wsdl2c mv_dist: cd $(AXIS2_BINDIR) cd .. @if exist $(AXIS2_RELEASE_DIR) rmdir /S /Q $(AXIS2_RELEASE_DIR) @xcopy /Y /E /I deploy $(AXIS2_RELEASE_DIR) all_services: axis2_services_echo axis2_services_math axis2_services_notify axis2_services_sg_math axis2_services_mtom axis2_services_mtom_callback axis2_services_calculator all_clients: axis2_clients_intdir axis2_client_echo axis2_client_math axis2_client_google_spell axis2_client_yahoo axis2_client_notify axis2_client_mtom axis2_client_mtom_callback axis2_client_userguide all_callback: axis2_mtom_sending_callback axis2_mtom_caching_callback axis2_samples: axis2_mod_log all_services all_clients all_callback axis2_server_modules: axis2_apache_module axis2_IIS_module ################ tools ################### # tcpmon TCPMON_SRC = $(AXIS2_SOURCE_DIR)\tools\tcpmon\src TCPMON_INTDIR = $(AXIS2_INTDIR)\tools\tcpmon TCPMON_OBJS = $(TCPMON_INTDIR)\*.obj $(TCPMON_INTDIR) : @if not exist $(TCPMON_INTDIR) mkdir $(TCPMON_INTDIR) {$(TCPMON_SRC)}.c{$(TCPMON_INTDIR)}.obj :: $(CC) $(CFLAGS) /I $(TCPMON_INTDIR)\include /Fo$(TCPMON_INTDIR)\ /c $< $(TCPMON_OBJS) : $(TCPMON_INTDIR) $(AXIS2_TOOLS)\tcpmon.exe : $(TCPMON_OBJS) @if not exist $(AXIS2_TOOLS) mkdir $(AXIS2_TOOLS) $(LD) $(LDFLAGS) $(TCPMON_OBJS) $(AXUTIL).lib $(AXIOM).lib $(AXIS2_PARSER).lib /OUT:$(AXIS2_TOOLS)\tcpmon.exe -@$(_VC_MANIFEST_EMBED_EXE) tcpmon: $(AXIS2_TOOLS)\tcpmon.exe ######################################### #Copy axis2 xml copy_axis2_xml: @copy $(AXIS2_SOURCE_DIR)\samples\server\axis2.xml $(AXIS2_BINDIR)\ ######################################### build: deploy axis2_core axis2_samples copy_include !if "$(WITH_TCP)" == "1" all: build axis2_tcp !else all: build !endif ############################################################################################## install: all copy_extra copy_wsdl2c dist: install axis2_apache_module axis2_IIS_module axis2_cgi tcpmon copy_samples copy_vc_projects clean_manifest mv_dist dist_as_lib : deploy axis2_core_without_server copy_axis2_xml copy_include clean_manifest mv_dist axis2c-src-1.6.0/build/win32/bindist.bat0000644000175000017500000000027711166304563021034 0ustar00manjulamanjula00000000000000@if "%VV32CALLED%"=="" goto call_vv32 :call_nmake @nmake /NOLOGO dist @goto end :call_vv32 @call vcvars32.bat > vc.tmp @del vc.tmp @set VV32CALLED="YES" @goto call_nmake :end axis2c-src-1.6.0/build/win32/build.bat0000644000175000017500000000030211166304563020464 0ustar00manjulamanjula00000000000000@if "%VV32CALLED%"=="" goto call_vv32 :call_nmake @nmake /NOLOGO install @goto end :call_vv32 @call vcvars32.bat > vc.tmp @del vc.tmp @set VV32CALLED="YES" @goto call_nmake :end axis2c-src-1.6.0/aclocal.m40000644000175000017500000102607711166310403016504 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_RUN_LOG(COMMAND) # ------------------- # Run COMMAND, save the exit status in ac_status, and log it. # (This has been adapted from Autoconf's _AC_RUN_LOG macro.) AC_DEFUN([AM_RUN_LOG], [{ echo "$as_me:$LINENO: $1" >&AS_MESSAGE_LOG_FD ($1) >&AS_MESSAGE_LOG_FD 2>&AS_MESSAGE_LOG_FD ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&AS_MESSAGE_LOG_FD (exit $ac_status); }]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/NOTICE0000644000175000017500000000061411172016051015533 0ustar00manjulamanjula00000000000000Apache Axis2/C Copyright 2005-2009 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/). This software contains code derived from the RSA Data Security Inc. MD5 Message-Digest Algorithm, including various modifications by Spyglass Inc., Carnegie Mellon University, and Bell Communications Research, Inc (Bellcore). axis2c-src-1.6.0/tools/0000777000175000017500000000000011172017546016004 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/0000777000175000017500000000000011172017546016471 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/src/0000777000175000017500000000000011172017547017261 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/src/md5.c0000644000175000017500000000421011166304477020107 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include static void md5_file (char *filename, const axutil_env_t * env) { FILE * file; axutil_md5_ctx_t * context; int len, i; unsigned char buffer[1024], digest[16]; if ((file = fopen (filename, "rb")) == NULL) { printf ("%s can't be opened\n", filename); } else { context = axutil_md5_ctx_create(env); while ((len = fread (buffer, 1, 1024, file)) != 0) { axutil_md5_update(context, env, buffer, len); } axutil_md5_final(context, env, digest); axutil_md5_ctx_free(context, env); fclose (file); printf ("MD5 (%s) = ", filename); for (i = 0; i < 16; i++) { printf ("%02x", digest[i]); } printf ("\n"); } } int main( int argc, char **argv) { const axutil_env_t *env = NULL; env = axutil_env_create_all("md5.log", AXIS2_LOG_LEVEL_DEBUG); if (argc > 1) { if (axutil_strcmp(argv[1], "-h") == 0) { printf("Usage : %s [file_name]\n", argv[0]); printf("use -h for help\n"); return 0; } else { md5_file(argv[1], env); } } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/tools/md5/src/Makefile.am0000644000175000017500000000037111166304477021316 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/bin/tools/md5 prgbin_PROGRAMS = md5 md5_SOURCES = md5.c md5_LDADD = \ ../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../include \ -I ../include axis2c-src-1.6.0/tools/md5/src/Makefile.in0000644000175000017500000003462111172017206021320 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = md5$(EXEEXT) subdir = tools/md5/src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_md5_OBJECTS = md5.$(OBJEXT) md5_OBJECTS = $(am_md5_OBJECTS) md5_DEPENDENCIES = ../../../util/src/libaxutil.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(md5_SOURCES) DIST_SOURCES = $(md5_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/bin/tools/md5 md5_SOURCES = md5.c md5_LDADD = \ ../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../include \ -I ../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/md5/src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/md5/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done md5$(EXEEXT): $(md5_OBJECTS) $(md5_DEPENDENCIES) @rm -f md5$(EXEEXT) $(LINK) $(md5_OBJECTS) $(md5_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/tools/md5/NEWS0000644000175000017500000000000011166304477017157 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/test/0000777000175000017500000000000011172017546017450 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/test/unit/0000777000175000017500000000000011172017546020427 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/test/Makefile.am0000644000175000017500000000001711166304477021503 0ustar00manjulamanjula00000000000000SUBDIRS = unit axis2c-src-1.6.0/tools/md5/LICENSE0000644000175000017500000002613711166304477017510 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/tools/md5/README0000644000175000017500000000070611166304477017355 0ustar00manjulamanjula00000000000000 Axis2C MD5 Generator ====================== What is it? ----------- Axis2 MD5 project is aimed at generating md5 checksums for files. It works only in command line interface. How to run the MD5 Generator? ----------------------------- Run the file called md5 with the File Name. For instruction run md5 -h Installation ------------ Please see the file called INSTALL. axis2c-src-1.6.0/tools/md5/configure.ac0000644000175000017500000000243511166304477020764 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(md5-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AC_PREFIX_DEFAULT(/usr/local/md5) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -g" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration" fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST dnl Checks for library functions. AC_FUNC_MALLOC AC_FUNC_REALLOC AC_CHECK_FUNCS([memmove]) AC_CHECK_LIB(z, inflate) dnl AC_CHECK_LIB(cutest, CuTestInit) AC_MSG_CHECKING(whether to build tests) AC_ARG_ENABLE(tests, [ --enable-tests build tests. default=no], [ case "${enableval}" in no) AC_MSG_RESULT(no) TESTDIR="" ;; *) AC_MSG_RESULT(yes) TESTDIR="test" ;; esac ], AC_MSG_RESULT(no) TESTDIR="" ) UTILINC=$axis2_utilinc AC_SUBST(UTILINC) AC_SUBST(TESTDIR) AC_SUBST(WRAPPER_DIR) CFLAGS="$CFLAGS" AC_CONFIG_FILES([Makefile \ src/Makefile \ ]) AC_OUTPUT axis2c-src-1.6.0/tools/md5/autogen.sh0000755000175000017500000000131511166304477020473 0ustar00manjulamanjula00000000000000#!/bin/bash echo -n 'Running libtoolize...' if [ `uname -s` = Darwin ] then LIBTOOLIZE=glibtoolize else LIBTOOLIZE=libtoolize fi if $LIBTOOLIZE --force > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running aclocal...' if aclocal > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoheader...' if autoheader > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoconf...' if autoconf > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running automake...' if automake --add-missing > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo 'done' axis2c-src-1.6.0/tools/md5/Makefile.am0000644000175000017500000000024211166304477020524 0ustar00manjulamanjula00000000000000datadir=$(prefix)/bin/tools/md5 SUBDIRS = src includedir=$(prefix)/include/axis2-1.6.0 data_DATA= INSTALL README AUTHORS NEWS LICENSE COPYING EXTRA_DIST=LICENSE axis2c-src-1.6.0/tools/md5/Makefile.in0000644000175000017500000003720311172017206020530 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tools/md5 DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ AUTHORS COPYING ChangeLog INSTALL NEWS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(datadir)" dataDATA_INSTALL = $(INSTALL_DATA) DATA = $(data_DATA) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(prefix)/bin/tools/md5 datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0 infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src data_DATA = INSTALL README AUTHORS NEWS LICENSE COPYING EXTRA_DIST = LICENSE all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/md5/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/md5/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) test -z "$(datadir)" || $(MKDIR_P) "$(DESTDIR)$(datadir)" @list='$(data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ rm -f "$(DESTDIR)$(datadir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datadir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dataDATA install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dataDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am uninstall-dataDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/tools/md5/build.sh0000644000175000017500000000025611166304477020130 0ustar00manjulamanjula00000000000000#!/bin/bash ./autogen.sh if test -z ${AXIS2C_HOME} then AXIS2C_HOME=`pwd`/../deploy fi export AXIS2C_HOME ./configure --prefix=${AXIS2C_HOME} --enable-tests=no make axis2c-src-1.6.0/tools/md5/AUTHORS0000644000175000017500000000000011166304477017530 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/INSTALL0000644000175000017500000000061311166304477017523 0ustar00manjulamanjula00000000000000Getting Axis2/C md5 Source Working on Linux ============================================== Build the source This can be done using the following command sequence: ./configure make make install use './configure --help' for options NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/md5 directory. axis2c-src-1.6.0/tools/md5/ChangeLog0000644000175000017500000000000011166304477020232 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/include/0000777000175000017500000000000011172017546020114 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/md5/COPYING0000644000175000017500000002613711166304477017536 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/tools/codegen/0000777000175000017500000000000011172017546017410 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/codegen/javatool/0000777000175000017500000000000011172017546021227 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/codegen/javatool/README0000644000175000017500000000156411166304477022116 0ustar00manjulamanjula00000000000000WSDL2C.sh and WSDL2C.bat ======================== These scripts are provided to simplify the C code generation using WSDL2C Java tool that comes with Apache Axis2/Java. How to use ---------- 1. Set AXIS2_HOME envionment vaiable to you Axis2 Java installation directory. eg: 'export AXIS2_HOME=/home/axis2java' 3. Run WSDL2C.sh giving WSDL2C command line arguments as the arguments to the shell script. Note: Do the same for the bat file on Windows. Examples -------- To generate a sevice skeleton in C: Linux: sh WSDL2C.sh -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u Windows: WSDL2C.bat -uri interoptestdoclitparameters.wsdl -ss -sd -d adb -u To generate a client stub in C: Linux: sh WSDL2C.sh -uri interoptestdoclitparameters.wsdl -d adb -u Windows WSDL2C.bat -uri interoptestdoclitparameters.wsdl -d adb -u axis2c-src-1.6.0/tools/codegen/javatool/WSDL2C.bat0000644000175000017500000000042111166304477022653 0ustar00manjulamanjula00000000000000echo off REM set AXIS2_HOME=C:\axis2-SNAPSHOT setlocal EnableDelayedExpansion set AXIS2_CLASSPATH=%AXIS2_HOME% FOR %%c in ("%AXIS2_HOME%\lib\*.jar") DO set AXIS2_CLASSPATH=!AXIS2_CLASSPATH!;%%c; java -classpath %AXIS2_CLASSPATH% org.apache.axis2.wsdl.WSDL2C %* axis2c-src-1.6.0/tools/codegen/javatool/WSDL2C.sh0000755000175000017500000000037011166304477022525 0ustar00manjulamanjula00000000000000#!/bin/sh #export AXIS2_HOME=/home/axis2java for f in $AXIS2_HOME/lib/*.jar do AXIS2_CLASSPATH=$AXIS2_CLASSPATH:$f done export AXIS2_CLASSPATH echo the classpath $AXIS2_CLASSPATH java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2C $* axis2c-src-1.6.0/tools/tcpmon/0000777000175000017500000000000011172017547017305 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/src/0000777000175000017500000000000011172017547020074 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/src/tcpmon.c0000644000175000017500000010647711166304477021557 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define SIZE 1024 axis2_char_t *tcpmon_traffic_log = "tcpmon_traffic.log"; axutil_env_t *system_env = NULL; tcpmon_session_t *session = NULL; char *target_host = NULL; int on_new_entry( const axutil_env_t * env, tcpmon_entry_t * entry, int status); int on_new_entry_to_file( const axutil_env_t * env, tcpmon_entry_t * entry, int status); int on_error_func( const axutil_env_t * env, char *error_message); void sig_handler( int signal); int resend_request( const axutil_env_t * env, int status); int main( int argc, char **argv) { axutil_env_t *env = NULL; int c; int listen_port = 9099, target_port = 9090; /* the default port simple axis2 server is run on 9090 */ int test_bit = 0; int format_bit = 0; /* pretty print the request/response SOAP messages */ int ii = 1; if (!axutil_strcmp(argv[1], "-h")) { printf ("Usage : %s [-lp LISTEN_PORT] [-tp TARGET_PORT] [-th TARGET_HOST] [-f LOG_FILE] [options]\n", argv[0]); fprintf(stdout, " Options :\n"); fprintf(stdout, "\t-lp LISTEN_PORT \tport number to listen on, default is 9099\n"); fprintf(stdout, "\t-tp TARGET_PORT \tport number to connect and re-direct messages, default is 9090\n"); fprintf(stdout, "\t-th TARGET_HOST \ttarget host to connect, default is localhost\n"); fprintf(stdout, "\t-f LOG_FILE \tfile to write the messages to, default is %s\n", tcpmon_traffic_log); fprintf(stdout, "\t--format \tenable xml formatting\n"); fprintf(stdout, "\t--test \tenable testing last request/response by logging it separately\n"); fprintf(stdout, " Help :\n\t-h \tdisplay this help screen.\n\n"); return 0; } env = axutil_env_create_all("axis2_tcpmon.log", AXIS2_LOG_LEVEL_DEBUG); signal(SIGINT, sig_handler); system_env = env; #ifndef WIN32 signal(SIGPIPE, sig_handler); #endif target_host = axutil_strdup(env, "localhost"); while (ii < argc) { if (!strcmp("-lp", argv[ii])) { ii++; if (argv[ii]) { listen_port = atoi(argv[ii++]); if (listen_port == 0) { printf("INVALID value for listen port\n"); printf("Use -h for help\n"); AXIS2_FREE(env->allocator, target_host); if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } } } else if (!strcmp("-tp", argv[ii])) { ii++; if (argv[ii]) { target_port = atoi(argv[ii++]); if (target_port == 0) { printf("INVALID value for target port\n"); printf("Use -h for help\n"); AXIS2_FREE(env->allocator, target_host); if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } } } else if (!strcmp("-th", argv[ii])) { ii++; if (argv[ii]) { AXIS2_FREE(env->allocator, target_host); target_host = (char *) axutil_strdup(env, argv[ii++]); } } else if (!strcmp("--test", argv[ii])) { ii++; test_bit = 1; } else if (!strcmp("--format", argv[ii])) { ii++; format_bit = 1; } else if (!strcmp("-f", argv[ii])) { ii++; if (argv[ii]) { tcpmon_traffic_log = argv[ii++]; } } else { printf("INVALID value for tcpmon \n"); printf("Use -h for help\n"); AXIS2_FREE(env->allocator, target_host); if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } } if (!(listen_port && target_port && target_host)) { printf("ERROR: essential argument missing \n"); printf ("Please recheck values of listen_port (-lp), target_port(-tp) and target_host (-th)\n"); AXIS2_FREE(env->allocator, target_host); if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } printf("Listen port : %d Target port : %d Target host: %s\n", listen_port, target_port, target_host); session = tcpmon_session_create(env); TCPMON_SESSION_SET_LISTEN_PORT(session, env, listen_port); TCPMON_SESSION_SET_TARGET_PORT(session, env, target_port); TCPMON_SESSION_SET_TARGET_HOST(session, env, target_host); TCPMON_SESSION_ON_TRANS_FAULT(session, env, on_error_func); TCPMON_SESSION_ON_NEW_ENTRY(session, env, on_new_entry_to_file); TCPMON_SESSION_SET_TEST_BIT(session, env, test_bit); TCPMON_SESSION_SET_FORMAT_BIT(session, env, format_bit); TCPMON_SESSION_START(session, env); do { c = getchar(); if (c == 'f') { format_bit = format_bit ? 0 : 1; TCPMON_SESSION_SET_FORMAT_BIT(session, env, format_bit); } else if (c == 'r') { resend_request(env, 0); } } while (c != 'q'); printf("\n\n"); TCPMON_SESSION_STOP(session, env); TCPMON_SESSION_FREE(session, env); AXIS2_FREE(env->allocator, target_host); if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } int on_new_entry_to_file( const axutil_env_t * env, tcpmon_entry_t * entry, int status) { char *plain_buffer = NULL; char *formated_buffer = NULL; int format = 0; FILE *file; char *convert = NULL; char *uuid = NULL; int resend = 0; file = fopen(tcpmon_traffic_log, "ab"); if (NULL == file) { printf("\ncould not create or open log-file\n"); return -1; } fprintf(file, "\n= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =\n"); format = TCPMON_ENTRY_GET_FORMAT_BIT(entry, env); if (status == 0) { if (strstr(TCPMON_ENTRY_SENT_HEADERS(entry, env), AXIS2_HTTP_HEADER_USER_AGENT ": " AXIS2_HTTP_HEADER_SERVER_AXIS2C "TCPMon\r\n")) { resend = 1; } plain_buffer = TCPMON_ENTRY_SENT_DATA(entry, env); if (plain_buffer) /* this can be possible as no xml present */ { if (TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) != (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)) + (int)strlen(plain_buffer) + 4) { format = 0; /* mtom scenario */ } formated_buffer = tcpmon_util_format_as_xml (env, plain_buffer, format); } else { formated_buffer = ""; } /* 2 screen */ printf("\n\n%s\n", resend ? "RESENDING DATA..": "SENDING DATA.."); printf("/* sending time = %s*/\n", TCPMON_ENTRY_SENT_TIME(entry, env)); uuid = axutil_uuid_gen(env); printf("/* message uuid = %s*/\n", uuid); printf("---------------------\n"); if (format || TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)) + (int)strlen(formated_buffer) + 4) { printf("%s\n\n%s\n\n", TCPMON_ENTRY_SENT_HEADERS(entry, env), formated_buffer); } else { int count = 0; int printed = 0; axis2_char_t *formated_buffer_temp = formated_buffer; printf("%s\n\n", TCPMON_ENTRY_SENT_HEADERS(entry, env)); count = TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) - 4 - (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)); while (count > printed) { int plen = 0; plen = ((int)strlen(formated_buffer) + 1); if (plen != 1) { printf("%s", formated_buffer); } printed += plen; if (count > printed) { printf("%c", '\0'); formated_buffer += plen; } } formated_buffer = formated_buffer_temp; } /* 2 file */ fprintf(file, "%s\n", resend ? "RESENDING DATA..": "SENDING DATA.."); fprintf(file, "/* sending time = %s*/\n", TCPMON_ENTRY_SENT_TIME(entry, env)); fprintf(file, "/* message uuid = %s*/\n", uuid); AXIS2_FREE(env->allocator, uuid); fprintf(file, "---------------------\n"); convert = axutil_strdup(env, TCPMON_ENTRY_SENT_HEADERS(entry, env)); convert = tcpmon_util_str_replace(env, convert, "; ", ";\n\t"); fprintf(file, "%s\r\n\r\n", convert); if (convert) { AXIS2_FREE(env->allocator, convert); convert = NULL; } if (strcmp(formated_buffer, "") != 0) { if (format || TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)) + (int)strlen(formated_buffer) + 4) { convert = axutil_strdup(env, formated_buffer); convert = tcpmon_util_str_replace(env, convert, "><", ">\n<"); fprintf(file, "%s", convert); if (convert) { AXIS2_FREE(env->allocator, convert); convert = NULL; } } else { int count = 0; int printed = 0; count = TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) - 4 - (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)); while (count > printed) { int plen = 0; plen = ((int)strlen(formated_buffer) + 1); if (plen != 1) { fprintf(file, "%s", formated_buffer); } printed += plen; if (count > printed) { fprintf(file, "%c", '\0'); formated_buffer += plen; } } } } } if (status == 1) { plain_buffer = TCPMON_ENTRY_ARRIVED_DATA(entry, env); if (plain_buffer) /* this can be possible as no xml present */ { if (TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) != (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)) + (int)strlen(plain_buffer) + 4) { format = 0; /* mtom scenario */ } formated_buffer = tcpmon_util_format_as_xml (env, plain_buffer, format); } else { formated_buffer = ""; } /* 2 screen */ printf("\n\n%s\n", "RETRIEVING DATA.."); printf("/* retrieving time = %s*/\n", TCPMON_ENTRY_ARRIVED_TIME(entry, env)); printf("/* time throughput = %s*/\n", TCPMON_ENTRY_TIME_DIFF(entry, env)); printf("---------------------\n"); if (format || TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)) + (int)strlen(formated_buffer) + 4) { printf("%s\n\n%s\n\n", TCPMON_ENTRY_ARRIVED_HEADERS(entry, env), formated_buffer); } else { int count = 0; int printed = 0; axis2_char_t *formated_buffer_temp = formated_buffer; printf("%s\n\n", TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)); count = TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) - 4 - (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)); while (count > printed) { int plen = 0; plen = ((int)strlen(formated_buffer) + 1); if (plen != 1) { printf("%s", formated_buffer); } printed += plen; if (count > printed) { printf("%c", '\0'); formated_buffer += plen; } } formated_buffer = formated_buffer_temp; } /* 2 file */ fprintf(file, "%s\n", "RETRIEVING DATA.."); fprintf(file, "/* retrieving time = %s*/\n", TCPMON_ENTRY_ARRIVED_TIME(entry, env)); fprintf(file, "/* time throughput = %s*/\n", TCPMON_ENTRY_TIME_DIFF(entry, env)); fprintf(file, "---------------------\n"); convert = axutil_strdup(env, TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)); convert = tcpmon_util_str_replace(env, convert, "; ", ";\n\t"); fprintf(file, "%s\r\n\r\n", convert); if (convert) { AXIS2_FREE(env->allocator, convert); convert = NULL; } if (strcmp(formated_buffer, "") != 0) { if (format || TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)) + (int)strlen(formated_buffer) + 4) { convert = axutil_strdup(env, formated_buffer); convert = tcpmon_util_str_replace(env, convert, "><", ">\n<"); fprintf(file, "%s", convert); if (convert) { AXIS2_FREE(env->allocator, convert); convert = NULL; } } else { int count = 0; int printed = 0; count = TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) - 4 - (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)); while (count > printed) { int plen = 0; plen = ((int)strlen(formated_buffer) + 1); if (plen != 1) { fprintf(file, "%s", formated_buffer); } printed += plen; if (count > printed) { fprintf(file, "%c", '\0'); formated_buffer += plen; } } } } } fclose(file); return 0; } int resend_request( const axutil_env_t * env, int status) { FILE *file; axis2_char_t *uuid = NULL; axis2_char_t *buffer = NULL; int read_len = 0; if (status == 0) { int c; int i = 0; do { c = getchar(); } while (c == ' '); uuid = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 37); for (i = 0; i < 36; i++) { if ((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || c == '-') { uuid[i] = (axis2_char_t)c; } else if (c >= 'A' && c <= 'F') { uuid[i] = (axis2_char_t)(c + 32); } else { return 0; } c = getchar(); } uuid[i] = '\0'; } file = fopen(tcpmon_traffic_log, "rb"); if (!file) { printf("\ncould not create or open log-file\n"); return -1; } buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * SIZE); if (!buffer) { printf("\ngimme more memory\n"); return -1; } buffer[SIZE - 1] = '\0'; read_len = (int)fread(buffer, sizeof(char), SIZE - 1, file); while(read_len) { axis2_char_t *search = "/* message uuid = "; axis2_char_t *tmp1 = NULL; axis2_char_t *tmp2 = NULL; axis2_char_t *tmp3 = NULL; axis2_char_t *uuid_match = NULL; int offset = 0; int loop_state = 1; int end_reached = 0; int rounds = 0; offset = (int)strlen(search); tmp3 = buffer; if (read_len >= SIZE) { AXIS2_FREE(env->allocator, buffer); AXIS2_FREE(env->allocator, uuid); printf("\nbuffer overflow\n"); return -1; } if (read_len < SIZE - 1) { end_reached = 1; } while (loop_state) { int temp_len = 0; tmp1 = strstr(tmp3, search); temp_len = (int)strlen(tmp3) + 1; /* loop below is for mtom cases */ while (!tmp1 && (read_len - rounds > temp_len)) { tmp3 += (int)strlen(tmp3) + 1; tmp1 = strstr(tmp3, search); temp_len += (int)strlen(tmp3) + 1; } if (!tmp1) { if (end_reached) { break; } memmove(buffer, buffer + (SIZE - 1 - offset), offset); read_len = (int)fread(buffer + offset, sizeof(char), SIZE - 1 - offset, file) + offset; break; } else { rounds = (int)(tmp1 - tmp3) + offset + 36; tmp3 = tmp1 + offset + 36; } if (read_len - offset - 36 < (int)(tmp1 - buffer)) { if (end_reached) { break; } offset += 36; memmove(buffer, buffer + (SIZE - 1 - offset), offset); read_len = (int)fread(buffer + offset, sizeof(char), SIZE - 1 - offset, file) + offset; break; } tmp2 = tmp1 + offset; uuid_match = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * 37); if (!uuid_match) { printf("\ngimme more memory\n"); return -1; } memcpy(uuid_match, tmp2, 36); uuid_match[36] = '\0'; if (!axutil_strcasecmp(uuid_match, uuid)) { axis2_char_t *header_str = "*/\n---------------------\n"; axis2_char_t *footer_str = "\n= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ="; int seek_len = 0; int has_raw_binary = 0; axis2_char_t *request_buffer = NULL; AXIS2_FREE(env->allocator, uuid_match); AXIS2_FREE(env->allocator, uuid); end_reached = 1; tmp2 += 36; offset = (int)strlen(header_str); if (read_len - offset < (int)(tmp2 - buffer)) { seek_len = (int)(tmp2 - buffer) + offset - read_len; if (seek_len > 0) { read_len = fread(buffer, sizeof(char), seek_len, file); } seek_len = 0; } else { seek_len = read_len - (int)(tmp2 - buffer) - offset; } request_buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (48 * 1024 + 1)); if (!request_buffer) { printf("\ngimme more memory\n"); return -1; } if (seek_len > 0) { memcpy(request_buffer, buffer + (read_len - seek_len), seek_len); } read_len = (int)fread(request_buffer + seek_len, sizeof(char), 48 * 1024 - seek_len, file) + seek_len; tmp1 = NULL; tmp3 = request_buffer; tmp1 = strstr(tmp3, footer_str); temp_len = (int)strlen(tmp3) + 1; /* loop below is for mtom cases */ while (!tmp1 && (read_len > temp_len)) { if (!has_raw_binary) { has_raw_binary = 1; } tmp3 += (int)strlen(tmp3) + 1; tmp1 = strstr(tmp3, footer_str); temp_len += (int)strlen(tmp3) + 1; } if (tmp1) { axis2_char_t *req_header = NULL; axis2_char_t *req_payload = NULL; int req_content_len = 0; req_content_len = (int)(tmp1 - request_buffer) - 4; *tmp1 = '\0'; tmp1 = NULL; tmp1 = strstr(request_buffer, "\r\n\r\n"); if (tmp1) { axis2_char_t *listen_host = "localhost"; int write_socket = -1; axutil_stream_t *write_stream = NULL; tmp1 += 2; *tmp1 = '\0'; req_payload = tmp1 + 2; tmp1 = axutil_strdup(env, request_buffer); req_content_len -= (int)strlen(tmp1); tmp1 = tcpmon_util_str_replace(env, tmp1, ";\n\t", "; "); req_header = tmp1; tmp2 = strstr(req_header, AXIS2_HTTP_HEADER_USER_AGENT ":"); if (tmp2) { tmp3 = strstr(tmp2, "\r\n"); if (tmp3) { int header_len = 0; axis2_char_t *user_agent = AXIS2_HTTP_HEADER_USER_AGENT ": " AXIS2_HTTP_HEADER_SERVER_AXIS2C " TCPMon"; header_len = (int)(tmp3 - tmp2) + 2; tmp1 = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * header_len + 1); memcpy(tmp1, tmp2, header_len); tmp1[header_len] = '\0'; header_len = 2 + (int)strlen(user_agent); tmp2 = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (header_len + 1)); sprintf(tmp2, "%s\r\n", user_agent); req_header = tcpmon_util_str_replace(env, req_header, tmp1, tmp2); AXIS2_FREE(env->allocator, tmp1); AXIS2_FREE(env->allocator, tmp2); tmp1 = NULL; tmp2 = NULL; } } if (!has_raw_binary) { tmp2 = strstr(req_header, AXIS2_HTTP_HEADER_CONTENT_LENGTH ":"); if (tmp2) { tmp3 = strstr(tmp2, "\r\n"); if (tmp3) { int header_len = 0; header_len = (int)(tmp3 - tmp2) + 2; tmp1 = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * header_len + 1); memcpy(tmp1, tmp2, header_len); tmp1[header_len] = '\0'; tmp2 = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (header_len + 2)); req_content_len = (int)strlen(req_payload); sprintf(tmp2, "%s%d\r\n", AXIS2_HTTP_HEADER_CONTENT_LENGTH ": ", req_content_len); req_header = tcpmon_util_str_replace(env, req_header, tmp1, tmp2); AXIS2_FREE(env->allocator, tmp1); AXIS2_FREE(env->allocator, tmp2); tmp1 = NULL; tmp2 = NULL; } } } tmp2 = strstr(req_header, AXIS2_HTTP_HEADER_HOST ":"); if (tmp2) { tmp3 = strstr(tmp2, "\r\n"); if (tmp3) { int header_len = 0; header_len = (int)(tmp3 - tmp2) + 2; tmp1 = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * header_len + 1); memcpy(tmp1, tmp2, header_len); tmp1[header_len] = '\0'; header_len = 16 + (int)strlen(target_host); tmp2 = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * (header_len + 1)); sprintf(tmp2, "%s%s:%d\r\n", AXIS2_HTTP_HEADER_HOST ": ", target_host, TCPMON_SESSION_GET_LISTEN_PORT(session, env)); req_header = tcpmon_util_str_replace(env, req_header, tmp1, tmp2); AXIS2_FREE(env->allocator, tmp1); AXIS2_FREE(env->allocator, tmp2); tmp1 = NULL; tmp2 = NULL; } } write_socket = (int)axutil_network_handler_open_socket(env, listen_host, TCPMON_SESSION_GET_LISTEN_PORT(session, env)); if (write_socket == -1) { printf("\nerror in creating socket\n"); } else { write_stream = axutil_stream_create_socket(env, write_socket); } if (!write_stream) { printf("\nerror in creating stream\n"); } else { axutil_stream_write(write_stream, env, req_header, strlen(req_header)); axutil_stream_write(write_stream, env, "\r\n", 2); axutil_stream_write(write_stream, env, req_payload, req_content_len); axutil_stream_free(write_stream, env); axutil_network_handler_close_socket(env, write_socket); } AXIS2_FREE(env->allocator, req_header); } } else if (read_len == 48 * 1024) { printf("\nrequest size greater than buffer\n"); } AXIS2_FREE(env->allocator, request_buffer); break; } AXIS2_FREE(env->allocator, uuid_match); } if (end_reached) { break; } } AXIS2_FREE(env->allocator, buffer); fclose(file); return 0; } int on_new_entry( const axutil_env_t * env, tcpmon_entry_t * entry, int status) { char *plain_buffer = NULL; char *formated_buffer = NULL; int format = 0; char *uuid = NULL; int resend = 0; format = TCPMON_ENTRY_GET_FORMAT_BIT(entry, env); if (status == 0) { if (strstr(TCPMON_ENTRY_SENT_HEADERS(entry, env), AXIS2_HTTP_HEADER_USER_AGENT ": "\ AXIS2_HTTP_HEADER_SERVER_AXIS2C " TCPMon\r\n")) { resend = 1; } plain_buffer = TCPMON_ENTRY_SENT_DATA(entry, env); if (plain_buffer) /* this can be possible as no xml present */ { if (TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)) + (int)strlen(plain_buffer) + 4) { format = 0; /* mtom scenario */ } formated_buffer = tcpmon_util_format_as_xml (env, plain_buffer, format); } else { formated_buffer = ""; } printf("\n\n%s\n", resend ? "RESENDING DATA..": "SENDING DATA.."); printf("/* sending time = %s*/\n", TCPMON_ENTRY_SENT_TIME(entry, env)); uuid = axutil_uuid_gen(env); printf("/* message uuid = %s*/\n", uuid); AXIS2_FREE(env->allocator, uuid); printf("---------------------\n"); if (format || TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)) + (int)strlen(formated_buffer) + 4) { printf("%s\n\n%s\n\n", TCPMON_ENTRY_SENT_HEADERS(entry, env), formated_buffer); } else { int count = 0; int printed = 0; axis2_char_t *formated_buffer_temp = formated_buffer; printf("%s\n", TCPMON_ENTRY_SENT_HEADERS(entry, env)); count = TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) - 4 - (int)strlen(TCPMON_ENTRY_SENT_HEADERS(entry, env)); while (count > printed) { int plen = 0; plen = ((int)strlen(formated_buffer) + 1); if (plen != 1) { printf("%s", formated_buffer); } printed += plen; if (count > printed) { printf("%c", '\0'); formated_buffer += plen; } } formated_buffer = formated_buffer_temp; } } if (status == 1) { plain_buffer = TCPMON_ENTRY_ARRIVED_DATA(entry, env); if (plain_buffer) /* this can be possible as no xml present */ { if (TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)) + (int)strlen(plain_buffer) + 4) { format = 0; /* mtom scenario */ } formated_buffer = tcpmon_util_format_as_xml (env, plain_buffer, format); } else { formated_buffer = ""; } printf("\n\n%s\n", "RETRIEVING DATA.."); printf("/* retrieving time = %s*/\n", TCPMON_ENTRY_ARRIVED_TIME(entry, env)); printf("/* time throughput = %s*/\n", TCPMON_ENTRY_TIME_DIFF(entry, env)); printf("---------------------\n"); if (format || TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) == (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)) + (int)strlen(formated_buffer) + 4) { printf("%s\n\n%s\n\n", TCPMON_ENTRY_ARRIVED_HEADERS(entry, env), formated_buffer); } else { int count = 0; int printed = 0; axis2_char_t *formated_buffer_temp = formated_buffer; printf("%s\n", TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)); count = TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) - 4 - (int)strlen(TCPMON_ENTRY_ARRIVED_HEADERS(entry, env)); while (count > printed) { int plen = 0; plen = ((int)strlen(formated_buffer) + 1); if (plen != 1) { printf("%s", formated_buffer); } printed += plen; if (count > printed) { printf("%c", '\0'); formated_buffer += plen; } } formated_buffer = formated_buffer_temp; } } return 0; } int on_error_func( const axutil_env_t * env, char *error_message) { fprintf(stderr, "ERROR: %s\n", error_message); return 0; } /** * Signal handler */ void sig_handler( int signal) { if (!system_env) { AXIS2_LOG_ERROR(system_env->log, AXIS2_LOG_SI, "Received signal %d, unable to proceed system_env is NULL,\ system exit with -1", signal); _exit (-1); } switch (signal) { case SIGINT: { AXIS2_LOG_INFO(system_env->log, "Received signal SIGINT. Utility " "shutting down"); printf("\n\n"); TCPMON_SESSION_STOP(session, system_env); TCPMON_SESSION_FREE(session, system_env); AXIS2_FREE(system_env->allocator, target_host); if (system_env) { axutil_env_free(system_env); } exit(0); } #ifndef WIN32 case SIGPIPE: { AXIS2_LOG_INFO(system_env->log, "Received signal SIGPIPE. Operation " "aborted"); return; } #endif case SIGSEGV: { fprintf(stderr, "Received deadly signal SIGSEGV. Terminating\n"); _exit(-1); } } } axis2c-src-1.6.0/tools/tcpmon/src/entry.c0000644000175000017500000004273311166304477021412 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include "tcpmon_entry_local.h" #include "tcpmon_session_local.h" #include "tcpmon_util.h" #define AXIS2_TCPMON /** * @brief */ typedef struct tcpmon_entry_impl { tcpmon_entry_t entry; axis2_char_t *arrived_time; axis2_char_t *sent_time; axis2_char_t *sent_data; axis2_char_t *arrived_data; axis2_char_t *sent_headers; axis2_char_t *arrived_headers; axis2_bool_t is_success; axis2_char_t *time_diff; axis2_char_t *test_file_name; int format_bit; int sent_data_length; int arrived_data_length; } tcpmon_entry_impl_t; #define AXIS2_INTF_TO_IMPL(entry) \ ((tcpmon_entry_impl_t *) entry) /************************* Function prototypes ********************************/ axis2_status_t AXIS2_CALL tcpmon_entry_free( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_time( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_sent_time( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_time_diff( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_sent_data( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_sent_headers( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_data( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_headers( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_bool_t AXIS2_CALL tcpmon_entry_is_success( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_char_t *get_current_stream_to_buffer( const axutil_env_t * env, axutil_stream_t * stream, int *stream_size); int AXIS2_CALL tcpmon_entry_get_format_bit( tcpmon_entry_t * entry, const axutil_env_t * env); int AXIS2_CALL tcpmon_entry_get_sent_data_length( tcpmon_entry_t * entry, const axutil_env_t * env); int AXIS2_CALL tcpmon_entry_get_arrived_data_length( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_entry_set_format_bit( tcpmon_entry_t * entry, const axutil_env_t * env, int format_bit); /************************** End of function prototypes ************************/ tcpmon_entry_t *AXIS2_CALL tcpmon_entry_create( const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = (tcpmon_entry_impl_t *) AXIS2_MALLOC(env-> allocator, sizeof (tcpmon_entry_impl_t)); if (!entry_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } entry_impl->arrived_time = AXIS2_MALLOC(env->allocator, 32); entry_impl->sent_time = AXIS2_MALLOC(env->allocator, 32); entry_impl->time_diff = AXIS2_MALLOC(env->allocator, 32); entry_impl->arrived_data = NULL; entry_impl->sent_data = NULL; entry_impl->arrived_headers = NULL; entry_impl->sent_headers = NULL; entry_impl->is_success = AXIS2_FALSE; entry_impl->format_bit = 0; entry_impl->sent_data_length = 0; entry_impl->arrived_data_length = 0; entry_impl->entry.ops = AXIS2_MALLOC(env->allocator, sizeof(tcpmon_entry_ops_t)); if (!entry_impl->entry.ops) { tcpmon_entry_free(&(entry_impl->entry), env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } entry_impl->entry.ops->free = tcpmon_entry_free; entry_impl->entry.ops->arrived_time = tcpmon_entry_arrived_time; entry_impl->entry.ops->sent_time = tcpmon_entry_sent_time; entry_impl->entry.ops->time_diff = tcpmon_entry_time_diff; entry_impl->entry.ops->sent_data = tcpmon_entry_sent_data; entry_impl->entry.ops->sent_headers = tcpmon_entry_sent_headers; entry_impl->entry.ops->arrived_data = tcpmon_entry_arrived_data; entry_impl->entry.ops->arrived_headers = tcpmon_entry_arrived_headers; entry_impl->entry.ops->is_success = tcpmon_entry_is_success; entry_impl->entry.ops->set_format_bit = tcpmon_entry_set_format_bit; entry_impl->entry.ops->get_format_bit = tcpmon_entry_get_format_bit; entry_impl->entry.ops->get_sent_data_length = tcpmon_entry_get_sent_data_length; entry_impl->entry.ops->get_arrived_data_length = tcpmon_entry_get_arrived_data_length; return &(entry_impl->entry); } /***************************Function implementation****************************/ axis2_status_t AXIS2_CALL tcpmon_entry_free( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); entry_impl = AXIS2_INTF_TO_IMPL(entry); if (entry->ops) { AXIS2_FREE(env->allocator, entry->ops); entry->ops = NULL; } if (entry_impl->arrived_time) { AXIS2_FREE(env->allocator, entry_impl->arrived_time); entry_impl->arrived_time = NULL; } if (entry_impl->sent_time) { AXIS2_FREE(env->allocator, entry_impl->sent_time); entry_impl->sent_time = NULL; } if (entry_impl->time_diff) { AXIS2_FREE(env->allocator, entry_impl->time_diff); entry_impl->time_diff = NULL; } if (entry_impl->arrived_data) { AXIS2_FREE(env->allocator, entry_impl->arrived_data); entry_impl->arrived_data = NULL; } if (entry_impl->sent_data) { AXIS2_FREE(env->allocator, entry_impl->sent_data); entry_impl->sent_data = NULL; } if (entry_impl->arrived_headers) { AXIS2_FREE(env->allocator, entry_impl->arrived_headers); entry_impl->arrived_headers = NULL; } if (entry_impl->sent_headers) { AXIS2_FREE(env->allocator, entry_impl->sent_headers); entry_impl->sent_headers = NULL; } if (entry_impl) { AXIS2_FREE(env->allocator, entry_impl); entry_impl = NULL; } return AXIS2_SUCCESS; } axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_time( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->arrived_time; } axis2_char_t *AXIS2_CALL tcpmon_entry_sent_time( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->sent_time; } axis2_char_t *AXIS2_CALL tcpmon_entry_time_diff( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->time_diff; } axis2_char_t *AXIS2_CALL tcpmon_entry_sent_data( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->sent_data; } axis2_char_t *AXIS2_CALL tcpmon_entry_sent_headers( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->sent_headers; } axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_data( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->arrived_data; } axis2_char_t *AXIS2_CALL tcpmon_entry_arrived_headers( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, NULL); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->arrived_headers; } axis2_bool_t AXIS2_CALL tcpmon_entry_is_success( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FALSE); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->is_success; } int AXIS2_CALL tcpmon_entry_get_format_bit( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->format_bit; } int AXIS2_CALL tcpmon_entry_get_sent_data_length( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->sent_data_length; } int AXIS2_CALL tcpmon_entry_get_arrived_data_length( tcpmon_entry_t * entry, const axutil_env_t * env) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); entry_impl = AXIS2_INTF_TO_IMPL(entry); return entry_impl->arrived_data_length; } axis2_status_t AXIS2_CALL tcpmon_entry_set_format_bit( tcpmon_entry_t * entry, const axutil_env_t * env, int format_bit) { tcpmon_entry_impl_t *entry_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); entry_impl = AXIS2_INTF_TO_IMPL(entry); entry_impl->format_bit = format_bit; return AXIS2_SUCCESS; } /** implimentations for protected methods */ /** executes as new entry arises */ void *AXIS2_CALL tcpmon_entry_new_entry_funct( axutil_thread_t * thd, void *data) { tcpmon_entry_request_data_t *req_data = (tcpmon_entry_request_data_t *) data; const axutil_env_t *env = NULL; int client_socket = -1; int host_socket = -1; tcpmon_session_t *session; TCPMON_SESSION_TRANS_ERROR_FUNCT on_trans_fault_funct; TCPMON_SESSION_NEW_ENTRY_FUNCT on_new_entry; axutil_stream_t *client_stream = NULL; axutil_stream_t *host_stream = NULL; int buffer_size = 0; axis2_char_t *headers = NULL; axis2_char_t *content = NULL; axis2_char_t *buffer = NULL; time_t now; struct tm *localTime = NULL; int arrived_secs = 0; int sent_secs = 0; int time_diff_i = 0; int target_port = 0; axis2_char_t *target_host = NULL; int test_bit = 0; int format_bit = 0; tcpmon_entry_t *entry = NULL; tcpmon_entry_impl_t *entry_impl = NULL; env = req_data->env; client_socket = req_data->socket; session = req_data->session; on_trans_fault_funct = tcpmon_session_get_on_trans_fault(session, env); on_new_entry = tcpmon_session_get_on_new_entry(session, env); entry = tcpmon_entry_create(env); entry_impl = AXIS2_INTF_TO_IMPL(entry); target_port = TCPMON_SESSION_GET_TARGET_PORT(session, env); target_host = TCPMON_SESSION_GET_TARGET_HOST(session, env); if (target_port == -1 || target_host == NULL) { axutil_network_handler_close_socket(env, client_socket); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Missing target port and host" "input missing"); if (on_trans_fault_funct) { (on_trans_fault_funct) (env, "Missing target port and host"); } if (thd) { AXIS2_FREE(env->allocator, thd); } if (data) { AXIS2_FREE(env->allocator, (tcpmon_entry_request_data_t *)data); } return NULL; } client_stream = axutil_stream_create_socket(env, client_socket); if (!client_stream) { axutil_network_handler_close_socket(env, client_socket); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in creating client stream" "handling response"); /** call the callback */ if (on_trans_fault_funct) { (on_trans_fault_funct) (env, "error in creating the client stream"); } if (thd) { AXIS2_FREE(env->allocator, thd); } if (data) { AXIS2_FREE(env->allocator, (tcpmon_entry_request_data_t *)data); } return NULL; } buffer = tcpmon_util_read_current_stream(env, client_stream, &buffer_size, &headers, &content); headers =(char *) tcpmon_util_str_replace(env, headers,"localhost", target_host); test_bit = TCPMON_SESSION_GET_TEST_BIT(session, env); if (test_bit) { tcpmon_util_write_to_file("reqest", buffer); } format_bit = TCPMON_SESSION_GET_FORMAT_BIT(session, env); TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit); now = time(NULL); localTime = localtime(&now); sprintf(entry_impl->sent_time, "%d:%d:%d", localTime->tm_hour, localTime->tm_min, localTime->tm_sec); sent_secs = localTime->tm_hour * 60 * 60 + localTime->tm_min * 60 + localTime->tm_sec; /*free ( localTime); */ entry_impl->sent_headers = headers; entry_impl->sent_data = content; entry_impl->sent_data_length = buffer_size; if (on_new_entry) { (on_new_entry) (env, entry, 0); } host_socket = (int)axutil_network_handler_open_socket(env, target_host, target_port); if (-1 == host_socket) { axutil_stream_write(client_stream, env, NULL, 0); axutil_stream_free(client_stream, env); axutil_network_handler_close_socket(env, client_socket); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in creating host_socket" "creating socket"); /** call the callback */ if (on_trans_fault_funct) { (on_trans_fault_funct) (env, "error in creating the host socket"); } if (thd) { AXIS2_FREE(env->allocator, thd); } if (data) { AXIS2_FREE(env->allocator, (tcpmon_entry_request_data_t *)data); } return NULL; } host_stream = axutil_stream_create_socket(env, host_socket); if (!host_stream) { axutil_stream_write(client_stream, env, NULL, 0); axutil_stream_free(client_stream, env); axutil_network_handler_close_socket(env, client_socket); axutil_network_handler_close_socket(env, host_socket); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Error in creating host stream" "handling response"); /** call the callback */ if (on_trans_fault_funct) { (on_trans_fault_funct) (env, "error in creating the host stream"); } if (thd) { AXIS2_FREE(env->allocator, thd); } if (data) { AXIS2_FREE(env->allocator, (tcpmon_entry_request_data_t *)data); } return NULL; } axutil_stream_write(host_stream, env, buffer, buffer_size); AXIS2_FREE(env->allocator, buffer); buffer = tcpmon_util_read_current_stream(env, host_stream, &buffer_size, &headers, &content); test_bit = TCPMON_SESSION_GET_TEST_BIT(session, env); if (test_bit) { tcpmon_util_write_to_file("response", buffer); } now = time(NULL); localTime = localtime(&now); sprintf(entry_impl->arrived_time, "%d:%d:%d", localTime->tm_hour, localTime->tm_min, localTime->tm_sec); arrived_secs = localTime->tm_hour * 60 * 60 + localTime->tm_min * 60 + localTime->tm_sec; /*free ( localTime); */ time_diff_i = arrived_secs - sent_secs; if (time_diff_i < 0) { time_diff_i += 24 * 60 * 60; } sprintf(entry_impl->time_diff, "%d sec(s)", time_diff_i); entry_impl->arrived_headers = headers; entry_impl->arrived_data = content; entry_impl->arrived_data_length = buffer_size; if (buffer == NULL || buffer_size == 0) { entry_impl->is_success = 0; } else { entry_impl->is_success = 1; } if (on_new_entry) { (on_new_entry) (env, entry, 1); } axutil_stream_write(client_stream, env, buffer, buffer_size); AXIS2_FREE(env->allocator, buffer); axutil_stream_free(client_stream, env); axutil_stream_free(host_stream, env); axutil_network_handler_close_socket(env, client_socket); axutil_network_handler_close_socket(env, host_socket); if (entry_impl) { tcpmon_entry_free(&(entry_impl->entry), env); } if (thd) { AXIS2_FREE(env->allocator, thd); } if (data) { AXIS2_FREE(env->allocator, (tcpmon_entry_request_data_t *)data); } return NULL; } axis2c-src-1.6.0/tools/tcpmon/src/session.c0000644000175000017500000004334611166304477021735 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include "tcpmon_session_local.h" #include "tcpmon_entry_local.h" #include "tcpmon_util.h" /** * @brief */ typedef struct tcpmon_session_impl { tcpmon_session_t session; int listen_port; int target_port; int test_bit; int format_bit; axis2_char_t *target_host; TCPMON_SESSION_NEW_ENTRY_FUNCT on_new_entry_funct; TCPMON_SESSION_TRANS_ERROR_FUNCT on_trans_fault_funct; axutil_array_list_t *entries; axis2_bool_t is_running; } tcpmon_session_impl_t; typedef struct tcpmon_session_server_thread_data { tcpmon_session_impl_t *session_impl; const axutil_env_t *env; } tcpmon_session_server_thread_data_t; #define AXIS2_INTF_TO_IMPL(session) \ ((tcpmon_session_impl_t *) session) axutil_thread_t *server_thread = NULL; tcpmon_session_server_thread_data_t *thread_data = NULL; /************************* Function prototypes ********************************/ axis2_status_t AXIS2_CALL tcpmon_session_free( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_session_set_listen_port( tcpmon_session_t * session, const axutil_env_t * env, int listen_port); int AXIS2_CALL tcpmon_session_get_listen_port( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_session_set_target_port( tcpmon_session_t * session, const axutil_env_t * env, int target_port); int AXIS2_CALL tcpmon_session_get_target_port( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_session_set_target_host( tcpmon_session_t * session, const axutil_env_t * env, axis2_char_t * target_host); axis2_char_t *AXIS2_CALL tcpmon_session_get_target_host( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_session_start( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_session_stop( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t AXIS2_CALL tcpmon_session_on_new_entry( tcpmon_session_t * session, const axutil_env_t * env, TCPMON_SESSION_NEW_ENTRY_FUNCT on_new_entry_funct); axis2_status_t AXIS2_CALL tcpmon_session_on_trans_fault( tcpmon_session_t * session, const axutil_env_t * env, TCPMON_SESSION_TRANS_ERROR_FUNCT on_trans_fault_funct); int AXIS2_CALL tcpmon_session_get_test_bit( tcpmon_session_t * session, const axutil_env_t * env); int AXIS2_CALL tcpmon_session_set_test_bit( tcpmon_session_t * session, const axutil_env_t * env, int test_bit); int AXIS2_CALL tcpmon_session_get_format_bit( tcpmon_session_t * session, const axutil_env_t * env); int AXIS2_CALL tcpmon_session_set_format_bit( tcpmon_session_t * session, const axutil_env_t * env, int format_bit); /** internal implementations */ static void *AXIS2_THREAD_FUNC server_funct( axutil_thread_t * thd, void *data); /************************** End of function prototypes ************************/ tcpmon_session_t *AXIS2_CALL tcpmon_session_create( const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, NULL); session_impl = (tcpmon_session_impl_t *) AXIS2_MALLOC(env-> allocator, sizeof (tcpmon_session_impl_t)); if (!session_impl) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } session_impl->listen_port = -1; session_impl->target_port = -1; session_impl->test_bit = -1; session_impl->format_bit = 0; session_impl->target_host = NULL; session_impl->on_new_entry_funct = NULL; session_impl->on_trans_fault_funct = NULL; session_impl->entries = axutil_array_list_create(env, AXIS2_ARRAY_LIST_DEFAULT_CAPACITY); session_impl->session.ops = AXIS2_MALLOC(env->allocator, sizeof(tcpmon_session_ops_t)); if (!session_impl->session.ops) { tcpmon_session_free(&(session_impl->session), env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } session_impl->is_running = AXIS2_FALSE; session_impl->session.ops->free = tcpmon_session_free; session_impl->session.ops->set_test_bit = tcpmon_session_set_test_bit; session_impl->session.ops->get_test_bit = tcpmon_session_get_test_bit; session_impl->session.ops->get_format_bit = tcpmon_session_get_format_bit; session_impl->session.ops->set_format_bit = tcpmon_session_set_format_bit; session_impl->session.ops->set_listen_port = tcpmon_session_set_listen_port; session_impl->session.ops->get_listen_port = tcpmon_session_get_listen_port; session_impl->session.ops->set_target_port = tcpmon_session_set_target_port; session_impl->session.ops->get_target_port = tcpmon_session_get_target_port; session_impl->session.ops->set_target_host = tcpmon_session_set_target_host; session_impl->session.ops->get_target_host = tcpmon_session_get_target_host; session_impl->session.ops->start = tcpmon_session_start; session_impl->session.ops->stop = tcpmon_session_stop; session_impl->session.ops->on_new_entry = tcpmon_session_on_new_entry; session_impl->session.ops->on_trans_fault = tcpmon_session_on_trans_fault; return &(session_impl->session); } /***************************Function implementation****************************/ axis2_status_t AXIS2_CALL tcpmon_session_free( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; int entries_size = 0; tcpmon_entry_t *entry = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); for (entries_size = axutil_array_list_size(session_impl->entries, env) - 1; entries_size >= 0; entries_size--) { TCPMON_ENTRY_FREE(entry, env); } axutil_array_list_free(session_impl->entries, env); if (session->ops) { AXIS2_FREE(env->allocator, session->ops); session->ops = NULL; } if (session_impl->target_host) { AXIS2_FREE(env->allocator, session_impl->target_host); session_impl->target_host = NULL; } if (session_impl) { AXIS2_FREE(env->allocator, session_impl); session_impl = NULL; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL tcpmon_session_set_test_bit( tcpmon_session_t * session, const axutil_env_t * env, int test_bit) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->test_bit = test_bit; return AXIS2_SUCCESS; } int AXIS2_CALL tcpmon_session_get_test_bit( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->test_bit; } axis2_status_t AXIS2_CALL tcpmon_session_set_format_bit( tcpmon_session_t * session, const axutil_env_t * env, int format_bit) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->format_bit = format_bit; return AXIS2_SUCCESS; } int AXIS2_CALL tcpmon_session_get_format_bit( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->format_bit; } axis2_status_t AXIS2_CALL tcpmon_session_set_listen_port( tcpmon_session_t * session, const axutil_env_t * env, int listen_port) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->listen_port = listen_port; return AXIS2_SUCCESS; } int AXIS2_CALL tcpmon_session_get_listen_port( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, -1); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->listen_port; } axis2_status_t AXIS2_CALL tcpmon_session_set_target_port( tcpmon_session_t * session, const axutil_env_t * env, int target_port) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->target_port = target_port; return AXIS2_SUCCESS; } int AXIS2_CALL tcpmon_session_get_target_port( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, -1); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->target_port; } axis2_status_t AXIS2_CALL tcpmon_session_set_target_host( tcpmon_session_t * session, const axutil_env_t * env, axis2_char_t * target_host) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->target_host = (axis2_char_t *) axutil_strdup(env, target_host); return AXIS2_SUCCESS; } axis2_char_t *AXIS2_CALL tcpmon_session_get_target_host( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, NULL); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->target_host; } axis2_status_t AXIS2_CALL tcpmon_session_start( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); thread_data = (tcpmon_session_server_thread_data_t *) AXIS2_MALLOC(env->allocator, sizeof (tcpmon_session_server_thread_data_t)); thread_data->session_impl = session_impl; thread_data->env = env; session_impl->is_running = AXIS2_TRUE; server_thread = axutil_thread_pool_get_thread(env->thread_pool, server_funct, (void *) thread_data); if (!server_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread creation failed" "server thread"); if (session_impl->on_trans_fault_funct) { (session_impl->on_trans_fault_funct) (env, "error in creating the server thread"); } } axutil_thread_pool_thread_detach(env->thread_pool, server_thread); return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL tcpmon_session_stop( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->is_running = AXIS2_FALSE; if (server_thread) { AXIS2_FREE(env->allocator, server_thread); server_thread = NULL; } if (thread_data) { AXIS2_FREE(env->allocator, (tcpmon_session_server_thread_data_t *)thread_data); thread_data = NULL; } return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL tcpmon_session_on_new_entry( tcpmon_session_t * session, const axutil_env_t * env, TCPMON_SESSION_NEW_ENTRY_FUNCT on_new_entry_funct) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->on_new_entry_funct = on_new_entry_funct; return AXIS2_SUCCESS; } axis2_status_t AXIS2_CALL tcpmon_session_on_trans_fault( tcpmon_session_t * session, const axutil_env_t * env, TCPMON_SESSION_TRANS_ERROR_FUNCT on_trans_fault_funct) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); session_impl->on_trans_fault_funct = on_trans_fault_funct; return AXIS2_SUCCESS; } /** internal implementations */ static void *AXIS2_THREAD_FUNC server_funct( axutil_thread_t * thd, void *data) { tcpmon_session_server_thread_data_t *thread_data = (tcpmon_session_server_thread_data_t *)data; tcpmon_session_impl_t *session_impl = NULL; const axutil_env_t *env = NULL; int listen_socket = -1; int socket = -1; axutil_thread_t *request_thread = NULL; tcpmon_entry_request_data_t *request_thread_data = NULL; session_impl = thread_data->session_impl; env = thread_data->env; listen_socket = (int)axutil_network_handler_create_server_socket (env, session_impl->listen_port); if (-1 == listen_socket) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "error in creating the server socket, " "port may be already occupied", "create socket"); if (session_impl->on_trans_fault_funct) { (session_impl->on_trans_fault_funct) (env, "error in creating the server socket, " "port may be already occupied"); } if (thd) { AXIS2_FREE(env->allocator, server_thread); server_thread = NULL; } if (data) { AXIS2_FREE(env->allocator, (tcpmon_session_server_thread_data_t *)data); thread_data = NULL; } return NULL; } while (session_impl->is_running) { socket = (int)axutil_network_handler_svr_socket_accept(env, listen_socket); if (socket == -1) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "error in creating the socket" "create socket"); if (session_impl->on_trans_fault_funct) { (session_impl->on_trans_fault_funct) (env, "error in creating the socket"); } break; } request_thread_data = (tcpmon_entry_request_data_t *) AXIS2_MALLOC(env->allocator, sizeof (tcpmon_entry_request_data_t)); request_thread_data->env = env; request_thread_data->socket = socket; request_thread_data->session = (tcpmon_session_t *) session_impl; request_thread = axutil_thread_pool_get_thread(env->thread_pool, tcpmon_entry_new_entry_funct, (void *) request_thread_data); if (!request_thread) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Thread creation failed" "request thread"); if (session_impl->on_trans_fault_funct) { (session_impl->on_trans_fault_funct) (env, "fail in creating the thread"); } break; } axutil_thread_pool_thread_detach(env->thread_pool, request_thread); } axutil_network_handler_close_socket(env, listen_socket); if (thd) { AXIS2_FREE(env->allocator, server_thread); server_thread = NULL; } if (data) { AXIS2_FREE(env->allocator, (tcpmon_session_server_thread_data_t *)data); thread_data = NULL; } return NULL; } /* implementations for protected functions */ axis2_status_t tcpmon_session_add_new_entry( tcpmon_session_t * session, const axutil_env_t * env, tcpmon_entry_t * entry) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); session_impl = AXIS2_INTF_TO_IMPL(session); axutil_array_list_add(session_impl->entries, env, entry); return AXIS2_SUCCESS; } TCPMON_SESSION_TRANS_ERROR_FUNCT tcpmon_session_get_on_trans_fault( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, NULL); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->on_trans_fault_funct; } TCPMON_SESSION_NEW_ENTRY_FUNCT tcpmon_session_get_on_new_entry( tcpmon_session_t * session, const axutil_env_t * env) { tcpmon_session_impl_t *session_impl = NULL; AXIS2_ENV_CHECK(env, NULL); session_impl = AXIS2_INTF_TO_IMPL(session); return session_impl->on_new_entry_funct; } axis2c-src-1.6.0/tools/tcpmon/src/Makefile.am0000644000175000017500000000102311166304477022124 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/bin/tools/tcpmon prgbin_PROGRAMS = tcpmon tcpmon_SOURCES = tcpmon.c \ entry.c \ session.c \ util.c tcpmon_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../include \ -I ../include EXTRA_DIST=tcpmon_entry_local.h tcpmon_session_local.h axis2c-src-1.6.0/tools/tcpmon/src/Makefile.in0000644000175000017500000003611711172017206022135 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = tcpmon$(EXEEXT) subdir = tools/tcpmon/src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_tcpmon_OBJECTS = tcpmon.$(OBJEXT) entry.$(OBJEXT) session.$(OBJEXT) \ util.$(OBJEXT) tcpmon_OBJECTS = $(am_tcpmon_OBJECTS) tcpmon_DEPENDENCIES = ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(tcpmon_SOURCES) DIST_SOURCES = $(tcpmon_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/bin/tools/tcpmon tcpmon_SOURCES = tcpmon.c \ entry.c \ session.c \ util.c tcpmon_LDADD = \ ../../../util/src/libaxutil.la \ ../../../axiom/src/om/libaxis2_axiom.la \ ../../../axiom/src/parser/$(WRAPPER_DIR)/libaxis2_parser.la INCLUDES = -I$(top_builddir)/include \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../include \ -I ../include EXTRA_DIST = tcpmon_entry_local.h tcpmon_session_local.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/tcpmon/src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/tcpmon/src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done tcpmon$(EXEEXT): $(tcpmon_OBJECTS) $(tcpmon_DEPENDENCIES) @rm -f tcpmon$(EXEEXT) $(LINK) $(tcpmon_OBJECTS) $(tcpmon_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/entry.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/session.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tcpmon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/tools/tcpmon/src/util.c0000644000175000017500000006341611166304477021227 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #define START_ELEMENT 1 #define CHAR_VALUE 2 #define END_ELEMENT 3 #define EMPTY_ELEMENT 4 typedef struct tcpmon_util_allocator { int allocated; int index; axis2_char_t *buffer; } tcpmon_util_allocator_t; /*static void add_string(const axutil_env_t* env, tcpmon_util_allocator_t* allocator, axis2_char_t* string); */ /*static void add_axis2_char_t(const axutil_env_t* env, tcpmon_util_allocator_t* allocator, axis2_char_t c, int turns); */ axis2_char_t * tcpmon_util_format_as_xml( const axutil_env_t * env, axis2_char_t * data, int format) { if (format) { int c; int tab_pos = 0; int has_value = 0; int has_space = 0; int start_ele = 0; int prev_case = 0; int buffer_size = 0; axis2_char_t *out; axiom_xml_reader_t *xml_reader = NULL; buffer_size = 2 * ((int)strlen(data)); /* We are sure that the difference lies within the int range */ out = AXIS2_MALLOC(env->allocator, buffer_size * sizeof(axis2_char_t)); if (data) { int size = 0; size = (int)strlen(data); /* We are sure that the difference lies within the int range */ xml_reader = axiom_xml_reader_create_for_memory(env, data, size, "utf-8", AXIS2_XML_PARSER_TYPE_BUFFER); if (!xml_reader) return NULL; } axiom_xml_reader_init(); while ((c = axiom_xml_reader_next(xml_reader, env)) != -1) { switch (c) { case AXIOM_XML_READER_START_DOCUMENT: { int ix; tcpmon_util_strcat(out, " 0; ix--) { axis2_char_t *attr_prefix; axis2_char_t *attr_name; axis2_char_t *attr_value; attr_prefix = (axis2_char_t *) axiom_xml_reader_get_attribute_prefix_by_number (xml_reader, env, ix); if (attr_prefix) { tcpmon_util_strcat(out, attr_prefix, &buffer_size, env); tcpmon_util_strcat(out, ":", &buffer_size, env); } attr_name = (axis2_char_t *) axiom_xml_reader_get_attribute_name_by_number (xml_reader, env, ix); if (attr_name) { tcpmon_util_strcat(out, attr_name, &buffer_size, env); tcpmon_util_strcat(out, "=\"", &buffer_size, env); } attr_value = (axis2_char_t *) axiom_xml_reader_get_attribute_value_by_number (xml_reader, env, ix); if (attr_value) { tcpmon_util_strcat(out, attr_value, &buffer_size, env); tcpmon_util_strcat(out, "\"", &buffer_size, env); } } printf("?>"); } break; case AXIOM_XML_READER_START_ELEMENT: { int i, ix, has_prefix = 0; axis2_char_t *ele_name; axis2_char_t *ele_prefix; prev_case = START_ELEMENT; has_value = 0; has_space = 0; if (start_ele != 0) tcpmon_util_strcat(out, "\n", &buffer_size, env); for (i = 0; i < tab_pos; i++) tcpmon_util_strcat(out, "\t", &buffer_size, env); tcpmon_util_strcat(out, "<", &buffer_size, env); ele_prefix = (axis2_char_t *) axiom_xml_reader_get_prefix(xml_reader, env); if (ele_prefix) { tcpmon_util_strcat(out, ele_prefix, &buffer_size, env); tcpmon_util_strcat(out, ":", &buffer_size, env); } ele_name = (axis2_char_t *) axiom_xml_reader_get_name(xml_reader, env); if (ele_name) { tcpmon_util_strcat(out, ele_name, &buffer_size, env); } ix = axiom_xml_reader_get_attribute_count(xml_reader, env); for (; ix > 0; ix--) { axis2_char_t *attr_prefix; axis2_char_t *attr_name; axis2_char_t *attr_value; attr_prefix = (axis2_char_t *) axiom_xml_reader_get_attribute_prefix_by_number (xml_reader, env, ix); if (attr_prefix) { has_prefix = 1; tcpmon_util_strcat(out, " ", &buffer_size, env); tcpmon_util_strcat(out, attr_prefix, &buffer_size, env); tcpmon_util_strcat(out, ":", &buffer_size, env); } attr_name = (axis2_char_t *) axiom_xml_reader_get_attribute_name_by_number (xml_reader, env, ix); if (attr_name) { if (has_prefix) { tcpmon_util_strcat(out, attr_name, &buffer_size, env); tcpmon_util_strcat(out, "=\"", &buffer_size, env); } else { tcpmon_util_strcat(out, " ", &buffer_size, env); tcpmon_util_strcat(out, attr_name, &buffer_size, env); tcpmon_util_strcat(out, "=\"", &buffer_size, env); } has_prefix = 0; } attr_value = (axis2_char_t *) axiom_xml_reader_get_attribute_value_by_number (xml_reader, env, ix); if (attr_value) { tcpmon_util_strcat(out, attr_value, &buffer_size, env); tcpmon_util_strcat(out, "\"", &buffer_size, env); } } tcpmon_util_strcat(out, ">", &buffer_size, env); tab_pos++; start_ele = 1; } break; case AXIOM_XML_READER_CHARACTER: { axis2_char_t *ele_value; prev_case = CHAR_VALUE; ele_value = axiom_xml_reader_get_value(xml_reader, env); if (ele_value) tcpmon_util_strcat(out, ele_value, &buffer_size, env); has_value = 1; } break; case AXIOM_XML_READER_EMPTY_ELEMENT: { int i, ix, has_prefix = 0; axis2_char_t *ele_name; axis2_char_t *ele_prefix; prev_case = EMPTY_ELEMENT; has_value = 0; has_space = 0; if (start_ele != 0) tcpmon_util_strcat(out, "\n", &buffer_size, env); for (i = 0; i < tab_pos; i++) tcpmon_util_strcat(out, "\t", &buffer_size, env); tcpmon_util_strcat(out, "<", &buffer_size, env); ele_prefix = (axis2_char_t *) axiom_xml_reader_get_prefix(xml_reader, env); if (ele_prefix) { tcpmon_util_strcat(out, ele_prefix, &buffer_size, env); tcpmon_util_strcat(out, ":", &buffer_size, env); } ele_name = (axis2_char_t *) axiom_xml_reader_get_name(xml_reader, env); if (ele_name) tcpmon_util_strcat(out, ele_name, &buffer_size, env); ix = axiom_xml_reader_get_attribute_count(xml_reader, env); for (; ix > 0; ix--) { axis2_char_t *attr_prefix; axis2_char_t *attr_name; axis2_char_t *attr_value; attr_prefix = (axis2_char_t *) axiom_xml_reader_get_attribute_prefix_by_number (xml_reader, env, ix); if (attr_prefix) { has_prefix = 1; tcpmon_util_strcat(out, " ", &buffer_size, env); tcpmon_util_strcat(out, attr_prefix, &buffer_size, env); tcpmon_util_strcat(out, ":", &buffer_size, env); } attr_name = (axis2_char_t *) axiom_xml_reader_get_attribute_name_by_number (xml_reader, env, ix); if (attr_name) { if (has_prefix) { tcpmon_util_strcat(out, attr_name, &buffer_size, env); tcpmon_util_strcat(out, "=\"", &buffer_size, env); } else { tcpmon_util_strcat(out, " ", &buffer_size, env); tcpmon_util_strcat(out, attr_name, &buffer_size, env); tcpmon_util_strcat(out, "=\"", &buffer_size, env); } has_prefix = 0; } attr_value = (axis2_char_t *) axiom_xml_reader_get_attribute_value_by_number (xml_reader, env, ix); if (attr_value) { tcpmon_util_strcat(out, attr_value, &buffer_size, env); tcpmon_util_strcat(out, "\"", &buffer_size, env); } } tcpmon_util_strcat(out, "/>", &buffer_size, env); start_ele = 1; } break; case AXIOM_XML_READER_END_ELEMENT: { int i; axis2_char_t *ele_prefix; axis2_char_t *ele_name; tab_pos--; if (has_value == 0 && prev_case != START_ELEMENT) { tcpmon_util_strcat(out, "\n", &buffer_size, env); for (i = 0; i < tab_pos; i++) tcpmon_util_strcat(out, "\t", &buffer_size, env); } has_value = 0; tcpmon_util_strcat(out, "", &buffer_size, env); } prev_case = END_ELEMENT; } break; } } return out; } return data; } /*void add_string(const axutil_env_t* env, tcpmon_util_allocator_t* allocator, axis2_char_t* string) { int additional_len = 0; void* dest = NULL; void* src = NULL; int count = 0; additional_len = axutil_strlen(string) + 1; if (allocator-> index + additional_len >= allocator-> allocated) { if (allocator-> allocated == 0) { allocator-> buffer = AXIS2_MALLOC(env-> allocator, additional_len); } else { allocator-> buffer = AXIS2_REALLOC(env-> allocator, allocator-> buffer, allocator-> allocated + additional_len); } allocator-> allocated += additional_len; } dest = allocator-> buffer + allocator-> index; src = string; count = additional_len; memcpy(dest, src, count); allocator-> index += count - 1; } */ /*void add_axis2_char_t(const axutil_env_t* env, tcpmon_util_allocator_t* allocator, axis2_char_t c, int turns) { int additional_len = 0; additional_len = turns + 1; if (allocator-> index + additional_len >= allocator-> allocated) { if (allocator-> allocated == 0) { allocator-> buffer = AXIS2_MALLOC(env-> allocator, additional_len); } else { allocator-> buffer = AXIS2_REALLOC(env-> allocator, allocator-> buffer, allocator-> allocated + additional_len); } allocator-> allocated += additional_len; } memset(allocator-> buffer + allocator-> index, c, turns); allocator-> index += turns; } */ axis2_char_t * tcpmon_util_strcat( axis2_char_t * dest, axis2_char_t * source, int *buff_size, const axutil_env_t * env) { int cur_len = 0; int source_len = 0; axis2_char_t *tmp; cur_len = (int)strlen(dest); /* We are sure that the difference lies within the int range */ source_len = (int)strlen(source); /* We are sure that the difference lies within the int range */ if ((*buff_size - cur_len) < source_len) { *buff_size = *buff_size + (*buff_size * 2); tmp = (axis2_char_t *) AXIS2_REALLOC(env->allocator, dest, *buff_size * sizeof(axis2_char_t)); dest = tmp; strcat((char *) dest, (char *) source); } else { strcat((char *) dest, (char *) source); } return dest; } char * tcpmon_util_str_replace( const axutil_env_t *env, char *str, const char *search, const char *replace) { char *str_return = NULL; char *str_tmp = NULL; char *str_relic = NULL; int size = ((int)strlen(str)) * 2; /* We are sure that the difference lies within the int range */ int addmem = size; int diff = (int)(strlen(replace) - strlen(search)); /* We are sure that the difference lies within the int range */ str_return = (char *) AXIS2_MALLOC(env->allocator, ((size + 1) * sizeof(char))); str_tmp = (char *) AXIS2_MALLOC(env->allocator, (size * sizeof(char))); if (str_return == NULL || str_tmp == NULL) { AXIS2_FREE(env->allocator, str_return); str_return = NULL; AXIS2_FREE(env->allocator, str_tmp); str_tmp = NULL; return "function tcpmon_util_str_replace : give me more memory"; } if (!strcmp(search, replace)) { AXIS2_FREE(env->allocator, str_return); str_return = NULL; AXIS2_FREE(env->allocator, str_tmp); str_tmp = NULL; return str; } strcpy(str_return, str); while ((str_relic = strstr(str_return, search)) != NULL) { if ((int)strlen(str_return) + diff >= addmem) /* We are sure that the difference lies within the int range */ { str_return = (char *) realloc(str_return, addmem += size); str_tmp = (char *) realloc(str_tmp, addmem); if (str_return == NULL || str_tmp == NULL) { AXIS2_FREE(env->allocator, str_return); str_return = NULL; AXIS2_FREE(env->allocator, str_tmp); str_tmp = NULL; return "function tcpmon_str_replace : gimme more memory"; } } strcpy(str_tmp, replace); strcat(str_tmp, (str_relic + strlen(search))); *str_relic = '\0'; strcat(str_return, str_tmp); } AXIS2_FREE(env->allocator, str_tmp); str_tmp = NULL; /* free(str); */ /* we are not allocating memory using str */ str_return[addmem] = '\0'; return (str_return); } axis2_char_t * tcpmon_util_read_current_stream( const axutil_env_t * env, axutil_stream_t * stream, int *stream_size, axis2_char_t ** header, axis2_char_t ** data) { int read_size = 0; axis2_char_t *buffer = NULL; axis2_char_t *header_ptr = NULL; axis2_char_t *body_ptr = NULL; int header_found = 0; int header_just_finished = 0; int read = 0; int header_width = 0; int current_line_offset = 0; int mtom_optimized = 0; axis2_char_t *current_line = NULL; int line_just_ended = 1; axis2_char_t *length_char = 0; int length = -1; int chunked_encoded = 0; int is_get = 0; int zero_content_length = 0; buffer = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t)); *data = NULL; *header = NULL; do { buffer = AXIS2_REALLOC(env->allocator, buffer, sizeof(axis2_char_t) * (read_size + 1)); *(buffer + read_size) = '\0'; read = axutil_stream_read(stream, env, buffer + read_size, 1); if (header_just_finished) { header_just_finished = 0; header_width = read_size; } /** identify the content lenth*/ if (!header_found && *(buffer + read_size) == '\r') { *(buffer + read_size) = '\0'; current_line = buffer + current_line_offset; if (!mtom_optimized && strstr(current_line, "multipart/related")) mtom_optimized = 1; if (strstr(current_line, "Content-Length")) { length_char = strstr(current_line, ":"); if (length_char) { length_char++; length = atoi(length_char); if (length == 0) { zero_content_length = 1; } } } if (strstr(current_line, "GET") || strstr(current_line, "HEAD") || strstr(current_line, "DELETE")) { is_get = 1; /** Captures GET style requests */ } *(buffer + read_size) = '\r'; } if (!header_found && line_just_ended) { line_just_ended = 0; current_line_offset = read_size; } if (!header_found && *(buffer + read_size) == '\n') { line_just_ended = 1; /* set for the next loop to read */ } if (header_found) { length--; } if (header_found && read_size >= 4 && chunked_encoded == 1 && *(buffer + read_size) == '\n' && *(buffer + read_size - 1) == '\r' && *(buffer + read_size - 2) == '\n' && *(buffer + read_size - 3) == '\r' && *(buffer + read_size - 4) == '0') { length = 0; /** this occurs in chunked transfer encoding */ } /** identify the end of the header */ if (!header_found && read_size >= 3 && *(buffer + read_size) == '\n' && *(buffer + read_size - 1) == '\r' && *(buffer + read_size - 2) == '\n' && *(buffer + read_size - 3) == '\r') { header_found = 1; *(buffer + read_size - 3) = '\0'; if (header_ptr) { AXIS2_FREE(env->allocator, header_ptr); } header_ptr = (axis2_char_t *) axutil_strdup(env, buffer); header_just_finished = 1; *(buffer + read_size - 3) = '\r'; if (is_get && length == -1) { break; } } read_size++; if (!chunked_encoded && length < -1) { header_width = 0; /* break; */ /** this is considered as transfer-encoding = chunked */ chunked_encoded = 1; header_found = 1; *(buffer + read_size - 3) = '\0'; if (header_ptr) { AXIS2_FREE(env->allocator, header_ptr); } header_ptr = (axis2_char_t *) axutil_strdup(env, buffer); header_just_finished = 1; *(buffer + read_size - 3) = '\r'; } if (!(*(buffer + read_size - 1))) { if (!mtom_optimized) { read_size--; length = 0; } else { /**(buffer + read_size - 1) = ' ';*/ } } } while (length != 0); if (is_get) { read_size++; } else if (zero_content_length) { read_size += 3; } buffer = AXIS2_REALLOC(env->allocator, buffer, sizeof(axis2_char_t) * (read_size + 1)); *(buffer + read_size) = '\0'; if (header_width != 0) { body_ptr = buffer + header_width; if (body_ptr && *body_ptr) { if (mtom_optimized) { int count = read_size - (int)strlen(header_ptr) - 4; int copied = 0; int plen = 0; axis2_char_t *temp = NULL; temp = AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t) * count + 1); while(count > copied) { plen = 0; plen = ((int)strlen(body_ptr) + 1); if (plen != 1) { sprintf(temp, "%s", body_ptr); } copied += plen; if (count > copied) { temp += plen; body_ptr += plen; } } copied -= plen; temp -= copied; temp[count] = '\0'; *data = temp; } else { *data = (axis2_char_t *) axutil_strdup(env, body_ptr); } } body_ptr = NULL; } else { /** soap body part is unavailable */ if (is_get) { *data = (axis2_char_t *) axutil_strdup(env, "\n"); *(buffer + read_size - 1) = '\n'; } else if (zero_content_length) { *data = (axis2_char_t *) axutil_strdup(env, "\n"); *(buffer + read_size - 3) = '\n'; *(buffer + read_size - 2) = '\r'; *(buffer + read_size - 1) = '\n'; } if (header_ptr) { AXIS2_FREE(env->allocator, header_ptr); } header_ptr = (axis2_char_t *) axutil_strdup(env, buffer); } *header = header_ptr; *stream_size = read_size; return buffer; } int tcpmon_util_write_to_file( char *filename, char *buffer) { int size = 0; if (filename) { FILE *fp = fopen(filename, "ab"); size = (int)fwrite(buffer, 1, strlen(buffer), fp); /* We are sure that the difference lies within the int range */ fclose(fp); } return size; } axis2c-src-1.6.0/tools/tcpmon/src/tcpmon_session_local.h0000644000175000017500000000070311166304477024462 0ustar00manjulamanjula00000000000000#include #include axis2_status_t tcpmon_session_add_new_entry( tcpmon_session_t * session, const axutil_env_t * env, tcpmon_entry_t * entry); TCPMON_SESSION_TRANS_ERROR_FUNCT tcpmon_session_get_on_trans_fault( tcpmon_session_t * session, const axutil_env_t * env); TCPMON_SESSION_NEW_ENTRY_FUNCT tcpmon_session_get_on_new_entry( tcpmon_session_t * session, const axutil_env_t * env); axis2c-src-1.6.0/tools/tcpmon/src/tcpmon_entry_local.h0000644000175000017500000000050711166304477024142 0ustar00manjulamanjula00000000000000#include #include "tcpmon_entry.h" #include "tcpmon_session_local.h" typedef struct tcpmon_entry_request_data { const axutil_env_t *env; int socket; tcpmon_session_t *session; } tcpmon_entry_request_data_t; void *AXIS2_CALL tcpmon_entry_new_entry_funct( axutil_thread_t * thd, void *data); axis2c-src-1.6.0/tools/tcpmon/NEWS0000644000175000017500000000000011166304477017772 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/test/0000777000175000017500000000000011172017546020263 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/test/unit/0000777000175000017500000000000011172017546021242 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/test/unit/Makefile.am0000644000175000017500000000107111166304474023273 0ustar00manjulamanjula00000000000000TESTS = prgbindir=$(prefix)/bin/unit_test prgbin_PROGRAMS = tcpmon_unit_test_suite tcpmon_unit_test_suite_SOURCES = main.c tcpmon_test.c tcpmon_unit_test_suite_LDADD = \ $(top_builddir)/src/libaxis2_tcpmon.la \ -L$(CUTEST_HOME)/lib \ -lcutest \ ../../../../util/src/libaxutil.la \ ../../../../axiom/src/om/libaxis2_axiom.la \ $(NULL) INCLUDES = -I${CUTEST_HOME}/include \ -I$(top_builddir)/include \ -I ../../../../util/include \ $(NULL) axis2c-src-1.6.0/tools/tcpmon/test/unit/main.c0000644000175000017500000000230711166304474022332 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "tcpmon_test.h" void RunAllTests( void) { CuString *output = CuStringNew(); CuSuite *suite = CuSuiteNew(); CuSuiteAddSuite(suite, (CuSuite *) tcpmon_GetSuite()); CuSuiteRun(suite); CuSuiteSummary(suite, output); CuSuiteDetails(suite, output); printf("%s\n", output->buffer); } int main( void) { RunAllTests(); return 0; } axis2c-src-1.6.0/tools/tcpmon/test/unit/result0000644000175000017500000000032311166304474022477 0ustar00manjulamanjula00000000000000F There was 1 failure: 1) test_format_xml: tcpmon_test.c:28: expected < check for one step > but was < check for one step í> !!!FAILURES!!! Runs: 1 Passes: 0 Fails: 1 axis2c-src-1.6.0/tools/tcpmon/test/unit/tcpmon_test.c0000644000175000017500000000522311166304474023745 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include "tcpmon_test.h" #include #include #include void test_format_xml( CuTest * tc) { axutil_env_t *env; axutil_allocator_t *allocator; axis2_char_t *input; axis2_char_t *actual; axis2_char_t *expected; allocator = axutil_allocator_init(NULL); env = axutil_env_create(allocator); input = (char *) axutil_strdup(env, "check for one step"); actual = (char *) tcpmon_util_format_as_xml(env, input); expected = "\n" "\tcheck for one step\n" "\n"; CuAssertStrEquals(tc, expected, actual); free(actual); free(input); input = (char *) axutil_strdup(env, "check for one step"); actual = (char *) tcpmon_util_format_as_xml(env, input); expected = "\n" "\t\n" "\t\t\n" "\t\t\tcheck for one step\n" "\t\t\n" "\t\n" "\n"; CuAssertStrEquals(tc, expected, actual); free(actual); free(input); input = (char *) axutil_strdup(env, "check for one step"); actual = (char *) tcpmon_util_format_as_xml(env, input); expected = "\n" "\n" "\t\n" "\t\t\n" "\t\t\tcheck for one step\n" "\t\t\n" "\t\n" "\n"; CuAssertStrEquals(tc, expected, actual); free(actual); free(input); } CuSuite * tcpmon_GetSuite( ) { CuSuite *suite = CuSuiteNew(); SUITE_ADD_TEST(suite, test_format_xml); return suite; } axis2c-src-1.6.0/tools/tcpmon/test/unit/tcpmon_test.h0000644000175000017500000000022411166304474023746 0ustar00manjulamanjula00000000000000#ifndef TCPMON_TEST_H #define TCPMON_TEST_H #include CuSuite *tcpmon_GetSuite( ); #endif /* TCPMON_TEST_H */ axis2c-src-1.6.0/tools/tcpmon/test/Makefile.am0000644000175000017500000000001711166304474022313 0ustar00manjulamanjula00000000000000SUBDIRS = unit axis2c-src-1.6.0/tools/tcpmon/LICENSE0000644000175000017500000002613711166304477020323 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/tools/tcpmon/aclocal.m40000644000175000017500000102466511166312340021147 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # # Copyright © 2004 Scott James Remnant . # # 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, 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. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_PATH)?$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])dnl if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # # Similar to PKG_CHECK_MODULES, make sure that the first instance of # this or PKG_CHECK_MODULES is called, or make sure to call # PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_ifval([$2], [$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$PKG_CONFIG"; then if test -n "$$1"; then pkg_cv_[]$1="$$1" else PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`], [pkg_failed=yes]) fi else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "$2"` else $1[]_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$2"` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD ifelse([$4], , [AC_MSG_ERROR(dnl [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT ])], [AC_MSG_RESULT([no]) $4]) elif test $pkg_failed = untried; then ifelse([$4], , [AC_MSG_FAILURE(dnl [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])], [$4]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) ifelse([$3], , :, [$3]) fi[]dnl ])# PKG_CHECK_MODULES # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/tools/tcpmon/README0000644000175000017500000000075411166304477020173 0ustar00manjulamanjula00000000000000 Axis2C TCP Monitor ======================= What is it? ----------- Axis2 TCP monitor project is aimed at capture the SOAP messages sent and received. It works only in command line interface. How to run the TCP monitor? --------------------------- Run the file called tcpmon with the Listen Port, Target port and Host name. For instruction run tcpmon -h Installation ------------ Please see the file called INSTALL. axis2c-src-1.6.0/tools/tcpmon/configure0000755000175000017500000261302411166312343021213 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for tcpmon-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='tcpmon-src' PACKAGE_TARNAME='tcpmon-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='tcpmon-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/tcpmon # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL LIBOBJS subdirs PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS UTILINC TESTDIR WRAPPER_DIR LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS' ac_subdirs_all='guththila' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures tcpmon-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/tcpmon-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of tcpmon-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-tests build tests. default=no --enable-guththila build Guththila XML parser library wrapper (default=yes) --enable-libxml2 build Libxml2 XML parser library wrapper (default=no) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags PKG_CONFIG path to pkg-config utility LIBXML2_CFLAGS C compiler flags for LIBXML2, overriding pkg-config LIBXML2_LIBS linker flags for LIBXML2, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF tcpmon-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by tcpmon-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE=tcpmon-src VERSION=1.6.0 cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5084 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7119: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7123: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7409: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7413: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7513: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7517: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12395: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12399: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12499: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12503: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14076: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14080: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14180: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14184: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16380: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16384: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16670: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16674: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16774: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16778: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -g" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration" fi LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible malloc" >&5 echo $ECHO_N "checking for GNU libc compatible malloc... $ECHO_C" >&6; } if test "${ac_cv_func_malloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_malloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *malloc (); #endif int main () { return ! malloc (0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_malloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_malloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_malloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_malloc_0_nonnull" >&6; } if test $ac_cv_func_malloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_MALLOC 0 _ACEOF case " $LIBOBJS " in *" malloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS malloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define malloc rpl_malloc _ACEOF fi for ac_header in stdlib.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for GNU libc compatible realloc" >&5 echo $ECHO_N "checking for GNU libc compatible realloc... $ECHO_C" >&6; } if test "${ac_cv_func_realloc_0_nonnull+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then ac_cv_func_realloc_0_nonnull=no else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if defined STDC_HEADERS || defined HAVE_STDLIB_H # include #else char *realloc (); #endif int main () { return ! realloc (0, 0); ; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then ac_cv_func_realloc_0_nonnull=yes else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_func_realloc_0_nonnull=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi { echo "$as_me:$LINENO: result: $ac_cv_func_realloc_0_nonnull" >&5 echo "${ECHO_T}$ac_cv_func_realloc_0_nonnull" >&6; } if test $ac_cv_func_realloc_0_nonnull = yes; then cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 1 _ACEOF else cat >>confdefs.h <<\_ACEOF #define HAVE_REALLOC 0 _ACEOF case " $LIBOBJS " in *" realloc.$ac_objext "* ) ;; *) LIBOBJS="$LIBOBJS realloc.$ac_objext" ;; esac cat >>confdefs.h <<\_ACEOF #define realloc rpl_realloc _ACEOF fi for ac_func in memmove do as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_func" >&5 echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6; } if { as_var=$as_ac_var; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define $ac_func to an innocuous variant, in case declares $ac_func. For example, HP-UX 11i declares gettimeofday. */ #define $ac_func innocuous_$ac_func /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $ac_func (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $ac_func /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $ac_func (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$ac_func || defined __stub___$ac_func choke me #endif int main () { return $ac_func (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then eval "$as_ac_var=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_var=no" fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_var'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_var'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for inflate in -lz" >&5 echo $ECHO_N "checking for inflate in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_inflate+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inflate (); int main () { return inflate (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_inflate=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_inflate=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflate" >&5 echo "${ECHO_T}$ac_cv_lib_z_inflate" >&6; } if test $ac_cv_lib_z_inflate = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF LIBS="-lz $LIBS" fi { echo "$as_me:$LINENO: checking whether to build tests" >&5 echo $ECHO_N "checking whether to build tests... $ECHO_C" >&6; } # Check whether --enable-tests was given. if test "${enable_tests+set}" = set; then enableval=$enable_tests; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } TESTDIR="test" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" fi GUTHTHILA_LIBS="" { echo "$as_me:$LINENO: checking whether to build guththila xml parser library" >&5 echo $ECHO_N "checking whether to build guththila xml parser library... $ECHO_C" >&6; } # Check whether --enable-guththila was given. if test "${enable_guththila+set}" = set; then enableval=$enable_guththila; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" WRAPPER_DIR="guththila" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } WRAPPER_DIR="guththila" CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" subdirs="$subdirs guththila" GUTHTHILA_LIBS="/guththila/src/" GUTHTHILA_DIR="guththila" fi { echo "$as_me:$LINENO: checking whether to build libxml2 xml parser library" >&5 echo $ECHO_N "checking whether to build libxml2 xml parser library... $ECHO_C" >&6; } if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } PKG_CONFIG="" fi fi # Check whether --enable-libxml2 was given. if test "${enable_libxml2+set}" = set; then enableval=$enable_libxml2; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } WRAPPER_DIR="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } WRAPPER_DIR="libxml2" pkg_failed=no { echo "$as_me:$LINENO: checking for LIBXML2" >&5 echo $ECHO_N "checking for LIBXML2... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$LIBXML2_CFLAGS"; then pkg_cv_LIBXML2_CFLAGS="$LIBXML2_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$LIBXML2_LIBS"; then pkg_cv_LIBXML2_LIBS="$LIBXML2_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBXML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxml-2.0"` else LIBXML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0"` fi # Put the nasty error message in config.log where it belongs echo "$LIBXML2_PKG_ERRORS" >&5 { { echo "$as_me:$LINENO: error: Package requirements (libxml-2.0) were not met: $LIBXML2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 echo "$as_me: error: Package requirements (libxml-2.0) were not met: $LIBXML2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&2;} { (exit 1); exit 1; }; } elif test $pkg_failed = untried; then { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&5 echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else LIBXML2_CFLAGS=$pkg_cv_LIBXML2_CFLAGS LIBXML2_LIBS=$pkg_cv_LIBXML2_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } : fi CFLAGS="$CFLAGS -DAXIS2_LIBXML2_ENABLED" CPPFLAGS="$CPPFLAGS $PARSER_CFLAGS -DAXIS2_LIBXML2_ENABLED" LDFLAGS="$LDFLAGS $PARSER_LIBS" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi UTILINC=$axis2_utilinc CFLAGS="$CFLAGS" ac_config_files="$ac_config_files Makefile src/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by tcpmon-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ tcpmon-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim LIBOBJS!$LIBOBJS$ac_delim subdirs!$subdirs$ac_delim PKG_CONFIG!$PKG_CONFIG$ac_delim LIBXML2_CFLAGS!$LIBXML2_CFLAGS$ac_delim LIBXML2_LIBS!$LIBXML2_LIBS$ac_delim UTILINC!$UTILINC$ac_delim TESTDIR!$TESTDIR$ac_delim WRAPPER_DIR!$WRAPPER_DIR$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 18; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi # # CONFIG_SUBDIRS section. # if test "$no_recursion" != yes; then # Remove --cache-file and --srcdir arguments so they do not pile up. ac_sub_configure_args= ac_prev= eval "set x $ac_configure_args" shift for ac_arg do if test -n "$ac_prev"; then ac_prev= continue fi case $ac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; *) case $ac_arg in *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; esac done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. ac_arg="--prefix=$prefix" case $ac_arg in *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" # Pass --silent if test "$silent" = yes; then ac_sub_configure_args="--silent $ac_sub_configure_args" fi ac_popdir=`pwd` for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue # Do not complain, so a configure script can configure whichever # parts of a large source tree are present. test -d "$srcdir/$ac_dir" || continue ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" echo "$as_me:$LINENO: $ac_msg" >&5 echo "$ac_msg" >&6 { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" # Check for guested configure; otherwise get Cygnus style configure. if test -f "$ac_srcdir/configure.gnu"; then ac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then ac_sub_configure=$ac_srcdir/configure elif test -f "$ac_srcdir/configure.in"; then # This should be Cygnus configure. ac_sub_configure=$ac_aux_dir/configure else { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} ac_sub_configure= fi # The recursion is here. if test -n "$ac_sub_configure"; then # Make the cache file name correct relative to the subdirectory. case $cache_file in [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; *) # Relative name. ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; esac { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} { (exit 1); exit 1; }; } fi cd "$ac_popdir" done fi axis2c-src-1.6.0/tools/tcpmon/configure.ac0000644000175000017500000000476711166304477021611 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(tcpmon-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) AC_PREFIX_DEFAULT(/usr/local/tcpmon) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE -g" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration" fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST dnl Checks for library functions. AC_FUNC_MALLOC AC_FUNC_REALLOC AC_CHECK_FUNCS([memmove]) AC_CHECK_LIB(z, inflate) dnl AC_CHECK_LIB(cutest, CuTestInit) AC_MSG_CHECKING(whether to build tests) AC_ARG_ENABLE(tests, [ --enable-tests build tests. default=no], [ case "${enableval}" in no) AC_MSG_RESULT(no) TESTDIR="" ;; *) AC_MSG_RESULT(yes) TESTDIR="test" ;; esac ], AC_MSG_RESULT(no) TESTDIR="" ) GUTHTHILA_LIBS="" AC_MSG_CHECKING(whether to build guththila xml parser library) AC_ARG_ENABLE(guththila, [ --enable-guththila build Guththila XML parser library wrapper (default=yes)], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" WRAPPER_DIR="guththila" ;; esac ], AC_MSG_RESULT(yes) WRAPPER_DIR="guththila" CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" AC_CONFIG_SUBDIRS(guththila) GUTHTHILA_LIBS="/guththila/src/" GUTHTHILA_DIR="guththila" ) AC_MSG_CHECKING(whether to build libxml2 xml parser library) AC_ARG_ENABLE(libxml2, [ --enable-libxml2 build Libxml2 XML parser library wrapper (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) WRAPPER_DIR="" ;; *) AC_MSG_RESULT(yes) WRAPPER_DIR="libxml2" PKG_CHECK_MODULES(LIBXML2, libxml-2.0) CFLAGS="$CFLAGS -DAXIS2_LIBXML2_ENABLED" CPPFLAGS="$CPPFLAGS $PARSER_CFLAGS -DAXIS2_LIBXML2_ENABLED" LDFLAGS="$LDFLAGS $PARSER_LIBS" ;; esac ], AC_MSG_RESULT(no) ) UTILINC=$axis2_utilinc AC_SUBST(UTILINC) AC_SUBST(TESTDIR) AC_SUBST(WRAPPER_DIR) CFLAGS="$CFLAGS" AC_CONFIG_FILES([Makefile \ src/Makefile \ ]) AC_OUTPUT axis2c-src-1.6.0/tools/tcpmon/autogen.sh0000755000175000017500000000131511166304477021306 0ustar00manjulamanjula00000000000000#!/bin/bash echo -n 'Running libtoolize...' if [ `uname -s` = Darwin ] then LIBTOOLIZE=glibtoolize else LIBTOOLIZE=libtoolize fi if $LIBTOOLIZE --force > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running aclocal...' if aclocal > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoheader...' if autoheader > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoconf...' if autoconf > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running automake...' if automake --add-missing > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo 'done' axis2c-src-1.6.0/tools/tcpmon/Makefile.am0000644000175000017500000000032111166304477021335 0ustar00manjulamanjula00000000000000datadir=$(prefix)/bin/tools/tcpmon SUBDIRS = src includedir=$(prefix)/include/axis2-1.6.0 include_HEADERS=$(top_builddir)/include/*.h data_DATA= INSTALL README AUTHORS NEWS LICENSE COPYING EXTRA_DIST=LICENSE axis2c-src-1.6.0/tools/tcpmon/Makefile.in0000644000175000017500000004107411172017206021344 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = tools/tcpmon DIST_COMMON = README $(include_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in AUTHORS COPYING ChangeLog INSTALL NEWS ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(datadir)" "$(DESTDIR)$(includedir)" dataDATA_INSTALL = $(INSTALL_DATA) DATA = $(data_DATA) includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(prefix)/bin/tools/tcpmon datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0 infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src include_HEADERS = $(top_builddir)/include/*.h data_DATA = INSTALL README AUTHORS NEWS LICENSE COPYING EXTRA_DIST = LICENSE all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tools/tcpmon/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu tools/tcpmon/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) test -z "$(datadir)" || $(MKDIR_P) "$(DESTDIR)$(datadir)" @list='$(data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ rm -f "$(DESTDIR)$(datadir)/$$f"; \ done install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datadir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dataDATA install-includeHEADERS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dataDATA uninstall-includeHEADERS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dataDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-includeHEADERS install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-dataDATA \ uninstall-includeHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/tools/tcpmon/config.h.in0000644000175000017500000000416411166312342021323 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ /* Define to 1 if your system has a GNU libc compatible `malloc' function, and to 0 otherwise. */ #undef HAVE_MALLOC /* Define to 1 if you have the `memmove' function. */ #undef HAVE_MEMMOVE /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if your system has a GNU libc compatible `realloc' function, and to 0 otherwise. */ #undef HAVE_REALLOC /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to rpl_malloc if the replacement function should be used. */ #undef malloc /* Define to rpl_realloc if the replacement function should be used. */ #undef realloc axis2c-src-1.6.0/tools/tcpmon/build.sh0000644000175000017500000000025611166304477020743 0ustar00manjulamanjula00000000000000#!/bin/bash ./autogen.sh if test -z ${AXIS2C_HOME} then AXIS2C_HOME=`pwd`/../deploy fi export AXIS2C_HOME ./configure --prefix=${AXIS2C_HOME} --enable-tests=no make axis2c-src-1.6.0/tools/tcpmon/AUTHORS0000644000175000017500000000000011166304477020343 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/INSTALL0000644000175000017500000000062011166304477020334 0ustar00manjulamanjula00000000000000Getting Axis2/C tcpmon Source Working on Linux ============================================= Build the source This can be done using the following command sequence: ./configure make make install use './configure --help' for options NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/tcpmon directory. axis2c-src-1.6.0/tools/tcpmon/ChangeLog0000644000175000017500000000000011166304477021045 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/include/0000777000175000017500000000000011172017546020727 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/tools/tcpmon/include/tcpmon_session.h0000644000175000017500000002212111166304476024141 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TCPMON_SESSION_H #define TCPMON_SESSION_H #include #include #include /** * @file tcpmon_session.h * @brief represent session of tcpmon */ #ifdef __cplusplus extern "C" { #endif /** * @defgroup represent session of tcpmon * @ingroup tcpmon * @{ */ typedef struct tcpmon_session_ops tcpmon_session_ops_t; typedef struct tcpmon_session tcpmon_session_t; /** * callback functions for the tcpmon session */ typedef int( *TCPMON_SESSION_NEW_ENTRY_FUNCT)( const axutil_env_t * env, tcpmon_entry_t * entry, int status); /* 0-started, 1-finished */ typedef int( *TCPMON_SESSION_TRANS_ERROR_FUNCT)( const axutil_env_t * env, axis2_char_t * error_message); struct tcpmon_session_ops { /** * free the tcpmon_session. * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE. */ axis2_status_t( AXIS2_CALL * free)( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t( AXIS2_CALL * set_test_bit)( tcpmon_session_t * session, const axutil_env_t * env, int test_bit); axis2_status_t( AXIS2_CALL * get_test_bit)( tcpmon_session_t * session, const axutil_env_t * env); axis2_status_t( AXIS2_CALL * set_format_bit)( tcpmon_session_t * session, const axutil_env_t * env, int format_bit); int( AXIS2_CALL * get_format_bit)( tcpmon_session_t * session, const axutil_env_t * env); /** * configure the listening port. * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @param listen_port listening port ( port of a localhost). * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE. */ axis2_status_t( AXIS2_CALL * set_listen_port)( tcpmon_session_t * session, const axutil_env_t * env, int listen_port); /** * retrieve the listening port * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ int( AXIS2_CALL * get_listen_port)( tcpmon_session_t * session, const axutil_env_t * env); /** * configure the target port * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @param target_port tartet port * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE. */ axis2_status_t( AXIS2_CALL * set_target_port)( tcpmon_session_t * session, const axutil_env_t * env, int target_port); /** * retrieve the target port * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ int( AXIS2_CALL * get_target_port)( tcpmon_session_t * session, const axutil_env_t * env); /** * configure the target host * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @param target_host url of the target host * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE. */ axis2_status_t( AXIS2_CALL * set_target_host)( tcpmon_session_t * session, const axutil_env_t * env, axis2_char_t * target_host); /** * retrieve the base uri of the target host * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * get_target_host)( tcpmon_session_t * session, const axutil_env_t * env); /** * start the session * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_status_t( AXIS2_CALL * start)( tcpmon_session_t * session, const axutil_env_t * env); /** * stop the session. * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_status_t( AXIS2_CALL * stop)( tcpmon_session_t * session, const axutil_env_t * env); /** * set on new entry. * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @param on_new_entry_funct function to triger on new entry */ axis2_status_t( AXIS2_CALL * on_new_entry)( tcpmon_session_t * session, const axutil_env_t * env, TCPMON_SESSION_NEW_ENTRY_FUNCT on_new_entry_funct); /** * set on new entry. * @param session represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @param on_new_entry function to triger on new entry */ axis2_status_t( AXIS2_CALL * on_trans_fault)( tcpmon_session_t * session, const axutil_env_t * env, TCPMON_SESSION_TRANS_ERROR_FUNCT on_trans_fault_funct); }; struct tcpmon_session { tcpmon_session_ops_t *ops; }; /** * Creates tcpmon_session struct * @param env double pointer to environment struct. MUST NOT be NULL * @return pointer to newly created tcpmon_session struct */ tcpmon_session_t *AXIS2_CALL tcpmon_session_create( const axutil_env_t * env); /*************************** Function macros **********************************/ #define TCPMON_SESSION_FREE(session, env) \ ((session)->ops->free (session, env)) #define TCPMON_SESSION_SET_TEST_BIT(session, env, test_bit) \ ((session)->ops->set_test_bit(session, env, test_bit)) #define TCPMON_SESSION_GET_TEST_BIT(session, env) \ ((session)->ops->get_test_bit(session, env)) #define TCPMON_SESSION_SET_FORMAT_BIT(session, env, format_bit) \ ((session)->ops->set_format_bit(session, env, format_bit)) #define TCPMON_SESSION_GET_FORMAT_BIT(session, env) \ ((session)->ops->get_format_bit(session, env)) #define TCPMON_SESSION_SET_LISTEN_PORT(session, env, listen_port) \ ((session)->ops->set_listen_port(session, env, listen_port)) #define TCPMON_SESSION_GET_LISTEN_PORT(session, env) \ ((session)->ops->get_listen_port(session, env)) #define TCPMON_SESSION_SET_TARGET_PORT(session, env, target_port) \ ((session)->ops->set_target_port(session, env, target_port)) #define TCPMON_SESSION_GET_TARGET_PORT(session, env) \ ((session)->ops->get_target_port(session, env)) #define TCPMON_SESSION_SET_TARGET_HOST(session, env, target_host) \ ((session)->ops->set_target_host(session, env, target_host)) #define TCPMON_SESSION_GET_TARGET_HOST(session, env) \ ((session)->ops->get_target_host(session, env)) #define TCPMON_SESSION_START(session, env) \ ((session)->ops->start(session, env)) #define TCPMON_SESSION_STOP(session, env) \ ((session)->ops->stop(session, env)) #define TCPMON_SESSION_ON_TRANS_FAULT(session, env, funct) \ ((session)->ops->on_trans_fault(session, env, funct)) #define TCPMON_SESSION_ON_NEW_ENTRY(session, env, funct) \ ((session)->ops->on_new_entry(session, env, funct)) /** @} */ #ifdef __cplusplus } #endif #endif /* TCPMON_SESSION_H */ axis2c-src-1.6.0/tools/tcpmon/include/tcpmon_util.h0000644000175000017500000000424111166304476023436 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TCPMON_UTIL_H #define TCPMON_UTIL_H #include #include #include /** * @file tcpmon_util.h * @brief hold util functions of tcpmon */ #ifdef __cplusplus extern "C" { #endif /** * @defgroup hold util functions of tcpmon * @ingroup tcpmon * @{ */ /** * format the data as xml * @param env pointer to environment struct. MUST NOT be NULL. * @param data to be formatted */ axis2_char_t *tcpmon_util_format_as_xml( const axutil_env_t * env, axis2_char_t * data, int format); char *str_replace( char *str, const char *search, const char *replace); axis2_char_t * tcpmon_util_strcat( axis2_char_t * dest, axis2_char_t * source, int *buff_size, const axutil_env_t * env); axis2_char_t * tcpmon_util_read_current_stream( const axutil_env_t * env, axutil_stream_t * stream, int *stream_size, axis2_char_t ** header, axis2_char_t ** data); char * tcpmon_util_str_replace( const axutil_env_t *env, char *str, const char *search, const char *replace); int tcpmon_util_write_to_file( char *filename, char *buffer); /** @} */ #ifdef __cplusplus } #endif #endif /* TCPMON_UTIL_H */ axis2c-src-1.6.0/tools/tcpmon/include/tcpmon_entry.h0000644000175000017500000001540611166304476023627 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef TCPMON_ENTRY_H #define TCPMON_ENTRY_H #include #include /** * @file tcpmon_entry.h * @brief represent entry of tcpmon */ #ifdef __cplusplus extern "C" { #endif /** * @defgroup represent entry of tcpmon * @ingroup tcpmon * @{ */ typedef struct tcpmon_entry_ops tcpmon_entry_ops_t; typedef struct tcpmon_entry tcpmon_entry_t; struct tcpmon_entry_ops { /** * free the tcpmon_entry. * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE. */ axis2_status_t( AXIS2_CALL * free)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the arrived_time * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * arrived_time)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the sent_time * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * sent_time)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the arrived_time - sent_time ( in seconds) * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * time_diff)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the sent data * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * sent_data)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the arrived data * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * arrived_data)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the sent headers * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * sent_headers)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve the arrived headers * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_char_t *( AXIS2_CALL * arrived_headers)( tcpmon_entry_t * entry, const axutil_env_t * env); /** * retrieve whether the transportation success * @param entry represet the type object. * @param env pointer to environment struct. MUST NOT be NULL. */ axis2_bool_t( AXIS2_CALL * is_success)( tcpmon_entry_t * entry, const axutil_env_t * env); int( AXIS2_CALL * get_format_bit)( tcpmon_entry_t * entry, const axutil_env_t * env); int( AXIS2_CALL * get_sent_data_length)( tcpmon_entry_t * entry, const axutil_env_t * env); int( AXIS2_CALL * get_arrived_data_length)( tcpmon_entry_t * entry, const axutil_env_t * env); axis2_status_t( AXIS2_CALL * set_format_bit)( tcpmon_entry_t * entry, const axutil_env_t * env, int format_bit); }; struct tcpmon_entry { tcpmon_entry_ops_t *ops; }; /** * Creates tcpmon_entry struct * @param env double pointer to environment struct. MUST NOT be NULL * @return pointer to newly created tcpmon_entry struct */ tcpmon_entry_t *AXIS2_CALL tcpmon_entry_create( const axutil_env_t * env); /*************************** Function macros **********************************/ #define TCPMON_ENTRY_FREE(entry, env) \ ((entry)->ops->free (entry, env)) #define TCPMON_ENTRY_ARRIVED_TIME(entry, env) \ ((entry)->ops->arrived_time(entry, env)) #define TCPMON_ENTRY_SENT_TIME(entry, env) \ ((entry)->ops->sent_time(entry, env)) #define TCPMON_ENTRY_TIME_DIFF(entry, env) \ ((entry)->ops->time_diff(entry, env)) #define TCPMON_ENTRY_SENT_DATA(entry, env) \ ((entry)->ops->sent_data(entry, env)) #define TCPMON_ENTRY_ARRIVED_DATA(entry, env) \ ((entry)->ops->arrived_data(entry, env)) #define TCPMON_ENTRY_SENT_HEADERS(entry, env) \ ((entry)->ops->sent_headers(entry, env)) #define TCPMON_ENTRY_ARRIVED_HEADERS(entry, env) \ ((entry)->ops->arrived_headers(entry, env)) #define TCPMON_ENTRY_IS_SUCCESS(entry, env) \ ((entry)->ops->is_success(entry, env)) #define TCPMON_ENTRY_SET_FORMAT_BIT(entry, env, format_bit) \ ((entry)->ops->set_format_bit(entry, env, format_bit)) #define TCPMON_ENTRY_GET_FORMAT_BIT(entry, env) \ ((entry)->ops->get_format_bit(entry, env)) #define TCPMON_ENTRY_GET_SENT_DATA_LENGTH(entry, env) \ ((entry)->ops->get_sent_data_length(entry, env)) #define TCPMON_ENTRY_GET_ARRIVED_DATA_LENGTH(entry, env) \ ((entry)->ops->get_arrived_data_length(entry, env)) /** @} */ #ifdef __cplusplus } #endif #endif /* TCPMON_ENTRY_H */ axis2c-src-1.6.0/tools/tcpmon/COPYING0000644000175000017500000002613711166304477020351 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/axis2c.pc.in0000644000175000017500000000035511166304700016757 0ustar00manjulamanjula00000000000000prefix=@prefix@ exec_prefix=@exec_prefix@ libdir=@libdir@ includedir=@includedir@/axis2-1.6.0 Name: Axis2/C Version: @VERSION@ Description: Apache Axis2/C Version 1.6.0 Requires: Libs: -L${libdir} -lxml2 @LIBS@ Cflags: -I${includedir} axis2c-src-1.6.0/README0000644000175000017500000000464211166304700015520 0ustar00manjulamanjula00000000000000 Apache Axis2/C What is it? ----------- The Apache Axis2/C is a SOAP engine implementation that can be used to provide and consume Web Services. Axis2/C is an effort to implement Axis2 architecture, in C. Please have a look at http://ws.apache.org/axis2/1_0/Axis2ArchitectureGuide.html for an overview on Axis2 architecture. Axis2/C supports both SOAP 1.1 and SOAP 1.2. The soap processing model is built on the AXIOM XML object model. Axis2/C is capable of handling one-way messaging (In-Only) as well as request response messaging (In-Out). It can be used in both synchronous and asynchronous modes. Axis2/C has built in WS-Addressing support. It implements WS-Addressing 1.0 specification completely. It also has built in MTOM/XOP support for handling binary attachments. As a project of the Apache Software Foundation, the developers aim to collaboratively develop and maintain a robust, commercial-grade, standards-based Web Services stack implementation with freely available source code. The Latest Version ------------------ Details of the latest version can be found on the Apache Axis2/C project page under http://ws.apache.org/axis2/c. Documentation ------------- The documentation available as of the date of this release is included in HTML format in the docs/ directory. The most up-to-date documentation can be found at http://ws.apache.org/axis2/c/docs/index.html. Installation ------------ Please see the file named INSTALL. You can also have a look at docs/installationguide.html. Licensing --------- Please see the file named LICENSE. Contacts -------- o If you want freely available support for using Apache Axis2/C please join the Apache Axis2/C user community by subscribing to users mailing list, axis-c-user@ws.apache.org' as described at http://ws.apache.org/axis2/c/mail-lists.html o If you have a bug report for Apache Axis2/C please go log a Jira issue at http://issues.apache.org/jira/browse/AXIS2C o If you want to participate in actively developing Apache Axis2/C please subscribe to the `axis-c-dev@ws.apache.org' mailing list as described at http://ws.apache.org/axis2/c/mail-lists.html Acknowledgements ---------------- Apache Axis2/C relies heavily on the use of autoconf and libtool to provide a build environment. axis2c-src-1.6.0/samples/0000777000175000017500000000000011172017605016304 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/NEWS0000644000175000017500000000621611166304610017002 0ustar00manjulamanjula00000000000000Apache Axis2/C Team is pleased to announce the release of Apache Axis2/C version 1.6.0. You can download this release from http://ws.apache.org/axis2/c/download.cgi Key Features ============ 1. Support for one-way messaging (In-Only) and request response messaging (In-Out) 2. Client APIs : Easy to use service client API and more advanced operation client API 3. Transports supported : HTTP * Inbuilt HTTP server called simple axis server * Apache2 httpd module called mod_axis2 for server side * IIS module for server side. Supports IIS 5.1, 6 and 7. * Client transport with ability to enable SSL support * Basic HTTP Authentication * Digest HTTP Authentication * libcurl based client transport * CGI interface 4. Transports supported : HTTPS * HTTPS Transport implementation using OpenSSL 5. Transports supported : TCP * for both client and server side 6. Transports supported : AMQP * AMQP Transport implementation using Apache Qpid * Available only in Linux platforms. * At an experimental stage. Please refer the INSTALL file to build this. 7. Transport proxy support (HTTP) * Proxy Authentication (Basic/Digest) 8. Module architecture, mechanism to extend the SOAP processing model. 9. WS-Addressing support, both the submission (2004/08) and final (2005/08) versions, implemented as a module. 10. MTOM/XOP support. 11. AXIOM, an XML object model optimized for SOAP 1.1/1.2 messages; This has complete XML infoset support. 12. XPath support for Axiom XML Object model 13. XML parser abstraction * Libxml2 wrapper * Guththila pull parser support 14. Both directory based and archive based deployment models for deploying services and modules 15. Description hierarchy providing access to static data of Axis2/C runtime (configuration, service groups, services, operations and messages) 16. Context hierarchy providing access to dynamic Axis2/C runtime information (corresponding contexts to map to each level of description hierarchy) 17. Message receiver abstraction * Inbuilt raw XML message receiver 18. Code generation tool for stub and skeleton generation for a given WSDL (based on Java tool) * Axis Data Binding (ADB) support 19. REST support (more POX like) using HTTP POST, GET, HEAD, PUT and DELETE * Support for RESTful Services 20. Comprehensive documentation * Axis2/C Manual 21. WS-Policy implementation called Neethi/C, with WS-SecurityPolicy extension Major Changes Since Last Release ================================ 1. XPath support for Axiom XML object model 2. CGI support 3. Improvements to MTOM to send, receive very large attachments 4. Improvements to AMQP transport 5. Many bug fixes. 6. Memory leak fixes We welcome your early feedback on this implementation. Thanks for your interest in Axis2/C !!! -- Apache Axis2/C Team -- axis2c-src-1.6.0/samples/codegen/0000777000175000017500000000000011172017606017711 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/0000777000175000017500000000000011172017606022155 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/0000777000175000017500000000000011172017606025577 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/StockQuoteService.wsdl0000644000175000017500000000305511166304566032122 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/StockQuote.xsd0000644000175000017500000000313011166304566030420 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/client/0000777000175000017500000000000011172017606027055 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/client/stock_quote_client.c0000644000175000017500000000704111166304566033124 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version * 2.0 * (the "License"); you may not use this file except in compliance * with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or * implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_StockQuoteService.h" #include void handle_response( adb_getStockQuoteResponse_t * res, axutil_env_t * env); int main( int argc, char *argv[]) { axutil_env_t * env = NULL; axis2_char_t * client_home = NULL; axis2_char_t * endpoint_uri = NULL; axis2_stub_t * stub = NULL; axis2_char_t * symbol = NULL; adb_getStockQuote_t * req = NULL; adb_getStockQuoteResponse_t * res = NULL; if (argc > 1) { symbol = argv[1]; } else { printf("\nEnter Symbol Name!"); return -1; } endpoint_uri = "http://localhost:9090/axis2/services/StockQuoteService"; env = axutil_env_create_all("codegen_sample_stock_quote.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_StockQuoteService(env, client_home, endpoint_uri); /* Create the struct */ req = adb_getStockQuote_create(env); adb_getStockQuote_set_symbol(req, env, symbol); res = axis2_stub_op_StockQuoteService_getStockQuote(stub, env, req); if (!res) { printf("Error: response NULL!\n"); return -1; } handle_response(res, env); /*Handle Response */ return 0; } void handle_response( adb_getStockQuoteResponse_t * res, axutil_env_t * env) { adb_quote_t * quote = NULL; adb_changeType_t * change = NULL; adb_lastTradeType_t * last_trade = NULL; /*Attributes of Quote */ axis2_char_t * symbol_res = NULL; int volume = 0; /*Attributes of Last Trade */ float price = 0; long date = 0; /*Attributes of Change */ float dollar = 0; float precent = 0; quote = adb_getStockQuoteResponse_get_returnQuote(res, env); if (!quote) { printf("Error: Quote response NULL!\n"); return; } last_trade = adb_quote_get_lastTrade(quote, env); change = adb_quote_get_change(quote, env); symbol_res = adb_quote_get_symbol(quote, env); volume = adb_quote_get_volume(quote, env); price = adb_lastTradeType_get_price(last_trade, env); date = adb_lastTradeType_get_date(last_trade, env); dollar = adb_changeType_get_dollar(change, env); precent = adb_changeType_get_percent(change, env); printf("\nSTOCK QUOTERESPONSE\n"); printf("\tSYMBOL\t\t: %s\n", symbol_res); printf("\tVOLUME\t\t: %d\n", volume); printf("\tPRICE\t\t: %f\n", price); printf("\tDATE\t\t: %l\n", date); printf("\tDOLLAR\t\t: %f\n", dollar); printf("\tPRECENT\t\t: %f\n", precent); } axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/server/0000777000175000017500000000000011172017606027105 5ustar00manjulamanjula00000000000000axis2_skel_StockQuoteService.c0000644000175000017500000000551011166304566034744 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/StockQuoteService/server /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * axis2_skel_StockQuoteService.c * * This file was auto-generated from WSDL for "StockQuoteService|http://w3.ibm.com/schemas/services/2002/11/15/stockquote/wsdl" service * by the Apache Axis2/C version: #axisVersion# #today# * axis2_skel_StockQuoteService Axis2/C skeleton for the axisService */ #include "axis2_skel_StockQuoteService.h" /** * auto generated function definition signature * for "getStockQuote|" operation. * @param getStockQuote */ adb_getStockQuoteResponse_t * axis2_skel_StockQuoteService_getStockQuote(const axutil_env_t * env, adb_getStockQuote_t * getStockQuote) { /* TODO fill this with the necessary business logic */ axis2_char_t * symbol_in = NULL; adb_getStockQuoteResponse_t * response = NULL; adb_quote_t * res_quote = NULL; adb_changeType_t * res_change = NULL; adb_lastTradeType_t * res_last_trade = NULL; symbol_in = adb_getStockQuote_get_symbol(getStockQuote, env); if (!symbol_in) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf ("StockQuoteService client request ERROR: input parameter NULL\n"); return NULL; } res_quote = adb_quote_create(env); adb_quote_set_symbol(res_quote, env, symbol_in); adb_quote_set_volume(res_quote, env, 1000); res_change = adb_changeType_create(env); adb_changeType_set_percent(res_change, env, 10); adb_changeType_set_dollar(res_change, env, 98); adb_quote_set_change(res_quote, env, res_change); res_last_trade = adb_lastTradeType_create(env); adb_lastTradeType_set_price(res_last_trade, env, 23); adb_lastTradeType_set_date(res_last_trade, env, 1165997291); adb_quote_set_lasttrade(res_quote, env, res_last_trade); response = adb_getStockQuoteResponse_create(env); adb_getStockQuoteResponse_set_returnQuote(response, env, res_quote); return response; } axis2c-src-1.6.0/samples/codegen/databinding/READEME.txt0000644000175000017500000000517311166304566023771 0ustar00manjulamanjula00000000000000Sample: Data Binding ==================== Introduction ------------ These samples demonstrate the use of code generation using Axis2/Java WSDL2Java (http://svn.apache.org/repos/asf/webservices/axis2/trunk/java)tool with Axis Data Binding. You can download the latest update of the tool from http://people.apache.org/dist/axis2/nightly Files ----- -StockQuoteService Client source ./StockQuoteService/stock_quote_client.c Service Source ./StockQuoteService/axis2_skel_StockQuoteService.c wsdl ./StockQuoteService/StockQuoteService.wsdl -Calculator Client source ./Calculator/CalculatorAdd.c Service Source ./Calculator/axis2_skel_Calculator.c wsdl ./Calculator/Calculator.wsdl Code Generation --------------- Use the shell script or batch file available in the ../../../tools/codegen/javatool directory to generate code using following options.(Reade the READEME.txt at ../../../tools/codegen/javatool directory to learn how to use scripts) Client side stub generation with Axis Data Binding: Linux: WSDL2C.sh -uri -g -d adb -u -f -o Win32: WSDL2C.bat -uri -g -d adb -u -f -o Server side skeleton generation with Axis Data Binding: Linux: WSDL2C.sh -uri -sd -ss -d adb -u -f -o Win32: WSDL2C.bat -uri -sd -ss -d adb -u -f -o Description of Options used: -o : output file location -ss : Generate server side code (i.e. skeletons). Default is off -sd : Generate service descriptor (i.e. services.xml). Default is off. Valid with -ss -d : valid databinding(s) are adb, xmlbeans and jaxme. Default is adb -g : Generates all the classes. valid only with the -ss (This will generate client and server codes) -u : unpacks the databinding classes -f : Generate the source output folder without the src directory Please refer to the http://ws.apache.org/axis2/tools/1_1/CodegenToolReference.html for further details. Deploying the Service --------------------- You need to generate the required server side code using command described above and replace the axis2_skel_.c with given implementation. After building the lib.so, put it inside $AXIS2C_HOME/services// directory. You need to then startup the server to deploy the service. Running the Client ------------------ You need to generate the required client side code using command described above and put them inside where client implementations resides. And then build the client and run it. axis2c-src-1.6.0/samples/codegen/databinding/Calculator/0000777000175000017500000000000011172017606024246 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/Calculator/client/0000777000175000017500000000000011172017606025524 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/Calculator/client/CalculatorAdd.c0000644000175000017500000000212511166304566030375 0ustar00manjulamanjula00000000000000#include "axis2_stub_Calculator.h" int main( int argc, char *argv) { axutil_env_t * env = NULL; axis2_char_t * operation = NULL; axis2_char_t * client_home = NULL; axis2_char_t * endpoint_uri = NULL; axis2_stub_t * stub = NULL; adb_addResponse_t * add_res = NULL; adb_add_t * add_in = NULL; int res_val = 0; endpoint_uri = "http://localhost:9090/axis2/services/Calculator"; env = axutil_env_create_all("alltest.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_Calculator(env, client_home, endpoint_uri); add_in = adb_add_create(env); adb_add_set_arg_0_0(add_in, env, 10); adb_add_set_arg_1_0(add_in, env, 10); add_res = axis2_stub_op_Calculator_add(stub, env, add_in); if (!add_res) { printf("Error: response NULL\n"); return -1; } res_val = adb_addResponse_get_addReturn(add_res, env); printf("ADD Result:%d ", res_val); return 0; } axis2c-src-1.6.0/samples/codegen/databinding/Calculator/server/0000777000175000017500000000000011172017606025554 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/databinding/Calculator/server/axis2_skel_Calculator.c0000644000175000017500000000510111166304566032135 0ustar00manjulamanjula00000000000000 /** * axis2_skel_Calculator.c * * This file was auto-generated from WSDL for "Calculator|http://localhost/axis/Calculator" service * by the Apache Axis2/C version: #axisVersion# #today# * axis2_skel_Calculator Axis2/C skeleton for the axisService */ #include "axis2_skel_Calculator.h" /** * auto generated function definition signature * for "add|" operation. * @param add */ adb_addResponse_t * axis2_skel_Calculator_add(const axutil_env_t * env, adb_add_t * add) { adb_addResponse_t * add_res = NULL; int ret_val = 0; int val1 = 0; int val2 = 0; val1 = adb_add_get_arg_0_0(add, env); val2 = adb_add_get_arg_1_0(add, env); ret_val = val1 + val2; add_res = adb_addResponse_create(env); adb_addResponse_set_addReturn(add_res, env, ret_val); return add_res; } /** * auto generated function definition signature * for "div|" operation. * @param div */ adb_divResponse_t * axis2_skel_Calculator_div(const axutil_env_t * env, adb_div_t * div) { adb_divResponse_t * div_res = NULL; int ret_val = 0; int val1 = 0; int val2 = 0; val1 = adb_div_get_arg_0_3(div, env); val2 = adb_div_get_arg_1_3(div, env); ret_val = val1 / val2; div_res = adb_divResponse_create(env); adb_divResponse_set_divReturn(div_res, env, ret_val); return div_res; } /** * auto generated function definition signature * for "sub|" operation. * @param sub */ adb_subResponse_t * axis2_skel_Calculator_sub(const axutil_env_t * env, adb_sub_t * sub) { adb_subResponse_t * sub_res = NULL; int ret_val = 0; int val1 = 0; int val2 = 0; val1 = adb_sub_get_arg_0_1(sub, env); val2 = adb_sub_get_arg_1_1(sub, env); ret_val = val1 - val2; sub_res = adb_subResponse_create(env); adb_subResponse_set_subReturn(sub_res, env, ret_val); return sub_res; } /** * auto generated function definition signature * for "mul|" operation. * @param mul */ adb_mulResponse_t * axis2_skel_Calculator_mul(const axutil_env_t * env, adb_mul_t * mul) { adb_mulResponse_t * mul_res = NULL; int ret_val = 0; int val1 = 0; int val2 = 0; val1 = adb_mul_get_arg_0_2(mul, env); val2 = adb_mul_get_arg_1_2(mul, env); ret_val = val1 * val2; mul_res = adb_mulResponse_create(env); adb_mulResponse_set_mulReturn(mul_res, env, ret_val); return mul_res; } axis2c-src-1.6.0/samples/codegen/databinding/Calculator/Calculator.wsdl0000644000175000017500000001547611166304566027252 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/samples/codegen/client/0000777000175000017500000000000011172017606021167 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/client/calculator/0000777000175000017500000000000011172017606023320 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/client/calculator/test_calculator.c0000644000175000017500000000420411166304573026655 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_Calculator.h" int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *operation = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; /* variables use databinding */ adb_addResponse_t *add_res = NULL; adb_add_t *add_req = NULL; int ret_val = 0; int val1 = 8; int val2 = 13; endpoint_uri = "http://localhost:9090/axis2/services/calculator"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_Calculator(env, client_home, endpoint_uri); /* create the struct */ add_req = adb_add_create(env); adb_add_set_in0(add_req, env, val1); adb_add_set_in1(add_req, env, val2); /* invoke the web service method */ add_res = axis2_stub_op_Calculator_add(stub, env, add_req); if (!add_res) { printf("Error: response NULL\n"); return -1; } /* return the output params using databinding */ ret_val = adb_addResponse_get_addReturn(add_res, env); printf("finally: add (%d %d ) = %d\n", val1, val2, ret_val); return 0; } axis2c-src-1.6.0/samples/codegen/client/calculator/Makefile.am0000644000175000017500000000200111166304573025346 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/bin/samples prgbin_PROGRAMS = Calculator samplesdir=$(prefix)/samples/client/Calculator Calculator_SOURCES = \ axis2_add.c axis2_Calculator_stub.c axis2_divResponse.c axis2_mulResponse.c axis2_subResponse.c \ axis2_addRequest.c axis2_div.c axis2_mul.c axis2_sub.c test_Calcultor.c \ axis2_addResponse20.c axis2_divRequest.c axis2_mulRequest.c axis2_subRequest.c \ axis2_addResponse.c axis2_divResponse16.c axis2_mulResponse14.c axis2_subResponse12.c Calculator_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_wsdl \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/client/calculator/readme0000644000175000017500000000073011166304573024501 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). sample source test_calcultor.c wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/Calculator.wsdl Command to execute the code generation: WSDL2C.sh -uri Calculator.wsdl -u -d adb WSDL2C.bat -uri Calculator.wsdl -u -d adb Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt on how to use the script axis2c-src-1.6.0/samples/codegen/client/calc_xml_inout/0000777000175000017500000000000011172017606024167 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/client/calc_xml_inout/test_calculator.c0000644000175000017500000000653311166304567027536 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_Calculator.h" axiom_node_t *generate_request_xml( const axutil_env_t * env); void handle_respone_xml( const axutil_env_t * env, axiom_node_t * res); int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *operation = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; axiom_node_t *req = NULL; axiom_node_t *res = NULL; endpoint_uri = "http://localhost:9090/axis2/services/Calculator"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_Calculator(env, client_home, endpoint_uri); req = generate_request_xml(env); /* invoke the web service method */ res = axis2_stub_op_Calculator_add(stub, env, req); handle_respone_xml(env, res); return 0; } axiom_node_t * generate_request_xml( const axutil_env_t * env) { axiom_node_t *op_node = NULL; axiom_element_t *op_ele = NULL; axiom_node_t *value_node = NULL; axiom_element_t *value_ele = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; int value1 = 13; int value2 = 7; char value_str[64]; ns1 = axiom_namespace_create(env, "http://localhost/axis/Calculator", "ns1"); op_ele = axiom_element_create(env, NULL, "add", ns1, &op_node); value_ele = axiom_element_create(env, op_node, "in1", NULL, &value_node); sprintf(value_str, "%d", value1); axiom_element_set_text(value_ele, env, value_str, value_node); value_ele = axiom_element_create(env, op_node, "in2", NULL, &value_node); sprintf(value_str, "%d", value1); axiom_element_set_text(value_ele, env, value_str, value_node); printf("requesting %d + %d \n", value1, value2); om_str = axiom_node_to_string(op_node, env); if (om_str) printf("\nSending OM : %s\n", om_str); return op_node; } void handle_respone_xml( const axutil_env_t * env, axiom_node_t * res) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *text = NULL; if (!res) { printf("response null\n"); return; } node = axiom_node_get_first_child(res, env); if (node) { ele = axiom_node_get_data_element(node, env); text = axiom_element_get_text(ele, env, node); printf("answer = %s\n", text); } } axis2c-src-1.6.0/samples/codegen/client/calc_xml_inout/Makefile.am0000644000175000017500000000123211166304567026225 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/bin/samples prgbin_PROGRAMS = Calculator samplesdir=$(prefix)/samples/client/Calculator Calculator_SOURCES = \ test_Calcultor.c \ axis2_Calculator_stub.c Calculator_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_wsdl \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/client/calc_xml_inout/readme0000644000175000017500000000071311166304567025354 0ustar00manjulamanjula00000000000000This sample demostrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). sample source test_calcultor.c wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/Calculator.wsdl Command to execute the code generation: WSDL2C.sh -uri -l c -d none WSDL2C.bat -uri -l c -d none Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt on how to use the script axis2c-src-1.6.0/samples/codegen/client/interop_doc1/0000777000175000017500000000000011172017606023555 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/client/interop_doc1/test_echo_struct_array.c0000644000175000017500000000660611166304572030510 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_InteropTestPortTypeDocService.h" int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; /* variables use databinding */ adb_echoStructArray_t *echo_in = NULL; adb_echoStructArrayResponse_t *echo_out = NULL; adb_SOAPStruct_t *echo_struct = NULL; int arr_size = 0; int ret_arr_size = 0; int i = 0; /* for for loop */ endpoint_uri = "http://localhost:9090/axis2/services/interop_doc1"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_InteropTestPortTypeDocService(env, client_home, endpoint_uri); /* create the struct */ echo_in = adb_echoStructArray_create(env); /* create the struct array */ echo_struct = adb_SOAPStruct_create(env); adb_SOAPStruct_set_varString(echo_struct, env, "sturct0"); adb_SOAPStruct_set_varInt(echo_struct, env, 0); adb_SOAPStruct_set_varFloat(echo_struct, env, 0); adb_echoStructArray_add_arg_0_7(echo_in, env, echo_struct); echo_struct = adb_SOAPStruct_create(env); adb_SOAPStruct_set_varString(echo_struct, env, "sturct1"); adb_SOAPStruct_set_varInt(echo_struct, env, 10); adb_SOAPStruct_set_varFloat(echo_struct, env, 100); adb_echoStructArray_add_arg_0_7(echo_in, env, echo_struct); echo_struct = adb_SOAPStruct_create(env); adb_SOAPStruct_set_varString(echo_struct, env, "sturct2"); adb_SOAPStruct_set_varInt(echo_struct, env, 20); adb_SOAPStruct_set_varFloat(echo_struct, env, 200); adb_echoStructArray_add_arg_0_7(echo_in, env, echo_struct); /* invoke the web service method */ echo_out = axis2_stub_op_InteropTestPortTypeDocService_echoStruct(stub, env, echo_in); ret_arr_size = adb_echoStructArrayResponse_sizeof_echoStructArrayReturn(echo_out, env); for (i = 0; i < ret_arr_size; i++) { echo_struct = adb_echoStructArrayResponse_get_echoStructArrayReturn(echo_out, env); printf("recieved turn %d \n string %s\n int %d\n float %f\n\n", i, adb_SOAPStruct_get_varString(echo_struct, env), adb_SOAPStruct_get_varInt(echo_struct, env), adb_SOAPStruct_get_varFloat(echo_struct, env)); } return 0; } axis2c-src-1.6.0/samples/codegen/client/interop_doc1/test_echo_date.c0000644000175000017500000000517311166304572026701 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_InteropTestPortTypeDocService.h" int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; /* variables use databinding */ adb_echoDate_t *echo_in = NULL; adb_echoDateResponse_t *echo_out = NULL; axutil_date_time_t *echo_date = NULL; axutil_date_time_t *return_echo_date = NULL; axis2_char_t *send_date_str = NULL; axis2_char_t *return_date_str = NULL; endpoint_uri = "http://localhost:9090/axis2/services/interop_doc1"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_InteropTestPortTypeDocService(env, client_home, endpoint_uri); /* create the struct */ echo_date = axutil_date_time_create(env); /* default to current date */ send_date_str = axutil_date_time_serialize_date_time(echo_date, env); printf("sending date %s\n", send_date_str); /* create the input params using databinding */ echo_in = adb_echoDate_create(env); adb_echoDate_set_arg_0_10(echo_in, env, echo_date); /* invoke the web service method */ echo_out = axis2_stub_op_InteropTestPortTypeDocService_echoDate(stub, env, echo_in); /* return the output params using databinding */ return_echo_date = adb_echoDateResponse_get_echoDateReturn(echo_out, env); return_date_str = axutil_date_time_serialize_date_time(return_echo_date, env); printf("returned date %s\n", return_date_str); return 0; } axis2c-src-1.6.0/samples/codegen/client/interop_doc1/Makefile.am0000644000175000017500000000571111166304572025615 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/bin/samples samplesdir=$(prefix)/samples/client/InteropTestPortTypeDocService prgbin_PROGRAMS = test_echo_date test_echo_struct_array test_echo_date_SOURCES = \ axis2_echoBase64.c axis2_echoFloat.c axis2_echoString.c \ axis2_echoBase64Response.c axis2_echoFloatResponse.c axis2_echoStringResponse.c \ axis2_echoBoolean.c axis2_echoHexBinary.c axis2_echoStructArray.c \ axis2_echoBooleanResponse.c axis2_echoHexBinaryResponse.c axis2_echoStructArrayResponse.c \ axis2_echoDate.c axis2_echoIntegerArray.c axis2_echoStruct.c \ axis2_echoDateResponse.c axis2_echoIntegerArrayResponse.c axis2_echoStructResponse.c \ axis2_echoDecimal.c axis2_echoInteger.c axis2_echoVoid.c \ axis2_echoDecimalResponse.c axis2_echoIntegerResponse.c axis2_echoVoidResponse.c \ axis2_echoFloatArray.c axis2_echoStringArray.c axis2_InteropTestPortTypeDocService_stub.c \ axis2_echoFloatArrayResponse.c axis2_echoStringArrayResponse.c axis2_SOAPStruct.c \ test_echo_date.c test_echo_date_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_wsdl \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) test_echo_struct_array_SOURCES = \ axis2_echoBase64.c axis2_echoFloat.c axis2_echoString.c \ axis2_echoBase64Response.c axis2_echoFloatResponse.c axis2_echoStringResponse.c \ axis2_echoBoolean.c axis2_echoHexBinary.c axis2_echoStructArray.c \ axis2_echoBooleanResponse.c axis2_echoHexBinaryResponse.c axis2_echoStructArrayResponse.c \ axis2_echoDate.c axis2_echoIntegerArray.c axis2_echoStruct.c \ axis2_echoDateResponse.c axis2_echoIntegerArrayResponse.c axis2_echoStructResponse.c \ axis2_echoDecimal.c axis2_echoInteger.c axis2_echoVoid.c \ axis2_echoDecimalResponse.c axis2_echoIntegerResponse.c axis2_echoVoidResponse.c \ axis2_echoFloatArray.c axis2_echoStringArray.c axis2_InteropTestPortTypeDocService_stub.c \ axis2_echoFloatArrayResponse.c axis2_echoStringArrayResponse.c axis2_SOAPStruct.c \ test_echo_struct_array.c test_echo_struct_array_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_wsdl \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/client/interop_doc1/readme0000644000175000017500000000101711166304572024734 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). sample sources test_echo_date.c test_echo_struct_array.c wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/InteropTestRound1Doc.wsdl Command to execute the code generation: WSDL2C.sh -uri InteropTestRound1Doc.wsdl -u -d adb WSDL2C.bat -uri InteropTestRound1Doc.wsdl -u -d adb Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt on how to use the script axis2c-src-1.6.0/samples/codegen/client/interop_doc2/0000777000175000017500000000000011172017606023556 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/client/interop_doc2/test_echo_string.c0000644000175000017500000000427011166304572027270 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_WSDLInteropTestDocLitService.h" int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; /* variables use databinding */ adb_echoString_t *echo_in = NULL; adb_echoStringResponse_t *echo_out = NULL; char *echo_str = "hello"; char *return_echo_str = NULL; endpoint_uri = "http://localhost:9090/axis2/services/interop_doc2"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_WSDLInteropTestDocLitService(env, client_home, endpoint_uri); /* create the struct */ /* create the input params using databinding */ echo_in = adb_echoString_create(env); adb_echoString_set_param0(echo_in, env, echo_str); /* invoke the web service method */ echo_out = axis2_stub_op_WSDLInteropTestDocLitService_echoString(stub, env, echo_in); /* return the output params using databinding */ return_echo_str = adb_echoStructResponse_get_return(echo_out, env); printf("returned string %s\n", return_echo_str); return 0; } axis2c-src-1.6.0/samples/codegen/client/interop_doc2/test_echo_struct.c0000644000175000017500000000576611166304572027321 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_WSDLInteropTestDocLitService.h" int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; /* variables use databinding */ adb_echoStruct_t *echo_in = NULL; adb_echoStructResponse_t *echo_out = NULL; adb_SOAPStruct_t *struct_in = NULL; adb_SOAPStruct_t *struct_out = NULL; float float_val = 11; int int_val = 10; char *string_val = "hello struct"; int ret_int_val = 0; float ret_float_val = 0; char *ret_string_val = ""; endpoint_uri = "http://localhost:9090/axis2/services/interop_doc2"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_WSDLInteropTestDocLitService(env, client_home, endpoint_uri); /* create the struct */ struct_in = adb_SOAPStruct_create(env); adb_SOAPStruct_set_varFloat(struct_in, env, float_val); adb_SOAPStruct_set_varInt(struct_in, env, int_val); adb_SOAPStruct_set_varString(struct_in, env, string_val); /* create the input params using databinding */ echo_in = adb_echoStruct_create(env); adb_echoStruct_set_param0(echo_in, env, struct_in); /* invoke the web service method */ echo_out = axis2_stub_op_WSDLInteropTestDocLitService_echoStruct(stub, env, echo_in); /* return the output params using databinding */ struct_out = adb_echoStructResponse_get_return(echo_out, env); /*struct_out = adb_echostruct_get_param0( ret_val, env ); */ ret_float_val = adb_SOAPStruct_get_varFloat(struct_out, env); ret_int_val = adb_SOAPStruct_get_varInt(struct_out, env); ret_string_val = adb_SOAPStruct_get_varString(struct_out, env); printf("returned values \n"); printf(" float %f\n", ret_float_val); printf(" int %d \n", ret_int_val); printf(" string %s \n", ret_string_val); return 0; } axis2c-src-1.6.0/samples/codegen/client/interop_doc2/Makefile.am0000644000175000017500000000402511166304572025613 0ustar00manjulamanjula00000000000000prgbindir = $(prefix)/bin/samples prgbin_PROGRAMS = test_echo_string test_echo_struct test_echo_string_array samplesdir = $(prefix)/samples/client/WSDLInteropTestDocLitService test_echo_string_SOURCES = \ axis2_ArrayOfstring_literal.c axis2_echoStringArray.c axis2_echoStringArrayResponse.c \ axis2_echoString.c axis2_echoStringResponse.c axis2_echoStruct.c axis2_echoStructResponse.c \ axis2_echoVoid.c axis2_echoVoidResponse.c axis2_SOAPStruct.c axis2_WSDLInteropTestDocLitService_stub.c \ test_echo_string.c test_echo_string_LDADD = \ $(LDFLAGS) -L$(AXIS2C_HOME)/lib -laxutil -laxis2_axiom \ -laxis2_wsdl -laxis2_engine -laxis2_parser -lpthread -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) test_echo_struct_SOURCES = \ axis2_ArrayOfstring_literal.c axis2_echoStringArray.c \ axis2_echoStringArrayResponse.c axis2_echoString.c \ axis2_echoStringResponse.c axis2_echoStruct.c axis2_echoStructResponse.c \ axis2_echoVoid.c axis2_echoVoidResponse.c axis2_SOAPStruct.c \ axis2_WSDLInteropTestDocLitService_stub.c test_echo_struct.c test_echo_struct_LDADD = \ $(LDFLAGS) -L$(AXIS2C_HOME)/lib -laxutil -laxis2_axiom \ -laxis2_wsdl -laxis2_engine -laxis2_parser -lpthread -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) test_echo_string_array_SOURCES = \ axis2_ArrayOfstring_literal.c axis2_echoStringArray.c \ axis2_echoStringArrayResponse.c axis2_echoString.c \ axis2_echoStringResponse.c axis2_echoStruct.c axis2_echoStructResponse.c \ axis2_echoVoid.c axis2_echoVoidResponse.c axis2_SOAPStruct.c \ axis2_WSDLInteropTestDocLitService_stub.c test_echo_string_array.c test_echo_string_array_LDADD = \ $(LDFLAGS) -L$(AXIS2C_HOME)/lib -laxutil -laxis2_axiom \ -laxis2_wsdl -laxis2_engine -laxis2_parser -lpthread -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/client/interop_doc2/readme0000644000175000017500000000103011166304572024730 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). sample sources test_echo_string_array.c test_echo_string.c test_echo_struct.c wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/interoptestdoclitparameters.wsdl Command to execute the code generation: WSDL2C.sh -uri Calculator.wsdl -u -d adb WSDL2C.bat -uri Calculator.wsdl -u -d adb Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt on how to use the script axis2c-src-1.6.0/samples/codegen/client/interop_doc2/test_echo_string_array.c0000644000175000017500000000560411166304572030470 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_stub_WSDLInteropTestDocLitService.h" int main( int argc, char **argv) { axutil_env_t *env = NULL; axis2_char_t *client_home = NULL; axis2_char_t *endpoint_uri = NULL; axis2_stub_t *stub = NULL; /* variables use databinding */ adb_echoStringArray_t *echo_in = NULL; adb_echoStringArrayResponse_t *echo_out = NULL; adb_ArrayOfstring_literal_t *array_in = NULL; adb_ArrayOfstring_literal_t *array_out = NULL; static char *string_array[] = { "test", "this", "array" }; int array_length = 3; char *string_return = NULL; int return_array_length = 0; int i = 0; /* for loops */ endpoint_uri = "http://localhost:9090/axis2/services/interop_doc2"; env = axutil_env_create_all("codegen_utest_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home) client_home = "../../../deploy"; stub = axis2_stub_create_WSDLInteropTestDocLitService(env, client_home, endpoint_uri); /* create the array */ array_in = adb_ArrayOfstring_literal_create(env); for(i = 0; i < array_length; i ++) { adb_ArrayOfstring_literal_add_string(array_in, env, string_array[i]); } /* create the input params using databinding */ echo_in = adb_echoStringArray_create(env); adb_echoStringArray_set_param0(echo_in, env, array_in); /* invoke the web service method */ echo_out = axis2_stub_op_WSDLInteropTestDocLitService_echoStringArray(stub, env, echo_in); /* return the output params using databinding */ array_out = adb_echoStringArrayResponse_get_return(echo_out, env); return_array_length = adb_ArrayOfstring_literal_sizeof_string(array_out, env); for (i = 0; i < return_array_length; i++) { string_return = adb_ArrayOfstring_literal_get_string_at(array_out, env, i); printf("value%d: %s \n", i, string_return); } return 0; } axis2c-src-1.6.0/samples/codegen/server/0000777000175000017500000000000011172017606021217 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/server/calculator/0000777000175000017500000000000011172017606023350 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/server/calculator/axis2_skel_Calculator.c0000644000175000017500000001073611166304567027744 0ustar00manjulamanjula00000000000000 /** * axis2_skel_Calculator.c * * This file was auto-generated from WSDL for "Calculator|http://localhost/axis/Calculator" service * by the Apache Axis2/C version: #axisVersion# #today# * axis2_skel_Calculator Axis2/C skeleton for the axisService */ #include "axis2_skel_Calculator.h" /** * auto generated function definition signature * for "div|http://localhost/axis/Calculator" operation. * @param div */ adb_divResponse_t* axis2_skel_Calculator_div (const axutil_env_t *env, adb_div_t *_div1) { adb_divResponse_t *_divresponse2; int int_2; int int_0; int int_1; /* Extract the request */ int_0 = adb_div_get_in0(_div1, env); printf("Returned int: %d\n", int_0); int_1 = adb_div_get_in1(_div1, env); printf("Returned int: %d\n", int_1); /* Build the response adb */ _divresponse2 = adb_divResponse_create(env); int_2 = int_0 / int_1; adb_divResponse_set_divReturn(_divresponse2, env, int_2); return _divresponse2; } /** * auto generated function definition signature * for "mul|http://localhost/axis/Calculator" operation. * @param mul */ adb_mulResponse_t* axis2_skel_Calculator_mul (const axutil_env_t *env, adb_mul_t *_mul1) { adb_mulResponse_t *_mulresponse2; int int_5; int int_3; int int_4; /* Extract the request */ int_3 = adb_mul_get_in0(_mul1, env); printf("Returned int: %d\n", int_3); int_4 = adb_mul_get_in1(_mul1, env); printf("Returned int: %d\n", int_4); /* Build the response adb */ _mulresponse2 = adb_mulResponse_create(env); int_5 = int_3 * int_4; adb_mulResponse_set_mulReturn(_mulresponse2, env, int_5); return _mulresponse2; } /** * auto generated function definition signature * for "add|http://localhost/axis/Calculator" operation. * @param add */ adb_addResponse_t* axis2_skel_Calculator_add (const axutil_env_t *env, adb_add_t *_add1) { adb_addResponse_t *_addresponse2; int int_8; int int_6; int int_7; /* Extract the request */ int_6 = adb_add_get_in0(_add1, env); printf("Returned int: %d\n", int_6); int_7 = adb_add_get_in1(_add1, env); printf("Returned int: %d\n", int_7); /* Build the response adb */ _addresponse2 = adb_addResponse_create(env); int_8 = int_6 + int_7; adb_addResponse_set_addReturn(_addresponse2, env, int_8); return _addresponse2; } /** * auto generated function definition signature * for "sub|http://localhost/axis/Calculator" operation. * @param sub */ adb_subResponse_t* axis2_skel_Calculator_sub (const axutil_env_t *env, adb_sub_t *_sub1) { adb_subResponse_t *_subresponse2; int int_11; int int_9; int int_10; /* Extract the request */ int_9 = adb_sub_get_in0(_sub1, env); printf("Returned int: %d\n", int_9); int_10 = adb_sub_get_in1(_sub1, env); printf("Returned int: %d\n", int_10); /* Build the response adb */ _subresponse2 = adb_subResponse_create(env); int_11 = int_9 - int_10; adb_subResponse_set_subReturn(_subresponse2, env, int_11); return _subresponse2; } axis2c-src-1.6.0/samples/codegen/server/calculator/Makefile.am0000644000175000017500000000136111166304567025411 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/Calculator samplesdir=$(prefix)/samples/server/Calculator prglib_LTLIBRARIES = libCalculator.la prglib_DATA= services.xml EXTRA_DIST = services.xml SUBDIRS = libCalculator_la_SOURCES = \ axis2_add.c axis2_Calculator.c axis2_divResponse16.c axis2_mulResponse14.c axis2_subResponse12.c \ axis2_addRequest.c axis2_Calculator_svc_skeleton.c axis2_divResponse.c axis2_mulResponse.c axis2_subResponse.c \ axis2_addResponse20.c axis2_div.c axis2_mul.c axis2_sub.c \ axis2_addResponse.c axis2_divRequest.c axis2_mulRequest.c axis2_subRequest.c libCalculator_la_LIBADD = INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/server/calculator/readme0000644000175000017500000000070511166304567024536 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/Calculator.wsdl Command to execute the code generation: WSDL2C.sh -uri Calculator.wsdl -u -d adb -ss WSDL2C.bat -uri Calculator.wsdl -u -d adb -ss Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt on how to use the script axis2c-src-1.6.0/samples/codegen/server/calc_xml_inout/0000777000175000017500000000000011172017606024217 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/server/calc_xml_inout/axis2_skel_Calculator.c0000644000175000017500000000636011166304566030610 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * axis2_skel_Calculator.c * * This file was auto-generated from WSDL * by the Apache Axis2/Java version: #axisVersion# #today# * axis2_skel_Calculator Axis2/C skeleton for the axisService */ #include "axis2_skel_Calculator.h" /** * Auto generated function definition * @param param0 */ axiom_node_t * axis2_skel_Calculator_add( const axutil_env_t * env, axiom_node_t * param0) { /* Todo fill this with the necessary business logic */ axiom_node_t *req = param0; axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *text = NULL; axiom_node_t *op_node = NULL; axiom_element_t *op_ele = NULL; axiom_node_t *value_node = NULL; axiom_element_t *value_ele = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; char value_str[64]; int result = 0; int value1, value2; if (!req) { printf("response null\n"); return NULL; } else { node = axiom_node_get_first_child(req, env); ele = axiom_node_get_data_element(node, env); text = axiom_element_get_text(ele, env, node); value1 = atoi(text); node = axiom_node_get_next_sibling(node, env); ele = axiom_node_get_data_element(node, env); text = axiom_element_get_text(ele, env, node); value2 = atoi(text); } result = value1 + value2; ns1 = axiom_namespace_create(env, "http://localhost/axis/Calculator", "ns1"); op_ele = axiom_element_create(env, NULL, "addResponse", ns1, &op_node); value_ele = axiom_element_create(env, op_node, "in1", NULL, &value_node); sprintf(value_str, "%d", result); axiom_element_set_text(value_ele, env, value_str, value_node); return op_node; } /** * Auto generated function definition * @param param2 */ axiom_node_t * axis2_skel_Calculator_div( const axutil_env_t * env, axiom_node_t * param2) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param4 */ axiom_node_t * axis2_skel_Calculator_sub( const axutil_env_t * env, axiom_node_t * param4) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param6 */ axiom_node_t * axis2_skel_Calculator_mul( const axutil_env_t * env, axiom_node_t * param6) { /* Todo fill this with the necessary business logic */ return NULL; } axis2c-src-1.6.0/samples/codegen/server/calc_xml_inout/Makefile.am0000644000175000017500000000055711166304566026265 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/Calculator samplesdir=$(prefix)/samples/server/Calculator prglib_LTLIBRARIES = libCalculator.la prglib_DATA= services.xml EXTRA_DIST = services.xml SUBDIRS = libCalculator_la_SOURCES = \ axis2_Calculator.c \ axis2_Calculator_svc_skeleton.c libCalculator_la_LIBADD = INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/server/calc_xml_inout/readme0000644000175000017500000000070511166304566025404 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/Calculator.wsdl Command to execute the code generation: WSDL2C.sh -uri Calculator.wsdl -u -d none -ss WSDL2C.bat -uri Calculator.wsdl -u -d none -ss Please check the instruction of $AXIS2C_SRC_HOME/tools/codegen/javatool/README.txt on how to use the script axis2c-src-1.6.0/samples/codegen/server/interop_doc1/0000777000175000017500000000000011172017606023605 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/server/interop_doc1/axis2_skel_InteropTestPortTypeDocService.c0000644000175000017500000001455511166304567034051 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * axis2_skel_InteropTestPortTypeDocService.c * * This file was auto-generated from WSDL * by the Apache Axis2/Java version: #axisVersion# #today# * axis2_skel_InteropTestPortTypeDocService Axis2/C skeleton for the axisService */ #include "axis2_skel_InteropTestPortTypeDocService.h" /** * Auto generated function definition * @param param0 */ adb_echoFloatResponse_t * axis2_skel_InteropTestPortTypeDocService_echoFloat( const axutil_env_t * env, adb_echoFloat_t * param0) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param2 */ adb_echoVoidResponse_t * axis2_skel_InteropTestPortTypeDocService_echoVoid( const axutil_env_t * env, adb_echoVoid_t * param2) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param4 */ adb_echoDateResponse_t * axis2_skel_InteropTestPortTypeDocService_echoDate( const axutil_env_t * env, adb_echoDate_t * param4) { /* Todo fill this with the necessary business logic */ adb_echoDate_t *echo_in = param4; adb_echoDateResponse_t *echo_out = NULL; axutil_date_time_t *echo_date = NULL; axis2_char_t *recieved_date_str = NULL; echo_date = adb_echoDate_get_arg_0_10(echo_in, env); recieved_date_str = axutil_date_time_serialize_date_time(echo_date, env); printf("echoing date %s\n", recieved_date_str); echo_out = adb_echoDateResponse_create(env); adb_echoDateResponse_set_echodatereturn(echo_out, env, echo_date); return echo_out; } /** * Auto generated function definition * @param param6 */ adb_echoDecimalResponse_t * axis2_skel_InteropTestPortTypeDocService_echoDecimal( const axutil_env_t * env, adb_echoDecimal_t * param6) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param8 */ adb_echoStringResponse_t * axis2_skel_InteropTestPortTypeDocService_echoString( const axutil_env_t * env, adb_echoString_t * param8) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param10 */ adb_echoBase64Response_t * axis2_skel_InteropTestPortTypeDocService_echoBase64( const axutil_env_t * env, adb_echoBase64_t * param10) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param12 */ adb_echoFloatArrayResponse_t * axis2_skel_InteropTestPortTypeDocService_echoFloatArray( const axutil_env_t * env, adb_echoFloatArray_t * param12) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param14 */ adb_echoIntegerArrayResponse_t * axis2_skel_InteropTestPortTypeDocService_echoIntegerArray( const axutil_env_t * env, adb_echoIntegerArray_t * param14) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param16 */ adb_echoHexBinaryResponse_t * axis2_skel_InteropTestPortTypeDocService_echoHexBinary( const axutil_env_t * env, adb_echoHexBinary_t * param16) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param18 */ adb_echoIntegerResponse_t * axis2_skel_InteropTestPortTypeDocService_echoInteger( const axutil_env_t * env, adb_echoInteger_t * param18) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param20 */ adb_echoBooleanResponse_t * axis2_skel_InteropTestPortTypeDocService_echoBoolean( const axutil_env_t * env, adb_echoBoolean_t * param20) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param22 */ adb_echoStringArrayResponse_t * axis2_skel_InteropTestPortTypeDocService_echoStringArray( const axutil_env_t * env, adb_echoStringArray_t * param22) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param24 */ adb_echoStructArrayResponse_t * axis2_skel_InteropTestPortTypeDocService_echoStructArray( const axutil_env_t * env, adb_echoStructArray_t * param24) { /* Todo fill this with the necessary business logic */ adb_echoStructArray_t *echo_in = param24; adb_echoStructArrayResponse_t *echo_out = NULL; adb_SOAPStruct_t *echo_struct = NULL; int arr_size = 0; int i = 0; arr_size = adb_echoStructArray_sizeof_arg_0_7(echo_in, env); echo_out = adb_echoStructArrayResponse_create(env); for (i = 0; i < arr_size; i++) { echo_struct = adb_echoStructArray_get_arg_0_7_at(echo_in, env, i); printf("echoing turn %d\n string %s\n int %d\n float %f\n\n", i, adb_SOAPStruct_get_varString(echo_struct, env), adb_SOAPStruct_get_varInt(echo_struct, env), adb_SOAPStruct_get_varFloat(echo_struct, env)); adb_echoStructArrayresponse_add_echoStructArrayreturn (echo_out, env, echo_struct); } return echo_out; } /** * Auto generated function definition * @param param26 */ adb_echoStructResponse_t * axis2_skel_InteropTestPortTypeDocService_echoStruct( const axutil_env_t * env, adb_echoStruct_t * param26) { /* Todo fill this with the necessary business logic */ return NULL; } axis2c-src-1.6.0/samples/codegen/server/interop_doc1/Makefile.am0000644000175000017500000000250511166304567025647 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/interop_doc1 samplesdir=$(prefix)/samples/server/interop_doc1 prglib_LTLIBRARIES = libInteropTestPortTypeDocService.la prglib_DATA= services.xml EXTRA_DIST = services.xml SUBDIRS = libInteropTestPortTypeDocService_la_SOURCES = \ axis2_echoBase64.c axis2_echoFloatResponse.c axis2_echoStructArray.c \ axis2_echoBase64Response.c axis2_echoHexBinary.c axis2_echoStructArrayResponse.c \ axis2_echoBoolean.c axis2_echoHexBinaryResponse.c axis2_echoStruct.c \ axis2_echoBooleanResponse.c axis2_echoIntegerArray.c axis2_echoStructResponse.c \ axis2_echoDate.c axis2_echoIntegerArrayResponse.c axis2_echoVoid.c \ axis2_echoDateResponse.c axis2_echoInteger.c axis2_echoVoidResponse.c \ axis2_echoDecimal.c axis2_echoIntegerResponse.c axis2_InteropTestPortTypeDocService.c \ axis2_echoDecimalResponse.c axis2_echoStringArray.c axis2_InteropTestPortTypeDocService_svc_skeleton.c \ axis2_echoFloatArray.c axis2_echoStringArrayResponse.c axis2_SOAPStruct.c \ axis2_echoFloatArrayResponse.c axis2_echoString.c \ axis2_echoFloat.c axis2_echoStringResponse.c libInteropTestPortTypeDocService_la_LIBADD = INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/server/interop_doc1/readme0000644000175000017500000000065111166304567024773 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). wsdl $AXIS2C_SRC_HOME/test/resources/wsdl/InteropTestRound1Doc.wsdl Command to execute the code generation: WSDL2C.sh -uri Calculator.wsdl -u -d adb -ss WSDL2C.bat -uri Calculator.wsdl -u -d adb -ss Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt axis2c-src-1.6.0/samples/codegen/server/interop_doc2/0000777000175000017500000000000011172017606023606 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/codegen/server/interop_doc2/axis2_skel_WSDLInteropTestDocLitService.c0000644000175000017500000001020611166304567033473 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * axis2_WSDLInteropTestDocLitService.c * * This file was auto-generated from WSDL * by the Apache Axis2/Java version: #axisVersion# #today# * axis2_WSDLInteropTestDocLitService Axis2/C skeleton for the axisService */ #include "axis2_WSDLInteropTestDocLitService.h" /** * Auto generated function definition * @param param0 */ axis2_echoVoidResponse_t * axis2_WSDLInteropTestDocLitService_echoVoid( const axutil_env_t * env, axis2_echoVoid_t * param0) { /* Todo fill this with the necessary business logic */ return NULL; } /** * Auto generated function definition * @param param2 */ axis2_echoStringArrayResponse_t * axis2_WSDLInteropTestDocLitService_echoStringArray( const axutil_env_t * env, axis2_echoStringArray_t * param2) { /* Todo fill this with the necessary business logic */ axis2_echoStringArray_t *echo_in = param2; axis2_echoStringArrayResponse_t *echo_out = NULL; axis2_ArrayOfstring_literal_t *array_in = NULL; axis2_ArrayOfstring_literal_t *array_out = NULL; char **string_array = NULL; int string_array_length = 0; array_in = AXIS2_ECHOSTRINGARRAY_GET_PARAM0(echo_in, env); string_array = AXIS2_ARRAYOFSTRING_LITERAL_GET_STRING(array_in, env, &string_array_length); array_out = axis2_ArrayOfstring_literal_create(env); AXIS2_ARRAYOFSTRING_LITERAL_SET_STRING(array_out, env, string_array, string_array_length); echo_out = axis2_echoStringArrayResponse_create(env); AXIS2_ECHOSTRINGARRAYRESPONSE_SET_RETURN(echo_out, env, array_out); return echo_out; } /** * Auto generated function definition * @param param4 */ axis2_echoStructResponse_t * axis2_WSDLInteropTestDocLitService_echoStruct( const axutil_env_t * env, axis2_echoStruct_t * param4) { /* Todo fill this with the necessary business logic */ axis2_echoStruct_t *echo_in = param4; axis2_echoStructResponse_t *echo_out = NULL; axis2_SOAPStruct_t *struct_in = NULL; axis2_SOAPStruct_t *struct_out = NULL; float float_val = 0; int int_val = 0; char *string_val = NULL; struct_in = AXIS2_ECHOSTRUCT_GET_PARAM0(echo_in, env); float_val = AXIS2_SOAPSTRUCT_GET_VARFLOAT(struct_in, env); int_val = AXIS2_SOAPSTRUCT_GET_VARINT(struct_in, env); string_val = AXIS2_SOAPSTRUCT_GET_VARSTRING(struct_in, env); struct_out = axis2_SOAPStruct_create(env); AXIS2_SOAPSTRUCT_SET_VARFLOAT(struct_out, env, float_val); AXIS2_SOAPSTRUCT_SET_VARINT(struct_out, env, int_val); AXIS2_SOAPSTRUCT_SET_VARSTRING(struct_out, env, string_val); echo_out = axis2_echoStructResponse_create(env); AXIS2_ECHOSTRUCTRESPONSE_SET_RETURN(echo_out, env, struct_out); return echo_out; } /** * Auto generated function definition * @param param6 */ axis2_echoStringResponse_t * axis2_WSDLInteropTestDocLitService_echoString( const axutil_env_t * env, axis2_echoString_t * param6) { /* Todo fill this with the necessary business logic */ axis2_echoString_t *echo_in = param6; axis2_echoStringResponse_t *echo_out = NULL; char *echo_string = NULL; echo_string = AXIS2_ECHOSTRING_GET_PARAM0(echo_in, env); echo_out = axis2_echoStringResponse_create(env); AXIS2_ECHOSTRUCTRESPONSE_SET_RETURN(echo_out, env, echo_string); return echo_out; } axis2c-src-1.6.0/samples/codegen/server/interop_doc2/Makefile.am0000644000175000017500000000135711166304567025654 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/interop_doc2 samplesdir=$(prefix)/samples/server/interop_doc2 prglib_LTLIBRARIES = libWSDLInteropTestDocLitService.la prglib_DATA= services.xml EXTRA_DIST = services.xml SUBDIRS = libWSDLInteropTestDocLitService_la_SOURCES = \ axis2_ArrayOfstring_literal.c axis2_echoStringResponse.c axis2_echoVoidResponse.c \ axis2_echoStringArray.c axis2_echoStruct.c axis2_SOAPStruct.c \ axis2_echoStringArrayResponse.c axis2_echoStructResponse.c axis2_WSDLInteropTestDocLitService.c \ axis2_echoString.c axis2_echoVoid.c axis2_WSDLInteropTestDocLitService_svc_skeleton.c libWSDLInteropTestDocLitService_la_LIBADD = INCLUDES = -I$(AXIS2C_HOME)/include \ @UTILINC@ \ @AXIOMINC@ axis2c-src-1.6.0/samples/codegen/server/interop_doc2/readme0000644000175000017500000000065411166304567024777 0ustar00manjulamanjula00000000000000This sample demonstrates the use of code generation using Axis2/Java WSDL2Java tool (Axis2/Java source revision 414253). wsdl $AXIS2C_HOME/test/resources/wsdl/interoptestdoclitparameters.wsdl Command to execute the code generation: WSDL2C.sh -uri Calculator.wsdl -u -d adb -ss WSDL2C.bat -uri Calculator.wsdl -u -d adb -ss Please check the instruction of $AXIS2C_SRC_HOME/c/tools/codegen/javatool/README.txt axis2c-src-1.6.0/samples/mtom_caching_callback/0000777000175000017500000000000011172017605022550 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/mtom_caching_callback/mtom_caching_callback.c0000644000175000017500000001147211166304573027167 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include AXIS2_EXTERN axis2_status_t AXIS2_CALL caching_callback_free(axiom_mtom_caching_callback_t *caching_callback, const axutil_env_t* env) { if (caching_callback) { if (caching_callback->ops) { AXIS2_FREE(env->allocator, caching_callback->ops); } AXIS2_FREE(env->allocator, caching_callback); } return AXIS2_SUCCESS; } AXIS2_EXTERN void* AXIS2_CALL caching_callback_init_handler(axiom_mtom_caching_callback_t *caching_callback, const axutil_env_t* env, axis2_char_t *key) { FILE *fp = NULL; axis2_char_t *file_name = NULL; axis2_char_t *encoded_key = NULL; if(caching_callback->user_param) { /* If this is set the callback implementer may use it to create the void return value at the end of this function. */ } if(key) { /*encoded_key = axutil_strdup(env, key);*/ encoded_key = AXIS2_MALLOC(env->allocator, (sizeof(axis2_char_t ))* (strlen(key))); memset(encoded_key, 0, strlen(key)); if(encoded_key) { encoded_key = axutil_url_encode(env, encoded_key, key, strlen(key)); } file_name = axutil_stracat(env, "/opt/tmp/", encoded_key); /*file_name = key;*/ if(file_name) { fp = fopen(file_name, "ab+"); } else { return NULL; } } #if !defined(WIN32) { axis2_char_t permission_str[256]; sprintf(permission_str, "chmod 777 %s", file_name); system(permission_str); } #endif if(encoded_key) { AXIS2_FREE(env->allocator, encoded_key); encoded_key = NULL; } if(file_name) { AXIS2_FREE(env->allocator, file_name); file_name = NULL; } return (void *)fp; } AXIS2_EXTERN axis2_status_t AXIS2_CALL caching_callback_cache(axiom_mtom_caching_callback_t *caching_callback, const axutil_env_t* env, axis2_char_t *buf, int buf_len, void* handler) { int len = 0; FILE *fp = (FILE *)(handler); len = fwrite(buf, 1, buf_len, fp); if(len < 0) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL caching_callback_close_handler(axiom_mtom_caching_callback_t *caching_callback, const axutil_env_t* env, void* handler) { axis2_status_t status = AXIS2_SUCCESS; if(fclose((FILE *)handler) != 0) { status = AXIS2_FAILURE; } return status; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance(axiom_mtom_caching_callback_t **inst, const axutil_env_t *env) { axiom_mtom_caching_callback_t* caching_callback = NULL; caching_callback = AXIS2_MALLOC(env->allocator, sizeof(axiom_mtom_caching_callback_t)); caching_callback->ops = AXIS2_MALLOC( env->allocator, sizeof(axiom_mtom_caching_callback_ops_t)); /*assign function pointers*/ caching_callback->ops->init_handler = caching_callback_init_handler; caching_callback->ops->cache = caching_callback_cache; caching_callback->ops->close_handler = caching_callback_close_handler; caching_callback->ops->free = caching_callback_free; *inst = caching_callback; if (!(*inst)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot load the caching callback"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance(axiom_mtom_caching_callback_t *inst, const axutil_env_t *env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIOM_MTOM_CACHING_CALLBACK_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/mtom_caching_callback/Makefile.am0000644000175000017500000000053211166304573024606 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/samples/lib/mtom_caching_callback prglib_LTLIBRARIES = libmtom_caching_callback.la libmtom_caching_callback_la_SOURCES = mtom_caching_callback.c libmtom_caching_callback_la_LIBADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil INCLUDES = -I ../../util/include \ -I ../../axiom/include \ @AXIS2INC@ axis2c-src-1.6.0/samples/mtom_caching_callback/Makefile.in0000644000175000017500000003543011172017452024616 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = mtom_caching_callback DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) am__DEPENDENCIES_1 = libmtom_caching_callback_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libmtom_caching_callback_la_OBJECTS = mtom_caching_callback.lo libmtom_caching_callback_la_OBJECTS = \ $(am_libmtom_caching_callback_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libmtom_caching_callback_la_SOURCES) DIST_SOURCES = $(libmtom_caching_callback_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/samples/lib/mtom_caching_callback prglib_LTLIBRARIES = libmtom_caching_callback.la libmtom_caching_callback_la_SOURCES = mtom_caching_callback.c libmtom_caching_callback_la_LIBADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil INCLUDES = -I ../../util/include \ -I ../../axiom/include \ @AXIS2INC@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mtom_caching_callback/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu mtom_caching_callback/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmtom_caching_callback.la: $(libmtom_caching_callback_la_OBJECTS) $(libmtom_caching_callback_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libmtom_caching_callback_la_OBJECTS) $(libmtom_caching_callback_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_caching_callback.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prglibLTLIBRARIES install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prglibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibLTLIBRARIES \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/depcomp0000755000175000017500000004224610527332127017667 0ustar00manjulamanjula00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 . 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 . 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. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" 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" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. 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 tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; 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 mechanism 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 $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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: axis2c-src-1.6.0/samples/aclocal.m40000644000175000017500000101251711166310630020144 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/samples/README0000644000175000017500000000307711166304610017165 0ustar00manjulamanjula00000000000000 Apache Axis2/C Samples ------------------------ What Is It? ----------- This package consists the samples of Apache Axis2/C. As a project of the Apache Software Foundation, the developers aim to collaboratively develop and maintain a robust, commercial-grade, standards-based Web services stack implementation with freely available source code. The Latest Version ------------------ You can get the latest svn checkout of Apache Axis2/C samples from https://svn.apache.org/repos/asf/webservices/axis2/trunk/c/samples Installation ------------ Please see the file called INSTALL. Licensing --------- Please see the file called LICENSE. Contacts -------- o If you want freely available support for using Apache Axis2/C samples please join the Apache Axis2/C user community by subscribing to users mailing list, axis-c-user@ws.apache.org' as described at http://ws.apache.org/axis2/c/mail-lists.html o If you have a bug report for Apache Axis2/C samples please log-in and create a JIRA issue at http://issues.apache.org/jira/browse/AXIS2C o If you want to participate actively in developing Apache Axis2/C samples please subscribe to the `axis-c-dev@ws.apache.org' mailing list as described at http://ws.apache.org/axis2/c/mail-lists.html Acknowledgements ---------------- Apache Axis2/C samples rely heavily on the use of autoconf and libtool to provide a build environment. axis2c-src-1.6.0/samples/ltmain.sh0000644000175000017500000060512310660364710020132 0ustar00manjulamanjula00000000000000# 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: axis2c-src-1.6.0/samples/configure0000755000175000017500000253266011166310632020224 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for axis2c-sample-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='axis2c-sample-src' PACKAGE_TARNAME='axis2c-sample-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='axis2c-sample-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/axis2c # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL APACHE2INC APRINC AXIS2INC GUTHTHILA_DIR GUTHTHILA_LIBS DICLIENT_DIR LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures axis2c-sample-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/axis2c-sample-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of axis2c-sample-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-diclient build diclient. default=no Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] --with-axis2=PATH Find the AXIS2 header files in 'PATH'. 'PATH' should point to AXIS2 include files location. If you omit the '=PATH' part completely, the configure script will search '$(AXIS2C_HOME)/include/axis2-1.6.0' for AXIS2 headers. Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF axis2c-sample-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by axis2c-sample-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='axis2c-sample-src' VERSION='1.6.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5076 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7111: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7115: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7401: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7405: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7505: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7509: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12387: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12391: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12491: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12495: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14068: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14072: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14172: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14176: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16372: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16376: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16662: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16666: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16766: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16770: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { echo "$as_me:$LINENO: checking for ISO C99 varargs macros in C" >&5 echo $ECHO_N "checking for ISO C99 varargs macros in C... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_iso_c_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_iso_c_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_iso_c_varargs" >&5 echo "${ECHO_T}$axis2c_have_iso_c_varargs" >&6; } { echo "$as_me:$LINENO: checking for GNUC varargs macros" >&5 echo $ECHO_N "checking for GNUC varargs macros... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_gnuc_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_gnuc_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_gnuc_varargs" >&5 echo "${ECHO_T}$axis2c_have_gnuc_varargs" >&6; } if test x$axis2c_have_iso_c_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISO_VARARGS 1 _ACEOF fi if test x$axis2c_have_gnuc_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_GNUC_VARARGS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done { echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6; } if test "${ac_cv_c_const+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_c_const=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 echo "${ECHO_T}$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then cat >>confdefs.h <<\_ACEOF #define const _ACEOF fi CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS" { echo "$as_me:$LINENO: checking whether to build dynamic invocation client" >&5 echo $ECHO_N "checking whether to build dynamic invocation client... $ECHO_C" >&6; } # Check whether --enable-diclient was given. if test "${enable_diclient+set}" = set; then enableval=$enable_diclient; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } DICLIENT_DIR="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } DICLIENT_DIR="diclient" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } DICLIENT_DIR="" fi { echo "$as_me:$LINENO: checking To Use Axis2 C . This is a compulsory module to build Axis2 C samples" >&5 echo $ECHO_N "checking To Use Axis2 C . This is a compulsory module to build Axis2 C samples... $ECHO_C" >&6; } # Check whether --with-axis2 was given. if test "${with_axis2+set}" = set; then withval=$with_axis2; case "$withval" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } if test -d $withval; then axis2inc="-I$withval" elif test -d '$(AXIS2C_HOME)/include'; then axis2inc="-I$(AXIS2C_HOME)/include/axis2-1.6.0" else { { echo "$as_me:$LINENO: error: could not find axis2. stop" >&5 echo "$as_me: error: could not find axis2. stop" >&2;} { (exit 1); exit 1; }; } fi ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi APACHE2INC=$apache2inc AXIS2INC=$axis2inc APRINC=$aprinc ac_config_files="$ac_config_files Makefile server/Makefile server/echo/Makefile server/math/Makefile server/version/Makefile server/Calculator/Makefile server/notify/Makefile server/sg_math/Makefile server/mtom/Makefile server/mtom_callback/Makefile client/Makefile client/echo/Makefile client/math/Makefile client/version/Makefile client/mtom/Makefile client/mtom_callback/Makefile client/mtom/resources/Makefile client/notify/Makefile client/google/Makefile client/yahoo/Makefile client/amqp/Makefile client/amqp/echo/Makefile client/amqp/notify/Makefile client/amqp/mtom/Makefile client/amqp/mtom/resources/Makefile user_guide/Makefile user_guide/clients/Makefile mtom_caching_callback/Makefile mtom_sending_callback/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by axis2c-sample-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ axis2c-sample-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "server/Makefile") CONFIG_FILES="$CONFIG_FILES server/Makefile" ;; "server/echo/Makefile") CONFIG_FILES="$CONFIG_FILES server/echo/Makefile" ;; "server/math/Makefile") CONFIG_FILES="$CONFIG_FILES server/math/Makefile" ;; "server/version/Makefile") CONFIG_FILES="$CONFIG_FILES server/version/Makefile" ;; "server/Calculator/Makefile") CONFIG_FILES="$CONFIG_FILES server/Calculator/Makefile" ;; "server/notify/Makefile") CONFIG_FILES="$CONFIG_FILES server/notify/Makefile" ;; "server/sg_math/Makefile") CONFIG_FILES="$CONFIG_FILES server/sg_math/Makefile" ;; "server/mtom/Makefile") CONFIG_FILES="$CONFIG_FILES server/mtom/Makefile" ;; "server/mtom_callback/Makefile") CONFIG_FILES="$CONFIG_FILES server/mtom_callback/Makefile" ;; "client/Makefile") CONFIG_FILES="$CONFIG_FILES client/Makefile" ;; "client/echo/Makefile") CONFIG_FILES="$CONFIG_FILES client/echo/Makefile" ;; "client/math/Makefile") CONFIG_FILES="$CONFIG_FILES client/math/Makefile" ;; "client/version/Makefile") CONFIG_FILES="$CONFIG_FILES client/version/Makefile" ;; "client/mtom/Makefile") CONFIG_FILES="$CONFIG_FILES client/mtom/Makefile" ;; "client/mtom_callback/Makefile") CONFIG_FILES="$CONFIG_FILES client/mtom_callback/Makefile" ;; "client/mtom/resources/Makefile") CONFIG_FILES="$CONFIG_FILES client/mtom/resources/Makefile" ;; "client/notify/Makefile") CONFIG_FILES="$CONFIG_FILES client/notify/Makefile" ;; "client/google/Makefile") CONFIG_FILES="$CONFIG_FILES client/google/Makefile" ;; "client/yahoo/Makefile") CONFIG_FILES="$CONFIG_FILES client/yahoo/Makefile" ;; "client/amqp/Makefile") CONFIG_FILES="$CONFIG_FILES client/amqp/Makefile" ;; "client/amqp/echo/Makefile") CONFIG_FILES="$CONFIG_FILES client/amqp/echo/Makefile" ;; "client/amqp/notify/Makefile") CONFIG_FILES="$CONFIG_FILES client/amqp/notify/Makefile" ;; "client/amqp/mtom/Makefile") CONFIG_FILES="$CONFIG_FILES client/amqp/mtom/Makefile" ;; "client/amqp/mtom/resources/Makefile") CONFIG_FILES="$CONFIG_FILES client/amqp/mtom/resources/Makefile" ;; "user_guide/Makefile") CONFIG_FILES="$CONFIG_FILES user_guide/Makefile" ;; "user_guide/clients/Makefile") CONFIG_FILES="$CONFIG_FILES user_guide/clients/Makefile" ;; "mtom_caching_callback/Makefile") CONFIG_FILES="$CONFIG_FILES mtom_caching_callback/Makefile" ;; "mtom_sending_callback/Makefile") CONFIG_FILES="$CONFIG_FILES mtom_sending_callback/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim APACHE2INC!$APACHE2INC$ac_delim APRINC!$APRINC$ac_delim AXIS2INC!$AXIS2INC$ac_delim GUTHTHILA_DIR!$GUTHTHILA_DIR$ac_delim GUTHTHILA_LIBS!$GUTHTHILA_LIBS$ac_delim DICLIENT_DIR!$DICLIENT_DIR$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 17; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi axis2c-src-1.6.0/samples/mtom_sending_callback/0000777000175000017500000000000011172017606022604 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/mtom_sending_callback/mtom_sending_callback.c0000644000175000017500000001321111166304566027250 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #define MAX_BUFFER_SIZE 1024 struct storage_handler { FILE *fp; int storage_size; axis2_char_t *buffer; int buffer_size; }; typedef struct storage_handler storage_handler_t; AXIS2_EXTERN axis2_status_t AXIS2_CALL mtom_sending_callback_free(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env) { if (mtom_sending_callback) { if (mtom_sending_callback->ops) { AXIS2_FREE(env->allocator, mtom_sending_callback->ops); } AXIS2_FREE(env->allocator, mtom_sending_callback); } return AXIS2_SUCCESS; } AXIS2_EXTERN void* AXIS2_CALL mtom_sending_callback_init_handler(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env, void *user_param) { axis2_char_t *file_name = NULL; storage_handler_t *storage_handler = NULL; struct stat stat_p; if(user_param) { /*file_name = axutil_stracat(env, "/tmp/", (axis2_char_t *)user_param);*/ file_name = (axis2_char_t *)user_param; } else { return NULL; } if (stat(file_name, &stat_p) == -1) { return NULL; } storage_handler = AXIS2_MALLOC(env->allocator, sizeof(storage_handler_t)); storage_handler->fp = fopen(file_name, "rb"); storage_handler->storage_size = stat_p.st_size; if(storage_handler->storage_size > MAX_BUFFER_SIZE) { storage_handler->buffer_size = MAX_BUFFER_SIZE; } else { storage_handler->buffer_size = storage_handler->storage_size; } storage_handler->buffer = (axis2_char_t *)AXIS2_MALLOC(env->allocator, sizeof(axis2_char_t)*(storage_handler->buffer_size)); /* #if !defined(WIN32) { axis2_char_t permission_str[256]; sprintf(permission_str, "chmod 777 %s", file_name); system(permission_str); } #endif */ /*if(file_name) { AXIS2_FREE(env->allocator, file_name); file_name = NULL; }*/ return (void *)storage_handler; } AXIS2_EXTERN int AXIS2_CALL mtom_sending_callback_load_data(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env, void *handler, axis2_char_t **buffer) { int len = 0; FILE *fp = ((storage_handler_t *)(handler))->fp; storage_handler_t *storage_handler = NULL; storage_handler = (storage_handler_t *)handler; memset(storage_handler->buffer, 0, storage_handler->buffer_size); if(feof(fp)) { return 0; } else { len = (int)fread(storage_handler->buffer, 1, storage_handler->buffer_size, fp); } *buffer = storage_handler->buffer; return len; } AXIS2_EXTERN axis2_status_t AXIS2_CALL mtom_sending_callback_close_handler(axiom_mtom_sending_callback_t *mtom_sending_callback, const axutil_env_t* env, void* handler) { axis2_status_t status = AXIS2_SUCCESS; storage_handler_t *storage_handler = NULL; storage_handler = (storage_handler_t *)handler; if(fclose(storage_handler->fp) != 0) { status = AXIS2_FAILURE; } AXIS2_FREE(env->allocator, storage_handler->buffer); storage_handler->buffer = NULL; AXIS2_FREE(env->allocator, storage_handler); storage_handler = NULL; return status; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance(axiom_mtom_sending_callback_t **inst, const axutil_env_t *env) { axiom_mtom_sending_callback_t* mtom_sending_callback = NULL; mtom_sending_callback = AXIS2_MALLOC(env->allocator, sizeof(axiom_mtom_sending_callback_t)); mtom_sending_callback->ops = AXIS2_MALLOC( env->allocator, sizeof(axiom_mtom_sending_callback_ops_t)); /*assign function pointers*/ mtom_sending_callback->ops->init_handler = mtom_sending_callback_init_handler; mtom_sending_callback->ops->load_data = mtom_sending_callback_load_data; mtom_sending_callback->ops->close_handler = mtom_sending_callback_close_handler; mtom_sending_callback->ops->free = mtom_sending_callback_free; *inst = mtom_sending_callback; if (!(*inst)) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Cannot load the mtom_sending callback"); return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance(axiom_mtom_sending_callback_t *inst, const axutil_env_t *env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIOM_MTOM_SENDING_CALLBACK_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/mtom_sending_callback/Makefile.am0000644000175000017500000000056611166304566024652 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/samples/lib/mtom_sending_callback prglib_LTLIBRARIES = libmtom_sending_callback.la libmtom_sending_callback_la_SOURCES = mtom_sending_callback.c libmtom_sending_callback_la_LIBADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil INCLUDES = -I ../../util/include \ -I ../../axiom/include \ -I /usr/include/mysql \ @AXIS2INC@ axis2c-src-1.6.0/samples/mtom_sending_callback/Makefile.in0000644000175000017500000003546411172017452024660 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = mtom_sending_callback DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) am__DEPENDENCIES_1 = libmtom_sending_callback_la_DEPENDENCIES = $(am__DEPENDENCIES_1) am_libmtom_sending_callback_la_OBJECTS = mtom_sending_callback.lo libmtom_sending_callback_la_OBJECTS = \ $(am_libmtom_sending_callback_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libmtom_sending_callback_la_SOURCES) DIST_SOURCES = $(libmtom_sending_callback_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/samples/lib/mtom_sending_callback prglib_LTLIBRARIES = libmtom_sending_callback.la libmtom_sending_callback_la_SOURCES = mtom_sending_callback.c libmtom_sending_callback_la_LIBADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil INCLUDES = -I ../../util/include \ -I ../../axiom/include \ -I /usr/include/mysql \ @AXIS2INC@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu mtom_sending_callback/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu mtom_sending_callback/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmtom_sending_callback.la: $(libmtom_sending_callback_la_OBJECTS) $(libmtom_sending_callback_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libmtom_sending_callback_la_OBJECTS) $(libmtom_sending_callback_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_sending_callback.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: for dir in "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prglibLTLIBRARIES install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prglibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibLTLIBRARIES \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/configure.ac0000644000175000017500000000755411166304610020577 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(axis2c-sample-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) dnl AM_INIT_AUTOMAKE([tar-ustar]) AM_INIT_AUTOMAKE m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) AC_PREFIX_DEFAULT(/usr/local/axis2c) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ],axis2c_have_iso_c_varargs=yes,axis2c_have_iso_c_varargs=no) AC_MSG_RESULT($axis2c_have_iso_c_varargs) AC_MSG_CHECKING(for GNUC varargs macros) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ],axis2c_have_gnuc_varargs=yes,axis2c_have_gnuc_varargs=no) AC_MSG_RESULT($axis2c_have_gnuc_varargs) dnl Output varargs tests if test x$axis2c_have_iso_c_varargs = xyes; then AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros]) fi if test x$axis2c_have_gnuc_varargs = xyes; then AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros]) fi dnl Checks for libraries. AC_CHECK_LIB(dl, dlopen) CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST dnl Checks for library functions. dnl AC_FUNC_MALLOC dnl AC_FUNC_REALLOC CFLAGS="$CFLAGS $GUTHTHILA_CFLAGS" AC_MSG_CHECKING(whether to build dynamic invocation client) AC_ARG_ENABLE(diclient, [ --enable-diclient build diclient. default=no], [ case "${enableval}" in no) AC_MSG_RESULT(no) DICLIENT_DIR="" ;; *) AC_MSG_RESULT(yes) DICLIENT_DIR="diclient" ;; esac ], AC_MSG_RESULT(yes) DICLIENT_DIR="" ) AC_MSG_CHECKING(To Use Axis2 C . This is a compulsory module to build Axis2 C samples) AC_ARG_WITH(axis2, [ --with-axis2[=PATH] Find the AXIS2 header files in 'PATH'. 'PATH' should point to AXIS2 include files location. If you omit the '=PATH' part completely, the configure script will search '$(AXIS2C_HOME)/include/axis2-1.6.0' for AXIS2 headers.], [ case "$withval" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) dnl Find axiom include dir in the path if test -d $withval; then axis2inc="-I$withval" dnl else find the axiom include dir in $(AXIS2C_HOME)/include elif test -d '$(AXIS2C_HOME)/include'; then axis2inc="-I$(AXIS2C_HOME)/include/axis2-1.6.0" else AC_MSG_ERROR(could not find axis2. stop) fi ;; esac ], AC_MSG_RESULT(no) ) APACHE2INC=$apache2inc AXIS2INC=$axis2inc APRINC=$aprinc AC_SUBST(APACHE2INC) AC_SUBST(APRINC) AC_SUBST(AXIS2INC) AC_SUBST(GUTHTHILA_DIR) AC_SUBST(GUTHTHILA_LIBS) AC_SUBST(DICLIENT_DIR) AC_CONFIG_FILES([Makefile \ server/Makefile \ server/echo/Makefile \ server/math/Makefile \ server/version/Makefile \ server/Calculator/Makefile \ server/notify/Makefile \ server/sg_math/Makefile \ server/mtom/Makefile \ server/mtom_callback/Makefile \ client/Makefile \ client/echo/Makefile \ client/math/Makefile \ client/version/Makefile \ client/mtom/Makefile \ client/mtom_callback/Makefile \ client/mtom/resources/Makefile \ client/notify/Makefile \ client/google/Makefile \ client/yahoo/Makefile \ client/amqp/Makefile \ client/amqp/echo/Makefile \ client/amqp/notify/Makefile \ client/amqp/mtom/Makefile \ client/amqp/mtom/resources/Makefile \ user_guide/Makefile \ user_guide/clients/Makefile \ mtom_caching_callback/Makefile \ mtom_sending_callback/Makefile ]) AC_OUTPUT axis2c-src-1.6.0/samples/config.guess0000755000175000017500000012703510614436542020635 0ustar00manjulamanjula00000000000000#! /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, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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 . # Please send patches to . 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 ." 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 "$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 ; set_cc_for_build= ;' # 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 ;; sh5el) machine=sh5le-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 ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-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 /* 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 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 #include 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 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 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:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *: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 ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [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*:*:* | x86_64: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 ;; avr32*: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 | sed -n ' /^CPU/{ s: ::g p }'`" 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-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 ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-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 #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" 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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-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 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 ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos 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 < # include #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 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 # 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 < 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: axis2c-src-1.6.0/samples/install-sh0000755000175000017500000003160010527332127020306 0ustar00manjulamanjula00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # 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. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment 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}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog 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 $# -ne 0; 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) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac 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 $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # 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 fi if test $# -eq 0; 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 if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? 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 dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # 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 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 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 "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # 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: axis2c-src-1.6.0/samples/autogen.sh0000755000175000017500000000131611166304610020300 0ustar00manjulamanjula00000000000000#!/bin/bash echo -n 'Running libtoolize...' if [ `uname -s` = Darwin ] then LIBTOOLIZE=glibtoolize else LIBTOOLIZE=libtoolize fi if $LIBTOOLIZE --force > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running aclocal...' if aclocal > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoheader...' if autoheader > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running autoconf...' if autoconf > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo -n 'Running automake...' if automake --add-missing > /dev/null 2>&1; then echo 'done.' else echo 'failed.' exit 1 fi echo 'done' axis2c-src-1.6.0/samples/config.sub0000755000175000017500000007763110614436542020306 0ustar00manjulamanjula00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-01-18' # 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 . 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 ." 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-newlib* | 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -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/'` ;; -sco5v6*) # 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | 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 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) 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) ;; ms1) basic_machine=mt-unknown ;; # 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-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | 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-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; 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 ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 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* | -solidbsd* \ | -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-newlib* | -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* | -haiku* | -rdos* | -toppers* | -drops*) # 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* | -haiku* \ | -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 score-*) os=-elf ;; spu-*) os=-elf ;; *-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 ;; mep-*) os=-elf ;; 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 ;; *-haiku) os=-haiku ;; *-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: axis2c-src-1.6.0/samples/missing0000755000175000017500000002557710527332127017721 0ustar00manjulamanjula00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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' autom4te touch the output file, or create a stub one 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 ." 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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: axis2c-src-1.6.0/samples/client/0000777000175000017500000000000011172017605017562 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/amqp/0000777000175000017500000000000011172017605020520 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/amqp/echo/0000777000175000017500000000000011172017605021436 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/amqp/echo/echo_blocking_addr.c0000644000175000017500000001071611166304610025361 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_addr_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/client/amqp/echo/echo_blocking_dual.c0000644000175000017500000001166211166304610025375 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_endpoint_ref_t *reply_to = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_dual_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_use_separate_listener(options, env, AXIS2_TRUE); /* Seperate listner needs addressing, hence addressing stuff in options */ axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); reply_to = axis2_endpoint_ref_create(env, "amqp://localhost:5672/axis2/services/__ANONYMOUS_SERVICE__"); axis2_options_set_reply_to(options, env, reply_to); axis2_options_set_transport_in_protocol(options, env, AXIS2_TRANSPORT_ENUM_AMQP); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { AXIS2_SLEEP(1); axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/client/amqp/echo/echo_blocking.c0000644000175000017500000000747111166304610024373 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main (int argc, char **argv) { const axutil_env_t* env = NULL; const axis2_char_t* address = NULL; axis2_endpoint_ref_t* endpoint_ref = NULL; axis2_options_t* options = NULL; const axis2_char_t* client_home = NULL; axis2_svc_client_t* svc_client = NULL; axiom_node_t* payload = NULL; axiom_node_t* ret_node = NULL; /* Set up the environment */ env = axutil_env_create_all ("echo_blocking_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp (address, "-h") == 0) { printf ("Usage : %s [endpoint_url]\n", argv[0]); printf ("use -h for help\n"); return 0; } printf ("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create (env, address); /* Setup options */ options = axis2_options_create (env); axis2_options_set_to (options, env, endpoint_ref); /* Set up deploy folder */ client_home = AXIS2_GETENV ("AXIS2C_HOME"); if (!client_home || !strcmp (client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create (env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE (env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options (svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc (env); /* Send request and get response */ ret_node = axis2_svc_client_send_receive (svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string (ret_node, env); if (om_str) { printf ("\nReceived OM : %s\n", om_str); AXIS2_FREE (env->allocator, om_str); } printf ("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE (env->error)); printf ("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free (svc_client, env); svc_client = NULL; } if (env) { axutil_env_free ((axutil_env_t*)env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/client/amqp/echo/Makefile.am0000644000175000017500000000216311166304610023466 0ustar00manjulamanjula00000000000000prgbindir = $(prefix)/samples/bin/amqp prgbin_PROGRAMS = echo_blocking \ echo_non_blocking \ echo_blocking_addr \ echo_blocking_dual \ echo_non_blocking_dual \ echo_blocking_soap11 echo_blocking_SOURCES = echo_blocking.c echo_util.c echo_non_blocking_SOURCES = echo_non_blocking.c echo_util.c echo_blocking_addr_SOURCES = echo_blocking_addr.c echo_util.c echo_blocking_dual_SOURCES = echo_blocking_dual.c echo_util.c echo_non_blocking_dual_SOURCES = echo_non_blocking_dual.c echo_util.c echo_blocking_soap11_SOURCES = echo_blocking_soap11.c echo_util.c LINK_FLAGS = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ $(GUTHTHILA_LIBS) echo_blocking_LDADD = $(LINK_FLAGS) echo_non_blocking_LDADD = $(LINK_FLAGS) echo_blocking_addr_LDADD = $(LINK_FLAGS) echo_blocking_dual_LDADD = $(LINK_FLAGS) echo_non_blocking_dual_LDADD = $(LINK_FLAGS) echo_blocking_soap11_LDADD = $(LINK_FLAGS) INCLUDES = @AXIS2INC@ EXTRA_DIST=echo_util.h axis2c-src-1.6.0/samples/client/amqp/echo/Makefile.in0000644000175000017500000004377611172017451023517 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = echo_blocking$(EXEEXT) echo_non_blocking$(EXEEXT) \ echo_blocking_addr$(EXEEXT) echo_blocking_dual$(EXEEXT) \ echo_non_blocking_dual$(EXEEXT) echo_blocking_soap11$(EXEEXT) subdir = client/amqp/echo DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_echo_blocking_OBJECTS = echo_blocking.$(OBJEXT) echo_util.$(OBJEXT) echo_blocking_OBJECTS = $(am_echo_blocking_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) echo_blocking_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_addr_OBJECTS = echo_blocking_addr.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_addr_OBJECTS = $(am_echo_blocking_addr_OBJECTS) echo_blocking_addr_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_dual_OBJECTS = echo_blocking_dual.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_dual_OBJECTS = $(am_echo_blocking_dual_OBJECTS) echo_blocking_dual_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_soap11_OBJECTS = echo_blocking_soap11.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_soap11_OBJECTS = $(am_echo_blocking_soap11_OBJECTS) echo_blocking_soap11_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_non_blocking_OBJECTS = echo_non_blocking.$(OBJEXT) \ echo_util.$(OBJEXT) echo_non_blocking_OBJECTS = $(am_echo_non_blocking_OBJECTS) echo_non_blocking_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_non_blocking_dual_OBJECTS = echo_non_blocking_dual.$(OBJEXT) \ echo_util.$(OBJEXT) echo_non_blocking_dual_OBJECTS = $(am_echo_non_blocking_dual_OBJECTS) echo_non_blocking_dual_DEPENDENCIES = $(am__DEPENDENCIES_2) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(echo_blocking_SOURCES) $(echo_blocking_addr_SOURCES) \ $(echo_blocking_dual_SOURCES) $(echo_blocking_soap11_SOURCES) \ $(echo_non_blocking_SOURCES) $(echo_non_blocking_dual_SOURCES) DIST_SOURCES = $(echo_blocking_SOURCES) $(echo_blocking_addr_SOURCES) \ $(echo_blocking_dual_SOURCES) $(echo_blocking_soap11_SOURCES) \ $(echo_non_blocking_SOURCES) $(echo_non_blocking_dual_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin/amqp echo_blocking_SOURCES = echo_blocking.c echo_util.c echo_non_blocking_SOURCES = echo_non_blocking.c echo_util.c echo_blocking_addr_SOURCES = echo_blocking_addr.c echo_util.c echo_blocking_dual_SOURCES = echo_blocking_dual.c echo_util.c echo_non_blocking_dual_SOURCES = echo_non_blocking_dual.c echo_util.c echo_blocking_soap11_SOURCES = echo_blocking_soap11.c echo_util.c LINK_FLAGS = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ $(GUTHTHILA_LIBS) echo_blocking_LDADD = $(LINK_FLAGS) echo_non_blocking_LDADD = $(LINK_FLAGS) echo_blocking_addr_LDADD = $(LINK_FLAGS) echo_blocking_dual_LDADD = $(LINK_FLAGS) echo_non_blocking_dual_LDADD = $(LINK_FLAGS) echo_blocking_soap11_LDADD = $(LINK_FLAGS) INCLUDES = @AXIS2INC@ EXTRA_DIST = echo_util.h all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/amqp/echo/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/amqp/echo/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done echo_blocking$(EXEEXT): $(echo_blocking_OBJECTS) $(echo_blocking_DEPENDENCIES) @rm -f echo_blocking$(EXEEXT) $(LINK) $(echo_blocking_OBJECTS) $(echo_blocking_LDADD) $(LIBS) echo_blocking_addr$(EXEEXT): $(echo_blocking_addr_OBJECTS) $(echo_blocking_addr_DEPENDENCIES) @rm -f echo_blocking_addr$(EXEEXT) $(LINK) $(echo_blocking_addr_OBJECTS) $(echo_blocking_addr_LDADD) $(LIBS) echo_blocking_dual$(EXEEXT): $(echo_blocking_dual_OBJECTS) $(echo_blocking_dual_DEPENDENCIES) @rm -f echo_blocking_dual$(EXEEXT) $(LINK) $(echo_blocking_dual_OBJECTS) $(echo_blocking_dual_LDADD) $(LIBS) echo_blocking_soap11$(EXEEXT): $(echo_blocking_soap11_OBJECTS) $(echo_blocking_soap11_DEPENDENCIES) @rm -f echo_blocking_soap11$(EXEEXT) $(LINK) $(echo_blocking_soap11_OBJECTS) $(echo_blocking_soap11_LDADD) $(LIBS) echo_non_blocking$(EXEEXT): $(echo_non_blocking_OBJECTS) $(echo_non_blocking_DEPENDENCIES) @rm -f echo_non_blocking$(EXEEXT) $(LINK) $(echo_non_blocking_OBJECTS) $(echo_non_blocking_LDADD) $(LIBS) echo_non_blocking_dual$(EXEEXT): $(echo_non_blocking_dual_OBJECTS) $(echo_non_blocking_dual_DEPENDENCIES) @rm -f echo_non_blocking_dual$(EXEEXT) $(LINK) $(echo_non_blocking_dual_OBJECTS) $(echo_non_blocking_dual_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_addr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_dual.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_soap11.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_non_blocking.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_non_blocking_dual.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_util.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/amqp/echo/echo_non_blocking.c0000644000175000017500000001515211166304610025240 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include /* my on_complete callback function */ axis2_status_t AXIS2_CALL echo_callback_on_complete (struct axis2_callback* callback, const axutil_env_t* env); /* my on_error callback function */ axis2_status_t AXIS2_CALL echo_callback_on_error (struct axis2_callback* callback, const axutil_env_t* env, int exception); /* to check whether the callback is completed */ int isComplete = 0; int main(int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axis2_callback_t *callback = NULL; int count = 0; /* Set up the environment */ env = axutil_env_create_all ("echo_non_blocking_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp (address, "-h") == 0) { printf ("Usage : %s [endpoint_url]\n", argv[0]); printf ("use -h for help\n"); return 0; } printf ("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create (env, address); /* Setup options */ options = axis2_options_create (env); axis2_options_set_to (options, env, endpoint_ref); /* Set up deploy folder */ client_home = AXIS2_GETENV ("AXIS2C_HOME"); if (!client_home || !strcmp (client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create (env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE (env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options (svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc (env); /* Create the callback object with default on_complete and on_error callback functions */ callback = axis2_callback_create (env); /* Set our on_complete fucntion pointer to the callback object */ axis2_callback_set_on_complete (callback, echo_callback_on_complete); /* Set our on_error function pointer to the callback object */ axis2_callback_set_on_error (callback, echo_callback_on_error); /* Send request */ axis2_svc_client_send_receive_non_blocking (svc_client, env, payload, callback); /*Wait till callback is complete. Simply keep the parent thread running until our on_complete or on_error is invoked */ while (count < 30) { if (isComplete) { /* We are done with the callback */ break; } AXIS2_SLEEP (1); count++; } if (!(count < 30)) { printf ("\necho client invoke FAILED. Counter timed out.\n"); } if (svc_client) { axis2_svc_client_free (svc_client, env); svc_client = NULL; } if (env) { axutil_env_free ((axutil_env_t *) env); env = NULL; } return 0; } axis2_status_t AXIS2_CALL echo_callback_on_complete(struct axis2_callback* callback, const axutil_env_t* env) { /** SOAP response has arrived here; get the soap envelope from the callback object and do whatever you want to do with it */ axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *ret_node = NULL; axis2_status_t status = AXIS2_SUCCESS; soap_envelope = axis2_callback_get_envelope (callback, env); if (!soap_envelope) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE (env->error)); printf ("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { ret_node = axiom_soap_envelope_get_base_node (soap_envelope, env); if (!ret_node) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE (env->error)); printf ("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string (ret_node, env); if (om_str) { printf ("\nReceived OM : %s\n", om_str); AXIS2_FREE (env->allocator, om_str); } printf ("\necho client invoke SUCCESSFUL!\n"); } } isComplete = 1; return status; } axis2_status_t AXIS2_CALL echo_callback_on_error (struct axis2_callback* callback, const axutil_env_t* env, int exception) { /** take necessary action on error */ printf ("\necho client invike FAILED. Error code:%d ::%s", exception, AXIS2_ERROR_GET_MESSAGE (env->error)); isComplete = 1; return AXIS2_SUCCESS; } axis2c-src-1.6.0/samples/client/amqp/echo/echo_non_blocking_dual.c0000644000175000017500000001737311166304610026254 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include #define MAX_COUNT 10 /* my on_complete callback function */ axis2_status_t AXIS2_CALL echo_callback_on_complete( struct axis2_callback * callback, const axutil_env_t * env); /* my on_error callback function */ axis2_status_t AXIS2_CALL echo_callback_on_error( struct axis2_callback *callback, const axutil_env_t * env, int exception); /* to check whether the callback is completed */ int isComplete = 0; int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_endpoint_ref_t *reply_to = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axis2_callback_t *callback = NULL; int count = 0; /* Set up the environment */ env = axutil_env_create_all("echo_non_blocking_dual_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_use_separate_listener(options, env, AXIS2_TRUE); /* Seperate listner needs addressing, hence addressing stuff in options */ axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); reply_to = axis2_endpoint_ref_create(env, "amqp://localhost:5672/axis2/services/__ANONYMOUS_SERVICE__"); axis2_options_set_reply_to(options, env, reply_to); axis2_options_set_transport_in_protocol(options, env, AXIS2_TRANSPORT_ENUM_AMQP); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /*axis2_svc_client_engage_module(svc_client, env, "sandesha2"); */ /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Create the callback object with default on_complete and on_error callback functions */ callback = axis2_callback_create(env); /* Set our on_complete fucntion pointer to the callback object */ axis2_callback_set_on_complete(callback, echo_callback_on_complete); /* Set our on_error function pointer to the callback object */ axis2_callback_set_on_error(callback, echo_callback_on_error); /* Send request */ axis2_svc_client_send_receive_non_blocking(svc_client, env, payload, callback); /** Wait till callback is complete. Simply keep the parent thread running until our on_complete or on_error is invoked */ while (count < MAX_COUNT) { if (isComplete) { /* We are done with the callback */ break; } AXIS2_SLEEP(1); count++; } if (!(count < MAX_COUNT)) { printf("\necho client invoke FAILED. Counter timed out.\n"); } if (svc_client) { AXIS2_SLEEP(1); axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2_status_t AXIS2_CALL echo_callback_on_complete( struct axis2_callback * callback, const axutil_env_t * env) { /** SOAP response has arrived here; get the soap envelope from the callback object and do whatever you want to do with it */ axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *ret_node = NULL; axis2_status_t status = AXIS2_SUCCESS; soap_envelope = axis2_callback_get_envelope(callback, env); if (!soap_envelope) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { ret_node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (!ret_node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) printf("\nReceived OM : %s\n", om_str); printf("\necho client invoke SUCCESSFUL!\n"); } } isComplete = 1; return status; } axis2_status_t AXIS2_CALL echo_callback_on_error( struct axis2_callback * callback, const axutil_env_t * env, int exception) { /** take necessary action on error */ printf("\nEcho client invoke FAILED. Error code:%d ::%s", exception, AXIS2_ERROR_GET_MESSAGE(env->error)); isComplete = 1; return AXIS2_SUCCESS; } axis2c-src-1.6.0/samples/client/amqp/echo/echo_util.c0000644000175000017500000000340411166304610023550 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" /* build SOAP request message content using OM */ axiom_node_t* build_om_payload_for_echo_svc (const axutil_env_t* env) { axiom_node_t* echo_om_node = NULL; axiom_element_t* echo_om_ele = NULL; axiom_node_t* text_om_node = NULL; axiom_element_t* text_om_ele = NULL; axiom_namespace_t* ns1 = NULL; axis2_char_t* om_str = NULL; ns1 = axiom_namespace_create (env, "http://ws.apache.org/axis2/services/echo", "ns1"); echo_om_ele = axiom_element_create (env, NULL, "echoString", ns1, &echo_om_node); text_om_ele = axiom_element_create (env, echo_om_node, "text", NULL, &text_om_node); axiom_element_set_text (text_om_ele, env, "Hello World!", text_om_node); om_str = axiom_node_to_string (echo_om_node, env); if (om_str) printf ("\nSending OM : %s\n", om_str); AXIS2_FREE (env->allocator, om_str); return echo_om_node; } axis2c-src-1.6.0/samples/client/amqp/echo/echo_util.h0000644000175000017500000000374411166304610023564 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_UG_ECHO_UTIL_H #define AXIS2_UG_ECHO_UTIL_H #include #include axiom_node_t* build_om_payload_for_echo_svc (const axutil_env_t * env); #endif /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_UG_ECHO_UTIL_H #define AXIS2_UG_ECHO_UTIL_H #include #include axiom_node_t* build_om_payload_for_echo_svc (const axutil_env_t * env); #endif axis2c-src-1.6.0/samples/client/amqp/echo/echo_blocking_soap11.c0000644000175000017500000001113711166304610025551 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; axutil_string_t *soap_action = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_soap11_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_soap_version(options, env, AXIOM_SOAP11); soap_action = axutil_string_create(env, "http://ws.apache.org/axis2/c/samples/echo/soap_action"); axis2_options_set_soap_action(options, env, soap_action); axutil_string_free(soap_action, env); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/client/amqp/mtom/0000777000175000017500000000000011172017605021474 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/amqp/mtom/Makefile.am0000644000175000017500000000057511166304607023537 0ustar00manjulamanjula00000000000000SUBDIRS = resources prgbindir = $(prefix)/samples/bin/amqp prgbin_PROGRAMS = mtom mtom_SOURCES = mtom_client.c mtom_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/client/amqp/mtom/Makefile.in0000644000175000017500000004422611172017451023544 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = mtom$(EXEEXT) subdir = client/amqp/mtom DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_mtom_OBJECTS = mtom_client.$(OBJEXT) mtom_OBJECTS = $(am_mtom_OBJECTS) am__DEPENDENCIES_1 = mtom_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(mtom_SOURCES) DIST_SOURCES = $(mtom_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = resources prgbindir = $(prefix)/samples/bin/amqp mtom_SOURCES = mtom_client.c mtom_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/amqp/mtom/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/amqp/mtom/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done mtom$(EXEEXT): $(mtom_OBJECTS) $(mtom_DEPENDENCIES) @rm -f mtom$(EXEEXT) $(LINK) $(mtom_OBJECTS) $(mtom_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prgbinPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/amqp/mtom/resources/0000777000175000017500000000000011172017605023506 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/amqp/mtom/resources/Makefile.am0000644000175000017500000000015311166304607025541 0ustar00manjulamanjula00000000000000samplesdir = $(prefix)/samples/bin/amqp/resources samples_DATA = axis2.jpg EXTRA_DIST = axis2.jpg axis2c-src-1.6.0/samples/client/amqp/mtom/resources/Makefile.in0000644000175000017500000002365011172017451025554 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = client/amqp/mtom/resources DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(samplesdir)" samplesDATA_INSTALL = $(INSTALL_DATA) DATA = $(samples_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ samplesdir = $(prefix)/samples/bin/amqp/resources samples_DATA = axis2.jpg EXTRA_DIST = axis2.jpg all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/amqp/mtom/resources/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/amqp/mtom/resources/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-samplesDATA: $(samples_DATA) @$(NORMAL_INSTALL) test -z "$(samplesdir)" || $(MKDIR_P) "$(DESTDIR)$(samplesdir)" @list='$(samples_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(samplesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(samplesdir)/$$f'"; \ $(samplesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(samplesdir)/$$f"; \ done uninstall-samplesDATA: @$(NORMAL_UNINSTALL) @list='$(samples_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(samplesdir)/$$f'"; \ rm -f "$(DESTDIR)$(samplesdir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(samplesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-samplesDATA install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-samplesDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-samplesDATA \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-samplesDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/amqp/mtom/resources/axis2.jpg0000644000175000017500000003307711166304607025250 0ustar00manjulamanjula00000000000000ÿØÿàJFIFHHÿÛCÿÛCÿÀ`§"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?þú(¢Š(¢Š(¢Š(¢Š(¤f <³u<ú`“íúüCûFÿÁEd¿Ùv ¨þ%üLŠï_Mþ-;¾ Ó/¼Uªk¯â '°ÛA«ÙÇ‚t{¶ñ¿¡X]·‹|YáÍ?D‡W°Ö•‹®x“Þ·Žóľ Ðü;i1u†ë^Õ´ýÚVŠ3,‹úÅ´RâI;Œl(&¿Íÿ[ÿ‚‹~Ð>%ŽÊm[ÆÞ%Öµç´K;©|IñSÆþ:ñL¶3É/‰5—ðÝç|yâËý8jJš•aö¯w¬ø_KÓu-Ã6±wªxïM»ùÆŸüOâùuýcž&·ŠõtW×µê6Ñ´·¤>›®êVÖL"Ó⸱Ԭ"Óì|K5µ¾Ÿá¯ OOŸÄ—÷ib×|>'7Å+ÒÈqq2JujFÖ|¼­û(UŠmÉ%/4ú]Gè£ÄT—q¿dçŒ%õœÍV²úϰ©5$éÓp‚R©§íjû°…å)Cý$õÛ—ö,Ò¼å½ý­¿fµ–Þ×X½šÚßãwÃkëÄ´ðôi×î~ÅcâK›¶‡BµÍÖ³"ÂWKµ s|`ZAÅê_ðQ¿Ø¯G·×î5?ŽšMšøcZ“@Ö “šþÛQ‹IþÞÛé±xAõKM:Ø×t»[Ý ô€u8õ&²ÌõþkÚ÷íU£èº\i­þÓ-­ÅÝÆŽòi–ÿíÌQË¢[Iqá›-LéWWÞ"—KÐu6Kj–Wš+ÝýžK1áx,´?ÝyMÇí‘áKíOOÒtˆ—·qCm}yd|/aã­[QÐN«y.§¨é6ú¾ƒá½{K½½¹ºdÔîµH|>a«ØÛÞh±,6övÚ~´èq"Ià ”á ®¤ñ˜þY6ÒåqOØÉZJJJPåk•óÆñSŒ_>åU~­ñÛ‡1¸ˆÖ•)Ç(ÁK q£IT«+ÃYÖö³nŽPŒcV¤V–›öéó¡ÿÁF¿bú_Çÿ ™^ÏC¾}?RÑ|g¡ë6–Þ(»k ¾£¡kžÓµ-¼Cv†ßD‡R°µ›V—jØG9xÃZ²ÿ‚ˆþÃ÷i Ï?í9ð§@Ó¼S 3øk_ñ¦¼þð¯ˆâÞ[¸ Ñ|[ã{oxcT¾kXŒßÙ¶Z´ú‚«Â^ÕMÄOó¶øÿñRˆ\οµûKÝFIn5-[á÷-4 U­¾Ã5ì·þ8Ö|¥¦ŠâÚúÛSÕ¯®,5}Äu·ˆ´mUÛi{j_‹¿µÙ5;=;Áÿôãªéšå߈õ_ü>³†_Øjzµ®z4ë÷z´PºÝf½Ô5 È5 ìÉ.‘iom¬o<.kFTý¶?†ÒRJº§‹ÅT·»¬a(R•¤Ýä—³©%¡(}µœ| à\m:ï"ã®*Ïeaño‡Yî/ WX*µ£RŒ%‡¥)J s­AÍAÕŸ°æýEî¿nØÆÒÒ-BOÚ³ö{—L–++£ªÙ|\ð6£¤ÛéúŒâÚËX¿ÕtýnçOÓt›Ðůê6Ú)’9”ß Á;_†´ÿìÝñ£S]áÇïƒu泸Ԇà?‰¾ ñV¿ý›k{¦Üê?Øš.³yª> GKÔì&½6fŽóN¿µyDöw)ùôþÆ/ñOÄú\ž"·ðoìõ®üZÔ¯´…²Ö~$~Ò>,›]³Ö¼Sâ›; riþ‘Ö|=÷ƒü3¤ønÏÁv>)ñ’ø¯ÄVž-Óthþ<]x΀z'Ôž<øSûIxöïCðß„×á¾·â_|UÖã~þÏŸ´'ÆŒ7þ"ѯ¡ÐþÙj¾3øéñBËÀ>xBÁ.~%xgÇàïŒ<3ojú§Å߆ßìP¸·øìGO ›¼®X:U ¥,EIT”¥eÍON…jÒ§)]S©RÝã*qå›_‹ñOa2 ~/C/¨9RÄK=É^EŠ•xJÓ_ÙØœ\ñxFéEWj¼’çNQ¦|ÔWæwü{ö{ý¥?gÙCMðwíKñ ÅÞ4ø‰¯x³Vñ…—‡ügâ•ñ¦«ð³ÃZ¦›¢ØéßGˆcÕ|A‘ÚO¥^k³éV>#ñ&Ÿ£êíí¬>"×.Z÷U¼+íá'(FN..QRq–Ž-«Ù¦“MlÓI÷Iè|Vm&šN×[iéu÷6»6Ó(¢¨AGùúŽ™údõ¾!ÿ‚„|FøÑð“ör¿ø‰ðoÄ–ž ¶ðߎþ·ÆŸEá½Å.øyû=k)±ðÿÅߊ?tï5Ï€bñOÂ_êßð´/¯¼}áïx^ÛÁ>ñy“Á>(ÕßHÒæùÙÅßu«/Š?²gÆOáçíub<5ñ[â—í gãÚ{Jý¢¼3suæËÿ ÿÃwß¾x—Å^#ð ôú‡‰~ jžøƒðþÓá-Íæ·ð÷Â:~“ðsÆ)ð øéçíñ£Ãß³¯ÁŠüQ¦júî‹ð·ÁZß‹çð燿³¿á"ñMÖ›hͤøOßÚ÷Úf’|Câ­]ì<;¡ SRÓ´Óªêv‚þþÎ×͸åVý¼ußøÏá7‡~,~ʾx_â×Å ü ±ø“­øÛöñG…¼/ã/Úêðø/ÙxâLj¼Ki¦ø»Å¶:O€4­BËE¾<[âÏ Ùݬ×’\Ûþx|Iñ_Â/‹ÿá_ÇÛ«öý­|GðûÄžñ7Žÿf¯ÙoáÍ߉þø?ÅÞ ñVãŸ/Å?‡_±_Áü[Ð4xüCáÍ&ößÀÿ´ÅŸi·–öŸf»‡TYî^º|7ñ/áŸÆ?øOÀ^<øûN`_xÛÀ¾#ѯ)M[Å­øÊ÷FÓÿ³í|=áÆ¹»±ŽúóOž5 ]CÄ ¥Xi­Ä:Uµ®…¡Âm4[+X|çâ%ÇüWö¡ðõÝ÷Ç߉ž ð _|S£~Κµ®žÖ¾.^Ú]EñKÆzqÖ~ iæë­¥xUü+ñÂïâm#Å:tÚ|ëyáØt)ô+4µ³á×Rm?U¶mSM‹PÔ-¯4ëÒŠ¼bM«â[/Q´¾ÊíÛÂú¾T¨å8:óÆã[¯ˆ,L<]Et¨â)V¡cJ—5kÓN5bãì¯VŒ[æmÊ_ÝÞ â8«=à:G…ÞåN#—QÂñ/fXŸiZ¶2¾aˆ–3BU±õéÇJqTb¢°x|¾³¥4”Ô¸ÛïÚÏÅL°øGøŸñu º³† ïx/Rº²†úî÷KÔ5ý2ëÄúˆ´´–+­KPÖc]E¤¾škûÐM´–“A4νÔk¯A½|;ðóÀVÓéºtS_x£ÆMã»Í2ßM¶¶ðíÕõ·ƒþÉï/¬ÛMÒõ{ ›=NòÞ :ÞÇcg{÷?Piþñ Ü>E¶q¯Ëg¥Ÿ¶ƒ¤Û[‹­*Â;i.t‰tëpšýœð[ÝÏm¨[¤V1<:íãØjék⫟¤<5û&|Kñþ™àíwÅÚïˆ..âÑM¥î¤ ¾Õ"ðžŸ5Žå®‹¤ÝÉz/¿¤ïðCÏÚûâLº}­ÇÂm3áï…oím5m/Æ?nmü'¤hŸk† NQ¬x&=;Køé‹­®,c‚;Hüáà“\i6Ú÷ŠÞêËVº²ý}øIÿê|#Ó4I"øçûAüCñ~«{ }/ᇴ/†°Žm+M´Ô¬m"ñœŸu·n,LZf»¢êžÃKÙk¦iZK\jFóÏYžqŽŸ40³§ÿ/1œÐæS÷´§]Σ”~Ót–î*JJñü+2âÏ¢—J*yñ5ÃN”jbññ™å d(8ÓÅMÕÌ1pxzøÉ:˜„©«9JQ£_ËN¬¿ˆß|9ø{áË /TÑ|ð÷Ãú…½³éNú/…´/T–ÃUyn4»ýfh,4û¹5™¢žÅ´¿yñx4Z]iš¿·OÔ¼_6©Öê–GM‡þMs§[ø‚[˜µ[”šB|Eu§\ÜZï±Ó®á´¸³ñ/†åžå-4{ÄÒ¿á!··ºÒô ã÷_ÿ¡W€¿àŠÿðN&âïàWü'ú–k-–¡ñÆ>/Ö ò縴º–k éšÆ‹àk‹ç¸±µ“ûN_ B?(¬W1¤÷ /ÛŸ¿eßÙ×öz†X¾üømðÆk„1]ê~ð¦—a¯ßÃåÅ Á¨øÛÉâ J ‚!‚ÿS¹Ša†8bŽ5¨á1r•IN½:q¯k jR\­ß’)¨G—™)-+KGd×O¥ÿðý8Òà? °X᫹à^:yfxh;Î<•°8•¹èÖŽXg9N¥(áé~õÔ£„©…ÿ>ƒßðL?Ûã㦧{uð÷öføƒiyu¤Yk·+×íSá÷†õ¸//~Å{ž+ø•yáOêRjúUîµoâG¾Õ¼D.¬´«Û k÷³ê?²²·üyã`ê“þÖ¿tßxmlÞ '¿ âÓá­"ß_þÀä“ë“××üôíAÿ=¿§é[G/¥~j³«YÙ]T›åvI-½eedä⬚WÔü—Š~–Þ/ñ. –áó ·†p¹S“§Ã˜)àq}›rp¡‹•zµiÑœ¥9¬<9pô*T\%=F¦¿þÁ¿`?‡—ë•§Æß‰¾%ƒVÓ5(¼Qã¿‹šžŸ¬‹]*;Co¡²ü/Ó~iRigQÓôýp\I¦6¿g­XÁy¥kšz½Ô7?¦¿f?Ù÷öp°Öl~ü ð'ÃGñ-ïöŸŠõohvÑxŸÆ˜2yZŒü_t.|Uã ëhåk[;¿k:­Å•ŠÅai$PÃoºÑ]P¡Bœ¹áF”&•”£©%ÙI+ÛÊö?Ÿ3®#Ïø“ _g9žuЧOÙSÄf˜ÜF:µ:Wº¥ ˜Š•%iê¡¢º$QEjxÁþ}+àŸÚKö·ø—ðëã…þ~Î<û@|GÓüß¾4øwÄ¿$øH¿~êì¾ð4zf¯ÃïˆVz‡Äß‹!Ó|q7Âÿ xžøG\Òþ|IoxûÂ"×H»½ûØÿœW䇯 kß?oO^ü/Õ.<_§þÝ7^5ñŸíðïÅ6Öó7Ãm/öqø5à¿Yüzøsã¸`:î› k\| ø;ₚâëþÔüIñ7Møà¯†š¥§Å%ø˜çÿ|[¬üq‹]øãûixOXýŸ?c¿€³éþ(ð§ìÕã}SÁÞ3ñ'ÄïèSh÷zwÅoÚLøC¬üJðÏ‹×Añ”Ðxwöpýœ<âÿˆv"ñ”zGÄ¿Ùø§âv«ðŸÁ_ úÉ~ê?¼â??ðQ?[þο²~™£I¯Áû.ëÿí~xvÏÁ6úšÞÁã?ۓⵞ¹¡Å¬Ýë:\zrkŸ³®›â[¾±Ôu|U¼øïsmwá½ÿhš/íCû^xŠãÄ“Úßü ý€u_ Þ]ižjÞñOí›âŸiß´­g\½Ôqsoû-|ñO¼gá˜cŽ}|Møç§ø®âm?Æÿ<3yaË| ð ?ðS¯i¶ÇÝ>_~ÇÞñdºüëös×­[þ?YxgR’ÛLý½~.øvê;uñ狾#Þ[\jŸ²ÿ…|_ayá„ÿ ΃ñGJÒ_âwÄ95 kø+ö×ñ§‹| ¡èßðL¯ø'/Ž~%|ÓÞßMð‡Äoˆ÷~ýeû aìÚ—Ã]'Æ~Õþ8x«Ã^FÇÒµ¿þÌÿð‚jöâÐü[y‹ïïÙëÄ?´§‰<¨êµÂß„?üzž#»ƒGðÇÁŒž*øßá¹ü&ºv—%Ž«ªx³Å¿> _Yx‚mV]fÒëC³ð¶£§ÛXYi·Ñk÷SêkiïÚcàÇìyð#âGí%ûAxÊËÀ¿ þø~oxŸ]»Ä×SæXìô­ BÓÕ–ã\ñO‰µ{›-à –ëÝo]ÔltÛeón/òÏÿîÿƒ­¼+ûN~Øãà‡íIðþÌ¿hÏ5¯ìCñS“Xê¶k×þÓt/‹º¦¢_ÃÚÇŒüi¡êÚ¯Žü$^ð_Žb¹øw¯Ç}o§ßøæÄõ÷öœý„jø)&³«ø7ö£øÿâOÙö%¶ñ6§eì£û2köÿÿh hú”k¢ë_´Ÿí4è-Ki®¯þ|&ðýÆ‘¤è×¶©¬üYñWŠ"³¼ð¯sã?ø%ßÀ/ƒ°÷įÙSö øðÓàCxê/èڽ߇eÖ¼1â?øj×â_„uÛ|Bø¦j¶¿~!Ýk^²ñ6€Úw޼_ªè¾&Ónâð‰Ößê3~®`ŽQùþ>‡Ôú«ùáÿ‚ÁX>>~Å?ðXÿø'/ì¨èß íÿc_ÛÃÚ7‡|Uã ož$»øiñwÄ:ñïÃë+/ø¶×Å–~Ót+-oWø6«o¨xKSšÆÇWÖ®®µ-õ It曋MnškÕ;¡5tÓÙ¦¾óçïÙWþ©wñáíáïŒé^´ñ7Æ[y>kVú^©wã'QýŸ¾/~ÕŸu!ãMU²ðóˤkö~6¶øðÏÅñ™su׃õ¥Ô/ü1b¾Õ}³Àßðo_ýIÇ‹~6ŬDÒÞ4W¾ø_¯:V]"ÚæòÿÆúÞ‡F¨¦]2ïJðÖ™âÃí/†4éË<º½Fuä?´Å­à'À_¼IwkcáÿƒŸ >!üQÖ®ïYVÒ 3À^ÕüQxóïšÝY [¯—çÄÒ³’EwS^~;,Áf5•|e^¢åWu«B-AûªP§8Âi-=äî’Né+}·xÇ)•Ôɸw‰³L£-«*Ò–YSñ* É.WRš¬éS•XÂqŒåÊIÉ\ø;Eÿ‚5þÂvöh¾1øâ_Š:´Ö–6Ú¯ˆø7Çþ ý¤üwð_Ãú7Â#ÅZ_†n´O ü!ø-ã­2ûR´ñ_Œ<_©Ï¬Üëßµ›{©mµk;&Ó-´Ëx좹‚êúól> …\¸l.’ŒR£JôŠQŠ÷b¶JËÉ#çó,÷;Îm›æy›‡2‡×ñø¬Z¦¥)NJš¯V¢‚”ç)5å)IêÝÿwúQ_ç·û-ÁÀ_ðr'í½§xó[ý’ÿbÙcãv‹ðÛÄVÞñ¥ç…þxÊÝü9¬j\]é¶Z•®»ûPh÷ˆ÷Ö–·2ÛͳÛÊm®£I ¶óFŸ°_ðN¿ÛcþBø±ûd|øûw~À¿þ ~Ê~ ŸÆËñWâW†<©é:熡Ӿø¿WðƒYj3þÑ>9ŠÛûWÇÖÑnKø[Tó-5áÑœ_ÚôžQýQQ_“ÿðR¿ðT¿„~9ýŽôïø'WìÍðÃãÿ‚<}ñbïÿµ.³ãýImîþx0ßø54+Ý1áaø]OÔ´‹¿Þê¾1wít;¿i·z43jZ}ž¿÷oí=â_þ ý~8x³ögð6…ñ7öƒðçÂïë_>øžõtíÆ_4íúëÂ^Õ®ŸVÐQlõ=^+[i!“_Ðcº.-$×tt™µ+`s¢¿õÚƒþ P?àú?íkûü5ƒþ ‡{â=: ?gÒ/µ·„.>+¾ŠÚÝ÷†Å»Ký V“áxÄw-ÏÄû›6ø‰níฒ_Øþ7ø(ïüøHðë_€c$ ·Ã}]Tÿ·ínG<–!}No4Wó‹ÿæÁTÿkÏø*ßÂ/Úoâ‡íKá_ƒ>´øUñCÁ¿<sðg¾'ðÞÏáGÄ>5T»ñÄ/E«ÜYEá ,¤Òç°‚ÞÚý¥ß-í³ÛGTQEâ?´oÆaû>üñ—ÅÁàý[Ç÷>´Ó¼¡êZFªx“Xñg‹thš]¶¯¯ÜZhºXŸWñ ‘¸Ô5;˜lí-Viæp¨kàj´GÆ?ÚkUøÙñ³àÖ—ð7ÁÞ ø¦ü(øIá5ø© üMñ5î¿ã¯ˆWž/øÓ¯kSx_J²ÐôM>úÇÀ?tí"ÖCU¹ººÐµ‰f–8b¶öÏíkð§Æ?g¯ˆ¿ ¾^xfÇÇZÜÔ¼#qã;­VÃÂmâxÏÞ4Òí|E¡ézÞ±a¤ßÝøz; Ëý3FÕ¯l¢¹k¨4ëLj@ÿ|.ø¡ûHÚ|eÕ~þÔŸ¾|0ñ[ü2Óþ,|?ñOÁ^3ø×àïˆZ%¯‹¯/±¿Óþ#ø}Æ£§]C-´àx¿ÆúÍÿüCÇ Ю#Ò¼Sÿø÷¯ü7°×t×6Ú–›á¿ø(¿íìß4MrÓPX$š]oáÏÀO‹šL>žëÌ0'‚t-,\GomnÑÿAð§†ü á_ xÁš.Ÿá¯x7Ãú7…<)áÝ&Ýmt­Ã~Ó­´EÓmSä·Óô­2ÎÖÆÎùb·‚4-=~5ð–¥á¿ø")‚1=÷üóö†Ó> ê–6FK‰®<ÿÞÿ‚‰Cã¯ÝZÚAÅåÍö¿ð#ྫ¯è)wz„ÚÆŽcRícß/üNð€~øÓã>«¬Y\øÁ_¼GñCR×ôë«KÍ:ãÁÞðÍç‹/5‹ èç67vSh–R^Ú]¥É´¸£™gò\I@Æ·üƒR×àº_ð[†ðH¿ëÚÕ‡ìEû Œ?¶.¥áRv‡Ç5Ñl´aâmâçOÔ--m5ãÄúÀ/ \î›^ð/мañ_Ä‘Ûj#Me¿êÇíåûÿÁ;à²_±GÆÿØ“öYñ_À Oâïì/çøàÍ¿ÂmCAÓ"ý–>3xoD¿Ó¼%ðÓT¶ÐlÞ?|.ñ»xZûáç‹´ëM?PðÕÌ:³w¥Ç7޾Y\x{ó¿þ îøw®øÃàoíéûzøöæçPøûWþÖ7ú&«©_ížóP‡ÀzK|F×5ä½h–IÓÄ8øéâ+kÖy}á“#Ûŵé_ö[ÿ‚{þÇ_±WŒþ=üAý˜~ hŸ <]ûMxÂßÇ_µm/]ñ†³ÿ _ˆ-/üEªZ}†ÇÅ"×4ïh¶z—‹¼M}gáÚxÃVsë×IŠl¡µüœÿƒk?à£Þ1ý·bíoà§ÇëëïøkØoÄ–_þ3Yë¶÷Vþ&Öü-e¡§|0ñ·ˆšá]n|GsmáŸøÆ½ÕƯwâχڷˆõ¸­ŸÅ-uôü;þ +¦ÁWÿeKø?ZÒ¼ ûP| ×/þ#~Íu¤†Oimˆ¾ëZ½™]SEð—Ę´­-CWÓZ[ø£Ãž ñkYjÖþŸEÔÿ¿f-`ÿø;¿ö¢ø á+;á_üá.»ñtC!K oø‡ÀZí­x¼‘ ò7Ä¿üfÑ´˜¡V·°³ñõÞž¶¤Z%Ô[ÿÁÍ¿·OÇ_xoöcÿ‚\þǺ­Þ…ûKÿÁG¼iiðûQñ=†©ýwáß…:ç‰4‡øv-V¤Ôt7ø±ã®‰âM<;é~ ðŸ,6µgqlù¥û(ÿÁÜ^0ý“´­GöUÿ‚¦þÏ4ø…ñÏàÝÿÃ?|gýžý”?f]jóOñ§í ã/Šßü+¨|Jñgï ëú~©¯©øRÂ÷L¿Ô<=áÍJ×JÕ?áWü3ÿ„ÇSÖü[‡fñ_Ž<;àåÔ/m?¥ïØþ Ùÿ‚gþÅ|1àþÍÿ?jϋϤÛ?ÄÏ´OÃüRÔ›¦ZxÞ }WÀÞ ð߉5 {Ã׺ô=áÙƒáoì[ÿëÔ?e‚ö7v? ~ þÌŸ<á×ÔšÒMgX–/ø“Q×üUâ¬-4ûŸøÏÄ·úÇ‹|Oweaciwâ oR¹¶²´†T·ùôÿƒ,?à–_Hê?oÿЇòýeJýOÿ‚zÁ@àÿ‚™Á&ý§õì‹_‰—Ÿ¾1ü=øë¡h±­µ–ƒñ›À>Ö´Ÿ}žÁ'º]+Oñm›è¿ü?¤›«™tß ø×C³¸™®¡œ/å‡üaÿ(²øõÿgÿñWÿY×öT ¿i_Ù/þ 'ÿÿ‚…|wÿ‚ŒÁ:~ 뵿ì7ûUëZŸŒ¿i¿Ù‹ÁÖ:¬úÿ/5^ø£Rƒþ¿ Å­x‚ßLð¶¿âø‡ágÅ? xC_Ò~x[]ñOƒ¼wáË_Fuo}ƒð þÿ‚eüA½²ð×íàŸÚCöMñr[Àêºßï S`»Õ~øy]%‚V† nÛú{økñoáOÆ}ïž&ü>ø¯á‹ wUðÅ÷‰>øÏÞ:Ðl¼M¡IZׇîõ êZ¦Ÿo®iM jZT× }bf‡í0F%wÅ´óÿÁ(¿h{}gáíu¯~ÁŸ.4 íOCÔü7ñ«ÅŸuox7[´k½/S¶´“ÄÚ·ü%ñ6™3ÞÙËq¦\húî•tncY­n<Ì}[û?þÑ¿?j¿†ÆÙÇâ¿‚~2ü/ñ"ì¿øZ¶Ö4ÑwpÉw¤jqFË ø‹Lóâ‹XðÖ½g¦kú-Ë]WM³¹ ûMÿüEð;þ[ÿÖøEðƒöEøÿáŠ?ðM¿ø)ÌÚ'ƒ5?‡^ø™áŸ‹kð?âÞµâk¿øJ»Ö4ßëš©²ð' ŸÆ~#ð)ñ6¡û™ÿ1ÁFü{ÿñÿ‚sj·?µ«¿ üvý¥|ikðáïŒt½FM;]øy£êZ³âˆ¼?5¾ÛÈõí+Âú;øgÃÚ…Í熼MãÅV—‚ïD·´¼öoÛKþÿ‚SþÃ+ñ7Ão‰ß´1øƒñoÂïü+øáS⟉4ÍIf¸·Ÿ@Õ|!·‚ãP‘¤PÅâÄŽ4DUDTUUUU|¯ÿqÿ‚hè?ðJoØ‹Á¿³·Šm¼wã»ÿk~3øãM¶žËCñ/ÅoYèÚ~°þ³¼Šø¼5áýþðŽ…>£¾£ªØx~-nþËL¼ÔçÒ¬S«Ë¾üpø)ñ‘µ„øAñ‡ágÅfðêéíâøkñ Â>:mucz4¦ÖWÂÚ¾ªtµÔΛ¨<ßéÓïE·›öIü¿Q Š( ¿'iOÁñöåý™ü=ð.MGÅ>9ýn~+h?µ¦¯f‘§ÃŸ†ÿ¾7|(‡Ä:Ãx’Y’ÞŽ>.ø¿à?ٳℾèúψ´‡>Ö¼Wã¨üáx+Pñoëÿ?ä×å§ÆO„?´ŸÂÚâÄ/Ùcá>•ñ—µ…§k¾7ðŠ~"øSá/€¾~Ò³ð·‚->.x§ÅW6%ñäÞøÉðŽßGÐüq§ü8øsñ/Ä'Œ>x?PÓ|ÇâÇ|] d|9›Ãÿ¿kˆß üs¥ÿi| ÿ‚…øH|?ˆ—NÕ¼gûPxGá¤> ø§ð—UÓõßeÓÿh€ð¯¼áácu êž%øEñîãV¼ƒ[ñ·‡´_Ä>xgBøUà/ˆßðD¿ÚûÄZþƒð{ã_Š¿ÿaŽö—péü_ý–|oàsÂ'öu5×à×ô{/ÚÏöhð>¯yàí3O×lnï¾*ü.ðÿ‚¾+iŠ5Ëo‰ö:Iñ?Üê‡öKÿ‚‚hžu &ïö|øóðnׯ^øsâïèRè~/Ѽ  êž$ñŠüKðOö´ø?ã=5|cð‹Qo½ßÄû i_~Ë£ø³Ã¾ü/Ðñ—Ä¿]|.Õ¿dŸø+w…¼-ñà׉cƒBÐ?kx~ÛJøñ2ÓHµ³Ô4 [㦥áÔÓlÿdÚ#GÔ-ä¹¶ñ«K௃¾#ñmŽâ‚<ãÙüðØ_ðOŸØà‡üSömÑe¯ÙöÿǺ¯Ã­Å>-ñ|Ä­kEñ‹®µê+¨ê©èðž›5¼/6Ö ‹ °ÙÁSMq"™OÛuùmá¯Ù§öèø%jó~Ê_·O†~5ü½Ó4Û¯|+ý»~kõ= I‘âÊÛÁÿµŸÂü8ø­«hSXOh¶:ׯ~Ñ>'»²¶‚KÞ\ÜMª=ý"_ø,爮äÓ|AcÿÁøC`ÒOèÚ¿í]ûG^Çáºçþþƒû,[É0BJY7Å…z¨kí¬Hâ¿i¿ø'ÿìC ~Ü¿à³þ.x³áÄ_ÙƒáÄ^ ‹]×¾"x#Áÿí¼2Ö¼3o7Œ¬µÿ K¬^ë:ŠüWÕ´«ì|i§I©êká½;NÓ§¼ k©zOÆ_ø%Ïìãñ÷þ û7ÿÁJüqâŠs|oý—ü ~øOJñ…“àõÞš·/­õ¿xf÷ÁZˆ¯üA çÅmVúßQÒ|g£[­ÎáI£.›|º§ ?ì•ðá¥áßÚËþ aû[ÍûHxÓá_‰â×þøËö€ºð/Á/Ù{ào‹õ ní4σ?³æ>ðîÃLj·‰¦xWÆÿuO‹ÿ ¼H£ð¿-.. ´šËûUüHø¹â}#ãMœÚ¿ì½ûü"·¿ø‹âücÑm~|Pý¢t½'DñºÔü@ð7į |Gý²Ç‰>xÃÃ>8ðñ½ø¯ðºk!®xOZ²×ô“y -gšØ_Ø[™ãŠæÞY" ‘ÏëúÿCÿ‚=~ËßðVí3à¾ûMø¯ão‡tÏwþ=Ôü%iðwÅÞð¬z•÷Ä;Úê×%ÿ„ŸÀ^8k÷Ó­üe‰ö¥‹UÔuµ‹ãqmö?Õª(ù.ÿˆ3¿à”?ôQ¿m_ü;Ÿ ¿ùÃQÿgÁ(è£~Ú¿øw>ó†¯ëFŠü‘ÿ‚]Á?dïø$}ÇÆûهğ<@ÿaøq—㋼'â”´_…ïã§ðéð÷ü#ðCX´çâ¸5o¶¶¦.„:oÙÅ™·œÝ~·QEQEQE~wÁRtŸø¯öCñ'ÃíᎽñ'Ãß<ð›Áÿ¯!øƒà hws|*¼øc¢kÞ<ð/ÅkïüMÒt¶´ðN¥ygäÞ6ý¯þ‡ÿ¼YðƒJÖk=KãÅÆ£aðwá—ìïuàøŸâ¶£Â×u÷Å-ðíÃô%¿¸ñæ³ñÆÞðîª/áíÞ¥ÿ žð–¿úÕè}9¯ð¯ìéðÀßøæÞy xûÂϪh¾øÛñrûü ñQðOļecâŸø}Ó÷£'9ÉÎs’I?žsôôãÒ¼£áOÀ‚_lüK§üøGðÛá%— #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env, const axis2_char_t * image_name, const axis2_char_t * to_save_name, axis2_bool_t optimized); int process_response_node( const axutil_env_t * env, axiom_node_t *node, const axis2_char_t * to_save_name); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *image_name = "resources/axis2.jpg"; const axis2_char_t *to_save_name = "test.jpg"; axis2_bool_t optimized = AXIS2_TRUE; /* Set up the environment */ env = axutil_env_create_all("mtom_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of mtom service */ address = "amqp://localhost:5672/axis2/services/mtom"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf ("Usage : %s [endpoint_url] [image_name] [to_save_name] [do_not_optimize]\n", argv[0]); printf("use -h for help\n"); return 0; } if (argc > 2) image_name = argv[2]; if (argc > 3) to_save_name = argv[3]; if (argc > 4) optimized = AXIS2_FALSE; printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/mtomSample"); axis2_options_set_soap_version(options, env, AXIOM_SOAP11); if(optimized) { axis2_options_set_enable_mtom(options, env, AXIS2_TRUE); } /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_programatically(env, image_name, to_save_name, optimized); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { if (axis2_svc_client_get_last_response_has_fault(svc_client, env) == AXIS2_TRUE) { printf("\nRecieved Fault : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } else { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); printf("\nmtom client invoke SUCCESSFUL!\n"); process_response_node(env, ret_node, to_save_name); } } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("\nmtom client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } /* build SOAP request message content using OM */ axiom_node_t * build_om_programatically( const axutil_env_t * env, const axis2_char_t * image_name, const axis2_char_t * to_save_name, axis2_bool_t optimized) { axiom_node_t *mtom_om_node = NULL; axiom_element_t *mtom_om_ele = NULL; axiom_node_t *image_om_node = NULL; axiom_element_t *image_om_ele = NULL; axiom_node_t *file_om_node = NULL; axiom_element_t *file_om_ele = NULL; axiom_node_t *data_om_node = NULL; axiom_text_t *data_text = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; axiom_data_handler_t *data_handler = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples/mtom", "ns1"); mtom_om_ele = axiom_element_create(env, NULL, "mtomSample", ns1, &mtom_om_node); file_om_ele = axiom_element_create(env, mtom_om_node, "fileName", ns1, &file_om_node); axiom_element_set_text(file_om_ele, env, to_save_name, file_om_node); image_om_ele = axiom_element_create(env, mtom_om_node, "image", ns1, &image_om_node); data_handler = axiom_data_handler_create(env, image_name, "image/jpeg"); data_text = axiom_text_create_with_data_handler(env, image_om_node, data_handler, &data_om_node); axiom_text_set_optimize(data_text, env, optimized); om_str = axiom_node_to_string(mtom_om_node, env); if (om_str) { printf("%s", om_str); AXIS2_FREE(env->allocator, om_str); } return mtom_om_node; } int process_response_node( const axutil_env_t * env, axiom_node_t *node, const axis2_char_t * to_save_name) { axiom_node_t *res_om_node = NULL; axiom_element_t *res_om_ele = NULL; res_om_node = axiom_node_get_first_child(node, env); if(axiom_node_get_node_type(res_om_node, env) == AXIOM_TEXT) {/** received mtom atttachment */ axiom_data_handler_t *data_handler = NULL; axiom_text_t *axiom_text = (axiom_text_t*)axiom_node_get_data_element(res_om_node, env); data_handler = axiom_text_get_data_handler(axiom_text, env); /*axiom_data_handler_set_file_name(data_handler, env, (axis2_char_t *)to_save_name);*/ if(axiom_data_handler_get_cached(data_handler, env)) { printf("Attachment is cached.\n"); } else { axiom_data_handler_set_file_name(data_handler, env, "test"); axiom_data_handler_write_to(data_handler, env); } }else if(axiom_node_get_node_type(res_om_node, env) == AXIOM_ELEMENT){ res_om_ele = axiom_node_get_data_element(res_om_node, env); printf("Base64 String received \n\n\n %s \n\n", axiom_element_get_text(res_om_ele, env, res_om_node)); } return 0; } axis2c-src-1.6.0/samples/client/amqp/Makefile.am0000644000175000017500000000003411166304610022543 0ustar00manjulamanjula00000000000000SUBDIRS = echo notify mtom axis2c-src-1.6.0/samples/client/amqp/Makefile.in0000644000175000017500000003417311172017451022570 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = client/amqp DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = echo notify mtom all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/amqp/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/amqp/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/amqp/notify/0000777000175000017500000000000011172017605022030 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/amqp/notify/notify_client.c0000644000175000017500000001201011166304607025034 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axis2_status_t status = AXIS2_FAILURE; /* Set up the environment */ env = axutil_env_create_all("notify_amqp.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "amqp://localhost:5672/axis2/services/notify"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://example.org/action/notify"); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_programatically(env); /* Send request */ status = axis2_svc_client_send_robust(svc_client, env, payload); if (status == AXIS2_SUCCESS) { printf("\nnotify client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("notify client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } /* build SOAP request message content using OM */ axiom_node_t * build_om_programatically( const axutil_env_t * env) { axiom_node_t *notify_om_node = NULL; axiom_element_t *notify_om_ele = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *buffer = NULL; ns1 = axiom_namespace_create(env, "http://example.org/notify", "m"); notify_om_ele = axiom_element_create(env, NULL, "notify", ns1, ¬ify_om_node); axiom_element_set_text(notify_om_ele, env, "notify5", notify_om_node); buffer = axiom_node_to_string(notify_om_node, env); if (buffer) { printf("\nSending OM node in XML : %s \n", buffer); AXIS2_FREE(env->allocator, buffer); } return notify_om_node; } axis2c-src-1.6.0/samples/client/amqp/notify/Makefile.am0000644000175000017500000000054011166304607024063 0ustar00manjulamanjula00000000000000prgbindir = $(prefix)/samples/bin/amqp prgbin_PROGRAMS = notify notify_SOURCES = notify_client.c notify_LDADD = -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/client/amqp/notify/Makefile.in0000644000175000017500000003437111172017451024100 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = notify$(EXEEXT) subdir = client/amqp/notify DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_notify_OBJECTS = notify_client.$(OBJEXT) notify_OBJECTS = $(am_notify_OBJECTS) am__DEPENDENCIES_1 = notify_DEPENDENCIES = $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(notify_SOURCES) DIST_SOURCES = $(notify_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin/amqp notify_SOURCES = notify_client.c notify_LDADD = -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/amqp/notify/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/amqp/notify/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done notify$(EXEEXT): $(notify_OBJECTS) $(notify_DEPENDENCIES) @rm -f notify$(EXEEXT) $(LINK) $(notify_OBJECTS) $(notify_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notify_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/echo/0000777000175000017500000000000011172017605020500 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/echo/echo.mk0000644000175000017500000000037011166304610021741 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo echo.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo.exe axis2c-src-1.6.0/samples/client/echo/echo.c0000644000175000017500000001435111166304610021560 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include axiom_node_t *build_om_payload_for_echo_svc( const axutil_env_t * env); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; axiom_node_t *payload2 = NULL; axiom_node_t *ret_node2 = NULL; /* Set up the environment */ env = axutil_env_create_all("echo.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) { if (axutil_strcmp(argv[1], "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } else { address = argv[1]; } } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) printf("\nReceived OM : %s\n", om_str); printf("\necho client invoke SUCCESSFUL!\n"); AXIS2_FREE(env->allocator, om_str); ret_node = NULL; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } payload2 = build_om_payload_for_echo_svc(env); ret_node2 = axis2_svc_client_send_receive(svc_client, env, payload2); if (ret_node2) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node2, env); if (om_str) printf("\nReceived OM : %s\n", om_str); printf("\necho client invoke SUCCESSFUL!\n"); AXIS2_FREE(env->allocator, om_str); ret_node2 = NULL; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } /* build SOAP request message content using OM */ axiom_node_t * build_om_payload_for_echo_svc( const axutil_env_t * env) { axiom_node_t *echo_om_node = NULL; axiom_element_t *echo_om_ele = NULL; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/services/echo", "ns1"); echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node); text_om_ele = axiom_element_create(env, echo_om_node, "text", NULL, &text_om_node); axiom_element_set_text(text_om_ele, env, "Hello World!", text_om_node); om_str = axiom_node_to_string(echo_om_node, env); if (om_str) { printf("\nSending OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); om_str = NULL; } return echo_om_node; } axis2c-src-1.6.0/samples/client/echo/Makefile.am0000644000175000017500000000074111166304610022530 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = echo echo_SOURCES = echo.c echo_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=README.txt echo.mk axis2c-src-1.6.0/samples/client/echo/Makefile.in0000644000175000017500000003454411172017451022552 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = echo$(EXEEXT) subdir = client/echo DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_echo_OBJECTS = echo.$(OBJEXT) echo_OBJECTS = $(am_echo_OBJECTS) am__DEPENDENCIES_1 = echo_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(echo_SOURCES) DIST_SOURCES = $(echo_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin echo_SOURCES = echo.c echo_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = README.txt echo.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/echo/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/echo/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done echo$(EXEEXT): $(echo_OBJECTS) $(echo_DEPENDENCIES) @rm -f echo$(EXEEXT) $(LINK) $(echo_OBJECTS) $(echo_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/echo/README.txt0000644000175000017500000000017511166304610022173 0ustar00manjulamanjula00000000000000Client Sample -echo ------------------- This is a sample to help test addressing. This sample works with echo service. axis2c-src-1.6.0/samples/client/math/0000777000175000017500000000000011172017605020513 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/math/axis2_math_stub.c0000644000175000017500000001336211166304604023755 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_math_stub.h" axis2_stub_t * axis2_math_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, axis2_char_t * client_home) { axis2_stub_t *stub = NULL; AXIS2_ENV_CHECK(env, NULL); stub = (axis2_stub_t *) axis2_stub_create_with_endpoint_ref_and_client_home(env, endpoint_ref, client_home); if (!stub) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axis2_populate_axis_service(stub, env); return stub; } void axis2_populate_axis_service( axis2_stub_t * stub, const axutil_env_t * env) { axis2_svc_client_t *svc_client = NULL; axutil_qname_t *op_qname = NULL; axis2_svc_t *svc = NULL; axis2_op_t *op = NULL; /*Modifying the Service */ svc_client = axis2_stub_get_svc_client(stub, env); svc = axis2_svc_client_get_svc(svc_client, env); /*creating the operations */ op_qname = axutil_qname_create(env, "add", "", NULL); op = axis2_op_create_with_qname(env, op_qname); axis2_op_set_msg_exchange_pattern(op, env, AXIS2_MEP_URI_OUT_IN); axis2_svc_add_op(svc, env, op); axutil_qname_free(op_qname, env); op_qname = axutil_qname_create(env, "sub", "", NULL); op = axis2_op_create_with_qname(env, op_qname); axis2_op_set_msg_exchange_pattern(op, env, AXIS2_MEP_URI_OUT_IN); axis2_svc_add_op(svc, env, op); axutil_qname_free(op_qname, env); op_qname = axutil_qname_create(env, "mul", "", NULL); op = axis2_op_create_with_qname(env, op_qname); axis2_op_set_msg_exchange_pattern(op, env, AXIS2_MEP_URI_OUT_IN); axis2_svc_add_op(svc, env, op); axutil_qname_free(op_qname, env); op_qname = axutil_qname_create(env, "div", "", NULL); op = axis2_op_create_with_qname(env, op_qname); axis2_op_set_msg_exchange_pattern(op, env, AXIS2_MEP_URI_OUT_IN); axis2_svc_add_op(svc, env, op); axutil_qname_free(op_qname, env); } axis2_stub_t * axis2_math_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home) { axis2_stub_t *stub = NULL; AXIS2_ENV_CHECK(env, NULL); stub = (axis2_stub_t *) axis2_stub_create_with_endpoint_uri_and_client_home(env, endpoint_uri, client_home); if (!stub) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axis2_populate_axis_service(stub, env); return stub; } /***************************Function implementation****************************/ axiom_node_t * axis2_math_stub_add( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node) { axis2_svc_client_t *svc_client = NULL; axiom_node_t *ret_node = NULL; axutil_qname_t *op_qname = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); svc_client = axis2_stub_get_svc_client(stub, env); op_qname = axutil_qname_create(env, "add", "", NULL); ret_node = axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, node); axutil_qname_free(op_qname, env); return ret_node; } axiom_node_t * axis2_math_stub_sub( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node) { axis2_svc_client_t *svc_client = NULL; axiom_node_t *ret_node = NULL; axutil_qname_t *op_qname = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); svc_client = axis2_stub_get_svc_client(stub, env); op_qname = axutil_qname_create(env, "sub", "", NULL); ret_node = axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, node); return ret_node; } axiom_node_t * axis2_math_stub_mul( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node) { axis2_svc_client_t *svc_client = NULL; axiom_node_t *ret_node = NULL; axutil_qname_t *op_qname = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); svc_client = axis2_stub_get_svc_client(stub, env); op_qname = axutil_qname_create(env, "mul", "", NULL); ret_node = axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, node); return ret_node; } axiom_node_t * axis2_math_stub_div( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node) { axis2_svc_client_t *svc_client = NULL; axiom_node_t *ret_node = NULL; axutil_qname_t *op_qname = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); svc_client = axis2_stub_get_svc_client(stub, env); op_qname = axutil_qname_create(env, "div", "", NULL); ret_node = axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, node); return ret_node; } axis2c-src-1.6.0/samples/client/math/axis2_math_stub.h0000644000175000017500000000460211166304604023757 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ECHO_STUB_H #define AXIS2_ECHO_STUB_H /** * @file axis2_math_stub.h * @brief axis2 math stub interface */ #include #ifdef __cplusplus extern "C" { #endif axiom_node_t *axis2_math_stub_add( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_math_stub_sub( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_math_stub_mul( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_math_stub_div( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node); /** * populate services */ void axis2_populate_axis_service( axis2_stub_t * stub, const axutil_env_t * env); /** * Creates axis2_stub struct * @param endpoint reference * @return pointer to newly created axis2_stub struct */ axis2_stub_t *axis2_math_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, axis2_char_t * client_home); /** * Creates axis2_stub struct * @param endpoint uri * @return pointer to newly created axis2_stub struct */ axis2_stub_t *axis2_math_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ECHO_STUB_H */ axis2c-src-1.6.0/samples/client/math/math.mk0000644000175000017500000000036511166304604021776 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:math.exe axis2c-src-1.6.0/samples/client/math/Makefile.am0000644000175000017500000000103211166304604022540 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = math noinst_HEADERS = axis2_math_stub.h math_SOURCES = axis2_math_stub.c \ math_client.c math_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=math.mk axis2c-src-1.6.0/samples/client/math/Makefile.in0000644000175000017500000003507311172017451022563 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = math$(EXEEXT) subdir = client/math DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_math_OBJECTS = axis2_math_stub.$(OBJEXT) math_client.$(OBJEXT) math_OBJECTS = $(am_math_OBJECTS) am__DEPENDENCIES_1 = math_DEPENDENCIES = $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(math_SOURCES) DIST_SOURCES = $(math_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin noinst_HEADERS = axis2_math_stub.h math_SOURCES = axis2_math_stub.c \ math_client.c math_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = math.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/math/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/math/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done math$(EXEEXT): $(math_OBJECTS) $(math_DEPENDENCIES) @rm -f math$(EXEEXT) $(LINK) $(math_OBJECTS) $(math_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_math_stub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/math_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/math/math_client.c0000644000175000017500000001452011166304604023145 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_math_stub.h" #include #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env, const axis2_char_t * operation, const axis2_char_t * param1, const axis2_char_t * param2); int main( int argc, char **argv) { axis2_stub_t *stub = NULL; axiom_node_t *node = NULL; axis2_status_t status = AXIS2_FAILURE; const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; const axis2_char_t *client_home = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *operation = "add"; const axis2_char_t *param1 = "40"; const axis2_char_t *param2 = "8"; env = axutil_env_create_all("math_blocking.log", AXIS2_LOG_LEVEL_TRACE); client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; address = "http://localhost:9090/axis2/services/math"; if (argc > 1) operation = argv[1]; if (axutil_strcmp(operation, "-h") == 0) { printf("Usage : %s [operation] [param1] [param2] [endpoint_url]\n", argv[0]); printf("use -h for help\n"); printf("default operation add\n"); printf("default param1 %s\n", param1); printf("default param2 %s\n", param2); printf("default endpoint_url %s\n", address); printf ("NOTE: command line arguments must appear in given order, with trailing ones being optional\n"); return 0; } if (argc > 2) param1 = argv[2]; if (argc > 3) param2 = argv[3]; if (argc > 4) address = argv[4]; printf("Using endpoint : %s\n", address); printf("\nInvoking operation %s with params %s and %s\n", operation, param1, param2); node = build_om_programatically(env, operation, param1, param2); stub = axis2_math_stub_create_with_endpoint_uri_and_client_home(env, address, client_home); /* create node and invoke math */ if (stub) { ret_node = axis2_math_stub_add(stub, env, node); } if (ret_node) { if (axiom_node_get_node_type(ret_node, env) == AXIOM_ELEMENT) { axis2_char_t *result = NULL; axiom_element_t *result_ele = (axiom_element_t *) axiom_node_get_data_element(ret_node, env); result = axiom_element_get_text(result_ele, env, ret_node); printf("\nResult = %s\n", result); } else { axiom_xml_writer_t *writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, writer); axiom_node_serialize(ret_node, env, om_output); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(writer, env); printf("\nReceived invalid OM as result : %s\n", buffer); if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } if (om_output) { axiom_output_free(om_output, env); om_output = NULL; } axiom_xml_writer_free(writer, env); } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("math stub invoke FAILED!\n"); } if (stub) { axis2_stub_free(stub, env); } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return status; } axiom_node_t * build_om_programatically( const axutil_env_t * env, const axis2_char_t * operation, const axis2_char_t * param1, const axis2_char_t * param2) { axiom_node_t *math_om_node = NULL; axiom_element_t *math_om_ele = NULL; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns1 = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/services/math", "ns1"); math_om_ele = axiom_element_create(env, NULL, operation, ns1, &math_om_node); text_om_ele = axiom_element_create(env, math_om_node, "param1", NULL, &text_om_node); axiom_element_set_text(text_om_ele, env, param1, text_om_node); text_om_ele = axiom_element_create(env, math_om_node, "param2", NULL, &text_om_node); axiom_element_set_text(text_om_ele, env, param2, text_om_node); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); axiom_node_serialize(math_om_node, env, om_output); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "\nSending OM node in XML : %s \n", buffer); if (om_output) { axiom_output_free(om_output, env); om_output = NULL; } return math_om_node; } axis2c-src-1.6.0/samples/client/mtom/0000777000175000017500000000000011172017605020536 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/mtom/Makefile.am0000644000175000017500000000076411166304605022577 0ustar00manjulamanjula00000000000000SUBDIRS=resources prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = mtom mtom_SOURCES = mtom_client.c mtom_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=mtom.mk axis2c-src-1.6.0/samples/client/mtom/Makefile.in0000644000175000017500000004442511172017451022607 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = mtom$(EXEEXT) subdir = client/mtom DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_mtom_OBJECTS = mtom_client.$(OBJEXT) mtom_OBJECTS = $(am_mtom_OBJECTS) am__DEPENDENCIES_1 = mtom_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(mtom_SOURCES) DIST_SOURCES = $(mtom_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = resources prgbindir = $(prefix)/samples/bin mtom_SOURCES = mtom_client.c mtom_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = mtom.mk all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/mtom/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/mtom/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done mtom$(EXEEXT): $(mtom_OBJECTS) $(mtom_DEPENDENCIES) @rm -f mtom$(EXEEXT) $(LINK) $(mtom_OBJECTS) $(mtom_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(PROGRAMS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prgbinPROGRAMS ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am \ uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/mtom/mtom.mk0000644000175000017500000000036511166304605022045 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:mtom.exe axis2c-src-1.6.0/samples/client/mtom/resources/0000777000175000017500000000000011172017605022550 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/mtom/resources/Makefile.am0000644000175000017500000000013111166304605024575 0ustar00manjulamanjula00000000000000samplesdir=$(prefix)/samples/bin/resources samples_DATA=axis2.jpg EXTRA_DIST=axis2.jpg axis2c-src-1.6.0/samples/client/mtom/resources/Makefile.in0000644000175000017500000002362411172017451024617 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = client/mtom/resources DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(samplesdir)" samplesDATA_INSTALL = $(INSTALL_DATA) DATA = $(samples_DATA) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ samplesdir = $(prefix)/samples/bin/resources samples_DATA = axis2.jpg EXTRA_DIST = axis2.jpg all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/mtom/resources/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/mtom/resources/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-samplesDATA: $(samples_DATA) @$(NORMAL_INSTALL) test -z "$(samplesdir)" || $(MKDIR_P) "$(DESTDIR)$(samplesdir)" @list='$(samples_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(samplesDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(samplesdir)/$$f'"; \ $(samplesDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(samplesdir)/$$f"; \ done uninstall-samplesDATA: @$(NORMAL_UNINSTALL) @list='$(samples_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(samplesdir)/$$f'"; \ rm -f "$(DESTDIR)$(samplesdir)/$$f"; \ done tags: TAGS TAGS: ctags: CTAGS CTAGS: distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(DATA) installdirs: for dir in "$(DESTDIR)$(samplesdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-samplesDATA install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-samplesDATA .MAKE: install-am install-strip .PHONY: all all-am check check-am clean clean-generic clean-libtool \ distclean distclean-generic distclean-libtool distdir dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-samplesDATA \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am uninstall-samplesDATA # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/mtom/resources/axis2.jpg0000644000175000017500000003307711166304605024310 0ustar00manjulamanjula00000000000000ÿØÿàJFIFHHÿÛCÿÛCÿÀ`§"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?þú(¢Š(¢Š(¢Š(¢Š(¤f <³u<ú`“íúüCûFÿÁEd¿Ùv ¨þ%üLŠï_Mþ-;¾ Ó/¼Uªk¯â '°ÛA«ÙÇ‚t{¶ñ¿¡X]·‹|YáÍ?D‡W°Ö•‹®x“Þ·Žóľ Ðü;i1u†ë^Õ´ýÚVŠ3,‹úÅ´RâI;Œl(&¿Íÿ[ÿ‚‹~Ð>%ŽÊm[ÆÞ%Öµç´K;©|IñSÆþ:ñL¶3É/‰5—ðÝç|yâËý8jJš•aö¯w¬ø_KÓu-Ã6±wªxïM»ùÆŸüOâùuýcž&·ŠõtW×µê6Ñ´·¤>›®êVÖL"Ó⸱Ԭ"Óì|K5µ¾Ÿá¯ OOŸÄ—÷ib×|>'7Å+ÒÈqq2JujFÖ|¼­û(UŠmÉ%/4ú]Gè£ÄT—q¿dçŒ%õœÍV²úϰ©5$éÓp‚R©§íjû°…å)Cý$õÛ—ö,Ò¼å½ý­¿fµ–Þ×X½šÚßãwÃkëÄ´ðôi×î~ÅcâK›¶‡BµÍÖ³"ÂWKµ s|`ZAÅê_ðQ¿Ø¯G·×î5?ŽšMšøcZ“@Ö “šþÛQ‹IþÞÛé±xAõKM:Ø×t»[Ý ô€u8õ&²ÌõþkÚ÷íU£èº\i­þÓ-­ÅÝÆŽòi–ÿíÌQË¢[Iqá›-LéWWÞ"—KÐu6Kj–Wš+ÝýžK1áx,´?ÝyMÇí‘áKíOOÒtˆ—·qCm}yd|/aã­[QÐN«y.§¨é6ú¾ƒá½{K½½¹ºdÔîµH|>a«ØÛÞh±,6övÚ~´èq"Ià ”á ®¤ñ˜þY6ÒåqOØÉZJJJPåk•óÆñSŒ_>åU~­ñÛ‡1¸ˆÖ•)Ç(ÁK q£IT«+ÃYÖö³nŽPŒcV¤V–›öéó¡ÿÁF¿bú_Çÿ ™^ÏC¾}?RÑ|g¡ë6–Þ(»k ¾£¡kžÓµ-¼Cv†ßD‡R°µ›V—jØG9xÃZ²ÿ‚ˆþÃ÷i Ï?í9ð§@Ó¼S 3øk_ñ¦¼þð¯ˆâÞ[¸ Ñ|[ã{oxcT¾kXŒßÙ¶Z´ú‚«Â^ÕMÄOó¶øÿñRˆ\οµûKÝFIn5-[á÷-4 U­¾Ã5ì·þ8Ö|¥¦ŠâÚúÛSÕ¯®,5}Äu·ˆ´mUÛi{j_‹¿µÙ5;=;Áÿôãªéšå߈õ_ü>³†_Øjzµ®z4ë÷z´PºÝf½Ô5 È5 ìÉ.‘iom¬o<.kFTý¶?†ÒRJº§‹ÅT·»¬a(R•¤Ýä—³©%¡(}µœ| à\m:ï"ã®*Ïeaño‡Yî/ WX*µ£RŒ%‡¥)J s­AÍAÕŸ°æýEî¿nØÆÒÒ-BOÚ³ö{—L–++£ªÙ|\ð6£¤ÛéúŒâÚËX¿ÕtýnçOÓt›Ðůê6Ú)’9”ß Á;_†´ÿìÝñ£S]áÇïƒu泸Ԇà?‰¾ ñV¿ý›k{¦Üê?Øš.³yª> GKÔì&½6fŽóN¿µyDöw)ùôþÆ/ñOÄú\ž"·ðoìõ®üZÔ¯´…²Ö~$~Ò>,›]³Ö¼Sâ›; riþ‘Ö|=÷ƒü3¤ønÏÁv>)ñ’ø¯ÄVž-Óthþ<]x΀z'Ôž<øSûIxöïCðß„×á¾·â_|UÖã~þÏŸ´'ÆŒ7þ"ѯ¡ÐþÙj¾3øéñBËÀ>xBÁ.~%xgÇàïŒ<3ojú§Å߆ßìP¸·øìGO ›¼®X:U ¥,EIT”¥eÍON…jÒ§)]S©RÝã*qå›_‹ñOa2 ~/C/¨9RÄK=É^EŠ•xJÓ_ÙØœ\ñxFéEWj¼’çNQ¦|ÔWæwü{ö{ý¥?gÙCMðwíKñ ÅÞ4ø‰¯x³Vñ…—‡ügâ•ñ¦«ð³ÃZ¦›¢ØéßGˆcÕ|A‘ÚO¥^k³éV>#ñ&Ÿ£êíí¬>"×.Z÷U¼+íá'(FN..QRq–Ž-«Ù¦“MlÓI÷Iè|Vm&šN×[iéu÷6»6Ó(¢¨AGùúŽ™údõ¾!ÿ‚„|FøÑð“ör¿ø‰ðoÄ–ž ¶ðߎþ·ÆŸEá½Å.øyû=k)±ðÿÅߊ?tï5Ï€bñOÂ_êßð´/¯¼}áïx^ÛÁ>ñy“Á>(ÕßHÒæùÙÅßu«/Š?²gÆOáçíub<5ñ[â—í gãÚ{Jý¢¼3suæËÿ ÿÃwß¾x—Å^#ð ôú‡‰~ jžøƒðþÓá-Íæ·ð÷Â:~“ðsÆ)ð øéçíñ£Ãß³¯ÁŠüQ¦júî‹ð·ÁZß‹çð燿³¿á"ñMÖ›hͤøOßÚ÷Úf’|Câ­]ì<;¡ SRÓ´Óªêv‚þþÎ×͸åVý¼ußøÏá7‡~,~ʾx_â×Å ü ±ø“­øÛöñG…¼/ã/Úêðø/ÙxâLj¼Ki¦ø»Å¶:O€4­BËE¾<[âÏ Ùݬ×’\Ûþx|Iñ_Â/‹ÿá_ÇÛ«öý­|GðûÄžñ7Žÿf¯ÙoáÍ߉þø?ÅÞ ñVãŸ/Å?‡_±_Áü[Ð4xüCáÍ&ößÀÿ´ÅŸi·–öŸf»‡TYî^º|7ñ/áŸÆ?øOÀ^<øûN`_xÛÀ¾#ѯ)M[Å­øÊ÷FÓÿ³í|=áÆ¹»±ŽúóOž5 ]CÄ ¥Xi­Ä:Uµ®…¡Âm4[+X|çâ%ÇüWö¡ðõÝ÷Ç߉ž ð _|S£~Κµ®žÖ¾.^Ú]EñKÆzqÖ~ iæë­¥xUü+ñÂïâm#Å:tÚ|ëyáØt)ô+4µ³á×Rm?U¶mSM‹PÔ-¯4ëÒŠ¼bM«â[/Q´¾ÊíÛÂú¾T¨å8:óÆã[¯ˆ,L<]Et¨â)V¡cJ—5kÓN5bãì¯VŒ[æmÊ_ÝÞ â8«=à:G…ÞåN#—QÂñ/fXŸiZ¶2¾aˆ–3BU±õéÇJqTb¢°x|¾³¥4”Ô¸ÛïÚÏÅL°øGøŸñu º³† ïx/Rº²†úî÷KÔ5ý2ëÄúˆ´´–+­KPÖc]E¤¾škûÐM´–“A4νÔk¯A½|;ðóÀVÓéºtS_x£ÆMã»Í2ßM¶¶ðíÕõ·ƒþÉï/¬ÛMÒõ{ ›=NòÞ :ÞÇcg{÷?Piþñ Ü>E¶q¯Ëg¥Ÿ¶ƒ¤Û[‹­*Â;i.t‰tëpšýœð[ÝÏm¨[¤V1<:íãØjék⫟¤<5û&|Kñþ™àíwÅÚïˆ..âÑM¥î¤ ¾Õ"ðžŸ5Žå®‹¤ÝÉz/¿¤ïðCÏÚûâLº}­ÇÂm3áï…oím5m/Æ?nmü'¤hŸk† NQ¬x&=;Køé‹­®,c‚;Hüáà“\i6Ú÷ŠÞêËVº²ý}øIÿê|#Ó4I"øçûAüCñ~«{ }/ᇴ/†°Žm+M´Ô¬m"ñœŸu·n,LZf»¢êžÃKÙk¦iZK\jFóÏYžqŽŸ40³§ÿ/1œÐæS÷´§]Σ”~Ót–î*JJñü+2âÏ¢—J*yñ5ÃN”jbññ™å d(8ÓÅMÕÌ1pxzøÉ:˜„©«9JQ£_ËN¬¿ˆß|9ø{áË /TÑ|ð÷Ãú…½³éNú/…´/T–ÃUyn4»ýfh,4û¹5™¢žÅ´¿yñx4Z]iš¿·OÔ¼_6©Öê–GM‡þMs§[ø‚[˜µ[”šB|Eu§\ÜZï±Ó®á´¸³ñ/†åžå-4{ÄÒ¿á!··ºÒô ã÷_ÿ¡W€¿àŠÿðN&âïàWü'ú–k-–¡ñÆ>/Ö ò縴º–k éšÆ‹àk‹ç¸±µ“ûN_ B?(¬W1¤÷ /ÛŸ¿eßÙ×öz†X¾üømðÆk„1]ê~ð¦—a¯ßÃåÅ Á¨øÛÉâ J ‚!‚ÿS¹Ša†8bŽ5¨á1r•IN½:q¯k jR\­ß’)¨G—™)-+KGd×O¥ÿðý8Òà? °X᫹à^:yfxh;Î<•°8•¹èÖŽXg9N¥(áé~õÔ£„©…ÿ>ƒßðL?Ûã㦧{uð÷öføƒiyu¤Yk·+×íSá÷†õ¸//~Å{ž+ø•yáOêRjúUîµoâG¾Õ¼D.¬´«Û k÷³ê?²²·üyã`ê“þÖ¿tßxmlÞ '¿ âÓá­"ß_þÀä“ë“××üôíAÿ=¿§é[G/¥~j³«YÙ]T›åvI-½eedä⬚WÔü—Š~–Þ/ñ. –áó ·†p¹S“§Ã˜)àq}›rp¡‹•zµiÑœ¥9¬<9pô*T\%=F¦¿þÁ¿`?‡—ë•§Æß‰¾%ƒVÓ5(¼Qã¿‹šžŸ¬‹]*;Co¡²ü/Ó~iRigQÓôýp\I¦6¿g­XÁy¥kšz½Ô7?¦¿f?Ù÷öp°Öl~ü ð'ÃGñ-ïöŸŠõohvÑxŸÆ˜2yZŒü_t.|Uã ëhåk[;¿k:­Å•ŠÅai$PÃoºÑ]P¡Bœ¹áF”&•”£©%ÙI+ÛÊö?Ÿ3®#Ïø“ _g9žuЧOÙSÄf˜ÜF:µ:Wº¥ ˜Š•%iê¡¢º$QEjxÁþ}+àŸÚKö·ø—ðëã…þ~Î<û@|GÓüß¾4øwÄ¿$øH¿~êì¾ð4zf¯ÃïˆVz‡Äß‹!Ó|q7Âÿ xžøG\Òþ|IoxûÂ"×H»½ûØÿœW䇯 kß?oO^ü/Õ.<_§þÝ7^5ñŸíðïÅ6Öó7Ãm/öqø5à¿Yüzøsã¸`:î› k\| ø;ₚâëþÔüIñ7Møà¯†š¥§Å%ø˜çÿ|[¬üq‹]øãûixOXýŸ?c¿€³éþ(ð§ìÕã}SÁÞ3ñ'ÄïèSh÷zwÅoÚLøC¬üJðÏ‹×Añ”Ðxwöpýœ<âÿˆv"ñ”zGÄ¿Ùø§âv«ðŸÁ_ úÉ~ê?¼â??ðQ?[þο²~™£I¯Áû.ëÿí~xvÏÁ6úšÞÁã?ۓⵞ¹¡Å¬Ýë:\zrkŸ³®›â[¾±Ôu|U¼øïsmwá½ÿhš/íCû^xŠãÄ“Úßü ý€u_ Þ]ižjÞñOí›âŸiß´­g\½Ôqsoû-|ñO¼gá˜cŽ}|Møç§ø®âm?Æÿ<3yaË| ð ?ðS¯i¶ÇÝ>_~ÇÞñdºüëös×­[þ?YxgR’ÛLý½~.øvê;uñ狾#Þ[\jŸ²ÿ…|_ayá„ÿ ΃ñGJÒ_âwÄ95 kø+ö×ñ§‹| ¡èßðL¯ø'/Ž~%|ÓÞßMð‡Äoˆ÷~ýeû aìÚ—Ã]'Æ~Õþ8x«Ã^FÇÒµ¿þÌÿð‚jöâÐü[y‹ïïÙëÄ?´§‰<¨êµÂß„?üzž#»ƒGðÇÁŒž*øßá¹ü&ºv—%Ž«ªx³Å¿> _Yx‚mV]fÒëC³ð¶£§ÛXYi·Ñk÷SêkiïÚcàÇìyð#âGí%ûAxÊËÀ¿ þø~oxŸ]»Ä×SæXìô­ BÓÕ–ã\ñO‰µ{›-à –ëÝo]ÔltÛeón/òÏÿîÿƒ­¼+ûN~Øãà‡íIðþÌ¿hÏ5¯ìCñS“Xê¶k×þÓt/‹º¦¢_ÃÚÇŒüi¡êÚ¯Žü$^ð_Žb¹øw¯Ç}o§ßøæÄõ÷öœý„jø)&³«ø7ö£øÿâOÙö%¶ñ6§eì£û2köÿÿh hú”k¢ë_´Ÿí4è-Ki®¯þ|&ðýÆ‘¤è×¶©¬üYñWŠ"³¼ð¯sã?ø%ßÀ/ƒ°÷įÙSö øðÓàCxê/èڽ߇eÖ¼1â?øj×â_„uÛ|Bø¦j¶¿~!Ýk^²ñ6€Úw޼_ªè¾&Ónâð‰Ößê3~®`ŽQùþ>‡Ôú«ùáÿ‚ÁX>>~Å?ðXÿø'/ì¨èß íÿc_ÛÃÚ7‡|Uã ož$»øiñwÄ:ñïÃë+/ø¶×Å–~Ót+-oWø6«o¨xKSšÆÇWÖ®®µ-õ It曋MnškÕ;¡5tÓÙ¦¾óçïÙWþ©wñáíáïŒé^´ñ7Æ[y>kVú^©wã'QýŸ¾/~ÕŸu!ãMU²ðóˤkö~6¶øðÏÅñ™su׃õ¥Ô/ü1b¾Õ}³Àßðo_ýIÇ‹~6ŬDÒÞ4W¾ø_¯:V]"ÚæòÿÆúÞ‡F¨¦]2ïJðÖ™âÃí/†4éË<º½Fuä?´Å­à'À_¼IwkcáÿƒŸ >!üQÖ®ïYVÒ 3À^ÕüQxóïšÝY [¯—çÄÒ³’EwS^~;,Áf5•|e^¢åWu«B-AûªP§8Âi-=äî’Né+}·xÇ)•Ôɸw‰³L£-«*Ò–YSñ* É.WRš¬éS•XÂqŒåÊIÉ\ø;Eÿ‚5þÂvöh¾1øâ_Š:´Ö–6Ú¯ˆø7Çþ ý¤üwð_Ãú7Â#ÅZ_†n´O ü!ø-ã­2ûR´ñ_Œ<_©Ï¬Üëßµ›{©mµk;&Ó-´Ëx좹‚êúól> …\¸l.’ŒR£JôŠQŠ÷b¶JËÉ#çó,÷;Îm›æy›‡2‡×ñø¬Z¦¥)NJš¯V¢‚”ç)5å)IêÝÿwúQ_ç·û-ÁÀ_ðr'í½§xó[ý’ÿbÙcãv‹ðÛÄVÞñ¥ç…þxÊÝü9¬j\]é¶Z•®»ûPh÷ˆ÷Ö–·2ÛͳÛÊm®£I ¶óFŸ°_ðN¿ÛcþBø±ûd|øûw~À¿þ ~Ê~ ŸÆËñWâW†<©é:熡Ӿø¿WðƒYj3þÑ>9ŠÛûWÇÖÑnKø[Tó-5áÑœ_ÚôžQýQQ_“ÿðR¿ðT¿„~9ýŽôïø'WìÍðÃãÿ‚<}ñbïÿµ.³ãýImîþx0ßø54+Ý1áaø]OÔ´‹¿Þê¾1wít;¿i·z43jZ}ž¿÷oí=â_þ ý~8x³ögð6…ñ7öƒðçÂïë_>øžõtíÆ_4íúëÂ^Õ®ŸVÐQlõ=^+[i!“_Ðcº.-$×tt™µ+`s¢¿õÚƒþ P?àú?íkûü5ƒþ ‡{â=: ?gÒ/µ·„.>+¾ŠÚÝ÷†Å»Ký V“áxÄw-ÏÄû›6ø‰níฒ_Øþ7ø(ïüøHðë_€c$ ·Ã}]Tÿ·ínG<–!}No4Wó‹ÿæÁTÿkÏø*ßÂ/Úoâ‡íKá_ƒ>´øUñCÁ¿<sðg¾'ðÞÏáGÄ>5T»ñÄ/E«ÜYEá ,¤Òç°‚ÞÚý¥ß-í³ÛGTQEâ?´oÆaû>üñ—ÅÁàý[Ç÷>´Ó¼¡êZFªx“Xñg‹thš]¶¯¯ÜZhºXŸWñ ‘¸Ô5;˜lí-Viæp¨kàj´GÆ?ÚkUøÙñ³àÖ—ð7ÁÞ ø¦ü(øIá5ø© üMñ5î¿ã¯ˆWž/øÓ¯kSx_J²ÐôM>úÇÀ?tí"ÖCU¹ººÐµ‰f–8b¶öÏíkð§Æ?g¯ˆ¿ ¾^xfÇÇZÜÔ¼#qã;­VÃÂmâxÏÞ4Òí|E¡ézÞ±a¤ßÝøz; Ëý3FÕ¯l¢¹k¨4ëLj@ÿ|.ø¡ûHÚ|eÕ~þÔŸ¾|0ñ[ü2Óþ,|?ñOÁ^3ø×àïˆZ%¯‹¯/±¿Óþ#ø}Æ£§]C-´àx¿ÆúÍÿüCÇ Ю#Ò¼Sÿø÷¯ü7°×t×6Ú–›á¿ø(¿íìß4MrÓPX$š]oáÏÀO‹šL>žëÌ0'‚t-,\GomnÑÿAð§†ü á_ xÁš.Ÿá¯x7Ãú7…<)áÝ&Ýmt­Ã~Ó­´EÓmSä·Óô­2ÎÖÆÎùb·‚4-=~5ð–¥á¿ø")‚1=÷üóö†Ó> ê–6FK‰®<ÿÞÿ‚‰Cã¯ÝZÚAÅåÍö¿ð#ྫ¯è)wz„ÚÆŽcRícß/üNð€~øÓã>«¬Y\øÁ_¼GñCR×ôë«KÍ:ãÁÞðÍç‹/5‹ èç67vSh–R^Ú]¥É´¸£™gò\I@Æ·üƒR×àº_ð[†ðH¿ëÚÕ‡ìEû Œ?¶.¥áRv‡Ç5Ñl´aâmâçOÔ--m5ãÄúÀ/ \î›^ð/мañ_Ä‘Ûj#Me¿êÇíåûÿÁ;à²_±GÆÿØ“öYñ_À Oâïì/çøàÍ¿ÂmCAÓ"ý–>3xoD¿Ó¼%ðÓT¶ÐlÞ?|.ñ»xZûáç‹´ëM?PðÕÌ:³w¥Ç7޾Y\x{ó¿þ îøw®øÃàoíéûzøöæçPøûWþÖ7ú&«©_ížóP‡ÀzK|F×5ä½h–IÓÄ8øéâ+kÖy}á“#Ûŵé_ö[ÿ‚{þÇ_±WŒþ=üAý˜~ hŸ <]ûMxÂßÇ_µm/]ñ†³ÿ _ˆ-/üEªZ}†ÇÅ"×4ïh¶z—‹¼M}gáÚxÃVsë×IŠl¡µüœÿƒk?à£Þ1ý·bíoà§ÇëëïøkØoÄ–_þ3Yë¶÷Vþ&Öü-e¡§|0ñ·ˆšá]n|GsmáŸøÆ½ÕƯwâχڷˆõ¸­ŸÅ-uôü;þ +¦ÁWÿeKø?ZÒ¼ ûP| ×/þ#~Íu¤†Oimˆ¾ëZ½™]SEð—Ę´­-CWÓZ[ø£Ãž ñkYjÖþŸEÔÿ¿f-`ÿø;¿ö¢ø á+;á_üá.»ñtC!K oø‡ÀZí­x¼‘ ò7Ä¿üfÑ´˜¡V·°³ñõÞž¶¤Z%Ô[ÿÁÍ¿·OÇ_xoöcÿ‚\þǺ­Þ…ûKÿÁG¼iiðûQñ=†©ýwáß…:ç‰4‡øv-V¤Ôt7ø±ã®‰âM<;é~ ðŸ,6µgqlù¥û(ÿÁÜ^0ý“´­GöUÿ‚¦þÏ4ø…ñÏàÝÿÃ?|gýžý”?f]jóOñ§í ã/Šßü+¨|Jñgï ëú~©¯©øRÂ÷L¿Ô<=áÍJ×JÕ?áWü3ÿ„ÇSÖü[‡fñ_Ž<;àåÔ/m?¥ïØþ Ùÿ‚gþÅ|1àþÍÿ?jϋϤÛ?ÄÏ´OÃüRÔ›¦ZxÞ }WÀÞ ð߉5 {Ã׺ô=áÙƒáoì[ÿëÔ?e‚ö7v? ~ þÌŸ<á×ÔšÒMgX–/ø“Q×üUâ¬-4ûŸøÏÄ·úÇ‹|Oweaciwâ oR¹¶²´†T·ùôÿƒ,?à–_Hê?oÿЇòýeJýOÿ‚zÁ@àÿ‚™Á&ý§õì‹_‰—Ÿ¾1ü=øë¡h±­µ–ƒñ›À>Ö´Ÿ}žÁ'º]+Oñm›è¿ü?¤›«™tß ø×C³¸™®¡œ/å‡üaÿ(²øõÿgÿñWÿY×öT ¿i_Ù/þ 'ÿÿ‚…|wÿ‚ŒÁ:~ 뵿ì7ûUëZŸŒ¿i¿Ù‹ÁÖ:¬úÿ/5^ø£Rƒþ¿ Å­x‚ßLð¶¿âø‡ágÅ? xC_Ò~x[]ñOƒ¼wáË_Fuo}ƒð þÿ‚eüA½²ð×íàŸÚCöMñr[Àêºßï S`»Õ~øy]%‚V† nÛú{økñoáOÆ}ïž&ü>ø¯á‹ wUðÅ÷‰>øÏÞ:Ðl¼M¡IZׇîõ êZ¦Ÿo®iM jZT× }bf‡í0F%wÅ´óÿÁ(¿h{}gáíu¯~ÁŸ.4 íOCÔü7ñ«ÅŸuox7[´k½/S¶´“ÄÚ·ü%ñ6™3ÞÙËq¦\húî•tncY­n<Ì}[û?þÑ¿?j¿†ÆÙÇâ¿‚~2ü/ñ"ì¿øZ¶Ö4ÑwpÉw¤jqFË ø‹Lóâ‹XðÖ½g¦kú-Ë]WM³¹ ûMÿüEð;þ[ÿÖøEðƒöEøÿáŠ?ðM¿ø)ÌÚ'ƒ5?‡^ø™áŸ‹kð?âÞµâk¿øJ»Ö4ßëš©²ð' ŸÆ~#ð)ñ6¡û™ÿ1ÁFü{ÿñÿ‚sj·?µ«¿ üvý¥|ikðáïŒt½FM;]øy£êZ³âˆ¼?5¾ÛÈõí+Âú;øgÃÚ…Í熼MãÅV—‚ïD·´¼öoÛKþÿ‚SþÃ+ñ7Ão‰ß´1øƒñoÂïü+øáS⟉4ÍIf¸·Ÿ@Õ|!·‚ãP‘¤PÅâÄŽ4DUDTUUUU|¯ÿqÿ‚hè?ðJoØ‹Á¿³·Šm¼wã»ÿk~3øãM¶žËCñ/ÅoYèÚ~°þ³¼Šø¼5áýþðŽ…>£¾£ªØx~-nþËL¼ÔçÒ¬S«Ë¾üpø)ñ‘µ„øAñ‡ágÅfðêéíâøkñ Â>:mucz4¦ÖWÂÚ¾ªtµÔΛ¨<ßéÓïE·›öIü¿Q Š( ¿'iOÁñöåý™ü=ð.MGÅ>9ýn~+h?µ¦¯f‘§ÃŸ†ÿ¾7|(‡Ä:Ãx’Y’ÞŽ>.ø¿à?ٳℾèúψ´‡>Ö¼Wã¨üáx+Pñoëÿ?ä×å§ÆO„?´ŸÂÚâÄ/Ùcá>•ñ—µ…§k¾7ðŠ~"øSá/€¾~Ò³ð·‚->.x§ÅW6%ñäÞøÉðŽßGÐüq§ü8øsñ/Ä'Œ>x?PÓ|ÇâÇ|] d|9›Ãÿ¿kˆß üs¥ÿi| ÿ‚…øH|?ˆ—NÕ¼gûPxGá¤> ø§ð—UÓõßeÓÿh€ð¯¼áácu êž%øEñîãV¼ƒ[ñ·‡´_Ä>xgBøUà/ˆßðD¿ÚûÄZþƒð{ã_Š¿ÿaŽö—péü_ý–|oàsÂ'öu5×à×ô{/ÚÏöhð>¯yàí3O×lnï¾*ü.ðÿ‚¾+iŠ5Ëo‰ö:Iñ?Üê‡öKÿ‚‚hžu &ïö|øóðnׯ^øsâïèRè~/Ѽ  êž$ñŠüKðOö´ø?ã=5|cð‹Qo½ßÄû i_~Ë£ø³Ã¾ü/Ðñ—Ä¿]|.Õ¿dŸø+w…¼-ñà׉cƒBÐ?kx~ÛJøñ2ÓHµ³Ô4 [㦥áÔÓlÿdÚ#GÔ-ä¹¶ñ«K௃¾#ñmŽâ‚<ãÙüðØ_ðOŸØà‡üSömÑe¯ÙöÿǺ¯Ã­Å>-ñ|Ä­kEñ‹®µê+¨ê©èðž›5¼/6Ö ‹ °ÙÁSMq"™OÛuùmá¯Ù§öèø%jó~Ê_·O†~5ü½Ó4Û¯|+ý»~kõ= I‘âÊÛÁÿµŸÂü8ø­«hSXOh¶:ׯ~Ñ>'»²¶‚KÞ\ÜMª=ý"_ø,爮äÓ|AcÿÁøC`ÒOèÚ¿í]ûG^Çáºçþþƒû,[É0BJY7Å…z¨kí¬Hâ¿i¿ø'ÿìC ~Ü¿à³þ.x³áÄ_ÙƒáÄ^ ‹]×¾"x#Áÿí¼2Ö¼3o7Œ¬µÿ K¬^ë:ŠüWÕ´«ì|i§I©êká½;NÓ§¼ k©zOÆ_ø%Ïìãñ÷þ û7ÿÁJüqâŠs|oý—ü ~øOJñ…“àõÞš·/­õ¿xf÷ÁZˆ¯üA çÅmVúßQÒ|g£[­ÎáI£.›|º§ ?ì•ðá¥áßÚËþ aû[ÍûHxÓá_‰â×þøËö€ºð/Á/Ù{ào‹õ ní4σ?³æ>ðîÃLj·‰¦xWÆÿuO‹ÿ ¼H£ð¿-.. ´šËûUüHø¹â}#ãMœÚ¿ì½ûü"·¿ø‹âücÑm~|Pý¢t½'DñºÔü@ð7į |Gý²Ç‰>xÃÃ>8ðñ½ø¯ðºk!®xOZ²×ô“y -gšØ_Ø[™ãŠæÞY" ‘ÏëúÿCÿ‚=~ËßðVí3à¾ûMø¯ão‡tÏwþ=Ôü%iðwÅÞð¬z•÷Ä;Úê×%ÿ„ŸÀ^8k÷Ó­üe‰ö¥‹UÔuµ‹ãqmö?Õª(ù.ÿˆ3¿à”?ôQ¿m_ü;Ÿ ¿ùÃQÿgÁ(è£~Ú¿øw>ó†¯ëFŠü‘ÿ‚]Á?dïø$}ÇÆûهğ<@ÿaøq—㋼'â”´_…ïã§ðéð÷ü#ðCX´çâ¸5o¶¶¦.„:oÙÅ™·œÝ~·QEQEQE~wÁRtŸø¯öCñ'ÃíᎽñ'Ãß<ð›Áÿ¯!øƒà hws|*¼øc¢kÞ<ð/ÅkïüMÒt¶´ðN¥ygäÞ6ý¯þ‡ÿ¼YðƒJÖk=KãÅÆ£aðwá—ìïuàøŸâ¶£Â×u÷Å-ðíÃô%¿¸ñæ³ñÆÞðîª/áíÞ¥ÿ žð–¿úÕè}9¯ð¯ìéðÀßøæÞy xûÂϪh¾øÛñrûü ñQðOļecâŸø}Ó÷£'9ÉÎs’I?žsôôãÒ¼£áOÀ‚_lüK§üøGðÛá%— #include #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env, const axis2_char_t * image_name, const axis2_char_t * to_save_name, axis2_bool_t optimized); int process_response_node( const axutil_env_t * env, axiom_node_t *node, const axis2_char_t * to_save_name); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *image_name = "resources/axis2.jpg"; const axis2_char_t *to_save_name = "test.jpg"; axis2_bool_t optimized = AXIS2_TRUE; /* Set up the environment */ env = axutil_env_create_all("mtom.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of mtom service */ address = "http://localhost:9090/axis2/services/mtom"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf ("Usage : %s [endpoint_url] [image_name] [to_save_name] [do_not_optimize]\n", argv[0]); printf("use -h for help\n"); return 0; } if (argc > 2) image_name = argv[2]; if (argc > 3) to_save_name = argv[3]; if (argc > 4) optimized = AXIS2_FALSE; printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/mtomSample"); axis2_options_set_soap_version(options, env, AXIOM_SOAP11); if(optimized) { axis2_options_set_enable_mtom(options, env, AXIS2_TRUE); } /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_programatically(env, image_name, to_save_name, optimized); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { if (axis2_svc_client_get_last_response_has_fault(svc_client, env) == AXIS2_TRUE) { printf("\nRecieved Fault : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } else { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); printf("\nmtom client invoke SUCCESSFUL!\n"); process_response_node(env, ret_node, to_save_name); } } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("\nmtom client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } /* build SOAP request message content using OM */ axiom_node_t * build_om_programatically( const axutil_env_t * env, const axis2_char_t * image_name, const axis2_char_t * to_save_name, axis2_bool_t optimized) { axiom_node_t *mtom_om_node = NULL; axiom_element_t *mtom_om_ele = NULL; axiom_node_t *image_om_node = NULL; axiom_element_t *image_om_ele = NULL; axiom_node_t *file_om_node = NULL; axiom_element_t *file_om_ele = NULL; axiom_node_t *data_om_node = NULL; axiom_text_t *data_text = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; axiom_data_handler_t *data_handler = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples/mtom", "ns1"); mtom_om_ele = axiom_element_create(env, NULL, "mtomSample", ns1, &mtom_om_node); file_om_ele = axiom_element_create(env, mtom_om_node, "fileName", ns1, &file_om_node); axiom_element_set_text(file_om_ele, env, to_save_name, file_om_node); image_om_ele = axiom_element_create(env, mtom_om_node, "image", ns1, &image_om_node); /* This is when we directly give file name */ data_handler = axiom_data_handler_create(env, image_name, "image/jpeg"); /* Uncomment following to set a callback instead of a file */ /*data_handler = axiom_data_handler_create(env, NULL, "image/jpeg"); axiom_data_handler_set_data_handler_type(data_handler, env, AXIOM_DATA_HANDLER_TYPE_CALLBACK); axiom_data_handler_set_user_param(data_handler, env, (void *)image_name);*/ data_text = axiom_text_create_with_data_handler(env, image_om_node, data_handler, &data_om_node); axiom_text_set_optimize(data_text, env, optimized); /*axiom_text_set_is_swa(data_text, env, AXIS2_TRUE);*/ om_str = axiom_node_to_string(mtom_om_node, env); if (om_str) { printf("%s", om_str); AXIS2_FREE(env->allocator, om_str); } return mtom_om_node; } int process_response_node( const axutil_env_t * env, axiom_node_t *node, const axis2_char_t * to_save_name) { axiom_node_t *res_om_node = NULL; axiom_element_t *res_om_ele = NULL; res_om_node = axiom_node_get_first_child(node, env); if(axiom_node_get_node_type(res_om_node, env) == AXIOM_TEXT) {/** received mtom atttachment */ axiom_data_handler_t *data_handler = NULL; axiom_text_t *axiom_text = (axiom_text_t*)axiom_node_get_data_element(res_om_node, env); data_handler = axiom_text_get_data_handler(axiom_text, env); /*axiom_data_handler_set_file_name(data_handler, env, (axis2_char_t *)to_save_name);*/ if(axiom_data_handler_get_cached(data_handler, env)) { printf("Attachment is cached.\n"); } else { axiom_data_handler_set_file_name(data_handler, env, "test"); axiom_data_handler_write_to(data_handler, env); } }else if(axiom_node_get_node_type(res_om_node, env) == AXIOM_ELEMENT){ res_om_ele = axiom_node_get_data_element(res_om_node, env); printf("Base64 String received \n\n\n %s \n\n", axiom_element_get_text(res_om_ele, env, res_om_node)); } return 0; } axis2c-src-1.6.0/samples/client/yahoo/0000777000175000017500000000000011172017605020701 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/yahoo/Makefile.am0000644000175000017500000000073311166304604022735 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = yahoosearch yahoosearch_SOURCES = yahoo_client.c yahoosearch_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=yahoo.mk axis2c-src-1.6.0/samples/client/yahoo/Makefile.in0000644000175000017500000003470211172017452022750 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = yahoosearch$(EXEEXT) subdir = client/yahoo DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_yahoosearch_OBJECTS = yahoo_client.$(OBJEXT) yahoosearch_OBJECTS = $(am_yahoosearch_OBJECTS) am__DEPENDENCIES_1 = yahoosearch_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(yahoosearch_SOURCES) DIST_SOURCES = $(yahoosearch_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin yahoosearch_SOURCES = yahoo_client.c yahoosearch_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = yahoo.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/yahoo/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/yahoo/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done yahoosearch$(EXEEXT): $(yahoosearch_OBJECTS) $(yahoosearch_DEPENDENCIES) @rm -f yahoosearch$(EXEEXT) $(LINK) $(yahoosearch_OBJECTS) $(yahoosearch_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/yahoo_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/yahoo/yahoo.mk0000644000175000017500000000036611166304604022353 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:yahoo.exe axis2c-src-1.6.0/samples/client/yahoo/yahoo_client.c0000644000175000017500000001312311166304604023517 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include axiom_node_t *build_yahoo_rest_payload( const axutil_env_t * env, axis2_char_t * string); void format_output( const axutil_env_t * env, axiom_node_t * ret_node); void format_output_one( const axutil_env_t * env, axiom_node_t * child_node); int print_help( ); int main( int argc, char *argv[]) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; axis2_char_t *search_string = NULL; if (argc > 1) { if (!strcmp(argv[1], "-h") || !strcmp(argv[1], "--help")) { print_help(); } else search_string = argv[1]; } env = axutil_env_create_all("yahoo_rest_search.log", AXIS2_LOG_LEVEL_TRACE); address = "http://search.yahooapis.com/WebSearchService/V1/webSearch"; printf("using endpoint %s \n", address); endpoint_ref = axis2_endpoint_ref_create(env, address); options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_enable_rest(options, env, AXIS2_TRUE); axis2_options_set_http_method(options, env, AXIS2_HTTP_GET); client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_yahoo_rest_payload(env, search_string); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { format_output(env, ret_node); printf("\nYahoo REST client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("Yahoo REST client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axiom_node_t * build_yahoo_rest_payload( const axutil_env_t * env, axis2_char_t * string) { axiom_node_t *root_node; axiom_node_t *appid_node; axiom_node_t *query_node; axiom_element_t *appid_element; axiom_element_t *query_element; axiom_element_t *root_element; root_element = axiom_element_create(env, NULL, "yahoo_rest_search", NULL, &root_node); appid_element = axiom_element_create(env, root_node, "appid", NULL, &appid_node); axiom_element_set_text(appid_element, env, "YahooDemo", appid_node); query_element = axiom_element_create(env, root_node, "query", NULL, &query_node); if (string) { axiom_element_set_text(query_element, env, string, query_node); } else { axiom_element_set_text(query_element, env, "finance", query_node); } return root_node; } void format_output( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *child_node; child_node = axiom_node_get_first_child(node, env); while (axiom_node_is_complete(node, env) && child_node) { printf("\n\n"); format_output_one(env, child_node); child_node = axiom_node_get_next_sibling(child_node, env); } } void format_output_one( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *child_node; child_node = axiom_node_get_first_child(node, env); while (axiom_node_is_complete(node, env) && child_node) { axis2_char_t *om_str = axiom_node_to_string(child_node, env); if (om_str) { printf("\t%s\n", om_str); AXIS2_FREE(env->allocator, om_str); } child_node = axiom_node_get_next_sibling(child_node, env); } } int print_help( ) { printf("./yahoosearch string_to_search \n"); exit(0); return 0; } axis2c-src-1.6.0/samples/client/mtom_callback/0000777000175000017500000000000011172017605022352 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/mtom_callback/mtom_callback_client.c0000644000175000017500000002043011166304604026640 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env, const axis2_char_t * image_name); int process_response_node( const axutil_env_t * env, axiom_node_t *node); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *image_name = "resources/axis2.jpg"; /* Set up the environment */ env = axutil_env_create_all("mtom_callback.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of mtom service */ address = "http://localhost:9090/axis2/services/mtom_callback"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf ("Usage : %s [endpoint_url] [image_name] \n", argv[0]); printf("use -h for help\n"); return 0; } if (argc > 2) image_name = argv[2]; printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/mtomCallbackSample"); axis2_options_set_soap_version(options, env, AXIOM_SOAP11); axis2_options_set_enable_mtom(options, env, AXIS2_TRUE); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_programatically(env, image_name); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { if (axis2_svc_client_get_last_response_has_fault(svc_client, env) == AXIS2_TRUE) { printf("\nRecieved Fault : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } else { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); printf("\nmtom client invoke SUCCESSFUL!\n"); process_response_node(env, ret_node); } } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("\nmtom client invoke FAILED!\n"); printf("\nSending callback may not be set. Check the log for more details.\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } /* build SOAP request message content using OM */ axiom_node_t * build_om_programatically( const axutil_env_t * env, const axis2_char_t * attachment_name) { axiom_node_t *mtom_om_node = NULL; axiom_element_t *mtom_om_ele = NULL; axiom_node_t *attachment_om_node = NULL; axiom_element_t *attachment_om_ele = NULL; axiom_node_t *data_om_node = NULL; axiom_text_t *data_text = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; axiom_data_handler_t *data_handler = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples/mtom", "ns1"); mtom_om_ele = axiom_element_create(env, NULL, "mtomSample", ns1, &mtom_om_node); attachment_om_ele = axiom_element_create(env, mtom_om_node, "attachment", ns1, &attachment_om_node); /* The attachment is loaded using the callback. The callback should be * specified in the axis2.xml */ data_handler = axiom_data_handler_create(env, NULL, "image/jpeg"); axiom_data_handler_set_data_handler_type(data_handler, env, AXIOM_DATA_HANDLER_TYPE_CALLBACK); axiom_data_handler_set_user_param(data_handler, env, (void *)attachment_name); data_text = axiom_text_create_with_data_handler(env, attachment_om_node, data_handler, &data_om_node); axiom_text_set_optimize(data_text, env, AXIS2_TRUE); om_str = axiom_node_to_string(mtom_om_node, env); if (om_str) { printf("%s", om_str); AXIS2_FREE(env->allocator, om_str); } return mtom_om_node; } int process_response_node( const axutil_env_t * env, axiom_node_t *node) { axiom_node_t *res_om_node = NULL; res_om_node = axiom_node_get_first_child(node, env); if(axiom_node_get_node_type(res_om_node, env) == AXIOM_TEXT) {/** received mtom atttachment */ axiom_data_handler_t *data_handler = NULL; axiom_text_t *axiom_text = (axiom_text_t*)axiom_node_get_data_element(res_om_node, env); data_handler = axiom_text_get_data_handler(axiom_text, env); if(axiom_data_handler_get_cached(data_handler, env)) { axis2_char_t *mime_id = NULL; printf("Attachment is cached.\n"); mime_id = axiom_data_handler_get_mime_id(data_handler, env); if(mime_id) { /* The client implementer should know what to do with * the attachment in the response. Becasue the attachment * was stored using the callback given by the client */ /*axis2_char_t command[1000]; sprintf(command, "rm -f /opt/tmp/%s", mime_id); system(command);*/ } } else { axiom_data_handler_set_file_name(data_handler, env, "test"); axiom_data_handler_write_to(data_handler, env); } } else { printf("No attachemnt in the response\n"); } return 0; } axis2c-src-1.6.0/samples/client/mtom_callback/mtom_callback.mk0000644000175000017500000000036511166304604025474 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:mtom_callback.exe axis2c-src-1.6.0/samples/client/mtom_callback/Makefile.am0000644000175000017500000000101711166304604024402 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = mtom_callback mtom_callback_SOURCES = mtom_callback_client.c mtom_callback_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=mtom_callback.mk axis2c-src-1.6.0/samples/client/mtom_callback/Makefile.in0000644000175000017500000003507311172017452024423 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = mtom_callback$(EXEEXT) subdir = client/mtom_callback DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_mtom_callback_OBJECTS = mtom_callback_client.$(OBJEXT) mtom_callback_OBJECTS = $(am_mtom_callback_OBJECTS) am__DEPENDENCIES_1 = mtom_callback_DEPENDENCIES = $(am__DEPENDENCIES_1) \ $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(mtom_callback_SOURCES) DIST_SOURCES = $(mtom_callback_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin mtom_callback_SOURCES = mtom_callback_client.c mtom_callback_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = mtom_callback.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/mtom_callback/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/mtom_callback/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done mtom_callback$(EXEEXT): $(mtom_callback_OBJECTS) $(mtom_callback_DEPENDENCIES) @rm -f mtom_callback$(EXEEXT) $(LINK) $(mtom_callback_OBJECTS) $(mtom_callback_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_callback_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/google/0000777000175000017500000000000011172017605021036 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/google/google_client.c0000644000175000017500000002250511166304604024015 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include axiom_node_t *build_soap_body_content( const axutil_env_t * env, const axis2_char_t * operation, const axis2_char_t * google_key, const axis2_char_t * word_to_spell); void print_invalid_om( const axutil_env_t * env, axiom_node_t * ret_node); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *google_key = NULL; const axis2_char_t *word_to_spell = NULL; const axis2_char_t *operation = NULL; operation = "doSpellingSuggestion"; google_key = "00000000000000000000000000000000"; word_to_spell = "salvasion"; /* Set up the environment */ env = axutil_env_create_all("google_client.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of google service */ address = "http://api.google.com/search/beta2"; if ((argc > 1) && (axutil_strcmp("-h", argv[1]) == 0)) { printf("\nUsage : %s [google_key] [word_to_spell] \n", argv[0]); printf ("\tgoogle_key Your Google license key. Default value won't work. You must use your key here.\n"); printf ("\tword_to_spell Word to be spelled by Google service. Default is %s\n", word_to_spell); printf ("NOTE: command line arguments must appear in given order, with trailing ones being optional\n"); printf("\tUse -h for help\n"); return 0; } if (argc > 1) google_key = argv[1]; if (argc > 2) word_to_spell = argv[2]; if (argc > 3) address = argv[3]; printf("Using endpoint : %s\n", address); printf("\nInvoking operation %s with params %s and %s\n", operation, google_key, word_to_spell); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_soap_version(options, env, AXIOM_SOAP11); /* Set up deploy folder. */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_soap_body_content(env, operation, google_key, word_to_spell); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (axis2_svc_client_get_last_response_has_fault(svc_client, env)) { axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; axiom_soap_fault_t *soap_fault = NULL; axis2_char_t *fault_string = NULL; printf("\nResponse has a SOAP fault\n"); soap_envelope = axis2_svc_client_get_last_response_soap_envelope(svc_client, env); if (soap_envelope) { soap_body = axiom_soap_envelope_get_body(soap_envelope, env); } if (soap_body) { soap_fault = axiom_soap_body_get_fault(soap_body, env); } if (soap_fault) { fault_string = axiom_node_to_string(axiom_soap_fault_get_base_node (soap_fault, env), env); printf("\nReturned SOAP fault: %s\n", fault_string); AXIS2_FREE (env->allocator, fault_string); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return -1; } if (ret_node) { if (axiom_node_get_node_type(ret_node, env) == AXIOM_ELEMENT) { axis2_char_t *result = NULL; axiom_element_t *result_ele = NULL; axiom_node_t *ret_node1 = NULL; result_ele = (axiom_element_t *) axiom_node_get_data_element(ret_node, env); if (axutil_strcmp (axiom_element_get_localname(result_ele, env), "doSpellingSuggestionResponse") != 0) { print_invalid_om(env, ret_node); return AXIS2_FAILURE; } ret_node1 = axiom_node_get_first_element(ret_node, env); /*return */ if (!ret_node1) { print_invalid_om(env, ret_node); return AXIS2_FAILURE; } result_ele = (axiom_element_t *) axiom_node_get_data_element(ret_node1, env); result = axiom_element_get_text(result_ele, env, ret_node1); printf("\nResult = %s\n", result); } else { print_invalid_om(env, ret_node); return AXIS2_FAILURE; } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("Google client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axiom_node_t * build_soap_body_content( const axutil_env_t * env, const axis2_char_t * operation, const axis2_char_t * google_key, const axis2_char_t * word_to_spell) { axiom_node_t *google_om_node = NULL; axiom_element_t *google_om_ele = NULL; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns0 = NULL, *ns1 = NULL, *ns2 = NULL, *ns3 = NULL; axiom_attribute_t *attri1 = NULL; axis2_char_t *buffer = NULL; ns0 = axiom_namespace_create(env, AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI, "soapenv"); ns1 = axiom_namespace_create(env, "urn:GoogleSearch", "ns1"); ns2 = axiom_namespace_create(env, "http://www.w3.org/1999/XMLSchema-instance", "xsi"); ns3 = axiom_namespace_create(env, "http://www.w3.org/1999/XMLSchema", "xsd"); attri1 = axiom_attribute_create(env, "encodingStyle", "http://schemas.xmlsoap.org/soap/encoding/", ns0); google_om_ele = axiom_element_create(env, NULL, operation, ns1, &google_om_node); axiom_element_add_attribute(google_om_ele, env, attri1, google_om_node); axiom_element_declare_namespace(google_om_ele, env, google_om_node, ns2); axiom_element_declare_namespace(google_om_ele, env, google_om_node, ns3); text_om_ele = axiom_element_create(env, google_om_node, "key", NULL, &text_om_node); attri1 = axiom_attribute_create(env, "type", "xsd:string", ns2); axiom_element_add_attribute(text_om_ele, env, attri1, text_om_node); axiom_element_set_text(text_om_ele, env, google_key, text_om_node); text_om_ele = axiom_element_create(env, google_om_node, "phrase", NULL, &text_om_node); axiom_element_add_attribute(text_om_ele, env, attri1, text_om_node); axiom_element_set_text(text_om_ele, env, word_to_spell, text_om_node); buffer = axiom_node_to_string(google_om_node, env); printf("%s\n", buffer); AXIS2_FREE (env->allocator, buffer); return google_om_node; } void print_invalid_om( const axutil_env_t * env, axiom_node_t * ret_node) { axis2_char_t *buffer = NULL; buffer = axiom_node_get_data_element(ret_node, env); printf("\nReceived OM as result : %s\n", buffer); } axis2c-src-1.6.0/samples/client/google/Makefile.am0000644000175000017500000000073111166304604023070 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = google google_SOURCES = google_client.c google_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=README.txt google.mk axis2c-src-1.6.0/samples/client/google/Makefile.in0000644000175000017500000003461111172017451023103 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = google$(EXEEXT) subdir = client/google DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_google_OBJECTS = google_client.$(OBJEXT) google_OBJECTS = $(am_google_OBJECTS) am__DEPENDENCIES_1 = google_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(google_SOURCES) DIST_SOURCES = $(google_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin google_SOURCES = google_client.c google_LDADD = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = README.txt google.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/google/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/google/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done google$(EXEEXT): $(google_OBJECTS) $(google_DEPENDENCIES) @rm -f google$(EXEEXT) $(LINK) $(google_OBJECTS) $(google_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/google_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/google/README.txt0000644000175000017500000000045011166304604022530 0ustar00manjulamanjula00000000000000Client Sample- Google --------------------- In order to run this sample, you need to get a Google license key. Please visit http://www.google.com/apis/ for details on how to get a license key. Use the '-h' option with the sample to get help on command line options. e.g. ./google -h axis2c-src-1.6.0/samples/client/google/google.mk0000644000175000017500000000036711166304604022646 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:google.exe axis2c-src-1.6.0/samples/client/Makefile.am0000644000175000017500000000014011166304610021603 0ustar00manjulamanjula00000000000000SUBDIRS = echo math google notify mtom yahoo amqp version mtom_callback EXTRA_DIST= Makefile.am axis2c-src-1.6.0/samples/client/Makefile.in0000644000175000017500000003426211172017451021631 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = client DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = echo math google notify mtom yahoo amqp version mtom_callback EXTRA_DIST = Makefile.am all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/notify/0000777000175000017500000000000011172017605021072 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/notify/notify.mk0000644000175000017500000000036711166304604022736 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:notify.exe axis2c-src-1.6.0/samples/client/notify/notify_client.c0000644000175000017500000001155311166304604024106 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axis2_status_t status = AXIS2_FAILURE; /* Set up the environment */ env = axutil_env_create_all("notify.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/notify"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://example.org/action/notify"); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_programatically(env); /* Send request */ status = axis2_svc_client_send_robust(svc_client, env, payload); if (status == AXIS2_SUCCESS) { printf("\nnotify client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("notify client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } /* build SOAP request message content using OM */ axiom_node_t * build_om_programatically( const axutil_env_t * env) { axiom_node_t *notify_om_node = NULL; axiom_element_t *notify_om_ele = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *buffer = NULL; ns1 = axiom_namespace_create(env, "http://example.org/notify", "m"); notify_om_ele = axiom_element_create(env, NULL, "notify", ns1, ¬ify_om_node); axiom_element_set_text(notify_om_ele, env, "notify5", notify_om_node); buffer = axiom_node_to_string(notify_om_node, env); if (buffer) { printf("\nSending OM node in XML : %s \n", buffer); AXIS2_FREE(env->allocator, buffer); } return notify_om_node; } axis2c-src-1.6.0/samples/client/notify/Makefile.am0000644000175000017500000000074111166304604023125 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = notify notify_SOURCES = notify_client.c notify_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST=notify.mk axis2c-src-1.6.0/samples/client/notify/Makefile.in0000644000175000017500000003457511172017452023151 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = notify$(EXEEXT) subdir = client/notify DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_notify_OBJECTS = notify_client.$(OBJEXT) notify_OBJECTS = $(am_notify_OBJECTS) am__DEPENDENCIES_1 = notify_DEPENDENCIES = $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(notify_SOURCES) DIST_SOURCES = $(notify_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin notify_SOURCES = notify_client.c notify_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ EXTRA_DIST = notify.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/notify/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/notify/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done notify$(EXEEXT): $(notify_OBJECTS) $(notify_DEPENDENCIES) @rm -f notify$(EXEEXT) $(LINK) $(notify_OBJECTS) $(notify_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notify_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/client/version/0000777000175000017500000000000011172017605021247 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/client/version/version_client.c0000644000175000017500000001331011166304604024431 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_version_stub.h" #include #include #include #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env); int main( int argc, char **argv) { axis2_stub_t *stub = NULL; axiom_node_t *node = NULL; axis2_status_t status = AXIS2_FAILURE; const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; const axis2_char_t *client_home = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *operation = "get_version"; const axis2_char_t *param1 = "40"; const axis2_char_t *param2 = "8"; env = axutil_env_create_all("version_blocking.log", AXIS2_LOG_LEVEL_TRACE); client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; address = "http://localhost:9090/axis2/services/version"; if (argc > 1) operation = argv[1]; if (axutil_strcmp(operation, "-h") == 0) { printf("Usage : %s [operation] [param1] [param2] [endpoint_url]\n", argv[0]); printf("use -h for help\n"); printf("default operation get_version\n"); printf("default param1 %s\n", param1); printf("default param2 %s\n", param2); printf("default endpoint_url %s\n", address); printf ("NOTE: command line arguments must appear in given order, with trailing ones being optional\n"); return 0; } if (argc > 2) param1 = argv[2]; if (argc > 3) param2 = argv[3]; if (argc > 4) address = argv[4]; printf("Using endpoint : %s\n", address); printf("\nInvoking operation %s\n", operation); node = build_om_programatically(env); stub = axis2_version_stub_create_with_endpoint_uri_and_client_home(env, address, client_home); /* create node and invoke version */ if (stub) { ret_node = axis2_version_stub_get_version(stub, env, node); } if (ret_node) { if (axiom_node_get_node_type(ret_node, env) == AXIOM_ELEMENT) { axis2_char_t *result = NULL; axiom_element_t *result_ele = (axiom_element_t *) axiom_node_get_data_element(ret_node, env); result = axiom_element_get_text(result_ele, env, ret_node); printf("\nResult = %s\n", result); } else { axiom_xml_writer_t *writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, writer); axiom_node_serialize(ret_node, env, om_output); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(writer, env); printf("\nReceived invalid OM as result : %s\n", buffer); if (buffer) { AXIS2_FREE(env->allocator, buffer); buffer = NULL; } if (om_output) { axiom_output_free(om_output, env); om_output = NULL; } axiom_xml_writer_free(writer, env); } } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("version stub invoke FAILED!\n"); } if (stub) { axis2_stub_free(stub, env); } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return status; } axiom_node_t * build_om_programatically( const axutil_env_t * env) { axiom_node_t *version_om_node = NULL; axiom_element_t *version_om_ele = NULL; axiom_namespace_t *ns1 = NULL; axiom_xml_writer_t *xml_writer = NULL; axiom_output_t *om_output = NULL; axis2_char_t *buffer = NULL; ns1 = axiom_namespace_create(env, "urn:aewebservices71", "ns1"); version_om_ele = axiom_element_create(env, NULL, "GetVersion", ns1, &version_om_node); xml_writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_FALSE, AXIS2_FALSE, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, xml_writer); axiom_node_serialize(version_om_node, env, om_output); buffer = (axis2_char_t *) axiom_xml_writer_get_xml(xml_writer, env); AXIS2_LOG_DEBUG(env->log, AXIS2_LOG_SI, "\nSending OM node in XML : %s \n", buffer); if (om_output) { axiom_output_free(om_output, env); om_output = NULL; } return version_om_node; } axis2c-src-1.6.0/samples/client/version/axis2_version_stub.c0000644000175000017500000000656411166304604025253 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_version_stub.h" axis2_stub_t * axis2_version_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, axis2_char_t * client_home) { axis2_stub_t *stub = NULL; AXIS2_ENV_CHECK(env, NULL); stub = (axis2_stub_t *) axis2_stub_create_with_endpoint_ref_and_client_home(env, endpoint_ref, client_home); if (!stub) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axis2_populate_axis_service(stub, env); return stub; } void axis2_populate_axis_service( axis2_stub_t * stub, const axutil_env_t * env) { axis2_svc_client_t *svc_client = NULL; axutil_qname_t *op_qname = NULL; axis2_svc_t *svc = NULL; axis2_op_t *op = NULL; /*Modifying the Service */ svc_client = axis2_stub_get_svc_client(stub, env); svc = axis2_svc_client_get_svc(svc_client, env); /*creating the operations */ op_qname = axutil_qname_create(env, "GetVersion", "", NULL); op = axis2_op_create_with_qname(env, op_qname); axis2_op_set_msg_exchange_pattern(op, env, AXIS2_MEP_URI_OUT_IN); axis2_svc_add_op(svc, env, op); axutil_qname_free(op_qname, env); } axis2_stub_t * axis2_version_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home) { axis2_stub_t *stub = NULL; AXIS2_ENV_CHECK(env, NULL); stub = (axis2_stub_t *) axis2_stub_create_with_endpoint_uri_and_client_home(env, endpoint_uri, client_home); if (!stub) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } axis2_populate_axis_service(stub, env); return stub; } /***************************Function implementation****************************/ axiom_node_t * axis2_version_stub_get_version( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node) { axis2_svc_client_t *svc_client = NULL; axiom_node_t *ret_node = NULL; axutil_qname_t *op_qname = NULL; AXIS2_ENV_CHECK(env, AXIS2_FAILURE); svc_client = axis2_stub_get_svc_client(stub, env); op_qname = axutil_qname_create(env, "GetVersion", "", NULL); ret_node = axis2_svc_client_send_receive_with_op_qname(svc_client, env, op_qname, node); axutil_qname_free(op_qname, env); return ret_node; } axis2c-src-1.6.0/samples/client/version/axis2_version_stub.h0000644000175000017500000000402311166304604025244 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_VERSION_STUB_H #define AXIS2_VERSION_STUB_H /** * @file axis2_version_stub.h * @brief axis2 version stub interface */ #include #ifdef __cplusplus extern "C" { #endif axiom_node_t *axis2_version_stub_get_version( axis2_stub_t * stub, const axutil_env_t * env, axiom_node_t * node); /** * populate services */ void axis2_populate_axis_service( axis2_stub_t * stub, const axutil_env_t * env); /** * Creates axis2_stub struct * @param endpoint reference * @return pointer to newly created axis2_stub struct */ axis2_stub_t *axis2_version_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, axis2_char_t * client_home); /** * Creates axis2_stub struct * @param endpoint uri * @return pointer to newly created axis2_stub struct */ axis2_stub_t *axis2_version_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_VERSION_STUB_H */ axis2c-src-1.6.0/samples/client/version/Makefile.am0000644000175000017500000000103111166304604023273 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = version noinst_HEADERS = axis2_version_stub.h version_SOURCES = axis2_version_stub.c \ version_client.c version_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/client/version/Makefile.in0000644000175000017500000003516411172017452023321 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = version$(EXEEXT) subdir = client/version DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_version_OBJECTS = axis2_version_stub.$(OBJEXT) \ version_client.$(OBJEXT) version_OBJECTS = $(am_version_OBJECTS) am__DEPENDENCIES_1 = version_DEPENDENCIES = $(am__DEPENDENCIES_1) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(version_SOURCES) DIST_SOURCES = $(version_SOURCES) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin noinst_HEADERS = axis2_version_stub.h version_SOURCES = axis2_version_stub.c \ version_client.c version_LDADD = \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) INCLUDES = @AXIS2INC@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu client/version/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu client/version/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done version$(EXEEXT): $(version_OBJECTS) $(version_DEPENDENCIES) @rm -f version$(EXEEXT) $(LINK) $(version_OBJECTS) $(version_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/axis2_version_stub.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version_client.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/Makefile.am0000644000175000017500000000041711166304610020334 0ustar00manjulamanjula00000000000000SUBDIRS = server client user_guide mtom_caching_callback mtom_sending_callback dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` rm -rf `find $(distdir)/ -type d -name .libs` EXTRA_DIST=codegen autogen.sh build.sh axis2c-src-1.6.0/samples/Makefile.in0000644000175000017500000004673511172017453020365 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in $(srcdir)/config.h.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ config.guess config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = server client user_guide mtom_caching_callback mtom_sending_callback EXTRA_DIST = codegen autogen.sh build.sh all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile config.h installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-info install-info-am install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags tags-recursive uninstall uninstall-am dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type d -name .deps` rm -rf `find $(distdir)/ -type d -name .libs` # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/config.h.in0000644000175000017500000000340311166310631020321 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Have GNU-style varargs macros */ #undef HAVE_GNUC_VARARGS /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Have ISO C99 varargs macros */ #undef HAVE_ISO_VARARGS /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION /* Define to empty if `const' does not conform to ANSI C. */ #undef const axis2c-src-1.6.0/samples/user_guide/0000777000175000017500000000000011172017605020437 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/user_guide/Makefile.am0000644000175000017500000000002211166304566022471 0ustar00manjulamanjula00000000000000SUBDIRS = clients axis2c-src-1.6.0/samples/user_guide/Makefile.in0000644000175000017500000003415711172017453022513 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = user_guide DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = clients all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu user_guide/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu user_guide/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/user_guide/clients/0000777000175000017500000000000011172017605022100 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_auth.mk0000644000175000017500000000050011166304566026237 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_blocking_auth.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_blocking_auth.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_blocking_auth.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking.mk0000644000175000017500000000046111166304566025224 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_blocking.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_blocking.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_blocking.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_addr.c0000644000175000017500000001050511166304566026031 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_addr.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_auth.c0000644000175000017500000002235711166304566026070 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include axiom_node_t *build_om_payload_for_echo_svc( const axutil_env_t * env); int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; const axis2_char_t *un = NULL; const axis2_char_t *pw = NULL; const axis2_char_t *unp = NULL; const axis2_char_t *pwp = NULL; axis2_bool_t http_auth_required = AXIS2_FALSE; axis2_bool_t proxy_auth_required = AXIS2_FALSE; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_auth.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) { if (axutil_strcmp(argv[1], "-h") == 0) { printf("Usage : %s [endpoint_url] (-a [username] [password]) (-p [username] [password])\n", argv[0]); printf("use -a option for HTTP Authentication\n"); printf("use -p option for Proxy Authentication\n"); printf("use -h for help\n"); return 0; } else if (axutil_strcmp(argv[1], "-a") == 0) { if (argc > 3) { un = argv[2]; pw = argv[3]; } } else if (axutil_strcmp(argv[1], "-p") == 0) { if (argc > 3) { unp = argv[2]; pwp = argv[3]; } } else { address = argv[1]; } if (argc > 4) { if (axutil_strcmp(argv[2], "-a") == 0) { un = argv[3]; pw = argv[4]; } else if (axutil_strcmp(argv[2], "-p") == 0) { unp = argv[3]; pwp = argv[4]; } } if (argc > 6) { if (axutil_strcmp(argv[4], "-a") == 0) { un = argv[5]; pw = argv[6]; if (argc > 7) { address = argv[7]; } } else if (axutil_strcmp(argv[4], "-p") == 0) { unp = argv[5]; pwp = argv[6]; if (argc > 7) { address = argv[7]; } } } if (argc > 7) { if (axutil_strcmp(argv[5], "-a") == 0) { un = argv[6]; pw = argv[7]; if (!address) { address = argv[4]; } } else if (axutil_strcmp(argv[5], "-p") == 0) { unp = argv[6]; pwp = argv[7]; if (!address) { address = argv[4]; } } } } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Enabling REST for HTTP HEAD Request */ axis2_options_set_enable_rest(options, env, AXIS2_TRUE); /* Setting Request as HTTP HEAD Request */ axis2_options_set_http_method(options, env, AXIS2_HTTP_HEAD); /* Sending dummy authentication info */ if (un && pw) { axis2_options_set_http_auth_info(options, env, "", "", NULL); } if (unp && pwp) { axis2_options_set_proxy_auth_info(options, env, "", "", NULL); } /* Force authentication tests */ axis2_options_set_test_http_auth(options, env, AXIS2_TRUE); axis2_options_set_test_proxy_auth(options, env, AXIS2_TRUE); /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* un-comment line below to setup proxy from code*/ /*axis2_svc_client_set_proxy_with_auth(svc_client, env, "127.0.0.1", "3128", NULL, NULL);*/ /* Sending robust authentication test message */ axis2_svc_client_send_robust(svc_client, env, NULL); /* Checking whether authentication is required */ if (axis2_svc_client_get_proxy_auth_required(svc_client, env)) { proxy_auth_required = AXIS2_TRUE; /* Set proxy-auth information */ if (unp && pwp) { axis2_options_set_proxy_auth_info(options, env, unp, pwp, axis2_svc_client_get_auth_type(svc_client, env)); /* un-comment line below to setup proxy from code*/ /*axis2_svc_client_set_proxy_with_auth(svc_client, env, "127.0.0.1", "3128", unp, pwp);*/ } /* Sending robust authentication test message */ axis2_svc_client_send_robust(svc_client, env, NULL); } if (axis2_svc_client_get_http_auth_required(svc_client, env)) { http_auth_required = AXIS2_TRUE; /* Set http-auth information */ if (un && pw) { axis2_options_set_http_auth_info(options, env, un, pw, axis2_svc_client_get_auth_type(svc_client, env)); } } /* Cancel authentication tests */ axis2_options_set_test_http_auth(options, env, AXIS2_FALSE); axis2_options_set_test_proxy_auth(options, env, AXIS2_FALSE); /* Print whether authentication was required */ if (http_auth_required) { printf("\nHTTP Authentication info required.\n"); } if (proxy_auth_required) { printf("\nProxy Authentication info required.\n"); } /* Disabling REST for SOAP Request */ axis2_options_set_enable_rest(options, env, AXIS2_FALSE); /* Setting Request as HTTP POST Request */ axis2_options_set_http_method(options, env, AXIS2_HTTP_POST); /* Engage addressing module */ axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) printf("\nReceived OM : %s\n", om_str); printf("\necho client invoke SUCCESSFUL!\n"); AXIS2_FREE(env->allocator, om_str); ret_node = NULL; } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_dual.c0000644000175000017500000001134011166304566026042 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_endpoint_ref_t *reply_to = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_dual.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_use_separate_listener(options, env, AXIS2_TRUE); /* Seperate listner needs addressing, hence addressing stuff in options */ axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); reply_to = axis2_endpoint_ref_create(env, "http://localhost:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__"); axis2_options_set_reply_to(options, env, reply_to); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { AXIS2_SLEEP(1); axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/user_guide/clients/echo_non_blocking.mk0000644000175000017500000000047511166304566026103 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_non_blocking.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_non_blocking.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_non_blocking.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_dual.mk0000644000175000017500000000050011166304566026223 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_blocking_dual.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_blocking_dual.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_blocking_dual.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking.c0000644000175000017500000001011211166304566025031 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/user_guide/clients/Makefile.am0000644000175000017500000000274011166304566024143 0ustar00manjulamanjula00000000000000prgbindir=$(prefix)/samples/bin prgbin_PROGRAMS = echo_blocking echo_non_blocking echo_blocking_addr echo_rest echo_blocking_dual echo_non_blocking_dual echo_blocking_soap11 echo_blocking_auth echo_blocking_SOURCES = echo_blocking.c echo_util.c echo_non_blocking_SOURCES = echo_non_blocking.c echo_util.c echo_blocking_addr_SOURCES = echo_blocking_addr.c echo_util.c echo_rest_SOURCES = echo_util.c echo_rest.c echo_blocking_dual_SOURCES = echo_blocking_dual.c echo_util.c echo_non_blocking_dual_SOURCES = echo_non_blocking_dual.c echo_util.c echo_blocking_soap11_SOURCES = echo_blocking_soap11.c echo_util.c echo_blocking_auth_SOURCES = echo_blocking_auth.c echo_util.c LINK_FLAGS = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) echo_blocking_LDADD = $(LINK_FLAGS) echo_non_blocking_LDADD = $(LINK_FLAGS) echo_blocking_addr_LDADD = $(LINK_FLAGS) echo_rest_LDADD = $(LINK_FLAGS) echo_blocking_dual_LDADD = $(LINK_FLAGS) echo_non_blocking_dual_LDADD = $(LINK_FLAGS) echo_blocking_soap11_LDADD = $(LINK_FLAGS) echo_blocking_auth_LDADD = $(LINK_FLAGS) INCLUDES = @AXIS2INC@ EXTRA_DIST=echo_util.h echo_blocking_addr.mk echo_blocking.mk echo_non_blocking_dual.mk echo_rest.mk echo_blocking_dual.mk echo_blocking_soap11.mk echo_non_blocking.mk echo_blocking_auth.mk axis2c-src-1.6.0/samples/user_guide/clients/Makefile.in0000644000175000017500000004664511172017453024161 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ prgbin_PROGRAMS = echo_blocking$(EXEEXT) echo_non_blocking$(EXEEXT) \ echo_blocking_addr$(EXEEXT) echo_rest$(EXEEXT) \ echo_blocking_dual$(EXEEXT) echo_non_blocking_dual$(EXEEXT) \ echo_blocking_soap11$(EXEEXT) echo_blocking_auth$(EXEEXT) subdir = user_guide/clients DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__installdirs = "$(DESTDIR)$(prgbindir)" prgbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(prgbin_PROGRAMS) am_echo_blocking_OBJECTS = echo_blocking.$(OBJEXT) echo_util.$(OBJEXT) echo_blocking_OBJECTS = $(am_echo_blocking_OBJECTS) am__DEPENDENCIES_1 = am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) echo_blocking_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_addr_OBJECTS = echo_blocking_addr.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_addr_OBJECTS = $(am_echo_blocking_addr_OBJECTS) echo_blocking_addr_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_auth_OBJECTS = echo_blocking_auth.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_auth_OBJECTS = $(am_echo_blocking_auth_OBJECTS) echo_blocking_auth_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_dual_OBJECTS = echo_blocking_dual.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_dual_OBJECTS = $(am_echo_blocking_dual_OBJECTS) echo_blocking_dual_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_blocking_soap11_OBJECTS = echo_blocking_soap11.$(OBJEXT) \ echo_util.$(OBJEXT) echo_blocking_soap11_OBJECTS = $(am_echo_blocking_soap11_OBJECTS) echo_blocking_soap11_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_non_blocking_OBJECTS = echo_non_blocking.$(OBJEXT) \ echo_util.$(OBJEXT) echo_non_blocking_OBJECTS = $(am_echo_non_blocking_OBJECTS) echo_non_blocking_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_non_blocking_dual_OBJECTS = echo_non_blocking_dual.$(OBJEXT) \ echo_util.$(OBJEXT) echo_non_blocking_dual_OBJECTS = $(am_echo_non_blocking_dual_OBJECTS) echo_non_blocking_dual_DEPENDENCIES = $(am__DEPENDENCIES_2) am_echo_rest_OBJECTS = echo_util.$(OBJEXT) echo_rest.$(OBJEXT) echo_rest_OBJECTS = $(am_echo_rest_OBJECTS) echo_rest_DEPENDENCIES = $(am__DEPENDENCIES_2) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(echo_blocking_SOURCES) $(echo_blocking_addr_SOURCES) \ $(echo_blocking_auth_SOURCES) $(echo_blocking_dual_SOURCES) \ $(echo_blocking_soap11_SOURCES) $(echo_non_blocking_SOURCES) \ $(echo_non_blocking_dual_SOURCES) $(echo_rest_SOURCES) DIST_SOURCES = $(echo_blocking_SOURCES) $(echo_blocking_addr_SOURCES) \ $(echo_blocking_auth_SOURCES) $(echo_blocking_dual_SOURCES) \ $(echo_blocking_soap11_SOURCES) $(echo_non_blocking_SOURCES) \ $(echo_non_blocking_dual_SOURCES) $(echo_rest_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prgbindir = $(prefix)/samples/bin echo_blocking_SOURCES = echo_blocking.c echo_util.c echo_non_blocking_SOURCES = echo_non_blocking.c echo_util.c echo_blocking_addr_SOURCES = echo_blocking_addr.c echo_util.c echo_rest_SOURCES = echo_util.c echo_rest.c echo_blocking_dual_SOURCES = echo_blocking_dual.c echo_util.c echo_non_blocking_dual_SOURCES = echo_non_blocking_dual.c echo_util.c echo_blocking_soap11_SOURCES = echo_blocking_soap11.c echo_util.c echo_blocking_auth_SOURCES = echo_blocking_auth.c echo_util.c LINK_FLAGS = $(LDFLAGS) \ -L$(AXIS2C_HOME)/lib \ -laxutil \ -laxis2_axiom \ -laxis2_engine \ -laxis2_parser \ -lpthread \ -laxis2_http_sender \ -laxis2_http_receiver \ $(GUTHTHILA_LIBS) echo_blocking_LDADD = $(LINK_FLAGS) echo_non_blocking_LDADD = $(LINK_FLAGS) echo_blocking_addr_LDADD = $(LINK_FLAGS) echo_rest_LDADD = $(LINK_FLAGS) echo_blocking_dual_LDADD = $(LINK_FLAGS) echo_non_blocking_dual_LDADD = $(LINK_FLAGS) echo_blocking_soap11_LDADD = $(LINK_FLAGS) echo_blocking_auth_LDADD = $(LINK_FLAGS) INCLUDES = @AXIS2INC@ EXTRA_DIST = echo_util.h echo_blocking_addr.mk echo_blocking.mk echo_non_blocking_dual.mk echo_rest.mk echo_blocking_dual.mk echo_blocking_soap11.mk echo_non_blocking.mk echo_blocking_auth.mk all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu user_guide/clients/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu user_guide/clients/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prgbinPROGRAMS: $(prgbin_PROGRAMS) @$(NORMAL_INSTALL) test -z "$(prgbindir)" || $(MKDIR_P) "$(DESTDIR)$(prgbindir)" @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ if test -f $$p \ || test -f $$p1 \ ; then \ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \ echo " $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(prgbindir)/$$f'"; \ $(INSTALL_PROGRAM_ENV) $(LIBTOOL) --mode=install $(prgbinPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(prgbindir)/$$f" || exit 1; \ else :; fi; \ done uninstall-prgbinPROGRAMS: @$(NORMAL_UNINSTALL) @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \ echo " rm -f '$(DESTDIR)$(prgbindir)/$$f'"; \ rm -f "$(DESTDIR)$(prgbindir)/$$f"; \ done clean-prgbinPROGRAMS: @list='$(prgbin_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done echo_blocking$(EXEEXT): $(echo_blocking_OBJECTS) $(echo_blocking_DEPENDENCIES) @rm -f echo_blocking$(EXEEXT) $(LINK) $(echo_blocking_OBJECTS) $(echo_blocking_LDADD) $(LIBS) echo_blocking_addr$(EXEEXT): $(echo_blocking_addr_OBJECTS) $(echo_blocking_addr_DEPENDENCIES) @rm -f echo_blocking_addr$(EXEEXT) $(LINK) $(echo_blocking_addr_OBJECTS) $(echo_blocking_addr_LDADD) $(LIBS) echo_blocking_auth$(EXEEXT): $(echo_blocking_auth_OBJECTS) $(echo_blocking_auth_DEPENDENCIES) @rm -f echo_blocking_auth$(EXEEXT) $(LINK) $(echo_blocking_auth_OBJECTS) $(echo_blocking_auth_LDADD) $(LIBS) echo_blocking_dual$(EXEEXT): $(echo_blocking_dual_OBJECTS) $(echo_blocking_dual_DEPENDENCIES) @rm -f echo_blocking_dual$(EXEEXT) $(LINK) $(echo_blocking_dual_OBJECTS) $(echo_blocking_dual_LDADD) $(LIBS) echo_blocking_soap11$(EXEEXT): $(echo_blocking_soap11_OBJECTS) $(echo_blocking_soap11_DEPENDENCIES) @rm -f echo_blocking_soap11$(EXEEXT) $(LINK) $(echo_blocking_soap11_OBJECTS) $(echo_blocking_soap11_LDADD) $(LIBS) echo_non_blocking$(EXEEXT): $(echo_non_blocking_OBJECTS) $(echo_non_blocking_DEPENDENCIES) @rm -f echo_non_blocking$(EXEEXT) $(LINK) $(echo_non_blocking_OBJECTS) $(echo_non_blocking_LDADD) $(LIBS) echo_non_blocking_dual$(EXEEXT): $(echo_non_blocking_dual_OBJECTS) $(echo_non_blocking_dual_DEPENDENCIES) @rm -f echo_non_blocking_dual$(EXEEXT) $(LINK) $(echo_non_blocking_dual_OBJECTS) $(echo_non_blocking_dual_LDADD) $(LIBS) echo_rest$(EXEEXT): $(echo_rest_OBJECTS) $(echo_rest_DEPENDENCIES) @rm -f echo_rest$(EXEEXT) $(LINK) $(echo_rest_OBJECTS) $(echo_rest_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_addr.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_auth.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_dual.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_blocking_soap11.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_non_blocking.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_non_blocking_dual.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_rest.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_util.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(PROGRAMS) installdirs: for dir in "$(DESTDIR)$(prgbindir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prgbinPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prgbinPROGRAMS install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prgbinPROGRAMS .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prgbinPROGRAMS ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prgbinPROGRAMS install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags uninstall \ uninstall-am uninstall-prgbinPROGRAMS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_soap11.mk0000644000175000017500000000050611166304566026410 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_blocking_soap11.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_blocking_soap11.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_blocking_soap11.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_rest.mk0000644000175000017500000000044511166304566024413 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_rest.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_rest.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_rest.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_non_blocking.c0000644000175000017500000001521511166304566025714 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include /* my on_complete callback function */ axis2_status_t AXIS2_CALL echo_process_response_envelope( struct axis2_callback * callback, const axutil_env_t * env); /* my on_error callback function */ axis2_status_t AXIS2_CALL echo_callback_on_error( struct axis2_callback *callback, const axutil_env_t * env, int exception); /* to check whether the callback is completed */ int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axis2_callback_t *callback = NULL; int count = 0; /* Set up the environment */ env = axutil_env_create_all("echo_non_blocking.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Create the callback object with default on_complete and on_error callback functions */ callback = axis2_callback_create(env); /* Set our on_complete fucntion pointer to the callback object */ /*axis2_callback_set_on_complete(callback, echo_callback_on_complete);*/ /* Set our on_error function pointer to the callback object */ axis2_callback_set_on_error(callback, echo_callback_on_error); /* Send request */ axis2_svc_client_send_receive_non_blocking(svc_client, env, payload, callback); /** Wait till callback is complete. Simply keep the parent thread running until our on_complete or on_error is invoked */ while(!axis2_callback_get_complete(callback, env)) { AXIS2_SLEEP(1); if(count < 30) { count++; } else { printf("\necho client invoke FAILED. Counter timed out.\n"); } } echo_process_response_envelope(callback, env); if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2_status_t AXIS2_CALL echo_process_response_envelope( struct axis2_callback * callback, const axutil_env_t * env) { /** SOAP response has arrived here; get the soap envelope from the callback object and do whatever you want to do with it */ axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *ret_node = NULL; axis2_status_t status = AXIS2_SUCCESS; soap_envelope = axis2_callback_get_envelope(callback, env); if (!soap_envelope) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { ret_node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (!ret_node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } } return status; } axis2_status_t AXIS2_CALL echo_callback_on_error( struct axis2_callback * callback, const axutil_env_t * env, int exception) { /** take necessary action on error */ printf("\necho client invike FAILED. Error code:%d ::%s", exception, AXIS2_ERROR_GET_MESSAGE(env->error)); return AXIS2_SUCCESS; } axis2c-src-1.6.0/samples/user_guide/clients/echo_non_blocking_dual.c0000644000175000017500000001673311166304566026727 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include #define MAX_COUNT 3000000 /* my on_complete callback function */ axis2_status_t AXIS2_CALL echo_callback_on_complete( struct axis2_callback * callback, const axutil_env_t * env); /* my on_error callback function */ axis2_status_t AXIS2_CALL echo_callback_on_error( struct axis2_callback *callback, const axutil_env_t * env, int exception); /* to check whether the callback is completed */ int isComplete = 0; int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_endpoint_ref_t *reply_to = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axis2_callback_t *callback = NULL; int count = 0; /* Set up the environment */ env = axutil_env_create_all("echo_non_blocking_dual.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_use_separate_listener(options, env, AXIS2_TRUE); /* Seperate listner needs addressing, hence addressing stuff in options */ axis2_options_set_action(options, env, "http://ws.apache.org/axis2/c/samples/echoString"); reply_to = axis2_endpoint_ref_create(env, "http://localhost:6060/axis2/services/__ANONYMOUS_SERVICE__/__OPERATION_OUT_IN__"); axis2_options_set_reply_to(options, env, reply_to); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); axis2_svc_client_engage_module(svc_client, env, AXIS2_MODULE_ADDRESSING); /*axis2_svc_client_engage_module(svc_client, env, "sandesha2"); */ /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Create the callback object with default on_complete and on_error callback functions */ callback = axis2_callback_create(env); /* Set our on_complete fucntion pointer to the callback object */ axis2_callback_set_on_complete(callback, echo_callback_on_complete); /* Set our on_error function pointer to the callback object */ axis2_callback_set_on_error(callback, echo_callback_on_error); /* Send request */ axis2_svc_client_send_receive_non_blocking(svc_client, env, payload, callback); /** Wait till callback is complete. Simply keep the parent thread running until our on_complete or on_error is invoked */ while (count < MAX_COUNT) { if (isComplete) { /* We are done with the callback */ break; } /* AXIS2_SLEEP(1); */ count++; } if (!(count < MAX_COUNT)) { printf("\necho client invoke FAILED. Counter timed out.\n"); } if (svc_client) { AXIS2_SLEEP(1); axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2_status_t AXIS2_CALL echo_callback_on_complete( struct axis2_callback * callback, const axutil_env_t * env) { /** SOAP response has arrived here; get the soap envelope from the callback object and do whatever you want to do with it */ axiom_soap_envelope_t *soap_envelope = NULL; axiom_node_t *ret_node = NULL; axis2_status_t status = AXIS2_SUCCESS; soap_envelope = axis2_callback_get_envelope(callback, env); if (!soap_envelope) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { ret_node = axiom_soap_envelope_get_base_node(soap_envelope, env); if (!ret_node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo stub invoke FAILED!\n"); status = AXIS2_FAILURE; } else { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) printf("\nReceived OM : %s\n", om_str); printf("\necho client invoke SUCCESSFUL!\n"); } } isComplete = 1; return status; } axis2_status_t AXIS2_CALL echo_callback_on_error( struct axis2_callback * callback, const axutil_env_t * env, int exception) { /** take necessary action on error */ printf("\nEcho client invoke FAILED. Error code:%d ::%s", exception, AXIS2_ERROR_GET_MESSAGE(env->error)); isComplete = 1; return AXIS2_SUCCESS; } axis2c-src-1.6.0/samples/user_guide/clients/echo_non_blocking_dual.mk0000644000175000017500000000051411166304566027102 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_non_blocking_dual.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_non_blocking_dual.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_non_blocking_dual.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_addr.mk0000644000175000017500000000050011166304566026210 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "AXIS2_DECLARE_EXPORT" /D "_MBCS" echo_blocking_addr.C echo_util.c /I.\..\..\..\include /c @link.exe /nologo echo_blocking_addr.obj echo_util.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /OUT:echo_blocking_addr.exe axis2c-src-1.6.0/samples/user_guide/clients/echo_rest.c0000644000175000017500000001656711166304566024242 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; axis2_bool_t method_get = AXIS2_FALSE; axis2_bool_t method_head = AXIS2_FALSE; axis2_bool_t method_put = AXIS2_FALSE; axis2_bool_t method_delete = AXIS2_FALSE; /* Set up the environment */ env = axutil_env_create_all("echo_rest.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo/echoString"; if (argc > 1) { if (0 == strncmp(argv[1], "-mGET", 5)) { method_get = AXIS2_TRUE; } else if (0 == strncmp(argv[1], "-mHEAD", 6)) { method_head = AXIS2_TRUE; } else if (0 == strncmp(argv[1], "-mPUT", 5)) { method_put = AXIS2_TRUE; } else if (0 == strncmp(argv[1], "-mDELETE",8 )) { method_delete = AXIS2_TRUE; } else if (0 == axutil_strcmp(argv[1], "-h")) { printf("Usage : %s [endpoint_url] \n", argv[0]); printf("\nNOTE: You can test for other HTTP methods by changing the"); printf(" services.xml of the echo service\n and providing the correct REST HTTP method"); printf(" and the location to be used for operation.\n"); printf(" Also note that you have to restart the server after changing the services.xml.\n"); printf(" use %s -mGET for HTTP GET\n", argv[0]); printf(" use %s -mHEAD for HTTP HEAD\n", argv[0]); printf(" use %s -mDELETE for HTTP DELETE\n", argv[0]); printf(" use %s -mPUT for HTTP PUT\n", argv[0]); printf(" use -h for help\n"); return 0; } else { address = argv[1]; } } if (argc > 2) { if (0 == strncmp(argv[2], "-mGET", 5)) { method_get = AXIS2_TRUE; } else if (0 == strncmp(argv[2], "-mHEAD", 6)) { method_head = AXIS2_TRUE; } else if (0 == strncmp(argv[2], "-mPUT", 5)) { method_put = AXIS2_TRUE; } else if (0 == strncmp(argv[2], "-mDELETE",8 )) { method_delete = AXIS2_TRUE; } else { address = argv[2]; } } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); /* Enable REST at the client side */ axis2_options_set_enable_rest(options, env, AXIS2_TRUE); if (AXIS2_TRUE == method_get) { axis2_options_set_http_method(options, env, AXIS2_HTTP_GET); } else if (AXIS2_TRUE == method_head) { axis2_options_set_http_method(options, env, AXIS2_HTTP_HEAD); } else if (AXIS2_TRUE == method_put) { axis2_options_set_http_method(options, env, AXIS2_HTTP_PUT); } else if (AXIS2_TRUE == method_delete) { axis2_options_set_http_method(options, env, AXIS2_HTTP_DELETE); } /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node && axis2_svc_client_get_last_response_has_fault(svc_client, env)) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke FAILED!\n"); } else if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else if (method_head && axis2_svc_client_get_last_response_has_fault(svc_client, env)) { /* HEAD request should probably be removed from this file, * and be relocated to transport unit tests. */ printf("\necho client invoke FAILED!\n"); } else if (method_head) { /* HEAD request should probably be removed from this file, * and be relocated to transport unit tests. */ printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/user_guide/clients/echo_util.c0000644000175000017500000000334611166304566024231 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" /* build SOAP request message content using OM */ axiom_node_t * build_om_payload_for_echo_svc( const axutil_env_t * env) { axiom_node_t *echo_om_node = NULL; axiom_element_t *echo_om_ele = NULL; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns1 = NULL; axis2_char_t *om_str = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/services/echo", "ns1"); echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node); text_om_ele = axiom_element_create(env, echo_om_node, "text", NULL, &text_om_node); axiom_element_set_text(text_om_ele, env, "Hello World!", text_om_node); om_str = axiom_node_to_string(echo_om_node, env); if (om_str) printf("\nSending OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); return echo_om_node; } axis2c-src-1.6.0/samples/user_guide/clients/echo_util.h0000644000175000017500000000173311166304566024234 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_UG_ECHO_UTIL_H #define AXIS2_UG_ECHO_UTIL_H #include #include axiom_node_t *build_om_payload_for_echo_svc( const axutil_env_t * env); #endif axis2c-src-1.6.0/samples/user_guide/clients/echo_blocking_soap11.c0000644000175000017500000001072311166304566026225 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo_util.h" #include #include #include int main( int argc, char **argv) { const axutil_env_t *env = NULL; const axis2_char_t *address = NULL; axis2_endpoint_ref_t *endpoint_ref = NULL; axis2_options_t *options = NULL; const axis2_char_t *client_home = NULL; axis2_svc_client_t *svc_client = NULL; axiom_node_t *payload = NULL; axiom_node_t *ret_node = NULL; axutil_string_t *soap_action = NULL; /* Set up the environment */ env = axutil_env_create_all("echo_blocking_soap11.log", AXIS2_LOG_LEVEL_TRACE); /* Set end point reference of echo service */ address = "http://localhost:9090/axis2/services/echo"; if (argc > 1) address = argv[1]; if (axutil_strcmp(address, "-h") == 0) { printf("Usage : %s [endpoint_url]\n", argv[0]); printf("use -h for help\n"); return 0; } printf("Using endpoint : %s\n", address); /* Create EPR with given address */ endpoint_ref = axis2_endpoint_ref_create(env, address); /* Setup options */ options = axis2_options_create(env); axis2_options_set_to(options, env, endpoint_ref); axis2_options_set_soap_version(options, env, AXIOM_SOAP11); soap_action = axutil_string_create(env, "http://ws.apache.org/axis2/c/samples/echo/soap_action"); axis2_options_set_soap_action(options, env, soap_action); axutil_string_free(soap_action, env); /* Set up deploy folder. It is from the deploy folder, the configuration is picked up * using the axis2.xml file. * In this sample client_home points to the Axis2/C default deploy folder. The client_home can * be different from this folder on your system. For example, you may have a different folder * (say, my_client_folder) with its own axis2.xml file. my_client_folder/modules will have the * modules that the client uses */ client_home = AXIS2_GETENV("AXIS2C_HOME"); if (!client_home || !strcmp(client_home, "")) client_home = "../.."; /* Create service client */ svc_client = axis2_svc_client_create(env, client_home); if (!svc_client) { printf ("Error creating service client, Please check AXIS2C_HOME again\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); return -1; } /* Set service client options */ axis2_svc_client_set_options(svc_client, env, options); /* Build the SOAP request message payload using OM API. */ payload = build_om_payload_for_echo_svc(env); /* Send request */ ret_node = axis2_svc_client_send_receive(svc_client, env, payload); if (ret_node) { axis2_char_t *om_str = NULL; om_str = axiom_node_to_string(ret_node, env); if (om_str) { printf("\nReceived OM : %s\n", om_str); AXIS2_FREE(env->allocator, om_str); } printf("\necho client invoke SUCCESSFUL!\n"); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Stub invoke FAILED: Error code:" " %d :: %s", env->error->error_number, AXIS2_ERROR_GET_MESSAGE(env->error)); printf("echo client invoke FAILED!\n"); } if (svc_client) { axis2_svc_client_free(svc_client, env); svc_client = NULL; } if (env) { axutil_env_free((axutil_env_t *) env); env = NULL; } return 0; } axis2c-src-1.6.0/samples/server/0000777000175000017500000000000011172017604017611 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/echo/0000777000175000017500000000000011172017604020527 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/echo/echo.mk0000644000175000017500000000034011166304603021770 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:echo.dll axis2c-src-1.6.0/samples/server/echo/echo_skeleton.c0000644000175000017500000001116111166304603023512 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "echo.h" #include #include #include int AXIS2_CALL echo_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL echo_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL echo_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); axiom_node_t *AXIS2_CALL echo_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node); static const axis2_svc_skeleton_ops_t echo_svc_skeleton_ops_var = { echo_init, echo_invoke, echo_on_fault, echo_free }; /*Create function */ axis2_svc_skeleton_t * axis2_echo_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; /* Allocate memory for the structs */ svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &echo_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } /* Initialize the service */ int AXIS2_CALL echo_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of echo service should go here */ return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL echo_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Invoke the business logic. * Depending on the function name invoke the correct impl method. * We have only echo in this sample, hence invoke echo method. * To see how to deal with multiple impl methods, have a look at the * math sample. */ axis2_endpoint_ref_t* to_epr = NULL; to_epr = axis2_msg_ctx_get_to(msg_ctx, env); if (to_epr) { axis2_char_t* to_address = NULL; to_address = (axis2_char_t*)axis2_endpoint_ref_get_address(to_epr, env); if (to_address && strstr(to_address, AXIS2_ANON_SERVICE)) { axis2_msg_ctx_set_wsa_action(msg_ctx, env, AXIS2_ANON_OUT_IN_OP); } } return axis2_echo_echo(env, node); } /* On fault, handle the fault */ axiom_node_t *AXIS2_CALL echo_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node) { /* Here we are just setting a simple error message inside an element * called 'EchoServiceError' */ axiom_node_t *error_node = NULL; axiom_element_t *error_ele = NULL; error_ele = axiom_element_create(env, NULL, "EchoServiceError", NULL, &error_node); axiom_element_set_text(error_ele, env, "Echo service failed ", error_node); return error_node; } /* Free the resources used */ int AXIS2_CALL echo_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Free the function array */ if (svc_skeleton->func_array) { axutil_array_list_free(svc_skeleton->func_array, env); svc_skeleton->func_array = NULL; } /* Free the service skeleton */ if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( axis2_svc_skeleton_t ** inst, const axutil_env_t * env) { *inst = axis2_echo_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/echo/echo.c0000644000175000017500000000700011166304603021603 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "echo.h" #include #include axiom_node_t *build_om_programatically( const axutil_env_t * env, axis2_char_t * text); void set_custom_error( const axutil_env_t * env, axis2_char_t * error_message); axiom_node_t * axis2_echo_echo( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *text_parent_node = NULL; axiom_node_t *text_node = NULL; axiom_node_t *ret_node = NULL; AXIS2_ENV_CHECK(env, NULL); /* Expected request format is :- * * echo5 * */ if (!node) /* 'echoString' node */ { set_custom_error(env, "Invalid payload; echoString node is NULL"); return NULL; } text_parent_node = axiom_node_get_first_element(node, env); if (!text_parent_node) { set_custom_error(env, "Invalid payload; text node is NULL"); return NULL; } text_node = axiom_node_get_first_child(text_parent_node, env); if (!text_node) /* actual text to echo */ { set_custom_error(env, "Invalid payload; text to be echoed is NULL"); return NULL; } if (axiom_node_get_node_type(text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(text_node, env); if (text && axiom_text_get_value(text, env)) { axis2_char_t *text_str = (axis2_char_t *) axiom_text_get_value(text, env); ret_node = build_om_programatically(env, text_str); } } else { set_custom_error(env, "Invalid payload; invalid XML in request"); return NULL; } return ret_node; } /* Builds the response content */ axiom_node_t * build_om_programatically( const axutil_env_t * env, axis2_char_t * text) { axiom_node_t *echo_om_node = NULL; axiom_element_t *echo_om_ele = NULL; axiom_node_t *text_om_node = NULL; axiom_element_t *text_om_ele = NULL; axiom_namespace_t *ns1 = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples", "ns1"); echo_om_ele = axiom_element_create(env, NULL, "echoString", ns1, &echo_om_node); text_om_ele = axiom_element_create(env, echo_om_node, "text", NULL, &text_om_node); axiom_element_set_text(text_om_ele, env, text, text_om_node); return echo_om_node; } void set_custom_error( const axutil_env_t * env, axis2_char_t * error_message) { axutil_error_set_error_message(env->error, error_message); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_LAST + 1, AXIS2_FAILURE); } axis2c-src-1.6.0/samples/server/echo/echo.h0000644000175000017500000000216611166304603021620 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CALC_H #define CALC_H #include #include #include #include #include #include axiom_node_t *axis2_echo_echo( const axutil_env_t * env, axiom_node_t * node); #endif /* CALC_H */ axis2c-src-1.6.0/samples/server/echo/Makefile.am0000644000175000017500000000037611166304603022566 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/echo prglib_LTLIBRARIES = libecho.la prglib_DATA= services.xml EXTRA_DIST = services.xml echo.mk echo.h noinst_HEADERS = echo.h SUBDIRS = libecho_la_SOURCES = echo.c echo_skeleton.c libecho_la_LIBADD = INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/echo/Makefile.in0000644000175000017500000004634411172017452022604 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/echo DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libecho_la_DEPENDENCIES = am_libecho_la_OBJECTS = echo.lo echo_skeleton.lo libecho_la_OBJECTS = $(am_libecho_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libecho_la_SOURCES) DIST_SOURCES = $(libecho_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/echo prglib_LTLIBRARIES = libecho.la prglib_DATA = services.xml EXTRA_DIST = services.xml echo.mk echo.h noinst_HEADERS = echo.h SUBDIRS = libecho_la_SOURCES = echo.c echo_skeleton.c libecho_la_LIBADD = INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/echo/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/echo/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libecho.la: $(libecho_la_OBJECTS) $(libecho_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libecho_la_OBJECTS) $(libecho_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/echo_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/echo/services.xml0000644000175000017500000000317511166304603023077 0ustar00manjulamanjula00000000000000 echo This is a testing service, to test whether the system is working or not http://ws.apache.org/axis2/c/samples/echoString POST echoString axis2c-src-1.6.0/samples/server/math/0000777000175000017500000000000011172017604020542 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/math/math.mk0000644000175000017500000000037011166304600022016 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "AXIS2_DECLARE_EXPORT" /D "_WINDOWS" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:math.dll axis2c-src-1.6.0/samples/server/math/math_skeleton.c0000644000175000017500000001006711166304600023541 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "math.h" #include #include int AXIS2_CALL math_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL math_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL math_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t math_svc_skeleton_ops_var = { math_init, math_invoke, NULL, math_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL math_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &math_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL math_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of math goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL math_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL math_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding math method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "add") == 0) return axis2_math_add(env, node); if (axutil_strcmp(op_name, "sub") == 0) return axis2_math_sub(env, node); if (axutil_strcmp(op_name, "mul") == 0) return axis2_math_mul(env, node); if (axutil_strcmp(op_name, "div") == 0) return axis2_math_div(env, node); } } } } printf("Math service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = math_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/math/Makefile.am0000644000175000017500000000037611166304600022576 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/math prglib_LTLIBRARIES = libmath.la prglib_DATA=services.xml EXTRA_DIST = services.xml math.mk math.h noinst_HEADERS = math.h SUBDIRS = libmath_la_SOURCES = math.c math_skeleton.c libmath_la_LIBADD = INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/math/Makefile.in0000644000175000017500000004634511172017452022620 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/math DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libmath_la_DEPENDENCIES = am_libmath_la_OBJECTS = math.lo math_skeleton.lo libmath_la_OBJECTS = $(am_libmath_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libmath_la_SOURCES) DIST_SOURCES = $(libmath_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/math prglib_LTLIBRARIES = libmath.la prglib_DATA = services.xml EXTRA_DIST = services.xml math.mk math.h noinst_HEADERS = math.h SUBDIRS = libmath_la_SOURCES = math.c math_skeleton.c libmath_la_LIBADD = INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/math/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/math/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmath.la: $(libmath_la_OBJECTS) $(libmath_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libmath_la_OBJECTS) $(libmath_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/math.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/math_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/math/math.c0000644000175000017500000004210311166304600021631 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "math.h" #include axiom_node_t * axis2_math_add( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 + param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axiom_node_t * axis2_math_sub( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 - param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axiom_node_t * axis2_math_mul( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 * param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axiom_node_t * axis2_math_div( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); if (param2 == 0) return NULL; result = param1 / param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/math/math.h0000644000175000017500000000256711166304600021650 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MATH_H #define MATH_H #include #include #include #include #include #include axiom_node_t *axis2_math_add( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_math_sub( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_math_mul( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_math_div( const axutil_env_t * env, axiom_node_t * node); #endif /* MATH_H */ axis2c-src-1.6.0/samples/server/math/services.xml0000644000175000017500000000121711166304600023102 0ustar00manjulamanjula00000000000000 math This is a testing service, named 'math' to test multiple operations in the same service axis2c-src-1.6.0/samples/server/mtom/0000777000175000017500000000000011172017604020565 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/mtom/Makefile.am0000644000175000017500000000037611166304603022624 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/mtom prglib_LTLIBRARIES = libmtom.la prglib_DATA= services.xml EXTRA_DIST = services.xml mtom.mk mtom.h noinst_HEADERS = mtom.h SUBDIRS = libmtom_la_SOURCES = mtom.c mtom_skeleton.c libmtom_la_LIBADD = INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/mtom/Makefile.in0000644000175000017500000004634411172017452022642 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/mtom DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libmtom_la_DEPENDENCIES = am_libmtom_la_OBJECTS = mtom.lo mtom_skeleton.lo libmtom_la_OBJECTS = $(am_libmtom_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libmtom_la_SOURCES) DIST_SOURCES = $(libmtom_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/mtom prglib_LTLIBRARIES = libmtom.la prglib_DATA = services.xml EXTRA_DIST = services.xml mtom.mk mtom.h noinst_HEADERS = mtom.h SUBDIRS = libmtom_la_SOURCES = mtom.c mtom_skeleton.c libmtom_la_LIBADD = INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/mtom/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/mtom/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmtom.la: $(libmtom_la_OBJECTS) $(libmtom_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libmtom_la_OBJECTS) $(libmtom_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/mtom/mtom.mk0000644000175000017500000000034011166304603022064 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:mtom.dll axis2c-src-1.6.0/samples/server/mtom/mtom.c0000644000175000017500000002352611166304603021712 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "mtom.h" #include #include axiom_node_t *build_response1( const axutil_env_t * env, axis2_char_t * text); axiom_node_t *build_response2( const axutil_env_t *env, axiom_data_handler_t *data_handler); axiom_node_t* axis2_mtom_mtom( const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t *msg_ctx) { axiom_node_t *file_name_node = NULL; axiom_node_t *file_text_node = NULL; axiom_node_t *ret_node = NULL; AXIS2_ENV_CHECK(env, NULL); /* Expected request format is :- * test.jpg */ if (!node) /* 'mtomSample' node */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Echo client ERROR: input parameter NULL\n"); return NULL; } file_name_node = axiom_node_get_first_child(node, env); if (!file_name_node) /* 'text' node */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Echo client ERROR: invalid XML in request\n"); return NULL; } file_text_node = axiom_node_get_first_child(file_name_node, env); if (!file_text_node) /* actual text to mtom */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Echo client ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(file_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(file_text_node, env); if (text && axiom_text_get_value(text, env)) { axiom_node_t *image_node = NULL; axis2_char_t *text_str = (axis2_char_t *) axiom_text_get_value(text, env); printf("File Name %s \n", text_str); image_node = axiom_node_get_next_sibling(file_name_node, env); if (image_node) { /* axiom_node_t *inc_node = NULL; inc_node = axiom_node_get_first_child(image_node, env); if (inc_node) { */ axiom_node_t *binary_node = NULL; binary_node = axiom_node_get_first_child(image_node, env); if (binary_node) { axiom_data_handler_t *data_handler = NULL; axiom_text_t *bin_text = (axiom_text_t *) axiom_node_get_data_element(binary_node, env); data_handler = axiom_text_get_data_handler(bin_text, env); if (data_handler && !axiom_data_handler_get_cached(data_handler, env)) { axiom_data_handler_t *data_handler_res = NULL; axis2_byte_t *input_buff = NULL; axis2_byte_t *buff = NULL; int buff_len = 0; axiom_data_handler_set_file_name(data_handler, env, text_str); axiom_data_handler_write_to(data_handler, env); input_buff = axiom_data_handler_get_input_stream(data_handler, env); buff_len = axiom_data_handler_get_input_stream_len(data_handler, env); data_handler_res = axiom_data_handler_create(env, NULL, NULL); buff = AXIS2_MALLOC(env->allocator, sizeof(axis2_byte_t)*buff_len); if (!buff) { AXIS2_LOG_ERROR (env->log, AXIS2_LOG_SI, "malloc failed, not enough memory"); return NULL; } memcpy(buff, input_buff, buff_len); axiom_data_handler_set_binary_data(data_handler_res, env, buff, buff_len); axis2_msg_ctx_set_doing_mtom (msg_ctx, env, AXIS2_TRUE); ret_node = build_response2(env, data_handler_res); } else if(data_handler && axiom_data_handler_get_cached(data_handler, env)) { axiom_data_handler_t *data_handler_res = NULL; axis2_char_t *file_name = NULL; file_name = axiom_data_handler_get_file_name(data_handler, env); if(!file_name) { return NULL; } data_handler_res = axiom_data_handler_create(env, file_name, NULL); axis2_msg_ctx_set_doing_mtom (msg_ctx, env, AXIS2_TRUE); ret_node = build_response2(env, data_handler_res); } else if (axiom_node_get_node_type(binary_node, env) == AXIOM_TEXT) /* attachment has come by value, as non-optimized binary */ { int plain_binary_len = 0; int ret_len = 0; axiom_text_t *bin_text = (axiom_text_t *) axiom_node_get_data_element(binary_node, env); axis2_byte_t *plain_binary = NULL; axiom_data_handler_t *data_handler = NULL; axis2_char_t *base64text = (axis2_char_t *) axiom_text_get_value(bin_text, env); printf("base64text = %s\n", base64text); plain_binary_len = axutil_base64_decode_len(base64text); plain_binary = AXIS2_MALLOC(env-> allocator, sizeof(unsigned char) * plain_binary_len); ret_len = axutil_base64_decode_binary((unsigned char *) plain_binary, base64text); data_handler = axiom_data_handler_create(env, text_str, NULL); axiom_data_handler_set_binary_data(data_handler, env, plain_binary, ret_len); axiom_data_handler_write_to(data_handler, env); ret_node = build_response1(env, base64text); } else /* nothing came */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_ATTACHMENT_MISSING, AXIS2_FAILURE); printf("Echo client ERROR: attachment is missing.\n"); return NULL; } /* } */ } } } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Echo client ERROR: invalid XML in request\n"); return NULL; } return ret_node; } /* Builds the response content */ axiom_node_t * build_response1( const axutil_env_t * env, axis2_char_t * text) { axiom_node_t *mtom_om_node = NULL; axiom_element_t *mtom_om_ele = NULL; axiom_node_t *om_node = NULL; axiom_element_t *om_ele = NULL; axiom_namespace_t *ns1 = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples", "ns1"); mtom_om_ele = axiom_element_create(env, NULL, "response", ns1, &mtom_om_node); om_ele = axiom_element_create(env, mtom_om_node, "string", NULL, &om_node); axiom_element_set_text(mtom_om_ele, env, text, om_node); return mtom_om_node; } axiom_node_t *build_response2( const axutil_env_t *env, axiom_data_handler_t *data_handler) { axiom_node_t *mtom_om_node = NULL; axiom_element_t *mtom_om_ele = NULL; axiom_node_t *text_node = NULL; axiom_namespace_t *ns1 = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples", "ns1"); mtom_om_ele = axiom_element_create(env, NULL, "response", ns1, &mtom_om_node); axiom_text_create_with_data_handler(env, mtom_om_node, data_handler, &text_node); return mtom_om_node; } axis2c-src-1.6.0/samples/server/mtom/mtom.h0000644000175000017500000000222411166304603021707 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CALC_H #define CALC_H #include #include #include #include #include #include axiom_node_t *axis2_mtom_mtom( const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t *msg_ctx); #endif /* CALC_H */ axis2c-src-1.6.0/samples/server/mtom/services.xml0000644000175000017500000000055211166304603023131 0ustar00manjulamanjula00000000000000 mtom This is a testing service , to test the system is working or not http://ws.apache.org/axis2/c/samples/mtom axis2c-src-1.6.0/samples/server/mtom/mtom_skeleton.c0000644000175000017500000001045011166304603023606 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "mtom.h" #include int AXIS2_CALL mtom_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL mtom_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL mtom_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); axiom_node_t *AXIS2_CALL mtom_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node); static const axis2_svc_skeleton_ops_t mtom_svc_skeleton_ops_var = { mtom_init, mtom_invoke, mtom_on_fault, mtom_free }; /*Create function */ axis2_svc_skeleton_t * axis2_mtom_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; /* Allocate memory for the structs */ svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &mtom_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } /* Initialize the service */ int AXIS2_CALL mtom_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of mtom service should go here */ return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL mtom_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Invoke the business logic. * Depending on the function name invoke the correct impl method. * We have only mtom in this sample, hence invoke mtom method. * To see how to deal with multiple impl methods, have a look at the * math sample. */ return axis2_mtom_mtom(env, node, msg_ctx); } /* On fault, handle the fault */ axiom_node_t *AXIS2_CALL mtom_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node) { /* Here we are just setting a simple error message inside an element * called 'EchoServiceError' */ axiom_node_t *error_node = NULL; axiom_node_t *text_node = NULL; axiom_element_t *error_ele = NULL; error_ele = axiom_element_create(env, node, "EchoServiceError", NULL, &error_node); axiom_element_set_text(error_ele, env, "Echo service failed ", text_node); return error_node; } /* Free the resources used */ int AXIS2_CALL mtom_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Free the function array */ if (svc_skeleton->func_array) { axutil_array_list_free(svc_skeleton->func_array, env); svc_skeleton->func_array = NULL; } /* Free the service skeleton */ if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( axis2_svc_skeleton_t ** inst, const axutil_env_t * env) { *inst = axis2_mtom_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/sg_math/0000777000175000017500000000000011172017604021233 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/sg_math/div_skeleton.c0000644000175000017500000000732011166304574024073 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "div.h" #include #include int AXIS2_CALL div_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL div_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL div_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t div_svc_skeleton_ops_var = { div_init, div_invoke, NULL, div_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_div_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &div_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL div_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of div goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL div_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL div_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding div method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "div") == 0) return axis2_div_div(env, node); } } } } printf("Math service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = axis2_div_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/sg_math/add_skeleton.c0000644000175000017500000000733111166304574024043 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "add.h" #include #include int AXIS2_CALL add_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL add_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL add_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t add_svc_skeleton_ops_var = { add_init, add_invoke, NULL, add_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_add_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &add_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL add_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of add goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL add_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL add_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding add method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "add") == 0) return axis2_add_add(env, node, msg_ctx); } } } } printf("Math service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = axis2_add_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/sg_math/sub_skeleton.c0000644000175000017500000000732011166304574024102 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "sub.h" #include #include int AXIS2_CALL sub_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL sub_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL sub_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t sub_svc_skeleton_ops_var = { sub_init, sub_invoke, NULL, sub_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_sub_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &sub_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL sub_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of sub goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL sub_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL sub_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding sub method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "sub") == 0) return axis2_sub_sub(env, node); } } } } printf("Math service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = axis2_sub_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/sg_math/add.c0000644000175000017500000001402311166304574022133 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "add.h" #include #include axiom_node_t * axis2_add_add( const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; axis2_svc_grp_ctx_t *svc_grp_ctx = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 + param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); /* Put the result into service group context */ svc_grp_ctx = axis2_msg_ctx_get_svc_grp_ctx(msg_ctx, env); if (svc_grp_ctx) { axis2_ctx_t *ctx = NULL; ctx = axis2_svc_grp_ctx_get_base(svc_grp_ctx, env); if (ctx) { axutil_property_t *prop = NULL; /* get value */ prop = axis2_ctx_get_property(ctx, env, "ADD_RESULT"); if (prop) { axis2_char_t *val = (axis2_char_t *) axutil_property_get_value(prop, env); printf("Previous result = %s\n", val); } /* set value */ prop = axutil_property_create(env); if (prop) { axutil_property_set_value(prop, env, axutil_strdup(env, result_str)); axis2_ctx_set_property(ctx, env, "ADD_RESULT", prop); } } } return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/sg_math/add.h0000644000175000017500000000222011166304574022134 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef ADD_H #define ADD_H #include #include #include #include #include #include axiom_node_t *axis2_add_add( const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); #endif /* ADD_H */ axis2c-src-1.6.0/samples/server/sg_math/div.c0000644000175000017500000001165311166304574022173 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "div.h" #include axiom_node_t * axis2_div_div( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); if (param2 == 0) return NULL; result = param1 / param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/sg_math/div.h0000644000175000017500000000216111166304574022172 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef DIV_H #define DIV_H #include #include #include #include #include #include axiom_node_t *axis2_div_div( const axutil_env_t * env, axiom_node_t * node); #endif /* DIV_H */ axis2c-src-1.6.0/samples/server/sg_math/mul.c0000644000175000017500000001157111166304574022205 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "mul.h" #include axiom_node_t * axis2_mul_mul( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 * param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/sg_math/mul.h0000644000175000017500000000216111166304574022205 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MUL_H #define MUL_H #include #include #include #include #include #include axiom_node_t *axis2_mul_mul( const axutil_env_t * env, axiom_node_t * node); #endif /* MUL_H */ axis2c-src-1.6.0/samples/server/sg_math/sub.c0000644000175000017500000001157111166304574022201 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "sub.h" #include axiom_node_t * axis2_sub_sub( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 - param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/sg_math/sub.h0000644000175000017500000000216111166304574022201 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef SUB_H #define SUB_H #include #include #include #include #include #include axiom_node_t *axis2_sub_sub( const axutil_env_t * env, axiom_node_t * node); #endif /* SUB_H */ axis2c-src-1.6.0/samples/server/sg_math/Makefile.am0000644000175000017500000000063411166304574023276 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/sg_math prglib_LTLIBRARIES = libadd.la libsub.la libmul.la libdiv.la prglib_DATA=services.xml EXTRA_DIST = services.xml sg_math.mk add.h div.h mul.h sub.h noinst_HEADERS = add.h sub.h mul.h div.h libadd_la_SOURCES = add.c add_skeleton.c libsub_la_SOURCES = sub.c sub_skeleton.c libmul_la_SOURCES = mul.c mul_skeleton.c libdiv_la_SOURCES = div.c div_skeleton.c INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/sg_math/Makefile.in0000644000175000017500000004137711172017452023311 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/sg_math DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libadd_la_LIBADD = am_libadd_la_OBJECTS = add.lo add_skeleton.lo libadd_la_OBJECTS = $(am_libadd_la_OBJECTS) libdiv_la_LIBADD = am_libdiv_la_OBJECTS = div.lo div_skeleton.lo libdiv_la_OBJECTS = $(am_libdiv_la_OBJECTS) libmul_la_LIBADD = am_libmul_la_OBJECTS = mul.lo mul_skeleton.lo libmul_la_OBJECTS = $(am_libmul_la_OBJECTS) libsub_la_LIBADD = am_libsub_la_OBJECTS = sub.lo sub_skeleton.lo libsub_la_OBJECTS = $(am_libsub_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libadd_la_SOURCES) $(libdiv_la_SOURCES) \ $(libmul_la_SOURCES) $(libsub_la_SOURCES) DIST_SOURCES = $(libadd_la_SOURCES) $(libdiv_la_SOURCES) \ $(libmul_la_SOURCES) $(libsub_la_SOURCES) prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/sg_math prglib_LTLIBRARIES = libadd.la libsub.la libmul.la libdiv.la prglib_DATA = services.xml EXTRA_DIST = services.xml sg_math.mk add.h div.h mul.h sub.h noinst_HEADERS = add.h sub.h mul.h div.h libadd_la_SOURCES = add.c add_skeleton.c libsub_la_SOURCES = sub.c sub_skeleton.c libmul_la_SOURCES = mul.c mul_skeleton.c libdiv_la_SOURCES = div.c div_skeleton.c INCLUDES = @AXIS2INC@ all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/sg_math/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/sg_math/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libadd.la: $(libadd_la_OBJECTS) $(libadd_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libadd_la_OBJECTS) $(libadd_la_LIBADD) $(LIBS) libdiv.la: $(libdiv_la_OBJECTS) $(libdiv_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libdiv_la_OBJECTS) $(libdiv_la_LIBADD) $(LIBS) libmul.la: $(libmul_la_OBJECTS) $(libmul_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libmul_la_OBJECTS) $(libmul_la_LIBADD) $(LIBS) libsub.la: $(libsub_la_OBJECTS) $(libsub_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libsub_la_OBJECTS) $(libsub_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/add_skeleton.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/div.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/div_skeleton.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mul_skeleton.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sub_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am check: check-am all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-am clean clean-generic \ clean-libtool clean-prglibLTLIBRARIES ctags distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-prglibDATA uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/sg_math/services.xml0000644000175000017500000000211511166304574023603 0ustar00manjulamanjula00000000000000 add This is add service, that belongs to the math service group. sub This is sub service, that belongs to the math service group. mul This is mul service, that belongs to the math service group. div This is div service, that belongs to the math service group. axis2c-src-1.6.0/samples/server/sg_math/sg_math.mk0000644000175000017500000000200011166304574023202 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "AXIS2_DECLARE_EXPORT" /D "_WINDOWS" /D "_MBCS" add.c add_skeleton.c /I.\..\..\..\include /c @link.exe /nologo add.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:add.dll @cl.exe /nologo /D "WIN32" /D "AXIS2_DECLARE_EXPORT" /D "_WINDOWS" /D "_MBCS" div.c div_skeleton.c /I.\..\..\..\include /c @link.exe /nologo div.obj /LIBPATH:.\..\..\..\lib axiom.lib axis2_util.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:div.dll @cl.exe /nologo /D "WIN32" /D "AXIS2_DECLARE_EXPORT" /D "_WINDOWS" /D "_MBCS" sub.c sub_skeleton.c /I.\..\..\..\include /c @link.exe /nologo sub.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:sub.dll @cl.exe /nologo /D "WIN32" /D "AXIS2_DECLARE_EXPORT" /D "_WINDOWS" /D "_MBCS" mul.c mul_skeleton.c /I.\..\..\..\include /c @link.exe /nologo mul.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:mul.dll axis2c-src-1.6.0/samples/server/sg_math/mul_skeleton.c0000644000175000017500000000732011166304574024106 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "mul.h" #include #include int AXIS2_CALL mul_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL mul_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL mul_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t mul_svc_skeleton_ops_var = { mul_init, mul_invoke, NULL, mul_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_mul_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &mul_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL mul_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of mul goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL mul_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL mul_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding mul method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "mul") == 0) return axis2_mul_mul(env, node); } } } } printf("Math service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = axis2_mul_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/mtom_callback/0000777000175000017500000000000011172017604022401 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/mtom_callback/mtom_callback.c0000644000175000017500000002035111166304577025345 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "mtom_callback.h" #include #include #include #include #include #include #include axiom_node_t *build_response( const axutil_env_t *env, axiom_data_handler_t *data_handler); axis2_status_t process_attachments( axis2_msg_ctx_t *msg_ctx, const axutil_env_t * env, void *user_param, axis2_char_t *callback_name); axiom_node_t* axis2_mtom_callback_mtom( const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t *msg_ctx) { axiom_node_t *attachment_node = NULL; axiom_node_t *binary_node = NULL; axiom_node_t *ret_node = NULL; axis2_status_t status = AXIS2_FAILURE; void *user_param = NULL; axutil_param_t *callback_name_param = NULL; axis2_char_t *callback_name = NULL; AXIS2_ENV_CHECK(env, NULL); /* Expected request format is :- * */ if (!node) /* 'mtomSample' node */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Echo client ERROR: input parameter NULL\n"); return NULL; } attachment_node = axiom_node_get_first_child(node, env); if (!attachment_node) /* 'text' node */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Echo client ERROR: invalid XML in request\n"); return NULL; } /* This is the paramter specified in the services.xml * or in axis2.xml */ callback_name_param = axis2_msg_ctx_get_parameter (msg_ctx, env, AXIS2_MTOM_CACHING_CALLBACK); if(callback_name_param) { callback_name = (axis2_char_t *) axutil_param_get_value (callback_name_param, env); } /* This will process the attachment data in the stream */ status = process_attachments(msg_ctx, env, user_param, callback_name); if(status == AXIS2_FAILURE) { return NULL; } binary_node = axiom_node_get_first_child(attachment_node, env); if (binary_node) { axiom_data_handler_t *data_handler = NULL; axiom_text_t *bin_text = NULL; axis2_char_t *attachment_id = NULL; axiom_data_handler_t *data_handler_res = NULL; axis2_char_t *location = NULL; bin_text = (axiom_text_t *)axiom_node_get_data_element(binary_node, env); if(bin_text) { data_handler = axiom_text_get_data_handler(bin_text, env); if(!data_handler) { return NULL; } } attachment_id = axiom_data_handler_get_mime_id(data_handler, env); if(!attachment_id) { return NULL; } /* This is the case where the attachment resides in memory */ if (!axiom_data_handler_get_cached(data_handler, env)) { /* axis2_byte_t *input_buff = NULL; axis2_byte_t *buff = NULL; int buff_len = 0;*/ axiom_data_handler_set_file_name(data_handler, env, attachment_id); axiom_data_handler_write_to(data_handler, env); location = attachment_id; } else { axiom_data_handler_type_t data_handler_type; data_handler_type = axiom_data_handler_get_data_handler_type(data_handler, env); if(data_handler_type == AXIOM_DATA_HANDLER_TYPE_CALLBACK) { /* The service implementer should be aware of how to deal with the attachment * Becasue it was stored using the callback he provided. */ /*axis2_char_t command[1000]; sprintf(command, "rm -f /opt/tmp/%s", attachment_id); system(command);*/ /*location = attachment_id;*/ /*location = "/home/manjula/axis2/mtom/resources/song.MP3"; */ location = "/opt/manjula-mtom.MPG"; } else if(data_handler_type == AXIOM_DATA_HANDLER_TYPE_FILE) { axis2_char_t *file_name = NULL; file_name = axiom_data_handler_get_file_name(data_handler, env); if(file_name) { location = axutil_strdup(env, file_name); } } } /* The samples sends back an attachment to the client. Hence we are creating the * response data_handler as a type CALLBACK. So the sender callback should be * specified either in the services.xml or in the axis2.xml. */ data_handler_res = axiom_data_handler_create(env, NULL, NULL); axiom_data_handler_set_data_handler_type(data_handler_res, env, AXIOM_DATA_HANDLER_TYPE_CALLBACK); axiom_data_handler_set_user_param(data_handler_res, env, (void *)location); axis2_msg_ctx_set_doing_mtom (msg_ctx, env, AXIS2_TRUE); ret_node = build_response(env, data_handler_res); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Echo client ERROR: invalid XML in request\n"); return NULL; } return ret_node; } /* Builds the response content */ axiom_node_t *build_response( const axutil_env_t *env, axiom_data_handler_t *data_handler) { axiom_node_t *mtom_om_node = NULL; axiom_element_t *mtom_om_ele = NULL; axiom_node_t *text_node = NULL; axiom_namespace_t *ns1 = NULL; ns1 = axiom_namespace_create(env, "http://ws.apache.org/axis2/c/samples", "ns1"); mtom_om_ele = axiom_element_create(env, NULL, "response", ns1, &mtom_om_node); axiom_text_create_with_data_handler(env, mtom_om_node, data_handler, &text_node); return mtom_om_node; } axis2_status_t process_attachments( axis2_msg_ctx_t *msg_ctx, const axutil_env_t * env, void *user_param, axis2_char_t *callback_name) { axis2_op_ctx_t *op_ctx = NULL; axis2_msg_ctx_t *in_msg_ctx = NULL; axiom_soap_envelope_t *soap_envelope = NULL; axiom_soap_body_t *soap_body = NULL; op_ctx = axis2_msg_ctx_get_op_ctx(msg_ctx, env); if(op_ctx) { in_msg_ctx = axis2_op_ctx_get_msg_ctx(op_ctx, env, AXIS2_WSDL_MESSAGE_LABEL_IN); if(in_msg_ctx) { soap_envelope = axis2_msg_ctx_get_soap_envelope(in_msg_ctx, env); if(soap_envelope) { soap_body = axiom_soap_envelope_get_body(soap_envelope, env); if(soap_body) { return axiom_soap_body_process_attachments(soap_body, env, user_param, callback_name); } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } else { return AXIS2_FAILURE; } } axis2c-src-1.6.0/samples/server/mtom_callback/mtom_callback.h0000644000175000017500000000227011166304577025352 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MTOM_CALLBACK_H #define MTOM_CALLBACK_H #include #include #include #include #include #include axiom_node_t *axis2_mtom_callback_mtom( const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t *msg_ctx); #endif /* MTOM_CALLBACK_H */ axis2c-src-1.6.0/samples/server/mtom_callback/mtom_callback.mk0000644000175000017500000000035111166304577025530 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:mtom_callback.dll axis2c-src-1.6.0/samples/server/mtom_callback/Makefile.am0000644000175000017500000000050611166304577024445 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/mtom_callback prglib_LTLIBRARIES = libmtom_callback.la prglib_DATA= services.xml EXTRA_DIST = services.xml mtom_callback.mk mtom_callback.h noinst_HEADERS = mtom_callback.h SUBDIRS = libmtom_callback_la_SOURCES = mtom_callback.c mtom_skeleton.c libmtom_callback_la_LIBADD = INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/mtom_callback/Makefile.in0000644000175000017500000004667411172017452024464 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/mtom_callback DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libmtom_callback_la_DEPENDENCIES = am_libmtom_callback_la_OBJECTS = mtom_callback.lo mtom_skeleton.lo libmtom_callback_la_OBJECTS = $(am_libmtom_callback_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libmtom_callback_la_SOURCES) DIST_SOURCES = $(libmtom_callback_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/mtom_callback prglib_LTLIBRARIES = libmtom_callback.la prglib_DATA = services.xml EXTRA_DIST = services.xml mtom_callback.mk mtom_callback.h noinst_HEADERS = mtom_callback.h SUBDIRS = libmtom_callback_la_SOURCES = mtom_callback.c mtom_skeleton.c libmtom_callback_la_LIBADD = INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/mtom_callback/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/mtom_callback/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libmtom_callback.la: $(libmtom_callback_la_OBJECTS) $(libmtom_callback_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libmtom_callback_la_OBJECTS) $(libmtom_callback_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_callback.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/mtom_callback/services.xml0000644000175000017500000000130611166304577024755 0ustar00manjulamanjula00000000000000 mtom_callback This is a testing service , to test the system is working or not http://ws.apache.org/axis2/c/samples/mtomCallbackSample axis2c-src-1.6.0/samples/server/mtom_callback/mtom_skeleton.c0000644000175000017500000001047211166304577025440 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include "mtom_callback.h" #include int AXIS2_CALL mtom_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL mtom_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL mtom_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); axiom_node_t *AXIS2_CALL mtom_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node); static const axis2_svc_skeleton_ops_t mtom_svc_skeleton_ops_var = { mtom_init, mtom_invoke, mtom_on_fault, mtom_free }; /*Create function */ axis2_svc_skeleton_t * axis2_mtom_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; /* Allocate memory for the structs */ svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &mtom_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } /* Initialize the service */ int AXIS2_CALL mtom_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of mtom service should go here */ return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL mtom_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Invoke the business logic. * Depending on the function name invoke the correct impl method. * We have only mtom in this sample, hence invoke mtom method. * To see how to deal with multiple impl methods, have a look at the * math sample. */ return axis2_mtom_callback_mtom(env, node, msg_ctx); } /* On fault, handle the fault */ axiom_node_t *AXIS2_CALL mtom_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node) { /* Here we are just setting a simple error message inside an element * called 'EchoServiceError' */ axiom_node_t *error_node = NULL; axiom_node_t *text_node = NULL; axiom_element_t *error_ele = NULL; error_ele = axiom_element_create(env, node, "EchoServiceError", NULL, &error_node); axiom_element_set_text(error_ele, env, "Echo service failed ", text_node); return error_node; } /* Free the resources used */ int AXIS2_CALL mtom_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Free the function array */ if (svc_skeleton->func_array) { axutil_array_list_free(svc_skeleton->func_array, env); svc_skeleton->func_array = NULL; } /* Free the service skeleton */ if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( axis2_svc_skeleton_t ** inst, const axutil_env_t * env) { *inst = axis2_mtom_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/Makefile.am0000644000175000017500000000014111166304603021636 0ustar00manjulamanjula00000000000000SUBDIRS = echo math notify sg_math mtom Calculator version mtom_callback EXTRA_DIST = axis2.xml axis2c-src-1.6.0/samples/server/Makefile.in0000644000175000017500000003426211172017452021662 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = echo math notify sg_math mtom Calculator version mtom_callback EXTRA_DIST = axis2.xml all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/notify/0000777000175000017500000000000011172017604021121 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/notify/notify.c0000644000175000017500000000503511166304600022572 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "notify.h" #include void axis2_notify_notify( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *text_node = NULL; if (!env || !env) { return; } /* Expected request format is :- Message 3 */ if (!node) /* 'notify' node */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Echo client ERROR: input parameter NULL"); return; } text_node = axiom_node_get_first_child(node, env); if (!text_node) /* actual text to notify */ { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Echo client ERROR: invalid XML in request"); return; } if (axiom_node_get_node_type(text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(text_node, env); if (text && axiom_text_get_value(text, env)) { axis2_char_t *text_str = (axis2_char_t *) axiom_text_get_value(text, env); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Notification received : %s", text_str); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("\n"); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Echo client ERROR: invalid XML in request"); return; } return; } axis2c-src-1.6.0/samples/server/notify/notify.h0000644000175000017500000000216111166304600022574 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CALC_H #define CALC_H #include #include #include #include #include #include void axis2_notify_notify( const axutil_env_t * env, axiom_node_t * node); #endif /* CALC_H */ axis2c-src-1.6.0/samples/server/notify/notify.mk0000644000175000017500000000034211166304600022753 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "_WINDOWS" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:notify.dll axis2c-src-1.6.0/samples/server/notify/Makefile.am0000644000175000017500000000042011166304600023143 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/notify prglib_LTLIBRARIES = libnotify.la prglib_DATA= services.xml EXTRA_DIST = services.xml notify.mk notify.h noinst_HEADERS = notify.h SUBDIRS = libnotify_la_SOURCES = notify.c notify_skeleton.c libnotify_la_LIBADD = INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/notify/Makefile.in0000644000175000017500000004643211172017452023174 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/notify DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libnotify_la_DEPENDENCIES = am_libnotify_la_OBJECTS = notify.lo notify_skeleton.lo libnotify_la_OBJECTS = $(am_libnotify_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libnotify_la_SOURCES) DIST_SOURCES = $(libnotify_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/notify prglib_LTLIBRARIES = libnotify.la prglib_DATA = services.xml EXTRA_DIST = services.xml notify.mk notify.h noinst_HEADERS = notify.h SUBDIRS = libnotify_la_SOURCES = notify.c notify_skeleton.c libnotify_la_LIBADD = INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/notify/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/notify/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libnotify.la: $(libnotify_la_OBJECTS) $(libnotify_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libnotify_la_OBJECTS) $(libnotify_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notify.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/notify_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/notify/services.xml0000644000175000017500000000070611166304600023463 0ustar00manjulamanjula00000000000000 notify This is a testing service , to test one way service support http://example.org/action/notify axis2c-src-1.6.0/samples/server/notify/notify_skeleton.c0000644000175000017500000001053111166304600024473 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "notify.h" #include int AXIS2_CALL notify_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL notify_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL notify_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); axiom_node_t *AXIS2_CALL notify_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node); static const axis2_svc_skeleton_ops_t notify_svc_skeleton_ops_var = { notify_init, notify_invoke, notify_on_fault, notify_free }; /*Create function */ axis2_svc_skeleton_t * axis2_notify_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; /* Allocate memory for the structs */ svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = ¬ify_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } /* Initialize the service */ int AXIS2_CALL notify_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of notify service should go here */ return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL notify_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Invoke the business logic. * Depending on the function name invoke the correct impl method. * We have only notify in this sample, hence invoke notify method. * To see how to deal with multiple impl methods, have a look at the * math sample. */ axis2_notify_notify(env, node); return NULL; } /* On fault, handle the fault */ axiom_node_t *AXIS2_CALL notify_on_fault( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node) { /* Here we are just setting a simple error message inside an element * called 'EchoServiceError' */ axiom_node_t *error_node = NULL; axiom_node_t *text_node = NULL; axiom_element_t *error_ele = NULL; error_ele = axiom_element_create(env, node, "NotifyServiceError", NULL, &error_node); axiom_element_set_text(error_ele, env, "Notify service failed ", text_node); return error_node; } /* Free the resources used */ int AXIS2_CALL notify_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Free the function array */ if (svc_skeleton->func_array) { axutil_array_list_free(svc_skeleton->func_array, env); svc_skeleton->func_array = NULL; } /* Free the service skeleton */ if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( axis2_svc_skeleton_t ** inst, const axutil_env_t * env) { *inst = axis2_notify_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/version/0000777000175000017500000000000011172017604021276 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/version/Makefile.am0000644000175000017500000000041311166304574023334 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/version prglib_LTLIBRARIES = libversion.la prglib_DATA=services.xml noinst_HEADERS = version.h SUBDIRS = libversion_la_SOURCES = version.c version_skel.c libversion_la_LIBADD = INCLUDES = @AXIS2INC@ EXTRA_DIST = services.xml version.h axis2c-src-1.6.0/samples/server/version/Makefile.in0000644000175000017500000004643711172017453023357 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/version DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libversion_la_DEPENDENCIES = am_libversion_la_OBJECTS = version.lo version_skel.lo libversion_la_OBJECTS = $(am_libversion_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libversion_la_SOURCES) DIST_SOURCES = $(libversion_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/version prglib_LTLIBRARIES = libversion.la prglib_DATA = services.xml noinst_HEADERS = version.h SUBDIRS = libversion_la_SOURCES = version.c version_skel.c libversion_la_LIBADD = INCLUDES = @AXIS2INC@ EXTRA_DIST = services.xml version.h all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/version/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/version/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libversion.la: $(libversion_la_OBJECTS) $(libversion_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libversion_la_OBJECTS) $(libversion_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/version_skel.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/version/version_skel.c0000644000175000017500000000742711166304574024163 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "version.h" #include #include int AXIS2_CALL version_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL version_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL version_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t version_svc_skeleton_ops_var = { version_init, version_invoke, NULL, version_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL version_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &version_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL version_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of version goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL version_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL version_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding version method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "GetVersion") == 0) return axis2_version_get_version(env, node); } } } } printf("Math service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = version_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/version/services.xml0000644000175000017500000000054411166304574023652 0ustar00manjulamanjula00000000000000 version This is a testing service, named 'version' to test multiple operations in the same service axis2c-src-1.6.0/samples/server/version/version.c0000644000175000017500000000366111166304574023141 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "version.h" #include axiom_node_t * axis2_version_get_version( const axutil_env_t * env, axiom_node_t * node) { if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Math client request ERROR: input parameter NULL\n"); return NULL; } else { axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; sprintf(result_str, "%s", "Version 1.6"); ns1 = axiom_namespace_create(env, "urn:aewebservices71", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Math service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/version/version.h0000644000175000017500000000220011166304574023132 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef MATH_H #define MATH_H #include #include #include #include #include #include axiom_node_t *axis2_version_get_version( const axutil_env_t * env, axiom_node_t * node); #endif /* MATH_H */ axis2c-src-1.6.0/samples/server/Calculator/0000777000175000017500000000000011172017604021702 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/samples/server/Calculator/calc_skeleton.c0000644000175000017500000001011111166304600024640 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "axis2_svc_skeleton.h" #include "calc.h" #include #include int AXIS2_CALL calc_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL calc_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); int AXIS2_CALL calc_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); static const axis2_svc_skeleton_ops_t calc_svc_skeleton_ops_var = { calc_init, calc_invoke, NULL, calc_free }; AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_calc_create( const axutil_env_t * env) { axis2_svc_skeleton_t *svc_skeleton = NULL; svc_skeleton = AXIS2_MALLOC(env->allocator, sizeof(axis2_svc_skeleton_t)); svc_skeleton->ops = &calc_svc_skeleton_ops_var; svc_skeleton->func_array = NULL; return svc_skeleton; } int AXIS2_CALL calc_init( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { /* Any initialization stuff of calc goes here */ return AXIS2_SUCCESS; } int AXIS2_CALL calc_free( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env) { if (svc_skeleton) { AXIS2_FREE(env->allocator, svc_skeleton); svc_skeleton = NULL; } return AXIS2_SUCCESS; } /* * This method invokes the right service method */ axiom_node_t *AXIS2_CALL calc_invoke( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx) { /* Depending on the function name invoke the * corresponding calc method */ if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { axiom_element_t *element = NULL; element = (axiom_element_t *) axiom_node_get_data_element(node, env); if (element) { axis2_char_t *op_name = axiom_element_get_localname(element, env); if (op_name) { if (axutil_strcmp(op_name, "add") == 0) return axis2_calc_add(env, node); if (axutil_strcmp(op_name, "sub") == 0) return axis2_calc_sub(env, node); if (axutil_strcmp(op_name, "mul") == 0) return axis2_calc_mul(env, node); if (axutil_strcmp(op_name, "div") == 0) return axis2_calc_div(env, node); } } } } printf("Calculator service ERROR: invalid OM parameters in request\n"); /** Note: return a SOAP fault here */ return node; } /** * Following block distinguish the exposed part of the dll. */ AXIS2_EXPORT int axis2_get_instance( struct axis2_svc_skeleton **inst, const axutil_env_t * env) { *inst = axis2_calc_create(env); if (!(*inst)) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } AXIS2_EXPORT int axis2_remove_instance( axis2_svc_skeleton_t * inst, const axutil_env_t * env) { axis2_status_t status = AXIS2_FAILURE; if (inst) { status = AXIS2_SVC_SKELETON_FREE(inst, env); } return status; } axis2c-src-1.6.0/samples/server/Calculator/calc.c0000644000175000017500000004376111166304600022755 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "calc.h" #include axiom_node_t * axis2_calc_add( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *complex_node = NULL; axiom_node_t *seq_node = NULL; axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Calculator client request ERROR: input parameter NULL\n"); return NULL; } complex_node = axiom_node_get_first_child(node, env); if (!complex_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } seq_node = axiom_node_get_first_child(complex_node, env); if (!seq_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param1_node = axiom_node_get_first_child(seq_node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 + param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid parameters\n"); return NULL; } axiom_node_t * axis2_calc_sub( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Calculator client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 - param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid parameters\n"); return NULL; } axiom_node_t * axis2_calc_mul( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Calculator client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); result = param1 * param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid parameters\n"); return NULL; } axiom_node_t * axis2_calc_div( const axutil_env_t * env, axiom_node_t * node) { axiom_node_t *param1_node = NULL; axiom_node_t *param1_text_node = NULL; axis2_char_t *param1_str = NULL; long int param1 = 0; axiom_node_t *param2_node = NULL; axiom_node_t *param2_text_node = NULL; axis2_char_t *param2_str = NULL; long int param2 = 0; if (!node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INPUT_OM_NODE_NULL, AXIS2_FAILURE); printf("Calculator client request ERROR: input parameter NULL\n"); return NULL; } param1_node = axiom_node_get_first_child(node, env); if (!param1_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param1_text_node = axiom_node_get_first_child(param1_node, env); if (!param1_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param1_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param1_text_node, env); if (text && axiom_text_get_value(text, env)) { param1_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_node = axiom_node_get_next_sibling(param1_node, env); if (!param2_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } param2_text_node = axiom_node_get_first_child(param2_node, env); if (!param2_text_node) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (axiom_node_get_node_type(param2_text_node, env) == AXIOM_TEXT) { axiom_text_t *text = (axiom_text_t *) axiom_node_get_data_element(param2_text_node, env); if (text && axiom_text_get_value(text, env)) { param2_str = (axis2_char_t *) axiom_text_get_value(text, env); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_XML_FORMAT_IN_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid XML in request\n"); return NULL; } if (param1_str && param2_str) { long int result = 0; axis2_char_t result_str[255]; axiom_element_t *ele1 = NULL; axiom_node_t *node1 = NULL, *node2 = NULL; axiom_namespace_t *ns1 = NULL; axiom_text_t *text1 = NULL; param1 = strtol(param1_str, NULL, 10); param2 = strtol(param2_str, NULL, 10); if (param2 == 0) return NULL; result = param1 / param2; sprintf(result_str, "%ld", result); ns1 = axiom_namespace_create(env, "http://axis2/test/namespace1", "ns1"); ele1 = axiom_element_create(env, NULL, "result", ns1, &node1); text1 = axiom_text_create(env, node1, result_str, &node2); return node1; } AXIS2_ERROR_SET(env->error, AXIS2_ERROR_SVC_SKEL_INVALID_OPERATION_PARAMETERS_IN_SOAP_REQUEST, AXIS2_FAILURE); printf("Calculator service ERROR: invalid parameters\n"); return NULL; } axis2c-src-1.6.0/samples/server/Calculator/calc.h0000644000175000017500000000256711166304600022761 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef CALC_H #define CALC_H #include #include #include #include #include #include axiom_node_t *axis2_calc_add( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_calc_sub( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_calc_mul( const axutil_env_t * env, axiom_node_t * node); axiom_node_t *axis2_calc_div( const axutil_env_t * env, axiom_node_t * node); #endif /* CALC_H */ axis2c-src-1.6.0/samples/server/Calculator/Makefile.am0000644000175000017500000000047311166304600023734 0ustar00manjulamanjula00000000000000prglibdir=$(prefix)/services/Calculator prglib_LTLIBRARIES = libCalculator.la prglib_DATA=services.xml Calculator.wsdl EXTRA_DIST = services.xml Calculator.wsdl Calculator.mk calc.h noinst_HEADERS = calc.h SUBDIRS = libCalculator_la_SOURCES = calc.c calc_skeleton.c libCalculator_la_LIBADD = INCLUDES = @AXIS2INC@ axis2c-src-1.6.0/samples/server/Calculator/Makefile.in0000644000175000017500000004656611172017452023765 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = server/Calculator DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \ $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)" prglibLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(prglib_LTLIBRARIES) libCalculator_la_DEPENDENCIES = am_libCalculator_la_OBJECTS = calc.lo calc_skeleton.lo libCalculator_la_OBJECTS = $(am_libCalculator_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libCalculator_la_SOURCES) DIST_SOURCES = $(libCalculator_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive prglibDATA_INSTALL = $(INSTALL_DATA) DATA = $(prglib_DATA) HEADERS = $(noinst_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ AXIS2INC = @AXIS2INC@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ prglibdir = $(prefix)/services/Calculator prglib_LTLIBRARIES = libCalculator.la prglib_DATA = services.xml Calculator.wsdl EXTRA_DIST = services.xml Calculator.wsdl Calculator.mk calc.h noinst_HEADERS = calc.h SUBDIRS = libCalculator_la_SOURCES = calc.c calc_skeleton.c libCalculator_la_LIBADD = INCLUDES = @AXIS2INC@ all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu server/Calculator/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu server/Calculator/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-prglibLTLIBRARIES: $(prglib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(LIBTOOL) --mode=install $(prglibLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ else :; fi; \ done uninstall-prglibLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(prglibdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(prglibdir)/$$p"; \ done clean-prglibLTLIBRARIES: -test -z "$(prglib_LTLIBRARIES)" || rm -f $(prglib_LTLIBRARIES) @list='$(prglib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libCalculator.la: $(libCalculator_la_OBJECTS) $(libCalculator_la_DEPENDENCIES) $(LINK) -rpath $(prglibdir) $(libCalculator_la_OBJECTS) $(libCalculator_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/calc_skeleton.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs install-prglibDATA: $(prglib_DATA) @$(NORMAL_INSTALL) test -z "$(prglibdir)" || $(MKDIR_P) "$(DESTDIR)$(prglibdir)" @list='$(prglib_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(prglibDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(prglibdir)/$$f'"; \ $(prglibDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(prglibdir)/$$f"; \ done uninstall-prglibDATA: @$(NORMAL_UNINSTALL) @list='$(prglib_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(prglibdir)/$$f'"; \ rm -f "$(DESTDIR)$(prglibdir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) $(DATA) $(HEADERS) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(prglibdir)" "$(DESTDIR)$(prglibdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool clean-prglibLTLIBRARIES \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-prglibDATA install-prglibLTLIBRARIES install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-prglibDATA uninstall-prglibLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ clean-prglibLTLIBRARIES ctags ctags-recursive distclean \ distclean-compile distclean-generic distclean-libtool \ distclean-tags distdir dvi dvi-am html html-am info info-am \ install install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-prglibDATA \ install-prglibLTLIBRARIES install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-prglibDATA \ uninstall-prglibLTLIBRARIES # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/samples/server/Calculator/services.xml0000644000175000017500000000164211166304600024244 0ustar00manjulamanjula00000000000000 Calculator This is a testing service, named 'Calculator' to test dynamic client Calculator#add Calculator#sub Calculator#mul Calculator#div axis2c-src-1.6.0/samples/server/Calculator/Calculator.wsdl0000644000175000017500000001751611166304600024672 0ustar00manjulamanjula00000000000000 axis2c-src-1.6.0/samples/server/Calculator/Calculator.mk0000644000175000017500000000037611166304600024324 0ustar00manjulamanjula00000000000000echo: @cl.exe /nologo /D "WIN32" /D "AXIS2_DECLARE_EXPORT" /D "_WINDOWS" /D "_MBCS" *.C /I.\..\..\..\include /c @link.exe /nologo *.obj /LIBPATH:.\..\..\..\lib axiom.lib axutil.lib axis2_engine.lib axis2_parser.lib /DLL /OUT:Calculator.dll axis2c-src-1.6.0/samples/server/axis2.xml0000644000175000017500000001352311166304603021362 0ustar00manjulamanjula00000000000000 true 6060 false HTTP/1.1 axis2c-src-1.6.0/samples/build.sh0000755000175000017500000000020311166304610017727 0ustar00manjulamanjula00000000000000#!/bin/bash ./autogen.sh ./configure --prefix=${AXIS2C_HOME} --with-axis2=${AXIS2C_HOME}/include/axis2-1.6.0 make make install axis2c-src-1.6.0/samples/AUTHORS0000644000175000017500000000070311166304610017346 0ustar00manjulamanjula00000000000000Developers ---------- Samisa Abeysinghe Dushshantha Chandradasa Chris Darroch Senaka Fernando Paul Fremantle Dimuthu Gamage Sahan Gamage Lahiru Gunathilake Nandika Jayawardana Supun Kamburugamuva Kaushalye Kapuruge Damitha Kumarage Danushka Menikkumbura Bill Mitchell Diluka Moratuwage Dumindu Pallewela Milinda Pathirage Manjula Peiris Dinesh Premalal Sanjaya Rathnaweera Davanum Srinivas Selvaratnam Uthaiyashankar Sanjiva Weerawarana Nabeel Yoosuf axis2c-src-1.6.0/samples/INSTALL0000644000175000017500000000063111166304610017327 0ustar00manjulamanjula00000000000000Getting Axis2/C Samples Source Working on Linux ============================================= Build the source This can be done using the following command sequence: ./configure make make install use './configure --help' for options NOTE: If you don't provide a --prefix configure option, it will by default install into /usr/local/axis2c/samples directory. axis2c-src-1.6.0/samples/ChangeLog0000644000175000017500000001733511166304610020061 0ustar00manjulamanjula00000000000000Axis2/C (1.6.0) * XPath support for Axiom XML object model * CGI support * Improvements to MTOM to send, receive very large attachments * Improvements to AMQP transport * Improvemnets to WSDL2C codegen tool * Many bug fixes. * Memory leak fixes Axis2/C (1.5.0) * AMQP Transport support with Apache Qpid. (At an experimental stage. Not working under Windows. Please refer the INSTALL file to build this) * Modifications to IIS Module to support IIS 6 & 7 * Added a JScript file to automate IIS module registry configuration * Improved the in-only message handling * Specifying the MEP in the services.xml for non in-out messages made mandatory * Improvements to Guthtila for better performance * Improvements to TCPMon tool * Memory leak fixes * Bug fixes Axis2/C (1.4.0) * Fixed library version numbering * Made Guththila as default XML parser -- Axis2/C team Mon,5 May 2008 Axis2/C (1.3.0) * Fixed a bug on version numbering * List Axis2/C dependencies licensing in LICENSE file * Add relevant copyright notices to NOTICE file * Digest Authentication Support * Proxy Authentication Support * Enhanced REST support * Ability to insert xml declaration on outgoing payloads * MTOM support with libcurl * Improvements to TCPMon Tool * Improvements to Test Coverage * Improvements to API docs * Improvements to CA certificate validation mechanisms on SSL Transport * Improvements to Neethi * Fixed issue in HTTP GET on mod_axis2 * Major Improvements to Guththila Parser * Improvements to libcurl based sender * Creation of a FAQ list * Improvements to Axis2/C documentation * Added Documentation on Archive Based Deployment * Fixes for IIS module * Removed dependency in util for the Axis2/C core * Ability to access transport headers at the service level (for RESTful services) * uint64_t and int64_t support at util layer and codegen level * Removed zlib dependencies when Archive Based Deployment model is disabled * Signal Handling in Windows * Removed over 99% of the warnings found on Windows * Increased build speed on Windows with nmake. * Improvements to Windows build system * Extensions to client API to support HTTP/Proxy Authentication * Memory leak fixes * Many bug fixes -- Axis2/C team Fri, 29 February 2008 Axis2/C (1.2.0) * Improvements to Java tool, WSDL2C, that generates C code * Improvment to Apache2 module so that it * Create a shared memory global pool * create context hierarchy in the global pool enabling it to have true application level scope. * Improved Policy * Improvements to thread environment * Improvements to error handling * Memory leak fixes * Many bug fixes -- Axis2/C team Mon, 17 January 2008 Axis2/C (1.1.0) * WS-Policy implementation * TCP Transport * Improvements to Guththila parser to improve performance * Improvements to Java tool, WSDL2C, that generates C code * Basic HTTP Authentication * Memory leak fixes * Many bug fixes -- Axis2/C team Mon, 24 September 2007 Axis2/C (1.0.0) * Many Bug Fixes * IIS module for server side * libcurl based client transport * Improvements to overall API to make it more user friendly, stable and binary compatible * Transport proxy support * Memory leak fixes -- Axis2/C team Mon, 30 April 2007 Axis2/C (0.96) * Major Memory leak fixes * Many Bug Fixes * Improvement to REST processing * Improvement to SOAP-Fault processing * Improvement to mod_axis2 library (plugged with apr pools) * Visual Studio 7.0 project -- Axis2/C team Thu, 19 December 2006 Axis2/C (0.95) * Major Memory leak fixes * Many Bug Fixes * Improved Documentation -- Axis2/C team Thu, 26 October 2006 Axis2/C (0.94) * Guththila pull parser support * WSDL2C code generation tool * TCP Monitor - C implementation * Major Memory leak fixes * Fixes to code generation with Java Tool * Many Bug Fixes -- Axis2/C team Tue, 3 October 2006 Axis2/C (0.93) * REST support for HTTP GET case * XML Schema implementation * Woden/C implementation that supports both WSDL 1.1 and WSDL 2.0 * Dynamic client invocation (given a WSDL, consume services dynamically) * Numerous improvements to API and API documentation * Many bug fixes, especially, many paths of execution previously untouched were tested along with Sandesha2/C implementation -- Axis2/C team Thu, 31 August 2006 Axis2/C (0.92) * Completed MTOM implementation with multiple attachment support and non-optimize * Completed service client API with send robust and fire and forget * Added "message" to description hierarchy * Archive based deployment Model (for services and modules) * Code generation for WSDL using Java WSDL2Code tool * ADB support (with Java WSDL2C tool) * WS-Security usernameToken support * Initial implementation of the XML Schema parser (To be used in WSDL parser and REST support) * Initial implementation of WSDL parser (To be used in dynamic invocation) * Changed double pointer environment parameters into pointer parameters to improve efficiency -- Axis2/C team Fri, 16 June 2006 Axis2/C (0.91) * Full Addressing 1.0 support * Improved fault handling model * SSL client transport * MTOM implementation * Implementation of easy to use service client and operation client APIs for client side programming * REST support (POST case) * Module version support * Service groups * Numerous bug fixes since last release -- Axis2/C team Mon, 15 May 2006 Axis2/C (0.90) * Minimal memory leaks * Apache2 module working in Windows * More samples and tests * WSDL Object Model built based on the proposed WSDL 2.0 Component model * Dynamic Invocation * Numerous bug fixes since last release -- Axis2/C team Fri, 31 Mar 2006 Axis2/C (M0.5) * Improving code quality by fixing memory leaks and reviewing the code * Apache2 integration * More samples and tests * Initial documentation(User guide, Developer Guide and Installation Guide) * Numerous bug fixes since last release -- Axis2/C team Fri, 10 Mar 2006 Axis2/C (M0.4) * Threading support and threaded simple axis server * Module loading support * Addressing module and addressing based dispatching * HTTP chunking support * Improved logging mechanism * Ability to build and run on Windows platform -- Axis2/C team Fri, 17 Feb 2006 Axis2/C (M0.3) * Core engine in place with deployment, description and context hiarachies and http transport support * Soap processing support * Simple http server * Client API implementation * Couple of working service and client samples -- Axis2/C team Thu, 02 Feb 2006 Axis2/C (M0.2) * Improved OM module * libxml2 parser support * PHP binding for OM module * Some test cases for PHP binding * Many memory leaks fixes -- Axis2/C team Thu, 08 Dec 2005 Axis2/C (M0.1) * Initial release * OM module * Guththila pull parser support * libxml2 parser support(only reader is supported as of now) * doxygen documentation support * A sample demonstrating how to use OM -- Axis2/C team Fri, 25 Nov 2005 axis2c-src-1.6.0/samples/COPYING0000644000175000017500000002613711166304610017342 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/ltmain.sh0000644000175000017500000060512310660364710016466 0ustar00manjulamanjula00000000000000# 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: axis2c-src-1.6.0/configure0000755000175000017500000271365511166310406016564 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for axis2c-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='axis2c-src' PACKAGE_TARNAME='axis2c-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='axis2c-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/axis2c # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL subdirs PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS VERSION_NO APACHE2INC APRINC DICLIENT_DIR TESTDIR SAMPLES APACHE2BUILD WRAPPER_DIR TCP_DIR CGI_DIR AMQP_DIR QPID_HOME GUTHTHILA_DIR GUTHTHILA_LIBS ZLIBBUILD AXIS2_SSL_ENABLED_TRUE AXIS2_SSL_ENABLED_FALSE AXIS2_LIBCURL_ENABLED_TRUE AXIS2_LIBCURL_ENABLED_FALSE LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS PKG_CONFIG LIBXML2_CFLAGS LIBXML2_LIBS' ac_subdirs_all='util axiom neethi guththila' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures axis2c-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/axis2c-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of axis2c-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --enable-xpath build xpath. default=yes --enable-guththila build Guththila XML parser library wrapper (default=yes) --enable-libxml2 build Libxml2 XML parser library wrapper (default=no) --enable-tcp build tcp transport (default=no) --enable-cgi build cgi transport (default=no) --enable-tests build tests (default=no) --enable-trace enable logging trace messages useful when debugging (default=no) --enable-multi-thread enable multi threading (default=yes) --enable-openssl enable OpenSSL support in client transport (default=no) --enable-libcurl enable libcurl based client transport (default=no) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] --with-archive=PATH Find the zlib header files in 'PATH'. If you omit the '=PATH' part completely, the configure script will search '/usr/include/' for zlib headers. --with-qpid=PATH 'PATH' specifies the location where the Qpid is installed into. If this option is specified, AMQP transport would be built. If you omit the '=PATH' part completely, the configure script will take '/usr/local' as the Qpid home. --with-apache2=PATH Find the Apache2 HTTP Web server header files in 'PATH'. If this option is given, the Apache2 httpd module would be built. 'PATH' should point to Apache2 httpd include files location. If you omit the '=PATH' part completely, the configure script will search '/usr/include/apache2' for Apache2 headers. --with-apr=PATH Find the APR header files in 'PATH'. Some Apache2 distributions, specially development versions, install APR (Apache Portable Run-time) include files in a separate location. In that case, to build Apache2 httpd module, this option is also required. 'PATH' should point to APR include files location. If you omit the '=PATH' part completely, the configure script will search '/usr/include/apr-0' for APR headers. Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags PKG_CONFIG path to pkg-config utility LIBXML2_CFLAGS C compiler flags for LIBXML2, overriding pkg-config LIBXML2_LIBS linker flags for LIBXML2, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF axis2c-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by axis2c-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='axis2c-src' VERSION='1.6.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} { echo "$as_me:$LINENO: checking how to create a ustar tar archive" >&5 echo $ECHO_N "checking how to create a ustar tar archive... $ECHO_C" >&6; } # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar plaintar pax cpio none' _am_tools=${am_cv_prog_tar_ustar-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do { echo "$as_me:$LINENO: $_am_tar --version" >&5 ($_am_tar --version) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && break done am__tar="$_am_tar --format=ustar -chf - "'"$$tardir"' am__tar_="$_am_tar --format=ustar -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x ustar -w "$$tardir"' am__tar_='pax -L -x ustar -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H ustar -L' am__tar_='find "$tardir" -print | cpio -o -H ustar -L' am__untar='cpio -i -H ustar -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_ustar}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file { echo "$as_me:$LINENO: tardir=conftest.dir && eval $am__tar_ >conftest.tar" >&5 (tardir=conftest.dir && eval $am__tar_ >conftest.tar) >&5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -rf conftest.dir if test -s conftest.tar; then { echo "$as_me:$LINENO: $am__untar &5 ($am__untar &5 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } grep GrepMe conftest.dir/file >/dev/null 2>&1 && break fi done rm -rf conftest.dir if test "${am_cv_prog_tar_ustar+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else am_cv_prog_tar_ustar=$_am_tool fi { echo "$as_me:$LINENO: result: $am_cv_prog_tar_ustar" >&5 echo "${ECHO_T}$am_cv_prog_tar_ustar" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5217 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7252: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7256: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7542: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7546: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7646: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7650: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12528: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12532: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12632: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12636: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14209: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14213: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14313: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14317: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16513: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16517: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16803: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16807: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16907: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16911: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { echo "$as_me:$LINENO: checking for ISO C99 varargs macros in C" >&5 echo $ECHO_N "checking for ISO C99 varargs macros in C... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_iso_c_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_iso_c_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_iso_c_varargs" >&5 echo "${ECHO_T}$axis2c_have_iso_c_varargs" >&6; } { echo "$as_me:$LINENO: checking for GNUC varargs macros" >&5 echo $ECHO_N "checking for GNUC varargs macros... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_gnuc_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_gnuc_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_gnuc_varargs" >&5 echo "${ECHO_T}$axis2c_have_gnuc_varargs" >&6; } if test x$axis2c_have_iso_c_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_ISO_VARARGS 1 _ACEOF fi if test x$axis2c_have_gnuc_varargs = xyes; then cat >>confdefs.h <<\_ACEOF #define HAVE_GNUC_VARARGS 1 _ACEOF fi { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi { echo "$as_me:$LINENO: checking for inflate in -lz" >&5 echo $ECHO_N "checking for inflate in -lz... $ECHO_C" >&6; } if test "${ac_cv_lib_z_inflate+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char inflate (); int main () { return inflate (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_z_inflate=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_z_inflate=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_z_inflate" >&5 echo "${ECHO_T}$ac_cv_lib_z_inflate" >&6; } if test $ac_cv_lib_z_inflate = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBZ 1 _ACEOF LIBS="-lz $LIBS" fi { echo "$as_me:$LINENO: checking for socket in -lsocket" >&5 echo $ECHO_N "checking for socket in -lsocket... $ECHO_C" >&6; } if test "${ac_cv_lib_socket_socket+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsocket $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char socket (); int main () { return socket (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_socket_socket=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_socket_socket=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_socket_socket" >&5 echo "${ECHO_T}$ac_cv_lib_socket_socket" >&6; } if test $ac_cv_lib_socket_socket = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBSOCKET 1 _ACEOF LIBS="-lsocket $LIBS" fi if test -d $srcdir/util; then subdirs="$subdirs util" fi if test -d $srcdir/axiom; then subdirs="$subdirs axiom" fi if test -d $srcdir/neethi; then subdirs="$subdirs neethi" fi #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -g -D_GNU_SOURCE" # CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration" fi LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/socket.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in net/if.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in linux/if.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #if HAVE_SYS_SOCKET_H # include #endif #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in net/if_types.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in net/if_dl.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/appleapiopts.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done #AC_CHECK_FUNCS([memmove]) { echo "$as_me:$LINENO: checking whether to use archive" >&5 echo $ECHO_N "checking whether to use archive... $ECHO_C" >&6; } # Check whether --with-archive was given. if test "${with_archive+set}" = set; then withval=$with_archive; case "$withval" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ZLIBBUILD="" zliblibs="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } zliblibs="minizip/libaxis2_minizip.la" CFLAGS="$CFLAGS -DAXIS2_ARCHIVE_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_ARCHIVE_ENABLED" if test -d $withval; then zlibinc="-I$withval" elif test -d '/usr/include'; then zlibinc="-I/usr/include" else { { echo "$as_me:$LINENO: error: could not find zlib stop" >&5 echo "$as_me: error: could not find zlib stop" >&2;} { (exit 1); exit 1; }; } fi ZLIBBUILD="minizip" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to build xpath" >&5 echo $ECHO_N "checking whether to build xpath... $ECHO_C" >&6; } # Check whether --enable-xpath was given. if test "${enable_xpath+set}" = set; then enableval=$enable_xpath; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } XPATH_DIR="xpath" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } XPATH_DIR="xpath" fi GUTHTHILA_LIBS="" { echo "$as_me:$LINENO: checking whether to build guththila xml parser library" >&5 echo $ECHO_N "checking whether to build guththila xml parser library... $ECHO_C" >&6; } # Check whether --enable-guththila was given. if test "${enable_guththila+set}" = set; then enableval=$enable_guththila; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" WRAPPER_DIR="guththila" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } WRAPPER_DIR="guththila" CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" subdirs="$subdirs guththila" GUTHTHILA_LIBS="/guththila/src/" GUTHTHILA_DIR="guththila" fi { echo "$as_me:$LINENO: checking whether to build libxml2 xml parser library" >&5 echo $ECHO_N "checking whether to build libxml2 xml parser library... $ECHO_C" >&6; } if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $PKG_CONFIG" >&5 echo "${ECHO_T}$PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_path_ac_pt_PKG_CONFIG+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { echo "$as_me:$LINENO: result: $ac_pt_PKG_CONFIG" >&5 echo "${ECHO_T}$ac_pt_PKG_CONFIG" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { echo "$as_me:$LINENO: checking pkg-config is at least version $_pkg_min_version" >&5 echo $ECHO_N "checking pkg-config is at least version $_pkg_min_version... $ECHO_C" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } PKG_CONFIG="" fi fi # Check whether --enable-libxml2 was given. if test "${enable_libxml2+set}" = set; then enableval=$enable_libxml2; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } WRAPPER_DIR="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } WRAPPER_DIR="libxml2" pkg_failed=no { echo "$as_me:$LINENO: checking for LIBXML2" >&5 echo $ECHO_N "checking for LIBXML2... $ECHO_C" >&6; } if test -n "$PKG_CONFIG"; then if test -n "$LIBXML2_CFLAGS"; then pkg_cv_LIBXML2_CFLAGS="$LIBXML2_CFLAGS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test -n "$PKG_CONFIG"; then if test -n "$LIBXML2_LIBS"; then pkg_cv_LIBXML2_LIBS="$LIBXML2_LIBS" else if test -n "$PKG_CONFIG" && \ { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"libxml-2.0\"") >&5 ($PKG_CONFIG --exists --print-errors "libxml-2.0") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then pkg_cv_LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0" 2>/dev/null` else pkg_failed=yes fi fi else pkg_failed=untried fi if test $pkg_failed = yes; then if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBXML2_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "libxml-2.0"` else LIBXML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0"` fi # Put the nasty error message in config.log where it belongs echo "$LIBXML2_PKG_ERRORS" >&5 { { echo "$as_me:$LINENO: error: Package requirements (libxml-2.0) were not met: $LIBXML2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&5 echo "$as_me: error: Package requirements (libxml-2.0) were not met: $LIBXML2_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. " >&2;} { (exit 1); exit 1; }; } elif test $pkg_failed = untried; then { { echo "$as_me:$LINENO: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&5 echo "$as_me: error: The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables LIBXML2_CFLAGS and LIBXML2_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } else LIBXML2_CFLAGS=$pkg_cv_LIBXML2_CFLAGS LIBXML2_LIBS=$pkg_cv_LIBXML2_LIBS { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } : fi CFLAGS="$CFLAGS -DAXIS2_LIBXML2_ENABLED" CPPFLAGS="$CPPFLAGS $PARSER_CFLAGS -DAXIS2_LIBXML2_ENABLED" LDFLAGS="$LDFLAGS $PARSER_LIBS" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to build tcp transport" >&5 echo $ECHO_N "checking whether to build tcp transport... $ECHO_C" >&6; } # Check whether --enable-tcp was given. if test "${enable_tcp+set}" = set; then enableval=$enable_tcp; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } TCP_DIR="tcp" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to use cgi transport" >&5 echo $ECHO_N "checking whether to use cgi transport... $ECHO_C" >&6; } # Check whether --enable-cgi was given. if test "${enable_cgi+set}" = set; then enableval=$enable_cgi; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CGI_DIR="CGI" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to build AMQP transport" >&5 echo $ECHO_N "checking whether to build AMQP transport... $ECHO_C" >&6; } # Check whether --with-qpid was given. if test "${with_qpid+set}" = set; then withval=$with_qpid; case "$withval" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } AMQP_DIR="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } if test -d $withval; then qpidhome="$withval" elif test -d '/usr/local/include/qpid'; then qpidhome="/usr/local" else { { echo "$as_me:$LINENO: error: *** Could not Find Qpid in /usr/local ..." >&5 echo "$as_me: error: *** Could not Find Qpid in /usr/local ..." >&2;} { (exit 1); exit 1; }; } fi AMQP_DIR="amqp" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to use apache2 as server transport" >&5 echo $ECHO_N "checking whether to use apache2 as server transport... $ECHO_C" >&6; } # Check whether --with-apache2 was given. if test "${with_apache2+set}" = set; then withval=$with_apache2; case "$withval" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } APACHE2BUILD="" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } if test -d $withval; then apache2inc="-I$withval" elif test -d '/usr/include/apache2'; then apache2inc="-I/usr/include/apache2" else { { echo "$as_me:$LINENO: error: could not find apache2. stop" >&5 echo "$as_me: error: could not find apache2. stop" >&2;} { (exit 1); exit 1; }; } fi APACHE2BUILD="apache2" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to use apr. Note that if you build with apache2 you might need to do this." >&5 echo $ECHO_N "checking whether to use apr. Note that if you build with apache2 you might need to do this.... $ECHO_C" >&6; } # Check whether --with-apr was given. if test "${with_apr+set}" = set; then withval=$with_apr; case "$withval" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } if test -d $withval; then aprinc="-I$withval" elif test -d '/usr/include/apr-0'; then aprinc="-I/usr/include/apr-0" else { { echo "$as_me:$LINENO: error: could not find apr. stop" >&5 echo "$as_me: error: could not find apr. stop" >&2;} { (exit 1); exit 1; }; } fi ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi { echo "$as_me:$LINENO: checking whether to build tests" >&5 echo $ECHO_N "checking whether to build tests... $ECHO_C" >&6; } # Check whether --enable-tests was given. if test "${enable_tests+set}" = set; then enableval=$enable_tests; case "${enableval}" in yes) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } TESTDIR="test" ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } TESTDIR="" fi { echo "$as_me:$LINENO: checking whether to enable trace" >&5 echo $ECHO_N "checking whether to enable trace... $ECHO_C" >&6; } # Check whether --enable-trace was given. if test "${enable_trace+set}" = set; then enableval=$enable_trace; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_TRACE" CPPFLAGS="$CPPFLAGS -DAXIS2_TRACE" ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" fi { echo "$as_me:$LINENO: checking whether to enable multi threading" >&5 echo $ECHO_N "checking whether to enable multi threading... $ECHO_C" >&6; } # Check whether --enable-multi-thread was given. if test "${enable_multi_thread+set}" = set; then enableval=$enable_multi_thread; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_SVR_MULTI_THREADED" CPPFLAGS="$CPPFLAGS -DAXIS2_SVR_MULTI_THREADED" ;; esac else { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_SVR_MULTI_THREADED" CPPFLAGS="$CPPFLAGS -DAXIS2_SVR_MULTI_THREADED" fi { echo "$as_me:$LINENO: checking whether to use openssl" >&5 echo $ECHO_N "checking whether to use openssl... $ECHO_C" >&6; } # Check whether --enable-openssl was given. if test "${enable_openssl+set}" = set; then enableval=$enable_openssl; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ssl_enabled=false ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_SSL_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_SSL_ENABLED" ssl_enabled=true ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" fi { echo "$as_me:$LINENO: checking whether to use libcurl" >&5 echo $ECHO_N "checking whether to use libcurl... $ECHO_C" >&6; } # Check whether --enable-libcurl was given. if test "${enable_libcurl+set}" = set; then enableval=$enable_libcurl; case "${enableval}" in no) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" libcurl_enabled=false ;; *) { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } CFLAGS="$CFLAGS -DAXIS2_LIBCURL_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_LIBCURL_ENABLED" libcurl_enabled=true ;; esac else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" fi APACHE2INC=$apache2inc IKSEMELINC=$iksemelinc APRINC=$aprinc VERSION_NO="6:0:6" QPID_HOME=$qpidhome if test x$ssl_enabled = xtrue; then AXIS2_SSL_ENABLED_TRUE= AXIS2_SSL_ENABLED_FALSE='#' else AXIS2_SSL_ENABLED_TRUE='#' AXIS2_SSL_ENABLED_FALSE= fi if test x$libcurl_enabled = xtrue; then AXIS2_LIBCURL_ENABLED_TRUE= AXIS2_LIBCURL_ENABLED_FALSE='#' else AXIS2_LIBCURL_ENABLED_TRUE='#' AXIS2_LIBCURL_ENABLED_FALSE= fi export WRAPPER_DIR export prefix ac_config_files="$ac_config_files Makefile src/Makefile src/core/Makefile src/core/description/Makefile src/core/context/Makefile src/core/engine/Makefile src/core/addr/Makefile src/core/phaseresolver/Makefile src/core/transport/Makefile src/core/transport/http/Makefile src/core/transport/http/common/Makefile src/core/transport/http/util/Makefile src/core/transport/http/sender/Makefile src/core/transport/http/sender/ssl/Makefile src/core/transport/http/sender/libcurl/Makefile src/core/transport/http/receiver/Makefile src/core/transport/http/server/simple_axis2_server/Makefile src/core/transport/http/server/Makefile src/core/transport/http/server/apache2/Makefile src/core/transport/tcp/Makefile src/core/transport/tcp/sender/Makefile src/core/transport/tcp/receiver/Makefile src/core/transport/tcp/server/Makefile src/core/transport/tcp/server/simple_tcp_server/Makefile src/core/transport/amqp/Makefile src/core/transport/amqp/util/Makefile src/core/transport/amqp/receiver/Makefile src/core/transport/amqp/receiver/qpid_receiver/Makefile src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile src/core/transport/amqp/sender/Makefile src/core/transport/amqp/sender/qpid_sender/Makefile src/core/transport/amqp/server/Makefile src/core/transport/amqp/server/axis2_amqp_server/Makefile src/core/transport/http/server/CGI/Makefile src/core/deployment/Makefile src/core/clientapi/Makefile src/core/receivers/Makefile src/core/util/Makefile src/modules/Makefile src/modules/mod_addr/Makefile src/modules/mod_log/Makefile test/Makefile test/core/Makefile test/core/description/Makefile test/core/clientapi/Makefile test/core/deployment/Makefile test/core/context/Makefile test/core/engine/Makefile test/core/addr/Makefile test/core/transport/Makefile test/core/transport/http/Makefile tools/tcpmon/Makefile tools/tcpmon/src/Makefile tools/md5/Makefile tools/md5/src/Makefile ides/Makefile include/Makefile axis2c.pc" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${AXIS2_SSL_ENABLED_TRUE}" && test -z "${AXIS2_SSL_ENABLED_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AXIS2_SSL_ENABLED\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AXIS2_SSL_ENABLED\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${AXIS2_LIBCURL_ENABLED_TRUE}" && test -z "${AXIS2_LIBCURL_ENABLED_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AXIS2_LIBCURL_ENABLED\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AXIS2_LIBCURL_ENABLED\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by axis2c-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ axis2c-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/core/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/Makefile" ;; "src/core/description/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/description/Makefile" ;; "src/core/context/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/context/Makefile" ;; "src/core/engine/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/engine/Makefile" ;; "src/core/addr/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/addr/Makefile" ;; "src/core/phaseresolver/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/phaseresolver/Makefile" ;; "src/core/transport/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/Makefile" ;; "src/core/transport/http/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/Makefile" ;; "src/core/transport/http/common/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/common/Makefile" ;; "src/core/transport/http/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/util/Makefile" ;; "src/core/transport/http/sender/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/sender/Makefile" ;; "src/core/transport/http/sender/ssl/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/sender/ssl/Makefile" ;; "src/core/transport/http/sender/libcurl/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/sender/libcurl/Makefile" ;; "src/core/transport/http/receiver/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/receiver/Makefile" ;; "src/core/transport/http/server/simple_axis2_server/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/server/simple_axis2_server/Makefile" ;; "src/core/transport/http/server/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/server/Makefile" ;; "src/core/transport/http/server/apache2/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/server/apache2/Makefile" ;; "src/core/transport/tcp/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/tcp/Makefile" ;; "src/core/transport/tcp/sender/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/tcp/sender/Makefile" ;; "src/core/transport/tcp/receiver/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/tcp/receiver/Makefile" ;; "src/core/transport/tcp/server/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/tcp/server/Makefile" ;; "src/core/transport/tcp/server/simple_tcp_server/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/tcp/server/simple_tcp_server/Makefile" ;; "src/core/transport/amqp/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/Makefile" ;; "src/core/transport/amqp/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/util/Makefile" ;; "src/core/transport/amqp/receiver/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/receiver/Makefile" ;; "src/core/transport/amqp/receiver/qpid_receiver/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/receiver/qpid_receiver/Makefile" ;; "src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile" ;; "src/core/transport/amqp/sender/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/sender/Makefile" ;; "src/core/transport/amqp/sender/qpid_sender/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/sender/qpid_sender/Makefile" ;; "src/core/transport/amqp/server/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/server/Makefile" ;; "src/core/transport/amqp/server/axis2_amqp_server/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/amqp/server/axis2_amqp_server/Makefile" ;; "src/core/transport/http/server/CGI/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/transport/http/server/CGI/Makefile" ;; "src/core/deployment/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/deployment/Makefile" ;; "src/core/clientapi/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/clientapi/Makefile" ;; "src/core/receivers/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/receivers/Makefile" ;; "src/core/util/Makefile") CONFIG_FILES="$CONFIG_FILES src/core/util/Makefile" ;; "src/modules/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/Makefile" ;; "src/modules/mod_addr/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/mod_addr/Makefile" ;; "src/modules/mod_log/Makefile") CONFIG_FILES="$CONFIG_FILES src/modules/mod_log/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; "test/core/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/Makefile" ;; "test/core/description/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/description/Makefile" ;; "test/core/clientapi/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/clientapi/Makefile" ;; "test/core/deployment/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/deployment/Makefile" ;; "test/core/context/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/context/Makefile" ;; "test/core/engine/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/engine/Makefile" ;; "test/core/addr/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/addr/Makefile" ;; "test/core/transport/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/transport/Makefile" ;; "test/core/transport/http/Makefile") CONFIG_FILES="$CONFIG_FILES test/core/transport/http/Makefile" ;; "tools/tcpmon/Makefile") CONFIG_FILES="$CONFIG_FILES tools/tcpmon/Makefile" ;; "tools/tcpmon/src/Makefile") CONFIG_FILES="$CONFIG_FILES tools/tcpmon/src/Makefile" ;; "tools/md5/Makefile") CONFIG_FILES="$CONFIG_FILES tools/md5/Makefile" ;; "tools/md5/src/Makefile") CONFIG_FILES="$CONFIG_FILES tools/md5/src/Makefile" ;; "ides/Makefile") CONFIG_FILES="$CONFIG_FILES ides/Makefile" ;; "include/Makefile") CONFIG_FILES="$CONFIG_FILES include/Makefile" ;; "axis2c.pc") CONFIG_FILES="$CONFIG_FILES axis2c.pc" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim subdirs!$subdirs$ac_delim PKG_CONFIG!$PKG_CONFIG$ac_delim LIBXML2_CFLAGS!$LIBXML2_CFLAGS$ac_delim LIBXML2_LIBS!$LIBXML2_LIBS$ac_delim VERSION_NO!$VERSION_NO$ac_delim APACHE2INC!$APACHE2INC$ac_delim APRINC!$APRINC$ac_delim DICLIENT_DIR!$DICLIENT_DIR$ac_delim TESTDIR!$TESTDIR$ac_delim SAMPLES!$SAMPLES$ac_delim APACHE2BUILD!$APACHE2BUILD$ac_delim WRAPPER_DIR!$WRAPPER_DIR$ac_delim TCP_DIR!$TCP_DIR$ac_delim CGI_DIR!$CGI_DIR$ac_delim AMQP_DIR!$AMQP_DIR$ac_delim QPID_HOME!$QPID_HOME$ac_delim GUTHTHILA_DIR!$GUTHTHILA_DIR$ac_delim GUTHTHILA_LIBS!$GUTHTHILA_LIBS$ac_delim ZLIBBUILD!$ZLIBBUILD$ac_delim AXIS2_SSL_ENABLED_TRUE!$AXIS2_SSL_ENABLED_TRUE$ac_delim AXIS2_SSL_ENABLED_FALSE!$AXIS2_SSL_ENABLED_FALSE$ac_delim AXIS2_LIBCURL_ENABLED_TRUE!$AXIS2_LIBCURL_ENABLED_TRUE$ac_delim AXIS2_LIBCURL_ENABLED_FALSE!$AXIS2_LIBCURL_ENABLED_FALSE$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 34; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi # # CONFIG_SUBDIRS section. # if test "$no_recursion" != yes; then # Remove --cache-file and --srcdir arguments so they do not pile up. ac_sub_configure_args= ac_prev= eval "set x $ac_configure_args" shift for ac_arg do if test -n "$ac_prev"; then ac_prev= continue fi case $ac_arg in -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* \ | --c=*) ;; --config-cache | -C) ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) ;; *) case $ac_arg in *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="$ac_sub_configure_args '$ac_arg'" ;; esac done # Always prepend --prefix to ensure using the same prefix # in subdir configurations. ac_arg="--prefix=$prefix" case $ac_arg in *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac ac_sub_configure_args="'$ac_arg' $ac_sub_configure_args" # Pass --silent if test "$silent" = yes; then ac_sub_configure_args="--silent $ac_sub_configure_args" fi ac_popdir=`pwd` for ac_dir in : $subdirs; do test "x$ac_dir" = x: && continue # Do not complain, so a configure script can configure whichever # parts of a large source tree are present. test -d "$srcdir/$ac_dir" || continue ac_msg="=== configuring in $ac_dir (`pwd`/$ac_dir)" echo "$as_me:$LINENO: $ac_msg" >&5 echo "$ac_msg" >&6 { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" # Check for guested configure; otherwise get Cygnus style configure. if test -f "$ac_srcdir/configure.gnu"; then ac_sub_configure=$ac_srcdir/configure.gnu elif test -f "$ac_srcdir/configure"; then ac_sub_configure=$ac_srcdir/configure elif test -f "$ac_srcdir/configure.in"; then # This should be Cygnus configure. ac_sub_configure=$ac_aux_dir/configure else { echo "$as_me:$LINENO: WARNING: no configuration information is in $ac_dir" >&5 echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2;} ac_sub_configure= fi # The recursion is here. if test -n "$ac_sub_configure"; then # Make the cache file name correct relative to the subdirectory. case $cache_file in [\\/]* | ?:[\\/]* ) ac_sub_cache_file=$cache_file ;; *) # Relative name. ac_sub_cache_file=$ac_top_build_prefix$cache_file ;; esac { echo "$as_me:$LINENO: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&5 echo "$as_me: running $SHELL $ac_sub_configure $ac_sub_configure_args --cache-file=$ac_sub_cache_file --srcdir=$ac_srcdir" >&6;} # The eval makes quoting arguments work. eval "\$SHELL \"\$ac_sub_configure\" $ac_sub_configure_args \ --cache-file=\"\$ac_sub_cache_file\" --srcdir=\"\$ac_srcdir\"" || { { echo "$as_me:$LINENO: error: $ac_sub_configure failed for $ac_dir" >&5 echo "$as_me: error: $ac_sub_configure failed for $ac_dir" >&2;} { (exit 1); exit 1; }; } fi cd "$ac_popdir" done fi axis2c-src-1.6.0/configure.ac0000644000175000017500000003215411166304700017125 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(axis2c-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) AM_INIT_AUTOMAKE([tar-ustar]) AC_PREFIX_DEFAULT(/usr/local/axis2c) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ],axis2c_have_iso_c_varargs=yes,axis2c_have_iso_c_varargs=no) AC_MSG_RESULT($axis2c_have_iso_c_varargs) AC_MSG_CHECKING(for GNUC varargs macros) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(params...) a(1,params) call_a(2,3); ],axis2c_have_gnuc_varargs=yes,axis2c_have_gnuc_varargs=no) AC_MSG_RESULT($axis2c_have_gnuc_varargs) dnl Output varargs tests if test x$axis2c_have_iso_c_varargs = xyes; then AC_DEFINE(HAVE_ISO_VARARGS,1,[Have ISO C99 varargs macros]) fi if test x$axis2c_have_gnuc_varargs = xyes; then AC_DEFINE(HAVE_GNUC_VARARGS,1,[Have GNU-style varargs macros]) fi dnl Checks for libraries. AC_CHECK_LIB(dl, dlopen) AC_CHECK_LIB(z, inflate) AC_CHECK_LIB(socket, socket) if test -d $srcdir/util; then AC_CONFIG_SUBDIRS(util) fi if test -d $srcdir/axiom; then AC_CONFIG_SUBDIRS(axiom) fi if test -d $srcdir/neethi; then AC_CONFIG_SUBDIRS(neethi) fi #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" CPPFLAGS="$CPPFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration -g -D_GNU_SOURCE" # CFLAGS="$CFLAGS -ansi -Wall -Wno-implicit-function-declaration" fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) AC_CHECK_HEADERS([sys/socket.h]) AC_CHECK_HEADERS([net/if.h], [], [], [#include #if STDC_HEADERS # include # include #else # if HAVE_STDLIB_H # include # endif #endif #if HAVE_SYS_SOCKET_H # include #endif ]) AC_CHECK_HEADERS([linux/if.h],[],[], [ #if HAVE_SYS_SOCKET_H # include #endif ]) AC_CHECK_HEADERS([net/if_types.h]) AC_CHECK_HEADERS([net/if_dl.h]) dnl This is a check to see if we are running MacOS X dnl It may be better to do a Darwin check AC_CHECK_HEADERS([sys/appleapiopts.h]) dnl Checks for typedefs, structures, and compiler characteristics. dnl Checks for library functions. dnl AC_FUNC_MALLOC dnl AC_FUNC_REALLOC #AC_CHECK_FUNCS([memmove]) AC_MSG_CHECKING(whether to use archive) AC_ARG_WITH(archive, [ --with-archive[=PATH] Find the zlib header files in 'PATH'. If you omit the '=PATH' part completely, the configure script will search '/usr/include/' for zlib headers.], [ case "$withval" in no) AC_MSG_RESULT(no) ZLIBBUILD="" zliblibs="" ;; *) AC_MSG_RESULT(yes) zliblibs="minizip/libaxis2_minizip.la" CFLAGS="$CFLAGS -DAXIS2_ARCHIVE_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_ARCHIVE_ENABLED" if test -d $withval; then zlibinc="-I$withval" elif test -d '/usr/include'; then zlibinc="-I/usr/include" else AC_MSG_ERROR(could not find zlib stop) fi ZLIBBUILD="minizip" ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to build xpath) AC_ARG_ENABLE(xpath, [ --enable-xpath build xpath. default=yes], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) XPATH_DIR="xpath" ;; esac ], AC_MSG_RESULT(yes) XPATH_DIR="xpath" ) GUTHTHILA_LIBS="" AC_MSG_CHECKING(whether to build guththila xml parser library) AC_ARG_ENABLE(guththila, [ --enable-guththila build Guththila XML parser library wrapper (default=yes)], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" WRAPPER_DIR="guththila" ;; esac ], AC_MSG_RESULT(yes) WRAPPER_DIR="guththila" CFLAGS="$CFLAGS -DAXIS2_GUTHTHILA_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_GUTHTHILA_ENABLED" AC_CONFIG_SUBDIRS(guththila) GUTHTHILA_LIBS="/guththila/src/" GUTHTHILA_DIR="guththila" ) AC_MSG_CHECKING(whether to build libxml2 xml parser library) AC_ARG_ENABLE(libxml2, [ --enable-libxml2 build Libxml2 XML parser library wrapper (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) WRAPPER_DIR="" ;; *) AC_MSG_RESULT(yes) WRAPPER_DIR="libxml2" PKG_CHECK_MODULES(LIBXML2, libxml-2.0) CFLAGS="$CFLAGS -DAXIS2_LIBXML2_ENABLED" CPPFLAGS="$CPPFLAGS $PARSER_CFLAGS -DAXIS2_LIBXML2_ENABLED" LDFLAGS="$LDFLAGS $PARSER_LIBS" ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to build tcp transport) AC_ARG_ENABLE(tcp, [ --enable-tcp build tcp transport (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) TCP_DIR="tcp" ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to use cgi transport) AC_ARG_ENABLE(cgi, [ --enable-cgi build cgi transport (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) CGI_DIR="CGI" ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to build AMQP transport) AC_ARG_WITH(qpid, [ --with-qpid[=PATH] 'PATH' specifies the location where the Qpid is installed into. If this option is specified, AMQP transport would be built. If you omit the '=PATH' part completely, the configure script will take '/usr/local' as the Qpid home.], [ case "$withval" in no) AC_MSG_RESULT(no) AMQP_DIR="" ;; *) AC_MSG_RESULT(yes) if test -d $withval; then qpidhome="$withval" elif test -d '/usr/local/include/qpid'; then qpidhome="/usr/local" else AC_MSG_ERROR(*** Could not Find Qpid in /usr/local ...) fi AMQP_DIR="amqp" ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to use apache2 as server transport) AC_ARG_WITH(apache2, [ --with-apache2[=PATH] Find the Apache2 HTTP Web server header files in 'PATH'. If this option is given, the Apache2 httpd module would be built. 'PATH' should point to Apache2 httpd include files location. If you omit the '=PATH' part completely, the configure script will search '/usr/include/apache2' for Apache2 headers.], [ case "$withval" in no) AC_MSG_RESULT(no) APACHE2BUILD="" ;; *) AC_MSG_RESULT(yes) dnl Find apache2 include dir in the path pointed by APACHE2_HOME env variable if test -d $withval; then apache2inc="-I$withval" dnl else find the apache2 include dir in /usr/local/apache2 elif test -d '/usr/include/apache2'; then apache2inc="-I/usr/include/apache2" else AC_MSG_ERROR(could not find apache2. stop) fi APACHE2BUILD="apache2" ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to use apr. Note that if you build with apache2 you might need to do this.) AC_ARG_WITH(apr, [ --with-apr[=PATH] Find the APR header files in 'PATH'. Some Apache2 distributions, specially development versions, install APR (Apache Portable Run-time) include files in a separate location. In that case, to build Apache2 httpd module, this option is also required. 'PATH' should point to APR include files location. If you omit the '=PATH' part completely, the configure script will search '/usr/include/apr-0' for APR headers.], [ case "$withval" in no) AC_MSG_RESULT(no) ;; *) AC_MSG_RESULT(yes) dnl Find apr include dir in the path if test -d $withval; then aprinc="-I$withval" dnl else find the apache2 include dir in /usr/local/apache2 elif test -d '/usr/include/apr-0'; then aprinc="-I/usr/include/apr-0" else AC_MSG_ERROR(could not find apr. stop) fi ;; esac ], AC_MSG_RESULT(no) ) AC_MSG_CHECKING(whether to build tests) AC_ARG_ENABLE(tests, [ --enable-tests build tests (default=no)], [ case "${enableval}" in yes) AC_MSG_RESULT(yes) TESTDIR="test" ;; *) AC_MSG_RESULT(no) TESTDIR="" ;; esac ], AC_MSG_RESULT(no) TESTDIR="" ) AC_MSG_CHECKING(whether to enable trace) AC_ARG_ENABLE(trace, [ --enable-trace enable logging trace messages useful when debugging (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_TRACE" CPPFLAGS="$CPPFLAGS -DAXIS2_TRACE" ;; esac ], AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ) AC_MSG_CHECKING(whether to enable multi threading) AC_ARG_ENABLE(multi-thread, [ --enable-multi-thread enable multi threading (default=yes)], [ case "${enableval}" in no) AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_SVR_MULTI_THREADED" CPPFLAGS="$CPPFLAGS -DAXIS2_SVR_MULTI_THREADED" ;; esac ],[ AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_SVR_MULTI_THREADED" CPPFLAGS="$CPPFLAGS -DAXIS2_SVR_MULTI_THREADED"] ) AC_MSG_CHECKING(whether to use openssl) AC_ARG_ENABLE(openssl, [ --enable-openssl enable OpenSSL support in client transport (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ssl_enabled=false ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_SSL_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_SSL_ENABLED" ssl_enabled=true ;; esac ], AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ) AC_MSG_CHECKING(whether to use libcurl) AC_ARG_ENABLE(libcurl, [ --enable-libcurl enable libcurl based client transport (default=no)], [ case "${enableval}" in no) AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" libcurl_enabled=false ;; *) AC_MSG_RESULT(yes) CFLAGS="$CFLAGS -DAXIS2_LIBCURL_ENABLED" CPPFLAGS="$CPPFLAGS -DAXIS2_LIBCURL_ENABLED" libcurl_enabled=true ;; esac ], AC_MSG_RESULT(no) CFLAGS="$CFLAGS" CPPFLAGS="$CPPFLAGS" ) APACHE2INC=$apache2inc IKSEMELINC=$iksemelinc APRINC=$aprinc VERSION_NO="6:0:6" QPID_HOME=$qpidhome AC_SUBST(VERSION_NO) AC_SUBST(APACHE2INC) AC_SUBST(APRINC) AC_SUBST(DICLIENT_DIR) AC_SUBST(TESTDIR) AC_SUBST(SAMPLES) AC_SUBST(APACHE2BUILD) AC_SUBST(WRAPPER_DIR) AC_SUBST(TCP_DIR) AC_SUBST(CGI_DIR) AC_SUBST(AMQP_DIR) AC_SUBST(QPID_HOME) AC_SUBST(GUTHTHILA_DIR) AC_SUBST(GUTHTHILA_LIBS) AC_SUBST(ZLIBBUILD) AM_CONDITIONAL(AXIS2_SSL_ENABLED, test x$ssl_enabled = xtrue) AM_CONDITIONAL(AXIS2_LIBCURL_ENABLED, test x$libcurl_enabled = xtrue) export WRAPPER_DIR export prefix AC_CONFIG_FILES([Makefile \ src/Makefile \ src/core/Makefile \ src/core/description/Makefile \ src/core/context/Makefile \ src/core/engine/Makefile \ src/core/addr/Makefile \ src/core/phaseresolver/Makefile \ src/core/transport/Makefile \ src/core/transport/http/Makefile \ src/core/transport/http/common/Makefile \ src/core/transport/http/util/Makefile \ src/core/transport/http/sender/Makefile \ src/core/transport/http/sender/ssl/Makefile \ src/core/transport/http/sender/libcurl/Makefile \ src/core/transport/http/receiver/Makefile \ src/core/transport/http/server/simple_axis2_server/Makefile \ src/core/transport/http/server/Makefile \ src/core/transport/http/server/apache2/Makefile \ src/core/transport/tcp/Makefile \ src/core/transport/tcp/sender/Makefile \ src/core/transport/tcp/receiver/Makefile \ src/core/transport/tcp/server/Makefile \ src/core/transport/tcp/server/simple_tcp_server/Makefile \ src/core/transport/amqp/Makefile \ src/core/transport/amqp/util/Makefile \ src/core/transport/amqp/receiver/Makefile \ src/core/transport/amqp/receiver/qpid_receiver/Makefile \ src/core/transport/amqp/receiver/qpid_receiver/request_processor/Makefile \ src/core/transport/amqp/sender/Makefile \ src/core/transport/amqp/sender/qpid_sender/Makefile \ src/core/transport/amqp/server/Makefile \ src/core/transport/amqp/server/axis2_amqp_server/Makefile \ src/core/transport/http/server/CGI/Makefile \ src/core/deployment/Makefile \ src/core/clientapi/Makefile \ src/core/receivers/Makefile \ src/core/util/Makefile \ src/modules/Makefile \ src/modules/mod_addr/Makefile \ src/modules/mod_log/Makefile \ test/Makefile \ test/core/Makefile \ test/core/description/Makefile \ test/core/clientapi/Makefile \ test/core/deployment/Makefile \ test/core/context/Makefile \ test/core/engine/Makefile \ test/core/addr/Makefile \ test/core/transport/Makefile\ test/core/transport/http/Makefile \ tools/tcpmon/Makefile \ tools/tcpmon/src/Makefile \ tools/md5/Makefile \ tools/md5/src/Makefile \ ides/Makefile \ include/Makefile \ axis2c.pc ]) AC_OUTPUT axis2c-src-1.6.0/config.guess0000755000175000017500000012703510614436542017171 0ustar00manjulamanjula00000000000000#! /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, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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 . # Please send patches to . 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 ." 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 "$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 ; set_cc_for_build= ;' # 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 ;; sh5el) machine=sh5le-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 ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-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 /* 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 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 #include 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 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 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:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *: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 ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [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*:*:* | x86_64: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 ;; avr32*: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 | sed -n ' /^CPU/{ s: ::g p }'`" 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-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 ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-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 #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" 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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-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 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 ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos 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 < # include #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 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 # 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 < 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: axis2c-src-1.6.0/install-sh0000755000175000017500000003160010527332127016642 0ustar00manjulamanjula00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # 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. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment 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}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog 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 $# -ne 0; 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) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac 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 $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # 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 fi if test $# -eq 0; 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 if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? 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 dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # 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 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 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 "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # 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: axis2c-src-1.6.0/config.sub0000755000175000017500000007763110614436542016642 0ustar00manjulamanjula00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-01-18' # 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 . 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 ." 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-newlib* | 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -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/'` ;; -sco5v6*) # 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | 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 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) 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) ;; ms1) basic_machine=mt-unknown ;; # 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-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | 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-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; 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 ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 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* | -solidbsd* \ | -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-newlib* | -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* | -haiku* | -rdos* | -toppers* | -drops*) # 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* | -haiku* \ | -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 score-*) os=-elf ;; spu-*) os=-elf ;; *-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 ;; mep-*) os=-elf ;; 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 ;; *-haiku) os=-haiku ;; *-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: axis2c-src-1.6.0/missing0000755000175000017500000002557710527332127016255 0ustar00manjulamanjula00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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' autom4te touch the output file, or create a stub one 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 ." 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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: axis2c-src-1.6.0/Makefile.am0000644000175000017500000000367511166304700016701 0ustar00manjulamanjula00000000000000datadir=$(prefix) logsdir=$(prefix)/logs docsdir=$(prefix) includedir=$(prefix)/include/axis2-1.6.0 wsdl2cdir=$(prefix)/bin/tools/wsdl2c pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = axis2c.pc SUBDIRS = util $(GUTHTHILA_DIR) axiom neethi src $(TESTDIR) include ides tools/tcpmon tools/md5 include_HEADERS=$(top_builddir)/include/*.h data_DATA= samples/server/axis2.xml README \ INSTALL CREDITS COPYING NEWS NOTICE AUTHORS logs_DATA= docs_DATA= wsdl2c_DATA=tools/codegen/javatool/WSDL2C.sh tools/codegen/javatool/README EXTRA_DIST = CREDITS LICENSE build axis2c_build.sh guththila tools AUTHORS NOTICE tools/codegen/javatool/README tools/codegen/javatool/WSDL2C.bat tools/codegen/javatool/WSDL2C.sh dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type f -name *.la` rm -rf `find $(distdir)/ -type f -name *.o` rm -rf `find $(distdir)/ -type f -name *.lo` rm -rf `find $(distdir)/ -type f -name *.loT` rm -rf `find $(distdir)/ -type d -name .deps` rm -rf `find $(distdir)/ -type d -name .libs` rm -rf `find $(distdir)/ -type f -name Makefile` rm -rf `find $(distdir)/ -type f -name axis2c-sample-src-${PACKAGE_VERSION}.tar.gz` rm -rf `find $(distdir)/ -type d -name autom4te.cache` rm -rf $(distdir)/tools/tcpmon/src/tcpmon rm -rf $(distdir)/tools/md5/src/md5 find $(distdir) -name "makefile" | xargs sed -i "s/\/WX//g" sh dist.sh bindist: $(bin_PROGRAMS) rm -rf axis2c-bin-${PACKAGE_VERSION}-linux sh bindist.sh mkdir axis2c-bin-${PACKAGE_VERSION}-linux cp -r `pwd`/deploy/* axis2c-bin-${PACKAGE_VERSION}-linux cp AUTHORS axis2c-bin-${PACKAGE_VERSION}-linux cp README axis2c-bin-${PACKAGE_VERSION}-linux cp ChangeLog axis2c-bin-${PACKAGE_VERSION}-linux tar -cf - axis2c-bin-${PACKAGE_VERSION}-linux | gzip -c > axis2c-bin-${PACKAGE_VERSION}-linux.tar.gz rm -rf axis2c-bin-${PACKAGE_VERSION}-linux install-data-hook: cp -r docs $(docsdir) rm -rf `find $(docsdir)/ -type d -name .svn` rm $(docsdir)/README axis2c-src-1.6.0/Makefile.in0000644000175000017500000006526111172017206016710 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/axis2c.pc.in $(srcdir)/config.h.in \ $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \ config.guess config.sub depcomp install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = axis2c.pc SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(datadir)" "$(DESTDIR)$(docsdir)" \ "$(DESTDIR)$(logsdir)" "$(DESTDIR)$(pkgconfigdir)" \ "$(DESTDIR)$(wsdl2cdir)" "$(DESTDIR)$(includedir)" dataDATA_INSTALL = $(INSTALL_DATA) docsDATA_INSTALL = $(INSTALL_DATA) logsDATA_INSTALL = $(INSTALL_DATA) pkgconfigDATA_INSTALL = $(INSTALL_DATA) wsdl2cDATA_INSTALL = $(INSTALL_DATA) DATA = $(data_DATA) $(docs_DATA) $(logs_DATA) $(pkgconfig_DATA) \ $(wsdl2c_DATA) includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = $(prefix) datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0 infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ logsdir = $(prefix)/logs docsdir = $(prefix) wsdl2cdir = $(prefix)/bin/tools/wsdl2c pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = axis2c.pc SUBDIRS = util $(GUTHTHILA_DIR) axiom neethi src $(TESTDIR) include ides tools/tcpmon tools/md5 include_HEADERS = $(top_builddir)/include/*.h data_DATA = samples/server/axis2.xml README \ INSTALL CREDITS COPYING NEWS NOTICE AUTHORS logs_DATA = docs_DATA = wsdl2c_DATA = tools/codegen/javatool/WSDL2C.sh tools/codegen/javatool/README EXTRA_DIST = CREDITS LICENSE build axis2c_build.sh guththila tools AUTHORS NOTICE tools/codegen/javatool/README tools/codegen/javatool/WSDL2C.bat tools/codegen/javatool/WSDL2C.sh all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 axis2c.pc: $(top_builddir)/config.status $(srcdir)/axis2c.pc.in cd $(top_builddir) && $(SHELL) ./config.status $@ mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool install-dataDATA: $(data_DATA) @$(NORMAL_INSTALL) test -z "$(datadir)" || $(MKDIR_P) "$(DESTDIR)$(datadir)" @list='$(data_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(dataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(datadir)/$$f'"; \ $(dataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(datadir)/$$f"; \ done uninstall-dataDATA: @$(NORMAL_UNINSTALL) @list='$(data_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(datadir)/$$f'"; \ rm -f "$(DESTDIR)$(datadir)/$$f"; \ done install-docsDATA: $(docs_DATA) @$(NORMAL_INSTALL) test -z "$(docsdir)" || $(MKDIR_P) "$(DESTDIR)$(docsdir)" @list='$(docs_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(docsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(docsdir)/$$f'"; \ $(docsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(docsdir)/$$f"; \ done uninstall-docsDATA: @$(NORMAL_UNINSTALL) @list='$(docs_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(docsdir)/$$f'"; \ rm -f "$(DESTDIR)$(docsdir)/$$f"; \ done install-logsDATA: $(logs_DATA) @$(NORMAL_INSTALL) test -z "$(logsdir)" || $(MKDIR_P) "$(DESTDIR)$(logsdir)" @list='$(logs_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(logsDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(logsdir)/$$f'"; \ $(logsDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(logsdir)/$$f"; \ done uninstall-logsDATA: @$(NORMAL_UNINSTALL) @list='$(logs_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(logsdir)/$$f'"; \ rm -f "$(DESTDIR)$(logsdir)/$$f"; \ done install-pkgconfigDATA: $(pkgconfig_DATA) @$(NORMAL_INSTALL) test -z "$(pkgconfigdir)" || $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" @list='$(pkgconfig_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ $(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done uninstall-pkgconfigDATA: @$(NORMAL_UNINSTALL) @list='$(pkgconfig_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \ rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \ done install-wsdl2cDATA: $(wsdl2c_DATA) @$(NORMAL_INSTALL) test -z "$(wsdl2cdir)" || $(MKDIR_P) "$(DESTDIR)$(wsdl2cdir)" @list='$(wsdl2c_DATA)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(wsdl2cDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(wsdl2cdir)/$$f'"; \ $(wsdl2cDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(wsdl2cdir)/$$f"; \ done uninstall-wsdl2cDATA: @$(NORMAL_UNINSTALL) @list='$(wsdl2c_DATA)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(wsdl2cdir)/$$f'"; \ rm -f "$(DESTDIR)$(wsdl2cdir)/$$f"; \ done install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$(top_distdir)" distdir="$(distdir)" \ dist-hook -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(DATA) $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(datadir)" "$(DESTDIR)$(docsdir)" "$(DESTDIR)$(logsdir)" "$(DESTDIR)$(pkgconfigdir)" "$(DESTDIR)$(wsdl2cdir)" "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dataDATA install-docsDATA \ install-includeHEADERS install-logsDATA install-pkgconfigDATA \ install-wsdl2cDATA @$(NORMAL_INSTALL) $(MAKE) $(AM_MAKEFLAGS) install-data-hook install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-dataDATA uninstall-docsDATA \ uninstall-includeHEADERS uninstall-logsDATA \ uninstall-pkgconfigDATA uninstall-wsdl2cDATA .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-data-am install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-hook dist-shar dist-tarZ dist-zip distcheck \ distclean distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-data-hook \ install-dataDATA install-docsDATA install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-includeHEADERS install-info install-info-am \ install-logsDATA install-man install-pdf install-pdf-am \ install-pkgconfigDATA install-ps install-ps-am install-strip \ install-wsdl2cDATA installcheck installcheck-am installdirs \ installdirs-am maintainer-clean maintainer-clean-generic \ mostlyclean mostlyclean-generic mostlyclean-libtool pdf pdf-am \ ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-dataDATA uninstall-docsDATA uninstall-includeHEADERS \ uninstall-logsDATA uninstall-pkgconfigDATA \ uninstall-wsdl2cDATA dist-hook: rm -rf `find $(distdir)/ -type d -name .svn` rm -rf `find $(distdir)/ -type f -name *.la` rm -rf `find $(distdir)/ -type f -name *.o` rm -rf `find $(distdir)/ -type f -name *.lo` rm -rf `find $(distdir)/ -type f -name *.loT` rm -rf `find $(distdir)/ -type d -name .deps` rm -rf `find $(distdir)/ -type d -name .libs` rm -rf `find $(distdir)/ -type f -name Makefile` rm -rf `find $(distdir)/ -type f -name axis2c-sample-src-${PACKAGE_VERSION}.tar.gz` rm -rf `find $(distdir)/ -type d -name autom4te.cache` rm -rf $(distdir)/tools/tcpmon/src/tcpmon rm -rf $(distdir)/tools/md5/src/md5 find $(distdir) -name "makefile" | xargs sed -i "s/\/WX//g" sh dist.sh bindist: $(bin_PROGRAMS) rm -rf axis2c-bin-${PACKAGE_VERSION}-linux sh bindist.sh mkdir axis2c-bin-${PACKAGE_VERSION}-linux cp -r `pwd`/deploy/* axis2c-bin-${PACKAGE_VERSION}-linux cp AUTHORS axis2c-bin-${PACKAGE_VERSION}-linux cp README axis2c-bin-${PACKAGE_VERSION}-linux cp ChangeLog axis2c-bin-${PACKAGE_VERSION}-linux tar -cf - axis2c-bin-${PACKAGE_VERSION}-linux | gzip -c > axis2c-bin-${PACKAGE_VERSION}-linux.tar.gz rm -rf axis2c-bin-${PACKAGE_VERSION}-linux install-data-hook: cp -r docs $(docsdir) rm -rf `find $(docsdir)/ -type d -name .svn` rm $(docsdir)/README # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/config.h.in0000644000175000017500000000454711166310405016666 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Have GNU-style varargs macros */ #undef HAVE_GNUC_VARARGS /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Have ISO C99 varargs macros */ #undef HAVE_ISO_VARARGS /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the `socket' library (-lsocket). */ #undef HAVE_LIBSOCKET /* Define to 1 if you have the `z' library (-lz). */ #undef HAVE_LIBZ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_DL_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_APPLEAPIOPTS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION axis2c-src-1.6.0/neethi/0000777000175000017500000000000011172017536016117 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/src/0000777000175000017500000000000011172017536016706 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/src/assertion_builder.c0000644000175000017500000005127111166304521022565 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL neethi_assertion_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { axis2_char_t *localname = NULL; axis2_char_t *ns = NULL; axutil_qname_t *node_qname = NULL; localname = axiom_element_get_localname(element, env); if(!localname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get localname from element."); return NULL; } node_qname = axiom_element_get_qname(element, env, node); if(!node_qname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element %s.", localname); return NULL; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element %s.", localname); return NULL; } if(!(axutil_strcmp(ns, RP_SP_NS_11) && axutil_strcmp(ns, RP_SP_NS_12))) { /* if namespace is WS-SecurityPolicy Namespace */ if(!axutil_strcmp(localname, RP_TRANSPORT_BINDING)) { return rp_transport_binding_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_ASYMMETRIC_BINDING)) { return rp_asymmetric_binding_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SYMMETRIC_BINDING)) { return rp_symmetric_binding_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_TRANSPORT_TOKEN)) { return rp_transport_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_RECIPIENT_TOKEN)) { return rp_recipient_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_INITIATOR_TOKEN)) { return rp_initiator_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_PROTECTION_TOKEN)) { return rp_protection_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_ENCRYPTION_TOKEN)) { return rp_encryption_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SIGNATURE_TOKEN)) { return rp_signature_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_X509_TOKEN)) { return rp_x509_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SECURITY_CONTEXT_TOKEN)) { return rp_security_context_token_builder_build(env, node, element, ns, AXIS2_FALSE); } else if(!axutil_strcmp(localname, RP_SECURE_CONVERSATION_TOKEN)) { return rp_security_context_token_builder_build(env, node, element, ns, AXIS2_TRUE); } else if(!axutil_strcmp(localname, RP_ENCRYPT_BEFORE_SIGNING)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_ENCRYPT_BEFORE_SIGNING); return assertion; } else if(!axutil_strcmp(localname, RP_SIGN_BEFORE_ENCRYPTING)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_SIGN_BEFORE_ENCRYPTING); return assertion; } else if(!axutil_strcmp(localname, RP_ENCRYPT_SIGNATURE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_ENCRYPT_SIGNATURE); return assertion; } else if(!axutil_strcmp(localname, RP_PROTECT_TOKENS)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_PROTECT_TOKENS); return assertion; } else if(!axutil_strcmp(localname, RP_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_KEY_IDENTIFIRE_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_KEY_IDENTIFIRE_REFERENCE); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_ISSUER_SERIAL_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_ISSUER_SERIAL_REFERENCE); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_EMBEDDED_TOKEN_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_EMBEDDED_TOKEN_REFERENCE); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_THUMBPRINT_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_THUMBPRINT_REFERENCE); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_X509_V1_TOKEN_10)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_X509_V1_TOKEN_10); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_X509_V3_TOKEN_10)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_X509_V3_TOKEN_10); return assertion; } else if(!axutil_strcmp(localname, RP_ALGORITHM_SUITE)) { return rp_algorithmsuite_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_LAYOUT)) { return rp_layout_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_USERNAME_TOKEN)) { return rp_username_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SIGNED_SUPPORTING_TOKENS)) { return rp_supporting_tokens_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SUPPORTING_TOKENS)) { return rp_supporting_tokens_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_ENDORSING_SUPPORTING_TOKENS)) { return rp_supporting_tokens_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SIGNED_ENDORSING_SUPPORTING_TOKENS)) { return rp_supporting_tokens_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_WSS10)) { return rp_wss10_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_WSS11)) { return rp_wss11_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_TRUST10)) { return rp_trust10_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_TRUST13)) { /* we can still use rp_trust10 structures */ return rp_trust10_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_INCLUDE_TIMESTAMP)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_INCLUDE_TIMESTAMP); return assertion; } else if(!axutil_strcmp(localname, RP_HTTPS_TOKEN)) { return rp_https_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_WSS_USERNAME_TOKEN_10)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_USERNAME_TOKEN_10); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_USERNAME_TOKEN_11)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_USERNAME_TOKEN_11); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_REF_KEY_IDENTIFIER)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_REF_ISSUER_SERIAL)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_REF_EXTERNAL_URI)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_REF_EMBEDDED_TOKEN)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN); return assertion; } else if(!axutil_strcmp(localname, RP_SIGNED_PARTS)) { return rp_signed_encrypted_parts_builder_build(env, node, element, AXIS2_TRUE); } else if(!axutil_strcmp(localname, RP_ENCRYPTED_PARTS)) { return rp_signed_encrypted_parts_builder_build(env, node, element, AXIS2_FALSE); } else if(!axutil_strcmp(localname, RP_BOOTSTRAP_POLICY)) { return rp_bootstrap_policy_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_REF_THUMBPRINT)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_REF_THUMBPRINT); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_REF_ENCRYPTED_KEY)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_REF_ENCRYPTED_KEY); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_SIGNATURE_CONFIRMATION)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_SIGNATURE_CONFIRMATION); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_CLIENT_CHALLENGE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_CLIENT_CHALLENGE); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_SERVER_CHALLENGE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_SERVER_CHALLENGE); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_CLIENT_ENTROPY)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_CLIENT_ENTROPY); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_SERVER_ENTROPHY)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_SERVER_ENTROPHY); return assertion; } else if(!axutil_strcmp(localname, RP_MUST_SUPPORT_ISSUED_TOKENS)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_MUST_SUPPORT_ISSUED_TOKENS); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_DERIVED_KEYS)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); if(!axutil_strcmp(ns, RP_SP_NS_11)) { /* derived key should be as defined in WS-SecConversation 1.0 */ neethi_assertion_set_value( assertion, env, NULL, ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10); } else { /* derived key should be as defined in WS-SecConversation 1.3 */ neethi_assertion_set_value( assertion, env, NULL, ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC13); } return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_EXTERNAL_URI_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_EXTERNAL_URI); return assertion; } else if(!axutil_strcmp(localname, RP_SC10_SECURITY_CONTEXT_TOKEN)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_SC10_SECURITY_CONTEXT_TOKEN); return assertion; } else if(!axutil_strcmp(localname, RP_SC13_SECURITY_CONTEXT_TOKEN)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_SC13_SECURITY_CONTEXT_TOKEN); return assertion; } else if(!axutil_strcmp(localname, RP_ISSUER)) { neethi_assertion_t *assertion = NULL; axis2_char_t *issuer = NULL; issuer = axiom_element_get_text(element, env, node); assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, issuer, ASSERTION_TYPE_ISSUER); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_EXTERNAL_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_EXTERNAL_REFERENCE); return assertion; } else if(!axutil_strcmp(localname, RP_REQUIRE_INTERNAL_REFERENCE)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_REQUIRE_INTERNAL_REFERENCE); return assertion; } else if(!axutil_strcmp(localname, RP_ISSUED_TOKEN)) { return rp_issued_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_SAML_TOKEN)) { return rp_saml_token_builder_build(env, node, element); } else if(!axutil_strcmp(localname, RP_WSS_SAML_V10_TOKEN_V10)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V10); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_SAML_V10_TOKEN_V11)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V11); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_SAML_V11_TOKEN_V10)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V10); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_SAML_V11_TOKEN_V11)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V11); return assertion; } else if(!axutil_strcmp(localname, RP_WSS_SAML_V20_TOKEN_V11)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_WSS_SAML_V20_TOKEN_V11); return assertion; } } else if(!axutil_strcmp(ns, RP_RAMPART_NS)) { /* if namespace is Rampart Namespace */ if(!axutil_strcmp(localname, RP_RAMPART_CONFIG)) { return rp_rampart_config_builder_build(env, node, element); } } else if(!axutil_strcmp(ns, AXIS2_MTOM_POLICY_NS)) { if(!axutil_strcmp(localname, AXIS2_OPTIMIZED_MIME_SERIALIZATION)) { neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, NULL, ASSERTION_TYPE_OPTIMIZED_MIME_SERIALIZATION) ; return assertion; } } else if((!axutil_strcmp(ns, AXIS2_RM_POLICY_10_NS))|| (!axutil_strcmp(ns, AXIS2_RM_POLICY_11_NS))) { if(!axutil_strcmp(localname, AXIS2_RM_RMASSERTION)) { return axis2_rm_assertion_builder_build(env, node, element); } } /* This assertion cannot be processed */ AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_UNKNOWN_ASSERTION, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s with namespace %s", localname, ns); return NULL; } axis2c-src-1.6.0/neethi/src/assertion.c0000644000175000017500000003076411166304521021063 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include struct neethi_assertion_t { void *value; neethi_assertion_type_t type; axutil_array_list_t *policy_components; axiom_element_t *element; axiom_node_t *node; axis2_bool_t is_optional; AXIS2_FREE_VOID_ARG free_func; }; AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL neethi_assertion_create( const axutil_env_t *env) { neethi_assertion_t *neethi_assertion = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_assertion = (neethi_assertion_t *) AXIS2_MALLOC(env->allocator, sizeof (neethi_assertion_t)); if (neethi_assertion == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_assertion->policy_components = NULL; neethi_assertion->policy_components = axutil_array_list_create(env, 0); if (!(neethi_assertion->policy_components)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_assertion->value = NULL; neethi_assertion->type = ASSERTION_TYPE_UNKNOWN; neethi_assertion->element = NULL; neethi_assertion->is_optional = AXIS2_FALSE; neethi_assertion->node = NULL; neethi_assertion->free_func = 0; return neethi_assertion; } neethi_assertion_t *AXIS2_CALL neethi_assertion_create_with_args( const axutil_env_t *env, AXIS2_FREE_VOID_ARG free_func, void *value, neethi_assertion_type_t type) { neethi_assertion_t *neethi_assertion = NULL; neethi_assertion = (neethi_assertion_t *) AXIS2_MALLOC( env->allocator, sizeof(neethi_assertion_t)); if (!neethi_assertion) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Neethi assertion creation failed. Out of memory"); return NULL; } neethi_assertion->policy_components = NULL; neethi_assertion->policy_components = axutil_array_list_create(env, 0); if (!(neethi_assertion->policy_components)) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Neethi assertion policy components creation failed."); return NULL; } /* This ref count is for asertions which are represented from a struct. * These assertion structs are more probably referenced from some other * struct. So we need to increment the ref count in order to prevent * unnecessary memory freeing */ if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_increment_ref((rp_x509_token_t *) value, env); } else if (type == ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_increment_ref((rp_security_context_token_t *) value, env); } else if (type == ASSERTION_TYPE_INITIATOR_TOKEN) { rp_property_increment_ref((rp_property_t *) value, env); } else if (type == ASSERTION_TYPE_RECIPIENT_TOKEN) { rp_property_increment_ref((rp_property_t *) value, env); } else if (type == ASSERTION_TYPE_PROTECTION_TOKEN) { rp_property_increment_ref((rp_property_t *) value, env); } else if (type == ASSERTION_TYPE_ENCRYPTION_TOKEN) { rp_property_increment_ref((rp_property_t *) value, env); } else if (type == ASSERTION_TYPE_TRANSPORT_TOKEN) { rp_property_increment_ref((rp_property_t *) value, env); } else if (type == ASSERTION_TYPE_SIGNATURE_TOKEN) { rp_property_increment_ref((rp_property_t *) value, env); } else if (type == ASSERTION_TYPE_LAYOUT) { rp_layout_increment_ref((rp_layout_t *) value, env); } else if (type == ASSERTION_TYPE_ALGORITHM_SUITE) { rp_algorithmsuite_increment_ref((rp_algorithmsuite_t *) value, env); } else if (type == ASSERTION_TYPE_WSS10) { rp_wss10_increment_ref((rp_wss10_t *) value, env); } else if (type == ASSERTION_TYPE_WSS11) { rp_wss11_increment_ref((rp_wss11_t *) value, env); } else if (type == ASSERTION_TYPE_TRUST10) { rp_trust10_increment_ref((rp_trust10_t *) value, env); } else if (type == ASSERTION_TYPE_SUPPORTING_TOKENS) { rp_supporting_tokens_increment_ref((rp_supporting_tokens_t *) value, env); } else if (type == ASSERTION_TYPE_USERNAME_TOKEN) { rp_username_token_increment_ref((rp_username_token_t *) value, env); } else if (type == ASSERTION_TYPE_ASSYMMETRIC_BINDING) { rp_asymmetric_binding_increment_ref((rp_asymmetric_binding_t *) value, env); } else if (type == ASSERTION_TYPE_SYMMETRIC_BINDING) { rp_symmetric_binding_increment_ref((rp_symmetric_binding_t *) value, env); } else if (type == ASSERTION_TYPE_TRANSPORT_BINDING) { rp_transport_binding_increment_ref((rp_transport_binding_t *) value, env); } else if (type == ASSERTION_TYPE_SIGNED_ENCRYPTED_PARTS) { rp_signed_encrypted_parts_increment_ref((rp_signed_encrypted_parts_t *)value, env); } else if (type == ASSERTION_TYPE_RAMPART_CONFIG) { rp_rampart_config_increment_ref((rp_rampart_config_t *) value, env); } else if (type == ASSERTION_TYPE_ISSUED_TOKEN) { rp_issued_token_increment_ref((rp_issued_token_t *) value, env); } else if (type == ASSERTION_TYPE_SAML_TOKEN) { rp_saml_token_increment_ref((rp_saml_token_t *) value, env); } neethi_assertion->value = value; neethi_assertion->type = type; neethi_assertion->element = NULL; neethi_assertion->is_optional = AXIS2_FALSE; neethi_assertion->node = NULL; neethi_assertion->free_func = free_func; return neethi_assertion; } AXIS2_EXTERN void AXIS2_CALL neethi_assertion_free( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { if (neethi_assertion) { if (neethi_assertion->policy_components) { int i = 0; for (i = 0; i < axutil_array_list_size(neethi_assertion->policy_components, env); i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *) axutil_array_list_get(neethi_assertion->policy_components, env, i); if (operator) neethi_operator_free(operator, env); operator = NULL; } axutil_array_list_free(neethi_assertion->policy_components, env); neethi_assertion->policy_components = NULL; } if (neethi_assertion->value) { if (neethi_assertion->free_func) { neethi_assertion->free_func(neethi_assertion->value, env); } } AXIS2_FREE(env->allocator, neethi_assertion); neethi_assertion = NULL; } return; } /* Implementations */ AXIS2_EXTERN neethi_assertion_type_t AXIS2_CALL neethi_assertion_get_type( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { return neethi_assertion->type; } AXIS2_EXTERN void *AXIS2_CALL neethi_assertion_get_value( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { return neethi_assertion->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_value( neethi_assertion_t *neethi_assertion, const axutil_env_t *env, void *value, neethi_assertion_type_t type) { neethi_assertion->type = type; if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_increment_ref((rp_x509_token_t *) value, env); } neethi_assertion->value = (void *) value; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_element_t *AXIS2_CALL neethi_assertion_get_element( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return neethi_assertion->element; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_element( neethi_assertion_t *neethi_assertion, const axutil_env_t *env, axiom_element_t *element) { neethi_assertion->element = element; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL neethi_assertion_get_node( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { return neethi_assertion->node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_node( neethi_assertion_t *neethi_assertion, const axutil_env_t *env, axiom_node_t * node) { neethi_assertion->node = node; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_assertion_get_is_optional( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { return neethi_assertion->is_optional; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_is_optional( neethi_assertion_t *neethi_assertion, const axutil_env_t *env, axis2_bool_t is_optional) { neethi_assertion->is_optional = is_optional; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_assertion_get_policy_components( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { return neethi_assertion->policy_components; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_add_policy_components( neethi_assertion_t *neethi_assertion, axutil_array_list_t *arraylist, const axutil_env_t *env) { int size = axutil_array_list_size(arraylist, env); int i = 0; if (axutil_array_list_ensure_capacity (neethi_assertion->policy_components, env, size + 1) != AXIS2_SUCCESS) return AXIS2_FAILURE; for (i = 0; i < size; i++) { void *value = NULL; value = axutil_array_list_get(arraylist, env, i); neethi_operator_increment_ref((neethi_operator_t *) value, env); axutil_array_list_add(neethi_assertion->policy_components, env, value); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_add_operator( neethi_assertion_t *neethi_assertion, const axutil_env_t *env, neethi_operator_t *operator) { neethi_operator_increment_ref(operator, env); axutil_array_list_add(neethi_assertion->policy_components, env, operator); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_assertion_is_empty( neethi_assertion_t *neethi_assertion, const axutil_env_t *env) { return axutil_array_list_is_empty(neethi_assertion->policy_components, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_serialize( neethi_assertion_t *assertion, axiom_node_t *parent, const axutil_env_t *env) { axiom_namespace_t *namespace = NULL; axiom_element_t *element = NULL; axiom_node_t *node = NULL; axis2_char_t *localname = NULL; namespace = axiom_element_get_namespace(assertion->element, env, assertion->node); localname = axiom_element_get_localname(assertion->element, env); element = axiom_element_create(env, parent, localname, namespace, &node); if (!node) { return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/all.c0000644000175000017500000001251711166304521017620 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct neethi_all_t { axutil_array_list_t *policy_components; }; AXIS2_EXTERN neethi_all_t *AXIS2_CALL neethi_all_create( const axutil_env_t *env) { neethi_all_t *neethi_all = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_all = (neethi_all_t *) AXIS2_MALLOC(env->allocator, sizeof(neethi_all_t)); if (neethi_all == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_all->policy_components = NULL; neethi_all->policy_components = axutil_array_list_create(env, 0); if (!(neethi_all->policy_components)) { neethi_all_free(neethi_all, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } return neethi_all; } AXIS2_EXTERN void AXIS2_CALL neethi_all_free( neethi_all_t *neethi_all, const axutil_env_t *env) { if (neethi_all) { if (neethi_all->policy_components) { int i = 0; int size = 0; size = axutil_array_list_size(neethi_all->policy_components, env); for (i = 0; i < size; i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *) axutil_array_list_get(neethi_all->policy_components, env, i); if (operator) { neethi_operator_free(operator, env); operator = NULL; } operator = NULL; } axutil_array_list_free(neethi_all->policy_components, env); neethi_all->policy_components = NULL; } AXIS2_FREE(env->allocator, neethi_all); neethi_all = NULL; } return; } /* Implementations */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_all_get_policy_components( neethi_all_t *neethi_all, const axutil_env_t *env) { return neethi_all->policy_components; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_all_add_policy_components( neethi_all_t *all, axutil_array_list_t *arraylist, const axutil_env_t *env) { int size = axutil_array_list_size(arraylist, env); int i = 0; if (axutil_array_list_ensure_capacity(all->policy_components, env, size + 1) != AXIS2_SUCCESS) return AXIS2_FAILURE; for (i = 0; i < size; i++) { void *value = NULL; value = axutil_array_list_get(arraylist, env, i); neethi_operator_increment_ref((neethi_operator_t *) value, env); axutil_array_list_add(all->policy_components, env, value); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_all_add_operator( neethi_all_t *neethi_all, const axutil_env_t *env, neethi_operator_t *operator) { neethi_operator_increment_ref(operator, env); axutil_array_list_add(neethi_all->policy_components, env, operator); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_all_is_empty( neethi_all_t *all, const axutil_env_t *env) { return axutil_array_list_is_empty(all->policy_components, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_all_serialize( neethi_all_t *neethi_all, axiom_node_t *parent, const axutil_env_t *env) { axiom_node_t *all_node = NULL; axiom_element_t *all_ele = NULL; axiom_namespace_t *policy_ns = NULL; axutil_array_list_t *components = NULL; axis2_status_t status = AXIS2_FAILURE; policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE, NEETHI_PREFIX); all_ele = axiom_element_create(env, parent, NEETHI_ALL, policy_ns, &all_node); if (!all_node) { return AXIS2_FAILURE; } components = neethi_all_get_policy_components(neethi_all, env); if (components) { int i = 0; for (i = 0; i < axutil_array_list_size(components, env); i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *) axutil_array_list_get(components, env, i); if (operator) { status = neethi_operator_serialize(operator, env, all_node); if (status != AXIS2_SUCCESS) { return status; } } } } return status; } axis2c-src-1.6.0/neethi/src/reference.c0000644000175000017500000000572711166304521021013 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct neethi_reference_t { axis2_char_t *uri; }; AXIS2_EXTERN neethi_reference_t *AXIS2_CALL neethi_reference_create( const axutil_env_t *env) { neethi_reference_t *neethi_reference = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_reference = (neethi_reference_t *) AXIS2_MALLOC(env->allocator, sizeof (neethi_reference_t)); if (neethi_reference == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_reference->uri = NULL; return neethi_reference; } AXIS2_EXTERN void AXIS2_CALL neethi_reference_free( neethi_reference_t *neethi_reference, const axutil_env_t *env) { if (neethi_reference) { AXIS2_FREE(env->allocator, neethi_reference); neethi_reference = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL neethi_reference_get_uri( neethi_reference_t *neethi_reference, const axutil_env_t *env) { return neethi_reference->uri; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_reference_set_uri( neethi_reference_t *neethi_reference, const axutil_env_t *env, axis2_char_t *uri) { neethi_reference->uri = uri; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_reference_serialize( neethi_reference_t *neethi_reference, axiom_node_t *parent, const axutil_env_t *env) { axiom_node_t *ref_node = NULL; axiom_element_t *ref_ele = NULL; axiom_namespace_t *policy_ns = NULL; axiom_attribute_t *att_uri = NULL; policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE, NEETHI_PREFIX); ref_ele = axiom_element_create(env, parent, NEETHI_REFERENCE, policy_ns, &ref_node); if (!ref_node) { return AXIS2_FAILURE; } att_uri = axiom_attribute_create(env, NEETHI_URI, neethi_reference->uri, NULL); axiom_element_add_attribute(ref_ele, env, att_uri, ref_node); return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/rmpolicy/0000777000175000017500000000000011172017536020544 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/src/rmpolicy/Makefile.am0000644000175000017500000000050711166304521022572 0ustar00manjulamanjula00000000000000TESTS = noinst_LTLIBRARIES = librm_policy.la librm_policy_la_SOURCES = rm_assertion.c rm_assertion_builder.c librm_policy_la_LIBADD = ../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../include \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../include axis2c-src-1.6.0/neethi/src/rmpolicy/Makefile.in0000644000175000017500000003663011172017200022601 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = src/rmpolicy DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) librm_policy_la_DEPENDENCIES = ../../../util/src/libaxutil.la am_librm_policy_la_OBJECTS = rm_assertion.lo rm_assertion_builder.lo librm_policy_la_OBJECTS = $(am_librm_policy_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(librm_policy_la_SOURCES) DIST_SOURCES = $(librm_policy_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = librm_policy.la librm_policy_la_SOURCES = rm_assertion.c rm_assertion_builder.c librm_policy_la_LIBADD = ../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../include \ -I ../../../util/include \ -I ../../../axiom/include \ -I ../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/rmpolicy/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/rmpolicy/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done librm_policy.la: $(librm_policy_la_OBJECTS) $(librm_policy_la_DEPENDENCIES) $(LINK) $(librm_policy_la_OBJECTS) $(librm_policy_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rm_assertion.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rm_assertion_builder.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/src/rmpolicy/rm_assertion_builder.c0000644000175000017500000005657211166304521025132 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include /*private functions*/ static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_process_sandesha2_assertions( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *node, axiom_element_t *element); static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_populate_for_10( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_element); static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_populate_for_11( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_element); static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_process_delivery_assuarance( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *da_node, axiom_element_t *da_element); /* This functions retrives a rm_assertion axiom_node * which may be 1.0 or 1.1 and return a rm_assertion * struct */ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL axis2_rm_assertion_builder_build( const axutil_env_t *env, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_ele) { axis2_rm_assertion_t *rm_assertion = NULL; axis2_status_t status = AXIS2_SUCCESS; axiom_children_iterator_t *children_iter = NULL; neethi_assertion_t *assertion = NULL; axis2_char_t *ns = NULL; axutil_qname_t *node_qname = NULL; node_qname = axiom_element_get_qname(rm_assertion_ele, env, rm_assertion_node); if(!node_qname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element"); return NULL; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element."); return NULL; } rm_assertion = axis2_rm_assertion_create(env); if (!rm_assertion) { return NULL; } /* First we check whether this is in 1.0 or 1.1 * namespace. Then we called the appropriate builder */ children_iter = axiom_element_get_children(rm_assertion_ele, env, rm_assertion_node); if(!axutil_strcmp(ns, AXIS2_RM_POLICY_10_NS)) { status = axis2_rm_assertion_builder_populate_for_10(env, rm_assertion, rm_assertion_node, rm_assertion_ele); axiom_children_iterator_reset(children_iter, env); } else if(!axutil_strcmp(ns, AXIS2_RM_POLICY_11_NS)) { status = axis2_rm_assertion_builder_populate_for_11(env, rm_assertion, rm_assertion_node, rm_assertion_ele); } if(status == AXIS2_FAILURE) { axis2_rm_assertion_free(rm_assertion, env); rm_assertion = NULL; return NULL; } /*children_iter = axiom_element_get_children(rm_assertion_ele, env, rm_assertion_node);*/ if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *local_name = NULL; axutil_qname_t *node_qname = NULL; node = axiom_children_iterator_next(children_iter, env); if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(node, env); node_qname = axiom_element_get_qname(ele, env, node); if(!node_qname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element %s.", local_name); return NULL; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element %s.", local_name); return NULL; } if(!axutil_strcmp(ns, AXIS2_SANDESHA2_NS)) { status = axis2_rm_assertion_builder_process_sandesha2_assertions( env, rm_assertion, node, ele); if(status == AXIS2_FAILURE) { axis2_rm_assertion_free(rm_assertion, env); rm_assertion = NULL; return NULL; } } } } } } assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)axis2_rm_assertion_free, rm_assertion, ASSERTION_TYPE_RM_ASSERTION); return assertion; } static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_populate_for_10( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_element) { axiom_children_iterator_t *children_iter = NULL; axis2_status_t status = AXIS2_FAILURE; /* In rm 1.0 it is just child elements which inside * rm_assertion contains all the properties. */ children_iter = axiom_element_get_children(rm_assertion_element, env, rm_assertion_node); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *local_name = NULL; node = axiom_children_iterator_next(children_iter, env); if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (ele) { axutil_qname_t *node_qname = NULL; axis2_char_t *ns = NULL; node_qname = axiom_element_get_qname(ele, env, node); if(!node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element"); return AXIS2_FAILURE; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element."); return AXIS2_FAILURE; } if(axutil_strcmp(ns, AXIS2_RM_POLICY_10_NS)) { continue; } local_name = axiom_element_get_localname(ele, env); if (local_name) { if(!axutil_strcmp(local_name, AXIS2_RM_INACTIVITY_TIMEOUT)) { axis2_char_t *inactivity_timeout = NULL; axutil_qname_t *qname =NULL; qname = axutil_qname_create(env, "Milliseconds", NULL, NULL); inactivity_timeout = axiom_element_get_attribute_value(ele, env, qname); if(qname) { axutil_qname_free(qname, env); qname = NULL; } status = axis2_rm_assertion_set_inactivity_timeout( rm_assertion, env, inactivity_timeout); } else if(!axutil_strcmp(local_name, AXIS2_RM_BASE_RETRANSMISSION_INTERVAL)) { axis2_char_t *rti = NULL; axutil_qname_t *qname =NULL; qname = axutil_qname_create(env, "Milliseconds", NULL, NULL); rti = axiom_element_get_attribute_value(ele, env, qname); if(qname) { axutil_qname_free(qname, env); qname = NULL; } status = axis2_rm_assertion_set_retrans_interval( rm_assertion, env, rti); } else if(!axutil_strcmp(local_name, AXIS2_RM_EXPONENTIAL_BACK_OFF)) { status = axis2_rm_assertion_set_is_exp_backoff(rm_assertion, env, AXIS2_TRUE); } else if(!axutil_strcmp(local_name, AXIS2_RM_ACKNOWLEDGEMENT_INTERVAL)) { axis2_char_t *ack_interval = NULL; axutil_qname_t *qname =NULL; qname = axutil_qname_create(env, "Milliseconds", NULL, NULL); ack_interval = axiom_element_get_attribute_value(ele, env, qname); if(qname) { axutil_qname_free(qname, env); qname = NULL; } status = axis2_rm_assertion_set_ack_interval( rm_assertion, env, ack_interval); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s ", local_name); return AXIS2_FAILURE; } } } } } } } return status; } /* In rm 1.1 rm_assertion contains a policy element as * a child element. We are not creating a policy object * for policy element. Becasue then the processing become * complex.So we just parse the axiom model */ static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_populate_for_11( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_element) { axiom_children_iterator_t *children_iter = NULL; axis2_status_t status = AXIS2_FAILURE; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; child_node = axiom_node_get_first_element(rm_assertion_node, env); if (child_node) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { children_iter = axiom_element_get_children(child_element, env, child_node); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *local_name = NULL; node = axiom_children_iterator_next(children_iter, env); if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (ele) { axutil_qname_t *node_qname = NULL; axis2_char_t *ns = NULL; node_qname = axiom_element_get_qname(ele, env, node); if(!node) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element"); return AXIS2_FAILURE; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element."); return AXIS2_FAILURE; } if(axutil_strcmp(ns, AXIS2_RM_POLICY_11_NS)) { continue; } local_name = axiom_element_get_localname(ele, env); if (local_name) { if(!axutil_strcmp(local_name, AXIS2_RM_SEQUENCE_STR)) { status = axis2_rm_assertion_set_is_sequence_str(rm_assertion, env, AXIS2_TRUE); } else if(!axutil_strcmp(local_name, AXIS2_RM_SEQUENCE_TRANSPORT_SECURITY)) { status = axis2_rm_assertion_set_is_sequence_transport_security(rm_assertion, env, AXIS2_TRUE); } else if(!axutil_strcmp(local_name, AXIS2_RM_DELIVERY_ASSURANCE)) { status = axis2_rm_assertion_builder_process_delivery_assuarance( env, rm_assertion, node, ele); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s ", local_name); return AXIS2_FAILURE; } } } } } } } } } return status; } static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_process_delivery_assuarance( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *da_node, axiom_element_t *da_element) { axiom_children_iterator_t *children_iter = NULL; axis2_status_t status = AXIS2_FAILURE; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; child_node = axiom_node_get_first_element(da_node, env); if (child_node) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { children_iter = axiom_element_get_children(child_element, env, child_node); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *local_name = NULL; node = axiom_children_iterator_next(children_iter, env); if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (ele) { local_name = axiom_element_get_localname(ele, env); if (local_name) { if(!axutil_strcmp(local_name, AXIS2_RM_EXACTLY_ONCE)) { status = axis2_rm_assertion_set_is_exactly_once(rm_assertion, env, AXIS2_TRUE); } else if(!axutil_strcmp(local_name, AXIS2_RM_AT_LEAST_ONCE)) { status = axis2_rm_assertion_set_is_atleast_once(rm_assertion, env, AXIS2_TRUE); } else if(!axutil_strcmp(local_name, AXIS2_RM_AT_MOST_ONCE)) { status = axis2_rm_assertion_set_is_atmost_once(rm_assertion, env, AXIS2_TRUE); } else if(!axutil_strcmp(local_name, AXIS2_RM_IN_ORDER)) { status = axis2_rm_assertion_set_is_inorder(rm_assertion, env, AXIS2_TRUE); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s ", local_name); return AXIS2_FAILURE; } } } } } } } } } return status; } static axis2_status_t AXIS2_CALL axis2_rm_assertion_builder_process_sandesha2_assertions( const axutil_env_t *env, axis2_rm_assertion_t *rm_assertion, axiom_node_t *node, axiom_element_t *element) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *local_name = NULL; if (element) { local_name = axiom_element_get_localname(element, env); if (local_name) { if(!axutil_strcmp(local_name, AXIS2_RM_BASE_RETRANSMISSION_INTERVAL)) { axis2_char_t *rti = NULL; rti = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_retrans_interval(rm_assertion, env, rti); } else if(!axutil_strcmp(local_name, AXIS2_RM_INACTIVITY_TIMEOUT)) { axis2_char_t *inactivity_timeout = NULL; inactivity_timeout = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_inactivity_timeout(rm_assertion, env, inactivity_timeout); } else if(!axutil_strcmp(local_name, AXIS2_RM_ACKNOWLEDGEMENT_INTERVAL)) { axis2_char_t *ack_interval = NULL; ack_interval = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_ack_interval(rm_assertion, env, ack_interval); } else if(!axutil_strcmp(local_name, AXIS2_RM_STORAGE_MANAGER)) { axis2_char_t *storage_mgr = NULL; storage_mgr = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_storage_mgr(rm_assertion, env, storage_mgr); } else if(!axutil_strcmp(local_name, AXIS2_RM_SANDESHA2_DB)) { axis2_char_t *sandesha2_db = NULL; sandesha2_db = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_sandesha2_db(rm_assertion, env, sandesha2_db); } else if(!axutil_strcmp(local_name, AXIS2_RM_MESSAGE_TYPES_TO_DROP)) { axis2_char_t *message_types_to_drop = NULL; message_types_to_drop = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_message_types_to_drop(rm_assertion, env, message_types_to_drop); } else if(!axutil_strcmp(local_name, AXIS2_RM_MAX_RETRANS_COUNT)) { axis2_char_t *retrans_count = NULL; retrans_count = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_max_retrans_count(rm_assertion, env, retrans_count); } else if(!axutil_strcmp(local_name, AXIS2_RM_SENDER_SLEEP_TIME)) { axis2_char_t *sender_sleep_time = NULL; sender_sleep_time = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_sender_sleep_time(rm_assertion, env, sender_sleep_time); } else if(!axutil_strcmp(local_name, AXIS2_RM_INVOKER_SLEEP_TIME)) { axis2_char_t *invoker_sleep_time = NULL; invoker_sleep_time = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_invoker_sleep_time(rm_assertion, env, invoker_sleep_time); } else if(!axutil_strcmp(local_name, AXIS2_RM_POLLING_WAIT_TIME)) { axis2_char_t *polling_wait_time = NULL; polling_wait_time = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_polling_wait_time(rm_assertion, env, polling_wait_time); } else if(!axutil_strcmp(local_name, AXIS2_RM_TERMINATE_DELAY)) { axis2_char_t *terminate_delay = NULL; terminate_delay = axiom_element_get_text(element, env, node); return axis2_rm_assertion_set_terminate_delay(rm_assertion, env, terminate_delay); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s ", local_name); return AXIS2_FAILURE; } } } return status; } axis2c-src-1.6.0/neethi/src/rmpolicy/rm_assertion.c0000644000175000017500000003171611166304521023415 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct axis2_rm_assertion_t { /* RM Policy 1.1 assertions */ axis2_bool_t is_sequence_str; axis2_bool_t is_sequence_transport_security; axis2_bool_t is_exactly_once; axis2_bool_t is_atleast_once; axis2_bool_t is_atmost_once; axis2_bool_t is_inorder; /* RM Policy 1.0 assertions */ axis2_char_t *inactivity_timeout; axis2_char_t *retrans_interval; axis2_char_t *ack_interval; axis2_bool_t is_exp_backoff; /* Sandesha2 specific assrtions */ axis2_char_t *storage_mgr; axis2_char_t *message_types_to_drop; axis2_char_t *max_retrans_count; axis2_char_t *sender_sleep_time; axis2_char_t *invoker_sleep_time; axis2_char_t *polling_wait_time; axis2_char_t *terminate_delay; axis2_char_t *sandesha2_db; }; AXIS2_EXTERN axis2_rm_assertion_t *AXIS2_CALL axis2_rm_assertion_create( const axutil_env_t * env) { axis2_rm_assertion_t *rm_assertion; rm_assertion = (axis2_rm_assertion_t *) AXIS2_MALLOC(env->allocator, sizeof(axis2_rm_assertion_t)); if (rm_assertion == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } rm_assertion->is_sequence_str = AXIS2_FALSE; rm_assertion->is_sequence_transport_security = AXIS2_FALSE; rm_assertion->is_exactly_once = AXIS2_TRUE; rm_assertion->is_atleast_once = AXIS2_FALSE; rm_assertion->is_atmost_once = AXIS2_FALSE; rm_assertion->is_inorder = AXIS2_FALSE; /* RM Policy 1.0 assertions */ rm_assertion->inactivity_timeout = NULL; rm_assertion->retrans_interval = NULL; rm_assertion->ack_interval = NULL; rm_assertion->is_exp_backoff = AXIS2_FALSE; /* Sandesha2 specific assrtions */ rm_assertion->storage_mgr = NULL; rm_assertion->message_types_to_drop = NULL; rm_assertion->max_retrans_count = NULL; rm_assertion->sender_sleep_time = NULL; rm_assertion->invoker_sleep_time = NULL; rm_assertion->polling_wait_time = NULL; rm_assertion->terminate_delay = NULL; rm_assertion->sandesha2_db = NULL; return rm_assertion; } AXIS2_EXTERN void AXIS2_CALL axis2_rm_assertion_free( axis2_rm_assertion_t * rm_assertion, const axutil_env_t * env) { if(rm_assertion) { AXIS2_FREE(env->allocator, rm_assertion); rm_assertion = NULL; } return; } /* Implementations. * Following functions are getters and setters * for rm_assertion struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_sequence_str( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_sequence_str; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_sequence_str( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_sequence_str) { rm_assertion->is_sequence_str = is_sequence_str; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_sequence_transport_security( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_sequence_transport_security; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_sequence_transport_security( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_sequence_transport_security) { rm_assertion->is_sequence_transport_security = is_sequence_transport_security; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_exactly_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_exactly_once; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_exactly_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_exactly_once) { rm_assertion->is_exactly_once = is_exactly_once; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_atleast_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_atleast_once; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_atleast_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_atleast_once) { rm_assertion->is_atleast_once = is_atleast_once; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_atmost_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_atmost_once; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_atmost_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_atmost_once) { rm_assertion->is_atmost_once = is_atmost_once; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_inorder( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_inorder; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_inorder( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_inorder) { rm_assertion->is_inorder = is_inorder; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_inactivity_timeout( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->inactivity_timeout; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_inactivity_timeout( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* inactivity_timeout) { rm_assertion->inactivity_timeout = inactivity_timeout; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_retrans_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->retrans_interval; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_retrans_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* retrans_interval) { rm_assertion->retrans_interval = retrans_interval; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_ack_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->ack_interval; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_ack_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* ack_interval) { rm_assertion->ack_interval = ack_interval; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_exp_backoff( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->is_exp_backoff; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_exp_backoff( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_exp_backoff) { rm_assertion->is_exp_backoff = is_exp_backoff; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_storage_mgr( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->storage_mgr; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_storage_mgr( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* storage_mgr) { rm_assertion->storage_mgr = storage_mgr; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_message_types_to_drop( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->message_types_to_drop; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_message_types_to_drop( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* message_types_to_drop) { rm_assertion->message_types_to_drop = message_types_to_drop; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_max_retrans_count( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->max_retrans_count; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_max_retrans_count( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* max_retrans_count) { rm_assertion->max_retrans_count = max_retrans_count; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_sender_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->sender_sleep_time; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_sender_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* sender_sleep_time) { rm_assertion->sender_sleep_time = sender_sleep_time; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_invoker_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->invoker_sleep_time; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_invoker_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* invoker_sleep_time) { rm_assertion->invoker_sleep_time = invoker_sleep_time; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_polling_wait_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->polling_wait_time; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_polling_wait_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* polling_wait_time) { rm_assertion->polling_wait_time = polling_wait_time; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_terminate_delay( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->terminate_delay; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_terminate_delay( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* terminate_delay) { rm_assertion->terminate_delay = terminate_delay; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_sandesha2_db( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env) { return rm_assertion->sandesha2_db; } AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_sandesha2_db( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* sandesha2_db) { rm_assertion->sandesha2_db = sandesha2_db; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_rm_assertion_t* AXIS2_CALL axis2_rm_assertion_get_from_policy( const axutil_env_t *env, neethi_policy_t *policy) { axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; axutil_array_list_t *arraylist = NULL; neethi_operator_t *operator = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; alternatives = neethi_policy_get_alternatives(policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_RM_ASSERTION) { return (axis2_rm_assertion_t *)value; } } } return NULL; } axis2c-src-1.6.0/neethi/src/mtom_assertion_checker.c0000644000175000017500000000523711166304521023600 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_is_mtom_required( const axutil_env_t *env, neethi_policy_t *policy) { axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; axutil_array_list_t *arraylist = NULL; neethi_policy_t *normalized_policy = NULL; neethi_operator_t *operator = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); if(normalized_policy) { alternatives = neethi_policy_get_alternatives(normalized_policy, env); } component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); /*if (value) {*/ if (type == ASSERTION_TYPE_OPTIMIZED_MIME_SERIALIZATION) { neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return AXIS2_TRUE; } /*}*/ } neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return AXIS2_FALSE; } axis2c-src-1.6.0/neethi/src/policy.c0000644000175000017500000003133011166304521020341 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include struct neethi_policy_t { /* Contains the child components */ axutil_array_list_t *policy_components; /* A wsp:Policy element can have any number of attributes * This has will store those */ axutil_hash_t *attributes; /* This is the node containing the policy */ axiom_node_t *root_node; }; static void neethi_policy_clear_attributes( axutil_hash_t *attributes, const axutil_env_t *env); /* Creates a neethi_policy object */ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_policy_create( const axutil_env_t * env) { neethi_policy_t *neethi_policy = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_policy = (neethi_policy_t *) AXIS2_MALLOC(env->allocator, sizeof(neethi_policy_t)); if (neethi_policy == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_policy->policy_components = NULL; neethi_policy->policy_components = axutil_array_list_create(env, 0); if (!(neethi_policy->policy_components)) { neethi_policy_free(neethi_policy, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_policy->attributes = axutil_hash_make(env); neethi_policy->root_node = NULL; return neethi_policy; } /* Deallocate the memory for the neethi_policy object */ AXIS2_EXTERN void AXIS2_CALL neethi_policy_free( neethi_policy_t *neethi_policy, const axutil_env_t *env) { if (neethi_policy) { /* We first remove the component list */ if (neethi_policy->policy_components) { int i = 0; int size = 0; size = axutil_array_list_size( neethi_policy->policy_components, env); for (i = 0; i < size; i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *)axutil_array_list_get( neethi_policy->policy_components, env, i); if (operator) { neethi_operator_free(operator, env); } operator = NULL; } axutil_array_list_free(neethi_policy->policy_components, env); neethi_policy->policy_components = NULL; } if(neethi_policy->attributes) { neethi_policy_clear_attributes(neethi_policy->attributes, env); neethi_policy->attributes = NULL; } if (neethi_policy->root_node) { axiom_node_free_tree(neethi_policy->root_node, env); neethi_policy->root_node = NULL; } AXIS2_FREE(env->allocator, neethi_policy); neethi_policy = NULL; } return; } /* This will free the attribute hash and its content.*/ static void neethi_policy_clear_attributes( axutil_hash_t *attributes, const axutil_env_t *env) { if(attributes) { axutil_hash_index_t *hi = NULL; void *val = NULL; const void *key = NULL; for (hi = axutil_hash_first(attributes, env); hi; hi = axutil_hash_next(env, hi)) { axutil_hash_this(hi, &key, NULL, &val); if(key) { AXIS2_FREE(env->allocator, (axis2_char_t *)key); key = NULL; } if (val) { AXIS2_FREE(env->allocator, (axis2_char_t *)val); val = NULL; } } axutil_hash_free(attributes, env); attributes = NULL; } } /* Implementations */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_policy_get_policy_components( neethi_policy_t *neethi_policy, const axutil_env_t *env) { return neethi_policy->policy_components; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_add_policy_components( neethi_policy_t *neethi_policy, axutil_array_list_t *arraylist, const axutil_env_t *env) { int size = axutil_array_list_size(arraylist, env); int i = 0; if (axutil_array_list_ensure_capacity (neethi_policy->policy_components, env, size + 1) != AXIS2_SUCCESS) { return AXIS2_FAILURE; } for (i = 0; i < size; i++) { void *value = NULL; value = axutil_array_list_get(arraylist, env, i); /* The ref count is incremented in order to prvent double frees.*/ neethi_operator_increment_ref((neethi_operator_t *) value, env); axutil_array_list_add(neethi_policy->policy_components, env, value); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_add_operator( neethi_policy_t *neethi_policy, const axutil_env_t *env, neethi_operator_t *operator) { neethi_operator_increment_ref(operator, env); axutil_array_list_add(neethi_policy->policy_components, env, operator); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_policy_is_empty( neethi_policy_t *neethi_policy, const axutil_env_t *env) { return axutil_array_list_is_empty(neethi_policy->policy_components, env); } /* A normalized policy always has just one child and it is an exactlyone * first child. So this method */ AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL neethi_policy_get_exactlyone( neethi_policy_t *normalized_neethi_policy, const axutil_env_t *env) { neethi_exactlyone_t *exactlyone = NULL; axutil_array_list_t *list = NULL; list = neethi_policy_get_policy_components(normalized_neethi_policy, env); if (list) { if (axutil_array_list_size(list, env) == 1) { neethi_operator_t *op = NULL; op = (neethi_operator_t *) axutil_array_list_get(list, env, 0); if (!op) { return NULL; } if (neethi_operator_get_type(op, env) != OPERATOR_TYPE_EXACTLYONE) { return NULL; } exactlyone = (neethi_exactlyone_t *) neethi_operator_get_value(op, env); return exactlyone; } else return NULL; } else return NULL; } /* This function is called for a normalized policy * So it will return the components of the only * child. That should be an exactlyone The children * of that exactlyone are alls.*/ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_policy_get_alternatives( neethi_policy_t *neethi_policy, const axutil_env_t *env) { neethi_exactlyone_t *exactlyone = NULL; exactlyone = neethi_policy_get_exactlyone(neethi_policy, env); if (!exactlyone) return NULL; return neethi_exactlyone_get_policy_components(exactlyone, env); } /* This will return any attribute which has * the local name of Name */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL neethi_policy_get_name( neethi_policy_t *neethi_policy, const axutil_env_t *env) { if(neethi_policy->attributes) { axutil_qname_t *qname = NULL; axis2_char_t *name = NULL; qname = axutil_qname_create(env, NEETHI_NAME, NULL, NULL); if(qname) { axis2_char_t *key = axutil_qname_to_string(qname, env); if(key) { name = (axis2_char_t *)axutil_hash_get(neethi_policy->attributes, key, AXIS2_HASH_KEY_STRING); } axutil_qname_free(qname, env); qname = NULL; return name; } else { return NULL; } } else { return NULL; } } /* This method will return the attribute value of * wsu:Id if there are any such attributes */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL neethi_policy_get_id( neethi_policy_t *neethi_policy, const axutil_env_t *env) { if(neethi_policy->attributes) { axis2_char_t *id = NULL; axutil_qname_t *qname = NULL; qname = axutil_qname_create(env, NEETHI_ID, NEETHI_WSU_NS, NULL); if(qname) { axis2_char_t *key = axutil_qname_to_string(qname, env); if(key) { id = (axis2_char_t *)axutil_hash_get(neethi_policy->attributes, key, AXIS2_HASH_KEY_STRING); } axutil_qname_free(qname, env); qname = NULL; return id; } else { return NULL; } } else { return NULL; } } /* When we encounter an attribute with wsu:Id * we will store it in the hash. We are not * considering the prefix. Just the namespace and * the local_name. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_set_id( neethi_policy_t * neethi_policy, const axutil_env_t * env, axis2_char_t * id) { axutil_qname_t *qname = NULL; axis2_char_t *key = NULL; qname = axutil_qname_create(env, NEETHI_ID, NEETHI_WSU_NS, NULL); if(qname) { key = axutil_qname_to_string(qname, env); if(key) { axutil_hash_set(neethi_policy->attributes, axutil_strdup(env, key), AXIS2_HASH_KEY_STRING, axutil_strdup(env, id)); } axutil_qname_free(qname, env); return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } /* When we encounter an attribute with Name * we will store it in the hash. This has no * Namespace.*/ AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_set_name( neethi_policy_t * neethi_policy, const axutil_env_t * env, axis2_char_t * name) { axutil_qname_t *qname = NULL; axis2_char_t *key = NULL; qname = axutil_qname_create(env, NEETHI_NAME, NULL, NULL); if(qname) { key = axutil_qname_to_string(qname, env); if(key) { axutil_hash_set(neethi_policy->attributes, axutil_strdup(env, key), AXIS2_HASH_KEY_STRING, axutil_strdup(env, name)); } axutil_qname_free(qname, env); return AXIS2_SUCCESS; } else { return AXIS2_FAILURE; } } AXIS2_EXTERN axutil_hash_t *AXIS2_CALL neethi_policy_get_attributes( neethi_policy_t *neethi_policy, const axutil_env_t *env) { return neethi_policy->attributes; } /*This function is for serializing*/ AXIS2_EXTERN axiom_node_t *AXIS2_CALL neethi_policy_serialize( neethi_policy_t *neethi_policy, axiom_node_t *parent, const axutil_env_t *env) { axiom_node_t *policy_node = NULL; axiom_element_t *policy_ele = NULL; axiom_namespace_t *policy_ns = NULL; axutil_array_list_t *components = NULL; axis2_status_t status = AXIS2_FAILURE; policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE, NEETHI_PREFIX); policy_ele = axiom_element_create(env, parent, NEETHI_POLICY, policy_ns, &policy_node); if (!policy_ele) { return NULL; } components = neethi_policy_get_policy_components(neethi_policy, env); if (components) { int i = 0; for (i = 0; i < axutil_array_list_size(components, env); i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *) axutil_array_list_get(components, env, i); if (operator) { status = neethi_operator_serialize(operator, env, policy_node); if (status != AXIS2_SUCCESS) { return NULL; } } } } return policy_node; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_set_root_node( neethi_policy_t *policy, const axutil_env_t *env, axiom_node_t *root_node) { policy->root_node = root_node; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/operator.c0000644000175000017500000001547111166304521020705 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include struct neethi_operator_t { /* This may be a policy, all, exatlyone, refernece * or an assertion */ void *value; /* The type */ neethi_operator_type_t type; /* Ref count to prevent double frees*/ int ref; }; AXIS2_EXTERN neethi_operator_t *AXIS2_CALL neethi_operator_create( const axutil_env_t *env) { neethi_operator_t *neethi_operator = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_operator = (neethi_operator_t *) AXIS2_MALLOC(env->allocator, sizeof (neethi_operator_t)); if (neethi_operator == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator->value = NULL; neethi_operator->type = OPERATOR_TYPE_UNKNOWN; neethi_operator->ref = 0; return neethi_operator; } AXIS2_EXTERN void AXIS2_CALL neethi_operator_free( neethi_operator_t *neethi_operator, const axutil_env_t *env) { if (neethi_operator) { if (--(neethi_operator->ref) > 0) { return; } if (neethi_operator->value) { switch (neethi_operator->type) { case OPERATOR_TYPE_POLICY: neethi_policy_free((neethi_policy_t *) neethi_operator->value, env); neethi_operator->value = NULL; break; case OPERATOR_TYPE_ALL: neethi_all_free((neethi_all_t *) neethi_operator->value, env); neethi_operator->value = NULL; break; case OPERATOR_TYPE_EXACTLYONE: neethi_exactlyone_free((neethi_exactlyone_t *) neethi_operator-> value, env); neethi_operator->value = NULL; break; case OPERATOR_TYPE_REFERENCE: neethi_reference_free((neethi_reference_t *) neethi_operator-> value, env); neethi_operator->value = NULL; break; case OPERATOR_TYPE_ASSERTION: neethi_assertion_free((neethi_assertion_t *) neethi_operator-> value, env); neethi_operator->value = NULL; break; case OPERATOR_TYPE_UNKNOWN: break; } } AXIS2_FREE(env->allocator, neethi_operator); } return; } /* Implementations */ AXIS2_EXTERN neethi_operator_type_t AXIS2_CALL neethi_operator_get_type( neethi_operator_t *neethi_operator, const axutil_env_t *env) { return neethi_operator->type; } AXIS2_EXTERN void *AXIS2_CALL neethi_operator_get_value( neethi_operator_t *neethi_operator, const axutil_env_t *env) { return neethi_operator->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_set_value( neethi_operator_t *neethi_operator, const axutil_env_t *env, void *value, neethi_operator_type_t type) { neethi_operator->type = type; neethi_operator->value = (void *) value; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_serialize( neethi_operator_t *neethi_operator, const axutil_env_t *env, axiom_node_t *parent) { neethi_policy_t *policy = NULL; neethi_all_t *all = NULL; neethi_exactlyone_t *exactlyone = NULL; neethi_reference_t *reference = NULL; neethi_assertion_t *assertion = NULL; if (neethi_operator->value) { switch (neethi_operator->type) { case OPERATOR_TYPE_POLICY: policy = (neethi_policy_t *) neethi_operator_get_value(neethi_operator, env); if (!neethi_policy_serialize(policy, parent, env)) { return AXIS2_FAILURE; } else { return AXIS2_SUCCESS; } break; case OPERATOR_TYPE_ALL: all = (neethi_all_t *) neethi_operator_get_value(neethi_operator, env); return neethi_all_serialize(all, parent, env); break; case OPERATOR_TYPE_EXACTLYONE: exactlyone = (neethi_exactlyone_t *) neethi_operator_get_value(neethi_operator, env); return neethi_exactlyone_serialize(exactlyone, parent, env); break; case OPERATOR_TYPE_REFERENCE: reference = (neethi_reference_t *) neethi_operator_get_value(neethi_operator, env); return neethi_reference_serialize(reference, parent, env); break; case OPERATOR_TYPE_ASSERTION: assertion = (neethi_assertion_t *) neethi_operator_get_value(neethi_operator, env); return neethi_assertion_serialize(assertion, parent, env); break; case OPERATOR_TYPE_UNKNOWN: break; } return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } /* We need this method to prevent freeing the * value of operator, because some times we * wrap certail policy operators inside neethi_operator * in order to call some functions.See engine.c in * neethi for more info */ AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_set_value_null( neethi_operator_t *neethi_operator, const axutil_env_t *env) { neethi_operator->value = NULL; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_increment_ref( neethi_operator_t *operator, const axutil_env_t *env) { operator-> ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/engine.c0000644000175000017500000015126111166304521020315 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include /*Private functions*/ static neethi_all_t *neethi_engine_get_operator_all( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element); static neethi_exactlyone_t *neethi_engine_get_operator_exactlyone( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element); static neethi_reference_t *neethi_engine_get_operator_reference( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element); static neethi_policy_t *neethi_engine_get_operator_neethi_policy( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element); static axis2_status_t neethi_engine_process_operation_element( const axutil_env_t *env, neethi_operator_t *neethi_operator, axiom_node_t *node, axiom_element_t *element); static axis2_status_t neethi_engine_add_policy_component( const axutil_env_t *env, neethi_operator_t *container_operator, neethi_operator_t *component); static axis2_bool_t neethi_engine_operator_is_empty( neethi_operator_t *operator, const axutil_env_t *env); static neethi_exactlyone_t *neethi_engine_compute_resultant_component( axutil_array_list_t *normalized_inner_components, neethi_operator_type_t type, const axutil_env_t *env); static axutil_array_list_t *neethi_engine_operator_get_components( neethi_operator_t *operator, const axutil_env_t *env); static neethi_exactlyone_t *neethi_engine_normalize_operator( neethi_operator_t *operator, neethi_registry_t *registry, axis2_bool_t deep, const axutil_env_t *env); static neethi_exactlyone_t *neethi_engine_get_cross_product( neethi_exactlyone_t *exactlyone1, neethi_exactlyone_t *exactlyone2, const axutil_env_t *env); static void neethi_engine_clear_element_attributes( axutil_hash_t *attr_hash, const axutil_env_t *env); /*Implementations*/ /*This is the function which is called from outside*/ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_get_policy( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { /* This function will be called recursively */ return neethi_engine_get_operator_neethi_policy(env, node, element); } static neethi_all_t *neethi_engine_get_operator_all( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { neethi_all_t *all = NULL; neethi_operator_t *neethi_operator = NULL; axis2_status_t status = AXIS2_SUCCESS; all = neethi_all_create(env); if (!all) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator = neethi_operator_create(env); if (!neethi_operator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(neethi_operator, env, all, OPERATOR_TYPE_ALL); status = neethi_engine_process_operation_element(env, neethi_operator, node, element); neethi_operator_set_value_null(neethi_operator, env); neethi_operator_free(neethi_operator, env); neethi_operator = NULL; if (status != AXIS2_SUCCESS) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] All creation failed"); neethi_all_free(all, env); all = NULL; return NULL; } return all; } static neethi_exactlyone_t *neethi_engine_get_operator_exactlyone( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { neethi_exactlyone_t *exactlyone = NULL; neethi_operator_t *neethi_operator = NULL; axis2_status_t status = AXIS2_SUCCESS; exactlyone = neethi_exactlyone_create(env); if (!exactlyone) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator = neethi_operator_create(env); if (!neethi_operator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(neethi_operator, env, exactlyone, OPERATOR_TYPE_EXACTLYONE); status = neethi_engine_process_operation_element(env, neethi_operator, node, element); neethi_operator_set_value_null(neethi_operator, env); neethi_operator_free(neethi_operator, env); neethi_operator = NULL; if (status != AXIS2_SUCCESS) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Exactlyone creation failed."); neethi_exactlyone_free(exactlyone, env); exactlyone = NULL; return NULL; } return exactlyone; } neethi_reference_t *neethi_engine_get_operator_reference( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { neethi_reference_t *reference = NULL; axutil_qname_t *qname = NULL; axis2_char_t *attribute_value = NULL; reference = neethi_reference_create(env); if (!reference) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } qname = axutil_qname_create(env, NEETHI_URI, NULL, NULL); if (!qname) { return NULL; } attribute_value = axiom_element_get_attribute_value(element, env, qname); if (attribute_value) { neethi_reference_set_uri(reference, env, attribute_value); } return reference; } /* This function will be called when we encounter a wsp:Policy * element */ static neethi_policy_t *neethi_engine_get_operator_neethi_policy( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { neethi_policy_t *neethi_policy = NULL; neethi_operator_t *neethi_operator = NULL; axis2_status_t status = AXIS2_SUCCESS; /* Creates a policy struct */ neethi_policy = neethi_policy_create(env); if (!neethi_policy) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } /* Then we wrap it in a neethi_operator */ neethi_operator = neethi_operator_create(env); if (!neethi_operator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(neethi_operator, env, neethi_policy, OPERATOR_TYPE_POLICY); /* This function will do all the processing and build the * policy object model */ status = neethi_engine_process_operation_element(env, neethi_operator, node, element); /* To prevent freeing the policy object from the operator * we set it to null. This object will be freed from a parent * or from an outsider who creates a policy object */ neethi_operator_set_value_null(neethi_operator, env); neethi_operator_free(neethi_operator, env); neethi_operator = NULL; if (status != AXIS2_SUCCESS) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Policy creation failed."); neethi_policy_free(neethi_policy, env); neethi_policy = NULL; return NULL; } return neethi_policy; } /* This function will construct the policy objecy model by * filling the component array_list inside the passing * policy operator */ static axis2_status_t neethi_engine_process_operation_element( const axutil_env_t *env, neethi_operator_t *neethi_operator, axiom_node_t *node, axiom_element_t *element) { neethi_operator_type_t type; axiom_element_t *child_element = NULL; axiom_node_t *child_node = NULL; axiom_children_iterator_t *children_iter = NULL; void *value = NULL; type = neethi_operator_get_type(neethi_operator, env); value = neethi_operator_get_value(neethi_operator, env); if (type == OPERATOR_TYPE_POLICY) { /* wsp:Policy element can have any number of attributes * we will store them in a hash from the uri and localname */ axutil_hash_t *attributes = axiom_element_extract_attributes( element, env, node); if(attributes) { axutil_hash_index_t *hi = NULL; /* When creating the policy object we created the hash */ axutil_hash_t *ht = neethi_policy_get_attributes( (neethi_policy_t *)value, env); if(!ht) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Policy hash map creation failed."); return AXIS2_FAILURE; } for (hi = axutil_hash_first(attributes, env); hi; hi = axutil_hash_next(env, hi)) { axis2_char_t *key = NULL; void *val = NULL; axutil_qname_t *qname = NULL; axis2_char_t *attr_val = NULL; axiom_namespace_t *ns = NULL; axis2_char_t *ns_uri = NULL; axiom_attribute_t *om_attr = NULL; axutil_hash_this(hi, NULL, NULL, &val); if(val) { om_attr = (axiom_attribute_t *) val; ns = axiom_attribute_get_namespace(om_attr, env); if(ns) { ns_uri = axiom_namespace_get_uri(ns, env); } qname = axutil_qname_create(env, axiom_attribute_get_localname(om_attr, env), ns_uri, NULL); if(qname) { key = axutil_qname_to_string(qname, env); if(key) { attr_val = axiom_attribute_get_value(om_attr, env); if(attr_val) { /* axutil_qname_free will free the returned key * of the qname so will duplicate it when storing */ axutil_hash_set(ht, axutil_strdup(env,key), AXIS2_HASH_KEY_STRING, axutil_strdup(env, attr_val)); } } axutil_qname_free(qname, env); } } } /* axiom_element_extract_attributes method will always returns * a cloned copy, so we need to free it after we have done with it */ neethi_engine_clear_element_attributes(attributes, env); attributes = NULL; } } children_iter = axiom_element_get_children(element, env, node); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { /* Extract the element and check the namespace. If the namespace * is in ws_policy then we call the relevent operator builder * otherwise we will call the assertion_builder */ child_node = axiom_children_iterator_next(children_iter, env); if (child_node) { if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { axiom_namespace_t *namespace = NULL; axis2_char_t *uri = NULL; axis2_char_t *local_name = NULL; neethi_operator_t *operator = NULL; local_name = axiom_element_get_localname(child_element, env); namespace = axiom_element_get_namespace(child_element, env, child_node); if (!namespace) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_ELEMENT_WITH_NO_NAMESPACE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Element with no namespace"); return AXIS2_FAILURE; } uri = axiom_namespace_get_uri(namespace, env); if (!uri) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_INVALID_EMPTY_NAMESPACE_URI, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Invalid Empty namespace uri."); return AXIS2_FAILURE; } if ((axutil_strcmp(uri, NEETHI_NAMESPACE) == 0) || (axutil_strcmp(uri, NEETHI_POLICY_15_NAMESPACE) == 0)) { /* Looking at the localname we will call the relevent * operator function. After that the newly created * object is wrapped in a neethi_operator and stored in * the parent's component list */ if (axutil_strcmp(local_name, NEETHI_POLICY) == 0) { neethi_policy_t *neethi_policy = NULL; neethi_policy = neethi_engine_get_operator_neethi_policy(env, child_node, child_element); if (neethi_policy) { operator = neethi_operator_create( env); neethi_operator_set_value(operator, env, neethi_policy, OPERATOR_TYPE_POLICY); neethi_engine_add_policy_component(env, neethi_operator, operator); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_POLICY_CREATION_FAILED_FROM_ELEMENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Policy creation failed from element."); return AXIS2_FAILURE; } } else if (axutil_strcmp(local_name, NEETHI_ALL) == 0) { neethi_all_t *all = NULL; all = neethi_engine_get_operator_all(env, child_node, child_element); if (all) { operator = neethi_operator_create( env); neethi_operator_set_value(operator, env, all, OPERATOR_TYPE_ALL); neethi_engine_add_policy_component(env, neethi_operator, operator); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_ALL_CREATION_FAILED_FROM_ELEMENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] All creation failed from element."); return AXIS2_FAILURE; } } else if (axutil_strcmp (local_name, NEETHI_EXACTLYONE) == 0) { neethi_exactlyone_t *exactlyone = NULL; exactlyone = neethi_engine_get_operator_exactlyone(env, child_node, child_element); if (exactlyone) { operator = neethi_operator_create( env); neethi_operator_set_value(operator, env, exactlyone, OPERATOR_TYPE_EXACTLYONE); neethi_engine_add_policy_component(env, neethi_operator, operator); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_EXACTLYONE_CREATION_FAILED_FROM_ELEMENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Exactlyone creation failed from element."); return AXIS2_FAILURE; } } else if (axutil_strcmp(local_name, NEETHI_REFERENCE) == 0) { neethi_reference_t *reference = NULL; reference = neethi_engine_get_operator_reference(env, child_node, child_element); if (reference) { operator = neethi_operator_create(env); neethi_operator_set_value(operator, env, reference, OPERATOR_TYPE_REFERENCE); neethi_engine_add_policy_component(env, neethi_operator, operator); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_REFERENCE_CREATION_FAILED_FROM_ELEMENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Reference cretion failed from element."); return AXIS2_FAILURE; } } } else { /* This is an assertion in a different domain. Assertion builder * should be called and that will call the relevent assertion builder * after looking at the localname and the namespace */ neethi_assertion_t *assertion = NULL; assertion = neethi_assertion_builder_build(env, child_node, child_element); if (assertion) { operator = neethi_operator_create(env); neethi_operator_set_value(operator, env, assertion, OPERATOR_TYPE_ASSERTION); neethi_engine_add_policy_component(env, neethi_operator, operator); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_ASSERTION_CREATION_FAILED_FROM_ELEMENT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Assertion creation failed from element."); return AXIS2_FAILURE; } } } } } } return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } /* After looking at the operator_type this function will * call the relevent neethi operator's add operator * function */ static axis2_status_t neethi_engine_add_policy_component( const axutil_env_t *env, neethi_operator_t *container_operator, neethi_operator_t *component) { neethi_operator_type_t type; void *value = NULL; neethi_policy_t *neethi_policy = NULL; neethi_exactlyone_t *exactlyone = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; type = neethi_operator_get_type(container_operator, env); value = neethi_operator_get_value(container_operator, env); if (value) { switch (type) { case OPERATOR_TYPE_POLICY: neethi_policy = (neethi_policy_t *) value; neethi_policy_add_operator(neethi_policy, env, component); break; case OPERATOR_TYPE_ALL: all = (neethi_all_t *) value; neethi_all_add_operator(all, env, component); break; case OPERATOR_TYPE_EXACTLYONE: exactlyone = (neethi_exactlyone_t *) value; neethi_exactlyone_add_operator(exactlyone, env, component); break; case OPERATOR_TYPE_UNKNOWN: return AXIS2_FAILURE; break; case OPERATOR_TYPE_ASSERTION: assertion = (neethi_assertion_t *) value; neethi_assertion_add_operator(assertion, env, component); break; case OPERATOR_TYPE_REFERENCE: break; } return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } /***************************************/ /*This function is only for testing* *Remove it later*/ void check_neethi_policy( neethi_policy_t *neethi_policy, const axutil_env_t *env) { axutil_array_list_t *list = NULL; neethi_operator_t *op = NULL; neethi_operator_type_t type; list = neethi_policy_get_policy_components(neethi_policy, env); if (axutil_array_list_size(list, env) > 1) { return; } op = (neethi_operator_t *) axutil_array_list_get(list, env, 0); type = neethi_operator_get_type(op, env); if (type == OPERATOR_TYPE_EXACTLYONE) { void *value = neethi_operator_get_value(op, env); if (value) { return; } } else { return; } } /************************************************/ /* Following function will normalize accorading to the WS-Policy spec. Normalize policy is in the following format. ( ( … )* )* */ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_get_normalize( const axutil_env_t *env, axis2_bool_t deep, neethi_policy_t *neethi_policy) { /* In the first call we pass the registry as null.*/ return neethi_engine_normalize(env, neethi_policy, NULL, deep); } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_normalize( const axutil_env_t *env, neethi_policy_t *neethi_policy, neethi_registry_t *registry, axis2_bool_t deep) { neethi_policy_t *resultant_neethi_policy = NULL; neethi_operator_t *operator = NULL; neethi_operator_t *component = NULL; neethi_exactlyone_t *exactlyone = NULL; axis2_char_t *policy_name = NULL; axis2_char_t *policy_id = NULL; /* Normalize policy will be contained in the new policy * created below */ resultant_neethi_policy = neethi_policy_create(env); if (!resultant_neethi_policy) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } policy_name = neethi_policy_get_name(neethi_policy, env); if (policy_name) { neethi_policy_set_name(resultant_neethi_policy, env, policy_name); } policy_id = neethi_policy_get_id(neethi_policy, env); if (policy_id) { neethi_policy_set_id(resultant_neethi_policy, env, policy_id); } operator = neethi_operator_create(env); if (!operator) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(operator, env, neethi_policy, OPERATOR_TYPE_POLICY); /* When we call the normalization it should always return an exactlyone as the * out put. */ exactlyone = neethi_engine_normalize_operator(operator, registry, deep, env); /* We are frreing the operator used to wrap the object */ neethi_operator_set_value_null(operator, env); neethi_operator_free(operator, env); operator = NULL; /* This exactlyone is set as the first component of the * normalized policy */ if (exactlyone) { component = neethi_operator_create(env); neethi_operator_set_value(component, env, exactlyone, OPERATOR_TYPE_EXACTLYONE); neethi_policy_add_operator(resultant_neethi_policy, env, component); return resultant_neethi_policy; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_NORMALIZATION_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Normalization failed."); return NULL; } } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_merge( const axutil_env_t *env, neethi_policy_t *neethi_policy1, neethi_policy_t *neethi_policy2) { neethi_exactlyone_t *exactlyone1 = NULL; neethi_exactlyone_t *exactlyone2 = NULL; neethi_exactlyone_t *exactlyone = NULL; neethi_policy_t *neethi_policy = NULL; neethi_operator_t *component = NULL; exactlyone1 = neethi_policy_get_exactlyone(neethi_policy1, env); exactlyone2 = neethi_policy_get_exactlyone(neethi_policy2, env); if (!exactlyone1 || !exactlyone2) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_WRONG_INPUT_FOR_MERGE, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Wrong input for merge."); return NULL; } exactlyone = neethi_engine_get_cross_product(exactlyone1, exactlyone2, env); if (exactlyone) { neethi_policy = neethi_policy_create(env); component = neethi_operator_create(env); if (!neethi_policy || !component) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(component, env, exactlyone, OPERATOR_TYPE_EXACTLYONE); neethi_policy_add_operator(neethi_policy, env, component); return neethi_policy; } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_CROSS_PRODUCT_FAILED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cross product failed."); return NULL; } } static axis2_bool_t neethi_engine_operator_is_empty( neethi_operator_t *operator, const axutil_env_t *env) { neethi_operator_type_t type; void *value = NULL; neethi_policy_t *neethi_policy = NULL; neethi_exactlyone_t *exactlyone = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; type = neethi_operator_get_type(operator, env); value = neethi_operator_get_value(operator, env); if (value) { switch (type) { case OPERATOR_TYPE_POLICY: neethi_policy = (neethi_policy_t *) value; return neethi_policy_is_empty(neethi_policy, env); break; case OPERATOR_TYPE_ALL: all = (neethi_all_t *) value; return neethi_all_is_empty(all, env); break; case OPERATOR_TYPE_EXACTLYONE: exactlyone = (neethi_exactlyone_t *) value; return neethi_exactlyone_is_empty(exactlyone, env); break; case OPERATOR_TYPE_UNKNOWN: return AXIS2_FALSE; break; case OPERATOR_TYPE_ASSERTION: assertion = (neethi_assertion_t *) value; return neethi_assertion_is_empty(assertion, env); break; case OPERATOR_TYPE_REFERENCE: break; } return AXIS2_FALSE; } else return AXIS2_FALSE; } static axutil_array_list_t *neethi_engine_operator_get_components( neethi_operator_t *operator, const axutil_env_t *env) { neethi_operator_type_t type; void *value = NULL; neethi_policy_t *neethi_policy = NULL; neethi_exactlyone_t *exactlyone = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; type = neethi_operator_get_type(operator, env); value = neethi_operator_get_value(operator, env); if (value) { switch (type) { case OPERATOR_TYPE_POLICY: neethi_policy = (neethi_policy_t *) value; return neethi_policy_get_policy_components(neethi_policy, env); break; case OPERATOR_TYPE_ALL: all = (neethi_all_t *) value; return neethi_all_get_policy_components(all, env); break; case OPERATOR_TYPE_EXACTLYONE: exactlyone = (neethi_exactlyone_t *) value; return neethi_exactlyone_get_policy_components(exactlyone, env); break; case OPERATOR_TYPE_UNKNOWN: return NULL; break; case OPERATOR_TYPE_ASSERTION: assertion = (neethi_assertion_t *) value; return neethi_assertion_get_policy_components(assertion, env); break; case OPERATOR_TYPE_REFERENCE: break; } } return NULL; } static neethi_exactlyone_t *neethi_engine_normalize_operator( neethi_operator_t *operator, neethi_registry_t *registry, axis2_bool_t deep, const axutil_env_t *env) { axutil_array_list_t *child_component_list = NULL; neethi_operator_t *child_component = NULL; axutil_array_list_t *arraylist = NULL; int i = 0; neethi_operator_type_t type = neethi_operator_get_type(operator, env); if (neethi_engine_operator_is_empty(operator, env)) { /* If this is an empty operator we just add * an exactlyone and all */ neethi_exactlyone_t *exactlyone = NULL; exactlyone = neethi_exactlyone_create(env); if (!exactlyone) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } if (type != OPERATOR_TYPE_EXACTLYONE) { neethi_all_t *all = NULL; neethi_operator_t *component = NULL; all = neethi_all_create(env); component = neethi_operator_create(env); if (!all || !component) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(component, env, all, OPERATOR_TYPE_ALL); neethi_exactlyone_add_operator(exactlyone, env, component); } return exactlyone; } child_component_list = axutil_array_list_create(env, 0); arraylist = neethi_engine_operator_get_components(operator, env); /* Here we are recursively normalize each and every component */ for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { neethi_operator_type_t component_type; child_component = (neethi_operator_t *) axutil_array_list_get(arraylist, env, i); component_type = neethi_operator_get_type(child_component, env); if (component_type == OPERATOR_TYPE_ASSERTION) { /*Assertion normalization part comes here */ if (deep) { return NULL; } else { neethi_exactlyone_t *exactlyone = NULL; neethi_all_t *all = NULL; neethi_operator_t *op = NULL; exactlyone = neethi_exactlyone_create(env); all = neethi_all_create(env); op = neethi_operator_create(env); if (!all || !op || !exactlyone) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } /* We wrap everything inside an exactlyone */ neethi_all_add_operator(all, env, child_component); neethi_operator_set_value(op, env, all, OPERATOR_TYPE_ALL); neethi_exactlyone_add_operator(exactlyone, env, op); axutil_array_list_add(child_component_list, env, exactlyone); } } else if (component_type == OPERATOR_TYPE_POLICY) { neethi_policy_t *neethi_policy = NULL; neethi_all_t *all = NULL; axutil_array_list_t *children = NULL; neethi_operator_t *to_normalize = NULL; neethi_exactlyone_t *exactlyone = NULL; all = neethi_all_create(env); if (!all) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_policy = (neethi_policy_t *) neethi_operator_get_value(child_component, env); if (neethi_policy) { children = neethi_policy_get_policy_components(neethi_policy, env); if (children) { neethi_all_add_policy_components(all, children, env); to_normalize = neethi_operator_create(env); if (!to_normalize) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(to_normalize, env, all, OPERATOR_TYPE_ALL); exactlyone = neethi_engine_normalize_operator(to_normalize, registry, deep, env); if (exactlyone) { axutil_array_list_add(child_component_list, env, exactlyone); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] No children policy components"); return NULL; } } } else if (component_type == OPERATOR_TYPE_REFERENCE) { /* If the operator is a policy reference we will * extract the relevent policy from the uri and * normalize as we are doing for a neethi_policy * object */ neethi_reference_t *policy_ref = NULL; axis2_char_t *uri = NULL; neethi_policy_t *policy = NULL; neethi_all_t *all = NULL; axutil_array_list_t *children = NULL; neethi_operator_t *to_normalize = NULL; neethi_exactlyone_t *exactlyone = NULL; policy_ref = (neethi_reference_t *) neethi_operator_get_value(child_component, env); uri = neethi_reference_get_uri(policy_ref, env); if (!uri) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_URI_NOT_SPECIFIED, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Uri not specified"); return NULL; } if(!registry) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot resolve the reference.Registry Not provided"); return NULL; } policy = neethi_registry_lookup(registry, env, uri); if (!policy) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_NO_ENTRY_FOR_THE_GIVEN_URI, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] No entry for the given uri"); return NULL; } neethi_operator_set_value(child_component, env, policy, OPERATOR_TYPE_POLICY); all = neethi_all_create(env); if (!all) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } policy = (neethi_policy_t *) neethi_operator_get_value(child_component, env); if (policy) { children = neethi_policy_get_policy_components(policy, env); if (children) { neethi_all_add_policy_components(all, children, env); to_normalize = neethi_operator_create(env); if (!to_normalize) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(to_normalize, env, all, OPERATOR_TYPE_ALL); exactlyone = neethi_engine_normalize_operator(to_normalize, registry, deep, env); if (exactlyone) { axutil_array_list_add(child_component_list, env, exactlyone); } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] No children policy components"); return NULL; } } } else { neethi_exactlyone_t *exactlyone = NULL; exactlyone = neethi_engine_normalize_operator(child_component, registry, deep, env); if (exactlyone) { axutil_array_list_add(child_component_list, env, exactlyone); } } } /* So at this point we have set of exactlyones in the array_list, So we will * compute one exactlyone out of those after the following call */ return neethi_engine_compute_resultant_component(child_component_list, type, env); } /* This function will return a single exactlyone from all the * components in the list */ static neethi_exactlyone_t *neethi_engine_compute_resultant_component( axutil_array_list_t * normalized_inner_components, neethi_operator_type_t type, const axutil_env_t * env) { neethi_exactlyone_t *exactlyone = NULL; int size = 0; if(normalized_inner_components) { size = axutil_array_list_size(normalized_inner_components, env); } if (type == OPERATOR_TYPE_EXACTLYONE) { /* If the operator is an exactlyone then we get all the components * in the exatlyones and add them to a newly created exactlyone */ int i = 0; neethi_exactlyone_t *inner_exactlyone = NULL; exactlyone = neethi_exactlyone_create(env); for (i = 0; i < size; i++) { inner_exactlyone = (neethi_exactlyone_t *) axutil_array_list_get(normalized_inner_components, env, i); if (inner_exactlyone) { neethi_exactlyone_add_policy_components(exactlyone, neethi_exactlyone_get_policy_components (inner_exactlyone, env), env); } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Exactlyone not found in normalized policy"); return NULL; } } } else if (type == OPERATOR_TYPE_POLICY || type == OPERATOR_TYPE_ALL) { /* Here arry_list contains one exactlyone means this operator * is already normalized. So we will return that. Otherwise we * will get the crossproduct. */ if (size > 1) { /* Get the first one and do the cross product with other * components */ int i = 0; exactlyone = (neethi_exactlyone_t *)axutil_array_list_get (normalized_inner_components, env, 0); if (!exactlyone) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Exactlyone not found in normalized policy"); return NULL; } if (!neethi_exactlyone_is_empty(exactlyone, env)) { neethi_exactlyone_t *current_exactlyone = NULL; i = 1; for (i = 1; i < size; i++) { current_exactlyone = (neethi_exactlyone_t *) axutil_array_list_get(normalized_inner_components, env, i); if (!current_exactlyone) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_EXACTLYONE_NOT_FOUND_IN_NORMALIZED_POLICY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Exactlyone not found in normalized policy"); return NULL; } if (neethi_exactlyone_is_empty(current_exactlyone, env)) { exactlyone = current_exactlyone; break; } else { neethi_exactlyone_t *temp = NULL; neethi_exactlyone_t *temp1 = NULL; temp = exactlyone; temp1 = current_exactlyone; exactlyone = neethi_engine_get_cross_product( exactlyone, current_exactlyone, env); neethi_exactlyone_free(temp, env); neethi_exactlyone_free(temp1, env); temp = NULL; temp1 = NULL; } } } else { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_EXACTLYONE_IS_EMPTY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Exactlyone is Empty"); return NULL; } } else { exactlyone = (neethi_exactlyone_t *)axutil_array_list_get( normalized_inner_components, env, 0); } } axutil_array_list_free(normalized_inner_components, env); normalized_inner_components = NULL; return exactlyone; } /* The cross product will return all the different combinations * of alternatives and put them into one exactlyone */ static neethi_exactlyone_t *neethi_engine_get_cross_product( neethi_exactlyone_t *exactlyone1, neethi_exactlyone_t *exactlyone2, const axutil_env_t *env) { neethi_exactlyone_t *cross_product = NULL; neethi_all_t *cross_product_all = NULL; neethi_all_t *current_all1 = NULL; neethi_all_t *current_all2 = NULL; axutil_array_list_t *array_list1 = NULL; axutil_array_list_t *array_list2 = NULL; neethi_operator_t *component = NULL; int i = 0; int j = 0; cross_product = neethi_exactlyone_create(env); if (!cross_product) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } array_list1 = neethi_exactlyone_get_policy_components(exactlyone1, env); array_list2 = neethi_exactlyone_get_policy_components(exactlyone2, env); if (!array_list1 || !array_list2) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_NO_CHILDREN_POLICY_COMPONENTS, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] No children policy components"); return NULL; } for (i = 0; i < axutil_array_list_size(array_list1, env); i++) { current_all1 = (neethi_all_t *) neethi_operator_get_value( (neethi_operator_t *) axutil_array_list_get(array_list1, env, i), env); if (!current_all1) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_ALL_NOT_FOUND_WHILE_GETTING_CROSS_PRODUCT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] All not found while getting cross product"); return NULL; } for (j = 0; j < axutil_array_list_size(array_list2, env); j++) { current_all2 = (neethi_all_t *) neethi_operator_get_value( (neethi_operator_t *) axutil_array_list_get(array_list2, env, j), env); if (!current_all2) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NEETHI_ALL_NOT_FOUND_WHILE_GETTING_CROSS_PRODUCT, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] All not found while getting cross product"); return NULL; } cross_product_all = neethi_all_create(env); if (!cross_product_all) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_all_add_policy_components(cross_product_all, neethi_all_get_policy_components (current_all1, env), env); neethi_all_add_policy_components(cross_product_all, neethi_all_get_policy_components (current_all2, env), env); component = neethi_operator_create(env); if (!component) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_operator_set_value(component, env, cross_product_all, OPERATOR_TYPE_ALL); neethi_exactlyone_add_operator(cross_product, env, component); } } return cross_product; } /*These functions are for serializing a policy object*/ AXIS2_EXTERN axiom_node_t *AXIS2_CALL neethi_engine_serialize( neethi_policy_t *policy, const axutil_env_t *env) { return neethi_policy_serialize(policy, NULL, env); } static void neethi_engine_clear_element_attributes( axutil_hash_t *attr_hash, const axutil_env_t *env) { axutil_hash_index_t *hi = NULL; for(hi = axutil_hash_first(attr_hash, env); hi; hi = axutil_hash_next(env, hi)) { void *val = NULL; axutil_hash_this(hi, NULL, NULL, &val); if (val) { axiom_attribute_free((axiom_attribute_t *)val, env); val = NULL; } } axutil_hash_free(attr_hash, env); attr_hash = NULL; return; } axis2c-src-1.6.0/neethi/src/Makefile.am0000644000175000017500000000362111166304521020734 0ustar00manjulamanjula00000000000000SUBDIRS = secpolicy rmpolicy lib_LTLIBRARIES=libneethi.la libneethi_la_SOURCES= all.c \ assertion.c \ engine.c \ exactlyone.c \ operator.c \ policy.c \ reference.c \ registry.c \ assertion_builder.c \ mtom_assertion_checker.c \ util.c libneethi_la_LIBADD = ../../axiom/src/om/libaxis2_axiom.la \ ../../util/src/libaxutil.la \ secpolicy/builder/librp_builder.la \ secpolicy/model/librp_model.la \ rmpolicy/librm_policy.la #libneethi_LIBADD=$(top_builddir)/src/core/description/libaxis2_description.la \ # $(top_builddir)/src/core/receivers/libaxis2_receivers.la \ # $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ # $(top_builddir)/src/core/context/libaxis2_context.la \ # $(top_builddir)/src/core/addr/libaxis2_addr.la \ # $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ # $(top_builddir)/src/core/phaseresolver/libaxis2_phaseresolver.la \ # $(top_builddir)/src/core/util/libaxis2_core_utils.la \ # $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ # $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ # $(top_builddir)/util/src/libaxutil.la \ # $(top_builddir)/axiom/src/om/libaxis2_axiom.la libneethi_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I ../../util/include \ -I ../../axiom/include \ -I ../../include # -I$(top_builddir)/src/wsdl \ # -I$(top_builddir)/src/core/description \ # -I$(top_builddir)/src/core/engine \ # -I$(top_builddir)/src/core/phaseresolver \ # -I$(top_builddir)/src/core/deployment \ # -I$(top_builddir)/src/core/context \ # -I$(top_builddir)/src/core/util \ # -I$(top_builddir)/src/core/clientapi \ # -I$(top_builddir)/util/include \ # -I$(top_builddir)/axiom/include axis2c-src-1.6.0/neethi/src/Makefile.in0000644000175000017500000005164311172017200020744 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(libdir)" libLTLIBRARIES_INSTALL = $(INSTALL) LTLIBRARIES = $(lib_LTLIBRARIES) libneethi_la_DEPENDENCIES = ../../axiom/src/om/libaxis2_axiom.la \ ../../util/src/libaxutil.la secpolicy/builder/librp_builder.la \ secpolicy/model/librp_model.la rmpolicy/librm_policy.la am_libneethi_la_OBJECTS = all.lo assertion.lo engine.lo exactlyone.lo \ operator.lo policy.lo reference.lo registry.lo \ assertion_builder.lo mtom_assertion_checker.lo util.lo libneethi_la_OBJECTS = $(am_libneethi_la_OBJECTS) libneethi_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(libneethi_la_LDFLAGS) $(LDFLAGS) -o $@ DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(libneethi_la_SOURCES) DIST_SOURCES = $(libneethi_la_SOURCES) RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = secpolicy rmpolicy lib_LTLIBRARIES = libneethi.la libneethi_la_SOURCES = all.c \ assertion.c \ engine.c \ exactlyone.c \ operator.c \ policy.c \ reference.c \ registry.c \ assertion_builder.c \ mtom_assertion_checker.c \ util.c libneethi_la_LIBADD = ../../axiom/src/om/libaxis2_axiom.la \ ../../util/src/libaxutil.la \ secpolicy/builder/librp_builder.la \ secpolicy/model/librp_model.la \ rmpolicy/librm_policy.la #libneethi_LIBADD=$(top_builddir)/src/core/description/libaxis2_description.la \ # $(top_builddir)/src/core/receivers/libaxis2_receivers.la \ # $(top_builddir)/src/core/deployment/libaxis2_deployment.la \ # $(top_builddir)/src/core/context/libaxis2_context.la \ # $(top_builddir)/src/core/addr/libaxis2_addr.la \ # $(top_builddir)/src/core/clientapi/libaxis2_clientapi.la \ # $(top_builddir)/src/core/phaseresolver/libaxis2_phaseresolver.la \ # $(top_builddir)/src/core/util/libaxis2_core_utils.la \ # $(top_builddir)/src/core/transport/http/common/libaxis2_http_common.la \ # $(top_builddir)/src/core/transport/http/util/libaxis2_http_util.la \ # $(top_builddir)/util/src/libaxutil.la \ # $(top_builddir)/axiom/src/om/libaxis2_axiom.la libneethi_la_LDFLAGS = -version-info $(VERSION_NO) INCLUDES = -I$(top_builddir)/include \ -I ../../util/include \ -I ../../axiom/include \ -I ../../include all: all-recursive .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh install-libLTLIBRARIES: $(lib_LTLIBRARIES) @$(NORMAL_INSTALL) test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)" @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ if test -f $$p; then \ f=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \ $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \ else :; fi; \ done uninstall-libLTLIBRARIES: @$(NORMAL_UNINSTALL) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ p=$(am__strip_dir) \ echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \ $(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \ done clean-libLTLIBRARIES: -test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES) @list='$(lib_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done libneethi.la: $(libneethi_la_OBJECTS) $(libneethi_la_DEPENDENCIES) $(libneethi_la_LINK) -rpath $(libdir) $(libneethi_la_OBJECTS) $(libneethi_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/all.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assertion.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/assertion_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/engine.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exactlyone.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mtom_assertion_checker.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/operator.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/policy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/reference.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/registry.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/util.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile $(LTLIBRARIES) installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(libdir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \ mostlyclean-am distclean: distclean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-libLTLIBRARIES install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-libLTLIBRARIES .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic \ clean-libLTLIBRARIES clean-libtool ctags ctags-recursive \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-libLTLIBRARIES install-man install-pdf \ install-pdf-am install-ps install-ps-am install-strip \ installcheck installcheck-am installdirs installdirs-am \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-compile mostlyclean-generic mostlyclean-libtool \ pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \ uninstall-libLTLIBRARIES # -I$(top_builddir)/src/wsdl \ # -I$(top_builddir)/src/core/description \ # -I$(top_builddir)/src/core/engine \ # -I$(top_builddir)/src/core/phaseresolver \ # -I$(top_builddir)/src/core/deployment \ # -I$(top_builddir)/src/core/context \ # -I$(top_builddir)/src/core/util \ # -I$(top_builddir)/src/core/clientapi \ # -I$(top_builddir)/util/include \ # -I$(top_builddir)/axiom/include # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/src/exactlyone.c0000644000175000017500000001353511166304521021224 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct neethi_exactlyone_t { axutil_array_list_t *policy_components; }; AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL neethi_exactlyone_create( const axutil_env_t *env) { neethi_exactlyone_t *neethi_exactlyone = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_exactlyone = (neethi_exactlyone_t *) AXIS2_MALLOC(env->allocator, sizeof (neethi_exactlyone_t)); if (neethi_exactlyone == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_exactlyone->policy_components = NULL; neethi_exactlyone->policy_components = axutil_array_list_create(env, 0); if (!(neethi_exactlyone->policy_components)) { neethi_exactlyone_free(neethi_exactlyone, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } return neethi_exactlyone; } AXIS2_EXTERN void AXIS2_CALL neethi_exactlyone_free( neethi_exactlyone_t *neethi_exactlyone, const axutil_env_t *env) { if (neethi_exactlyone) { if (neethi_exactlyone->policy_components) { int i = 0; int size = 0; size = axutil_array_list_size(neethi_exactlyone->policy_components, env); for (i = 0; i < size; i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *) axutil_array_list_get(neethi_exactlyone->policy_components, env, i); if (operator) { neethi_operator_free(operator, env); operator = NULL; } } axutil_array_list_free(neethi_exactlyone->policy_components, env); neethi_exactlyone->policy_components = NULL; } AXIS2_FREE(env->allocator, neethi_exactlyone); neethi_exactlyone = NULL; } return; } /* Implementations */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_exactlyone_get_policy_components( neethi_exactlyone_t *neethi_exactlyone, const axutil_env_t *env) { return neethi_exactlyone->policy_components; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_exactlyone_add_policy_components( neethi_exactlyone_t *exactlyone, axutil_array_list_t *arraylist, const axutil_env_t *env) { int size = axutil_array_list_size(arraylist, env); int i = 0; if (axutil_array_list_ensure_capacity (exactlyone->policy_components, env, size + 1) != AXIS2_SUCCESS) return AXIS2_FAILURE; for (i = 0; i < size; i++) { void *value = NULL; value = axutil_array_list_get(arraylist, env, i); neethi_operator_increment_ref((neethi_operator_t *) value, env); axutil_array_list_add(exactlyone->policy_components, env, value); } return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_exactlyone_add_operator( neethi_exactlyone_t *neethi_exactlyone, const axutil_env_t *env, neethi_operator_t *operator) { neethi_operator_increment_ref(operator, env); axutil_array_list_add(neethi_exactlyone->policy_components, env, operator); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_exactlyone_is_empty( neethi_exactlyone_t *exactlyone, const axutil_env_t *env) { return axutil_array_list_is_empty(exactlyone->policy_components, env); } /*This function is for serializing*/ AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_exactlyone_serialize( neethi_exactlyone_t *neethi_exactlyone, axiom_node_t *parent, const axutil_env_t *env) { axiom_node_t *exactlyone_node = NULL; axiom_element_t *exactlyone_ele = NULL; axiom_namespace_t *policy_ns = NULL; axutil_array_list_t *components = NULL; axis2_status_t status = AXIS2_FAILURE; policy_ns = axiom_namespace_create(env, NEETHI_NAMESPACE, NEETHI_PREFIX); exactlyone_ele = axiom_element_create(env, parent, NEETHI_EXACTLYONE, policy_ns, &exactlyone_node); if (!exactlyone_node) { return AXIS2_FAILURE; } components = neethi_exactlyone_get_policy_components(neethi_exactlyone, env); if (components) { int i = 0; for (i = 0; i < axutil_array_list_size(components, env); i++) { neethi_operator_t *operator = NULL; operator =(neethi_operator_t *) axutil_array_list_get(components, env, i); if (operator) { status = neethi_operator_serialize(operator, env, exactlyone_node); if (status != AXIS2_SUCCESS) { return status; } } } } return status; } axis2c-src-1.6.0/neethi/src/util.c0000644000175000017500000000540711166304521020025 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_util_create_policy_from_file( const axutil_env_t *env, axis2_char_t *file_name) { axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_document_t *document = NULL; axiom_node_t *root_node = NULL; reader = axiom_xml_reader_create_for_file(env, file_name, NULL); if (!reader) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } builder = axiom_stax_builder_create(env, reader); if (!builder) { axiom_xml_reader_free(reader, env); return NULL; } document = axiom_stax_builder_get_document(builder, env); if (!document) { axiom_stax_builder_free(builder, env); return NULL; } root_node = axiom_document_build_all(document, env); if (!root_node) { axiom_stax_builder_free(builder, env); return NULL; } axiom_stax_builder_free_self(builder, env); builder = NULL; return neethi_util_create_policy_from_om(env, root_node); } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_util_create_policy_from_om( const axutil_env_t *env, axiom_node_t *root_node) { axiom_element_t *root_ele = NULL; if (axiom_node_get_node_type(root_node, env) == AXIOM_ELEMENT) { root_ele = (axiom_element_t *) axiom_node_get_data_element(root_node, env); if (root_ele) { neethi_policy_t *neethi_policy = NULL; neethi_policy = neethi_engine_get_policy(env, root_node, root_ele); if (!neethi_policy) { return NULL; } neethi_policy_set_root_node(neethi_policy, env, root_node); return neethi_policy; } else return NULL; } else return NULL; } axis2c-src-1.6.0/neethi/src/registry.c0000644000175000017500000000767111166304521020725 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct neethi_registry_t { axutil_hash_t *registry; neethi_registry_t *parent; }; AXIS2_EXTERN neethi_registry_t *AXIS2_CALL neethi_registry_create( const axutil_env_t *env) { neethi_registry_t *neethi_registry = NULL; AXIS2_ENV_CHECK(env, NULL); neethi_registry = (neethi_registry_t *) AXIS2_MALLOC(env->allocator, sizeof (neethi_registry_t)); if (neethi_registry == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_registry->registry = NULL; neethi_registry->registry = axutil_hash_make(env); if (!(neethi_registry->registry)) { neethi_registry_free(neethi_registry, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } neethi_registry->parent = NULL; return neethi_registry; } AXIS2_EXTERN neethi_registry_t *AXIS2_CALL neethi_registry_create_with_parent( const axutil_env_t *env, neethi_registry_t *parent) { neethi_registry_t *neethi_registry = NULL; neethi_registry = neethi_registry_create(env); if (!neethi_registry) return NULL; neethi_registry->parent = parent; return neethi_registry; } AXIS2_EXTERN void AXIS2_CALL neethi_registry_free( neethi_registry_t *neethi_registry, const axutil_env_t *env) { if (neethi_registry->registry) { axutil_hash_index_t *hi = NULL; void *val = NULL; for (hi = axutil_hash_first(neethi_registry->registry, env); hi; hi = axutil_hash_next(env, hi)) { neethi_policy_t *neethi_policy = NULL; axutil_hash_this(hi, NULL, NULL, &val); neethi_policy = (neethi_policy_t *) val; if (neethi_policy) neethi_policy_free(neethi_policy, env); val = NULL; neethi_policy = NULL; } axutil_hash_free(neethi_registry->registry, env); } if (neethi_registry->parent) { neethi_registry->parent = NULL; } AXIS2_FREE(env->allocator, neethi_registry); } /* Implementations */ AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_registry_register( neethi_registry_t *neethi_registry, const axutil_env_t *env, axis2_char_t *key, neethi_policy_t *value) { axutil_hash_set(neethi_registry->registry, key, AXIS2_HASH_KEY_STRING, value); return AXIS2_SUCCESS; } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_registry_lookup( neethi_registry_t *neethi_registry, const axutil_env_t *env, axis2_char_t *key) { neethi_policy_t *policy = NULL; policy = (neethi_policy_t *) axutil_hash_get(neethi_registry->registry, key, AXIS2_HASH_KEY_STRING); if (!policy && neethi_registry->parent) { return neethi_registry_lookup(neethi_registry->parent, env, key); } return policy; } axis2c-src-1.6.0/neethi/src/secpolicy/0000777000175000017500000000000011172017536020700 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/src/secpolicy/model/0000777000175000017500000000000011172017536022000 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/src/secpolicy/model/x509_token.c0000644000175000017500000001516611166304512024052 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_x509_token_t { rp_token_t *token; axis2_bool_t require_key_identifier_reference; axis2_bool_t require_issuer_serial_reference; axis2_bool_t require_embedded_token_reference; axis2_bool_t require_thumb_print_reference; axis2_char_t *token_version_and_type; int ref; }; AXIS2_EXTERN rp_x509_token_t *AXIS2_CALL rp_x509_token_create( const axutil_env_t * env) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_x509_token_t)); if (!x509_token) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] X509 token assertion creation failed. Insufficient memory"); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } x509_token->require_key_identifier_reference = AXIS2_FALSE; x509_token->require_issuer_serial_reference = AXIS2_FALSE; x509_token->require_embedded_token_reference = AXIS2_FALSE; x509_token->require_thumb_print_reference = AXIS2_FALSE; x509_token->token_version_and_type = RP_WSS_X509_V3_TOKEN_10; x509_token->ref = 0; x509_token->token = rp_token_create(env); if(!x509_token->token) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] X509 token assertion creation failed."); rp_x509_token_free(x509_token, env); return NULL; } return x509_token; } AXIS2_EXTERN void AXIS2_CALL rp_x509_token_free( rp_x509_token_t * x509_token, const axutil_env_t * env) { if (x509_token) { if (--(x509_token->ref) > 0) { return; } rp_token_free(x509_token->token, env); AXIS2_FREE(env->allocator, x509_token); x509_token = NULL; } } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_x509_token_get_inclusion( rp_x509_token_t * x509_token, const axutil_env_t * env) { return rp_token_get_inclusion(x509_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_inclusion( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_char_t * inclusion) { return rp_token_set_inclusion(x509_token->token, env, inclusion); } AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_x509_token_get_derivedkey( rp_x509_token_t * x509_token, const axutil_env_t * env) { return rp_token_get_derivedkey_type(x509_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_derivedkey( rp_x509_token_t * x509_token, const axutil_env_t * env, derive_key_type_t derivedkeys) { return rp_token_set_derivedkey_type(x509_token->token, env, derivedkeys); } AXIS2_EXTERN derive_key_version_t AXIS2_CALL rp_x509_token_get_derivedkey_version( rp_x509_token_t *x509_token, const axutil_env_t *env) { return rp_token_get_derive_key_version(x509_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_derivedkey_version( rp_x509_token_t *x509_token, const axutil_env_t *env, derive_key_version_t version) { return rp_token_set_derive_key_version(x509_token->token, env, version); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_key_identifier_reference( rp_x509_token_t * x509_token, const axutil_env_t * env) { return x509_token->require_key_identifier_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_key_identifier_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_key_identifier_reference) { x509_token->require_key_identifier_reference = require_key_identifier_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_issuer_serial_reference( rp_x509_token_t * x509_token, const axutil_env_t * env) { return x509_token->require_issuer_serial_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_issuer_serial_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_issuer_serial_reference) { x509_token->require_issuer_serial_reference = require_issuer_serial_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_embedded_token_reference( rp_x509_token_t * x509_token, const axutil_env_t * env) { return x509_token->require_embedded_token_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_embedded_token_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_embedded_token_reference) { x509_token->require_embedded_token_reference = require_embedded_token_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_thumb_print_reference( rp_x509_token_t * x509_token, const axutil_env_t * env) { return x509_token->require_thumb_print_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_thumb_print_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_thumb_print_reference) { x509_token->require_thumb_print_reference = require_thumb_print_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_x509_token_get_token_version_and_type( rp_x509_token_t * x509_token, const axutil_env_t * env) { return x509_token->token_version_and_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_token_version_and_type( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_char_t * token_version_and_type) { x509_token->token_version_and_type = token_version_and_type; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_increment_ref( rp_x509_token_t * x509_token, const axutil_env_t * env) { x509_token->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/wss10.c0000644000175000017500000001162711166304512023120 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_wss10_t { axis2_bool_t must_support_ref_key_identifier; axis2_bool_t must_support_ref_issuer_serial; axis2_bool_t must_support_ref_external_uri; axis2_bool_t must_support_ref_embedded_token; axis2_bool_t must_support_direct_reference; int ref; }; AXIS2_EXTERN rp_wss10_t *AXIS2_CALL rp_wss10_create( const axutil_env_t * env) { rp_wss10_t *wss10 = NULL; AXIS2_ENV_CHECK(env, NULL); wss10 = (rp_wss10_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_wss10_t)); if (wss10 == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } wss10->must_support_ref_key_identifier = AXIS2_FALSE; wss10->must_support_ref_issuer_serial = AXIS2_FALSE; wss10->must_support_ref_external_uri = AXIS2_FALSE; wss10->must_support_ref_embedded_token = AXIS2_FALSE; wss10->must_support_direct_reference = AXIS2_TRUE; wss10->ref = 0; return wss10; } AXIS2_EXTERN void AXIS2_CALL rp_wss10_free( rp_wss10_t * wss10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (wss10) { if (--(wss10->ref) > 0) { return; } AXIS2_FREE(env->allocator, wss10); wss10 = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_key_identifier( rp_wss10_t * wss10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss10->must_support_ref_key_identifier; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_key_identifier( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_key_identifier) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_key_identifier, AXIS2_FAILURE); wss10->must_support_ref_key_identifier = must_support_ref_key_identifier; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_issuer_serial( rp_wss10_t * wss10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss10->must_support_ref_issuer_serial; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_issuer_serial( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_issuer_serial) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_issuer_serial, AXIS2_FAILURE); wss10->must_support_ref_issuer_serial = must_support_ref_issuer_serial; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_external_uri( rp_wss10_t * wss10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss10->must_support_ref_external_uri; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_external_uri( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_external_uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_external_uri, AXIS2_FAILURE); wss10->must_support_ref_external_uri = must_support_ref_external_uri; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_embedded_token( rp_wss10_t * wss10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss10->must_support_ref_embedded_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_embedded_token( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_embedded_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_embedded_token, AXIS2_FAILURE); wss10->must_support_ref_embedded_token = must_support_ref_embedded_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_increment_ref( rp_wss10_t * wss10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); wss10->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/wss11.c0000644000175000017500000001614311166304512023117 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_wss11_t { axis2_bool_t must_support_ref_key_identifier; axis2_bool_t must_support_ref_issuer_serial; axis2_bool_t must_support_ref_external_uri; axis2_bool_t must_support_ref_embedded_token; axis2_bool_t must_support_ref_thumbprint; axis2_bool_t must_support_ref_encryptedkey; axis2_bool_t require_signature_confirmation; axis2_bool_t must_support_direct_reference; int ref; }; AXIS2_EXTERN rp_wss11_t *AXIS2_CALL rp_wss11_create( const axutil_env_t * env) { rp_wss11_t *wss11 = NULL; AXIS2_ENV_CHECK(env, NULL); wss11 = (rp_wss11_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_wss11_t)); if (wss11 == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } wss11->must_support_ref_key_identifier = AXIS2_FALSE; wss11->must_support_ref_issuer_serial = AXIS2_FALSE; wss11->must_support_ref_external_uri = AXIS2_FALSE; wss11->must_support_ref_embedded_token = AXIS2_FALSE; wss11->must_support_ref_thumbprint = AXIS2_FALSE; wss11->must_support_ref_encryptedkey = AXIS2_FALSE; wss11->require_signature_confirmation = AXIS2_FALSE; wss11->must_support_direct_reference = AXIS2_TRUE; wss11->ref = 0; return wss11; } AXIS2_EXTERN void AXIS2_CALL rp_wss11_free( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (wss11) { if (--(wss11->ref) > 0) { return; } AXIS2_FREE(env->allocator, wss11); wss11 = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_key_identifier( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->must_support_ref_key_identifier; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_key_identifier( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_key_identifier) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_key_identifier, AXIS2_FAILURE); wss11->must_support_ref_key_identifier = must_support_ref_key_identifier; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_issuer_serial( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->must_support_ref_issuer_serial; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_issuer_serial( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_issuer_serial) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_issuer_serial, AXIS2_FAILURE); wss11->must_support_ref_issuer_serial = must_support_ref_issuer_serial; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_external_uri( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->must_support_ref_external_uri; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_external_uri( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_external_uri) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_external_uri, AXIS2_FAILURE); wss11->must_support_ref_external_uri = must_support_ref_external_uri; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_embedded_token( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->must_support_ref_embedded_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_embedded_token( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_embedded_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_embedded_token, AXIS2_FAILURE); wss11->must_support_ref_embedded_token = must_support_ref_embedded_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_thumbprint( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->must_support_ref_thumbprint; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_thumbprint( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_thumbprint) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); AXIS2_PARAM_CHECK(env->error, must_support_ref_thumbprint, AXIS2_FAILURE); wss11->must_support_ref_thumbprint = must_support_ref_thumbprint; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_encryptedkey( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->must_support_ref_encryptedkey; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_encryptedkey( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_encryptedkey) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_ref_encryptedkey, AXIS2_FAILURE); wss11->must_support_ref_encryptedkey = must_support_ref_encryptedkey; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_require_signature_confirmation( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return wss11->require_signature_confirmation; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_require_signature_confirmation( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t require_signature_confirmation) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, require_signature_confirmation, AXIS2_FAILURE); wss11->require_signature_confirmation = require_signature_confirmation; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_increment_ref( rp_wss11_t * wss11, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); wss11->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/ut.c0000644000175000017500000001360111166304512022565 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include struct rp_username_token_t { axis2_char_t *inclusion; password_type_t password_type; axis2_bool_t useUTprofile10; axis2_bool_t useUTprofile11; rp_token_t *token; int ref; }; AXIS2_EXTERN rp_username_token_t *AXIS2_CALL rp_username_token_create( const axutil_env_t * env) { rp_username_token_t *username_token = NULL; username_token = (rp_username_token_t *) AXIS2_MALLOC( env->allocator, sizeof (rp_username_token_t)); if (!username_token) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] User name token creation failed. Insufficient memory"); return NULL; } username_token->token = rp_token_create(env); if(!username_token->token) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] User name token creation failed."); rp_username_token_free(username_token, env); return NULL; } username_token->inclusion = RP_INCLUDE_ALWAYS; username_token->password_type = PASSWORD_PLAIN; username_token->useUTprofile10 = AXIS2_TRUE; username_token->useUTprofile11 = AXIS2_FALSE; username_token->ref = 0; return username_token; } AXIS2_EXTERN void AXIS2_CALL rp_username_token_free( rp_username_token_t * username_token, const axutil_env_t * env) { if(username_token) { if (--(username_token->ref) > 0) { return; } rp_token_free(username_token->token, env); AXIS2_FREE(env->allocator, username_token); username_token = NULL; } } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_username_token_get_inclusion( rp_username_token_t * username_token, const axutil_env_t * env) { return username_token->inclusion; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_inclusion( rp_username_token_t * username_token, const axutil_env_t * env, axis2_char_t * inclusion) { AXIS2_PARAM_CHECK(env->error, inclusion, AXIS2_FAILURE); username_token->inclusion = inclusion; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_username_token_get_useUTprofile10( rp_username_token_t * username_token, const axutil_env_t * env) { return username_token->useUTprofile10; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_useUTprofile10( rp_username_token_t * username_token, const axutil_env_t * env, axis2_bool_t useUTprofile10) { username_token->useUTprofile10 = useUTprofile10; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_username_token_get_useUTprofile11( rp_username_token_t * username_token, const axutil_env_t * env) { return username_token->useUTprofile10; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_useUTprofile11( rp_username_token_t * username_token, const axutil_env_t * env, axis2_bool_t useUTprofile11) { username_token->useUTprofile11 = useUTprofile11; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_increment_ref( rp_username_token_t * username_token, const axutil_env_t * env) { username_token->ref++; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_username_token_get_issuer( rp_username_token_t * username_token, const axutil_env_t * env) { return rp_token_get_issuer(username_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_issuer( rp_username_token_t * username_token, const axutil_env_t * env, axis2_char_t * issuer) { return rp_token_set_issuer(username_token->token, env, issuer); } AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_username_token_get_derivedkey_type( rp_username_token_t * username_token, const axutil_env_t * env) { return rp_token_get_derivedkey_type(username_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_derivedkey_type( rp_username_token_t * username_token, const axutil_env_t * env, derive_key_type_t derivedkey) { return rp_token_set_derivedkey_type(username_token->token, env, derivedkey); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_username_token_get_is_issuer_name( rp_username_token_t * username_token, const axutil_env_t * env) { return rp_token_get_is_issuer_name(username_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_is_issuer_name( rp_username_token_t * username_token, const axutil_env_t * env, axis2_bool_t is_issuer_name) { return rp_token_set_is_issuer_name(username_token->token, env, is_issuer_name); } AXIS2_EXTERN axiom_node_t *AXIS2_CALL rp_username_token_get_claim( rp_username_token_t * username_token, const axutil_env_t * env) { return rp_token_get_claim(username_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_claim( rp_username_token_t * username_token, const axutil_env_t * env, axiom_node_t *claim) { return rp_token_set_claim(username_token->token, env, claim); } axis2c-src-1.6.0/neethi/src/secpolicy/model/trust10.c0000644000175000017500000001267611166304512023472 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_trust10_t { axis2_bool_t must_support_client_challenge; axis2_bool_t must_support_server_challenge; axis2_bool_t require_client_entropy; axis2_bool_t require_server_entropy; axis2_bool_t must_support_issued_token; int ref; }; AXIS2_EXTERN rp_trust10_t *AXIS2_CALL rp_trust10_create( const axutil_env_t * env) { rp_trust10_t *trust10 = NULL; AXIS2_ENV_CHECK(env, NULL); trust10 = (rp_trust10_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_trust10_t)); if (trust10 == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } trust10->must_support_client_challenge = AXIS2_FALSE; trust10->must_support_server_challenge = AXIS2_FALSE; trust10->require_client_entropy = AXIS2_FALSE; trust10->require_server_entropy = AXIS2_FALSE; trust10->must_support_issued_token = AXIS2_FALSE; trust10->ref = 0; return trust10; } AXIS2_EXTERN void AXIS2_CALL rp_trust10_free( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (trust10) { if (--(trust10->ref) > 0) { return; } AXIS2_FREE(env->allocator, trust10); trust10 = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_must_support_client_challenge( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return trust10->must_support_client_challenge; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_must_support_client_challenge( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t must_support_client_challenge) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_client_challenge, AXIS2_FAILURE); trust10->must_support_client_challenge = must_support_client_challenge; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_must_support_server_challenge( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return trust10->must_support_server_challenge; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_must_support_server_challenge( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t must_support_server_challenge) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_server_challenge, AXIS2_FAILURE); trust10->must_support_server_challenge = must_support_server_challenge; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_require_client_entropy( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return trust10->require_client_entropy; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_require_client_entropy( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t require_client_entropy) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, require_client_entropy, AXIS2_FAILURE); trust10->require_client_entropy = require_client_entropy; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_require_server_entropy( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return trust10->require_server_entropy; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_require_server_entropy( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t require_server_entropy) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, require_server_entropy, AXIS2_FAILURE); trust10->require_server_entropy = require_server_entropy; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_must_support_issued_token( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return trust10->must_support_issued_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_must_support_issued_token( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t must_support_issued_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, must_support_issued_token, AXIS2_FAILURE); trust10->must_support_issued_token = must_support_issued_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_increment_ref( rp_trust10_t * trust10, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); trust10->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/saml_token.c0000644000175000017500000001036011166304512024270 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_saml_token { axis2_char_t *inclusion; axis2_bool_t derivedkeys; axis2_bool_t require_key_identifier_reference; axis2_char_t *token_version_and_type; int ref; }; AXIS2_EXTERN rp_saml_token_t * AXIS2_CALL rp_saml_token_create( const axutil_env_t *env) { rp_saml_token_t * saml_token; saml_token = (rp_saml_token_t*)AXIS2_MALLOC(env->allocator, sizeof(rp_saml_token_t)); if (saml_token == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } saml_token->inclusion = NULL; saml_token->derivedkeys = AXIS2_FALSE; saml_token->require_key_identifier_reference = AXIS2_FALSE; saml_token->token_version_and_type = NULL; saml_token->ref = 0; return saml_token; } AXIS2_EXTERN void AXIS2_CALL rp_saml_token_free( rp_saml_token_t *saml_token, const axutil_env_t *env) { if(saml_token) { if(--(saml_token->ref) > 0) { return; } AXIS2_FREE(env->allocator, saml_token); saml_token = NULL; } return; } AXIS2_EXTERN axis2_char_t * AXIS2_CALL rp_saml_token_get_inclusion( rp_saml_token_t *saml_token, const axutil_env_t *env) { return saml_token->inclusion; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_inclusion( rp_saml_token_t *saml_token, const axutil_env_t *env, axis2_char_t * inclusion) { AXIS2_PARAM_CHECK(env->error, inclusion, AXIS2_FAILURE); saml_token->inclusion = inclusion; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_saml_token_get_derivedkeys( rp_saml_token_t *saml_token, const axutil_env_t *env) { return saml_token->derivedkeys; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_derivedkeys( rp_saml_token_t *saml_token, const axutil_env_t *env, axis2_bool_t derivedkeys) { AXIS2_PARAM_CHECK(env->error, derivedkeys, AXIS2_FAILURE); saml_token->derivedkeys = derivedkeys; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_saml_token_get_require_key_identifier_reference( rp_saml_token_t * saml_token, const axutil_env_t * env) { return saml_token->require_key_identifier_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_require_key_identifier_reference( rp_saml_token_t * saml_token, const axutil_env_t * env, axis2_bool_t require_key_identifier_reference) { AXIS2_PARAM_CHECK(env->error, require_key_identifier_reference, AXIS2_FAILURE); saml_token->require_key_identifier_reference = require_key_identifier_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_saml_token_get_token_version_and_type( rp_saml_token_t * saml_token, const axutil_env_t * env) { return saml_token->token_version_and_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_token_version_and_type( rp_saml_token_t * saml_token, const axutil_env_t * env, axis2_char_t * token_version_and_type) { AXIS2_PARAM_CHECK(env->error, token_version_and_type, AXIS2_FAILURE); saml_token->token_version_and_type = token_version_and_type; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_increment_ref( rp_saml_token_t * saml_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); saml_token->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/asymmetric_binding.c0000644000175000017500000001233311166304512026005 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_asymmetric_binding_t { rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons; rp_property_t *initiator_token; rp_property_t *recipient_token; int ref; }; AXIS2_EXTERN rp_asymmetric_binding_t *AXIS2_CALL rp_asymmetric_binding_create( const axutil_env_t *env) { rp_asymmetric_binding_t *asymmetric_binding = NULL; AXIS2_ENV_CHECK(env, NULL); asymmetric_binding = (rp_asymmetric_binding_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_asymmetric_binding_t)); if (asymmetric_binding == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } asymmetric_binding->symmetric_asymmetric_binding_commons = NULL; asymmetric_binding->initiator_token = NULL; asymmetric_binding->recipient_token = NULL; asymmetric_binding->ref = 0; return asymmetric_binding; } AXIS2_EXTERN void AXIS2_CALL rp_asymmetric_binding_free( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env) { if (asymmetric_binding) { if (--(asymmetric_binding->ref) > 0) { return; } if (asymmetric_binding->symmetric_asymmetric_binding_commons) { rp_symmetric_asymmetric_binding_commons_free(asymmetric_binding-> symmetric_asymmetric_binding_commons, env); asymmetric_binding->symmetric_asymmetric_binding_commons = NULL; } if (asymmetric_binding->initiator_token) { rp_property_free(asymmetric_binding->initiator_token, env); asymmetric_binding->initiator_token = NULL; } if (asymmetric_binding->recipient_token) { rp_property_free(asymmetric_binding->recipient_token, env); asymmetric_binding->recipient_token = NULL; } AXIS2_FREE(env->allocator, asymmetric_binding); } return; } /* Implementations */ AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL rp_asymmetric_binding_get_symmetric_asymmetric_binding_commons( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env) { return asymmetric_binding->symmetric_asymmetric_binding_commons; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_set_symmetric_asymmetric_binding_commons( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env, rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons) { AXIS2_PARAM_CHECK(env->error, symmetric_asymmetric_binding_commons, AXIS2_FAILURE); asymmetric_binding->symmetric_asymmetric_binding_commons = symmetric_asymmetric_binding_commons; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_asymmetric_binding_get_initiator_token( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env) { return asymmetric_binding->initiator_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_set_initiator_token( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env, rp_property_t *initiator_token) { AXIS2_PARAM_CHECK(env->error, initiator_token, AXIS2_FAILURE); rp_property_increment_ref(initiator_token, env); asymmetric_binding->initiator_token = initiator_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_set_recipient_token( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env, rp_property_t *recipient_token) { AXIS2_PARAM_CHECK(env->error, recipient_token, AXIS2_FAILURE); rp_property_increment_ref(recipient_token, env); asymmetric_binding->recipient_token = recipient_token; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_asymmetric_binding_get_recipient_token( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env) { return asymmetric_binding->recipient_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_increment_ref( rp_asymmetric_binding_t *asymmetric_binding, const axutil_env_t *env) { asymmetric_binding->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/algorithmsuite.c0000644000175000017500000005300611166304512025200 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_algorithmsuite_t { axis2_char_t *algosuite_string; axis2_char_t *symmetric_signature; axis2_char_t *asymmetric_signature; axis2_char_t *computed_key; int max_symmetric_keylength; int min_asymmetric_keylength; int max_asymmetric_keylength; axis2_char_t *digest; axis2_char_t *encryption; axis2_char_t *symmetrickeywrap; axis2_char_t *asymmetrickeywrap; axis2_char_t *encryption_key_derivation; axis2_char_t *signature_key_derivation; int encryption_key_derivation_keylength; int signature_key_derivation_keylength; int min_symmetric_keylength; axis2_char_t *c14n; axis2_char_t *soap_normalization; axis2_char_t *str_transformation; axis2_char_t *xpath; int ref; }; AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL rp_algorithmsuite_create( const axutil_env_t *env) { rp_algorithmsuite_t *algorithmsuite = NULL; AXIS2_ENV_CHECK(env, NULL); algorithmsuite = (rp_algorithmsuite_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_algorithmsuite_t)); if (algorithmsuite == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } algorithmsuite->algosuite_string = NULL; algorithmsuite->symmetric_signature = RP_HMAC_SHA1; algorithmsuite->asymmetric_signature = RP_RSA_SHA1; algorithmsuite->computed_key = RP_P_SHA1; algorithmsuite->max_symmetric_keylength = 256; algorithmsuite->min_asymmetric_keylength = 1024; algorithmsuite->max_asymmetric_keylength = 4096; algorithmsuite->digest = NULL; algorithmsuite->encryption = NULL; algorithmsuite->symmetrickeywrap = NULL; algorithmsuite->asymmetrickeywrap = NULL; algorithmsuite->encryption_key_derivation = NULL; algorithmsuite->signature_key_derivation = NULL; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; algorithmsuite->min_symmetric_keylength = 0;; algorithmsuite->c14n = RP_EX_C14N; algorithmsuite->soap_normalization = NULL; algorithmsuite->str_transformation = NULL; algorithmsuite->xpath = NULL; algorithmsuite->ref = 0; return algorithmsuite; } AXIS2_EXTERN void AXIS2_CALL rp_algorithmsuite_free( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { if (algorithmsuite) { if (--(algorithmsuite->ref) > 0) { return; } AXIS2_FREE(env->allocator, algorithmsuite); algorithmsuite = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_algosuite_string( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { if (!algorithmsuite) return NULL; else return algorithmsuite->algosuite_string; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_algosuite( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *algosuite_string) { AXIS2_PARAM_CHECK(env->error, algosuite_string, AXIS2_FAILURE); algorithmsuite->algosuite_string = algosuite_string; if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_AES256; algorithmsuite->symmetrickeywrap = RP_KW_AES256; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 256; algorithmsuite->encryption_key_derivation_keylength = 256; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_AES192; algorithmsuite->symmetrickeywrap = RP_KW_AES192; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_AES128; algorithmsuite->symmetrickeywrap = RP_KW_AES128; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128; algorithmsuite->signature_key_derivation = RP_P_SHA1_L128; algorithmsuite->min_symmetric_keylength = 128; algorithmsuite->encryption_key_derivation_keylength = 128; algorithmsuite->signature_key_derivation_keylength = 128; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_TRIPLE_DES; algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256_RSA15) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_AES256; algorithmsuite->symmetrickeywrap = RP_KW_AES256; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 256; algorithmsuite->encryption_key_derivation_keylength = 256; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192_RSA15) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_AES192; algorithmsuite->symmetrickeywrap = RP_KW_AES192; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128_RSA15) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_AES128; algorithmsuite->symmetrickeywrap = RP_KW_AES128; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128; algorithmsuite->signature_key_derivation = RP_P_SHA1_L128; algorithmsuite->min_symmetric_keylength = 128; algorithmsuite->encryption_key_derivation_keylength = 128; algorithmsuite->signature_key_derivation_keylength = 128; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES_RSA15) == 0) { algorithmsuite->digest = RP_SHA1; algorithmsuite->encryption = RP_TRIPLE_DES; algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC256_SHA256) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_AES256; algorithmsuite->symmetrickeywrap = RP_KW_AES256; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 256; algorithmsuite->encryption_key_derivation_keylength = 256; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC192_SHA256) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_AES192; algorithmsuite->symmetrickeywrap = RP_KW_AES192; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_BASIC128_SHA256) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_AES128; algorithmsuite->symmetrickeywrap = RP_KW_AES128; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128; algorithmsuite->signature_key_derivation = RP_P_SHA1_L128; algorithmsuite->min_symmetric_keylength = 128; algorithmsuite->encryption_key_derivation_keylength = 128; algorithmsuite->signature_key_derivation_keylength = 128; return AXIS2_SUCCESS; } else if (axutil_strcmp(algosuite_string, RP_ALGO_SUITE_TRIPLE_DES_SHA256) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_TRIPLE_DES; algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES; algorithmsuite->asymmetrickeywrap = RP_KW_RSA_OAEP; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp (algosuite_string, RP_ALGO_SUITE_BASIC256_SHA256_RSA15) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_AES256; algorithmsuite->symmetrickeywrap = RP_KW_AES256; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L256; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 256; algorithmsuite->encryption_key_derivation_keylength = 256; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp (algosuite_string, RP_ALGO_SUITE_BASIC192_SHA256_RSA15) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_AES192; algorithmsuite->symmetrickeywrap = RP_KW_AES192; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else if (axutil_strcmp (algosuite_string, RP_ALGO_SUITE_BASIC128_SHA256_RSA15) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_AES128; algorithmsuite->symmetrickeywrap = RP_KW_AES128; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L128; algorithmsuite->signature_key_derivation = RP_P_SHA1_L128; algorithmsuite->min_symmetric_keylength = 128; algorithmsuite->encryption_key_derivation_keylength = 128; algorithmsuite->signature_key_derivation_keylength = 128; return AXIS2_SUCCESS; } else if (axutil_strcmp (algosuite_string, RP_ALGO_SUITE_TRIPLE_DES_SHA256_RSA15) == 0) { algorithmsuite->digest = RP_SHA256; algorithmsuite->encryption = RP_TRIPLE_DES; algorithmsuite->symmetrickeywrap = RP_KW_TRIPLE_DES; algorithmsuite->asymmetrickeywrap = RP_KW_RSA15; algorithmsuite->encryption_key_derivation = RP_P_SHA1_L192; algorithmsuite->signature_key_derivation = RP_P_SHA1_L192; algorithmsuite->min_symmetric_keylength = 192; algorithmsuite->encryption_key_derivation_keylength = 192; algorithmsuite->signature_key_derivation_keylength = 192; return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_symmetric_signature( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->symmetric_signature; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_symmetric_signature( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *symmetric_signature) { AXIS2_PARAM_CHECK(env->error, symmetric_signature, AXIS2_FAILURE); algorithmsuite->symmetric_signature = symmetric_signature; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_asymmetric_signature( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->asymmetric_signature; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_asymmetric_signature( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *asymmetric_signature) { AXIS2_PARAM_CHECK(env->error, asymmetric_signature, AXIS2_FAILURE); algorithmsuite->asymmetric_signature = asymmetric_signature; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_computed_key( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->computed_key; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_computed_key( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *computed_key) { AXIS2_PARAM_CHECK(env->error, computed_key, AXIS2_FAILURE); algorithmsuite->computed_key = computed_key; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_digest( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->digest; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_encryption( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->encryption; } AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_max_symmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->max_symmetric_keylength; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_max_symmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, int max_symmetric_keylength) { algorithmsuite->max_symmetric_keylength = max_symmetric_keylength; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_min_symmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->min_symmetric_keylength; } AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_encryption_derivation_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->encryption_key_derivation_keylength; } AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_signature_derivation_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->signature_key_derivation_keylength; } AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_max_asymmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->max_asymmetric_keylength; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_max_asymmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, int max_asymmetric_keylength) { algorithmsuite->max_asymmetric_keylength = max_asymmetric_keylength; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_min_asymmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->min_asymmetric_keylength; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_min_asymmetric_keylength( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, int min_asymmetric_keylength) { algorithmsuite->min_asymmetric_keylength = min_asymmetric_keylength; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_symmetrickeywrap( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->symmetrickeywrap; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_asymmetrickeywrap( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->asymmetrickeywrap; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_signature_key_derivation( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->signature_key_derivation; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_encryption_key_derivation( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->encryption_key_derivation; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_soap_normalization( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->soap_normalization; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_soap_normalization( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *soap_normalization) { AXIS2_PARAM_CHECK(env->error, soap_normalization, AXIS2_FAILURE); algorithmsuite->soap_normalization = soap_normalization; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_str_transformation( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->str_transformation; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_str_transformation( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *str_transformation) { AXIS2_PARAM_CHECK(env->error, str_transformation, AXIS2_FAILURE); algorithmsuite->str_transformation = str_transformation; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_c14n( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->c14n; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_c14n( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *c14n) { AXIS2_PARAM_CHECK(env->error, c14n, AXIS2_FAILURE); algorithmsuite->c14n = c14n; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_xpath( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { return algorithmsuite->xpath; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_xpath( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env, axis2_char_t *xpath) { AXIS2_PARAM_CHECK(env->error, xpath, AXIS2_FAILURE); algorithmsuite->xpath = xpath; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_increment_ref( rp_algorithmsuite_t *algorithmsuite, const axutil_env_t *env) { algorithmsuite->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/https_token.c0000644000175000017500000000773111166304512024506 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_https_token_t { axis2_char_t *inclusion; axis2_bool_t derivedkeys; axis2_bool_t require_client_certificate; int ref; }; AXIS2_EXTERN rp_https_token_t *AXIS2_CALL rp_https_token_create( const axutil_env_t * env) { rp_https_token_t *https_token = NULL; AXIS2_ENV_CHECK(env, NULL); https_token = (rp_https_token_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_https_token_t)); if (https_token == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } https_token->inclusion = RP_INCLUDE_ALWAYS; https_token->derivedkeys = AXIS2_FALSE; https_token->require_client_certificate = AXIS2_FALSE; https_token->ref = 0; return https_token; } AXIS2_EXTERN void AXIS2_CALL rp_https_token_free( rp_https_token_t * https_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (https_token) { if (--(https_token->ref) > 0) { return; } AXIS2_FREE(env->allocator, https_token); https_token = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_https_token_get_inclusion( rp_https_token_t * https_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return https_token->inclusion; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_set_inclusion( rp_https_token_t * https_token, const axutil_env_t * env, axis2_char_t * inclusion) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, inclusion, AXIS2_FAILURE); https_token->inclusion = inclusion; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_https_token_get_derivedkeys( rp_https_token_t * https_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return https_token->derivedkeys; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_set_derivedkeys( rp_https_token_t * https_token, const axutil_env_t * env, axis2_bool_t derivedkeys) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, derivedkeys, AXIS2_FAILURE); https_token->derivedkeys = derivedkeys; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_https_token_get_require_client_certificate( rp_https_token_t * https_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return https_token->require_client_certificate; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_set_require_client_certificate( rp_https_token_t * https_token, const axutil_env_t * env, axis2_bool_t require_client_certificate) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, require_client_certificate, AXIS2_FAILURE) https_token->require_client_certificate = require_client_certificate; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_increment_ref( rp_https_token_t * https_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); https_token->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/signed_encrypted_parts.c0000644000175000017500000001271211166304512026676 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_signed_encrypted_parts_t { axis2_bool_t body; axis2_bool_t signedparts; axis2_bool_t attachments; axutil_array_list_t *headers; int ref; }; AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_signed_encrypted_parts_create( const axutil_env_t * env) { rp_signed_encrypted_parts_t *signed_encrypted_parts = NULL; signed_encrypted_parts = (rp_signed_encrypted_parts_t *) AXIS2_MALLOC( env->allocator, sizeof(rp_signed_encrypted_parts_t)); if(!signed_encrypted_parts) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot create signed_encrypted_parts. Insuficient memory."); return NULL; } signed_encrypted_parts->headers = axutil_array_list_create(env, 0); if (!signed_encrypted_parts->headers) { rp_signed_encrypted_parts_free(signed_encrypted_parts, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot create signed_encrypted_parts. Headers array list creation failed."); return NULL; } signed_encrypted_parts->body = AXIS2_FALSE; signed_encrypted_parts->ref = 0; signed_encrypted_parts->signedparts = AXIS2_FALSE; signed_encrypted_parts->attachments = AXIS2_FALSE; return signed_encrypted_parts; } AXIS2_EXTERN void AXIS2_CALL rp_signed_encrypted_parts_free( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env) { if (signed_encrypted_parts) { if (--(signed_encrypted_parts->ref) > 0) { return; } if (signed_encrypted_parts->headers) { int i = 0; for (i = 0; i < axutil_array_list_size(signed_encrypted_parts->headers, env); i++) { rp_header_t *header = NULL; header = (rp_header_t *)axutil_array_list_get( signed_encrypted_parts->headers, env, i); if (header) { rp_header_free(header, env); } } axutil_array_list_free(signed_encrypted_parts->headers, env); signed_encrypted_parts->headers = NULL; } AXIS2_FREE(env->allocator, signed_encrypted_parts); signed_encrypted_parts = NULL; } } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_parts_get_body( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env) { return signed_encrypted_parts->body; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_set_body( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, axis2_bool_t body) { AXIS2_PARAM_CHECK(env->error, body, AXIS2_FAILURE); signed_encrypted_parts->body = body; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_parts_get_signedparts( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env) { return signed_encrypted_parts->signedparts; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_set_signedparts( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, axis2_bool_t signedparts) { signed_encrypted_parts->signedparts = signedparts; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_signed_encrypted_parts_get_headers( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env) { return signed_encrypted_parts->headers; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_add_header( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, rp_header_t * header) { AXIS2_PARAM_CHECK(env->error, header, AXIS2_FAILURE); axutil_array_list_add(signed_encrypted_parts->headers, env, header); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_increment_ref( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env) { signed_encrypted_parts->ref++; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_parts_get_attachments( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env) { return signed_encrypted_parts->attachments; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_set_attachments( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, axis2_bool_t attachments) { signed_encrypted_parts->attachments = attachments; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/element.c0000644000175000017500000000517511166304512023575 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_element_t { axis2_char_t *name; axis2_char_t *nspace; }; AXIS2_EXTERN rp_element_t *AXIS2_CALL rp_element_create( const axutil_env_t * env) { rp_element_t *element = NULL; AXIS2_ENV_CHECK(env, NULL); element = (rp_element_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_element_t)); if (element == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } element->name = NULL; element->nspace = NULL; return element; } AXIS2_EXTERN void AXIS2_CALL rp_element_free( rp_element_t * element, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (element) { AXIS2_FREE(env->allocator, element); element = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_element_get_name( rp_element_t * element, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return element->name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_element_set_name( rp_element_t * element, const axutil_env_t * env, axis2_char_t * name) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); element->name = name; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_element_get_namespace( rp_element_t * element, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return element->nspace; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_element_set_namespace( rp_element_t * element, const axutil_env_t * env, axis2_char_t * nspace) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, nspace, AXIS2_FAILURE); element->nspace = nspace; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/signed_encrypted_elements.c0000644000175000017500000001351711166304512027365 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_signed_encrypted_elements_t { axis2_bool_t signedelements; axutil_array_list_t *xpath_expressions; axis2_char_t *xpath_version; int ref; }; AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_signed_encrypted_elements_create( const axutil_env_t * env) { rp_signed_encrypted_elements_t *signed_encrypted_elements = NULL; AXIS2_ENV_CHECK(env, NULL); signed_encrypted_elements = (rp_signed_encrypted_elements_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_signed_encrypted_elements_t)); if (signed_encrypted_elements == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } signed_encrypted_elements->xpath_expressions = NULL; signed_encrypted_elements->xpath_expressions = axutil_array_list_create(env, 0); if (!(signed_encrypted_elements->xpath_expressions)) { rp_signed_encrypted_elements_free(signed_encrypted_elements, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } signed_encrypted_elements->xpath_version = NULL; signed_encrypted_elements->ref = 0; return signed_encrypted_elements; } AXIS2_EXTERN void AXIS2_CALL rp_signed_encrypted_elements_free( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (signed_encrypted_elements) { if (--(signed_encrypted_elements->ref) > 0) { return; } if (signed_encrypted_elements->xpath_expressions) { int i = 0; for (i = 0; i < axutil_array_list_size(signed_encrypted_elements-> xpath_expressions, env); i++) { axis2_char_t *expression = NULL; expression = (axis2_char_t *) axutil_array_list_get(signed_encrypted_elements-> xpath_expressions, env, i); if (expression) AXIS2_FREE(env->allocator, expression); expression = NULL; } axutil_array_list_free(signed_encrypted_elements->xpath_expressions, env); signed_encrypted_elements->xpath_expressions = NULL; } AXIS2_FREE(env->allocator, signed_encrypted_elements); signed_encrypted_elements = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_elements_get_signedelements( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return signed_encrypted_elements->signedelements; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_set_signedelements( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env, axis2_bool_t signedelements) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signedelements, AXIS2_FAILURE); signed_encrypted_elements->signedelements = signedelements; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_signed_encrypted_elements_get_xpath_expressions( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return signed_encrypted_elements->xpath_expressions; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_add_expression( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env, axis2_char_t * expression) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, expression, AXIS2_FAILURE); axutil_array_list_add(signed_encrypted_elements->xpath_expressions, env, expression); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_signed_encrypted_elements_get_xpath_version( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return signed_encrypted_elements->xpath_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_set_xpath_version( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env, axis2_char_t * xpath_version) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, xpath_version, AXIS2_FAILURE); signed_encrypted_elements->xpath_version = xpath_version; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_increment_ref( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); signed_encrypted_elements->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/Makefile.am0000644000175000017500000000141111166304512024021 0ustar00manjulamanjula00000000000000TESTS = noinst_LTLIBRARIES = librp_model.la librp_model_la_SOURCES = algorithmsuite.c asymmetric_binding.c \ binding_commons.c header.c element.c https_token.c layout.c \ property.c rampart_config.c secpolicy.c security_context_token.c \ signed_encrypted_elements.c signed_encrypted_parts.c signed_encrypted_items.c \ supporting_tokens.c symmetric_asymmetric_binding_commons.c \ symmetric_binding.c transport_binding.c ut.c wss10.c wss11.c x509_token.c \ trust10.c issued_token.c saml_token.c token.c librp_model_la_LIBADD = ../../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../include \ -I ../../../../util/include \ -I ../../../../axiom/include \ -I ../../../../include axis2c-src-1.6.0/neethi/src/secpolicy/model/Makefile.in0000644000175000017500000004414211172017200024032 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = src/secpolicy/model DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) librp_model_la_DEPENDENCIES = ../../../../util/src/libaxutil.la am_librp_model_la_OBJECTS = algorithmsuite.lo asymmetric_binding.lo \ binding_commons.lo header.lo element.lo https_token.lo \ layout.lo property.lo rampart_config.lo secpolicy.lo \ security_context_token.lo signed_encrypted_elements.lo \ signed_encrypted_parts.lo signed_encrypted_items.lo \ supporting_tokens.lo symmetric_asymmetric_binding_commons.lo \ symmetric_binding.lo transport_binding.lo ut.lo wss10.lo \ wss11.lo x509_token.lo trust10.lo issued_token.lo \ saml_token.lo token.lo librp_model_la_OBJECTS = $(am_librp_model_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(librp_model_la_SOURCES) DIST_SOURCES = $(librp_model_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = librp_model.la librp_model_la_SOURCES = algorithmsuite.c asymmetric_binding.c \ binding_commons.c header.c element.c https_token.c layout.c \ property.c rampart_config.c secpolicy.c security_context_token.c \ signed_encrypted_elements.c signed_encrypted_parts.c signed_encrypted_items.c \ supporting_tokens.c symmetric_asymmetric_binding_commons.c \ symmetric_binding.c transport_binding.c ut.c wss10.c wss11.c x509_token.c \ trust10.c issued_token.c saml_token.c token.c librp_model_la_LIBADD = ../../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../include \ -I ../../../../util/include \ -I ../../../../axiom/include \ -I ../../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/secpolicy/model/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/secpolicy/model/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done librp_model.la: $(librp_model_la_OBJECTS) $(librp_model_la_DEPENDENCIES) $(LINK) $(librp_model_la_OBJECTS) $(librp_model_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/algorithmsuite.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asymmetric_binding.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/binding_commons.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/element.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/header.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/https_token.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/issued_token.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layout.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/property.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rampart_config.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saml_token.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secpolicy.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/security_context_token.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signed_encrypted_elements.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signed_encrypted_items.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signed_encrypted_parts.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/supporting_tokens.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symmetric_asymmetric_binding_commons.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symmetric_binding.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/token.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transport_binding.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trust10.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ut.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wss10.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wss11.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509_token.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/src/secpolicy/model/security_context_token.c0000644000175000017500000001724011166304512026753 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_security_context_token_t { rp_token_t *token; axis2_bool_t require_external_uri_ref; axis2_bool_t sc10_security_context_token; neethi_policy_t *bootstrap_policy; axis2_bool_t is_secure_conversation_token; int ref; }; AXIS2_EXTERN rp_security_context_token_t *AXIS2_CALL rp_security_context_token_create( const axutil_env_t * env) { rp_security_context_token_t *security_context_token = NULL; security_context_token = (rp_security_context_token_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_security_context_token_t)); if(!security_context_token) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Security context token assertion creation failed. Insufficient memory"); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } security_context_token->ref = 0; security_context_token->require_external_uri_ref = AXIS2_FALSE; security_context_token->sc10_security_context_token = AXIS2_FALSE; security_context_token->bootstrap_policy = NULL; security_context_token->is_secure_conversation_token = AXIS2_FALSE; security_context_token->token = rp_token_create(env); if(!security_context_token->token) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Security context token assertion creation failed."); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); rp_security_context_token_free(security_context_token, env); return NULL; } return security_context_token; } AXIS2_EXTERN void AXIS2_CALL rp_security_context_token_free( rp_security_context_token_t * security_context_token, const axutil_env_t * env) { if (security_context_token) { if (--(security_context_token->ref) > 0) { return; } if(security_context_token->bootstrap_policy) { neethi_policy_free(security_context_token->bootstrap_policy, env); } rp_token_free(security_context_token->token, env); AXIS2_FREE(env->allocator, security_context_token); security_context_token = NULL; } } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_security_context_token_get_inclusion( rp_security_context_token_t * security_context_token, const axutil_env_t * env) { return rp_token_get_inclusion(security_context_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_inclusion( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_char_t * inclusion) { return rp_token_set_inclusion(security_context_token->token, env, inclusion); } AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_security_context_token_get_derivedkey( rp_security_context_token_t * security_context_token, const axutil_env_t * env) { return rp_token_get_derivedkey_type(security_context_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_derivedkey( rp_security_context_token_t * security_context_token, const axutil_env_t * env, derive_key_type_t derivedkey) { return rp_token_set_derivedkey_type(security_context_token->token, env, derivedkey); } AXIS2_EXTERN derive_key_version_t AXIS2_CALL rp_security_context_token_get_derivedkey_version( rp_security_context_token_t *security_context_token, const axutil_env_t *env) { return rp_token_get_derive_key_version(security_context_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_derivedkey_version( rp_security_context_token_t *security_context_token, const axutil_env_t *env, derive_key_version_t version) { return rp_token_set_derive_key_version(security_context_token->token, env, version); } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_security_context_token_get_require_external_uri_ref( rp_security_context_token_t * security_context_token, const axutil_env_t * env) { return security_context_token->require_external_uri_ref; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_require_external_uri_ref( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_bool_t require_external_uri_ref) { security_context_token->require_external_uri_ref = require_external_uri_ref; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_security_context_token_get_sc10_security_context_token( rp_security_context_token_t * security_context_token, const axutil_env_t * env) { return security_context_token->sc10_security_context_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_sc10_security_context_token( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_bool_t sc10_security_context_token) { security_context_token->sc10_security_context_token = sc10_security_context_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_security_context_token_get_issuer( rp_security_context_token_t *security_context_token, const axutil_env_t *env) { return rp_token_get_issuer(security_context_token->token, env); } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_issuer( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_char_t *issuer) { return rp_token_set_issuer(security_context_token->token, env, issuer); } AXIS2_EXTERN neethi_policy_t *AXIS2_CALL rp_security_context_token_get_bootstrap_policy( rp_security_context_token_t *security_context_token, const axutil_env_t *env) { return security_context_token->bootstrap_policy; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_bootstrap_policy( rp_security_context_token_t * security_context_token, const axutil_env_t * env, neethi_policy_t *bootstrap_policy) { security_context_token->bootstrap_policy = bootstrap_policy; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_security_context_token_get_is_secure_conversation_token( rp_security_context_token_t *security_context_token, const axutil_env_t *env) { return security_context_token->is_secure_conversation_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_is_secure_conversation_token( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_bool_t is_secure_conversation_token) { security_context_token->is_secure_conversation_token = is_secure_conversation_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_increment_ref( rp_security_context_token_t * security_context_token, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); security_context_token->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/supporting_tokens.c0000644000175000017500000002240511166304512025734 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_supporting_tokens_t { rp_algorithmsuite_t *algorithmsuite; axutil_array_list_t *tokens; rp_signed_encrypted_elements_t *signed_elements; rp_signed_encrypted_parts_t *signed_parts; rp_signed_encrypted_elements_t *encrypted_elements; rp_signed_encrypted_parts_t *encrypted_parts; int type; int ref; }; AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_supporting_tokens_create( const axutil_env_t * env) { rp_supporting_tokens_t *supporting_tokens = NULL; AXIS2_ENV_CHECK(env, NULL); supporting_tokens = (rp_supporting_tokens_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_supporting_tokens_t)); if (supporting_tokens == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } supporting_tokens->tokens = NULL; supporting_tokens->tokens = axutil_array_list_create(env, 0); if (!(supporting_tokens->tokens)) { rp_supporting_tokens_free(supporting_tokens, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } supporting_tokens->algorithmsuite = NULL; supporting_tokens->signed_parts = NULL; supporting_tokens->signed_elements = NULL; supporting_tokens->encrypted_parts = NULL; supporting_tokens->encrypted_elements = NULL; supporting_tokens->type = 0; supporting_tokens->ref = 0; return supporting_tokens; } AXIS2_EXTERN void AXIS2_CALL rp_supporting_tokens_free( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (supporting_tokens) { if (--(supporting_tokens->ref) > 0) { return; } if (supporting_tokens->tokens) { int i = 0; for (i = 0; i < axutil_array_list_size(supporting_tokens->tokens, env); i++) { rp_property_t *token = NULL; token = (rp_property_t *) axutil_array_list_get(supporting_tokens->tokens, env, i); if (token) rp_property_free(token, env); token = NULL; } axutil_array_list_free(supporting_tokens->tokens, env); supporting_tokens->tokens = NULL; } if (supporting_tokens->algorithmsuite) { rp_algorithmsuite_free(supporting_tokens->algorithmsuite, env); supporting_tokens->algorithmsuite = NULL; } if (supporting_tokens->signed_parts) { rp_signed_encrypted_parts_free(supporting_tokens->signed_parts, env); supporting_tokens->signed_parts = NULL; } if (supporting_tokens->signed_elements) { rp_signed_encrypted_elements_free(supporting_tokens-> signed_elements, env); supporting_tokens->signed_elements = NULL; } if (supporting_tokens->encrypted_parts) { rp_signed_encrypted_parts_free(supporting_tokens->encrypted_parts, env); supporting_tokens->encrypted_parts = NULL; } if (supporting_tokens->encrypted_elements) { rp_signed_encrypted_elements_free(supporting_tokens-> encrypted_elements, env); supporting_tokens->encrypted_elements = NULL; } AXIS2_FREE(env->allocator, supporting_tokens); supporting_tokens = NULL; } return; } /* Implementations */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_supporting_tokens_get_tokens( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return supporting_tokens->tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_add_token( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_property_t * token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, token, AXIS2_FAILURE); rp_property_increment_ref(token, env); axutil_array_list_add(supporting_tokens->tokens, env, token); return AXIS2_SUCCESS; } AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL rp_supporting_tokens_get_algorithmsuite( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return supporting_tokens->algorithmsuite; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_algorithmsuite( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_algorithmsuite_t * algorithmsuite) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, algorithmsuite, AXIS2_FAILURE); rp_algorithmsuite_increment_ref(algorithmsuite, env); supporting_tokens->algorithmsuite = algorithmsuite; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_supporting_tokens_get_signed_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return supporting_tokens->signed_parts; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_signed_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_parts_t * signed_parts) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_parts, AXIS2_FAILURE); supporting_tokens->signed_parts = signed_parts; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_supporting_tokens_get_signed_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return supporting_tokens->signed_elements; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_signed_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_elements_t * signed_elements) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_elements, AXIS2_FAILURE); supporting_tokens->signed_elements = signed_elements; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_supporting_tokens_get_encrypted_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return supporting_tokens->encrypted_parts; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_encrypted_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_parts_t * encrypted_parts) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encrypted_parts, AXIS2_FAILURE); supporting_tokens->encrypted_parts = encrypted_parts; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_supporting_tokens_get_encrypted_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return supporting_tokens->encrypted_elements; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_encrypted_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_elements_t * encrypted_elements) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encrypted_elements, AXIS2_FAILURE); supporting_tokens->encrypted_elements = encrypted_elements; return AXIS2_SUCCESS; } AXIS2_EXTERN int AXIS2_CALL rp_supporting_tokens_get_type( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return supporting_tokens->type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_type( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, int type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); supporting_tokens->type = type; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_increment_ref( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); supporting_tokens->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/signed_encrypted_items.c0000644000175000017500000001042011166304512026660 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_signed_encrypted_items_t { axis2_bool_t signeditems; axutil_array_list_t *elements; }; AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL rp_signed_encrypted_items_create( const axutil_env_t * env) { rp_signed_encrypted_items_t *signed_encrypted_items = NULL; AXIS2_ENV_CHECK(env, NULL); signed_encrypted_items = (rp_signed_encrypted_items_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_signed_encrypted_items_t)); if (signed_encrypted_items == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } signed_encrypted_items->elements = NULL; signed_encrypted_items->elements = axutil_array_list_create(env, 0); if (!(signed_encrypted_items->elements)) { rp_signed_encrypted_items_free(signed_encrypted_items, env); AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } return signed_encrypted_items; } AXIS2_EXTERN void AXIS2_CALL rp_signed_encrypted_items_free( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (signed_encrypted_items) { if (signed_encrypted_items->elements) { int i = 0; for (i = 0; i < axutil_array_list_size(signed_encrypted_items->elements, env); i++) { rp_element_t *element = NULL; element = (rp_element_t *) axutil_array_list_get(signed_encrypted_items->elements, env, i); if (element) rp_element_free(element, env); element = NULL; } axutil_array_list_free(signed_encrypted_items->elements, env); signed_encrypted_items->elements = NULL; } AXIS2_FREE(env->allocator, signed_encrypted_items); signed_encrypted_items = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_items_get_signeditems( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return signed_encrypted_items->signeditems; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_items_set_signeditems( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env, axis2_bool_t signeditems) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signeditems, AXIS2_FAILURE); signed_encrypted_items->signeditems = signeditems; return AXIS2_SUCCESS; } AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_signed_encrypted_items_get_elements( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return signed_encrypted_items->elements; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_items_add_element( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env, rp_element_t * element) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, element, AXIS2_FAILURE); axutil_array_list_add(signed_encrypted_items->elements, env, element); return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/token.c0000644000175000017500000001063611166304512023262 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_token_t { axis2_char_t *issuer; axis2_char_t *inclusion; axiom_node_t *claim; axis2_bool_t is_issuer_name; /* shows whether 'issuer' points to issuer name or end point */ derive_key_type_t derive_key; derive_key_version_t derive_key_version; int ref; }; AXIS2_EXTERN rp_token_t *AXIS2_CALL rp_token_create( const axutil_env_t * env) { rp_token_t *token = NULL; token = (rp_token_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_token_t)); if (!token) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Token creation failed. Insufficient memory"); return NULL; } token->issuer = NULL; token->is_issuer_name = AXIS2_FALSE; token->claim = NULL; token->derive_key = DERIVEKEY_NONE; token->derive_key_version = DERIVEKEY_VERSION_SC13; token->inclusion = RP_INCLUDE_ALWAYS_SP12; token->ref = 0; return token; } AXIS2_EXTERN void AXIS2_CALL rp_token_free( rp_token_t * token, const axutil_env_t * env) { if (token) { if (--(token->ref) > 0) { return; } AXIS2_FREE(env->allocator, token); token = NULL; } } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_token_get_issuer( rp_token_t * token, const axutil_env_t * env) { return token->issuer; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_issuer( rp_token_t * token, const axutil_env_t * env, axis2_char_t * issuer) { token->issuer = issuer; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_derive_key_version( rp_token_t *token, const axutil_env_t *env, derive_key_version_t version) { token->derive_key_version = version; return AXIS2_SUCCESS; } AXIS2_EXTERN derive_key_version_t AXIS2_CALL rp_token_get_derive_key_version( rp_token_t *token, const axutil_env_t *env) { return token->derive_key_version; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_inclusion( rp_token_t *token, const axutil_env_t *env, axis2_char_t *inclusion) { token->inclusion = inclusion; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_token_get_inclusion( rp_token_t *token, const axutil_env_t *env) { return token->inclusion; } AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_token_get_derivedkey_type( rp_token_t * token, const axutil_env_t * env) { return token->derive_key; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_derivedkey_type( rp_token_t * token, const axutil_env_t * env, derive_key_type_t derivedkey) { token->derive_key = derivedkey; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_token_get_is_issuer_name( rp_token_t * token, const axutil_env_t * env) { return token->is_issuer_name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_is_issuer_name( rp_token_t * token, const axutil_env_t * env, axis2_bool_t is_issuer_name) { token->is_issuer_name = is_issuer_name; return AXIS2_SUCCESS; } AXIS2_EXTERN axiom_node_t *AXIS2_CALL rp_token_get_claim( rp_token_t * token, const axutil_env_t * env) { return token->claim; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_claim( rp_token_t * token, const axutil_env_t * env, axiom_node_t *claim) { token->claim = claim; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_increment_ref( rp_token_t * token, const axutil_env_t * env) { token->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/property.c0000644000175000017500000002126711166304512024030 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include struct rp_property_t { rp_property_type_t type; void *value; int ref; }; AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_property_create( const axutil_env_t * env) { rp_property_t *property = NULL; AXIS2_ENV_CHECK(env, NULL); property = (rp_property_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_property_t)); if (property == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } property->type = RP_PROPERTY_UNKNOWN; property->value = NULL; property->ref = 0; return property; } AXIS2_EXTERN void AXIS2_CALL rp_property_free( rp_property_t * property, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (property) { if (--(property->ref) > 0) { return; } if (property->value) { switch (property->type) { case RP_PROPERTY_USERNAME_TOKEN: rp_username_token_free((rp_username_token_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_X509_TOKEN: rp_x509_token_free((rp_x509_token_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_ISSUED_TOKEN: rp_issued_token_free((rp_issued_token_t *)property->value, env); property->value = NULL; break; case RP_PROPERTY_SAML_TOKEN: rp_saml_token_free((rp_saml_token_t *)property->value, env); property->value = NULL; break; case RP_PROPERTY_SECURITY_CONTEXT_TOKEN: rp_security_context_token_free((rp_security_context_token_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_HTTPS_TOKEN: rp_https_token_free((rp_https_token_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_SYMMETRIC_BINDING: rp_symmetric_binding_free((rp_symmetric_binding_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_ASYMMETRIC_BINDING: rp_asymmetric_binding_free((rp_asymmetric_binding_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_TRANSPORT_BINDING: rp_transport_binding_free((rp_transport_binding_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_SIGNED_SUPPORTING_TOKEN: rp_supporting_tokens_free((rp_supporting_tokens_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN: rp_supporting_tokens_free((rp_supporting_tokens_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN: rp_supporting_tokens_free((rp_supporting_tokens_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN: rp_supporting_tokens_free((rp_supporting_tokens_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_SUPPORTING_TOKEN: rp_supporting_tokens_free((rp_supporting_tokens_t *) property-> value, env); property->value = NULL; break; case RP_PROPERTY_WSS10: rp_wss10_free((rp_wss10_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_WSS11: rp_wss11_free((rp_wss11_t *) property->value, env); property->value = NULL; break; case RP_PROPERTY_UNKNOWN: break; } } AXIS2_FREE(env->allocator, property); } return; } /* Implementations */ AXIS2_EXTERN void *AXIS2_CALL rp_property_get_value( rp_property_t * property, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return property->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_property_set_value( rp_property_t * property, const axutil_env_t * env, void *value, rp_property_type_t type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); property->type = type; if (type == RP_PROPERTY_X509_TOKEN) { rp_x509_token_increment_ref((rp_x509_token_t *) value, env); } else if (type == RP_PROPERTY_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_increment_ref((rp_security_context_token_t *)value, env); } else if (type == RP_PROPERTY_WSS10) { rp_wss10_increment_ref((rp_wss10_t *) value, env); } else if (type == RP_PROPERTY_WSS11) { rp_wss11_increment_ref((rp_wss11_t *) value, env); } else if (type == RP_PROPERTY_USERNAME_TOKEN) { rp_username_token_increment_ref((rp_username_token_t *) value, env); } else if (type == RP_PROPERTY_HTTPS_TOKEN) { rp_https_token_increment_ref((rp_https_token_t *) value, env); } else if (type == RP_PROPERTY_SIGNED_SUPPORTING_TOKEN) { rp_supporting_tokens_increment_ref((rp_supporting_tokens_t *) value, env); } else if (type == RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN) { rp_supporting_tokens_increment_ref((rp_supporting_tokens_t *) value, env); } else if (type == RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN) { rp_supporting_tokens_increment_ref((rp_supporting_tokens_t *) value, env); } else if (type == RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN) { rp_supporting_tokens_increment_ref((rp_supporting_tokens_t *) value, env); } else if (type == RP_PROPERTY_ASYMMETRIC_BINDING) { rp_asymmetric_binding_increment_ref((rp_asymmetric_binding_t *) value, env); } else if (type == RP_PROPERTY_TRANSPORT_BINDING) { rp_transport_binding_increment_ref((rp_transport_binding_t *) value, env); } else if (type == RP_PROPERTY_SYMMETRIC_BINDING) { rp_symmetric_binding_increment_ref((rp_symmetric_binding_t *) value, env); } property->value = (void *) value; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_type_t AXIS2_CALL rp_property_get_type( rp_property_t * property, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return property->type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_property_increment_ref( rp_property_t * property, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); property->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/secpolicy.c0000644000175000017500000003462511166304512024140 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_secpolicy_t { rp_property_t *binding; rp_property_t *wss; rp_trust10_t *trust10; rp_supporting_tokens_t *supporting_tokens; rp_supporting_tokens_t *signed_supporting_tokens; rp_supporting_tokens_t *endorsing_supporting_tokens; rp_supporting_tokens_t *signed_endorsing_supporting_tokens; rp_signed_encrypted_parts_t *signed_parts; rp_signed_encrypted_parts_t *encrypted_parts; rp_signed_encrypted_elements_t *signed_elements; rp_signed_encrypted_elements_t *encrypted_elements; rp_signed_encrypted_items_t *signed_items; rp_signed_encrypted_items_t *encrypted_items; rp_rampart_config_t *rampart_config; }; AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL rp_secpolicy_create( const axutil_env_t * env) { rp_secpolicy_t *secpolicy = NULL; AXIS2_ENV_CHECK(env, NULL); secpolicy = (rp_secpolicy_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_secpolicy_t)); if (secpolicy == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } secpolicy->binding = NULL; secpolicy->wss = NULL; secpolicy->trust10 = NULL; secpolicy->supporting_tokens = NULL; secpolicy->signed_supporting_tokens = NULL; secpolicy->endorsing_supporting_tokens = NULL; secpolicy->signed_endorsing_supporting_tokens = NULL; secpolicy->signed_parts = NULL; secpolicy->encrypted_parts = NULL; secpolicy->signed_elements = NULL; secpolicy->encrypted_elements = NULL; secpolicy->signed_items = NULL; secpolicy->encrypted_items = NULL; secpolicy->rampart_config = NULL; return secpolicy; } AXIS2_EXTERN void AXIS2_CALL rp_secpolicy_free( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (secpolicy) { if (secpolicy->binding) { rp_property_free(secpolicy->binding, env); secpolicy->binding = NULL; } if (secpolicy->wss) { rp_property_free(secpolicy->wss, env); secpolicy->wss = NULL; } if(secpolicy->trust10) { rp_trust10_free(secpolicy->trust10, env); secpolicy->trust10 = NULL; } if (secpolicy->supporting_tokens) { rp_supporting_tokens_free(secpolicy->supporting_tokens, env); secpolicy->supporting_tokens = NULL; } if (secpolicy->signed_supporting_tokens) { rp_supporting_tokens_free(secpolicy->signed_supporting_tokens, env); secpolicy->signed_supporting_tokens = NULL; } if (secpolicy->endorsing_supporting_tokens) { rp_supporting_tokens_free(secpolicy->endorsing_supporting_tokens, env); secpolicy->endorsing_supporting_tokens = NULL; } if (secpolicy->signed_endorsing_supporting_tokens) { rp_supporting_tokens_free(secpolicy-> signed_endorsing_supporting_tokens, env); secpolicy->signed_endorsing_supporting_tokens = NULL; } if (secpolicy->signed_parts) { rp_signed_encrypted_parts_free(secpolicy->signed_parts, env); secpolicy->signed_parts = NULL; } if (secpolicy->encrypted_parts) { rp_signed_encrypted_parts_free(secpolicy->encrypted_parts, env); secpolicy->encrypted_parts = NULL; } if (secpolicy->signed_elements) { rp_signed_encrypted_elements_free(secpolicy->signed_elements, env); secpolicy->signed_elements = NULL; } if (secpolicy->encrypted_elements) { rp_signed_encrypted_elements_free(secpolicy->encrypted_elements, env); secpolicy->encrypted_elements = NULL; } if (secpolicy->signed_items) { rp_signed_encrypted_items_free(secpolicy->signed_items, env); secpolicy->signed_items = NULL; } if (secpolicy->encrypted_items) { rp_signed_encrypted_items_free(secpolicy->encrypted_items, env); secpolicy->encrypted_items = NULL; } if (secpolicy->rampart_config) { rp_rampart_config_free(secpolicy->rampart_config, env); secpolicy->rampart_config = NULL; } AXIS2_FREE(env->allocator, secpolicy); } return; } /* Implementations */ AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_secpolicy_get_binding( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->binding; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_binding( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_property_t * binding) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, binding, AXIS2_FAILURE); rp_property_increment_ref(binding, env); secpolicy->binding = binding; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * supporting_tokens) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, supporting_tokens, AXIS2_FAILURE); rp_supporting_tokens_increment_ref(supporting_tokens, env); secpolicy->supporting_tokens = supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * signed_supporting_tokens) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_supporting_tokens, AXIS2_FAILURE); rp_supporting_tokens_increment_ref(signed_supporting_tokens, env); secpolicy->signed_supporting_tokens = signed_supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_signed_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->signed_supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * endorsing_supporting_tokens) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, endorsing_supporting_tokens, AXIS2_FAILURE); rp_supporting_tokens_increment_ref(endorsing_supporting_tokens, env); secpolicy->endorsing_supporting_tokens = endorsing_supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->endorsing_supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * signed_endorsing_supporting_tokens) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_endorsing_supporting_tokens, AXIS2_FAILURE); rp_supporting_tokens_increment_ref(signed_endorsing_supporting_tokens, env); secpolicy->signed_endorsing_supporting_tokens = signed_endorsing_supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_signed_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->signed_endorsing_supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_parts_t * signed_parts) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_parts, AXIS2_FAILURE); rp_signed_encrypted_parts_increment_ref(signed_parts, env); secpolicy->signed_parts = signed_parts; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_secpolicy_get_signed_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->signed_parts; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_encrypted_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_parts_t * encrypted_parts) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encrypted_parts, AXIS2_FAILURE); rp_signed_encrypted_parts_increment_ref(encrypted_parts, env); secpolicy->encrypted_parts = encrypted_parts; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_secpolicy_get_encrypted_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->encrypted_parts; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_elements_t * signed_elements) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_elements, AXIS2_FAILURE); rp_signed_encrypted_elements_increment_ref(signed_elements, env); secpolicy->signed_elements = signed_elements; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_secpolicy_get_signed_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->signed_elements; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_encrypted_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_elements_t * encrypted_elements) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encrypted_elements, AXIS2_FAILURE); rp_signed_encrypted_elements_increment_ref(encrypted_elements, env); secpolicy->encrypted_elements = encrypted_elements; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_secpolicy_get_encrypted_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->encrypted_elements; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_items_t * signed_items) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signed_items, AXIS2_FAILURE); secpolicy->signed_items = signed_items; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL rp_secpolicy_get_signed_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->signed_items; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_encrypted_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_items_t * encrypted_items) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encrypted_items, AXIS2_FAILURE); secpolicy->encrypted_items = encrypted_items; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL rp_secpolicy_get_encrypted_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->encrypted_items; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_wss( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_property_t * wss) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, wss, AXIS2_FAILURE); rp_property_increment_ref(wss, env); secpolicy->wss = wss; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_secpolicy_get_wss( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->wss; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_trust10( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_trust10_t * trust10) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, trust10, AXIS2_FAILURE); rp_trust10_increment_ref(trust10, env); secpolicy->trust10 = trust10; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_trust10_t *AXIS2_CALL rp_secpolicy_get_trust10( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->trust10; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_rampart_config( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_rampart_config_t * rampart_config) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, rampart_config, AXIS2_FAILURE); rp_rampart_config_increment_ref(rampart_config, env); secpolicy->rampart_config = rampart_config; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL rp_secpolicy_get_rampart_config( rp_secpolicy_t * secpolicy, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return secpolicy->rampart_config; } axis2c-src-1.6.0/neethi/src/secpolicy/model/rampart_config.c0000644000175000017500000003000311166304512025123 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_rampart_config_t { axis2_char_t *user; axis2_char_t *encryption_user; axis2_char_t *password_callback_class; axis2_char_t *authenticate_module; axis2_char_t *replay_detector; axis2_char_t *sct_provider; axis2_char_t *password_type; axis2_char_t *time_to_live; axis2_char_t *clock_skew_buffer; axis2_char_t *need_millisecond_precision; axis2_char_t *receiver_certificate_file; axis2_char_t *certificate_file; axis2_char_t *private_key_file; axis2_char_t *pkcs12_file; axis2_char_t *rd_val; int ref; }; AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL rp_rampart_config_create( const axutil_env_t * env) { rp_rampart_config_t *rampart_config = NULL; AXIS2_ENV_CHECK(env, NULL); rampart_config = (rp_rampart_config_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_rampart_config_t)); if (rampart_config == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } rampart_config->user = NULL; rampart_config->encryption_user = NULL; rampart_config->password_callback_class = NULL; rampart_config->private_key_file = NULL; rampart_config->receiver_certificate_file = NULL; rampart_config->certificate_file = NULL; rampart_config->authenticate_module = NULL; rampart_config->replay_detector = NULL; rampart_config->sct_provider = NULL; rampart_config->password_type = NULL; rampart_config->time_to_live = NULL; rampart_config->clock_skew_buffer = NULL; rampart_config->need_millisecond_precision = NULL; rampart_config->pkcs12_file = NULL; rampart_config->rd_val = NULL; rampart_config->ref = 0; return rampart_config; } AXIS2_EXTERN void AXIS2_CALL rp_rampart_config_free( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (rampart_config) { if (--(rampart_config->ref) > 0) { return; } AXIS2_FREE(env->allocator, rampart_config); rampart_config = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->user; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * user) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, user, AXIS2_FAILURE); rampart_config->user = user; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_encryption_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->encryption_user; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_encryption_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * encryption_user) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encryption_user, AXIS2_FAILURE); rampart_config->encryption_user = encryption_user; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_password_callback_class( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->password_callback_class; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_password_callback_class( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * password_callback_class) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, password_callback_class, AXIS2_FAILURE); rampart_config->password_callback_class = password_callback_class; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_authenticate_module( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->authenticate_module; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_authenticate_module( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * authenticate_module) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, authenticate_module, AXIS2_FAILURE); rampart_config->authenticate_module = authenticate_module; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_replay_detector( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->replay_detector; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_replay_detector( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * replay_detector) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, replay_detector, AXIS2_FAILURE); rampart_config->replay_detector = replay_detector; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_sct_provider( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->sct_provider; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_sct_provider( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * sct_module) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, sct_module, AXIS2_FAILURE); rampart_config->sct_provider = sct_module; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_password_type( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->password_type; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_password_type( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * password_type) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, password_type, AXIS2_FAILURE); rampart_config->password_type = password_type; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_private_key_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->private_key_file; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_private_key_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * private_key_file) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, private_key_file, AXIS2_FAILURE); rampart_config->private_key_file = private_key_file; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_receiver_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->receiver_certificate_file; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_receiver_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * receiver_certificate_file) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, receiver_certificate_file, AXIS2_FAILURE); rampart_config->receiver_certificate_file = receiver_certificate_file; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->certificate_file; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * certificate_file) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, certificate_file, AXIS2_FAILURE); rampart_config->certificate_file = certificate_file; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_time_to_live( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->time_to_live; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_time_to_live( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * time_to_live) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, time_to_live, AXIS2_FAILURE); rampart_config->time_to_live = time_to_live; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_clock_skew_buffer( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { return rampart_config->clock_skew_buffer; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_clock_skew_buffer( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * clock_skew_buffer) { rampart_config->clock_skew_buffer = clock_skew_buffer; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_need_millisecond_precision( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { return rampart_config->need_millisecond_precision; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_need_millisecond_precision( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * need_millisecond_precision) { rampart_config->need_millisecond_precision = need_millisecond_precision; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_pkcs12_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { return rampart_config->pkcs12_file; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_pkcs12_file( rp_rampart_config_t * rampart_config, const axutil_env_t *env, axis2_char_t * pkcs12_file) { if(rampart_config) { if(pkcs12_file) { rampart_config->pkcs12_file = pkcs12_file; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_rd_val( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return rampart_config->rd_val; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_rd_val( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * rd_val) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, rd_val, AXIS2_FAILURE); rampart_config->rd_val = rd_val; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_increment_ref( rp_rampart_config_t * rampart_config, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); rampart_config->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/symmetric_asymmetric_binding_commons.c0000644000175000017500000001635611166304512031645 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_symmetric_asymmetric_binding_commons_t { rp_binding_commons_t *binding_commons; axis2_char_t *protection_order; axis2_bool_t signature_protection; axis2_bool_t token_protection; axis2_bool_t entire_headers_and_body_signatures; }; AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL rp_symmetric_asymmetric_binding_commons_create( const axutil_env_t * env) { rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons = NULL; AXIS2_ENV_CHECK(env, NULL); symmetric_asymmetric_binding_commons = (rp_symmetric_asymmetric_binding_commons_t *) AXIS2_MALLOC(env-> allocator, sizeof (rp_symmetric_asymmetric_binding_commons_t)); if (symmetric_asymmetric_binding_commons == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } symmetric_asymmetric_binding_commons->binding_commons = NULL; symmetric_asymmetric_binding_commons->protection_order = RP_SIGN_BEFORE_ENCRYPTING; symmetric_asymmetric_binding_commons->signature_protection = AXIS2_FALSE; symmetric_asymmetric_binding_commons->token_protection = AXIS2_FALSE; symmetric_asymmetric_binding_commons->entire_headers_and_body_signatures = AXIS2_FALSE; return symmetric_asymmetric_binding_commons; } AXIS2_EXTERN void AXIS2_CALL rp_symmetric_asymmetric_binding_commons_free( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (symmetric_asymmetric_binding_commons) { if (symmetric_asymmetric_binding_commons->binding_commons) { rp_binding_commons_free(symmetric_asymmetric_binding_commons-> binding_commons, env); symmetric_asymmetric_binding_commons->binding_commons = NULL; } AXIS2_FREE(env->allocator, symmetric_asymmetric_binding_commons); symmetric_asymmetric_binding_commons = NULL; } return; } /* Implementations */ AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_binding_commons( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return symmetric_asymmetric_binding_commons->binding_commons; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_binding_commons( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, rp_binding_commons_t * binding_commons) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, binding_commons, AXIS2_FAILURE); symmetric_asymmetric_binding_commons->binding_commons = binding_commons; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_signature_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return symmetric_asymmetric_binding_commons->signature_protection; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_signature_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_bool_t signature_protection) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signature_protection, AXIS2_FAILURE); symmetric_asymmetric_binding_commons->signature_protection = signature_protection; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_token_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return symmetric_asymmetric_binding_commons->token_protection; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_token_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_bool_t token_protection) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, token_protection, AXIS2_FAILURE); symmetric_asymmetric_binding_commons->token_protection = token_protection; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_entire_headers_and_body_signatures( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FALSE); return symmetric_asymmetric_binding_commons-> entire_headers_and_body_signatures; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signatures( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_bool_t entire_headers_and_body_signatures) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, entire_headers_and_body_signatures, AXIS2_FAILURE); symmetric_asymmetric_binding_commons->entire_headers_and_body_signatures = entire_headers_and_body_signatures; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_protection_order( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return symmetric_asymmetric_binding_commons->protection_order; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_protection_order( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_char_t * protection_order) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, protection_order, AXIS2_FAILURE); symmetric_asymmetric_binding_commons->protection_order = protection_order; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/binding_commons.c0000644000175000017500000001774011166304512025312 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_binding_commons_t { rp_algorithmsuite_t *algorithmsuite; axis2_bool_t include_timestamp; rp_layout_t *layout; rp_supporting_tokens_t *signed_supporting_tokens; rp_supporting_tokens_t *signed_endorsing_supporting_tokens; rp_supporting_tokens_t *endorsing_supporting_tokens; rp_supporting_tokens_t *supporting_tokens; }; AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL rp_binding_commons_create( const axutil_env_t *env) { rp_binding_commons_t *binding_commons = NULL; AXIS2_ENV_CHECK(env, NULL); binding_commons = (rp_binding_commons_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_binding_commons_t)); if (binding_commons == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "Out of memory"); return NULL; } binding_commons->algorithmsuite = NULL; binding_commons->include_timestamp = AXIS2_FALSE; binding_commons->layout = NULL; binding_commons->signed_supporting_tokens = NULL; binding_commons->signed_endorsing_supporting_tokens = NULL; binding_commons->endorsing_supporting_tokens = NULL; binding_commons->supporting_tokens = NULL; return binding_commons; } AXIS2_EXTERN void AXIS2_CALL rp_binding_commons_free( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { if (binding_commons) { if (binding_commons->algorithmsuite) { rp_algorithmsuite_free(binding_commons->algorithmsuite, env); binding_commons->algorithmsuite = NULL; } if (binding_commons->layout) { rp_layout_free(binding_commons->layout, env); binding_commons->layout = NULL; } if (binding_commons->signed_supporting_tokens) { rp_supporting_tokens_free(binding_commons->signed_supporting_tokens, env); binding_commons->signed_supporting_tokens = NULL; } if (binding_commons->signed_endorsing_supporting_tokens) { rp_supporting_tokens_free(binding_commons-> signed_endorsing_supporting_tokens, env); binding_commons->signed_endorsing_supporting_tokens = NULL; } if (binding_commons->endorsing_supporting_tokens) { rp_supporting_tokens_free(binding_commons-> endorsing_supporting_tokens, env); binding_commons->endorsing_supporting_tokens = NULL; } if (binding_commons->supporting_tokens) { rp_supporting_tokens_free(binding_commons->supporting_tokens, env); binding_commons->supporting_tokens = NULL; } AXIS2_FREE(env->allocator, binding_commons); binding_commons = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_binding_commons_get_include_timestamp( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->include_timestamp; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_include_timestamp( rp_binding_commons_t *binding_commons, const axutil_env_t *env, axis2_bool_t include_timestamp) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, include_timestamp, AXIS2_FAILURE); binding_commons->include_timestamp = include_timestamp; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL rp_binding_commons_get_algorithmsuite( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->algorithmsuite; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_algorithmsuite( rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_algorithmsuite_t *algorithmsuite) { AXIS2_PARAM_CHECK(env->error, algorithmsuite, AXIS2_FAILURE); rp_algorithmsuite_increment_ref(algorithmsuite, env); binding_commons->algorithmsuite = algorithmsuite; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_layout_t *AXIS2_CALL rp_binding_commons_get_layout( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->layout; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_layout( rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_layout_t *layout) { AXIS2_PARAM_CHECK(env->error, layout, AXIS2_FAILURE); rp_layout_increment_ref(layout, env); binding_commons->layout = layout; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_signed_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->signed_supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_signed_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *signed_supporting_tokens) { AXIS2_PARAM_CHECK(env->error, signed_supporting_tokens, AXIS2_FAILURE); binding_commons->signed_supporting_tokens = signed_supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_signed_endorsing_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->signed_endorsing_supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_signed_endorsing_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *signed_endorsing_supporting_tokens) { AXIS2_PARAM_CHECK(env->error, signed_endorsing_supporting_tokens, AXIS2_FAILURE); binding_commons->signed_endorsing_supporting_tokens = signed_endorsing_supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_endorsing_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->endorsing_supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_endorsing_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *endorsing_supporting_tokens) { AXIS2_PARAM_CHECK(env->error, endorsing_supporting_tokens, AXIS2_FAILURE); binding_commons->endorsing_supporting_tokens = endorsing_supporting_tokens; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env) { return binding_commons->supporting_tokens; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_supporting_tokens( rp_binding_commons_t *binding_commons, const axutil_env_t *env, rp_supporting_tokens_t *supporting_tokens) { AXIS2_PARAM_CHECK(env->error, supporting_tokens, AXIS2_FAILURE); binding_commons->supporting_tokens = supporting_tokens; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/transport_binding.c0000644000175000017500000001000311166304512025654 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_transport_binding_t { rp_binding_commons_t *binding_commons; rp_property_t *transport_token; int ref; }; AXIS2_EXTERN rp_transport_binding_t *AXIS2_CALL rp_transport_binding_create( const axutil_env_t * env) { rp_transport_binding_t *transport_binding = NULL; AXIS2_ENV_CHECK(env, NULL); transport_binding = (rp_transport_binding_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_transport_binding_t)); if (transport_binding == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } transport_binding->binding_commons = NULL; transport_binding->transport_token = NULL; transport_binding->ref = 0; return transport_binding; } AXIS2_EXTERN void AXIS2_CALL rp_transport_binding_free( rp_transport_binding_t * transport_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (transport_binding) { if (--(transport_binding->ref) > 0) { return; } if (transport_binding->binding_commons) { rp_binding_commons_free(transport_binding->binding_commons, env); transport_binding->binding_commons = NULL; } if (transport_binding->transport_token) { rp_property_free(transport_binding->transport_token, env); transport_binding->transport_token = NULL; } AXIS2_FREE(env->allocator, transport_binding); } return; } /* Implementations */ AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL rp_transport_binding_get_binding_commons( rp_transport_binding_t * transport_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return transport_binding->binding_commons; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_transport_binding_set_binding_commons( rp_transport_binding_t * transport_binding, const axutil_env_t * env, rp_binding_commons_t * binding_commons) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, binding_commons, AXIS2_FAILURE); transport_binding->binding_commons = binding_commons; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_transport_binding_get_transport_token( rp_transport_binding_t * transport_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return transport_binding->transport_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_transport_binding_set_transport_token( rp_transport_binding_t * transport_binding, const axutil_env_t * env, rp_property_t * transport_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, transport_token, AXIS2_FAILURE); rp_property_increment_ref(transport_token, env); transport_binding->transport_token = transport_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_transport_binding_increment_ref( rp_transport_binding_t * transport_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); transport_binding->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/symmetric_binding.c0000644000175000017500000001532111166304512025644 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_symmetric_binding_t { rp_symmetric_asymmetric_binding_commons_t *symmetric_asymmetric_binding_commons; rp_property_t *protection_token; rp_property_t *signature_token; rp_property_t *encryption_token; int ref; }; AXIS2_EXTERN rp_symmetric_binding_t *AXIS2_CALL rp_symmetric_binding_create( const axutil_env_t * env) { rp_symmetric_binding_t *symmetric_binding = NULL; AXIS2_ENV_CHECK(env, NULL); symmetric_binding = (rp_symmetric_binding_t *) AXIS2_MALLOC(env->allocator, sizeof (rp_symmetric_binding_t)); if (symmetric_binding == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } symmetric_binding->symmetric_asymmetric_binding_commons = NULL; symmetric_binding->protection_token = NULL; symmetric_binding->signature_token = NULL; symmetric_binding->encryption_token = NULL; symmetric_binding->ref = 0; return symmetric_binding; } AXIS2_EXTERN void AXIS2_CALL rp_symmetric_binding_free( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (symmetric_binding) { if (--(symmetric_binding->ref) > 0) { return; } if (symmetric_binding->symmetric_asymmetric_binding_commons) { rp_symmetric_asymmetric_binding_commons_free(symmetric_binding-> symmetric_asymmetric_binding_commons, env); symmetric_binding->symmetric_asymmetric_binding_commons = NULL; } if (symmetric_binding->protection_token) { rp_property_free(symmetric_binding->protection_token, env); symmetric_binding->protection_token = NULL; } if (symmetric_binding->encryption_token) { rp_property_free(symmetric_binding->encryption_token, env); symmetric_binding->encryption_token = NULL; } if (symmetric_binding->signature_token) { rp_property_free(symmetric_binding->signature_token, env); symmetric_binding->signature_token = NULL; } AXIS2_FREE(env->allocator, symmetric_binding); } return; } /* Implementations */ AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL rp_symmetric_binding_get_symmetric_asymmetric_binding_commons( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return symmetric_binding->symmetric_asymmetric_binding_commons; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_symmetric_asymmetric_binding_commons( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, symmetric_asymmetric_binding_commons, AXIS2_FAILURE); symmetric_binding->symmetric_asymmetric_binding_commons = symmetric_asymmetric_binding_commons; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_symmetric_binding_get_protection_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return symmetric_binding->protection_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_protection_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_property_t * protection_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, protection_token, AXIS2_FAILURE); if (symmetric_binding->signature_token || symmetric_binding->encryption_token) { return AXIS2_FAILURE; } rp_property_increment_ref(protection_token, env); symmetric_binding->protection_token = protection_token; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_encryption_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_property_t * encryption_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, encryption_token, AXIS2_FAILURE); if (symmetric_binding->protection_token) { return AXIS2_FAILURE; } rp_property_increment_ref(encryption_token, env); symmetric_binding->encryption_token = encryption_token; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_symmetric_binding_get_encryption_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return symmetric_binding->encryption_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_signature_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_property_t * signature_token) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, signature_token, AXIS2_FAILURE); if (symmetric_binding->protection_token) { return AXIS2_FAILURE; } rp_property_increment_ref(signature_token, env); symmetric_binding->signature_token = signature_token; return AXIS2_SUCCESS; } AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_symmetric_binding_get_signature_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, NULL); return symmetric_binding->signature_token; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_increment_ref( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); symmetric_binding->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/issued_token.c0000644000175000017500000001224111166304512024630 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_issued_token { axis2_char_t *inclusion; axiom_node_t *issuer_epr; axiom_node_t *requested_sec_token_template; axis2_bool_t derivedkeys; axis2_bool_t require_external_reference; axis2_bool_t require_internal_reference; int ref; }; AXIS2_EXTERN rp_issued_token_t * AXIS2_CALL rp_issued_token_create( const axutil_env_t *env) { rp_issued_token_t *issued_token = NULL; issued_token = (rp_issued_token_t*)AXIS2_MALLOC(env->allocator, sizeof(rp_issued_token_t)); if (issued_token == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } issued_token->inclusion = NULL; issued_token->issuer_epr = NULL; issued_token->requested_sec_token_template = NULL; issued_token->derivedkeys = AXIS2_FALSE; issued_token->require_external_reference = AXIS2_FALSE; issued_token->require_internal_reference = AXIS2_FALSE; issued_token->ref = 0; return issued_token; } AXIS2_EXTERN void AXIS2_CALL rp_issued_token_free( rp_issued_token_t *issued_token, const axutil_env_t *env) { if(issued_token) { if(--(issued_token->ref) > 0) { return; } AXIS2_FREE(env->allocator, issued_token); issued_token = NULL; } return; } AXIS2_EXTERN axis2_char_t * AXIS2_CALL rp_issued_token_get_inclusion( rp_issued_token_t *issued_token, const axutil_env_t *env) { return issued_token->inclusion; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_inclusion( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_char_t *inclusion) { if(inclusion) { issued_token->inclusion = inclusion; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_node_t * AXIS2_CALL rp_issued_token_get_issuer_epr( rp_issued_token_t *issued_token, const axutil_env_t *env) { return issued_token->issuer_epr; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_issuer_epr( rp_issued_token_t *issued_token, const axutil_env_t *env, axiom_node_t *issuer_epr) { if(issuer_epr) { issued_token->issuer_epr = issuer_epr; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axiom_node_t * AXIS2_CALL rp_issued_token_get_requested_sec_token_template( rp_issued_token_t *issued_token, const axutil_env_t *env) { return issued_token->requested_sec_token_template; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_requested_sec_token_template( rp_issued_token_t *issued_token, const axutil_env_t *env, axiom_node_t *req_sec_token_template) { if(req_sec_token_template) { issued_token->requested_sec_token_template = req_sec_token_template; return AXIS2_SUCCESS; } return AXIS2_FAILURE; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_issued_token_get_derivedkeys( rp_issued_token_t *issued_token, const axutil_env_t *env) { return issued_token->derivedkeys; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_derivedkeys( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t derivedkeys) { AXIS2_PARAM_CHECK(env->error, derivedkeys, AXIS2_FAILURE); issued_token->derivedkeys = derivedkeys; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_issued_token_get_require_external_reference( rp_issued_token_t *issued_token, const axutil_env_t *env) { return issued_token->require_external_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_require_exernal_reference( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t require_external_reference) { AXIS2_PARAM_CHECK(env->error, require_external_reference, AXIS2_FAILURE); issued_token->require_external_reference = require_external_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_issued_token_get_require_internal_reference( rp_issued_token_t *issued_token, const axutil_env_t *env) { return issued_token->require_internal_reference; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_require_internal_reference( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t require_internal_reference) { AXIS2_PARAM_CHECK(env->error, require_internal_reference, AXIS2_FAILURE); issued_token->require_internal_reference = require_internal_reference; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_increment_ref( rp_issued_token_t *issued_token, const axutil_env_t *env) { issued_token->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/header.c0000644000175000017500000000554711166304512023377 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_header_t { axis2_char_t *name; axis2_char_t *nspace; }; AXIS2_EXTERN rp_header_t *AXIS2_CALL rp_header_create( const axutil_env_t * env) { rp_header_t *header = NULL; AXIS2_ENV_CHECK(env, NULL); header = (rp_header_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_header_t)); if (header == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } header->name = NULL; header->nspace = NULL; return header; } AXIS2_EXTERN void AXIS2_CALL rp_header_free( rp_header_t * header, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (header) { if (header->name) { AXIS2_FREE(env->allocator, header->name); header->name = NULL; } if (header->nspace) { AXIS2_FREE(env->allocator, header->nspace); header->nspace = NULL; } AXIS2_FREE(env->allocator, header); header = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_header_get_name( rp_header_t * header, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return header->name; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_header_set_name( rp_header_t * header, const axutil_env_t * env, axis2_char_t * name) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, name, AXIS2_FAILURE); header->name = axutil_strdup(env, name); return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_header_get_namespace( rp_header_t * header, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return header->nspace; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_header_set_namespace( rp_header_t * header, const axutil_env_t * env, axis2_char_t * nspace) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, nspace, AXIS2_FAILURE); header->nspace = axutil_strdup(env, nspace); return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/model/layout.c0000644000175000017500000000452411166304512023456 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include struct rp_layout_t { axis2_char_t *value; int ref; }; AXIS2_EXTERN rp_layout_t *AXIS2_CALL rp_layout_create( const axutil_env_t * env) { rp_layout_t *layout = NULL; AXIS2_ENV_CHECK(env, NULL); layout = (rp_layout_t *) AXIS2_MALLOC(env->allocator, sizeof(rp_layout_t)); if (layout == NULL) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_NO_MEMORY, AXIS2_FAILURE); return NULL; } layout->value = RP_LAYOUT_STRICT; layout->ref = 0; return layout; } AXIS2_EXTERN void AXIS2_CALL rp_layout_free( rp_layout_t * layout, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); if (layout) { if (--(layout->ref) > 0) { return; } AXIS2_FREE(env->allocator, layout); layout = NULL; } return; } /* Implementations */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_layout_get_value( rp_layout_t * layout, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); return layout->value; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_layout_set_value( rp_layout_t * layout, const axutil_env_t * env, axis2_char_t * value) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); AXIS2_PARAM_CHECK(env->error, value, AXIS2_FAILURE); layout->value = value; return AXIS2_SUCCESS; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_layout_increment_ref( rp_layout_t * layout, const axutil_env_t * env) { AXIS2_ENV_CHECK(env, AXIS2_FAILURE); layout->ref++; return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/Makefile.am0000644000175000017500000000003111166304514022720 0ustar00manjulamanjula00000000000000SUBDIRS = model builder axis2c-src-1.6.0/neethi/src/secpolicy/Makefile.in0000644000175000017500000003376711172017200022745 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = src/secpolicy DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = model builder all: all-recursive .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/secpolicy/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/secpolicy/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done check-am: all-am check: check-recursive all-am: Makefile installdirs: installdirs-recursive installdirs-am: install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f Makefile distclean-am: clean-am distclean-generic distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am check check-am clean clean-generic clean-libtool \ ctags ctags-recursive distclean distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/src/secpolicy/builder/0000777000175000017500000000000011172017536022326 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/src/secpolicy/builder/token_identifier.c0000644000175000017500000000532211166304514026010 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ /***********************************/ AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_identifier_set_token( rp_property_t *token, neethi_assertion_t *assertion, const axutil_env_t *env) { void *value = NULL; neethi_assertion_type_t type; value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_USERNAME_TOKEN) { rp_username_token_t *username_token = NULL; username_token = (rp_username_token_t *) value; rp_property_set_value(token, env, username_token, RP_PROPERTY_USERNAME_TOKEN); return AXIS2_SUCCESS; } else if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) value; rp_property_set_value(token, env, x509_token, RP_PROPERTY_X509_TOKEN); return AXIS2_SUCCESS; } else if (type == ASSERTION_TYPE_SAML_TOKEN) { rp_saml_token_t *saml_token = NULL; saml_token = (rp_saml_token_t *) value; rp_property_set_value(token, env, saml_token, RP_PROPERTY_SAML_TOKEN); return AXIS2_SUCCESS; } else if (type == ASSERTION_TYPE_ISSUED_TOKEN) { rp_issued_token_t *issued_token = NULL; issued_token = (rp_issued_token_t *) value; rp_property_set_value(token, env, issued_token, RP_PROPERTY_ISSUED_TOKEN); return AXIS2_SUCCESS; } else return AXIS2_FAILURE; } return AXIS2_FAILURE; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/symmetric_binding_builder.c0000644000175000017500000002373611166304514027713 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL symmetric_binding_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_symmetric_binding_t *symmetric_binding); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_symmetric_binding_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_symmetric_binding_t *symmetric_binding = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; symmetric_binding = rp_symmetric_binding_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); alternatives = neethi_policy_get_alternatives(normalized_policy, env); neethi_policy_free(policy, env); policy = NULL; component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); symmetric_binding_process_alternatives(env, all, symmetric_binding); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_symmetric_binding_free, symmetric_binding, ASSERTION_TYPE_SYMMETRIC_BINDING); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL symmetric_binding_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_symmetric_binding_t * symmetric_binding) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; rp_binding_commons_t *commons = NULL; rp_symmetric_asymmetric_binding_commons_t *as_commons = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); commons = rp_binding_commons_create(env); as_commons = rp_symmetric_asymmetric_binding_commons_create(env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_PROTECTION_TOKEN) { rp_property_t *protection_token = NULL; protection_token = (rp_property_t *) neethi_assertion_get_value(assertion, env); if (protection_token) { rp_symmetric_binding_set_protection_token(symmetric_binding, env, protection_token); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_ENCRYPTION_TOKEN) { rp_property_t *encryption_token = NULL; encryption_token = (rp_property_t *) neethi_assertion_get_value(assertion, env); if (encryption_token) { rp_symmetric_binding_set_encryption_token(symmetric_binding, env, encryption_token); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_SIGNATURE_TOKEN) { rp_property_t *signature_token = NULL; signature_token = (rp_property_t *) neethi_assertion_get_value(assertion, env); if (signature_token) { rp_symmetric_binding_set_signature_token(symmetric_binding, env, signature_token); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_ALGORITHM_SUITE) { rp_algorithmsuite_t *algorithmsuite = NULL; algorithmsuite = (rp_algorithmsuite_t *) neethi_assertion_get_value(assertion, env); if (algorithmsuite) { rp_binding_commons_set_algorithmsuite(commons, env, algorithmsuite); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_INCLUDE_TIMESTAMP) { rp_binding_commons_set_include_timestamp(commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_LAYOUT) { rp_layout_t *layout = NULL; layout = (rp_layout_t *) neethi_assertion_get_value(assertion, env); if (layout) { rp_binding_commons_set_layout(commons, env, layout); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_ENCRYPT_BEFORE_SIGNING) { rp_symmetric_asymmetric_binding_commons_set_protection_order (as_commons, env, RP_ENCRYPT_BEFORE_SIGNING); } else if (type == ASSERTION_TYPE_SIGN_BEFORE_ENCRYPTING) { rp_symmetric_asymmetric_binding_commons_set_protection_order (as_commons, env, RP_SIGN_BEFORE_ENCRYPTING); } else if (type == ASSERTION_TYPE_ENCRYPT_SIGNATURE) { rp_symmetric_asymmetric_binding_commons_set_signature_protection (as_commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_PROTECT_TOKENS) { rp_symmetric_asymmetric_binding_commons_set_token_protection (as_commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY) { rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signatures (as_commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_SUPPORTING_TOKENS) { rp_supporting_tokens_t *supporting_tokens = NULL; supporting_tokens = (rp_supporting_tokens_t *) neethi_assertion_get_value(assertion, env); if (supporting_tokens) { rp_property_type_t type; type = rp_supporting_tokens_get_type(supporting_tokens, env); if (type == RP_PROPERTY_SIGNED_SUPPORTING_TOKEN) { rp_binding_commons_set_signed_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN) { rp_binding_commons_set_signed_endorsing_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN) { rp_binding_commons_set_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN) { rp_binding_commons_set_endorsing_supporting_tokens (commons, env, supporting_tokens); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } rp_symmetric_asymmetric_binding_commons_set_binding_commons(as_commons, env, commons); rp_symmetric_binding_set_symmetric_asymmetric_binding_commons (symmetric_binding, env, as_commons); return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/encryption_token_builder.c0000644000175000017500000001463311166304514027573 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL encryption_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *encryption_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_encryption_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_property_t *encryption_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; encryption_token = rp_property_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); encryption_token_process_alternatives(env, all, encryption_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_property_free, encryption_token, ASSERTION_TYPE_ENCRYPTION_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL encryption_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *encryption_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) neethi_assertion_get_value(assertion, env); if (x509_token) { rp_property_set_value(encryption_token, env, x509_token, RP_PROPERTY_X509_TOKEN); } else return AXIS2_FAILURE; } else if(type == ASSERTION_TYPE_ISSUED_TOKEN) { rp_issued_token_t *issued_token = NULL; issued_token = (rp_issued_token_t *)neethi_assertion_get_value(assertion, env); if(issued_token) { rp_property_set_value(encryption_token, env, issued_token, RP_PROPERTY_ISSUED_TOKEN); } else return AXIS2_FAILURE; } else if(type == ASSERTION_TYPE_SAML_TOKEN) { rp_saml_token_t *saml_token = NULL; saml_token = (rp_saml_token_t *)neethi_assertion_get_value(assertion, env); if(saml_token) { rp_property_set_value(encryption_token, env, saml_token, RP_PROPERTY_SAML_TOKEN); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_t *security_context_token = NULL; security_context_token = (rp_security_context_token_t *) neethi_assertion_get_value(assertion, env); if (security_context_token) { rp_property_set_value(encryption_token, env, security_context_token, RP_PROPERTY_SECURITY_CONTEXT_TOKEN); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/bootstrap_policy_builder.c0000644000175000017500000000424111166304514027567 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_bootstrap_policy_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; neethi_assertion_t *assertion = NULL; child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } assertion = neethi_assertion_create_with_args(env, NULL, /*this policy should not be deleted*/ policy, ASSERTION_TYPE_BOOTSTRAP_POLICY); return assertion; } else return NULL; } else return NULL; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/recipient_token_builder.c0000644000175000017500000001164511166304514027363 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL recipient_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *recipient_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_recipient_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_property_t *recipient_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; recipient_token = rp_property_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); recipient_token_process_alternatives(env, all, recipient_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_property_free, recipient_token, ASSERTION_TYPE_RECIPIENT_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL recipient_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *recipient_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) neethi_assertion_get_value(assertion, env); if (x509_token) { rp_property_set_value(recipient_token, env, x509_token, RP_PROPERTY_X509_TOKEN); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/secpolicy_builder.c0000644000175000017500000002404611166304514026172 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL secpolicy_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_secpolicy_t *secpolicy); /***********************************/ AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL rp_secpolicy_builder_build( const axutil_env_t *env, neethi_policy_t *policy) { axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; rp_secpolicy_t *secpolicy = NULL; secpolicy = rp_secpolicy_create(env); alternatives = neethi_policy_get_alternatives(policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); if (secpolicy_process_alternatives(env, all, secpolicy) == AXIS2_FAILURE) { return NULL; } return secpolicy; } axis2_status_t AXIS2_CALL secpolicy_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_secpolicy_t *secpolicy) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_TRANSPORT_BINDING) { rp_property_t *binding = NULL; rp_transport_binding_t *transport_binding = NULL; transport_binding = (rp_transport_binding_t *) neethi_assertion_get_value(assertion, env); if (!transport_binding) { return AXIS2_FAILURE; } binding = rp_property_create(env); rp_property_set_value(binding, env, transport_binding, RP_PROPERTY_TRANSPORT_BINDING); rp_secpolicy_set_binding(secpolicy, env, binding); } else if (type == ASSERTION_TYPE_ASSYMMETRIC_BINDING) { rp_property_t *binding = NULL; rp_asymmetric_binding_t *asymmetric_binding = NULL; asymmetric_binding = (rp_asymmetric_binding_t *) neethi_assertion_get_value(assertion, env); if (!asymmetric_binding) { return AXIS2_FAILURE; } binding = rp_property_create(env); rp_property_set_value(binding, env, asymmetric_binding, RP_PROPERTY_ASYMMETRIC_BINDING); rp_secpolicy_set_binding(secpolicy, env, binding); } else if (type == ASSERTION_TYPE_SYMMETRIC_BINDING) { rp_property_t *binding = NULL; rp_symmetric_binding_t *symmetric_binding = NULL; symmetric_binding = (rp_symmetric_binding_t *) neethi_assertion_get_value(assertion, env); if (!symmetric_binding) { return AXIS2_FAILURE; } binding = rp_property_create(env); rp_property_set_value(binding, env, symmetric_binding, RP_PROPERTY_SYMMETRIC_BINDING); rp_secpolicy_set_binding(secpolicy, env, binding); } else if (type == ASSERTION_TYPE_SUPPORTING_TOKENS) { rp_supporting_tokens_t *supporting_tokens = NULL; supporting_tokens = (rp_supporting_tokens_t *) neethi_assertion_get_value(assertion, env); if (supporting_tokens) { rp_property_type_t type; type = rp_supporting_tokens_get_type(supporting_tokens, env); if (type == RP_PROPERTY_SIGNED_SUPPORTING_TOKEN) { rp_secpolicy_set_signed_supporting_tokens(secpolicy, env, supporting_tokens); } else if (type == RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN) { rp_secpolicy_set_signed_endorsing_supporting_tokens(secpolicy, env, supporting_tokens); } else if (type == RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN) { rp_secpolicy_set_supporting_tokens(secpolicy, env, supporting_tokens); } else if (type == RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN) { rp_secpolicy_set_endorsing_supporting_tokens(secpolicy, env, supporting_tokens); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_WSS10) { rp_wss10_t *wss10 = NULL; rp_property_t *wss = NULL; wss10 = (rp_wss10_t *) neethi_assertion_get_value(assertion, env); if (!wss10) { return AXIS2_FAILURE; } wss = rp_property_create(env); rp_property_set_value(wss, env, wss10, RP_PROPERTY_WSS10); rp_secpolicy_set_wss(secpolicy, env, wss); } else if (type == ASSERTION_TYPE_WSS11) { rp_wss11_t *wss11 = NULL; rp_property_t *wss = NULL; wss11 = (rp_wss11_t *) neethi_assertion_get_value(assertion, env); if (!wss11) { return AXIS2_FAILURE; } wss = rp_property_create(env); rp_property_set_value(wss, env, wss11, RP_PROPERTY_WSS11); rp_secpolicy_set_wss(secpolicy, env, wss); } else if (type == ASSERTION_TYPE_TRUST10) { rp_trust10_t *trust10 = NULL; trust10 = (rp_trust10_t *) neethi_assertion_get_value(assertion, env); if (!trust10) { return AXIS2_FAILURE; } rp_secpolicy_set_trust10(secpolicy, env, trust10); } else if (type == ASSERTION_TYPE_SIGNED_ENCRYPTED_PARTS) { rp_signed_encrypted_parts_t *signed_encrypted_parts = NULL; signed_encrypted_parts = (rp_signed_encrypted_parts_t *) neethi_assertion_get_value(assertion, env); if (signed_encrypted_parts) { if (rp_signed_encrypted_parts_get_signedparts (signed_encrypted_parts, env)) { rp_secpolicy_set_signed_parts(secpolicy, env, signed_encrypted_parts); } else { rp_secpolicy_set_encrypted_parts(secpolicy, env, signed_encrypted_parts); } } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_RAMPART_CONFIG) { rp_rampart_config_t *rampart_config = NULL; rampart_config = (rp_rampart_config_t *) neethi_assertion_get_value(assertion, env); if (!rampart_config) { return AXIS2_FAILURE; } rp_secpolicy_set_rampart_config(secpolicy, env, rampart_config); } else { continue; } } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/protection_token_builder.c0000644000175000017500000001463311166304514027567 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL protection_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *protection_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_protection_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_property_t *protection_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; protection_token = rp_property_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); protection_token_process_alternatives(env, all, protection_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_property_free, protection_token, ASSERTION_TYPE_PROTECTION_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL protection_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *protection_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) neethi_assertion_get_value(assertion, env); if (x509_token) { rp_property_set_value(protection_token, env, x509_token, RP_PROPERTY_X509_TOKEN); } else return AXIS2_FAILURE; } else if(type == ASSERTION_TYPE_ISSUED_TOKEN) { rp_issued_token_t *issued_token = NULL; issued_token = (rp_issued_token_t *)neethi_assertion_get_value(assertion, env); if(issued_token) { rp_property_set_value(protection_token, env, issued_token, RP_PROPERTY_ISSUED_TOKEN); } else return AXIS2_FAILURE; } else if(type == ASSERTION_TYPE_SAML_TOKEN) { rp_saml_token_t *saml_token = NULL; saml_token = (rp_saml_token_t *)neethi_assertion_get_value(assertion, env); if(saml_token) { rp_property_set_value(protection_token, env, saml_token, RP_PROPERTY_SAML_TOKEN); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_t *security_context_token = NULL; security_context_token = (rp_security_context_token_t *) neethi_assertion_get_value(assertion, env); if (security_context_token) { rp_property_set_value(protection_token, env, security_context_token, RP_PROPERTY_SECURITY_CONTEXT_TOKEN); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/wss11_builder.c0000644000175000017500000001251711166304514025156 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL wss11_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_wss11_t *wss11); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_wss11_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_wss11_t *wss11 = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; wss11 = rp_wss11_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); wss11_process_alternatives(env, all, wss11); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_wss11_free, wss11, ASSERTION_TYPE_WSS11); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL wss11_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_wss11_t *wss11) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER) { rp_wss11_set_must_support_ref_key_identifier(wss11, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL) { rp_wss11_set_must_support_ref_issuer_serial(wss11, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI) { rp_wss11_set_must_support_ref_external_uri(wss11, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN) { rp_wss11_set_must_support_ref_embedded_token(wss11, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_THUMBPRINT) { rp_wss11_set_must_support_ref_thumbprint(wss11, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_ENCRYPTED_KEY) { rp_wss11_set_must_support_ref_encryptedkey(wss11, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_SIGNATURE_CONFIRMATION) { rp_wss11_set_require_signature_confirmation(wss11, env, AXIS2_TRUE); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/algorithmsuite_builder.c0000644000175000017500000000540011166304514027231 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_algorithmsuite_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_algorithmsuite_t *algorithmsuite = NULL; axiom_node_t *child_node = NULL; axiom_node_t *algo_node = NULL; axiom_element_t *algo_element = NULL; neethi_assertion_t *assertion = NULL; algorithmsuite = rp_algorithmsuite_create(env); child_node = axiom_node_get_first_element(node, env); if (child_node) { algo_node = axiom_node_get_first_element(child_node, env); if (!algo_node) { return NULL; } } else { return NULL; } if (axiom_node_get_node_type(algo_node, env) == AXIOM_ELEMENT) { algo_element = (axiom_element_t *) axiom_node_get_data_element(algo_node, env); if (algo_element) { axis2_status_t status = AXIS2_FAILURE; axis2_char_t *algosuite_string = NULL; algosuite_string = axiom_element_get_localname(algo_element, env); if (!algosuite_string) { return NULL; } status = rp_algorithmsuite_set_algosuite(algorithmsuite, env, algosuite_string); if(AXIS2_FAILURE == status){ return NULL; } assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_algorithmsuite_free, algorithmsuite, ASSERTION_TYPE_ALGORITHM_SUITE); return assertion; } else return NULL; } else return NULL; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/signed_encrypted_parts_builder.c0000644000175000017500000001636511166304514030744 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include static rp_header_t *AXIS2_CALL rp_signed_encrypted_parts_builder_build_header( axiom_element_t *element, const axutil_env_t *env); static axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_builder_set_properties( axiom_node_t *node, axiom_element_t *element, axis2_char_t *local_name, rp_signed_encrypted_parts_t *signed_encrypted_parts, const axutil_env_t *env); /** * Builts EncryptedParts or SignedParts assertion * @param env Pointer to environment struct * @param node Assertion node * @param element Assertion element * @param is_signed boolean showing whether signing or encryption * @returns neethi assertion created. NULL if failure. */ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_signed_encrypted_parts_builder_build( const axutil_env_t *env, axiom_node_t *parts, axiom_element_t *parts_ele, axis2_bool_t is_signed) { rp_signed_encrypted_parts_t *signed_encrypted_parts = NULL; axiom_children_iterator_t *children_iter = NULL; neethi_assertion_t *assertion = NULL; axis2_status_t status = AXIS2_SUCCESS; signed_encrypted_parts = rp_signed_encrypted_parts_create(env); if (!signed_encrypted_parts) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot create signed_encrypted_parts."); return NULL; } rp_signed_encrypted_parts_set_signedparts(signed_encrypted_parts, env, is_signed); children_iter = axiom_element_get_children(parts_ele, env, parts); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *local_name = NULL; node = axiom_children_iterator_next(children_iter, env); if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (ele) { local_name = axiom_element_get_localname(ele, env); if (local_name) { status = rp_signed_encrypted_parts_builder_set_properties (node, ele, local_name, signed_encrypted_parts, env); if (status != AXIS2_SUCCESS) { rp_signed_encrypted_parts_free (signed_encrypted_parts, env); signed_encrypted_parts = NULL; AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot create signed_encrypted_parts. " "Error in processing child element %s", local_name); return NULL; } } } } } } } assertion = neethi_assertion_create_with_args( env, (AXIS2_FREE_VOID_ARG)rp_signed_encrypted_parts_free, signed_encrypted_parts, ASSERTION_TYPE_SIGNED_ENCRYPTED_PARTS); return assertion; } static axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_builder_set_properties( axiom_node_t *node, axiom_element_t *element, axis2_char_t *local_name, rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t *env) { axis2_char_t *ns = NULL; axutil_qname_t *node_qname = NULL; node_qname = axiom_element_get_qname(element, env, node); if(!node_qname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element %s.", local_name); return AXIS2_FAILURE; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element %s.", local_name); return AXIS2_FAILURE; } /* process assertions common for WS-SecPolicy 1.1 and 1.2 */ if(!(axutil_strcmp(ns, RP_SP_NS_11) && axutil_strcmp(ns, RP_SP_NS_12))) { /* this assertion is in WS-SecurityPolicy namespace */ if(!strcmp(local_name, RP_BODY)) { rp_signed_encrypted_parts_set_body(signed_encrypted_parts, env, AXIS2_TRUE); return AXIS2_SUCCESS; } else if(!strcmp(local_name, RP_HEADER)) { rp_header_t *header = NULL; header = rp_signed_encrypted_parts_builder_build_header(element, env); if(!header) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Failed to process Header Assertion."); return AXIS2_FAILURE; } return rp_signed_encrypted_parts_add_header(signed_encrypted_parts, env, header); } } /* process assertions specific to WS-SecPolicy 1.2 */ if(!axutil_strcmp(ns, RP_SP_NS_12)) { if(!strcmp(local_name, RP_ATTACHMENTS)) { rp_signed_encrypted_parts_set_attachments(signed_encrypted_parts, env, AXIS2_TRUE); return AXIS2_SUCCESS; } } /* either namespace or assertion is not understood */ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s with namespace %s", local_name, ns); return AXIS2_FAILURE; } static rp_header_t *AXIS2_CALL rp_signed_encrypted_parts_builder_build_header( axiom_element_t *element, const axutil_env_t *env) { rp_header_t *header = NULL; axis2_char_t *name = NULL; axis2_char_t *nspace = NULL; name = axiom_element_get_attribute_value_by_name(element, env, RP_NAME); nspace = axiom_element_get_attribute_value_by_name(element, env, RP_NAMESPACE); if (!nspace) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Header assertion should have namespace associated with it."); return NULL; } header = rp_header_create(env); if (!header) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot create rp_header structure. Insufficient memory."); return NULL; } if (name) { rp_header_set_name(header, env, name); } rp_header_set_namespace(header, env, nspace); return header; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/transport_token_builder.c0000644000175000017500000001161211166304514027427 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL transport_token_process_alternatives( const axutil_env_t * env, neethi_all_t * all, rp_property_t * transport_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_transport_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element) { rp_property_t *transport_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; transport_token = rp_property_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); transport_token_process_alternatives(env, all, transport_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_property_free, transport_token, ASSERTION_TYPE_TRANSPORT_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL transport_token_process_alternatives( const axutil_env_t * env, neethi_all_t * all, rp_property_t * transport_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_HTTPS_TOKEN) { rp_https_token_t *https_token = NULL; https_token = (rp_https_token_t *) neethi_assertion_get_value(assertion, env); if (https_token) { rp_property_set_value(transport_token, env, https_token, RP_PROPERTY_HTTPS_TOKEN); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/Makefile.am0000644000175000017500000000213311166304514024353 0ustar00manjulamanjula00000000000000TESTS = noinst_LTLIBRARIES = librp_builder.la librp_builder_la_SOURCES = algorithmsuite_builder.c \ layout_builder.c \ supporting_tokens_builder.c \ transport_binding_builder.c username_token_builder.c \ wss10_builder.c transport_token_builder.c \ token_identifier.c https_token_builder.c rampart_config_builder.c \ asymmetric_binding_builder.c x509_token_builder.c initiator_token_builder.c \ recipient_token_builder.c signed_encrypted_parts_builder.c secpolicy_builder.c \ symmetric_binding_builder.c protection_token_builder.c signature_token_builder.c \ encryption_token_builder.c wss11_builder.c trust10_builder.c \ bootstrap_policy_builder.c security_context_token_builder.c \ issued_token_builder.c saml_token_builder.c librp_builder_la_LIBADD = ../../../../axiom/src/om/libaxis2_axiom.la \ ../../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../include \ -I ../../../../util/include \ -I ../../../../axiom/include \ -I ../../../../include axis2c-src-1.6.0/neethi/src/secpolicy/builder/Makefile.in0000644000175000017500000004567411172017200024373 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = src/secpolicy/builder DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = LTLIBRARIES = $(noinst_LTLIBRARIES) librp_builder_la_DEPENDENCIES = \ ../../../../axiom/src/om/libaxis2_axiom.la \ ../../../../util/src/libaxutil.la am_librp_builder_la_OBJECTS = algorithmsuite_builder.lo \ layout_builder.lo supporting_tokens_builder.lo \ transport_binding_builder.lo username_token_builder.lo \ wss10_builder.lo transport_token_builder.lo \ token_identifier.lo https_token_builder.lo \ rampart_config_builder.lo asymmetric_binding_builder.lo \ x509_token_builder.lo initiator_token_builder.lo \ recipient_token_builder.lo signed_encrypted_parts_builder.lo \ secpolicy_builder.lo symmetric_binding_builder.lo \ protection_token_builder.lo signature_token_builder.lo \ encryption_token_builder.lo wss11_builder.lo \ trust10_builder.lo bootstrap_policy_builder.lo \ security_context_token_builder.lo issued_token_builder.lo \ saml_token_builder.lo librp_builder_la_OBJECTS = $(am_librp_builder_la_OBJECTS) DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(librp_builder_la_SOURCES) DIST_SOURCES = $(librp_builder_la_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ noinst_LTLIBRARIES = librp_builder.la librp_builder_la_SOURCES = algorithmsuite_builder.c \ layout_builder.c \ supporting_tokens_builder.c \ transport_binding_builder.c username_token_builder.c \ wss10_builder.c transport_token_builder.c \ token_identifier.c https_token_builder.c rampart_config_builder.c \ asymmetric_binding_builder.c x509_token_builder.c initiator_token_builder.c \ recipient_token_builder.c signed_encrypted_parts_builder.c secpolicy_builder.c \ symmetric_binding_builder.c protection_token_builder.c signature_token_builder.c \ encryption_token_builder.c wss11_builder.c trust10_builder.c \ bootstrap_policy_builder.c security_context_token_builder.c \ issued_token_builder.c saml_token_builder.c librp_builder_la_LIBADD = ../../../../axiom/src/om/libaxis2_axiom.la \ ../../../../util/src/libaxutil.la INCLUDES = -I$(top_builddir)/include \ -I ../../../include \ -I ../../../../util/include \ -I ../../../../axiom/include \ -I ../../../../include all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/secpolicy/builder/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu src/secpolicy/builder/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstLTLIBRARIES: -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ test "$$dir" != "$$p" || dir=.; \ echo "rm -f \"$${dir}/so_locations\""; \ rm -f "$${dir}/so_locations"; \ done librp_builder.la: $(librp_builder_la_OBJECTS) $(librp_builder_la_DEPENDENCIES) $(LINK) $(librp_builder_la_OBJECTS) $(librp_builder_la_LIBADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/algorithmsuite_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/asymmetric_binding_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/bootstrap_policy_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/encryption_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/https_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/initiator_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/issued_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/layout_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/protection_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rampart_config_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/recipient_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/saml_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secpolicy_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/security_context_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signature_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/signed_encrypted_parts_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/supporting_tokens_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symmetric_binding_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/token_identifier.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transport_binding_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/transport_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/trust10_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/username_token_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wss10_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wss11_builder.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/x509_token_builder.Plo@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(LTLIBRARIES) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-noinstLTLIBRARIES ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/src/secpolicy/builder/transport_binding_builder.c0000644000175000017500000001724211166304514027726 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL transport_binding_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_transport_binding_t *transport_binding); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_transport_binding_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_transport_binding_t *transport_binding = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; transport_binding = rp_transport_binding_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); transport_binding_process_alternatives(env, all, transport_binding); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_transport_binding_free, transport_binding, ASSERTION_TYPE_TRANSPORT_BINDING); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL transport_binding_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_transport_binding_t *transport_binding) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; rp_binding_commons_t *commons = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); commons = rp_binding_commons_create(env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_TRANSPORT_TOKEN) { rp_property_t *transport_token = NULL; transport_token = (rp_property_t *) neethi_assertion_get_value(assertion, env); if (transport_token) { rp_transport_binding_set_transport_token(transport_binding, env, transport_token); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_ALGORITHM_SUITE) { rp_algorithmsuite_t *algorithmsuite = NULL; algorithmsuite = (rp_algorithmsuite_t *) neethi_assertion_get_value(assertion, env); if (algorithmsuite) { rp_binding_commons_set_algorithmsuite(commons, env, algorithmsuite); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_INCLUDE_TIMESTAMP) { rp_binding_commons_set_include_timestamp(commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_LAYOUT) { rp_layout_t *layout = NULL; layout = (rp_layout_t *) neethi_assertion_get_value(assertion, env); if (layout) { rp_binding_commons_set_layout(commons, env, layout); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_SUPPORTING_TOKENS) { rp_supporting_tokens_t *supporting_tokens = NULL; supporting_tokens = (rp_supporting_tokens_t *) neethi_assertion_get_value(assertion, env); if (supporting_tokens) { rp_property_type_t type; type = rp_supporting_tokens_get_type(supporting_tokens, env); if (type == RP_PROPERTY_SIGNED_SUPPORTING_TOKEN) { rp_binding_commons_set_signed_supporting_tokens(commons, env, supporting_tokens); } else if (type == RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN) { rp_binding_commons_set_signed_endorsing_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN) { rp_binding_commons_set_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN) { rp_binding_commons_set_endorsing_supporting_tokens (commons, env, supporting_tokens); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } rp_transport_binding_set_binding_commons(transport_binding, env, commons); return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/x509_token_builder.c0000644000175000017500000001525711166304514026111 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL x509_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_x509_token_t *x509_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_x509_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_x509_token_t *x509_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; axis2_char_t *inclusion_value = NULL; axutil_qname_t *qname = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; x509_token = rp_x509_token_create(env); qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_11, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; if(!inclusion_value) { /* we can try whether WS-SP1.2 specific inclusion value */ qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_12, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; } rp_x509_token_set_inclusion(x509_token, env, inclusion_value); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); x509_token_process_alternatives(env, all, x509_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_x509_token_free, x509_token, ASSERTION_TYPE_X509_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL x509_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_x509_token_t *x509_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); type = neethi_assertion_get_type(assertion, env); if(type == ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10) { rp_x509_token_set_derivedkey(x509_token, env, DERIVEKEY_NEEDED); rp_x509_token_set_derivedkey_version(x509_token, env, DERIVEKEY_VERSION_SC10); } else if(type == ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC13) { rp_x509_token_set_derivedkey(x509_token, env, DERIVEKEY_NEEDED); rp_x509_token_set_derivedkey_version(x509_token, env, DERIVEKEY_VERSION_SC13); } else if (type == ASSERTION_TYPE_REQUIRE_KEY_IDENTIFIRE_REFERENCE) { rp_x509_token_set_require_key_identifier_reference(x509_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_ISSUER_SERIAL_REFERENCE) { rp_x509_token_set_require_issuer_serial_reference(x509_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_EMBEDDED_TOKEN_REFERENCE) { rp_x509_token_set_require_embedded_token_reference(x509_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_THUMBPRINT_REFERENCE) { rp_x509_token_set_require_thumb_print_reference(x509_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_WSS_X509_V1_TOKEN_10) { rp_x509_token_set_token_version_and_type(x509_token, env, RP_WSS_X509_V1_TOKEN_10); } else if (type == ASSERTION_TYPE_WSS_X509_V3_TOKEN_10) { rp_x509_token_set_token_version_and_type(x509_token, env, RP_WSS_X509_V3_TOKEN_10); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/username_token_builder.c0000644000175000017500000001262211166304514027214 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ static axis2_status_t AXIS2_CALL username_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_username_token_t *username_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_username_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_username_token_t *username_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; axis2_char_t *inclusion_value = NULL; axutil_qname_t *qname = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; username_token = rp_username_token_create(env); qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_11, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; if(!inclusion_value) { /* we can try whether WS-SP1.2 specific inclusion value */ qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_12, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; } rp_username_token_set_inclusion(username_token, env, inclusion_value); child_node = axiom_node_get_first_element(node, env); if (!child_node) { assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, username_token, ASSERTION_TYPE_USERNAME_TOKEN); return assertion; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); username_token_process_alternatives(env, all, username_token); assertion = neethi_assertion_create_with_args( env,(AXIS2_FREE_VOID_ARG)rp_username_token_free, username_token, ASSERTION_TYPE_USERNAME_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } static axis2_status_t AXIS2_CALL username_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_username_token_t *username_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_WSS_USERNAME_TOKEN_10) { rp_username_token_set_useUTprofile10(username_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_WSS_USERNAME_TOKEN_11) { rp_username_token_set_useUTprofile11(username_token, env, AXIS2_TRUE); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/signature_token_builder.c0000644000175000017500000001461311166304514027400 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL signature_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *signature_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_signature_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_property_t *signature_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; signature_token = rp_property_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); signature_token_process_alternatives(env, all, signature_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_property_free, signature_token, ASSERTION_TYPE_SIGNATURE_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL signature_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_property_t *signature_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) neethi_assertion_get_value(assertion, env); if (x509_token) { rp_property_set_value(signature_token, env, x509_token, RP_PROPERTY_X509_TOKEN); } else return AXIS2_FAILURE; } else if(type == ASSERTION_TYPE_ISSUED_TOKEN) { rp_issued_token_t *issued_token = NULL; issued_token = (rp_issued_token_t *)neethi_assertion_get_value(assertion, env); if(issued_token) { rp_property_set_value(signature_token, env, issued_token, RP_PROPERTY_ISSUED_TOKEN); } else return AXIS2_FAILURE; } else if(type == ASSERTION_TYPE_SAML_TOKEN) { rp_saml_token_t *saml_token = NULL; saml_token = (rp_saml_token_t *)neethi_assertion_get_value(assertion, env); if(saml_token) { rp_property_set_value(signature_token, env, saml_token, RP_PROPERTY_SAML_TOKEN); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_t *security_context_token = NULL; security_context_token = (rp_security_context_token_t *) neethi_assertion_get_value(assertion, env); if (security_context_token) { rp_property_set_value(signature_token, env, security_context_token, RP_PROPERTY_SECURITY_CONTEXT_TOKEN); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/supporting_tokens_builder.c0000644000175000017500000001616011166304514027773 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL supporting_tokens_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_supporting_tokens_t *supporting_tokens); axis2_bool_t AXIS2_CALL is_token_assertion( const axutil_env_t *env, neethi_assertion_type_t type); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_supporting_tokens_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_supporting_tokens_t *supporting_tokens = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; axis2_char_t *local_name = NULL; neethi_policy_t *normalized_policy = NULL; supporting_tokens = rp_supporting_tokens_create(env); local_name = axiom_element_get_localname(element, env); if (local_name) { if (axutil_strcmp(local_name, RP_SIGNED_SUPPORTING_TOKENS) == 0) { rp_supporting_tokens_set_type(supporting_tokens, env, RP_PROPERTY_SIGNED_SUPPORTING_TOKEN); } else if (axutil_strcmp (local_name, RP_SIGNED_ENDORSING_SUPPORTING_TOKENS) == 0) { rp_supporting_tokens_set_type(supporting_tokens, env, RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN); } else if (axutil_strcmp(local_name, RP_SUPPORTING_TOKENS) == 0) { rp_supporting_tokens_set_type(supporting_tokens, env, RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN); } else if (axutil_strcmp (local_name, RP_ENDORSING_SUPPORTING_TOKENS) == 0) { rp_supporting_tokens_set_type(supporting_tokens, env, RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN); } else return NULL; } else return NULL; child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); alternatives = neethi_policy_get_alternatives(normalized_policy, env); neethi_policy_free(policy, env); policy = NULL; component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); supporting_tokens_process_alternatives(env, all, supporting_tokens); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_supporting_tokens_free, supporting_tokens, ASSERTION_TYPE_SUPPORTING_TOKENS); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL supporting_tokens_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_supporting_tokens_t *supporting_tokens) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_ALGORITHM_SUITE) { rp_algorithmsuite_t *algorithmsuite = NULL; algorithmsuite = (rp_algorithmsuite_t *) neethi_assertion_get_value(assertion, env); if (algorithmsuite) { rp_supporting_tokens_set_algorithmsuite(supporting_tokens, env, algorithmsuite); } else return AXIS2_FAILURE; } else if (is_token_assertion(env, type)) { rp_property_t *token = NULL; token = rp_property_create(env); rp_token_identifier_set_token(token, assertion, env); rp_supporting_tokens_add_token(supporting_tokens, env, token); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2_bool_t AXIS2_CALL is_token_assertion( const axutil_env_t *env, neethi_assertion_type_t type) { if (type == ASSERTION_TYPE_USERNAME_TOKEN) { return AXIS2_TRUE; } else if (type == ASSERTION_TYPE_X509_TOKEN) { return AXIS2_TRUE; } else if (type == ASSERTION_TYPE_ISSUED_TOKEN) { return AXIS2_TRUE; } else if (type == ASSERTION_TYPE_SAML_TOKEN) { return AXIS2_TRUE; } else return AXIS2_FALSE; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/wss10_builder.c0000644000175000017500000001142611166304514025153 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL wss10_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_wss10_t *wss10); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_wss10_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_wss10_t *wss10 = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; wss10 = rp_wss10_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); wss10_process_alternatives(env, all, wss10); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_wss10_free, wss10, ASSERTION_TYPE_WSS10); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL wss10_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_wss10_t *wss10) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER) { rp_wss10_set_must_support_ref_key_identifier(wss10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL) { rp_wss10_set_must_support_ref_issuer_serial(wss10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI) { rp_wss10_set_must_support_ref_external_uri(wss10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN) { rp_wss10_set_must_support_ref_embedded_token(wss10, env, AXIS2_TRUE); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/asymmetric_binding_builder.c0000644000175000017500000002313511166304514030045 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL asymmetric_binding_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_asymmetric_binding_t *asymmetric_binding); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_asymmetric_binding_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_asymmetric_binding_t *asymmetric_binding = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; asymmetric_binding = rp_asymmetric_binding_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); alternatives = neethi_policy_get_alternatives(normalized_policy, env); neethi_policy_free(policy, env); policy = NULL; component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); asymmetric_binding_process_alternatives(env, all, asymmetric_binding); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_asymmetric_binding_free, asymmetric_binding, ASSERTION_TYPE_ASSYMMETRIC_BINDING); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL asymmetric_binding_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_asymmetric_binding_t * asymmetric_binding) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; rp_binding_commons_t *commons = NULL; rp_symmetric_asymmetric_binding_commons_t *as_commons = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); commons = rp_binding_commons_create(env); as_commons = rp_symmetric_asymmetric_binding_commons_create(env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_INITIATOR_TOKEN) { rp_property_t *initiator_token = NULL; initiator_token = (rp_property_t *) neethi_assertion_get_value(assertion, env); if (initiator_token) { rp_asymmetric_binding_set_initiator_token(asymmetric_binding, env, initiator_token); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_RECIPIENT_TOKEN) { rp_property_t *recipient_token = NULL; recipient_token = (rp_property_t *) neethi_assertion_get_value(assertion, env); if (recipient_token) { rp_asymmetric_binding_set_recipient_token(asymmetric_binding, env, recipient_token); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_ALGORITHM_SUITE) { rp_algorithmsuite_t *algorithmsuite = NULL; algorithmsuite = (rp_algorithmsuite_t *) neethi_assertion_get_value(assertion, env); if (algorithmsuite) { rp_binding_commons_set_algorithmsuite(commons, env, algorithmsuite); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_INCLUDE_TIMESTAMP) { rp_binding_commons_set_include_timestamp(commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_LAYOUT) { rp_layout_t *layout = NULL; layout = (rp_layout_t *) neethi_assertion_get_value(assertion, env); if (layout) { rp_binding_commons_set_layout(commons, env, layout); } else return AXIS2_FAILURE; } else if (type == ASSERTION_TYPE_ENCRYPT_BEFORE_SIGNING) { rp_symmetric_asymmetric_binding_commons_set_protection_order (as_commons, env, RP_ENCRYPT_BEFORE_SIGNING); } else if (type == ASSERTION_TYPE_SIGN_BEFORE_ENCRYPTING) { rp_symmetric_asymmetric_binding_commons_set_protection_order (as_commons, env, RP_SIGN_BEFORE_ENCRYPTING); } else if (type == ASSERTION_TYPE_ENCRYPT_SIGNATURE) { rp_symmetric_asymmetric_binding_commons_set_signature_protection (as_commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_PROTECT_TOKENS) { rp_symmetric_asymmetric_binding_commons_set_token_protection (as_commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY) { rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signatures (as_commons, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_SUPPORTING_TOKENS) { rp_supporting_tokens_t *supporting_tokens = NULL; supporting_tokens = (rp_supporting_tokens_t *) neethi_assertion_get_value(assertion, env); if (supporting_tokens) { rp_property_type_t type; type = rp_supporting_tokens_get_type(supporting_tokens, env); if (type == RP_PROPERTY_SIGNED_SUPPORTING_TOKEN) { rp_binding_commons_set_signed_supporting_tokens(commons, env, supporting_tokens); } else if (type == RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN) { rp_binding_commons_set_signed_endorsing_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN) { rp_binding_commons_set_supporting_tokens (commons, env, supporting_tokens); } else if (type == RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN) { rp_binding_commons_set_endorsing_supporting_tokens (commons, env, supporting_tokens); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } rp_symmetric_asymmetric_binding_commons_set_binding_commons(as_commons, env, commons); rp_asymmetric_binding_set_symmetric_asymmetric_binding_commons (asymmetric_binding, env, as_commons); return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/saml_token_builder.c0000644000175000017500000001411411166304514026327 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include axis2_status_t AXIS2_CALL saml_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_saml_token_t *saml_token); AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_saml_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_saml_token_t *saml_token = NULL; axis2_char_t *inclusion_value = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; axutil_qname_t *qname = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; saml_token = rp_saml_token_create(env); qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_11, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; if(!inclusion_value) { /* we can try whether WS-SP1.2 specific inclusion value */ qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_12, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; } rp_saml_token_set_inclusion(saml_token, env, inclusion_value); child_node = axiom_node_get_first_element(node, env); if (!child_node) { assertion = neethi_assertion_create(env); neethi_assertion_set_value(assertion, env, saml_token, ASSERTION_TYPE_SAML_TOKEN); return assertion; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); saml_token_process_alternatives(env, all, saml_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_saml_token_free, saml_token, ASSERTION_TYPE_SAML_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL saml_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_saml_token_t *saml_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); type = neethi_assertion_get_type(assertion, env); if(type == ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10) { rp_saml_token_set_derivedkeys(saml_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_KEY_IDENTIFIRE_REFERENCE) { rp_saml_token_set_require_key_identifier_reference(saml_token, env, AXIS2_TRUE); } else if(type == ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V10) { rp_saml_token_set_token_version_and_type(saml_token, env, RP_WSS_SAML_V10_TOKEN_V10); } else if(type == ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V11) { rp_saml_token_set_token_version_and_type(saml_token, env, RP_WSS_SAML_V10_TOKEN_V11); } else if(type == ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V10) { rp_saml_token_set_token_version_and_type(saml_token, env,RP_WSS_SAML_V11_TOKEN_V10); } else if(type == ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V11) { rp_saml_token_set_token_version_and_type(saml_token, env, RP_WSS_SAML_V11_TOKEN_V11); } else if(type == ASSERTION_TYPE_WSS_SAML_V20_TOKEN_V11) { rp_saml_token_set_token_version_and_type(saml_token, env, RP_WSS_SAML_V20_TOKEN_V11); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/issued_token_builder.c0000644000175000017500000001301211166304514026663 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include AXIS2_EXTERN neethi_assertion_t * AXIS2_CALL rp_issued_token_builder_build(const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_issued_token_t *issued_token= NULL; neethi_policy_t *policy= NULL; neethi_policy_t *normalized_policy= NULL; neethi_all_t *all= NULL; axutil_array_list_t *alternatives= NULL; neethi_operator_t *component= NULL; axis2_char_t *inclusion_value= NULL; axutil_qname_t *qname= NULL; axiom_node_t *issuer_node= NULL; axiom_element_t *issuer_ele= NULL; axiom_element_t *issuer_first_child_ele= NULL; axiom_node_t *issuer_first_child_node= NULL; axiom_node_t *req_sec_tok_template_node= NULL; axiom_element_t *req_sec_tok_template_ele= NULL; axiom_node_t *policy_node= NULL; axiom_element_t *policy_ele= NULL; neethi_assertion_t *assertion= NULL; issued_token = rp_issued_token_create(env); qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_11, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; if(!inclusion_value) { /* we can try whether WS-SP1.2 specific inclusion value */ qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, RP_SP_NS_12, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; } if (inclusion_value) { rp_issued_token_set_inclusion(issued_token, env, inclusion_value); } qname = axutil_qname_create(env, RP_ISSUER, RP_SP_NS_11, RP_SP_PREFIX); issuer_ele = axiom_element_get_first_child_with_qname(element, env, qname, node, &issuer_node); if (issuer_ele) { issuer_first_child_ele = axiom_element_get_first_element(issuer_ele, env, issuer_node, &issuer_first_child_node); if (issuer_first_child_ele) { rp_issued_token_set_issuer_epr(issued_token, env, issuer_first_child_node); } } axutil_qname_free(qname, env); qname = NULL; qname = axutil_qname_create(env, RP_REQUEST_SEC_TOKEN_TEMPLATE, RP_SP_NS_11, RP_SP_PREFIX); req_sec_tok_template_ele = axiom_element_get_first_child_with_qname( element, env, qname, node, &req_sec_tok_template_node); if (req_sec_tok_template_ele) { rp_issued_token_set_requested_sec_token_template(issued_token, env, req_sec_tok_template_node); } else { return NULL; } axutil_qname_free(qname, env); qname = NULL; qname = axutil_qname_create(env, RP_POLICY, RP_POLICY_NS, RP_POLICY_PREFIX); policy_ele = axiom_element_get_first_child_with_qname(element, env, qname, node, &policy_node); if (policy_ele) { policy = neethi_engine_get_policy(env, policy_node, policy_ele); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); if(AXIS2_FAILURE == rp_issued_token_builder_process_alternatives(env, all, issued_token)) return NULL; assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_issued_token_free, issued_token, ASSERTION_TYPE_ISSUED_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } assertion = neethi_assertion_create(env); neethi_assertion_set_value( assertion, env, issued_token, ASSERTION_TYPE_ISSUED_TOKEN); return assertion; } AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_builder_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_issued_token_t *issued_token) { neethi_operator_t *operator= NULL; axutil_array_list_t *arraylist= NULL; neethi_assertion_t *assertion= NULL; neethi_assertion_type_t type; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10) { rp_issued_token_set_derivedkeys(issued_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_EXTERNAL_REFERENCE) { rp_issued_token_set_require_exernal_reference(issued_token, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_INTERNAL_REFERENCE) { rp_issued_token_set_require_internal_reference(issued_token, env, AXIS2_TRUE); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/layout_builder.c0000644000175000017500000000462311166304514025514 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_layout_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_layout_t *layout = NULL; axiom_node_t *child_node = NULL; axiom_node_t *layout_node = NULL; axiom_element_t *layout_element = NULL; neethi_assertion_t *assertion = NULL; layout = rp_layout_create(env); child_node = axiom_node_get_first_element(node, env); if (child_node) { layout_node = axiom_node_get_first_element(child_node, env); if (!layout_node) { return NULL; } } else { return NULL; } if (axiom_node_get_node_type(layout_node, env) == AXIOM_ELEMENT) { layout_element = (axiom_element_t *) axiom_node_get_data_element(layout_node, env); if (layout_element) { axis2_char_t *local_name = NULL; local_name = axiom_element_get_localname(layout_element, env); if (!local_name) return NULL; rp_layout_set_value(layout, env, local_name); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_layout_free, layout, ASSERTION_TYPE_LAYOUT); return assertion; } else return NULL; } else return NULL; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/initiator_token_builder.c0000644000175000017500000001165611166304514027405 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL initiator_token_process_alternatives( const axutil_env_t * env, neethi_all_t * all, rp_property_t * initiator_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_initiator_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element) { rp_property_t *initiator_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; initiator_token = rp_property_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); initiator_token_process_alternatives(env, all, initiator_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_property_free, initiator_token, ASSERTION_TYPE_INITIATOR_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL initiator_token_process_alternatives( const axutil_env_t * env, neethi_all_t * all, rp_property_t * initiator_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (value) { if (type == ASSERTION_TYPE_X509_TOKEN) { rp_x509_token_t *x509_token = NULL; x509_token = (rp_x509_token_t *) neethi_assertion_get_value(assertion, env); if (x509_token) { rp_property_set_value(initiator_token, env, x509_token, RP_PROPERTY_X509_TOKEN); } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/security_context_token_builder.c0000644000175000017500000002356311166304514031016 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL security_context_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_security_context_token_t * security_context_token); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_security_context_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element, axis2_char_t *sp_ns_uri, axis2_bool_t is_secure_conversation_token) { rp_security_context_token_t *security_context_token = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axiom_children_iterator_t *children_iter = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; axis2_char_t *inclusion_value = NULL; axutil_qname_t *qname = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; security_context_token = rp_security_context_token_create(env); qname = axutil_qname_create(env, RP_INCLUDE_TOKEN, sp_ns_uri, RP_SP_PREFIX); inclusion_value = axiom_element_get_attribute_value(element, env, qname); axutil_qname_free(qname, env); qname = NULL; rp_security_context_token_set_inclusion(security_context_token, env, inclusion_value); rp_security_context_token_set_is_secure_conversation_token( security_context_token, env, is_secure_conversation_token); if(!axutil_strcmp(sp_ns_uri, RP_SP_NS_11)) { rp_security_context_token_set_sc10_security_context_token( security_context_token, env, AXIS2_TRUE); } else { rp_security_context_token_set_sc10_security_context_token( security_context_token, env, AXIS2_FALSE); } child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } children_iter = axiom_element_get_children(element, env, node); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { child_node = axiom_children_iterator_next(children_iter, env); if (child_node) { if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { axis2_char_t *localname = NULL; localname = axiom_element_get_localname(child_element, env); if (axutil_strcmp(localname, RP_ISSUER) == 0) { axis2_char_t *ns = NULL; axutil_qname_t *node_qname = NULL; node_qname = axiom_element_get_qname(child_element, env, child_node); if(!node_qname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element %s.", localname); return NULL; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element %s.", localname); return NULL; } if(!(axutil_strcmp(ns, RP_SP_NS_11) && axutil_strcmp(ns, RP_SP_NS_12))) { axis2_char_t *issuer = NULL; issuer = axiom_element_get_text(child_element, env, child_node); rp_security_context_token_set_issuer( security_context_token, env, issuer); } else { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s with namespace %s", localname, ns); return NULL; } } else { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); security_context_token_process_alternatives(env, all, security_context_token); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_security_context_token_free, security_context_token, ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; } } } } } } return assertion; } axis2_status_t AXIS2_CALL security_context_token_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_security_context_token_t * security_context_token) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); type = neethi_assertion_get_type(assertion, env); if(type == ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10) { rp_security_context_token_set_derivedkey(security_context_token, env, DERIVEKEY_NEEDED); rp_security_context_token_set_derivedkey_version( security_context_token, env, DERIVEKEY_VERSION_SC10); } else if(type == ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC13) { rp_security_context_token_set_derivedkey(security_context_token, env, DERIVEKEY_NEEDED); rp_security_context_token_set_derivedkey_version( security_context_token, env, DERIVEKEY_VERSION_SC13); } else if(type == ASSERTION_TYPE_REQUIRE_EXTERNAL_URI) { rp_security_context_token_set_require_external_uri_ref(security_context_token, env, AXIS2_TRUE); } else if(type == ASSERTION_TYPE_SC10_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_set_sc10_security_context_token(security_context_token, env, AXIS2_TRUE); } else if(type == ASSERTION_TYPE_SC13_SECURITY_CONTEXT_TOKEN) { rp_security_context_token_set_sc10_security_context_token(security_context_token, env, AXIS2_FALSE); } else if(type == ASSERTION_TYPE_ISSUER) { axis2_char_t *issuer = NULL; issuer = (axis2_char_t *)neethi_assertion_get_value(assertion, env); rp_security_context_token_set_issuer(security_context_token, env, issuer); } else if(type == ASSERTION_TYPE_BOOTSTRAP_POLICY) { neethi_policy_t *bootstrap_policy = NULL; bootstrap_policy = (neethi_policy_t *)neethi_assertion_get_value(assertion, env); rp_security_context_token_set_bootstrap_policy(security_context_token, env, bootstrap_policy); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/trust10_builder.c0000644000175000017500000001162611166304514025522 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include /*private functions*/ axis2_status_t AXIS2_CALL trust10_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_trust10_t *trust10); /***********************************/ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_trust10_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_trust10_t *trust10 = NULL; neethi_policy_t *policy = NULL; axiom_node_t *child_node = NULL; axiom_element_t *child_element = NULL; axutil_array_list_t *alternatives = NULL; neethi_operator_t *component = NULL; neethi_all_t *all = NULL; neethi_assertion_t *assertion = NULL; neethi_policy_t *normalized_policy = NULL; trust10 = rp_trust10_create(env); child_node = axiom_node_get_first_element(node, env); if (!child_node) { return NULL; } if (axiom_node_get_node_type(child_node, env) == AXIOM_ELEMENT) { child_element = (axiom_element_t *) axiom_node_get_data_element(child_node, env); if (child_element) { policy = neethi_engine_get_policy(env, child_node, child_element); if (!policy) { return NULL; } normalized_policy = neethi_engine_get_normalize(env, AXIS2_FALSE, policy); neethi_policy_free(policy, env); policy = NULL; alternatives = neethi_policy_get_alternatives(normalized_policy, env); component = (neethi_operator_t *) axutil_array_list_get(alternatives, env, 0); all = (neethi_all_t *) neethi_operator_get_value(component, env); trust10_process_alternatives(env, all, trust10); assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_trust10_free, trust10, ASSERTION_TYPE_TRUST10); neethi_policy_free(normalized_policy, env); normalized_policy = NULL; return assertion; } else return NULL; } else return NULL; } axis2_status_t AXIS2_CALL trust10_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_trust10_t *trust10) { neethi_operator_t *operator = NULL; axutil_array_list_t *arraylist = NULL; neethi_assertion_t *assertion = NULL; neethi_assertion_type_t type; void *value = NULL; int i = 0; arraylist = neethi_all_get_policy_components(all, env); for (i = 0; i < axutil_array_list_size(arraylist, env); i++) { operator =(neethi_operator_t *) axutil_array_list_get(arraylist, env, i); assertion = (neethi_assertion_t *) neethi_operator_get_value(operator, env); value = neethi_assertion_get_value(assertion, env); type = neethi_assertion_get_type(assertion, env); if (type == ASSERTION_TYPE_MUST_SUPPORT_CLIENT_CHALLENGE) { rp_trust10_set_must_support_client_challenge(trust10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_SERVER_CHALLENGE) { rp_trust10_set_must_support_server_challenge(trust10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_CLIENT_ENTROPY) { rp_trust10_set_require_client_entropy(trust10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_REQUIRE_SERVER_ENTROPHY) { rp_trust10_set_require_server_entropy(trust10, env, AXIS2_TRUE); } else if (type == ASSERTION_TYPE_MUST_SUPPORT_ISSUED_TOKENS) { rp_trust10_set_must_support_issued_token(trust10, env, AXIS2_TRUE); } else return AXIS2_FAILURE; } return AXIS2_SUCCESS; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/https_token_builder.c0000644000175000017500000000425111166304514026536 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include #include #include #include #include #include AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_https_token_builder_build( const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element) { rp_https_token_t *https_token = NULL; neethi_assertion_t *assertion = NULL; axis2_char_t *value = NULL; https_token = rp_https_token_create(env); value = axiom_element_get_attribute_value_by_name(element, env, RP_REQUIRE_CLIENT_CERTIFICATE); if (value) { if (axutil_strcmp(value, "true") == 0) { rp_https_token_set_require_client_certificate(https_token, env, AXIS2_TRUE); } else if (axutil_strcmp(value, "false") == 0) { rp_https_token_set_require_client_certificate(https_token, env, AXIS2_FALSE); } else return NULL; } assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_https_token_free, https_token, ASSERTION_TYPE_HTTPS_TOKEN); return assertion; } axis2c-src-1.6.0/neethi/src/secpolicy/builder/rampart_config_builder.c0000644000175000017500000002135111166304514027167 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include /*private functions*/ axis2_status_t AXIS2_CALL rp_rampart_config_builder_populate( const axutil_env_t *env, rp_rampart_config_t *rampart_config, axiom_node_t *node, axiom_element_t *element, axis2_char_t *local_name); AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_rampart_config_builder_build( const axutil_env_t *env, axiom_node_t *config, axiom_element_t *config_ele) { rp_rampart_config_t *rampart_config = NULL; axis2_status_t status = AXIS2_SUCCESS; axiom_children_iterator_t *children_iter = NULL; neethi_assertion_t *assertion = NULL; rampart_config = rp_rampart_config_create(env); if (!rampart_config) { return NULL; } children_iter = axiom_element_get_children(config_ele, env, config); if (children_iter) { while (axiom_children_iterator_has_next(children_iter, env)) { axiom_node_t *node = NULL; axiom_element_t *ele = NULL; axis2_char_t *local_name = NULL; node = axiom_children_iterator_next(children_iter, env); if (node) { if (axiom_node_get_node_type(node, env) == AXIOM_ELEMENT) { ele = (axiom_element_t *) axiom_node_get_data_element(node, env); if (ele) { local_name = axiom_element_get_localname(ele, env); if (local_name) { status = rp_rampart_config_builder_populate(env, rampart_config, node, ele, local_name); if (status != AXIS2_SUCCESS) { return NULL; } } } } } } } assertion = neethi_assertion_create_with_args(env, (AXIS2_FREE_VOID_ARG)rp_rampart_config_free, rampart_config, ASSERTION_TYPE_RAMPART_CONFIG); return assertion; } axis2_status_t AXIS2_CALL rp_rampart_config_builder_populate( const axutil_env_t *env, rp_rampart_config_t *rampart_config, axiom_node_t *node, axiom_element_t *element, axis2_char_t *local_name) { axis2_char_t *ns = NULL; axutil_qname_t *node_qname = NULL; node_qname = axiom_element_get_qname(element, env, node); if(!node_qname) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get qname from element %s.", local_name); return AXIS2_FAILURE; } ns = axutil_qname_get_uri(node_qname, env); if(!ns) { AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Cannot get namespace from element %s.", local_name); return AXIS2_FAILURE; } if(!axutil_strcmp(ns, RP_RAMPART_NS)) { if(!axutil_strcmp(local_name, RP_USER)) { axis2_char_t *user = NULL; user = axiom_element_get_text(element, env, node); return rp_rampart_config_set_user(rampart_config, env, user); } else if(!axutil_strcmp(local_name, RP_ENCRYPTION_USER)) { axis2_char_t *encryption_user = NULL; encryption_user = axiom_element_get_text(element, env, node); return rp_rampart_config_set_encryption_user(rampart_config, env,encryption_user); } else if(!axutil_strcmp(local_name, RP_PASSWORD_CALLBACK_CLASS)) { axis2_char_t *password_callback_class = NULL; password_callback_class = axiom_element_get_text(element, env, node); return rp_rampart_config_set_password_callback_class( rampart_config, env, password_callback_class); } else if(!axutil_strcmp(local_name, RP_AUTHN_MODULE_NAME)) { axis2_char_t *authenticate_module = NULL; authenticate_module = axiom_element_get_text(element, env, node); return rp_rampart_config_set_authenticate_module( rampart_config, env, authenticate_module); } else if(!axutil_strcmp(local_name, RP_RD_MODULE)) { axis2_char_t *replay_detector = NULL; replay_detector = axiom_element_get_text(element, env, node); return rp_rampart_config_set_replay_detector(rampart_config, env, replay_detector); } else if(!axutil_strcmp(local_name, RP_SCT_MODULE)) { axis2_char_t *sct_module = NULL; sct_module = axiom_element_get_text(element, env, node); return rp_rampart_config_set_sct_provider(rampart_config, env, sct_module); } else if(!axutil_strcmp(local_name, RP_PASSWORD_TYPE)) { axis2_char_t *password_type = NULL; password_type = axiom_element_get_text(element, env, node); return rp_rampart_config_set_password_type(rampart_config, env, password_type); } else if(!axutil_strcmp(local_name, RP_CERTIFICATE)) { axis2_char_t *certificate_file = NULL; certificate_file = axiom_element_get_text(element, env, node); return rp_rampart_config_set_certificate_file(rampart_config, env, certificate_file); } else if(!axutil_strcmp(local_name, RP_RECEIVER_CERTIFICATE)) { axis2_char_t *receiver_certificate_file = NULL; receiver_certificate_file = axiom_element_get_text(element, env, node); return rp_rampart_config_set_receiver_certificate_file( rampart_config, env, receiver_certificate_file); } else if(!axutil_strcmp(local_name, RP_PRIVATE_KEY)) { axis2_char_t *private_key_file = NULL; private_key_file = axiom_element_get_text(element, env, node); return rp_rampart_config_set_private_key_file(rampart_config, env, private_key_file); } else if(!axutil_strcmp(local_name, RP_PKCS12_KEY_STORE)) { axis2_char_t *pkcs12_key_store = NULL; pkcs12_key_store = axiom_element_get_text(element, env, node); return rp_rampart_config_set_pkcs12_file(rampart_config, env, pkcs12_key_store); } else if(!axutil_strcmp(local_name, RP_TIME_TO_LIVE)) { axis2_char_t *time_to_live = NULL; time_to_live = axiom_element_get_text(element, env, node); return rp_rampart_config_set_time_to_live(rampart_config, env, time_to_live); } else if(!axutil_strcmp(local_name, RP_CLOCK_SKEW_BUFFER)) { axis2_char_t *clock_skew_buffer = NULL; clock_skew_buffer = axiom_element_get_text(element, env, node); return rp_rampart_config_set_clock_skew_buffer(rampart_config, env, clock_skew_buffer); } else if(!axutil_strcmp(local_name, RP_NEED_MILLISECOND_PRECISION)) { axis2_char_t *need_ms_precision = NULL; need_ms_precision = axiom_element_get_text(element, env, node); return rp_rampart_config_set_need_millisecond_precision( rampart_config, env, need_ms_precision); } else if(!axutil_strcmp(local_name, RP_RD)) { axis2_char_t *rd_val = NULL; rd_val = axiom_element_get_text(element, env, node); return rp_rampart_config_set_rd_val(rampart_config, env, rd_val); } } /* either the assertion or the namespace is not identified */ AXIS2_LOG_ERROR(env->log, AXIS2_LOG_SI, "[neethi] Unknown Assertion %s with namespace %s", local_name, ns); return AXIS2_FAILURE; } axis2c-src-1.6.0/neethi/NEWS0000644000175000017500000000000011166304521016574 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/test/0000777000175000017500000000000011172017536017076 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/test/Makefile.am0000644000175000017500000000053511166304503021125 0ustar00manjulamanjula00000000000000TESTS = noinst_PROGRAMS = test AM_CFLAGS = -g -O2 -pthread test_SOURCES = test.c INCLUDES = -I$(top_builddir)/include \ -I ../../util/include \ -I ../../axiom/include \ -I ../../include test_LDADD = $(top_builddir)/src/libneethi.la \ ../../axiom/src/om/libaxis2_axiom.la \ ../../util/src/libaxutil.la \ ../src/libneethi.la axis2c-src-1.6.0/neethi/test/Makefile.in0000644000175000017500000003621311172017200021130 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = noinst_PROGRAMS = test$(EXEEXT) subdir = test DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = PROGRAMS = $(noinst_PROGRAMS) am_test_OBJECTS = test.$(OBJEXT) test_OBJECTS = $(am_test_OBJECTS) test_DEPENDENCIES = $(top_builddir)/src/libneethi.la \ ../../axiom/src/om/libaxis2_axiom.la \ ../../util/src/libaxutil.la ../src/libneethi.la DEFAULT_INCLUDES = -I. -I$(top_builddir)@am__isrc@ depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \ --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \ $(LDFLAGS) -o $@ SOURCES = $(test_SOURCES) DIST_SOURCES = $(test_SOURCES) ETAGS = etags CTAGS = ctags DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ AM_CFLAGS = -g -O2 -pthread test_SOURCES = test.c INCLUDES = -I$(top_builddir)/include \ -I ../../util/include \ -I ../../axiom/include \ -I ../../include test_LDADD = $(top_builddir)/src/libneethi.la \ ../../axiom/src/om/libaxis2_axiom.la \ ../../util/src/libaxutil.la \ ../src/libneethi.la all: all-am .SUFFIXES: .SUFFIXES: .c .lo .o .obj $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu test/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu test/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh clean-noinstPROGRAMS: @list='$(noinst_PROGRAMS)'; for p in $$list; do \ f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \ echo " rm -f $$p $$f"; \ rm -f $$p $$f ; \ done test$(EXEEXT): $(test_OBJECTS) $(test_DEPENDENCIES) @rm -f test$(EXEEXT) $(LINK) $(test_OBJECTS) $(test_LDADD) $(LIBS) mostlyclean-compile: -rm -f *.$(OBJEXT) distclean-compile: -rm -f *.tab.c @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test.Po@am__quote@ .c.o: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c $< .c.obj: @am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'` @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'` .c.lo: @am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $< @am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo @AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $< mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile $(PROGRAMS) installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \ mostlyclean-am distclean: distclean-am -rm -rf ./$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -rf ./$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-compile mostlyclean-generic \ mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \ clean-generic clean-libtool clean-noinstPROGRAMS ctags \ distclean distclean-compile distclean-generic \ distclean-libtool distclean-tags distdir dvi dvi-am html \ html-am info info-am install install-am install-data \ install-data-am install-dvi install-dvi-am install-exec \ install-exec-am install-html install-html-am install-info \ install-info-am install-man install-pdf install-pdf-am \ install-ps install-ps-am install-strip installcheck \ installcheck-am installdirs maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-compile \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ tags uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/test/test.c0000644000175000017500000001531511166304503020216 0ustar00manjulamanjula00000000000000#include #include #include #include #include #include #include #include #include axis2_status_t AXIS2_CALL om_node_serialize( axiom_node_t * node, const axutil_env_t * env); int main( int argc, char **argv) { /*axutil_allocator_t *allocator = axutil_allocator_init(NULL); axutil_error_t *error = axutil_error_create(allocator); const axutil_env_t *env = axutil_env_create_with_error(allocator, error);*/ const axutil_env_t *env = NULL; axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_document_t *document = NULL; axiom_node_t *root = NULL; axiom_element_t *root_ele = NULL; env = axutil_env_create_all("test.log", AXIS2_LOG_LEVEL_TRACE); reader = axiom_xml_reader_create_for_file(env, argv[1], NULL); if (!reader) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); printf("xml reader creation failed\n"); return 0; } builder = axiom_stax_builder_create(env, reader); if (!builder) { axiom_xml_reader_free(reader, env); printf("Builder creation failed\n"); return 0; } document = axiom_stax_builder_get_document(builder, env); if (!document) { axiom_stax_builder_free(builder, env); printf("Document creation failed\n"); return 0; } /*root = axiom_document_get_root_element(document, env); */ root = axiom_document_build_all(document, env); if (!root) { axiom_stax_builder_free(builder, env); return 0; } if (root) { if (axiom_node_get_node_type(root, env) == AXIOM_ELEMENT) { root_ele = (axiom_element_t *) axiom_node_get_data_element(root, env); if (root_ele) { neethi_policy_t *neethi_policy = NULL; neethi_policy = neethi_engine_get_policy(env, root, root_ele); if (!neethi_policy) { printf("Policy Creation fails\n"); return 0; } if(neethi_policy) { axis2_char_t *id = NULL; axis2_char_t *name = NULL; id = neethi_policy_get_id(neethi_policy, env); if(id) { printf("Id is : %s\n", id); } name = neethi_policy_get_name(neethi_policy, env); if(name) { printf("Name is : %s\n", name); } neethi_policy_free(neethi_policy, env); neethi_policy = NULL; printf("Successful \n"); } /*else { axiom_node_t *s_node = NULL; s_node = neethi_engine_serialize(neethi_policy, env); if (!s_node) { printf("Serializing failed\n"); return 0; } if (om_node_serialize(s_node, env) != AXIS2_SUCCESS) return 0; }*/ } } } if(builder) { axiom_stax_builder_free(builder, env); builder = NULL; } axutil_env_free((axutil_env_t *)env); env = NULL; printf("Successful\n"); return 0; } axis2_status_t AXIS2_CALL om_node_serialize( axiom_node_t * node, const axutil_env_t * env) { axiom_output_t *om_output = NULL; axiom_xml_writer_t *writer = NULL; axis2_char_t *output_buffer = NULL; axis2_status_t status = AXIS2_FAILURE; writer = axiom_xml_writer_create_for_memory(env, NULL, AXIS2_TRUE, 0, AXIS2_XML_PARSER_TYPE_BUFFER); om_output = axiom_output_create(env, writer); status = axiom_node_serialize(node, env, om_output); if (status != AXIS2_SUCCESS) { printf("\naxiom_node_serialize failed\n"); return 0; } else printf("\naxiom_node_serialize success\n"); /* end serializing stuff */ /*axiom_node_free_tree(node1, environment); */ output_buffer = (axis2_char_t *) axiom_xml_writer_get_xml(writer, env); printf("\nend test_om_serialize\n"); return AXIS2_SUCCESS; } axutil_array_list_t *AXIS2_CALL load_policy_array( int argc, char **argv, const axutil_env_t * env) { axiom_xml_reader_t *reader = NULL; axiom_stax_builder_t *builder = NULL; axiom_document_t *document = NULL; axiom_node_t *root = NULL; axiom_element_t *root_ele = NULL; int i = 0; axutil_array_list_t *arraylist = NULL; arraylist = axutil_array_list_create(env, 0); for (i = 1; i < argc; i++) { reader = axiom_xml_reader_create_for_file(env, argv[i], NULL); if (!reader) { AXIS2_ERROR_SET(env->error, AXIS2_ERROR_CREATING_XML_STREAM_READER, AXIS2_FAILURE); printf("xml reader creation failed\n"); return NULL; } builder = axiom_stax_builder_create(env, reader); if (!builder) { axiom_xml_reader_free(reader, env); printf("Builder creation failed\n"); return NULL; } document = axiom_stax_builder_get_document(builder, env); if (!document) { axiom_stax_builder_free(builder, env); printf("Document creation failed\n"); return NULL; } /*root = axiom_document_get_root_element(document, env); */ root = axiom_document_build_all(document, env); if (!root) { axiom_stax_builder_free(builder, env); return NULL; } if (root) { if (axiom_node_get_node_type(root, env) == AXIOM_ELEMENT) { root_ele = (axiom_element_t *) axiom_node_get_data_element(root, env); if (root_ele) { neethi_policy_t *neethi_policy = NULL; neethi_policy = neethi_engine_get_policy(env, root, root_ele); if (!neethi_policy) { printf("Policy Creation fails\n"); return NULL; } axutil_array_list_add(arraylist, env, neethi_policy); } } } } return arraylist; } axis2c-src-1.6.0/neethi/depcomp0000755000175000017500000004224610527332127017477 0ustar00manjulamanjula00000000000000#! /bin/sh # depcomp - compile a program generating dependencies as side-effects scriptversion=2006-10-15.18 # Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 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 . 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 . 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. ## Unfortunately, FreeBSD c89 acceptance of flags depends upon ## the command line argument order; so add the flags where they ## appear in depend2.am. Note that the slowdown incurred here ## affects only configure: in makefiles, %FASTDEP% shortcuts this. for arg do case $arg in -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; *) set fnord "$@" "$arg" ;; esac shift # fnord shift # $arg done "$@" 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" ;; hp2) # The "hp" stanza above does not work with aCC (C++) and HP's ia64 # compilers, which have integrated preprocessors. The correct option # to use with these is +Maked; it writes dependencies to a file named # 'foo.d', which lands next to the object file, wherever that # happens to be. # Much of this is similar to the tru64 case; see comments there. 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 tmpdepfile1=$dir$base.d tmpdepfile2=$dir.libs/$base.d "$@" -Wc,+Maked else tmpdepfile1=$dir$base.d tmpdepfile2=$dir$base.d "$@" +Maked fi stat=$? if test $stat -eq 0; then : else rm -f "$tmpdepfile1" "$tmpdepfile2" exit $stat fi for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" do test -f "$tmpdepfile" && break done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" # Add `dependent.h:' lines. sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" else echo "#dummy" > "$depfile" fi rm -f "$tmpdepfile" "$tmpdepfile2" ;; 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 mechanism 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 $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 -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ -e '/^#line [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: axis2c-src-1.6.0/neethi/aclocal.m40000644000175000017500000101251711166310375017762 0ustar00manjulamanjula00000000000000# generated automatically by aclocal 1.10 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. m4_if(m4_PACKAGE_VERSION, [2.61],, [m4_fatal([this file was generated for autoconf 2.61. You have another version of autoconf. If you want to use that, you should regenerate the build system entirely.], [63])]) # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- # serial 51 Debian 1.5.24-1ubuntu1 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' 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 1s/^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 MSVC, # 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi _LT_CC_BASENAME([$compiler]) # 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"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER # _LT_CC_BASENAME(CC) # ------------------- # Calculate cc_basename. Skip known compiler wrappers and cross-prefix. AC_DEFUN([_LT_CC_BASENAME], [for cc_temp in $1""; do case $cc_temp in compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` ]) # _LT_COMPILER_BOILERPLATE # ------------------------ # Check for compiler boilerplate output or warnings with # the simple compiler test code. AC_DEFUN([_LT_COMPILER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE # _LT_LINKER_BOILERPLATE # ---------------------- # Check for linker boilerplate output or warnings with # the simple link test code. AC_DEFUN([_LT_LINKER_BOILERPLATE], [AC_REQUIRE([LT_AC_PROG_SED])dnl ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE # _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_REQUIRE([LT_AC_PROG_SED])dnl AC_LINK_IFELSE(AC_LANG_PROGRAM,[ lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` 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 </dev/null 2>&1 && unset CDPATH 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-*kfreebsd*-gnu|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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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 ;; sparc*-*solaris*) # 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 *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; 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]) echo "$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}\{0,1\} :&$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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; 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_REQUIRE([LT_AC_PROG_SED])dnl AC_CACHE_CHECK([$1], [$2], [$2=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $3" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi 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 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; 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 < #endif #include #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); */ } else puts (dlerror ()); exit (status); }] EOF if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; x$lt_dlunknown|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" wl=$lt_prog_compiler_wl 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 wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" 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_PROG_SED])dnl 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 echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi chmod u+w . 2>&AS_MESSAGE_LOG_FD $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm 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" old_striplib="$STRIP -S" 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_REQUIRE([LT_AC_PROG_SED])dnl AC_MSG_CHECKING([dynamic linker characteristics]) library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" m4_if($1,[],[ if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[[lt_foo]]++; } if (lt_freq[[lt_foo]] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi]) 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.so # instead of lib.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 ;; bsdi[[45]]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' m4_if([$1], [],[ sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[[123]]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[[3-9]]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 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 ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER # _LT_AC_TAGCONFIG # ---------------- AC_DEFUN([_LT_AC_TAGCONFIG], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; 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 DLLs 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 recognize 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 <&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 recognize 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &1 /dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[[3-9]]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | 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_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done 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 # AC_CONFIG_SUBDIRS is not called here. 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 # AC_CONFIG_SUBDIRS is not called here. 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 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([_LT_AC_PROG_CXXCPP]) _LT_AC_SHELL_INIT([tagnames=${tagnames+${tagnames},}CXX]) ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP # ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then AC_PROG_CXXCPP fi ])# _LT_AC_PROG_CXXCPP # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE 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 # Report which library types will 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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([_LT_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_shlibpath_var, $1)=unsupported _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=cpp # 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;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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)=unsupported _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP '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 $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds 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 $libobjs $deplibs $compiler_flags -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 -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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 _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) ;; *) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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* | k*bsd*-gnu) 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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 # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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' ;; pgCC*) # Portland Group C++ compiler _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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' ;; esac ;; 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* | netbsdelf*-gnu) 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::"' ;; openbsd2*) # C++ shared libraries are fairly broken _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; openbsd*) if test -f /usr/libexec/ld.so; then _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' _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 ;; 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(archive_cmds_need_lc,$1)=yes _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_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~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # 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 output_verbose_link_cmd='echo' # 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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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' case $host_os in solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; *) _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; 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" 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_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 < conftest.$ac_ext < conftest.$ac_ext < conftest.$ac_ext <&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then _LT_AC_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' fi ;; esac ;; esac ]) 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 return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=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]) _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_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 {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC _LT_AC_TAGVAR(compiler, $1)=$CC _LT_CC_BASENAME([$compiler]) # GCJ did not exist at the time GCC didn't implicitly link libc in. _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds 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_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 }' # 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 # save warnings/boilerplate of simple test code _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE # 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_CC_BASENAME([$compiler]) _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 LTCFLAGS NM \ SED SHELL STRIP \ 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(fix_srcfile_path, $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # 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 host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # 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=$lt_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_cmds='$shrext_cmds' # 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_fix_srcfile_path # 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi 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([LT_AC_PROG_SED]) 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[[ABCDGIRSTW]]' 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'" fi ;; irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; osf*) symcode='[[BCDEGQRST]]' ;; solaris*) symcode='[[BDRT]]' ;; sco3.2v5*) symcode='[[DT]]' ;; sysv4.2uw2*) symcode='[[DT]]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[[ABDT]]' ;; 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='[[ABCDGIRSTW]]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 < $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 < 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 <> 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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)= ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; 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* | dragonfly*) # 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)='${wl}-a ${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)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; 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* | k*bsd*-gnu) 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* | ecpc*) # 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' ;; pgCC*) # Portland Group C++ compiler. _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 _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 ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; 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*) ;; 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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) _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' ;; esac ;; 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* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries _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' ;; interix[[3-9]]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; 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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' ;; esac ;; mingw* | cygwin* | 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* | k*bsd*-gnu) case $cc_basename 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' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _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)='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker _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)='' ;; esac ;; 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' ;; rdos*) _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' case $cc_basename in f77* | f90* | f95*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; *) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; esac ;; 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*) _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 ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) _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' ;; unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no ;; 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 # # Check to make sure the static flag actually works. # wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), $lt_tmp_static_flag, [], [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) # AC_LIBTOOL_PROG_LD_SHLIBS([TAGNAME]) # ------------------------------------ # See if the linker supports building shared libraries. AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_REQUIRE([LT_AC_PROG_SED])dnl 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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) _LT_AC_TAGVAR(link_all_deplibs, $1)=no ;; *) _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= # Just being paranoid about ensuring that cc_basename is set. _LT_CC_BASENAME([$compiler]) 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; 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}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. 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 supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 <&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 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 says some releases of gcc # support --undefined. This deserves some investigation. FIXME _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${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)=unsupported _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 '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' -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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; interix[[3-9]]*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac _LT_AC_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi _LT_AC_TAGVAR(link_all_deplibs, $1)=no else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; netbsd* | netbsdelf*-gnu) 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <&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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; esac ;; 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 $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${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)" = no; then runpath_var= _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)= _LT_AC_TAGVAR(whole_archive_flag_spec, $1)= 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 "$lt_prog_compiler_static"; 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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[[23]]|aix4.[[23]].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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 : 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' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. _LT_AC_TAGVAR(always_export_symbols, $1)=yes 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_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_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' # Exported symbols can be pulled into shared objects from archives _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${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 ;; bsdi[[45]]*) _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)=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `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' _LT_AC_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes ;; darwin* | rhapsody*) 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_AC_TAGVAR(archive_cmds_need_lc, $1)=no _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)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _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 $libobjs $deplibs $compiler_flags -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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~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 $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; esac 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* | dragonfly*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' _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 $libobjs $deplibs $compiler_flags~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*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then _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 fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: case $host_cpu in hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; *) _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 $libobjs $deplibs $compiler_flags ${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* | netbsdelf*-gnu) 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*) if test -f /usr/libexec/ld.so; then _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _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 $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' ;; esac fi else _LT_AC_TAGVAR(ld_shlibs, $1)=no 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 $libobjs $deplibs $compiler_flags $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} $libobjs $deplibs $compiler_flags ${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} $libobjs $deplibs $compiler_flags ${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 ${output_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)=: ;; solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then wlarc='${wl}' _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_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~ $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' _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]].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' fi ;; 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 $libobjs $deplibs $compiler_flags' 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*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; 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 # # 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* echo "$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) pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $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 # #undef WIN32_LEAN_AND_MEAN # #include # # #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 # 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) ]) # Cheap backport of AS_EXECUTABLE_P and required macros # from Autoconf 2.59; we should not use $as_executable_p directly. # _AS_TEST_PREPARE # ---------------- m4_ifndef([_AS_TEST_PREPARE], [m4_defun([_AS_TEST_PREPARE], [if test -x / >/dev/null 2>&1; then as_executable_p='test -x' else as_executable_p='test -f' fi ])])# _AS_TEST_PREPARE # AS_EXECUTABLE_P # --------------- # Check whether a file is executable. m4_ifndef([AS_EXECUTABLE_P], [m4_defun([AS_EXECUTABLE_P], [AS_REQUIRE([_AS_TEST_PREPARE])dnl $as_executable_p $1[]dnl ])])# AS_EXECUTABLE_P # 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 IFS=$as_save_IFS 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 && continue 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_SUBST([SED]) AC_MSG_RESULT([$SED]) ]) # Copyright (C) 2002, 2003, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been # generated from the m4 files accompanying Automake X.Y. # (This private macro should not be called outside this file.) AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. m4_if([$1], [1.10], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) # _AM_AUTOCONF_VERSION(VERSION) # ----------------------------- # aclocal traces this macro to find the Autoconf version. # This is a private macro too. Using m4_define simplifies # the logic in aclocal, which can simply ignore this definition. m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], [AM_AUTOMAKE_VERSION([1.10])dnl _AM_AUTOCONF_VERSION(m4_PACKAGE_VERSION)]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. # # Of course, Automake must honor this variable whenever it calls a # tool from the auxiliary directory. The problem is that $srcdir (and # therefore $ac_aux_dir as well) can be either absolute or relative, # depending on how configure is run. This is pretty annoying, since # it makes $ac_aux_dir quite unusable in subdirectories: in the top # source directory, any form will work fine, but in subdirectories a # relative path needs to be adjusted first. # # $ac_aux_dir/missing # fails when called from a subdirectory if $ac_aux_dir is relative # $top_srcdir/$ac_aux_dir/missing # fails if $ac_aux_dir is absolute, # fails when called from a subdirectory in a VPATH build with # a relative $ac_aux_dir # # The reason of the latter failure is that $top_srcdir and $ac_aux_dir # are both prefixed by $srcdir. In an in-source build this is usually # harmless because $srcdir is `.', but things will broke when you # start a VPATH build or use an absolute $srcdir. # # So we could use something similar to $top_srcdir/$ac_aux_dir/missing, # iff we strip the leading $srcdir from $ac_aux_dir. That would be: # am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"` # and then we would define $MISSING as # MISSING="\${SHELL} $am_aux_dir/missing" # This will work as long as MISSING is not called from configure, because # unfortunately $(top_srcdir) has no meaning in configure. # However there are other variables, like CC, which are often used in # configure, and could therefore not use this "fixed" $ac_aux_dir. # # Another solution, used here, is to always expand $ac_aux_dir to an # absolute PATH. The drawback is that using absolute paths prevent a # configured tree to be moved without reconfiguration. AC_DEFUN([AM_AUX_DIR_EXPAND], [dnl Rely on autoconf to set up CDPATH properly. AC_PREREQ([2.50])dnl # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` ]) # AM_CONDITIONAL -*- Autoconf -*- # Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. AC_DEFUN([AM_CONDITIONAL], [AC_PREREQ(2.52)dnl ifelse([$1], [TRUE], [AC_FATAL([$0: invalid condition: $1])], [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl AC_SUBST([$1_TRUE])dnl AC_SUBST([$1_FALSE])dnl _AM_SUBST_NOTMAKE([$1_TRUE])dnl _AM_SUBST_NOTMAKE([$1_FALSE])dnl if $2; then $1_TRUE= $1_FALSE='#' else $1_TRUE='#' $1_FALSE= fi AC_CONFIG_COMMANDS_PRE( [if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then AC_MSG_ERROR([[conditional "$1" was never defined. Usually this means the macro was only invoked conditionally.]]) fi])]) # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 9 # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's # C support machinery. Also note that it means that autoscan, seeing # CC etc. in the Makefile, will ask for an AC_PROG_CC use... # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. # NAME is "CC", "CXX", "GCJ", or "OBJC". # We try a few techniques and use that to set a single cache variable. # # We don't AC_REQUIRE the corresponding AC_PROG_CC since the latter was # modified to invoke _AM_DEPENDENCIES(CC); we would have a circular # dependency, and given that the user is not expected to run this macro, # just rely on AC_PROG_CC. AC_DEFUN([_AM_DEPENDENCIES], [AC_REQUIRE([AM_SET_DEPDIR])dnl AC_REQUIRE([AM_OUTPUT_DEPENDENCY_COMMANDS])dnl AC_REQUIRE([AM_MAKE_INCLUDE])dnl AC_REQUIRE([AM_DEP_TRACK])dnl ifelse([$1], CC, [depcc="$CC" am_compiler_list=], [$1], CXX, [depcc="$CXX" am_compiler_list=], [$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc'], [$1], UPC, [depcc="$UPC" am_compiler_list=], [$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'], [depcc="$$1" am_compiler_list=]) AC_CACHE_CHECK([dependency style of $depcc], [am_cv_$1_dependencies_compiler_type], [if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_$1_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n ['s/^#*\([a-zA-Z0-9]*\))$/\1/p'] < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_$1_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_$1_dependencies_compiler_type=none fi ]) AC_SUBST([$1DEPMODE], [depmode=$am_cv_$1_dependencies_compiler_type]) AM_CONDITIONAL([am__fastdep$1], [ test "x$enable_dependency_tracking" != xno \ && test "$am_cv_$1_dependencies_compiler_type" = gcc3]) ]) # AM_SET_DEPDIR # ------------- # Choose a directory name for dependency files. # This macro is AC_REQUIREd in _AM_DEPENDENCIES AC_DEFUN([AM_SET_DEPDIR], [AC_REQUIRE([AM_SET_LEADING_DOT])dnl AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])dnl ]) # AM_DEP_TRACK # ------------ AC_DEFUN([AM_DEP_TRACK], [AC_ARG_ENABLE(dependency-tracking, [ --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors]) if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno]) AC_SUBST([AMDEPBACKSLASH])dnl _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl ]) # Generate code to set up dependency tracking. -*- Autoconf -*- # Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. #serial 3 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], [for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`AS_DIRNAME("$mf")` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`AS_DIRNAME(["$file"])` AS_MKDIR_P([$dirpart/$fdir]) # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ])# _AM_OUTPUT_DEPENDENCY_COMMANDS # AM_OUTPUT_DEPENDENCY_COMMANDS # ----------------------------- # This macro should only be invoked once -- use via AC_REQUIRE. # # This code is only required when automatic dependency tracking # is enabled. FIXME. This creates each `.P' file that we will # need in order to bootstrap the dependency handling code. AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS], [AC_CONFIG_COMMANDS([depfiles], [test x"$AMDEP_TRUE" != x"" || _AM_OUTPUT_DEPENDENCY_COMMANDS], [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 8 # AM_CONFIG_HEADER is obsolete. It has been replaced by AC_CONFIG_HEADERS. AU_DEFUN([AM_CONFIG_HEADER], [AC_CONFIG_HEADERS($@)]) # Do all the work for Automake. -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 12 # This macro actually does too much. Some checks are only needed if # your package does certain things. But this isn't really a big deal. # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- # The call with PACKAGE and VERSION arguments is the old style # call (pre autoconf-2.50), which is being phased out. PACKAGE # and VERSION should now be passed to AC_INIT and removed from # the call to AM_INIT_AUTOMAKE. # We support both call styles for the transition. After # the next Automake release, Autoconf can make the AC_INIT # arguments mandatory, and then we can depend on a new Autoconf # release and drop the old call support. AC_DEFUN([AM_INIT_AUTOMAKE], [AC_PREREQ([2.60])dnl dnl Autoconf wants to disallow AM_ names. We explicitly allow dnl the ones we care about. m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl AC_REQUIRE([AC_PROG_INSTALL])dnl if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." AC_SUBST([am__isrc], [' -I$(srcdir)'])_AM_SUBST_NOTMAKE([am__isrc])dnl # test to see if srcdir already configured if test -f $srcdir/config.status; then AC_MSG_ERROR([source directory already configured; run "make distclean" there first]) fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi AC_SUBST([CYGPATH_W]) # Define the identity of the package. dnl Distinguish between old-style and new-style calls. m4_ifval([$2], [m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl AC_SUBST([PACKAGE], [$1])dnl AC_SUBST([VERSION], [$2])], [_AM_SET_OPTIONS([$1])dnl dnl Diagnose old-style AC_INIT with new-style AM_AUTOMAKE_INIT. m4_if(m4_ifdef([AC_PACKAGE_NAME], 1)m4_ifdef([AC_PACKAGE_VERSION], 1), 11,, [m4_fatal([AC_INIT should be called with package and version arguments])])dnl AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl _AM_IF_OPTION([no-define],, [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl # Some tools Automake needs. AC_REQUIRE([AM_SANITY_CHECK])dnl AC_REQUIRE([AC_ARG_PROGRAM])dnl AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version}) AM_MISSING_PROG(AUTOCONF, autoconf) AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version}) AM_MISSING_PROG(AUTOHEADER, autoheader) AM_MISSING_PROG(MAKEINFO, makeinfo) AM_PROG_INSTALL_SH AM_PROG_INSTALL_STRIP AC_REQUIRE([AM_PROG_MKDIR_P])dnl # We need awk for the "check" target. The system "awk" is bad on # some platforms. AC_REQUIRE([AC_PROG_AWK])dnl AC_REQUIRE([AC_PROG_MAKE_SET])dnl AC_REQUIRE([AM_SET_LEADING_DOT])dnl _AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])], [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])], [_AM_PROG_TAR([v7])])]) _AM_IF_OPTION([no-dependencies],, [AC_PROVIDE_IFELSE([AC_PROG_CC], [_AM_DEPENDENCIES(CC)], [define([AC_PROG_CC], defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl AC_PROVIDE_IFELSE([AC_PROG_CXX], [_AM_DEPENDENCIES(CXX)], [define([AC_PROG_CXX], defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl AC_PROVIDE_IFELSE([AC_PROG_OBJC], [_AM_DEPENDENCIES(OBJC)], [define([AC_PROG_OBJC], defn([AC_PROG_OBJC])[_AM_DEPENDENCIES(OBJC)])])dnl ]) ]) # When config.status generates a header, we must update the stamp-h file. # This file resides in the same directory as the config header # that is generated. The stamp files are numbered to have different names. # Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the # loop where config.status creates the headers, so we can generate # our stamp files there. AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK], [# Compute $1's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $1 | $1:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} AC_SUBST(install_sh)]) # Copyright (C) 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], [rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) # Check to see how 'make' treats includes. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. AC_DEFUN([AM_MAKE_INCLUDE], [am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. AC_MSG_CHECKING([for style of include used by $am_make]) am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi AC_SUBST([am__include]) AC_SUBST([am__quote]) AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) # Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- # Copyright (C) 1997, 1999, 2000, 2001, 2003, 2004, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 5 # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], [AC_REQUIRE([AM_MISSING_HAS_RUN]) $1=${$1-"${am_missing_run}$2"} AC_SUBST($1)]) # AM_MISSING_HAS_RUN # ------------------ # Define MISSING if not defined so far and test if it supports --run. # If it does, set am_missing_run to use it, otherwise, to nothing. AC_DEFUN([AM_MISSING_HAS_RUN], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl AC_REQUIRE_AUX_FILE([missing])dnl test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= AC_MSG_WARN([`missing' script is too old or missing]) fi ]) # Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_MKDIR_P # --------------- # Check for `mkdir -p'. AC_DEFUN([AM_PROG_MKDIR_P], [AC_PREREQ([2.60])dnl AC_REQUIRE([AC_PROG_MKDIR_P])dnl dnl Automake 1.8 to 1.9.6 used to define mkdir_p. We now use MKDIR_P, dnl while keeping a definition of mkdir_p for backward compatibility. dnl @MKDIR_P@ is magic: AC_OUTPUT adjusts its value for each Makefile. dnl However we cannot define mkdir_p as $(MKDIR_P) for the sake of dnl Makefile.ins that do not define MKDIR_P, so we do our own dnl adjustment using top_builddir (which is defined more often than dnl MKDIR_P). AC_SUBST([mkdir_p], ["$MKDIR_P"])dnl case $mkdir_p in [[\\/$]]* | ?:[[\\/]]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac ]) # Helper functions for option handling. -*- Autoconf -*- # Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 3 # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], [[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])]) # _AM_SET_OPTION(NAME) # ------------------------------ # Set option NAME. Presently that only means defining a flag for this option. AC_DEFUN([_AM_SET_OPTION], [m4_define(_AM_MANGLE_OPTION([$1]), 1)]) # _AM_SET_OPTIONS(OPTIONS) # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], [AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- # Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) # Check to make sure that the build environment is sane. -*- Autoconf -*- # Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 4 # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], [AC_MSG_CHECKING([whether build environment is sane]) # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$[*]" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$[*]" != "X $srcdir/configure conftest.file" \ && test "$[*]" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken alias in your environment]) fi test "$[2]" = conftest.file ) then # Ok. : else AC_MSG_ERROR([newly created file is older than distributed files! Check your system clock]) fi AC_MSG_RESULT(yes)]) # Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # AM_PROG_INSTALL_STRIP # --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip # is unlikely to handle the host's binaries. # Fortunately install-sh will honor a STRIPPROG variable, so we # always use install-sh in `make install-strip', and initialize # STRIPPROG with the value of the STRIP variable (set by the user). AC_DEFUN([AM_PROG_INSTALL_STRIP], [AC_REQUIRE([AM_PROG_INSTALL_SH])dnl # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. dnl Don't test for $cross_compiling = yes, because it might be `maybe'. if test "$cross_compiling" != no; then AC_CHECK_TOOL([STRIP], [strip], :) fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" AC_SUBST([INSTALL_STRIP_PROGRAM])]) # Copyright (C) 2006 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # _AM_SUBST_NOTMAKE(VARIABLE) # --------------------------- # Prevent Automake from outputing VARIABLE = @VARIABLE@ in Makefile.in. # This macro is traced by Automake. AC_DEFUN([_AM_SUBST_NOTMAKE]) # Check how to create a tarball. -*- Autoconf -*- # Copyright (C) 2004, 2005 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # serial 2 # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. # FORMAT should be one of `v7', `ustar', or `pax'. # # Substitute a variable $(am__tar) that is a command # writing to stdout a FORMAT-tarball containing the directory # $tardir. # tardir=directory && $(am__tar) > result.tar # # Substitute a variable $(am__untar) that extract such # a tarball read from stdin. # $(am__untar) < result.tar AC_DEFUN([_AM_PROG_TAR], [# Always define AMTAR for backward compatibility. AM_MISSING_PROG([AMTAR], [tar]) m4_if([$1], [v7], [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'], [m4_case([$1], [ustar],, [pax],, [m4_fatal([Unknown tar format])]) AC_MSG_CHECKING([how to create a $1 tar archive]) # Loop over all known methods to create a tar archive until one works. _am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none' _am_tools=${am_cv_prog_tar_$1-$_am_tools} # Do not fold the above two line into one, because Tru64 sh and # Solaris sh will not grok spaces in the rhs of `-'. for _am_tool in $_am_tools do case $_am_tool in gnutar) for _am_tar in tar gnutar gtar; do AM_RUN_LOG([$_am_tar --version]) && break done am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"' am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"' am__untar="$_am_tar -xf -" ;; plaintar) # Must skip GNU tar: if it does not support --format= it doesn't create # ustar tarball either. (tar --version) >/dev/null 2>&1 && continue am__tar='tar chf - "$$tardir"' am__tar_='tar chf - "$tardir"' am__untar='tar xf -' ;; pax) am__tar='pax -L -x $1 -w "$$tardir"' am__tar_='pax -L -x $1 -w "$tardir"' am__untar='pax -r' ;; cpio) am__tar='find "$$tardir" -print | cpio -o -H $1 -L' am__tar_='find "$tardir" -print | cpio -o -H $1 -L' am__untar='cpio -i -H $1 -d' ;; none) am__tar=false am__tar_=false am__untar=false ;; esac # If the value was cached, stop now. We just wanted to have am__tar # and am__untar set. test -n "${am_cv_prog_tar_$1}" && break # tar/untar a dummy directory, and stop if the command works rm -rf conftest.dir mkdir conftest.dir echo GrepMe > conftest.dir/file AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar]) rm -rf conftest.dir if test -s conftest.tar; then AM_RUN_LOG([$am__untar /dev/null 2>&1 && break fi done rm -rf conftest.dir AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool]) AC_MSG_RESULT([$am_cv_prog_tar_$1])]) AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR axis2c-src-1.6.0/neethi/README0000644000175000017500000000000011166304521016755 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/ltmain.sh0000644000175000017500000060512310660364710017742 0ustar00manjulamanjula00000000000000# 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, 2004, 2005, 2006, # 2007 Free Software Foundation, Inc. # Originally by Gordon Matzigkeit , 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. basename="s,^.*/,,g" # Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh # is ksh but when the shell is invoked as "sh" and the current value of # the _XPG environment variable is not equal to 1 (one), the special # positional parameter $0, within a function call, is the name of the # function. progpath="$0" # The name of this program: progname=`echo "$progpath" | $SED $basename` modename="$progname" # Global variables: EXIT_SUCCESS=0 EXIT_FAILURE=1 PROGRAM=ltmain.sh PACKAGE=libtool VERSION="1.5.24 Debian 1.5.24-1ubuntu1" TIMESTAMP=" (1.1220.2.456 2007/06/24 02:25:32)" # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # 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 "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then # used as fallback echo shift cat <&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE fi # Global variables. mode=$default_mode nonopt= prev= prevopt= run= show="$echo" show_help= execute_dlfiles= duplicate_deps=no preserve_args= lo2o="s/\\.lo\$/.${objext}/" o2lo="s/\\.${objext}\$/.lo/" extracted_archives= extracted_serial=0 ##################################### # Shell function definitions: # This seems to be the best place for them # func_mktempdir [string] # Make a temporary directory that won't clash with other running # libtool processes, and avoids race conditions if possible. If # given, STRING is the basename for that directory. func_mktempdir () { my_template="${TMPDIR-/tmp}/${1-$progname}" if test "$run" = ":"; then # Return a directory name, but don't create it in dry-run mode my_tmpdir="${my_template}-$$" else # If mktemp works, use that first and foremost my_tmpdir=`mktemp -d "${my_template}-XXXXXXXX" 2>/dev/null` if test ! -d "$my_tmpdir"; then # Failing that, at least try and use $RANDOM to avoid a race my_tmpdir="${my_template}-${RANDOM-0}$$" save_mktempdir_umask=`umask` umask 0077 $mkdir "$my_tmpdir" umask $save_mktempdir_umask fi # If we're not in dry-run mode, bomb out on failure test -d "$my_tmpdir" || { $echo "cannot create temporary directory \`$my_tmpdir'" 1>&2 exit $EXIT_FAILURE } fi $echo "X$my_tmpdir" | $Xsed } # func_win32_libid arg # return the library type of file 'arg' # # 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. func_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 | \ $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ $SED -n -e '1,100{ / I /{ s,.*,import, p q } }'` case $win32_nmres in import*) win32_libid_type="x86 archive import";; *) win32_libid_type="x86 archive static";; esac 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 } # func_infer_tag arg # 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. # arg is usually of the form 'gcc ...' func_infer_tag () { if test -n "$available_tags" && test -z "$tagname"; then CC_quoted= for arg in $CC; do case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case $@ 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` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; # 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$" < "$progpath" > /dev/null; then # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" CC_quoted= for arg in $CC; do # Double-quote args containing other shell metacharacters. case $arg in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") arg="\"$arg\"" ;; esac CC_quoted="$CC_quoted $arg" done case "$@ " in " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) # 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 $EXIT_FAILURE # else # $echo "$modename: using $tagname tagged configuration" fi ;; esac fi } # func_extract_an_archive dir oldlib func_extract_an_archive () { f_ex_an_ar_dir="$1"; shift f_ex_an_ar_oldlib="$1" $show "(cd $f_ex_an_ar_dir && $AR x $f_ex_an_ar_oldlib)" $run eval "(cd \$f_ex_an_ar_dir && $AR x \$f_ex_an_ar_oldlib)" || exit $? if ($AR t "$f_ex_an_ar_oldlib" | sort | sort -uc >/dev/null 2>&1); then : else $echo "$modename: ERROR: object name conflicts: $f_ex_an_ar_dir/$f_ex_an_ar_oldlib" 1>&2 exit $EXIT_FAILURE fi } # func_extract_archives gentop oldlib ... func_extract_archives () { my_gentop="$1"; shift my_oldlibs=${1+"$@"} my_oldobjs="" my_xlib="" my_xabs="" my_xdir="" my_status="" $show "${rm}r $my_gentop" $run ${rm}r "$my_gentop" $show "$mkdir $my_gentop" $run $mkdir "$my_gentop" my_status=$? if test "$my_status" -ne 0 && test ! -d "$my_gentop"; then exit $my_status fi for my_xlib in $my_oldlibs; do # Extract the objects. case $my_xlib in [\\/]* | [A-Za-z]:[\\/]*) my_xabs="$my_xlib" ;; *) my_xabs=`pwd`"/$my_xlib" ;; esac my_xlib=`$echo "X$my_xlib" | $Xsed -e 's%^.*/%%'` my_xlib_u=$my_xlib while :; do case " $extracted_archives " in *" $my_xlib_u "*) extracted_serial=`expr $extracted_serial + 1` my_xlib_u=lt$extracted_serial-$my_xlib ;; *) break ;; esac done extracted_archives="$extracted_archives $my_xlib_u" my_xdir="$my_gentop/$my_xlib_u" $show "${rm}r $my_xdir" $run ${rm}r "$my_xdir" $show "$mkdir $my_xdir" $run $mkdir "$my_xdir" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$my_xdir"; then exit $exit_status fi case $host in *-darwin*) $show "Extracting $my_xabs" # Do not bother doing anything if just a dry run if test -z "$run"; then darwin_orig_dir=`pwd` cd $my_xdir || exit $? darwin_archive=$my_xabs darwin_curdir=`pwd` darwin_base_archive=`$echo "X$darwin_archive" | $Xsed -e 's%^.*/%%'` darwin_arches=`lipo -info "$darwin_archive" 2>/dev/null | $EGREP Architectures 2>/dev/null` if test -n "$darwin_arches"; then darwin_arches=`echo "$darwin_arches" | $SED -e 's/.*are://'` darwin_arch= $show "$darwin_base_archive has multiple architectures $darwin_arches" for darwin_arch in $darwin_arches ; do mkdir -p "unfat-$$/${darwin_base_archive}-${darwin_arch}" lipo -thin $darwin_arch -output "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" "${darwin_archive}" cd "unfat-$$/${darwin_base_archive}-${darwin_arch}" func_extract_an_archive "`pwd`" "${darwin_base_archive}" cd "$darwin_curdir" $rm "unfat-$$/${darwin_base_archive}-${darwin_arch}/${darwin_base_archive}" done # $darwin_arches ## Okay now we have a bunch of thin objects, gotta fatten them up :) darwin_filelist=`find unfat-$$ -type f -name \*.o -print -o -name \*.lo -print| xargs basename | sort -u | $NL2SP` darwin_file= darwin_files= for darwin_file in $darwin_filelist; do darwin_files=`find unfat-$$ -name $darwin_file -print | $NL2SP` lipo -create -output "$darwin_file" $darwin_files done # $darwin_filelist ${rm}r unfat-$$ cd "$darwin_orig_dir" else cd "$darwin_orig_dir" func_extract_an_archive "$my_xdir" "$my_xabs" fi # $darwin_arches fi # $run ;; *) func_extract_an_archive "$my_xdir" "$my_xabs" ;; esac my_oldobjs="$my_oldobjs "`find $my_xdir -name \*.$objext -print -o -name \*.lo -print | $NL2SP` done func_extract_archives_result="$my_oldobjs" } # End of Shell function definitions ##################################### # Darwin sucks eval std_shrext=\"$shrext_cmds\" disable_libs=no # 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" preserve_args="${preserve_args}=$arg" # Check whether tagname contains only valid characters case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 exit $EXIT_FAILURE ;; 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$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" 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 Copyright (C) 2007 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." exit $? ;; --config) ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # 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" < "$progpath" done exit $? ;; --debug) $echo "$progname: enabling shell trace mode" set -x preserve_args="$preserve_args $arg" ;; --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 $? ;; --finish) mode="finish" ;; --mode) prevopt="--mode" prev=mode ;; --mode=*) mode="$optarg" ;; --preserve-dup-deps) duplicate_deps="yes" ;; --quiet | --silent) show=: preserve_args="$preserve_args $arg" ;; --tag) prevopt="--tag" prev=tag preserve_args="$preserve_args --tag" ;; --tag=*) set tag "$optarg" ${1+"$@"} shift prev=tag preserve_args="$preserve_args --tag" ;; -dlopen) prevopt="-dlopen" prev=execute_dlfiles ;; -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE ;; *) nonopt="$arg" break ;; esac done if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE fi case $disable_libs in no) ;; shared) build_libtool_libs=no build_old_libs=yes ;; static) build_old_libs=`case $build_libtool_libs in yes) echo no;; *) echo yes;; esac` ;; esac # 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 $EXIT_FAILURE 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_opt=yes suppress_output= arg_mode=normal libobj= later= 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 $EXIT_FAILURE fi arg_mode=target continue ;; -static | -prefer-pic | -prefer-non-pic) later="$later $arg" continue ;; -no-suppress) suppress_opt=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, and some SunOS ksh mistreat backslash-escaping # in scan sets (worked around with variable expansion), # and furthermore cannot handle '|' '&' '(' ')' in scan sets # at all, so we specify them 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 $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 exit $EXIT_FAILURE ;; *) # 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 ;; *.[fF][09]?) xform=[fF][09]. ;; *.for) xform=for ;; *.java) xform=java ;; *.obj) xform=obj ;; 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 $EXIT_FAILURE ;; esac func_infer_tag $base_compile for arg in $later; do case $arg in -static) build_old_libs=yes continue ;; -prefer-pic) pic_mode=yes continue ;; -prefer-non-pic) pic_mode=no continue ;; esac done qlibobj=`$echo "X$libobj" | $Xsed -e "$sed_quote_subst"` case $qlibobj in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qlibobj="\"$qlibobj\"" ;; esac test "X$libobj" != "X$qlibobj" \ && $echo "X$libobj" | grep '[]~#^*{};<>?"'"'"' &()|`$[]' \ && $echo "$modename: libobj name \`$libobj' may not contain shell special characters." 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 $EXIT_FAILURE 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 $EXIT_FAILURE" 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 $EXIT_FAILURE" 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 "$progpath" "$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 $EXIT_FAILURE fi $echo "$srcfile" > "$lockfile" fi if test -n "$fix_srcfile_path"; then eval srcfile=\"$fix_srcfile_path\" fi qsrcfile=`$echo "X$srcfile" | $Xsed -e "$sed_quote_subst"` case $qsrcfile in *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") qsrcfile="\"$qsrcfile\"" ;; esac $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 </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 $EXIT_FAILURE 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 <> ${libobj}T </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 $EXIT_FAILURE 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 <> ${libobj}T <&2 fi if test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; -static) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=built ;; -static-libtool-libs) if test -z "$pic_flag" && test -n "$link_static_flag"; then dlopen_self=$dlopen_self_static fi prefer_static_libs=yes ;; esac build_libtool_libs=no build_old_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" 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 $EXIT_FAILURE fi prev= continue ;; expsyms_regex) export_symbols_regex="$arg" prev= continue ;; inst_prefix) inst_prefix_dir="$arg" prev= continue ;; precious_regex) precious_files_regex="$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 ;; shrext) shrext_cmds="$arg" prev= continue ;; darwin_framework|darwin_framework_skip) test "$prev" = "darwin_framework" && compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms else prev=expsyms_regex fi continue ;; -framework|-arch|-isysroot) case " $CC " in *" ${arg} ${1} "* | *" ${arg} ${1} "*) prev=darwin_framework_skip ;; *) compiler_flags="$compiler_flags $arg" prev=darwin_framework ;; esac compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" 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 absdir="$dir" notinst_path="$notinst_path $dir" 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*) testbindir=`$echo "X$dir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$dir:"*) ;; *) dllsearchpath="$dllsearchpath:$dir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; esac ;; esac continue ;; -l*) if test "X$arg" = "X-lc" || test "X$arg" = "X-lm"; then case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-beos*) # These systems don't actually have a C or math library (as such) continue ;; *-*-os2*) # These systems don't actually have a C library (as such) test "X$arg" = "X-lc" && continue ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # 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 -framework System" continue ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype test "X$arg" = "X-lc" && continue ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work test "X$arg" = "X-lc" && continue ;; esac elif test "X$arg" = "X-lc_r"; then case $host in *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc_r directly, use -pthread flag. continue ;; esac fi deplibs="$deplibs $arg" continue ;; # Tru64 UNIX uses -model [arg] to determine the layout of C++ # classes, name mangling, and exception handling. -model) compile_command="$compile_command $arg" compiler_flags="$compiler_flags $arg" finalize_command="$finalize_command $arg" prev=xcompiler continue ;; -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) compiler_flags="$compiler_flags $arg" compile_command="$compile_command $arg" finalize_command="$finalize_command $arg" continue ;; -module) module=yes continue ;; # -64, -mips[0-9] enable 64-bit mode on the SGI compiler # -r[0-9][0-9]* specifies the processor on the SGI compiler # -xarch=*, -xtarget=* enable 64-bit mode on the Sun compiler # +DA*, +DD* enable 64-bit mode on the HP compiler # -q* pass through compiler args for the IBM compiler # -m* pass through architecture-specific compiler args for GCC # -m*, -t[45]*, -txscale* pass through architecture-specific # compiler args for GCC # -p, -pg, --coverage, -fprofile-* pass through profiling flag for GCC # -F/path gives path to uninstalled frameworks, gcc on darwin # @file GCC response files -64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*) # 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" compiler_flags="$compiler_flags $arg" continue ;; -shrext) prev=shrext continue ;; -no-fast-install) fast_install=no continue ;; -no-install) case $host in *-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-os2* | *-*-darwin*) # The PATH hackery in wrapper scripts is required on Windows # and Darwin 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 ;; -precious-files-regex) prev=precious_regex continue ;; -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 $EXIT_FAILURE ;; esac case "$xrpath " in *" $dir "*) ;; *) xrpath="$xrpath $dir" ;; esac continue ;; -static | -static-libtool-libs) # 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 ;; # 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 ;; *.$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 $EXIT_FAILURE 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 else # If the PIC object exists, use it instead. # $xdir was prepended to $pic_object above. non_pic_object="$pic_object" non_pic_objects="$non_pic_objects $non_pic_object" 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 $EXIT_FAILURE 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 ;; 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 $EXIT_FAILURE 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 exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$output_objdir"; then exit $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 $EXIT_FAILURE ;; *.$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 duplications 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 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 $EXIT_FAILURE ;; 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%" test "X$link_all_deplibs" != Xno && libs="$libs $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 -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads) if test "$linkmode,$pass" = "prog,link"; then compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" else compiler_flags="$compiler_flags $deplib" fi continue ;; -l*) if test "$linkmode" != lib && test "$linkmode" != prog; then $echo "$modename: warning: \`-l' is ignored for archives/objects" 1>&2 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 $std_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 -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" else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $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) valid_a_lib=no case $deplibs_check_method in match_pattern*) set dummy $deplibs_check_method match_pattern_regex=`expr "$deplibs_check_method" : "$2 \(.*\)"` if eval $echo \"$deplib\" 2>/dev/null \ | $SED 10q \ | $EGREP "$match_pattern_regex" > /dev/null; then valid_a_lib=yes fi ;; pass_all) valid_a_lib=yes ;; esac if test "$valid_a_lib" != yes; 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' or unhandled argument \`$deplib'" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 avoidtemprpath= # Read the .la file case $lib in */* | *\\*) . $lib ;; *) . ./$lib ;; 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" if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 exit $EXIT_FAILURE 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" tmp_libs= for deplib in $dependency_libs; do 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 elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else if test ! -f "$ladir/$objdir/$linklib" && test -f "$abs_ladir/$linklib"; then dir="$ladir" absdir="$abs_ladir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" else dir="$ladir/$objdir" absdir="$abs_ladir/$objdir" # Remove this search path later notinst_path="$notinst_path $abs_ladir" fi 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 $EXIT_FAILURE 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 "$prefer_static_libs,$installed" = "built,yes"; } || test -z "$old_library"; }; then # We need to hardcode the library path if test -n "$shlibpath_var" && test -z "$avoidtemprpath" ; then # Make sure the rpath contains only unique directories. case "$temp_rpath " in *" $dir "*) ;; *" $absdir "*) ;; *) temp_rpath="$temp_rpath $absdir" ;; 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 use_static_libs=$prefer_static_libs if test "$use_static_libs" = built && test "$installed" = yes ; then use_static_libs=no fi if test -n "$library_names" && { test "$use_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='~' cmds=$extract_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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='~' cmds=$old_archive_from_expsyms_cmds for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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.0.[024]*) add_dir="-L$dir" ;; *-*-sysv4*uw2*) add_dir="-L$dir" ;; *-*-sysv5OpenUNIX* | *-*-sysv5UnixWare7.[01].[10]* | \ *-*-unixware7*) 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 | $EGREP ": [^:]* 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 $EXIT_FAILURE 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="$add_dir -L$inst_prefix_dir$libdir" ;; 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 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 $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $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 fi path="" ;; *) 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 ;; *) continue ;; esac case " $deplibs " in *" $path "*) ;; *) deplibs="$path $deplibs" ;; esac case " $deplibs " in *" $depdepl "*) ;; *) deplibs="$depdepl $deplibs" ;; 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_cmds\" 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 $EXIT_FAILURE 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_cmds\" 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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|none) 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` age="$number_minor" revision="$number_minor" lt_irix_increment=no ;; *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 exit $EXIT_FAILURE ;; 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]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: CURRENT \`$current' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $revision in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: REVISION \`$revision' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; esac case $age in 0|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|[1-9][0-9][0-9][0-9][0-9]) ;; *) $echo "$modename: AGE \`$age' must be a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 exit $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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` xlcverstring="${wl}-compatibility_version ${wl}$minor_current ${wl}-current_version ${wl}$minor_current.$revision" 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) if test "X$lt_irix_increment" = "Xno"; then major=`expr $current - $age` else major=`expr $current - $age + 1` fi 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 $EXIT_FAILURE ;; 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) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) if test "X$precious_files_regex" != "X"; then if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 then continue fi fi 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 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 -framework System" ;; *-*-netbsd*) # Don't link with libc until the a.out ld.so is fixed. ;; *-*-openbsd* | *-*-freebsd* | *-*-dragonfly*) # Do not include libc due to us having libc/libc_r. ;; *-*-sco3.2v5* | *-*-sco5v6*) # Causes problems with __ctype ;; *-*-sysv4.2uw2* | *-*-sysv5* | *-*-unixware* | *-*-OpenUNIX*) # Compiler inserts libc in the correct place for threads to work ;; *) # 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 </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 / -framework System /'` ;; 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 # Done checking deplibs! deplibs=$newdeplibs fi # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done deplibs="$new_libs" # 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 && 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 case $archive_cmds in *\$LD*) eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\" ;; *) eval dep_rpath=\"$hardcode_libdir_flag_spec\" ;; esac 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_cmds\" 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" linknames= 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 cmds=$export_symbols_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" 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=: # Break out early, otherwise skipped_export may be # set to false by a later but shorter cmd. break 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" generated="$generated $gentop" func_extract_archives $gentop $convenience libobjs="$libobjs $func_extract_archives_result" 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 # 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 test_cmds=\"$module_expsym_cmds\" cmds=$module_expsym_cmds else eval test_cmds=\"$module_cmds\" cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then eval test_cmds=\"$archive_expsym_cmds\" cmds=$archive_expsym_cmds else eval test_cmds=\"$archive_cmds\" cmds=$archive_cmds fi fi if test "X$skipped_export" != "X:" && len=`expr "X$test_cmds" : ".*" 2>/dev/null` && 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 output_la=`$echo "X$output" | $Xsed -e "$basename"` # 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/$output_la-${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" : ".*" 2>/dev/null` && 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/$output_la-${k}.$objext k=`expr $k + 1` output=$output_objdir/$output_la-${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 reloadable object files # after they are used. i=0 while test "$i" -lt "$k" do i=`expr $i + 1` delfiles="$delfiles $output_objdir/$output_la-${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 "$module" = yes && test -n "$module_cmds" ; then if test -n "$export_symbols" && test -n "$module_expsym_cmds"; then cmds=$module_expsym_cmds else cmds=$module_cmds fi else if test -n "$export_symbols" && test -n "$archive_expsym_cmds"; then cmds=$archive_expsym_cmds else cmds=$archive_cmds fi 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" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $? if test -n "$convenience"; then if test -z "$whole_archive_flag_spec"; then $show "${rm}r $gentop" $run ${rm}r "$gentop" fi fi exit $EXIT_SUCCESS 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 $EXIT_FAILURE 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 and hope we can get by with # turning comma into space.. wl= if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then eval tmp_whole_archive_flags=\"$whole_archive_flag_spec\" reload_conv_objs=$reload_objs\ `$echo "X$tmp_whole_archive_flags" | $Xsed -e 's|,| |g'` else gentop="$output_objdir/${obj}x" generated="$generated $gentop" func_extract_archives $gentop $convenience reload_conv_objs="$reload_objs $func_extract_archives_result" 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS 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 $EXIT_SUCCESS 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" cmds=$reload_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $EXIT_SUCCESS ;; 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 / -framework System /'` finalize_deplibs=`$echo "X $finalize_deplibs" | $Xsed -e 's/ -lc / -framework System /'` ;; 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 ;; esac # move library search paths that coincide with paths to not yet # installed libraries to the beginning of the library search list new_libs= for path in $notinst_path; do case " $new_libs " in *" -L$path/$objdir "*) ;; *) case " $compile_deplibs " in *" -L$path/$objdir "*) new_libs="$new_libs -L$path/$objdir" ;; esac ;; esac done for deplib in $compile_deplibs; do case $deplib in -L*) case " $new_libs " in *" $deplib "*) ;; *) new_libs="$new_libs $deplib" ;; esac ;; *) new_libs="$new_libs $deplib" ;; esac done compile_deplibs="$new_libs" 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*) testbindir=`$echo "X$libdir" | $Xsed -e 's*/lib$*/bin*'` case :$dllsearchpath: in *":$libdir:"*) ;; *) dllsearchpath="$dllsearchpath:$libdir";; esac case :$dllsearchpath: in *":$testbindir:"*) ;; *) dllsearchpath="$dllsearchpath:$testbindir";; 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/$outputname.exp" $run $rm $export_symbols $run eval "${SED} -n -e '/^: @PROGRAM@ $/d' -e 's/^.* \(.*\)$/\1/p' "'< "$nlist" > "$export_symbols"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$export_symbols" >> "$output_objdir/$outputname.def"' ;; esac else $run eval "${SED} -e 's/\([].[*^$]\)/\\\\\1/g' -e 's/^/ /' -e 's/$/$/'"' < "$export_symbols" > "$output_objdir/$outputname.exp"' $run eval 'grep -f "$output_objdir/$outputname.exp" < "$nlist" > "$nlist"T' $run eval 'mv "$nlist"T "$nlist"' case $host in *cygwin* | *mingw* ) $run eval "echo EXPORTS "'> "$output_objdir/$outputname.def"' $run eval 'cat "$nlist" >> "$output_objdir/$outputname.def"' ;; esac 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 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. */ " case $host in *cygwin* | *mingw* ) $echo >> "$output_objdir/$dlsyms" "\ /* DATA imports from DLLs on WIN32 can't be const, because runtime relocations are performed -- see ld's documentation on pseudo-relocs */ struct { " ;; * ) $echo >> "$output_objdir/$dlsyms" "\ const struct { " ;; esac $echo >> "$output_objdir/$dlsyms" "\ 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 $LTCFLAGS -c$no_builtin_flag$pic_flag_for_symtable \"$dlsyms\")" $run eval '(cd $output_objdir && $LTCC $LTCFLAGS -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. case $host in *cygwin* | *mingw* ) if test -f "$output_objdir/${outputname}.def" ; then compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}.def $output_objdir/${outputname}S.${objext}%" | $NL2SP` else compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` fi ;; * ) compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s%@SYMFILE@%$output_objdir/${outputname}S.${objext}%" | $NL2SP` ;; esac ;; *) $echo "$modename: unknown suffix for \`$dlsyms'" 1>&2 exit $EXIT_FAILURE ;; 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" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` finalize_command=`$echo "X$finalize_command" | $SP2NL | $Xsed -e "s% @SYMFILE@%%" | $NL2SP` fi if test "$need_relink" = no || test "$build_libtool_libs" != yes; then # Replace the output file specification. compile_command=`$echo "X$compile_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$output"'%g' | $NL2SP` link_command="$compile_command$compile_rpath" # We have no uninstalled library dependencies, so finalize right now. $show "$link_command" $run eval "$link_command" exit_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 $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 $EXIT_SUCCESS 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" | $SP2NL | $Xsed -e 's%@OUTPUT@%\$progdir/\$file%g' | $NL2SP` 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" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` fi # Quote $echo for shipping. if test "X$echo" = "X$SHELL $progpath --fallback-echo"; then case $progpath in [\\/]* | [A-Za-z]:[\\/]*) qecho="$SHELL $progpath --fallback-echo";; *) qecho="$SHELL `pwd`/$progpath --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 *cygwin* | *mingw* ) output_name=`basename $output` output_path=`dirname $output` cwrappersource="$output_path/$objdir/lt-$output_name.c" cwrapper="$output_path/$output_name.exe" $rm $cwrappersource $cwrapper trap "$rm $cwrappersource $cwrapper; exit $EXIT_FAILURE" 1 2 15 cat > $cwrappersource <> $cwrappersource<<"EOF" #include #include #include #include #include #include #include #include #include #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 '/' # define PATH_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 # ifndef PATH_SEPARATOR_2 # define PATH_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 */ #ifndef PATH_SEPARATOR_2 # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR) #else /* PATH_SEPARATOR_2 */ # define IS_PATH_SEPARATOR(ch) ((ch) == PATH_SEPARATOR_2) #endif /* PATH_SEPARATOR_2 */ #define XMALLOC(type, num) ((type *) xmalloc ((num) * sizeof(type))) #define XFREE(stale) do { \ if (stale) { free ((void *) stale); stale = 0; } \ } while (0) /* -DDEBUG is fairly common in CFLAGS. */ #undef DEBUG #if defined DEBUGWRAPPER # define DEBUG(format, ...) fprintf(stderr, format, __VA_ARGS__) #else # define DEBUG(format, ...) #endif const char *program_name = NULL; void * xmalloc (size_t num); char * xstrdup (const char *string); const char * base_name (const char *name); char * find_executable(const char *wrapper); int check_executable(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 (base_name (argv[0])); DEBUG("(main) argv[0] : %s\n",argv[0]); DEBUG("(main) program_name : %s\n",program_name); newargz = XMALLOC(char *, argc+2); EOF cat >> $cwrappersource <> $cwrappersource <<"EOF" newargz[1] = find_executable(argv[0]); if (newargz[1] == NULL) lt_fatal("Couldn't find %s", argv[0]); DEBUG("(main) found exe at : %s\n",newargz[1]); /* 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; for (i=0; i> $cwrappersource <> $cwrappersource <> $cwrappersource <<"EOF" return 127; } 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 ; } const char * base_name (const char *name) { const char *base; #if defined (HAVE_DOS_BASED_FILE_SYSTEM) /* Skip over the disk name in MSDOS pathnames. */ if (isalpha ((unsigned char)name[0]) && name[1] == ':') name += 2; #endif for (base = name; *name; name++) if (IS_DIR_SEPARATOR (*name)) base = name + 1; return base; } int check_executable(const char * path) { struct stat st; DEBUG("(check_executable) : %s\n", path ? (*path ? path : "EMPTY!") : "NULL!"); if ((!path) || (!*path)) return 0; if ((stat (path, &st) >= 0) && ( /* MinGW & native WIN32 do not support S_IXOTH or S_IXGRP */ #if defined (S_IXOTH) ((st.st_mode & S_IXOTH) == S_IXOTH) || #endif #if defined (S_IXGRP) ((st.st_mode & S_IXGRP) == S_IXGRP) || #endif ((st.st_mode & S_IXUSR) == S_IXUSR)) ) return 1; else return 0; } /* Searches for the full path of the wrapper. Returns newly allocated full path name if found, NULL otherwise */ char * find_executable (const char* wrapper) { int has_slash = 0; const char* p; const char* p_next; /* static buffer for getcwd */ char tmp[LT_PATHMAX + 1]; int tmp_len; char* concat_name; DEBUG("(find_executable) : %s\n", wrapper ? (*wrapper ? wrapper : "EMPTY!") : "NULL!"); if ((wrapper == NULL) || (*wrapper == '\0')) return NULL; /* Absolute path? */ #if defined (HAVE_DOS_BASED_FILE_SYSTEM) if (isalpha ((unsigned char)wrapper[0]) && wrapper[1] == ':') { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } else { #endif if (IS_DIR_SEPARATOR (wrapper[0])) { concat_name = xstrdup (wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } #if defined (HAVE_DOS_BASED_FILE_SYSTEM) } #endif for (p = wrapper; *p; p++) if (*p == '/') { has_slash = 1; break; } if (!has_slash) { /* no slashes; search PATH */ const char* path = getenv ("PATH"); if (path != NULL) { for (p = path; *p; p = p_next) { const char* q; size_t p_len; for (q = p; *q; q++) if (IS_PATH_SEPARATOR(*q)) break; p_len = q - p; p_next = (*q == '\0' ? q : q + 1); if (p_len == 0) { /* empty path: current directory */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); } else { concat_name = XMALLOC(char, p_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, p, p_len); concat_name[p_len] = '/'; strcpy (concat_name + p_len + 1, wrapper); } if (check_executable(concat_name)) return concat_name; XFREE(concat_name); } } /* not found in PATH; assume curdir */ } /* Relative path | not found in path: prepend cwd */ if (getcwd (tmp, LT_PATHMAX) == NULL) lt_fatal ("getcwd failed"); tmp_len = strlen(tmp); concat_name = XMALLOC(char, tmp_len + 1 + strlen(wrapper) + 1); memcpy (concat_name, tmp, tmp_len); concat_name[tmp_len] = '/'; strcpy (concat_name + tmp_len + 1, wrapper); if (check_executable(concat_name)) return concat_name; XFREE(concat_name); return NULL; } 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 $LTCFLAGS -s -o $cwrapper $cwrappersource ;; esac $rm $output trap "$rm $output; exit $EXIT_FAILURE" 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' # Be Bourne compatible (taken from Autoconf:_AS_BOURNE_COMPATIBLE). if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in *posix*) set -o posix;; esac fi BIN_SH=xpg4; export BIN_SH # for Tru64 DUALCASE=1; export DUALCASE # for MKS sh # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH 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 $EXIT_FAILURE 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+\"\$@\"} " ;; *) $echo >> $output "\ exec \"\$progdir/\$program\" \${1+\"\$@\"} " ;; esac $echo >> $output "\ \$echo \"\$0: cannot exec \$program \$*\" exit $EXIT_FAILURE 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 $EXIT_FAILURE fi fi\ " chmod +x $output fi exit $EXIT_SUCCESS ;; 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" generated="$generated $gentop" func_extract_archives $gentop $addlibs oldobjs="$oldobjs $func_extract_archives_result" fi # Do each command in the archive commands. if test -n "$old_archive_from_new_cmds" && test "$build_libtool_libs" = yes; then cmds=$old_archive_from_new_cmds else # POSIX demands no paths to be encoded in archives. We have # to avoid creating archives with duplicate basenames if we # might have to extract them afterwards, e.g., when creating a # static archive out of a convenience library, or when linking # the entirety of a libtool archive into another (currently # not supported by libtool). if (for obj in $oldobjs do $echo "X$obj" | $Xsed -e 's%^.*/%%' done | sort | sort -uc >/dev/null 2>&1); then : else $echo "copying selected object files to avoid basename conflicts..." if test -z "$gentop"; then gentop="$output_objdir/${outputname}x" generated="$generated $gentop" $show "${rm}r $gentop" $run ${rm}r "$gentop" $show "$mkdir $gentop" $run $mkdir "$gentop" exit_status=$? if test "$exit_status" -ne 0 && test ! -d "$gentop"; then exit $exit_status fi fi save_oldobjs=$oldobjs oldobjs= counter=1 for obj in $save_oldobjs do objbase=`$echo "X$obj" | $Xsed -e 's%^.*/%%'` case " $oldobjs " in " ") oldobjs=$obj ;; *[\ /]"$objbase "*) while :; do # Make sure we don't pick an alternate name that also # overlaps. newobj=lt$counter-$objbase counter=`expr $counter + 1` case " $oldobjs " in *[\ /]"$newobj "*) ;; *) if test ! -f "$gentop/$newobj"; then break; fi ;; esac done $show "ln $obj $gentop/$newobj || cp $obj $gentop/$newobj" $run ln "$obj" "$gentop/$newobj" || $run cp "$obj" "$gentop/$newobj" oldobjs="$oldobjs $gentop/$newobj" ;; *) oldobjs="$oldobjs $obj" ;; esac done fi eval cmds=\"$old_archive_cmds\" if len=`expr "X$cmds" : ".*"` && test "$len" -le "$max_cmd_len" || test "$max_cmd_len" -le -1; then cmds=$old_archive_cmds 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 # 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" : ".*" 2>/dev/null` && 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 eval cmd=\"$cmd\" 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 $progpath $preserve_args --mode=relink $libtool_args @inst_prefix_dir@)" relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e "$sed_quote_subst" | $NL2SP` 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi newdlprefiles="$newdlprefiles $libdir/$name" done dlprefiles="$newdlprefiles" else newdlfiles= for lib in $dlfiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlfiles="$newdlfiles $abs" done dlfiles="$newdlfiles" newdlprefiles= for lib in $dlprefiles; do case $lib in [\\/]* | [A-Za-z]:[\\/]*) abs="$lib" ;; *) abs=`pwd`"/$lib" ;; esac newdlprefiles="$newdlprefiles $abs" 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; 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 $EXIT_SUCCESS ;; # 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" | 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) case " $install_prog " in *[\\\ /]cp\ *) ;; *) prev=$arg ;; esac ;; -g | -m | -o) prev=$arg ;; -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 $EXIT_FAILURE fi if test -n "$prev"; then $echo "$modename: the \`$prev' option requires an argument" 1>&2 $echo "$help" 1>&2 exit $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE ;; 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 $EXIT_FAILURE 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 $EXIT_FAILURE fi if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%-inst-prefix-dir $inst_prefix_dir%" | $NL2SP` else relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP` 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 $EXIT_FAILURE 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. # Try `ln -sf' first, because the `ln' binary might depend on # the symlink we replace! Solaris /bin/ln does not understand -f, # so we also need to try rm && ln -s. for linkname do if test "$linkname" != "$realname"; then $show "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" $run eval "(cd $destdir && { $LN_S -f $realname $linkname || { $rm $linkname && $LN_S $realname $linkname; }; })" fi done fi # Do each command in the postinstall commands. lib="$destdir/$realname" cmds=$postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || { lt_exit=$? # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv ${realname}U $realname)' fi exit $lt_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 $EXIT_FAILURE ;; 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 $EXIT_SUCCESS ;; *) # 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; 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 $EXIT_FAILURE 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= # Note that it is not necessary on cygwin/mingw to append a dot to # foo even if both foo and FILE.exe exist: automatic-append-.exe # behavior happens only for exec(3), not for open(2)! Also, sourcing # `FILE.' does not work on cygwin managed mounts. # # If there is no directory component, then add one. case $wrapper in */* | *\\*) . ${wrapper} ;; *) . ./${wrapper} ;; esac outputname= if test "$fast_install" = no && test -n "$relink_command"; then if test "$finalize" = yes && test -z "$run"; then tmpdir=`func_mktempdir` file=`$echo "X$file$stripped_ext" | $Xsed -e 's%^.*/%%'` outputname="$tmpdir/$file" # Replace the output file specification. relink_command=`$echo "X$relink_command" | $SP2NL | $Xsed -e 's%@OUTPUT@%'"$outputname"'%g' | $NL2SP` $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 anyway 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 "$old_striplib"; then $show "$old_striplib $oldlib" $run eval "$old_striplib $oldlib" || exit $? fi # Do each command in the postinstall commands. cmds=$old_postinstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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 $progpath $preserve_args --finish$current_libdirs' else exit $EXIT_SUCCESS 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. cmds=$finish_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. test "$show" = : && exit $EXIT_SUCCESS $echo "X----------------------------------------------------------------------" | $Xsed $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 "X----------------------------------------------------------------------" | $Xsed exit $EXIT_SUCCESS ;; # 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 $EXIT_FAILURE 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 if test ! -f "$dir/$dlname"; then $echo "$modename: cannot find \`$dlname' in \`$dir' or \`$dir/$objdir'" 1>&2 exit $EXIT_FAILURE fi 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 for lt_var in LANG LC_ALL LC_CTYPE LC_COLLATE LC_MESSAGES do eval "if test \"\${save_$lt_var+set}\" = set; then $lt_var=\$save_$lt_var; export $lt_var fi" done # 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 $EXIT_SUCCESS 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 $EXIT_FAILURE 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" case "$mode" in clean) case " $library_names " in # " " in the beginning catches empty $dlname *" $dlname "*) ;; *) rmfiles="$rmfiles $objdir/$dlname" ;; esac test -n "$libdir" && rmfiles="$rmfiles $objdir/$name $objdir/${name}i" ;; uninstall) if test -n "$library_names"; then # Do each command in the postuninstall commands. cmds=$postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. cmds=$old_postuninstall_cmds save_ifs="$IFS"; IFS='~' for cmd in $cmds; do IFS="$save_ifs" eval cmd=\"$cmd\" $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. ;; esac 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 $EXIT_FAILURE ;; esac if test -z "$exec_cmd"; then $echo "$modename: invalid operation mode \`$mode'" 1>&2 $echo "$generic_help" 1>&2 exit $EXIT_FAILURE fi fi # test -z "$show_help" if test -n "$exec_cmd"; then eval exec $exec_cmd exit $EXIT_FAILURE 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 ." exit $EXIT_SUCCESS ;; 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 -precious-files-regex REGEX don't remove output files matching REGEX -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 uninstalled libtool libraries -static-libtool-libs 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 $EXIT_FAILURE ;; esac $echo $echo "Try \`$modename --help' for more information about other modes." exit $? # 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 disable_libs=shared # ### END LIBTOOL TAG CONFIG: disable-shared # ### BEGIN LIBTOOL TAG CONFIG: disable-static disable_libs=static # ### END LIBTOOL TAG CONFIG: disable-static # Local Variables: # mode:shell-script # sh-indentation:2 # End: axis2c-src-1.6.0/neethi/configure0000755000175000017500000253504511166310377020042 0ustar00manjulamanjula00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.61 for neethi-src 1.6.0. # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH if test "x$CONFIG_SHELL" = x; then if (eval ":") 2>/dev/null; then as_have_required=yes else as_have_required=no fi if test $as_have_required = yes && (eval ": (as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=\$LINENO as_lineno_2=\$LINENO test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" && test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; } ") 2> /dev/null; then : else as_candidate_shells= as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. case $as_dir in /*) for as_base in sh bash ksh sh5; do as_candidate_shells="$as_candidate_shells $as_dir/$as_base" done;; esac done IFS=$as_save_IFS for as_shell in $as_candidate_shells $SHELL; do # Try only shells that exist, to save several forks. if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { ("$as_shell") 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : _ASEOF }; then CONFIG_SHELL=$as_shell as_have_required=yes if { "$as_shell" 2> /dev/null <<\_ASEOF if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi : (as_func_return () { (exit $1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = "$1" ); then : else exitcode=1 echo positional parameters were not saved. fi test $exitcode = 0) || { (exit 1); exit 1; } ( as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; } _ASEOF }; then break fi fi done if test "x$CONFIG_SHELL" != x; then for as_var in BASH_ENV ENV do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done export CONFIG_SHELL exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"} fi if test $as_have_required = no; then echo This script requires a shell more modern than all the echo shells that I found on your system. Please install a echo modern shell, or manually run the script under such a echo shell if you do have one. { (exit 1); exit 1; } fi fi fi (eval "as_func_return () { (exit \$1) } as_func_success () { as_func_return 0 } as_func_failure () { as_func_return 1 } as_func_ret_success () { return 0 } as_func_ret_failure () { return 1 } exitcode=0 if as_func_success; then : else exitcode=1 echo as_func_success failed. fi if as_func_failure; then exitcode=1 echo as_func_failure succeeded. fi if as_func_ret_success; then : else exitcode=1 echo as_func_ret_success failed. fi if as_func_ret_failure; then exitcode=1 echo as_func_ret_failure succeeded. fi if ( set x; as_func_ret_success y && test x = \"\$1\" ); then : else exitcode=1 echo positional parameters were not saved. fi test \$exitcode = 0") || { echo No shell found that supports shell functions. echo Please tell autoconf@gnu.org about your system, echo including any error possibly output before this echo message } as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" # 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 </dev/null 2>&1 && unset CDPATH 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 tagnames=${tagnames+${tagnames},}CXX tagnames=${tagnames+${tagnames},}F77 exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='neethi-src' PACKAGE_TARNAME='neethi-src' PACKAGE_VERSION='1.6.0' PACKAGE_STRING='neethi-src 1.6.0' PACKAGE_BUGREPORT='' ac_default_prefix=/usr/local/neethi # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datarootdir datadir sysconfdir sharedstatedir localstatedir includedir oldincludedir docdir infodir htmldir dvidir pdfdir psdir libdir localedir mandir DEFS ECHO_C ECHO_N ECHO_T LIBS build_alias host_alias target_alias build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA am__isrc CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP SED GREP EGREP LN_S ECHO AR RANLIB CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL VERSION_NO LIBOBJS LTLIBOBJS' ac_subst_files='' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CXX CXXFLAGS CCC CPP CXXCPP F77 FFLAGS' # Initialize some variables set by options. ac_init_help= ac_init_version=false # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid feature name: $ac_feature" >&2 { (exit 1); exit 1; }; } ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'` eval enable_$ac_feature=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=\$ac_optarg ;; -without-* | --without-*) ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid package name: $ac_package" >&2 { (exit 1); exit 1; }; } ac_package=`echo $ac_package | sed 's/[-.]/_/g'` eval with_$ac_package=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) { echo "$as_me: error: unrecognized option: $ac_option Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 { (exit 1); exit 1; }; } eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` { echo "$as_me: error: missing argument to $ac_option" >&2 { (exit 1); exit 1; }; } fi # Be sure to have absolute directory names. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 { (exit 1); exit 1; }; } done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used." >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || { echo "$as_me: error: Working directory cannot be determined" >&2 { (exit 1); exit 1; }; } test "X$ac_ls_di" = "X$ac_pwd_ls_di" || { echo "$as_me: error: pwd does not report name of working directory" >&2 { (exit 1); exit 1; }; } # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$0" || $as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$0" : 'X\(//\)[^/]' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X"$0" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 { (exit 1); exit 1; }; } fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2 { (exit 1); exit 1; }; } pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures neethi-src 1.6.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/neethi-src] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF Program names: --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] --target=TARGET configure for building compilers for TARGET [HOST] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of neethi-src 1.6.0:";; esac cat <<\_ACEOF Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-dependency-tracking speeds up one-time build --enable-dependency-tracking do not reject slow dependency extractors --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-gnu-ld assume the C compiler uses GNU ld [default=no] --with-pic try to use only PIC/non-PIC objects [default=use both] --with-tags[=TAGS] include additional configurations [automatic] Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I if you have headers in a nonstandard directory CXX C++ compiler command CXXFLAGS C++ compiler flags CPP C preprocessor CXXCPP C++ preprocessor F77 Fortran 77 compiler command FFLAGS Fortran 77 compiler flags Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF neethi-src configure 1.6.0 generated by GNU Autoconf 2.61 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by neethi-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` 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 || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; 2) ac_configure_args1="$ac_configure_args1 '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac done done $as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } $as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo cat <<\_ASBOX ## ---------------- ## ## Cache variables. ## ## ---------------- ## _ASBOX echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo cat <<\_ASBOX ## ----------------- ## ## Output variables. ## ## ----------------- ## _ASBOX echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then cat <<\_ASBOX ## ------------------- ## ## File substitutions. ## ## ------------------- ## _ASBOX echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then cat <<\_ASBOX ## ----------- ## ## confdefs.h. ## ## ----------- ## _ASBOX echo cat confdefs.h echo fi test "$ac_signal" != 0 && echo "$as_me: caught signal $ac_signal" echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer explicitly selected file to automatically selected ones. if test -n "$CONFIG_SITE"; then set x "$CONFIG_SITE" elif test "x$prefix" != xNONE; then set x "$prefix/share/config.site" "$prefix/etc/config.site" else set x "$ac_default_prefix/share/config.site" \ "$ac_default_prefix/etc/config.site" fi shift for ac_site_file do if test -r "$ac_site_file"; then { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special # files actually), so we avoid doing that. if test -f "$cache_file"; then { echo "$as_me:$LINENO: loading cache $cache_file" >&5 echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { echo "$as_me:$LINENO: creating cache $cache_file" >&5 echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 echo "$as_me: former value: $ac_old_val" >&2;} { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 echo "$as_me: current value: $ac_new_val" >&2;} ac_cache_corrupted=: fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 echo "$as_me: error: changes in the environment can compromise the build" >&2;} { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5 echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;} { (exit 1); exit 1; }; } fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5 echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking build system type" >&5 echo $ECHO_N "checking build system type... $ECHO_C" >&6; } if test "${ac_cv_build+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 echo "$as_me: error: cannot guess build type; you must specify one" >&2;} { (exit 1); exit 1; }; } ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: $ac_cv_build" >&5 echo "${ECHO_T}$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5 echo "$as_me: error: invalid value of canonical build" >&2;} { (exit 1); exit 1; }; };; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking host system type" >&5 echo $ECHO_N "checking host system type... $ECHO_C" >&6; } if test "${ac_cv_host+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_host" >&5 echo "${ECHO_T}$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5 echo "$as_me: error: invalid value of canonical host" >&2;} { (exit 1); exit 1; }; };; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac { echo "$as_me:$LINENO: checking target system type" >&5 echo $ECHO_N "checking target system type... $ECHO_C" >&6; } if test "${ac_cv_target+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "x$target_alias" = x; then ac_cv_target=$ac_cv_host else ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` || { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&5 echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $target_alias failed" >&2;} { (exit 1); exit 1; }; } fi fi { echo "$as_me:$LINENO: result: $ac_cv_target" >&5 echo "${ECHO_T}$ac_cv_target" >&6; } case $ac_cv_target in *-*-*) ;; *) { { echo "$as_me:$LINENO: error: invalid value of canonical target" >&5 echo "$as_me: error: invalid value of canonical target" >&2;} { (exit 1); exit 1; }; };; esac target=$ac_cv_target ac_save_IFS=$IFS; IFS='-' set x $ac_cv_target shift target_cpu=$1 target_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: target_os=$* IFS=$ac_save_IFS case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac # The aliases save the names the user supplied, while $host etc. # will get canonicalized. test -n "$target_alias" && test "$program_prefix$program_suffix$program_transform_name" = \ NONENONEs,x,x, && program_prefix=${target_alias}- ac_config_headers="$ac_config_headers config.h" am__api_version='1.10' # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether build environment is sane" >&5 echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; } # Just in case sleep 1 echo timestamp > conftest.file # Do `set' in a subshell so we don't clobber the current shell's # arguments. Must try -L first in case configure is actually a # symlink; some systems play weird games with the mod time of symlinks # (eg FreeBSD returns the mod time of the symlink's containing # directory). if ( set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null` if test "$*" = "X"; then # -L didn't work. set X `ls -t $srcdir/configure conftest.file` fi rm -f conftest.file if test "$*" != "X $srcdir/configure conftest.file" \ && test "$*" != "X conftest.file $srcdir/configure"; then # If neither matched, then we have a broken ls. This can happen # if, for instance, CONFIG_SHELL is bash and it inherits a # broken ls alias from the environment. This has actually # happened. Such a system could not be considered "sane". { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&5 echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken alias in your environment" >&2;} { (exit 1); exit 1; }; } fi test "$2" = conftest.file ) then # Ok. : else { { echo "$as_me:$LINENO: error: newly created file is older than distributed files! Check your system clock" >&5 echo "$as_me: error: newly created file is older than distributed files! Check your system clock" >&2;} { (exit 1); exit 1; }; } fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } test "$program_prefix" != NONE && program_transform_name="s&^&$program_prefix&;$program_transform_name" # Use a double $ so make ignores it. test "$program_suffix" != NONE && program_transform_name="s&\$&$program_suffix&;$program_transform_name" # Double any \ or $. echo might interpret backslashes. # By default was `s,x,x', remove it if useless. cat <<\_ACEOF >conftest.sed s/[\\$]/&&/g;s/;s,x,x,$// _ACEOF program_transform_name=`echo $program_transform_name | sed -f conftest.sed` rm -f conftest.sed # expand $ac_aux_dir to an absolute path am_aux_dir=`cd $ac_aux_dir && pwd` test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing" # Use eval to expand $SHELL if eval "$MISSING --run true"; then am_missing_run="$MISSING --run " else am_missing_run= { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5 echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;} fi { echo "$as_me:$LINENO: checking for a thread-safe mkdir -p" >&5 echo $ECHO_N "checking for a thread-safe mkdir -p... $ECHO_C" >&6; } if test -z "$MKDIR_P"; then if test "${ac_cv_path_mkdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. test -d ./--version && rmdir ./--version MKDIR_P="$ac_install_sh -d" fi fi { echo "$as_me:$LINENO: result: $MKDIR_P" >&5 echo "${ECHO_T}$MKDIR_P" >&6; } mkdir_p="$MKDIR_P" case $mkdir_p in [\\/$]* | ?:[\\/]*) ;; */*) mkdir_p="\$(top_builddir)/$mkdir_p" ;; esac for ac_prog in gawk mawk nawk awk do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AWK+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AWK"; then ac_cv_prog_AWK="$AWK" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AWK="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AWK=$ac_cv_prog_AWK if test -n "$AWK"; then { echo "$as_me:$LINENO: result: $AWK" >&5 echo "${ECHO_T}$AWK" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$AWK" && break done { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi rm -rf .tst 2>/dev/null mkdir .tst 2>/dev/null if test -d .tst; then am__leading_dot=. else am__leading_dot=_ fi rmdir .tst 2>/dev/null if test "`cd $srcdir && pwd`" != "`pwd`"; then # Use -I$(srcdir) only when $(srcdir) != ., so that make's output # is not polluted with repeated "-I." am__isrc=' -I$(srcdir)' # test to see if srcdir already configured if test -f $srcdir/config.status; then { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5 echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;} { (exit 1); exit 1; }; } fi fi # test whether we have cygpath if test -z "$CYGPATH_W"; then if (cygpath --version) >/dev/null 2>/dev/null; then CYGPATH_W='cygpath -w' else CYGPATH_W=echo fi fi # Define the identity of the package. PACKAGE='neethi-src' VERSION='1.6.0' cat >>confdefs.h <<_ACEOF #define PACKAGE "$PACKAGE" _ACEOF cat >>confdefs.h <<_ACEOF #define VERSION "$VERSION" _ACEOF # Some tools Automake needs. ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"} AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"} AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"} AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"} MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"} install_sh=${install_sh-"\$(SHELL) $am_aux_dir/install-sh"} # Installed binaries are usually stripped using `strip' when the user # run `make install-strip'. However `strip' might not be the right # tool to use in cross-compilation environments, therefore Automake # will honor the `STRIP' environment variable to overrule this program. if test "$cross_compiling" != no; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi fi INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s" # We need awk for the "check" target. The system "awk" is bad on # some platforms. # Always define AMTAR for backward compatibility. AMTAR=${AMTAR-"${am_missing_run}tar"} am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -' ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { echo "$as_me:$LINENO: result: $CC" >&5 echo "${ECHO_T}$CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CC+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 echo "${ECHO_T}$ac_ct_CC" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&5 echo "$as_me: error: no acceptable C compiler found in \$PATH See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6; } ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # # List of possible output files, starting from the most likely. # The algorithm is not robust to junk in `.', hence go to wildcards (a.*) # only as a last resort. b.out is created by i960 compilers. ac_files='a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out' # # The IRIX 6 linker writes into existing files which may not be # executable, retaining their permissions. Remove them first so a # subsequent execution test works. ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { (ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link_default") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi { echo "$as_me:$LINENO: result: $ac_file" >&5 echo "${ECHO_T}$ac_file" >&6; } if test -z "$ac_file"; then echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: C compiler cannot create executables See \`config.log' for more details." >&5 echo "$as_me: error: C compiler cannot create executables See \`config.log' for more details." >&2;} { (exit 77); exit 77; }; } fi ac_exeext=$ac_cv_exeext # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether the C compiler works" >&5 echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6; } # FIXME: These cross compiler hacks should be removed for Autoconf 3.0 # If not cross compiling, check that we can run a simple program. if test "$cross_compiling" != yes; then if { ac_try='./$ac_file' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { echo "$as_me:$LINENO: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&5 echo "$as_me: error: cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi fi fi { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } rm -f a.out a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $cross_compiling" >&5 echo "${ECHO_T}$cross_compiling" >&6; } { echo "$as_me:$LINENO: checking for suffix of executables" >&5 echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6; } if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of executables: cannot compile and link See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest$ac_cv_exeext { echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 echo "${ECHO_T}$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT { echo "$as_me:$LINENO: checking for suffix of object files" >&5 echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6; } if test "${ac_cv_objext+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&5 echo "$as_me: error: cannot compute suffix of object files: cannot compile See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 echo "${ECHO_T}$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6; } if test "${ac_cv_c_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6; } GCC=`test $ac_compiler_gnu = yes && echo yes` ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 echo "${ECHO_T}$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { echo "$as_me:$LINENO: checking for $CC option to accept ISO C89" >&5 echo $ECHO_N "checking for $CC option to accept ISO C89... $ECHO_C" >&6; } if test "${ac_cv_prog_cc_c89+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cc_c89=$ac_arg else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { echo "$as_me:$LINENO: result: none needed" >&5 echo "${ECHO_T}none needed" >&6; } ;; xno) { echo "$as_me:$LINENO: result: unsupported" >&5 echo "${ECHO_T}unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c89" >&5 echo "${ECHO_T}$ac_cv_prog_cc_c89" >&6; } ;; esac ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu DEPDIR="${am__leading_dot}deps" ac_config_commands="$ac_config_commands depfiles" am_make=${MAKE-make} cat > confinc << 'END' am__doit: @echo done .PHONY: am__doit END # If we don't find an include directive, just comment out the code. { echo "$as_me:$LINENO: checking for style of include used by $am_make" >&5 echo $ECHO_N "checking for style of include used by $am_make... $ECHO_C" >&6; } am__include="#" am__quote= _am_result=none # First try GNU make style include. echo "include confinc" > confmf # We grep out `Entering directory' and `Leaving directory' # messages which can occur if `w' ends up in MAKEFLAGS. # In particular we don't look at `^make:' because GNU make might # be invoked under some other name (usually "gmake"), in which # case it prints its new name instead of `make'. if test "`$am_make -s -f confmf 2> /dev/null | grep -v 'ing directory'`" = "done"; then am__include=include am__quote= _am_result=GNU fi # Now try BSD make style include. if test "$am__include" = "#"; then echo '.include "confinc"' > confmf if test "`$am_make -s -f confmf 2> /dev/null`" = "done"; then am__include=.include am__quote="\"" _am_result=BSD fi fi { echo "$as_me:$LINENO: result: $_am_result" >&5 echo "${ECHO_T}$_am_result" >&6; } rm -f confinc confmf # Check whether --enable-dependency-tracking was given. if test "${enable_dependency_tracking+set}" = set; then enableval=$enable_dependency_tracking; fi if test "x$enable_dependency_tracking" != xno; then am_depcomp="$ac_aux_dir/depcomp" AMDEPBACKSLASH='\' fi if test "x$enable_dependency_tracking" != xno; then AMDEP_TRUE= AMDEP_FALSE='#' else AMDEP_TRUE='#' AMDEP_FALSE= fi depcc="$CC" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CC_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CC_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CC_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CC_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CC_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CC_dependencies_compiler_type" >&6; } CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CC_dependencies_compiler_type" = gcc3; then am__fastdepCC_TRUE= am__fastdepCC_FALSE='#' else am__fastdepCC_TRUE='#' am__fastdepCC_FALSE= fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { echo "$as_me:$LINENO: result: $CXX" >&5 echo "${ECHO_T}$CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { echo "$as_me:$LINENO: result: $ac_ct_CXX" >&5 echo "${ECHO_T}$ac_ct_CXX" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for C++ compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { echo "$as_me:$LINENO: checking whether we are using the GNU C++ compiler" >&5 echo $ECHO_N "checking whether we are using the GNU C++ compiler... $ECHO_C" >&6; } if test "${ac_cv_cxx_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_cxx_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_cxx_compiler_gnu" >&6; } GXX=`test $ac_compiler_gnu = yes && echo yes` ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { echo "$as_me:$LINENO: checking whether $CXX accepts -g" >&5 echo $ECHO_N "checking whether $CXX accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_cxx_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 CXXFLAGS="" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_cxx_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { echo "$as_me:$LINENO: result: $ac_cv_prog_cxx_g" >&5 echo "${ECHO_T}$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu depcc="$CXX" am_compiler_list= { echo "$as_me:$LINENO: checking dependency style of $depcc" >&5 echo $ECHO_N "checking dependency style of $depcc... $ECHO_C" >&6; } if test "${am_cv_CXX_dependencies_compiler_type+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -z "$AMDEP_TRUE" && test -f "$am_depcomp"; then # We make a subdir and do the tests there. Otherwise we can end up # making bogus files that we don't know about and never remove. For # instance it was reported that on HP-UX the gcc test will end up # making a dummy file named `D' -- because `-MD' means `put the output # in D'. mkdir conftest.dir # Copy depcomp to subdir because otherwise we won't find it if we're # using a relative directory. cp "$am_depcomp" conftest.dir cd conftest.dir # We will build objects and dependencies in a subdirectory because # it helps to detect inapplicable dependency modes. For instance # both Tru64's cc and ICC support -MD to output dependencies as a # side effect of compilation, but ICC will put the dependencies in # the current directory while Tru64 will put them in the object # directory. mkdir sub am_cv_CXX_dependencies_compiler_type=none if test "$am_compiler_list" = ""; then am_compiler_list=`sed -n 's/^#*\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp` fi for depmode in $am_compiler_list; do # Setup a source with many dependencies, because some compilers # like to wrap large dependency lists on column 80 (with \), and # we should not choose a depcomp mode which is confused by this. # # We need to recreate these files for each test, as the compiler may # overwrite some of them when testing with obscure command lines. # This happens at least with the AIX C compiler. : > sub/conftest.c for i in 1 2 3 4 5 6; do echo '#include "conftst'$i'.h"' >> sub/conftest.c # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with # Solaris 8's {/usr,}/bin/sh. touch sub/conftst$i.h done echo "${am__include} ${am__quote}sub/conftest.Po${am__quote}" > confmf case $depmode in nosideeffect) # after this tag, mechanisms are not by side-effect, so they'll # only be used when explicitly requested if test "x$enable_dependency_tracking" = xyes; then continue else break fi ;; none) break ;; esac # We check with `-c' and `-o' for the sake of the "dashmstdout" # mode. It turns out that the SunPro C++ compiler does not properly # handle `-M -o', and we need to detect this. if depmode=$depmode \ source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \ depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \ $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c \ >/dev/null 2>conftest.err && grep sub/conftst1.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftst6.h sub/conftest.Po > /dev/null 2>&1 && grep sub/conftest.${OBJEXT-o} sub/conftest.Po > /dev/null 2>&1 && ${MAKE-make} -s -f confmf > /dev/null 2>&1; then # icc doesn't choke on unknown options, it will just issue warnings # or remarks (even with -Werror). So we grep stderr for any message # that says an option was ignored or not supported. # When given -MP, icc 7.0 and 7.1 complain thusly: # icc: Command line warning: ignoring option '-M'; no argument required # The diagnosis changed in icc 8.0: # icc: Command line remark: option '-MP' not supported if (grep 'ignoring option' conftest.err || grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else am_cv_CXX_dependencies_compiler_type=$depmode break fi fi done cd .. rm -rf conftest.dir else am_cv_CXX_dependencies_compiler_type=none fi fi { echo "$as_me:$LINENO: result: $am_cv_CXX_dependencies_compiler_type" >&5 echo "${ECHO_T}$am_cv_CXX_dependencies_compiler_type" >&6; } CXXDEPMODE=depmode=$am_cv_CXX_dependencies_compiler_type if test "x$enable_dependency_tracking" != xno \ && test "$am_cv_CXX_dependencies_compiler_type" = gcc3; then am__fastdepCXX_TRUE= am__fastdepCXX_FALSE='#' else am__fastdepCXX_TRUE='#' am__fastdepCXX_FALSE= fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if test "${ac_cv_prog_CPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { echo "$as_me:$LINENO: result: $CPP" >&5 echo "${ECHO_T}$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Check whether --enable-shared was given. if test "${enable_shared+set}" = set; then enableval=$enable_shared; 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 else enable_shared=yes fi # Check whether --enable-static was given. if test "${enable_static+set}" = set; then enableval=$enable_static; 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 else enable_static=yes fi # Check whether --enable-fast-install was given. if test "${enable_fast_install+set}" = set; then enableval=$enable_fast_install; 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 else enable_fast_install=yes fi { echo "$as_me:$LINENO: checking for a sed that does not truncate output" >&5 echo $ECHO_N "checking for a sed that does not truncate output... $ECHO_C" >&6; } if test "${lt_cv_path_SED+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 { test -f "$as_dir/$lt_ac_prog$ac_exec_ext" && $as_test_x "$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 IFS=$as_save_IFS 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 && continue 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 fi SED=$lt_cv_path_SED { echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6; } { echo "$as_me:$LINENO: checking for grep that handles long lines and -e" >&5 echo $ECHO_N "checking for grep that handles long lines and -e... $ECHO_C" >&6; } if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Extract the first word of "grep ggrep" to use in msg output if test -z "$GREP"; then set dummy grep ggrep; ac_prog_name=$2 if test "${ac_cv_path_GREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS fi GREP="$ac_cv_path_GREP" if test -z "$GREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_GREP=$GREP fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_GREP" >&5 echo "${ECHO_T}$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { echo "$as_me:$LINENO: checking for egrep" >&5 echo $ECHO_N "checking for egrep... $ECHO_C" >&6; } if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else # Extract the first word of "egrep" to use in msg output if test -z "$EGREP"; then set dummy egrep; ac_prog_name=$2 if test "${ac_cv_path_EGREP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 echo $ECHO_N "0123456789$ECHO_C" >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break ac_count=`expr $ac_count + 1` if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS fi EGREP="$ac_cv_path_EGREP" if test -z "$EGREP"; then { { echo "$as_me:$LINENO: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&5 echo "$as_me: error: no acceptable $ac_prog_name could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" >&2;} { (exit 1); exit 1; }; } fi else ac_cv_path_EGREP=$EGREP fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_path_EGREP" >&5 echo "${ECHO_T}$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_ld { echo "$as_me:$LINENO: checking for $LD option to reload object files" >&5 echo $ECHO_N "checking for $LD option to reload object files... $ECHO_C" >&6; } if test "${lt_cv_ld_reload_flag+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_ld_reload_flag='-r' fi { echo "$as_me:$LINENO: result: $lt_cv_ld_reload_flag" >&5 echo "${ECHO_T}$lt_cv_ld_reload_flag" >&6; } 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' case $host_os in darwin*) if test "$GCC" = yes; then reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi ;; esac { echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6; } if test "${lt_cv_path_NM+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$NM"; then # Let the user override the test. lt_cv_path_NM="$NM" else lt_nm_to_check="${ac_tool_prefix}nm" if test -n "$ac_tool_prefix" && test "$build" = "$host"; then lt_nm_to_check="$lt_nm_to_check nm" fi for lt_tmp_nm in $lt_nm_to_check; do lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. tmp_nm="$ac_dir/$lt_tmp_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" done test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi { echo "$as_me:$LINENO: result: $lt_cv_path_NM" >&5 echo "${ECHO_T}$lt_cv_path_NM" >&6; } NM="$lt_cv_path_NM" { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking how to recognize dependent libraries" >&5 echo $ECHO_N "checking how to recognize dependent libraries... $ECHO_C" >&6; } if test "${lt_cv_deplibs_check_method+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ;; bsdi[45]*) 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*) # func_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='func_win32_libid' ;; mingw* | pw32*) # Base MSYS/MinGW do not provide the 'file' command needed by # func_win32_libid shell function, so use a weaker test based on 'objdump', # unless we find 'file', for example because we are cross-compiling. if ( file / ) >/dev/null 2>&1; then lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' lt_cv_file_magic_cmd='func_win32_libid' else lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' lt_cv_file_magic_cmd='$OBJDUMP -f' fi ;; darwin* | rhapsody*) lt_cv_deplibs_check_method=pass_all ;; freebsd* | dragonfly*) 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|DragonFly)/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 ;; interix[3-9]*) # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' ;; irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; *-n32|*"-n32 ") libmagic=N32;; *-64|*"-64 ") libmagic=64-bit;; *) libmagic=never-match;; esac lt_cv_deplibs_check_method=pass_all ;; # This must be Linux ELF. linux* | k*bsd*-gnu) lt_cv_deplibs_check_method=pass_all ;; netbsd* | netbsdelf*-gnu) 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*) if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; osf3* | osf4* | osf5*) lt_cv_deplibs_check_method=pass_all ;; rdos*) lt_cv_deplibs_check_method=pass_all ;; solaris*) lt_cv_deplibs_check_method=pass_all ;; sysv4 | sysv4.3*) 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 ;; pc) lt_cv_deplibs_check_method=pass_all ;; esac ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac fi { echo "$as_me:$LINENO: result: $lt_cv_deplibs_check_method" >&5 echo "${ECHO_T}$lt_cv_deplibs_check_method" >&6; } 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 # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi 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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 5066 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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-*kfreebsd*-gnu|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 { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *32-bit*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_i386_fbsd" ;; x86_64-*linux*) LD="${LD-ld} -m elf_i386" ;; ppc64-*linux*|powerpc64-*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*) case $host in x86_64-*kfreebsd*-gnu) LD="${LD-ld} -m elf_x86_64_fbsd" ;; 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" { echo "$as_me:$LINENO: checking whether the C compiler needs -belf" >&5 echo $ECHO_N "checking whether the C compiler needs -belf... $ECHO_C" >&6; } if test "${lt_cv_cc_needs_belf+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_cv_cc_needs_belf=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 lt_cv_cc_needs_belf=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { echo "$as_me:$LINENO: result: $lt_cv_cc_needs_belf" >&5 echo "${ECHO_T}$lt_cv_cc_needs_belf" >&6; } 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 ;; sparc*-*solaris*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then case `/usr/bin/file conftest.o` in *64-bit*) case $lt_cv_prog_gnu_ld in yes*) LD="${LD-ld} -m elf64_sparc" ;; *) LD="${LD-ld} -64" ;; esac ;; esac fi rm -rf conftest* ;; esac need_locks="$enable_libtool_lock" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then eval "$as_ac_Header=yes" else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in dlfcn.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test -n "$CXX" && ( test "X$CXX" != "Xno" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { echo "$as_me:$LINENO: checking how to run the C++ preprocessor" >&5 echo $ECHO_N "checking how to run the C++ preprocessor... $ECHO_C" >&6; } if test -z "$CXXCPP"; then if test "${ac_cv_prog_CXXCPP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { echo "$as_me:$LINENO: result: $CXXCPP" >&5 echo "${ECHO_T}$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Broken: fails on valid input. continue fi rm -f conftest.err conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then # Broken: success on invalid input. continue else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { echo "$as_me:$LINENO: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&5 echo "$as_me: error: C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details." >&2;} { (exit 1); exit 1; }; } fi ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu fi ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu if test -n "$ac_tool_prefix"; then for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$F77"; then ac_cv_prog_F77="$F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_F77="$ac_tool_prefix$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi F77=$ac_cv_prog_F77 if test -n "$F77"; then { echo "$as_me:$LINENO: result: $F77" >&5 echo "${ECHO_T}$F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$F77" && break done fi if test -z "$F77"; then ac_ct_F77=$F77 for ac_prog in g77 xlf f77 frt pgf77 cf77 fort77 fl32 af77 xlf90 f90 pgf90 pghpf epcf90 gfortran g95 xlf95 f95 fort ifort ifc efc pgf95 lf95 ftn do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_F77"; then ac_cv_prog_ac_ct_F77="$ac_ct_F77" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_F77="$ac_prog" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_F77=$ac_cv_prog_ac_ct_F77 if test -n "$ac_ct_F77"; then { echo "$as_me:$LINENO: result: $ac_ct_F77" >&5 echo "${ECHO_T}$ac_ct_F77" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -n "$ac_ct_F77" && break done if test "x$ac_ct_F77" = x; then F77="" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac F77=$ac_ct_F77 fi fi # Provide some information about the compiler. echo "$as_me:$LINENO: checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (ac_try="$ac_compiler --version >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler --version >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -v >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -v >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } { (ac_try="$ac_compiler -V >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compiler -V >&5") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } rm -f a.out # If we don't use `.F' as extension, the preprocessor is not run on the # input file. (Note that this only needs to work for GNU compilers.) ac_save_ext=$ac_ext ac_ext=F { echo "$as_me:$LINENO: checking whether we are using the GNU Fortran 77 compiler" >&5 echo $ECHO_N "checking whether we are using the GNU Fortran 77 compiler... $ECHO_C" >&6; } if test "${ac_cv_f77_compiler_gnu+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF program main #ifndef __GNUC__ choke me #endif end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_compiler_gnu=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_f77_compiler_gnu=$ac_compiler_gnu fi { echo "$as_me:$LINENO: result: $ac_cv_f77_compiler_gnu" >&5 echo "${ECHO_T}$ac_cv_f77_compiler_gnu" >&6; } ac_ext=$ac_save_ext ac_test_FFLAGS=${FFLAGS+set} ac_save_FFLAGS=$FFLAGS FFLAGS= { echo "$as_me:$LINENO: checking whether $F77 accepts -g" >&5 echo $ECHO_N "checking whether $F77 accepts -g... $ECHO_C" >&6; } if test "${ac_cv_prog_f77_g+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else FFLAGS=-g cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_prog_f77_g=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_prog_f77_g=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_prog_f77_g" >&5 echo "${ECHO_T}$ac_cv_prog_f77_g" >&6; } if test "$ac_test_FFLAGS" = set; then FFLAGS=$ac_save_FFLAGS elif test $ac_cv_prog_f77_g = yes; then if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-g -O2" else FFLAGS="-g" fi else if test "x$ac_cv_f77_compiler_gnu" = xyes; then FFLAGS="-O2" else FFLAGS= fi fi G77=`test $ac_compiler_gnu = yes && echo yes` ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Autoconf 2.13's AC_OBJEXT and AC_EXEEXT macros only works for C compilers! # find the maximum length of command line arguments { echo "$as_me:$LINENO: checking the maximum length of command line arguments" >&5 echo $ECHO_N "checking the maximum length of command line arguments... $ECHO_C" >&6; } if test "${lt_cv_sys_max_cmd_len+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else i=0 teststring="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; ;; amigaos*) # On AmigaOS with pdksh, this test takes hours, literally. # So we just punt and use a minimum line length of 8192. lt_cv_sys_max_cmd_len=8192; ;; netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) # This has been around since 386BSD, at least. Likely further. if test -x /sbin/sysctl; then lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` elif test -x /usr/sbin/sysctl; then lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` else lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs fi # And add a safety zone lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; interix*) # We know the value 262144 and hardcode it with a safety zone (like BSD) lt_cv_sys_max_cmd_len=196608 ;; osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not # nice to cause kernel panics so lets avoid the loop below. # First set a reasonable default. lt_cv_sys_max_cmd_len=16384 # if test -x /sbin/sysconfig; then case `/sbin/sysconfig -q proc exec_disable_arg_limit` in *1*) lt_cv_sys_max_cmd_len=-1 ;; esac fi ;; sco3.2v5*) lt_cv_sys_max_cmd_len=102400 ;; sysv5* | sco5v6* | sysv4.2uw2*) kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` if test -n "$kargmax"; then lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'` else lt_cv_sys_max_cmd_len=32768 fi ;; *) lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` if test -n "$lt_cv_sys_max_cmd_len"; then lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` else SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} while (test "X"`$SHELL $0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && test $i != 17 # 1/2 MB should be enough do i=`expr $i + 1` teststring=$teststring$teststring done teststring= # 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` fi ;; esac fi if test -n $lt_cv_sys_max_cmd_len ; then { echo "$as_me:$LINENO: result: $lt_cv_sys_max_cmd_len" >&5 echo "${ECHO_T}$lt_cv_sys_max_cmd_len" >&6; } else { echo "$as_me:$LINENO: result: none" >&5 echo "${ECHO_T}none" >&6; } fi # Check for command to grab the raw symbol name followed by C symbol from nm. { echo "$as_me:$LINENO: checking command to parse $NM output from $compiler object" >&5 echo $ECHO_N "checking command to parse $NM output from $compiler object... $ECHO_C" >&6; } if test "${lt_cv_sys_global_symbol_pipe+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # 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 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'" ;; linux* | k*bsd*-gnu) if test "$host_cpu" = ia64; then symcode='[ABCDGIRSTW]' 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'" fi ;; irix* | nonstopux*) symcode='[BCDEGRST]' ;; osf*) symcode='[BCDEGQRST]' ;; solaris*) symcode='[BDRT]' ;; sco3.2v5*) symcode='[DT]' ;; sysv4.2uw2*) symcode='[DT]' ;; sysv5* | sco5v6* | unixware* | OpenUNIX*) symcode='[ABDT]' ;; 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='[ABCDGIRSTW]' ;; esac # Try without a prefix undercore, then with it. for ac_symprfx in "" "_"; do # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. symxfrm="\\1 $ac_symprfx\\2 \\2" # 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 <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; then # Now try to grab the symbols. nlist=conftest.nm if { (eval echo "$as_me:$LINENO: \"$NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist\"") >&5 (eval $NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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 < 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 <> 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_prog_compiler_no_builtin_flag" if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && 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" >&5 fi else echo "cannot find nm_test_var in $nlist" >&5 fi else echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5 fi else echo "$progname: failed program was:" >&5 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 fi 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 { echo "$as_me:$LINENO: result: failed" >&5 echo "${ECHO_T}failed" >&6; } else { echo "$as_me:$LINENO: result: ok" >&5 echo "${ECHO_T}ok" >&6; } fi { echo "$as_me:$LINENO: checking for objdir" >&5 echo $ECHO_N "checking for objdir... $ECHO_C" >&6; } if test "${lt_cv_objdir+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 fi { echo "$as_me:$LINENO: result: $lt_cv_objdir" >&5 echo "${ECHO_T}$lt_cv_objdir" >&6; } objdir=$lt_cv_objdir 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 1s/^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 MSVC, # which needs '.lib'). libext=a ltmain="$ac_aux_dir/ltmain.sh" ofile="$default_ofile" with_gnu_ld="$lt_cv_prog_gnu_ld" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$AR"; then ac_cv_prog_AR="$AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_AR="${ac_tool_prefix}ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi AR=$ac_cv_prog_AR if test -n "$AR"; then { echo "$as_me:$LINENO: result: $AR" >&5 echo "${ECHO_T}$AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_AR"; then ac_ct_AR=$AR # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_AR+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_AR"; then ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_AR="ar" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_AR=$ac_cv_prog_ac_ct_AR if test -n "$ac_ct_AR"; then { echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 echo "${ECHO_T}$ac_ct_AR" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_AR" = x; then AR="false" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac AR=$ac_ct_AR fi else AR="$ac_cv_prog_AR" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi RANLIB=$ac_cv_prog_RANLIB if test -n "$RANLIB"; then { echo "$as_me:$LINENO: result: $RANLIB" >&5 echo "${ECHO_T}$RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_RANLIB"; then ac_ct_RANLIB=$RANLIB # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_RANLIB"; then ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_RANLIB="ranlib" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB if test -n "$ac_ct_RANLIB"; then { echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 echo "${ECHO_T}$ac_ct_RANLIB" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_RANLIB" = x; then RANLIB=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac RANLIB=$ac_ct_RANLIB fi else RANLIB="$ac_cv_prog_RANLIB" fi if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$STRIP"; then ac_cv_prog_STRIP="$STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_STRIP="${ac_tool_prefix}strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi STRIP=$ac_cv_prog_STRIP if test -n "$STRIP"; then { echo "$as_me:$LINENO: result: $STRIP" >&5 echo "${ECHO_T}$STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi fi if test -z "$ac_cv_prog_STRIP"; then ac_ct_STRIP=$STRIP # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 { echo "$as_me:$LINENO: checking for $ac_word" >&5 echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; } if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test -n "$ac_ct_STRIP"; then ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_STRIP="strip" echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP if test -n "$ac_ct_STRIP"; then { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 echo "${ECHO_T}$ac_ct_STRIP" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test "x$ac_ct_STRIP" = x; then STRIP=":" else case $cross_compiling:$ac_tool_warned in yes:) { echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&5 echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools whose name does not start with the host triplet. If you think this configuration is useful to you, please write to autoconf@gnu.org." >&2;} ac_tool_warned=yes ;; esac STRIP=$ac_ct_STRIP fi else STRIP="$ac_cv_prog_STRIP" fi 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 "$LTCFLAGS" && LTCFLAGS=$CFLAGS 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_postinstall_cmds='chmod 644 $oldlib' old_postuninstall_cmds= if test -n "$RANLIB"; then case $host_os in openbsd*) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # 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 { echo "$as_me:$LINENO: checking for ${ac_tool_prefix}file" >&5 echo $ECHO_N "checking for ${ac_tool_prefix}file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/${ac_tool_prefix}file; then lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi if test -z "$lt_cv_path_MAGIC_CMD"; then if test -n "$ac_tool_prefix"; then { echo "$as_me:$LINENO: checking for file" >&5 echo $ECHO_N "checking for file... $ECHO_C" >&6; } if test "${lt_cv_path_MAGIC_CMD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 ac_dummy="/usr/bin$PATH_SEPARATOR$PATH" for ac_dir in $ac_dummy; do IFS="$lt_save_ifs" test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/file; then lt_cv_path_MAGIC_CMD="$ac_dir/file" 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 <&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 fi MAGIC_CMD="$lt_cv_path_MAGIC_CMD" if test -n "$MAGIC_CMD"; then { echo "$as_me:$LINENO: result: $MAGIC_CMD" >&5 echo "${ECHO_T}$MAGIC_CMD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi else MAGIC_CMD=: fi fi fi ;; esac enable_dlopen=no enable_win32_dll=no # Check whether --enable-libtool-lock was given. if test "${enable_libtool_lock+set}" = set; then enableval=$enable_libtool_lock; fi test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes # Check whether --with-pic was given. if test "${with_pic+set}" = set; then withval=$with_pic; pic_mode="$withval" else pic_mode=default fi test -z "$pic_mode" && pic_mode=default # Use C for the default configuration in the libtool script tagname= lt_save_CC="$CC" ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu # Source file extension for C test sources. ac_ext=c # Object file extension for compiled C test sources. objext=o objext=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(){return(0);}' # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* lt_prog_compiler_no_builtin_flag= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7101: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7105: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl= lt_prog_compiler_pic= lt_prog_compiler_static= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl='-Wl,' lt_prog_compiler_static='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-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_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic=-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_prog_compiler_pic='-fPIC' ;; esac ;; *) lt_prog_compiler_pic='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static='-Bstatic' else lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic='-qnocommon' lt_prog_compiler_wl='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl='-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_prog_compiler_pic='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static='-non_shared' ;; newsos6) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-fpic' lt_prog_compiler_static='-Bstatic' ;; ccc*) lt_prog_compiler_wl='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' lt_prog_compiler_wl='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static='-non_shared' ;; rdos*) lt_prog_compiler_static='-non_shared' ;; solaris*) lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl='-Qoption ld ';; *) lt_prog_compiler_wl='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl='-Qoption ld ' lt_prog_compiler_pic='-PIC' lt_prog_compiler_static='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic='-Kconform_pic' lt_prog_compiler_static='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_pic='-KPIC' lt_prog_compiler_static='-Bstatic' ;; unicos*) lt_prog_compiler_wl='-Wl,' lt_prog_compiler_can_build_shared=no ;; uts4*) lt_prog_compiler_pic='-pic' lt_prog_compiler_static='-Bstatic' ;; *) lt_prog_compiler_can_build_shared=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic" >&5 echo "${ECHO_T}$lt_prog_compiler_pic" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7391: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:7395: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works" >&6; } if test x"$lt_prog_compiler_pic_works" = xyes; then case $lt_prog_compiler_pic in "" | " "*) ;; *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;; esac else lt_prog_compiler_pic= lt_prog_compiler_can_build_shared=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic= ;; *) lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works=yes fi else lt_prog_compiler_static_works=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works" >&6; } if test x"$lt_prog_compiler_static_works" = xyes; then : else lt_prog_compiler_static= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:7495: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:7499: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag= enable_shared_with_static_runtimes=no archive_cmds= archive_expsym_cmds= old_archive_From_new_cmds= old_archive_from_expsyms_cmds= export_dynamic_flag_spec= whole_archive_flag_spec= thread_safe_flag_spec= hardcode_libdir_flag_spec= hardcode_libdir_flag_spec_ld= hardcode_libdir_separator= hardcode_direct=no hardcode_minus_L=no hardcode_shlibpath_var=unsupported link_all_deplibs=unknown hardcode_automatic=no module_cmds= module_expsym_cmds= always_export_symbols=no export_symbols_cmds='$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 include_expsyms= # 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'. exclude_expsyms="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec='${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 whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs=no cat <&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*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # Samuel A. Falvo II 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. ld_shlibs=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec='-L$libdir' allow_undefined_flag=unsupported always_export_symbols=no enable_shared_with_static_runtimes=yes export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs=no fi ;; interix[3-9]*) hardcode_direct=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs=no else ld_shlibs=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs=no cat <&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 archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs=no fi ;; esac ;; sunos4*) archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct=yes hardcode_shlibpath_var=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs=no fi ;; esac if test "$ld_shlibs" = no; then runpath_var= hardcode_libdir_flag_spec= export_dynamic_flag_spec= whole_archive_flag_spec= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag=unsupported always_export_symbols=yes archive_expsym_cmds='$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. hardcode_minus_L=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct=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 export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds='' hardcode_direct=yes hardcode_libdir_separator=':' link_all_deplibs=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 : else # We have old collect2 hardcode_direct=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 hardcode_minus_L=yes hardcode_libdir_flag_spec='-L$libdir' hardcode_libdir_separator= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols=yes 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. allow_undefined_flag='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag="-z nodefs" archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec='${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. no_undefined_flag=' ${wl}-bernotok' allow_undefined_flag=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec='$convenience' archive_cmds_need_lc=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds='$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)' hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes # see comment about different semantics on the GNU ld section ld_shlibs=no ;; bsdi[45]*) export_dynamic_flag_spec=-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. hardcode_libdir_flag_spec=' ' allow_undefined_flag=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds='true' # FIXME: Should let the user specify the lib program. old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc=no hardcode_direct=no hardcode_automatic=yes hardcode_shlibpath_var=unsupported whole_archive_flag_spec='' link_all_deplibs=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs=no ;; esac fi ;; dgux*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; freebsd1*) ld_shlibs=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*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds='$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 hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes export_dynamic_flag_spec='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir' hardcode_libdir_separator=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld='+b $libdir' hardcode_direct=no hardcode_shlibpath_var=no ;; *) hardcode_direct=yes export_dynamic_flag_spec='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld='-rpath $libdir' fi hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: link_all_deplibs=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec='-R$libdir' hardcode_direct=yes hardcode_shlibpath_var=no ;; newsos6) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: hardcode_shlibpath_var=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct=yes hardcode_shlibpath_var=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' export_dynamic_flag_spec='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-R$libdir' ;; *) archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs=no fi ;; os2*) hardcode_libdir_flag_spec='-L$libdir' hardcode_minus_L=yes allow_undefined_flag=unsupported archive_cmds='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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 hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*' archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir' else allow_undefined_flag=' -expect_unresolved \*' archive_cmds='$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' archive_expsym_cmds='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec='-rpath $libdir' fi hardcode_libdir_separator=: ;; solaris*) no_undefined_flag=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds='$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 hardcode_libdir_flag_spec='-R$libdir' hardcode_shlibpath_var=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs=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. archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec='-L$libdir' hardcode_direct=yes hardcode_minus_L=yes hardcode_shlibpath_var=no ;; sysv4) case $host_vendor in sni) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds='$CC -r -o $output$reload_objs' hardcode_direct=no ;; motorola) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var=no ;; sysv4.3*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no export_dynamic_flag_spec='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag='${wl}-z,text' archive_cmds_need_lc=no hardcode_shlibpath_var=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag='${wl}-z,text' allow_undefined_flag='${wl}-z,nodefs' archive_cmds_need_lc=no hardcode_shlibpath_var=no hardcode_libdir_flag_spec='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator=':' link_all_deplibs=yes export_dynamic_flag_spec='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec='-L$libdir' hardcode_shlibpath_var=no ;; *) ld_shlibs=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs" >&5 echo "${ECHO_T}$ld_shlibs" >&6; } test "$ld_shlibs" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc" in x|xyes) # Assume -lc should be added archive_cmds_need_lc=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl pic_flag=$lt_prog_compiler_pic compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag allow_undefined_flag= if { (eval echo "$as_me:$LINENO: \"$archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc=no else archive_cmds_need_lc=yes fi allow_undefined_flag=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc" >&5 echo "${ECHO_T}$archive_cmds_need_lc" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" if test "$GCC" = yes; then case $host_os in darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; *) lt_awk_arg="/^libraries:/" ;; esac lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` if echo "$lt_search_path_spec" | grep ';' >/dev/null ; then # if the path contains ";" then we assume it to be the separator # otherwise default to the standard path separator (i.e. ":") - it is # assumed that no part of a normal pathname contains ";" but that should # okay in the real world where ";" in dirpaths is itself problematic. lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e 's/;/ /g'` else lt_search_path_spec=`echo "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` fi # Ok, now we have the path, separated by spaces, we can step through it # and add multilib dir if necessary. lt_tmp_lt_search_path_spec= lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` for lt_sys_path in $lt_search_path_spec; do if test -d "$lt_sys_path/$lt_multi_os_dir"; then lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" else test -d "$lt_sys_path" && \ lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" fi done lt_search_path_spec=`echo $lt_tmp_lt_search_path_spec | awk ' BEGIN {RS=" "; FS="/|\n";} { lt_foo=""; lt_count=0; for (lt_i = NF; lt_i > 0; lt_i--) { if ($lt_i != "" && $lt_i != ".") { if ($lt_i == "..") { lt_count++; } else { if (lt_count == 0) { lt_foo="/" $lt_i lt_foo; } else { lt_count--; } } } } if (lt_foo != "") { lt_freq[lt_foo]++; } if (lt_freq[lt_foo] == 1) { print lt_foo; } }'` sys_lib_search_path_spec=`echo $lt_search_path_spec` else sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" fi 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib" 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action= if test -n "$hardcode_libdir_flag_spec" || \ test -n "$runpath_var" || \ test "X$hardcode_automatic" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct" != 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, )" != no && test "$hardcode_minus_L" != no; then # Linking always hardcodes the temporary library directory. hardcode_action=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action" >&5 echo "${ECHO_T}$hardcode_action" >&6; } if test "$hardcode_action" = 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 striplib= old_striplib= { echo "$as_me:$LINENO: checking whether stripping libraries is possible" >&5 echo $ECHO_N "checking whether stripping libraries is possible... $ECHO_C" >&6; } 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" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } 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" old_striplib="$STRIP -S" { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi ;; *) { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } ;; esac fi 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 { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else lt_cv_dlopen="dyld" lt_cv_dlopen_libs= lt_cv_dlopen_self=yes fi ;; *) { echo "$as_me:$LINENO: checking for shl_load" >&5 echo $ECHO_N "checking for shl_load... $ECHO_C" >&6; } if test "${ac_cv_func_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define shl_load to an innocuous variant, in case declares shl_load. For example, HP-UX 11i declares gettimeofday. */ #define shl_load innocuous_shl_load /* System header to define __stub macros and hopefully few prototypes, which can conflict with char shl_load (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef shl_load /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_shl_load || defined __stub___shl_load choke me #endif int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_shl_load" >&5 echo "${ECHO_T}$ac_cv_func_shl_load" >&6; } if test $ac_cv_func_shl_load = yes; then lt_cv_dlopen="shl_load" else { echo "$as_me:$LINENO: checking for shl_load in -ldld" >&5 echo $ECHO_N "checking for shl_load in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_shl_load+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char shl_load (); int main () { return shl_load (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_shl_load=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_shl_load=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_shl_load" >&5 echo "${ECHO_T}$ac_cv_lib_dld_shl_load" >&6; } if test $ac_cv_lib_dld_shl_load = yes; then lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld" else { echo "$as_me:$LINENO: checking for dlopen" >&5 echo $ECHO_N "checking for dlopen... $ECHO_C" >&6; } if test "${ac_cv_func_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Define dlopen to an innocuous variant, in case declares dlopen. For example, HP-UX 11i declares gettimeofday. */ #define dlopen innocuous_dlopen /* System header to define __stub macros and hopefully few prototypes, which can conflict with char dlopen (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef dlopen /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_dlopen || defined __stub___dlopen choke me #endif int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_func_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_func_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext fi { echo "$as_me:$LINENO: result: $ac_cv_func_dlopen" >&5 echo "${ECHO_T}$ac_cv_func_dlopen" >&6; } if test $ac_cv_func_dlopen = yes; then lt_cv_dlopen="dlopen" else { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl" else { echo "$as_me:$LINENO: checking for dlopen in -lsvld" >&5 echo $ECHO_N "checking for dlopen in -lsvld... $ECHO_C" >&6; } if test "${ac_cv_lib_svld_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lsvld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_svld_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_svld_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_svld_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_svld_dlopen" >&6; } if test $ac_cv_lib_svld_dlopen = yes; then lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld" else { echo "$as_me:$LINENO: checking for dld_link in -ldld" >&5 echo $ECHO_N "checking for dld_link in -ldld... $ECHO_C" >&6; } if test "${ac_cv_lib_dld_dld_link+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldld $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dld_link (); int main () { return dld_link (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dld_dld_link=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dld_dld_link=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dld_dld_link" >&5 echo "${ECHO_T}$ac_cv_lib_dld_dld_link" >&6; } if test $ac_cv_lib_dld_dld_link = yes; then lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld" fi fi fi fi fi fi ;; 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" wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" { echo "$as_me:$LINENO: checking whether a program can dlopen itself" >&5 echo $ECHO_N "checking whether a program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;; esac else : # compilation failed lt_cv_dlopen_self=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self" >&5 echo "${ECHO_T}$lt_cv_dlopen_self" >&6; } if test "x$lt_cv_dlopen_self" = xyes; then wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" { echo "$as_me:$LINENO: checking whether a statically linked program can dlopen itself" >&5 echo $ECHO_N "checking whether a statically linked program can dlopen itself... $ECHO_C" >&6; } if test "${lt_cv_dlopen_self_static+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else if test "$cross_compiling" = yes; then : lt_cv_dlopen_self_static=cross else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < #endif #include #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); */ } else puts (dlerror ()); exit (status); } EOF if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 (eval $ac_link) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && test -s conftest${ac_exeext} 2>/dev/null; then (./conftest; exit; ) >&5 2>/dev/null lt_status=$? case x$lt_status in x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;; x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;; esac else : # compilation failed lt_cv_dlopen_self_static=no fi fi rm -fr conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_dlopen_self_static" >&5 echo "${ECHO_T}$lt_cv_dlopen_self_static" >&6; } 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 # Report which library types will actually be built { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler \ CC \ LD \ lt_prog_compiler_wl \ lt_prog_compiler_pic \ lt_prog_compiler_static \ lt_prog_compiler_no_builtin_flag \ export_dynamic_flag_spec \ thread_safe_flag_spec \ whole_archive_flag_spec \ enable_shared_with_static_runtimes \ old_archive_cmds \ old_archive_from_new_cmds \ predep_objects \ postdep_objects \ predeps \ postdeps \ compiler_lib_search_path \ archive_cmds \ archive_expsym_cmds \ postinstall_cmds \ postuninstall_cmds \ old_archive_from_expsyms_cmds \ allow_undefined_flag \ no_undefined_flag \ export_symbols_cmds \ hardcode_libdir_flag_spec \ hardcode_libdir_flag_spec_ld \ hardcode_libdir_separator \ hardcode_automatic \ module_cmds \ module_expsym_cmds \ lt_cv_prog_compiler_c_o \ fix_srcfile_path \ exclude_expsyms \ include_expsyms; do case $var in old_archive_cmds | \ old_archive_from_new_cmds | \ archive_cmds | \ archive_expsym_cmds | \ module_cmds | \ module_expsym_cmds | \ old_archive_from_expsyms_cmds | \ export_symbols_cmds | \ 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 cfgfile="${ofile}T" trap "$rm \"$cfgfile\"; exit 1" 1 2 15 $rm -f "$cfgfile" { echo "$as_me:$LINENO: creating $ofile" >&5 echo "$as_me: creating $ofile" >&6;} cat <<__EOF__ >> "$cfgfile" #! $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, 2002, 2003, 2004, 2005, 2006, 2007 # Free Software Foundation, Inc. # # This file is part of GNU Libtool: # Originally by Gordon Matzigkeit , 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 1s/^X//" # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= # ### BEGIN LIBTOOL CONFIG # 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=$archive_cmds_need_lc # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler # Is the compiler the GNU C compiler? with_gcc=$GCC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD # 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=$lt_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_prog_compiler_wl # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic 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_cv_prog_compiler_c_o # 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_prog_compiler_static # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec # 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_old_archive_cmds 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_old_archive_from_new_cmds # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds archive_expsym_cmds=$lt_archive_expsym_cmds 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_module_cmds module_expsym_cmds=$lt_module_expsym_cmds # 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_predep_objects # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path # 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_allow_undefined_flag # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag # 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=$hardcode_action # 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_hardcode_libdir_flag_spec # 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_hardcode_libdir_flag_spec_ld # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var # 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=$hardcode_automatic # 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=$link_all_deplibs # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds # 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_exclude_expsyms # Symbols that must always be exported. include_expsyms=$lt_include_expsyms # ### END LIBTOOL CONFIG __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" # Check whether --with-tags was given. if test "${with_tags+set}" = set; then withval=$with_tags; tagnames="$withval" fi if test -f "$ltmain" && test -n "$tagnames"; then if test ! -f "${ofile}"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not exist" >&5 echo "$as_me: WARNING: output file \`$ofile' does not exist" >&2;} fi if test -z "$LTCC"; then eval "`$SHELL ${ofile} --config | grep '^LTCC='`" if test -z "$LTCC"; then { echo "$as_me:$LINENO: WARNING: output file \`$ofile' does not look like a libtool script" >&5 echo "$as_me: WARNING: output file \`$ofile' does not look like a libtool script" >&2;} else { echo "$as_me:$LINENO: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&5 echo "$as_me: WARNING: using \`LTCC=$LTCC', extracted from \`$ofile'" >&2;} fi fi if test -z "$LTCFLAGS"; then eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" 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 "") ;; *) { { echo "$as_me:$LINENO: error: invalid tag name: $tagname" >&5 echo "$as_me: error: invalid tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; esac if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "${ofile}" > /dev/null then { { echo "$as_me:$LINENO: error: tag name \"$tagname\" already exists" >&5 echo "$as_me: error: tag name \"$tagname\" already exists" >&2;} { (exit 1); exit 1; }; } 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" && ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || (test "X$CXX" != "Xg++"))) ; then ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu archive_cmds_need_lc_CXX=no allow_undefined_flag_CXX= always_export_symbols_CXX=no archive_expsym_cmds_CXX= export_dynamic_flag_spec_CXX= hardcode_direct_CXX=no hardcode_libdir_flag_spec_CXX= hardcode_libdir_flag_spec_ld_CXX= hardcode_libdir_separator_CXX= hardcode_minus_L_CXX=no hardcode_shlibpath_var_CXX=unsupported hardcode_automatic_CXX=no module_cmds_CXX= module_expsym_cmds_CXX= link_all_deplibs_CXX=unknown old_archive_cmds_CXX=$old_archive_cmds no_undefined_flag_CXX= whole_archive_flag_spec_CXX= enable_shared_with_static_runtimes_CXX=no # Dependencies to place before and after the object being linked: predep_objects_CXX= postdep_objects_CXX= predeps_CXX= postdeps_CXX= compiler_lib_search_path_CXX= # Source file extension for C++ test sources. ac_ext=cpp # Object file extension for compiled C++ test sources. objext=o objext_CXX=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="int some_variable = 0;" # Code to be used in simple link tests lt_simple_link_test_code='int main(int, char *[]) { return(0); }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # 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 $as_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 $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} compiler=$CC compiler_CXX=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # We don't want -fno-exception wen compiling C++ code, so set the # no_builtin_flag separately if test "$GXX" = yes; then lt_prog_compiler_no_builtin_flag_CXX=' -fno-builtin' else lt_prog_compiler_no_builtin_flag_CXX= fi if test "$GXX" = yes; then # Set up default GNU C++ configuration # Check whether --with-gnu-ld was given. if test "${with_gnu_ld+set}" = set; then withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes else with_gnu_ld=no fi ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. { echo "$as_me:$LINENO: checking for ld used by $CC" >&5 echo $ECHO_N "checking for ld used by $CC... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: checking for GNU ld" >&5 echo $ECHO_N "checking for GNU ld... $ECHO_C" >&6; } else { echo "$as_me:$LINENO: checking for non-GNU ld" >&5 echo $ECHO_N "checking for non-GNU ld... $ECHO_C" >&6; } fi if test "${lt_cv_path_LD+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else 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 variants of GNU ld only accept -v. # Break only if it was the GNU/non-GNU ld that we prefer. case `"$lt_cv_path_LD" -v 2>&1 &5 echo "${ECHO_T}$LD" >&6; } else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } fi test -z "$LD" && { { echo "$as_me:$LINENO: error: no acceptable ld found in \$PATH" >&5 echo "$as_me: error: no acceptable ld found in \$PATH" >&2;} { (exit 1); exit 1; }; } { echo "$as_me:$LINENO: checking if the linker ($LD) is GNU ld" >&5 echo $ECHO_N "checking if the linker ($LD) is GNU ld... $ECHO_C" >&6; } if test "${lt_cv_prog_gnu_ld+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else # I'd rather use --version here, but apparently some GNU lds only accept -v. case `$LD -v 2>&1 &5 echo "${ECHO_T}$lt_cv_prog_gnu_ld" >&6; } with_gnu_ld=$lt_cv_prog_gnu_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 archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${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 whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_CXX= 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. archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -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 { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } ld_shlibs_CXX=yes case $host_os in aix3*) # FIXME: insert proper C++ library support ld_shlibs_CXX=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 aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do case $ld_flag in *-brtl*) aix_use_runtimelinking=yes break ;; esac done ;; esac 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. archive_cmds_CXX='' hardcode_direct_CXX=yes hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=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 : else # We have old collect2 hardcode_direct_CXX=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 hardcode_minus_L_CXX=yes hardcode_libdir_flag_spec_CXX='-L$libdir' hardcode_libdir_separator_CXX= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_CXX=yes 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. allow_undefined_flag_CXX='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_CXX="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_CXX='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_CXX="-z nodefs" archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_CXX='${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. no_undefined_flag_CXX=' ${wl}-bernotok' allow_undefined_flag_CXX=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_CXX='$convenience' archive_cmds_need_lc_CXX=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_CXX="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_CXX=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_CXX='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_CXX=no fi ;; chorus*) case $cc_basename in *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, CXX) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_CXX='-L$libdir' allow_undefined_flag_CXX=unsupported always_export_symbols_CXX=no enable_shared_with_static_runtimes_CXX=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_CXX=no fi ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_CXX='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_CXX='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_CXX='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_CXX=no hardcode_direct_CXX=no hardcode_automatic_CXX=yes hardcode_shlibpath_var_CXX=unsupported whole_archive_flag_spec_CXX='' link_all_deplibs_CXX=yes if test "$GXX" = yes ; then lt_int_apple_cc_single_mod=no output_verbose_link_cmd='echo' if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then lt_int_apple_cc_single_mod=yes fi if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_cmds_CXX='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else archive_cmds_CXX='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' fi module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds if test "X$lt_int_apple_cc_single_mod" = Xyes ; then archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' fi module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_CXX='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_CXX='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_CXX='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_CXX=no ;; esac fi ;; dgux*) case $cc_basename in ec++*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; ghcx*) # Green Hills C++ Compiler # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; freebsd[12]*) # C++ shared libraries reported to be fairly broken before switch to ELF ld_shlibs_CXX=no ;; freebsd-elf*) archive_cmds_need_lc_CXX=no ;; freebsd* | dragonfly*) # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF # conventions ld_shlibs_CXX=yes ;; gnu*) ;; hpux9*) hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: export_dynamic_flag_spec_CXX='${wl}-E' hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) archive_cmds_CXX='$rm $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~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) | 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 archive_cmds_CXX='$rm $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then hardcode_libdir_flag_spec_CXX='${wl}+b ${wl}$libdir' hardcode_libdir_separator_CXX=: case $host_cpu in hppa*64*|ia64*) ;; *) export_dynamic_flag_spec_CXX='${wl}-E' ;; esac fi case $host_cpu in hppa*64*|ia64*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no ;; *) hardcode_direct_CXX=yes hardcode_minus_L_CXX=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 ld_shlibs_CXX=no ;; aCC*) case $host_cpu in hppa*64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; 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 hppa*64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; ia64*) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; esac fi else # FIXME: insert proper C++ library support ld_shlibs_CXX=no fi ;; esac ;; interix[3-9]*) hardcode_direct_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_CXX='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_CXX='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; irix5* | irix6*) case $cc_basename in CC*) # SGI C++ archive_cmds_CXX='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_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. old_archive_cmds_CXX='$CC -ar -WR,-u -o $oldlib $oldobjs' ;; *) if test "$GXX" = yes; then if test "$with_gnu_ld" = no; then archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_CXX='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` -o $lib' fi fi link_all_deplibs_CXX=yes ;; esac hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: ;; linux* | k*bsd*-gnu) 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' archive_expsym_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --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' hardcode_libdir_flag_spec_CXX='${wl}--rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; icpc*) # Intel C++ with_gnu_ld=yes # version 8.0 and above of icpc choke on multiply defined symbols # if we add $predep_objects and $postdep_objects, however 7.1 and # earlier do not add the objects themselves. case `$CC -V 2>&1` in *"Version 7."*) archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; *) # Version 8.0 or newer tmp_idyn= case $host_cpu in ia64*) tmp_idyn=' -i_dynamic';; esac archive_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' ;; esac archive_cmds_need_lc_CXX=no hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive$convenience ${wl}--no-whole-archive' ;; pgCC*) # Portland Group C++ compiler archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' hardcode_libdir_flag_spec_CXX='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_CXX='${wl}--export-dynamic' whole_archive_flag_spec_CXX='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' ;; cxx*) # Compaq C++ archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' hardcode_libdir_flag_spec_CXX='-R$libdir' whole_archive_flag_spec_CXX='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' # Not sure whether something based on # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 # would be better. output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; esac ;; esac ;; lynxos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; m88k*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; mvs*) case $cc_basename in cxx*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_CXX='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' wlarc= hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=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::"' ;; openbsd2*) # C++ shared libraries are fairly broken ld_shlibs_CXX=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_CXX=yes hardcode_shlibpath_var_CXX=no archive_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_expsym_cmds_CXX='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' export_dynamic_flag_spec_CXX='${wl}-E' whole_archive_flag_spec_CXX="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' fi output_verbose_link_cmd='echo' else ld_shlibs_CXX=no fi ;; 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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # "CC -Bstatic", where "CC" is the KAI C++ compiler. old_archive_cmds_CXX='$CC -Bstatic -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && echo ${wl}-set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=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. archive_cmds_CXX='tempext=`echo $shared_ext | $SED -e '\''s/\([^()0-9A-Za-z{}]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' hardcode_libdir_flag_spec_CXX='${wl}-rpath,$libdir' hardcode_libdir_separator_CXX=: # Archives containing C++ object files must be created using # the KAI C++ compiler. old_archive_cmds_CXX='$CC -o $oldlib $oldobjs' ;; RCC*) # Rational C++ 2.4.1 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; cxx*) allow_undefined_flag_CXX=' -expect_unresolved \*' archive_cmds_CXX='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' archive_expsym_cmds_CXX='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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib~ $rm $lib.exp' hardcode_libdir_flag_spec_CXX='-rpath $libdir' hardcode_libdir_separator_CXX=: # 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 allow_undefined_flag_CXX=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_CXX='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${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' hardcode_libdir_flag_spec_CXX='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_CXX=: # 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 ld_shlibs_CXX=no fi ;; esac ;; psos*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; lcc*) # Lucid # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ archive_cmds_need_lc_CXX=yes no_undefined_flag_CXX=' -zdefs' archive_cmds_CXX='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' archive_expsym_cmds_CXX='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp' hardcode_libdir_flag_spec_CXX='-R$libdir' hardcode_shlibpath_var_CXX=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. # Supported since Solaris 2.6 (maybe 2.5.1?) whole_archive_flag_spec_CXX='-z allextract$convenience -z defaultextract' ;; esac link_all_deplibs_CXX=yes output_verbose_link_cmd='echo' # 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. old_archive_cmds_CXX='$CC -xar -o $oldlib $oldobjs' ;; gcx*) # Green Hills C++ Compiler archive_cmds_CXX='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' # The C++ compiler must be used to create the archive. old_archive_cmds_CXX='$CC $LDFLAGS -archive -o $oldlib $oldobjs' ;; *) # GNU C++ compiler with Solaris linker if test "$GXX" = yes && test "$with_gnu_ld" = no; then no_undefined_flag_CXX=' ${wl}-z ${wl}defs' if $CC --version | grep -v '^2\.7' > /dev/null; then archive_cmds_CXX='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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. archive_cmds_CXX='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' archive_expsym_cmds_CXX='$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 $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$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 hardcode_libdir_flag_spec_CXX='${wl}-R $wl$libdir' case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) whole_archive_flag_spec_CXX='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' ;; esac fi ;; esac ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_CXX='${wl}-z,text' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. # For security reasons, it is highly recommended that you always # use absolute paths for naming shared libraries, and exclude the # DT_RUNPATH tag from executables and libraries. But doing so # requires that you compile everything twice, which is a pain. # So that behaviour is only enabled if SCOABSPATH is set to a # non-empty value in the environment. Most likely only useful for # creating official distributions of packages. # This is a hack until libtool officially supports absolute path # names for shared libraries. no_undefined_flag_CXX='${wl}-z,text' allow_undefined_flag_CXX='${wl}-z,nodefs' archive_cmds_need_lc_CXX=no hardcode_shlibpath_var_CXX=no hardcode_libdir_flag_spec_CXX='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_CXX=':' link_all_deplibs_CXX=yes export_dynamic_flag_spec_CXX='${wl}-Bexport' runpath_var='LD_RUN_PATH' case $cc_basename in CC*) archive_cmds_CXX='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_CXX='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_CXX='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac ;; vxworks*) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; *) # FIXME: insert proper C++ library support ld_shlibs_CXX=no ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no GCC_CXX="$GXX" LD_CXX="$LD" cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; 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 "$compiler_lib_search_path_CXX"; then compiler_lib_search_path_CXX="${prev}${p}" else compiler_lib_search_path_CXX="${compiler_lib_search_path_CXX} ${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 "$postdeps_CXX"; then postdeps_CXX="${prev}${p}" else postdeps_CXX="${postdeps_CXX} ${prev}${p}" fi fi ;; *.$objext) # 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 "$predep_objects_CXX"; then predep_objects_CXX="$p" else predep_objects_CXX="$predep_objects_CXX $p" fi else if test -z "$postdep_objects_CXX"; then postdep_objects_CXX="$p" else postdep_objects_CXX="$postdep_objects_CXX $p" fi fi ;; *) ;; # Ignore the rest. esac done # Clean up. rm -f a.out a.exe else echo "libtool.m4: error: problem compiling CXX test program" fi $rm -f confest.$objext # PORTME: override above test on systems where it is broken case $host_os in interix[3-9]*) # Interix 3.5 installs completely hosed .la files for C++, so rather than # hack all around it, let's just trust "g++" to DTRT. predep_objects_CXX= postdep_objects_CXX= postdeps_CXX= ;; linux*) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 # # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; solaris*) case $cc_basename in CC*) # The more standards-conforming stlport4 library is # incompatible with the Cstd library. Avoid specifying # it if it's in CXXFLAGS. Ignore libCrun as # -library=stlport4 depends on it. case " $CXX $CXXFLAGS " in *" -library=stlport4 "*) solaris_use_stlport4=yes ;; esac # Adding this requires a known-good setup of shared libraries for # Sun compiler versions before 5.6, else PIC objects from an old # archive will be linked into the output, leading to subtle bugs. if test "$solaris_use_stlport4" != yes; then postdeps_CXX='-library=Cstd -library=Crun' fi ;; esac ;; esac case " $postdeps_CXX " in *" -lc "*) archive_cmds_need_lc_CXX=no ;; esac lt_prog_compiler_wl_CXX= lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } # C++ specific cases for pic, static, wl, etc. if test "$GXX" = yes; then lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_CXX='-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_prog_compiler_pic_CXX='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_CXX='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_CXX='-fno-common' ;; *djgpp*) # DJGPP does not support shared libraries at all lt_prog_compiler_pic_CXX= ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_CXX=-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_prog_compiler_pic_CXX='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_CXX='-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_prog_compiler_static_CXX='-Bstatic' else lt_prog_compiler_static_CXX='-bnso -bI:/lib/syscalls.exp' fi ;; chorus*) case $cc_basename in cxch68*) # Green Hills C++ Compiler # _LT_AC_TAGVAR(lt_prog_compiler_static, CXX)="--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 ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_CXX='-qnocommon' lt_prog_compiler_wl_CXX='-Wl,' ;; esac ;; dgux*) case $cc_basename in ec++*) lt_prog_compiler_pic_CXX='-KPIC' ;; ghcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; freebsd* | dragonfly*) # FreeBSD uses GNU C++ ;; hpux9* | hpux10* | hpux11*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then lt_prog_compiler_pic_CXX='+Z' fi ;; aCC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default ;; *) lt_prog_compiler_pic_CXX='+Z' ;; esac ;; *) ;; esac ;; interix*) # This is c89, which is MS Visual C++ (no shared libs) # Anyone wants to do a port? ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_static_CXX='-non_shared' # CC pic flag -KPIC is the default. ;; *) ;; esac ;; linux* | k*bsd*-gnu) case $cc_basename in KCC*) # KAI C++ Compiler lt_prog_compiler_wl_CXX='--backend -Wl,' lt_prog_compiler_pic_CXX='-fPIC' ;; icpc* | ecpc*) # Intel C++ lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-static' ;; pgCC*) # Portland Group C++ compiler. lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-fpic' lt_prog_compiler_static_CXX='-Bstatic' ;; cxx*) # Compaq C++ # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C++ 5.9 lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; esac ;; esac ;; lynxos*) ;; m88k*) ;; mvs*) case $cc_basename in cxx*) lt_prog_compiler_pic_CXX='-W c,exportall' ;; *) ;; esac ;; netbsd* | netbsdelf*-gnu) ;; osf3* | osf4* | osf5*) case $cc_basename in KCC*) lt_prog_compiler_wl_CXX='--backend -Wl,' ;; RCC*) # Rational C++ 2.4.1 lt_prog_compiler_pic_CXX='-pic' ;; cxx*) # Digital/Compaq C++ lt_prog_compiler_wl_CXX='-Wl,' # Make sure the PIC flag is empty. It appears that all Alpha # Linux and Compaq Tru64 Unix objects are PIC. lt_prog_compiler_pic_CXX= lt_prog_compiler_static_CXX='-non_shared' ;; *) ;; esac ;; psos*) ;; solaris*) case $cc_basename in CC*) # Sun C++ 4.2, 5.x and Centerline C++ lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' lt_prog_compiler_wl_CXX='-Qoption ld ' ;; gcx*) # Green Hills C++ Compiler lt_prog_compiler_pic_CXX='-PIC' ;; *) ;; esac ;; sunos4*) case $cc_basename in CC*) # Sun C++ 4.x lt_prog_compiler_pic_CXX='-pic' lt_prog_compiler_static_CXX='-Bstatic' ;; lcc*) # Lucid lt_prog_compiler_pic_CXX='-pic' ;; *) ;; esac ;; tandem*) case $cc_basename in NCC*) # NonStop-UX NCC 3.20 lt_prog_compiler_pic_CXX='-KPIC' ;; *) ;; esac ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) case $cc_basename in CC*) lt_prog_compiler_wl_CXX='-Wl,' lt_prog_compiler_pic_CXX='-KPIC' lt_prog_compiler_static_CXX='-Bstatic' ;; esac ;; vxworks*) ;; *) lt_prog_compiler_can_build_shared_CXX=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_CXX" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_CXX"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_CXX works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_CXX=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_CXX -DPIC" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12377: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:12381: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_CXX=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_CXX" >&6; } if test x"$lt_prog_compiler_pic_works_CXX" = xyes; then case $lt_prog_compiler_pic_CXX in "" | " "*) ;; *) lt_prog_compiler_pic_CXX=" $lt_prog_compiler_pic_CXX" ;; esac else lt_prog_compiler_pic_CXX= lt_prog_compiler_can_build_shared_CXX=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_CXX= ;; *) lt_prog_compiler_pic_CXX="$lt_prog_compiler_pic_CXX -DPIC" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_CXX eval lt_tmp_static_flag=\"$lt_prog_compiler_static_CXX\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_CXX=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_CXX=yes fi else lt_prog_compiler_static_works_CXX=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_CXX" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_CXX" >&6; } if test x"$lt_prog_compiler_static_works_CXX" = xyes; then : else lt_prog_compiler_static_CXX= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_CXX+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_CXX=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:12481: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:12485: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_CXX=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_CXX" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_CXX" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_CXX" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } export_symbols_cmds_CXX='$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 export_symbols_cmds_CXX='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_CXX='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi ;; pw32*) export_symbols_cmds_CXX="$ltdll_cmds" ;; cygwin* | mingw*) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/;/^.*[ ]__nm__/s/^.*[ ]__nm__\([^ ]*\)[ ][^ ]*/\1 DATA/;/^I[ ]/d;/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' ;; linux* | k*bsd*-gnu) link_all_deplibs_CXX=no ;; *) export_symbols_cmds_CXX='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' ;; esac { echo "$as_me:$LINENO: result: $ld_shlibs_CXX" >&5 echo "${ECHO_T}$ld_shlibs_CXX" >&6; } test "$ld_shlibs_CXX" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_CXX" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_CXX=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_CXX 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_CXX pic_flag=$lt_prog_compiler_pic_CXX compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_CXX allow_undefined_flag_CXX= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_CXX 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_CXX=no else archive_cmds_need_lc_CXX=yes fi allow_undefined_flag_CXX=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_CXX" >&5 echo "${ECHO_T}$archive_cmds_need_lc_CXX" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_CXX= if test -n "$hardcode_libdir_flag_spec_CXX" || \ test -n "$runpath_var_CXX" || \ test "X$hardcode_automatic_CXX" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_CXX" != 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, CXX)" != no && test "$hardcode_minus_L_CXX" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_CXX=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_CXX=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_CXX=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_CXX" >&5 echo "${ECHO_T}$hardcode_action_CXX" >&6; } if test "$hardcode_action_CXX" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_CXX \ CC_CXX \ LD_CXX \ lt_prog_compiler_wl_CXX \ lt_prog_compiler_pic_CXX \ lt_prog_compiler_static_CXX \ lt_prog_compiler_no_builtin_flag_CXX \ export_dynamic_flag_spec_CXX \ thread_safe_flag_spec_CXX \ whole_archive_flag_spec_CXX \ enable_shared_with_static_runtimes_CXX \ old_archive_cmds_CXX \ old_archive_from_new_cmds_CXX \ predep_objects_CXX \ postdep_objects_CXX \ predeps_CXX \ postdeps_CXX \ compiler_lib_search_path_CXX \ archive_cmds_CXX \ archive_expsym_cmds_CXX \ postinstall_cmds_CXX \ postuninstall_cmds_CXX \ old_archive_from_expsyms_cmds_CXX \ allow_undefined_flag_CXX \ no_undefined_flag_CXX \ export_symbols_cmds_CXX \ hardcode_libdir_flag_spec_CXX \ hardcode_libdir_flag_spec_ld_CXX \ hardcode_libdir_separator_CXX \ hardcode_automatic_CXX \ module_cmds_CXX \ module_expsym_cmds_CXX \ lt_cv_prog_compiler_c_o_CXX \ fix_srcfile_path_CXX \ exclude_expsyms_CXX \ include_expsyms_CXX; do case $var in old_archive_cmds_CXX | \ old_archive_from_new_cmds_CXX | \ archive_cmds_CXX | \ archive_expsym_cmds_CXX | \ module_cmds_CXX | \ module_expsym_cmds_CXX | \ old_archive_from_expsyms_cmds_CXX | \ export_symbols_cmds_CXX | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_CXX # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_CXX # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_CXX # Is the compiler the GNU C compiler? with_gcc=$GCC_CXX # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_CXX # 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=$lt_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_prog_compiler_wl_CXX # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_CXX 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_cv_prog_compiler_c_o_CXX # 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_prog_compiler_static_CXX # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_CXX # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_CXX # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_CXX # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_CXX # 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_old_archive_cmds_CXX 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_old_archive_from_new_cmds_CXX # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_CXX # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_CXX archive_expsym_cmds=$lt_archive_expsym_cmds_CXX 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_module_cmds_CXX module_expsym_cmds=$lt_module_expsym_cmds_CXX # 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_predep_objects_CXX # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_CXX # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_CXX # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_CXX # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_CXX # 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_allow_undefined_flag_CXX # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_CXX # 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=$hardcode_action_CXX # 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_hardcode_libdir_flag_spec_CXX # 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_hardcode_libdir_flag_spec_ld_CXX # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_CXX # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_CXX # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_CXX # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_CXX # 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=$hardcode_automatic_CXX # 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=$link_all_deplibs_CXX # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_CXX # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_CXX # 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_exclude_expsyms_CXX # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_CXX # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu 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 else tagname="" fi ;; F77) if test -n "$F77" && test "X$F77" != "Xno"; then ac_ext=f ac_compile='$F77 -c $FFLAGS conftest.$ac_ext >&5' ac_link='$F77 -o conftest$ac_exeext $FFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_f77_compiler_gnu archive_cmds_need_lc_F77=no allow_undefined_flag_F77= always_export_symbols_F77=no archive_expsym_cmds_F77= export_dynamic_flag_spec_F77= hardcode_direct_F77=no hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_minus_L_F77=no hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= link_all_deplibs_F77=unknown old_archive_cmds_F77=$old_archive_cmds no_undefined_flag_F77= whole_archive_flag_spec_F77= enable_shared_with_static_runtimes_F77=no # Source file extension for f77 test sources. ac_ext=f # Object file extension for compiled f77 test sources. objext=o objext_F77=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="\ subroutine t return end " # Code to be used in simple link tests lt_simple_link_test_code="\ program t end " # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${F77-"f77"} compiler=$CC compiler_F77=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` { echo "$as_me:$LINENO: checking if libtool supports shared libraries" >&5 echo $ECHO_N "checking if libtool supports shared libraries... $ECHO_C" >&6; } { echo "$as_me:$LINENO: result: $can_build_shared" >&5 echo "${ECHO_T}$can_build_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build shared libraries" >&5 echo $ECHO_N "checking whether to build shared libraries... $ECHO_C" >&6; } 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* | aix5*) if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi ;; esac { echo "$as_me:$LINENO: result: $enable_shared" >&5 echo "${ECHO_T}$enable_shared" >&6; } { echo "$as_me:$LINENO: checking whether to build static libraries" >&5 echo $ECHO_N "checking whether to build static libraries... $ECHO_C" >&6; } # Make sure either enable_shared or enable_static is yes. test "$enable_shared" = yes || enable_static=yes { echo "$as_me:$LINENO: result: $enable_static" >&5 echo "${ECHO_T}$enable_static" >&6; } GCC_F77="$G77" LD_F77="$LD" lt_prog_compiler_wl_F77= lt_prog_compiler_pic_F77= lt_prog_compiler_static_F77= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_static_F77='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-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_prog_compiler_pic_F77='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_F77='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_F77='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_F77=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_F77=-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_prog_compiler_pic_F77='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_F77='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_F77='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_F77='-Bstatic' else lt_prog_compiler_static_F77='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_F77='-qnocommon' lt_prog_compiler_wl_F77='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_F77='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_F77='-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_prog_compiler_pic_F77='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_F77='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_F77='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_F77='-non_shared' ;; newsos6) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-fpic' lt_prog_compiler_static_F77='-Bstatic' ;; ccc*) lt_prog_compiler_wl_F77='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' lt_prog_compiler_wl_F77='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_F77='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_F77='-non_shared' ;; rdos*) lt_prog_compiler_static_F77='-non_shared' ;; solaris*) lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_F77='-Qoption ld ';; *) lt_prog_compiler_wl_F77='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_F77='-Qoption ld ' lt_prog_compiler_pic_F77='-PIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_F77='-Kconform_pic' lt_prog_compiler_static_F77='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_pic_F77='-KPIC' lt_prog_compiler_static_F77='-Bstatic' ;; unicos*) lt_prog_compiler_wl_F77='-Wl,' lt_prog_compiler_can_build_shared_F77=no ;; uts4*) lt_prog_compiler_pic_F77='-pic' lt_prog_compiler_static_F77='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_F77" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_F77"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_F77 works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_F77=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_F77" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14058: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:14062: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_F77=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_F77" >&6; } if test x"$lt_prog_compiler_pic_works_F77" = xyes; then case $lt_prog_compiler_pic_F77 in "" | " "*) ;; *) lt_prog_compiler_pic_F77=" $lt_prog_compiler_pic_F77" ;; esac else lt_prog_compiler_pic_F77= lt_prog_compiler_can_build_shared_F77=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_F77= ;; *) lt_prog_compiler_pic_F77="$lt_prog_compiler_pic_F77" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_F77 eval lt_tmp_static_flag=\"$lt_prog_compiler_static_F77\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_F77=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_F77=yes fi else lt_prog_compiler_static_works_F77=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_F77" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_F77" >&6; } if test x"$lt_prog_compiler_static_works_F77" = xyes; then : else lt_prog_compiler_static_F77= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_F77+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_F77=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:14162: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:14166: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_F77=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_F77" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_F77" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_F77" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_F77= enable_shared_with_static_runtimes_F77=no archive_cmds_F77= archive_expsym_cmds_F77= old_archive_From_new_cmds_F77= old_archive_from_expsyms_cmds_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= thread_safe_flag_spec_F77= hardcode_libdir_flag_spec_F77= hardcode_libdir_flag_spec_ld_F77= hardcode_libdir_separator_F77= hardcode_direct_F77=no hardcode_minus_L_F77=no hardcode_shlibpath_var_F77=unsupported link_all_deplibs_F77=unknown hardcode_automatic_F77=no module_cmds_F77= module_expsym_cmds_F77= always_export_symbols_F77=no export_symbols_cmds_F77='$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 include_expsyms_F77= # 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'. exclude_expsyms_F77="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_F77=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_F77='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_F77='${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 whole_archive_flag_spec_F77="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_F77= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_F77=no cat <&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*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # Samuel A. Falvo II 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. ld_shlibs_F77=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_F77=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_F77='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_F77=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, F77) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_F77='-L$libdir' allow_undefined_flag_F77=unsupported always_export_symbols_F77=no enable_shared_with_static_runtimes_F77=yes export_symbols_cmds_F77='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_F77='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_F77=no fi ;; interix[3-9]*) hardcode_direct_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_F77='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_F77='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_F77='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_F77='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_F77='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_F77='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_F77=no else ld_shlibs_F77=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_F77=no cat <&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 archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_F77=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac ;; sunos4*) archive_cmds_F77='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_F77=no fi ;; esac if test "$ld_shlibs_F77" = no; then runpath_var= hardcode_libdir_flag_spec_F77= export_dynamic_flag_spec_F77= whole_archive_flag_spec_F77= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_F77=unsupported always_export_symbols_F77=yes archive_expsym_cmds_F77='$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. hardcode_minus_L_F77=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_F77=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 export_symbols_cmds_F77='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_F77='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_F77='' hardcode_direct_F77=yes hardcode_libdir_separator_F77=':' link_all_deplibs_F77=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 : else # We have old collect2 hardcode_direct_F77=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 hardcode_minus_L_F77=yes hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_libdir_separator_F77= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_F77=yes 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. allow_undefined_flag_F77='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_F77="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_F77='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_F77="-z nodefs" archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF program main end _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_f77_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_F77='${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. no_undefined_flag_F77=' ${wl}-bernotok' allow_undefined_flag_F77=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_F77='$convenience' archive_cmds_need_lc_F77=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_F77="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_F77='$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)' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes # see comment about different semantics on the GNU ld section ld_shlibs_F77=no ;; bsdi[45]*) export_dynamic_flag_spec_F77=-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. hardcode_libdir_flag_spec_F77=' ' allow_undefined_flag_F77=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_F77='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_F77='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_F77='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_F77='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_F77=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_F77='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_F77='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_F77='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_F77=no hardcode_direct_F77=no hardcode_automatic_F77=yes hardcode_shlibpath_var_F77=unsupported whole_archive_flag_spec_F77='' link_all_deplibs_F77=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_F77='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_F77='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_F77='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_F77='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_F77=no ;; esac fi ;; dgux*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; freebsd1*) ld_shlibs_F77=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*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_F77='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes export_dynamic_flag_spec_F77='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_F77='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_F77='${wl}+b ${wl}$libdir' hardcode_libdir_separator_F77=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_F77='+b $libdir' hardcode_direct_F77=no hardcode_shlibpath_var_F77=no ;; *) hardcode_direct_F77=yes export_dynamic_flag_spec_F77='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_F77=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_F77='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_F77='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_F77='-rpath $libdir' fi hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: link_all_deplibs_F77=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_F77='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no ;; newsos6) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: hardcode_shlibpath_var_F77=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_F77=yes hardcode_shlibpath_var_F77=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' export_dynamic_flag_spec_F77='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_F77='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-R$libdir' ;; *) archive_cmds_F77='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_F77='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_F77=no fi ;; os2*) hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_minus_L_F77=yes allow_undefined_flag_F77=unsupported archive_cmds_F77='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_F77='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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 hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_F77=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_F77=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_F77='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_F77='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_F77=' -expect_unresolved \*' archive_cmds_F77='$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' archive_expsym_cmds_F77='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_F77='-rpath $libdir' fi hardcode_libdir_separator_F77=: ;; solaris*) no_undefined_flag_F77=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_F77='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_F77='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_F77='$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 hardcode_libdir_flag_spec_F77='-R$libdir' hardcode_shlibpath_var_F77=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_F77='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_F77='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_F77=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. archive_cmds_F77='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_direct_F77=yes hardcode_minus_L_F77=yes hardcode_shlibpath_var_F77=no ;; sysv4) case $host_vendor in sni) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_F77='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_F77='$CC -r -o $output$reload_objs' hardcode_direct_F77=no ;; motorola) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_F77=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_F77=no ;; sysv4.3*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no export_dynamic_flag_spec_F77='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_F77=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_F77=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_F77='${wl}-z,text' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_F77='${wl}-z,text' allow_undefined_flag_F77='${wl}-z,nodefs' archive_cmds_need_lc_F77=no hardcode_shlibpath_var_F77=no hardcode_libdir_flag_spec_F77='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_F77=':' link_all_deplibs_F77=yes export_dynamic_flag_spec_F77='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_F77='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_F77='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_F77='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_F77='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_F77='-L$libdir' hardcode_shlibpath_var_F77=no ;; *) ld_shlibs_F77=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_F77" >&5 echo "${ECHO_T}$ld_shlibs_F77" >&6; } test "$ld_shlibs_F77" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_F77" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_F77=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_F77 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_F77 pic_flag=$lt_prog_compiler_pic_F77 compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_F77 allow_undefined_flag_F77= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_F77 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_F77=no else archive_cmds_need_lc_F77=yes fi allow_undefined_flag_F77=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_F77" >&5 echo "${ECHO_T}$archive_cmds_need_lc_F77" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_F77= if test -n "$hardcode_libdir_flag_spec_F77" || \ test -n "$runpath_var_F77" || \ test "X$hardcode_automatic_F77" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_F77" != 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, F77)" != no && test "$hardcode_minus_L_F77" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_F77=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_F77=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_F77=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_F77" >&5 echo "${ECHO_T}$hardcode_action_F77" >&6; } if test "$hardcode_action_F77" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_F77 \ CC_F77 \ LD_F77 \ lt_prog_compiler_wl_F77 \ lt_prog_compiler_pic_F77 \ lt_prog_compiler_static_F77 \ lt_prog_compiler_no_builtin_flag_F77 \ export_dynamic_flag_spec_F77 \ thread_safe_flag_spec_F77 \ whole_archive_flag_spec_F77 \ enable_shared_with_static_runtimes_F77 \ old_archive_cmds_F77 \ old_archive_from_new_cmds_F77 \ predep_objects_F77 \ postdep_objects_F77 \ predeps_F77 \ postdeps_F77 \ compiler_lib_search_path_F77 \ archive_cmds_F77 \ archive_expsym_cmds_F77 \ postinstall_cmds_F77 \ postuninstall_cmds_F77 \ old_archive_from_expsyms_cmds_F77 \ allow_undefined_flag_F77 \ no_undefined_flag_F77 \ export_symbols_cmds_F77 \ hardcode_libdir_flag_spec_F77 \ hardcode_libdir_flag_spec_ld_F77 \ hardcode_libdir_separator_F77 \ hardcode_automatic_F77 \ module_cmds_F77 \ module_expsym_cmds_F77 \ lt_cv_prog_compiler_c_o_F77 \ fix_srcfile_path_F77 \ exclude_expsyms_F77 \ include_expsyms_F77; do case $var in old_archive_cmds_F77 | \ old_archive_from_new_cmds_F77 | \ archive_cmds_F77 | \ archive_expsym_cmds_F77 | \ module_cmds_F77 | \ module_expsym_cmds_F77 | \ old_archive_from_expsyms_cmds_F77 | \ export_symbols_cmds_F77 | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_F77 # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_F77 # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_F77 # Is the compiler the GNU C compiler? with_gcc=$GCC_F77 # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_F77 # 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=$lt_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_prog_compiler_wl_F77 # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_F77 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_cv_prog_compiler_c_o_F77 # 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_prog_compiler_static_F77 # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_F77 # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_F77 # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_F77 # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_F77 # 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_old_archive_cmds_F77 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_old_archive_from_new_cmds_F77 # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_F77 # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_F77 archive_expsym_cmds=$lt_archive_expsym_cmds_F77 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_module_cmds_F77 module_expsym_cmds=$lt_module_expsym_cmds_F77 # 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_predep_objects_F77 # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_F77 # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_F77 # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_F77 # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_F77 # 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_allow_undefined_flag_F77 # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_F77 # 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=$hardcode_action_F77 # 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_hardcode_libdir_flag_spec_F77 # 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_hardcode_libdir_flag_spec_ld_F77 # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_F77 # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_F77 # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_F77 # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_F77 # 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=$hardcode_automatic_F77 # 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=$link_all_deplibs_F77 # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_F77 # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_F77 # 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_exclude_expsyms_F77 # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_F77 # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; GCJ) if test -n "$GCJ" && test "X$GCJ" != "Xno"; then # Source file extension for Java test sources. ac_ext=java # Object file extension for compiled Java test sources. objext=o objext_GCJ=$objext # Code to be used in simple compile tests lt_simple_compile_test_code="class foo {}" # Code to be used in simple link tests lt_simple_link_test_code='public class conftest { public static void main(String[] argv) {}; }' # ltmain only uses $CC for tagged configurations so make sure $CC is set. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${GCJ-"gcj"} compiler=$CC compiler_GCJ=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` # GCJ did not exist at the time GCC didn't implicitly link libc in. archive_cmds_need_lc_GCJ=no old_archive_cmds_GCJ=$old_archive_cmds lt_prog_compiler_no_builtin_flag_GCJ= if test "$GCC" = yes; then lt_prog_compiler_no_builtin_flag_GCJ=' -fno-builtin' { echo "$as_me:$LINENO: checking if $compiler supports -fno-rtti -fno-exceptions" >&5 echo $ECHO_N "checking if $compiler supports -fno-rtti -fno-exceptions... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_rtti_exceptions+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_rtti_exceptions=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="-fno-rtti -fno-exceptions" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16362: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16366: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_cv_prog_compiler_rtti_exceptions=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_rtti_exceptions" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_rtti_exceptions" >&6; } if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then lt_prog_compiler_no_builtin_flag_GCJ="$lt_prog_compiler_no_builtin_flag_GCJ -fno-rtti -fno-exceptions" else : fi fi lt_prog_compiler_wl_GCJ= lt_prog_compiler_pic_GCJ= lt_prog_compiler_static_GCJ= { echo "$as_me:$LINENO: checking for $compiler option to produce PIC" >&5 echo $ECHO_N "checking for $compiler option to produce PIC... $ECHO_C" >&6; } if test "$GCC" = yes; then lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_static_GCJ='-static' case $host_os in aix*) # All AIX code is PIC. if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-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_prog_compiler_pic_GCJ='-m68020 -resident32 -malways-restore-a4' ;; beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; mingw* | cygwin* | 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). # Although the cygwin gcc ignores -fPIC, still need this for old-style # (--disable-auto-import) libraries lt_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; darwin* | rhapsody*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files lt_prog_compiler_pic_GCJ='-fno-common' ;; interix[3-9]*) # Interix 3.x gcc -fpic/-fPIC options generate broken code. # Instead, we relocate shared libraries at runtime. ;; msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. lt_prog_compiler_can_build_shared_GCJ=no enable_shared=no ;; sysv4*MP*) if test -d /usr/nec; then lt_prog_compiler_pic_GCJ=-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_prog_compiler_pic_GCJ='-fPIC' ;; esac ;; *) lt_prog_compiler_pic_GCJ='-fPIC' ;; esac else # PORTME Check for flag to pass linker flags through the system compiler. case $host_os in aix*) lt_prog_compiler_wl_GCJ='-Wl,' if test "$host_cpu" = ia64; then # AIX 5 now supports IA64 processor lt_prog_compiler_static_GCJ='-Bstatic' else lt_prog_compiler_static_GCJ='-bnso -bI:/lib/syscalls.exp' fi ;; darwin*) # PIC is the default on this platform # Common symbols not allowed in MH_DYLIB files case $cc_basename in xlc*) lt_prog_compiler_pic_GCJ='-qnocommon' lt_prog_compiler_wl_GCJ='-Wl,' ;; esac ;; mingw* | cygwin* | 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_prog_compiler_pic_GCJ='-DDLL_EXPORT' ;; hpux9* | hpux10* | hpux11*) lt_prog_compiler_wl_GCJ='-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_prog_compiler_pic_GCJ='+Z' ;; esac # Is there a better lt_prog_compiler_static that works with the bundled CC? lt_prog_compiler_static_GCJ='${wl}-a ${wl}archive' ;; irix5* | irix6* | nonstopux*) lt_prog_compiler_wl_GCJ='-Wl,' # PIC (with -KPIC) is the default. lt_prog_compiler_static_GCJ='-non_shared' ;; newsos6) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; linux* | k*bsd*-gnu) case $cc_basename in icc* | ecc*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-static' ;; pgcc* | pgf77* | pgf90* | pgf95*) # Portland Group compilers (*not* the Pentium gcc compiler, # which looks to be a dead project) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-fpic' lt_prog_compiler_static_GCJ='-Bstatic' ;; ccc*) lt_prog_compiler_wl_GCJ='-Wl,' # All Alpha code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; *) case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='-Wl,' ;; *Sun\ F*) # Sun Fortran 8.3 passes all unrecognized flags to the linker lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' lt_prog_compiler_wl_GCJ='' ;; esac ;; esac ;; osf3* | osf4* | osf5*) lt_prog_compiler_wl_GCJ='-Wl,' # All OSF/1 code is PIC. lt_prog_compiler_static_GCJ='-non_shared' ;; rdos*) lt_prog_compiler_static_GCJ='-non_shared' ;; solaris*) lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' case $cc_basename in f77* | f90* | f95*) lt_prog_compiler_wl_GCJ='-Qoption ld ';; *) lt_prog_compiler_wl_GCJ='-Wl,';; esac ;; sunos4*) lt_prog_compiler_wl_GCJ='-Qoption ld ' lt_prog_compiler_pic_GCJ='-PIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4 | sysv4.2uw2* | sysv4.3*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; sysv4*MP*) if test -d /usr/nec ;then lt_prog_compiler_pic_GCJ='-Kconform_pic' lt_prog_compiler_static_GCJ='-Bstatic' fi ;; sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_pic_GCJ='-KPIC' lt_prog_compiler_static_GCJ='-Bstatic' ;; unicos*) lt_prog_compiler_wl_GCJ='-Wl,' lt_prog_compiler_can_build_shared_GCJ=no ;; uts4*) lt_prog_compiler_pic_GCJ='-pic' lt_prog_compiler_static_GCJ='-Bstatic' ;; *) lt_prog_compiler_can_build_shared_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_GCJ" >&6; } # # Check to make sure the PIC flag actually works. # if test -n "$lt_prog_compiler_pic_GCJ"; then { echo "$as_me:$LINENO: checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works" >&5 echo $ECHO_N "checking if $compiler PIC flag $lt_prog_compiler_pic_GCJ works... $ECHO_C" >&6; } if test "${lt_prog_compiler_pic_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_pic_works_GCJ=no ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" > conftest.$ac_ext lt_compiler_flag="$lt_prog_compiler_pic_GCJ" # 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16652: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 echo "$as_me:16656: \$? = $ac_status" >&5 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 other than the usual output. $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_pic_works_GCJ=yes fi fi $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_pic_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_pic_works_GCJ" >&6; } if test x"$lt_prog_compiler_pic_works_GCJ" = xyes; then case $lt_prog_compiler_pic_GCJ in "" | " "*) ;; *) lt_prog_compiler_pic_GCJ=" $lt_prog_compiler_pic_GCJ" ;; esac else lt_prog_compiler_pic_GCJ= lt_prog_compiler_can_build_shared_GCJ=no fi fi case $host_os in # For platforms which do not support PIC, -DPIC is meaningless: *djgpp*) lt_prog_compiler_pic_GCJ= ;; *) lt_prog_compiler_pic_GCJ="$lt_prog_compiler_pic_GCJ" ;; esac # # Check to make sure the static flag actually works. # wl=$lt_prog_compiler_wl_GCJ eval lt_tmp_static_flag=\"$lt_prog_compiler_static_GCJ\" { echo "$as_me:$LINENO: checking if $compiler static flag $lt_tmp_static_flag works" >&5 echo $ECHO_N "checking if $compiler static flag $lt_tmp_static_flag works... $ECHO_C" >&6; } if test "${lt_prog_compiler_static_works_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_prog_compiler_static_works_GCJ=no save_LDFLAGS="$LDFLAGS" LDFLAGS="$LDFLAGS $lt_tmp_static_flag" echo "$lt_simple_link_test_code" > conftest.$ac_ext if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then # The linker 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>&5 $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then lt_prog_compiler_static_works_GCJ=yes fi else lt_prog_compiler_static_works_GCJ=yes fi fi $rm conftest* LDFLAGS="$save_LDFLAGS" fi { echo "$as_me:$LINENO: result: $lt_prog_compiler_static_works_GCJ" >&5 echo "${ECHO_T}$lt_prog_compiler_static_works_GCJ" >&6; } if test x"$lt_prog_compiler_static_works_GCJ" = xyes; then : else lt_prog_compiler_static_GCJ= fi { echo "$as_me:$LINENO: checking if $compiler supports -c -o file.$ac_objext" >&5 echo $ECHO_N "checking if $compiler supports -c -o file.$ac_objext... $ECHO_C" >&6; } if test "${lt_cv_prog_compiler_c_o_GCJ+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else lt_cv_prog_compiler_c_o_GCJ=no $rm -r conftest 2>/dev/null mkdir conftest cd conftest mkdir out echo "$lt_simple_compile_test_code" > conftest.$ac_ext 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}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` (eval echo "\"\$as_me:16756: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 echo "$as_me:16760: \$? = $ac_status" >&5 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 $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then lt_cv_prog_compiler_c_o_GCJ=yes fi fi chmod u+w . 2>&5 $rm conftest* # SGI C++ compiler will create directory out/ii_files/ for # template instantiation test -d out/ii_files && $rm out/ii_files/* && rmdir out/ii_files $rm out/* && rmdir out cd .. rmdir conftest $rm conftest* fi { echo "$as_me:$LINENO: result: $lt_cv_prog_compiler_c_o_GCJ" >&5 echo "${ECHO_T}$lt_cv_prog_compiler_c_o_GCJ" >&6; } hard_links="nottested" if test "$lt_cv_prog_compiler_c_o_GCJ" = no && test "$need_locks" != no; then # do not overwrite the value of need_locks provided by the user { echo "$as_me:$LINENO: checking if we can lock with hard links" >&5 echo $ECHO_N "checking if we can lock with hard links... $ECHO_C" >&6; } 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 { echo "$as_me:$LINENO: result: $hard_links" >&5 echo "${ECHO_T}$hard_links" >&6; } if test "$hard_links" = no; then { echo "$as_me:$LINENO: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5 echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;} need_locks=warn fi else need_locks=no fi { echo "$as_me:$LINENO: checking whether the $compiler linker ($LD) supports shared libraries" >&5 echo $ECHO_N "checking whether the $compiler linker ($LD) supports shared libraries... $ECHO_C" >&6; } runpath_var= allow_undefined_flag_GCJ= enable_shared_with_static_runtimes_GCJ=no archive_cmds_GCJ= archive_expsym_cmds_GCJ= old_archive_From_new_cmds_GCJ= old_archive_from_expsyms_cmds_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= thread_safe_flag_spec_GCJ= hardcode_libdir_flag_spec_GCJ= hardcode_libdir_flag_spec_ld_GCJ= hardcode_libdir_separator_GCJ= hardcode_direct_GCJ=no hardcode_minus_L_GCJ=no hardcode_shlibpath_var_GCJ=unsupported link_all_deplibs_GCJ=unknown hardcode_automatic_GCJ=no module_cmds_GCJ= module_expsym_cmds_GCJ= always_export_symbols_GCJ=no export_symbols_cmds_GCJ='$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 include_expsyms_GCJ= # 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'. exclude_expsyms_GCJ="_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= # Just being paranoid about ensuring that cc_basename is set. for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` 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 ;; interix*) # we just hope/assume this is gcc and not c89 (= MSVC++) with_gnu_ld=yes ;; openbsd*) with_gnu_ld=no ;; esac ld_shlibs_GCJ=yes if test "$with_gnu_ld" = yes; then # If archive_cmds runs LD, not CC, wlarc should be empty wlarc='${wl}' # Set some defaults for GNU ld with shared library support. These # are reset later if shared libraries are not supported. Putting them # here allows them to be overridden if necessary. runpath_var=LD_RUN_PATH hardcode_libdir_flag_spec_GCJ='${wl}--rpath ${wl}$libdir' export_dynamic_flag_spec_GCJ='${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 whole_archive_flag_spec_GCJ="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' else whole_archive_flag_spec_GCJ= fi supports_anon_versioning=no case `$LD -v 2>/dev/null` in *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11 *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... *\ 2.11.*) ;; # other 2.11 versions *) supports_anon_versioning=yes ;; esac # 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 ld_shlibs_GCJ=no cat <&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*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # Samuel A. Falvo II 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. ld_shlibs_GCJ=no ;; beos*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then allow_undefined_flag_GCJ=unsupported # Joseph Beckenbach says some releases of gcc # support --undefined. This deserves some investigation. FIXME archive_cmds_GCJ='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' else ld_shlibs_GCJ=no fi ;; cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, GCJ) is actually meaningless, # as there is no search path for DLLs. hardcode_libdir_flag_spec_GCJ='-L$libdir' allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=no enable_shared_with_static_runtimes_GCJ=yes export_symbols_cmds_GCJ='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... archive_expsym_cmds_GCJ='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 $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else ld_shlibs_GCJ=no fi ;; interix[3-9]*) hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. # Instead, shared libraries are loaded at an image base (0x10000000 by # default) and relocated if they conflict, which is a slow very memory # consuming and fragmenting process. To avoid this, we pick a random, # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link # time. Moving up from 0x10000000 also allows more sbrk(2) space. archive_cmds_GCJ='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' archive_expsym_cmds_GCJ='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' ;; gnu* | linux* | k*bsd*-gnu) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= case $cc_basename,$host_cpu in pgcc*) # Portland Group C compiler whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag' ;; pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers whole_archive_flag_spec_GCJ='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_addflag=' $pic_flag -Mnomain' ;; ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 tmp_addflag=' -i_dynamic' ;; efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 tmp_addflag=' -i_dynamic -nofor_main' ;; ifc* | ifort*) # Intel Fortran compiler tmp_addflag=' -nofor_main' ;; esac case `$CC -V 2>&1 | sed 5q` in *Sun\ C*) # Sun C 5.9 whole_archive_flag_spec_GCJ='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $echo \"$new_convenience\"` ${wl}--no-whole-archive' tmp_sharedflag='-G' ;; *Sun\ F*) # Sun Fortran 8.3 tmp_sharedflag='-G' ;; *) tmp_sharedflag='-shared' ;; esac archive_cmds_GCJ='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' if test $supports_anon_versioning = yes; then archive_expsym_cmds_GCJ='$echo "{ global:" > $output_objdir/$libname.ver~ cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ $echo "local: *; };" >> $output_objdir/$libname.ver~ $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' fi link_all_deplibs_GCJ=no else ld_shlibs_GCJ=no fi ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' wlarc= else archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' fi ;; solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then ld_shlibs_GCJ=no cat <&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 archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) case `$LD -v 2>&1` in *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*) ld_shlibs_GCJ=no cat <<_LT_EOF 1>&2 *** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not *** reliably create shared libraries on SCO systems. Therefore, libtool *** is disabling shared libraries support. We urge you to upgrade GNU *** binutils to release 2.16.91.0.3 or newer. Another option is to modify *** your PATH or compiler configuration so that the native linker is *** used, and then restart. _LT_EOF ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac ;; sunos4*) archive_cmds_GCJ='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; *) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' archive_expsym_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' else ld_shlibs_GCJ=no fi ;; esac if test "$ld_shlibs_GCJ" = no; then runpath_var= hardcode_libdir_flag_spec_GCJ= export_dynamic_flag_spec_GCJ= whole_archive_flag_spec_GCJ= fi else # PORTME fill in a description of your system's linker (not GNU ld) case $host_os in aix3*) allow_undefined_flag_GCJ=unsupported always_export_symbols_GCJ=yes archive_expsym_cmds_GCJ='$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. hardcode_minus_L_GCJ=yes if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. hardcode_direct_GCJ=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 export_symbols_cmds_GCJ='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' else export_symbols_cmds_GCJ='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$2 == "T") || (\$2 == "D") || (\$2 == "B")) && (substr(\$3,1,1) != ".")) { print \$3 } }'\'' | sort -u > $export_symbols' fi aix_use_runtimelinking=no # Test if we are trying to use run time linking or normal # AIX style linking. If -brtl is somewhere in LDFLAGS, we # need to do runtime linking. case $host_os in aix4.[23]|aix4.[23].*|aix5*) for ld_flag in $LDFLAGS; do if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then aix_use_runtimelinking=yes break fi done ;; esac 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. archive_cmds_GCJ='' hardcode_direct_GCJ=yes hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=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 : else # We have old collect2 hardcode_direct_GCJ=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 hardcode_minus_L_GCJ=yes hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_libdir_separator_GCJ= fi ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then shared_flag="$shared_flag "'${wl}-G' fi 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='${wl}-G' else shared_flag='${wl}-bM:SRE' fi fi fi # It seems that -bexpall does not export symbols beginning with # underscore (_), so it is better to generate a list of symbols to export. always_export_symbols_GCJ=yes 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. allow_undefined_flag_GCJ='-berok' # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${wl}-blibpath:$libdir:'"$aix_libpath" archive_expsym_cmds_GCJ="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `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 hardcode_libdir_flag_spec_GCJ='${wl}-R $libdir:/usr/lib:/lib' allow_undefined_flag_GCJ="-z nodefs" archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then lt_aix_libpath_sed=' /Import File Strings/,/^$/ { /^0/ { s/^0 *\(.*\)$/\1/ p } }' aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` # 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 "$lt_aix_libpath_sed"` fi else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi hardcode_libdir_flag_spec_GCJ='${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. no_undefined_flag_GCJ=' ${wl}-bernotok' allow_undefined_flag_GCJ=' ${wl}-berok' # Exported symbols can be pulled into shared objects from archives whole_archive_flag_spec_GCJ='$convenience' archive_cmds_need_lc_GCJ=yes # This is similar to how AIX traditionally builds its shared libraries. archive_expsym_cmds_GCJ="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; amigaos*) archive_cmds_GCJ='$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)' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes # see comment about different semantics on the GNU ld section ld_shlibs_GCJ=no ;; bsdi[45]*) export_dynamic_flag_spec_GCJ=-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. hardcode_libdir_flag_spec_GCJ=' ' allow_undefined_flag_GCJ=unsupported # Tell ltmain to make .lib files, not .a files. libext=lib # Tell ltmain to make .dll files, not .so files. shrext_cmds=".dll" # FIXME: Setting linknames here is a bad hack. archive_cmds_GCJ='$CC -o $lib $libobjs $compiler_flags `echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames=' # The linker will automatically build a .lib file if we build a DLL. old_archive_From_new_cmds_GCJ='true' # FIXME: Should let the user specify the lib program. old_archive_cmds_GCJ='lib -OUT:$oldlib$oldobjs$old_deplibs' fix_srcfile_path_GCJ='`cygpath -w "$srcfile"`' enable_shared_with_static_runtimes_GCJ=yes ;; darwin* | rhapsody*) case $host_os in rhapsody* | darwin1.[012]) allow_undefined_flag_GCJ='${wl}-undefined ${wl}suppress' ;; *) # Darwin 1.3 on if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' else case ${MACOSX_DEPLOYMENT_TARGET} in 10.[012]) allow_undefined_flag_GCJ='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; 10.*) allow_undefined_flag_GCJ='${wl}-undefined ${wl}dynamic_lookup' ;; esac fi ;; esac archive_cmds_need_lc_GCJ=no hardcode_direct_GCJ=no hardcode_automatic_GCJ=yes hardcode_shlibpath_var_GCJ=unsupported whole_archive_flag_spec_GCJ='' link_all_deplibs_GCJ=yes if test "$GCC" = yes ; then output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else case $cc_basename in xlc*) output_verbose_link_cmd='echo' archive_cmds_GCJ='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $xlcverstring' module_cmds_GCJ='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin lds archive_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $xlcverstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' module_expsym_cmds_GCJ='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' ;; *) ld_shlibs_GCJ=no ;; esac fi ;; dgux*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; freebsd1*) ld_shlibs_GCJ=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*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # Unfortunately, older versions of FreeBSD 2 do not have this feature. freebsd2*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; # FreeBSD 3 and greater uses gcc -shared to do shared libraries. freebsd* | dragonfly*) archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; hpux9*) if test "$GCC" = yes; then archive_cmds_GCJ='$rm $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' else archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' ;; hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes fi ;; hpux11*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in hppa*64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; ia64*) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' ;; *) archive_cmds_GCJ='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then hardcode_libdir_flag_spec_GCJ='${wl}+b ${wl}$libdir' hardcode_libdir_separator_GCJ=: case $host_cpu in hppa*64*|ia64*) hardcode_libdir_flag_spec_ld_GCJ='+b $libdir' hardcode_direct_GCJ=no hardcode_shlibpath_var_GCJ=no ;; *) hardcode_direct_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-E' # hardcode_minus_L: Not really in the search PATH, # but as the default location of the library. hardcode_minus_L_GCJ=yes ;; esac fi ;; irix5* | irix6* | nonstopux*) if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else archive_cmds_GCJ='$LD -shared $libobjs $deplibs $linker_flags -soname $soname `test -n "$verstring" && echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o $lib' hardcode_libdir_flag_spec_ld_GCJ='-rpath $libdir' fi hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: link_all_deplibs_GCJ=yes ;; netbsd* | netbsdelf*-gnu) if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out else archive_cmds_GCJ='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF fi hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; newsos6) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: hardcode_shlibpath_var_GCJ=no ;; openbsd*) if test -f /usr/libexec/ld.so; then hardcode_direct_GCJ=yes hardcode_shlibpath_var_GCJ=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' export_dynamic_flag_spec_GCJ='${wl}-E' else case $host_os in openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*) archive_cmds_GCJ='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-R$libdir' ;; *) archive_cmds_GCJ='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' hardcode_libdir_flag_spec_GCJ='${wl}-rpath,$libdir' ;; esac fi else ld_shlibs_GCJ=no fi ;; os2*) hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_minus_L_GCJ=yes allow_undefined_flag_GCJ=unsupported archive_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' old_archive_From_new_cmds_GCJ='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' ;; osf3*) if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' hardcode_libdir_separator_GCJ=: ;; osf4* | osf5*) # as osf3* with the addition of -msym flag if test "$GCC" = yes; then allow_undefined_flag_GCJ=' ${wl}-expect_unresolved ${wl}\*' archive_cmds_GCJ='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${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' hardcode_libdir_flag_spec_GCJ='${wl}-rpath ${wl}$libdir' else allow_undefined_flag_GCJ=' -expect_unresolved \*' archive_cmds_GCJ='$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' archive_expsym_cmds_GCJ='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 ${output_objdir}/so_locations -o $lib~$rm $lib.exp' # Both c and cxx compiler support -rpath directly hardcode_libdir_flag_spec_GCJ='-rpath $libdir' fi hardcode_libdir_separator_GCJ=: ;; solaris*) no_undefined_flag_GCJ=' -z text' if test "$GCC" = yes; then wlarc='${wl}' archive_cmds_GCJ='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$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 $libobjs $deplibs $compiler_flags~$rm $lib.exp' else wlarc='' archive_cmds_GCJ='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' archive_expsym_cmds_GCJ='$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 hardcode_libdir_flag_spec_GCJ='-R$libdir' hardcode_shlibpath_var_GCJ=no case $host_os in solaris2.[0-5] | solaris2.[0-5].*) ;; *) # The compiler driver will combine and reorder linker options, # but understands `-z linker_flag'. GCC discards it without `$wl', # but is careful enough not to reorder. # Supported since Solaris 2.6 (maybe 2.5.1?) if test "$GCC" = yes; then whole_archive_flag_spec_GCJ='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' else whole_archive_flag_spec_GCJ='-z allextract$convenience -z defaultextract' fi ;; esac link_all_deplibs_GCJ=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. archive_cmds_GCJ='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' fi hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_direct_GCJ=yes hardcode_minus_L_GCJ=yes hardcode_shlibpath_var_GCJ=no ;; sysv4) case $host_vendor in sni) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=yes # is this really true??? ;; siemens) ## LD is ld it makes a PLAMLIB ## CC just makes a GrossModule. archive_cmds_GCJ='$LD -G -o $lib $libobjs $deplibs $linker_flags' reload_cmds_GCJ='$CC -r -o $output$reload_objs' hardcode_direct_GCJ=no ;; motorola) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_direct_GCJ=no #Motorola manual says yes, but my tests say they lie ;; esac runpath_var='LD_RUN_PATH' hardcode_shlibpath_var_GCJ=no ;; sysv4.3*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no export_dynamic_flag_spec_GCJ='-Bexport' ;; sysv4*MP*) if test -d /usr/nec; then archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_shlibpath_var_GCJ=no runpath_var=LD_RUN_PATH hardcode_runpath_var=yes ld_shlibs_GCJ=yes fi ;; sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*) no_undefined_flag_GCJ='${wl}-z,text' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; sysv5* | sco3.2v5* | sco5v6*) # Note: We can NOT use -z defs as we might desire, because we do not # link with -lc, and that would cause any symbols used from libc to # always be unresolved, which means just about no library would # ever link correctly. If we're not using GNU ld we use -z text # though, which does catch some bad symbols but isn't as heavy-handed # as -z defs. no_undefined_flag_GCJ='${wl}-z,text' allow_undefined_flag_GCJ='${wl}-z,nodefs' archive_cmds_need_lc_GCJ=no hardcode_shlibpath_var_GCJ=no hardcode_libdir_flag_spec_GCJ='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' hardcode_libdir_separator_GCJ=':' link_all_deplibs_GCJ=yes export_dynamic_flag_spec_GCJ='${wl}-Bexport' runpath_var='LD_RUN_PATH' if test "$GCC" = yes; then archive_cmds_GCJ='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' else archive_cmds_GCJ='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' archive_expsym_cmds_GCJ='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' fi ;; uts4*) archive_cmds_GCJ='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' hardcode_libdir_flag_spec_GCJ='-L$libdir' hardcode_shlibpath_var_GCJ=no ;; *) ld_shlibs_GCJ=no ;; esac fi { echo "$as_me:$LINENO: result: $ld_shlibs_GCJ" >&5 echo "${ECHO_T}$ld_shlibs_GCJ" >&6; } test "$ld_shlibs_GCJ" = no && can_build_shared=no # # Do we need to explicitly link libc? # case "x$archive_cmds_need_lc_GCJ" in x|xyes) # Assume -lc should be added archive_cmds_need_lc_GCJ=yes if test "$enable_shared" = yes && test "$GCC" = yes; then case $archive_cmds_GCJ 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. { echo "$as_me:$LINENO: checking whether -lc should be explicitly linked in" >&5 echo $ECHO_N "checking whether -lc should be explicitly linked in... $ECHO_C" >&6; } $rm conftest* echo "$lt_simple_compile_test_code" > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } 2>conftest.err; then soname=conftest lib=conftest libobjs=conftest.$ac_objext deplibs= wl=$lt_prog_compiler_wl_GCJ pic_flag=$lt_prog_compiler_pic_GCJ compiler_flags=-v linker_flags=-v verstring= output_objdir=. libname=conftest lt_save_allow_undefined_flag=$allow_undefined_flag_GCJ allow_undefined_flag_GCJ= if { (eval echo "$as_me:$LINENO: \"$archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1\"") >&5 (eval $archive_cmds_GCJ 2\>\&1 \| grep \" -lc \" \>/dev/null 2\>\&1) 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } then archive_cmds_need_lc_GCJ=no else archive_cmds_need_lc_GCJ=yes fi allow_undefined_flag_GCJ=$lt_save_allow_undefined_flag else cat conftest.err 1>&5 fi $rm conftest* { echo "$as_me:$LINENO: result: $archive_cmds_need_lc_GCJ" >&5 echo "${ECHO_T}$archive_cmds_need_lc_GCJ" >&6; } ;; esac fi ;; esac { echo "$as_me:$LINENO: checking dynamic linker characteristics" >&5 echo $ECHO_N "checking dynamic linker characteristics... $ECHO_C" >&6; } library_names_spec= libname_spec='lib$name' soname_spec= shrext_cmds=".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" 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.so # instead of lib.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 ;; bsdi[45]*) 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_cmds=".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~ chmod a+x \$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_cmds='`test .$module = .yes && echo .so || echo .dylib`' 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 ;; freebsd* | dragonfly*) # DragonFly does not have aout. When/if they implement a new # versioning mechanism, adjust this. if test -x /usr/bin/objformat; then objformat=`/usr/bin/objformat` else case $host_os in freebsd[123]*) objformat=aout ;; *) objformat=elf ;; esac fi 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 ;; freebsd3.[2-9]* | freebsdelf3.[2-9]* | \ freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; *) # from 4.6 on, and DragonFly shlibpath_overrides_runpath=yes 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_cmds='.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_cmds='.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_cmds='.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' ;; interix[3-9]*) 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' dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; 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* | k*bsd*-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' finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' shlibpath_var=LD_LIBRARY_PATH shlibpath_overrides_runpath=no # 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 # Append ld.so.conf contents to the search path if test -f /etc/ld.so.conf; then lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi # 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' ;; netbsdelf*-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='NetBSD ld.elf_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}${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 sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in openbsd3.3 | openbsd3.3.*) need_version=yes ;; *) need_version=no ;; esac 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_cmds=".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" ;; rdos*) dynamic_linker=no ;; 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.3*) 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 ;; sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) version_type=freebsd-elf need_lib_prefix=no need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' shlibpath_var=LD_LIBRARY_PATH hardcode_into_libs=yes if test "$with_gnu_ld" = yes; then sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' shlibpath_overrides_runpath=no else sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' shlibpath_overrides_runpath=yes case $host_os in sco3.2v5*) sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" ;; esac fi sys_lib_dlsearch_path_spec='/usr/lib' ;; 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 { echo "$as_me:$LINENO: result: $dynamic_linker" >&5 echo "${ECHO_T}$dynamic_linker" >&6; } test "$dynamic_linker" = 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 { echo "$as_me:$LINENO: checking how to hardcode library paths into programs" >&5 echo $ECHO_N "checking how to hardcode library paths into programs... $ECHO_C" >&6; } hardcode_action_GCJ= if test -n "$hardcode_libdir_flag_spec_GCJ" || \ test -n "$runpath_var_GCJ" || \ test "X$hardcode_automatic_GCJ" = "Xyes" ; then # We can hardcode non-existant directories. if test "$hardcode_direct_GCJ" != 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, GCJ)" != no && test "$hardcode_minus_L_GCJ" != no; then # Linking always hardcodes the temporary library directory. hardcode_action_GCJ=relink else # We can link without hardcoding, and we can hardcode nonexisting dirs. hardcode_action_GCJ=immediate fi else # We cannot hardcode anything, or else we can only hardcode existing # directories. hardcode_action_GCJ=unsupported fi { echo "$as_me:$LINENO: result: $hardcode_action_GCJ" >&5 echo "${ECHO_T}$hardcode_action_GCJ" >&6; } if test "$hardcode_action_GCJ" = 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 # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_GCJ \ CC_GCJ \ LD_GCJ \ lt_prog_compiler_wl_GCJ \ lt_prog_compiler_pic_GCJ \ lt_prog_compiler_static_GCJ \ lt_prog_compiler_no_builtin_flag_GCJ \ export_dynamic_flag_spec_GCJ \ thread_safe_flag_spec_GCJ \ whole_archive_flag_spec_GCJ \ enable_shared_with_static_runtimes_GCJ \ old_archive_cmds_GCJ \ old_archive_from_new_cmds_GCJ \ predep_objects_GCJ \ postdep_objects_GCJ \ predeps_GCJ \ postdeps_GCJ \ compiler_lib_search_path_GCJ \ archive_cmds_GCJ \ archive_expsym_cmds_GCJ \ postinstall_cmds_GCJ \ postuninstall_cmds_GCJ \ old_archive_from_expsyms_cmds_GCJ \ allow_undefined_flag_GCJ \ no_undefined_flag_GCJ \ export_symbols_cmds_GCJ \ hardcode_libdir_flag_spec_GCJ \ hardcode_libdir_flag_spec_ld_GCJ \ hardcode_libdir_separator_GCJ \ hardcode_automatic_GCJ \ module_cmds_GCJ \ module_expsym_cmds_GCJ \ lt_cv_prog_compiler_c_o_GCJ \ fix_srcfile_path_GCJ \ exclude_expsyms_GCJ \ include_expsyms_GCJ; do case $var in old_archive_cmds_GCJ | \ old_archive_from_new_cmds_GCJ | \ archive_cmds_GCJ | \ archive_expsym_cmds_GCJ | \ module_cmds_GCJ | \ module_expsym_cmds_GCJ | \ old_archive_from_expsyms_cmds_GCJ | \ export_symbols_cmds_GCJ | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_GCJ # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_GCJ # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_GCJ # Is the compiler the GNU C compiler? with_gcc=$GCC_GCJ # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_GCJ # 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=$lt_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_prog_compiler_wl_GCJ # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_GCJ 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_cv_prog_compiler_c_o_GCJ # 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_prog_compiler_static_GCJ # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_GCJ # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_GCJ # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_GCJ # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_GCJ # 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_old_archive_cmds_GCJ 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_old_archive_from_new_cmds_GCJ # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_GCJ # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_GCJ archive_expsym_cmds=$lt_archive_expsym_cmds_GCJ 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_module_cmds_GCJ module_expsym_cmds=$lt_module_expsym_cmds_GCJ # 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_predep_objects_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_GCJ # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_GCJ # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_GCJ # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_GCJ # 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_allow_undefined_flag_GCJ # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_GCJ # 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=$hardcode_action_GCJ # 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_hardcode_libdir_flag_spec_GCJ # 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_hardcode_libdir_flag_spec_ld_GCJ # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_GCJ # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_GCJ # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_GCJ # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_GCJ # 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=$hardcode_automatic_GCJ # 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=$link_all_deplibs_GCJ # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_GCJ # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_GCJ # 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_exclude_expsyms_GCJ # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_GCJ # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" else tagname="" fi ;; RC) # Source file extension for RC test sources. ac_ext=rc # Object file extension for compiled RC test sources. objext=o objext_RC=$objext # Code to be used in simple compile tests lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' # 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. # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} # If no C compiler flags were specified, use CFLAGS. LTCFLAGS=${LTCFLAGS-"$CFLAGS"} # Allow CC to be a program name with arguments. compiler=$CC # save warnings/boilerplate of simple test code ac_outfile=conftest.$ac_objext echo "$lt_simple_compile_test_code" >conftest.$ac_ext eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ac_outfile=conftest.$ac_objext echo "$lt_simple_link_test_code" >conftest.$ac_ext eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* # Allow CC to be a program name with arguments. lt_save_CC="$CC" CC=${RC-"windres"} compiler=$CC compiler_RC=$CC for cc_temp in $compiler""; do case $cc_temp in compile | *[\\/]compile | ccache | *[\\/]ccache ) ;; distcc | *[\\/]distcc | purify | *[\\/]purify ) ;; \-*) ;; *) break;; esac done cc_basename=`$echo "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` lt_cv_prog_compiler_c_o_RC=yes # 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 LTCFLAGS NM \ SED SHELL STRIP \ 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 \ compiler_RC \ CC_RC \ LD_RC \ lt_prog_compiler_wl_RC \ lt_prog_compiler_pic_RC \ lt_prog_compiler_static_RC \ lt_prog_compiler_no_builtin_flag_RC \ export_dynamic_flag_spec_RC \ thread_safe_flag_spec_RC \ whole_archive_flag_spec_RC \ enable_shared_with_static_runtimes_RC \ old_archive_cmds_RC \ old_archive_from_new_cmds_RC \ predep_objects_RC \ postdep_objects_RC \ predeps_RC \ postdeps_RC \ compiler_lib_search_path_RC \ archive_cmds_RC \ archive_expsym_cmds_RC \ postinstall_cmds_RC \ postuninstall_cmds_RC \ old_archive_from_expsyms_cmds_RC \ allow_undefined_flag_RC \ no_undefined_flag_RC \ export_symbols_cmds_RC \ hardcode_libdir_flag_spec_RC \ hardcode_libdir_flag_spec_ld_RC \ hardcode_libdir_separator_RC \ hardcode_automatic_RC \ module_cmds_RC \ module_expsym_cmds_RC \ lt_cv_prog_compiler_c_o_RC \ fix_srcfile_path_RC \ exclude_expsyms_RC \ include_expsyms_RC; do case $var in old_archive_cmds_RC | \ old_archive_from_new_cmds_RC | \ archive_cmds_RC | \ archive_expsym_cmds_RC | \ module_cmds_RC | \ module_expsym_cmds_RC | \ old_archive_from_expsyms_cmds_RC | \ export_symbols_cmds_RC | \ 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 cfgfile="$ofile" cat <<__EOF__ >> "$cfgfile" # ### 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=$archive_cmds_need_lc_RC # Whether or not to disallow shared libs when runtime libs are static allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes_RC # Whether or not to optimize for fast installation. fast_install=$enable_fast_install # The host system. host_alias=$host_alias host=$host host_os=$host_os # The build system. build_alias=$build_alias build=$build build_os=$build_os # 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 # LTCC compiler flags. LTCFLAGS=$lt_LTCFLAGS # A language-specific compiler. CC=$lt_compiler_RC # Is the compiler the GNU C compiler? with_gcc=$GCC_RC # An ERE matcher. EGREP=$lt_EGREP # The linker used to build libraries. LD=$lt_LD_RC # 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=$lt_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_prog_compiler_wl_RC # Object file suffix (normally "o"). objext="$ac_objext" # Old archive suffix (normally "a"). libext="$libext" # Shared library suffix (normally ".so"). shrext_cmds='$shrext_cmds' # Executable file suffix (normally ""). exeext="$exeext" # Additional compiler flags for building library objects. pic_flag=$lt_lt_prog_compiler_pic_RC 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_cv_prog_compiler_c_o_RC # 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_prog_compiler_static_RC # Compiler flag to turn off builtin functions. no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag_RC # Compiler flag to allow reflexive dlopens. export_dynamic_flag_spec=$lt_export_dynamic_flag_spec_RC # Compiler flag to generate shared objects directly from archives. whole_archive_flag_spec=$lt_whole_archive_flag_spec_RC # Compiler flag to generate thread-safe objects. thread_safe_flag_spec=$lt_thread_safe_flag_spec_RC # 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_old_archive_cmds_RC 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_old_archive_from_new_cmds_RC # Create a temporary old-style archive to link instead of a shared archive. old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds_RC # Commands used to build and install a shared archive. archive_cmds=$lt_archive_cmds_RC archive_expsym_cmds=$lt_archive_expsym_cmds_RC 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_module_cmds_RC module_expsym_cmds=$lt_module_expsym_cmds_RC # 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_predep_objects_RC # Dependencies to place after the objects being linked to create a # shared library. postdep_objects=$lt_postdep_objects_RC # Dependencies to place before the objects being linked to create a # shared library. predeps=$lt_predeps_RC # Dependencies to place after the objects being linked to create a # shared library. postdeps=$lt_postdeps_RC # The library search path used internally by the compiler when linking # a shared library. compiler_lib_search_path=$lt_compiler_lib_search_path_RC # 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_allow_undefined_flag_RC # Flag that forces no undefined symbols. no_undefined_flag=$lt_no_undefined_flag_RC # 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=$hardcode_action_RC # 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_hardcode_libdir_flag_spec_RC # 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_hardcode_libdir_flag_spec_ld_RC # Whether we need a single -rpath flag with a separated argument. hardcode_libdir_separator=$lt_hardcode_libdir_separator_RC # Set to yes if using DIR/libNAME${shared_ext} during linking hardcodes DIR into the # resulting binary. hardcode_direct=$hardcode_direct_RC # Set to yes if using the -LDIR flag during linking hardcodes DIR into the # resulting binary. hardcode_minus_L=$hardcode_minus_L_RC # Set to yes if using SHLIBPATH_VAR=DIR during linking hardcodes DIR into # the resulting binary. hardcode_shlibpath_var=$hardcode_shlibpath_var_RC # 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=$hardcode_automatic_RC # 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=$link_all_deplibs_RC # 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_fix_srcfile_path # Set to yes if exported symbols are required. always_export_symbols=$always_export_symbols_RC # The commands to list exported symbols. export_symbols_cmds=$lt_export_symbols_cmds_RC # 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_exclude_expsyms_RC # Symbols that must always be exported. include_expsyms=$lt_include_expsyms_RC # ### END LIBTOOL TAG CONFIG: $tagname __EOF__ 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. ltmain_in=`echo $ltmain | sed -e 's/\.sh$/.in/'` if test -f "$ltmain_in"; then test -f Makefile && make "$ltmain" fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu CC="$lt_save_CC" ;; *) { { echo "$as_me:$LINENO: error: Unsupported tag name: $tagname" >&5 echo "$as_me: error: Unsupported tag name: $tagname" >&2;} { (exit 1); exit 1; }; } ;; 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" { { echo "$as_me:$LINENO: error: unable to update list of available tagged configurations." >&5 echo "$as_me: error: unable to update list of available tagged configurations." >&2;} { (exit 1); exit 1; }; } fi fi # 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' # Prevent multiple expansion # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. { echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; } if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in ./ | .// | /cC/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi done done ;; esac done IFS=$as_save_IFS fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { echo "$as_me:$LINENO: result: $INSTALL" >&5 echo "${ECHO_T}$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { echo "$as_me:$LINENO: checking whether ln -s works" >&5 echo $ECHO_N "checking whether ln -s works... $ECHO_C" >&6; } LN_S=$as_ln_s if test "$LN_S" = "ln -s"; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } else { echo "$as_me:$LINENO: result: no, using $LN_S" >&5 echo "${ECHO_T}no, using $LN_S" >&6; } fi { echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5 echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; } set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { echo "$as_me:$LINENO: result: yes" >&5 echo "${ECHO_T}yes" >&6; } SET_MAKE= else { echo "$as_me:$LINENO: result: no" >&5 echo "${ECHO_T}no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi { echo "$as_me:$LINENO: checking for ISO C99 varargs macros in C" >&5 echo $ECHO_N "checking for ISO C99 varargs macros in C... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ int main () { int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then axis2c_have_iso_c_varargs=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 axis2c_have_iso_c_varargs=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $axis2c_have_iso_c_varargs" >&5 echo "${ECHO_T}$axis2c_have_iso_c_varargs" >&6; } { echo "$as_me:$LINENO: checking for dlopen in -ldl" >&5 echo $ECHO_N "checking for dlopen in -ldl... $ECHO_C" >&6; } if test "${ac_cv_lib_dl_dlopen+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-ldl $LIBS" cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char dlopen (); int main () { return dlopen (); ; return 0; } _ACEOF rm -f conftest.$ac_objext conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && $as_test_x conftest$ac_exeext; then ac_cv_lib_dl_dlopen=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_lib_dl_dlopen=no fi rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { echo "$as_me:$LINENO: result: $ac_cv_lib_dl_dlopen" >&5 echo "${ECHO_T}$ac_cv_lib_dl_dlopen" >&6; } if test $ac_cv_lib_dl_dlopen = yes; then cat >>confdefs.h <<_ACEOF #define HAVE_LIBDL 1 _ACEOF LIBS="-ldl $LIBS" fi #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration " fi LDFLAGS="$LDFLAGS -lpthread" { echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; } if test "${ac_cv_header_stdc+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_cv_header_stdc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF rm -f conftest$ac_exeext if { (ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_link") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { ac_try='./conftest$ac_exeext' { (case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_try") 2>&5 ac_status=$? echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); }; }; then : else echo "$as_me: program exited with status $ac_status" >&5 echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ( exit $ac_status ) ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext fi fi fi { echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 echo "${ECHO_T}$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then cat >>confdefs.h <<\_ACEOF #define STDC_HEADERS 1 _ACEOF fi for ac_header in stdio.h stdlib.h string.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/socket.h do as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking $ac_header usability" >&5 echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include <$ac_header> _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking $ac_header presence" >&5 echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include <$ac_header> _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for $ac_header" >&5 echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; } if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then echo $ECHO_N "(cached) $ECHO_C" >&6 else eval "$as_ac_Header=\$ac_header_preproc" fi ac_res=`eval echo '${'$as_ac_Header'}'` { echo "$as_me:$LINENO: result: $ac_res" >&5 echo "${ECHO_T}$ac_res" >&6; } fi if test `eval echo '${'$as_ac_Header'}'` = yes; then cat >>confdefs.h <<_ACEOF #define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then { echo "$as_me:$LINENO: checking for sys/appleapiopts.h" >&5 echo $ECHO_N "checking for sys/appleapiopts.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_appleapiopts_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_appleapiopts_h" >&6; } else # Is the header compilable? { echo "$as_me:$LINENO: checking sys/appleapiopts.h usability" >&5 echo $ECHO_N "checking sys/appleapiopts.h usability... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ $ac_includes_default #include _ACEOF rm -f conftest.$ac_objext if { (ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_compile") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then ac_header_compiler=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 echo "${ECHO_T}$ac_header_compiler" >&6; } # Is the header present? { echo "$as_me:$LINENO: checking sys/appleapiopts.h presence" >&5 echo $ECHO_N "checking sys/appleapiopts.h presence... $ECHO_C" >&6; } cat >conftest.$ac_ext <<_ACEOF /* confdefs.h. */ _ACEOF cat confdefs.h >>conftest.$ac_ext cat >>conftest.$ac_ext <<_ACEOF /* end confdefs.h. */ #include _ACEOF if { (ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1 ac_status=$? grep -v '^ *+' conftest.er1 >conftest.err rm -f conftest.er1 cat conftest.err >&5 echo "$as_me:$LINENO: \$? = $ac_status" >&5 (exit $ac_status); } >/dev/null && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then ac_header_preproc=yes else echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_header_preproc=no fi rm -f conftest.err conftest.$ac_ext { echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 echo "${ECHO_T}$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in yes:no: ) { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: accepted by the compiler, rejected by the preprocessor!" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: accepted by the compiler, rejected by the preprocessor!" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: proceeding with the compiler's result" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: proceeding with the compiler's result" >&2;} ac_header_preproc=yes ;; no:yes:* ) { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: present but cannot be compiled" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: present but cannot be compiled" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: check for missing prerequisite headers?" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: check for missing prerequisite headers?" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: see the Autoconf documentation" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: see the Autoconf documentation" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: section \"Present But Cannot Be Compiled\"" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: section \"Present But Cannot Be Compiled\"" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: proceeding with the preprocessor's result" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: proceeding with the preprocessor's result" >&2;} { echo "$as_me:$LINENO: WARNING: sys/appleapiopts.h: in the future, the compiler will take precedence" >&5 echo "$as_me: WARNING: sys/appleapiopts.h: in the future, the compiler will take precedence" >&2;} ;; esac { echo "$as_me:$LINENO: checking for sys/appleapiopts.h" >&5 echo $ECHO_N "checking for sys/appleapiopts.h... $ECHO_C" >&6; } if test "${ac_cv_header_sys_appleapiopts_h+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 else ac_cv_header_sys_appleapiopts_h=$ac_header_preproc fi { echo "$as_me:$LINENO: result: $ac_cv_header_sys_appleapiopts_h" >&5 echo "${ECHO_T}$ac_cv_header_sys_appleapiopts_h" >&6; } fi if test $ac_cv_header_sys_appleapiopts_h = yes; then cat >>confdefs.h <<\_ACEOF #define IS_MACOSX 1 _ACEOF fi #AC_CHECK_FUNCS([memmove]) VERSION_NO="6:0:6" ac_config_files="$ac_config_files Makefile src/Makefile src/secpolicy/Makefile src/secpolicy/model/Makefile src/secpolicy/builder/Makefile src/rmpolicy/Makefile test/Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5 echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( *) $as_unset $ac_var ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote # substitution turns \\\\ into \\, and sed turns \\ into \). sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then test "x$cache_file" != "x/dev/null" && { echo "$as_me:$LINENO: updating cache $cache_file" >&5 echo "$as_me: updating cache $cache_file" >&6;} cat confcache >$cache_file else { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5 echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext" ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs if test -z "${AMDEP_TRUE}" && test -z "${AMDEP_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"AMDEP\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi if test -z "${am__fastdepCXX_TRUE}" && test -z "${am__fastdepCXX_FALSE}"; then { { echo "$as_me:$LINENO: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&5 echo "$as_me: error: conditional \"am__fastdepCXX\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi : ${CONFIG_STATUS=./config.status} ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 echo "$as_me: creating $CONFIG_STATUS" >&6;} cat >$CONFIG_STATUS <<_ACEOF #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ## --------------------- ## ## M4sh Initialization. ## ## --------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then emulate sh NULLCMD=: # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in *posix*) set -o posix ;; esac fi # PATH needs CR # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then echo "#! /bin/sh" >conf$$.sh echo "exit 0" >>conf$$.sh chmod +x conf$$.sh if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then PATH_SEPARATOR=';' else PATH_SEPARATOR=: fi rm -f conf$$.sh fi # Support unset when possible. if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then as_unset=unset else as_unset=false fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) as_nl=' ' IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. case $0 in *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 { (exit 1); exit 1; } fi # Work around bugs in pre-3.0 UWIN ksh. for as_var in ENV MAIL MAILPATH do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. for as_var in \ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ LC_TELEPHONE LC_TIME do if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then eval $as_var=C; export $as_var else ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var fi done # Required to use basename. if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi # Name of the executable. as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # CDPATH. $as_unset CDPATH as_lineno_1=$LINENO as_lineno_2=$LINENO test "x$as_lineno_1" != "x$as_lineno_2" && test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || { # Create $as_me.lineno as a copy of $as_myself, but with $LINENO # uniformly replaced by the line number. The first 'sed' inserts a # line-number line after each line using $LINENO; the second 'sed' # does the real work. The second script uses 'N' to pair each # line-number line with the line containing $LINENO, and appends # trailing '-' during substitution so that $LINENO is not a special # case at line end. # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the # scripts with optimization help from Paolo Bonzini. Blame Lee # E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 { (exit 1); exit 1; }; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in -n*) case `echo 'x\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. *) ECHO_C='\c';; esac;; *) ECHO_N='-n';; esac if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir fi echo >conf$$.file if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p=: else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 # Save the log message, to keep $[0] and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by neethi-src $as_me 1.6.0, which was generated by GNU Autoconf 2.61. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" config_commands="$ac_config_commands" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF ac_cs_usage="\ \`$as_me' instantiates files from templates according to the current configuration. Usage: $0 [OPTIONS] [FILE]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit -q, --quiet do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Configuration commands: $config_commands Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ neethi-src config.status 1.6.0 configured by $0, generated by GNU Autoconf 2.61, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" Copyright (C) 2006 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If no file are specified by the user, then we need to provide default # value. By we need to know if files were specified by the user. ac_need_defaults=: while test $# != 0 do case $1 in --*=*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) echo "$ac_cs_version"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift CONFIG_FILES="$CONFIG_FILES $ac_optarg" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header { echo "$as_me: error: ambiguous option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; };; --help | --hel | -h ) echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) { echo "$as_me: error: unrecognized option: $1 Try \`$0 --help' for more information." >&2 { (exit 1); exit 1; }; } ;; *) ac_config_targets="$ac_config_targets $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF if \$ac_cs_recheck; then echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 CONFIG_SHELL=$SHELL export CONFIG_SHELL exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF # # INIT-COMMANDS # AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "depfiles") CONFIG_COMMANDS="$CONFIG_COMMANDS depfiles" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; "src/Makefile") CONFIG_FILES="$CONFIG_FILES src/Makefile" ;; "src/secpolicy/Makefile") CONFIG_FILES="$CONFIG_FILES src/secpolicy/Makefile" ;; "src/secpolicy/model/Makefile") CONFIG_FILES="$CONFIG_FILES src/secpolicy/model/Makefile" ;; "src/secpolicy/builder/Makefile") CONFIG_FILES="$CONFIG_FILES src/secpolicy/builder/Makefile" ;; "src/rmpolicy/Makefile") CONFIG_FILES="$CONFIG_FILES src/rmpolicy/Makefile" ;; "test/Makefile") CONFIG_FILES="$CONFIG_FILES test/Makefile" ;; *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 echo "$as_me: error: invalid argument: $ac_config_target" >&2;} { (exit 1); exit 1; }; };; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= trap 'exit_status=$? { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status ' 0 trap '{ (exit 1); exit 1; }' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || { echo "$me: cannot create a temporary directory in ." >&2 { (exit 1); exit 1; } } # # Set up the sed scripts for CONFIG_FILES section. # # No need to generate the scripts if there are no CONFIG_FILES. # This happens for instance when ./config.status config.h if test -n "$CONFIG_FILES"; then _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF SHELL!$SHELL$ac_delim PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim PACKAGE_NAME!$PACKAGE_NAME$ac_delim PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim PACKAGE_STRING!$PACKAGE_STRING$ac_delim PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim exec_prefix!$exec_prefix$ac_delim prefix!$prefix$ac_delim program_transform_name!$program_transform_name$ac_delim bindir!$bindir$ac_delim sbindir!$sbindir$ac_delim libexecdir!$libexecdir$ac_delim datarootdir!$datarootdir$ac_delim datadir!$datadir$ac_delim sysconfdir!$sysconfdir$ac_delim sharedstatedir!$sharedstatedir$ac_delim localstatedir!$localstatedir$ac_delim includedir!$includedir$ac_delim oldincludedir!$oldincludedir$ac_delim docdir!$docdir$ac_delim infodir!$infodir$ac_delim htmldir!$htmldir$ac_delim dvidir!$dvidir$ac_delim pdfdir!$pdfdir$ac_delim psdir!$psdir$ac_delim libdir!$libdir$ac_delim localedir!$localedir$ac_delim mandir!$mandir$ac_delim DEFS!$DEFS$ac_delim ECHO_C!$ECHO_C$ac_delim ECHO_N!$ECHO_N$ac_delim ECHO_T!$ECHO_T$ac_delim LIBS!$LIBS$ac_delim build_alias!$build_alias$ac_delim host_alias!$host_alias$ac_delim target_alias!$target_alias$ac_delim build!$build$ac_delim build_cpu!$build_cpu$ac_delim build_vendor!$build_vendor$ac_delim build_os!$build_os$ac_delim host!$host$ac_delim host_cpu!$host_cpu$ac_delim host_vendor!$host_vendor$ac_delim host_os!$host_os$ac_delim target!$target$ac_delim target_cpu!$target_cpu$ac_delim target_vendor!$target_vendor$ac_delim target_os!$target_os$ac_delim INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim INSTALL_DATA!$INSTALL_DATA$ac_delim am__isrc!$am__isrc$ac_delim CYGPATH_W!$CYGPATH_W$ac_delim PACKAGE!$PACKAGE$ac_delim VERSION!$VERSION$ac_delim ACLOCAL!$ACLOCAL$ac_delim AUTOCONF!$AUTOCONF$ac_delim AUTOMAKE!$AUTOMAKE$ac_delim AUTOHEADER!$AUTOHEADER$ac_delim MAKEINFO!$MAKEINFO$ac_delim install_sh!$install_sh$ac_delim STRIP!$STRIP$ac_delim INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim mkdir_p!$mkdir_p$ac_delim AWK!$AWK$ac_delim SET_MAKE!$SET_MAKE$ac_delim am__leading_dot!$am__leading_dot$ac_delim AMTAR!$AMTAR$ac_delim am__tar!$am__tar$ac_delim am__untar!$am__untar$ac_delim CC!$CC$ac_delim CFLAGS!$CFLAGS$ac_delim LDFLAGS!$LDFLAGS$ac_delim CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim DEPDIR!$DEPDIR$ac_delim am__include!$am__include$ac_delim am__quote!$am__quote$ac_delim AMDEP_TRUE!$AMDEP_TRUE$ac_delim AMDEP_FALSE!$AMDEP_FALSE$ac_delim AMDEPBACKSLASH!$AMDEPBACKSLASH$ac_delim CCDEPMODE!$CCDEPMODE$ac_delim am__fastdepCC_TRUE!$am__fastdepCC_TRUE$ac_delim am__fastdepCC_FALSE!$am__fastdepCC_FALSE$ac_delim CXX!$CXX$ac_delim CXXFLAGS!$CXXFLAGS$ac_delim ac_ct_CXX!$ac_ct_CXX$ac_delim CXXDEPMODE!$CXXDEPMODE$ac_delim am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim CPP!$CPP$ac_delim SED!$SED$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF CEOF$ac_eof _ACEOF ac_delim='%!_!# ' for ac_last_try in false false false false false :; do cat >conf$$subs.sed <<_ACEOF LN_S!$LN_S$ac_delim ECHO!$ECHO$ac_delim AR!$AR$ac_delim RANLIB!$RANLIB$ac_delim CXXCPP!$CXXCPP$ac_delim F77!$F77$ac_delim FFLAGS!$FFLAGS$ac_delim ac_ct_F77!$ac_ct_F77$ac_delim LIBTOOL!$LIBTOOL$ac_delim VERSION_NO!$VERSION_NO$ac_delim LIBOBJS!$LIBOBJS$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 12; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 echo "$as_me: error: could not make $CONFIG_STATUS" >&2;} { (exit 1); exit 1; }; } else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed` if test -n "$ac_eof"; then ac_eof=`echo "$ac_eof" | sort -nru | sed 1q` ac_eof=`expr $ac_eof + 1` fi cat >>$CONFIG_STATUS <<_ACEOF cat >"\$tmp/subs-2.sed" <<\CEOF$ac_eof /@[a-zA-Z_][a-zA-Z_0-9]*@/!b end _ACEOF sed ' s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g s/^/s,@/; s/!/@,|#_!!_#|/ :n t n s/'"$ac_delim"'$/,g/; t s/$/\\/; p N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n ' >>$CONFIG_STATUS >$CONFIG_STATUS <<_ACEOF :end s/|#_!!_#|//g CEOF$ac_eof _ACEOF # VPATH may cause trouble with some makes, so we remove $(srcdir), # ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=/{ s/:*\$(srcdir):*/:/ s/:*\${srcdir}:*/:/ s/:*@srcdir@:*/:/ s/^\([^=]*=[ ]*\):*/\1/ s/:*$// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF fi # test -n "$CONFIG_FILES" for ac_tag in :F $CONFIG_FILES :H $CONFIG_HEADERS :C $CONFIG_COMMANDS do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5 echo "$as_me: error: Invalid tag $ac_tag." >&2;} { (exit 1); exit 1; }; };; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5 echo "$as_me: error: cannot find input file: $ac_f" >&2;} { (exit 1); exit 1; }; };; esac ac_file_inputs="$ac_file_inputs $ac_f" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input="Generated from "`IFS=: echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure." if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { echo "$as_me:$LINENO: creating $ac_file" >&5 echo "$as_me: creating $ac_file" >&6;} fi case $ac_tag in *:-:* | *:-) cat >"$tmp/stdin";; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir="$ac_dir" case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= case `sed -n '/datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p ' $ac_file_inputs` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF sed "$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s&@configure_input@&$configure_input&;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " $ac_file_inputs | sed -f "$tmp/subs-1.sed" | sed -f "$tmp/subs-2.sed" >$tmp/out test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&5 echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined." >&2;} rm -f "$tmp/stdin" case $ac_file in -) cat "$tmp/out"; rm -f "$tmp/out";; *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;; esac ;; :H) # # CONFIG_HEADER # _ACEOF # Transform confdefs.h into a sed script `conftest.defines', that # substitutes the proper values into config.h.in to produce config.h. rm -f conftest.defines conftest.tail # First, append a space to every undef/define line, to ease matching. echo 's/$/ /' >conftest.defines # Then, protect against being on the right side of a sed subst, or in # an unquoted here document, in config.status. If some macros were # called several times there might be several #defines for the same # symbol, which is useless. But do not sort them, since the last # AC_DEFINE must be honored. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* # These sed commands are passed to sed as "A NAME B PARAMS C VALUE D", where # NAME is the cpp macro being defined, VALUE is the value it is being given. # PARAMS is the parameter list in the macro definition--in most cases, it's # just an empty string. ac_dA='s,^\\([ #]*\\)[^ ]*\\([ ]*' ac_dB='\\)[ (].*,\\1define\\2' ac_dC=' ' ac_dD=' ,' uniq confdefs.h | sed -n ' t rset :rset s/^[ ]*#[ ]*define[ ][ ]*// t ok d :ok s/[\\&,]/\\&/g s/^\('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/ '"$ac_dA"'\1'"$ac_dB"'\2'"${ac_dC}"'\3'"$ac_dD"'/p s/^\('"$ac_word_re"'\)[ ]*\(.*\)/'"$ac_dA"'\1'"$ac_dB$ac_dC"'\2'"$ac_dD"'/p ' >>conftest.defines # Remove the space that was appended to ease matching. # Then replace #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. # (The regexp can be short, since the line contains either #define or #undef.) echo 's/ $// s,^[ #]*u.*,/* & */,' >>conftest.defines # Break up conftest.defines: ac_max_sed_lines=50 # First sed command is: sed -f defines.sed $ac_file_inputs >"$tmp/out1" # Second one is: sed -f defines.sed "$tmp/out1" >"$tmp/out2" # Third one will be: sed -f defines.sed "$tmp/out2" >"$tmp/out1" # et cetera. ac_in='$ac_file_inputs' ac_out='"$tmp/out1"' ac_nxt='"$tmp/out2"' while : do # Write a here document: cat >>$CONFIG_STATUS <<_ACEOF # First, check the format of the line: cat >"\$tmp/defines.sed" <<\\CEOF /^[ ]*#[ ]*undef[ ][ ]*$ac_word_re[ ]*\$/b def /^[ ]*#[ ]*define[ ][ ]*$ac_word_re[( ]/b def b :def _ACEOF sed ${ac_max_sed_lines}q conftest.defines >>$CONFIG_STATUS echo 'CEOF sed -f "$tmp/defines.sed"' "$ac_in >$ac_out" >>$CONFIG_STATUS ac_in=$ac_out; ac_out=$ac_nxt; ac_nxt=$ac_in sed 1,${ac_max_sed_lines}d conftest.defines >conftest.tail grep . conftest.tail >/dev/null || break rm -f conftest.defines mv conftest.tail conftest.defines done rm -f conftest.defines conftest.tail echo "ac_result=$ac_in" >>$CONFIG_STATUS cat >>$CONFIG_STATUS <<\_ACEOF if test x"$ac_file" != x-; then echo "/* $configure_input */" >"$tmp/config.h" cat "$ac_result" >>"$tmp/config.h" if diff $ac_file "$tmp/config.h" >/dev/null 2>&1; then { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 echo "$as_me: $ac_file is unchanged" >&6;} else rm -f $ac_file mv "$tmp/config.h" $ac_file fi else echo "/* $configure_input */" cat "$ac_result" fi rm -f "$tmp/out12" # Compute $ac_file's index in $config_headers. _am_stamp_count=1 for _am_header in $config_headers :; do case $_am_header in $ac_file | $ac_file:* ) break ;; * ) _am_stamp_count=`expr $_am_stamp_count + 1` ;; esac done echo "timestamp for $ac_file" >`$as_dirname -- $ac_file || $as_expr X$ac_file : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X$ac_file : 'X\(//\)[^/]' \| \ X$ac_file : 'X\(//\)$' \| \ X$ac_file : 'X\(/\)' \| . 2>/dev/null || echo X$ac_file | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'`/stamp-h$_am_stamp_count ;; :C) { echo "$as_me:$LINENO: executing $ac_file commands" >&5 echo "$as_me: executing $ac_file commands" >&6;} ;; esac case $ac_file$ac_mode in "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. # We used to match only the files named `Makefile.in', but # some people rename them; so instead we look at the file content. # Grep'ing the first line is not enough: some people post-process # each Makefile.in and add a new line on top of each file to say so. # Grep'ing the whole file is not good either: AIX grep has a line # limit of 2048, but all sed's we know have understand at least 4000. if sed 10q "$mf" | grep '^#.*generated by automake' > /dev/null 2>&1; then dirpart=`$as_dirname -- "$mf" || $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$mf" : 'X\(//\)[^/]' \| \ X"$mf" : 'X\(//\)$' \| \ X"$mf" : 'X\(/\)' \| . 2>/dev/null || echo X"$mf" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` else continue fi # Extract the definition of DEPDIR, am__include, and am__quote # from the Makefile without running `make'. DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"` test -z "$DEPDIR" && continue am__include=`sed -n 's/^am__include = //p' < "$mf"` test -z "am__include" && continue am__quote=`sed -n 's/^am__quote = //p' < "$mf"` # When using ansi2knr, U may be empty or an underscore; expand it U=`sed -n 's/^U = //p' < "$mf"` # Find all dependency output files, they are included files with # $(DEPDIR) in their names. We invoke sed twice because it is the # simplest approach to changing $(DEPDIR) to its actual value in the # expansion. for file in `sed -n " s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do # Make sure the directory exists. test -f "$dirpart/$file" && continue fdir=`$as_dirname -- "$file" || $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$file" : 'X\(//\)[^/]' \| \ X"$file" : 'X\(//\)$' \| \ X"$file" : 'X\(/\)' \| . 2>/dev/null || echo X"$file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` { as_dir=$dirpart/$fdir case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5 echo "$as_me: error: cannot create directory $as_dir" >&2;} { (exit 1); exit 1; }; }; } # echo "creating $dirpart/$file" echo '# dummy' > "$dirpart/$file" done done ;; esac done # for ac_tag { (exit 0); exit 0; } _ACEOF chmod +x $CONFIG_STATUS ac_clean_files=$ac_clean_files_save # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || { (exit 1); exit 1; } fi axis2c-src-1.6.0/neethi/configure.ac0000644000175000017500000000347111166304521020402 0ustar00manjulamanjula00000000000000dnl run autogen.sh to generate the configure script. AC_PREREQ(2.59) AC_INIT(neethi-src, 1.6.0) AC_CANONICAL_SYSTEM AM_CONFIG_HEADER(config.h) dnl AM_INIT_AUTOMAKE([tar-ustar]) AM_INIT_AUTOMAKE m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])]) AC_PREFIX_DEFAULT(/usr/local/neethi) dnl Checks for programs. AC_PROG_CC AC_PROG_CXX AC_PROG_CPP AC_PROG_LIBTOOL AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET dnl check for flavours of varargs macros (test from GLib) AC_MSG_CHECKING(for ISO C99 varargs macros in C) AC_TRY_COMPILE([],[ int a(int p1, int p2, int p3); #define call_a(...) a(1,__VA_ARGS__) call_a(2,3); ],axis2c_have_iso_c_varargs=yes,axis2c_have_iso_c_varargs=no) AC_MSG_RESULT($axis2c_have_iso_c_varargs) dnl Checks for libraries. AC_CHECK_LIB(dl, dlopen) #CFLAGS="$CFLAGS -ansi -Wall -D_LARGEFILE64_SOURCE -Wno-implicit-function-declaration" CFLAGS="$CFLAGS -D_LARGEFILE64_SOURCE" if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -ansi -Wall -Werror -Wno-implicit-function-declaration " fi LDFLAGS="$LDFLAGS -lpthread" dnl Checks for header files. AC_HEADER_STDC AC_CHECK_HEADERS([stdio.h stdlib.h string.h]) AC_CHECK_HEADERS([sys/socket.h]) dnl This is a check to see if we are running MacOS X dnl It may be better to do a Darwin check AC_CHECK_HEADER([sys/appleapiopts.h], [AC_DEFINE([IS_MACOSX],[1],[Define to 1 if compiling on MacOS X])], []) dnl Checks for typedefs, structures, and compiler characteristics. dnl AC_C_CONST dnl Checks for library functions. dnl AC_FUNC_MALLOC dnl AC_FUNC_REALLOC #AC_CHECK_FUNCS([memmove]) VERSION_NO="6:0:6" AC_SUBST(VERSION_NO) AC_CONFIG_FILES([Makefile \ src/Makefile \ src/secpolicy/Makefile \ src/secpolicy/model/Makefile \ src/secpolicy/builder/Makefile \ src/rmpolicy/Makefile \ test/Makefile ]) AC_OUTPUT axis2c-src-1.6.0/neethi/config.guess0000755000175000017500000012703510614436542020445 0ustar00manjulamanjula00000000000000#! /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, 2006 Free Software Foundation, # Inc. timestamp='2007-03-06' # 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 . # Please send patches to . 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 ." 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 "$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 ; set_cc_for_build= ;' # 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 ;; sh5el) machine=sh5le-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 ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-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 /* 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 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 #include 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 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 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:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *: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 ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; EM64T | authenticamd) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [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*:*:* | x86_64: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 ;; avr32*: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 | sed -n ' /^CPU/{ s: ::g p }'`" 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 | sed -n ' /^CPU/{ s: ::g p }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-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 ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa:Linux:*:*) echo xtensa-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 #ifdef __ELF__ # ifdef __GLIBC__ # if __GLIBC__ >= 2 LIBC=gnu # else LIBC=gnulibc1 # endif # else LIBC=gnulibc1 # endif #else #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) LIBC=gnu #else LIBC=gnuaout #endif #endif #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' /^LIBC/{ s: ::g p }'`" 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' /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 echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # 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 ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-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 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 ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos 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 < # include #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 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 # 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 < 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: axis2c-src-1.6.0/neethi/install-sh0000755000175000017500000003160010527332127020116 0ustar00manjulamanjula00000000000000#!/bin/sh # install - install a program, script, or datafile scriptversion=2006-10-14.15 # 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. nl=' ' IFS=" "" $nl" # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" if test -z "$doit"; then doit_exec=exec else doit_exec=$doit fi # Put in absolute file names if you don't have them in your path; # or use environment 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}" posix_glob= posix_mkdir= # Desired mode of installed file. mode=0755 chmodcmd=$chmodprog 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 $# -ne 0; 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) mode=$2 shift shift case $mode in *' '* | *' '* | *' '* | *'*'* | *'?'* | *'['*) echo "$0: invalid mode: $mode" >&2 exit 1;; esac 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 $?;; --) shift break;; -*) echo "$0: invalid option: $1" >&2 exit 1;; *) break;; esac done if test $# -ne 0 && test -z "$dir_arg$dstarg"; then # When -d is used, all remaining arguments are directories to create. # When -t is used, the destination is already specified. # 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 fi if test $# -eq 0; 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 if test -z "$dir_arg"; then trap '(exit $?); exit' 1 2 13 15 # Set umask so as not to create temps with too-generous modes. # However, 'strip' requires both read and write access to temps. case $mode in # Optimize common cases. *644) cp_umask=133;; *755) cp_umask=22;; *[0-7]) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw='% 200' fi cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;; *) if test -z "$stripcmd"; then u_plus_rw= else u_plus_rw=,u+rw fi cp_umask=$mode$u_plus_rw;; esac fi for src do # Protect names starting with `-'. case $src in -*) src=./$src ;; esac if test -n "$dir_arg"; then dst=$src dstdir=$dst test -d "$dstdir" dstdir_status=$? 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 dstdir=$dst dst=$dstdir/`basename "$src"` dstdir_status=0 else # Prefer dirname, but fall back on a substitute if dirname fails. dstdir=` (dirname "$dst") 2>/dev/null || expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$dst" : 'X\(//\)[^/]' \| \ X"$dst" : 'X\(//\)$' \| \ X"$dst" : 'X\(/\)' \| . 2>/dev/null || echo X"$dst" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q' ` test -d "$dstdir" dstdir_status=$? fi fi obsolete_mkdir_used=false if test $dstdir_status != 0; then case $posix_mkdir in '') # Create intermediate dirs using mode 755 as modified by the umask. # This is like FreeBSD 'install' as of 1997-10-28. umask=`umask` case $stripcmd.$umask in # Optimize common cases. *[2367][2367]) mkdir_umask=$umask;; .*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;; *[0-7]) mkdir_umask=`expr $umask + 22 \ - $umask % 100 % 40 + $umask % 20 \ - $umask % 10 % 4 + $umask % 2 `;; *) mkdir_umask=$umask,go-w;; esac # With -d, create the new directory with the user-specified mode. # Otherwise, rely on $mkdir_umask. if test -n "$dir_arg"; then mkdir_mode=-m$mode else mkdir_mode= fi posix_mkdir=false case $umask in *[123567][0-7][0-7]) # POSIX mkdir -p sets u+wx bits regardless of umask, which # is incompatible with FreeBSD 'install' when (umask & 300) != 0. ;; *) tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$ trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0 if (umask $mkdir_umask && exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1 then if test -z "$dir_arg" || { # Check for POSIX incompatibilities with -m. # HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or # other-writeable bit of parent directory when it shouldn't. # FreeBSD 6.1 mkdir -m -p sets mode of existing directory. ls_ld_tmpdir=`ls -ld "$tmpdir"` case $ls_ld_tmpdir in d????-?r-*) different_mode=700;; d????-?--*) different_mode=755;; *) false;; esac && $mkdirprog -m$different_mode -p -- "$tmpdir" && { ls_ld_tmpdir_1=`ls -ld "$tmpdir"` test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1" } } then posix_mkdir=: fi rmdir "$tmpdir/d" "$tmpdir" else # Remove any dirs left behind by ancient mkdir implementations. rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null fi trap '' 0;; esac;; esac if $posix_mkdir && ( umask $mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir" ) then : else # The umask is ridiculous, or mkdir does not conform to POSIX, # or it failed possibly due to a race condition. Create the # directory the slow way, step by step, checking for races as we go. case $dstdir in /*) prefix=/ ;; -*) prefix=./ ;; *) prefix= ;; esac case $posix_glob in '') if (set -f) 2>/dev/null; then posix_glob=true else posix_glob=false fi ;; esac oIFS=$IFS IFS=/ $posix_glob && set -f set fnord $dstdir shift $posix_glob && set +f IFS=$oIFS prefixes= for d do test -z "$d" && continue prefix=$prefix$d if test -d "$prefix"; then prefixes= else if $posix_mkdir; then (umask=$mkdir_umask && $doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break # Don't fail if two instances are running concurrently. test -d "$prefix" || exit 1 else case $prefix in *\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;; *) qprefix=$prefix;; esac prefixes="$prefixes '$qprefix'" fi fi prefix=$prefix/ done if test -n "$prefixes"; then # Don't fail if two instances are running concurrently. (umask $mkdir_umask && eval "\$doit_exec \$mkdirprog $prefixes") || test -d "$dstdir" || exit 1 obsolete_mkdir_used=true fi fi fi if test -n "$dir_arg"; then { test -z "$chowncmd" || $doit $chowncmd "$dst"; } && { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } && { test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false || test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1 else # 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 # Copy the file name to the temp name. (umask $cp_umask && $doit_exec $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 $mode "$dsttmp"; } && # Now rename the file to the real destination. { $doit $mvcmd -f "$dsttmp" "$dst" 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 "$dst"; then $doit $rmcmd -f "$dst" 2>/dev/null \ || { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \ && { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\ || { echo "$0: cannot unlink or rename $dst" >&2 (exit 1); exit 1 } else : fi } && # Now rename the file to the real destination. $doit $mvcmd "$dsttmp" "$dst" } } || exit 1 trap '' 0 fi done # 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: axis2c-src-1.6.0/neethi/config.sub0000755000175000017500000007763110614436542020116 0ustar00manjulamanjula00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, # Inc. timestamp='2007-01-18' # 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 . 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 ." 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-newlib* | 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 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -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/'` ;; -sco5v6*) # 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 | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep \ | 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 \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k) 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) ;; ms1) basic_machine=mt-unknown ;; # 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-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | m32c-* | 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-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa-* \ | ymp-* \ | z8k-*) ;; # 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 ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; 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 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; 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 ;; rdos) basic_machine=i386-pc os=-rdos ;; 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 ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; 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 ;; sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) 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* | -solidbsd* \ | -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-newlib* | -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* | -haiku* | -rdos* | -toppers* | -drops*) # 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* | -haiku* \ | -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 score-*) os=-elf ;; spu-*) os=-elf ;; *-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 ;; mep-*) os=-elf ;; 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 ;; *-haiku) os=-haiku ;; *-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: axis2c-src-1.6.0/neethi/missing0000755000175000017500000002557710527332127017531 0ustar00manjulamanjula00000000000000#! /bin/sh # Common stub for a few missing GNU programs while installing. scriptversion=2006-05-10.23 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006 # Free Software Foundation, Inc. # Originally by Fran,cois Pinard , 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=: sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p' sed_minuso='s/.* -o \([^ ]*\).*/\1/p' # 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' autom4te touch the output file, or create a stub one 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 ." 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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.c fi SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` if test -f "$SRCFILE"; then cp "$SRCFILE" y.tab.h fi ;; esac fi if test ! -f y.tab.h; then echo >y.tab.h fi if test ! -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 test $# -ne 1; then eval LASTARG="\${$#}" case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` if test -f "$SRCFILE"; then cp "$SRCFILE" lex.yy.c fi ;; esac fi if test ! -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` if test -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 "$sed_output"` test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 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: axis2c-src-1.6.0/neethi/Makefile.am0000644000175000017500000000015011166304521020137 0ustar00manjulamanjula00000000000000SUBDIRS = src test includedir=$(prefix)/include/axis2-1.6.0 include_HEADERS=$(top_builddir)/include/*.h axis2c-src-1.6.0/neethi/Makefile.in0000644000175000017500000005036011172017200020150 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = . DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \ $(srcdir)/Makefile.am $(srcdir)/Makefile.in \ $(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS COPYING \ ChangeLog INSTALL NEWS config.guess config.sub depcomp \ install-sh ltmain.sh missing ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \ configure.lineno config.status.lineno mkinstalldirs = $(install_sh) -d CONFIG_HEADER = config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \ html-recursive info-recursive install-data-recursive \ install-dvi-recursive install-exec-recursive \ install-html-recursive install-info-recursive \ install-pdf-recursive install-ps-recursive install-recursive \ installcheck-recursive installdirs-recursive pdf-recursive \ ps-recursive uninstall-recursive am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; am__vpath_adj = case $$p in \ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ *) f=$$p;; \ esac; am__strip_dir = `echo $$p | sed -e 's|^.*/||'`; am__installdirs = "$(DESTDIR)$(includedir)" includeHEADERS_INSTALL = $(INSTALL_HEADER) HEADERS = $(include_HEADERS) RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \ distclean-recursive maintainer-clean-recursive ETAGS = etags CTAGS = ctags DIST_SUBDIRS = $(SUBDIRS) DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) am__remove_distdir = \ { test ! -d $(distdir) \ || { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \ && rm -fr $(distdir); }; } DIST_ARCHIVES = $(distdir).tar.gz GZIP_ENV = --best distuninstallcheck_listfiles = find . -type f -print distcleancheck_listfiles = find . -type f -print ACLOCAL = @ACLOCAL@ AMTAR = @AMTAR@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ RANLIB = @RANLIB@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = $(prefix)/include/axis2-1.6.0 infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = src test include_HEADERS = $(top_builddir)/include/*.h all: config.h $(MAKE) $(AM_MAKEFLAGS) all-recursive .SUFFIXES: am--refresh: @: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \ cd $(srcdir) && $(AUTOMAKE) --gnu \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ echo ' $(SHELL) ./config.status'; \ $(SHELL) ./config.status;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) $(SHELL) ./config.status --recheck $(top_srcdir)/configure: $(am__configure_deps) cd $(srcdir) && $(AUTOCONF) $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS) config.h: stamp-h1 @if test ! -f $@; then \ rm -f stamp-h1; \ $(MAKE) $(AM_MAKEFLAGS) stamp-h1; \ else :; fi stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status @rm -f stamp-h1 cd $(top_builddir) && $(SHELL) ./config.status config.h $(srcdir)/config.h.in: $(am__configure_deps) cd $(top_srcdir) && $(AUTOHEADER) rm -f stamp-h1 touch $@ distclean-hdr: -rm -f config.h stamp-h1 mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs distclean-libtool: -rm -f libtool install-includeHEADERS: $(include_HEADERS) @$(NORMAL_INSTALL) test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)" @list='$(include_HEADERS)'; for p in $$list; do \ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ f=$(am__strip_dir) \ echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \ $(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \ done uninstall-includeHEADERS: @$(NORMAL_UNINSTALL) @list='$(include_HEADERS)'; for p in $$list; do \ f=$(am__strip_dir) \ echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \ rm -f "$(DESTDIR)$(includedir)/$$f"; \ done # This directory's subdirectories are mostly independent; you can cd # into them and run `make' without going through this Makefile. # To change the values of `make' variables: instead of editing Makefiles, # (1) if the variable is set in `config.status', edit `config.status' # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ dot_seen=yes; \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ fi; test -z "$$fail" $(RECURSIVE_CLEAN_TARGETS): @failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ *) list='$(SUBDIRS)' ;; \ esac; \ rev=''; for subdir in $$list; do \ if test "$$subdir" = "."; then :; else \ rev="$$subdir $$rev"; \ fi; \ done; \ rev="$$rev ."; \ target=`echo $@ | sed s/-recursive//`; \ for subdir in $$rev; do \ echo "Making $$target in $$subdir"; \ if test "$$subdir" = "."; then \ local_target="$$target-am"; \ else \ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \ done ctags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \ done ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ mkid -fID $$unique tags: TAGS TAGS: tags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \ include_option=--etags-include; \ empty_fix=.; \ else \ include_option=--include; \ empty_fix=; \ fi; \ list='$(SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test ! -f $$subdir/TAGS || \ tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \ fi; \ done; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \ test -n "$$unique" || unique=$$empty_fix; \ $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ $$tags $$unique; \ fi ctags: CTAGS CTAGS: ctags-recursive $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \ $(TAGS_FILES) $(LISP) tags=; \ here=`pwd`; \ list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ $(AWK) ' { files[$$0] = 1; } \ END { for (i in files) print i; }'`; \ test -z "$(CTAGS_ARGS)$$tags$$unique" \ || $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \ $$tags $$unique GTAGS: here=`$(am__cd) $(top_builddir) && pwd` \ && cd $(top_srcdir) \ && gtags -i $(GTAGS_ARGS) $$here distclean-tags: -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags distdir: $(DISTFILES) $(am__remove_distdir) test -d $(distdir) || mkdir $(distdir) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done list='$(DIST_SUBDIRS)'; for subdir in $$list; do \ if test "$$subdir" = .; then :; else \ test -d "$(distdir)/$$subdir" \ || $(MKDIR_P) "$(distdir)/$$subdir" \ || exit 1; \ distdir=`$(am__cd) $(distdir) && pwd`; \ top_distdir=`$(am__cd) $(top_distdir) && pwd`; \ (cd $$subdir && \ $(MAKE) $(AM_MAKEFLAGS) \ top_distdir="$$top_distdir" \ distdir="$$distdir/$$subdir" \ am__remove_distdir=: \ am__skip_length_check=: \ distdir) \ || exit 1; \ fi; \ done -find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ || chmod -R a+r $(distdir) dist-gzip: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) dist-bzip2: distdir tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2 $(am__remove_distdir) dist-tarZ: distdir tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z $(am__remove_distdir) dist-shar: distdir shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz $(am__remove_distdir) dist-zip: distdir -rm -f $(distdir).zip zip -rq $(distdir).zip $(distdir) $(am__remove_distdir) dist dist-all: distdir tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz $(am__remove_distdir) # This target untars the dist file and tries a VPATH configuration. Then # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist case '$(DIST_ARCHIVES)' in \ *.tar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ *.tar.bz2*) \ bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ *.tar.Z*) \ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ *.shar.gz*) \ GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ *.zip*) \ unzip $(distdir).zip ;;\ esac chmod -R a-w $(distdir); chmod a+w $(distdir) mkdir $(distdir)/_build mkdir $(distdir)/_inst chmod a-w $(distdir) dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \ && dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \ && cd $(distdir)/_build \ && ../configure --srcdir=.. --prefix="$$dc_install_base" \ $(DISTCHECK_CONFIGURE_FLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) \ && $(MAKE) $(AM_MAKEFLAGS) dvi \ && $(MAKE) $(AM_MAKEFLAGS) check \ && $(MAKE) $(AM_MAKEFLAGS) install \ && $(MAKE) $(AM_MAKEFLAGS) installcheck \ && $(MAKE) $(AM_MAKEFLAGS) uninstall \ && $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \ distuninstallcheck \ && chmod -R a-w "$$dc_install_base" \ && ({ \ (cd ../.. && umask 077 && mkdir "$$dc_destdir") \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \ && $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \ distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \ } || { rm -rf "$$dc_destdir"; exit 1; }) \ && rm -rf "$$dc_destdir" \ && $(MAKE) $(AM_MAKEFLAGS) dist \ && rm -rf $(DIST_ARCHIVES) \ && $(MAKE) $(AM_MAKEFLAGS) distcleancheck $(am__remove_distdir) @(echo "$(distdir) archives ready for distribution: "; \ list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \ sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x' distuninstallcheck: @cd $(distuninstallcheck_dir) \ && test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \ || { echo "ERROR: files left after uninstall:" ; \ if test -n "$(DESTDIR)"; then \ echo " (check DESTDIR support)"; \ fi ; \ $(distuninstallcheck_listfiles) ; \ exit 1; } >&2 distcleancheck: distclean @if test '$(srcdir)' = . ; then \ echo "ERROR: distcleancheck can only run from a VPATH build" ; \ exit 1 ; \ fi @test `$(distcleancheck_listfiles) | wc -l` -eq 0 \ || { echo "ERROR: files left in build directory after distclean:" ; \ $(distcleancheck_listfiles) ; \ exit 1; } >&2 check-am: all-am check: check-recursive all-am: Makefile $(HEADERS) config.h installdirs: installdirs-recursive installdirs-am: for dir in "$(DESTDIR)$(includedir)"; do \ test -z "$$dir" || $(MKDIR_P) "$$dir"; \ done install: install-recursive install-exec: install-exec-recursive install-data: install-data-recursive uninstall: uninstall-recursive install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-recursive install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-recursive clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -f Makefile distclean-am: clean-am distclean-generic distclean-hdr \ distclean-libtool distclean-tags dvi: dvi-recursive dvi-am: html: html-recursive info: info-recursive info-am: install-data-am: install-includeHEADERS install-dvi: install-dvi-recursive install-exec-am: install-html: install-html-recursive install-info: install-info-recursive install-man: install-pdf: install-pdf-recursive install-ps: install-ps-recursive installcheck-am: maintainer-clean: maintainer-clean-recursive -rm -f $(am__CONFIG_DISTCLEAN_FILES) -rm -rf $(top_srcdir)/autom4te.cache -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-recursive mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-recursive pdf-am: ps: ps-recursive ps-am: uninstall-am: uninstall-includeHEADERS .MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) install-am \ install-strip .PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \ all all-am am--refresh check check-am clean clean-generic \ clean-libtool ctags ctags-recursive dist dist-all dist-bzip2 \ dist-gzip dist-shar dist-tarZ dist-zip distcheck distclean \ distclean-generic distclean-hdr distclean-libtool \ distclean-tags distcleancheck distdir distuninstallcheck dvi \ dvi-am html html-am info info-am install install-am \ install-data install-data-am install-dvi install-dvi-am \ install-exec install-exec-am install-html install-html-am \ install-includeHEADERS install-info install-info-am \ install-man install-pdf install-pdf-am install-ps \ install-ps-am install-strip installcheck installcheck-am \ installdirs installdirs-am maintainer-clean \ maintainer-clean-generic mostlyclean mostlyclean-generic \ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-recursive \ uninstall uninstall-am uninstall-includeHEADERS # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/neethi/config.h.in0000644000175000017500000000332311166310377020141 0ustar00manjulamanjula00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `dl' library (-ldl). */ #undef HAVE_LIBDL /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDIO_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if compiling on MacOS X */ #undef IS_MACOSX /* Name of package */ #undef PACKAGE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Version number of package */ #undef VERSION axis2c-src-1.6.0/neethi/AUTHORS0000644000175000017500000000000011166304521017145 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/INSTALL0000644000175000017500000000000011166304521017126 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/ChangeLog0000644000175000017500000000000011166304521017647 0ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/include/0000777000175000017500000000000011172017536017542 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/neethi/include/rp_binding_commons.h0000644000175000017500000001004111166304507023551 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_BINDING_COMMONS_H #define RP_BINDING_COMMONS_H /** @defgroup rp_binding_commons * @ingroup rp_binding_commons * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_binding_commons_t rp_binding_commons_t; AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL rp_binding_commons_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_binding_commons_free( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL rp_binding_commons_get_algorithmsuite( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_algorithmsuite( rp_binding_commons_t * binding_commons, const axutil_env_t * env, rp_algorithmsuite_t * algorithmsuite); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_binding_commons_get_include_timestamp( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_include_timestamp( rp_binding_commons_t * binding_commons, const axutil_env_t * env, axis2_bool_t include_timestamp); AXIS2_EXTERN rp_layout_t *AXIS2_CALL rp_binding_commons_get_layout( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_layout( rp_binding_commons_t * binding_commons, const axutil_env_t * env, rp_layout_t * layout); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_signed_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_signed_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env, rp_supporting_tokens_t * signed_supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_signed_endorsing_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_signed_endorsing_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env, rp_supporting_tokens_t * signed_endorsing_supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_endorsing_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_endorsing_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env, rp_supporting_tokens_t * endorsing_supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_binding_commons_get_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_binding_commons_set_supporting_tokens( rp_binding_commons_t * binding_commons, const axutil_env_t * env, rp_supporting_tokens_t * supporting_tokens); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_symmetric_binding.h0000644000175000017500000000614011166304507024117 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SYMMETRIC_BINDING_H #define RP_SYMMETRIC_BINDING_H /** @defgroup rp_symmetric_binding * @ingroup rp_symmetric_binding * @{ */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_symmetric_binding_t rp_symmetric_binding_t; AXIS2_EXTERN rp_symmetric_binding_t *AXIS2_CALL rp_symmetric_binding_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_symmetric_binding_free( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env); AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL rp_symmetric_binding_get_symmetric_asymmetric_binding_commons( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_symmetric_asymmetric_binding_commons( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_protection_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_property_t * protection_token); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_symmetric_binding_get_protection_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_encryption_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_property_t * encryption_token); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_symmetric_binding_get_encryption_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_set_signature_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env, rp_property_t * signature_token); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_symmetric_binding_get_signature_token( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_binding_increment_ref( rp_symmetric_binding_t * symmetric_binding, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_token_identifier.h0000644000175000017500000000221011166304507023725 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_TOKEN_IDENTIFIER_H #define RP_TOKEN_IDENTIFIER_H /** @defgroup rp_token_identifier * @ingroup rp_token_identifier * @{ */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_identifier_set_token( rp_property_t * token, neethi_assertion_t * assertion, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_mtom_assertion_checker.h0000644000175000017500000000225711166304507026000 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_MTOM_ASSERTION_CHECKER_H #define NEETHI_MTOM_ASSERTION_CHECKER_H #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_is_mtom_required( const axutil_env_t *env, neethi_policy_t *policy); /** @} */ #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_security_context_token_builder.h0000644000175000017500000000241211166304507026730 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SECURITY_CONTEXT_TOKEN_BUILDER_H #define RP_SECURITY_CONTEXT_TOKEN_BUILDER_H /** @defgroup rp_security_context_token_builder * @ingroup rp_security_context_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_security_context_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element, axis2_char_t *sp_ns_uri, axis2_bool_t is_secure_conversation_token); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_element.h0000644000175000017500000000325411166304507022045 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ELEMENT_H #define RP_ELEMENT_H /** @defgroup rp_element * @ingroup rp_element * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_element_t rp_element_t; AXIS2_EXTERN rp_element_t *AXIS2_CALL rp_element_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_element_free( rp_element_t * element, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_element_get_name( rp_element_t * element, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_element_set_name( rp_element_t * element, const axutil_env_t * env, axis2_char_t * name); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_element_get_namespace( rp_element_t * element, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_element_set_namespace( rp_element_t * element, const axutil_env_t * env, axis2_char_t * nspace); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_username_token.h0000644000175000017500000001023211166304507023425 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_USERNAME_TOKEN_H #define RP_USERNAME_TOKEN_H /** @defgroup rp_username_token * @ingroup rp_username_token * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif typedef enum { PASSWORD_PLAIN = 0, PASSWORD_HASH, PASSWORD_NONE /* no password will be provided in the user name token */ } password_type_t; typedef struct rp_username_token_t rp_username_token_t; AXIS2_EXTERN rp_username_token_t *AXIS2_CALL rp_username_token_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_username_token_free( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_username_token_get_inclusion( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_inclusion( rp_username_token_t * username_token, const axutil_env_t * env, axis2_char_t * inclusion); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_username_token_get_useUTprofile10( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_useUTprofile10( rp_username_token_t * username_token, const axutil_env_t * env, axis2_bool_t useUTprofile10); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_username_token_get_useUTprofile11( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_useUTprofile11( rp_username_token_t * username_token, const axutil_env_t * env, axis2_bool_t useUTprofile11); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_username_token_get_issuer( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_issuer( rp_username_token_t * username_token, const axutil_env_t * env, axis2_char_t * issuer); AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_username_token_get_derivedkey_type( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_derivedkey_type( rp_username_token_t * username_token, const axutil_env_t * env, derive_key_type_t derivedkey); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_username_token_get_is_issuer_name( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_is_issuer_name( rp_username_token_t * username_token, const axutil_env_t * env, axis2_bool_t is_issuer_name); AXIS2_EXTERN axiom_node_t *AXIS2_CALL rp_username_token_get_claim( rp_username_token_t * username_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_set_claim( rp_username_token_t * username_token, const axutil_env_t * env, axiom_node_t *claim); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_username_token_increment_ref( rp_username_token_t * username_token, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_operator.h0000644000175000017500000000526011166304507023101 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_OPERATOR_H #define NEETHI_OPERATOR_H /** * @file neethi_operator.h * @common struct for policy operators. */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef enum { OPERATOR_TYPE_POLICY = 0, OPERATOR_TYPE_ALL, OPERATOR_TYPE_EXACTLYONE, OPERATOR_TYPE_REFERENCE, OPERATOR_TYPE_ASSERTION, OPERATOR_TYPE_UNKNOWN } neethi_operator_type_t; typedef struct neethi_operator_t neethi_operator_t; AXIS2_EXTERN neethi_operator_t *AXIS2_CALL neethi_operator_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL neethi_operator_free( neethi_operator_t * neethi_operator, const axutil_env_t * env); AXIS2_EXTERN neethi_operator_type_t AXIS2_CALL neethi_operator_get_type( neethi_operator_t * neethi_operator, const axutil_env_t * env); AXIS2_EXTERN void *AXIS2_CALL neethi_operator_get_value( neethi_operator_t * neethi_operator, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_set_value( neethi_operator_t * neethi_operator, const axutil_env_t * env, void *value, neethi_operator_type_t type); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_serialize( neethi_operator_t * neethi_operator, const axutil_env_t * env, axiom_node_t * parent); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_set_value_null( neethi_operator_t * neethi_operator, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_operator_increment_ref( neethi_operator_t * neethi_operator, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_OPERATOR_H */ axis2c-src-1.6.0/neethi/include/rp_https_token_builder.h0000644000175000017500000000216311166304507024462 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_HTTPS_TOKEN_BUILDER_H #define RP_HTTPS_TOKEN_BUILDER_H /** @defgroup rp_https_token_builder * @ingroup rp_https_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_https_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_encryption_token_builder.h0000644000175000017500000000235211166304507025512 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ENCRYPTION_TOKEN_BUILDER_H #define RP_ENCRYPTION_TOKEN_BUILDER_H /** @defgroup rp_encryption_token_builder * @ingroup rp_encryption_token_builder * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_encryption_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_recipient_token_builder.h0000644000175000017500000000220611166304507025300 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_RECIPIENT_TOKEN_BUILDER_H #define RP_RECIPIENT_TOKEN_BUILDER_H /** @defgroup rp_recipient_token_builder * @ingroup rp_recipient_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_recipient_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_symmetric_binding_builder.h0000644000175000017500000000222711166304507025627 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SYMMETRIC_BINDING_BUILDER_H #define RP_SYMMETRIC_BINDING_BUILDER_H /** @defgroup rp_symmetric_binding_builder * @ingroup rp_symmetric_binding_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_symmetric_binding_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_symmetric_asymmetric_binding_commons.h0000644000175000017500000001013111166304507030102 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ASSYMMETRIC_SYMMETRIC_BINDING_COMMONS_H #define RP_ASSYMMETRIC_SYMMETRIC_BINDING_COMMONS_H /** @defgroup rp_assymmetric_symmetric_binding_commons * @ingroup rp_assymmetric_symmetric_binding_commons * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_symmetric_asymmetric_binding_commons_t rp_symmetric_asymmetric_binding_commons_t; AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL rp_symmetric_asymmetric_binding_commons_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_symmetric_asymmetric_binding_commons_free( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env); AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_binding_commons( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_binding_commons( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, rp_binding_commons_t * binding_commons); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_signature_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_signature_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_bool_t signature_protection); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_token_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_token_protection( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_bool_t token_protection); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_entire_headers_and_body_signatures ( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_entire_headers_and_body_signatures ( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_bool_t entire_headers_and_body_signatures); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_symmetric_asymmetric_binding_commons_get_protection_order( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_symmetric_asymmetric_binding_commons_set_protection_order( rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons, const axutil_env_t * env, axis2_char_t * protection_order); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_trust10_builder.h0000644000175000017500000000213711166304507023443 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_TRUST10_BUILDER_H #define RP_TRUST10_BUILDER_H /** @defgroup rp_trust10_builder * @ingroup rp_trust10_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_trust10_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_bootstrap_policy_builder.h0000644000175000017500000000216011166304507025511 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_BOOTSTRAP_POLICY_BUILDER_H #define RP_BOOTSTRAP_POLICY_BUILDER_H /** @defgroup rp_bootstrap_policy_builder * @ingroup rp_bootstrap_policy_builder * @{ */ #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_bootstrap_policy_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_transport_token_builder.h0000644000175000017500000000220711166304507025353 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_TRANSPORT_TOKEN_BUILDER_H #define RP_TRANSPORT_TOKEN_BUILDER_H /** @defgroup rp_transport_token_builder * @ingroup rp_transport_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_transport_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_x509_token.h0000644000175000017500000001057211166304507022322 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_X509_TOKEN_H #define RP_X509_TOKEN_H /** @defgroup rp_x509_token * @ingroup rp_x509_token * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_x509_token_t rp_x509_token_t; AXIS2_EXTERN rp_x509_token_t *AXIS2_CALL rp_x509_token_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_x509_token_free( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_x509_token_get_inclusion( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_inclusion( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_char_t * inclusion); AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_x509_token_get_derivedkey( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_derivedkey( rp_x509_token_t * x509_token, const axutil_env_t * env, derive_key_type_t derivedkeys); AXIS2_EXTERN derive_key_version_t AXIS2_CALL rp_x509_token_get_derivedkey_version( rp_x509_token_t *x509_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_derivedkey_version( rp_x509_token_t *x509_token, const axutil_env_t *env, derive_key_version_t version); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_key_identifier_reference( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_key_identifier_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_key_identifier_reference); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_issuer_serial_reference( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_issuer_serial_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_issuer_serial_reference); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_embedded_token_reference( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_embedded_token_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_embedded_token_reference); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_x509_token_get_require_thumb_print_reference( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_require_thumb_print_reference( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_bool_t require_thumb_print_reference); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_x509_token_get_token_version_and_type( rp_x509_token_t * x509_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_set_token_version_and_type( rp_x509_token_t * x509_token, const axutil_env_t * env, axis2_char_t * token_version_and_type); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_x509_token_increment_ref( rp_x509_token_t * x509_token, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_algorithmsuite.h0000644000175000017500000001546411166304507023462 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ALGORITHMSUITE_H #define RP_ALGORITHMSUITE_H /** @defgroup rp_algoruthmsuite * @ingroup rp_algorithmsuite * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_algorithmsuite_t rp_algorithmsuite_t; AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL rp_algorithmsuite_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_algorithmsuite_free( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_algosuite_string( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_algosuite( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * algosuite_string); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_symmetric_signature( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_symmetric_signature( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * symmetric_signature); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_asymmetric_signature( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_asymmetric_signature( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * asymmetric_signature); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_computed_key( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_computed_key( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * computed_key); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_digest( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_encryption( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_max_symmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_max_symmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, int max_symmetric_keylength); AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_min_symmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_max_asymmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_max_asymmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, int max_asymmetric_keylength); AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_min_asymmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_min_asymmetric_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, int min_asymmetric_keylength); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_symmetrickeywrap( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_asymmetrickeywrap( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_signature_key_derivation( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_encryption_key_derivation( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_soap_normalization( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_soap_normalization( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * soap_normalization); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_str_transformation( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_str_transformation( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * str_transformation); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_c14n( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_c14n( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * c14n); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_algorithmsuite_get_xpath( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_set_xpath( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env, axis2_char_t * xpath); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_algorithmsuite_increment_ref( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_encryption_derivation_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); AXIS2_EXTERN int AXIS2_CALL rp_algorithmsuite_get_signature_derivation_keylength( rp_algorithmsuite_t * algorithmsuite, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_wss11_builder.h0000644000175000017500000000212311166304507023072 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_WSS11_BUILDER_H #define RP_WSS11_BUILDER_H /** @defgroup rp_wss11_builder * @ingroup rp_wss11_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_wss11_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_rampart_config_builder.h0000644000175000017500000000220511166304507025110 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_RAMPART_CONFIG_BUILDER_H #define RP_RAMPART_CONFIG_BUILDER_H /** @defgroup rp_rampart_config_builder * @ingroup rp_rampart_config_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_rampart_config_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_builders.h0000644000175000017500000000375711166304507022235 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_BUILDERS_H #define RP_BUILDERS_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @file rp_builders.h * @all the secpolicy builders */ #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /*RP_BUILDERS_H */ axis2c-src-1.6.0/neethi/include/neethi_all.h0000644000175000017500000000430711166304507022017 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_ALL_H #define NEETHI_ALL_H /** * @file neethi_all.h * @struct for operator all */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct neethi_all_t neethi_all_t; AXIS2_EXTERN neethi_all_t *AXIS2_CALL neethi_all_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL neethi_all_free( neethi_all_t * neethi_all, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_all_get_policy_components( neethi_all_t * neethi_all, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_all_add_policy_components( neethi_all_t * all, axutil_array_list_t * arraylist, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_all_add_operator( neethi_all_t * neethi_all, const axutil_env_t * env, neethi_operator_t * op); AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_all_is_empty( neethi_all_t * all, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_all_serialize( neethi_all_t * neethi_all, axiom_node_t * parent, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_ALL_H */ axis2c-src-1.6.0/neethi/include/rp_asymmetric_binding.h0000644000175000017500000000535711166304507024271 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ASYMMETRIC_BINDING_H #define RP_ASYMMETRIC_BINDING_H /** @defgroup rp_asymmetric_binding * @ingroup rp_asymmetric_binding * @{ */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_asymmetric_binding_t rp_asymmetric_binding_t; AXIS2_EXTERN rp_asymmetric_binding_t *AXIS2_CALL rp_asymmetric_binding_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_asymmetric_binding_free( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env); AXIS2_EXTERN rp_symmetric_asymmetric_binding_commons_t *AXIS2_CALL rp_asymmetric_binding_get_symmetric_asymmetric_binding_commons( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_set_symmetric_asymmetric_binding_commons( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env, rp_symmetric_asymmetric_binding_commons_t * symmetric_asymmetric_binding_commons); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_set_initiator_token( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env, rp_property_t * initiator_token); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_asymmetric_binding_get_initiator_token( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_set_recipient_token( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env, rp_property_t * recipient_token); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_asymmetric_binding_get_recipient_token( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_asymmetric_binding_increment_ref( rp_asymmetric_binding_t * asymmetric_binding, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_property.h0000644000175000017500000000504711166304507022302 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_PROPERTY_H #define RP_PROPERTY_H /** @defgroup rp_property * @ingroup rp_property * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef enum { RP_PROPERTY_USERNAME_TOKEN = 0, RP_PROPERTY_X509_TOKEN, RP_PROPERTY_ISSUED_TOKEN, RP_PROPERTY_SAML_TOKEN, RP_PROPERTY_SECURITY_CONTEXT_TOKEN, RP_PROPERTY_HTTPS_TOKEN, RP_PROPERTY_SYMMETRIC_BINDING, RP_PROPERTY_ASYMMETRIC_BINDING, RP_PROPERTY_TRANSPORT_BINDING, RP_PROPERTY_SIGNED_SUPPORTING_TOKEN, RP_PROPERTY_SIGNED_ENDORSING_SUPPORTING_TOKEN, RP_PROPERTY_SUPPORTING_SUPPORTING_TOKEN, RP_PROPERTY_ENDORSING_SUPPORTING_TOKEN, RP_PROPERTY_WSS10, RP_PROPERTY_WSS11, RP_PROPERTY_SUPPORTING_TOKEN, RP_PROPERTY_UNKNOWN } rp_property_type_t; typedef struct rp_property_t rp_property_t; AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_property_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_property_free( rp_property_t * property, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_property_set_value( rp_property_t * property, const axutil_env_t * env, void *value, rp_property_type_t type); AXIS2_EXTERN void *AXIS2_CALL rp_property_get_value( rp_property_t * property, const axutil_env_t * env); AXIS2_EXTERN rp_property_type_t AXIS2_CALL rp_property_get_type( rp_property_t * property, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_property_increment_ref( rp_property_t * property, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_defines.h0000644000175000017500000002520111166304507022025 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_DEFINES_H #define RP_DEFINES_H /** @defgroup rp_defines * @ingroup rp_defines * @{ */ #ifdef __cplusplus extern "C" { #endif #define RP_POLICY "Policy" #define RP_EXACTLY_ONE "ExactlyOne" #define RP_ALL "All" #define RP_SYMMETRIC_BINDING "SymmetricBinding" #define RP_ASYMMETRIC_BINDING "AsymmetricBinding" #define RP_TRANSPORT_BINDING "TransportBinding" #define RP_SIGNED_SUPPORTING_TOKENS "SignedSupportingTokens" #define RP_SIGNED_ENDORSING_SUPPORTING_TOKENS "SignedEndorsingSupportingTokens" #define RP_SUPPORTING_TOKENS "SupportingTokens" #define RP_ENDORSING_SUPPORTING_TOKENS "EndorsingSupportingTokens" #define RP_SIGNED_PARTS "SignedParts" #define RP_SIGNED_ELEMENTS "SignedElements" #define RP_ENCRYPTED_PARTS "EncryptedParts" #define RP_ENCRYPTED_ELEMENTS "EncryptedElements" #define RP_SIGNED_ITEMS "SignedItems" #define RP_ENCRYPTED_ITEMS "EncryptedItems" #define RP_BODY "Body" #define RP_HEADER "Header" #define RP_NAME "Name" #define RP_NAMESPACE "Namespace" #define RP_ELEMENT "Element" #define RP_ATTACHMENTS "Attachments" #define RP_XPATH "XPath" #define RP_XPATH_VERSION "XPathVersion" #define RP_WSS10 "Wss10" #define RP_WSS11 "Wss11" #define RP_TRUST10 "Trust10" #define RP_TRUST13 "Trust13" #define RP_MUST_SUPPORT_REF_KEY_IDENTIFIER "MustSupportRefKeyIdentifier" #define RP_MUST_SUPPORT_REF_ISSUER_SERIAL "MustSupportRefIssuerSerial" #define RP_MUST_SUPPORT_REF_EXTERNAL_URI "MustSupportRefExternalURI" #define RP_MUST_SUPPORT_REF_EMBEDDED_TOKEN "MustSupportRefEmbeddedToken" #define RP_MUST_SUPPORT_REF_THUMBPRINT "MustSupportRefThumbprint" #define RP_MUST_SUPPORT_REF_ENCRYPTED_KEY "MustSupportRefEncryptedKey" #define RP_REQUIRE_SIGNATURE_CONFIRMATION "RequireSignatureConfirmation" #define RP_MUST_SUPPORT_CLIENT_CHALLENGE "MustSupportClientChallenge" #define RP_MUST_SUPPORT_SERVER_CHALLENGE "MustSupportServerChallenge" #define RP_REQUIRE_CLIENT_ENTROPY "RequireClientEntropy" #define RP_REQUIRE_SERVER_ENTROPHY "RequireServerEntropy" #define RP_MUST_SUPPORT_ISSUED_TOKENS "MustSupportIssuedTokens" #define RP_PROTECTION_TOKEN "ProtectionToken" #define RP_ENCRYPTION_TOKEN "EncryptionToken" #define RP_SIGNATURE_TOKEN "SignatureToken" #define RP_INITIATOR_TOKEN "InitiatorToken" #define RP_RECIPIENT_TOKEN "RecipientToken" #define RP_TRANSPORT_TOKEN "TransportToken" #define RP_ALGORITHM_SUITE "AlgorithmSuite" #define RP_LAYOUT "Layout" #define RP_INCLUDE_TIMESTAMP "IncludeTimestamp" #define RP_ENCRYPT_BEFORE_SIGNING "EncryptBeforeSigning" #define RP_SIGN_BEFORE_ENCRYPTING "SignBeforeEncrypting" #define RP_ENCRYPT_SIGNATURE "EncryptSignature" #define RP_PROTECT_TOKENS "ProtectTokens" #define RP_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY "OnlySignEntireHeadersAndBody" #define RP_ALGO_SUITE_BASIC256 "Basic256" #define RP_ALGO_SUITE_BASIC192 "Basic192" #define RP_ALGO_SUITE_BASIC128 "Basic128" #define RP_ALGO_SUITE_TRIPLE_DES "TripleDes" #define RP_ALGO_SUITE_BASIC256_RSA15 "Basic256Rsa15" #define RP_ALGO_SUITE_BASIC192_RSA15 "Basic192Rsa15" #define RP_ALGO_SUITE_BASIC128_RSA15 "Basic128Rsa15" #define RP_ALGO_SUITE_TRIPLE_DES_RSA15 "TripleDesRsa15" #define RP_ALGO_SUITE_BASIC256_SHA256 "Basic256Sha256" #define RP_ALGO_SUITE_BASIC192_SHA256 "Basic192Sha256" #define RP_ALGO_SUITE_BASIC128_SHA256 "Basic128Sha256" #define RP_ALGO_SUITE_TRIPLE_DES_SHA256 "TripleDesSha256" #define RP_ALGO_SUITE_BASIC256_SHA256_RSA15 "Basic256Sha256Rsa15" #define RP_ALGO_SUITE_BASIC192_SHA256_RSA15 "Basic192Sha256Rsa15" #define RP_ALGO_SUITE_BASIC128_SHA256_RSA15 "Basic128Sha256Rsa15" #define RP_ALGO_SUITE_TRIPLE_DES_SHA256_RSA15 "TripleDesSha256Rsa15" #define RP_HMAC_SHA1 "http://www.w3.org/2000/09/xmldsig#hmac-sha1" #define RP_RSA_SHA1 "http://www.w3.org/2000/09/xmldsig#rsa-sha1" #define RP_SHA1 "http://www.w3.org/2000/09/xmldsig#sha1" #define RP_SHA256 "http://www.w3.org/2001/04/xmlenc#sha256" #define RP_SHA512 "http://www.w3.org/2001/04/xmlenc#sha512" #define RP_AES128 "http://www.w3.org/2001/04/xmlenc#aes128-cbc" #define RP_AES192 "http://www.w3.org/2001/04/xmlenc#aes192-cbc" #define RP_AES256 "http://www.w3.org/2001/04/xmlenc#aes256-cbc" #define RP_TRIPLE_DES "http://www.w3.org/2001/04/xmlenc#tripledes-cbc" #define RP_KW_AES128 "http://www.w3.org/2001/04/xmlenc#kw-aes256" #define RP_KW_AES192 "http://www.w3.org/2001/04/xmlenc#kw-aes192" #define RP_KW_AES256 "http://www.w3.org/2001/04/xmlenc#kw-aes128" #define RP_KW_TRIPLE_DES "http://www.w3.org/2001/04/xmlenc#kw-tripledes" #define RP_KW_RSA_OAEP "http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p" #define RP_KW_RSA15 "http://www.w3.org/2001/04/xmlenc#rsa-1_5" #define RP_P_SHA1 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1" #define RP_P_SHA1_L128 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1" #define RP_P_SHA1_L192 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1" #define RP_P_SHA1_L256 "http://schemas.xmlsoap.org/ws/2005/02/sc/dk/p_sha1" #define RP_X_PATH "http://www.w3.org/TR/1999/REC-xpath-19991116" #define RP_XPATH20 "http://www.w3.org/2002/06/xmldsig-filter2" #define RP_C14N "http://www.w3.org/2001/10/xml-c14n#" #define RP_EX_C14N "http://www.w3.org/2001/10/xml-exc-c14n#" #define RP_SNT "http://www.w3.org/TR/soap12-n11n" #define RP_STRT10 "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#STR-Transform" #define RP_INCLUSIVE_C14N "InclusiveC14N" #define RP_SOAP_NORMALIZATION_10 "SoapNormalization10" #define RP_STR_TRANSFORM_10 "STRTransform10" #define RP_XPATH10 "XPath10" #define RP_XPATH_FILTER20 "XPathFilter20" #define RP_LAYOUT_STRICT "Strict" #define RP_LAYOUT_LAX "Lax" #define RP_LAYOUT_LAX_TIMESTAMP_FIRST "LaxTimestampFirst" #define RP_LAYOUT_LAX_TIMESTAMP_LAST "LaxTimestampLast" #define RP_USERNAME_TOKEN "UsernameToken" #define RP_X509_TOKEN "X509Token" #define RP_SAML_TOKEN "SamlToken" #define RP_ISSUED_TOKEN "IssuedToken" #define RP_SECURITY_CONTEXT_TOKEN "SecurityContextToken" #define RP_SECURE_CONVERSATION_TOKEN "SecureConversationToken" #define RP_HTTPS_TOKEN "HttpsToken" #define RP_INCLUDE_TOKEN "IncludeToken" #define RP_INCLUDE_ALWAYS "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Always" #define RP_INCLUDE_NEVER "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never" #define RP_INCLUDE_ONCE "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Once" #define RP_INCLUDE_ALWAYS_TO_RECIPIENT "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/AlwaysToRecipient" #define RP_INCLUDE_NEVER_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Never" #define RP_INCLUDE_ONCE_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Once" #define RP_INCLUDE_ALWAYS_TO_RECIPIENT_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient" #define RP_INCLUDE_ALWAYS_TO_INITIATOR_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToInitiator" #define RP_INCLUDE_ALWAYS_SP12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/Always" #define RP_REQUEST_SEC_TOKEN_TEMPLATE "RequestSecurityTokenTemplate" #define RP_REQUIRE_KEY_IDENTIFIRE_REFERENCE "RequireKeyIdentifierReference" #define RP_REQUIRE_ISSUER_SERIAL_REFERENCE "RequireIssuerSerialReference" #define RP_REQUIRE_EMBEDDED_TOKEN_REFERENCE "RequireEmbeddedTokenReference" #define RP_REQUIRE_THUMBPRINT_REFERENCE "RequireThumbprintReference" #define RP_REQUIRE_DERIVED_KEYS "RequireDerivedKeys" #define RP_REQUIRE_EXTERNAL_REFERENCE "RequireExternalReference" #define RP_REQUIRE_INTERNAL_REFERENCE "RequireInternalReference" #define RP_WSS_X509_V1_TOKEN_10 "WssX509V1Token10" #define RP_WSS_X509_V3_TOKEN_10 "WssX509V3Token10" #define RP_WSS_X509_PKCS7_TOKEN_10 "WssX509Pkcs7Token10" #define RP_WSS_X509_PKI_PATH_V1_TOKEN_10 "WssX509PkiPathV1Token10" #define RP_WSS_X509_V1_TOKEN_11 "WssX509V1Token11" #define RP_WSS_X509_V3_TOKEN_11 "WssX509V3Token11" #define RP_WSS_X509_PKCS7_TOKEN_11 "WssX509Pkcs7Token11" #define RP_WSS_X509_PKI_PATH_V1_TOKEN_11 "WssX509PkiPathV1Token11" #define RP_WSS_USERNAME_TOKEN_10 "WssUsernameToken10" #define RP_WSS_USERNAME_TOKEN_11 "WssUsernameToken11" #define RP_WSS_SAML_V10_TOKEN_V10 "WssSamlV10Token10" #define RP_WSS_SAML_V11_TOKEN_V10 "WssSamlV11Token10" #define RP_WSS_SAML_V10_TOKEN_V11 "WssSamlV10Token11" #define RP_WSS_SAML_V11_TOKEN_V11 "WssSamlV11Token11" #define RP_WSS_SAML_V20_TOKEN_V11 "WssSamlV20Token11" #define RP_REQUIRE_EXTERNAL_URI_REFERENCE "RequireExternalUriReference" #define RP_SC10_SECURITY_CONTEXT_TOKEN "SC10SecurityContextToken" #define RP_SC13_SECURITY_CONTEXT_TOKEN "SC13SecurityContextToken" #define RP_BOOTSTRAP_POLICY "BootstrapPolicy" #define RP_ISSUER "Issuer" #define RP_REQUIRE_CLIENT_CERTIFICATE "RequireClientCertificate" #define RP_RAMPART_CONFIG "RampartConfig" #define RP_USER "User" #define RP_ENCRYPTION_USER "EncryptionUser" #define RP_PASSWORD_CALLBACK_CLASS "PasswordCallbackClass" #define RP_AUTHN_MODULE_NAME "AuthnModuleName" #define RP_PASSWORD_TYPE "PasswordType" #define RP_PLAINTEXT "plainText" #define RP_DIGEST "Digest" #define RP_RECEIVER_CERTIFICATE "ReceiverCertificate" #define RP_CERTIFICATE "Certificate" #define RP_PRIVATE_KEY "PrivateKey" #define RP_PKCS12_KEY_STORE "PKCS12KeyStore" #define RP_TIME_TO_LIVE "TimeToLive" #define RP_CLOCK_SKEW_BUFFER "ClockSkewBuffer" #define RP_NEED_MILLISECOND_PRECISION "PrecisionInMilliseconds" #define RP_RD "ReplayDetection" #define RP_RD_MODULE "ReplayDetectionModule" #define RP_SCT_MODULE "SecurityContextTokenProvider" #define RP_SP_NS_11 "http://schemas.xmlsoap.org/ws/2005/07/securitypolicy" #define RP_SP_NS_12 "http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702" #define RP_SECURITY_NS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" #define RP_POLICY_NS "http://schemas.xmlsoap.org/ws/2004/09/policy" #define RP_RAMPART_NS "http://ws.apache.org/rampart/c/policy" #define RP_POLICY_PREFIX "wsp" #define RP_RAMPART_PREFIX "rampc" #define RP_SP_PREFIX "sp" #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_signature_token_builder.h0000644000175000017500000000234511166304507025323 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SIGNATURE_TOKEN_BUILDER_H #define RP_SIGNATURE_TOKEN_BUILDER_H /** @defgroup rp_signature_token_builder * @ingroup rp_signature_token_builder * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_signature_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_assertion_builder.h0000644000175000017500000000224211166304507024760 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_ASSERTION_BUILDER_H #define NEETHI_ASSERTION_BUILDER_H /** @defgroup neethi_assertion_builder * @ingroup neethi_assertion_builder * @{ */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL neethi_assertion_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_saml_token.h0000644000175000017500000000557311166304507022556 0ustar00manjulamanjula00000000000000/* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SAML_TOKEN_H #define RP_SAML_TOKEN_H #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_saml_token rp_saml_token_t; AXIS2_EXTERN rp_saml_token_t * AXIS2_CALL rp_saml_token_create( const axutil_env_t *env); AXIS2_EXTERN void AXIS2_CALL rp_saml_token_free( rp_saml_token_t *saml_token, const axutil_env_t *env); AXIS2_EXTERN axis2_char_t * AXIS2_CALL rp_saml_token_get_inclusion( rp_saml_token_t *saml_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_inclusion( rp_saml_token_t *saml_token, const axutil_env_t *env, axis2_char_t * inclusion); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_saml_token_get_derivedkeys( rp_saml_token_t *saml_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_derivedkeys( rp_saml_token_t *saml_token, const axutil_env_t *env, axis2_bool_t derivedkeys); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_saml_token_get_require_key_identifier_reference( rp_saml_token_t * saml_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_require_key_identifier_reference( rp_saml_token_t * saml_token, const axutil_env_t * env, axis2_bool_t require_key_identifier_reference); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_saml_token_get_token_version_and_type( rp_saml_token_t * saml_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_set_token_version_and_type( rp_saml_token_t * saml_token, const axutil_env_t * env, axis2_char_t * token_version_and_type); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_saml_token_increment_ref( rp_saml_token_t * saml_token, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_wss10.h0000644000175000017500000000514211166304507021367 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_WSS10_H #define RP_WSS10_H /** @defgroup wss10 * @ingroup wss10 * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_wss10_t rp_wss10_t; AXIS2_EXTERN rp_wss10_t *AXIS2_CALL rp_wss10_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_wss10_free( rp_wss10_t * wss10, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_key_identifier( rp_wss10_t * wss10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_key_identifier( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_key_identifier); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_issuer_serial( rp_wss10_t * wss10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_issuer_serial( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_issuer_serial); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_external_uri( rp_wss10_t * wss10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_external_uri( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_external_uri); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss10_get_must_support_ref_embedded_token( rp_wss10_t * wss10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_set_must_support_ref_embedded_token( rp_wss10_t * wss10, const axutil_env_t * env, axis2_bool_t must_support_ref_embedded_token); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss10_increment_ref( rp_wss10_t * wss10, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_wss11.h0000644000175000017500000000722711166304507021376 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_WSS11_H #define RP_WSS11_H /** @defgroup wss11 * @ingroup wss11 * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_wss11_t rp_wss11_t; AXIS2_EXTERN rp_wss11_t *AXIS2_CALL rp_wss11_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_wss11_free( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_key_identifier( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_key_identifier( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_key_identifier); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_issuer_serial( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_issuer_serial( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_issuer_serial); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_external_uri( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_external_uri( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_external_uri); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_embedded_token( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_embedded_token( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_embedded_token); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_thumbprint( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_thumbprint( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_thumbprint); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_must_support_ref_encryptedkey( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t must_support_ref_encryptedkey); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_must_support_ref_encryptedkey( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_set_require_signature_confirmation( rp_wss11_t * wss11, const axutil_env_t * env, axis2_bool_t require_signature_confirmation); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_wss11_get_require_signature_confirmation( rp_wss11_t * wss11, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_wss11_increment_ref( rp_wss11_t * wss11, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_util.h0000644000175000017500000000272711166304507022230 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_UTIL_H #define NEETHI_UTIL_H /** * @file neethi_util.h * @policy creation utilities */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_util_create_policy_from_file( const axutil_env_t * env, axis2_char_t * file_name); AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_util_create_policy_from_om( const axutil_env_t * env, axiom_node_t * root_node); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_UTIL_H */ axis2c-src-1.6.0/neethi/include/rp_protection_token_builder.h0000644000175000017500000000235211166304507025506 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_PROTECTION_TOKEN_BUILDER_H #define RP_PROTECTION_TOKEN_BUILDER_H /** @defgroup rp_protection_token_builder * @ingroup rp_protection_token_builder * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_protection_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_asymmetric_binding_builder.h0000644000175000017500000000223611166304507025770 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ASYMMETRIC_BINDING_BUILDER_H #define RP_ASYMMETRIC_BINDING_BUILDER_H /** @defgroup rp_asymmetric_binding_builder * @ingroup rp_asymmetric_binding_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_asymmetric_binding_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/axis2_rm_assertion_builder.h0000644000175000017500000000225011166304507025227 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_RM_ASSERTION_BUILDER_H #define AXIS2_RM_ASSERTION_BUILDER_H /** @defgroup axis2_rm_assertion_builder * @ingroup axis2_rm_assertion_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL axis2_rm_assertion_builder_build( const axutil_env_t *env, axiom_node_t *rm_assertion_node, axiom_element_t *rm_assertion_ele); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_https_token.h0000644000175000017500000000447111166304507022760 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_HTTPS_TOKEN_H #define RP_HTTPS_TOKEN_H /** @defgroup rp_https_token * @ingroup rp_https_token * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_https_token_t rp_https_token_t; AXIS2_EXTERN rp_https_token_t *AXIS2_CALL rp_https_token_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_https_token_free( rp_https_token_t * https_token, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_https_token_get_inclusion( rp_https_token_t * https_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_set_inclusion( rp_https_token_t * https_token, const axutil_env_t * env, axis2_char_t * inclusion); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_https_token_get_derivedkeys( rp_https_token_t * https_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_set_derivedkeys( rp_https_token_t * https_token, const axutil_env_t * env, axis2_bool_t derivedkeys); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_https_token_get_require_client_certificate( rp_https_token_t * https_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_set_require_client_certificate( rp_https_token_t * https_token, const axutil_env_t * env, axis2_bool_t require_client_certificate); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_https_token_increment_ref( rp_https_token_t * https_token, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_includes.h0000644000175000017500000000300411166304507023046 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_INCLUDES_H #define NEETHI_INCLUDES_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @file neethi_includes.h * @brief includes most useful headers for policy */ #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /*NEETHI_INCLUDES_H */ axis2c-src-1.6.0/neethi/include/rp_wss10_builder.h0000644000175000017500000000212311166304507023071 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_WSS10_BUILDER_H #define RP_WSS10_BUILDER_H /** @defgroup rp_wss10_builder * @ingroup rp_wss10_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_wss10_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_rampart_config.h0000644000175000017500000001542211166304507023407 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_RAMPART_CONFIG_H #define RP_RAMPART_CONFIG_H /** @defgroup rp_rampart_config * @ingroup rp_rampart_config * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_rampart_config_t rp_rampart_config_t; AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL rp_rampart_config_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_rampart_config_free( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * user); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_encryption_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_encryption_user( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * encryption_user); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_password_callback_class( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_password_callback_class( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * passwprd_callback_class); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_authenticate_module( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_authenticate_module( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * authenticate_module); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_replay_detector( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_replay_detector( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * replay_detector); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_sct_provider( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_sct_provider( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * sct_module); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_password_type( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_password_type( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * password_type); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_private_key_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_private_key_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * private_key_file); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_receiver_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_receiver_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * receiver_certificate_file); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_certificate_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * certificate_file); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_time_to_live( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_time_to_live( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * time_to_live); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_clock_skew_buffer( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_clock_skew_buffer( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * clock_skew_buffer); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_need_millisecond_precision( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_need_millisecond_precision( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * need_millisecond_precision); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_rd_val( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_rd_val( rp_rampart_config_t * rampart_config, const axutil_env_t * env, axis2_char_t * rd_val); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_increment_ref( rp_rampart_config_t * rampart_config, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_rampart_config_set_pkcs12_file( rp_rampart_config_t * rampart_config, const axutil_env_t *env, axis2_char_t * pkcs12_file); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_rampart_config_get_pkcs12_file( rp_rampart_config_t * rampart_config, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_constants.h0000644000175000017500000000615511166304507023266 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_CONSTANTS_H #define NEETHI_CONSTANTS_H #define NEETHI_EXACTLYONE "ExactlyOne" #define NEETHI_ALL "All" #define NEETHI_POLICY "Policy" #define NEETHI_REFERENCE "PolicyReference" #define NEETHI_URI "URI" #define NEETHI_NAMESPACE "http://schemas.xmlsoap.org/ws/2004/09/policy" #define NEETHI_POLICY_15_NAMESPACE "http://www.w3.org/ns/ws-policy" #define NEETHI_PREFIX "wsp" #define NEETHI_WSU_NS "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" #define NEETHI_ID "Id" #define NEETHI_WSU_NS_PREFIX "wsu" #define NEETHI_NAME "Name" #define AXIS2_OPTIMIZED_MIME_SERIALIZATION "OptimizedMimeSerialization" #define AXIS2_MTOM_POLICY_NS "http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization" #define AXIS2_RM_POLICY_10_NS "http://schemas.xmlsoap.org/ws/2005/02/rm/policy" #define AXIS2_RM_POLICY_11_NS "http://docs.oasis-open.org/ws-rx/wsrmp/200702" #define AXIS2_SANDESHA2_NS "http://ws.apache.org/sandesha2/c/policy" /* Reliable messaging related constatnts */ /* RMPolicy 1.0 */ #define AXIS2_RM_RMASSERTION "RMAssertion" #define AXIS2_RM_INACTIVITY_TIMEOUT "InactivityTimeout" #define AXIS2_RM_BASE_RETRANSMISSION_INTERVAL "BaseRetransmissionInterval" #define AXIS2_RM_EXPONENTIAL_BACK_OFF "ExponentialBackoff" #define AXIS2_RM_ACKNOWLEDGEMENT_INTERVAL "AcknowledgementInterval" /* RM policy 1.1 */ #define AXIS2_RM_SEQUENCE_STR "SequenceSTR" #define AXIS2_RM_SEQUENCE_TRANSPORT_SECURITY "SequenceTransportSecurity" #define AXIS2_RM_DELIVERY_ASSURANCE "DeliveryAssurance" #define AXIS2_RM_EXACTLY_ONCE "ExactlyOnce" #define AXIS2_RM_AT_LEAST_ONCE "AtLeastOnce" #define AXIS2_RM_AT_MOST_ONCE "AtMostOnce" #define AXIS2_RM_IN_ORDER "InOrder" /* Sandesha2/C specific */ #define AXIS2_RM_SANDESHA2_DB "sandesha2_db" #define AXIS2_RM_STORAGE_MANAGER "StorageManager" #define AXIS2_RM_MESSAGE_TYPES_TO_DROP "MessageTypesToDrop" #define AXIS2_RM_MAX_RETRANS_COUNT "MaxRetransCount" #define AXIS2_RM_SENDER_SLEEP_TIME "SenderSleepTime" #define AXIS2_RM_INVOKER_SLEEP_TIME "InvokerSleepTime" #define AXIS2_RM_POLLING_WAIT_TIME "PollingWaitTime" #define AXIS2_RM_TERMINATE_DELAY "TerminateDelay" /** * @file neethi_constants.h * @brief includes all the string constants */ #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /*NEETHI_INCLUDES_H */ axis2c-src-1.6.0/neethi/include/rp_signed_encrypted_elements.h0000644000175000017500000000537711166304507025646 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SIGNED_ENCRYPTED_ELEMENTS_H #define RP_SIGNED_ENCRYPTED_ELEMENTS_H /** @defgroup rp_signed_encrypted_elements * @ingroup rp_signed_encrypted_elements * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_signed_encrypted_elements_t rp_signed_encrypted_elements_t; AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_signed_encrypted_elements_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_signed_encrypted_elements_free( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_elements_get_signedelements( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_set_signedelements( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env, axis2_bool_t signedelements); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_signed_encrypted_elements_get_xpath_expressions( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_add_expression( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env, axis2_char_t * expression); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_signed_encrypted_elements_get_xpath_version( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_set_xpath_version( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env, axis2_char_t * xpath_version); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_elements_increment_ref( rp_signed_encrypted_elements_t * signed_encrypted_elements, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_signed_encrypted_parts_builder.h0000644000175000017500000000334311166304507026660 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SIGNED_ENCRYPTED_PARTS_BUILDER_H #define RP_SIGNED_ENCRYPTED_PARTS_BUILDER_H /** @defgroup rp_signed_encrypted_parts_builder * @ingroup rp_signed_encrypted_parts_builder * @{ */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Builts EncryptedParts or SignedParts assertion * @param env Pointer to environment struct * @param node Assertion node * @param element Assertion element * @param is_signed boolean showing whether signing or encryption * @returns neethi assertion created. NULL if failure. */ AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_signed_encrypted_parts_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element, axis2_bool_t is_signed); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_issued_token_builder.h0000644000175000017500000000247411166304507024621 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ISSUED_TOKEN_BUILDER_H #define RP_ISSUED_TOKEN_BUILDER_H /** @defgroup trust10 * @ingroup trust10 * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t * AXIS2_CALL rp_issued_token_builder_build(const axutil_env_t *env, axiom_node_t *node, axiom_element_t *element); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_builder_process_alternatives( const axutil_env_t *env, neethi_all_t *all, rp_issued_token_t *issued_token); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_includes.h0000644000175000017500000000264011166304507022220 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_INCLUDES_H #define RP_INCLUDES_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include /** * @file rp_includes.h * @brief includes most useful headers for RP */ #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /*RP_INCLUDES_H */ axis2c-src-1.6.0/neethi/include/neethi_assertion.h0000644000175000017500000001612111166304507023253 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_ASSERTION_H #define NEETHI_ASSERTION_H /** * @file neethi_assertion.h * @common struct for policy assertions. */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef enum { ASSERTION_TYPE_TRANSPORT_BINDING = 0, ASSERTION_TYPE_TRANSPORT_TOKEN, ASSERTION_TYPE_ALGORITHM_SUITE, ASSERTION_TYPE_INCLUDE_TIMESTAMP, ASSERTION_TYPE_LAYOUT, ASSERTION_TYPE_SUPPORTING_TOKENS, ASSERTION_TYPE_HTTPS_TOKEN, ASSERTION_TYPE_WSS_USERNAME_TOKEN_10, ASSERTION_TYPE_WSS_USERNAME_TOKEN_11, ASSERTION_TYPE_USERNAME_TOKEN, ASSERTION_TYPE_X509_TOKEN, ASSERTION_TYPE_SAML_TOKEN, ASSERTION_TYPE_ISSUED_TOKEN, ASSERTION_TYPE_SECURITY_CONTEXT_TOKEN, ASSERTION_TYPE_REQUIRE_EXTERNAL_URI, ASSERTION_TYPE_SC10_SECURITY_CONTEXT_TOKEN, ASSERTION_TYPE_SC13_SECURITY_CONTEXT_TOKEN, ASSERTION_TYPE_ISSUER, ASSERTION_TYPE_BOOTSTRAP_POLICY, ASSERTION_TYPE_MUST_SUPPORT_REF_KEY_IDENTIFIER, ASSERTION_TYPE_MUST_SUPPORT_REF_ISSUER_SERIAL, ASSERTION_TYPE_MUST_SUPPORT_REF_EXTERNAL_URI, ASSERTION_TYPE_MUST_SUPPORT_REF_EMBEDDED_TOKEN, ASSERTION_TYPE_WSS10, ASSERTION_TYPE_WSS11, ASSERTION_TYPE_TRUST10, ASSERTION_TYPE_RAMPART_CONFIG, ASSERTION_TYPE_ASSYMMETRIC_BINDING, ASSERTION_TYPE_SYMMETRIC_BINDING, ASSERTION_TYPE_INITIATOR_TOKEN, ASSERTION_TYPE_RECIPIENT_TOKEN, ASSERTION_TYPE_PROTECTION_TOKEN, ASSERTION_TYPE_ENCRYPTION_TOKEN, ASSERTION_TYPE_SIGNATURE_TOKEN, ASSERTION_TYPE_ENCRYPT_BEFORE_SIGNING, ASSERTION_TYPE_SIGN_BEFORE_ENCRYPTING, ASSERTION_TYPE_ENCRYPT_SIGNATURE, ASSERTION_TYPE_PROTECT_TOKENS, ASSERTION_TYPE_ONLY_SIGN_ENTIRE_HEADERS_AND_BODY, ASSERTION_TYPE_REQUIRE_KEY_IDENTIFIRE_REFERENCE, ASSERTION_TYPE_REQUIRE_ISSUER_SERIAL_REFERENCE, ASSERTION_TYPE_REQUIRE_EMBEDDED_TOKEN_REFERENCE, ASSERTION_TYPE_REQUIRE_THUMBPRINT_REFERENCE, ASSERTION_TYPE_REQUIRE_EXTERNAL_REFERENCE, ASSERTION_TYPE_REQUIRE_INTERNAL_REFERENCE, ASSERTION_TYPE_MUST_SUPPORT_REF_THUMBPRINT, ASSERTION_TYPE_MUST_SUPPORT_REF_ENCRYPTED_KEY, ASSERTION_TYPE_REQUIRE_SIGNATURE_CONFIRMATION, ASSERTION_TYPE_WSS_X509_V1_TOKEN_10, ASSERTION_TYPE_WSS_X509_V3_TOKEN_10, ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V10, ASSERTION_TYPE_WSS_SAML_V10_TOKEN_V11, ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V10, ASSERTION_TYPE_WSS_SAML_V11_TOKEN_V11, ASSERTION_TYPE_WSS_SAML_V20_TOKEN_V11, ASSERTION_TYPE_SIGNED_ENCRYPTED_PARTS, ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC10, ASSERTION_TYPE_REQUIRE_DERIVED_KEYS_SC13, ASSERTION_TYPE_MUST_SUPPORT_CLIENT_CHALLENGE, ASSERTION_TYPE_MUST_SUPPORT_SERVER_CHALLENGE, ASSERTION_TYPE_REQUIRE_CLIENT_ENTROPY, ASSERTION_TYPE_REQUIRE_SERVER_ENTROPHY, ASSERTION_TYPE_MUST_SUPPORT_ISSUED_TOKENS, ASSERTION_TYPE_OPTIMIZED_MIME_SERIALIZATION, ASSERTION_TYPE_RM_ASSERTION, ASSERTION_TYPE_UNKNOWN } neethi_assertion_type_t; typedef struct neethi_assertion_t neethi_assertion_t; AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL neethi_assertion_create( const axutil_env_t * env); neethi_assertion_t *AXIS2_CALL neethi_assertion_create_with_args( const axutil_env_t * env, AXIS2_FREE_VOID_ARG free_func, void *value, neethi_assertion_type_t type); AXIS2_EXTERN void AXIS2_CALL neethi_assertion_free( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN neethi_assertion_type_t AXIS2_CALL neethi_assertion_get_type( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN void *AXIS2_CALL neethi_assertion_get_value( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_value( neethi_assertion_t * neethi_assertion, const axutil_env_t * env, void *value, neethi_assertion_type_t type); AXIS2_EXTERN axiom_element_t *AXIS2_CALL neethi_assertion_get_element( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_element( neethi_assertion_t * neethi_assertion, const axutil_env_t * env, axiom_element_t * element); AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_assertion_get_is_optional( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_is_optional( neethi_assertion_t * neethi_assertion, const axutil_env_t * env, axis2_bool_t is_optional); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_assertion_get_policy_components( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_add_policy_components( neethi_assertion_t * neethi_assertion, axutil_array_list_t * arraylist, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_add_operator( neethi_assertion_t * neethi_assertion, const axutil_env_t * env, neethi_operator_t * op); AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_assertion_is_empty( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN axiom_node_t *AXIS2_CALL neethi_assertion_get_node( neethi_assertion_t * neethi_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_set_node( neethi_assertion_t * neethi_assertion, const axutil_env_t * env, axiom_node_t * node); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_assertion_serialize( neethi_assertion_t * assertion, axiom_node_t * parent, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_ASSERTION_H */ axis2c-src-1.6.0/neethi/include/rp_signed_encrypted_parts.h0000644000175000017500000000627211166304507025156 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SIGNED_ENCRYPTED_PARTS_H #define RP_SIGNED_ENCRYPTED_PARTS_H /** @defgroup rp_signed_encrypted_parts * @ingroup rp_signed_encrypted_parts * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_signed_encrypted_parts_t rp_signed_encrypted_parts_t; AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_signed_encrypted_parts_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_signed_encrypted_parts_free( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_parts_get_body( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_set_body( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, axis2_bool_t body); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_parts_get_signedparts( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_set_signedparts( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, axis2_bool_t signedparts); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_parts_get_attachments( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_set_attachments( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, axis2_bool_t attachments); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_signed_encrypted_parts_get_headers( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_add_header( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env, rp_header_t * header); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_parts_increment_ref( rp_signed_encrypted_parts_t * signed_encrypted_parts, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_initiator_token_builder.h0000644000175000017500000000220611166304507025320 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_INITIATOR_TOKEN_BUILDER_H #define RP_INITIATOR_TOKEN_BUILDER_H /** @defgroup rp_initiator_token_builder * @ingroup rp_initiator_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_initiator_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/axis2_rm_assertion.h0000644000175000017500000002017211166304507023524 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_RM_ASSERTION_H #define AXIS2_RM_ASSERTION_H /** @defgroup axis2_rm_assertion * @ingroup axis2_rm_assertion * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axis2_rm_assertion_t axis2_rm_assertion_t; AXIS2_EXTERN axis2_rm_assertion_t *AXIS2_CALL axis2_rm_assertion_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axis2_rm_assertion_free( axis2_rm_assertion_t * rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_sequence_str( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_sequence_str( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_sequence_str); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_sequence_transport_security( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_sequence_transport_security( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_sequence_transport_security); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_exactly_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_exactly_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_exactly_once); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_atleast_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_atleast_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_atleast_once); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_atmost_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_atmost_once( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_atmost_once); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_inorder( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_inorder( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_inorder); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_inactivity_timeout( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_inactivity_timeout( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* inactivity_timeout); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_retrans_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_retrans_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* retrans_interval); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_ack_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_ack_interval( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* ack_interval); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_rm_assertion_get_is_exp_backoff( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_is_exp_backoff( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_bool_t is_exp_backoff); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_storage_mgr( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_storage_mgr( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* storage_mgr); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_message_types_to_drop( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_message_types_to_drop( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* message_types_to_drop); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_max_retrans_count( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_max_retrans_count( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* max_retrans_count); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_sender_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_sender_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* sender_sleep_time); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_invoker_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_invoker_sleep_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* invoker_sleep_time); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_polling_wait_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_polling_wait_time( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* polling_wait_time); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_terminate_delay( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_terminate_delay( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* terminate_delay); AXIS2_EXTERN axis2_char_t* AXIS2_CALL axis2_rm_assertion_get_sandesha2_db( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_rm_assertion_set_sandesha2_db( axis2_rm_assertion_t *rm_assertion, const axutil_env_t * env, axis2_char_t* sandesha2_db); AXIS2_EXTERN axis2_rm_assertion_t* AXIS2_CALL axis2_rm_assertion_get_from_policy( const axutil_env_t *env, neethi_policy_t *policy); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_secpolicy_builder.h0000644000175000017500000000210211166304507024103 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SECPOLICY_BUILDER_H #define RP_SECPOLICY_BUILDER_H /** @defgroup rp_secpolicy_builder * @ingroup rp_secpolicy_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL rp_secpolicy_builder_build( const axutil_env_t * env, neethi_policy_t * policy); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_x509_token_builder.h0000644000175000017500000000215511166304507024026 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_X509_TOKEN_BUILDER_H #define RP_X509_TOKEN_BUILDER_H /** @defgroup rp_x509_token_builder * @ingroup rp_x509_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_x509_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_transport_binding_builder.h0000644000175000017500000000223011166304507025641 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_TRANSPORT_BINDING_BUILDER_H #define RP_TRANSPORT_BINDING_BUILDER_H /** @defgroup rp_transport_binding_builder * @ingroup rp_transport_binding_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_transport_binding_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_registry.h0000644000175000017500000000377111166304507023123 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_REGISTRY_H #define NEETHI_REGISTRY_H /** * @file neethi_registry.h * @struct for operator registry */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct neethi_registry_t neethi_registry_t; AXIS2_EXTERN neethi_registry_t *AXIS2_CALL neethi_registry_create( const axutil_env_t * env); AXIS2_EXTERN neethi_registry_t *AXIS2_CALL neethi_registry_create_with_parent( const axutil_env_t * env, neethi_registry_t * parent); AXIS2_EXTERN void AXIS2_CALL neethi_registry_free( neethi_registry_t * neethi_registry, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_registry_register( neethi_registry_t * neethi_registry, const axutil_env_t * env, axis2_char_t * key, neethi_policy_t * value); AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_registry_lookup( neethi_registry_t * neethi_registry, const axutil_env_t * env, axis2_char_t * key); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_REGISTRY_H */ axis2c-src-1.6.0/neethi/include/rp_algorithmsuite_builder.h0000644000175000017500000000220511166304507025155 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ALGORITHMSUITE_BUILDER_H #define RP_ALGORITHMSUITE_BUILDER_H /** @defgroup rp_algorithmsuite_builder * @ingroup rp_algorithmsuite_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_algorithmsuite_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_trust10.h0000644000175000017500000000574611166304507021746 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_TRUST10_H #define RP_TRUST10_H /** @defgroup trust10 * @ingroup trust10 * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_trust10_t rp_trust10_t; AXIS2_EXTERN rp_trust10_t *AXIS2_CALL rp_trust10_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_trust10_free( rp_trust10_t * trust10, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_must_support_client_challenge( rp_trust10_t * trust10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_must_support_client_challenge( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t must_support_client_challenge); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_must_support_server_challenge( rp_trust10_t * trust10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_must_support_server_challenge( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t must_support_server_challenge); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_require_client_entropy( rp_trust10_t * trust10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_require_client_entropy( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t require_client_entropy); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_require_server_entropy( rp_trust10_t * trust10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_require_server_entropy( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t require_server_entropy); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_trust10_get_must_support_issued_token( rp_trust10_t * trust10, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_set_must_support_issued_token( rp_trust10_t * trust10, const axutil_env_t * env, axis2_bool_t must_support_issued_token); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_trust10_increment_ref( rp_trust10_t * trust10, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_policy_creator.h0000644000175000017500000000242411166304507023430 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_POLICY_CREATOR_H #define RP_POLICY_CREATOR_H /** @defgroup rp_policy_creator * @ingroup rp_policy_creator * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL rp_policy_create_from_file( const axutil_env_t * env, axis2_char_t * filename); AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL rp_policy_create_from_om_node( const axutil_env_t * env, axiom_node_t * root); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_supporting_tokens.h0000644000175000017500000001035411166304507024210 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SUPPORTING_TOKENS_H #define RP_SUPPORTING_TOKENS_H /** @defgroup rp_supporting_tokens * @ingroup rp_supporting_tokens * @{ */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_supporting_tokens_t rp_supporting_tokens_t; AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_supporting_tokens_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_supporting_tokens_free( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_supporting_tokens_get_tokens( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_add_token( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_property_t * token); AXIS2_EXTERN rp_algorithmsuite_t *AXIS2_CALL rp_supporting_tokens_get_algorithmsuite( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_algorithmsuite( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_algorithmsuite_t * algorithmsuite); AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_supporting_tokens_get_signed_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_signed_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_parts_t * signed_parts); AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_supporting_tokens_get_signed_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_signed_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_elements_t * signed_elements); AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_supporting_tokens_get_encrypted_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_encrypted_parts( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_parts_t * encrypted_parts); AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_supporting_tokens_get_encrypted_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_encrypted_elements( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, rp_signed_encrypted_elements_t * encrypted_elements); AXIS2_EXTERN int AXIS2_CALL rp_supporting_tokens_get_type( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_set_type( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env, int type); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_supporting_tokens_increment_ref( rp_supporting_tokens_t * supporting_tokens, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_header.h0000644000175000017500000000322511166304507021642 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_HEADER_H #define RP_HEADER_H /** @defgroup rp_header * @ingroup rp_header * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_header_t rp_header_t; AXIS2_EXTERN rp_header_t *AXIS2_CALL rp_header_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_header_free( rp_header_t * header, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_header_get_name( rp_header_t * header, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_header_set_name( rp_header_t * header, const axutil_env_t * env, axis2_char_t * name); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_header_get_namespace( rp_header_t * header, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_header_set_namespace( rp_header_t * header, const axutil_env_t * env, axis2_char_t * nspace); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_reference.h0000644000175000017500000000371611166304507023210 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_REFERENCE_H #define NEETHI_REFERENCE_H /** * @file neethi_reference.h * @struct for operator reference */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct neethi_reference_t neethi_reference_t; AXIS2_EXTERN neethi_reference_t *AXIS2_CALL neethi_reference_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL neethi_reference_free( neethi_reference_t * neethi_reference, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL neethi_reference_get_uri( neethi_reference_t * neethi_reference, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_reference_set_uri( neethi_reference_t * neethi_reference, const axutil_env_t * env, axis2_char_t * uri); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_reference_serialize( neethi_reference_t * neethi_reference, axiom_node_t * parent, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_REFERENCE_H */ axis2c-src-1.6.0/neethi/include/rp_supporting_tokens_builder.h0000644000175000017500000000241711166304507025717 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SUPPORTING_TOKEN_BUILDER_H #define RP_SUPPORTING_TOKEN_BUILDER_H /** @defgroup rp_supporting_tokens_builder * @ingroup rp_supporting_tokens_builder * @{ */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_supporting_tokens_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_layout_builder.h0000644000175000017500000000212511166304507023433 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_LAYOUT_BUILDER_H #define RP_LAYOUT_BUILDER_H /** @defgroup rp_layout_builder * @ingroup rp_layout_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_layout_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_policy.h0000644000175000017500000000714711166304507022553 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_POLICY_H #define NEETHI_POLICY_H /** * @file neethi_policy.h * @struct for operator neethi_policy */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct neethi_policy_t neethi_policy_t; AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_policy_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL neethi_policy_free( neethi_policy_t * neethi_policy, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_policy_get_policy_components( neethi_policy_t * neethi_policy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_add_policy_components( neethi_policy_t * neethi_policy, axutil_array_list_t * arraylist, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_add_operator( neethi_policy_t * neethi_policy, const axutil_env_t * env, neethi_operator_t * op); AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_policy_is_empty( neethi_policy_t * neethi_policy, const axutil_env_t * env); AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL neethi_policy_get_exactlyone( neethi_policy_t * normalized_neethi_policy, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_policy_get_alternatives( neethi_policy_t * neethi_policy, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL neethi_policy_get_name( neethi_policy_t * neethi_policy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_set_name( neethi_policy_t * neethi_policy, const axutil_env_t * env, axis2_char_t * name); AXIS2_EXTERN axis2_char_t *AXIS2_CALL neethi_policy_get_id( neethi_policy_t * neethi_policy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_set_id( neethi_policy_t * neethi_policy, const axutil_env_t * env, axis2_char_t * id); AXIS2_EXTERN axiom_node_t *AXIS2_CALL neethi_policy_serialize( neethi_policy_t * neethi_policy, axiom_node_t * parent, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_policy_set_root_node( neethi_policy_t * policy, const axutil_env_t * env, axiom_node_t * root_node); AXIS2_EXTERN axutil_hash_t *AXIS2_CALL neethi_policy_get_attributes( neethi_policy_t *neethi_policy, const axutil_env_t *env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_POLICY_H */ axis2c-src-1.6.0/neethi/include/neethi_exactlyone.h0000644000175000017500000000460411166304507023422 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_EXACTLYONE_H #define NEETHI_EXACTLYONE_H /** * @file neethi_exactlyone.h * @struct for operator exactlyone */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct neethi_exactlyone_t neethi_exactlyone_t; AXIS2_EXTERN neethi_exactlyone_t *AXIS2_CALL neethi_exactlyone_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL neethi_exactlyone_free( neethi_exactlyone_t * neethi_exactlyone, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL neethi_exactlyone_get_policy_components( neethi_exactlyone_t * neethi_exactlyone, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_exactlyone_add_policy_components( neethi_exactlyone_t * exactlyone, axutil_array_list_t * arraylist, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_exactlyone_add_operator( neethi_exactlyone_t * neethi_exactlyone, const axutil_env_t * env, neethi_operator_t * op); AXIS2_EXTERN axis2_bool_t AXIS2_CALL neethi_exactlyone_is_empty( neethi_exactlyone_t * exactlyone, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL neethi_exactlyone_serialize( neethi_exactlyone_t * neethi_exactlyone, axiom_node_t * parent, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_EXACTLYONE_H */ axis2c-src-1.6.0/neethi/include/rp_security_context_token.h0000644000175000017500000001177711166304507025240 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SECURITY_CONTEXT_TOKEN_H #define RP_SECURITY_CONTEXT_TOKEN_H /** @defgroup rp_security_context_token * @ingroup rp_security_context_token * @{ */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_security_context_token_t rp_security_context_token_t; AXIS2_EXTERN rp_security_context_token_t *AXIS2_CALL rp_security_context_token_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_security_context_token_free( rp_security_context_token_t * security_context_token, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_security_context_token_get_inclusion( rp_security_context_token_t * security_context_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_inclusion( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_char_t * inclusion); AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_security_context_token_get_derivedkey( rp_security_context_token_t * security_context_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_derivedkey( rp_security_context_token_t * security_context_token, const axutil_env_t * env, derive_key_type_t derivedkey); AXIS2_EXTERN derive_key_version_t AXIS2_CALL rp_security_context_token_get_derivedkey_version( rp_security_context_token_t *security_context_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_derivedkey_version( rp_security_context_token_t *security_context_token, const axutil_env_t *env, derive_key_version_t version); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_security_context_token_get_require_external_uri_ref( rp_security_context_token_t * security_context_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_require_external_uri_ref( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_bool_t require_external_uri_ref); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_security_context_token_get_sc10_security_context_token( rp_security_context_token_t * security_context_token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_sc10_security_context_token( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_bool_t sc10_security_context_token); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_security_context_token_get_issuer( rp_security_context_token_t *security_context_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_issuer( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_char_t *issuer); AXIS2_EXTERN neethi_policy_t *AXIS2_CALL rp_security_context_token_get_bootstrap_policy( rp_security_context_token_t *security_context_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_bootstrap_policy( rp_security_context_token_t * security_context_token, const axutil_env_t * env, neethi_policy_t *bootstrap_policy); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_security_context_token_get_is_secure_conversation_token( rp_security_context_token_t *security_context_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_set_is_secure_conversation_token( rp_security_context_token_t * security_context_token, const axutil_env_t * env, axis2_bool_t is_secure_conversation_token); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_security_context_token_increment_ref( rp_security_context_token_t * security_context_token, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_signed_encrypted_items.h0000644000175000017500000000406511166304507025144 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SIGNED_ENCRYPTED_ITEMS_H #define RP_SIGNED_ENCRYPTED_ITEMS_H /** @defgroup rp_signed_encrypted_items * @ingroup rp_signed_encrypted_itemss * @{ */ #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_signed_encrypted_items_t rp_signed_encrypted_items_t; AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL rp_signed_encrypted_items_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_signed_encrypted_items_free( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_signed_encrypted_items_get_signeditems( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_items_set_signeditems( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env, axis2_bool_t signeditems); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL rp_signed_encrypted_items_get_elements( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_signed_encrypted_items_add_element( rp_signed_encrypted_items_t * signed_encrypted_items, const axutil_env_t * env, rp_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_issued_token.h0000644000175000017500000000650411166304507023111 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_ISSUED_TOKEN_H #define RP_ISSUED_TOKEN_H /** @defgroup trust10 * @ingroup trust10 * @{ */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_issued_token rp_issued_token_t; AXIS2_EXTERN rp_issued_token_t * AXIS2_CALL rp_issued_token_create( const axutil_env_t *env); AXIS2_EXTERN void AXIS2_CALL rp_issued_token_free( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_char_t * AXIS2_CALL rp_issued_token_get_inclusion( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_inclusion( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_char_t *inclusion); AXIS2_EXTERN axiom_node_t * AXIS2_CALL rp_issued_token_get_issuer_epr( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_issuer_epr( rp_issued_token_t *issued_token, const axutil_env_t *env, axiom_node_t *issuer_epr); AXIS2_EXTERN axiom_node_t * AXIS2_CALL rp_issued_token_get_requested_sec_token_template( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_requested_sec_token_template( rp_issued_token_t *issued_token, const axutil_env_t *env, axiom_node_t *req_sec_token_template); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_issued_token_get_derivedkeys( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_derivedkeys( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t derivedkeys); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_issued_token_get_require_external_reference( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_require_exernal_reference( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t require_external_reference); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_issued_token_get_require_internal_reference( rp_issued_token_t *issued_token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_set_require_internal_reference( rp_issued_token_t *issued_token, const axutil_env_t *env, axis2_bool_t require_internal_reference); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_issued_token_increment_ref( rp_issued_token_t *issued_token, const axutil_env_t *env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_secpolicy.h0000644000175000017500000001477111166304507022414 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SECPOLICY_H #define RP_SECPOLICY_H /** @defgroup rp_secpolicy * @ingroup rp_secpolicy * @{ */ #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_secpolicy_t rp_secpolicy_t; AXIS2_EXTERN rp_secpolicy_t *AXIS2_CALL rp_secpolicy_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_secpolicy_free( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_binding( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_property_t * binding); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_secpolicy_get_binding( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * signed_supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_signed_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * endorsing_supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_supporting_tokens_t * signed_endorsing_supporting_tokens); AXIS2_EXTERN rp_supporting_tokens_t *AXIS2_CALL rp_secpolicy_get_signed_endorsing_supporting_tokens( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_parts_t * signed_parts); AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_secpolicy_get_signed_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_encrypted_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_parts_t * encrypted_parts); AXIS2_EXTERN rp_signed_encrypted_parts_t *AXIS2_CALL rp_secpolicy_get_encrypted_parts( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_elements_t * signed_elements); AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_secpolicy_get_signed_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_encrypted_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_elements_t * encrypted_elements); AXIS2_EXTERN rp_signed_encrypted_elements_t *AXIS2_CALL rp_secpolicy_get_encrypted_elements( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_signed_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_items_t * signed_items); AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL rp_secpolicy_get_signed_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_encrypted_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_signed_encrypted_items_t * encrypted_items); AXIS2_EXTERN rp_signed_encrypted_items_t *AXIS2_CALL rp_secpolicy_get_encrypted_items( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_wss( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_property_t * wss); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_secpolicy_get_wss( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_rampart_config( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_rampart_config_t * rampart_config); AXIS2_EXTERN rp_rampart_config_t *AXIS2_CALL rp_secpolicy_get_rampart_config( rp_secpolicy_t * secpolicy, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_secpolicy_set_trust10( rp_secpolicy_t * secpolicy, const axutil_env_t * env, rp_trust10_t * trust10); AXIS2_EXTERN rp_trust10_t *AXIS2_CALL rp_secpolicy_get_trust10( rp_secpolicy_t * secpolicy, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_saml_token_builder.h0000644000175000017500000000215411166304507024254 0ustar00manjulamanjula00000000000000/* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_SAML_TOKEN_BUILDER_H #define RP_SAML_TOKEN_BUILDER_H /** @defgroup rp_saml_token_builder * @ingroup rp_saml_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_saml_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_username_token_builder.h0000644000175000017500000000247211166304507025142 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_USERNAME_TOKEN_BUILDER_H #define RP_USERNAME_TOKEN_BUILDER_H /** @defgroup rp_username_token_builder * @ingroup rp_username_token_builder * @{ */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN neethi_assertion_t *AXIS2_CALL rp_username_token_builder_build( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_transport_binding.h0000644000175000017500000000427511166304507024146 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_TRANSPORT_BINDING_H #define RP_TRANSPORT_BINDING_H /** @defgroup rp_transport_binding * @ingroup rp_transport_binding * @{ */ #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_transport_binding_t rp_transport_binding_t; AXIS2_EXTERN rp_transport_binding_t *AXIS2_CALL rp_transport_binding_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_transport_binding_free( rp_transport_binding_t * transport_binding, const axutil_env_t * env); AXIS2_EXTERN rp_binding_commons_t *AXIS2_CALL rp_transport_binding_get_binding_commons( rp_transport_binding_t * transport_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_transport_binding_set_binding_commons( rp_transport_binding_t * transport_binding, const axutil_env_t * env, rp_binding_commons_t * binding_commons); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_transport_binding_set_transport_token( rp_transport_binding_t * transport_binding, const axutil_env_t * env, rp_property_t * transport_token); AXIS2_EXTERN rp_property_t *AXIS2_CALL rp_transport_binding_get_transport_token( rp_transport_binding_t * transport_binding, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_transport_binding_increment_ref( rp_transport_binding_t * tansport_binding, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_layout.h0000644000175000017500000000276011166304507021732 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_LAYOUT_H #define RP_LAYOUT_H /** @defgroup rp_layout * @ingroup rp_layout * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef struct rp_layout_t rp_layout_t; AXIS2_EXTERN rp_layout_t *AXIS2_CALL rp_layout_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_layout_free( rp_layout_t * layout, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_layout_get_value( rp_layout_t * layout, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_layout_set_value( rp_layout_t * layout, const axutil_env_t * env, axis2_char_t * value); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_layout_increment_ref( rp_layout_t * layout, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/rp_token.h0000644000175000017500000000672111166304507021536 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef RP_GENERIC_TOKEN_H #define RP_GENERIC_TOKEN_H /** @defgroup rp_token * @ingroup rp_token * @{ */ #include #ifdef __cplusplus extern "C" { #endif typedef enum { DERIVEKEY_NONE =0, DERIVEKEY_NEEDED, DERIVEKEY_IMPLIED, DERIVEKEY_EXPLICIT } derive_key_type_t; typedef enum { DERIVEKEY_VERSION_SC10 =0, DERIVEKEY_VERSION_SC13 } derive_key_version_t; typedef struct rp_token_t rp_token_t; AXIS2_EXTERN rp_token_t *AXIS2_CALL rp_token_create( const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL rp_token_free( rp_token_t * token, const axutil_env_t * env); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_token_get_issuer( rp_token_t * token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_issuer( rp_token_t * token, const axutil_env_t * env, axis2_char_t * issuer); AXIS2_EXTERN derive_key_type_t AXIS2_CALL rp_token_get_derivedkey_type( rp_token_t * token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_derivedkey_type( rp_token_t * token, const axutil_env_t * env, derive_key_type_t derivedkey); AXIS2_EXTERN axis2_bool_t AXIS2_CALL rp_token_get_is_issuer_name( rp_token_t * token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_is_issuer_name( rp_token_t * token, const axutil_env_t * env, axis2_bool_t is_issuer_name); AXIS2_EXTERN axiom_node_t *AXIS2_CALL rp_token_get_claim( rp_token_t * token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_claim( rp_token_t * token, const axutil_env_t * env, axiom_node_t *claim); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_increment_ref( rp_token_t * token, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_derive_key_version( rp_token_t *token, const axutil_env_t *env, derive_key_version_t version); AXIS2_EXTERN derive_key_version_t AXIS2_CALL rp_token_get_derive_key_version( rp_token_t *token, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL rp_token_set_inclusion( rp_token_t *token, const axutil_env_t *env, axis2_char_t *inclusion); AXIS2_EXTERN axis2_char_t *AXIS2_CALL rp_token_get_inclusion( rp_token_t *token, const axutil_env_t *env); #ifdef __cplusplus } #endif #endif axis2c-src-1.6.0/neethi/include/neethi_engine.h0000644000175000017500000001072411166304507022514 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef NEETHI_ENGINE_H #define NEETHI_ENGINE_H /*neethis_engine.c contains all the useful functions * for dealing with a neethi_policy object */ /** * @file neethi_engine.h * @contains neethi_policy creation logic. */ #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Given an axiom model this function will return * a neethi_policy object. * @param env pointer to environment struct * @param node to an axiom_node * @param node to an axiom_element * @return pointer to a neethi_policy_t struct */ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_get_policy( const axutil_env_t * env, axiom_node_t * node, axiom_element_t * element); /** * Given a neethi_policy object this will return the * normalized policy object. * @param env pointer to environment struct * @param deep to specify whether assertion level normalization needed. * @param neethi_policy_t to the policy which is not normalized. * @return pointer to a normalized neethi_policy_t struct */ /*This function will return a new neethi_policy struct. So it is callers responsibility to free the neethi_policy which is passed as an argument. */ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_get_normalize( const axutil_env_t * env, axis2_bool_t deep, neethi_policy_t * neethi_policy); /** * Given a neethi_policy object this will return the * normalized policy object. * @param env pointer to environment struct * @param deep to specify whether assertion level normalization needed. * @param neethi_policy_t to the policy which is not normalized. * @param registry neethi_registry_t struct which contains policy objects. * @return pointer to a normalized neethi_policy_t struct */ /*This function will return a new neethi_policy struct. So it is callers responsibility to free the neethi_policy which is passed as an argument. */ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_normalize( const axutil_env_t * env, neethi_policy_t * neethi_policy, neethi_registry_t * registry, axis2_bool_t deep); /*Givnen to normalized policy objects this function will retun the merged policy object. * @param env pointer to environment struct * @param neethi_policy1 pointer neethi_policy_t struct as an * input for merge. * @param neethi_policy2 pointer neethi_policy_t struct as an * input for merge. * @return pointer to a merged policy of both inputs.*/ /*The input for this function should be two normalized policies otherwise the output may be wrong.*/ AXIS2_EXTERN neethi_policy_t *AXIS2_CALL neethi_engine_merge( const axutil_env_t * env, neethi_policy_t * neethi_policy1, neethi_policy_t * neethi_policy2); /*Given a policy object this function will give the * corresponding axiom model for that policy object. * @param policy pointer to the neethi_policy_t struct. * @param env pointer to environment struct */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL neethi_engine_serialize( neethi_policy_t * policy, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* NEETHI_ENGINE_H */ axis2c-src-1.6.0/neethi/COPYING0000644000175000017500000002613711166304521017153 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/AUTHORS0000644000175000017500000000070311166304700015702 0ustar00manjulamanjula00000000000000Developers ---------- Samisa Abeysinghe Dushshantha Chandradasa Chris Darroch Senaka Fernando Paul Fremantle Dimuthu Gamage Sahan Gamage Lahiru Gunathilake Nandika Jayawardana Supun Kamburugamuva Kaushalye Kapuruge Damitha Kumarage Danushka Menikkumbura Bill Mitchell Diluka Moratuwage Dumindu Pallewela Milinda Pathirage Manjula Peiris Dinesh Premalal Sanjaya Rathnaweera Davanum Srinivas Selvaratnam Uthaiyashankar Sanjiva Weerawarana Nabeel Yoosuf axis2c-src-1.6.0/INSTALL0000644000175000017500000006570311166320604015677 0ustar00manjulamanjula00000000000000Table of Contents ================= 1. Getting Axis2/C Working on Linux 1.1 Setting up Prerequisites 1.1.1 Mandatory 1.1.2 Optional 1.2 Using Binary Release 1.3 Using Source Release 1.3.1 Basic Build 1.3.2 Build with Options (a) With Guththila (b) With libxml2 (c) With AMQP Transport 1.3.3 Building Samples 1.4 Configuration 1.4.1 AMQP Transport 1.5 Running Samples 1.5.1 HTTP Transport (a) Server (b) Clients 1.5.2 AMQP Transport (a) Server (b) Client 2. Getting Axis2/C Working on Windows (Win32) 2.1 Setting up Prerequisites 2.1.1 Mandatory 2.1.2 Optional 2.2 Using Binary Release 2.3 Using Source Release 2.3.1 Setting Build Options (a) Enable Guththila (b) Enable libxml2 (c) Enable SSL Support (d) Enable libcurl (e) Setting zlib Location 2.3.2 Compiling the Source 2.4 Running Samples 2.4.1 HTTP transport (a) Server (b) Clients 3. Installing Apache2 Web Server Integration Module (mod_axis2) 3.1 Building mod_axis2 from Source 3.1.1 On Linux 3.1.2 On Windows (Win32) 3.2 Deploying in Apache2 Web Server 4. Installing IIS (Interner Information Server) Integration Module (mod_axis2_IIS) 4.1 Building mod_axis2_IIS from Source 4.2 Deploying in the IIS 5. Using Axis2/C with CGI 5.1 Deploying in Apache2 5.2 Deploying in IIS 6. FAQ 1. Getting Axis2/C Working on Linux =================================== 1.1 Setting up Prerequisites ---------------------------- 1.1.1 Mandotory -------------- By default Axis2/C is not depenendent on any other software libraries. 1.1.2 Optional -------------- (a) libxml2 - http://www.xmlsoft.org/ (b) zlib - http://www.zlib.net/ (c) libiconv - http://www.gnu.org/software/libiconv/ (d) Apache Qpid - You need to have Qpid libraries installed on your machine if you are going to use AMQP transport. It is imperative that you compile and install Qpid from SVN source. You can checkout Qpid SVN source from https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid. 1.2 Using Binary Release ------------------------ (a) Extract the binary tar package to a directory. (b) Set AXIS2C_HOME environment variable pointing to the location where you have extracted Axis2/C. $ AXIS2C_HOME='/your_path_to_axis2c' $ export AXIS2C_HOME NOTE : You will need to set AXIS2C_HOME only if you need to run Axis2/C samples or tests. The reason is that the samples and test codes use AXIS2C_HOME to get the path to Axis2/C. To write your own services or clients this is not a requirement. 1.3 Using Source Release ------------------------ 1.3.1 Basic Build ----------------- (a) Extract the source tar package to a directory (b) Set AXIS2C_HOME environment variable pointing to the location where you want to install Axis2/C. $ AXIS2C_HOME='/your_desired_path_to_axis2c_installation' $ export AXIS2C_HOME NOTE : You will need to set AXIS2C_HOME only if you need to run Axis2/C samples or tests. The reason is that the samples and test codes use AXIS2C_HOME to get the path to Axis2/C. To write your own services or clients this is not a requirement. (c) Go to the directory where you extracted the source $ cd /your_path_to_axis2c_source (d) Build the source This can be done by running the following command sequence in the directory where you have extracted the source. $ ./configure --prefix=${AXIS2C_HOME} $ make $ make install Please run './configure --help' in respective sub directories for more information on these configure options. NOTE : If you don't provide the --prefix configure option, it will by default be installed into '/usr/local/axis2c' directory. You could run 'make check' to test if everything is working fine. However, note that the test/core/clientapi/test_clientapi program would fail unless AXIS2C_HOME points to the installed location. (It's looking for Axis2/C repository) This means you really should run 'make && make install', then set 'AXIS2C_HOME=/path/to/install', and then 'make check'. That's a little different than the usual 'make && make check && make install' process. 1.3.2 Build with Options ------------------------ (a) With Guththila ------------------ You may need to try Axis2/C with Guththila XML parser. You can do it by giving '--enable-guththila=yes' as a configure option. $ ./configure --enable-guththila=yes [other configuration options] $ make $ make install (b) With libxml2 ---------------- You may need to try Axis2/C with libxml2 XML parser. You can do it by giving '--enable-libxml2=yes' as a configure option. $ ./configure --enable-libxml2=yes [other configuration options] $ make $ make install (c) With AMQP Transport ----------------------- You may need to try Axis2/C with the AMQP transport. You can do it by giving '--with-qpid=/path/to/qpid/home' as a configure option. $ ./configure --with-qpid=/path/to/qpid/home [other configuration options] $ make $ make install 1.3.3 Building Samples ---------------------- If you need to get the samples working, you also need to build the samples. To build the samples: $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib/ $ cd samples $ ./configure --prefix=${AXIS2C_HOME} --with-axis2=${AXIS2C_HOME}/include/axis2-1.6.0 $ make $ make install Please run './configure --help' in samples folder for more information on configure options. NOTE : If you don't provide a --prefix configure option, samples will by default be installed into '/usr/local/axis2c/samples' directory. 1.4 Configuration ----------------- 1.4.1 AMQP Transport -------------------- You need to add the following entries into the axis2.xml. 127.0.0.1 5672 1.5 Running Samples ------------------- 1.5.1 HTTP Transport -------------------- (a) Server ---------- You have to first start the axis2_http_server as follows. $ cd ${AXIS2C_HOME}/bin $ ./axis2_http_server You should see the message Started Simple Axis2 HTTP Server... This will start the simple axis server on port 9090. To see the possible command line options run $ ./axis2_http_server -h NOTE 1 : You may need to login as superuser to run the axis2_http_server. NOTE 2 : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows. $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib (b) Clients ----------- When the axis2_http_server is up and running, you can run the sample clients in a new shell as follows. $ cd ${AXIS2C_HOME}/samples/bin $ ./echo This will invoke the echo service. $ ./math This will invoke the math service. To see the possible command line options for sample clients run them with '-h' option NOTE : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows. $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib 1.5.2 AMQP Transport -------------------- (a) Server ---------- Start the Qpid broker as follows. $ cd ${QPID_HOME}/sbin $ ./qpidd --data-dir ./ Start the axis2_amqp_server as follows. $ cd ${AXIS2C_HOME}/bin $ ./axis2_amqp_server You should see the message Started Simple Axis2 AMQP Server... This will connect to the Qpid broker listening on 127.0.0.1:5672. To see the possible command line options run $ ./axis2_amqp_server -h NOTE 1 : You have the flexibility of starting the Qpid broker first and then axis2_amqp_server or vise versa. NOTE 2 : You may need to login as superuser to run the axis2_amqp_server. NOTE 3 : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows. $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib (b) Clients ----------- When the axis2_amqp_server is up and running, you can run the sample clients in a new shell as follows. $ cd ${AXIS2C_HOME}/samples/bin/amqp $ ./echo_blocking This will invoke the echo service. To see the possible command line options for sample clients run them with '-h' option NOTE : If you run into shared lib problems, set the LD_LIBRARY_PATH as follows. $ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${AXIS2C_HOME}/lib 2. Getting Axis2/C Working on Windows (Win32) ============================================= 2.1 Setting up Prerequisites ---------------------------- 2.1.1 Mandatory --------------- (a) The binaries shipped with this version are compiled with Microsoft Visual Studio compiler (cl). And also the makefile that is shipped with this version needs Microsoft Visual Studio compiler (cl) and nmake build tool. NOTE : You can download Microsoft VS Express2005 Edition and Platform SDK from Microsoft website. You need to add the path to Platform SDK Include and Lib folders to the makefile in order for you to compile the source. 2.1.2 Optional -------------- (a) libxml2 [http://www.zlatkovic.com/pub/libxml version >= libxml2-2.6.20.win32] (b) zlib [http://www.zlatkovic.com/pub/libxml version >= zlib-1.2.3.win32] (c) iconv [http://www.zlatkovic.com/pub/libxml version >= iconv-1.9.1.win32] 2.2 Using Binary Release ------------------------ Extract the binary distribution to a folder of your choice. (example: C:\axis2c) The c:\axis2c folder structure is as follows. axis2c | +- bin - server | +- samples - samples go here | | | +- bin - sample client executables | | | +- lib - sample libraries | | | +- src - source files of the sampels in bin and lib folders | | +- docs - documentation | +- include - all include files of axis2 | +- lib - library modules | +- logs - system and client logs are written to this folder | +- modules - deployed modules | +- services - deployed services You might optionally require to copy zlib1.dll ,iconv.dll and libxml2.dll. Copy them to C:\axis2c\lib . (Or you can have these dll's in some other place and add that location to PATH environment variable) 2.3 Using Source Release ------------------------ 2.3.1 Setting Build Options --------------------------- Please edit the \build\win32\configure.in file to set the following build options. (a) Enable Guththila -------------------- - Now Guththila is the defualt parser. Unless you enable libxml2 Guththila will be built. (b) Enable libxml2 ------------------ - Set the ENABLE_LIBXML2 option to 1 - Set the LIBXML2_BIN_DIR to the location where libxml2 is installed to - Set the ICONV_BIN_DIR to the location where iconv is installed to (c) Enable SSL Support ---------------------- - Set ENABLE_SSL option to 1 - Set OPENSSL_BIN_DIR to the location where OpenSSL is installed to (d) Enable libcurl ------------------ - Set ENABLE_LIBCURL to 1 - Set LIBCURL_BIN_DIR to the location where libcurl is installed to (e) Setting zlib Location ------------------------- Set the ZLIB_BIN_DIR to the location where zlib is installed to Default location for zlib is E:\zlib-1.2.3.win32 and the folder structure should look like the following E:\zlib-1.2.3.win32 | +- include | +- bin | +- lib You can either extract zlib to this folder or extract it to a location of your choice and edit the configure.in file accordingly. NOTE : You need to have zlib1.dll in the library path. 2.3.2 Compiling the Source -------------------------- Extract the source distribution to a folder of your choice. Example: C:\axis2c Open a DOS shell and type: > cd %AXIS2C_HOME%\build\win32 > vcvars32.bat > nmake install NOTE : You may need to set the PATH environment variable to vcvars32.bat if Windows complains that it cannot find this batch file. This file is located in \VC\bin directory. That's it! This will build the system and create a directory named 'deploy' under the build directory. The deploy folder structure is as follows. deploy | +- bin - server and other executables | +- samples - samples go here | | | +- bin - sample client executables | | | +- lib - sample libraries | | | +- src - sources of the samples in bin and lib folders | | +- lib - library modules | +- services - deployed services | +- modules - deployed modules | +- include - all include files of axis2 | +- logs - system and client logs are written to this folder 2.4 Running Samples ------------------- You need to set a couple of environment variables before you can run the server and samples. Set the variable AXIS2C_HOME to the deploy folder (C:\axis2c) Add the path to lib directory to the PATH variable (%AXIS2C_HOME%\lib) You might optionally require to copy the iconv.dll, zlib1.dll, libxml2.dll to the %AXIS2C_HOME%\lib folder. 2.4.1 HTTP transport -------------------- (a) Server ---------- > cd %AXIS2C_HOME%\bin > axis2_http_server.exe You should see the message Started Simple Axis2 HTTP Server... By default the log is created under %AXIS2C_HOME%\logs folder with the name axis2.log. NOTE : You may provide command line options to change the default behaviour. Type 'axis2_http_server.exe -h' to learn about the usage (b) Clients ----------- Now you can run any sample client deployed under %AXIS2C_HOME%\samples\bin Example: > cd %AXIS2C_HOME%\samples\bin > echo.exe 3. Installing Apache2 Web Server Integration Module (mod_axis2) =============================================================== 3.1 Building mod_axis2 from Source ---------------------------------- 3.1.1 On Linux -------------- Provide the Apache2 include file location as a configure option $ ./configure --with-apache2="" [other configure options] NOTE : Some apache2 distributions install APR (Apache Portable Runtime) include files in a separate location which is required to build mod_axis2. In that case use: $ ./configure --with-apache2="" --with-apr="" [other configure options] Then build the source tree $ make $ make install This will install mod_axis2.so into your "/lib" 3.1.2 On Windows (Win32) ------------------------ Provide the apache2 location in configure.in file in APACHE_BIN_DIR Example: APACHE_BIN_DIR = E:\Apache22 After compiling the sources (as described in section 2.3) build the mod_axis2.dll by issuing the command 'nmake axis2_apache_module'. This will build mod_axis2.dll and copy it to %AXIS2C_HOME%\lib directory. Example: C:\axis2c\build\deploy\lib 3.2 Deploying in Apache2 Web Server ----------------------------------- NOTE : To do the following tasks, you might need super user privileges on your machine. Copy the mod_axis2 (libmod_axis2.so.0.6.0 on Linux and mod_axis2.dll on Windows) to "" as mod_axis2.so Example: cp $AXIS2C_HOME/lib/libmod_axis2.so.0.6.0 /usr/lib/apache2/modules/mod_axis2.so (on Linux) copy C:\axis2c\build\deploy\lib\mod_axis2.dll C:\Apache2\modules\mod_axis2.so (on Windows) Edit the Apache2's configuration file (generally httpd.conf) and add the following directives LoadModule axis2_module /mod_axis2.so Axis2RepoPath Axis2LogFile Axis2MaxLogFileSize Axis2LogLevel LOG_LEVEL SetHandler axis2_module NOTE: Axis2 log file path should have write access to all users because by default Apache Web Server runs as nobody. If you want to use a Shared Global Pool with Apache you have to give another entry called Axis2GlobalPoolSize. You have to give the size of the shared global pool in MB. If you don't set the value or if you set a negative value Apache module doesn't create shared global pool. Axis2GlobalPoolSize LOG_LEVEL can be one of the followings crit - Log critical errors only error - Log errors critical errors warn - Log warnings and above info - Log info and above debug - Log debug and above (default) trace - Log trace messages NOTE: Use forward slashes "/" for path separators in , and Make sure that the apache2 user has the correct permissions to above paths - Read permission to the repository - Write permission to the log file Restart apache2 and test whether mod_axis2 module is loaded by typing the URL http://localhost/axis2/services in your Web browser 4. Installing IIS (Interner Information Server) Integration Module (mod_axis2_IIS) ================================================================== 4.1 Building mod_axis2_IIS from Source -------------------------------------- After compiling the source (as described in section 2.3) build the mod_axis2.dll by issuing the command 'nmake axis2_IIS_module'. This will build the mod_axis2_IIS.dll and copy it to %AXIS2C_HOME%\lib directory. Example: C:\axis2c\build\deploy\lib 4.2 Deploying in the IIS ------------------------ Add the following key to the registery. HKEY_LOCAL_MACHINE\SOFTWARE\Apache Axis2c\IIS ISAPI Redirector Under this registry key add the following entries. A String value with the name "axis2c_home". The value is the AXIS2C_HOME. Example : c:\axis2c A String value with the name "log_file". The value is the absolute path of the log file. Example: c:\axis2c\logs\axis2.log A String value with the name "log_level". The value can be one of the followings. trace - Log trace messages error - Log errors critical errors info - Log info and above critical - Log critical errors only debug - Log debug and above (default) warning - Log warnings You can add a string value with the name services_url_prefix. This is optional and defaults to "/services". As an example, if you have "/web_services" as the prefix, then all the services hosted would have the endpoint prefix of : http://localhost/axis2/web_services. Note: don't forget the / at the begining. If you wish, you can also change the location as well by adding a string value with the name axis2_location. This is also optional and defaults to /axis2. If you have /myserser as the value you can access your web services with a url like http://localhost/myserver/services. Note: Don't forget the / at the beginning. Now you can do all the registry editing using the JScript file axis2_iis_regedit.js provided with the distribution. When you build axis2/C with the IIS module the file is copied to the root directory of the binary distribution. Just double click it and everything will be set to the defaults. The axis2c_home is taken as the current directory, so make sure you run the file in the Axis2/C repository location (or root of the binary distribution). If you want to change the values you can manually edit the the .js file or give it as command line arguments to the script when running the script. To run the jscript from the command line use the command :\cscript axis2_iis_regedit.js optional arguments. We recomend the manual editing as it is the easiest way to specify the values IIS 5.1 or Below ----------------- Using the IIS management console, add a new virtual directory to the IIS/PWS web site called "axis2". The physical path of this virtual directory should be the axis2\lib directory (Where the mod_axis2_IIS.dll is in) Assign excecute permissions to this virtual directory. Using the IIS management console, add mod_axis2_IIS.dll as a filter to the IIS/PWS web site. The name of the filter can be any meaningful name. Restart IIS and test whether mod_axis2_IIS module is loaded by typing the URL http://localhost/axis2 in your Web browser. IIS 6 & 7 --------- Using the IIS management console, add the mod_axis2_IIS.dll as a Wildcard Script Map. Executable should be the complete path to the mod_axis2_IIS.dll You can put any name as the name of the Wildcard Script Map Please don't add the mod_axis2_IIS.dll as a filter to IIS as in the IIS 5.1 case. Note: If the Axis2/C failed to load, verify that Axis2/C and its dependent DLLs are in the System Path (not the user path). 5. Using Axis2/C with CGI 5.1 Deploying in Apache2 If you haven't already done so you need to configure and set up an cgi-bin/ directory that holds your CGI scripts,where we will put Axis2/C cgi executable axis2.cgi. (Note: most of recent Apache web servers already have an cgi-bin dir set up, usually /usr/lib/cgi-bin/. ) Add following to your Apache2 configuration (httpd.conf) file. ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ (Or some other directory of your choice) OR you can use Options +ExecCGI AddHandler cgi-script .cgi { It's recomended to restrict all your cgi scripts to single ScriptAlias directory for security reasons.} Now we have to set up configuration parameters via environment variables for the cgi deployment using the SetEnv directive. { You need to have mod_env enabled for this to work ) Add the following to your apache2 configuration file (httpd.conf) SetEnv AXIS2C_HOME ( i.e. SetEnv AXIS2C_HOME /usr/local/axis2c/ ) If you have chosen another alias for you cgi-bin you can also set up an AXIS2C_URL_PREFIX environment variable, but it's not needed if you have chosen /cgi-bin/. AXIS2C_URL_PREFIX defines your web services deployment url prefix. Lets say you have chosen URL /private/scripts/ for your cgi-bin URL and named your cgi exec as 'axis2.cgi', Then you need to set AXIS2_URL_PREFIX environment variable as follows: SetEnv AXIS2C_URL_PREFIX /private/scrips/axis2foo.cgi/ Now we have configured apache such that all requests with URL http:///cgi-bin/ requests are located at your configured cgi folder. We have granted Apache server to execute CGI from that directory and treat files with .cgi extensions as CGI executables. Now you need to copy the Axis2/C cgi executable "axis2.cgi" located in \bin directory. 5.2 Deploying in IIS IIS 5.1 1. Open your 'Internet services manager' 2. Under your computer name and 'Default Web Site' you must create an virtual directory called 'cgi-bin' (if you haven't done so by now) so right click 'Default Web Site' -> New -> Virtual Directory. 3. In wizard enter 'cgi-bin' as Alias. 4. Choose a directory of your choice for cgi scripts placement. (like C:\www\cgi-bin\) 5. In access permissions select Read and Execute. 6. Finish the wizard so that Virtual Directory is created. 7. Open your selected folder (i.e. C:\www\cgi-bin\) and copy axis2.cgi there. NOTE: Your Axis2 endpoints now looks like this when deployed under cgi. http://domain-name.com/cgi-bin/axis2.cgi// For the echo service found under /services/ directory of Axis2, the endpoint will become http://domain-name.com/cgi-bin/axis2.cgi/services/echo 6. FAQ ====== 1. Although I was able to get simple axis server up, unable to run samples. This could happen because the AXIS2C_HOME environment variable is not set to the correct axis2 installation path. 2. What are the other dependencies Axis2/C has? Basically if you are willing to use libxml2 as your parser, you need to have it installed in your system. You can get libxml2 from http://xmlsoft.org/downloads.html. 3. I have libxml2 installed in my system, but ./configure fails saying "libxml2 not found" Yes, you need to install libxml2-dev packages. 1. If you are using a Debian based system run $ apt-get install libxml2-dev 2. If you are using a RedHat/Fedora based system run $ yum install libxml2-dev 3. If you install libxml2 from source you will not get this error 4. Is there any recommended packages, that I need to install in my system? 1. automake, autoconf, libtool, aclocal 2. libxml2 and libxml2-dev 3. pkg-config 5. I tried several methods, browse through axis-c-dev and axis-c-user mail archives but I was not able to solve my problem. Then you can ask from Axis2/C users or Axis2/C developers about it by sending your question to user = axis-c-user@ws.apache.org developer = axis-c-dev@ws.apache.org You can subscribe to axis-c-user list by sending a request to with the subject "subscribe" axis-c-dev list by sending request to with the subject "subscribe" 6. This FAQ is not enough... You can help us by reporting your suggestions, complaints, problems and bugs Thank you for using Axis2/C ... axis2c-src-1.6.0/ChangeLog0000644000175000017500000001733511166304700016415 0ustar00manjulamanjula00000000000000Axis2/C (1.6.0) * XPath support for Axiom XML object model * CGI support * Improvements to MTOM to send, receive very large attachments * Improvements to AMQP transport * Improvemnets to WSDL2C codegen tool * Many bug fixes. * Memory leak fixes Axis2/C (1.5.0) * AMQP Transport support with Apache Qpid. (At an experimental stage. Not working under Windows. Please refer the INSTALL file to build this) * Modifications to IIS Module to support IIS 6 & 7 * Added a JScript file to automate IIS module registry configuration * Improved the in-only message handling * Specifying the MEP in the services.xml for non in-out messages made mandatory * Improvements to Guthtila for better performance * Improvements to TCPMon tool * Memory leak fixes * Bug fixes Axis2/C (1.4.0) * Fixed library version numbering * Made Guththila as default XML parser -- Axis2/C team Mon,5 May 2008 Axis2/C (1.3.0) * Fixed a bug on version numbering * List Axis2/C dependencies licensing in LICENSE file * Add relevant copyright notices to NOTICE file * Digest Authentication Support * Proxy Authentication Support * Enhanced REST support * Ability to insert xml declaration on outgoing payloads * MTOM support with libcurl * Improvements to TCPMon Tool * Improvements to Test Coverage * Improvements to API docs * Improvements to CA certificate validation mechanisms on SSL Transport * Improvements to Neethi * Fixed issue in HTTP GET on mod_axis2 * Major Improvements to Guththila Parser * Improvements to libcurl based sender * Creation of a FAQ list * Improvements to Axis2/C documentation * Added Documentation on Archive Based Deployment * Fixes for IIS module * Removed dependency in util for the Axis2/C core * Ability to access transport headers at the service level (for RESTful services) * uint64_t and int64_t support at util layer and codegen level * Removed zlib dependencies when Archive Based Deployment model is disabled * Signal Handling in Windows * Removed over 99% of the warnings found on Windows * Increased build speed on Windows with nmake. * Improvements to Windows build system * Extensions to client API to support HTTP/Proxy Authentication * Memory leak fixes * Many bug fixes -- Axis2/C team Fri, 29 February 2008 Axis2/C (1.2.0) * Improvements to Java tool, WSDL2C, that generates C code * Improvment to Apache2 module so that it * Create a shared memory global pool * create context hierarchy in the global pool enabling it to have true application level scope. * Improved Policy * Improvements to thread environment * Improvements to error handling * Memory leak fixes * Many bug fixes -- Axis2/C team Mon, 17 January 2008 Axis2/C (1.1.0) * WS-Policy implementation * TCP Transport * Improvements to Guththila parser to improve performance * Improvements to Java tool, WSDL2C, that generates C code * Basic HTTP Authentication * Memory leak fixes * Many bug fixes -- Axis2/C team Mon, 24 September 2007 Axis2/C (1.0.0) * Many Bug Fixes * IIS module for server side * libcurl based client transport * Improvements to overall API to make it more user friendly, stable and binary compatible * Transport proxy support * Memory leak fixes -- Axis2/C team Mon, 30 April 2007 Axis2/C (0.96) * Major Memory leak fixes * Many Bug Fixes * Improvement to REST processing * Improvement to SOAP-Fault processing * Improvement to mod_axis2 library (plugged with apr pools) * Visual Studio 7.0 project -- Axis2/C team Thu, 19 December 2006 Axis2/C (0.95) * Major Memory leak fixes * Many Bug Fixes * Improved Documentation -- Axis2/C team Thu, 26 October 2006 Axis2/C (0.94) * Guththila pull parser support * WSDL2C code generation tool * TCP Monitor - C implementation * Major Memory leak fixes * Fixes to code generation with Java Tool * Many Bug Fixes -- Axis2/C team Tue, 3 October 2006 Axis2/C (0.93) * REST support for HTTP GET case * XML Schema implementation * Woden/C implementation that supports both WSDL 1.1 and WSDL 2.0 * Dynamic client invocation (given a WSDL, consume services dynamically) * Numerous improvements to API and API documentation * Many bug fixes, especially, many paths of execution previously untouched were tested along with Sandesha2/C implementation -- Axis2/C team Thu, 31 August 2006 Axis2/C (0.92) * Completed MTOM implementation with multiple attachment support and non-optimize * Completed service client API with send robust and fire and forget * Added "message" to description hierarchy * Archive based deployment Model (for services and modules) * Code generation for WSDL using Java WSDL2Code tool * ADB support (with Java WSDL2C tool) * WS-Security usernameToken support * Initial implementation of the XML Schema parser (To be used in WSDL parser and REST support) * Initial implementation of WSDL parser (To be used in dynamic invocation) * Changed double pointer environment parameters into pointer parameters to improve efficiency -- Axis2/C team Fri, 16 June 2006 Axis2/C (0.91) * Full Addressing 1.0 support * Improved fault handling model * SSL client transport * MTOM implementation * Implementation of easy to use service client and operation client APIs for client side programming * REST support (POST case) * Module version support * Service groups * Numerous bug fixes since last release -- Axis2/C team Mon, 15 May 2006 Axis2/C (0.90) * Minimal memory leaks * Apache2 module working in Windows * More samples and tests * WSDL Object Model built based on the proposed WSDL 2.0 Component model * Dynamic Invocation * Numerous bug fixes since last release -- Axis2/C team Fri, 31 Mar 2006 Axis2/C (M0.5) * Improving code quality by fixing memory leaks and reviewing the code * Apache2 integration * More samples and tests * Initial documentation(User guide, Developer Guide and Installation Guide) * Numerous bug fixes since last release -- Axis2/C team Fri, 10 Mar 2006 Axis2/C (M0.4) * Threading support and threaded simple axis server * Module loading support * Addressing module and addressing based dispatching * HTTP chunking support * Improved logging mechanism * Ability to build and run on Windows platform -- Axis2/C team Fri, 17 Feb 2006 Axis2/C (M0.3) * Core engine in place with deployment, description and context hiarachies and http transport support * Soap processing support * Simple http server * Client API implementation * Couple of working service and client samples -- Axis2/C team Thu, 02 Feb 2006 Axis2/C (M0.2) * Improved OM module * libxml2 parser support * PHP binding for OM module * Some test cases for PHP binding * Many memory leaks fixes -- Axis2/C team Thu, 08 Dec 2005 Axis2/C (M0.1) * Initial release * OM module * Guththila pull parser support * libxml2 parser support(only reader is supported as of now) * doxygen documentation support * A sample demonstrating how to use OM -- Axis2/C team Fri, 25 Nov 2005 axis2c-src-1.6.0/include/0000777000175000017500000000000011172017546016267 5ustar00manjulamanjula00000000000000axis2c-src-1.6.0/include/axis2_op_ctx.h0000644000175000017500000002513711166304541021043 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_OP_CTX_H #define AXIS2_OP_CTX_H /** * @defgroup axis2_op_ctx operation context * @ingroup axis2_context * operation context represents a running "instance" of an operation. * operation context allows messages to be grouped into operations as in * WSDL 2.0 specification. operations are essentially arbitrary message exchange * patterns (MEP). So as messages are being exchanged, operation context remembers * the state of message exchange pattern specifics. * The implementation of operation context supports MEPs which have one input * message and/or one output message. In order to support other MEPs one must * extend this struct. * @{ */ /** * @file axis2_op_ctx.h */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_op_ctx */ typedef struct axis2_op_ctx axis2_op_ctx_t; struct axis2_svc_ctx; /** * Creates an operation context struct instance. * @param env pointer to environment struct * @param op pointer to operation that is related to operation context. * operation context does not assume the ownership of the struct * @param svc_ctx pointer to parent service context * @return pointer to newly created operation context */ AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_op_ctx_create( const axutil_env_t * env, struct axis2_op *op, struct axis2_svc_ctx *svc_ctx); /** * Gets base which is of context type. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return pointer to base context */ AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_op_ctx_get_base( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Frees operation context. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_ctx_free( struct axis2_op_ctx *op_ctx, const axutil_env_t * env); /** * Initializes operation context. This method traverses through all the * message contexts stored within it and initialize them all. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @param conf pointer to conf configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_init( struct axis2_op_ctx *op_ctx, const axutil_env_t * env, struct axis2_conf *conf); /** * Gets operation the operation context is related to. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return pointer to operation */ AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_op_ctx_get_op( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Gets parent which is of service context type. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return pointer to service context within which this operation * context lives */ AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL axis2_op_ctx_get_parent( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Adds a message context. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @param msg_ctx pointer to message context * does not assume the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_add_msg_ctx( struct axis2_op_ctx *op_ctx, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Gets message context with the given message ID. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @param message_id message label of type axis2_wsdl_msg_labels_t. * This can be one of AXIS2_WSDL_MESSAGE_LABEL_IN or AXIS2_WSDL_MESSAGE_LABEL_OUT * from the axis2_wsdl_msg_labels enum. * @return pointer to message context with given ID */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_ctx_get_msg_ctx( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env, const axis2_wsdl_msg_labels_t message_id); /** * Gets the bool value indicating if the MEP is complete. * MEP is considered complete when all the messages that * are associated with the MEP has arrived. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return AXIS2_TRUE if MEP invocation is complete, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_ctx_get_is_complete( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Sets the bool value indicating if the MEP is complete. * MEP is considered complete when all the messages that * are associated with the MEP has arrived. * @param op_ctx pointer to operating context * @param env pointer to environment struct * @param is_complete AXIS2_TRUE if MEP invocation is complete, else * AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_complete( struct axis2_op_ctx *op_ctx, const axutil_env_t * env, axis2_bool_t is_complete); /** * Cleans up the operation context. Clean up includes removing all * message context references recorded in operation context. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_cleanup( struct axis2_op_ctx *op_ctx, const axutil_env_t * env); /** * Sets parent service context. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @param svc_ctx pointer to service context, message context does not * assume the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_parent( struct axis2_op_ctx *op_ctx, const axutil_env_t * env, struct axis2_svc_ctx *svc_ctx); /** * Gets the message context map. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return pointer to hash table containing message contexts */ AXIS2_EXTERN axis2_msg_ctx_t **AXIS2_CALL axis2_op_ctx_get_msg_ctx_map( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Sets the bool value indicating the status of response. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @param response_written AXIS2_TRUE if response is written, else * AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_response_written( axis2_op_ctx_t * op_ctx, const axutil_env_t * env, const axis2_bool_t response_written); /** * Checks the response status, whether it is written or not. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return AXIS2_TRUE if response is already written, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_ctx_get_response_written( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Destroys mutex used to synchronize the read/write operations * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return returns void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_ctx_destroy_mutex( struct axis2_op_ctx *op_ctx, const axutil_env_t * env); /** * Checks whether op_ctx is in use. This is necessary when destroying the * thread mutex at the http_worker to check whether the operation context * is still in use * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return AXIS2_TRUE if still in use, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_ctx_is_in_use( const axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** * Set operation context's is_in_use attribute. This is necessary when * destroying the thread mutex at the http_worker to check whether the * operation context is still in use * @param op_ctx pointer to operation context * @param env pointer to environment struct * @param is_in_use AXIS2_TRUE if still in use, else AXIS2_FALSE * @return AXIS2_TRUE if still in use, else AXIS2_FALSE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_set_in_use( struct axis2_op_ctx *op_ctx, const axutil_env_t * env, axis2_bool_t is_in_use); /** * Incrementing the op_ctx ref count. This is necessary when * prevent freeing op_ctx through op_client when it is in use * as in sandesha where the msg_cts is stored. * @param op_ctx pointer to operation context * @param env pointer to environment struct * @return AXIS2_TRUE if still in use, else AXIS2_FALSE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_ctx_increment_ref( axis2_op_ctx_t * op_ctx, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_OP_CTX_H */ axis2c-src-1.6.0/include/axis2_msg_recv.h0000644000175000017500000001677511166304541021364 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MSG_RECV_H #define AXIS2_MSG_RECV_H /** * @defgroup axis2_receivers receivers * @ingroup axis2 * @{ * @} */ /** @defgroup axis2_msg_recv message receiver * @ingroup axis2_receivers * Description. * @{ */ /** * @file axis2_msg_recv.h * @brief Axis Message Receiver interface. Message Receiver struct. * This interface is extended by custom message receivers */ #ifdef __cplusplus extern "C" { #endif #include #include #include #include #include #include #include struct axis2_msg_ctx; /** Type name for struct axis2_msg_recv*/ typedef struct axis2_msg_recv axis2_msg_recv_t; typedef axis2_status_t( AXIS2_CALL * AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC) ( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * in_msg_ctx, struct axis2_msg_ctx * out_msg_ctx); typedef axis2_status_t( AXIS2_CALL * AXIS2_MSG_RECV_RECEIVE) ( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx * in_msg_ctx, void *callback_recv_param); typedef axis2_status_t( AXIS2_CALL * AXIS2_MSG_RECV_LOAD_AND_INIT_SVC)( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc); /** * Deallocate memory * @param msg_recv pinter to message receiver * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_msg_recv_free( axis2_msg_recv_t * msg_recv, const axutil_env_t * env); /** * This method is called from axis2_engine_receive method. This method's * actual implementation is decided from the create method of the * extended message receiver object. There depending on the synchronous or * asynchronous type, receive method is assigned with the synchronous or * asynchronous implementation of receive. * @see raw_xml_in_out_msg_recv_create method where receive is assigned * to receive_sync * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param in_msg_ctx pointer to in message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_recv_receive( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx *in_msg_ctx, void *callback_recv_param); /** * This contain in out synchronous business invoke logic * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param in_msg_ctx pointer to in message context * @param out_msg_ctx pointer to out message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_recv_invoke_business_logic( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx *in_msg_ctx, struct axis2_msg_ctx *out_msg_ctx); /** * this will create a new service skeleton object * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return service skeleton object */ AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_msg_recv_make_new_svc_obj( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); /** * This will return the service skeleton object * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return service skeleton object */ AXIS2_EXTERN axis2_svc_skeleton_t *AXIS2_CALL axis2_msg_recv_get_impl_obj( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); /** * Set the application scope * @param msg_recv pointer to message receiver * @param env pointer to environment struct * @param scope pointer to scope * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_recv_set_scope( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, const axis2_char_t * scope); /** * Get the application scope * @param msg_recv pointer to message receiver * @env pointer to environment struct * @return scope */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_recv_get_scope( axis2_msg_recv_t * msg_recv, const axutil_env_t * env); /** * Delete the service skeleton object created by make_new_svc_obj * @param msg_recv pointer to message receiver * @env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_recv_delete_svc_obj( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_invoke_business_logic( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, AXIS2_MSG_RECV_INVOKE_BUSINESS_LOGIC func); AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_derived( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, void *derived); AXIS2_EXPORT void *AXIS2_CALL axis2_msg_recv_get_derived( const axis2_msg_recv_t * msg_recv, const axutil_env_t * env); AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_receive( axis2_msg_recv_t * msg_recv, const axutil_env_t * env, AXIS2_MSG_RECV_RECEIVE func); AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_set_load_and_init_svc( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, AXIS2_MSG_RECV_LOAD_AND_INIT_SVC func); AXIS2_EXPORT axis2_status_t AXIS2_CALL axis2_msg_recv_load_and_init_svc( axis2_msg_recv_t *msg_recv, const axutil_env_t *env, struct axis2_svc *svc); /** * Create new message receiver object. usually this will be called from the * extended message receiver object. * @see create method of raw_xml_in_out_msg_recv * @param env pointer to environment struct * @return newly created message receiver object **/ AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_msg_recv_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MSG_RECV_H */ axis2c-src-1.6.0/include/axis2_msg_ctx.h0000644000175000017500000022112511166304541021206 0ustar00manjulamanjula00000000000000/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MSG_CTX_H #define AXIS2_MSG_CTX_H /** * @defgroup axis2_msg_ctx message context * @ingroup axis2_context * message context captures all state information related to a message * invocation. It holds information on the service and operation to be invoked * as well as context hierarchy information related to the service and operation. * It also has information on transports, that are to be used in invocation. The * phase information is kept, along with the phase at which message invocation was * paused as well as the handler in the phase from which the invocation is to be * resumed. message context would hold the request SOAP message along the out * path and would capture response along the in path. * message context also has information on various engine specific information, * such as if it should be doing MTOM, REST. * As message context is inherited form context, it has the capability of * storing user defined properties. * @{ */ /** * @file axis2_msg_ctx.h */ #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** transport headers */ #define AXIS2_TRANSPORT_HEADERS "AXIS2_TRANSPORT_HEADERS" /** transport in */ #define AXIS2_TRANSPORT_OUT "AXIS2_TRANSPORT_OUT" /** transport out */ #define AXIS2_TRANSPORT_IN "AXIS2_TRANSPORT_IN" /** character set encoding */ #define AXIS2_CHARACTER_SET_ENCODING "AXIS2_CHARACTER_SET_ENCODING" /** UTF_8; This is the 'utf-8' value for AXIS2_CHARACTER_SET_ENCODING property */ #define AXIS2_UTF_8 "UTF-8" /** UTF_16; This is the 'utf-16' value for AXIS2_CHARACTER_SET_ENCODING property */ #define AXIS2_UTF_16 "utf-16" /** default char set encoding; This is the default value for AXIS2_CHARACTER_SET_ENCODING property */ #define AXIS2_DEFAULT_CHAR_SET_ENCODING "UTF-8" /** transport succeeded */ #define AXIS2_TRANSPORT_SUCCEED "AXIS2_TRANSPORT_SUCCEED" /** HTTP Client */ #define AXIS2_HTTP_CLIENT "AXIS2_HTTP_CLIENT" /** Transport URL */ #define AXIS2_TRANSPORT_URL "TransportURL" /** PEER IP Address of Server */ #define AXIS2_SVR_PEER_IP_ADDR "peer_ip_addr" /* Message flows */ /* In flow */ /*#define AXIS2_IN_FLOW 1*/ /* In fault flow */ /*#define AXIS2_IN_FAULT_FLOW 2*/ /* Out flow */ /*#define AXIS2_OUT_FLOW 3*/ /* Out fault flow */ /*#define AXIS2_OUT_FAULT_FLOW 4*/ /** Type name for struct axis2_msg_ctx */ typedef struct axis2_msg_ctx axis2_msg_ctx_t; struct axis2_svc; struct axis2_op; struct axis2_conf_ctx; struct axis2_svc_grp_ctx; struct axis2_svc_ctx; struct axis2_op_ctx; struct axis2_conf; struct axiom_soap_envelope; struct axis2_options; struct axis2_transport_in_desc; struct axis2_transport_out_desc; struct axis2_out_transport_info; /** Type name for pointer to a function to find a service */ typedef struct axis2_svc *( AXIS2_CALL * AXIS2_MSG_CTX_FIND_SVC) ( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** Type name for pointer to a function to find an operation in a service */ typedef struct axis2_op *( AXIS2_CALL * AXIS2_MSG_CTX_FIND_OP) ( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc * svc); /** * Creates a message context struct instance. * @param env pointer to environment struct * @param conf_ctx pointer to configuration context struct, message context * does not assume the ownership of the struct * @param transport_in_desc pointer to transport in description struct, * message context does not assume the ownership of the struct * @param transport_out_desc pointer to transport out description struct, * message context does not assume the ownership of the struct * @return pointer to newly created message context instance */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_msg_ctx_create( const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in_desc, struct axis2_transport_out_desc *transport_out_desc); /** * Gets the base, which is of type context. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to base context struct */ AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_msg_ctx_get_base( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets parent. Parent of a message context is of type operation * context. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to operation context which is the parent */ AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL axis2_msg_ctx_get_parent( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets parent. Parent of a message context is of type operation * context. * @param msg_ctx message context * @param env pointer to environment struct * @param parent pointer to parent operation context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_parent( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_op_ctx *parent); /** * Frees message context. * @param msg_ctx message context * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_msg_ctx_free( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Initializes the message context. Based on the transport, service and * operation qnames set on top of message context, correct instances of * those struct instances would be extracted from configuration and * set within message context. * @param msg_ctx message context * @param env pointer to environment struct * @param conf pointer to configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_init( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_conf *conf); /** * Gets WS-Addressing fault to address. Fault to address tells where to * send the fault in case there is an error. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to endpoint reference struct representing the fault * to address, returns a reference not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_fault_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets WS-Addressing from endpoint. From address tells where the * request came from. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to endpoint reference struct representing the from * address, returns a reference not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_from( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Checks if there is a SOAP fault on in flow. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if there is an in flow fault, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_in_fault_flow( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the SOAP envelope. This SOAP envelope could be either request * SOAP envelope or the response SOAP envelope, based on the state * the message context is in. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to SOAP envelope stored within message context */ AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL axis2_msg_ctx_get_soap_envelope( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the SOAP envelope of the response. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to response SOAP envelope stored within message context */ AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL axis2_msg_ctx_get_response_soap_envelope( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets fault SOAP envelope. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to fault SOAP envelope stored within message context */ AXIS2_EXTERN struct axiom_soap_envelope *AXIS2_CALL axis2_msg_ctx_get_fault_soap_envelope( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets message ID. * @param msg_ctx message context * @param env pointer to environment struct * @param msg_id * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_msg_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * msg_id); /** * Gets message ID. * @param msg_ctx message context * @param env pointer to environment struct * @return message ID string corresponding to the message the message * context is related to */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_msg_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets process fault status. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if process fault is on, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_process_fault( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets relates to information for the message context. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to relates to struct */ AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL axis2_msg_ctx_get_relates_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets WS-Addressing reply to endpoint. Reply to address tells where * the the response should be sent to. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to endpoint reference struct representing the reply * to address, returns a reference not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_reply_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Checks if it is on the server side that the message is being dealt * with, or on the client side. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if it is server side, AXIS2_FALSE if it is client * side */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_server_side( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets WS-Addressing to endpoint. To address tells where message should * be sent to. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to endpoint reference struct representing the * to address, returns a reference not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_ctx_get_to( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets WS-Addressing fault to endpoint. Fault to address tells where * the fault message should be sent when there is an error. * @param msg_ctx message context * @param env pointer to environment struct * @param reference pointer to endpoint reference representing fault to * address. message context assumes the ownership of endpoint struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_fault_to( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference); /** * Sets WS-Addressing from endpoint. From address tells where * the message came from. * @param msg_ctx message context * @param env pointer to environment struct * @param reference pointer to endpoint reference representing from * address. message context assumes the ownership of endpoint struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_from( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference); /** * Sets in fault flow status. * @param msg_ctx message context * @param env pointer to environment struct * @param in_fault_flow AXIS2_TRUE if there is a fault on in path, * else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_in_fault_flow( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t in_fault_flow); /** * Sets SOAP envelope. The fact that if it is the request SOAP envelope * or that of response depends on the current status represented by * message context. * @param msg_ctx message context * @param env pointer to environment struct * @param soap_envelope pointer to SOAP envelope, message context * assumes ownership of SOAP envelope * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_soap_envelope( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axiom_soap_envelope *soap_envelope); /** * Sets response SOAP envelope. * @param msg_ctx message context * @param env pointer to environment struct * @param soap_envelope pointer to SOAP envelope, message context * assumes ownership of SOAP envelope * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_response_soap_envelope( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axiom_soap_envelope *soap_envelope); /** * Sets fault SOAP envelope. * @param msg_ctx message context * @param env pointer to environment struct * @param soap_envelope pointer to SOAP envelope, message context * assumes ownership of SOAP envelope * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_fault_soap_envelope( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axiom_soap_envelope *soap_envelope); /** * Sets message ID. * @param msg_ctx message context * @param env pointer to environment struct * @param message_id message ID string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_message_id( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * message_id); /** * Sets process fault bool value. * @param msg_ctx message context * @param env pointer to environment struct * @param process_fault AXIS2_TRUE if SOAP faults are to be processed, * else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_process_fault( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t process_fault); /** * Sets relates to struct. * @param msg_ctx message context * @param env pointer to environment struct * @param reference pointer to relates to struct, message context * assumes ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_relates_to( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_relates_to_t * reference); /** * Sets WS-Addressing reply to address indicating the location to which * the reply would be sent. * @param msg_ctx message context * @param env pointer to environment struct * @param reference pointer to endpoint reference representing reply to * address * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_reply_to( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference); /** * Sets the bool value indicating if it is the server side or the * client side. * @param msg_ctx message context * @param env pointer to environment struct * @param server_side AXIS2_TRUE if it is server side, AXIS2_FALSE if it * is client side * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_server_side( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t server_side); /** * Sets WS-Addressing to address. * @param msg_ctx message context * @param env pointer to environment struct * @param reference pointer to endpoint reference struct representing * the address where the request should be sent to. message context * assumes ownership of endpoint struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_to( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_endpoint_ref_t * reference); /** * Gets the bool value indicating if it is required to have a new thread * for the invocation, or if the same thread of execution could be used. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if new thread is required, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_new_thread_required( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the bool value indicating if it is required to have a new thread * for the invocation, or if the same thread of execution could be used. * @param msg_ctx message context * @param env pointer to environment struct * @param new_thread_required AXIS2_TRUE if a new thread is required, * else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_new_thread_required( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t new_thread_required); /** * Sets WS-Addressing action. * @param msg_ctx message context * @param env pointer to environment struct * @param action_uri WSA action URI string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_wsa_action( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * action_uri); /** * Gets WS-Addressing action. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to WSA action URI string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_wsa_action( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets WS-Addressing message ID. * @param msg_ctx message context * @param env pointer to environment struct * @param message_id pointer to message ID string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_wsa_message_id( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * message_id); /** * Gets WS-Addressing message ID. * @param msg_ctx message context * @param env pointer to environment struct * @return WSA message ID string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_wsa_message_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets WS-Addressing message information headers. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to message information headers struct with * WS-Addressing information. Returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL axis2_msg_ctx_get_msg_info_headers( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the bool value indicating the paused status. It is possible * to pause the engine invocation by any handler. By calling this method * one can find out if some handler has paused the invocation. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if message context is paused, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_paused( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the bool value indicating the paused status of invocation. * @param msg_ctx message context * @param env pointer to environment struct * @param paused paused * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_paused( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t paused); /** * Gets the bool value indicating the keep alive status. It is possible * to keep alive the message context by any handler. By calling this method * one can see whether it is possible to clean the message context. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if message context is keep alive, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_is_keep_alive( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the bool value indicating the keep alive status of invocation. * By setting this one can indicate the engine not to clean the message * context. * @param msg_ctx message context * @param env pointer to environment struct * @param keep_alive keep alive * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_keep_alive( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t keep_alive); /** * Gets transport in description. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to transport in description struct, returns a * reference not a cloned copy */ AXIS2_EXTERN struct axis2_transport_in_desc *AXIS2_CALL axis2_msg_ctx_get_transport_in_desc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets transport out description. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to transport out description struct, returns a * reference not a cloned copy */ AXIS2_EXTERN struct axis2_transport_out_desc *AXIS2_CALL axis2_msg_ctx_get_transport_out_desc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets transport in description. * @param msg_ctx message context * @param env pointer to environment struct * @param transport_in_desc pointer to transport in description struct, * message context does not assume the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_in_desc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_transport_in_desc *transport_in_desc); /** * Sets transport out description. * @param msg_ctx message context * @param env pointer to environment struct * @param transport_out_desc pointer to transport out description, * message context does not assume the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_out_desc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_transport_out_desc *transport_out_desc); /** * Gets operation context related to the operation that this message * context is related to. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to operation context struct */ AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL axis2_msg_ctx_get_op_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets operation context related to the operation that this message * context is related to. * @param msg_ctx message context * @param env pointer to environment struct * @param op_ctx pointer to operation context, message context does not * assume the ownership of operation context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_op_ctx( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_op_ctx *op_ctx); /** * Gets the bool value indicating the output written status. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if output is written, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_output_written( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the bool value indicating the output written status. * @param msg_ctx message context * @param env pointer to environment struct * @param output_written AXIS2_TRUE if output is written, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_output_written( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t output_written); /** * Gets the HTTP Method that relates to the service that is * related to the message context. * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Method string, returns a reference, * not a cloned copy */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_rest_http_method( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the HTTP Method that relates to the service that is * related to the message context. * @param msg_ctx message context * @param env pointer to environment struct * @param rest_http_method HTTP Method string, msg_ctx does not assume * ownership of rest_http_method. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_rest_http_method( struct axis2_msg_ctx * msg_ctx, const axutil_env_t * env, const axis2_char_t * rest_http_method); /** * Gets the ID of service context that relates to the service that is * related to the message context. * @param msg_ctx message context * @param env pointer to environment struct * @return service context ID string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_svc_ctx_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the ID of service context that relates to the service that is * related to the message context. * @param msg_ctx message context * @param env pointer to environment struct * @param svc_ctx_id The service context ID string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_ctx_id( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * svc_ctx_id); /** * Gets configuration context. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to configuration context */ AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL axis2_msg_ctx_get_conf_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets service context that relates to the service that the message * context is related to. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to message context struct */ AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL axis2_msg_ctx_get_svc_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets configuration context. * @param msg_ctx message context * @param env pointer to environment struct * @param conf_ctx pointer to configuration context struct, message * context does not assume the ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_conf_ctx( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx); /** * Sets service context. * @param msg_ctx message context * @param env pointer to environment struct * @param svc_ctx pointer to service context struct, message * context does not assume the ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_ctx( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc_ctx *svc_ctx); /** * Sets message information headers. * @param msg_ctx message context * @param env pointer to environment struct * @param msg_info_headers pointer to message information headers, * message context assumes the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_msg_info_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_msg_info_headers_t * msg_info_headers); /** * Gets configuration descriptor parameter with given key. This method * recursively search the related description hierarchy for the parameter * with given key until it is found or the parent of the description * hierarchy is reached. The order of search is as follows: * \n * 1. search in operation description, if its there return * \n * 2. if the parameter is not found in operation or operation is NULL, * search in service * \n * 3. if the parameter is not found in service or service is NULL search * in configuration * @param msg_ctx message context * @param env pointer to environment struct * @param key parameter key * @return pointer to parameter struct corresponding to the given key */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_msg_ctx_get_parameter( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * key); /** * Gets parameters related to a named module and a given handler * description. The order of searching for parameter is as follows: * \n * 1. search in module configuration stored inside corresponding operation * description if its there * \n * 2. search in corresponding operation if its there * \n * 3. search in module configurations stored inside corresponding * service description if its there * \n * 4. search in corresponding service description if its there * \n * 5. search in module configurations stored inside configuration * \n * 6. search in configuration for parameters * \n * 7. get the corresponding module and search for the parameters * \n * 8. search in handler description for the parameter * @param msg_ctx pointer to message context * @param env pointer to environment struct * @param key parameter key * @param module_name name of the module * @param handler_desc pointer to handler description * @return pointer to parameter */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_msg_ctx_get_module_parameter( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * key, const axis2_char_t * module_name, axis2_handler_desc_t * handler_desc); /** * Gets property corresponding to the given key. * @param msg_ctx pointer to message context * @param env pointer to environment struct * @param key key string with which the property is stored * @return pointer to property struct */ AXIS2_EXTERN axutil_property_t *AXIS2_CALL axis2_msg_ctx_get_property( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * key); /** * Gets property value corresponding to the property given key. * @param msg_ctx pointer to message context * @param env pointer to environment struct * @param property_str key string with which the property is stored * @return pointer to property struct */ AXIS2_EXTERN void *AXIS2_CALL axis2_msg_ctx_get_property_value( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * property_str); /** * Sets property with given key. * @param msg_ctx message context * @param env pointer to environment struct * @param key key string * @param value property to be stored * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_property( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * key, axutil_property_t * value); /** * Gets the QName of the handler at which invocation was paused. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to QName of the paused handler */ AXIS2_EXTERN const axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_paused_handler_name( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the name of the phase at which the invocation was paused. * @param msg_ctx message context * @param env pointer to environment struct * @return name string of the paused phase. */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_paused_phase_name( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the name of the phase at which the invocation was paused. * @param msg_ctx message context * @param env pointer to environment struct * @param paused_phase_name paused phase name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_paused_phase_name( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * paused_phase_name); /** * Gets SOAP action. * @param msg_ctx message context * @param env pointer to environment struct * @return SOAP action string */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_soap_action( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets SOAP action. * @param msg_ctx message context * @param env pointer to environment struct * @param soap_action SOAP action string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_soap_action( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_string_t * soap_action); /** * Gets the boolean value indicating if MTOM is enabled or not. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_doing_mtom( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the boolean value indicating if MTOM is enabled or not. * @param msg_ctx message context * @param env pointer to environment struct * @param doing_mtom AXIS2_TRUE if MTOM is enabled, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_doing_mtom( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t doing_mtom); /** * Gets the boolean value indicating if REST is enabled or not. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if REST is enabled, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_doing_rest( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the boolean value indicating if REST is enabled or not. * @param msg_ctx message context * @param env pointer to environment struct * @param doing_rest AXIS2_TRUE if REST is enabled, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_doing_rest( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t doing_rest); /** * Sets the boolean value indicating if REST should be done through * HTTP POST or not. * @param msg_ctx message context * @param env pointer to environment struct * @param do_rest_through_post AXIS2_TRUE if REST is to be done with * HTTP POST, else AXIS2_FALSE if REST is not to be done with HTTP POST * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_do_rest_through_post( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t do_rest_through_post); /** * Sets the boolean value indicating if REST should be done through * HTTP POST or not. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if REST is to be done with HTTP POST, else * AXIS2_FALSE if REST is not to be done with HTTP POST */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_do_rest_through_post( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets manage session bool value. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if session is managed, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_manage_session( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets manage session bool value. * @param msg_ctx message context * @param env pointer to environment struct * @param manage_session manage session bool value * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_manage_session( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t manage_session); /** * Gets the bool value indicating the SOAP version being used either * SOAP 1.1 or SOAP 1.2 * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if SOAP 1.1 is being used, else AXIS2_FALSE if * SOAP 1.2 is being used */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_is_soap_11( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the bool value indicating the SOAP version being used either * SOAP 1.1 or SOAP 1.2 * @param msg_ctx message context * @param env pointer to environment struct * @param is_soap11 AXIS2_TRUE if SOAP 1.1 is being used, else * AXIS2_FALSE if SOAP 1.2 is being used * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_is_soap_11( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t is_soap11); /** * Gets service group context. The returned service group context * relates to the service group to which the service, related to the * message context, belongs. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to service group struct */ AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL axis2_msg_ctx_get_svc_grp_ctx( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets service group context. The returned service group context * relates to the service group to which the service, related to the * message context, belongs. * @param msg_ctx message context * @param env pointer to environment struct * @param svc_grp_ctx pointer to service group context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_grp_ctx( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc_grp_ctx *svc_grp_ctx); /** * Gets the operation that is to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to operation, returns a reference not a cloned copy */ AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_msg_ctx_get_op( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the operation that is to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param op pointer to operation, message context does not assume the * ownership of operation * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_op *op); /** * Gets the service to which the operation to be invoked belongs. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to service struct, returns a reference not a cloned copy */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_msg_ctx_get_svc( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the service to which the operation to be invoked belongs. * @param msg_ctx message context * @param env pointer to environment struct * @param svc pointer to service struct, message context does not assume * the ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc *svc); /** * Gets the service group to which the service to be invoked belongs. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to service group struct, returns a reference not * a cloned copy */ AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL axis2_msg_ctx_get_svc_grp( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the service group to which the service to be invoked belongs. * @param msg_ctx message context * @param env pointer to environment struct * @param svc_grp pointer to service group struct, message context does * not assume the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_grp( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc_grp *svc_grp); /** * Gets the service group context ID. * @param msg_ctx message context * @param env pointer to environment struct * @return service group context ID string */ AXIS2_EXTERN const axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_svc_grp_ctx_id( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the service group context ID. * @param msg_ctx message context * @param env pointer to environment struct * @param svc_grp_ctx_id service group context ID string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_svc_grp_ctx_id( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_string_t * svc_grp_ctx_id); /** * Sets function to be used to find a service. This function is used by dispatchers * to locate the service to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param func function to be used to find an operation * @return pointer to service to be invoked */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, AXIS2_MSG_CTX_FIND_SVC func); /** * Sets function to be used to find an operation in the given service. * This function is used by dispatchers to locate the operation to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param func function to be used to find an operation * @return pointer to the operation to be invoked */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, AXIS2_MSG_CTX_FIND_OP func); /** * Finds the service to be invoked. This function is used by dispatchers * to locate the service to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer to service to be invoked */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_msg_ctx_find_svc( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Finds the operation to be invoked in the given service. This function * is used by dispatchers to locate the operation to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param svc pointer to service to whom the operation belongs * @return pointer to the operation to be invoked */ AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_msg_ctx_find_op( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_svc *svc); /** * Gets the options to be used in invocation. * @param msg_ctx message context * @param env pointer to environment struct * @return options pointer to options struct, message context does not * assume the ownership of the struct */ AXIS2_EXTERN struct axis2_options *AXIS2_CALL axis2_msg_ctx_get_options( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the bool value indicating the paused status. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_TRUE if invocation is paused, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_is_paused( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the options to be used in invocation. * @param msg_ctx message context * @param env pointer to environment struct * @param options pointer to options struct, message context does not * assume the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_options( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_options *options); /** * Sets the flow to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param flow int value indicating the flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_flow( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, int flow); /** * Gets the flow to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @return int value indicating the flow */ AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_flow( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the list of supported REST HTTP Methods * @param msg_ctx message context * @param env pointer to environment struct * @param supported_rest_http_methods pointer array list containing * the list of HTTP Methods supported. Message context does * assumes the ownership of the array list. Anything added to this * array list will be freed by the msg_ctx * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_supported_rest_http_methods( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * supported_rest_http_methods); /** * Gets the list of supported REST HTTP Methods * @param msg_ctx message context * @param env pointer to environment struct * @return pointer array list containing * the list of HTTP Methods supported. Message context does * assumes the ownership of the array list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_supported_rest_http_methods( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the execution chain to be invoked. The execution chain is a * list of phases containing the handlers to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param execution_chain pointer array list containing the list of * handlers that constitute the execution chain. Message context does * not assume the ownership of the array list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_execution_chain( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * execution_chain); /** * Gets the execution chain to be invoked. The execution chain is a * list of phases containing the handlers to be invoked. * @param msg_ctx message context * @param env pointer to environment struct * @return pointer array list containing the list of handlers that * constitute the execution chain. Message context does not assume * the ownership of the array list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_execution_chain( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets current handler index, indicating which handler is currently * being invoked in the execution chain * @param msg_ctx message context * @param env pointer to environment struct * @param index index of currently executed handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_current_handler_index( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const int index); /** * Gets current handler index, indicating which handler is currently * being invoked in the execution chain * @param msg_ctx message context * @param env pointer to environment struct * @return index of currently executed handler */ AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_current_handler_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets paused handler index, indicating at which handler the execution * chain was paused. * @param msg_ctx message context * @param env pointer to environment struct * @return index of handler at which invocation was paused */ AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_paused_handler_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets index of the current phase being invoked. * @param msg_ctx message context * @param env pointer to environment struct * @param index index of current phase * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_current_phase_index( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const int index); /** * Gets index of the current phase being invoked. * @param msg_ctx message context * @param env pointer to environment struct * @return index of current phase */ AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_current_phase_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the phase at which the invocation was paused. * @param msg_ctx message context * @param env pointer to environment struct * @return index of paused phase */ AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_paused_phase_index( const axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets character set encoding to be used. * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_msg_ctx_get_charset_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets character set encoding to be used. * @param msg_ctx message context * @param env pointer to environment struct * @param str pointer to string struct representing encoding * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_charset_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_string_t * str); /** * Gets the integer value indicating http status_code. * @param msg_ctx message context * @param env pointer to environment struct * @return status value */ AXIS2_EXTERN int AXIS2_CALL axis2_msg_ctx_get_status_code( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the int value indicating http status code * @param msg_ctx message context * @param env pointer to environment struct * @param status_code of the http response * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_status_code( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const int status_code); /** * Gets the Transport Out Stream * @param msg_ctx message context * @param env pointer to environment struct * @return reference to Transport Out Stream */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_msg_ctx_get_transport_out_stream( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the Transport Out Stream * @param msg_ctx message context * @param env pointer to environment struct * @param stream reference to Transport Out Stream * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_out_stream( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_stream_t * stream); /** * Resets Transport Out Stream * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_reset_transport_out_stream( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the HTTP Out Transport Info associated * @param msg_ctx message context * @param env pointer to environment struct * @return reference to HTTP Out Transport Info associated */ AXIS2_EXTERN struct axis2_out_transport_info *AXIS2_CALL axis2_msg_ctx_get_out_transport_info( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the HTTP Out Transport Info associated * @param msg_ctx message context * @param env pointer to environment struct * @param out_transport_info reference to HTTP Out * Transport Info associated * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_out_transport_info( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, struct axis2_out_transport_info *out_transport_info); /** * Resets the HTTP Out Transport Info associated * @param msg_ctx message context * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_reset_out_transport_info( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Retrieves Transport Headers. * @param msg_ctx message context * @param env pointer to environment struct * @return Transport Headers associated. */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_msg_ctx_get_transport_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Retrieves Transport Headers, and removes them * from the message context * @param msg_ctx message context * @param env pointer to environment struct * @return Transport Headers associated. */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_msg_ctx_extract_transport_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the Transport Headers * @param msg_ctx message context * @param env pointer to environment struct * @param transport_headers a Hash containing the * Transport Headers * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_hash_t * transport_headers); /** * Retrieves HTTP Accept-Charset records. * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Accept-Charset records associated. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_accept_charset_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Retrieves HTTP Accept-Charset records, and removes them * from the message context * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Accept-Charset records associated. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_accept_charset_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the HTTP Accept-Charset records * @param msg_ctx message context * @param env pointer to environment struct * @param accept_charset_record_list an Array List containing the * HTTP Accept-Charset records * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_accept_charset_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * accept_charset_record_list); /** * Retrieves HTTP Accept-Language records. * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Accept-Language records associated. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_accept_language_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Retrieves HTTP Accept-Language records, and removes them * from the message context * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Accept-Language records associated. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_accept_language_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the HTTP Accept-Language records * @param msg_ctx message context * @param env pointer to environment struct * @param accept_language_record_list an Array List containing the * HTTP Accept-Language records * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_accept_language_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * accept_language_record_list); /** * Gets the Content Language used * @param msg_ctx message context * @param env pointer to environment struct * @return Content Language string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_content_language( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the Content Language used * @param msg_ctx message context * @param env pointer to environment struct * @param str Content Language string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_content_language( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * str); /** * Retrieves HTTP Accept records. * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Accept records associated. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_accept_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Retrieves HTTP Accept records, and removes them * from the message context * @param msg_ctx message context * @param env pointer to environment struct * @return HTTP Accept records associated. */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_accept_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the HTTP Accept records * @param msg_ctx message context * @param env pointer to environment struct * @param accept_record_list an Array List containing the * HTTP Accept records * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_accept_record_list( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * accept_record_list); /** * Gets the transfer encoding used * @param msg_ctx message context * @param env pointer to environment struct * @return Transfer encoding string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_transfer_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the transfer encoding used * @param msg_ctx message context * @param env pointer to environment struct * @param str Transfer encoding string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transfer_encoding( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * str); /** * Gets the Transport URL * @param msg_ctx message context * @param env pointer to environment struct * @return Transport URL string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_transport_url( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the Transport URL * @param msg_ctx message context * @param env pointer to environment struct * @param str Transport URL string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_transport_url( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axis2_char_t * str); /** * Gets whether there was no content in the response. * This will cater for a situation where the invoke * method in a service returns NULL when no fault has * occured. * @param msg_ctx message context * @param env pointer to environment struct * @return returns AXIS2_TRUE if there was no content * occured or AXIS2_FALSE otherwise */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_no_content( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets that there was no content in the response. * @param msg_ctx message context * @param env pointer to environment struct * @param no_content expects AXIS2_TRUE if there was no * content in the response or AXIS2_FALSE otherwise * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_no_content( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t no_content); /** * Gets whether an authentication failure occured * @param msg_ctx message context * @param env pointer to environment struct * @return returns AXIS2_TRUE if an authentication failure * occured or AXIS2_FALSE if not */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_auth_failed( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets whether an authentication failure occured * @param msg_ctx message context * @param env pointer to environment struct * @param status expects AXIS2_TRUE if an authentication failure * occured or AXIS2_FALSE if not * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_auth_failed( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t status); /** * Gets whether HTTP Authentication is required or * whether Proxy Authentication is required * @param msg_ctx message context * @param env pointer to environment struct * @return returns AXIS2_TRUE for HTTP Authentication * and AXIS2_FALSE for Proxy Authentication */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_ctx_get_required_auth_is_http( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets whether HTTP Authentication is required or * whether Proxy Authentication is required * @param msg_ctx message context * @param env pointer to environment struct * @param is_http use AXIS2_TRUE for HTTP Authentication * and AXIS2_FALSE for Proxy Authentication * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_required_auth_is_http( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_bool_t is_http); /** * Sets the authentication type * @param msg_ctx message context * @param env pointer to environment struct * @param auth_type Authentication type string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_auth_type( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, const axis2_char_t * auth_type); /** * Gets the authentication type * @param msg_ctx message context * @param env pointer to environment struct * @return Authentication type string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_msg_ctx_get_auth_type( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Gets the Output Header list * @param msg_ctx message context * @param env pointer to environment struct * @return Output Header list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_http_output_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Retrieves the Output Headers, and removes them * from the message context * @param msg_ctx message context * @param env pointer to environment struct * @return Output Header list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_extract_http_output_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** * Sets the Output Header list * @param msg_ctx message context * @param env pointer to environment struct * @param output_headers Output Header list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_set_http_output_headers( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t * output_headers); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_ctx_get_mime_parts( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axis2_msg_ctx_set_mime_parts( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env, axutil_array_list_t *mime_parts); /** * Incrementing the msg_ctx ref count. This is necessary when * prevent freeing msg_ctx through op_client when it is in use * as in sandesha2. * @param msg_ctx pointer to message context * @param env pointer to environment struct * @return AXIS2_TRUE if still in use, else AXIS2_FALSE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_ctx_increment_ref( axis2_msg_ctx_t * msg_ctx, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MSG_CTX_H */ axis2c-src-1.6.0/include/axis2_http_transport_sender.h0000644000175000017500000000317211166304541024175 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_TRANSPORT_SENDER_H #define AXIS2_HTTP_TRANSPORT_SENDER_H /** * @defgroup axis2_http_transport_sender http transport sender * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_transport_sender.h * @brief axis2 HTTP Transport Sender (Handler) implementation */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @param env pointer to environment struct */ AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL axis2_http_transport_sender_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_TRANSPORT_SENDER_H */ axis2c-src-1.6.0/include/axis2_msg_info_headers.h0000644000175000017500000004701011166304541023035 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MSG_INFO_HEADERS_H #define AXIS2_MSG_INFO_HEADERS_H /** * @defgroup axis2_msg_info_headers message information headers * @ingroup axis2_addr * message information headers encapsulates properties that enable the * identification and location of the endpoints involved in an interaction. * The basic interaction pattern from which all others are composed is * "one way". In this pattern a source sends a message to a destination * without any further definition of the interaction. "Request Reply" is a * common interaction pattern that consists of an initial message sent by * a source endpoint (the request) and a subsequent message sent from the * destination of the request back to the source (the reply). * A reply can be either an application message, a fault, or any other message. * message information headers capture addressing information related to these * interaction patterns such as from, to, reply to and fault to addresses. * @{ */ /** * @file axis2_msg_info_headers.h */ #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_msg_info_headers */ typedef struct axis2_msg_info_headers axis2_msg_info_headers_t; /** * Creates message information headers struct. * @param env pointer to environment struct * @param to pointer to endpoint reference representing to endpoint * @param action WS-Addressing action string * @return pointer to newly created message information headers struct */ AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL axis2_msg_info_headers_create( const axutil_env_t * env, axis2_endpoint_ref_t * to, const axis2_char_t * action); /** * Gets to endpoint. to endpoint represents the address of the * intended receiver of this message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return pointer to endpoint reference representing to address, * returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets to endpoint. to endpoint represents the address of the * intended receiver of this message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param to pointer to endpoint reference representing to address, * message information headers assumes ownership of the endpoint * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_to( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * to); /** * Gets from endpoint. from endpoint represents the address of the * endpoint where the message originated from. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return pointer to endpoint reference representing from address, * returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_from( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets from endpoint. from endpoint represents the address of the * endpoint where the message originated from. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param from pointer to endpoint reference representing from address, * message information headers assumes ownership of the endpoint * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_from( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * from); /** * Gets reply to endpoint. reply to endpoint identifies the intended * receiver to which a message is replied. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return pointer to endpoint reference representing reply to address, * returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_reply_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets reply to endpoint. reply to endpoint identifies the intended * receiver to which a message is replied. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param reply_to pointer to endpoint reference representing reply to * address, message information headers assumes ownership of the endpoint * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_reply_to( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * reply_to); /** * Sets the bool value indicating whether the reply to endpoint should * be none. reply to endpoint identifies the intended receiver for * replies to a message. The URI "http://www.w3.org/2005/08/addressing/none" * in the reply to address indicates that no reply should be sent. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param none AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none * is to be used as reply to URI, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_reply_to_none( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_bool_t none); /** * Gets the bool value indicating whether the reply to endpoint should * be none. reply to endpoint identifies the intended receiver for * replies related to a message. The URI * "http://www.w3.org/2005/08/addressing/none" * in the reply to address indicates that no reply should be sent. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none * is to be used as reply to URI, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_reply_to_none( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets the bool value indicating whether the reply to endpoint should * be anonymous. reply to endpoint identifies the intended receiver for * replies related to a message. The URI * "http://www.w3.org/2005/08/addressing/anonymous" * in the reply to address indicates that reply should be sent to * from address. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param anonymous AXIS2_TRUE if * http://www.w3.org/2005/08/addressing/anonymous * is to be used as reply to URI, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_reply_to_anonymous( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_bool_t anonymous); /** * Gets the bool value indicating whether the reply to endpoint should * be anonymous. reply to endpoint identifies the intended receiver for * replies related to a message. The URI * "http://www.w3.org/2005/08/addressing/anonymous" * in the reply to address indicates that reply should be sent to * from address. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous * is to be used as reply to URI, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_reply_to_anonymous( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Gets fault to endpoint. fault to endpoint identifies the intended * receiver for faults related to a message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return pointer to endpoint reference representing fault to address, * returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_msg_info_headers_get_fault_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets fault to endpoint. fault to endpoint identifies the intended * receiver for faults related to a message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param fault_to pointer to endpoint reference representing fault to * address, message information headers assumes ownership of the endpoint * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_fault_to( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, axis2_endpoint_ref_t * fault_to); /** * Sets the bool value indicating whether the fault to endpoint should * be none. fault to endpoint identifies the intended receiver for * faults related to a message. The URI * "http://www.w3.org/2005/08/addressing/none" * in the fault to address indicates that no fault should be sent back. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param none AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none * is to be used as fault to URI, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_fault_to_none( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_bool_t none); /** * Gets the bool value indicating whether the fault to endpoint should * be none. fault to endpoint identifies the intended receiver for * faults related to a message. The URI * "http://www.w3.org/2005/08/addressing/none" * in the fault to address indicates that no fault should be sent back. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/none * is to be used as fault to URI, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_fault_to_none( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets the bool value indicating whether the fault to endpoint should * be anonymous. fault to endpoint identifies the intended receiver for * faults related to a message. The URI * "http://www.w3.org/2005/08/addressing/anonymous" * in the fault to address indicates that fault should be sent to * from address. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param anonymous AXIS2_TRUE if * http://www.w3.org/2005/08/addressing/anonymous * is to be used as fault to URI, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_fault_to_anonymous( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_bool_t anonymous); /** * Gets the bool value indicating whether the fault to endpoint should * be anonymous. fault to endpoint identifies the intended receiver for * faults related to a message. The URI * "http://www.w3.org/2005/08/addressing/anonymous" * in the fault to address indicates that fault should be sent to * from address. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return AXIS2_TRUE if http://www.w3.org/2005/08/addressing/anonymous * is to be used as fault to URI, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_info_headers_get_fault_to_anonymous( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Gets WS-Addressing action. action is an absolute IRI * (Internationalized Resource Identifier) that uniquely identifies * the semantics implied by this message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return WS-Addressing action string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_info_headers_get_action( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets WS-Addressing action. action is an absolute IRI * (Internationalized Resource Identifier) that uniquely identifies * the semantics implied by this message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param action WS-Addressing action string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_action( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_char_t * action); /** * Gets message ID. message ID is an absolute IRI that uniquely * identifies the message. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return message ID string. */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_info_headers_get_message_id( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets message ID. message ID is an absolute URI that uniquely * identifies the message. Message ID will be prefixed with "urn:uuid:" * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param message_id message ID string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_message_id( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_char_t * message_id); /** * Sets message ID. message ID is an absolute URI that uniquely * identifies the message. Message ID Given will be used. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param message_id message ID string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_in_message_id( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, const axis2_char_t * message_id); /** * Gets relates to information. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return pointer to relates to struct, returns a reference, not a * cloned copy * @sa axis2_relates_to */ AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL axis2_msg_info_headers_get_relates_to( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Sets relates to information. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param relates_to pointer to relates to struct, message information * headers assumes ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_set_relates_to( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, axis2_relates_to_t * relates_to); /** * Gets all reference parameters associated with message information * headers. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return pointer to array list containing all reference parameters */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_info_headers_get_all_ref_params( const axis2_msg_info_headers_t * msg_info_headers, const axutil_env_t * env); /** * Adds a reference parameter in the form of an AXIOM node. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @param ref_param pointer to AXIOM node representing reference * parameter, message information header does not assume ownership of * node * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_info_headers_add_ref_param( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env, axiom_node_t * ref_param); /** * Frees message information header struct. * @param msg_info_headers pointer to message information headers struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_msg_info_headers_free( struct axis2_msg_info_headers *msg_info_headers, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MSG_INFO_HEADERS_H */ axis2c-src-1.6.0/include/axis2_http_response_writer.h0000644000175000017500000001343011166304541024031 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_RESPONSE_WRITER_H #define AXIS2_HTTP_RESPONSE_WRITER_H /** * @defgroup axis2_http_response_writer http response writer * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_response_writer.h * @brief axis2 Response Writer */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_response_writer */ typedef struct axis2_http_response_writer axis2_http_response_writer_t; /** * @param response_writer pointer to response writer * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_response_writer_get_encoding( const axis2_http_response_writer_t * response_writer, const axutil_env_t * env); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_close( axis2_http_response_writer_t * response_writer, const axutil_env_t * env); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_flush( axis2_http_response_writer_t * response_writer, const axutil_env_t * env); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @param c * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_write_char( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, char c); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @param buf pointer to buf * @param offset * @param len * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_write_buf( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, char *buf, int offset, axis2_ssize_t len); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @param str pointer to str * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_print_str( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, const char *str); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @param i * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_print_int( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, int i); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @param str pointer to str * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_println_str( axis2_http_response_writer_t * response_writer, const axutil_env_t * env, const char *str); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_response_writer_println( axis2_http_response_writer_t * response_writer, const axutil_env_t * env); /** * @param response_writer pointer to response writer * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_http_response_writer_free( axis2_http_response_writer_t * response_writer, const axutil_env_t * env); /** * @param env pointer to environment struct * @param stream pointer to stream */ AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL axis2_http_response_writer_create( const axutil_env_t * env, axutil_stream_t * stream); /** * @param env pointer to environment struct * @param stream pointer to stream * @param encoding pointer to encoding */ AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL axis2_http_response_writer_create_with_encoding( const axutil_env_t * env, axutil_stream_t * stream, const axis2_char_t * encoding); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_RESPONSE_WRITER_H */ axis2c-src-1.6.0/include/axis2_http_transport.h0000644000175000017500000006225611166304541022645 0ustar00manjulamanjula00000000000000 /* * Copyright 2004,2005 The Apache Software Foundation. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain count copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_TRANSPORT_H #define AXIS2_HTTP_TRANSPORT_H #include #include #include #ifdef __cplusplus extern "C" { #endif /** @defgroup axis2_core_trans_http http transport * @ingroup axis2_transport * Description. * @{ */ /** * @defgroup axis2_core_transport_http core http transport * @ingroup axis2_core_trans_http * @{ */ /** * @brief HTTP protocol and message context constants. * */ #define AXIS2_HTTP_OUT_TRANSPORT_INFO "HTTPOutTransportInfo" /** * CARRIAGE RETURN AND LINE FEED */ #define AXIS2_HTTP_CRLF AXIS2_CRLF /** * PROTOCOL_VERSION */ #define AXIS2_HTTP_PROTOCOL_VERSION "PROTOCOL" /** * REQUEST_URI */ #define AXIS2_HTTP_REQUEST_URI "REQUEST_URI" /** * RESPONSE_CODE */ #define AXIS2_HTTP_RESPONSE_CODE "RESPONSE_CODE" /** * RESPONSE_WORD */ #define AXIS2_HTTP_RESPONSE_WORD "RESPONSE_WORD" /* * RESPONSE_CONTINUE_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_VAL 100 /* * RESPONSE_OK_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_OK_CODE_VAL 200 /* * RESPONSE_CREATED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_CREATED_CODE_VAL 201 /** * RESPONSE_ACK_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_ACK_CODE_VAL 202 /** * RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_VAL 203 /** * RESPONSE_NO_CONTENT_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_VAL 204 /** * RESPONSE_RESET_CONTENT_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_VAL 205 /** * RESPONSE_MULTIPLE_CHOICES_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_VAL 300 /** * RESPONSE_MOVED_PERMANENTLY_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_VAL 301 /** * RESPONSE_SEE_OTHER_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_VAL 303 /** * RESPONSE_NOT_MODIFIED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_VAL 304 /** * RESPONSE_TEMPORARY_REDIRECT_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_VAL 307 /** * RESPONSE_BAD_REQUEST_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_VAL 400 /** * RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_VAL 401 /** * RESPONSE_HTTP_FORBIDDEN_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_FORBIDDEN_CODE_VAL 403 /** * RESPONSE_NOT_FOUND_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_VAL 404 /** * RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_VAL 405 /** * RESPONSE_NOT_ACCEPTABLE_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_VAL 406 /** * RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_VAL 407 /** * RESPONSE_REQUEST_TIMEOUT_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_VAL 408 /** * RESPONSE_CONFLICT_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_VAL 409 /** * RESPONSE_GONE_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_GONE_CODE_VAL 410 /** * RESPONSE_LENGTH_REQUIRED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_VAL 411 /** * RESPONSE_PRECONDITION_FAILED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_VAL 412 /** * RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_VAL 413 /** * RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_VAL 500 /** * RESPONSE_NOT_IMPLEMENTED_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_VAL 501 /** * RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL */ #define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_VAL 503 /** * RESPONSE_CONTINUE_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_CONTINUE_CODE_NAME "Continue" /** * RESPONSE_OK_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_OK_CODE_NAME "OK" /* * RESPONSE_CREATED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_CREATED_CODE_NAME "Created" /** * RESPONSE_ACK_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_ACK_CODE_NAME "Accepted" /** * RESPONSE_NO_CONTENT_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_NO_CONTENT_CODE_NAME "No Content" /** * RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_NON_AUTHORITATIVE_INFO_CODE_NAME "Non-Authoritative Information" /** * RESPONSE_RESET_CONTENT_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_RESET_CONTENT_CODE_NAME "Reset Content" /** * RESPONSE_MULTIPLE_CHOICES_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_MULTIPLE_CHOICES_CODE_NAME "Multiple Choices" /** * RESPONSE_MOVED_PERMANENTLY_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_MOVED_PERMANENTLY_CODE_NAME "Moved Permanently" /** * RESPONSE_SEE_OTHER_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_SEE_OTHER_CODE_NAME "See Other" /** * RESPONSE_NOT_MODIFIED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_NOT_MODIFIED_CODE_NAME "Not Modified" /** * RESPONSE_TEMPORARY_REDIRECT_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_TEMPORARY_REDIRECT_CODE_NAME "Temporary Redirect" /** * RESPONSE_BAD_REQUEST_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_BAD_REQUEST_CODE_NAME "Bad Request" /** * RESPONSE_HTTP_UNAUTHORIZED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED_CODE_NAME "Unauthorized" /** * RESPONSE_HTTP_FORBIDDEN_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN_CODE_NAME "Forbidden" /** * RESPONSE_NOT_FOUND_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_NOT_FOUND_CODE_NAME "Not Found" /** * RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_METHOD_NOT_ALLOWED_CODE_NAME "Method Not Allowed" /** * RESPONSE_NOT_ACCEPTABLE_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_NOT_ACCEPTABLE_CODE_NAME "Not Acceptable" /** * RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED_CODE_NAME "Proxy Authentication Required" /** * RESPONSE_REQUEST_TIMEOUT_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_REQUEST_TIMEOUT_CODE_NAME "Request Timeout" /** * RESPONSE_CONFLICT_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_CONFLICT_CODE_NAME "Conflict" /** * RESPONSE_GONE_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_GONE_CODE_NAME "Gone" /** * RESPONSE_LENGTH_REQUIRED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_LENGTH_REQUIRED_CODE_NAME "Length Required" /** * RESPONSE_PRECONDITION_FAILED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_PRECONDITION_FAILED_CODE_NAME "Precondition Failed" /** * RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_REQUEST_ENTITY_TOO_LARGE_CODE_NAME "Request Entity Too Large" /** * RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR_CODE_NAME "Internal Server Error" /** * RESPONSE_NOT_IMPLEMENTED_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_NOT_IMPLEMENTED_CODE_NAME "Not Implemented" /** * RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME */ #define AXIS2_HTTP_RESPONSE_SERVICE_UNAVAILABLE_CODE_NAME "Service Unavailable" /** * SOCKET */ #define AXIS2_SOCKET "SOCKET" /** * HEADER_PROTOCOL_10 */ #define AXIS2_HTTP_HEADER_PROTOCOL_10 "HTTP/1.0" /** * HEADER_PROTOCOL_11 */ #define AXIS2_HTTP_HEADER_PROTOCOL_11 "HTTP/1.1" /** * CHAR_SET_ENCODING */ #define AXIS2_HTTP_CHAR_SET_ENCODING "charset" /** * HEADER_POST */ #define AXIS2_HTTP_POST "POST" /** * HEADER_GET */ #define AXIS2_HTTP_GET "GET" /** * HEADER_HEAD */ #define AXIS2_HTTP_HEAD "HEAD" /** * HEADER_PUT */ #define AXIS2_HTTP_PUT "PUT" /** * HEADER_DELETE */ #define AXIS2_HTTP_DELETE "DELETE" /** * HEADER_HOST */ #define AXIS2_HTTP_HEADER_HOST "Host" /** * HEADER_CONTENT_DESCRIPTION */ #define AXIS2_HTP_HEADER_CONTENT_DESCRIPTION "Content-Description" /** * HEADER_CONTENT_TYPE */ #define AXIS2_HTTP_HEADER_CONTENT_TYPE "Content-Type" #define AXIS2_HTTP_HEADER_CONTENT_TYPE_ "Content-Type: " /** *USER DEFINED HEADER CONTENT TYPE */ #define AXIS2_USER_DEFINED_HTTP_HEADER_CONTENT_TYPE "User_Content_Type" /** * HEADER_CONTENT_TYPE */ #define AXIS2_HTTP_HEADER_CONTENT_TYPE_MIME_BOUNDARY "boundary" /** * HEADER_CONTENT_TRANSFER_ENCODING */ #define AXIS2_HTTP_HEADER_CONTENT_TRANSFER_ENCODING \ "Content-Transfer-Encoding" /** * HEADER_CONTENT_LENGTH */ #define AXIS2_HTTP_HEADER_CONTENT_LENGTH "Content-Length" /** * HEADER_CONTENT_LANGUAGE */ #define AXIS2_HTTP_HEADER_CONTENT_LANGUAGE "Content-Language" #define AXIS2_HTTP_HEADER_CONTENT_LENGTH_ "Content-Length: " /** * HEADER_CONTENT_LOCATION */ #define AXIS2_HTTP_HEADER_CONTENT_LOCATION "Content-Location" /** * HEADER_CONTENT_ID */ #define AXIS2_HTTP_HEADER_CONTENT_ID "Content-Id" /** * HEADER_SOAP_ACTION */ #define AXIS2_HTTP_HEADER_SOAP_ACTION "SOAPAction" #define AXIS2_HTTP_HEADER_SOAP_ACTION_ "SOAPAction: " /** * HEADER_AUTHORIZATION */ #define AXIS2_HTTP_HEADER_AUTHORIZATION "Authorization" /** * HEADER_WWW_AUTHENTICATE */ #define AXIS2_HTTP_HEADER_WWW_AUTHENTICATE "WWW-Authenticate" /** * HEADER_PROXY_AUTHENTICATE */ #define AXIS2_HTTP_HEADER_PROXY_AUTHENTICATE "Proxy-Authenticate" /** * HEADER_PROXY_AUTHORIZATION */ #define AXIS2_HTTP_HEADER_PROXY_AUTHORIZATION "Proxy-Authorization" /** * AUTHORIZATION_REQUEST_PARAM_REALM */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_REALM "realm" /** * AUTHORIZATION_REQUEST_PARAM_DOMAIN */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_DOMAIN "domain" /** * AUTHORIZATION_REQUEST_PARAM_NONCE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE "nonce" /** * AUTHORIZATION_REQUEST_PARAM_OPAQUE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_OPAQUE "opaque" /** * AUTHORIZATION_REQUEST_PARAM_STALE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_STALE "stale" /** * AUTHORIZATION_REQUEST_PARAM_ALGORITHM */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_ALGORITHM "algorithm" /** * AUTHORIZATION_REQUEST_PARAM_QOP */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_QOP "qop" /** * AUTHORIZATION_REQUEST_PARAM_USERNAME */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_USERNAME "username" /** * AUTHORIZATION_REQUEST_PARAM_URI */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_URI "uri" /** * AUTHORIZATION_REQUEST_PARAM_RESPONSE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_RESPONSE "response" /** * AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_NONCE_COUNT "nc" /** * AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_PARAM_CLIENT_NONCE "cnonce" /** * AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_DEFAULT_CLIENT_NONCE "00000001" /** * AUTHORIZATION_REQUEST_QOP_OPTION_AUTH */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH "auth" /** * AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INT */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_QOP_OPTION_AUTH_INT "auth-int" /** * AUTHORIZATION_REQUEST_STALE_STATE_TRUE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_TRUE "true" /** * AUTHORIZATION_REQUEST_STALE_STATE_FALSE */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_STALE_STATE_FALSE "false" /** * AUTHORIZATION_REQUEST_ALGORITHM_MD5 */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5 "MD5" /** * AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESS */ #define AXIS2_HTTP_AUTHORIZATION_REQUEST_ALGORITHM_MD5_SESS "MD5-sess" /** * HEADER_EXPECT */ #define AXIS2_HTTP_HEADER_EXPECT "Expect" /** * HEADER_EXPECT_100_Continue */ #define AXIS2_HTTP_HEADER_EXPECT_100_CONTINUE "100-continue" /** * HEADER_USER_AGENT */ #define AXIS2_HTTP_HEADER_USER_AGENT "User-Agent" /** * HEADER_USER_AGENT_AXIS2C */ #define AXIS2_HTTP_HEADER_USER_AGENT_AXIS2C "User-Agent: Axis2C/" AXIS2_VERSION_STRING /** * HEADER_SERVER */ #define AXIS2_HTTP_HEADER_SERVER "Server" /** * HEADER_DATE */ #define AXIS2_HTTP_HEADER_DATE "Date" /** * HEADER_SERVER_AXIS2C */ #define AXIS2_HTTP_HEADER_SERVER_AXIS2C "Axis2C/" AXIS2_VERSION_STRING #define AXIS2_HTTP_HEADER_ACCEPT_ "Accept: " #define AXIS2_HTTP_HEADER_EXPECT_ "Expect: " /** * HEADER_CACHE_CONTROL */ #define AXIS2_HTTP_HEADER_CACHE_CONTROL "Cache-Control" /** * HEADER_CACHE_CONTROL_NOCACHE */ #define AXIS2_HTTP_HEADER_CACHE_CONTROL_NOCACHE "no-cache" /** * HEADER_PRAGMA */ #define AXIS2_HTTP_HEADER_PRAGMA "Pragma" /** * HEADER_LOCATION */ #define AXIS2_HTTP_HEADER_LOCATION "Location" /** * REQUEST_HEADERS */ #define AXIS2_HTTP_REQUEST_HEADERS "HTTP-Request-Headers" /** * RESPONSE_HEADERS */ #define AXIS2_HTTP_RESPONSE_HEADERS "HTTP-Response-Headers" /* http 1.1 */ /** * HEADER_TRANSFER_ENCODING */ #define AXIS2_HTTP_HEADER_TRANSFER_ENCODING "Transfer-Encoding" /** * HEADER_TRANSFER_ENCODING_CHUNKED */ #define AXIS2_HTTP_HEADER_TRANSFER_ENCODING_CHUNKED "chunked" /** * HEADER_CONNECTION */ #define AXIS2_HTTP_HEADER_CONNECTION "Connection" /** * HEADER_CONNECTION_CLOSE */ #define AXIS2_HTTP_HEADER_CONNECTION_CLOSE "close" /** * HEADER_CONNECTION_KEEPALIVE */ #define AXIS2_HTTP_HEADER_CONNECTION_KEEPALIVE "Keep-Alive" /** * HEADER_ACCEPT */ #define AXIS2_HTTP_HEADER_ACCEPT "Accept" /** * HEADER_ACCEPT_CHARSET */ #define AXIS2_HTTP_HEADER_ACCEPT_CHARSET "Accept-Charset" /** * AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE */ #define AXIS2_HTTP_HEADER_ACCEPT_LANGUAGE "Accept-Language" /** * HEADER_ALLOW */ #define AXIS2_HTTP_HEADER_ALLOW "Allow" /** * HEADER_ACCEPT_ALL */ #define AXIS2_HTTP_HEADER_ACCEPT_ALL "*/*" /** * HEADER_ACCEPT_TEXT_ALL */ #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_ALL "text/*" /** * HEADER_ACCEPT_TEXT_PLAIN */ #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_PLAIN "text/plain" /** * HEADER_ACCEPT_TEXT_HTML */ #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_HTML "text/html" /** * HEADER APPLICATION_XML */ #define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_XML "application/xml" /** * HEADER_ACCEPT_TEXT_XML */ #define AXIS2_HTTP_HEADER_ACCEPT_TEXT_XML "text/xml" /** * HEADER_ACCEPT_APPL_SOAP */ #define AXIS2_HTTP_HEADER_ACCEPT_APPL_SOAP "application/soap+xml" /** * HEADER_ACCEPT_X_WWW_FORM_URLENCODED */ #define AXIS2_HTTP_HEADER_ACCEPT_X_WWW_FORM_URLENCODED "application/x-www-form-urlencoded" /** * HEADER XOP XML */ #define AXIS2_HTTP_HEADER_ACCEPT_XOP_XML AXIOM_MIME_TYPE_XOP_XML /** * HEADER_ACCEPT_MULTIPART_RELATED */ #define AXIS2_HTTP_HEADER_ACCEPT_MULTIPART_RELATED AXIOM_MIME_TYPE_MULTIPART_RELATED /** * HEADER_ACCEPT_APPLICATION_DIME */ #define AXIS2_HTTP_HEADER_ACCEPT_APPLICATION_DIME "application/dime" /** * Cookie headers */ #define AXIS2_HTTP_HEADER_COOKIE "Cookie" /** * HEADER_COOKIE2 */ #define AXIS2_HTTP_HEADER_COOKIE2 "Cookie2" /** * HEADER_SET_COOKIE */ #define AXIS2_HTTP_HEADER_SET_COOKIE "Set-Cookie" /** * HEADER_SET_COOKIE2 */ #define AXIS2_HTTP_HEADER_SET_COOKIE2 "Set-Cookie2" /** * HTTP header field values */ #define AXIS2_HTTP_HEADER_DEFAULT_CHAR_ENCODING "iso-8859-1" /** * REPONSE_HTTP_OK */ #define AXIS2_HTTP_RESPONSE_OK "200 OK" /** * RESPONSE_HTTP_NOCONTENT */ #define AXIS2_HTTP_RESPONSE_NOCONTENT "202 OK"; /** * RESPONSE_HTTP_UNAUTHORIZED */ #define AXIS2_HTTP_RESPONSE_HTTP_UNAUTHORIZED "401 Unauthorized" /** * RESPONSE_HTTP_FORBIDDEN */ #define AXIS2_HTTP_RESPONSE_HTTP_FORBIDDEN "403 Forbidden" /** * RESPONSE_PROXY_AUTHENTICATION_REQUIRED */ #define AXIS2_HTTP_RESPONSE_PROXY_AUTHENTICATION_REQUIRED "407 Proxy Authentication Required" /** * RESPONSE_BAD_REQUEST */ #define AXIS2_HTTP_RESPONSE_BAD_REQUEST "400 Bad Request" /** * RESPONSE_HTTP_INTERNAL_SERVER_ERROR */ #define AXIS2_HTTP_RESPONSE_INTERNAL_SERVER_ERROR "500 Internal Server Error" /** * HTTP_REQ_TYPE */ #define AXIS2_HTTP_REQ_TYPE "HTTP_REQ_TYPE" /** * SO_TIMEOUT */ #define AXIS2_HTTP_SO_TIMEOUT "SO_TIMEOUT" /** * CONNECTION_TIMEOUT */ #define AXIS2_HTTP_CONNECTION_TIMEOUT "CONNECTION_TIMEOUT" /** * DEFAULT_SO_TIMEOUT */ #define AXIS2_HTTP_DEFAULT_SO_TIMEOUT 60000 /** * DEFAULT_CONNECTION_TIMEOUT */ #define AXIS2_HTTP_DEFAULT_CONNECTION_TIMEOUT 60000 #define AXIS2_HTTP_PROXY "PROXY" /** * ISO-8859-1 encoding */ #define AXIS2_HTTP_ISO_8859_1 "ISO-8859-1" /** * Default charset in content */ #define AXIS2_HTTP_DEFAULT_CONTENT_CHARSET "ISO-8859-1" /** * Field TRANSPORT_HTTP */ #define AXIS2_TRANSPORT_HTTP "http" /** * Msg context response written key */ #define AXIS2_RESPONSE_WRITTEN "CONTENT_WRITTEN" /** * Content type for MTOM */ #define MTOM_RECIVED_CONTENT_TYPE "MTOM_RECEIVED" /** * Constant for HTTP authentication */ #define AXIS2_HTTP_AUTHENTICATION "HTTP-Authentication" /** * Constant for HTTP authentication username */ #define AXIS2_HTTP_AUTHENTICATION_USERNAME "username" /** * Constant for HTTP authentication password */ #define AXIS2_HTTP_AUTHENTICATION_PASSWORD "password" /** * Constant for HTTP proxy */ #define AXIS2_HTTP_PROXY "PROXY" /** * Constant for HTTP proxy host */ #define AXIS2_HTTP_PROXY_HOST "proxy_host" /** * Constant for HTTP proxy port */ #define AXIS2_HTTP_PROXY_PORT "proxy_port" /** * Constant for HTTP proxy username */ #define AXIS2_HTTP_PROXY_USERNAME "proxy_username" /** * Constant for HTTP proxy password */ #define AXIS2_HTTP_PROXY_PASSWORD "proxy_password" #define AXIS2_HTTP_PROXY_API "PROXY_API" /** * Constant for HTTP method */ #define AXIS2_HTTP_METHOD "HTTP_METHOD" /** * Constant for SSL Server Certificate */ #define AXIS2_SSL_SERVER_CERT "SERVER_CERT" /** * Constant for SSL Key File */ #define AXIS2_SSL_KEY_FILE "KEY_FILE" /** * Constant for SSL Passphrase */ #define AXIS2_SSL_PASSPHRASE "SSL_PASSPHRASE" /** * HTTP authentication username property name */ #define AXIS2_HTTP_AUTH_UNAME "HTTP_AUTH_USERNAME" /** * HTTP authentication password property name */ #define AXIS2_HTTP_AUTH_PASSWD "HTTP_AUTH_PASSWD" /** * Proxy authentication username property name */ #define AXIS2_PROXY_AUTH_UNAME "PROXY_AUTH_USERNAME" /** * Proxy authentication password property name */ #define AXIS2_PROXY_AUTH_PASSWD "PROXY_AUTH_PASSWD" /*#define AXIS2_HTTP_AUTH_TYPE "HTTP_AUTH_TYPE"*/ /** * HTTP "Basic" authentication */ #define AXIS2_HTTP_AUTH_TYPE_BASIC "Basic" /** * HTTP "Digest" authentication */ #define AXIS2_HTTP_AUTH_TYPE_DIGEST "Digest" /** * Proxy "Basic" authentication */ #define AXIS2_PROXY_AUTH_TYPE_BASIC "Basic" /** * Proxy "Digest" authentication */ #define AXIS2_PROXY_AUTH_TYPE_DIGEST "Digest" /** *HTTP Transport Level Error */ #define AXIS2_HTTP_TRANSPORT_ERROR "http_transport_error" /** *415 Unsupported media Type */ #define AXIS2_HTTP_UNSUPPORTED_MEDIA_TYPE "415 Unsupported Media Type\r\n" /** *Constant for HTTP headers that user specify, Those headers will *provided as property to the message context. */ #define AXIS2_TRANSPORT_HEADER_PROPERTY "HTTP_HEADER_PROPERTY" #define AXIS2_TRANSPORT_URL_HTTPS "HTTPS" #define AXIS2_Q_MARK_STR "?" #define AXIS2_Q_MARK '?' #define AXIS2_H_MARK '#' #define AXIS2_ALL "ALL" #define AXIS2_USER_AGENT "Axis2C/" AXIS2_VERSION_STRING #define AXIS2_AND_SIGN "&" #define AXIS2_ESC_DOUBLE_QUOTE '\"' #define AXIS2_ESC_DOUBLE_QUOTE_STR "\"" #define AXIS2_ESC_SINGLE_QUOTE '\'' #define AXIS2_DOUBLE_QUOTE '"' #define AXIS2_ESC_NULL '\0' #define AXIS2_SEMI_COLON_STR ";" #define AXIS2_SEMI_COLON ';' #define AXIS2_COLON ':' #define AXIS2_COLON_STR ":" #define AXIS2_CONTENT_TYPE_ACTION ";action=\"" #define AXIS2_CONTENT_TYPE_CHARSET ";charset=" #define AXIS2_CHARSET "charset" #define AXIS2_PORT_STRING "port" #define AXIS2_DEFAULT_HOST_ADDRESS "127.0.0.1" #define AXIS2_DEFAULT_SVC_PATH "/axis2/services/" #define AXIS2_HTTP_PROTOCOL "http" #define AXIS2_HTTP "HTTP" #define AXIS2_SPACE_COMMA " ," #define AXIS2_COMMA ',' #define AXIS2_Q 'q' #define AXIS2_EQ_N_SEMICOLON " =;" #define AXIS2_LEVEL "level" #define AXIS2_SPACE_SEMICOLON " ;" #define AXIS2_SPACE ' ' #define AXIS2_RETURN '\r' #define AXIS2_NEW_LINE '\n' #define AXIS2_F_SLASH '/' #define AXIS2_B_SLASH '\\' #define AXIS2_EQ '=' #define AXIS2_AND '&' #define AXIS2_PERCENT '%' #define AXIS2_HTTP_SERVER " (Simple Axis2 HTTP Server)" #define AXIS2_COMMA_SPACE_STR ", " #define AXIS2_SPACE_TAB_EQ " \t=" #define AXIS2_ACTION "action" /* Error Messages */ #define AXIS2_HTTP_NOT_FOUND "404 Not Found\

    Not Found

    The requested URL was not found on this server.\

    " #define AXIS2_HTTP_NOT_IMPLEMENTED "501 Not Implemented\

    Not Implemented

    The requested Method is not\ implemented on this server.

    " #define AXIS2_HTTP_INTERNAL_SERVER_ERROR "500 Internal Server\ Error

    Internal Server Error

    The server \ encountered an unexpected condition which prevented it from fulfilling the \ request.

    " #define AXIS2_HTTP_METHOD_NOT_ALLOWED "405 Method Not Allowed\

    Method Not Allowed

    The requested method is not\ allowed for this URL.

    " #define AXIS2_HTTP_NOT_ACCEPTABLE "406 Not Acceptable\

    Not Acceptable

    An appropriate representation of \ the requested resource could not be found on this server.

    " #define AXIS2_HTTP_BAD_REQUEST "400 Bad Request\

    Bad Request

    Your client sent a request that this server\ could not understand.

    " #define AXIS2_HTTP_REQUEST_TIMEOUT "408 Request Timeout\

    Request Timeout

    Cannot wait any longer for \ the HTTP request from the client.

    " #define AXIS2_HTTP_CONFLICT "409 Conflict\

    Conflict

    The client attempted to put the server\'s resources\ into an invalid state.

    " #define AXIS2_HTTP_GONE "410 Gone\

    Gone

    The requested resource is no longer available on this server.\

    " #define AXIS2_HTTP_PRECONDITION_FAILED "412 Precondition \ Failed

    Precondition Failed

    A precondition for\ the requested URL failed.

    " #define AXIS2_HTTP_TOO_LARGE "413 Request Entity Too Large\

    Request Entity Too Large

    The data provided in\ the request is too large or the requested resource does not allow request \ data.

    " #define AXIS2_HTTP_SERVICE_UNAVILABLE "503 Service \ Unavailable

    Service Unavailable

    The service\ is temporarily unable to serve your request.

    " /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_TRANSPORT_H */ axis2c-src-1.6.0/include/axis2_conf_ctx.h0000644000175000017500000002737011166304541021353 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CONF_CTX_H #define AXIS2_CONF_CTX_H /** * @defgroup axis2_conf_ctx configuration context * @ingroup axis2_context * configuration context is the holder for all the state information * related to configuration. It holds all the service group context, service * context and operation context that exists within an engine instance. * An engine instance has only one configuration context associated with it * (Singleton pattern). * @{ */ /** * @file axis2_conf_ctx.h */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_conf_ctx */ typedef struct axis2_conf_ctx axis2_conf_ctx_t; struct axis2_conf; /** * Creates a configuration context struct instance. * @param env pointer to environment struct * @param conf pointer to configuration, configuration context assumes * ownership of the configuration * @return pointer to newly created configuration context */ AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_conf_ctx_create( const axutil_env_t * env, struct axis2_conf *conf); /** * Sets the configuration associated with the engine instance. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param conf pointer to configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_set_conf( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, struct axis2_conf *conf); /** * Gets the base struct, which is of type context * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return pointer to context struct, returns a reference not a cloned * copy */ AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_conf_ctx_get_base( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * Gets the configuration of the engine. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return pointer to configuration struct, returns a reference not a * cloned copy */ AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_conf_ctx_get_conf( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * Gets the hash map of operation context instances. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return pointer to hash map containing all operation contexts */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_ctx_get_op_ctx_map( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * Gets the hash map of service context instances. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return pointer to hash map containing all service contexts */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_ctx_get_svc_ctx_map( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * Gets the hash map of service group context instances. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return pointer to hash map containing all service group contexts */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_ctx_get_svc_grp_ctx_map( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * Registers an operation context with the given message ID. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param message_id message id related to the operation context * @param op_ctx pointer to operation context, conf context assumes * ownership of the operation context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_register_op_ctx( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * message_id, axis2_op_ctx_t * op_ctx); /** * Gets operation context corresponding to the given message ID. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param message_id message ID related to the operation to be retrieved * @return pointer to operation context related to the given message ID */ AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_conf_ctx_get_op_ctx( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * message_id); /** * Registers a service context with the given service ID. * @param conf_ctx pointer t configuration context * @param env pointer to environment struct * @param svc_id ID of the service to be added * @param svc_ctx pointer to service context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_register_svc_ctx( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_id, axis2_svc_ctx_t * svc_ctx); /** * Gets service context with the given service ID * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param svc_id service ID * @return pointer to service context with the given service ID */ AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL axis2_conf_ctx_get_svc_ctx( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_id); /** * Registers a service group context with the given service group ID. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param svc_grp_id service group id * @param svc_grp_ctx pointer to service group context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_register_svc_grp_ctx( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_grp_id, axis2_svc_grp_ctx_t * svc_grp_ctx); /** * Gets service group with the given service group ID. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param svc_grp_id service group id * @return pointer to service group context with the given ID */ AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_conf_ctx_get_svc_grp_ctx( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * svc_grp_id); /** * Gets the root working directory. It is in this directory that the * axis2.xml configuration file is located. The services and modules * sub folders too are located in this directory. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return pointer to string containing the root folder name */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_ctx_get_root_dir( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * Sets the root working directory. It is in this directory that the * axis2.xml configuration file is located. The services and modules * sub folders too are located in this directory. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param path string containing the path of root directory * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_set_root_dir( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * path); /** * Initializes the configuration context. Within this function, it would * initialize all the service group context, service context and * operation context instances stored within configuration context. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param conf pointer to configuration struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_init( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, axis2_conf_t * conf); /** * Frees configuration context struct. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_conf_ctx_free( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env); /** * This method fills the context hierarchy (service group, service and * operation contexts that is) for the service and operation found in * the given message context. If the context hierarchy is not already * built it will create the contexts and build the context hierarchy. * @param conf_ctx pointer to configuration context * @param env pointer to environment struct * @param msg_ctx pointer to message context with service and operation * for which the context hierarchy is to be built set * @return pointer to the service group context, which is the root of * the context hierarchy for given service and operation */ AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_conf_ctx_fill_ctxs( axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Sets a property with the given key. * @param ctx pointer to context struct * @param env pointer to environment struct * @param key key string to store the property with * @param value pointer to property to be stored, context assumes the * ownership of the property * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_ctx_set_property( axis2_conf_ctx_t *conf_ctx, const axutil_env_t * env, const axis2_char_t * key, axutil_property_t * value); /** * Gets the property with the given key. * @param ctx pointer to context struct * @param env pointer to environment struct * @param key key string * @return pointer to property struct corresponding to the given key */ AXIS2_EXTERN axutil_property_t *AXIS2_CALL axis2_conf_ctx_get_property( const axis2_conf_ctx_t * conf_ctx, const axutil_env_t * env, const axis2_char_t * key); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CONF_CTX_H */ axis2c-src-1.6.0/include/axis2_op_client.h0000644000175000017500000003776111166304541021531 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_OP_CLIENT_H #define AXIS2_OP_CLIENT_H /** * @defgroup axis2_client_api client API * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_op_client operation client * @ingroup axis2_client_api * The operation client is meant to be used by advanced users to consume services. * Operation client understands a specific Message Exchange Pattern (op) and * hence the behavior is defined by the op. * To consume services with an operation client, an operation (of type axis2_op_t) * and a service context (of type axis2_svc_ctx_t) * has to be provided along with options to be used. The execute() function * can be used to send the request and get the response. * The service client implementation uses the operation client and provides an * easy to use API for consuming services. Hence the service client * implementation is a very good example of how to use the operation client API. * @sa axis2_svc_client * @{ */ /** * @file axis2_op_client.h */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_op_client */ typedef struct axis2_op_client axis2_op_client_t; struct axis2_callback_recv; /** * Sets the options that is to be used by this operation client. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param options pointer to options struct to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_options( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_options_t * options); /** * Gets options used by operation client. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @return a pointer to the options struct if options set, else NULL. * Returns a reference, not a cloned copy. */ AXIS2_EXTERN const axis2_options_t *AXIS2_CALL axis2_op_client_get_options( const axis2_op_client_t * op_client, const axutil_env_t * env); /** * Adds a message context to the client for processing. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param msg_ctx message context to be added. operation client takes * over the ownership of the message context struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_add_msg_ctx( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Adds out message context to the client for processing. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param msg_ctx message context to be added. operation client takes * over the ownership of the message context struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_add_out_msg_ctx( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Gets a message corresponding to the given label. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param message_label the message label of the desired message context * @return the desired message context or NULL if its not available. * Returns a reference, not a cloned copy. */ AXIS2_EXTERN const axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_get_msg_ctx( const axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_wsdl_msg_labels_t message_label); /** * Sets the callback to be executed when a response message is received. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param callback the callback to be used. operation client takes * over the ownership of the message context struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_callback( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_callback_t * callback); /** * Gets the callback. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @return callback */ AXIS2_EXTERN axis2_callback_t *AXIS2_CALL axis2_op_client_get_callback( axis2_op_client_t * op_client, const axutil_env_t * env); /** * Execute the op. What this does depends on the specific operation client. * The basic idea is to have the operation client execute and do something * with the messages that have been added to it so far. For example, if its * an Out-In op, and if the Out message has been set, then executing the * client asks it to send the out message and get the in message * @param op_client pointer to operation client * @param env pointer to environment struct * @param block indicates whether execution should block or return ASAP * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_execute( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_bool_t block); /** * Resets the operation client to a clean status after the op has completed. * This is how you can reuse an operation client. Note that this does not reset * the options; only the internal state so the client can be used again. * @param op_client pointer to operation client * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_reset( axis2_op_client_t * op_client, const axutil_env_t * env); /** * Completes the execution by closing the transports if necessary. * This method is useful when client uses two transports for sending and * receiving. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param msg_ctx message context which contains the transport information * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_complete( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Gets the operation context of the operation client. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @return operation context related to operation client */ AXIS2_EXTERN axis2_op_ctx_t *AXIS2_CALL axis2_op_client_get_operation_context( const axis2_op_client_t * op_client, const axutil_env_t * env); /** * Sets callback receiver. * @param op_client pointer to operation client struct * @param env pointer to environment struct * @param callback_recv pointer to callback receiver struct. * operation client assumes ownership of the callback struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_callback_recv( axis2_op_client_t * op_client, const axutil_env_t * env, struct axis2_callback_recv *callback_recv); /** * Frees the operation client * @param op_client pointer to operation client struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_client_free( axis2_op_client_t * op_client, const axutil_env_t * env); /** * Creates an operation client struct for the specified operation, service * context and given options. * @param env pointer to environment struct * @param op pointer to operation struct corresponding to the operation to * to be executed. Newly created client assumes ownership of the operation. * @param svc_ctx pointer to service context struct representing the service * to be consumed. Newly created client assumes ownership of the service * context. * @param options options to be used by operation client. Newly created * client assumes ownership of the options * context. * @return a pointer to newly created operation client struct, * or NULL on error with error code set in environment's error */ AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL axis2_op_client_create( const axutil_env_t * env, axis2_op_t * op, axis2_svc_ctx_t * svc_ctx, axis2_options_t * options); /** * Gets SOAP action. * @param op_client pointer to op client struct * @param env pointer to environment struct * @return a pointer to SOAP action string */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_op_client_get_soap_action( const axis2_op_client_t * op_client, const axutil_env_t * env); /** * Prepares the message context for invocation. Here the properties kept * in the op_client are copied to the message context. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param op pointer operation to be invoked * @param msg_ctx pointer to message context to be filled * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_prepare_invocation( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_op_t * op, axis2_msg_ctx_t * msg_ctx); /** * Prepares the SOAP envelope using the payload. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param to_send payload to be sent in AXIOM node format * @return a pointer to message context struct filled with the SOAP * envelope to be sent */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_prepare_soap_envelope( axis2_op_client_t * op_client, const axutil_env_t * env, axiom_node_t * to_send); /** * Tries to infer the transport looking at the URL, the URL can be http:// * tcp:// mail:// local://. The method will look for the transport name as the * protocol part of the transport. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param epr endpoint reference struct representing the endpoint URL * @return pointer to the transport description with inferred information */ AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_op_client_infer_transport( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_endpoint_ref_t * epr); /** * Creates default SOAP envelope. * @param op_client pointer to op client struct * @param env pointer to environment struct * @return pointer to default SOAP envelope created */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_op_client_create_default_soap_envelope( axis2_op_client_t * op_client, const axutil_env_t * env); /** * Engage named module. The named module must have been configured in * the Axis2 configuration. For a module to be detected by the * deployment engine, the modules has to be placed in the * AXIS2_REPOSITORY/modules directory. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param qname QName representing the module name * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_engage_module( axis2_op_client_t * op_client, const axutil_env_t * env, const axutil_qname_t * qname); /** * Sets SOAP version URI. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param soap_version_uri SOAP version URI * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_soap_version_uri( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_char_t * soap_version_uri); /** * Sets SOAP action. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param soap_action SOAP action * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_soap_action( axis2_op_client_t * op_client, const axutil_env_t * env, axutil_string_t * soap_action); /** * Sets WSA action. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param wsa_action Web services Addressing action * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_client_set_wsa_action( axis2_op_client_t * op_client, const axutil_env_t * env, const axis2_char_t * wsa_action); /** * Gets service context. * @param op_client pointer to op client struct * @param env pointer to environment struct * @return pointer to service context struct if set, else NULL */ AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_op_client_get_svc_ctx( const axis2_op_client_t * op_client, const axutil_env_t * env); /** * Sets whether to reuse op client. * @param op_client pointer to op client struct * @param env pointer to environment struct * @param reuse flag is a boolean value * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_client_set_reuse( axis2_op_client_t * op_client, const axutil_env_t * env, axis2_bool_t reuse); /** * Sends a message represented by the given message context and captures * the response in return message context. * @param env pointer to environment struct * @param msg_ctx pointer to message context representing the message to * be sent * @return message context representing the received response */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_two_way_send( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Receives a message corresponding to a request depicted by given * message context. * @param env pointer to environment struct * @param msg_ctx pointer to message context representing the response to * be received * @return message context representing the received response */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_op_client_receive( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_OP_CLIENT_H */ axis2c-src-1.6.0/include/axis2_addr_mod.h0000644000175000017500000000401711166304541021312 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ADDR_MOD_H #define AXIS2_ADDR_MOD_H /** * @defgroup axis2_mod_addr WS-Addressing Module * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_addr_mod addressing module interface * @ingroup axis2_mod_addr * @{ */ /** * @file axis2_addr_mod.h */ #include #ifdef __cplusplus extern "C" { #endif #define ADDR_IN_HANDLER "AddressingInHandler" #define ADDR_OUT_HANDLER "AddressingOutHandler" /** * Creates Addressing in handler * @param env pointer to environment struct * @param name name of handler * @return returns reference to handler created */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_addr_in_handler_create( const axutil_env_t * env, axutil_string_t * name); /** * Creates Addressing out handler * @param env pointer to environment struct * @param name name of handler * @return returns reference to handler created */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_addr_out_handler_create( const axutil_env_t * env, axutil_string_t * name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ADDR_MOD_H */ axis2c-src-1.6.0/include/axis2_transport_receiver.h0000644000175000017500000001505211166304541023462 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TRANSPORT_RECEIVER_H #define AXIS2_TRANSPORT_RECEIVER_H /** * @defgroup axis2_transport transport * @ingroup axis2 * @{ * @} */ /** @defgroup axis2_transport_receiver transport receiver * @ingroup axis2_transport * Description. * @{ */ /** * @file axis2_transport_receiver.h * @brief Axis2 description transport receiver interface */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_conf_ctx; struct axis2_transport_in_desc; /** Type name for axis2_transport_receiver */ typedef struct axis2_transport_receiver axis2_transport_receiver_t; /** Type name for axis2_transport_receiver_ops */ typedef struct axis2_transport_receiver_ops axis2_transport_receiver_ops_t; /** * @brief Description Transport Receiver ops struct * Encapsulator struct for ops of axis2_transport_receiver */ struct axis2_transport_receiver_ops { /** * @param transport_receiver pointer to transport receiver * @param env pointer to environment struct * @param conf_ctx pointer to configuratoin context * @param intrasport_in pointer to transport_in */ axis2_status_t( AXIS2_CALL * init)( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env, struct axis2_conf_ctx * conf_ctx, struct axis2_transport_in_desc * transport_in); /** * @param transport_receiver * @param env pointer to environmnet struct */ axis2_status_t( AXIS2_CALL * start)( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** * @param tranport_receiver pointer to transport receiver * @param env pointer to environmnet struct * @param svc_name pointer to service name */ axis2_endpoint_ref_t *( AXIS2_CALL * get_reply_to_epr)( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env, const axis2_char_t * svc_name); /** * @param server pointer to server * @param env pointer to environment struct */ struct axis2_conf_ctx *( AXIS2_CALL * get_conf_ctx)( axis2_transport_receiver_t * server, const axutil_env_t * env); /** * @param server pointer to server * @param env pointer to environment struct */ axis2_bool_t( AXIS2_CALL * is_running)( axis2_transport_receiver_t * server, const axutil_env_t * env); /** * @param transport_receiver pointer to transport receiver * @param env pointer to environment struct */ axis2_status_t( AXIS2_CALL * stop)( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** * De-allocate memory * @param transport_receiver pointer to transport receiver * @param env pointer to environment struct */ void( AXIS2_CALL * free)( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); }; /** * @brief Transport Reciever struct */ struct axis2_transport_receiver { const axis2_transport_receiver_ops_t *ops; }; /** Frees the transport receiver. @sa axis2_transport_receiver#free */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_receiver_free( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** Initialize the transport receiver. @sa axis2_transport_receiver#init */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_receiver_init( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env, struct axis2_conf_ctx *conf_ctx, struct axis2_transport_in_desc *transport_in); /** Start @sa axis2_transport_receiver#start */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_receiver_start( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** Stop. @sa axis2_transport_receiver#stop */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_receiver_stop( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** Get reply to epr. @sa axis2_transport_receiver#get_reply_to_epr */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_transport_receiver_get_reply_to_epr( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env, const axis2_char_t * svc_name); /** Get conf ctx. @sa axis2_transport_receiver#get_conf_ctx */ AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL axis2_transport_receiver_get_conf_ctx( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** Is running. @sa axis2_transport_receiver#is_running */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_transport_receiver_is_running( axis2_transport_receiver_t * transport_receiver, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TRANSPORT_RECEIVER_H */ axis2c-src-1.6.0/include/axis2_http_transport_utils.h0000644000175000017500000003315611166304541024062 0ustar00manjulamanjula00000000000000/* * Licensedo to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_TRANSPORT_UTILS_H #define AXIS2_HTTP_TRANSPORT_UTILS_H #define AXIS2_MTOM_OUTPUT_BUFFER_SIZE 1024 /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_http_transport_utils.h * @brief axis2 HTTP Transport Utility functions * This file includes functions that handles soap and rest request * that comes to the engine via HTTP protocol. */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef enum axis2_http_method_types { AXIS2_HTTP_METHOD_GET = 0, AXIS2_HTTP_METHOD_POST, AXIS2_HTTP_METHOD_HEAD, AXIS2_HTTP_METHOD_PUT, AXIS2_HTTP_METHOD_DELETE }axis2_http_method_types_t; typedef struct axis2_http_transport_in { /** HTTP Content type */ axis2_char_t *content_type; /** HTTP Content length */ int content_length; /** Input message context */ axis2_msg_ctx_t *msg_ctx; /** soap action */ axis2_char_t *soap_action; /** complete request uri */ axis2_char_t *request_uri; /** Input stream */ axutil_stream_t *in_stream; /** remote request ip corresponds to CGI header REMOTE_ADDR */ axis2_char_t *remote_ip; /** server port */ axis2_char_t *svr_port; /** HTTP transfer encoding header value */ axis2_char_t *transfer_encoding; /** HTTP Accept header */ axis2_char_t *accept_header; /** HTTP Accept language header */ axis2_char_t *accept_language_header; /** HTTP accept charset header */ axis2_char_t *accept_charset_header; /** H&TTP METHOD Should be one of AXIS2_HTTP_METHOD_GET | AXIS2_HTTP_METHOD_POST |" AXIS2_HTTP_METHOD_HEAD | AXIS2_HTTP_METHOD_PUT | AXIS2_HTTP_METHOD_DELETE" */ int request_method; /** out transport */ axis2_http_out_transport_info_t *out_transport_info; /** this is for serving services html */ axis2_char_t *request_url_prefix; }axis2_http_transport_in_t; typedef struct axis2_http_transport_out { /** HTTP Status code string */ axis2_char_t *http_status_code_name; /** HTTP Status code value */ int http_status_code; /** Out message context */ axis2_msg_ctx_t *msg_ctx; /** Response data */ void *response_data; /** HTTP content type */ axis2_char_t *content_type; /** Response data length */ int response_data_length; /** content language */ axis2_char_t *content_language; /** output headers list */ axutil_array_list_t *output_headers; }axis2_http_transport_out_t; /** * Initialize the axis2_http_tranport_in_t. Before using this structure users should * initialize it using this method. * @param in a pointer to a axis2_http_tranport_in_t * @param env, environments */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_in_init(axis2_http_transport_in_t *in, const axutil_env_t *env); /** * Uninitialize the axis2_http_tranport_in_t. Before using this structure users should * initialize it using this method. * @param in a pointer to a axis2_http_tranport_in_t * @param env, environments */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_in_uninit(axis2_http_transport_in_t *request, const axutil_env_t *env); /** * Initialize the axis2_http_tranport_out_t. Before using this structure users should * initialize it using this method. * @param out a pointer to a axis2_http_tranport_out_t * @param env, environments */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_out_init(axis2_http_transport_out_t *out, const axutil_env_t *env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_transport_out_uninit(axis2_http_transport_out_t *response, const axutil_env_t *env); /** * This methods provides the HTTP request handling functionality using axis2 for server side * HTTP modules. * @param env, environments * @param conf_ctx, Instance of axis2_conf_ctx_t * @param request, populated instance of axis2_http_transport_in_t struct * @param response, an instance of axis2_http_transport_out_t struct * @returns AXIS2_SUCCESS on success, AXIS2_FAILURE Otherwise */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_request( const axutil_env_t *env, axis2_conf_ctx_t *conf_ctx, axis2_http_transport_in_t *request, axis2_http_transport_out_t *response); /** * This function handles the HTTP POST request that comes to the axis2 engine. * The request can be either a SOAP request OR a REST request. * @param env, axutil_env_t instance * @param msg_ctx, Input message context. (an instance of axis2_msg_ctx_t struct.) * @param in_stream, This is the input message content represented as an axutil_stream instance. * A callback function will be used to read as required from the stream with in the engine. * @param out_stream, This is the output stream. The outgoing message contents is represented as * an instance of axutil_stream * @param content_type, HTTP content type. This value should not be null. * @param content_length, HTTP Content length value. * @param soap_action_header, SOAPAction header value. This is only required in case of SOAP 1.1. * For SOAP 1.2 , the action header will be within the ContentType header and * this method is able to obtain the extract the action header value from content type. * @param request_uri, This is the HTTP request uri. Should not be null. * @returns AXIS2_SUCCESS on success, AXIS2_FAILURE Otherwise */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_http_post_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, const int content_length, axutil_string_t * soap_action_header, const axis2_char_t * request_uri); /** * This method handles the HTTP put request. Parameters are similar to that of post_request * method. * @param env, environment * @param msg_ctx, in message context. * @param in_stream, input stream * @param out_stream, output stream. * @param content_type, HTTP ContentType header value * @param content_length, HTTP Content length value * @param soap_action_header, SOAP Action header value * @param request_uri, request uri * @returns AXIS2_SUCCESS on success, AXIS2_FAILURE Otherwise */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_process_http_put_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, const int content_length, axutil_string_t * soap_action_header, const axis2_char_t * request_uri); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_get_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_head_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_process_http_delete_request( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axutil_stream_t * out_stream, const axis2_char_t * content_type, axutil_string_t * soap_action_header, const axis2_char_t * request_uri, axis2_conf_ctx_t * conf_ctx, axutil_hash_t * request_params); AXIS2_EXTERN axiom_stax_builder_t *AXIS2_CALL axis2_http_transport_utils_select_builder_for_mime( const axutil_env_t * env, axis2_char_t * request_uri, axis2_msg_ctx_t * msg_ctx, axutil_stream_t * in_stream, axis2_char_t * content_type); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_do_write_mtom( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_http_transport_utils_get_request_params( const axutil_env_t * env, axis2_char_t * request_uri); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_not_found( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_not_implemented( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_method_not_allowed( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_not_acceptable( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_bad_request( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_request_timeout( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_conflict( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_gone( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_precondition_failed( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_request_entity_too_large( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_service_unavailable( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_internal_server_error( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_services_html( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_transport_utils_get_services_static_wsdl( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx, axis2_char_t * request_url); AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_http_transport_utils_get_request_params( const axutil_env_t * env, axis2_char_t * request_uri); AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_http_transport_utils_create_soap_msg( const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, const axis2_char_t * soap_ns_uri); AXIS2_EXTERN axutil_array_list_t* AXIS2_CALL axis2_http_transport_utils_process_accept_headers( const axutil_env_t *env, axis2_char_t *accept_value); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_transport_utils_send_mtom_message( axutil_http_chunked_stream_t * chunked_stream, const axutil_env_t * env, axutil_array_list_t *mime_parts, axis2_char_t *sending_callback_name); AXIS2_EXTERN void AXIS2_CALL axis2_http_transport_utils_destroy_mime_parts( axutil_array_list_t *mime_parts, const axutil_env_t *env); AXIS2_EXTERN void *AXIS2_CALL axis2_http_transport_utils_initiate_callback( const axutil_env_t *env, axis2_char_t *callback_name, void *user_param, axiom_mtom_sending_callback_t **callback); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_transport_utils_is_callback_required( const axutil_env_t *env, axutil_array_list_t *mime_parts); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_TRANSPORT_UTILS_H */ axis2c-src-1.6.0/include/axis2_listener_manager.h0000644000175000017500000001202311166304541023054 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_LISTENER_MANAGER_H #define AXIS2_LISTENER_MANAGER_H /** * @defgroup axis2_listener_manager listener manager * @ingroup axis2_core_context * listener manager manages the listeners in case of dual channel invocations. * In case of a dual channel invocation, request is sent along one channel * and the response is received on another channel. When the response is * expected to be received along another transport channel, it has to be * made sure that the listener socket is up in anticipation of the response * and also that listener must be closed once the response is received. * listener manager is responsible for dealing with these tasks. * @{ */ /** * @file axis2_listener_manager.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_listener_manager */ typedef struct axis2_listener_manager axis2_listener_manager_t; /** * Ensures that the named transport's listener is started. Starts a listener * if it is not already started. Only one listener would be started for a given * transport. * @param listener_manager pointer to listener manager struct * @param env pointer to environment struct * @param transport name of the transport * @param conf_ctx configuration context to pick transport info for the * named transport * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_listener_manager_make_sure_started( axis2_listener_manager_t * listener_manager, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS transport, axis2_conf_ctx_t * conf_ctx); /** * Stops the named listener transport. * @param listener_manager pointer to listener manager struct * @param env pointer to environment struct * @param transport name of the transport whose listener is to be stopped * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_listener_manager_stop( axis2_listener_manager_t * listener_manager, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS transport); /** * Gets reply to end point reference. The engine will direct the * response for the message to this reply to address. * @param listener_manager pointer to listener manager struct * @param env pointer to environment struct * @param svc_name name of the service for which the epr is to be returned * @param transport name of the transport corresponding to the endpoint * @return a pointer to endpoint reference struct representing the reply * endpoint */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_listener_manager_get_reply_to_epr( const axis2_listener_manager_t * listener_manager, const axutil_env_t * env, const axis2_char_t * svc_name, const AXIS2_TRANSPORT_ENUMS transport); /** * Gets the configuration context that holds information on the transports * managed by the listener manager. * @param listener_manager pointer to listener manager struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_listener_manager_get_conf_ctx( const axis2_listener_manager_t * listener_manager, const axutil_env_t * env); /** * Frees listener manager struct. * @param listener_manager pointer to listener manager struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_listener_manager_free( axis2_listener_manager_t * listener_manager, const axutil_env_t * env); /** * Creates a listener manager struct instance. * @param env pointer to environment struct * @return a pointer to newly created listener manager struct, * or NULL on error with error code set in environment's error */ AXIS2_EXTERN axis2_listener_manager_t *AXIS2_CALL axis2_listener_manager_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_LISTENER_MANAGER_H */ axis2c-src-1.6.0/include/axis2_module_desc.h0000644000175000017500000003212311166304541022023 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MODULE_DESC_H #define AXIS2_MODULE_DESC_H /** * @defgroup axis2_module_desc module description * @ingroup axis2_desc * module holds information about a module. This information includes module * parameters and handler information. * Modules are available to all services if axis2.xml has a module reference * entry. Alternatively, a module could be made available to selected services * by including a module reference entry in services.xml. * @{ */ /** * @file axis2_module_desc.h */ #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_module_desc */ typedef struct axis2_module_desc axis2_module_desc_t; struct axis2_op; struct axis2_conf; /** * Frees module description. * @param module_desc pointer to module description * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_module_desc_free( axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Gets flow representing in flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to flow that represents in flow, returns a reference * not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_in_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Sets flow representing in flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @param in_flow pointer to flow representing in flow, module assumes * ownership of flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_in_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * in_flow); /** * Gets flow representing out flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to flow that represents out flow, returns a reference * not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_out_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Sets flow representing out flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @param out_flow pointer to flow representing out flow, module assumes * ownership of flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_out_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * out_flow); /** * Gets flow representing fault in flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to flow that represents fault in flow, returns a reference * not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_fault_in_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Sets flow representing fault in flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @param falut_in_flow pointer to flow representing fault in flow, * module assumes ownership of flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_fault_in_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * falut_in_flow); /** * Gets flow representing fault out flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to flow that represents fault out flow, returns a * reference not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_module_desc_get_fault_out_flow( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Sets flow representing fault out flow. * @param module_desc pointer to module description * @param env pointer to environment struct * @param fault_out_flow pointer to flow representing fault out flow, * module assumes ownership of flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_fault_out_flow( axis2_module_desc_t * module_desc, const axutil_env_t * env, axis2_flow_t * fault_out_flow); /** * Gets module QName. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to QName */ AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_module_desc_get_qname( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Sets module QName. * @param module_desc pointer to module description * @param env pointer to environment struct * @param qname pointer to qname * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_qname( axis2_module_desc_t * module_desc, const axutil_env_t * env, const axutil_qname_t * qname); /** * Adds given operation to module. * @param module_desc pointer to module description * @param env pointer to environment struct * @param op pointer to operation, module assumes ownership of operation * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_add_op( axis2_module_desc_t * module_desc, const axutil_env_t * env, struct axis2_op *op); /** * Gets all operations associated with module. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to hash map containing the operations */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_module_desc_get_all_ops( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Gets parent which is of type configuration. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to configuration, returns a reference not a * cloned copy */ AXIS2_EXTERN struct axis2_conf *AXIS2_CALL axis2_module_desc_get_parent( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Sets parent which is of type configuration. * @param module_desc pointer to module description * @param env pointer to environment struct * @param parent pointer to parent configuration, module does not assume * the ownership of configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_parent( axis2_module_desc_t * module_desc, const axutil_env_t * env, struct axis2_conf *parent); /** * Adds parameter to module description. * @param module_desc pointer to module description * @param env pointer to environment struct * @param param pointer to parameter struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_add_param( axis2_module_desc_t * module_desc, const axutil_env_t * env, axutil_param_t * param); /** * Gets parameter with given name. * @param module_desc pointer to module description * @param env pointer to environment struct * @param name parameter name string * @return pointer to parameter corresponding to given name */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_module_desc_get_param( const axis2_module_desc_t * module_desc, const axutil_env_t * env, const axis2_char_t * name); /** * Gets all parameters associated with module. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to array list containing all parameters */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_module_desc_get_all_params( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Checks if a given parameter is locked. * @param module_desc pointer to module description * @param env pointer to environment struct * @param param_name parameter name string * @return AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_module_desc_is_param_locked( const axis2_module_desc_t * module_desc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Gets module associated with module description. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to module */ AXIS2_EXTERN struct axis2_module *AXIS2_CALL axis2_module_desc_get_module( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * @param module_desc pointer to module description * @param env pointer to environment struct * @param module pointer to module, module description assumes ownership * of module * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_module_desc_set_module( axis2_module_desc_t * module_desc, const axutil_env_t * env, struct axis2_module *module); /** * Gets the container having all params. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to param container * @sa axutil_param_container */ AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_module_desc_get_param_container( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Gets the container having all flows. * @param module_desc pointer to module description * @param env pointer to environment struct * @return pointer to param container * @sa axis2_flow_container */ AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL axis2_module_desc_get_flow_container( const axis2_module_desc_t * module_desc, const axutil_env_t * env); /** * Creates module description struct instance. * @param env pointer to environment struct * @return pointer to newly created module description */ AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_module_desc_create( const axutil_env_t * env); /** * Creates module description struct instance with given QName. * @param env pointer to environment struct * @param qname pointer to QName * @return pointer to newly created module description */ AXIS2_EXTERN axis2_module_desc_t *AXIS2_CALL axis2_module_desc_create_with_qname( const axutil_env_t * env, const axutil_qname_t * qname); /** * Frees module description passed as void pointer. This method will cast * the void pointer parameter into appropriate type and then call module * description free method on top of that pointer. * @param module_desc pointer to module description as a void pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_module_desc_free_void_arg( void *module_desc, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MODULE_DESC_H */ axis2c-src-1.6.0/include/axis2_addr.h0000644000175000017500000001322111166304541020450 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ADDR_H #define AXIS2_ADDR_H #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_addr WS-Addressing * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_addr_consts WS-Addressing related constants * @ingroup axis2_addr * @{ */ /** @file axis2_addr.h */ /* ====================== Common Message Addressing Properties =========== */ /** WS-Addressing Message ID */ #define AXIS2_WSA_MESSAGE_ID "MessageID" /** WS-Addressing Relates To */ #define AXIS2_WSA_RELATES_TO "RelatesTo" /** WS-Addressing Relates To Relationship Type */ #define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE "RelationshipType" /** WS-Addressing To */ #define AXIS2_WSA_TO "To" /** WS-Addressing From */ #define AXIS2_WSA_FROM "From" /** WS-Addressing Reply To */ #define AXIS2_WSA_REPLY_TO "ReplyTo" /** WS-Addressing Fault To */ #define AXIS2_WSA_FAULT_TO "FaultTo" /** WS-Addressing Action */ #define AXIS2_WSA_ACTION "Action" /** WS-Addressing Mapping */ #define AXIS2_WSA_MAPPING "wsamapping" /* ====================== Common EPR Elements ============================ */ /** End Pointer Reference Address */ #define EPR_ADDRESS "Address" /** End Pointer Reference Reference Parameters */ #define EPR_REFERENCE_PARAMETERS "ReferenceParameters" /** End Pointer Reference Service Name */ #define EPR_SERVICE_NAME "ServiceName" /** End Pointer Reference Reference Properties */ #define EPR_REFERENCE_PROPERTIES "ReferenceProperties" /** End Pointer Reference Port Type */ #define EPR_PORT_TYPE "PortType" /** End Pointer Reference Port Name */ #define EPR_SERVICE_NAME_PORT_NAME "PortName" /* ====================== Addressing Submission Version Constants ======== */ /** WS-Addressing Namespace for Submission Version */ #define AXIS2_WSA_NAMESPACE_SUBMISSION "http://schemas.xmlsoap.org/ws/2004/08/addressing" /** WS-Addressing Relates To Relationship Type Default Value for Submission Version */ #define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE_SUBMISSION "wsa:Reply" /** WS-Addressing Anonymous URL for Submission Version */ #define AXIS2_WSA_ANONYMOUS_URL_SUBMISSION "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous" /** WS-Addressing None URL for Submission Version */ #define AXIS2_WSA_NONE_URL_SUBMISSION "http://schemas.xmlsoap.org/ws/2004/08/addressing/role/none" /* =====================Addressing 1.0 Final Version Constants =========== */ /** WS-Addressing Namespace for 1.0 Final Version */ #define AXIS2_WSA_NAMESPACE "http://www.w3.org/2005/08/addressing" /** WS-Addressing Relates To Relationship Type Default Value for 1.0 Final Version */ #define AXIS2_WSA_RELATES_TO_RELATIONSHIP_TYPE_DEFAULT_VALUE "http://www.w3.org/2005/08/addressing/reply" /** WS-Addressing Anonymous URL for 1.0 Final Version */ #define AXIS2_WSA_ANONYMOUS_URL "http://www.w3.org/2005/08/addressing/anonymous" /** WS-Addressing None URL for 1.0 Final Version */ #define AXIS2_WSA_NONE_URL "http://www.w3.org/2005/08/addressing/none" /* ======================================================================= */ /** WS-Addressing Is Reference Parameter Attribute */ #define AXIS2_WSA_IS_REFERENCE_PARAMETER_ATTRIBUTE "IsReferenceParameter" /** WS-Addressing Type Attribute Value */ #define AXIS2_WSA_TYPE_ATTRIBUTE_VALUE "true" /** WS-Addressing Interface Name */ #define AXIS2_WSA_INTERFACE_NAME "InterfaceName" /** WS-Addressing Service/Endpoint Name */ #define AXIS2_WSA_SERVICE_NAME_ENDPOINT_NAME "EndpointName" /** WS-Addressing Policies */ #define AXIS2_WSA_POLICIES "Policies" /** WS-Addressing Metadata */ #define AXIS2_WSA_METADATA "Metadata" /* ======================================================================= */ /** WS-Addressing Version */ #define AXIS2_WSA_VERSION "WSAddressingVersion" /** WS-Addressing Default Prefix */ #define AXIS2_WSA_DEFAULT_PREFIX "wsa" /** WS-Addressing Prefixes for faults*/ #define AXIS2_WSA_PREFIX_FAULT_TO AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_FAULT_TO /** WS-Addressing Prefixes for faults*/ #define AXIS2_WSA_PREFIX_REPLY_TO AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_REPLY_TO /** WS-Addressing Prefixes for faults*/ #define AXIS2_WSA_PREFIX_TO AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_TO /** WS-Addressing Prefixes for faults*/ #define AXIS2_WSA_PREFIX_MESSAGE_ID AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_MESSAGE_ID /** WS-Addressing Prefixes for faults*/ #define AXIS2_WSA_PREFIX_ACTION AXIS2_WSA_DEFAULT_PREFIX":"AXIS2_WSA_ACTION /* ======================================================================= */ /** WS-Addressing Param Service Group Context ID */ #define PARAM_SERVICE_GROUP_CONTEXT_ID "ServiceGroupContextIdFromAddressing" /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ADDR_H */ axis2c-src-1.6.0/include/axis2_relates_to.h0000644000175000017500000001013011166304541021673 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_RELATES_TO_H #define AXIS2_RELATES_TO_H /** * @defgroup axis2_relates_to relates to * @ingroup axis2_addr * relates to encapsulates data that indicate how a message relates to * another message. * The related message is identified by a URI that corresponds to the * related message's message ID. The type of the relationship is also captured * by relates to. Basically relates to handles the following WS-Addressing * header xs:anyURI * @{ */ /** * @file axis2_relates_to.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_relates_to */ typedef struct axis2_relates_to axis2_relates_to_t; /** * creates relates to struct. * @param env pointer to environment struct * @param value value string * @param relationship_type relationship type string */ AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL axis2_relates_to_create( const axutil_env_t * env, const axis2_char_t * value, const axis2_char_t * relationship_type); /** * Gets value. The value field represents the URI that corresponds to the * related message's message ID * @param relates_to pointer to relates to struct * @param env pointer to environment struct * @return value string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_relates_to_get_value( const axis2_relates_to_t * relates_to, const axutil_env_t * env); /** * Sets value. The value field represents the URI that corresponds to the * related message's message ID * @param relates_to pointer to relates to struct * @param env pointer to environment struct * @param value value string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_relates_to_set_value( struct axis2_relates_to *relates_to, const axutil_env_t * env, const axis2_char_t * value); /** * Gets relationship type. * @param relates_to pointer to relates to struct * @param env pointer to environment struct * @return relationship type string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_relates_to_get_relationship_type( const axis2_relates_to_t * relates_to, const axutil_env_t * env); /** * Sets relationship type. * @param relates_to pointer to relates to struct * @param env pointer to environment struct * @param relationship_type relationship type string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_relates_to_set_relationship_type( struct axis2_relates_to *relates_to, const axutil_env_t * env, const axis2_char_t * relationship_type); /** * Frees relates to struct. * @param relates_to pointer to relates to struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_relates_to_free( struct axis2_relates_to *relates_to, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_RELATES_TO_H */ axis2c-src-1.6.0/include/axis2_conf.h0000644000175000017500000006634311166304541020500 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CONFIG_H #define AXIS2_CONFIG_H /** * @defgroup axis2_engine engine * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_config configuration * @ingroup axis2_engine * Axis2 configuration captures all configuration information. Configuration * information includes user preferences along with module and * service information that is either statically configured using axis2.xml * file, service.xml files and module.xml files or dynamically using the * functions defined in the ops struct related to this conf struct. * @{ */ /** * @file axis2_config.h */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_conf */ typedef struct axis2_conf axis2_conf_t; struct axis2_msg_recv; struct axis2_phases_info; struct axis2_svc_grp; struct axis2_svc; struct axis2_op; struct axis2_dep_engine; struct axis2_desp; /** * Frees conf struct. * @param conf pointer to conf struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_conf_free( axis2_conf_t * conf, const axutil_env_t * env); /** * Adds a service group to the configuration. * @param conf pointer to conf struct * @param env pointer to environment struct * @param svc_grp pointer to service group, conf takes over the * ownership of the service group * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_svc_grp( axis2_conf_t * conf, const axutil_env_t * env, struct axis2_svc_grp *svc_grp); /** * Gets a named service group. * @param conf pointer to conf struct * @param env pointer to environment struct * @param svc_grp_name name of the service group to be accessed * @return pointer to service group with the given name if exists, * else NULL. Returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL axis2_conf_get_svc_grp( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * svc_grp_name); /** * Gets all service group added to conf. * @param conf pointer to conf struct * @param env pointer to environment struct * @return pointer to hash table containing the service groups, returns * a reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_svc_grps( const axis2_conf_t * conf, const axutil_env_t * env); /** * Adds a service to configuration. * @param conf pointer to conf struct * @param env pointer to environment struct * @param svc pointer to service, conf takes over the ownership of the * service * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_svc( axis2_conf_t * conf, const axutil_env_t * env, struct axis2_svc *svc); /** * Gets a service with given name. * @param conf pointer to conf struct * @param env pointer to environment struct * @param svc_name service name string * @return pointer to service with the given name if exists, else NULL. * Returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_conf_get_svc( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * svc_name); /** * Removes the named service from configuration. * @param conf pointer to conf struct * @param env pointer to environment struct * @param name name of service to be removed * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_remove_svc( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * name); /** * Adds a parameter to configuration. * @param conf pointer to conf struct * @param env pointer to environment struct * @param param pointer to parameter struct to be added * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_param( axis2_conf_t * conf, const axutil_env_t * env, axutil_param_t * param); /** * Gets a parameter with the given name. * @param conf pointer to conf struct * @param env pointer to environment struct * @param name name of the parameter to be accessed * @return pointer to parameter with the given name if exists, else NULL. * Returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_conf_get_param( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * name); /** * Gets all the parameters added to the configuration. * @param conf pointer to conf struct * @param env pointer to environment * @return pointer to array list containing parameters if exists, * else NULL. Returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_all_params( const axis2_conf_t * conf, const axutil_env_t * env); /** * Checks if the named parameter is locked. * @param conf pointer to conf struct * @param env pointer to environment struct * @param param_name name of the parameter * @return AXIS2_TRUE if parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_is_param_locked( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * param_name); /** * Gets in transport corresponding to the given transport QName. * @param conf pointer to conf struct * @param env pointer to environment struct * @param qname QName of transport * @return pointer to transport in description if exists, * else NULL. Returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL axis2_conf_get_transport_in( const axis2_conf_t * conf, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Adds a transport in description. * @param conf pointer to conf struct * @param env pointer to environment struct * @param transport pointer to transport in description. conf assumes * ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_transport_in( axis2_conf_t * conf, const axutil_env_t * env, axis2_transport_in_desc_t * transport, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Gets out transport corresponding to the given transport QName. * @param conf pointer to conf struct * @param env pointer to environment strcut * @param qname pointer to transport qname * @return pointer to transport out description if exists, * else NULL. Returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_conf_get_transport_out( const axis2_conf_t * conf, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Adds a transport out description. * @param conf pointer to conf struct * @param env pointer to environment struct * @param transport pointer to transport out description. conf assumes * ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_transport_out( axis2_conf_t * conf, const axutil_env_t * env, axis2_transport_out_desc_t * transport, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Gets all in transports. * @param conf pointer to conf struct * @param env pointer to environment struct * @return hash table containing all transport in descriptions. * Returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_transport_in_desc_t **AXIS2_CALL axis2_conf_get_all_in_transports( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets all out transports. * @param conf pointer to conf struct * @param env pointer to environment struct * @return hash table containing all transport out descriptions. * Returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_transport_out_desc_t **AXIS2_CALL axis2_conf_get_all_out_transports( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets a module with given QName. * @param conf pointer to conf struct * @param env pointer to environment struct * @param qname pointer to qname * @return module description corresponding to the given qname */ AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL axis2_conf_get_module( const axis2_conf_t * conf, const axutil_env_t * env, const axutil_qname_t * qname); /** * Gets the list of engaged modules. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the array list of engaged modules. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_all_engaged_modules( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets the in phases up to and including port dispatch phase. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the array list of in phases up to post dispatch * inclusive. Returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_in_phases_upto_and_including_post_dispatch( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets the out flow. Out flow is a list of phases invoked in the out * path of execution of the engine. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the array list of out flow phases. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_out_flow( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets the in fault flow. In fault flow is a list of phases invoked in * the in path of execution, if some fault happens. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the array list of in fault flow phases. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_in_fault_flow( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets the out fault flow. Out fault flow is a list of phases invoked in * the out path of execution, if some fault happens. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the array list of out fault flow phases. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_out_fault_flow( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets faulty services. A faulty service is a service that does not * meet the service configuration criteria or a service with errors in * the service dynamic link library. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the hash table of faulty services. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_faulty_svcs( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets faulty modules. A faulty module is a module that does not * meet the module configuration criteria or a module with errors in * the service dynamic link library. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the hash table of faulty modules. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_faulty_modules( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets all the list of services loaded into configuration. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the hash table of services. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_svcs( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets all the list of services that need to be loaded into configuration * at the start up of the axis2 engine. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the hash table of services. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_svcs_to_load( const axis2_conf_t * conf, const axutil_env_t * env); /** * Checks is the named module is engaged. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module_name pointer to QName representing the module name * @return AXIS2_TRUE if named module is engaged, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_is_engaged( axis2_conf_t * conf, const axutil_env_t * env, const axutil_qname_t * module_name); /** * Gets phases information struct. * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to the struct containing phases information. * Returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_phases_info *AXIS2_CALL axis2_conf_get_phases_info( const axis2_conf_t * conf, const axutil_env_t * env); /** * Sets phases information struct. * @param conf pointer to conf struct * @param env pointer to environment struct * @param phases_info pointer to phases_info struct. conf assumes * ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_phases_info( axis2_conf_t * conf, const axutil_env_t * env, struct axis2_phases_info *phases_info); /** * Adds message receiver with the given key. * @param conf pointer to conf struct * @param env pointer to environment struct * @param key key string with which the message receive is to be added * @param msg_recv pointer to message receiver * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_msg_recv( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * key, struct axis2_msg_recv *msg_recv); /** * Gets message receiver with the given key. * @param conf pointer to conf struct * @param env pointer to environment struct * @param key key string corresponding to the message receiver to * be retrieved * @return pointer to the message receiver with the given key if it * exists, else null. Returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL axis2_conf_get_msg_recv( const axis2_conf_t * conf, const axutil_env_t * env, axis2_char_t * key); /** * Sets the list of out phases. * @param conf pointer to conf struct * @param env pointer to environment struct * @param out_phases pointer to array list of the phases. conf assumes * ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_out_phases( axis2_conf_t * conf, const axutil_env_t * env, axutil_array_list_t * out_phases); /** * Gets the list of out phases. * @param conf pointer to conf struct * @param env pointer to environment struct * @return pointer to array list of out phases. Returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_conf_get_out_phases( const axis2_conf_t * conf, const axutil_env_t * env); /** * Sets fault phases for in path. * @param conf pointer to conf struct * @param env pointer to environment struct * @param list pointer to array list of phases * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_in_fault_phases( axis2_conf_t * conf, const axutil_env_t * env, axutil_array_list_t * list); /** * Sets fault phases for out path. * @param conf pointer to conf struct * @param env pointer to environment struct * @param list pointer to array list of phases * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_out_fault_phases( axis2_conf_t * conf, const axutil_env_t * env, axutil_array_list_t * list); /** * Gets all modules configured, * @param conf pointer to conf struct * @param env pointer to environment struct * @return a pointer to hash table containing the list of modules. * Returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_conf_get_all_modules( const axis2_conf_t * conf, const axutil_env_t * env); /** * Adds a module. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module pointer to module struct to be added * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_module( axis2_conf_t * conf, const axutil_env_t * env, struct axis2_module_desc *module); /** * Sets the default dispatchers. * @param conf pointer to conf struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_default_dispatchers( axis2_conf_t * conf, const axutil_env_t * env); /** * Sets a custom dispatching phase. * @param conf pointer to conf struct * @param env pointer to environment struct * @param dispatch pointer to phase to be dispatched * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_dispatch_phase( axis2_conf_t * conf, const axutil_env_t * env, axis2_phase_t * dispatch); /** * Gets the repository location. * @param conf pointer to conf struct * @param env pointer to environment struct * @return returns repository location as a string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_get_repo( const axis2_conf_t * conf, const axutil_env_t * env); /** * Sets the repository location. * @param conf pointer to conf struct * @param env pointer to environment struct * @param axis2_repo repository location as a string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_repo( axis2_conf_t * conf, const axutil_env_t * env, axis2_char_t * axis2_repo); /** * Gets the axis2.xml location. * @param conf pointer to conf struct * @param env pointer to environment struct * @return returns repository location as a string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_get_axis2_xml( const axis2_conf_t * conf, const axutil_env_t * env); /** * Sets the axis2.xml location. * @param conf pointer to conf struct * @param env pointer to environment struct * @param axis2_xml repository location as a string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_axis2_xml( axis2_conf_t * conf, const axutil_env_t * env, axis2_char_t * axis2_xml); /** * Engages the named module. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module_ref pointer to the QName of the module to be engaged * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_engage_module( axis2_conf_t * conf, const axutil_env_t * env, const axutil_qname_t * module_ref); /** * Sets the deployment engine. * @param conf pointer to conf struct * @param env pointer to environment struct * @param dep_engine pointer to dep_engine struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_dep_engine( axis2_conf_t * conf, const axutil_env_t * env, struct axis2_dep_engine *dep_engine); /** * Gets the default module version for the named module. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module_name module name string * @return default module version as a string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_conf_get_default_module_version( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name); /** * Gets the default module reference for the named module. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module_name module name string * @return pointer to the module description struct corresponding to * the given name */ AXIS2_EXTERN struct axis2_module_desc *AXIS2_CALL axis2_conf_get_default_module( const axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name); /** * Adds a default module version for the named module. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module_name name of the module * @param module_version default version for the module * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_add_default_module_version( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name, const axis2_char_t * module_version); /** * Engages the module with the given version. * @param conf pointer to conf struct * @param env pointer to environment struct * @param module_name name of the module to be engaged * @param version_id version of the module to be engaged * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_engage_module_with_version( axis2_conf_t * conf, const axutil_env_t * env, const axis2_char_t * module_name, const axis2_char_t * version_id); /** * Creates configuration struct. * @param env pointer to environment struct * @return pointer to newly created configuration */ AXIS2_EXTERN axis2_conf_t *AXIS2_CALL axis2_conf_create( const axutil_env_t * env); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_get_enable_mtom( axis2_conf_t * conf, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_enable_mtom( axis2_conf_t * conf, const axutil_env_t * env, axis2_bool_t enable_mtom); /** * set a flag to mark conf created by axis2.xml */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_get_axis2_flag( axis2_conf_t * conf, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_axis2_flag( axis2_conf_t * conf, const axutil_env_t * env, axis2_bool_t axis2_flag); /*The following two methods are used in Rampart to *check whether security is engaed. */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_conf_get_enable_security( axis2_conf_t * conf, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_enable_security( axis2_conf_t * conf, const axutil_env_t * env, axis2_bool_t enable_security); AXIS2_EXTERN void *AXIS2_CALL axis2_conf_get_security_context( axis2_conf_t * conf, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_conf_set_security_context( axis2_conf_t * conf, const axutil_env_t * env, void *security_context); AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_conf_get_param_container( const axis2_conf_t * conf, const axutil_env_t * env); /** * Gets base description. * @param conf pointer to message * @param env pointer to environment struct * @return pointer to base description struct */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_conf_get_base( const axis2_conf_t * conf, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t * AXIS2_CALL axis2_conf_get_handlers(const axis2_conf_t * conf, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_CONFIG_H */ axis2c-src-1.6.0/include/axis2_desc.h0000644000175000017500000001603311166304541020460 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DESC_H #define AXIS2_DESC_H /** * @defgroup axis2_description description * @ingroup axis2_desc * Base struct of description hierarchy. Encapsulates common data and functions * of the description hierarchy. * @{ */ /** * @file axis2_desc.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name of struct axis2_desc */ typedef struct axis2_desc axis2_desc_t; struct axis2_policy_include; struct axis2_msg; /** * Creates a description struct instance. * @param env pointer to environment struct * @return pointer to newly created description */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_desc_create( const axutil_env_t * env); /** * Frees description struct. * @param desc pointer to description * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_desc_free( axis2_desc_t * desc, const axutil_env_t * env); /** * Adds given parameter to the list of parameters. * @param desc pointer to description * @param env pointer to environment struct * @param param pointer to parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_add_param( axis2_desc_t * desc, const axutil_env_t * env, axutil_param_t * param); /** * Gets named parameter. * @param desc pointer to description * @param env pointer to environment struct * @param param_name parameter name string * @return pointer to named parameter, NULL if it does not exist */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_desc_get_param( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Gets all parameters stored in description. * @param desc pointer to description * @param env pointer to environment struct * @return pointer to array list containing the list of parameters */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_desc_get_all_params( const axis2_desc_t * desc, const axutil_env_t * env); /** * Checks if a named parameter is locked. * @param desc pointer to description * @param env pointer to environment struct * @param param_name parameter name string * @return AXIS2_TRUE if parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_desc_is_param_locked( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Adds child to the description. The type of children is based on the * level of the description hierarchy. As an example, service has * children of type operation, service group has children of type * service * @param desc pointer to description * @param env pointer to environment struct * @param key key with which the child is to be added * @param child child to be added * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_add_child( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * key, const struct axis2_msg *child); /** * Gets all children. * @param desc pointer to description * @param env pointer to environment struct * @return pointer to hash map containing children */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_desc_get_all_children( const axis2_desc_t * desc, const axutil_env_t * env); /** * Gets child with given key. * @param desc pointer to description * @param env pointer to environment struct * @param key key with which the child is stored * @return pointer to child, returned as a void* value, need to cast to * correct type */ AXIS2_EXTERN void *AXIS2_CALL axis2_desc_get_child( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * key); /** * Removes the named child. * @param desc pointer to description * @param env pointer to environment struct * @param key key that represents the child to be removed * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_remove_child( const axis2_desc_t * desc, const axutil_env_t * env, const axis2_char_t * key); /** * Sets parent description. * @param desc pointer to description * @param env pointer to environment struct * @param parent pointer to parent description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_set_parent( axis2_desc_t * desc, const axutil_env_t * env, axis2_desc_t * parent); /** * Gets parent description. * @param desc pointer to description * @param env pointer to environment struct * @return parent pointer to parent description */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_desc_get_parent( const axis2_desc_t * desc, const axutil_env_t * env); /** * Sets policy include * @param desc pointer to description * @param env pointer to environment struct * @param policy_include policy include to be added to description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_desc_set_policy_include( axis2_desc_t * desc, const axutil_env_t * env, struct axis2_policy_include *policy_include); /** * Gets policy include * @param desc pointer to description * @param env pointer to environment struct * @return returns policy include that was added to description * @sa axis2_policy_include */ AXIS2_EXTERN struct axis2_policy_include *AXIS2_CALL axis2_desc_get_policy_include( axis2_desc_t * desc, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_DESC_H */ axis2c-src-1.6.0/include/axis2_disp.h0000644000175000017500000001303511166304541020500 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DISP_H #define AXIS2_DISP_H /** * @defgroup axis2_disp dispatcher * @ingroup axis2_engine * dispatcher is responsible for finding the service and operation for a given * invocation. A Web service request would contain information that help * locate the service and the operation serving the request. This information * could be in various formats, and hence the mechanism to find the requested * service and operation based on the available information could too vary. * Hence there can be various types on dispatches involved in a dispatching * phase of the engine, that implements the API given in this header. * @{ */ /** * @file axis2_disp.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif #define AXIS2_DISP_NAMESPACE "http://axis.ws.apache.org" /** Type name for struct axis2_disp */ typedef struct axis2_disp axis2_disp_t; /** * Gets the base struct which is of type handler. * @param disp pointer to dispatcher * @param env pointer to environment struct * @return pointer to base handler struct. Returns a reference, not a * cloned copy */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_disp_get_base( const axis2_disp_t * disp, const axutil_env_t * env); /** * Gets the name of the dispatcher. * @param disp pointer to dispatcher * @param env pointer to environment struct * @return pointer to name. Returns a reference, not a * cloned copy */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_disp_get_name( const axis2_disp_t * disp, const axutil_env_t * env); /** * Sets the name of the dispatcher. * @param disp pointer to dispatcher * @param env pointer to environment struct * @param name pointer to name, dispatcher assumes ownership of the * name struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_disp_set_name( axis2_disp_t * disp, const axutil_env_t * env, axutil_string_t * name); /** * Frees dispatcher struct. * @param disp pointer to dispatcher * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_disp_free( axis2_disp_t * disp, const axutil_env_t * env); /** * Creates a dispatcher struct instance. * @param env pointer to environment struct * @param name pointer to QName. QName is cloned by create method. * @return pointer to newly created dispatcher */ AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_disp_create( const axutil_env_t * env, const axutil_string_t * name); axis2_status_t AXIS2_CALL axis2_disp_find_svc_and_op( struct axis2_handler *handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); /** * Creates a WS-Addressing based dispatcher. * @param env pointer to environment struct * @return pointer to the newly created dispatcher with find_svc and find_op * methods implemented based on WS-Addressing */ AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_addr_disp_create( const axutil_env_t * env); /** * Creates a request URI based dispatcher. * @param env pointer to environment struct * @return pointer to the newly created dispatcher with find_svc and find_op * methods implemented based on request URI processing. */ AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_req_uri_disp_create( const axutil_env_t * env); /** * Creates a REST based dispatcher. * @param env pointer to environment struct * @return pointer to the newly created dispatcher with find_svc and find_op * methods implemented based on REST processing. */ AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_rest_disp_create( const axutil_env_t * env); /** * Creates a SOAP body based dispatcher. * @param env pointer to environment struct * @return pointer to the newly created dispatcher with find_svc and find_op * methods implemented based on SOAP body processing. */ AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_soap_body_disp_create( const axutil_env_t * env); /** * Creates a SOAP action based dispatcher. * @param env pointer to environment struct * @return pointer to the newly created dispatcher with find_svc and find_op * methods implemented based on SOAP action processing */ AXIS2_EXTERN axis2_disp_t *AXIS2_CALL axis2_soap_action_disp_create( const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_DISP_H */ axis2c-src-1.6.0/include/axis2_http_worker.h0000644000175000017500000000643211166304541022114 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_WORKER_H #define AXIS2_HTTP_WORKER_H /** * @defgroup axis2_http_worker http worker * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_worker.h * @brief axis2 HTTP Worker */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_worker */ typedef struct axis2_http_worker axis2_http_worker_t; /** * @param http_worker pointer to http worker * @param env pointer to environment struct * @param svr_conn pointer to svr conn * @param simple_request pointer to simple request */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_worker_process_request( axis2_http_worker_t * http_worker, const axutil_env_t * env, axis2_simple_http_svr_conn_t * svr_conn, axis2_http_simple_request_t * simple_request); /** * @param http_worker pointer to http worker * @param env pointer to environment struct * @param port * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_worker_set_svr_port( axis2_http_worker_t * http_worker, const axutil_env_t * env, int port); /** * @param http_worker pointer to http worker * @param env pointer to environment strut * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_http_worker_free( axis2_http_worker_t * http_worker, const axutil_env_t * env); /** * @param env pointer to environment struct * @param conf_ctx pointer to configuration context */ AXIS2_EXTERN axis2_http_worker_t *AXIS2_CALL axis2_http_worker_create( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); /*#define AXIS2_HTTP_WORKER_PROCESS_REQUEST(http_worker, env, svr_conn,\ simple_request) axis2_http_worker_process_request(\ http_worker, env, svr_conn, simple_request) #define AXIS2_HTTP_WORKER_SET_SVR_PORT(http_worker, env, port) \ axis2_http_worker_set_svr_port(http_worker, env, port) #define AXIS2_HTTP_WORKER_FREE(http_worker, env) \ axis2_http_worker_free(http_worker, env) */ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_WORKER_H */ axis2c-src-1.6.0/include/axis2_flow.h0000644000175000017500000000667011166304541020517 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_FLOW_H #define AXIS2_FLOW_H /** * @defgroup axis2_flow flow * @ingroup axis2_desc * flow is a collection of handlers. This struct encapsulates the concept * of an execution flow in the engine. * @{ */ /** * @file axis2_flow.h */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_flow */ typedef struct axis2_flow axis2_flow_t; /** * Creates flow struct. * @param env pointer to environment struct * @return pointer to newly created flow */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_create( const axutil_env_t * env); /** * Frees flow struct. * @param flow pointer to flow * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_flow_free( axis2_flow_t * flow, const axutil_env_t * env); /** * Adds a handler description to flow. * @param flow pointer to flow * @param env pointer to environment struct * @param handler pointer to handler description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_add_handler( axis2_flow_t * flow, const axutil_env_t * env, axis2_handler_desc_t * handler); /** * Gets handler description at given index. * @param flow pointer to flow * @param env pointer to environment struct * @param index index of the handler * @return pointer to handler description */ AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL axis2_flow_get_handler( const axis2_flow_t * flow, const axutil_env_t * env, const int index); /** * Gets handler count. * @param flow pointer to flow * @param env pointer to environment struct * @return handler count */ AXIS2_EXTERN int AXIS2_CALL axis2_flow_get_handler_count( const axis2_flow_t * flow, const axutil_env_t * env); /** * Frees flow passed as void pointer. This method would cast the void * pointer to appropriate type and then call free method. * @param flow pointer to flow * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_flow_free_void_arg( void *flow, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_FLOW_H */ axis2c-src-1.6.0/include/axis2_op.h0000644000175000017500000005714611166304541020172 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_OP_H #define AXIS2_OP_H /** * @defgroup axis2_op operation * @ingroup axis2_desc * operation represents the static structure of an operation in a service. * In Axis2 description hierarchy, an operation lives inside the service to * which it belongs. * operations are configured in services.xml files located in the respective * service group folders of the services folder in the repository. * In services.xml file, operations are declared in association with a given * service. The deployment engine would create operation instances to represent * those configured operations and would associate them with the respective * service in the configuration. * operation encapsulates data on message exchange pattern (MEP), the * execution flows, engaged module information, and the message receiver * associated with the operation. * @{ */ #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_op */ typedef struct axis2_op axis2_op_t; struct axis2_svc; struct axis2_msg_recv; struct axutil_param_container; struct axis2_module_desc; struct axis2_op; struct axis2_relates_to; struct axis2_op_ctx; struct axis2_svc_ctx; struct axis2_msg_ctx; struct axis2_msg; struct axis2_conf; /** SOAP action string constant */ #define AXIS2_SOAP_ACTION "soapAction" /** * Creates operation struct. * @param env pointer to environment struct * @return pointer to newly created operation */ AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_create( const axutil_env_t * env); /** * Frees operation. * @param op pointer to operation * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_free( axis2_op_t * op, const axutil_env_t * env); /** * Frees operation given as a void pointer. * @param op pointer to operation as a void pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_free_void_arg( void *op, const axutil_env_t * env); /** * Adds a parameter to method. * @param op pointer to operation * @param env pointer to environment struct * @param param pointer parameter to be added, operation assumes * ownership of parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_param( axis2_op_t * op, const axutil_env_t * env, axutil_param_t * param); /** * Gets named parameter. * @param op pointer to operation * @param env pointer to environment struct * @param name name of parameter to be retrieved as a string * @return pointer to named parameter if exists, else NULL. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_op_get_param( const axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * name); /** * Gets all parameters. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing all parameters, returns * a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_all_params( const axis2_op_t * op, const axutil_env_t * env); /** * Checks if the named parameter is locked. * @param op pointer to operation * @param env pointer to environment struct * @param param_name name of the parameter to be checked * @return AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_is_param_locked( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * param_name); /** * Sets parent. Parent of an operation is of type service. * @param op pointer to operation * @param env pointer to environment struct * @param svc pointer to parent service, operation does not assume * ownership of service * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_parent( axis2_op_t * op, const axutil_env_t * env, struct axis2_svc *svc); /** * Gets parent. Parent of an operation is of type service. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to parent service, returns a reference, not a cloned * copy */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_op_get_parent( const axis2_op_t * op, const axutil_env_t * env); /** * Sets HTTP Method for RESTful Services. * @param op pointer to operation * @param env pointer to environment struct * @param rest_http_method HTTP Method string, operation does not assume * ownership of rest_http_method. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_rest_http_method( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * rest_http_method); /** * Gets HTTP Method for RESTful Services. * @param op pointer to operation * @param env pointer to environment struct * @return HTTP Method string, returns a reference, * not a cloned copy */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_op_get_rest_http_method( const axis2_op_t * op, const axutil_env_t * env); /** * Sets HTTP Location for RESTful Services. * @param op pointer to operation * @param env pointer to environment struct * @param rest_http_location HTTP Location string, operation does not assume * ownership of rest_http_location. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_rest_http_location( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * rest_http_location); /** * Gets HTTP Location for RESTful Services. * @param op pointer to operation * @param env pointer to environment struct * @return HTTP Location string, returns a reference, * not a cloned copy */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_op_get_rest_http_location( const axis2_op_t * op, const axutil_env_t * env); /** * Sets operation QName. * @param op pointer to operation as a void pointer. * @param env pointer to environment struct * @param qname pointer to QName, this method creates a clone of the * QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_qname( axis2_op_t * op, const axutil_env_t * env, const axutil_qname_t * qname); /** * Gets operation QName. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to QName, returns a reference, not a cloned copy */ AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_op_get_qname( void *op, const axutil_env_t * env); /** * Sets operation message exchange pattern (MEP). * @param op pointer to operation * @param env pointer to environment struct * @param pattern message exchange pattern string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_msg_exchange_pattern( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * pattern); /** * Gets operation message exchange pattern (MEP). * @param op pointer to operation * @param env pointer to environment struct * @return MEP string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_op_get_msg_exchange_pattern( const axis2_op_t * op, const axutil_env_t * env); /** * Sets message receiver. message receiver is responsible for invoking * the business logic associated with the operation. * @param op pointer to operation * @param env pointer to environment struct * @param msg_recv pointer to message receiver, operation assumes * ownership of message receiver * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_msg_recv( axis2_op_t * op, const axutil_env_t * env, struct axis2_msg_recv *msg_recv); /** * Gets message receiver. message receiver is responsible for invoking * the business logic associated with the operation. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to message receiver, returns a reference, not a * cloned copy */ AXIS2_EXTERN struct axis2_msg_recv *AXIS2_CALL axis2_op_get_msg_recv( const axis2_op_t * op, const axutil_env_t * env); /** * Gets style of operation. Style is that mentioned in WSDL, either * RPC or document literal. * @param op pointer to operation * @param env pointer to environment struct * @return string representing style */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_op_get_style( const axis2_op_t * op, const axutil_env_t * env); /** * Sets style of operation. Style is that mentioned in WSDL, either * RPC or document literal. * @param op pointer to operation * @param env pointer to environment struct * @param style string representing style * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_style( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * style); /** * Engages given module to operation. * @param op pointer to operation * @param env pointer to environment struct * @param module_desc pointer to module description, operation does not * assume ownership of struct * @param conf pointer to configuration, operation does not assume * ownership of configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_engage_module( axis2_op_t * op, const axutil_env_t * env, struct axis2_module_desc *module_desc, struct axis2_conf *conf); /** * Adds module description to engaged module list. * @param op pointer to operation * @param env pointer to environment struct * @param module_dec pointer to module description, operation does not * assume ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_to_engaged_module_list( axis2_op_t * op, const axutil_env_t * env, struct axis2_module_desc *module_dec); /** * Gets all modules associated to operation. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing module descriptions */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_all_modules( const axis2_op_t * op, const axutil_env_t * env); /** * Gets Axis specific MEP constant. This method simply maps the string * URI of the MEP to an integer. * @param op pointer to operation * @param env pointer to environment struct * @return integer representing MEP */ AXIS2_EXTERN int AXIS2_CALL axis2_op_get_axis_specific_mep_const( axis2_op_t * op, const axutil_env_t * env); /** * Gets fault in flow. Fault in flow is the list of phases invoked * when a fault happens along in path. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing phases, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_fault_in_flow( const axis2_op_t * op, const axutil_env_t * env); /** * Gets fault out flow. Fault out flow is the list of phases invoked * when a fault happens along out path. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing phases, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_fault_out_flow( const axis2_op_t * op, const axutil_env_t * env); /** * Gets out flow. Out flow is the list of phases invoked * along out path. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing phases, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_out_flow( const axis2_op_t * op, const axutil_env_t * env); /** * Gets in flow. In flow is the list of phases * invoked along in path. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing phases, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_in_flow( const axis2_op_t * op, const axutil_env_t * env); /** * Sets fault in flow. Fault in flow is the list of phases invoked * when a fault happens along in path. * @param op pointer to operation * @param env pointer to environment struct * @param list pointer to array list containing phases, operation takes * over the ownership of list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_fault_in_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list); /** * Sets fault out flow. Fault out flow is the list of phases invoked * when a fault happens along out path. * @param op pointer to operation * @param env pointer to environment struct * @param list pointer to array list containing phases, operation takes * over the ownership of list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_fault_out_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list); /** * Sets out flow. Out flow is the list of phases invoked * along out path. * @param op pointer to operation * @param env pointer to environment struct * @param list pointer to array list containing phases, operation takes * over the ownership of list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_out_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list); /** * Sets in flow. In flow is the list of phases * invoked along in path. * @param op pointer to operation * @param env pointer to environment struct * @param list pointer to array list containing phases, operation takes * over the ownership of list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_in_flow( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * list); /** * Adds given QName to module QName list. * @param op pointer to operation * @param env pointer to environment struct * @param module_name pointer to module QName, QName would be cloned by * this method * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_module_qname( axis2_op_t * op, const axutil_env_t * env, const axutil_qname_t * module_qname); /** * Gets all module QNames as a list. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to array list containing module QNames, * returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_all_module_qnames( const axis2_op_t * op, const axutil_env_t * env); /** * Finds operation context related to this operation using given message * context and service context. This method would create a new operation * context related to the operation, if one could not be found. * @param op pointer to operation * @param env pointer to environment struct * @param msg_ctx pointer to message context * @param svc_ctx pointer to service context * @return pointer to operation context, returns * a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL axis2_op_find_op_ctx( axis2_op_t * op, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx, struct axis2_svc_ctx *svc_ctx); /** * Finds operation context related to this operation using given message * context. This method will not create a new operation context if * an associated operation context could not be found. * @param op pointer to operation * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return pointer to operation context if found, else NULL. Returns * a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL axis2_op_find_existing_op_ctx( axis2_op_t * op, const axutil_env_t * env, const struct axis2_msg_ctx *msg_ctx); /** * Registers given operation context against this operation. Registration * happens within the given message context, as it is the message context * that captures the state information of a given invocation. * @param op pointer to operation * @param env pointer to environment struct * @param msg_ctx pointer to message context * @param op_ctx pointer to operation context, operation does not assume * ownership of operation context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_register_op_ctx( axis2_op_t * op, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx, struct axis2_op_ctx *op_ctx); /** * Gets message with given label. * @param op pointer to operation * @param env pointer to environment struct * @return pointer to message corresponding to given label, returns * a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_msg *AXIS2_CALL axis2_op_get_msg( const axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * label); /** * Adds given message with the given label. * @param op pointer to operation * @param env pointer to environment struct * @param label label string * @param msg pointer to message * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_add_msg( axis2_op_t * op, const axutil_env_t * env, const axis2_char_t * label, const struct axis2_msg *msg); /** * Checks if the operation is from a module. * @param op pointer to operation * @param env pointer to environment struct * AXIS2_TRUE if the operation is from a module, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_op_is_from_module( const axis2_op_t * op, const axutil_env_t * env); /** * Set the wsamapping list. * @param op pointer to operation * @param env pointer to environment struct * @param mapping_list list of action mappings * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_set_wsamapping_list( axis2_op_t * op, const axutil_env_t * env, axutil_array_list_t * mapping_list); /** * Get the wsamapping list. * @param op pointer to operation * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_op_get_wsamapping_list( axis2_op_t * op, const axutil_env_t * env); AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_op_get_param_container( const axis2_op_t * op, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_op_remove_from_engaged_module_list( axis2_op_t * op, const axutil_env_t * env, struct axis2_module_desc *module_desc); /** * Creates operation struct for an operation defined in a module. * @param env pointer to environment struct * @return pointer to newly created operation */ AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_create_from_module( const axutil_env_t * env); /** * Creates operation struct with given QName. * @param env pointer to environment struct * @param name pointer to QName * @return pointer to newly created operation */ AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_op_create_with_qname( const axutil_env_t * env, const axutil_qname_t * name); /** * Frees the operation given as a void pointer. This method would cast the * void parameter to an operation pointer and then call free method. * @param pointer to operation as a void pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_op_free_void_arg( void *op, const axutil_env_t * env); /** * Gets base description. * @param op pointer to message * @param env pointer to environment struct * @return pointer to base description struct */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_op_get_base( const axis2_op_t * op, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_OP_H */ axis2c-src-1.6.0/include/axis2_http_accept_record.h0000644000175000017500000000713011166304541023374 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_ACCEPT_RECORD_H #define AXIS2_HTTP_ACCEPT_RECORD_H /** * @defgroup axis2_http_accept_record HTTP Accept record * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_accept_record.h * @brief Axis2 HTTP Accept record */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_accept_record */ typedef struct axis2_http_accept_record axis2_http_accept_record_t; /** * Gets quality factor of accept record * @param accept_record pointer to accept record * @param env pointer to environment struct * @return quality factor between 0 and 1 (1 meaning maximum * and 0 meaning minimum) */ AXIS2_EXTERN float AXIS2_CALL axis2_http_accept_record_get_quality_factor( const axis2_http_accept_record_t * accept_record, const axutil_env_t * env); /** * Gets name of accept record * @param accept_record pointer to accept record * @param env pointer to environment struct * @return name of accept record */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_accept_record_get_name( const axis2_http_accept_record_t * accept_record, const axutil_env_t * env); /** * Gets level of accept record * @param accept_record pointer to accept record * @param env pointer to environment struct * @return level of accept record (1 meaning highest). * A return value of -1 indicates that no level is * associated. */ AXIS2_EXTERN int AXIS2_CALL axis2_http_accept_record_get_level( const axis2_http_accept_record_t * accept_record, const axutil_env_t * env); /** * Gets string representation of accept record * @param accept_record pointer to accept record * @param env pointer to environment struct * @return created accept record string */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_accept_record_to_string( axis2_http_accept_record_t * accept_record, const axutil_env_t * env); /** * Frees accept record * @param accept_record pointer to accept record * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_http_accept_record_free( axis2_http_accept_record_t * accept_record, const axutil_env_t * env); /** * Creates accept record * @param env pointer to environment struct * @param str pointer to str * @return created accept record */ AXIS2_EXTERN axis2_http_accept_record_t *AXIS2_CALL axis2_http_accept_record_create( const axutil_env_t * env, const axis2_char_t * str); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_ACCEPT_RECORD_H */ axis2c-src-1.6.0/include/axis2_thread_mutex.h0000644000175000017500000000726611166304541022243 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_THREAD_MUTEX_H #define AXIS2_THREAD_MUTEX_H /** * @file axutil_thread_mutex.h * @brief AXIS2 Thread Mutex Routines */ #include #include #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ /** * @defgroup axis2_mutex thread mutex routines * @ingroup axis2_util * @{ */ /** Opaque thread-local mutex structure */ typedef struct axutil_thread_mutex_t axutil_thread_mutex_t; #define AXIS2_THREAD_MUTEX_DEFAULT 0x0 /**< platform-optimal lock behavior */ #define AXIS2_THREAD_MUTEX_NESTED 0x1 /**< enable nested (recursive) locks */ #define AXIS2_THREAD_MUTEX_UNNESTED 0x2 /**< disable nested locks */ /** * Create and initialize a mutex that can be used to synchronize threads. * * @param flags Or'ed value of: *
         *           AXIS2_THREAD_MUTEX_DEFAULT   platform-optimal lock behavior.
         *           AXIS2_THREAD_MUTEX_NESTED    enable nested (recursive) locks.
         *           AXIS2_THREAD_MUTEX_UNNESTED  disable nested locks (non-recursive).
         * 
    * @param allocator the allocator from which to allocate the mutex. * @return mutex the memory address where the newly created mutex will be * stored. * @warning Be cautious in using AXIS2_THREAD_MUTEX_DEFAULT. While this is the * most optimial mutex based on a given platform's performance charateristics, * it will behave as either a nested or an unnested lock. */ AXIS2_EXTERN axutil_thread_mutex_t *AXIS2_CALL axutil_thread_mutex_create( axutil_allocator_t * allocator, unsigned int flags); /** * Acquire the lock for the given mutex. If the mutex is already locked, * the current thread will be put to sleep until the lock becomes available. * @param mutex the mutex on which to acquire the lock. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_lock( axutil_thread_mutex_t * mutex); /** * Attempt to acquire the lock for the given mutex. If the mutex has already * been acquired, the call returns immediately * @param mutex the mutex on which to attempt the lock acquiring. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_trylock( axutil_thread_mutex_t * mutex); /** * Release the lock for the given mutex. * @param mutex the mutex from which to release the lock. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_unlock( axutil_thread_mutex_t * mutex); /** * Destroy the mutex and free the memory associated with the lock. * @param mutex the mutex to destroy. */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axutil_thread_mutex_destroy( axutil_thread_mutex_t * mutex); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_THREAD_MUTEX_H */ axis2c-src-1.6.0/include/axis2_phase_resolver.h0000644000175000017500000002471111166304541022565 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PHASE_RESOLVER_H #define AXIS2_PHASE_RESOLVER_H /** * @defgroup axis2_phase_resolver phase resolver * @ingroup axis2_phase_resolver * * Engaging modules into axis2 configuration, services and operations are done here. * This is accomplished mainly by following operations respectively. * axis2_phase_resolver_engage_module_globally(). * axis2_phase_resolver_engage_module_to_svc(). * axis2_phase_resolver_engage_module_to_op(). * The user normally engage a module programmatically or using configuration files. When an * application client engage a module programmatically he can use axis2_op_client_engage_module() * function, or axis2_svc_client_engage_module() function. Engaging using configuration files means * adding a module_ref parameter into services.xml or axis2.xml. * In whatever way engaging a module finally sums upto addding module handlers into each operations flows * in the order defined in module.xml. Here flows in operations are actually array lists of user defined * phases (See op.c). * * Above functions in phase resolver add module handlers into operation flows as mentioned above as well * as add module handlers into system defined phases. User defined phases are added into each operation * at deployment time before handlers are added into them by phase resolver. System define phases * are added into axis2_conf_t structure and predefined handlers are added to them before module handlers * are added to them by phase resolver. * * Modules defined in axis2.xml are engaged by call to axis2_conf_engage_module() function. Modules defined in * services xml are engaged by call to axis2_svc_enage_module() or axis2_svc_grp_engage_module(). Modules * define in operation tag under services.xml are engaged by call to axis2_op_engage_module() function. * These function in tern call one of axis2_phase_resolver_engage_module_globally() or * axis2_phase_resolver_engage_module_to_svc() or axis2_phase_resolver_engage_module_to_op. * * Also when you add a service programmaticaly into axis2_conf_t you need to build execution chains for that * services operations. * axis2_phase_resolver_build_execution_chains_for_svc() is the function to be called for that purpose. * This will extract the already engaged modules for the configuration and service and add handlers from * them into operation phases. * * @{ */ /** * @file axis2_phase_resolver.h */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for axis2_phase_resolver */ typedef struct axis2_phase_resolver axis2_phase_resolver_t; struct axis2_phase; struct axis2_handler_desc; struct axis2_module_desc; struct axis2_handler; struct axis2_phase_rule; struct axis2_svc; struct axis2_conf; struct axis2_op; struct axis2_phase_holder; /** * Frees phase resolver. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_phase_resolver_free( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env); /** * Engages the given module globally. Engaging a module globally means * that the given module would be engaged to all operations in all * services. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @param module pointer to module * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_engage_module_globally( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_module_desc *module); /** * Engages the given module to the given service. This means * the given module would be engaged to all operations of the given * service. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @param svc pointer to service * @param module_desc pointer to module description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_engage_module_to_svc( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_svc *svc, struct axis2_module_desc *module_desc); /** * Engages the given module to the given operation. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @param axis_op pointer to axis operation * @param pointer to module description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_engage_module_to_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_op *axis_op, struct axis2_module_desc *module_desc); /** * Builds the execution chains for service. Execution chains are collection of phases that are * invoked in the execution path. Execution chains for system defined phases are created when * call to engage_module_globally() function. Here it is created for service operations. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_build_execution_chains_for_svc( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env); /** * Builds execution chains for given module operation. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @param op pointer to operation * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_build_execution_chains_for_module_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_op *op); /** * Disengages the given module from the given service. This means * the given module would be disengaged from all operations of the given * service. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @param svc pointer to service * @param module_desc pointer to module description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_disengage_module_from_svc( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_svc *svc, struct axis2_module_desc *module_desc); /** * Disengages the given module from the given operation. * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @param axis_op pointer to axis operation * @param pointer to module description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_disengage_module_from_op( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env, struct axis2_op *axis_op, struct axis2_module_desc *module_desc); /** * Builds transport chains. This function is no longer used in Axis2/C and hence * marked as deprecated. * @deprecated * @param phase_resolver pointer to phase resolver * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_resolver_build_transport_chains( axis2_phase_resolver_t * phase_resolver, const axutil_env_t * env); /** * Creates phase resolver struct. * @param env pointer to environment struct * @return pointer to newly created phase resolver */ AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL axis2_phase_resolver_create( const axutil_env_t * env); /** * Creates phase resolver struct with given configuration. * @param env pointer to environment struct * @param axis2_config pointer to aixs2 configuration, phase resolver * created would not assume ownership of configuration * @return pointer to newly created phase resolver */ AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL axis2_phase_resolver_create_with_config( const axutil_env_t * env, struct axis2_conf *axis2_config); /** * Creates phase resolver struct with given configuration and service. * @param env pointer to environment struct * @param aixs2_config pointer to aixs2 configuration, phase resolver * created would not assume ownership of configuration * @param svc pointer to service, phase resolver * created would not assume ownership of service * @return pointer to newly created phase resolver */ AXIS2_EXTERN axis2_phase_resolver_t *AXIS2_CALL axis2_phase_resolver_create_with_config_and_svc( const axutil_env_t * env, struct axis2_conf *axis2_config, struct axis2_svc *svc); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PHASE_RESOLVER_H */ axis2c-src-1.6.0/include/axis2_http_svr_thread.h0000644000175000017500000000646711166304541022754 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_SVR_THREAD_H #define AXIS2_HTTP_SVR_THREAD_H /** * @defgroup axis2_http_svr_thread http server thread * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_svr_thread.h * @brief axis2 HTTP server listning thread implementation */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axist_http_svr_thread */ typedef struct axis2_http_svr_thread axis2_http_svr_thread_t; /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_svr_thread_run( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_svr_thread_destroy( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_http_svr_thread_get_local_port( const axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_svr_thread_is_running( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct * @param worker pointer to worker */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_svr_thread_set_worker( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env, axis2_http_worker_t * worker); /** * @param svr_thread pointer to server thread * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_http_svr_thread_free( axis2_http_svr_thread_t * svr_thread, const axutil_env_t * env); /** * @param env pointer to environment struct * @param port */ AXIS2_EXTERN axis2_http_svr_thread_t *AXIS2_CALL axis2_http_svr_thread_create( const axutil_env_t * env, int port); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_SVR_THREAD_H */ axis2c-src-1.6.0/include/axis2_ctx.h0000644000175000017500000001040111166304541020331 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CTX_H #define AXIS2_CTX_H /** * @defgroup axis2_context Context Hierarchy * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_ctx context * @ingroup axis2_context * context is the base struct of all the context related structs. This struct * encapsulates the common operations and data for all context types. All the * context types, configuration, service group, service and operation has the * base of type context. * @{ */ /** * @file axis2_ctx.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_ctx */ typedef struct axis2_ctx axis2_ctx_t; /** * Creates a context struct. * @param env pointer to environment struct * @return pointer to newly created context */ AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_ctx_create( const axutil_env_t * env); /** * Sets a property with the given key. * @param ctx pointer to context struct * @param env pointer to environment struct * @param key key string to store the property with * @param value pointer to property to be stored, context assumes the * ownership of the property * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ctx_set_property( struct axis2_ctx *ctx, const axutil_env_t * env, const axis2_char_t * key, axutil_property_t * value); /** * Gets the property with the given key. * @param ctx pointer to context struct * @param env pointer to environment struct * @param key key string * @return pointer to property struct corresponding to the given key */ AXIS2_EXTERN axutil_property_t *AXIS2_CALL axis2_ctx_get_property( const axis2_ctx_t * ctx, const axutil_env_t * env, const axis2_char_t * key); /** * Gets the non-persistent map of properties. * @param ctx pointer to context struct * @param env pointer to environment struct * @return pointer to the hash map which stores the non-persistent * properties */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_ctx_get_property_map( const axis2_ctx_t * ctx, const axutil_env_t * env); /** * Gets all properties stored within context. * @param ctx pointer to context struct * @param env pointer to environment struct * @return pointer to hash table containing all properties */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_ctx_get_all_properties( const axis2_ctx_t * ctx, const axutil_env_t * env); /** * Frees context struct. * @param ctx pointer to context struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_ctx_free( axis2_ctx_t * ctx, const axutil_env_t * env); /** * Sets non-persistent map of properties. * @param ctx pointer to context struct * @param env pointer to environment struct * @param map pointer to hash map, context assumes ownership of the map * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_ctx_set_property_map( struct axis2_ctx *ctx, const axutil_env_t * env, axutil_hash_t * map); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CTX_H */ axis2c-src-1.6.0/include/axis2_transport_in_desc.h0000644000175000017500000002750111166304541023264 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TRANSPORT_IN_DESC_H #define AXIS2_TRANSPORT_IN_DESC_H /** * @defgroup axis2_transport_in_desc transport in description * @ingroup axis2_desc * transport in description represents a transport receiver configured in * Axis2 configuration. There can be multiple transport receivers configured * in axis2.xml file and each of them will be represented with a transport * in description instance. deployment engine takes care of creating and * instantiating transport in descriptions. * transport in description encapsulates flows related to the transport in * and also holds a reference to related transport receiver. * @{ */ /** * @file axis2_transport_in_desc.h * @brief Axis2 description transport in interface */ #include #include #include #include #include #include /*#include */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_transport_in_desc */ typedef struct axis2_transport_in_desc axis2_transport_in_desc_t; struct axis2_phase; struct axis2_transport_receiver; /** * Frees transport in description. * @param transport_in_desc pointer to transport in description struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_in_desc_free( axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env); /** * Frees transport in description given as a void parameter. * @param transport_in pointer to transport in description as a void * pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_in_desc_free_void_arg( void *transport_in, const axutil_env_t * env); /** * Gets transport enum. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @return transport enum */ AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_transport_in_desc_get_enum( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env); /** * Sets transport enum. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @param trans_enum transport enum * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_enum( struct axis2_transport_in_desc *transport_in, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Gets in flow. In flow represents the list of phases invoked * along the receive path. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @return pointer to flow representing in flow, returns a reference, * not a cloned copy */ AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_transport_in_desc_get_in_flow( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env); /** * Sets in flow. In flow represents the list of phases invoked * along the receive path. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @param in_flow pointer to in flow representing in flow, transport in * description assumes ownership of the flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_in_flow( struct axis2_transport_in_desc *transport_in, const axutil_env_t * env, struct axis2_flow *in_flow); /** * Gets fault in flow. Fault in flow represents the list of phases * invoked along the receive path if a fault happens. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @return pointer to flow representing fault in flow, returns a * reference, not a cloned copy */ AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_transport_in_desc_get_fault_in_flow( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env); /** * Sets fault in flow. Fault in flow represents the list of phases * invoked along the receive path if a fault happens. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @param fault_in_flow pointer to flow representing fault in flow, * transport in description assumes the ownership of the flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_fault_in_flow( struct axis2_transport_in_desc *transport_in, const axutil_env_t * env, struct axis2_flow *fault_in_flow); /** * Gets transport receiver associated with the transport in description. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @return pointer to transport receiver, returns a reference, not * a cloned copy */ AXIS2_EXTERN struct axis2_transport_receiver *AXIS2_CALL axis2_transport_in_desc_get_recv( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env); /** * Sets transport receiver associated with the transport in description. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @param recv pointer to transport receiver, transport in * description assumes ownership of the receiver * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_recv( struct axis2_transport_in_desc *transport_in, const axutil_env_t * env, struct axis2_transport_receiver *recv); /** * Gets the transport in phase associated with transport in description. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @return transport in phase, returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_phase *AXIS2_CALL axis2_transport_in_desc_get_in_phase( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env); /** * Sets the transport in phase associated with transport in description. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @param in_phase pointer to phase representing transport in phase, * transport in description assumes ownership of phase * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_in_phase( struct axis2_transport_in_desc *transport_in, const axutil_env_t * env, struct axis2_phase *in_phase); /** * Gets the transport fault phase associated with transport in description. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @return pointer to phase representing fault phase */ AXIS2_EXTERN struct axis2_phase *AXIS2_CALL axis2_transport_in_desc_get_fault_phase( const axis2_transport_in_desc_t * transport_in, const axutil_env_t * env); /** * Sets the transport fault phase associated with transport in description. * @param transport_in pointer to transport in description struct * @param env pointer to environment struct * @param fault_phase pointer to fault phase * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_set_fault_phase( struct axis2_transport_in_desc *transport_in, const axutil_env_t * env, struct axis2_phase *fault_phase); /** * Adds given parameter. * @param transport_in_desc pointer to transport in description struct * @param env pointer to environment struct * @param param pointer to parameter, transport in description assumes * ownership of parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_in_desc_add_param( axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env, axutil_param_t * param); /** * Gets named parameter. * @param transport_in_desc pointer to transport in description struct * @param env pointer to environment struct * @param param_name parameter name string * @return pointer to named parameter if it exists, else NULL. Returns * a reference, not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_transport_in_desc_get_param( const axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Checks if the named parameter is locked. * @param transport_in_desc pointer to transport in description struct * @param env pointer to environment struct * @param param_name parameter name string * @return AXIS2_TRUE if named parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_transport_in_desc_is_param_locked( axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env, const axis2_char_t * param_name); AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_transport_in_desc_param_container( const axis2_transport_in_desc_t * transport_in_desc, const axutil_env_t * env); /** * Creates transport in description with given transport enum. * @param env pointer to environment struct * @param trans_enum transport enum * @return pointer to newly created phase holder */ AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL axis2_transport_in_desc_create( const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Frees transport in description given as a void parameter. * @param transport_in pointer to transport in description as a void * pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_in_desc_free_void_arg( void *transport_in, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TRANSPORT_IN_DESC_H */ axis2c-src-1.6.0/include/axis2_http_sender.h0000644000175000017500000001467111166304541022067 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_SENDER_H #define AXIS2_HTTP_SENDER_H /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_http_sender.h * @brief axis2 SOAP over HTTP sender */ #include #include #include #include #include #include #include #include #ifdef AXIS2_LIBCURL_ENABLED #include #endif #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_sender_ */ typedef struct axis2_http_sender axis2_http_sender_t; /** * @param sender sender * @param env pointer to environment struct * @param msg_ctx pointer to message context * @param out out * @param str_url str url * @param soap_action pointer to soap action * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_send( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axiom_soap_envelope_t * out, const axis2_char_t * str_url, const axis2_char_t * soap_action); void AXIS2_CALL axis2_http_sender_util_add_header( const axutil_env_t * env, axis2_http_simple_request_t * request, axis2_char_t * header_name, const axis2_char_t * header_value); #ifdef AXIS2_LIBCURL_ENABLED typedef struct axis2_libcurl axis2_libcurl_t; AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_libcurl_http_send( axis2_libcurl_t * curl, axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axiom_soap_envelope_t * out, const axis2_char_t * str_url, const axis2_char_t * soap_action); #endif /** * @param sender sender * @param env pointer to environment struct * @param chunked chunked * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_set_chunked( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_bool_t chunked); /** * @param sender sender * @param env pointer to environment struct * @param om_output om output * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_set_om_output( axis2_http_sender_t * sender, const axutil_env_t * env, axiom_output_t * om_output); /** * @param sender sender * @param env pointer to environment struct * @param version pointer to version * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_set_http_version( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_char_t * version); /** * @param sender sender * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_http_sender_free( axis2_http_sender_t * sender, const axutil_env_t * env); /** * @param sender soap over http sender * @param env pointer to environment struct * @param msg_ctx pointer to message context * @param response pointer to response */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_get_header_info( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_response_t * response); /** * @param sender soap over http sender * @param env pointer to environment struct * @param msg_ctx pointer to message context * @param response pointer to response */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_process_response( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx, axis2_http_simple_response_t * response); /** * @param sender soap over http sender * @param env pointer to environment struct * @param msg_ctx pointer to message context */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_sender_get_timeout_values( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_sender_get_param_string( axis2_http_sender_t * sender, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * @param env pointer to environment struct */ AXIS2_EXTERN axis2_http_sender_t *AXIS2_CALL axis2_http_sender_create( const axutil_env_t * env); /** Send. */ #define AXIS2_HTTP_SENDER_SEND(sender, env, msg_ctx, output, url,soap_action)\ axis2_http_sender_send(sender, env, msg_ctx,output, url, soap_action) /** Set chunked. */ #define AXIS2_HTTP_SENDER_SET_CHUNKED(sender, env, chunked) \ axis2_http_sender_set_chunked(sender, env, chunked) /** Set om output. */ #define AXIS2_HTTP_SENDER_SET_OM_OUTPUT(sender, env, om_output) \ axis2_http_sender_set_om_output (sender, env, om_output) /** Set http version. */ #define AXIS2_HTTP_SENDER_SET_HTTP_VERSION(sender, env, version)\ axis2_http_sender_set_http_version (sender, env, version) /** Frees the soap over http sender. */ #define AXIS2_HTTP_SENDER_FREE(sender, env) \ axis2_http_sender_free(sender, env) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_SENDER_H */ axis2c-src-1.6.0/include/axis2_callback_recv.h0000644000175000017500000001007111166304541022311 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CALLBACK_RECV_H #define AXIS2_CALLBACK_RECV_H /** * @defgroup axis2_callback_recv callback message receiver. This can be considered as a * message receiver implementation for application client side which is similar to * server side message receivers like raw_xml_in_out_msg_recv. Messages received by * listener manager will finally end up here. * * @ingroup axis2_client_api * callback message receiver, that is used as the message receiver in the * operation in case of asynchronous invocation for receiving the result. */ /** * @file axis2_axis2_callback_recv.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_callback_recv */ typedef struct axis2_callback_recv axis2_callback_recv_t; /** * Gets the base struct which is of type message receiver. * @param callback_recv pointer to callback receiver struct * @param env pointer to environment struct * @return pointer to base message receiver struct */ AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_callback_recv_get_base( axis2_callback_recv_t * callback_recv, const axutil_env_t * env); /** * Frees the callback receiver struct. * @param callback_recv pointer to callback receiver struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_callback_recv_free( axis2_callback_recv_t * callback_recv, const axutil_env_t * env); /** * Adds a callback corresponding to given WSA message ID to message * receiver. * @param callback_recv pointer to callback receiver struct * @param env pointer to environment struct * @param msg_id message ID indicating which message the callback is * supposed to deal with * @param callback callback to be added. callback receiver assumes * ownership of the callback * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_recv_add_callback( struct axis2_callback_recv *callback_recv, const axutil_env_t * env, const axis2_char_t * msg_id, axis2_callback_t * callback); /** * Creates a callback receiver struct. * @param env pointer to environment struct * @return a pointer to newly created callback receiver struct, * or NULL on error with error code set in environment's error */ AXIS2_EXTERN axis2_callback_recv_t *AXIS2_CALL axis2_callback_recv_create( const axutil_env_t * env); /** Gets the base message receiver. */ #define AXIS2_CALLBACK_RECV_GET_BASE(callback_recv, env) \ axis2_callback_recv_get_base(callback_recv, env) /** Frees callback message receiver. */ #define AXIS2_CALLBACK_RECV_FREE(callback_recv, env) \ axis2_callback_recv_free(callback_recv, env) /** Adds callback to callback message receiver. */ #define AXIS2_CALLBACK_RECV_ADD_CALLBACK(callback_recv, env, msg_id, callback)\ axis2_callback_recv_add_callback(callback_recv, env, msg_id, callback) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CALLBACK_RECV_H */ axis2c-src-1.6.0/include/axis2_msg.h0000644000175000017500000002203711166304541020331 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MSG_H #define AXIS2_MSG_H /** * @defgroup axis2_msg message * @ingroup axis2_desc * message represents a message in a WSDL. It captures SOAP headers related to * a given message, the direction as well as the phases to be invoked along * the flow. Based on the message direction, there could be only one flow * associated with a message. * @{ */ /** * @file axis2_msg.h */ #include #include #include #include #include /** Message of IN flow */ #define AXIS2_MSG_IN "in" /** Message of OUT flow */ #define AXIS2_MSG_OUT "out" /** Message of IN FAULT flow */ #define AXIS2_MSG_IN_FAULT "InFaultMessage" /** Message of OUT FAULT flow */ #define AXIS2_MSG_OUT_FAULT "OutFaultMessage" #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_msg */ typedef struct axis2_msg axis2_msg_t; /** * Creates message struct instance. * @param env pointer to environment struct * @return pointer to newly created message */ AXIS2_EXTERN axis2_msg_t *AXIS2_CALL axis2_msg_create( const axutil_env_t * env); /** * Frees message. * @param msg pointer to message * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_msg_free( axis2_msg_t * msg, const axutil_env_t * env); /** * Adds a parameter. * @param msg pointer to message * @param env pointer to environment struct * @param param pointer to parameter, message assumes ownership of * parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_add_param( axis2_msg_t * msg, const axutil_env_t * env, axutil_param_t * param); /** * Gets the named parameter. * @param msg pointer to message * @param env pointer to environment struct * @param name parameter name string * @return pointer to parameter corresponding to the same name, returns * a reference, not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_msg_get_param( const axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * name); /** * Gets all parameters stored in message. * @param msg pointer to message * @param env pointer to environment struct * @return pointer to list of parameters, returns a reference, not a * cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_get_all_params( const axis2_msg_t * msg, const axutil_env_t * env); /** * Checks if the named parameter is locked. * @param msg pointer to message * @param env pointer to environment struct * @param param_name parameter name string * @return AXIS2_TRUE if the parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_msg_is_param_locked( axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * param_name); /** * Sets parent. Parent of a message is of type operation. * @param msg pointer to message * @param env pointer to environment struct * @param op pointer to parent operation, message does not assume * ownership of parent * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_parent( axis2_msg_t * msg, const axutil_env_t * env, axis2_op_t * op); /** * Gets parent. Parent of a message is of type operation. * @param msg pointer to message * @param env pointer to environment struct * @return pointer to parent operation, returns a reference, not a * cloned copy */ AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_msg_get_parent( const axis2_msg_t * msg, const axutil_env_t * env); /** * Gets flow of execution associated with the message. * @param msg pointer to message * @param env pointer to environment struct * @return pointer to array list containing the list of phases * representing the flow */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_msg_get_flow( const axis2_msg_t * msg, const axutil_env_t * env); /** * Sets flow of execution associated with the message. * @param msg pointer to message * @param env pointer to environment struct * @param flow pointer to array list of phases representing the flow, * message assumes ownership of flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_flow( axis2_msg_t * msg, const axutil_env_t * env, axutil_array_list_t * flow); /** * Gets direction of message. * @param msg pointer to message * @param env pointer to environment struct * @return direction string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_get_direction( const axis2_msg_t * msg, const axutil_env_t * env); /** * Sets direction of message. * @param msg pointer to message * @param env pointer to environment struct * @param direction pointer to direction * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_direction( axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * direction); /** * Gets QName representing message. * @param msg pointer to message * @param env pointer to environment struct * @return pointer to QName, returns a reference, not a cloned copy */ AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_msg_get_element_qname( const axis2_msg_t * msg, const axutil_env_t * env); /** * Sets QName representing message. * @param msg pointer to message * @param env pointer to environment struct * @param element_qname pointer to QName representing message, this * function creates a clone of QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_element_qname( axis2_msg_t * msg, const axutil_env_t * env, const axutil_qname_t * element_qname); /** * Gets message name. * @param msg pointer to message * @param env pointer to environment struct * @return message name string. */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_msg_get_name( const axis2_msg_t * msg, const axutil_env_t * env); /** * Sets message name. * @param msg pointer to message * @param env pointer to environment struct * @param name message name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_set_name( axis2_msg_t * msg, const axutil_env_t * env, const axis2_char_t * name); /** * Gets base description. * @param msg pointer to message * @param env pointer to environment struct * @return pointer to base description struct */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_msg_get_base( const axis2_msg_t * msg, const axutil_env_t * env); /** * Gets container of parameters belonging to message. * @param msg pointer to message * @param env pointer to environment struct * @return returns container of parameters * @sa axutil_param_container */ AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_msg_get_param_container( const axis2_msg_t * msg, const axutil_env_t * env); /** * Increments the reference count to this oject * @param msg pointer to message * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_msg_increment_ref( axis2_msg_t * msg, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MSG_H */ axis2c-src-1.6.0/include/axis2_svc_skeleton.h0000644000175000017500000001353211166304541022242 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_SKELETON_H #define AXIS2_SVC_SKELETON_H /** * @defgroup axis2_soc_api service API * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_svc_skeleton service skeleton * @ingroup axis2_svc_api * service skeleton API should be implemented by all services * that are to be deployed with Axis2/C engine. * @{ */ /** * @file axis2_svc_skeleton.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc_skeleton_ops */ typedef struct axis2_svc_skeleton_ops axis2_svc_skeleton_ops_t; /** Type name for struct axis2_svc_skeleton */ typedef struct axis2_svc_skeleton axis2_svc_skeleton_t; /** * service skeleton ops struct. * Encapsulator struct for operations of axis2_svc_skeleton. */ struct axis2_svc_skeleton_ops { /** * Initializes the service implementation. * @param svc_skeleton pointer to svc_skeleton struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ int( AXIS2_CALL * init)( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env); /** * Invokes the service. This function should be used to call up the * functions implementing service operations. * @param svc_skeli pointer to svc_skeli struct * @param env pointer to environment struct * @param node pointer to node struct * @param msg_ctx pointer to message context struct * @return pointer to AXIOM node resulting from the invocation. * In case of one way operations, NULL would be returned with * status in environment error set to AXIS2_SUCCESS. On error * NULL would be returned with error status set to AXIS2_FAILURE */ axiom_node_t *( AXIS2_CALL * invoke)( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node, axis2_msg_ctx_t * msg_ctx); /** * This method would be called if a fault is detected. * @param svc_skeli pointer to svc_skeli struct * @param env pointer to environment struct * @param node pointer to node struct * @return pointer to AXIOM node reflecting the fault, NULL on error */ axiom_node_t *( AXIS2_CALL * on_fault)( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env, axiom_node_t * node); /** * Frees service implementation. * @param svc_skeli pointer to svc_skeli struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ int( AXIS2_CALL * free)( axis2_svc_skeleton_t * svc_skeli, const axutil_env_t * env); /** * Initializes the service implementation. * @param svc_skeleton pointer to svc_skeleton struct * @param env pointer to environment struct * @param conf pointer to axis2c configuration struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ int( AXIS2_CALL * init_with_conf)( axis2_svc_skeleton_t * svc_skeleton, const axutil_env_t * env, struct axis2_conf * conf); }; /** * service skeleton struct. */ struct axis2_svc_skeleton { /** operations of service skeleton */ const axis2_svc_skeleton_ops_t *ops; /** Array list of functions, implementing the service operations */ axutil_array_list_t *func_array; }; /*************************** Function macros **********************************/ /** Initialize the svc skeleton. @sa axis2_svc_skeleton_ops#init */ #define AXIS2_SVC_SKELETON_INIT(svc_skeleton, env) \ ((svc_skeleton)->ops->init (svc_skeleton, env)) /** Initialize the svc skeleton with axis2c configuration struct. @sa axis2_svc_skeleton_ops#init_with_conf */ #define AXIS2_SVC_SKELETON_INIT_WITH_CONF(svc_skeleton, env, conf) \ ((svc_skeleton)->ops->init_with_conf (svc_skeleton, env, conf)) /** Frees the svc skeleton. @sa axis2_svc_skeleton_ops#free */ #define AXIS2_SVC_SKELETON_FREE(svc_skeleton, env) \ ((svc_skeleton)->ops->free (svc_skeleton, env)) /** Invokes axis2 service skeleton. @sa axis2_svc_skeleton_ops#invoke */ #define AXIS2_SVC_SKELETON_INVOKE(svc_skeleton, env, node, msg_ctx) \ ((svc_skeleton)->ops->invoke (svc_skeleton, env, node, msg_ctx)) /** Called on fault. @sa axis2_svc_skeleton_ops#on_fault */ #define AXIS2_SVC_SKELETON_ON_FAULT(svc_skeleton, env, node) \ ((svc_skeleton)->ops->on_fault (svc_skeleton, env, node)) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_SKELETON_H */ axis2c-src-1.6.0/include/axis2_svc.h0000644000175000017500000012100211166304541020326 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_H #define AXIS2_SVC_H /** @defgroup axis2_svc service * @ingroup axis2_desc * service represents the static structure of a service in a service group. * In Axis2 description hierarchy, a service lives inside the service group to * which it belongs. * services are configured in services.xml files located in the respective * service group folders of the services folder in the repository. * In services.xml file, services are declared in association with a given * service group or at top level as a stand alone service. In cases where a * service is configured without an associated service group, a service group * with the same name as that of the service would be created by the deployment * engine and the service would be associated with that newly created service * group. The deployment engine would create service instances to represent * those configured services in services.xml files and would associate them with * the respective service group in the configuration. * service encapsulates data on engaged module information, the XML schema * defined in WSDL that is associated with the service and the operations of * the service. * @{ */ /** * @file axis2_svc.h */ #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc */ typedef struct axis2_svc axis2_svc_t; struct axis2_svc_grp; struct axis2_flow_container; struct axutil_param_container; struct axis2_module_desc; struct axis2_conf; /** * Frees service. * @param svc pointer to service struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_free( axis2_svc_t * svc, const axutil_env_t * env); /** * Adds operation. * @param svc pointer to service struct * @param env pointer to environment struct * @param op pointer to operation struct, service assumes ownership of * operation * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_op( axis2_svc_t * svc, const axutil_env_t * env, struct axis2_op *op); /** * Gets operation corresponding to the given QName. * @param svc pointer to service struct * @param env pointer to environment struct * @param op_qname pointer to QName representing operation QName * @return pointer to operation corresponding to given QName */ AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_svc_get_op_with_qname( const axis2_svc_t * svc, const axutil_env_t * env, const axutil_qname_t * op_qname); /** * Gets the RESTful operation list corresponding to the given method * and first constant part of location. * @param svc pointer to service struct * @param env pointer to environment struct * @param http_method HTTPMethod * @param http_location HTTPLocation * @return pointer to operation corresponding to given method and * location */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_rest_op_list_with_method_and_location( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * http_method, const axis2_char_t * http_location); /** * Gets the RESTful operation map for a given service * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to hash with the information * (method, url)=> processing structure for each ops */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_get_rest_map( const axis2_svc_t * svc, const axutil_env_t * env); /** * Gets operation corresponding to the name. * @param svc pointer to service struct * @param env pointer to environment struct * @param op_name operation name string * @return pointer to operation corresponding to given name */ AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_svc_get_op_with_name( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * op_name); /** * Gets all operations of service. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to hash map containing all operations of the service */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_get_all_ops( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets parent which is of type service group. * @param svc pointer to service struct * @param env pointer to environment struct * @param svc_grp pointer to parent service group * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_parent( axis2_svc_t * svc, const axutil_env_t * env, struct axis2_svc_grp *svc_grp); /** * Gets parent which is of type service group. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to parent service group */ AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL axis2_svc_get_parent( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets QName. * @param svc pointer to service struct * @param env pointer to environment struct * @param qname pointer to QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_qname( axis2_svc_t * svc, const axutil_env_t * env, const axutil_qname_t * qname); /** * Gets QName. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to QName */ AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_svc_get_qname( const axis2_svc_t * svc, const axutil_env_t * env); /** * Adds given parameter to operation. * @param svc pointer to service struct * @param env pointer to environment struct * @param param pointer to parameter, service assumes ownership of * parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_param( axis2_svc_t * svc, const axutil_env_t * env, axutil_param_t * param); /** * Gets named parameter. * @param svc pointer to service struct * @param env pointer to environment struct * @param name name string * @return pointer to named parameter if exists, else NULL. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_svc_get_param( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * name); /** * Gets all parameters stored within service. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to array list of parameters, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_all_params( const axis2_svc_t * svc, const axutil_env_t * env); /** * Checks if the named parameter is locked. * @param svc pointer to service struct * @param env pointer to environment struct * @param param_name parameter name * @return AXIS2_TRUE if the named parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_is_param_locked( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Engages given module to service. * @param svc pointer to service struct * @param env pointer to environment struct * @param module_desc pointer to module description to be engaged, * service does not assume the ownership of module * @param conf pointer to configuration, it is configuration that holds * module information * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_engage_module( axis2_svc_t * svc, const axutil_env_t * env, struct axis2_module_desc *module_desc, struct axis2_conf *conf); /** * Disengages given module from service. * @param svc pointer to service struct * @param env pointer to environment struct * @param module_desc pointer to module description to be engaged, * service does not assume the ownership of module * @param conf pointer to configuration, it is configuration that holds * module information * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_disengage_module( axis2_svc_t * svc, const axutil_env_t * env, struct axis2_module_desc *module_desc, struct axis2_conf *conf); /** * Check whether a given module is engaged to the service. * @param svc pointer to service struct * @param env pointer to environment struct * @param module_qname pointer to module qname to be engaged, * @return AXIS2_TRUE if module is engaged, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_is_module_engaged( axis2_svc_t * svc, const axutil_env_t * env, axutil_qname_t * module_qname); /** * Return the engaged module list. * @param svc pointer to service struct * @param env pointer to environment struct * @return engaged module list */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_engaged_module_list( const axis2_svc_t * svc, const axutil_env_t * env); /** * Adds operations defined in a module to this service. It is possible * to define operations that are associated to a module in a module.xml * file. These operations in turn could be invoked in relation to a * service. This method allows those module related operation to be * added to a service. * @param svc pointer to service struct * @param env pointer to environment struct * @param module_desc pointer to module description containing module * related operation information. service does not assume the ownership * of module description * @param conf pointer to configuration, it is configuration that stores * the modules * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_module_ops( axis2_svc_t * svc, const axutil_env_t * env, struct axis2_module_desc *module_desc, struct axis2_conf *axis2_config); /** * Adds given module description to engaged module list. * @param svc pointer to service struct * @param env pointer to environment struct * @param module_desc pointer to module description, service does not * assume the ownership of module description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_to_engaged_module_list(axis2_svc_t *svc, const axutil_env_t *env, struct axis2_module_desc *module_desc); */ /** * Gets all engaged modules. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to array list containing all engaged modules */ /*AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_all_engaged_modules(const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets style. Style can be either RPC or document literal. * @param svc pointer to service struct * @param env pointer to environment struct * @param style style of service as defined in WSDL * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_style( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * style); /** * Gets style. Style can be either RPC or document literal. * @param svc pointer to service struct * @param env pointer to environment struct * @return string representing the style of service */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_style( const axis2_svc_t * svc, const axutil_env_t * env); /** * Gets in flow. In flow is the list of phases invoked * along in path. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to flow representing in flow */ /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_svc_get_in_flow(const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets in flow. In flow is the list of phases invoked * along in path. * @param svc pointer to service struct * @param env pointer to environment struct * @param in_flow pointer to flow representing in flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_in_flow(axis2_svc_t *svc, const axutil_env_t *env, struct axis2_flow *in_flow); */ /** * Gets out flow. Out flow is the list of phases invoked * along out path. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to flow representing out flow */ /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_svc_get_out_flow( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets out flow. Out flow is the list of phases invoked * along out path. * @param svc pointer to service struct * @param env pointer to environment struct * @return out_flow pointer to flow representing out flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_out_flow( axis2_svc_t *svc, const axutil_env_t *env, struct axis2_flow *out_flow); */ /** * Gets fault in flow. Fault in flow is the list of phases invoked * along in path if a fault happens. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to flow representing fault in flow */ /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_svc_get_fault_in_flow( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets fault in flow. Fault in flow is the list of phases invoked * along in path if a fault happens. * @param svc pointer to service struct * @param env pointer to environment struct * @param fault_flow pointer to flow representing fault in flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_fault_in_flow( axis2_svc_t *svc, const axutil_env_t *env, struct axis2_flow *fault_flow); */ /** * Gets fault out flow. Fault out flow is the list of phases invoked * along out path if a fault happens. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to flow representing fault out flow */ /*AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_svc_get_fault_out_flow( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets fault out flow. Fault out flow is the list of phases invoked * along out path if a fault happens. * @param svc pointer to service struct * @param env pointer to environment struct * @param fault_flow pointer to flow representing fault out flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_fault_out_flow( axis2_svc_t *svc, const axutil_env_t *env, struct axis2_flow *fault_flow); */ /** * Gets operation corresponding to given SOAP Action. * @param svc pointer to service struct * @param env pointer to environment struct * @param soap_action SOAP action string * @return pointer to operation corresponding to given SOAP action if * one exists, else NULL. Returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_svc_get_op_by_soap_action( const axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * soap_action); /** * Gets operation corresponding to given SOAP Action and endpoint QName. * @param svc pointer to service struct * @param env pointer to environment struct * @param soap_action SOAP action string * @param endpoint pointer QName representing endpoint URI * @return pointer operation corresponding to given SOAP Action and * endpoint QName. */ /*AXIS2_EXTERN struct axis2_op *AXIS2_CALL axis2_svc_get_op_by_soap_action_and_endpoint( const axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *soap_action, const axutil_qname_t *endpoint); */ /** * Gets service name. * @param svc pointer to service struct * @param env pointer to environment struct * @return service name string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_name( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets service name. * @param svc pointer to service struct * @param env pointer to environment struct * @param svc_name service name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_name( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * svc_name); /** * Sets current time as last update time of the service. * @param svc pointer to service struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_last_update( axis2_svc_t * svc, const axutil_env_t * env); /** * Gets last update time of the service. * @param svc pointer to service struct * @param env pointer to environment struct * @return last updated time in seconds */ AXIS2_EXTERN long AXIS2_CALL axis2_svc_get_last_update( const axis2_svc_t * svc, const axutil_env_t * env); /** * Get the description of the services, which is in the * service.xml, tag * @param svc pointer to service struct * @param env pointer to environment struct * @return services description string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_svc_desc( const axis2_svc_t * svc, const axutil_env_t * env); /** * Set the description of the service which is in service.xml * @param svc pointer to service struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_svc_desc( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * svc_desc); /** * Get the static wsdl file of the services, which is in the * service.xml, wsdl_path parameter * @param svc pointer to service struct * @param env pointer to environment struct * @return static wsdl file location */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_svc_wsdl_path( const axis2_svc_t * svc, const axutil_env_t * env); /** * Set the wsdl path of the service which is in service.xml * @param svc pointer to service struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_svc_wsdl_path( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * wsdl_path); /** * Get the folder path on disk of the services, which is in the * service.xml * @param svc pointer to service struct * @param env pointer to environment struct * @return folder path on disk */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_svc_folder_path( const axis2_svc_t * svc, const axutil_env_t * env); /** * Set the folder path of the service which is in service.xml * @param svc pointer to service struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_svc_folder_path( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * folder_path); /** * Gets the name of the file that holds the implementation of the * service. service implementation is compiled into shared libraries * and is placed in the respective sub folder in the services folder * of Axis2 repository. * @param svc pointer to service struct * @param env pointer to environment struct * @return file name string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_file_name( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets the name of the file that holds the implementation of the * service. service implementation is compiled into shared libraries * and is placed in the respective sub folder in the services folder * of Axis2 repository. * @param svc pointer to service struct * @param env pointer to environment struct * @param file_name file name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_file_name( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * file_name); /** * Gets all endpoints associated with the service. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to hash map containing all endpoints */ /*AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_get_all_endpoints( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets the list of endpoints associated with the service. * @param svc pointer to service struct * @param env pointer to environment struct * @param endpoints pointer to hash map containing all endpoints * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_all_endpoints( axis2_svc_t *svc, const axutil_env_t *env, axutil_hash_t *endpoints); */ /** * Gets namespace. * @param svc pointer to service struct * @param env pointer to environment struct * @return namespace URI string */ /*AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_namespace( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Adds WS-Addressing mapping for a given operation. The services.xml * configuration file could specify a SOAP action that would map to * one of the service operations. This method could be used to register * that mapping against operations. WS-Addressing based dispatcher * makes use of this mapping to identify the operation to be invoked, * given WSA action. * @param svc pointer to service struct * @param env pointer to environment struct * @param wsa_action WSA action string * @param op pointer to operation that maps to the given WSA action * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_mapping( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * wsa_action, struct axis2_op *axis2_op); /** * Adds a REST mapping for a given RESTful operation. The services.xml * configuration file could specify a HTTP Method and Location that would * map to one of the service operations. This method could be used to register * that mapping against operations. The REST based dispatcher makes use * of this mapping to identify the operation to be invoked, given the URL. * @param svc pointer to service struct * @param env pointer to environment struct * @param method REST HTTP Method * @param location REST HTTP Location * @param op pointer to operation that maps to the given WSA action * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_rest_mapping( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * method, const axis2_char_t * location, struct axis2_op *axis2_op); /** * Adds a module qname to list of module QNames associated with service. * @param svc pointer to service struct * @param env pointer to environment struct * @param module_qname pointer to QName to be added, this method clones * the QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_module_qname( axis2_svc_t * svc, const axutil_env_t * env, const axutil_qname_t * module_qname); /** * Gets all module QNames associated with the service as a list. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to array list containing QNames */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_all_module_qnames( const axis2_svc_t * svc, const axutil_env_t * env); /** * Checks if the XML schema location is adjusted. * @param svc pointer to service struct * @param env pointer to environment struct * @return AXIS2_TRUE if XML schema is adjusted, else AXIS2_FALSE */ /*AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_is_schema_location_adjusted( axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets the bool value indicating if the XML schema location is adjusted. * @param svc pointer to service struct * @param env pointer to environment struct * @param adjusted AXIS2_TRUE if XML schema is adjusted, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_schema_location_adjusted( axis2_svc_t *svc, const axutil_env_t *env, const axis2_bool_t adjusted); */ /** * Gets XML schema mapping table for service. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to hash map with XML schema mappings, returns a * reference, not a cloned copy */ /* AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_axis2_svc_get_schema_mapping_table( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets XML schema mapping table for service. * @param svc pointer to service struct * @param env pointer to environment struct * @param table pointer to hash map with XML schema mappings, service * assumes ownership of the map * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_schema_mapping_table( axis2_svc_t *svc, const axutil_env_t *env, axutil_hash_t *table); */ /** * Gets custom schema prefix. * @param svc pointer to service struct * @param env pointer to environment struct * @return custom schema prefix string */ /* AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_custom_schema_prefix( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets custom schema prefix. * @param svc pointer to service struct * @param env pointer to environment struct * @param prefix custom schema prefix string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_custom_schema_prefix( axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *prefix); */ /** * Gets custom schema suffix. * @param svc pointer to service struct * @param env pointer to environment struct * @return custom schema suffix string */ /* AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_custom_schema_suffix( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets custom schema suffix. * @param svc pointer to service struct * @param env pointer to environment struct * @param suffix custom schema suffix string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_custom_schema_suffix( axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *suffix); */ /** * Prints the schema to given stream. * @param svc pointer to service struct * @param env pointer to environment struct * @param out_stream stream to print to * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_print_schema( axis2_svc_t *svc, const axutil_env_t *env, axutil_stream_t *out_stream); */ /** * Gets the XML schema at the given index of XML schema array list. * @param svc pointer to service struct * @param env pointer to environment struct * @param index index of the XML schema to be retrieved * @return pointer to XML schema, returns a reference, not a cloned copy */ /*AXIS2_EXTERN xml_schema_t *AXIS2_CALL axis2_svc_get_schema( const axis2_svc_t *svc, const axutil_env_t *env, const int index); */ /** * Adds all namespaces in the namespace map to the XML schema at * the given index of the XML schema array list. * @param svc pointer to service struct * @param env pointer to environment struct * @param index index of the XML schema to be processed * @return pointer to XML schema with namespaces added, * returns a reference, not a cloned copy */ /* AXIS2_EXTERN xml_schema_t *AXIS2_CALL axis2_svc_add_all_namespaces( axis2_svc_t *svc, const axutil_env_t *env, int index);*/ /** * Gets the list of XML schemas associated with service. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to array list of XML schemas, returns a reference, * not a cloned copy */ /* AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_get_all_schemas( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Adds the given XML schema to the list of XML schemas associated * with the service. * @param svc pointer to service struct * @param env pointer to environment struct * @param schema pointer to XML schema struct, service assumes the * ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_schema( axis2_svc_t *svc, const axutil_env_t *env, xml_schema_t *schema); */ /** * Adds the list of all XML schemas to service. * @param svc pointer to service struct * @param env pointer to environment struct * @param schemas pointer to array list containing XML schemas * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_add_all_schemas( axis2_svc_t *svc, const axutil_env_t *env, axutil_array_list_t *schemas); */ /** * Gets XML schema's target namespace. * @param svc pointer to service struct * @param env pointer to environment struct * @return XML schema target namespace string */ /* AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_schema_target_ns( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets XML schema's target namespace. * @param svc pointer to service struct * @param env pointer to environment struct * @param ns namespace string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_schema_target_ns( axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *ns); */ /** * Gets XML schema's target namespace prefix. * @param svc pointer to service struct * @param env pointer to environment struct * @return XML schema target namespace prefix string */ /* AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_schema_target_ns_prefix( const axis2_svc_t *svc, const axutil_env_t *env); */ /** * Sets XML schema's target namespace prefix. * @param svc pointer to service struct * @param env pointer to environment struct * @param prefix namespace prefix string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /* AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_schema_target_ns_prefix( axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *prefix); */ /** * Gets target namespace. * @param svc pointer to service struct * @param env pointer to environment struct * @return target namespace as a string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_target_ns( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets target namespace. * @param svc pointer to service struct * @param env pointer to environment struct * @param ns target namespace as a string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL saxis2_svc_et_target_ns( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * ns); /** * Gets target namespace prefix. * @param svc pointer to service struct * @param env pointer to environment struct * @return target namespace prefix string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_get_target_ns_prefix( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets target namespace prefix. * @param svc pointer to service struct * @param env pointer to environment struct * @param prefix target namespace prefix string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_target_ns_prefix( axis2_svc_t * svc, const axutil_env_t * env, const axis2_char_t * prefix); /** * Gets XML schemas element corresponding to the given QName. * @param svc pointer to service struct * @param env pointer to environment struct * @param qname QName of the XML schema element to be retrieved * @return pointer to XML schema element, returns a reference, not a * cloned copy */ /*AXIS2_EXTERN xml_schema_element_t *AXIS2_CALL axis2_svc_get_schema_element( const axis2_svc_t *svc, const axutil_env_t *env, const axutil_qname_t *qname); */ /** * Gets the namespace map with all namespaces related to service. * @param svc pointer to service struct * @param env pointer to environment struct * @return pointer to hash map containing all namespaces, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL gaxis2_svc_et_ns_map( const axis2_svc_t * svc, const axutil_env_t * env); /** * Sets the namespace map with all namespaces related to service. * @param svc pointer to service struct * @param env pointer to environment struct * @param ns_map pointer to hash map containing all namespaces * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_ns_map( axis2_svc_t * svc, const axutil_env_t * env, axutil_hash_t * ns_map); /** * Populates the schema mappings. This method is used in code generation * and WSDL generation (WSDL2C and C2WSDL). This method deals with the * imported schemas that would be there in the WSDL. * @param svc pointer to service struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ /*AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_populate_schema_mappings( axis2_svc_t *svc, const axutil_env_t *env); */ AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_svc_get_param_container( const axis2_svc_t * svc, const axutil_env_t * env); AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL axis2_svc_get_flow_container( const axis2_svc_t * svc, const axutil_env_t * env); /** * Creates a service struct instance. * @param env pointer to environment struct * @return pointer to newly created service */ AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_create( const axutil_env_t * env); /** * Creates a service struct with given QName. * @param env pointer to environment struct * @param qname service QName * @return pointer to newly created service */ AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_create_with_qname( const axutil_env_t * env, const axutil_qname_t * qname); AXIS2_EXTERN void *AXIS2_CALL axis2_svc_get_impl_class( const axis2_svc_t * svc, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_set_impl_class( axis2_svc_t * svc, const axutil_env_t * env, void *impl_class); /** * Gets base description. * @param svc pointer to message * @param env pointer to environment struct * @return pointer to base description struct */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_svc_get_base( const axis2_svc_t * svc, const axutil_env_t * env); /* Get the mutex associated with this service * @param svc pointer to message * @param env pointer to environment struct * @return pointer to a axutil_thread_mutext_t */ AXIS2_EXTERN axutil_thread_mutex_t * AXIS2_CALL axis2_svc_get_mutex( const axis2_svc_t * svc, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_H */ axis2c-src-1.6.0/include/axis2_client.h0000644000175000017500000000226511166304541021022 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CLIENT_H #define AXIS2_CLIENT_H /** * @file axis2_clinet.h * @brief */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CLIENT_H */ axis2c-src-1.6.0/include/axis2_async_result.h0000644000175000017500000000624711166304541022263 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ASYNC_RESULT_H #define AXIS2_ASYNC_RESULT_H /** * @defgroup axis2_async_result async result * @ingroup axis2_client_api * async_result is used to capture the result of an asynchronous invocation. * async_result stores the result in the form of a message context instance, * the user can extract the resulting SOAP envelope from this message context. * @{ */ /** * @file axis2_async_result.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_async_result */ typedef struct axis2_async_result axis2_async_result_t; /** * Gets the SOAP envelope stored inside the resulting message context. * @param async_result pointer to async result struct * @param env pointer to environment struct * @return pointer to the result SOAP envelope in the message context. */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_async_result_get_envelope( axis2_async_result_t * async_result, const axutil_env_t * env); /** * Gets the result in the form of message context. * @param async_result pointer to async result struct * @param env pointer to environment struct * @return pointer to result message context */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_async_result_get_result( axis2_async_result_t * async_result, const axutil_env_t * env); /** * Frees the async result. * @param async_result pointer to async result struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_async_result_free( axis2_async_result_t * async_result, const axutil_env_t * env); /** Creates an async result struct to help deal with results of asynchronous * invocations. * @param env pointer to environment struct * @param result pointer to result message context into which the resulting * SOAP message is to be captured * @return newly created async_result struct */ AXIS2_EXTERN axis2_async_result_t *AXIS2_CALL axis2_async_result_create( const axutil_env_t * env, axis2_msg_ctx_t * result); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ASYNC_RESULT_H */ axis2c-src-1.6.0/include/axis2_options.h0000644000175000017500000007306211166304541021242 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_OPTIONS_H #define AXIS2_OPTIONS_H /** @defgroup axis2_options options * @ingroup axis2_client_api * The options struct holds user options to be used by client when invocation * services. In addition to the end point reference information, options * struct also hold addressing, transport and timeout related information. * User specific properties could also set on top of options. * @{ */ /** * @file axis2_options.h */ #include #include #include #include #include #include #include #include #include #include /** Default timeout */ #define AXIS2_DEFAULT_TIMEOUT_MILLISECONDS 30000 /** Timeout in seconds waiting for a response envelope */ #define AXIS2_TIMEOUT_IN_SECONDS "time_out" /** Copy properties */ #define AXIS2_COPY_PROPERTIES "copy_properties" #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_options */ typedef struct axis2_options axis2_options_t; /** * Gets Web Services Addressing (WSA) action. * @param options pointer to options struct * @param env pointer to environment struct * @return WSA action string if set, else NULL */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_options_get_action( const axis2_options_t * options, const axutil_env_t * env); /** * Gets WSA fault to address. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to endpoint reference struct representing fault to * address if set, else NULL */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_fault_to( const axis2_options_t * options, const axutil_env_t * env); /** * Gets WSA from address. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to endpoint reference struct representing from * address if set, else NULL */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_from( const axis2_options_t * options, const axutil_env_t * env); /** * Gets transport receiver. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to transport receiver struct if set, else NULL */ AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_options_get_transport_receiver( const axis2_options_t * options, const axutil_env_t * env); /** * Gets transport in. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to transport in struct if set, else NULL */ AXIS2_EXTERN axis2_transport_in_desc_t *AXIS2_CALL axis2_options_get_transport_in( const axis2_options_t * options, const axutil_env_t * env); /** * Gets transport in protocol. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to transport in protocol string if set, else NULL */ AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_options_get_transport_in_protocol( const axis2_options_t * options, const axutil_env_t * env); /** * Gets message ID. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to message ID string if set, else NULL */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_options_get_message_id( const axis2_options_t * options_t, const axutil_env_t * env); /** * Gets the properties hash map. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to properties hash map if set, else NULL */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_options_get_properties( const axis2_options_t * options, const axutil_env_t * env); /** * Gets a property corresponding to the given key. * @param options pointer to options struct * @param env pointer to environment struct * @param key key of the property to be returned * @return value corresponding to the given key */ AXIS2_EXTERN void *AXIS2_CALL axis2_options_get_property( const axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * key); /** * Gets relates to information. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to relates to struct if set, else NULL */ AXIS2_EXTERN axis2_relates_to_t *AXIS2_CALL axis2_options_get_relates_to( const axis2_options_t * options, const axutil_env_t * env); /** * Gets WSA reply to address. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to endpoint reference struct representing reply to * address if set, else NULL */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_reply_to( const axis2_options_t * options, const axutil_env_t * env); /** * Gets transport out. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to transport out struct if set, else NULL */ AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_options_get_transport_out( const axis2_options_t * options, const axutil_env_t * env); /** * Gets transport out protocol. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to transport out protocol string if set, else NULL */ AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_options_get_sender_transport_protocol( const axis2_options_t * options, const axutil_env_t * env); /** * Gets SOAP version URI. * @param options pointer to options struct * @param env pointer to environment struct * @return string representing SOAP version URI */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_options_get_soap_version_uri( const axis2_options_t * options, const axutil_env_t * env); /** * Gets the wait time after which a client times out in a blocking scenario. * The default is AXIS2_DEFAULT_TIMEOUT_MILLISECONDS. * @param options pointer to options struct * @param env pointer to environment struct * @return timeout in milliseconds */ AXIS2_EXTERN long AXIS2_CALL axis2_options_get_timeout_in_milli_seconds( const axis2_options_t * options, const axutil_env_t * env); /** * Gets WSA to address. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to endpoint reference struct representing to * address if set, else NULL */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_options_get_to( const axis2_options_t * options, const axutil_env_t * env); /** * Gets use separate listener status. * @param options pointer to options struct * @param env pointer to environment struct * @return AXIS2_TRUE if using separate listener, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_use_separate_listener( const axis2_options_t * options, const axutil_env_t * env); /** * Gets the parent options. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to the parent options struct if set, else NULL */ AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_options_get_parent( const axis2_options_t * options, const axutil_env_t * env); /** * Sets the parent options. * @param options pointer to options struct * @param env pointer to environment struct * @param parent pointer to parent options struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_parent( axis2_options_t * options, const axutil_env_t * env, const axis2_options_t * parent); /** * Sets WSA action * @param options pointer to options struct * @param env pointer to environment struct * @param action pointer to action string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_action( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * action); /** * Sets fault to address. * @param options pointer to options struct * @param env pointer to environment struct * @param fault_to pointer to endpoint reference struct representing * fault to address. options takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_fault_to( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * fault_to); /** * Sets from address. * @param options pointer to options struct * @param env pointer to environment struct * @param from pointer to endpoint reference struct representing * from to address. options takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_from( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * from); /** * sets from address. * @param options pointer to options struct * @param env pointer to environment struct * @param to pointer to endpoint reference struct representing * to address. Options takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_to( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * to); /** * Sets transport receiver. * @param options pointer to options struct * @param env pointer to environment struct * @param receiver pointer to transport receiver struct. options takes * over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_receiver( axis2_options_t * options, const axutil_env_t * env, axis2_transport_receiver_t * receiver); /** * Sets transport in description. * @param options pointer to options struct * @param env pointer to environment struct * @param transport_in pointer to transport_in struct. options takes * over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_in( axis2_options_t * options, const axutil_env_t * env, axis2_transport_in_desc_t * transport_in); /** * Sets transport in protocol. * @param options pointer to options struct * @param env pointer to environment struct * @param in_protocol pointer to in_protocol struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_in_protocol( axis2_options_t * options, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS transport_in_protocol); /** * Sets message ID. * @param options pointer to options struct * @param env pointer to environment struct * @param message_id pointer to message_id struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_message_id( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * message_id); /** * Sets the properties hash map. * @param options pointer to options struct * @param env pointer to environment struct * @param properties pointer to properties hash map. options takes * over the ownership of the hash struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_properties( axis2_options_t * options, const axutil_env_t * env, axutil_hash_t * properties); /** * Sets a property with the given key value. * @param options pointer to options struct * @param env pointer to environment struct * @param property_key property key string * @param property pointer to property to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_property( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * property_key, const void *property); /** * Sets relates to. * @param options pointer to options struct * @param env pointer to environment struct * @param relates_to pointer to relates_to struct. options takes * over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_relates_to( axis2_options_t * options, const axutil_env_t * env, axis2_relates_to_t * relates_to); /** * Sets reply to address. * @param options pointer to options struct * @param env pointer to environment struct * @param reply_to pointer to endpoint reference struct representing * reply to address. options takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_reply_to( axis2_options_t * options, const axutil_env_t * env, axis2_endpoint_ref_t * reply_to); /** * Sets the transport out description. * @param options pointer to options struct * @param env pointer to environment struct * @param transport_out pointer to transport out description struct. * options takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_out( axis2_options_t * options, const axutil_env_t * env, axis2_transport_out_desc_t * transport_out); /** * Sets the sender transport. * @param options pointer to options struct * @param env pointer to environment struct * @param sender_transport name of the sender transport to be set * @param conf pointer to conf struct, it is from the conf that the * transport is picked with the given name * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_sender_transport( axis2_options_t * options, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS sender_transport, axis2_conf_t * conf); /** * Sets the SOAP version URI. * @param options pointer to options struct * @param env pointer to environment struct * @param soap_version_uri URI of the SOAP version to be set, can be * either AXIOM_SOAP11_SOAP_ENVELOPE_NAMESPACE_URI or * AXIOM_SOAP12_SOAP_ENVELOPE_NAMESPACE_URI * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_soap_version_uri( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * soap_version_uri); /** * Sets timeout in Milli seconds. * @param options pointer to options struct * @param env pointer to environment struct * @param timeout_in_milli_seconds timeout in milli seconds * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_timeout_in_milli_seconds( axis2_options_t * options, const axutil_env_t * env, const long timeout_in_milli_seconds); /** * Sets transport information. Transport information includes the name * of the sender transport, name of the receiver transport and if a * separate listener to be used to receive response. * @param options pointer to options struct * @param env pointer to environment struct * @param sender_transport name of sender transport to be used * @param receiver_transport name of receiver transport to be used * @param use_separate_listener bool value indicating whether to use * a separate listener or not. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_transport_info( axis2_options_t * options, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS sender_transport, const AXIS2_TRANSPORT_ENUMS receiver_transport, const axis2_bool_t use_separate_listener); /** * Sets the bool value indicating whether to use a separate listener or not. * @param options pointer to options struct * @param env pointer to environment struct * @param use_separate_listener bool value indicating whether to use * a separate listener or not. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_use_separate_listener( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t use_separate_listener); /** * Adds a WSA reference parameter. * @param options pointer to options struct * @param env pointer to environment struct * @param reference_parameter pointer to reference parameter in the form * of an AXIOM tree. options takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_add_reference_parameter( axis2_options_t * options, const axutil_env_t * env, axiom_node_t * reference_parameter); /** * Gets manage session bool value. * @param options pointer to options struct * @param env pointer to environment struct * @return AXIS2_TRUE if session is managed, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_manage_session( const axis2_options_t * options, const axutil_env_t * env); /** * Sets manage session bool value. * @param options pointer to options struct * @param env pointer to environment struct * @param manage_session manage session bool value * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_manage_session( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t manage_session); /** * Sets WSA message information headers. * @param options pointer to options struct * @param env pointer to environment struct * @param pointer to message information headers struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_msg_info_headers( axis2_options_t * options, const axutil_env_t * env, axis2_msg_info_headers_t * msg_info_headers); /** * Gets WSA message information headers. * @param options pointer to options struct * @param env pointer to environment struct * @return pointer to message information headers struct if set, * else NULL */ AXIS2_EXTERN axis2_msg_info_headers_t *AXIS2_CALL axis2_options_get_msg_info_headers( const axis2_options_t * options, const axutil_env_t * env); /** * Gets SOAP version. * @param options pointer to options struct * @param env pointer to environment struct * @return AXIOM_SOAP11 if SOAP version 1.1 is in use, else AXIOM_SOAP12 */ AXIS2_EXTERN int AXIS2_CALL axis2_options_get_soap_version( const axis2_options_t * options, const axutil_env_t * env); /** * Sets SOAP version. * @param options pointer to options struct * @param env pointer to environment struct * @param soap_version soap version, either AXIOM_SOAP11 or AXIOM_SOAP12 * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_soap_version( axis2_options_t * options, const axutil_env_t * env, const int soap_version); /** * Enable/disable MTOM handling. * @param options pointer to options struct * @param env pointer to environment struct * @param enable_mtom AXIS2_TRUE if MTOM is to be enabled, AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_enable_mtom( axis2_options_t * options, const axutil_env_t * env, axis2_bool_t enable_mtom); /** * Gets Enable/disable MTOM status. * @param options pointer to options struct * @param env pointer to environment struct * @return AXIS2_TRUE if MTOM enabled, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_enable_mtom( const axis2_options_t * options, const axutil_env_t * env); /** * Gets SOAP action. * @param options pointer to options struct * @param env pointer to environment struct * @return SOAP Action string if set, else NULL */ AXIS2_EXTERN axutil_string_t *AXIS2_CALL axis2_options_get_soap_action( const axis2_options_t * options, const axutil_env_t * env); /** * Sets SOAP action * @param options pointer to options struct * @param env pointer to environment struct * @param action pointer to SOAP action string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_soap_action( axis2_options_t * options, const axutil_env_t * env, axutil_string_t * soap_action); /** * Sets xml parser reset * @param options pointer to options struct * @param env pointer to environment struct * @param reset flag is a boolean value * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_xml_parser_reset( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t paser_reset_flag); /** * Gets xml parser reset value, * @param options pointer to options struct * @param env pointer to environment struct * @return xml parser reset boolean value */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_options_get_xml_parser_reset( const axis2_options_t * options, const axutil_env_t * env); /** * Frees options struct. * @param options pointer to options struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_options_free( axis2_options_t * options, const axutil_env_t * env); /** * Sets the bool value indicating whether to enable REST or not. * @param options pointer to options struct * @param env pointer to environment struct * @param enable_rest bool value indicating whether to enable REST * or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_enable_rest( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t enable_rest); /** * Sets the bool value indicating whether to test whether HTTP * Authentication is required or not. * @param options pointer to options struct * @param env pointer to environment struct * @param test_http_auth bool value indicating whether to test * or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_test_http_auth( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t test_http_auth); /** * Sets the bool value indicating whether to test whether Proxy * Authentication is required or not. * @param options pointer to options struct * @param env pointer to environment struct * @param test_proxy_auth bool value indicating whether to test * or not, AXIS2_TRUE to enable, AXIS2_FALSE to disable * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_test_proxy_auth( axis2_options_t * options, const axutil_env_t * env, const axis2_bool_t test_proxy_auth); /** * Sets the HTTP method to be used * @param options pointer to options struct * @param env pointer to environment struct * @param http_method string representing HTTP method to use, * can be either AXIS2_HTTP_GET or AXIS2_HTTP_POST * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_http_method( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * http_method); /** * Sets the Additional HTTP Headers to be sent. * @param options pointer to options struct * @param env pointer to environment struct * @param http_header_list array list containing * HTTP Headers. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_http_headers( axis2_options_t * options, const axutil_env_t * env, axutil_array_list_t * http_header_list); /** * Creates the options struct. * @param env pointer to environment struct * @return a pointer to newly created options struct, or NULL on error * with error code set in environment's error. */ AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_options_create( const axutil_env_t * env); /** * Creates the options struct with given parent. * @param env pointer to environment struct * @param parent pointer to parent struct * @return a pointer to newly created options struct. Newly created options * assumes ownership of the parent * or NULL on error with error code set in environment's error. */ AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_options_create_with_parent( const axutil_env_t * env, axis2_options_t * parent); /** * Sets HTTP authentication information. * @param env pointer to environment struct * @param parent pointer to parent struct * @param username string representing username * @param password string representing password * @param auth_type use "Basic" to force basic authentication * and "Digest" to force digest authentication or NULL for not * forcing authentication * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_http_auth_info( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * username, const axis2_char_t * password, const axis2_char_t * auth_type); /** * Sets proxy authentication information. * @param env pointer to environment struct * @param parent pointer to parent struct * @param username string representing username * @param password string representing password * @param auth_type use "Basic" to force basic authentication * and "Digest" to force digest authentication or NULL for not * forcing authentication * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_options_set_proxy_auth_info( axis2_options_t * options, const axutil_env_t * env, const axis2_char_t * username, const axis2_char_t * password, const axis2_char_t * auth_type); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_OPTIONS_H */ axis2c-src-1.6.0/include/axis2_http_server.h0000644000175000017500000000340111166304541022102 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_SERVER_H #define AXIS2_HTTP_SERVER_H /** * @defgroup axis2_http_server http server * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_server.h * @brief axis2 HTTP Server implementation */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_http_server_create( const axutil_env_t * env, const axis2_char_t * repo, const int port); AXIS2_EXTERN axis2_transport_receiver_t *AXIS2_CALL axis2_http_server_create_with_file( const axutil_env_t * env, const axis2_char_t * file, const int port); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_server_stop( axis2_transport_receiver_t * server, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_SERVER_H */ axis2c-src-1.6.0/include/axis2_policy_include.h0000644000175000017500000001440211166304541022542 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_POLICY_INCLUDE_H #define AXIS2_POLICY_INCLUDE_H /** * @defgroup axis2_policy_include policy include * @ingroup axis2_desc * @{ */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_policy_include */ typedef struct axis2_policy_include axis2_policy_include_t; typedef enum axis2_policy_types { AXIS2_POLICY = 0, AXIS2_MODULE_POLICY, AXIS2_SERVICE_POLICY, AXIS2_OPERATION_POLICY, AXIS2_MESSAGE_POLICY, AXIS2_PORT_POLICY, AXIS2_PORT_TYPE_POLICY, AXIS2_BINDING_POLICY, AXIS2_BINDING_OPERATION_POLICY, AXIS2_INPUT_POLICY, AXIS2_OUTPUT_POLICY, AXIS2_BINDING_INPUT_POLICY, AXIS2_BINDING_OUTPUT_POLICY, AXIS2_MODULE_OPERATION_POLICY, AXIS2_POLICY_REF, AXIS2_ANON_POLICY } axis2_policy_types; /** * Creates policy include struct. * @param env pointer to environment struct * @return pointer to newly created policy include */ AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_policy_include_create( const axutil_env_t * env); AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_policy_include_create_with_desc( const axutil_env_t * env, axis2_desc_t * desc); /** * Frees policy include. * @param policy_include pointer to policy include * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_policy_include_free( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axis2_policy_include_free( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_registry( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_registry_t * registry); AXIS2_EXTERN neethi_registry_t *AXIS2_CALL axis2_policy_include_get_registry( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_policy_t * policy); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_update_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_policy_t * policy); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_effective_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, neethi_policy_t * effective_policy); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_set_desc( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_desc_t * desc); AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_policy_include_get_desc( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN axis2_policy_include_t *AXIS2_CALL axis2_policy_include_get_parent( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN neethi_policy_t *AXIS2_CALL axis2_policy_include_get_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN neethi_policy_t *AXIS2_CALL axis2_policy_include_get_effective_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_policy_include_get_policy_elements( axis2_policy_include_t * policy_include, const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_policy_include_get_policy_elements_with_type( axis2_policy_include_t * policy_include, const axutil_env_t * env, int type); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_register_policy( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_char_t * key, neethi_policy_t * effective_policy); AXIS2_EXTERN neethi_policy_t *AXIS2_CALL axis2_policy_include_get_policy_with_key( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_char_t * key); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_add_policy_element( axis2_policy_include_t * policy_include, const axutil_env_t * env, int type, neethi_policy_t * policy); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_add_policy_reference_element( axis2_policy_include_t * policy_include, const axutil_env_t * env, int type, neethi_reference_t * reference); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_remove_policy_element( axis2_policy_include_t * policy_include, const axutil_env_t * env, axis2_char_t * policy_uri); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_policy_include_remove_all_policy_element( axis2_policy_include_t * policy_include, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_POLICY_INCLUDE_H */ axis2c-src-1.6.0/include/axis2_handler.h0000644000175000017500000001421611166304541021160 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HANDLER_H #define AXIS2_HANDLER_H /** * @defgroup axis2_handler handler * @ingroup axis2_handler * handler is the smallest unit of execution in the Axis2 engine's execution flow. * The engine could have two flows, the in-flow and out-flow. A flow is a * collection of phases and a phase in turn is a collection of handlers. * handlers are configured in relation to modules. A module is a point of * extension in the Axis2 engine and a module would have one or more handlers * defined in its configuration. The module configuration defines the phases * each handler is attached to. A handler is invoked when the phase within which * it lives is invoked. handler is stateless and it is using the message context * that the state information is captures across invocations. * @{ */ /** * @file axis2_handler.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_handler */ typedef struct axis2_handler axis2_handler_t; struct axis2_handler_desc; struct axis2_msg_ctx; typedef axis2_status_t( AXIS2_CALL * AXIS2_HANDLER_INVOKE) ( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); /** * Free handler struct. * @param handler pointer to handler * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_handler_free( axis2_handler_t * handler, const axutil_env_t * env); /** * Initializes the handler with the information form handler description. * @param handler pointer to handler * @param env pointer to environment struct * @param handler_desc pointer to handler description related to the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_init( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_handler_desc *handler_desc); /** * Invoke is called to do the actual work assigned to the handler. * The phase that owns the handler is responsible for calling invoke * on top of the handler. Those structs that implement the interface * of the handler should implement the logic for invoke and assign the * respective function pointer to invoke operation of the ops struct. * @param handler pointer to handler * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_invoke( axis2_handler_t * handler, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); /** * Gets QName. * @param handler pointer to handler * @param env pointer to environment struct * @return pointer to QName of the handler */ AXIS2_EXTERN const axutil_string_t *AXIS2_CALL axis2_handler_get_name( const axis2_handler_t * handler, const axutil_env_t * env); /** * Gets the named parameter. * @param handler pointer to handler * @param env pointer to environment struct * @param name name of the parameter to be accessed */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_handler_get_param( const axis2_handler_t * handler, const axutil_env_t * env, const axis2_char_t * name); /** * Gets the handler description related to the handler. * @param handler pointer to handler * @param env pointer to environment struct * @return pointer to handler description struct related to handler */ AXIS2_EXTERN struct axis2_handler_desc *AXIS2_CALL axis2_handler_get_handler_desc( const axis2_handler_t * handler, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_set_invoke( axis2_handler_t * handler, const axutil_env_t * env, AXIS2_HANDLER_INVOKE func); /** * Function pointer defining the creates syntax for a handler struct instance. * @param env pointer to environment struct * @param pointer to qname * @return pointer to newly created handler struct */ typedef axis2_handler_t *( AXIS2_CALL * AXIS2_HANDLER_CREATE_FUNC)( const axutil_env_t * env, const axutil_string_t * name); /** * Creates handler struct instance. * @param env pointer to environment struct * @return pointer to newly created handler struct */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_handler_create( const axutil_env_t * env); /** * Creates a handler with invoke method implemented to fill in the service * and operation context information. * @param env pointer to environment struct * @param qname pointer to qname, this is cloned within create method * @return pointer to newly created handler struct */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_ctx_handler_create( const axutil_env_t * env, const axutil_string_t * qname); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HANDLER_H */ axis2c-src-1.6.0/include/axis2_stub.h0000644000175000017500000001472111166304541020521 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_STUB_H #define AXIS2_STUB_H /** @defgroup axis2_stub stub * @ingroup axis2_client_api * stub is a wrapper API for service client that helps users to use client API * easily. * @sa axis2_svc_client * @{ */ /** * @file axis2_stub.h */ #include #include #include #include #include /** DEPRECATED: Please use AXIOM_SOAP11 instead. Constant value representing SOAP version 1.1 */ #define AXIOM_SOAP_11 1 /** DEPRECATED: Please use AXIOM_SOAP12 instead. Constant value representing SOAP version 1.2 */ #define AXIOM_SOAP_12 2 #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_stub */ typedef struct axis2_stub axis2_stub_t; /** * Frees stub struct. * @param stub pointer to stub struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_stub_free( axis2_stub_t * stub, const axutil_env_t * env); /** * Sets the endpoint reference. * @param stub pointer to stub struct * @param env pointer to environment struct * @param endpoint_ref pointer to endpoint reference. stub assumes the * ownership of the endpoint reference struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_endpoint_ref( axis2_stub_t * stub, const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref); /** * Sets the endpoint reference, represented by a string. * @param stub pointer to stub struct * @param env pointer to environment struct * @param endpoint_uri pointer to endpoint uri string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_endpoint_uri( axis2_stub_t * stub, const axutil_env_t * env, const axis2_char_t * endpoint_uri); /** * Sets the bool value specifying whether to use a separate listener * for receive channel. * @param stub pointer to stub struct * @param env pointer to environment struct * @param use_separate whether to use a separate listener * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_use_separate_listener( axis2_stub_t * stub, const axutil_env_t * env, const axis2_bool_t use_separate_listener); /** * Sets the SOAP version. * @param stub pointer to stub struct * @param env pointer to environment struct * @param soap_version int value representing the SOAP version * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_set_soap_version( axis2_stub_t * stub, const axutil_env_t * env, const int soap_version); /** * Gets the service context ID. * @param stub pointer to stub struct * @param env pointer to environment struct * @return service context ID if set, else NULL */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_stub_get_svc_ctx_id( const axis2_stub_t * stub, const axutil_env_t * env); /** * Engages the named module. * @param stub pointer to stub struct * @param env pointer to environment struct * @param module_name string representing the name of the module * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_stub_engage_module( axis2_stub_t * stub, const axutil_env_t * env, const axis2_char_t * module_name); /** * Gets the service client instance used by this stub. * @param stub pointer to stub struct * @param env pointer to environment struct * @return pointer to service client struct used by the stub */ AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL axis2_stub_get_svc_client( const axis2_stub_t * stub, const axutil_env_t * env); /** * Gets the options used on top of the service client used by this stub. * @param stub pointer to stub struct * @param env pointer to environment struct * @return pointer to options used by the service client of this stub */ AXIS2_EXTERN axis2_options_t *AXIS2_CALL axis2_stub_get_options( const axis2_stub_t * stub, const axutil_env_t * env); /** * Creates a stub instance. * @param env pointer to environment struct * @param endpoint_ref pointer to endpoint reference struct representing the * stub endpoint. Newly created stub assumes ownership of the endpoint * @param client_home name of the directory that contains the Axis2/C repository * @return pointer to newly created axis2_stub struct */ AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create_with_endpoint_ref_and_client_home( const axutil_env_t * env, axis2_endpoint_ref_t * endpoint_ref, const axis2_char_t * client_home); /** * Creates a stub instance. * @param env pointer to environment struct * @param endpoint_uri string representing the endpoint reference * @param client_home name of the directory that contains the Axis2/C repository * @return pointer to newly created axis2_stub struct */ AXIS2_EXTERN axis2_stub_t *AXIS2_CALL axis2_stub_create_with_endpoint_uri_and_client_home( const axutil_env_t * env, const axis2_char_t * endpoint_uri, const axis2_char_t * client_home); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_STUB_H */ axis2c-src-1.6.0/include/axis2_defines.h0000644000175000017500000000250311166304541021154 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DEFINES_H #define AXIS2_DEFINES_H /** * @file axis2_defines.h * @brief Useful definitions, which may have platform concerns */ #include #include #ifdef __cplusplus extern "C" { #endif /** Axis2 in flow */ #define AXIS2_IN_FLOW 1 /** Axis2 out flow */ #define AXIS2_OUT_FLOW 2 /** Axis2 fault in flow */ #define AXIS2_FAULT_IN_FLOW 3 /** Axis2 fault out flow */ #define AXIS2_FAULT_OUT_FLOW 4 #ifdef __cplusplus } #endif #endif /* AXIS2_DEFINES_H */ axis2c-src-1.6.0/include/axis2_conf_init.h0000644000175000017500000000453211166304541021513 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CONF_INIT_H #define AXIS2_CONF_INIT_H /** @defgroup axis2_conf_init configuration initilizing functions * @ingroup axis2_deployment * @{ */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Builds the configuration for the Server * @param env Pointer to environment struct. MUST NOT be NULL * @param repo_name repository name * @return pointer to an instance of configuration context properly initialized */ AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_build_conf_ctx( const axutil_env_t * env, const axis2_char_t * repo_name); /** * Builds the configuration for the Server using axis2.xml file. * @param env Pointer to environment struct. MUST NOT be NULL * @param file path of the axis2.xml file * @return pointer to an instance of configuration context properly initialized */ AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_build_conf_ctx_with_file( const axutil_env_t * env, const axis2_char_t * file); /** * Builds the Configuration for the Client * @param env Pointer to environment struct. MUST NOT be NULL * @param axis2_home axis2 home for client. * @return pointer to an instance of configuration context properly initialized */ AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_build_client_conf_ctx( const axutil_env_t * env, const axis2_char_t * axis2_home); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CONF_INIT_H */ axis2c-src-1.6.0/include/Makefile.am0000644000175000017500000000000711166304541020311 0ustar00manjulamanjula00000000000000TESTS= axis2c-src-1.6.0/include/Makefile.in0000644000175000017500000002620211172017202020317 0ustar00manjulamanjula00000000000000# Makefile.in generated by automake 1.10 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # 2003, 2004, 2005, 2006 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. @SET_MAKE@ VPATH = @srcdir@ pkgdatadir = $(datadir)/@PACKAGE@ pkglibdir = $(libdir)/@PACKAGE@ pkgincludedir = $(includedir)/@PACKAGE@ am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd install_sh_DATA = $(install_sh) -c -m 644 install_sh_PROGRAM = $(install_sh) -c install_sh_SCRIPT = $(install_sh) -c INSTALL_HEADER = $(INSTALL_DATA) transform = $(program_transform_name) NORMAL_INSTALL = : PRE_INSTALL = : POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ TESTS = subdir = include DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) mkinstalldirs = $(install_sh) -d CONFIG_HEADER = $(top_builddir)/config.h CONFIG_CLEAN_FILES = SOURCES = DIST_SOURCES = DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ACLOCAL = @ACLOCAL@ AMQP_DIR = @AMQP_DIR@ AMTAR = @AMTAR@ APACHE2BUILD = @APACHE2BUILD@ APACHE2INC = @APACHE2INC@ APRINC = @APRINC@ AR = @AR@ AUTOCONF = @AUTOCONF@ AUTOHEADER = @AUTOHEADER@ AUTOMAKE = @AUTOMAKE@ AWK = @AWK@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CFLAGS = @CFLAGS@ CGI_DIR = @CGI_DIR@ CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CXX = @CXX@ CXXCPP = @CXXCPP@ CXXDEPMODE = @CXXDEPMODE@ CXXFLAGS = @CXXFLAGS@ CYGPATH_W = @CYGPATH_W@ DEFS = @DEFS@ DEPDIR = @DEPDIR@ DICLIENT_DIR = @DICLIENT_DIR@ ECHO = @ECHO@ ECHO_C = @ECHO_C@ ECHO_N = @ECHO_N@ ECHO_T = @ECHO_T@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ F77 = @F77@ FFLAGS = @FFLAGS@ GREP = @GREP@ GUTHTHILA_DIR = @GUTHTHILA_DIR@ GUTHTHILA_LIBS = @GUTHTHILA_LIBS@ INSTALL = @INSTALL@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ LDFLAGS = @LDFLAGS@ LIBOBJS = @LIBOBJS@ LIBS = @LIBS@ LIBTOOL = @LIBTOOL@ LIBXML2_CFLAGS = @LIBXML2_CFLAGS@ LIBXML2_LIBS = @LIBXML2_LIBS@ LN_S = @LN_S@ LTLIBOBJS = @LTLIBOBJS@ MAKEINFO = @MAKEINFO@ MKDIR_P = @MKDIR_P@ OBJEXT = @OBJEXT@ PACKAGE = @PACKAGE@ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@ PACKAGE_NAME = @PACKAGE_NAME@ PACKAGE_STRING = @PACKAGE_STRING@ PACKAGE_TARNAME = @PACKAGE_TARNAME@ PACKAGE_VERSION = @PACKAGE_VERSION@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ QPID_HOME = @QPID_HOME@ RANLIB = @RANLIB@ SAMPLES = @SAMPLES@ SED = @SED@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ TCP_DIR = @TCP_DIR@ TESTDIR = @TESTDIR@ VERSION = @VERSION@ VERSION_NO = @VERSION_NO@ WRAPPER_DIR = @WRAPPER_DIR@ ZLIBBUILD = @ZLIBBUILD@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ abs_top_srcdir = @abs_top_srcdir@ ac_ct_CC = @ac_ct_CC@ ac_ct_CXX = @ac_ct_CXX@ ac_ct_F77 = @ac_ct_F77@ am__include = @am__include@ am__leading_dot = @am__leading_dot@ am__quote = @am__quote@ am__tar = @am__tar@ am__untar = @am__untar@ bindir = @bindir@ build = @build@ build_alias = @build_alias@ build_cpu = @build_cpu@ build_os = @build_os@ build_vendor = @build_vendor@ builddir = @builddir@ datadir = @datadir@ datarootdir = @datarootdir@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ host = @host@ host_alias = @host_alias@ host_cpu = @host_cpu@ host_os = @host_os@ host_vendor = @host_vendor@ htmldir = @htmldir@ includedir = @includedir@ infodir = @infodir@ install_sh = @install_sh@ libdir = @libdir@ libexecdir = @libexecdir@ localedir = @localedir@ localstatedir = @localstatedir@ mandir = @mandir@ mkdir_p = @mkdir_p@ oldincludedir = @oldincludedir@ pdfdir = @pdfdir@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ sbindir = @sbindir@ sharedstatedir = @sharedstatedir@ srcdir = @srcdir@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target = @target@ target_alias = @target_alias@ target_cpu = @target_cpu@ target_os = @target_os@ target_vendor = @target_vendor@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ all: all-am .SUFFIXES: $(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps) @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ && exit 0; \ exit 1;; \ esac; \ done; \ echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu include/Makefile'; \ cd $(top_srcdir) && \ $(AUTOMAKE) --gnu include/Makefile .PRECIOUS: Makefile Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status @case '$?' in \ *config.status*) \ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \ *) \ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \ esac; $(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(top_srcdir)/configure: $(am__configure_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh $(ACLOCAL_M4): $(am__aclocal_m4_deps) cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh mostlyclean-libtool: -rm -f *.lo clean-libtool: -rm -rf .libs _libs tags: TAGS TAGS: ctags: CTAGS CTAGS: check-TESTS: $(TESTS) @failed=0; all=0; xfail=0; xpass=0; skip=0; ws='[ ]'; \ srcdir=$(srcdir); export srcdir; \ list=' $(TESTS) '; \ if test -n "$$list"; then \ for tst in $$list; do \ if test -f ./$$tst; then dir=./; \ elif test -f $$tst; then dir=; \ else dir="$(srcdir)/"; fi; \ if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xpass=`expr $$xpass + 1`; \ failed=`expr $$failed + 1`; \ echo "XPASS: $$tst"; \ ;; \ *) \ echo "PASS: $$tst"; \ ;; \ esac; \ elif test $$? -ne 77; then \ all=`expr $$all + 1`; \ case " $(XFAIL_TESTS) " in \ *$$ws$$tst$$ws*) \ xfail=`expr $$xfail + 1`; \ echo "XFAIL: $$tst"; \ ;; \ *) \ failed=`expr $$failed + 1`; \ echo "FAIL: $$tst"; \ ;; \ esac; \ else \ skip=`expr $$skip + 1`; \ echo "SKIP: $$tst"; \ fi; \ done; \ if test "$$failed" -eq 0; then \ if test "$$xfail" -eq 0; then \ banner="All $$all tests passed"; \ else \ banner="All $$all tests behaved as expected ($$xfail expected failures)"; \ fi; \ else \ if test "$$xpass" -eq 0; then \ banner="$$failed of $$all tests failed"; \ else \ banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \ fi; \ fi; \ dashes="$$banner"; \ skipped=""; \ if test "$$skip" -ne 0; then \ skipped="($$skip tests were not run)"; \ test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$skipped"; \ fi; \ report=""; \ if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \ report="Please report to $(PACKAGE_BUGREPORT)"; \ test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \ dashes="$$report"; \ fi; \ dashes=`echo "$$dashes" | sed s/./=/g`; \ echo "$$dashes"; \ echo "$$banner"; \ test -z "$$skipped" || echo "$$skipped"; \ test -z "$$report" || echo "$$report"; \ echo "$$dashes"; \ test "$$failed" -eq 0; \ else :; fi distdir: $(DISTFILES) @srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \ list='$(DISTFILES)'; \ dist_files=`for file in $$list; do echo $$file; done | \ sed -e "s|^$$srcdirstrip/||;t" \ -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \ case $$dist_files in \ */*) $(MKDIR_P) `echo "$$dist_files" | \ sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \ sort -u` ;; \ esac; \ for file in $$dist_files; do \ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ if test -d $$d/$$file; then \ dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ fi; \ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ else \ test -f $(distdir)/$$file \ || cp -p $$d/$$file $(distdir)/$$file \ || exit 1; \ fi; \ done check-am: all-am $(MAKE) $(AM_MAKEFLAGS) check-TESTS check: check-am all-am: Makefile installdirs: install: install-am install-exec: install-exec-am install-data: install-data-am uninstall: uninstall-am install-am: all-am @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am installcheck: installcheck-am install-strip: $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \ `test -z '$(STRIP)' || \ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install mostlyclean-generic: clean-generic: distclean-generic: -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: @echo "This command is intended for maintainers to use" @echo "it deletes files that may require special tools to rebuild." clean: clean-am clean-am: clean-generic clean-libtool mostlyclean-am distclean: distclean-am -rm -f Makefile distclean-am: clean-am distclean-generic dvi: dvi-am dvi-am: html: html-am info: info-am info-am: install-data-am: install-dvi: install-dvi-am install-exec-am: install-html: install-html-am install-info: install-info-am install-man: install-pdf: install-pdf-am install-ps: install-ps-am installcheck-am: maintainer-clean: maintainer-clean-am -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic mostlyclean: mostlyclean-am mostlyclean-am: mostlyclean-generic mostlyclean-libtool pdf: pdf-am pdf-am: ps: ps-am ps-am: uninstall-am: .MAKE: install-am install-strip .PHONY: all all-am check check-TESTS check-am clean clean-generic \ clean-libtool distclean distclean-generic distclean-libtool \ distdir dvi dvi-am html html-am info info-am install \ install-am install-data install-data-am install-dvi \ install-dvi-am install-exec install-exec-am install-html \ install-html-am install-info install-info-am install-man \ install-pdf install-pdf-am install-ps install-ps-am \ install-strip installcheck installcheck-am installdirs \ maintainer-clean maintainer-clean-generic mostlyclean \ mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \ uninstall uninstall-am # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: axis2c-src-1.6.0/include/axis2_util.h0000644000175000017500000000336411166304541020522 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_UTIL_H #define AXIS2_UTIL_H #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_UTIL_H */ axis2c-src-1.6.0/include/axis2_http_header.h0000644000175000017500000000565211166304541022036 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_HEADER_H #define AXIS2_HTTP_HEADER_H /** * @defgroup axis2_http_header http header * @ingroup axis2_core_trans_http * Description * @{ */ /** * @file axis2_http_header.h * @brief axis2 HTTP Header name:value pair implementation */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_header */ typedef struct axis2_http_header axis2_http_header_t; /** * @param header pointer to header * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_header_to_external_form( axis2_http_header_t * header, const axutil_env_t * env); /** * @param header pointer to header * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_header_get_name( const axis2_http_header_t * header, const axutil_env_t * env); /** * @param header pointer to header * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_header_get_value( const axis2_http_header_t * header, const axutil_env_t * env); /** * @param header pointer to header * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_http_header_free( axis2_http_header_t * header, const axutil_env_t * env); /** * @param env pointer to environment struct * @param name pointer to name * @param value pointer to value */ AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_header_create( const axutil_env_t * env, const axis2_char_t * name, const axis2_char_t * value); /** * @param env pointer to environment struct * @param str pointer to str */ AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_header_create_by_str( const axutil_env_t * env, const axis2_char_t * str); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_HEADER_H */ axis2c-src-1.6.0/include/axis2_http_status_line.h0000644000175000017500000000701711166304541023135 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_STATUS_LINE_H #define AXIS2_HTTP_STATUS_LINE_H /** * @defgroup axis2_http_status_line http status line * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_status_line.h * @brief axis2 HTTP Status Line */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_status_line */ typedef struct axis2_http_status_line axis2_http_status_line_t; /** * @param status_line pointer to status line * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_http_status_line_get_status_code( const axis2_http_status_line_t * status_line, const axutil_env_t * env); /** * @param status_line pointer to status line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_status_line_get_http_version( const axis2_http_status_line_t * status_line, const axutil_env_t * env); /** * @param status_line pointer to status line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_status_line_get_reason_phrase( const axis2_http_status_line_t * status_line, const axutil_env_t * env); /** * @param status_line pointer to status line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_status_line_starts_with_http( axis2_http_status_line_t * status_line, const axutil_env_t * env); /** * @param status_line pointer to status line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_status_line_to_string( axis2_http_status_line_t * status_line, const axutil_env_t * env); /** * @param status_line pointer to status line * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_http_status_line_free( axis2_http_status_line_t * status_line, const axutil_env_t * env); /** * @param env pointer to environment struct * @param str pointer to str */ AXIS2_EXTERN axis2_http_status_line_t *AXIS2_CALL axis2_http_status_line_create( const axutil_env_t * env, const axis2_char_t * str); AXIS2_EXTERN void AXIS2_CALL axis2_http_status_line_set_http_version( axis2_http_status_line_t * status_line, const axutil_env_t * env, axis2_char_t *http_version); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_STATUS_LINE_H */ axis2c-src-1.6.0/include/axis2_core_dll_desc.h0000644000175000017500000000342211166304541022321 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CORE_DLL_DESC_H #define AXIS2_CORE_DLL_DESC_H /** * @file axis2_core_dll_desc.h * @brief Axis2 Core dll_desc interface */ #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_core_dll_desc Core DLL description * @ingroup axis2_core_utils * @{ */ /* * For DLL Types, starting index is 10000, and ending * index is 10999, this is for unique indexing purposes. * Indexes 10000-10099 are reserved for Axis2 Core. */ /* service dll */ #define AXIS2_SVC_DLL 10000 /* handler dll */ #define AXIS2_HANDLER_DLL 10001 /* message receiver dll */ #define AXIS2_MSG_RECV_DLL 10002 /* module dll */ #define AXIS2_MODULE_DLL 10003 /* transport receiver dll */ #define AXIS2_TRANSPORT_RECV_DLL 10004 /* transport sender dll */ #define AXIS2_TRANSPORT_SENDER_DLL 10005 #ifdef __cplusplus } #endif #endif /* AXIS2_CORE_DLL_DESC_H */ axis2c-src-1.6.0/include/axis2_http_request_line.h0000644000175000017500000000675411166304541023311 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_REQUEST_LINE_H #define AXIS2_HTTP_REQUEST_LINE_H /** * @defgroup axis2_http_request_line http request line * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_request_line.h * @brief axis2 HTTP Request Line */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_request_line */ typedef struct axis2_http_request_line axis2_http_request_line_t; /** * @param request_line pointer to request line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_request_line_get_method( const axis2_http_request_line_t * request_line, const axutil_env_t * env); /** * @param request_line pointer to request line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_request_line_get_http_version( const axis2_http_request_line_t * request_line, const axutil_env_t * env); /** * @param request_line pointer to request line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_request_line_get_uri( const axis2_http_request_line_t * request_line, const axutil_env_t * env); /** * @param request_line pointer to request line * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_request_line_to_string( axis2_http_request_line_t * request_line, const axutil_env_t * env); /** * @param request_line pointer to request line * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_http_request_line_free( axis2_http_request_line_t * request_line, const axutil_env_t * env); /** * @param env pointer to environment struct * @param method pointer to method * @param uri pointer to uri * @param http_version pointer to http version */ AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL axis2_http_request_line_create( const axutil_env_t * env, const axis2_char_t * method, const axis2_char_t * uri, const axis2_char_t * http_version); /** * @param env pointer to environment struct * @param str pointer to str */ AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL axis2_http_request_line_parse_line( const axutil_env_t * env, const axis2_char_t * str); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_REQUEST_LINE_H */ axis2c-src-1.6.0/include/axis2_http_simple_response.h0000644000175000017500000002511311166304541024007 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_SIMPLE_RESPONSE_H #define AXIS2_HTTP_SIMPLE_RESPONSE_H /** * @defgroup axis2_http_simple_response http simple response * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_simple_http_response.h * @brief axis2 HTTP Simple Response */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_simple_response */ typedef struct axis2_http_simple_response axis2_http_simple_response_t; /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param http_ver pointer to http_ver * @param status_code pointer to status code * @param phrase pointer to phrase * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_response_set_status_line( struct axis2_http_simple_response *simple_response, const axutil_env_t * env, const axis2_char_t * http_ver, const int status_code, const axis2_char_t * phrase); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_phrase( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_http_simple_response_get_status_code( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_http_version( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_status_line( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param name pointer to name */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_simple_response_contains_header( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, const axis2_char_t * name); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_response_get_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_response_extract_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param str pointer to str */ AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_simple_response_get_first_header( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, const axis2_char_t * str); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param str pointer to str * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_response_remove_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, const axis2_char_t * str); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param header pointer to header * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_response_set_header( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_http_header_t * header); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param headers double pointer to headers * @param array_size * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_response_set_headers( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_http_header_t ** headers, axis2_ssize_t array_size); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_charset( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axis2_http_simple_response_get_content_length( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_content_type( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param str pointer to str * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_response_set_body_string( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t * str); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param stream pointer to stream * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_response_set_body_stream( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axutil_stream_t * stream); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_http_simple_response_get_body( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @param buf double pointer to buf */ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axis2_http_simple_response_get_body_bytes( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t ** buf); /** * @param simple_response pointer to simple response struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_http_simple_response_free( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); /** * @param env pointer to environment struct * @param status_line pointer to status line * @param http_headers double pointer to http_headers * @param http_hdr_count * @param content pointer to content */ AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL axis2_http_simple_response_create( const axutil_env_t * env, axis2_http_status_line_t * status_line, const axis2_http_header_t ** http_headers, const axis2_ssize_t http_hdr_count, axutil_stream_t * content); /** * @param env pointer to environment struct */ AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL axis2_http_simple_response_create_default( const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_response_get_mime_parts( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axis2_http_simple_response_set_mime_parts( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axutil_array_list_t *mime_parts); axis2_status_t AXIS2_CALL axis2_http_simple_response_set_http_version( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t *http_version); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_simple_response_get_mtom_sending_callback_name( axis2_http_simple_response_t * simple_response, const axutil_env_t * env); void AXIS2_EXTERN AXIS2_CALL axis2_http_simple_response_set_mtom_sending_callback_name( axis2_http_simple_response_t * simple_response, const axutil_env_t * env, axis2_char_t *mtom_sending_callback_name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_SIMPLE_RESPONSE_H */ axis2c-src-1.6.0/include/axis2_http_client.h0000644000175000017500000001741411166304541022063 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_CLIENT_H #define AXIS2_HTTP_CLIENT_H /** * @defgroup axis2_http_client http client * @ingroup axis2_core_trans_http * Description * @{ */ /** * @file axis2_http_client.h * @brief axis2 HTTP Header name:value pair implementation */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_client */ typedef struct axis2_http_client axis2_http_client_t; /** * @param client pointer to client * @param env pointer to environment struct * @param request pointer to request * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_send( axis2_http_client_t * client, const axutil_env_t * env, axis2_http_simple_request_t * request, axis2_char_t * ssl_pp); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_http_client_recieve_header( axis2_http_client_t * client, const axutil_env_t * env); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN axis2_http_simple_response_t *AXIS2_CALL axis2_http_client_get_response( const axis2_http_client_t * client, const axutil_env_t * env); /** * @param client pointer to client * @param env pointer to environment struct * @param url pointer to url * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_url( axis2_http_client_t * client, const axutil_env_t * env, axutil_url_t * url); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN axutil_url_t *AXIS2_CALL axis2_http_client_get_url( const axis2_http_client_t * client, const axutil_env_t * env); /** * @param client pointer to client * @param env pointer to environment struct * @param timeout_ms * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_timeout( axis2_http_client_t * client, const axutil_env_t * env, int timeout_ms); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN int AXIS2_CALL axis2_http_client_get_timeout( const axis2_http_client_t * client, const axutil_env_t * env); /** * @param client pointer to client * @param env pointer to environment struct * @param proxy_host pointer to proxy host * @param proxy_port * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_proxy( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * proxy_host, int proxy_port); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_client_get_proxy( const axis2_http_client_t * client, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_connect_ssl_host( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * host, int port); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_dump_input_msg( axis2_http_client_t * client, const axutil_env_t * env, axis2_bool_t dump_input_msg); /** * @param client pointer to client * @param env pointer to environment struct * @param server_cert server certificate * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_server_cert( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * server_cert); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_client_get_server_cert( const axis2_http_client_t * client, const axutil_env_t * env); /** * @param client pointer to client * @param env pointer to environment struct * @param key_file chain file containing * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_key_file( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t * key_file); /** * @param client pointer to client * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_http_client_get_key_file( const axis2_http_client_t * client, const axutil_env_t * env); /** * @param client pointer to client * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_http_client_free( axis2_http_client_t * client, const axutil_env_t * env); /** * @param env pointer to environment struct * @param url pointer to url */ AXIS2_EXTERN axis2_http_client_t *AXIS2_CALL axis2_http_client_create( const axutil_env_t * env, axutil_url_t * url); /** * Free http_client passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the http_client structure's free method * @param client * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_http_client_free_void_arg( void *client, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_mime_parts( axis2_http_client_t * client, const axutil_env_t * env, axutil_array_list_t *mime_parts); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_client_get_mime_parts( const axis2_http_client_t * client, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_doing_mtom( axis2_http_client_t * client, const axutil_env_t * env, axis2_bool_t doing_mtom); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_client_get_doing_mtom( const axis2_http_client_t * client, const axutil_env_t * env); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_client_set_mtom_sending_callback_name( axis2_http_client_t * client, const axutil_env_t * env, axis2_char_t *callback_name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_CLIENT_H */ axis2c-src-1.6.0/include/axis2_module.h0000644000175000017500000001150611166304541021027 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_MODULE_H #define AXIS2_MODULE_H /** * @defgroup axis2_module module * @ingroup axis2_desc * Every module provides an implementation of struct interface. Modules are in * one of two states: "available" or "initialized". All modules that the run-time * detects (from the repository modules directory) are said to be in the * "available" state. If some service indicates a dependency on this * module then the module is initialized (once for the life time of the system) * and the state changes to "initialized". * Any module which is in the "initialized" state can be engaged as needed * by the engine to respond to a message. Module engagement is done by * deployment engine using module.xml. * @{ */ /** * @file axis2_module.h */ #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for axis2_module_ops */ typedef struct axis2_module_ops axis2_module_ops_t; /** Type name for axis2_module_ops */ typedef struct axis2_module axis2_module_t; struct axis2_conf; /** * Struct containing operations available on a module. * \n * 1. init * \n * 2. shutdown * \n * 3. fill_handler_create_func_map * \n * are the three operations presently available. */ struct axis2_module_ops { /** * Initializes module. * @param module pointer to module struct * @param env pointer to environment struct * @param conf_ctx pointer to configuration context * @param module_desc module description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * init)( axis2_module_t * module, const axutil_env_t * env, struct axis2_conf_ctx * conf_ctx, axis2_module_desc_t * module_desc); /** * Shutdowns module. * @param module pointer to module struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * shutdown)( axis2_module_t * module, const axutil_env_t * env); /** * Fills the hash map of handler create functions for the module. * @param module pointer to module struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * fill_handler_create_func_map)( axis2_module_t * module, const axutil_env_t * env); }; /** * Struct representing a module. */ struct axis2_module { /** operations of module */ const axis2_module_ops_t *ops; /** hash map of handler create functions */ axutil_hash_t *handler_create_func_map; }; /** * Creates module struct. * @param env pointer to environment struct * @return pointer to newly created module */ AXIS2_EXTERN axis2_module_t *AXIS2_CALL axis2_module_create( const axutil_env_t * env); /** Initializes module. @sa axis2_module_ops#init */ #define axis2_module_init(module, env, conf_ctx, module_desc) \ ((module)->ops->init (module, env, conf_ctx, module_desc)) /** Shutdowns module. @sa axis2_module_ops#shutdown */ #define axis2_module_shutdown(module, env) \ ((module)->ops->shutdown (module, env)) /** Fills handler create function map. @sa axis2_module_ops#fill_handler_create_func_map */ #define axis2_module_fill_handler_create_func_map(module, env) \ ((module)->ops->fill_handler_create_func_map (module, env)) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_MODULE_H */ axis2c-src-1.6.0/include/axis2_phase.h0000644000175000017500000002765411166304541020655 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PHASE_H #define AXIS2_PHASE_H /** * @defgroup axis2_phase phases * @ingroup axis2_engine * phase is a logical unit of execution in the Axis2 engine's execution flows. * A phase encapsulates one or more handlers in a given sequence to be invoked. * The sequencing of handlers within a phase are often defined by module * configuration which specifies where in the phase's handler chain a given * handler should be placed. * Calling invoke on phase triggers invoke on the handlers stored within the * phase in the sequence they are ordered. * @{ */ /** * @file axis2_phase.h */ #include #include #include #include #include #include /** * A given handler's location within the list of handlers is before a particular * handler and after another particular handler. */ #define AXIS2_PHASE_BOTH_BEFORE_AFTER 0 /** * A given handler's location within the list of handlers is before another * given handler. */ #define AXIS2_PHASE_BEFORE 1 /** * A given handler's location within the list of handlers is after another * given handler. */ #define AXIS2_PHASE_AFTER 2 /** * A given handler's location within the list of handlers could be anywhere in * the list. */ #define AXIS2_PHASE_ANYWHERE 3 #ifdef __cplusplus extern "C" { #endif /** Type name for axis2_phase */ typedef struct axis2_phase axis2_phase_t; struct axis2_msg_ctx; /** * Adds given handler to the specified position in the handler array list. * @param phase pointer to phase struct * @param env pointer to environment struct * @param index index * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_add_handler_at( axis2_phase_t * phase, const axutil_env_t * env, const int index, axis2_handler_t * handler); /** * Adds the given handler to the end of the handler list. * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_add_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Remove the given handler from the handler list. * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_remove_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Invokes the phase. This function will in turn call invoke method of * each handler in the handler list, in sequence, starting from the * beginning of the list to the end of the list. * @param phase pointer to phase * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_invoke( axis2_phase_t * phase, const axutil_env_t * env, struct axis2_msg_ctx *msg_ctx); /** * Gets phase name. * @param phase pointer to phase * @param env pointer to environment struct * @return returns name of phase */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_phase_get_name( const axis2_phase_t * phase, const axutil_env_t * env); /** * Gets handler count in the handler list. * @param phase pointer to phase * @param env pointer to environment struct * @return the number of handlers in the handler list */ AXIS2_EXTERN int AXIS2_CALL axis2_phase_get_handler_count( const axis2_phase_t * phase, const axutil_env_t * env); /** * Sets the first handler in the handler list. * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_set_first_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Sets the last handler in the handler list. * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_set_last_handler( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Adds handler within the handler description to the list of handlers * in the phase. * @param phase pointer to phase * @param env pointer to environment struct * @param handler_desc pointer to handler description, phase does not * assume the ownership of neither the handler description not the handler * within the handler description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_add_handler_desc( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_desc_t * handler_desc); /** * Remove handler within the handler description from the list of handlers * in the phase. * @param phase pointer to phase * @param env pointer to environment struct * @param handler_desc pointer to handler description, phase does not * assume the ownership of neither the handler description not the handler * within the handler description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_remove_handler_desc( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_desc_t * handler_desc); /** * Inserts the handler into handler list of the phase based on the phase * rules associated with the handler. This function takes into account * the before rules of the handler. Before rules specify the location * of a current handler in the handler list, before which the given * handler is to be placed. * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_before( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Inserts the handler into handler list of the phase based on the phase * rules associated with the handler. This function takes into account * the after rules of the handler. After rules specify the location * of a current handler in the handler list, after which the given * handler is to be placed. * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_after( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Inserts the handler into handler list of the phase based on both * before and after phase rules associated with the handler. * This method assume that both the before and after cannot be the same * handler . That condition is not checked by this function. * It should be checked before calling this function * @param phase pointer to phase * @param env pointer to environment struct * @param handler pointer to handler, phase does not assume the * ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_before_and_after( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_t * handler); /** * Inserts the handler to the correct location in the handler list of * the phase. Location is evaluated based on the phase rules. * @param phase pointer to phase * @param env pointer to environment struct * @param handler_desc pointer to handler description, phase does not * assume the ownership of neither the handler description not the handler * within the handler description * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_insert_handler_desc( axis2_phase_t * phase, const axutil_env_t * env, axis2_handler_desc_t * handler_desc); /** * Gets all the handlers in the phase. * @param phase pointer to phase * @param env pointer to environment struct * @return pointer to array list containing the list of handlers */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phase_get_all_handlers( const axis2_phase_t * phase, const axutil_env_t * env); /** * Invokes handlers starting from the given handler index. * @param phase pointer to phase * @param env pointer to environment struct * @param paused_handler_index index of the handler to start the * invocation from * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_invoke_start_from_handler( axis2_phase_t * phase, const axutil_env_t * env, const int paused_handler_index, struct axis2_msg_ctx *msg_ctx); /** * Frees phase struct. * @param phase pointer to phase * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_phase_free( axis2_phase_t * phase, const axutil_env_t * env); /** * creates phase struct instance. * @param env pointer to environment struct * @param phase_name name of the phase to be created * @return pointer to newly created phase */ AXIS2_EXTERN axis2_phase_t *AXIS2_CALL axis2_phase_create( const axutil_env_t * env, const axis2_char_t * phase_name); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_increment_ref( axis2_phase_t * phase, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_PHASE_H */ axis2c-src-1.6.0/include/axis2_svc_ctx.h0000644000175000017500000001514111166304541021212 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_CTX_H #define AXIS2_SVC_CTX_H /** * @defgroup axis2_svc_ctx service context * @ingroup axis2_context * service context represents a running "instance" of a service. * service context allows instance of operations belonging to a service to be * grouped. * @{ */ /** * @file axis2_svc_ctx.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc_ctx */ typedef struct axis2_svc_ctx axis2_svc_ctx_t; /** * Creates a service context struct that corresponds to the given service * and with the given parent service group context. * @param env pointer to environment struct * @param svc pointer to service that this service context represents, * service context does not assume the ownership of service * @param svc_grp_ctx pointer to service group context, the parent of the * newly created service context. service context does not assume the * ownership of parent * @return pointer to newly created service context */ AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_svc_ctx_create( const axutil_env_t * env, struct axis2_svc *svc, struct axis2_svc_grp_ctx *svc_grp_ctx); /** * Gets base which is of type context. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @return pointer to context, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_svc_ctx_get_base( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env); /** * Gets parent which is of type service group context. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @return pointer to parent service group context */ AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL axis2_svc_ctx_get_parent( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env); /** * Sets parent which is of type service group context. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @param parent parent of service context which is of type * service group context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_ctx_set_parent( axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env, struct axis2_svc_grp_ctx *parent); /** * Frees service context instance. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_ctx_free( struct axis2_svc_ctx *svc_ctx, const axutil_env_t * env); /** * Initializes service context. This method locates the corresponding * service that is related to the service context from configuration * using service qname and keeps a reference to it for future use. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @param conf pointer to configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_ctx_init( struct axis2_svc_ctx *svc_ctx, const axutil_env_t * env, struct axis2_conf *conf); /** * Gets the ID of the service that this service context is an instance * of. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @return service ID string. */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_ctx_get_svc_id( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env); /** * Gets the service that this service context represents. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @return pointer to service, returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_svc_ctx_get_svc( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env); /** * Sets the service that this service context represents. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @param svc pointer to service struct, service context does not assume * the ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_ctx_set_svc( axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env, struct axis2_svc *svc); /** * Gets configuration context which is the super root (super most parent) * of the context hierarchy to which this service context belongs. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @return pointer to configuration context */ AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL axis2_svc_ctx_get_conf_ctx( const axis2_svc_ctx_t * svc_ctx, const axutil_env_t * env); /** * Creates an operation context for the named operation. The named * operation should be one of the operations in the service related * to this service context. * @param svc_ctx pointer to service context * @param env pointer to environment struct * @param qname pointer to qname that represents the operation name. * @return pointer to operation context */ AXIS2_EXTERN struct axis2_op_ctx *AXIS2_CALL axis2_svc_ctx_create_op_ctx( struct axis2_svc_ctx *svc_ctx, const axutil_env_t * env, const axutil_qname_t * qname); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_CTX_H */ axis2c-src-1.6.0/include/axis2_phase_meta.h0000644000175000017500000000420611166304541021647 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PHASE_META_H #define AXIS2_PHASE_META_H /** * @defgroup axis2_phase_meta phase meta data * @ingroup axis2_engine * @{ */ /** * @file axis2_conf.h * @brief Axis2 configuration interface */ #include #ifdef __cplusplus extern "C" { #endif /** Axis2 in flow */ /*#define AXIS2_IN_FLOW 1*/ /** Axis2 out flow */ /*#define AXIS2_OUT_FLOW 2*/ /** Axis2 fault in flow */ /*#define AXIS2_FAULT_IN_FLOW 3*/ /** Axis2 fault out flow */ /*#define AXIS2_FAULT_OUT_FLOW 4*/ /** phase transport in */ #define AXIS2_PHASE_TRANSPORT_IN "Transport" /** phase pre dispatch */ #define AXIS2_PHASE_PRE_DISPATCH "PreDispatch" /** phase dispatch */ #define AXIS2_PHASE_DISPATCH "Dispatch" /** phase post dispatch */ #define AXIS2_PHASE_POST_DISPATCH "PostDispatch" /** phase policy determination */ #define AXIS2_PHASE_POLICY_DETERMINATION "PolicyDetermination" /** phase message processing */ #define AXIS2_PHASE_MESSAGE_PROCESSING "MessageProcessing" /** phase message out */ #define AXIS2_PHASE_MESSAGE_OUT "MessageOut" /** * All the handlers inside transport_sender and tranport_recievre in axis2.xml gose * to this phase */ #define AXIS2_TRANSPORT_PHASE "TRANSPORT" /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PHASE_META_H */ axis2c-src-1.6.0/include/axis2_svc_grp.h0000644000175000017500000003052511166304541021207 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_GRP_H #define AXIS2_SVC_GRP_H /** * @defgroup axis2_svc_grp service group * @ingroup axis2_desc * service group represents the static structure of a service group in * the Axis2 configuration. * In Axis2 description hierarchy, a service group lives inside the * configuration. service groups are configured in services.xml files located * in the respective service group folders of the services folder in the repository. * In services.xml file, services groups are declared at top level. * A service group can have one or more services associated with it. * Sometimes services.xml would not have a service group defined, but only a * service. In such cases a service group with the same name as that of the * service mentioned in services.xml would be created by the deployment * engine and the service would be associated with that newly created service * group. The deployment engine would create service group instances to represent * those configured service groups in services.xml files and would store * them in the configuration. * service group encapsulates data on engaged module information and the * service associated with service group. * @{ */ /** * @file axis2_svc_grp.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc_grp */ typedef struct axis2_svc_grp axis2_svc_grp_t; struct axis2_svc; struct axis2_svc_grp_ctx; /** * Frees service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_grp_free( axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Sets service group name. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param svc_grp_name service group name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_set_name( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axis2_char_t * svc_grp_name); /** * Gets service group name. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return service group name string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_grp_get_name( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Adds given service to service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param service service to be added, service group assumes ownership * of service * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_svc( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, struct axis2_svc *svc); /** * Gets named service from service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param svc_qname pointer to QName of the service * @return pointer to service corresponding to given QName, returns a * reference, not a cloned copy */ AXIS2_EXTERN struct axis2_svc *AXIS2_CALL axis2_svc_grp_get_svc( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * svc_qname); /** * Gets all services associated with service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return pointer to hash table containing all services, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_grp_get_all_svcs( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Removes named service from service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param svc_name pointer to service QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_remove_svc( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * svc_qname); /** * Adds parameter. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param param pointer to parameter, service group assumes ownership * of parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_param( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, axutil_param_t * param); /** * Gets named parameter. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param name parameter name * @return pointer to named parameter if exists, else NULL. Returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_svc_grp_get_param( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axis2_char_t * name); /** * Gets all parameters set on service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return pointer to array list containing parameter, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_grp_get_all_params( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Checks if the named parameter is locked. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param param_name pointer to param name * @return AXIS2_TRUE if the named parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_grp_is_param_locked( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axis2_char_t * param_name); /** * Adds given module QName to list of module QNames. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param module_name pointer to module QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_module_qname( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * module_qname); /** * Gets parent which is of type configuration. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return pointer to parent configuration, returns a * reference, not a cloned copy */ AXIS2_EXTERN struct axis2_conf *AXIS2_CALL axis2_svc_grp_get_parent( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Sets parent which is of type configuration. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param parent parent configuration, service group does not assume * the ownership of configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_set_parent( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, struct axis2_conf *parent); /** * Engages named module to service group. Engaging a module to service * group would ensure that the same module would be engaged to all * services within the group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param module_name pointer to module QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_engage_module( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * module_qname); /** * Gets all module QNames associated with service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return pointer to array list containing all QNames, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_grp_get_all_module_qnames( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Adds module reference. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param moduleref pointer to module QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_add_module_ref( axis2_svc_grp_t * svc_grp, const axutil_env_t * env, const axutil_qname_t * moduleref); /** * Gets all module references. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @return pointer to array list containing module reference, returns * a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_grp_get_all_module_refs( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Gets service group context related to this service group. * @param svc_grp pointer to service group struct * @param env pointer to environment struct * @param parent pointer to configuration context which is the parent of * the context hierarchy * @return pointer to service group context related to this service * group, returns a reference, not a cloned copy */ AXIS2_EXTERN struct axis2_svc_grp_ctx *AXIS2_CALL axis2_svc_grp_get_svc_grp_ctx( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env, struct axis2_conf_ctx *parent); AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_svc_grp_get_param_container( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); /** * Creates a service group struct instance. * @param env pointer to environment struct * @return pointer to newly created service group */ AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_svc_grp_create( const axutil_env_t * env); /** * Creates service group with given configuration as the parent. * @param env pointer to environment struct * @param conf pointer to configuration, service group created does not * assume ownership of configuration * @return pointer to newly created service group */ AXIS2_EXTERN axis2_svc_grp_t *AXIS2_CALL axis2_svc_grp_create_with_conf( const axutil_env_t * env, struct axis2_conf *conf); /** * Gets base description. * @param svc_grp pointer to message * @param env pointer to environment struct * @return pointer to base description struct */ AXIS2_EXTERN axis2_desc_t *AXIS2_CALL axis2_svc_grp_get_base( const axis2_svc_grp_t * svc_grp, const axutil_env_t * env); #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_GRP_H */ axis2c-src-1.6.0/include/axis2_simple_http_svr_conn.h0000644000175000017500000001412511166304541024001 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SIMPLE_HTTP_SVR_CONN_H #define AXIS2_SIMPLE_HTTP_SVR_CONN_H /** * @ingroup axis2_core_transport_http * @{ */ /** * @file axis2_simple_http_svr_conn.h * @brief Axis2 simple http server connection */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif typedef struct axis2_simple_http_svr_conn axis2_simple_http_svr_conn_t; /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_close( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_simple_http_svr_conn_is_open( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @param keep_alive * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_set_keep_alive( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, axis2_bool_t keep_alive); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_simple_http_svr_conn_is_keep_alive( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_simple_http_svr_conn_get_stream( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_http_response_writer_t *AXIS2_CALL axis2_simple_http_svr_conn_get_writer( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL axis2_simple_http_svr_conn_read_request( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @param response response * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_write_response( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, axis2_http_simple_response_t * response); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @param timeout timeout * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_set_rcv_timeout( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @param timeout timeout * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_simple_http_svr_conn_set_snd_timeout( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env, int timeout); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_http_svr_conn_get_svr_ip( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_simple_http_svr_conn_get_peer_ip( const axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * @param svr_conn pointer to server connection struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_simple_http_svr_conn_free( axis2_simple_http_svr_conn_t * svr_conn, const axutil_env_t * env); /** * creates axis2_simple_http_svr_conn struct * @param env pointer to environment struct * @param sockfd sockfd */ AXIS2_EXTERN axis2_simple_http_svr_conn_t *AXIS2_CALL axis2_simple_http_svr_conn_create( const axutil_env_t * env, int sockfd); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SIMPLE_HTTP_SVR_CONN_H */ axis2c-src-1.6.0/include/axis2_description.h0000644000175000017500000000621511166304541022066 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_DESCRIPTION_H #define AXIS2_DESCRIPTION_H #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * @defgroup axis2_desc description * @ingroup axis2 * @{ * @} */ /** * @defgroup axis2_desc_constants description related constants * @ingroup axis2_desc * @{ */ /** * @file axis2_description.h */ /*********************************** Constansts *******************************/ /** * Field EXECUTION_CHAIN_KEY */ #define AXIS2_EXECUTION_CHAIN_KEY "EXECUTION_CHAIN_KEY" /** * Field EXECUTION_OUT_CHAIN_KEY */ #define AXIS2_EXECUTION_OUT_CHAIN_KEY "EXECUTION_OUT_CHAIN_KEY" /** * Field EXECUTION_FAULT_CHAIN_KEY */ #define AXIS2_EXECUTION_FAULT_CHAIN_KEY "EXECUTION_FAULT_CHAIN_KEY" /** * Field MODULEREF_KEY */ #define AXIS2_MODULEREF_KEY "MODULEREF_KEY" /** * Field OP_KEY */ #define AXIS2_OP_KEY "OP_KEY" /** * Field CLASSLOADER_KEY */ #define AXIS2_CLASSLOADER_KEY "CLASSLOADER_KEY" /** * Field CONTEXTPATH_KEY */ #define AXIS2_CONTEXTPATH_KEY "CONTEXTPATH_KEY" /** * Field PROVIDER_KEY */ #define AXIS2_MESSAGE_RECEIVER_KEY "PROVIDER_KEY" /** * Field STYLE_KEY */ #define AXIS2_STYLE_KEY "STYLE_KEY" /** * Field PARAMETER_KEY */ #define AXIS2_PARAMETER_KEY "PARAMETER_KEY" /** * Field IN_FLOW_KEY */ #define AXIS2_IN_FLOW_KEY "IN_FLOW_KEY" /** * Field OUT_FLOW_KEY */ #define AXIS2_OUT_FLOW_KEY "OUT_FLOW_KEY" /** * Field IN_FAULTFLOW_KEY */ #define AXIS2_IN_FAULTFLOW_KEY "IN_FAULTFLOW_KEY" /** * Field OUT_FAULTFLOW_KEY */ #define AXIS2_OUT_FAULTFLOW_KEY "OUT_FAULTFLOW_KEY" /** * Field PHASES_KEY */ #define AXIS2_PHASES_KEY "PHASES_KEY" /** * Field SERVICE_CLASS */ #define AXIS2_SERVICE_CLASS "ServiceClass" /** * Field SERVICE_CLASS_NAME */ #define AXIS2_SERVICE_CLASS_NAME "SERVICE_CLASS_NAME" /******************************************************************************/ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_DESCRIPTION_H */ axis2c-src-1.6.0/include/axis2_transport_sender.h0000644000175000017500000001312011166304541023130 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TRANSPORT_SENDER_H #define AXIS2_TRANSPORT_SENDER_H /** @defgroup axis2_transport_sender transport sender * @ingroup axis2_transport * Description * @{ */ /** * @file axis2_transport_sender.h * @brief Axis2 description transport sender interface */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_transport_out_desc; struct axis2_ctx; struct axis2_msg_ctx; struct axis2_handler; /** Type name for struct axis2_transport_sender */ typedef struct axis2_transport_sender axis2_transport_sender_t; /** Type name for struct axis2_transport_sender_ops */ typedef struct axis2_transport_sender_ops axis2_transport_sender_ops_t; /** * @brief Description Transport Sender ops struct * Encapsulator struct for ops of axis2_transport_sender */ struct axis2_transport_sender_ops { /** * Initialize * @param transport_sender pointer to transport sender * @param env pointer to environment * @param conf_ctx pointer to configuration context * @param transport_out pointer to transport_out * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * init)( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, struct axis2_conf_ctx * conf_ctx, struct axis2_transport_out_desc * transport_out); /** * Invoke * @param transport_sender pointer to transport sender * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * invoke)( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); /** * Clean up * @param transport_sender pointer to transport sender * @param env pointer to environmnet struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ axis2_status_t( AXIS2_CALL * cleanup)( axis2_transport_sender_t * transport_sender, const axutil_env_t * env, struct axis2_msg_ctx * msg_ctx); /** De-allocate memory * @param transport_sender pointer to transport sender * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ void( AXIS2_CALL * free)( axis2_transport_sender_t * transport_sender, const axutil_env_t * env); }; /** * Transport Sender struct * This send the SOAP Message to other SOAP nodes and this alone write the SOAP * Message to the wire. Out flow must be end with one of this kind */ struct axis2_transport_sender { /** operations of axis transport sender */ const axis2_transport_sender_ops_t *ops; }; /** * Creates phase holder struct * @param env pointer to environment struct * @return pointer to newly created transport sender */ AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL axis2_transport_sender_create( const axutil_env_t * env); /*************************** Function macros **********************************/ /** Frees the axis2 transport sender. @sa axis2_transport_sender_ops#free */ #define AXIS2_TRANSPORT_SENDER_FREE(transport_sender, env) \ ((transport_sender->ops)->free (transport_sender, env)) /** Initialize the axis2 transport sender. @sa axis2_transport_sender_ops#init */ #define AXIS2_TRANSPORT_SENDER_INIT(transport_sender, env, conf_context, transport_out) \ ((transport_sender->ops)->init (transport_sender, env, conf_context, transport_out)) /** Invoke. @sa axis2_transport_sender_ops#invoke */ #define AXIS2_TRANSPORT_SENDER_INVOKE(transport_sender, env, msg_ctx) \ ((transport_sender->ops)->invoke (transport_sender, env, msg_ctx)) /** Cleanup. @sa axis2_transport_sender_ops#cleanup */ #define AXIS2_TRANSPORT_SENDER_CLEANUP(transport_sender, env, msg_ctx) \ ((transport_sender->ops)->cleanup (transport_sender, env, msg_ctx)) /*************************** End of function macros ***************************/ /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TRANSPORT_SENDER_H */ axis2c-src-1.6.0/include/axis2_handler_desc.h0000644000175000017500000002311111166304541022150 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HANDLER_DESC_H #define AXIS2_HANDLER_DESC_H /** * @defgroup axis2_handler_desc handler description * @ingroup axis2_desc * handler description captures information on a handler. Each handler in the * system has an associated handler description. Deployment engine would create * handler descriptions based on configuration information. When handlers are * loaded from shared libraries, the information captured in handler description * would be used. * @{ */ /** * @file axis2_handler_desc.h */ #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_handler_desc */ typedef struct axis2_handler_desc axis2_handler_desc_t; /** * Gets QName. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return pointer to QName, returns a reference, not a cloned copy */ AXIS2_EXTERN const axutil_string_t *AXIS2_CALL axis2_handler_desc_get_name( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Sets QName. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param name pointer to string representing handler name * of QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_name( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axutil_string_t * name); /** * Gets phase rules. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return pointer to phase rule struct containing phase rules */ AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL axis2_handler_desc_get_rules( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Sets phase rules. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param phase_rule pointer to phase rule struct, handler description * assumes ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_rules( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axis2_phase_rule_t * phase_rule); /** * Gets named parameter. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param name parameter name string * @return pointer to parameter if found, else NULL. Return a reference * not a cloned copy */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_handler_desc_get_param( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env, const axis2_char_t * name); /** * Adds given parameter to the parameter list. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param param pointer to param * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_add_param( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axutil_param_t * param); /** * Gets all parameters stored within handler description. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return pointer to array list containing parameters, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_handler_desc_get_all_params( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Checks if the named parameter is locked at any level * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param param_name parameter name string * @return AXIS2_TRUE if the parameter is locked, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_handler_desc_is_param_locked( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Gets the handler associated with the handler description. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return pointer to handler, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_handler_t *AXIS2_CALL axis2_handler_desc_get_handler( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Sets the handler associated with the handler description. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param handler pointer to handler, handler description assumes * the ownership of the handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_handler( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axis2_handler_t * handler); /** * Gets the class name. Class name is the name of the shared library * file that contains the implementation of the handler. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return class name string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_handler_desc_get_class_name( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Sets the class name. Class name is the name of the shared library * file that contains the implementation of the handler. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param class_name class name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_class_name( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, const axis2_char_t * class_name); /** * Gets the parent. Parent of handler description is of type parameter * container. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return pointer to parent parameter container, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_handler_desc_get_parent( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Gets the parent. Parent of handler description is of type parameter * container. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @param parent pointer to parent parameter container struct, handler * description assumes ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_handler_desc_set_parent( axis2_handler_desc_t * handler_desc, const axutil_env_t * env, axutil_param_container_t * parent); /** * Frees handler description. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_handler_desc_free( axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Gets the param container. * @param handler_desc pointer to handler description * @param env pointer to environment struct * @return pointer to parameter container, returns a reference, * not a cloned copy */ AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_handler_desc_get_param_container( const axis2_handler_desc_t * handler_desc, const axutil_env_t * env); /** * Creates handler description struct instance. * @param env pointer to env pointer to environment struct * @param name pointer to string representing handler name, can be NULL, create function * clones this * @return pointer to newly created handler description struct */ AXIS2_EXTERN axis2_handler_desc_t *AXIS2_CALL axis2_handler_desc_create( const axutil_env_t * env, axutil_string_t * name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HANDLER_DESC_H */ axis2c-src-1.6.0/include/axis2_http_simple_request.h0000644000175000017500000001570411166304541023646 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_SIMPLE_REQUEST_H #define AXIS2_HTTP_SIMPLE_REQUEST_H /** * @defgroup axis2_http_simple_request http simple request * @ingroup axis2_core_trans_http * @{ */ /** * @file axis2_http_simple_request.h * @brief axis2 HTTP Simple Request */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_simple_request */ typedef struct axis2_http_simple_request axis2_http_simple_request_t; /** * @param simple_request pointer to simple request * @param env pointer to environment struct */ AXIS2_EXTERN axis2_http_request_line_t *AXIS2_CALL axis2_http_simple_request_get_request_line( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param request_line pointer to request line * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_set_request_line( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, axis2_http_request_line_t * request_line); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param name pointer to name */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_http_simple_request_contains_header( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, const axis2_char_t * name); /** * @param simple_request pointer to simple request * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_http_simple_request_get_headers( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param str pointer to str */ AXIS2_EXTERN axis2_http_header_t *AXIS2_CALL axis2_http_simple_request_get_first_header( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env, const axis2_char_t * str); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param str pointer to str * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_remove_headers( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, const axis2_char_t * str); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param header pointer to header * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_add_header( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, axis2_http_header_t * header); /** * @param simple_request pointer to simple request * @param env pointer to environment struct */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_http_simple_request_get_content_type( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param simple_request pointer to simple request * @param env pointer to environment struct */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_http_simple_request_get_charset( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param simple_request pointer to simple request * @param env pointer to environment struct */ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axis2_http_simple_request_get_content_length( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param simple_request pointer to simple request * @param env pointer to environment struct */ AXIS2_EXTERN axutil_stream_t *AXIS2_CALL axis2_http_simple_request_get_body( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param buf double pointer to buf */ AXIS2_EXTERN axis2_ssize_t AXIS2_CALL axis2_http_simple_request_get_body_bytes( const axis2_http_simple_request_t * simple_request, const axutil_env_t * env, char **buf); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @param str pointer to str * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_simple_request_set_body_string( axis2_http_simple_request_t * simple_request, const axutil_env_t * env, void *str, unsigned int str_len); /** * @param simple_request pointer to simple request * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_http_simple_request_free( axis2_http_simple_request_t * simple_request, const axutil_env_t * env); /** * @param env pointer to environment struct * @param request_line pointer to request line * @param http_headers double pointer to http headers * @param http_hdr_count * @param content pointer to content */ AXIS2_EXTERN axis2_http_simple_request_t *AXIS2_CALL axis2_http_simple_request_create( const axutil_env_t * env, axis2_http_request_line_t * request_line, axis2_http_header_t ** http_headers, axis2_ssize_t http_hdr_count, axutil_stream_t * content); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_SIMPLE_REQUEST_H */ axis2c-src-1.6.0/include/axis2_http_out_transport_info.h0000644000175000017500000001355011166304541024540 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_HTTP_OUT_TRANSPORT_INFO_H #define AXIS2_HTTP_OUT_TRANSPORT_INFO_H /** * @defgroup axis2_http_out_transport_info http out transport info * @ingroup axis2_core_trans_http * Description * @{ */ /** * @file axis2_http_out_transport_info.h * @brief axis2 HTTP Out Transport Info */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_http_out_transport_info */ typedef struct axis2_http_out_transport_info axis2_http_out_transport_info_t; struct axis2_http_out_transport_info { axis2_out_transport_info_t out_transport; axis2_http_simple_response_t *response; axis2_char_t *encoding; axis2_status_t( AXIS2_CALL * set_content_type)( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * content_type); axis2_status_t( AXIS2_CALL * set_char_encoding)( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * encoding); void( AXIS2_CALL * free_function)( axis2_http_out_transport_info_t * info, const axutil_env_t * env); }; /** * @param info pointer to info * @param env pointer to environment struct * @param content_type pointer to content type */ AXIS2_EXTERN int AXIS2_CALL axis2_http_out_transport_info_set_content_type( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * content_type); /** * @param info pointer to info * @param env pointer to environment struct * @param encoding pointer to encoding * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_http_out_transport_info_set_char_encoding( axis2_http_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * encoding); /** * @param out_transport_info pointer to out transport info * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_free( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env); /** * @param env pointer to environment struct * @param response pointer to response */ AXIS2_EXTERN axis2_http_out_transport_info_t *AXIS2_CALL axis2_http_out_transport_info_create( const axutil_env_t * env, axis2_http_simple_response_t * response); /** * Free http_out_transport_info passed as void pointer. This will be * cast into appropriate type and then pass the cast object * into the http_out_transport_info structure's free method * @param transport_info pointer to transport info * @param env pointer to environment struct */ AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_free_void_arg( void *transport_info, const axutil_env_t * env); AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_set_char_encoding_func( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, axis2_status_t(AXIS2_CALL * set_encoding) (axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *)); AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_set_content_type_func( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, axis2_status_t(AXIS2_CALL * set_content_type)(axis2_http_out_transport_info_t *, const axutil_env_t *, const axis2_char_t *)); AXIS2_EXTERN void AXIS2_CALL axis2_http_out_transport_info_set_free_func( axis2_http_out_transport_info_t * out_transport_info, const axutil_env_t * env, void(AXIS2_CALL * free_function)(axis2_http_out_transport_info_t *, const axutil_env_t *)); /** Set content type. */ #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \ env, content_type) axis2_http_out_transport_info_set_content_type (out_transport_info, env, content_type) /** Set char encoding. */ #define AXIS2_HTTP_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info,\ env, encoding) axis2_http_out_transport_info_set_char_encoding(out_transport_info, env, encoding) /** Free. */ #define AXIS2_HTTP_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\ axis2_http_out_transport_info_free(out_transport_info, env) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_HTTP_OUT_TRANSPORT_INFO_H */ axis2c-src-1.6.0/include/axis2_transport_out_desc.h0000644000175000017500000002626511166304541023473 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_TRANSPORT_OUT_DESC_H #define AXIS2_TRANSPORT_OUT_DESC_H /** * @defgroup axis2_transport_out_desc transport out description * @ingroup axis2_desc * transport out description represents a transport sender configured in * Axis2 configuration. There can be multiple transport senders configured * in axis2.xml file and each of them will be represented with a transport * out description instance. deployment engine takes care of creating and * instantiating transport out descriptions. * transport out description encapsulates flows related to the transport out * and also holds a reference to related transport sender. * @{ */ /** * @file axis2_transport_out_desc.h */ #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_transport_out_desc */ typedef struct axis2_transport_out_desc axis2_transport_out_desc_t; struct axis2_phase; struct axis2_transport_sender; /** * Frees transport out description. * @param transport_out_dec pointer to transport out description * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_out_desc_free( axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env); /** * Frees transport out description given as a void pointer. * @param transport_out_dec pointer to transport out description as a * void pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_out_desc_free_void_arg( void *transport_out, const axutil_env_t * env); /** * Gets transport enum. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @return transport enum */ AXIS2_EXTERN AXIS2_TRANSPORT_ENUMS AXIS2_CALL axis2_transport_out_desc_get_enum( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env); /** * Sets transport enum. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @param trans_enum transport enum * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_enum( struct axis2_transport_out_desc *transport_out, const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Gets out flow. Out flow represents the list of phases invoked * along the sender path. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @return pointer to flow representing out flow, returns a reference, * not a cloned copy */ AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_transport_out_desc_get_out_flow( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env); /** * Sets out flow. Out flow represents the list of phases invoked * along the sender path. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @param out_flow pointer to out flow, transport out description * assumes ownership of flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_out_flow( struct axis2_transport_out_desc *transport_out, const axutil_env_t * env, struct axis2_flow *out_flow); /** * Gets fault out flow. Fault out flow represents the list of phases * invoked along the sender path if a fault happens. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @return pointer to flow representing fault out flow */ AXIS2_EXTERN struct axis2_flow *AXIS2_CALL axis2_transport_out_desc_get_fault_out_flow( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env); /** * Sets fault out flow. Fault out flow represents the list of phases * invoked along the sender path if a fault happens. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @param fault_out_flow pointer to fault_out_flow * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_fault_out_flow( struct axis2_transport_out_desc *transport_out, const axutil_env_t * env, struct axis2_flow *fault_out_flow); /** * Gets transport sender. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @return pointer to transport sender associated wit the transport out * description, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_transport_sender_t *AXIS2_CALL axis2_transport_out_desc_get_sender( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env); /** * Sets transport sender. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @param sender pointer to transport sender, transport description * assumes ownership of sender * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_sender( struct axis2_transport_out_desc *transport_out, const axutil_env_t * env, axis2_transport_sender_t * sender); /** * Gets transport out phase. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @return pointer to phase representing transport out phase, returns a * reference, not a cloned copy */ AXIS2_EXTERN struct axis2_phase *AXIS2_CALL axis2_transport_out_desc_get_out_phase( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env); /** * Sets transport out phase. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @param out_phase pointer to phase representing transport out phase, * transport out description assumes ownership of phase * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_out_phase( struct axis2_transport_out_desc *transport_out, const axutil_env_t * env, struct axis2_phase *out_phase); /** * Gets fault phase. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @return pointer to phase representing fault phase, returns a * reference, not a cloned copy */ AXIS2_EXTERN struct axis2_phase *AXIS2_CALL axis2_transport_out_desc_get_fault_phase( const axis2_transport_out_desc_t * transport_out, const axutil_env_t * env); /** * Sets fault phase. * @param transport_out pointer to transport_out * @param env pointer to environment struct * @param fault_phase pointer to phase representing fault phase, * transport description assumes ownership of phase * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_set_fault_phase( struct axis2_transport_out_desc *transport_out, const axutil_env_t * env, struct axis2_phase *fault_phase); /** * Adds parameter. * @param transport_out_desc pointer to tarn sport out description * @param env pointer to environment struct * @param param pointer to parameter, transport out description assumes * ownership of parameter * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_transport_out_desc_add_param( axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env, axutil_param_t * param); /** * Gets named parameter. * @param transport_out_desc pointer to transport out description * @param env pointer to environment struct * @param param_name parameter name string */ AXIS2_EXTERN axutil_param_t *AXIS2_CALL axis2_transport_out_desc_get_param( const axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env, const axis2_char_t * param_name); /** * Checks if the named parameter is locked. * @param transport_out_desc pointer to transport out description * @param env pointer to environment struct * @param param_name pointer to parameter name */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_transport_out_desc_is_param_locked( axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env, const axis2_char_t * param_name); AXIS2_EXTERN axutil_param_container_t *AXIS2_CALL axis2_transport_out_desc_param_container( const axis2_transport_out_desc_t * transport_out_desc, const axutil_env_t * env); /** * Creates transport out description with given transport enum. * @param env pointer to environment struct * @param trans_enum pointer to transport enum * @return pointer to newly created transport out */ AXIS2_EXTERN axis2_transport_out_desc_t *AXIS2_CALL axis2_transport_out_desc_create( const axutil_env_t * env, const AXIS2_TRANSPORT_ENUMS trans_enum); /** * Frees transport out description given as a void pointer. * @param transport_out_dec pointer to transport out description as a * void pointer * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_transport_out_desc_free_void_arg( void *transport_out, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_TRANSPORT_OUT_DESC_H */ axis2c-src-1.6.0/include/axis2_raw_xml_in_out_msg_recv.h0000644000175000017500000000324411166304541024455 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_RAW_XML_IN_OUT_MSG_RECV_H #define AXIS2_RAW_XML_IN_OUT_MSG_RECV_H /** @defgroup axis2_raw_xml_in_out_msg_recv raw XML in-out message receiver * @ingroup axis2_receivers * @{ */ /** * @file axis2_ws_info.h * @brief Axis2 Raw Xml In Out Message Receiver interface */ #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** * Creates raw xml in out message receiver struct * @return pointer to newly created raw xml in out message receiver */ AXIS2_EXTERN axis2_msg_recv_t *AXIS2_CALL axis2_raw_xml_in_out_msg_recv_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_RAW_XML_IN_OUT_MSG_RECV_H */ axis2c-src-1.6.0/include/axis2_phase_holder.h0000644000175000017500000001304211166304541022174 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PHASE_HOLDER_H #define AXIS2_PHASE_HOLDER_H /** * @defgroup axis2_phase_holder phase holder * @ingroup axis2_phase_resolver * phase holder is used by phase resolver to hold information related to * phases and handlers within a phase. This struct hold the list of phases * found in the services.xml and axis2.xml. * @{ */ /** * @file axis2_phase_holder.h */ #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_phase_holder */ typedef struct axis2_phase_holder axis2_phase_holder_t; struct axis2_phase; struct axis2_handler_desc; struct axis2_handler; struct axis2_phase_rule; /** * Frees phase holder. * @param phase_holder pointer to phase holder * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_phase_holder_free( axis2_phase_holder_t * phase_holder, const axutil_env_t * env); /** * Checks if the named phase exist. * @param phase_holder pointer to phase holder * @param env pointer to environment struct * @param phase_name phase name string * @return AXIS2_TRUE if the named phase exist, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_phase_holder_is_phase_exist( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, const axis2_char_t * phase_name); /** * Adds given handler to phase holder. * @param phase_holder pointer to phase holder * @param env pointer to environment struct * @para handler pointer to handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_holder_add_handler( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, struct axis2_handler_desc *handler); /** * Removes given handler from phase holder. * @param phase_holder pointer to phase holder * @param env pointer to environment struct * @para handler pointer to handler * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_holder_remove_handler( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, struct axis2_handler_desc *handler); /** * Gets the named phase from phase array list. * @param phase_holder pointer to phase holder * @param env pointer to environment struct * @param phase_name pointer to phase name * @return pointer to named phase if it exists, else NULL. Returns a * reference, not a cloned copy */ AXIS2_EXTERN struct axis2_phase *AXIS2_CALL axis2_phase_holder_get_phase( const axis2_phase_holder_t * phase_holder, const axutil_env_t * env, const axis2_char_t * phase_name); /** * Builds the transport phase. This method loads the corresponding handlers and added them into * correct phase. This function is no longer used in Axis2/C and * marked as deprecated. * @deprecated * @param phase_holder pointer to phase holder * @param env pointer to environment struct * @param phase pointer to phase, phase holder does not assume the * ownership the phase * @param handlers pointer to array list of handlers, phase holder does * not assume the ownership of the list * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_holder_build_transport_handler_chain( axis2_phase_holder_t * phase_holder, const axutil_env_t * env, struct axis2_phase *phase, axutil_array_list_t * handlers); /** * Creates phase holder struct. * @param env pointer to environment struct * @return pointer to newly created phase holder */ AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL axis2_phase_holder_create( const axutil_env_t * env); /** * Creates phase holder struct with given list of phases. * @param env pointer to environment struct * @param phases pointer to array list of phases * @return pointer to newly created phase holder */ AXIS2_EXTERN axis2_phase_holder_t *AXIS2_CALL axis2_phase_holder_create_with_phases( const axutil_env_t * env, axutil_array_list_t * phases); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PHASE_HOLDER_H */ axis2c-src-1.6.0/include/axis2_svc_name.h0000644000175000017500000001100511166304541021327 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_NAME_H #define AXIS2_SVC_NAME_H /** * @defgroup axis2_svc_name service name * @ingroup axis2_addr * service name provides a full description of the service endpoint. service * name contains a QName identifying the WSDL service element that contains * the definition of the endpoint being conveyed. It also contains an optional * non-qualified name that identifies the specific port in the service that * corresponds to the endpoint. * @{ */ /** * @file axis2_svc_name.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc_name */ typedef struct axis2_svc_name axis2_svc_name_t; /** * Creates a service name struct with given QName and endpoint name. * @param env pointer to environment struct * @param qname pointer to QName, this method creates a clone of QName * @param endpoint_name endpoint name string * @return pointer to newly create service name struct */ AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL axis2_svc_name_create( const axutil_env_t * env, const axutil_qname_t * qname, const axis2_char_t * endpoint_name); /** * Gets QName. QName identifies the WSDL service element that contains * the definition of the endpoint being conveyed. * @param svc_name pointer to service name struct * @param env pointer to environment struct * @return pointer to QName struct, returns a reference, not a cloned * copy */ AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_svc_name_get_qname( const axis2_svc_name_t * svc_name, const axutil_env_t * env); /** * Sets QName. QName identifies the WSDL service element that contains * the definition of the endpoint being conveyed. * @param svc_name pointer to service name struct * @param env pointer to environment struct * @param qname pointer to QName, service name creates a clone of QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_name_set_qname( struct axis2_svc_name *svc_name, const axutil_env_t * env, const axutil_qname_t * qname); /** * Gets endpoint name. Endpoint name is a non-qualified name that * identifies the specific port in the service that corresponds to * the endpoint. * @param svc_name pointer to service name struct * @param env pointer to environment struct * @return endpoint name string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_name_get_endpoint_name( const axis2_svc_name_t * svc_name, const axutil_env_t * env); /** * Sets endpoint name. Endpoint name is a non-qualified name that * identifies the specific port in the service that corresponds to * the endpoint. * @param svc_name pointer to service name struct * @param env pointer to environment struct * @param endpoint_name endpoint name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_name_set_endpoint_name( struct axis2_svc_name *svc_name, const axutil_env_t * env, const axis2_char_t * endpoint_name); /** * Frees service name struct. * @param svc_name pointer to service name struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_name_free( struct axis2_svc_name *svc_name, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_NAME_H */ axis2c-src-1.6.0/include/axis2_engine.h0000644000175000017500000002312311166304541021005 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ENGINE_H #define AXIS2_ENGINE_H /** * @defgroup axis2_engine engine * @ingroup axis2_engine * engine has the send and receive functions that is the heart when providing * and consuming services. In Axis2 SOAP engine architecture, all the others * parts are build around the concept of the engine. There is only one engine * for both the server side and the client side, and the engine is not aware of * if it is invoked as an client or a service. engine supports both synchronous * and asynchronous messaging modes based on send and receive functions. * @{ */ /** * @file axis2_engine.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_engine */ typedef struct axis2_engine axis2_engine_t; struct axiom_soap_fault; /** * This methods represents the out flow of the Axis engine both at the * server side as well as the client side. In this function, the * execution chain is created using the phases of the out flow. * All handlers at each out flow phase, which are ordered in the * deployment time are invoked in sequence here. * @param engine pointer to engine * @param env pointer to environment struct * @param msg_ctx pointer to message context representing current state * that is used when sending message * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_send( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * This methods represents the in flow of the Axis engine, both at the * server side as well as the client side. In this function, the * execution chain is created using the phases of the in flow. * All handlers at each in flow phase, which are ordered in the * deployment time are invoked in sequence here. * @param engine pointer to engine * @param env pointer to environment struct * @param msg_ctx pointer to message context representing current state * that is used in receiving message * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_receive( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Sends a SOAP fault. * @param engine pointer to engine * @param env pointer to environment struct * @param msg_ctx pointer to message context that contains details of * fault state * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_send_fault( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * This is invoked when a SOAP fault is received. * @param engine pointer to engine * @param env pointer to environment struct * @param msg_ctx pointer to message context representing that contains * the details of receive state * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_receive_fault( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Creates a message context that represents the fault state based on * current processing state. * @param engine pointer to engine * @param env pointer to environment struct * @param processing_context pointer to message context representing * current processing context * @param code_value pointer to a string containing fault code * @param reason_text pointer to a string containing reason of the fault * @return pointer to message context representing the fault state */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_engine_create_fault_msg_ctx( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * processing_context, const axis2_char_t * code_value, const axis2_char_t * reason_text); /** * Invokes the phases in the given array list of phases. The list of * phases could be representing one of the flows. The two possible * flows are in flow and out flow. Both of those flows can also have * fault related representations, in fault flow and out fault flow. * Invoking a phase triggers the invocation of handlers the phase * contain. * @param engine pointer to engine * @param env pointer to environment struct * @param phases pointer to phases * @param msg_ctx pointer to message context containing current state * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_invoke_phases( axis2_engine_t * engine, const axutil_env_t * env, axutil_array_list_t * phases, axis2_msg_ctx_t * msg_ctx); /** * Resumes phase invocation. While invoking the phases, one of the * handlers in any phase could determine to pause the invocation. * Often pausing happens to wait till some state is reached or some * task is complete. Once paused, the invocation has to be resumed * using this function, which will resume the invocation from the paused * handler in the paused phase and will continue till it is paused * again or it completes invoking all the remaining handlers in the * remaining phases. * @param engine pointer to engine * @param env pointer to environment struct * @param phases pointer to phases * @param msg_ctx pointer to message context containing current paused * state * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_resume_invocation_phases( axis2_engine_t * engine, const axutil_env_t * env, axutil_array_list_t * phases, axis2_msg_ctx_t * msg_ctx); /** * Gets sender's SOAP fault code. * @param engine pointer to engine * @param env pointer to environment struct * @param soap_namespace pointer to SOAP namespace * @return pointer to SOAP fault code string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_engine_get_sender_fault_code( const axis2_engine_t * engine, const axutil_env_t * env, const axis2_char_t * soap_namespace); /** * Gets receiver's SOAP fault code. * @param engine pointer to engine * @param env pointer to environment struct * @param soap_namespace pointer to soap namespace */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_engine_get_receiver_fault_code( const axis2_engine_t * engine, const axutil_env_t * env, const axis2_char_t * soap_namespace); /** * Frees engine struct. * @param engine pointer to engine * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_engine_free( axis2_engine_t * engine, const axutil_env_t * env); /** * Resumes receive operation. It could be the case that receive was * paused by one of the in flow handlers. In such a situation, this * method could be used to resume the receive operation. * @param engine pointer to engine * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_resume_receive( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Resumes send operation. It could be the case that send was * paused by one of the out flow handlers. In such a situation, this * method could be used to resume the send operation. * @param engine pointer to engine * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_engine_resume_send( axis2_engine_t * engine, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Creates en engine struct instance. * @param env pointer to environment struct * @param conf_ctx pointer to configuration context struct * @return pointer to newly created engine struct */ AXIS2_EXTERN axis2_engine_t *AXIS2_CALL axis2_engine_create( const axutil_env_t * env, axis2_conf_ctx_t * conf_ctx); #ifdef __cplusplus } #endif #endif /* AXIS2_ENGINE_H */ axis2c-src-1.6.0/include/axis2_phase_rule.h0000644000175000017500000001616411166304541021676 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PHASE_RULE_H #define AXIS2_PHASE_RULE_H /** * @defgroup axis2_phase_rule phase rule * @ingroup axis2_desc * phase rule encapsulates data and operations related to phase rules for a * given handler. phase rule lives within a handler. * phase rules of a handler specify the relative location of the * handler within the phase to which it belongs, with respect to other handlers * in the phase or first and last positions of the handler chain of the phase. * @{ */ /** * @file axis2_phase_rule.h */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_phase_rule */ typedef struct axis2_phase_rule axis2_phase_rule_t; /** * Gets the name of the handler before which the handler associated with * this rule should be placed. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return name of handler before which the handler should be placed */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_phase_rule_get_before( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Sets the name of the handler before which the handler associated with * this rule should be placed. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @param before name of handler before which the handler should be placed * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_rule_set_before( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, const axis2_char_t * before); /** * Gets the name of the handler after which the handler associated with * this rule should be placed. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return name of handler after which the handler should be placed */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_phase_rule_get_after( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Sets the name of the handler after which the handler associated with * this rule should be placed. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @param after name of handler after which the handler should be placed * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_rule_set_after( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, const axis2_char_t * after); /** * Gets name. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return name string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_phase_rule_get_name( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Sets name. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @param name name string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_rule_set_name( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, const axis2_char_t * name); /** * Checks if the handler is the first in phase. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return AXIS2_TRUE if the handler associated with this rule is the * first in phase, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_phase_rule_is_first( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Sets handler to be the first in phase. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @param first AXIS2_TRUE if the handler associated with this rule is the * first in phase, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_rule_set_first( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, axis2_bool_t first); /** * Checks if the handler is the last in phase. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return AXIS2_TRUE if the handler associated with this rule is the * last in phase, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_phase_rule_is_last( const axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Sets handler to be the last in phase. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @param last AXIS2_TRUE if the handler associated with this rule is the * last in phase, else AXIS2_FALSE * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phase_rule_set_last( axis2_phase_rule_t * phase_rule, const axutil_env_t * env, axis2_bool_t last); /** * Frees phase rule. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_phase_rule_free( axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Clones phase rule. * @param phase_rule pointer to phase rule * @param env pointer to environment struct * @return pointer to newly cloned phase rule */ AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL axis2_phase_rule_clone( axis2_phase_rule_t * phase_rule, const axutil_env_t * env); /** * Creates a phase rule struct instance. * @param env pointer to environment struct * @param phase_name name of the phase rule * @return pointer to newly created phase rule */ AXIS2_EXTERN axis2_phase_rule_t *AXIS2_CALL axis2_phase_rule_create( const axutil_env_t * env, const axis2_char_t * name); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_PHASE_RULE_H */ axis2c-src-1.6.0/include/axis2_callback.h0000644000175000017500000001673311166304541021305 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CALLBACK_H #define AXIS2_CALLBACK_H /** * @defgroup axis2_callback callback * @ingroup axis2_client_api * callback represents the callback mechanisms to be used in case of asynchronous * invocations. It holds the complete status of the invocation, the resulting * SOAP envelope and also callback specific data. One can define a function * to be called on complete of the callback as well as a function to be called * on error. * @{ */ /** * @file axis2_callback.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for axis2_callback */ typedef struct axis2_callback axis2_callback_t; /** Type name for function pointer to be called on complete of callback */ typedef axis2_status_t AXIS2_CALL axis2_on_complete_func_ptr( axis2_callback_t *, const axutil_env_t *); /** Type name for function pointer to be called on error of callback */ typedef axis2_status_t AXIS2_CALL axis2_on_error_func_ptr( axis2_callback_t *, const axutil_env_t *, int); /** * This function is called once the asynchronous operation is successfully * completed and the result is available. * @param callback pointer to callback struct * @param env pointer to environment struct * @param result pointer to async result * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_invoke_on_complete( axis2_callback_t * callback, const axutil_env_t * env, axis2_async_result_t * result); /** * This function is called once the asynchronous operation fails and * the failure code returns. * @param callback pointer to callback struct * @param env pointer to environment struct * @param exception error code representing the error * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_report_error( axis2_callback_t * callback, const axutil_env_t * env, const int exception); /** * Gets the complete status for the callback. This method is useful * for polling (busy waiting). * e.g. * *
         *          while(!AXIS2_CALL
         * BACK_GET_COMPLETE(callback, env)
         *          {
         *             sleep(10);
         *          }
         * do whatever you need here 
         *      
    *
    * @param callback pointer to callback struct * @param env pointer to environment struct * @return AXIS2_TRUE if callback is complete, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_callback_get_complete( const axis2_callback_t * callback, const axutil_env_t * env); /** * Sets the complete status. * @param callback pointer to callback struct * @param env pointer to environment struct * @param complete bool value representing the status * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_complete( axis2_callback_t * callback, const axutil_env_t * env, const axis2_bool_t complete); /** * Gets the resulting SOAP envelope. * @param callback pointer to callback struct * @param env pointer to environment struct * @return result SOAP envelope if present, else NULL */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_callback_get_envelope( const axis2_callback_t * callback, const axutil_env_t * env); /** * Sets the SOAP envelope. * @param callback pointer to callback struct * @param env pointer to environment struct * @param envelope pointer to SOAP envelope * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_envelope( axis2_callback_t * callback, const axutil_env_t * env, axiom_soap_envelope_t * envelope); /** * Gets error code representing the error. * @param callback pointer to callback struct * @param env pointer to environment struct * @return error code representing the error */ AXIS2_EXTERN int AXIS2_CALL axis2_callback_get_error( const axis2_callback_t * callback, const axutil_env_t * env); /** * Sets the error code. * @param callback pointer to callback struct * @param env pointer to environment struct * @param error error code representing the error * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_error( axis2_callback_t * callback, const axutil_env_t * env, const int error); /** * Sets the callback data. * @param callback pointer to callback struct * @param data pointer to data * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_callback_set_data( axis2_callback_t * callback, void *data); /** * Gets the callback data. * @param callback pointer to callback struct * @return pointer to callback data */ AXIS2_EXTERN void *AXIS2_CALL axis2_callback_get_data( const axis2_callback_t * callback); /** * Sets the on complete callback function. * @param callback pointer to callback struct * @param f on complete callback function pointer */ AXIS2_EXTERN void AXIS2_CALL axis2_callback_set_on_complete( axis2_callback_t * callback, axis2_on_complete_func_ptr f); /** * Sets the on error callback function. * @param callback pointer to callback struct * @param f on error callback function pointer */ AXIS2_EXTERN void AXIS2_CALL axis2_callback_set_on_error( axis2_callback_t * callback, axis2_on_error_func_ptr f); /** * Frees callback struct. * @param callback pointer to callback struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_callback_free( axis2_callback_t * callback, const axutil_env_t * env); /** * Creates a callback struct. * @param env pointer to environment struct * @return pointer to newly created callback struct */ AXIS2_EXTERN axis2_callback_t *AXIS2_CALL axis2_callback_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CALL_BACK_H */ axis2c-src-1.6.0/include/axis2_any_content_type.h0000644000175000017500000000754511166304541023134 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ANY_CONTENT_TYPE_H #define AXIS2_ANY_CONTENT_TYPE_H /** * @defgroup axis2_any_content_type any content type * @ingroup axis2_addr * any content type acts as a container for any type reference parameters that * could be associated with an endpoint reference. The values in the map are * stored in string format, with QNames as key values. * @{ */ /** * @file axis2_any_content_type.h */ #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for axis2_any_content_type */ typedef struct axis2_any_content_type axis2_any_content_type_t; /** * Creates an instance of any content type struct. * @param env pointer to environment struct * @return pointer to the newly created any content type instance */ AXIS2_EXTERN axis2_any_content_type_t *AXIS2_CALL axis2_any_content_type_create( const axutil_env_t * env); /** * Adds given value to content value map with given QName. * @param any_content_type pointer to any content type struct * @param env pointer to environment struct * @param qname pointer to QName to be used as key * @param value value string to be added * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_any_content_type_add_value( axis2_any_content_type_t * any_content_type, const axutil_env_t * env, const axutil_qname_t * qname, const axis2_char_t * value); /** * Gets the value corresponding to the given QName from the content * value map. * @param any_content_type pointer to any content type struct * @param env pointer to environment struct * @param qname pointer to QName of the corresponding value to be * retrieved * @return value string if present, else returns NULL */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_any_content_type_get_value( const axis2_any_content_type_t * any_content_type, const axutil_env_t * env, const axutil_qname_t * qname); /** * Gets the map of all values. * @param any_content_type pointer to any content type struct * @param env pointer to environment struct * @return pointer to hash table containing all values, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_any_content_type_get_value_map( const axis2_any_content_type_t * any_content_type, const axutil_env_t * env); /** * Frees any content type struct. * @param any_content_type pointer to any content type struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_any_content_type_free( axis2_any_content_type_t * any_content_type, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ANY_CONTENT_TYPE_H */ axis2c-src-1.6.0/include/axis2_svc_client.h0000644000175000017500000006212711166304541021700 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_CLIENT_H #define AXIS2_SVC_CLIENT_H /** * @defgroup axis2_svc_client service client * @ingroup axis2_client_api * The service client interface serves as the primary client * interface for consuming services. You can set the options to be * used by the service client and then invoke an operation on a given * service. There are several ways of invoking a service operation, * which are based on the concept of a message exchange pattern * (MEP). The two basic MEPs supported by service client are out-only * and out-in. Each MEP can be used in either blocking or * non-blocking mode. The operation invocations using the service * client API are based on the XML-in/XML-out principle: both the * payload to be sent to the service and the result from the service * are in XML, represented in AXIOM. * @{ */ /** * @file axis2_svc_client.h */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_svc_client */ typedef struct axis2_svc_client axis2_svc_client_t; /** * Returns the axis2_svc_t this is a client for. This is primarily * useful when the service is created anonymously or from WSDL. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return a pointer to axis service struct, or NULL if no service * is associated. Returns a reference, not a cloned copy. */ AXIS2_EXTERN axis2_svc_t *AXIS2_CALL axis2_svc_client_get_svc( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Returns the axis2_conf_ctx_t. This is useful when creating service clients using * the same configuration context as the original service client. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return a pointer to axis configuration context struct, or NULL. * Returns a reference, not a cloned copy. */ AXIS2_EXTERN axis2_conf_ctx_t *AXIS2_CALL axis2_svc_client_get_conf_ctx( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Sets the options to be used by service client. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param options pointer to options struct to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_options( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_options_t * options); /** * Gets options used by service client. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return a pointer to the options struct if options set, else NULL. * Returns a reference, not a cloned copy. */ AXIS2_EXTERN const axis2_options_t *AXIS2_CALL axis2_svc_client_get_options( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Sets the overriding options. The overriding client options related * to this service interaction override any options that the * underlying operation client may have. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param options pointer to options struct to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_override_options( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_options_t * override_options); /** * Gets the overriding options. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return pointer to overriding options struct if options set, else NULL. * Returns a reference, not a cloned copy. */ AXIS2_EXTERN const axis2_options_t *AXIS2_CALL axis2_svc_client_get_override_options( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Engages the named module. The engaged modules extend the message * processing when consuming services. Modules help to apply QoS * norms in messaging. Once a module is engaged to a service client, * the axis2_engine makes sure to invoke the module for all the * interactions between the client and the service. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param module_name name of the module to be engaged * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_engage_module( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_char_t * module_name); /** * Dis-engages the named module. Dis-engaging a module on a service * client ensures that the axis2_engine would not invoke the named * module when sending and receiving messages. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param module_name name of the module to be dis-engaged * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_disengage_module( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_char_t * module_name); /** * Adds an XML element as a header to be sent to the server side. * This allows users to go beyond the usual XML-in/XML-out pattern, * and send custom SOAP headers. Once added, service client owns * the header and will clean up when the service client is freed. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param header om node representing the SOAP header in XML * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_add_header( axis2_svc_client_t * svc_client, const axutil_env_t * env, axiom_node_t * header); /** * Removes all the headers added to service client. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_remove_all_headers( axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * This method can be used to send an XML message. * This is a simple method to invoke a service operation whose MEP is * Robust Out-Only. If a fault triggers on server side, this method * would report an error back to the caller. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param op_qname operation qname. NULL is equivalent to an * operation name of "__OPERATION_ROBUST_OUT_ONLY__" * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_send_robust_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload); /** * This method can be used to send an XML message. * This is a simple method to invoke a service operation whose MEP is * Robust Out-Only. If a fault triggers on server side, this method * would report an error back to the caller. * @param svc_client pointer to service client struct * @param env pointer to environment struct * operation name of "__OPERATION_ROBUST_OUT_ONLY__" * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_send_robust( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload); /** * Sends a message and forget about it. This method is used to interact with * a service operation whose MEP is In-Only. That is, there is no * opportunity to get an error from the service via this method; one may still * get client-side errors, such as host unknown etc. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param op_qname operation qname. NULL is equivalent to an * operation name of "__OPERATION_OUT_ONLY__" * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_fire_and_forget_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload); /** * Sends a message and forget about it. This method is used to interact with * a service operation whose MEP is In-Only. That is, there is no * opportunity to get an error from the service via this method; one may still * get client-side errors, such as host unknown etc. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_fire_and_forget( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload); /** * Sends XML request and receives XML response. * This method is used to interact with a service operation whose MEP is In-Out. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param op_qname operation qname. NULL is equivalent to an * operation name of "__OPERATION_OUT_IN__" * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. * @return pointer to OM node representing the XML response. The * caller owns the returned node. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axis2_svc_client_send_receive_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload); /** * Sends XML request and receives XML response. * This method is used to interact with a service operation whose MEP is In-Out. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. * @return pointer to OM node representing the XML response. The * caller owns the returned node. */ AXIS2_EXTERN axiom_node_t *AXIS2_CALL axis2_svc_client_send_receive( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload); /** * Sends XML request and receives XML response, but does not block for response. * This method is used to interact in non-blocking mode with a service * operation whose MEP is In-Out. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param op_qname operation qname. NULL is equivalent to an * operation name of "__OPERATION_OUT_IN__" * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. * @callback pointer to callback struct used to capture response */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_send_receive_non_blocking_with_op_qname( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname, const axiom_node_t * payload, axis2_callback_t * callback); /** * Sends XML request and receives XML response, but does not block for response. * This method is used to interact in non-blocking mode with a service * operation whose MEP is In-Out. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param payload pointer to OM node representing the XML payload to be sent. * The caller has control over the payload until the service client frees it. * @callback pointer to callback struct used to capture response */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_send_receive_non_blocking( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axiom_node_t * payload, axis2_callback_t * callback); /** * Creates an op_client for a specific operation. This is the way to * create a full functional MEP client which can be used to exchange * messages for this specific operation. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param op_qname axutil_qname_t of the operation * @return pointer to newly created op_client configured for the given operation */ AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL axis2_svc_client_create_op_client( axis2_svc_client_t * svc_client, const axutil_env_t * env, const axutil_qname_t * op_qname); /** * Cleans up service client invocation. This will close the output * stream and/or remove entry from waiting queue of the transport * listener queue. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_finalize_invoke( axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the service client's own endpoint_ref, that is the * endpoint the client will be sending from. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param transport name of the transport, e.g "http" * @return pointer to the endpoint_ref struct. Returns a reference, * not a cloned copy. */ AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL axis2_svc_client_get_own_endpoint_ref( const axis2_svc_client_t * svc_client, const axutil_env_t * env, const axis2_char_t * transport); /** * Gets the target endpoint ref. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return pointer to the endpoint_ref struct. Returns a reference, * not a cloned copy. */ AXIS2_EXTERN const axis2_endpoint_ref_t *AXIS2_CALL axis2_svc_client_get_target_endpoint_ref( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Sets the target endpoint ref. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param target_epr pointer to the endpoint_ref struct to be set as * target. service client takes over the ownership of the struct. * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_target_endpoint_ref( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_endpoint_ref_t * target_epr); /** * Sets the proxy with authentication support. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param proxy_host pointer to the proxy_host settings to be set * @param proxy_port pointer to the proxy_port settings to be set * @param username pointer to the username associated with proxy * which is required for authentication * @param password pointer to the password associated with proxy * which is required for authentication * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_proxy_with_auth( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_char_t * proxy_host, axis2_char_t * proxy_port, axis2_char_t * username, axis2_char_t * password); /** * Sets the proxy. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @param proxy_host pointer to the proxy_host settings to be set * @param proxy_port pointer to the proxy_port settings to be set * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_proxy( axis2_svc_client_t * svc_client, const axutil_env_t * env, axis2_char_t * proxy_host, axis2_char_t * proxy_port); /** * Gets the service context. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return pointer to service context struct. service client owns * the returned pointer. */ AXIS2_EXTERN axis2_svc_ctx_t *AXIS2_CALL axis2_svc_client_get_svc_ctx( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Frees the service client. * @param svc_client pointer to service client struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_client_free( axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the operation client * @param svc_client pointer to service_client struct * @param env env pointer to environment struct * @return pointer to service context struct. service client owns * the returned pointer */ AXIS2_EXTERN axis2_op_client_t *AXIS2_CALL axis2_svc_client_get_op_client( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Creates a service client struct. * @param env pointer to environment struct * @param client_home name of the directory that contains the Axis2/C repository * @return a pointer to newly created service client struct, * or NULL on error with error code set in environment's error */ AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL axis2_svc_client_create( const axutil_env_t * env, const axis2_char_t * client_home); /** * Creates a service client struct for a specified service and configuration * context. * @param env pointer to environment struct * @param conf_ctx pointer to configuration context. Newly created client * assumes ownership of the conf_ctx * @param svc pointer to service struct representing the service to be consumed. * Newly created client assumes ownership of the service * @param client_home name of the directory that contains the Axis2/C repository * @return a pointer to newly created service client struct, * or NULL on error with error code set in environment's error */ AXIS2_EXTERN axis2_svc_client_t *AXIS2_CALL axis2_svc_client_create_with_conf_ctx_and_svc( const axutil_env_t * env, const axis2_char_t * client_home, axis2_conf_ctx_t * conf_ctx, axis2_svc_t * svc); /** * Gets the last response SOAP envelope. * @param svc_client pointer to service_client struct * @param env env pointer to environment struct * @return pointer to SOAP envelope that was returned as a result * when send_receieve was called last time */ AXIS2_EXTERN axiom_soap_envelope_t *AXIS2_CALL axis2_svc_client_get_last_response_soap_envelope( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the boolean value indicating if the last response had a SOAP fault. * @param svc_client pointer to service_client struct * @param env env pointer to environment struct * @return AXIS2_TRUE if there was a fault, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_client_get_last_response_has_fault( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the authentication type required. * @param svc_client pointer to service_client struct * @param env env pointer to environment struct * @return AXIS2_TRUE if the operation succeeded, else AXIS2_FALSE */ AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_svc_client_get_auth_type( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the boolean value indicating whether HTTP Authentication * is required. * @param svc_client pointer to service_client struct * @param env env pointer to environment struct * @return AXIS2_TRUE if Authentication is required, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_client_get_http_auth_required( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the boolean value indicating whether Proxy Authentication * is required. * @param svc_client pointer to service_client struct * @param env env pointer to environment struct * @return AXIS2_TRUE if Authentication is required, else AXIS2_FALSE */ AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_svc_client_get_proxy_auth_required( const axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Create a policy object and set it to the description hierarchy * @param svc_client pointer to service_client struct * @param env pointer to environment struct * @param root_node pointer to a policy node * @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_policy_from_om( axis2_svc_client_t * svc_client, const axutil_env_t * env, axiom_node_t * root_node); /** * Set the given policy object to the description hierarchy * @param svc_client pointer to service_client struct * @param env pointer to environment struct * @param policy neethi_policy_t to a policy struct * @return AXIS2_FAILURE if there was a fault, else AXIS2_SUCCESS */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_client_set_policy( axis2_svc_client_t * svc_client, const axutil_env_t * env, neethi_policy_t * policy); /** * Gets the HTTP Headers of the last response. * @param svc_client pointer to service_client struct * @param env pointer to environment struct * @return list of HTTP Response Headers */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_svc_client_get_http_headers( axis2_svc_client_t * svc_client, const axutil_env_t * env); /** * Gets the HTTP Status Code of the last response. * @param svc_client pointer to service_client struct * @param env pointer to environment struct * @return HTTP Status Code */ AXIS2_EXTERN int AXIS2_CALL axis2_svc_client_get_http_status_code( axis2_svc_client_t * svc_client, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_CLIENT_H */ axis2c-src-1.6.0/include/axis2_phases_info.h0000644000175000017500000001733411166304541022045 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_PHASES_INFO_H #define AXIS2_PHASES_INFO_H /** @defgroup axis2_phases_info phases information * @ingroup axis2_deployment * * In deployment engine when configuration builder parse phase order elements in axis2.xml, for * phases defined in a phase order it will create a phase name list and add it to the phases * info. There are four phase orders. inflow, outflow, in faultflow and out faultflow. * So configuration builder add array lists for each of this phase orders into the phases info. * * At the time of module engagement phase resolver call the functions here to retrieve phase * lists for each flow for the purpose of adding handlers. When such a request come what each * function do is, create phase instances list for corresponding phase names stored in the phase name * list for that flow and return. * * @{ */ #include #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_phases_info */ typedef struct axis2_phases_info axis2_phases_info_t; /** Deallocate memory * @param pahses_info pointer to phases info * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_phases_info_free( axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * Set the inflow phase names as an array list. These phases are defined in the inflow phase * order element defined in axis2.xml. * * @param phases_info pointer to phases info * @param env pointer to environment struct * @param in_phases inter to in phases * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_in_phases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * in_phases); /** * Set the outflow phase names as an array list. These phases are defined in the outflow phase * order element defined in axis2.xml. * * @param phases_info pointer to phases info * @param env pointer to environment struct * @param out_phases pointer to out phases * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_out_phases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * out_phases); /** * Set the INfaultflow phase names as an array list. These phases are defined in the INfaultflow * phase order element defined in axis2.xml. * * @param phases_info pointer to phases info * @param env pointer to environment struct * @param in_faultphases pionter to in fault phases * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_in_faultphases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * in_faultphases); /** * Set the Outfaultflow phase names as an array list. These phases are defined in the * Outfaultflow phase order element defined in axis2.xml. * * @param phases_info pointer to phases info * @param env pointer to env * @param out_faultphases pointer to out fault phases * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_out_faultphases( axis2_phases_info_t * phases_info, const axutil_env_t * env, axutil_array_list_t * out_faultphases); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_in_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_out_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @parma env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_in_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_out_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_in_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_out_phases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_in_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_get_op_out_faultphases( const axis2_phases_info_t * phases_info, const axutil_env_t * env); /** * @param phases_info pointer to phases info * @param env pointer to environment struct * @param axis2_opt pointer to axis2 opt * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_phases_info_set_op_phases( axis2_phases_info_t * phases_info, const axutil_env_t * env, struct axis2_op *axis2_opt); /** create Phases Info struct * @param env pointer to environment struct * @return pointer to newly created phases info */ AXIS2_EXTERN axis2_phases_info_t *AXIS2_CALL axis2_phases_info_create( const axutil_env_t * env); AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_phases_info_copy_flow( const axutil_env_t * env, const axutil_array_list_t * flow_to_copy); /** @} */ #ifdef __cplusplus } #endif #endif /*AXIS2_PHASES_INFO_H */ axis2c-src-1.6.0/include/axis2_svc_grp_ctx.h0000644000175000017500000001507711166304541022072 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVC_GRP_CTX_H #define AXIS2_SVC_GRP_CTX_H /** * @defgroup axis2_svc_grp_ctx service group context * @ingroup axis2_context * service group context represents a running "instance" of a service group. * service group context allows instance of services belonging to a service * group to be grouped. * @{ */ /** * @file axis2_svc_grp_ctx.h */ #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_svc_grp; /** Type name for struct svc_grp_ctx */ typedef struct axis2_svc_grp_ctx axis2_svc_grp_ctx_t; /** * Creates a service group context struct. * @param env pointer to environment struct * @param svc_grp pointer to service group that this service context * represents, service group context does not assume the ownership of the struct * @param conf_ctx pointer to configuration context, the parent context * of the newly created service group context, service group context does not * assume the ownership of the struct * @return pointer to newly created service group context */ AXIS2_EXTERN axis2_svc_grp_ctx_t *AXIS2_CALL axis2_svc_grp_ctx_create( const axutil_env_t * env, struct axis2_svc_grp *svc_grp, struct axis2_conf_ctx *conf_ctx); /** * Gets base which is of type context. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment * @return pointer to base context struct, returns a reference not a * cloned copy */ AXIS2_EXTERN axis2_ctx_t *AXIS2_CALL axis2_svc_grp_ctx_get_base( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env); /** * Gets parent. configuration context is the parent of any service group * context instance. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @return pointer to configuration context, parent of service group */ AXIS2_EXTERN struct axis2_conf_ctx *AXIS2_CALL axis2_svc_grp_ctx_get_parent( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env); /** * Frees service group context. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svc_grp_ctx_free( struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t * env); /** * Initializes service group context. In this method, it pics the * related service group from configuration and keeps a reference * for future use. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @param conf pointer to configuration * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_ctx_init( struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t * env, struct axis2_conf *conf); /** * Gets service group context ID. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @return service group context ID string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_svc_grp_ctx_get_id( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env); /** * Sets service group context ID. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @param id service group context ID * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_ctx_set_id( struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t * env, const axis2_char_t * id); /** * Gets named service context. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @param svc_name name of service context to be retrieved * @return pointer to named service context */ AXIS2_EXTERN struct axis2_svc_ctx *AXIS2_CALL axis2_svc_grp_ctx_get_svc_ctx( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env, const axis2_char_t * svc_name); /** * Fills service context map. This will create one service context per * each service in the service group related to this service context. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svc_grp_ctx_fill_svc_ctx_map( struct axis2_svc_grp_ctx *svc_grp_ctx, const axutil_env_t * env); /** * Gets service group related to this service context. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @return pointer to service group that this service group context * represents */ AXIS2_EXTERN struct axis2_svc_grp *AXIS2_CALL axis2_svc_grp_ctx_get_svc_grp( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env); /** * Gets service context map containing all service contexts. * @param svc_grp_ctx pointer to service group context * @param env pointer to environment struct * @return pointer to hash table containing the service context map */ AXIS2_EXTERN axutil_hash_t *AXIS2_CALL axis2_svc_grp_ctx_get_svc_ctx_map( const axis2_svc_grp_ctx_t * svc_grp_ctx, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVC_GRP_CTX_H */ axis2c-src-1.6.0/include/axis2_core_utils.h0000644000175000017500000000633511166304541021716 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CORE_UTILS_H #define AXIS2_CORE_UTILS_H #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif struct axis2_conf; /** * @defgroup axis2_core_utils Core Utils * @ingroup axis2_core_utils * @{ */ AXIS2_EXTERN axis2_msg_ctx_t *AXIS2_CALL axis2_core_utils_create_out_msg_ctx( const axutil_env_t * env, axis2_msg_ctx_t * in_msg_ctx); AXIS2_EXTERN void AXIS2_CALL axis2_core_utils_reset_out_msg_ctx( const axutil_env_t * env, axis2_msg_ctx_t * out_msg_ctx); AXIS2_EXTERN axutil_qname_t *AXIS2_CALL axis2_core_utils_get_module_qname( const axutil_env_t * env, const axis2_char_t * name, const axis2_char_t * version); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_core_utils_calculate_default_module_version( const axutil_env_t * env, axutil_hash_t * modules_map, struct axis2_conf *axis_conf); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_core_utils_get_module_name( const axutil_env_t * env, axis2_char_t * module_name); AXIS2_EXTERN axis2_char_t *AXIS2_CALL axis2_core_utils_get_module_version( const axutil_env_t * env, axis2_char_t * module_name); AXIS2_EXTERN axis2_bool_t AXIS2_CALL axis2_core_utils_is_latest_mod_ver( const axutil_env_t * env, axis2_char_t * module_ver, axis2_char_t * current_def_ver); AXIS2_EXTERN axis2_op_t *AXIS2_CALL axis2_core_utils_get_rest_op_with_method_and_location(axis2_svc_t *svc, const axutil_env_t *env, const axis2_char_t *method, const axis2_char_t *location, axutil_array_list_t *param_keys, axutil_array_list_t *param_values); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_core_utils_prepare_rest_mapping ( const axutil_env_t * env, axis2_char_t * url, axutil_hash_t *rest_map, axis2_op_t *op_desc); AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_core_utils_free_rest_map ( const axutil_env_t * env, axutil_hash_t *rest_map); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_CORE_UTILS_H */ axis2c-src-1.6.0/include/axis2_svr_callback.h0000644000175000017500000000542211166304541022170 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_SVR_CALLBACK_H #define AXIS2_SVR_CALLBACK_H /** @defgroup axis2_svr_callback server callback * @ingroup axis2_svc_api * @{ */ /** * @file axis2_svr_callback.h * @brief axis Server Callback interface */ #ifdef __cplusplus extern "C" { #endif #include #include #include /** Type name for struct axis2_svr_callback */ typedef struct axis2_svr_callback axis2_svr_callback_t; /** * Deallocate memory * @param svr_callback pointer to server callback struct * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_svr_callback_free( axis2_svr_callback_t * svr_callback, const axutil_env_t * env); /** * Handle result * @param svr_callback pointer to server callback struct * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svr_callback_handle_result( axis2_svr_callback_t * svr_callback, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Handle fault * @param svr_callback pointer to server callback struct * @param env pointer to environment struct * @param msg_ctx pointer to message context * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_svr_callback_handle_fault( axis2_svr_callback_t * svr_callback, const axutil_env_t * env, axis2_msg_ctx_t * msg_ctx); /** * Create Server Callback struct * @param env pointer to environment struct * @return newly created server callback object */ AXIS2_EXTERN axis2_svr_callback_t *AXIS2_CALL axis2_svr_callback_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_SVR_CALLBACK_H */ axis2c-src-1.6.0/include/axis2_flow_container.h0000644000175000017500000001326411166304541022556 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_FLOW_CONTAINER_H #define AXIS2_FLOW_CONTAINER_H /** * @defgroup axis2_flow_container flow container * @ingroup axis2_desc * Flow container is the encapsulating struct for all the four flows. The four flows * possible are in flow, out flow, in fault flow and out fault flow. * @{ */ /** * @file axis2_flow_container.h */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_flow_container */ typedef struct axis2_flow_container axis2_flow_container_t; /** * Frees flow container. * @param flow_container pointer to flow container * @param env pointer to environment struct * @return void */ AXIS2_EXTERN void AXIS2_CALL axis2_flow_container_free( axis2_flow_container_t * flow_container, const axutil_env_t * env); /** * Gets in flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @return pointer to in flow, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_in_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env); /** * Sets in flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @param in_flow pointer to in flow struct, flow container assumes * ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_in_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * in_flow); /** * Gets out flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @return out flow, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_out_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env); /** * Sets out flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @param out_flow pointer to out flow, flow container assumes * ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_out_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * out_flow); /** * Gets fault in flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @return fault in flow, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_fault_in_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env); /** * Sets fault in flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @param falut_in_flow pointer to falut in flow, flow container assumes * ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_fault_in_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * falut_in_flow); /** * Gets fault out flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @return fault out flow, returns a reference, not a cloned copy */ AXIS2_EXTERN axis2_flow_t *AXIS2_CALL axis2_flow_container_get_fault_out_flow( const axis2_flow_container_t * flow_container, const axutil_env_t * env); /** * Sets fault out flow. * @param flow_container pointer to flow container * @param env pointer to environment struct * @param fault_out_flow pointer to fault out flow, flow container assumes * ownership of struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_flow_container_set_fault_out_flow( axis2_flow_container_t * flow_container, const axutil_env_t * env, axis2_flow_t * fault_out_flow); /** * Creates flow container struct. * @param env pointer to environment struct * @return pointer to newly created flow container */ AXIS2_EXTERN axis2_flow_container_t *AXIS2_CALL axis2_flow_container_create( const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_FLOW_CONTAINER_H */ axis2c-src-1.6.0/include/axis2_endpoint_ref.h0000644000175000017500000003034511166304541022220 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_ENDPOINT_REF_H #define AXIS2_ENDPOINT_REF_H /** * @defgroup axis2_endpoint_ref endpoint reference * @ingroup axis2_addr * endpoint reference represent an endpoint address in WS-Addressing. * In addition to the endpoint address, it also encapsulates meta data, * reference attributes and the service hosted at the given endpoint. * In addition to the addressing related implementation, the endpoint reference * struct is used across core code-base to represent endpoints. * @{ */ /** * @file axis2_endpoint_ref.h */ #include #include #include #include #include #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_endpoint_ref */ typedef struct axis2_endpoint_ref axis2_endpoint_ref_t; /** * Creates endpoint reference struct. * @param env pointer to environment struct * @param address endpoint address string * @return pointer to newly created endpoint reference */ AXIS2_EXTERN axis2_endpoint_ref_t *AXIS2_CALL axis2_endpoint_ref_create( const axutil_env_t * env, const axis2_char_t * address); /** * Frees the endpoint_ref given as a void pointer. This method would cast the * void parameter to an endpoint_ref pointer and then call free method. * @param endpoint_ref pointer to endpoint_ref as a void pointer * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ void AXIS2_CALL axis2_endpoint_ref_free_void_arg( void *endpoint_ref, const axutil_env_t * env); /** * Gets endpoint address. Address URI identifies the endpoint. * This may be a network address or a logical address. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return endpoint address string */ AXIS2_EXTERN const axis2_char_t *AXIS2_CALL axis2_endpoint_ref_get_address( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Sets endpoint address. Address URI identifies the endpoint. * This may be a network address or a logical address. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param address address string * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_set_address( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, const axis2_char_t * address); /** * Gets interface QName. QName represents the primary portType of * the endpoint being conveyed. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to interface QName, returns a reference, not a cloned * copy */ AXIS2_EXTERN const axutil_qname_t *AXIS2_CALL axis2_endpoint_ref_get_interface_qname( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Sets interface QName. QName represents the primary portType of * the endpoint being conveyed. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param interface_qname pointer to interface QName, this method creates * a clone of the QName * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_set_interface_qname( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, const axutil_qname_t * interface_qname); /** * Gets reference parameter list. A reference may contain a number * of individual parameters which are associated with the endpoint * to facilitate a particular interaction. Reference parameters * are element information items that are named by QName and are * required to properly interact with the endpoint. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to array list containing all reference parameters, * returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_ref_param_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Gets the list of metadata. An endpoint can have different associated * metadata such as WSDL, XML Schema, and WS-Policy policies. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to array list containing metadata, returns a * reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_metadata_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Gets the list of reference attributes. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to array list containing reference attributes, * returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_ref_attribute_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Gets the list of metadata attributes. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to array list containing metadata attributes, * returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_metadata_attribute_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Gets the list of extensions. Extensions are a mechanism to allow * additional elements to be specified in association with the endpoint. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to array list containing extensions, * returns a reference, not a cloned copy */ AXIS2_EXTERN axutil_array_list_t *AXIS2_CALL axis2_endpoint_ref_get_extension_list( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Adds a reference parameter in the form of an AXIOM node. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param ref_param_node pointer to AXIOM node representing reference * parameter, endpoint reference does not assume the ownership of * the node * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_ref_param( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_node_t * ref_param_node); /** * Adds metadata in the form of an AXIOM node. An endpoint can have * different associated metadata such as WSDL, XML Schema and * WS-Policy policies. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param metadata_node AXIOM node representing metadata, * endpoint reference does not assume the ownership of the node * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_metadata( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_node_t * metadata_node); /** * Adds a reference attribute in the form of an AXIOM attribute. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param attr AXIOM attribute representing reference attribute, * endpoint reference does not assume the ownership of the attribute * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_ref_attribute( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_attribute_t * attr); /** * Adds a meta attribute in the form of an AXIOM attribute. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param attr AXIOM attribute representing meta attribute, * endpoint reference does not assume the ownership of the attribute * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_metadata_attribute( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_attribute_t * attr); /** * Adds an extension in the form of an AXIOM node. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param extension_node pointer to AXIOM node representing extension, * endpoint reference does not assume the ownership of the node * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_add_extension( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axiom_node_t * extension_node); /** * Gets service name. An endpoint in WS-Addressing has a QName * identifying the WSDL service element that contains the definition * of the endpoint being conveyed. The service name provides a link * to a full description of the service endpoint. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return pointer to service name struct, returns a reference, not * a cloned copy */ AXIS2_EXTERN axis2_svc_name_t *AXIS2_CALL axis2_endpoint_ref_get_svc_name( const axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** * Sets service name. An endpoint in WS-Addressing has a QName * identifying the WSDL service element that contains the definition * of the endpoint being conveyed. The service name provides a link * to a full description of the service endpoint. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @param svc_name pointer to service name struct, endpoint assumes * ownership of the struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN axis2_status_t AXIS2_CALL axis2_endpoint_ref_set_svc_name( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env, axis2_svc_name_t * svc_name); /** * Frees endpoint reference struct. * @param endpoint_ref pointer to endpoint reference struct * @param env pointer to environment struct * @return AXIS2_SUCCESS on success, else AXIS2_FAILURE */ AXIS2_EXTERN void AXIS2_CALL axis2_endpoint_ref_free( axis2_endpoint_ref_t * endpoint_ref, const axutil_env_t * env); /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_ENDPOINT_REF_H */ axis2c-src-1.6.0/include/axis2_out_transport_info.h0000644000175000017500000000543611166304541023505 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_OUT_TRANSPORT_INFO_H #define AXIS2_OUT_TRANSPORT_INFO_H /** * @defgroup axis2_out_transport_info out transport info * @ingroup axis2_core_trans * Description * @{ */ /** * @file axis2_out_transport_info.h * @brief axis2 Out Transport Info */ #include #include #include #ifdef __cplusplus extern "C" { #endif /** Type name for struct axis2_out_transport_info */ typedef struct axis2_out_transport_info axis2_out_transport_info_t; typedef struct axis2_out_transport_info_ops axis2_out_transport_info_ops_t; struct axis2_out_transport_info_ops { axis2_status_t( AXIS2_CALL * set_content_type)( axis2_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * content_type); axis2_status_t( AXIS2_CALL * set_char_encoding)( axis2_out_transport_info_t * info, const axutil_env_t * env, const axis2_char_t * encoding); void( AXIS2_CALL * free)( axis2_out_transport_info_t * info, const axutil_env_t * env); }; struct axis2_out_transport_info { const axis2_out_transport_info_ops_t *ops; }; /** Set content type. */ #define AXIS2_OUT_TRANSPORT_INFO_SET_CONTENT_TYPE(out_transport_info, \ env, content_type) ((out_transport_info->ops)->set_content_type(out_transport_info, env, content_type)) /** Set cahr encoding. */ #define AXIS2_OUT_TRANSPORT_INFO_SET_CHAR_ENCODING(out_transport_info, \ env, encoding) ((out_transport_info->ops)->set_char_encoding(out_transport_info, env, encoding)) /** Free. */ #define AXIS2_OUT_TRANSPORT_INFO_FREE(out_transport_info, env)\ ((out_transport_info->ops)->free(out_transport_info, env)) /** @} */ #ifdef __cplusplus } #endif #endif /* AXIS2_OUT_TRANSPORT_INFO_H */ axis2c-src-1.6.0/include/axis2_const.h0000644000175000017500000002616111166304541020673 0ustar00manjulamanjula00000000000000 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #ifndef AXIS2_CONST_H #define AXIS2_CONST_H /** * @file axis2.h * @brief Axis2c specific global declarations */ #include #include #ifdef __cplusplus extern "C" { #endif /** @defgroup axis2 Axis2/C project * @{ * @} */ /** \mainpage Axis2/C API Documentation * * \section intro_sec Introduction * * This is the API documetation of Axis2/C, a SOAP engine written in C. * This implementation is based on the popular Axis2 architecture. *

    We welcome your feedback on this implementation and documentation. * Please send your feedback to * axis-c-user@ws.apache.org and please remember to prefix the subject * of the mail with [Axis2]. * */ /******************************************************************************/ /********************Axis2 specific constants**********************************/ /******************************************************************************/ /** * Field SOAP_STYLE_RPC_ENCODED */ #define AXIOM_SOAP_STYLE_RPC_ENCODED 1000 /** * Field SOAP_STYLE_RPC_LITERAL */ /*#define AXIOM_SOAP_STYLE_RPC_LITERAL 1001 */ /** * Field SOAP_STYLE_DOC_LITERAL_WRAPPED */ #define AXIOM_SOAP_STYLE_DOC_LITERAL_WRAPPED 1002 #define AXIS2_SCOPE "scope" /** * Field APPLICATION_SCOPE */ #define AXIS2_APPLICATION_SCOPE "application" /** * Field SESSION_SCOPE */ #define AXIS2_SESSION_SCOPE "session" /** * Field GLOBAL_SCOPE */ #define AXIS2_MESSAGE_SCOPE "message" /** * Field PHASE_SERVICE */ #define AXIS2_PHASE_SERVICE "service" /** * Field PHASE_TRANSPORT */ #define AXIS2_PHASE_TRANSPORT "transport" /** * Field PHASE_GLOBAL */ #define AXIS2_PHASE_GLOBAL "global" /** * Field SESSION_CONTEXT_PROPERTY */ #define AXIS2_SESSION_CONTEXT_PROPERTY "SessionContext" /** * TRANSPORT constants */ #define AXIS2_TRANSPORT_HTTP "http" #define AXIS2_TRANSPORT_SMTP "smtp" #define AXIS2_TRANSPORT_TCP "tcp" #define AXIS2_TRANSPORT_XMPP "xmpp" #define AXIS2_TRANSPORT_HTTPS "https" #define AXIS2_TRANSPORT_AMQP "amqp" #define AXIS2_TRANSPORT_UDP "soap.udp" typedef enum { AXIS2_TRANSPORT_ENUM_HTTP = 0, AXIS2_TRANSPORT_ENUM_SMTP, AXIS2_TRANSPORT_ENUM_TCP, AXIS2_TRANSPORT_ENUM_XMPP, AXIS2_TRANSPORT_ENUM_HTTPS, AXIS2_TRANSPORT_ENUM_AMQP, AXIS2_TRANSPORT_ENUM_UDP, AXIS2_TRANSPORT_ENUM_MAX } AXIS2_TRANSPORT_ENUMS; /** Service URL prefix */ #ifndef AXIS2_REQUEST_URL_PREFIX #define AXIS2_REQUEST_URL_PREFIX "/services" #endif #define AXIS2_LISTSERVICES "listServices" #define AXIS2_LIST_SERVICE_FOR_MODULE_ENGAMNET "listop" /** * List service for admin page */ #define AXIS2_ADMIN_LISTSERVICES "listService" #define AXIS2_LIST_MODULES "listModules" #define AXIS2_LIST_GLOABLLY_ENGAGED_MODULES "globalModules" #define AXIS2_LIST_PHASES "listPhases" #define AXIS2_ENGAGE_GLOBAL_MODULE "engagingglobally" #define AXIS2_ENGAGE_MODULE_TO_SERVICE "engageToService" #define AXIS2_ENGAGE_MODULE_TO_SERVICE_GROUP "engageToServiceGroup" #define AXIS2_ADMIN_LOGIN "adminlogin" #define AXIS2_LIST_CONTEXTS "listContexts" #define AXIS2_LOGOUT "logout" #define AXIS2_VIEW_GLOBAL_HANDLERS "viewGlobalHandlers" #define AXIS2_SELECT_SERVICE "selectService" #define AXIS2_EDIR_SERVICE_PARA "editServicepara" #define AXIS2_SELECT_SERVICE_FOR_PARA_EDIT "selectServiceParaEdit" #define AXIS2_VIEW_SERVICE_HANDLERS "viewServiceHandlers" #define AXIS2_LIST_SERVIC_GROUPS "listServciceGroups" /** * Field SERVICE_MAP */ #define AXIS2_SERVICE_MAP "servicemap" #define AXIS2_SERVICE_GROUP_MAP "serviceGroupmap" #define AXIS2_CONFIG_CONTEXT "config_context" #define AXIS2_ACTION_MAPPING "actionMapping" #define AXIS2_OUTPUT_ACTION_MAPPING "outputActionMapping" #define AXI2_FAULT_ACTION_MAPPING "faultActionMapping" #define AXIS2_SERVICE "service" #define AXIS2_OPEARTION_MAP "opmap" /** * Field Available modules */ #define AXIS2_MODULE_MAP "modulemap" #define AXIS2_SELECT_SERVICE_TYPE "SELECT_SERVICE_TYPE" #define AXIS2_GLOBAL_HANDLERS "axisconfig" #define AXIS2_SERVICE_HANDLERS "serviceHandlers" #define AXIS2_PHASE_LIST "phaseList" #define AXIS2_LIST_OPS_FOR_THE_SERVICE "listOperations" #define AXIS2_REMOVE_SERVICE "removeService" #define AXIS2_ENGAGE_STATUS "engagestatus" /** * Errorness servcie */ #define AXIS2_ERROR_SERVICE_MAP "errprservicemap" #define AXIS2_ERROR_MODULE_MAP "errormodulesmap" #define AXIS2_IS_FAULTY "Fault" #define AXIS2_MODULE_ADDRESSING "addressing" #define AXIS2_USE_SEPARATE_LISTENER "use_listener" #define AXIS2_USER_NAME "userName" #define AXIS2_PASSWORD "password" /** * Field SINGLE_SERVICE */ #define AXIS2_SINGLE_SERVICE "singleservice" #define AXIS2_WSDL_CONTENT "wsdl" #define AXIS2_REQUEST_WSDL "?wsdl" #define AXIS2_STYLE_RPC "rpc" #define AXIS2_STYLE_DOC "doc" #define AXIS2_STYLE_MSG "msg" typedef enum axis2_wsdl_msg_labels { AXIS2_WSDL_MESSAGE_LABEL_IN = 0, AXIS2_WSDL_MESSAGE_LABEL_OUT, AXIS2_WSDL_MESSAGE_LABEL_MAX } axis2_wsdl_msg_labels_t; /*********************Message Exchange Pattern Constants***********************/ /** * Field MEP_URI_IN_ONLY */ #define AXIS2_MEP_URI_IN_ONLY "http://www.w3.org/2004/08/wsdl/in-only" #define AXIS2_MEP_CONSTANT_IN_ONLY 10 /** * Field MEP_URI_ROBUST_IN_ONLY */ #define AXIS2_MEP_URI_ROBUST_IN_ONLY "http://www.w3.org/2004/08/wsdl/robust-in-only" #define AXIS2_MEP_CONSTANT_ROBUST_IN_ONLY 11 /** * Field MEP_URI_IN_OUT */ #define AXIS2_MEP_URI_IN_OUT "http://www.w3.org/2004/08/wsdl/in-out" #define AXIS2_MEP_CONSTANT_IN_OUT 12 /** * Field MEP_URI_IN_OPTIONAL_OUT */ #define AXIS2_MEP_URI_IN_OPTIONAL_OUT "http://www.w3.org/2004/08/wsdl/in-opt-out" #define AXIS2_MEP_CONSTANT_IN_OPTIONAL_OUT 13 /** * Field MEP_URI_OUT_ONLY */ #define AXIS2_MEP_URI_OUT_ONLY "http://www.w3.org/2004/08/wsdl/out-only" #define AXIS2_MEP_CONSTANT_OUT_ONLY 14 /** * Field MEP_URI_ROBUST_OUT_ONLY */ #define AXIS2_MEP_URI_ROBUST_OUT_ONLY "http://www.w3.org/2004/08/wsdl/robust-out-only" #define AXIS2_MEP_CONSTANT_ROBUST_OUT_ONLY 15 /** * Field MEP_URI_OUT_IN */ #define AXIS2_MEP_URI_OUT_IN "http://www.w3.org/2004/08/wsdl/out-in" #define AXIS2_MEP_CONSTANT_OUT_IN 16 /** * Field MEP_URI_OUT_OPTIONL_IN */ #define AXIS2_MEP_URI_OUT_OPTIONAL_IN "http://www.w3.org/2004/08/wsdl/out-opt-in" #define AXIS2_MEP_CONSTANT_OUT_OPTIONAL_IN 17 #define AXIS2_MEP_CONSTANT_INVALID -1 /** * Field WSDL_MESSAGE_DIRECTION_IN */ #define AXIS2_WSDL_MESSAGE_DIRECTION_IN "in" /** * Field WSDL_MESSAGE_DIRECTION_OUT */ #define AXIS2_WSDL_MESSAGE_DIRECTION_OUT "out" /** * Field AXIS2_REST_HTTP_LOCATION */ #define AXIS2_REST_HTTP_LOCATION "RESTLocation" /** * Field AXIS2_REST_HTTP_METHOD */ #define AXIS2_REST_HTTP_METHOD "RESTMethod" /** * Field AXIS2_DEFAULT_REST_HTTP_METHOD */ #define AXIS2_DEFAULT_REST_HTTP_METHOD "defaultRESTMethod" /** * Field METHOD_NAME_ESCAPE_CHARACTOR */ /* static const char METHOD_NAME_ESCAPE_CHARACTOR '?' */ #define AXIS2_LOGGED "Logged" /* static const char SERVICE_NAME_SPLIT_CHAR':' */ /*********************Configuration *******************************************/ #define AXIS2_ENABLE_REST "enableREST" #define AXIS2_ENABLE_REST_THROUGH_GET "restThroughGet" #define AXIS2_FORCE_PROXY_AUTH "forceProxyAuth" #define AXIS2_FORCE_HTTP_AUTH "forceHTTPAuth" #define AXIS2_PROXY_AUTH_TYPE "proxyAuthType" #define AXIS2_HTTP_AUTH_TYPE "HTTPAuthType" /** * Constant for Testing Proxy Authentication */ #define AXIS2_TEST_PROXY_AUTH "testProxyAuth" /** * Constant for Testing HTTP Authentication */ #define AXIS2_TEST_HTTP_AUTH "testHTTPAuth" /* add xml declaration */ #define AXIS2_XML_DECLARATION "xml-declaration" #define AXIS2_ADD_XML_DECLARATION "insert" /* globally enable MTOM */ #define AXIS2_ENABLE_MTOM "enableMTOM" #define AXIS2_ATTACHMENT_DIR "attachmentDIR" #define AXIS2_MTOM_BUFFER_SIZE "MTOMBufferSize" #define AXIS2_MTOM_MAX_BUFFERS "MTOMMaxBuffers" #define AXIS2_MTOM_CACHING_CALLBACK "MTOMCachingCallback" #define AXIS2_MTOM_SENDING_CALLBACK "MTOMSendingCallback" #define AXIS2_ENABLE_MTOM_SERVICE_CALLBACK "EnableMTOMServiceCallback" /* op_ctx persistance */ #define AXIS2_PERSIST_OP_CTX "persistOperationContext" #define AXIS2_EXPOSE_HEADERS "exposeHeaders" /******************************************************************************/ #define AXIS2_VALUE_TRUE "true" #define AXIS2_VALUE_FALSE "false" #define AXIS2_CONTAINER_MANAGED "ContainerManaged" #define AXIS2_RESPONSE_WRITTEN "CONTENT_WRITTEN" #define AXIS2_TESTING_PATH "target/test-resources/" #define AXIS2_TESTING_REPOSITORY "target/test-resources/samples" /* Indicate whether the axis2 service should be loaded at start up */ #define AXIS2_LOAD_SVC_STARTUP "loadServiceAtStartup" /*************************** REST_WITH_GET ************************************/ #define AXIS2_GET_PARAMETER_OP "op" #define AXIS2_GET_PARAMETER_URL "http://ws.apache.org/goGetWithREST" /******************************************************************************/ #define AXIS2_NAMESPACE_PREFIX "axis2" #define AXIS2_NAMESPACE_URI "http://ws.apache.org/namespaces/axis2" #define AXIS2_SVC_GRP_ID "ServiceGroupId" #define AXIS2_RESPONSE_SOAP_ENVELOPE "Axis2ResponseEnvelope" #define AXIS2_HANDLER_ALREADY_VISITED "handler_already_visited" #define AXIS2_IS_SVR_SIDE "axis2_is_svr_side" #define AXIS2_SERVICE_DIR "servicesDir" #define AXIS2_MODULE_DIR "moduleDir" #define AXIS2_MESSAGE_ID_PREFIX "urn:uuid:" /** Name of anonymous service */ #define AXIS2_ANON_SERVICE "__ANONYMOUS_SERVICE__" /** out-only MEP operation name */ #define AXIS2_ANON_OUT_ONLY_OP "__OPERATION_OUT_ONLY__" /** out-only robust MEP operation name */ #define AXIS2_ANON_ROBUST_OUT_ONLY_OP "__OPERATION_ROBUST_OUT_ONLY__" /** out-in MEP operation name */ #define AXIS2_ANON_OUT_IN_OP "__OPERATION_OUT_IN__" /** wsdl location in repo*/ #define AXIS2_WSDL_LOCATION_IN_REPO "woden" #ifdef __cplusplus } #endif #endif /* AXIS2_CONST_H */ axis2c-src-1.6.0/COPYING0000644000175000017500000002613711166304700015676 0ustar00manjulamanjula00000000000000 Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. axis2c-src-1.6.0/CREDITS0000644000175000017500000000105311166304700015651 0ustar00manjulamanjula00000000000000James Clark, author of Expat, for having provided very useful guidance on the proper way to design and implement a highly reusable C library. Apache Project's ---------------- Apache Axis2 [http://ws.apache.org/axis2] - Initial Architecture Apache Maven [http://maven.apache.org/] - Site generation Apache APR [http://apr.apache.org/] - Versioning Guideline, Some codes in util Apache HTTPD [http://httpd.apache.org/] - mod_axis2 Apache Qpid [http://cwiki.apache.org/qpid/index.html] - AMQP implementation